シリアル伝送とレーン構造で高速化した拡張バスの規格
PCI Express(PCIe、ピーシーアイ エクスプレス)とは、パソコンの拡張カードを接続するための高速なバス規格です。バスとは装置どうしをつなぐ共通の通り道のこと。マザーボード(基板)上のスロットにGPU(グラフィックボード)やSSD、LANカードなどを挿して使います。
以前は PCI という規格が使われていましたが、これは複数の線で同時に送るパラレル伝送でした。パラレルは線ごとの到達タイミングのズレ(スキュー)で高速化が頭打ちになります。そこでPCIeは少ない線で超高速に送るシリアル伝送に切り替えて、この問題を解決しました。
身近な例で考えると、PCIスロットが「多くの細い道を並べた旧道」だとすると、PCIeは「車線を必要なだけ増やせる高速道路」のようなものです。上の図解では、スロットの種類・1レーンの中身・世代別の速度を順番に示しています。
PCI Express の最大の特徴がレーンという考え方です。レーンとはデータを送受信する1つの独立した通り道のことで、これを必要なだけ束ねて速度を上げられます。
1レーンの中身は、上の図解②のように2組の差動信号ペアでできています。差動信号とは、2本の線の電圧の「差」で0/1を表す方式で、ノイズに強く高速化しやすいのが特長です。
・送信ペア:データを送る向きの2本1組
・受信ペア:データを受け取る向きの2本1組
・送信と受信が別々の線なので、送受信を同時に行える(全二重)
このレーンを束ねた数を x1 / x4 / x8 / x16 のように表します。x16 はレーンが16本で、x1 の16倍の速度になります。高速が必要なGPUにはx16、SSDにはx4、といったように用途に応じて使い分けます。高速道路で言えば、交通量に応じて車線数を選べるイメージです。
PCI Express は世代を重ねるごとに高速化してきました。世代は PCIe 1.0 → 2.0 → 3.0 → 4.0 → 5.0 と数字が上がり、おおむね1世代上がるごとに1レーンあたりの速度が約2倍になります。
上の図解③の表のように、1レーンあたりの片方向速度は次のように伸びてきました。
・PCIe 1.0:1レーン約250MB/s(x16で約4GB/s)
・PCIe 3.0:1レーン約1GB/s(x16で約16GB/s)
・PCIe 5.0:1レーン約4GB/s(x16で約64GB/s)
実際の速度は「世代(1レーンの速度)× レーン数」で決まります。たとえば同じx16でも、世代が新しいほど速くなります。新しい規格は古い規格と差し込み互換があり、新しいスロットに古いカードを挿しても動作する(その場合は遅いほうに合わせる)ようになっているのも実用上の大きな利点です。