PCI-X (Peripheral Component Interconnect eXtendedの略)は、主にサーバーやワークステーションで要求されるより高い帯域幅のために32ビットPCIローカルバスを拡張するコンピュータバスおよび拡張カード規格です。より高いクロック速度(最大133MHz )をサポートするために変更されたプロトコルを使用しますが、それ以外は電気的実装は同様です。PCI-X 2.0では、電気信号レベルを下げて最大533MHzの速度を追加しました[ 2 ]: 23 。
このスロットは物理的には3.3V PCIスロットであり、サイズ、位置、ピン配置は同じです。電気的仕様は互換性がありますが、より厳格です。ただし、従来のPCIスロットのほとんどは 長さ85mmの32ビット版であるのに対し、ほとんどのPCI-Xデバイスは 長さ130mmの64ビットスロットを使用しているため、64ビットPCIコネクタとPCI-Xサポートは同義語とみなされています。
PCI-Xは32ビットおよび64ビットのPCIコネクタの両方について規定されており[ 3 ]: 14、PCI-X 2.0では組み込みアプリケーション向けに16ビット版が追加されました[ 2 ]: 22
現代の設計では、PCI-X は、似たような名前のPCI Express (PCIe) [ 4 ]に置き換えられています。PCI Express は、異なる物理コネクタと異なる電気設計を持ち、多数の低速な並列接続の代わりに1 つ以上のシリアルレーンを備えています。



PCIでは、すぐに完了できないトランザクションは、ターゲットまたはイニシエータのいずれかが再試行サイクルを発行することで延期されます。この間、他のエージェントはPCIバスを使用できません。PCIには、ターゲットが後でデータを返すことを可能にするスプリットレスポンス機構がないため、読み取ったデータが準備できるまで、バスは再試行サイクルを発行するターゲットによって占有されたままになります。PCI-Xでは、マスターが要求を発行した後、PCIバスから切断され、他のエージェントがバスを使用できるようになります。要求されたデータを含むスプリットレスポンスは、ターゲットが要求されたすべてのデータを返す準備ができたときにのみ生成されます。スプリットレスポンスは、バスを介してデータが転送されない再試行サイクルを排除することで、バスの効率を向上させます。
PCIは、固有の割り込みラインが比較的少ないという問題にも悩まされていました。割り込みピンが4本(INT A/B/C/D)しかないため、PCIデバイスが多いシステムでは、複数の関数が1本の割り込みラインを共有する必要があり、ホスト側の割り込み処理が複雑化していました。PCI-Xでは、ホストメモリへの書き込みを使用する割り込みシステムであるメッセージシグナル割り込み(MSI)が追加されました。MSIモードでは、関数の割り込みはINTxラインをアサートすることによって通知されません。代わりに、関数はホストメモリ内のシステム構成領域にメモリ書き込みを実行します。内容とアドレスは関数ごとに構成されるため、MSIモードの割り込みは共有ではなく専用です。PCI-Xシステムでは、MSIモードの割り込みと従来のINTx割り込みの両方を同時に使用できます(ただし、同じ関数では使用できません)。
レジスタ付きI/Oがなかったため、PCIの最大周波数は66MHzに制限されていました 。PCI-Xでは、I/OがPCIクロックに同期され、通常はPLLを使用してバスピンのI/O遅延をアクティブに制御します。セットアップ時間の改善により、周波数を133MHzまで向上させることが可能になりました 。
ギガビットイーサネットカード、SCSIコントローラ(ファイバーチャネルおよびUltra320)、クラスタインターコネクトなど、一部のデバイスは単独でPCIバスの133MB /sの帯域幅を飽和させる可能性があります。バス速度を66MHzに倍増し 、バス幅を64 ビットに倍増(ピン数を124から184に増加)したポートが、組み合わせて、または単独で実装されました。これらの拡張機能はPCI 2.x規格のオプション部分として緩やかにサポートされていました が、基本的な133MB /sを超えるデバイス互換性は依然として困難でした。
開発者たちは最終的に、64 ビットと 66 MHz 拡張を組み合わせたものを基盤として、将来のニーズを予測して、それぞれ最大帯域幅が 532 MB/s と 1064 MB/s の 66 MHz と 133 MHz のバリアントを確立しました。共同の結果は PCI-X としてPCI Special Interest Group ( Association for Computing MachineryのSpecial Interest Group ) に提出されました。その後の承認により、すべてのコンピュータ開発者が採用できるオープン スタンダードとなりました。PCI SIG は、PCI-X の技術サポート、トレーニング、および準拠テストを管理しています。IBM、Intel、Microelectronics、およびMylex は、サポート チップ セットを開発することになっていました。3ComとAdaptecは、互換性のある周辺機器を開発することになっていました。業界での PCI-X の採用を加速するために、Compaq は Web サイトで PCI-X 開発ツールを提供しました。
PCI-X規格は、IBM、HP、Compaqが共同で開発し、1998年に承認申請されました。これは、PCIローカルバスに対する独自のサーバー拡張機能をコード化することで、PCIのいくつかの欠点を解消し、ギガビットイーサネット、ファイバーチャネル、Ultra3 SCSIカードなどの高帯域幅デバイスのパフォーマンスを向上させ、プロセッサをクラスタで相互接続できるようにすることを目的とした取り組みでした。
Intel は PCI-X に対して限定的な歓迎しかせず、次世代バスは「根本的に新しいアーキテクチャ」でなければならないと強調した。[ 5 ] Intel のサポートがなければ、PCI-X は PC に採用されなかった。EE Times の Rick Merritt によると、「PCI SIG と、アクセラレーテッドグラフィックスポートの開発を主導した Intel の主要なインターコネクト設計者との間の意見の相違により、Intel は最初の PCI-X の取り組みから撤退した」。[ 6 ]しかし、PCI-X インターフェースは、 Power Macintosh G5の最初の数世代で Apple によって一時的に採用された。
最初の PCI-X 製品は、Adaptec AHA-3950U2B デュアル Ultra2 Wide SCSI コントローラなど、1998 年に製造されましたが、当時は PCI-X コネクタはパッケージ上で単に「64 ビット対応 PCI」と呼ばれており、将来の互換性を示唆するものでした。実際の PCI-X ブランドが標準になったのは、おそらく PCI-X 搭載マザーボードが広く普及した時期と重なる、後になってからです。2001 年 8 月に PCI Express の詳細が発表された際、PCI SIG の会長である Roger Tipley 氏は、「PCI-X は一定レベルの機能を提供するため、サーバーに永久に搭載され続けるだろう。そのため、その機能のために 3GIO [PCI Express] に切り替えるのは魅力的ではないかもしれない。ISA を廃止できなかった経験から、私たちはそれを学んだ。ISA が存続したのは、大量生産ではないシステムが多かったためだ」と述べました。ティプリー氏はまた、(当時)PCI SIGがPCI ExpressとPCI-X 2.0を統合して暫定的にPCI 3.0と呼ばれる単一の作業を行う計画であることを発表したが[ 7 ]、その名前は最終的に従来のPCIの比較的マイナーな改訂に使用された[ 8 ] 。
2003 年、PCI SIG は PCI-X 2.0 を承認しました。266 MHz と 533 MHz のバリアントが追加され、それぞれ約 2,132 MB/s と 4,266 MB/s のスループットが得られます。PCI-X 2.0 では、システムの信頼性を向上させ、再送信を回避するためにバスにエラー訂正コードを追加するように設計された追加のプロトコル改訂が行われます。 [ 9 ] PCI-X フォームファクタの最も一般的な不満の 1 つである 184 ピン コネクタに対処するために、スペースの制約が厳しいデバイスで PCI-X を使用できるように 16 ビット ポートが開発されました。PCI-Express と同様に、バス上のデバイスがCPUやバス コントローラに負荷をかけずに相互に通信できるように PtP 機能が追加されました。
PCI-X 2.0は様々な理論的利点とPCI-XおよびPCIデバイスとの下位互換性を備えているにもかかわらず、大規模には実装されていない(2008年現在)。このような実装の遅れは、主にハードウェアベンダーが代わりにPCI Expressを統合することを選択したためです。
IBMは、 System i5 Model 515、520、525 でPCI-X 2.0(266 MHz)をサポートした(数少ない)ベンダーの1つでした。IBMはこれらのスロットを10ギガビットイーサネットアダプタに適していると宣伝し、アダプタも提供していました。[ 10 ] HPは、一部のProLiantおよびIntegrityサーバーでPCI-X 2.0を提供し、 266 MHzで動作するデュアルポート4 Gbit/sファイバーチャネルアダプタを提供しました。[ 11 ] AMDは、8132 Hypertransport to PCI-X 2.0トンネルチップを介してPCI-X 2.0(266 MHz)をサポートしました。 [ 12 ] [ 13 ] ServerWorks はPCI-X 2.0 を声高に支持していた[ 14 ] (第 1 世代の PCI Express を犠牲にして) 特にその最高責任者であるRaju Vegesna氏を通じて[ 15 ]、しかし、彼は Broadcom の経営陣とのロードマップの意見の相違により、その後すぐに解雇された。[ 16 ]
2003年、デルはPCI-X 2.0をスキップし、 PCI Expressソリューションのより迅速な採用を優先すると発表した。[ 17 ] PC Magazineの報道によると、インテルは2004年のロードマップでPCI-Xを脇に置き、PCI Expressを優先し始めた。後者はシステム遅延と消費電力の点で大きな利点があり、 Tumwaterチップセットの「1,000ピン終末」を回避できると、より劇的に表現した。[ 18 ]
PCI-Xは、従来のPCI規格を改訂し、最大クロック速度を2倍(66MHzから 133MHzへ )にすることで[ 9 ]、コンピュータプロセッサと周辺機器間で交換されるデータ量を増加させました。従来のPCIは、66MHzで最大64ビットをサポートしています(ただし、 33MHzで32ビット を超えるものはハイエンドシステムでのみ見られます)。PCI-Xでは、プロセッサと周辺機器間で交換される理論上の最大データ量は1.06GB /sで、標準PCIの133MB/sと比較すると大幅に増加しています。PCI-Xは、PCIの耐障害性も向上させ、たとえば、故障したカードを再初期化したり、オフラインにしたりすることを可能にします。
PCI-XはPCIとの下位互換性があり、バス上のいずれかのカードがPCI-Xをサポートしていない場合、バス全体がPCIにフォールバックします。
最も根本的な変更点は以下の2つです。

基本的にすべてのPCI-Xカードまたはスロットは64ビット実装であり、以下のように異なります。

ほとんどの32ビットPCIカードは64ビットPCI-Xスロットでも正常に動作しますが、バス速度は最も遅いカードのクロック周波数に制限されます。これはPCIの共有バス構造に内在する制限です。例えば、133MHzのPCI-Xバスに66MHzのPCI 2.3カードを挿入すると 、バスバックプレーン全体の速度は66MHzに制限されます 。この制限を回避するため、多くのマザーボードには複数のPCI/PCI-Xバスが搭載されており、一方のバスは高速PCI-X周辺機器用、もう一方のバスは汎用周辺機器用となっています。
多くの 64 ビット PCI-X カードは、より短い 32 ビット コネクタに挿入すると、速度が多少低下するものの 32 ビット モードで動作するように設計されています。[ 20 ] [ 21 ]例として、Adaptec 29160 64 ビットSCSIインターフェイス カードが挙げられます。[ 22 ]ただし、一部の 64 ビット PCI-X カードは、標準の 32 ビット PCI スロットでは動作しません。[ 23 ]たとえ動作したとしても、64 ビット PCI-X カードを 32 ビット スロットに取り付けると、カード エッジ コネクタの 64 ビット部分が接続されずに突き出したままになるため、マザーボード コンポーネントがカード エッジ コネクタの突き出た部分を機械的に妨げないように配置する必要があります。

PCI-X は、似たような名前だが互換性のないPCI Express (一般的に PCI-E または PCIe と略される) と混同してはいけません。どちらも内部周辺機器用の高速コンピュータバスですが、外観と技術が異なります。PCI-X は 64 ビットのパラレル インターフェースで、32 ビット PCI との下位互換性があります。PCIe は、異なる物理インターフェースを持つシリアル ポイント ツー ポイント接続で、PCI と PCI-X の両方、およびAGP (Accelerated Graphics Port) やCNRなどの他のさまざまな同時代のインターフェースに取って代わるように設計されました。
PCI-X および標準 PCI バスは、一部のコンピュータでISA バスが標準 PCI バス上で動作していたのと同様に、PCIe ブリッジ上で動作することができます。また、PCIe は最大帯域幅において PCI-X および PCI-X 2.0 と同等です。PCIe 1.0 x1 は各方向 (レーン) で 250 MB/s を提供し、現在各方向で最大 16 レーン (x16) がデュアル シンプレックス でサポートされており、PCIe 1.0 では各方向で最大 4 GB/s の帯域幅を実現しています。PCI-X 2.0 は (最大 64 ビット 533 MHz バリアントで) 最大帯域幅 4,266 MB/s (約 4.3 GB/s) を提供しますが、これはハーフ デュプレックスのみです。
PCI-X は PCI Express に比べて技術的にも経済的にも不利な点があります。64 ビットのパラレル インターフェイスでは、すべてのパラレル インターフェイスと同様に、バスからの信号が同時に、または非常に短い時間内に届く必要があり、隣接するスロットからのノイズが干渉を引き起こす可能性があるため、複雑な配線が必要になります。PCIe のシリアル インターフェイスではこのような問題が少なく、そのためこのような複雑で高価な設計は必要ありません。PCI-X バスは、標準の PCI と同様に、半二重双方向ですが、PCIe バスは二重単方向双方向 (全二重に相当)です。PCI-X バスは最も遅いデバイスの速度でしか動作しませんが、PCIe デバイスはバス速度を個別にネゴシエートできます。また、PCI-X スロットは PCIe 1x から PCIe 16x よりも長いため、PCI-X 用の短いカードを作ることはできません。PCI-X スロットはマザーボード上でかなりのスペースを占有するため、ATXやそれより小さいフォームファクタでは問題になる可能性があります。
{{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク)GHz System i5 モデル 515、520、および 525
の導入により、第 3 世代の PCI が提供されるようになりました。これらのモデルには
、最大 266 MHz で動作し、IOP なしで動作できるアダプタのみをサポートする PCI-X DDR (PCI-X 2.0) スロットがあります。このスロットは、新しい 266
MHz (DDR) #5721/#5722 10 Gb Ethernet アダプタ
などの超高帯域幅アダプタに最適です。
{{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク)シリーズは真の64ビットアダプタであり、ネットワークパイプラインを拡張してスループットを向上させながら、標準の32ビットPCIスロットとの下位互換性も提供します。
ビット、33MHz PCIスロットとの下位互換性あり。
SCSI カード 29160 は 64 ビット PCI カードですが、32 ビット PCI スロットでも動作します。32 ビット PCI スロットにインストールすると、カードは自動的に低速の 32 ビット モードで動作します。