PCI Express
コンピュータの内部で、CPUとグラフィックスボードやSSDなどの周辺機器を接続するための、高速なシリアル転送のインタフェース。世代が1つ進むごとに、1レーンあたりの転送速度がおよそ2倍になる。
イマシルちゃんの解説
パソコンの中で、CPUとグラフィックスボードやSSDをつなぐ「高速道路」がPCI Expressなんだ。
この高速道路は「レーン(車線)」でできていて、x1、x4、x16みたいに、車線の数を選べるよ。
車線を増やせば、たくさんのデータを一度に運べるんだ。
しかも、世代が新しくなるたびに、1車線あたりのスピードが倍になっていくんだよ!
より深い解説
定義
PCI Express(PCIe)は、PCI-SIGが策定した、コンピュータの拡張バスの規格である。それまでのPCI(パラレル転送の共有バス)に代わり、シリアル転送で、機器ごとに専用の経路(ポイントツーポイント接続)を持つ。
レーンとリンク
| 用語 | 意味 |
|---|---|
| レーン | 送信用と受信用の差動信号線の組。1レーンで、両方向に同時に転送できる(全二重) |
| リンク | 複数のレーンを束ねた接続。x1、x2、x4、x8、x16 のように表す |
レーンの数を増やすほど、転送速度はレーンの数に比例して大きくなる。グラフィックスボードはx16、NVMe接続のSSDはx4がよく使われる。
世代ごとの転送速度(1レーン、片方向)
| 世代 | 転送レート | 符号化方式 | 実効の転送速度 |
|---|---|---|---|
| 1.x | 2.5GT/s | 8b/10b | 約250Mバイト/秒 |
| 2.0 | 5GT/s | 8b/10b | 約500Mバイト/秒 |
| 3.0 | 8GT/s | 128b/130b | 約985Mバイト/秒 |
| 4.0 | 16GT/s | 128b/130b | 約1.97Gバイト/秒 |
| 5.0 | 32GT/s | 128b/130b | 約3.94Gバイト/秒 |
| 6.0 | 64GT/s | PAM4とFLIT(誤り訂正付き) | 約7.5Gバイト/秒 |
GT/s(ギガトランスファー毎秒)は、1秒間に送る信号の回数を表す。3.0では、転送レートは2.0の2倍に届かない8GT/sだが、符号化の効率を上げる(8b/10bの80%から128b/130bの約98.5%へ)ことで、実効の転送速度をほぼ2倍にした。
後方互換性
PCI Expressは、世代間で後方互換性を持つ。新しい世代の機器を古い世代のスロットに挿す(またはその逆の)場合でも動作し、リンクの速度は、両者のうち低いほうの世代に合わせられる。たとえば、PCI Express 4.0のSSDを3.0のスロットに挿すと、3.0の速度で動作する。
世代を比べるときのポイント
| 項目 | 3.0、4.0、5.0の関係 |
|---|---|
| 1レーンの片方向の転送速度 | 世代ごとに約2倍 |
| 後方互換性 | ある(以前の世代と相互に使える) |
| 符号化方式 | いずれも128b/130b(8b/10bを使うのは2.0まで) |
| 一般的なスロットの最大幅 | x16 |
転送速度の計算例
PCI Express 4.0 x4 の場合(片方向)
16GT/s × 128/130 ÷ 8 × 4レーン ≒ 7.9Gバイト/秒
NVMe接続のSSDの読み込み速度の上限が、PCIe 3.0 x4 では約3.5Gバイト/秒、4.0 x4 では約7Gバイト/秒と言われるのは、このインタフェースの速度による。
ほかのインタフェースとの関係
| インタフェース | 関係 |
|---|---|
| M.2 | 基板の形状とコネクタの規格。中の信号として、PCI Express(NVMe)またはSATAを使う |
| NVMe | PCI Expressの上で、SSDを効率よく使うためのプロトコル |
| Thunderbolt、USB4 | PCI Expressの信号をケーブルで運ぶ機能を持つ |
| CXL | PCI Expressの物理層を使い、CPUとアクセラレータやメモリをキャッシュの一貫性を保って接続する |