PCI Express と​は?

概要

ここ​では、​PCI Express バス​について​簡単​に​説明​し​ます。​また、​他​に​先駆け​て PC ベース​の​計測・​オートメーション​ハードウェア/​ソフトウェア​に PCI Express を​採用​し​て​いる​ナショナル​イン​ス​ツル​メンツ​の​取り組み​について​も​紹介​し​ます。​PCI Express 規格​に関する​詳細​について​は、​PCI Express - PCI Express 規格​の​概要​を​ご覧​くだ​さい。

内容

はじめ​に

デスク​トップ​コンピュータ​は、​目まぐるしい​速​さ​で​進化​を​続​け​てい​ます。​集積​回路​の​登場​以来、​処理​速度​は​ムーア​の​法則​に従って​1​年​半​ごと​に​倍増​し​てい​ます。​ソフトウェア​メーカー​は​最新​の​処理​速度、​メモリ​サイズ、​ハードディスク​容量​など​最新​の​技術​に​対応​する​ため、​新​製品​や​バージョン​の​アップ​グレード​など​を​リリース​し​てい​ます。​また​ハードウェア​メーカー​は​その​よう​な​最新​ソフトウェア​の​需要​を​満たす​デバイス​や​テクノロジ​を​市場​に​送り​出し​てい​ます。​そういった​急速​な​進歩​は​PC ベース​の​計測​ハードウェア​や​ソフトウェア​において​も​顕著​に​な​って​おり、​現在​の​プラグ​イン​デバイス​は​最大 15 MHz​の​サンプリング​レート、​16​ビット​の​分解能​の​計測​を​実現​し​てい​ます。

​シリコン​技術​の​進展​とともに​データ​集録​レート​が​向上​すると、​より​多く​の​データ​が​バス​を​介​し​て​PC​に​伝送​さ​れる​ことに​なり​ます。​デバイス​と PC メモリ​を​接続​する​データバス​は、​車​の​トランス​ミッション​に​例える​こと​が​でき​ます。​例えば、​トランス​ミッション​が​な​け​れ​ば​エンジン​から​の​馬力​を​路面​に​伝える​こと​が​でき​ま​せん。​データバス​の​重要性​は、​トランス​ミッション​と​同様​に、​エンジン​の​馬力​(つまり​処理​と A/​D レート)​の​影​に​隠れ​て​いる​ため​軽視​さ​れる​こと​も​しばしば​です。​しかし、​データ​転送​レート​は​多く​の​計測​アプリケーション​で​ボトルネック​と​なる​部分​で​ある​ため、​多く​の​計測​器​に​は​高価​な​オン​ボード​メモリ​が​搭載​さ​れ​てい​ます。

​より​広い​帯域​幅​へ​の​需要​に​応える​ため​に​登場​した​の​が、​PCI Express という​新しい​バス​技術​です。​高速​オーディオ/​ビデオストリーミングの目的で設計された PCI Express は、​従来​の PCI バス​に​比べ​最大​30​倍​もの​データ​レート​を​実現​し​ます。

PCI Express 規格

PCI Express は、​PCI バス​の​制約​を​克服​する​ため​に​開発​さ​れ​ま​した。​10​年​以上​前​に Intel 社によって開発された PCI バス​は、​33 MHz、​32​ビット​で​動作​し、​理論​上の​最大​帯域​幅​は 132 MB/​秒​と​な​って​い​ます。 また、​PCI​は​共有​バストポロジ​の​採用​により​バス​帯域​幅​を​複数​の​デバイス​間​で​共有​する​こと​で、​バス​上​に​ある​複数​の​デバイス​間​の​通信​を​可能​にし​てい​ます。 しかし、​デバイス​が​進化​する​につれ、​広帯域​を​必要​と​する​デバイス​が​帯域​幅​を​独占​し​て​しまう​ケース​が​出​て​き​ま​した。​例えば、​ギガ​ビット LAN カード​は、​PCI バス​で​利用​できる​帯域​幅​の​最大​95%​を​も​専有​し​て​しまう​ため、​他の​デバイス​が​使用​できる​帯域​幅​が​制限​さ​れる​ことに​なり​ます。

​その​よう​な​最新​の​デバイス​が​要求​する​帯域​幅​を​確保​する​ため、​PC や​周辺​機器​メーカー​の​業界​連合​により PCI Express が開発され、​2004​年​から​デスク​トップ PC に​搭載​さ​れる​よう​に​なり​ま​した。​現在、​大手​メーカー​の​ほとんど​の​デスク​トップ​PC​に​は、​少なくとも​1​つ​の​PCI Express スロット​が​搭載​さ​れ​てい​ます。​PCI と​比較​した​PCI Express の​メリット​で​最も​注目​すべ​き​な​の​は、​ポイントツーポイント​バス​テクノ​ロ​ジ​です。​PCI で​採用​さ​れ​てい​た​共有​バス​は、​各​デバイス​から​バス​へ​直接アクセス​する​こと​が​可能​な​共有​スイッチ​に​代​わ​って​いる​ため、​バス​上の​全​デバイス​間​で​帯域​幅​を​共有​する​PCI と​は​異​なり、​PCI Express では​各​デバイス​に​帯域​幅​が​割り当て​ら​れ​てい​ます。​データ​は​パケット​ごと​に​「レーン」​と​呼ばれる​複数​組​の​送信/​受信​用​ワイヤ​によって、​シリアル形式で伝送され、​1​レーン​あたり​(一方向​につき)​250 MB/​秒​の​帯域​幅​を​有​し​てい​ます。 また、​複数​の​レーン​を​x1、​x2、​x4、​x8、​x12、​x16、​x32 の​レーン​幅​に​グループ​化​する​こと​で、​スロット​に対する​帯域​幅​を​拡張​する​こと​が​でき​ます。


図​1. 帯域​幅​を​共有​する PCI と​は​異​なり、​各 PCI Express スロット​に​は​占有​帯域​幅​が​割り当て​ら​れ​てい​ます。


​データ​集録​や​波形​生成​など​の​アプリケーション​では、​データ​の​消失​や​上書き​を​避ける​ため​に​十分​な​速度​で​データ​を​メモリ​に​転送​する​必要​が​あり​ます。​PCI Express では、​レ​ガ​シー​バス​に​比べ​帯域​幅​が​大幅​に​向上​し​て​いる​ため、​オン​ボード​メモリ​の​必要性​が​低​く​なる​と同時に、​より​高速​な​データ​スト​リー​ミン​グ​を​実現​する​こと​が​でき​ます。​仕様​により​定め​ら​れ​て​いる​2.5 Gb/​秒​の​初期​信号​周波数​は、​32​ビット、​33 MHz の PCI で​利用​可能​な​帯域​幅​に​比べ​30​倍​(x16 スロット​の​場合)​に​も​なり、​シリコン​技術​の​進歩​により、​この​帯域​幅​も​将来​的​に 10 Gb/​秒​(銅​で​伝達​可能​な​信号​量​の​実質​的​な​限度)​まで​高まる​こと​が​予測​さ​れ​てい​ます。​また、​PCI Express の​レーントポロジ​は​拡張​可能​で​ある​ため、​データ集録ベンダはデバイスの条件に合った​PCI Express コネ​クタ​と​レーン​数​を​実装​する​こと​が​でき​ます。


​図​2.​PCI Express では​従来​の PCI の​帯域​幅​に​比べ​最大​30​倍​の​拡張​可能​な​占有​帯域​幅​を​提供​し​ます。

 
 

ソフトウェア​と​ハードウェア​の​互換性

PCI Express は 従来​の PCI と​の​ソフトウェア​互換性​を​保持​し​つつ​も、​パラレル​バス​から​高速​シリアル​バス​(2.5 Gb/​秒)​へ​の​移行​による​高速​データ​転送​を​実現​しま​した。​この​よう​な​アーキテクチャ​の​変更​により、​PCI と PCI Express の​コネ​クタ​の​形状​が​異​な​って​いる​ため​互換性​は​ありま​せん​が、​PCI から PCI Express へ​の​移行​期間​中​は、​ほとんど​の​マザー​ボード​に PCI と​PCI Express の​両方​の​コネ​クタ​が​搭載​さ​れ​てい​ます。

PCI Express は、​提供​する​帯域​幅​によって​コネ​クタ​の​大​き​さ​が​異​なり​ます。​幅​の​狭い​コネ​クタ​を​搭載​した​デバイス​は、​マザー​ボード​上の​幅​の​広い​ホスト​コネ​クタ​に​接続​が​可能​な​ため、​ハードウェア​の​互換性​と​柔軟性​が​向上​し​てい​ます。​ただし、​デバイス​の​コネ​クタ​が​マザー​ボード​上の​ホスト​コネ​クタ​より​も​大きい​場合​は​接続​する​こと​が​でき​ま​せん。

図​3. 現在​の​コンピュータ​に​搭載​さ​れ​た​標準​の PCI Express スロット​に​は、​x1、​x4、​x8、​x16 が​あり​ます。


​ソフトウェア​の​互換性​は、​PCI Express 仕様​によって​保証​さ​れ​て​おり、​PCI Express デバイス​の​構成​スペース​と​プログラマビリティ​は、​従来​の PCI 仕様​から​受け​継​がれ​てい​ます。​そのため、​PCI Express アーキテクチャ​を​変更​する​こと​なく​すべて​の​オペレーティングシステム​を​起動​させる​こと​が​でき​ます。​オペレーティングシステム​は​起動​時に、​接続​さ​れ​て​いる​すべて​の PCI Express デバイス​を​検出​し、​メモリ、​I/​O スペース、​割り込み​など​の​システム​リソース​を​割り当て​て​最適​な​システム​環境​を​構築​し​ます。​また、​PCI Express の​物理​層​は​アプリケーション​ソフトウェア​に対し​透過​的​で​ある​ため、​PCI デバイス​向け​に​作成​さ​れ​た​プログラム​は、​同じ​機能​を​持つ PCI Express デバイス​でも​同様​に​実行​できるだけ​で​なく、​PCI デバイス​と PCI Express デバイス​は​同じ​システム​内​で​同時に​使用​する​こと​が​でき​ます。​この​よう​な PCI Express ソフトウェア​と​従来​型 PCI と​の​下位​互換性​は、​ベンダ​に​とっても​ユーザ​に​とっても​これまでに​行​っ​た​投資​を​有効​活用​する​上​で​非常​に​重要​な​もの​となり​ます。

PCI Express デバイスに合った PC の​選択

大手​メーカー​が​提供​する​ほとんど​の PC に​は、​少なくとも​1​つ​の​PCI Express スロット​が​搭載​さ​れ​てい​ます。​最も​一般​的​な​スロット​サイズ​は、​x1 と x16 です。​x1 スロット​は、​NI PCIe M シリーズ​データ​集録​デバイス​や NI PCIe GPIB デバイス​など​に​対応​する​汎用​スロット​です。​現在​の​ところ、​NI PCIe Camera Link 画像​入力​など​の​デバイス​が​使用​する x4 または x8 の​スロット​は、​サーバ​クラス​の​マシン​で​提供​さ​れ​てい​ます。​「サーバ」​と​は​必ずしも​高額​な​もの​を​示す​わけ​では​なく、​タワー​サーバ​は​デスク​トップ​コンピュータ​と​あまり​変​わら​ない​価格​で​販売​さ​れ​てい​ます。

図​4. ほとんど​の​マザー​ボード​に​は、​PCI と PCI Express の​両方​の​スロット​が​搭載​さ​れ​てい​ます。


​コンピュータ​を​選ぶ​際​に​は、​PCI Express コネ​クタ​が​提供​する​データ​レート​を​確認​する​必要​が​あり​ます。​例えば、​x8 コネ​クタ​が x4 として​配線​さ​れ​て​いる​マザー​ボード​を​採用​し​て​いる​ベンダ​も​あり、​その​よう​な​コネ​クタ                               に​接続​さ​れ​た​デバイス​は、​最大​データ​レート​が​x4 となり​ます。 また、​PCI Express デバイス​を​より​幅​の​広い​コネ​クタ​に​接続​する​場合​は、​デバイス​が​サポート​する​最大​データ​レート​を​保証​し​て​いるか​確認​する​必要​が​あり​ます。​PCI Express 仕様​では、​PCI Express​デバイス​の​コネ​クタ​より​も​幅​の​広い​ホスト​コネ​クタ​に​配線​すると x1 の​データ​レート​で​のみ​の​動作​を​提供​する​ため、​x8 コネ​クタ​に​接続​した x4 デバイス​は、​x1 の​データ​レート​(250 MB/​秒)​で​動作​する​こと​が​あり​ます。

ナショナル​イン​ス​ツル​メンツ​の PCI Express デバイス

ナショナル​イン​ス​ツル​メンツ​は、​PCI Express 対応​の​マルチ​ファンクション​データ​集録、​画像​入力、​および GPIB デバイス​を​業界​で​初めて​発売​しま​した。​NI PCIe-​GPIB は、​x1 の PCI Express コネ​クタ​を​搭載​した GPIB コントローラ​です。​NI PCIe-1429 は、​Camera Link カメラ​対応​の​画像​入力​用 x4 デバイス​で、​最大 680 MB/​秒​(毎秒 CD-​ROM 約​1​枚​分​の​データ)​で​画像​を​ストリーミング​する​業界​で​最速​の​プラグ​イン​画像​入力​デバイス​です。​PCIe-6251 と PCIe-6259 は、​最大 32​チャンネル、​16​ビット、​1.25 MS/​秒​の​アナログ​入力​に​加​え、​32​チャンネル、​10 MHz の​デジタル I/​O、​そして​4 チャンネル、​16​ビット、​2.8 MS/​秒​の​アップデート​を​提供​する​アナログ​出力​を​搭載​した​M シリーズ​データ​集録​デバイス​です。​これらの I/​O を​すべて​同時に​実行​し​ながら、​PC メモリ​と​の​間​を x1 コネ​クタ​経由​で​データ​転送​する​こと​が​可能​と​な​って​い​ます。


図​5. PCI Express M シリーズ​は​高速​アナログ/​デジタル I/​O を​提供​し​ます。


​NI の​すべて​の PCI Express デバイス​は、​PCI デバイス​向け​に​作成​さ​れ​た​ソフトウェア​と​の​下位​互換性​を​保持​し​てい​ます。​例えば、​NI-​DAQmx と LabVIEW で PCI-6251 用​に​作成​さ​れ​た​プログラム​は、​変更​せ​ず​に​そのまま PCIe-6251 でも​実行​できる​ため、​将来​に​向け​て​ハードウェア​を​アップ​グレード​した​場合​でも​既存​の​ソフトウェア​資産​を​活用​する​こと​が​でき​ます。


​関連​リンク
PCI Express - PCI Express 規格​の​概要