このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第449回

いまさら聞けないIT用語集 データ転送経路のRing Bus

2018年03月12日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

(3) Ring Bus

Ring Bus

 共有バスとPoint-to-Pointの折衷案のような構造が、このRing Busである。

Ring Busの仕組み
メリット 1本の共有バスでありながら、同時に複数のデバイスから送信可能。
デバイスの数を増やすのも容易。
デメリット デバイスの数を増やすと、それにあわせてレイテンシーもどんどん増えていく。
複数Ringを組み合わせるとさらにレイテンシーが増える。

 ちなみに基本は上図のSingle Ringであるが、これだと隣り合ったデバイス同士でも方向によっては1周することになってしまうので、下図のように向きを変えた二重Ring方式を取るケースが非常に多い。

二重Ring方式

 このRing Bus、古いところではIBMが開発したToken RingというNetworkの一種(IEEE 802.5として標準化されている)がこの形式であり、なにげにCPUでも広く使われている。

 一番愛好しているのが言うまでもなくインテルで、Sandy Bridge以降のすべてのCPUで、CPUコア同士の接続にこのRing Busを使っているほか、古くはIBM/SCE/東芝の共同開発のCell Broadband Engineが、内部のPPE(PowerPC Processor Element)とSPE(Synergistic Processor Element)の接続にRing Busを採用している。

 またCPU以外でも、AMD(というか、旧ATI)のR600(Radeon HD 2000シリーズ) GPUでも内部接続にRing Busを採用していた。また、コンピューター外に目を向ければ、JR東日本の山手線やJR西日本の大阪環状線などもこの二重のRing Busだし、他にも高速道路などでも採用例は多い。

インテル以外はあまり採用例がない

 では素晴らしい方法なのか?というとこれは微妙である。そもそもインテル以外のメーカーは、現在ではほとんどRing Busを使っていない。たとえばAMDはZenでInfinity FabricをSoC内の接続に採用しているが、これは名前の通りFabric、つまりSwitchベースである。

 実はインテル自身もRing Busを廃した例がある。Xeon Phiの前身であるLarrabeeは、Vector Engineを追加したP5コア16個を二重Ringにつなぐ方式で、Knights Cornerもこれを引き継いだが、後継のKnights Hillではこれを2次元Meshにする予定だった。予定、というのはKnights Hillそのものがキャンセルされてしまったからだ。

LarrabeeのRing Bus

Knights CornerのRing Bus

 あるいはXeonについても、Broadwell世代までは下の画像左側のように2つの二重Ring BusをFIFOを介してつなぐ、というかなり無茶な構成になっていたのが、Skylake-SPから下の画像右側のように2次元Mesh構造に切り替えた。

Xeonは、Broadwellまでは2つの二重Ring Busだったが、Skylake-SPからは2次元Mesh構造に変更された

 もっとも切り替えたといってもこれはグローバルな話で、実際に詳細を見てみると、縦方向あるいは横方向同士の接続は、引き続きRing Busを使うという執念深さが見て取れる。

Skylake-SPでも、縦方向あるいは横方向同士の接続は、引き続きRing Busを使っている

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン