PCI

はじめに

現在パソコンの主な拡張手段として利用されているPCIバスについてお話しします。

PCI

PCI=Peripheral Component Interconnectバスは、1992年にIntelを中心としたPCISpecial Interest Groupよって規格化されたローカルバスでその後Rev2.0で拡張バスとしての仕様も規格化されたためにPC/AT互換機の標準拡張バスとしての地位を築いています。

最初の使用は32bit 33MHzで最大133MBの転送速度を持つものでしたが、現在は32bit/64bit33MHz/66MHz/133MHzの規格が存在し、サーバーやMacintoshなどでは上位の規格も採用されていますが、一般向けには最初の32bit/33MHz仕様のPCIがほとんどを占めます。

なお、互換性をもっているので基本的には64bitの拡張カードを32bitのPCIスロットに刺したり、32bit向けの拡張カードを64bitのバスに刺しても動作しますが、その時は遅い方にあわせられます。(周波数も同様ですが、66MHzのバスに一つでも33MHzの機器を接続するとバス全体が33MHzに下がってしまいます。)

PCIはCPUとは直結せずにCPU-PCIブリッジによって接続されることによってCPUに依存しないバスとなっています(このブリッジがノースブリッジでありブリッジといわれる所以)。このため、速度的にはCPUに直結するVLバスにくらべて低速になりますが、極めて高い汎用性を持ちPC/AT互換機以外にもMacintoshでも標準拡張バスとなっています。またPCIバスはバスブリッジを利用することで他のバスとも接続可能でPCI-ISAブリッジなどが代表例です(このブリッジがサウスブリッジ)。ちなみに、PCI-PCIブリッジによってPCIバスを拡張することも可能です。

PCIはPCIスロットのイメージが強いですがもともとローカルバスなので、マザーボード上のオンボードデバイスやチップセット間の接続などにも利用されています。また、PCIの拡張カードの規格としてはノートパソコン向けのMiniPCIや省スペース向けのLowProfile PCIスロットなどが存在します。Mini PCIはコネクタ形状も小型化しI/Oブラケットは存在せずにI/Oなどはケーブルで引き出します。LowProfilePCIスロットはコネクタ形状は通常のPCIと電気的にも物理的にも同じでカードのサイズ制限とブラケットのサイズが小さいものです。よってブラケットを交換すればLowProfilePCIの拡張カードも通常のPCIスロットに搭載可能です。

PCIバスはISAバスの弱点を克服すべくPlug&Playの実装やリソースの緩和などが盛り込まれていますが、あまたある拡張カードの中にはやはり相性問題やリソース問題を起こすものも存在するようで、特にPCIを最初に提唱したのがIntelなだけにIntel以外のメーカーのチップセットのPCIバスでは相性問題が起こりやすいのも事実のようです。

PCIバスは規格が確定されてからかなり時間が経っており転送速度などですでにボトルネックとなりつつあります。64bit化や周波数を上げるなどの上位規格も存在しますが、パラレル転送を行う故に高速化は困難で一般向けにはほとんど採用されていないのが事実です。近い将来次世代バスにその座を譲るのも時間の問題となるでしょう。