解説

PCI-X 2.0とPCI Expressのインパクト(前編)
――新しい拡張インターフェイスの実体とその影響を探る――

2. PCI-Xは2.0でさらに高速化


元麻布春男
2002/10/05

解説タイトル


サーバの拡張バスは64bit PCIからPCI-Xへ移行中

 現時点でサーバに使われている汎用の拡張バスのうち、最もデータ転送速度が高いものは、バス幅が64bitで動作クロックが66MHzであるPCIバスが大半で、PCI-X 1.0に準拠したものが現れ始めたというところだ。乱暴にいえばPCI-X 1.0は、既存のPCIバスをベースに、66MHz動作時に1つのバス・セグメントでサポート可能な拡張スロット数を増やすと同時に、バス・クロックを133MHzへ引き上げられるようにしたものである。これにより、従来の66MHz動作のPCIバスで、1つのバス・セグメントあたり2本程度しか設けることができなかった拡張スロットを、66MHz動作時であれば4本程度設けることが可能になった。

 それと同時に、バス・クロックの133MHzへの引き上げは、従来の2倍のデータ転送レート(1066Mbytes/s)を実現したが、このときに1つのバス・セグメントでサポート可能な拡張スロットは1つに限定される。これを補うためにPCI-X 1.0では、データ転送レートが800Mbytes/sとなる100MHz動作を定義し、2本の拡張スロットをサポート可能とした。また、スプリット・トランザクション*2の導入など、バス・プロトコルも改善されている。これにより、同じ66MHz動作であっても、PCI-Xのバス利用効率やシステム性能は、PCIバスよりも高いものになる(図1)。

*2 スプリット・トランザクション(Split Transaction)とは、データを転送する一連のサイクル(トランザクション)のうち、データ転送を要求するフェイズと実際にデータを転送するフェイズを分離(split)したもの。これにより、データを要求されたデバイス側(ターゲット)の反応が遅れても、それを待つことなくデータを要求する側(イニシエータ)は別のトランザクションを次々と開始できる。従来のPCIのディレイド・トランザクション(Delayed Transaction)より効率がよくなっている。
 
クリックで拡大表示
図1 PCI-Xバスのクロックと利用可能な拡張スロット数との関係
これはPCI-SIG提供のスライドの1枚で、ブリッジ・チップを利用して複数のバス・セグメントを相互接続したPCI-Xの構成例を表している。下側に並んでいる青色の長細い四角が拡張スロットだ。ブリッジ・チップである緑色の「PCI-X to PCI-X Bridge」の下側にあるバスが、1つのバス・セグメントとして扱われる。これを見ると、クロックが高くなるほど、1つのバス・セグメントにおけるスロット数が少なくなることが分かる。これは、スロット数が増えるほど、電気信号にとって負荷が増えることになり、高クロック=高周波数の信号の波形を乱れさせ、正常な信号伝送を難しくさせるからだ。

 
新しいPCI-X 2.0とその高速化の手法

 PCI-X 2.0は、133MHz動作のPCI-X 1.0が1つのバス・セグメントで1つの拡張スロットしかサポートできないことを逆手にとって、さらなるデータ転送速度の引き上げを狙ったものだ。つまり、1つの拡張スロットに1つのブリッジ・チップを割り当てて拡張スロットごとにバス・セグメントを分割することで、より高速な信号でも安定して伝送しやすい構成にしている。

■新設された2倍速/4倍速の転送モード
 PCI-X 2.0を搭載したシステムの場合、起動した直後は、旧来のPCIやPCI-X 1.0と互換性のある動作モード(Mode 1)で稼働する。もしPCI-X 2.0対応スロットに装着された拡張カードがPCI-X 2.0互換のものであった場合は、そのバス・セグメント単位、すなわち拡張スロット単位でリセットし、PCI-X 2.0準拠の高速モード(Mode 2)で再起動する。Mode 2は、従来のPCI/PCI-X 1.0と互換性がない動作モードだ。リセットおよび再起動はブリッジ単位(バス・セグメント単位であると同時に拡張スロット単位)なので、システム内のほかの拡張スロットや拡張カードには影響を及ぼさない。

 Mode 2の特徴は、DDR(Double Data Rate:ダブル・データ・レート、2倍速)とQDR(Quad Data Rate:クワッド・データ・レート、4倍速)という転送モードをサポートしている点にある。これにより、従来のPCI/PCI-Xと同じバス・クロック周波数とバス幅で、2倍または4倍のデータ転送レートを実現する。このDDR/QDRモードを実現するためにPCI-X 2.0では、まずバスの信号の電圧振幅を3.3Vから1.5Vへ引き下げている。一般的に電圧振幅を小さくすると、信号レベルが「Low」から「High」へ、あるいはその逆へ遷移するのにかかる時間が短くなるなど、より高速な信号伝送を実現しやすくなるためだ。

クロック信号の供給方法を変更して高速化に対処
 さらにMode 2では、Mode 1までのPCI/PCI-Xバスで使われてきたコモン・クロック(Common Clock)方式の同期バスを捨て、DDR SDRAMなどにも採用されているソース・シンクロナス・クロック(Source Synchronous Clock)方式を採用することで、DDR/QDRモード時の高速伝送をサポートしている。一般的なコモン・クロック方式は、データを送る側と受け取る側の両デバイスとも、バスに供給されている1つのクロック信号に同期させてデータのやり取りを行う。クロック信号は、ほかの信号のレベルが変化する際のタイミングの基準になっているので、信号をやり取りする同士のデバイスの間で、まったく同じタイミングのクロック信号を共有していないと、各信号を送受信するタイミングがずれてしまい、正しく通信できなくなってしまう。コモン・クロック方式の場合、動作周波数が高くなるにつれて、信号線の配線長の違いなどによるクロック信号とデータ信号のわずかなズレ(スキュー)でさえ問題になるようになってきた。特にPCIバスのように、複数のデバイスが接続されるマルチドロップ方式のバスや、同時に伝送する信号線が多いパラレル伝送方式のバスでは、スキューの影響が大きくなる。ソース・シンクロナス・クロック方式は、データを送る側が常にクロック信号を供給することで、このズレを解消したものである。簡単に原理をいうなら、クロック信号とデータ信号を同じ向き(データ送信側→受信側)で、かつなるべく同じ条件で送信することで、両者のタイミングのズレを小さくする、というものだ。

ECCのサポートによりデータ転送時の信頼性を確保
 こうした改良の結果、PCI-X 2.0は DDRモード(PCI-X 266)で2.1Gbytes/s、QDRモード(PCI-X 533)で4.2Gbytes/sの最大データ転送レートを実現した。さらに、こうした高速モードでのデータ信頼性を保証するため、ECCのサポートも加えられている。一方、PCI-X 1.0やMode 1の場合、必須の冗長コードはパリティのみで、ECCはオプションだ。また、プロトコルの改良という点では、Device ID Message(DIM)と呼ばれる新しいトランザクション・コマンドが追加され、PCI-Xデバイス間でピア・ツー・ピアのデータ転送が可能になった。これにより、さらにバス効率が向上すると同時に、ストリーミングのような長時間にわたってバスを占有するアプリケーションに対する適応性が増している(図2、図3)。

クリックで拡大表示
図2 従来のPCIにおけるデバイス間のデータ転送
ピア・ツー・ピアでのデータ転送をサポートしていない従来のPCI/PCI-X 1.0バスでは、Device AからDevice Bへのデータ転送は必ず最上位のバス・セグメントに到達し、メイン・メモリにデータがいったんコピーされる。そのため、バスの使用効率が低下するだけでなく、メイン・メモリの帯域まで消費されてしまう。ストリーミング・アプリケーションでは、PCI(PCI-X)バスやメモリ・バスが長期にわたって占有されることになり、ストリーミング中のレスポンスの低下を招く。
 
クリックで拡大表示
図3 ピア・ツー・ピアをサポートしたPCI-X 2.0対応デバイス間のデータ転送
このように、バス・セグメントの構成とデバイスの配置を工夫することで、バスへの負担を局所化することができる。これにより、バスの使用効率が高まるだけでなく、システムのレスポンスやシステム性能そのものを改善することができる。

 もう1つ、PCI-X 2.0に取り入れられたユニークな機能は、バス幅を狭めた16bitインターフェイスの導入である。ただし、16bitインターフェイスの拡張コネクタを新しく定義する、という話ではない。RAIDコントローラのように、カード上に複数のデバイスの実装が必要な拡張カード向けに、チップ間のインターフェイスとして16bit版を提供しようというものだ。バス幅を狭くすることで配線本数が減るため、拡張カードの設計/製造が容易になるというメリットがある。バス幅は64bitから16bitに狭まるものの、DDRモードやQDRモードの採用によりデータ転送レートは、533Mbytes/s(PCI-X 266)あるいは1066Mbytes/s(PCI-X 533)という高いレベルを確保できる(下表)。

規格名 通称 バス・クロック 動作電圧 64bitデータ幅 32bitデータ幅 16bitデータ幅
スロット数 転送レート スロット数 転送レート 転送レート
PCI 2.x PCI 33 33MHz 5V/3.3V 4本 266Mbytes/s 4本 133Mbytes/s
PCI 66 66MHz 3.3V 2本 533Mbytes/s 2本 266Mbytes/s
PCI-X 1.0/2.0 Mode 1 PCI-X 66 66MHz 3.3V 4本 533Mbytes/s 4本 266Mbytes/s
PCI-X 133 100MHz 3.3V 2本 800Mbytes/s 2本 400Mbytes/s
133MHz 3.3V 1本 1066Mbytes/s 1本 533Mbytes/s
PCI-X 2.0 Mode 2 PCI-X 266 133MHz×2倍 1.5V 1本 2133Mbytes/s 1本 1066Mbytes/s 533Mbytes/s
PCI-X 533 133MHz×4倍 1.5V 1本 4266Mbytes/s 1本 2133Mbytes/s 1066Mbytes/s
表区切り
PCI/PCI-Xがサポートする動作モードと拡張スロット数、データ転送レート
スロット数は1つのバス・セグメントあたりの本数だ。従来のPCI/PCI-X 1.0に比べ、PCI-X 2.0 Mode 2では、バス・セグメントごとに1本の拡張スロットしか接続できないが、転送レートが大幅に高められることが分かる。

 PCI-X 2.0は、拡張スロットごとにブリッジ・チップが必要になること、マザーボード基板として8層基板*3が事実上必須となること、などから、デスクトップPC向けに用いることはコスト的に不可能に近い。だが、サーバに対しては、ユーザーの手元にあるハードウェア資産だけでなく、メーカーがチップや拡張カードを開発・製造するノウハウや、開発・テスト用の機器といった既存の資産を守りながら、次世代の周辺機器、特にネットワーク機器への対応を実現するインターフェイスといえるだろう。

*3 コンピュータ機器の回路基板には、「多層基板」と呼ばれる多層構造のものがよく利用される。多層構造とは、信号線や電源ラインを配線するための層が、基板内に何層も重ねられており、必要に応じて各層の間を接続することで、回路配線を形成するというものだ。ここでいう8層基板とは、表裏の各1層のほか、内部に6つの層が組み込まれているものを指す。層数が多い基板ほど多くの配線を実装可能であり、また電気的特性も向上させやすいが、製造コストも高くなる。そのため、クライアントPC向けマザーボードの場合、4層基板が一般的である。6層や8層といった基板ではコストが高いため、サーバやワークステーションなどの単価が高い製品にしか採用されない。

 次ページからの後編では、PCI Expressを中心に解説し、さらにPCI-XやPCI Expressという新しいPCI規格が実際の製品に与えるインパクトについて考察してみようと思う。


 INDEX
  PCI-X 2.0やPCI Expressのインパクト
    1.従来のPCIの後継「PCI 3.0」とは?
  2.PCI-Xは2.0でさらに高速化
    3. 次世代のI/O規格「PCI Express」は何が変わるのか?
    4. PCI Expressの実装方法
    5. PCI-X 2.0とPCI Expressの関係は?
 
目次ページへ  「System Insiderの解説」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間