マルチプロセッサLSIに適したオンチップ・ネットワーク ――ダイレクト・データフロー・インターコネクト
● バス幅の増加やバスの多重化における設計制約
システムLSIにおいても,8080,8086,68000などのプロセッサと同様にバス(例えばAMBA)が主流になっているのはなぜでしょうか.システムLSIではネットワークがチップ内に組み込まれます.ピン数の制約はあまり受けないはずです.汎用CPU(マイクロプロセッサ)では1,024ビット幅の外部バスを定義することは,ピン数の点から非現実的です.しかし,チップ内のCPUコアであれば十分可能だといえます.
例えば,ARM社が2003年6月に発表したAMBA 3.0では,1,024ビットまでのデータ幅をサポートするバス仕様「AXI(Advanced eXtensibles Interface)」が新しく追加されました.AMBA 3.0ではプロセッサ・インターフェースとシステム・ネットワークを区別していますが(AXIはプロセッサ・インターフェースの仕様),この点が従来のAMBAバスと比較した場合の大きな相違点です.
Tensilica社のXtensa LXでは,最大128ビット幅で完全2重のプロセッサ・インターフェースを定義しています.例えば200MHzのクロックで理論上の最大データ・レートは6.4Gバイト/sです.キャッシュ以外のメモリにはDMAによってデータとプログラムを独立して転送できるので,理論上の最大データ・レートは12.8Gバイト/sともいえます.
しかし,システム全体で考えると,これだけのデータ・レートを実現することはやさしくはありません.共有メモリからくる制限,システム・バスのクロックの制限(バスの負荷が大きくなるとクロックを下げる必要がある.またはバッファを挿入するためにアクセス遅延が増える),バス幅を増やすことに伴うレイアウト上の制限といった数々の問題があります.また,バス・アクセスの調停(アービタ)に伴うオーバヘッドも見過ごすことはできません.