CPUとチップセット間の接続(システムバス)は、「フロントサイドバス」(FSB)と呼ばれることが多い。この呼び名が一般的になったのは、Intelが1997年に発表した「Pentium II」から。Pentium IIでは、CPUと2次キャッシュが別々のダイに分かれており、コアとキャッシュ間の接続(バックサイドバス)と区別するためにチップセットへの接続をFSBと呼んでいた。

 AMDは、K8のアーキテクチャーでCPUにメモリーコントローラーを内蔵することで、CPU-メモリー間とCPU-I/O間のパス(データの流れる道筋)を完全に分離してしまった。この結果、システムバスは純粋にI/Oとの接続に使われることになった。AMDはこのバスに新たに「HyperTransport」という技術を導入した。

 HyperTransportは、当初AMDの社内で「Lightning Data Transport(LDT)」という名称で開発された、CPU間の接続技術である。仕様の完成とほぼ同時期に、業界団体である「HyperTransportコンソーシアム」に、オープンな規格として技術を移譲。現在では一般的に使えるチップ間接続として、多くのベンダーに採用されている。

 FSBは、64ビット幅のデータバスと、アドレスやコマンドのラインをそれぞれ独立に持ったパラレルバスである(図1)。2個以上のチップを1本のFSBに接続する構成になっており、例えばマルチCPUのシステムでは同じFSBを複数のCPUとチップセットが共有する。このため、各々のチップがバスにアクセスする際、使用権の調停(アービトレーション)が必要になる。

 対して、AMDのCPUのHyperTransportは16ビット幅の高速シリアルリンクであり、コマンド、アドレス、データをすべてパケット化して通信する。チップ間は必ず1対1の接続で、上りと下りで専用の「レーン」を持っているため、バスの調停が不要で、アクセス待ち時間(レイテンシー)が短い。上りレーンを使用中でも、下りレーンを使うことができる。

 データのビット幅だけに着目すると、FSBの64ビット(8バイト)に対して、HyperTransportは16ビット(2バイト)と少ない。このため、HyperTransportでは800M~1GHzの倍速(DDR)という高速転送で単位時間当たりの転送量を確保している。こうしたギガビットレベルの転送はシリアルバスが得意で、ビット幅の広いパラレルバスでは実現が難しい。

 HyperTransportのようなシリアルリンクでは、データと同じレーンをコマンドやアドレスの指定にも使うため、パケットオーバーヘッドが生じてしまう。効率が悪いように感じるが、一連のパケットで一度にやり取りを完了してしまうので、転送のたびに送信側と受信側のやり取り(ネゴシエーション)でバスに空きが発生するパラレルバス方式よりは効率が良い(図2)。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら