PCI Expressとは | 第1回 - PCI Expressについて 入門編

........

  • 更新日
  • 2023.05.09
  • 公開日
  • 2021.08.24

 これまでPCI Expressに接点がない初心者の方向けに、PCI Express関連の基本的な技術ワードの意味を理解して頂くことを狙いとした連載です。

1. PCI Expressとは

 高性能GPUを搭載したパソコンや、Wi-Fiに対応したデバイスなどに用いられる高速インターフェースで、実は生活のあちこちにある電子機器で使われているPCI Express(読み方:ピー・シー・アイ・エクスプレス)、一般的にはPCIeやPCI-E(読み方:ピー・シー・アイ・イー)と短縮して呼ばれることもあります。

 

CK000139_PCIe_02-1.jpeg

 PCI Expressは、標準化規格団体PCI-SIG(Peripheral component interconnect)によって2002年に規格化されました。それまで10年以上に渡りパーソナルコンピュータ分野で採用されていたPCIバスを代替する、汎用インターコネクト技術として登場したPCI Expressは、これまでで最も普及したインターフェースの1つと言えます。

 

 

CK000139_PCIe_03.jpeg

 PCI Expressの普及はパーソナルコンピュータ分野にとどまらず、産業機器、民生機器、サーバ、ストレージを始めとする広い分野に拡がり、2022年に通信速度64Gbpsを実現する規格の策定が行われました。 PCI Expressは最初の規格化から20年以上経った今なお高速化を続けており、現在更なる通信速度アップとなる128Gbpsを実現する新規格が検討されております。この新規格は、2025年内に策定される予定です。(2023年現在)

 

 

CK000139_PCIe_04.jpeg

 また高速通信に加えて、PCI Expressインターフェースをもつデバイスの増加、さらには高い信頼性の面から、最近では車載、航空分野などのアプリケーションにおいても、PCI Expressの採用が検討されております。

 

2. PCI-SIG(Peripheral Component Interconnect Special Interest Group)とは

CK000139_PCIe_05-H690.jpeg

 PCI(Peripheral Component Interconnect)バスとその関連規格の策定・管理を行っている組織で、1992年に設立されました。PCIバスは当初Intel社の独自規格でしたが、業界標準規格にすべくPCI-SIGに引き継がれました。現在はPCI Expressの策定・管理も行っております。

 

PCI-SIG : https://pcisig.com/

 

3. PCI Express規格

CK000139_PCIe_06-H690.jpeg

 PCI Expressは通信スピードごとに規格化され、それぞれGeneration X(Gen X、Xは数字)と呼ばれています。また接続時には、高速通信に最適な条件を選択するためのトレーニングシーケンスが自動的に行われます。

  2002年 Ver.1.0(Gen1)2.5Gbps
  2007年 Ver.2.0(Gen2) 5Gbps
  2010年 Ver.3.0(Gen3) 8Gbps
  2017年 Ver.4.0(Gen4)16Gbps
  2019年 Ver.5.0(Gen5)32Gbps
  2022年 Ver.6.0(Gen6)64Gbps
  2025年 Ver.7.0(Gen7)128Gbps(2025年規格策定完了予定)

4. PCI Expressが必要とされた理由

CK000139_PCIe_07-H690.jpeg

 PCI ExpressはPCIバスの後継規格です。従来からあるPCIバスは、パーソナルコンピュータ市場で標準的に採用されているパラレルインターフェースで、マザーボード上のデバイス間接続や、マザーボードと拡張カード間のデバイス接続で使われておりました。当初は32bit/33MHz(転送速度 133MB/s)でしたが、のちに64bit/66MHz(転送速度 533MB/s)に引き上げられました。このように、PCIバスの転送速度向上を図るため、以下の2つの手法が取られています。

  • クロックの高速化
  • データバス幅を拡大

 

 しかしながら、これらの手法による高速化には限界があります。クロックの高速化では、データ線上の各データとクロックの同期をとる必要があり、またデータバス幅の拡大では、デバイスのピン数の増加やデータ線の増加によりボード設計が難しくなりました。
 その後、高速CPUや高性能グラフィックス、高速メモリなどを必要とするアプリケーションの普及により、PCIバスでは転送速度が足りなくなってしまいました。そこで新たに誕生した技術がPCI Expressです。 PCI ExpressはPCIバスの諸問題を解決し、更なる高速データ転送を実現しています。

 

5. インターフェースの進化

低速シリアルインターフェース(例:SPI)

 低速なシリアルインターフェースでは、1本のクロック信号に同期する1本のデータ線を使用して、データの送受信を行います。この方式は、以下のような特徴をもっています。

 

  1. 信号線数1ペアとクロック1本なので、信号線の長さを合わせ易い
  2. 信号線が少ないため、配線をセットで引き回し易く、また各信号線のインダクタ・キャパシタ成分の差分が小さくなるので、各信号線の伝搬遅延時間に大きな差が生じにくい

 

CK000139_fig1-1.jpg
図1-1. 低速シリアルインターフェース例

 

 

パラレルインターフェース(例:PCIバス)

 シリアルインターフェースのデータ線を複数に拡張し、複数のデータ線を1つのクロック信号に同期してデータの送受信を行うものが、パラレルインターフェースです。送信側では各信号線のデータが同時に出力され、また受信側で同時に受信されることを前提にしています。この方式には、以下のような特徴があります。

 

  1. データ線を増やすことで、伝送帯域を大きくすることが出来る
  2. 信号線が複数になることで、配線の引き回しに制約が発生し、各信号の配線長に差ができやすい
  3. 信号線毎の各インダクタ成分、キャパシタ成分が異なることで、信号が受信側に届くまでの伝搬遅延時間に差異が生じてタイミングを合わせにくくなる

 

 このようにパラレルインターフェースには、データの送受信を正しく行うために転送速度が上げにくい、という欠点があります。

CK000139_fig1-2.jpg
図1-2. パラレルインターフェース例

 

 

高速シリアルインターフェース

 パラレルインターフェースではデータ転送速度を上げにくくなったため、シリアルインターフェースで高速化が図られました。
 PCI Express、USB 3.2などの最近の高速シリアルインターフェースでは、データ信号にクロック信号成分を載せ、1本の線でデータとクロックを送る方式を採用しております。複数信号線のタイミングを合わせる必要が無いためクロック周波数を上げやすく、伝送帯域を大きくし易い特徴があります。

CK000139_fig1-3.jpg
図1-3. 高速シリアルインターフェース例

 

 

6. PCI Expressの特徴

 PCI Expressは差動信号によるシリアル通信方式を採用しており、デバイスをPeer-to-Peerで接続します。
 PCI Expressのシステム構成は下図のとおりです。RC(Root Complex)を起点とするツリー構造で、EP(End Point)で終端します。

表1-1. 構成名称について
名称 内容
RC(Root Complex) PCI Expressシステムの最上位に位置し、CPU、メモリ、PCI Expressデバイスを接続するためのブリッジ機能を備える
Switch PCI Expressのポート数を増やすためのデバイス
EP(End Point) PCI Expressシステムの最下位に位置し、Root ComplexやSwitchに接続され、PCI Expressを終端する

  例
   ・Gigabit Ethernet Controller
   ・USB Host Controller
   ・NVRAM(Non-Volatile RAM) など

CK000139_fig1-4.jpg
図1-4. PCI Express システム構成例

 

PCI Expressデバイス間の接続

  • デバイス間接続を行う部分は「ポート」、デバイス間接続のことは「リンク」、送受信の差動信号線のペアを「レーン」と呼びます。
  • レーン数を2, 4, 8, 16・・・と増やすことで、データ転送量を増やすことが可能です。(例:1レーンが5Gpbsの場合、2レーンにすると10Gbps)

 

 

ノイズに強い差動通信

 差動通信とは、反転した2本の信号線を用いて1つの信号を伝送する方式です。2本の信号線の電圧差の極性が正(+)となるか負(-)となるかによって、HighレベルとLowレベルの判別を行います。信号線間の電圧差を使うことで、これらの信号線に外来ノイズが混入しても相殺してキャンセル出来るため、外来ノイズ耐性が強い通信方式といえます。

CK000139_fig1-5.PNG
図1-5. 差動信号がノイズに強い仕組み

 

 

異なるGeneration間の接続

 PCI Expressには、Generation間の相互互換性がありますので、異なるGenerationのデバイス間でも通信することが可能です。この場合の通信速度は、Generationが低いデバイスに合わせられます。

CK000139_fig1-6.PNG
図1-6. 異なるGeneration間の接続例

 

 

パケット・フォーマット

 PCI Expressでは、ユーザデータはパケットの形で伝送されます。Header部分でパケットの届け先デバイスが指定されており、Switchデバイスではその情報を元にルーティング(出力ポートを決定)することで、指定されたデバイスにパケットを届けることが出来ます。

CK000139_fig1-7-text.PNG
図1-7. PCI Expressで規定されたパケット・フォーマット

 

 

7. Generationとレーン数と転送速度の関係

 PCI Expressのデータ転送では、

  • Gen1/Gen2は8b/10bエンコーディング (8bitのデータを10bitに変換する符号化)
  • Gen3/Gen4/Gen5/Gen6は128b/130bエンコーディング (128bitのデータを130bitに変換する符号化)

を行います。
 この符号化により転送速度(=物理層での転送速度)に対する実効データ転送速度(=有効なデータの転送速度)は、Gen1/Gen2 では20%、Gen3/Gen4/Gen5/Gen6では1.538%低下することになります。

表1-2. Generation/レーン数毎の転送速度(1/2)
レーン数 1レーン 2レーン 4レーン 8レーン
Gen1 転送速度(片方向) 2.5Gbps 5.0Gbps 10.0Gbps 20.0Gbps
実効データ転送速度 2.0Gbps 4.0Gbps 8.0Gbps 16.0Gbps
Gen2 転送速度(片方向) 5.0Gbps 10.0Gbps 20.0Gbps 40.0Gbps
実効データ転送速度 4.0Gbps 8.0Gbps 16.0Gbps 32.0Gbps
Gen3 転送速度(片方向) 8.0Gbps 16.0Gbps 32.0Gbps 64.0Gbps
実効データ転送速度 7.877Gbps 15.754Gbps 31.508Gbps 63.015Gbps
Gen4 転送速度(片方向) 16.0Gbps 32.0Gbps 64.0Gbps 128.0Gbps
実効データ転送速度 15.754Gbps 31.508Gbps 63.015Gbps 126.031Gbps
Gen5 転送速度(片方向) 32.0Gbps 64.0Gbps 128.0Gbps 256.0Gbps
実効データ転送速度 31.50Gbps 63.01Gbps 126.03Gbps 252.06Gbps
Gen6 転送速度(片方向) 64.0Gbps 128.0Gbps 256.0Gbps 512.0Gbps
実効データ転送速度 60.5Gbps 121.0Gbps 242.0Gbps 484.0Gbps
Gen7 転送速度(片方向) 128.0Gbps 256.0Gbps 512.0Gbps 768.0Gbps
実効データ転送速度 121.0Gbps 242.0Gbps 484.0Gbps 726.0Gbps

 

表1-3. Generation/レーン数毎の転送速度(2/2)
レーン数 12レーン 16レーン 32レーン 64レーン
Gen1 転送速度(片方向) 30Gbps 40.0Gbps 80.0Gbps 未規定
実効データ転送速度 24Gbps 32.0Gbps 64.0Gbps 未規定
Gen2 転送速度(片方向) 60Gps 80.0Gbps 160.0Gbps 未規定
実効データ転送速度 48Gbps 64.0Gbps 128.0Gbps 未規定
Gen3 転送速度(片方向) 96Gbps 128.0Gbps 256.0Gbps 未規定
実効データ転送速度 94.52Gbps 126.031Gbps 252.062Gbps 未規定
Gen4 転送速度(片方向) 192Gbps 256.0Gbps 512.0Gbps 1024Gbps
実効データ転送速度 189.04Gbps 252.062Gbps 504.123Gbps 1008.25Gbps
Gen5 転送速度(片方向) 384.0Gps 512.0Gbps 1024.0Gbps 2048.0Gbps
実効データ転送速度 378.09Gbps 504.12Gbps 1008.24Gbps 2016.49Gbps
Gen6 転送速度(片方向) 768.0Gbps 1024.0Gbps 2048.0Gbps 4096.0Gbps
実効データ転送速度 726.0Gbps 968.0Gbps 1936.0Gbps 3872.0Gbps
Gen7 転送速度(片方向) 1024.0Gbps 2048.0Gbps 4096.0Gbps 8192.0Gbps
実効データ転送速度 968.0Gbps 1936.0Gbps 3872.0Gbps 7744.0Gbps

 

  • CK000139_fig1-8.PNG
    図1-8. x1レーンを使用するEthernetボード例
  • CK000139_fig1-9.PNG
    図1-9. x16レーンを使用するグラフィックボード例

 

8.まとめと次回の内容

CM_Summary.png

 今回は、PCI Expressの基本的な仕様について説明致しました。


 第2回は、PCI Expressの拡張性とマルチホストについて説明します。

 

こんな記事もおすすめ

その他お役立ち情報を探す

記事一覧にもどる

関連イベント