解説 PCI-X 2.0とPCI Expressのインパクト(後編)――新しい拡張インターフェイスの実体とその影響を探る―― 3. 次世代のI/O規格「PCI Express」は何が変わるのか? 元麻布春男 |
前編では、既存のPCIの後継となる「PCI 3.0」と次世代のサーバ向け拡張バス規格「PCI-X 2.0」の概要について解説した。ここからは、次世代のI/Oインターフェイス「PCI Express」について解説していくことにする。
PCI Expressの位置付け
PCI Expressは、サーバやワークステーションだけでなく、デスクトップPCやノートPCを含めたすべてのPC、さらには通信機器など、現在PCIバスが利用されている用途を全面的に置き換えるものとして、開発が進められている。もともとは、Intelが3GIO(The 3rd Generation I/O)の名称で開発を行っていたものだ。その後、PCIバスを継承する技術としてPCI-SIGに提案され、PCI Expressとして規格化されることになった。2002年7月23日には、PCI-SIGの委員会によって規格が承認され、現在、PCI-SIGの会員にはPCI Express 1.0の規格書が公開されている(PCI-SIGの「PCI Express規格の委員会による承認について」)。
PCI Expressの基本となるのは、片方向のポイント・ツー・ポイント接続を、双方向分となるように2本単位(この最小構成を「レーン」と呼ぶ)でまとめたものだ(図4)。それぞれの伝送路のデータ幅は1bitで、0.8Vで差動駆動されるシリアル接続となっている。伝送路をシリアル化することで信号線の数を減らすことができ、高性能と低価格の両立を可能とした。PCI Express 1.0では、1レーン分の伝送路のデータ・レートとして2.5Gbits/sのみを定めているが、将来的には2x(5Gbits/s)、4x(10Gbits/s)といったデータ・レートの実現を視野に入れている。すでに複数のデータ・レートが実現された場合に必要となるネゴシエーションを実装するための準備も、規格レベルで行われている。
図4 PCI Expressの接続構成 |
PCI Expressは、シンプルなポイント・ツー・ポイント接続を基本とする。 |
この2.5Gbits/sでの実際のデータ転送速度だが、PCI Expressでは8B/10Bエンコーディング(8bitのデータを10bitに変換する符号化)により、クロック信号が埋め込まれているため、実際の帯域は20%分減ることになる。つまり、PCI Expressの実効データ転送レートは2Gbits/s(=2.5Gbits/s×80%)であり、片方向につき250Mbytes/s、双方向合わせて500Mbytes/sが有効帯域ということになる。2x、4xでは、それぞれ1Gbytes/s、2Gbytes/sの帯域が実現される。現在デスクトップPCで主流の32bit/33MHz PCIのデータ転送レートは、133Mbytes/sなので、片方向で比べても約2倍、双方向では4倍近い帯域を実現することになる。
またPCIバスでは、プロトコルと信号が完全に分離されていなかったため、広帯域化を難しくしたといわれている。その反省からか、PCI Expressでは各機能がレイヤ化されており、将来データ・レートを引き上げた場合でも、ほかの部分への影響は最小限で、ほとんどが流用可能になる見込みだ(図5)。
図5 PCI Expressのレイヤ |
各機能がレイヤ化(階層化)されたPCI Expressでは、将来に向けたスケーラビリティの確保が容易になる。 |
スケーラビリティの高いPCI Express
このように将来データ・レートを引き上げることを想定し、未来に向けた帯域のスケーラビリティを確保する一方で、近い将来に対するスケーラビリティとして、複数レーンの同時使用による帯域の拡大も可能となっている。つまりアプリケーションに応じて、1レーン(x1)、2レーン(x2)、4レーン(x4)、8レーン(x8)、12レーン(x12)、16レーン(x16)、32レーン(x32)と拡張できる。ただし、現時点でこれらのすべてが実用化されるとは考えられておらず、デスクトップPCでは汎用I/O用に1レーン(双方向で500Mbytes/s)と、グラフィックス用に16レーン(同8Gbytes/s)が、それぞれ用いられると想定している。また、サーバには上記に加え4レーン(2Gbytes/s)と8レーン(4Gbytes/s)の利用が想定されており、データ・レートで比較するなら前者はPCI-X 266相当、後者はPCI-X 533相当ということになる。
ここで、グラフィックス用途が想定されているx16スロットについて、若干補足しておこう。PCI Expressがまだ3GIOと呼ばれていたころ、現行のパラレル・インターフェイスを用いたAGPの後継として、シリアル・インターフェイスである3GIOをベースにしたものが使われる、といわれていた。これを一部の報道などで「シリアルAGP」などと呼んでいたが、この構想はなくなり、PCI Expressのx16スロットがそのままグラフィックス用に用いられることになった。つまり、将来グラフィックスに用いられる拡張スロットは、機能的にはPCI Expressの汎用のx16スロットと同じであり(後述のように電源供給能力などが異なる)、これをxxAGPといった名前で呼ぶことはない。
現在のAGPは、PCIバスをベースに開発されたものだが、PCIバスより高いデータ転送速度を確保するための物理的、電気的な変更だけでなく、ソフトウェア的にも異なるものとなっている。こうしたソフトウェア的な変更が、ある意味でAGPをグラフィックス専用にしているわけだが、PCI Expressのx16スロットをそのまま利用する将来のグラフィックス・スロットは、ソフトウェア的にも汎用のPCI Expressスロットと変わらない。例えばAGPの特徴的な機能の1つとしてはGART*4のサポートが挙げられるが、PCI ExpressではGARTのサポートは行われない。これはPentium III以降のプロセッサ自体がGARTに相当する「Page Attribute Table」をサポートしているため、不要と判断されたことによる。
*4 Graphics Address Remapping Table:メイン・メモリの一部をAGPメモリとして確保し、グラフィックス・コントローラが直接そのアドレスをアクセスすることを可能にする機能。 |
下表は各スロットが供給可能な電源容量に関する仕様だが、サーバ用の拡張スロットは、同じx1でも電源が強化されていることが分かる。また、グラフィックス用のx16コネクタは、現在のAGP Pro-50に近い40Wが確保されているが、これはグラフィックス・チップ・ベンダとの話し合いによって決められたものだという(ワークステーション向けの仕様はまだ決まっていない)。現時点で実現可能性の最も高い以上の4種類については、すでにコネクタのサンプル出荷も始まっている(図6)。
x1コネクタ(デスクトップPC向け)
|
x1コネクタ(サーバ向け) x4/x8コネクタ x16コネクタ(I/O向け) |
x16コネクタ(グラフィックス向け) | |
最大出力 | 10W | 25W | 40W |
+3.3V±9% |
3A
|
3A
|
3A
|
+12V±8% |
0.5A
|
2.1A
|
3.3A
|
+3.3Vaux±9% |
375mA
|
375mA
|
375mA
|
PCI Expressがスロットに供給可能な電源容量 | |||
PCIにあった5V電源はPCI Expressでは供給されない。 |
図6 PCI Expressに用いられるコネクタ |
x1(1レーン)用からx16(16レーン)用まで示されている。右側の断面図で左側にツメがあるのは、カードが抜けないように固定するリテンション・フックをひっかけるためのもの。 |
PCI Expressの特徴として、レーン数の大きいスロットは、自分よりレーン数の少ない拡張カードを受け入れることができる、という点が挙げられる。つまり、x16のスロットには、x1やx8のカードをインストールすることが可能なわけだ。逆にx1のスロットにx8のカードをインストールして、x1相当の帯域で利用するようなことは許されない。上述したグラフィックス用のx16スロットは、広帯域の汎用スロットとして、x1のみならずx4やx8のカードを利用することも可能になる(上表に示したように電源供給能力にも問題はない)。現行のAGPでは、チップセットがグラフィックス機能を内蔵している場合、スロットが空いていても使い道がないが、PCI Expressの場合は必要があれば広帯域の汎用I/Oスロットとして利用できることになる。同じデスクトップPCでも、x16スロットに高機能なグラフィックス・カードを搭載したものや、その代わりにギガビット・イーサネット・カードやファイバ・チャネル・カードを搭載したものなど、多様な構成にすることが可能になるわけだ。
次ページでは、実際にPCI Expressがどのように実装されるのかについて解説していこう。
関連リンク | |
PCI Express規格の委員会による承認について |
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の解説」 |
- 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)
スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
|
|