マルチプロセッサLSIに適したオンチップ・ネットワーク ――ダイレクト・データフロー・インターコネクト
● マルチマスタの動作をシンプルに実現
TIEポートのような直接的な(密結合と言ってよいかもしれない)インターフェースは,使いかたが特殊と感じるかもしれません.マルチプロセッサのシステムLSIは珍しくありませんが,二つ以上のマスタがデータを共有したり,一つのハードウェア・モジュールが二つのマスタによって制御されるといったシステムはあまりみかけません.制御が複雑になりすぎて,設計や検証が非常に困難になる場合が多いからです.
ここで,二つのプロセッサがデータを共有するケースを考えてみます.小さな作業メモリをオンチップ上に持つとします.そしてこのメモリにはプロセッサ1が書き込み,それをプロセッサ2が読み出します.同期にはセマフォ・フラグを使います.このシステムでは通常,バス上においてお互いのプロセッサがセマフォを監視しながらデータの受け渡しを行うので,必然的にバス・アクセスが増大します.ところが,この作業メモリが二つのプロセッサでのみ共有されるのならば,システム・バスを介する必要はありません.そこでデータのやりとりをローカルで実行できるように,階層構造を持ったネットワークを設計することがあります.しかし,アドレス・デコードと比べると複雑な論理を設計する必要があります.
一方,共有データをTIEポートを介してやり取りすれば複雑なネットワーク構造をとる必要がありません.QueueタイプのTIEポートは同期機構を有するのでセマフォを介する同期も不要になります.