雑誌無償購読申込み 最新号 バックナンバー 広告資料請求 EDN Japanについて お問合せ
雑誌無償購読申し込み
メールニュースレター登録
登録内容変更
アナログ IC/ディスクリート
電源/電池/コントローラー
PLD / メモリー
組み込みシステム
コンピュータ&ボード
EDA/IP/CAE/ソフトウェア
電子部品
計測器
ディスプレイ
デジタル家電
通信・ネットワーク
カーエレクトロニクス/産業機器
EDN Japan 記事検索
検索方法の詳細
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
coverstory
2004年7月号
Illustration by Mike O'Leary
急がば回れ、LSIチップ間の相互接続

システムの性能はLSIチップ間のデータ転送速度によって制限されている。チップ間を高速に接続する新たな技術がいくつか登場してきた。ハイパートランスポート、PCIエキスプレス、SPI 4.2、ラピッドIOなどである。これらのデータ転送技術の利害得失を探る。

ニコラス・クラボッタ EDN誌特約エディター
Nicholas Cravotta Contributing Technical Editor
 LSIチップ間を相互接続する高速インターフェース技術に注目が集まっている。いくつかの技術が互いに競争しているからだ。ハイパートランスポート*技術の普及を後押しする団体であるハイパートランスポート・コンソーシアムは、この技術はPCIエキスプレス*と直接は競合せず、お互いに補完すると公言する。PCIエキスプレス陣営は、この技術はさまざまな分野で主流になると主張する。LSIチップ間の接続、LSIチップと入出力(I/O)の接続、ボード間の接続に利用できるだけでなく、システムの性能を効率的に高められるからだと述べる。
 しかし組み込み機器の開発者は、こういった意見には否定的である。PCIバス・ボードを採用した組み込み機器は用途別に仕様が最適化されている。汎用のプリント回路ボードを安易に購入したりはしない。
Advertisement
 もう1つのインターフェース技術であるラピッドIO*は復権しつつある。新しく登場したシリアル・ラピッドIOはLSIチップ間のインターフェースではなく、バックプレーン市場を狙う。
 ここに普遍的な事実がある。「インターフェース技術を理由にプロセッサーを選ぶ設計者はいない」ということだ。ただし、インターフェース技術がプロセッサーの選定に影響を与えることはある。購入しようとするプロセッサーのインターフェースに対応できる、適当なコプロセッサーが見つからない場合だ。
 並列のマルチドロップ・バス(共有バス)方式は、すでに非効率的である。プリント回路ボードやライン・カード、無線基地局で生じているデータ競合の規模は、小規模なネットワークにおけるデータ競合に近い量に達しているからだ。もはや、すべてのデータを単一の共有バスにまとめては伝送できない。レイテンシーが増大し、リアルタイムの伝送が不可能になってしまうからだ。
 例えばパソコンでは、フロント・サイド・バスがシステム・バスを集約している。そこには入出力スロット、メモリー、ネットワーク、グラフィックス・コプロセッサーなどからデータが集まる。バス競合やデータの待機時間を減らすには、フロント・サイド・バスのデータ転送速度を高める必要がある。ただしデータ転送速度を高め過ぎると、LSIチップ本来の機能を実現する回路に掛かるコストよりも、接続用インターフェース回路により多くのコストが掛かるという問題が生じかねない。
 ハイパートランスポートとラピッドIO、PCIエキスプレスはいずれも、高性能ボードを共有バス・アーキテクチャーからスイッチド・バス・アーキテクチャーへと移行させる革新的な技術である。チップ間相互接続方式の選択肢はそれほど多くない。それでも、これらの技術がチップ間接続だけでなく、ボード設計やシステム設計に与える影響を理解しておく必要がある。
 例えば、プロセッサーとコプロセッサーを接続しようが、2個のプロセッサーをそれぞれマスターとして接続しようが、プリント回路基板で単に配線すればよいというわけではない。レイテンシーやデータ・コヒーレンシーなどの問題があるからだ。
 さらに、均質性(homogeneity)の実現が重要である。均質性とは、チップ間とボード間、さらにはきょう体間の接続に同じ技術を採用するという意味である。すなわち、複数の相互接続方式を使ってブリッジを介するよりも、単一の相互接続方式を使った方がコストがはるかに低くなる。

プロセッサーをシリアル接続する

 システムのデータ処理能力を高めるには、インターフェースのデータ転送速度を向上させる必要がある。ネットワーク処理やデジタル信号処理のように膨大なデータ処理が要求される場合、単一のプロセッサーでは十分に処理できない。マルチプロセッサーによる処理が必要になる。複数のプロセッサーを相互接続する方式には、シリアル方式とパラレル方式がある。
 シリアル方式(データ・パス方式)は、プロセッサーを処理の順番に配列する。各プロセッサーは処理全体の一部を担う。処理結果をポイント・ツー・ポイント接続を通じて次のプロセッサーに渡す。データの流れる経路が1つしかないので、スイッチド・バスやマルチポイント・バスを必要としない。
 セキュリティー分野の暗号化処理といった強力なデータ処理能力を必要とする用途の場合、データ・パスのわきにコプロセッサーを配置することで対処できる。これは一般にルックアサイド・バスと呼ばれている。処理すべきデータを一時的にデータ・パスから外し、処理が完了してからデータ・パスに戻す。
 シリアル方式では、各プロセッサーが処理する担当部分をきちんと分割しておく。このため、あらかじめリソースが制限されているデータ・セットの処理、すなわち確定論的な処理(deterministic processing)に向く。ルックアサイド・バスに接続されたコプロセッサーは、シリアル方式における例外的な処理を扱う。シリアル方式は十分なデータ転送速度を備え、許容できる範囲にレイテンシーが短くなければならない。
 ハイパートランスポートとSPI 4.2*は、ポイント・ツー・ポイントでシリアル接続する高性能アーキテクチャーの有力候補である。両方ともPCIエキスプレスに比べるとオーバーヘッドが小さい。ハイパートランスポートは、ネットワーク機器分野では市場をいくらか確保している。しかし実際にネットワーク機器分野で実績が十分にあり、認知されているのはSPI 4.2インターフェースの方である。
 多くのLSIベンダーが、フレーマー・インターフェースとしてSPI 4.2を採用している。フレーマー・インターフェースはフロー制御によってデータ・ブロックとチャンネル化をサポートする。ライン・カードのほか、リンクにも利用されるようになっている。
 SPI 4.2がハイパートランスポートよりも優位な点は、多くの用途で単一のインターフェースを使えるように互換性が強化されていることである。一方、ハイパートランスポートはさまざまな電気的仕様とプロトコル・モードをサポートする。このため、2つのハイパートランスポート・インターフェースを直接接続しても、レーン・カウントや機能の違いによってデータを転送できない場合がある。
 これらの理由によって、SPI 4.2は高性能データ・パスの主流技術として使われ続けるとみるベンダーが少なくない。理由はほかにもある。フロー制御や輻輳(ふくそう)管理、シグナリングといった機能におけるQOS*の高さと短いレイテンシーである。
 ハイパートランスポートは、コプロセッサー用インターフェースだと考えるベンダーがある。ハイパートランスポートの開発者はプロセッサーの利用効率モデルを使って設計しているからだ。

コヒーレンシーの維持が重要


 パラレル方式(並列処理方式)では、複数のプロセッサーを等しい関係に位置付けて全体の処理を実行する。シリアル方式では、データ・パスは固定された単一のパスだった。一方、パラレル方式の場合は、各プロセッサーの使用状態に依存してデータ・パスが変化する。データの受け渡しにはメッセージ・パッシング・モデルを使う。
 対称型マルチプロセシングのような複雑なパラレル方式になると、複数のプロセッサーが同じデータを同時に使用することがある。この場合は、コヒーレンシー・モデルをサポートする必要がある。データ・コヒーレンシーとはデータの同一性が保たれていることだ。あるプロセッサーが使用中のデータを、別のプロセッサーが変更したとする。2つのプロセッサーの処理結果を照合すると、結果は矛盾する。この場合、コヒーレンシーは破られたことになる。
 データのコヒーレンシーを保つことは簡単ではない。どのプロセッサーがデータを保有しており、データの直近の値がどこに存在しているかを知っておく必要がある。データが共有メモリーにあるのか、各プロセッサー内部のメモリーにあるのか、キャッシュ・メモリーにあるのかといった情報を常に把握していなければならない。例えばプロセッサーがキャッシュ・メモリーのデータを変更したとする。このとき、変更されたデータはメイン・メモリーにまだ書き戻していない状態だということを知っておく必要がある。
 メッセージ・パッシング・モデルは例えば、ラピッドIOが採用している。このモデルでは、各プロセッサーはお互いを認識していない。さまざまな「プッシュ・モデル」のどれかを用いてデータを交換する。
 例えばプロセッサーBがプロセッサーAにデータ付きメッセージを送るとする。送信にはメール・ボックスあるいはDMA*を利用する。プロセッサーBはデータ付きメッセージの送信に続き、データの送信が完了し、データがプロセッサーAで利用可能になり、データの所有権がプロセッサーAに渡ったことを示すメッセージをプロセッサーAに送る。
 メッセージ・パッシングでは、データの所有者にコヒーレンシーを確保する義務を負わせる。共有データに変更があったときは、データの所有者が周囲に変更を通知しなければならない。例えば共有アドレス空間で作業する場合は、ラピッドIOのプロトコルのほかに、アドレス空間を管理するソフトウエアあるいはハードウエアが必要になる。このソフトあるいはハードは、メモリーのロック(書き込み禁止)といった機能を担う。
 米アドバンスド・マイクロ・デバイセズ(AMD)社*の64ビット・マイクロプロセッサー「Opteron(オプテロン)」は、3本のハイパートランスポート・インターフェースを介してリンク・ベースでお互いを接続できるようになっている。これにより、グローバル共有メモリーを備える対称型のマルチプロセシングが可能になる。このアーキテクチャーはほかのマイクロプロセッサーにも採用されている。
 グローバル共有メモリーにおいては、メモリーの論理アドレス空間は複数のプロセッサーと外部メモリーにまで広がる。対称型マルチプロセシングは、プロセッサーの小さなクラスターを必要とするアプリケーションに適している。クラスターを構成する各プロセッサーは、密接に協調して作業を実行する。なおOpteronの場合は4個のプロセッサーによるクラスターが最適である。より多くのプロセッサーを必要とするアプリケーションでは、複数のコヒーレントなクラスターを別々に動かして処理を実行できる。
 x86アーキテクチャーのプロセッサーがこれまで採用していたのは、フロント・サイド・バス・アーキテクチャーである。フロント・サイド・バスを使い、プロセッサーBの外部メモリーにプロセッサーAがアクセスする場合を考える。このトランザクションは、いろいろな理由で遅れかねない。無関係な別のトランザクションをプロセッサーAあるいはプロセッサーBが実行中の場合は、競合が発生する。外部メモリーのデータをアクセス中だったり、外部メモリーのデータを訂正中だったりすることもある。またデータを転送するために、プロセッサーBが実行サイクルを消費しなければならないかもしれない。
 そこでOpteronでは別の接続方法として、専用のポイント・ツー・ポイント相互接続によるリンク・ベースのアプローチを採用した。Opteronのリンクは双方向であり、800MHzで動作する。従ってプロセッサーAとプロセッサーBがデータを交換するときに競合は発生しない。ここではレイテンシーが極めて重要である。プロセッサーAは、必要なデータがどこにあるかを把握していないからだ。データの取得にかかる時間が長くなればなるほど、プロセッサーの待ち時間が長くなる。
 AMD社によれば、バスの競合は重大なボトルネックとなる。バス競合が発生すると、4プロセッサー・システムの処理性能が最大でも1プロセッサーの2.5倍に制限されてしまうという。また入出力とデータの管理は、プロセッサーの計算処理能力を低下させることになる。同社は、ポイント・ツー・ポイントのリンク・ベース・アプローチを使うと、1プロセッサーに比べて3倍を超える処理性能が得られると主張する。
 2個のOpteronプロセッサーで構成したシステムの場合、各プロセッサーが1本ずつのハイパートランスポート・バスを使って相互接続し、残りの4本のハイパートランスポート・バスを入出力との接続に利用できる。この構成だと、プロセッサーAがプロセッサーBのハイパートランスポート接続された入出力にアクセスするとき、プロセッサーBのどのサイクルも消費せずに済む。内部のトラフィック・マネジャーがこの動作を可能にする。プロセッサーAとプロセッサーBが同じ入出力にアクセスしようとしたときも、トラフィック・マネジャーが接続を制御する。
 現在のところ、ハイパートランスポートの仕様はメモリーのコヒーレンシーに対応していない。AMD社はキャッシュ・コヒーレンシーを含めた独自の方式を開発し、他社にライセンス供給している。プロセッサーAがキャッシュ・メモリーのデータを使用したい場合、プロセッサーAはすべてのプロセッサーに「プローブ(probe)」と呼ぶ信号を送る。データがプロセッサーAのキャッシュにある場合はそのデータを使用する。データが別のプロセッサー(プロセッサーC)のキャッシュに存在していた場合は、プロセッサーCがデータとその所有権をプロセッサーAに渡す。プロセッサーCからプロセッサーAへのデータ転送に要する時間は、プロセッサーAがキャッシュにヒットする時間より長いものの、キャッシュ・ミスのときに要する時間よりは短い。すなわち4個のプロセッサーで構成したシステムは、キャッシュの容量が通常の4倍になった状態に近い。
 AMD社がリンク・ベース・アーキテクチャー用インターフェースにPCIエキスプレスではなくハイパートランスポートを選んだのは、開発当時に利用可能だったのがハイパートランスポートであるからだと述べている。ハイパートランスポートとPCIエキスプレスは明らかによく似ており、同社がOpteronの開発を現在から始めたのであれば、結果は違っていたかもしれない。PCIエキスプレスの普及を推進しているベンダーは、PCIエキスプレスはパソコン市場で主流を占めると主張している。にもかかわらず、結果としてPCIエキスプレスよりも先にハイパートランスポートがパソコン市場への確かな足掛かりを築いたことになる。

接続技術の適用範囲を広げる

 さまざまな相互接続技術が市場で競争するときの重要なカギに、インターフェースの均質性がある。システムによっては、マルチプロセッサーを構成する個々のプロセッサーがバックプレーンを介して接続されることすらあるからだ。同じライン・カードに100個ものプロセッサーを搭載できないことは誰でも理解できる。同じ相互接続技術を使うことによってブリッジがなくなり、ブリッジ用のチップ・コスト、ブリッジによるレイテンシーも消滅する。
 均質性を推し進めようとする動きはそれほど強くない。PCIエキスプレスはプロセッサー・バスではなく入出力バスだという意見もある。シリアル方式のラピッドIOはバックプレーン用だと考える向きもある。ハイパートランスポートの開発者は、ハイパートランスポートが最も効率的なチップ間相互接続技術だと主張する。しかし標準規格の策定者は、これらの技術すべてを含む適用範囲の広い規格にすることが適切だと判断したようだ(図1)
 同じプロトコル・ドメインの中ですべてのデータを処理できることは大変望ましい。ブリッジの存在はクロック・ドメインの移行、さまざまな論理プロトコルへのカプセル化、そしてFPGAあるいはブリッジ・チップの追加を必要とする。また例えばPCIエキスプレスを介することによって、ハイパートランスポートやラピッドIOのインターフェース・メカニズムが正常に動作しなくなる恐れがある。
 同じインターフェース技術であっても、常に均質性が保たれるわけではない。データの幅やクロック周波数が異なる2本のラピッドIOバスを接続するためには、ブリッジが必要である。ハイパートランスポートは複数のスイッチを必要とするので、ボードにスイッチLSIを搭載しなければならない。2個のプロセッサー間を接続するPCIエキスプレスの仕様が、バックプレーン用のPCIエキスプレスと同じでよいのかという議論もある。いずれにせよ、現在存在している相互接続方式のどれかが突然消滅するということはない。
 すでにいろいろな変化が起こっている。ハイパートランスポートはバックプレーンへの適用をあきらめた。ラピッドIOはバックプレーン向けに、パラレル方式をやめてシリアル方式を売り込もうとしている。PCIエキスプレス陣営は、バックプレーンでの相互接続には新たに、「Advanced Switching(アドバンスド・スイッチング)」という方式を導入すると表明している。アドバンスド・スイッチングはPCIを基にした技術ではない。ラピッドIOおよびハイパートランスポートよりも、バックプレーンに適している。
 SPI 4.2ではっきりしているように、汎用的な相互接続は、専用の相互接続に性能ではかなわない。汎用的な相互接続は、数多くの用途に適用する大量生産品ではコストを低減できるものの、性能は犠牲にせざるを得ない場合がある。最先端技術による製品と汎用技術による製品の違いに近い。すべての機器が高いデータ転送速度のシリアル接続を要求するわけではない。ビット幅の広いパラレル・バスの方がレイテンシーが短いこともある。
 これらの相互接続技術は、依然として多くの重要な課題を抱えている。例えばコヒーレンシーである。多くの用途で、これらの相互接続技術は専用設計に対する代替の標準技術としての地位を確立しつつある。
 米インテル社や米モトローラ社、AMD社といった企業がどのような技術仕様を提案してくるかに注目が集まる。1つの手法はこれまでの相互接続技術を取り込んだ包括的な技術仕様を作成することだろう。例えば、ハイパートランスポートとSPI 4.2の両方を電気的および論理的にサポートする。このような半導体IPを購入できるようになるだろう。

用語解説 / 会社情報
【ハイパートランスポート】
HyperTransport
ボードに搭載したLSI間を高速で接続するバス技術。ポイント・ツー・ポイント接続のリンク構造を採る。米AMD社が開発した。詳細のホームページ・アドレスは下記の通り。
http://www.hypertransport.org/
▲本文へ戻る
【PCIエキスプレス】
PCI Express
次世代のパソコン用入出力インターフェース技術。もともとの名称は3GIO。LSIチップ間およびボード間、スイッチド・ファブリック間の接続に向けた。現行のPCIバスとはソフトウエアの互換性がある。データ転送速度は2.5Gビット/秒。PCIエキスプレスに関する詳細は下記ホームページで閲覧できる。
http://www.pcisig.com/specifications/pciexpress/
▲本文へ戻る
【ラピッドIO】
RapidIO
スイッチド・ファブリック技術を元にした高速インターフェース技術。詳細のホームページ・アドレスは下記の通り。
http://www.rapidio.org/
▲本文へ戻る
【SPI 4.2】
System Packet Interface Level 4 Phase 2
ネットワーク機器内のチップ間接続に使われる高速バス・インターフェース。データ転送速度は10Gビット/秒(16ビット幅)。
▲本文へ戻る
【QOS】
quality of service
通信の目的に応じて最適な帯域を割り当て、求められる応答時間やスループットなどを確保すること。
▲本文へ戻る
【DMA】
Direct Memory Access
▲本文へ戻る
【米アドバンスド・マイクロ・デバイセズ(AMD)社】
Advanced Micro Devices, Inc.
同社のホームページ・アドレスは下記の通り。
http://www.amd.com/
国内連絡先は日本エイ・エム・ディ(AMD)。同社のホームページ・アドレスは下記の通り。
http://www.amd.com/jp-ja/
▲本文へ戻る
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
Reed Electronics Group
Electronic BUSINESS Japan | Design News Japan | Semiconductor INTERNATIONAL | DETAIL JAPAN
EDN Japanについて | 広告掲載について | サイトマップ | お問合せ
 Copyright (C) 2000-2007 Reed Business Information Japan K.K. 
個人情報に関する方針 | 著作権・リンクについて | 会社情報