PCI Expressの主な仕様
PCI ExpressはPCI-SIGが策定しており、現在『PCI ExpressBase Specification1.1』が最新となっています。その他、『PCI Express Card』,『PCI Express Mini Card』, 『PCI Express Module』などについても個別に仕様を用意しています。詳細は仕様書を確認していただくとして、ここではPCI Expressの基本的な仕様を紹介します。
PtoPデュアルシンプレックス(送受信チャネルが独立)
PCI Expressの物理層はレーン、リンク、ポートで構成されます(図3参照)。図からも分かる通り、送信と受信がそれぞれ独立したパスとなっており1対1で接続されます。
2.5Gbps差動信号
PCI Expressでは信号のやり取りを低電圧の差動信号で行っています。 ビットレートは2.5Gbpsとなっており規格書では表3に示す値を規定しています。
表3・送信と受信の規格値(一部抜粋) | ||||
パラメータ |
最小 |
標準 |
最大 |
単位 |
ユニットインターバル(送信) | 399.88 |
400 |
400.12 |
ps |
デエンファシス(送信) | -3.0 |
-3.5 |
-4.0 |
dB |
差動出力電圧(送信) | 0.800 |
- |
1.2 |
V |
差動入力電圧(受信) | 0.175 |
- |
1.2 |
V |
8B/10B符号
PCI Expressでは8B/10Bの符号化を行っています。8B/10Bを使用することにより
エンベデッドクロックが実現でき受信側ではデータからクロックの抽出(ClockDataRecovery)が
可能となります。ただし、実効レートが80%に低下してしまうデメリットもあります。
転送帯域のスケーラビリティ
表4・レーンごとの帯域
レーン数 |
Gbps(片方向) |
実効帯域 |
1 |
2.5Gbps |
250MB/s |
2 |
5Gbps |
500MB/s |
4 |
10Gbps |
1GB/s |
8 |
20Gbps |
2GB/s |
12 |
30Gbps |
3GB/s |
16 |
40Gbps |
4GB/s |
32 |
80Gbps |
8GB/s |
図4:階層構造とパケット生成
図5:PCI Expressのシステム構成例
(企画書より抜粋)
規格ではリンク幅を1/2/4/8/12/16/32レーンと規定していますので、必要に応じてレーン数を選択する事が可能です。(表4参照)
階層構造
PCI Expressではパケットベースのやり取りを行うため、階層構造となっています。 図4で示したとおり、 上位からの命令は各階層を通過し、最終的にパケットとして送信されます。 PCIバスのサイドバンド信号もパケットに含まれた形で通知されます。
トポロジ
PCI Expressの仕様では『RootComplex』、
『Endpoint』、『Switch』、『PCI Express-PCI Bridge』が
構成要素として定義されています。
これらの要素は1対1で接続されSwitchを組みあわせることで拡張性のあるシステム構築が可能となります。
図5にPCI
Expressのシステム構成例を示します。
『RootComplex』
I/O階層の最上位に配置され、CPU/メモリサブシステムをI/Oと接続します。独立したPCI Expressポートを1つ以上もっています。
『Endpoint』
Configuration Header Type 00hをもつI/Oの末端デバイスで『Legacy Endpoint』と『PCI Express Endpoint』があります。
『Switch』
PCI Expressポートを2つ以上実装し、各ポート間でパケットのルーティングを行います。Configuration Header Type 01hをもつ仮想PCI-PCIブリッジとして認識されます。
『PCI Express-PCI Bridge』
PCI ExpressとPCI/PCI-Xを接続することができます。PCI Expressシステムで既存のPCIデバイスを使用する際に必要となります。
PCI Expressを実現するための具体的な手段
PCI Expressを実現するためにはさまざまな手法が考えられます。 現在は表5に示すようなデバイスが供給され始めており、アプリケーションに応じて選択する事が可能です。 『PIPE(Physical Interface for PCI Express)』とはIntel社が策定している仕様で、 主にFPGAとのインターフェイスを考慮しています( *1)。IPベンダも『PIPE』をインターフェイスとした製品をラインナップしており 高速シリアルインターフェイスを内蔵していない低価格なFPGAでもPCI Expressを実現できるソリューションを提供しています。
表5 PCI Expressチップ一例 | |||
型名 |
レーン数 |
インターフェイス |
メーカ |
41210 | X8 |
PCI-X133 2ch |
Intel |
GL9714 | X4 |
PIPE 125MHz/16bit,250MHz/8bit |
GENESYS
LOGIC |
GL9711 | X1 |
PIPE 125MHz/16bit,250MHz/8bit |
GENESYS
LOGIC |
GL9701 | X1 |
PCI 33MHz,66MHz/32bit |
GENESYS
LOGIC |
PEX8114 | X4 |
PCI-X 133MHz/64bit |
PLX Technology |
PEX8111 | X1 |
PCI 66MHz/32bit |
PLX Technology |
PEX8532(Switch) | X32 |
ー |
PLX Technology |
PEX8524(Switch) | X24 |
ー |
PLX Technology |
PEX8516(Switch) | X16 |
ー |
PLX Technology |
*1:『PIPE』の仕様は『Intel Developer Network for PCI Express Architecture』に加盟すると入手可能です。 詳細はhttp://developer.intel.com/technology/pciexpress/devnet/を参照してください。