カスタム検索
tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

PCIの知識

(Software技術者向け)

Modified: 11 Oct 1998

拡張ボードは、ISAIndustry Standard Architecture)から、PCIPeripheral Component Interconnect)に移っています。

そのPCIに関する話題を取り上げます。


PCIのオーバービュー
PCIのベンダーIDから会社名を知りたい
コンフィグレーションレジスタの読み出し方法
Windows95とWindowsNTで使えるPCIモニタ (ソースあり)
PCI関連のリンク


PCIのベンダーIDから会社名を知りたい

http://www.pcisig.com/siginfo/vendors.html

IntelのベンダーIDが、8086 というのが面白いですね。希望の数字がもらえるんでしょうね。


PCI関連のリンク

PCI Special Interresting Group

http://www.pcisig.com/

InterlのPCIチップセットの仕様書

http://developer.intel.com/design/pcisets/datashts/

BIOSメーカのページ (PCIの情報もある)

http://www.megatrends.com/

http://www.award.com/

http://www.ptltd.com/


コンフィグレーションレジスタの読み出し方法

PCIはBIOSによって、アドレスなどのリソース割付が行われます。

したがって、PCI用のドライバを作成する場合、割り付けられたアドレスを読み出して、その情報を使ってアクセスする必要があります。

読み出し方は、OS によって異なります。

PCI BIOSの呼び出し

DOSやWindows95/98の場合

DOSの場合、INT 1AhでもOKです。

PCI 2.0 以降の場合 CONFIG_ADDRESS (0CF8h)、CONFIG_DATA (0CFCh) をアクセスして調停後の設定情報が取得できます。
PCI 2.0 以前の場合 0CFAh にバス番号、0CF8h に機能番号 をセットすると、C000h−CFFFh に、デバイス番号0から15のコンフィグレーションレジスタが256単位で見えるようになります。

info.gif (1284 ツバツイツト) PCI BIOS32 を備えたBIOSもあります。

PCI BIOS および PCI BIOS の仕様書は、未確認ですが、以下のページから入手できるそうです。

http://www.pcisig.com/

私は、Phoenix のホームページに、PCI BIOS32の仕様書が登録されているのを確認しました。
http://www.ptltd.com/


HAL関数の呼び出し

WindowsNTの場合


PCIのオーバービュー

PCIバスは、33MHzの32ビットバスです。
(ISAは、8-10MHzの16ビットバスです)

PCIバスは、独立のバスを最大256本持つことができます。バスとバスは、”PCIブリッジ”で接続されます。

各バスには、最大32個のデバイスが接続できます。

各デバイスは、最大8個の機能番号を持ち、異なるデバイスとして振る舞うことができます。


To previous pageTo home pageMailing to meJump to Top of pagetomo.gif (1144 ツバツイツト)
カスタム検索


Tweet