PCI Express

読み:ピースィーアイ・エクスプレス
外語:PCI Express: Peripheral Component Interconnect Express 英語
品詞:固有名詞,+規格

開発コードネーム3GIOとしてIntelにより開発され、PCI 3.0から仕様が盛り込まれた高速I/Oアーキテクチャ。

  • 2002(平成14)年: PCI Express 1.0
  • 2005(平成17)年: PCI Express 1.1
  • 2007(平成19)年1月15日: PCI Express 2.0 正式仕様が決定
  • 2007(平成19)年2月7日: PCI Express External Cabling 1.0発表

シリアルバス

バスの仕様

これは従来のPCIのパラレルバスと違い、Point to Pointのシリアルバス技術である。これは少ないピン数で高速な通信を実現するための工夫の一つといえる。

Intelによれば、1GHz前後がパラレルインターフェイスの限界であり、それ以上に転送レートを上げるためにはシリアルインターフェイスにせざるを得ない、としている。

物理層プロトコル

PCI Expressの物理層プロトコルは、データ幅1ビット、0.8Vの差動駆動シリアルバスである。

標準速の1×では1レーンあたりの片方向ベアラー速度(物理層速度)は2.5Gbpsである。

これが8b/10b符号によりPLLのロックが保証(Embedded Clock Signaling)されるが、同時に符号化に伴い20%速度が減るので、標準速の1×では1レーンあたり片方向2.5Gbps×80%=2Gbps、つまり250Mバイト/秒となる。双方向合わせれば倍の500Mバイト/秒が有効帯域ということになる。

帯域(転送速度)と有効帯域を区別するため、物理層の速度は「2.5GT/秒」(GT=Giga transfers)のように表現されることがある。

なお、後述する2倍速(2×)や4倍速(4×)であれば、それぞれ1Gバイト/秒、2Gバイト/秒の有効帯域が実現されることになる。

従来の標準的なPCI(32ビット33MHzで133Mバイト/秒)と比較すると、1×の場合でも片方向で約2倍、双方向なら約4倍の帯域が実現されている。

レーンと帯域

PCI Expressでは、速度や帯域幅について、帯域とレーンという二種類の概念がある。表示は、帯域×レーンとし、帯域が1の時には帯域の表記を略す。

規格の一覧

  • 帯域1倍速(1×)
  • 帯域2倍速(2×)
    • PCI Express 2×1
    • PCI Express 2×2
    • PCI Express 2×4
    • PCI Express 2×8
    • PCI Express 2×12
    • PCI Express 2×16
    • PCI Express 2×32

帯域

帯域は、2.5Gbps(片方向の物理層速度)を基準とする通信可能な容量(≒速度)である。1倍速、2倍速(5Gbps)、4倍速(10Gbps)などのデータレートが考慮されている。

最初に登場したPCI Express 1.0では1倍速のみ対応するが、複数のデータレート混在時のネゴシエーション規格も最初から存在する。2倍速はPCI Express 2.0から登場した。

レーン

PCI Express 1.0では、データレートの向上は未来技術とし、近い将来への拡張性として1×のまま複数レーンの同時使用による帯域拡大を可能としている。

レーンは、信号線の束数と考えると分かりやすい。信号線は片方向2本、双方向は倍の4本が単位であり、この双方向一組4本をレーン(lane)という最小単位として扱う。

必要に応じて1レーン(×1)、2レーン(×2)、4レーン(×4)、8レーン(×8)、12レーン(×12)、16レーン(×16)、32レーン(×32)が、仕様上存在する。しかしこの全てが実用化されるかといえば必ずしもそうではない。

PCI Express ×1 写真の下/写真の上は通常のPCI
PCI Express ×1 写真の下/写真の上は通常のPCI

PCI Express ×16 写真の上/写真の下は通常のPCI
PCI Express ×16 写真の上/写真の下は通常のPCI

パソコン用の一般的なI/Oには1レーン(1×1、500Mバイト/秒)のものが、またグラフィックスカード用には16レーン(1×16、8Gバイト/秒)のものが、よく利用されている。

16レーン(1×16)

1×16の場合、AGP 8X(2.132Gバイト/秒)の約4倍速となる。

PCI Expressでこの速度が実現されたことで、PCIの後継だったAGPの後継は、再びPCIの名を冠したPCI Expressとなったわけである。それでも、これはあくまで汎用バスなのであり、1×16をシリアルAGPなどと呼んだりはしない。グラフィック専用のAGPとは設計概念自体、異なるからである。

4レーン(1×4)〜8レーン(1×8)

そして4レーン(1×4、2Gバイト/秒)と8レーン(1×8、4Gバイト/秒)はサーバー機用の用途が考慮されていて、1×4はPCI-X 266相当、1×8はPCI-X 533相当である。

ただ現在は標準速(1×)しかないので、これらは1を略し、単に×1、×4、×8、×16のように書かれる。

プロトコル階層

PCI Expressはプロトコルの階層構造(レイヤー構造)を採用した。

下から順に、次の5層に分けられている。

  1. 物理層
  2. データリンク層
  3. トランザクション層
  4. ソフトウェア層
  5. コンフィギュレーション/OS層

将来的に高速化などをする場合は、物理層だけを変えれば済むようになった。

またソフトウェア層以上では従来のPCIと互換性があり、ソフトウェアからは普通のPCIとして見える。このためPCIからの移行が容易である。これが、ハードウェアは全く別物であっても、PCIの名が冠されている最大の理由である。

電圧・電流

PCI Expressは3.3Vで稼働し、5V版は存在しない。供給される電源は3.3Vと12Vである。電流容量は用途に応じて数種類存在する。

  • ×1のデスクトップ向け
  • ×1のサーバー用、×4、×8、×16の汎用I/O向け
    • 最大25W
    • +3.3V: 3A
    • +12V: 2.1A
  • ×16のグラフィック用
    • 最大40W
    • +3.3V: 3A
    • +12V: 3.3A

スロットコネクタ

コネクタは電源容量とは無関係にレーン数ごとにあり、レーン数が増えるごとに長くなる。

なお、より上位のスロットには、下位のカードを差し込むことが可能で、例えば×16の長いスロットに、エッジの短い×1のカードを挿すことができる。

PCI Expressの対抗としては、パラレルPCIの拡張であるPCI-Xがある。

また、スパコンなどの分野で活躍するInfiniBandも、元々はPCIの後継を標榜していたもので、PCI Expressの対抗といえる。