マルチプロセッサLSIに適したオンチップ・ネットワーク ――ダイレクト・データフロー・インターコネクト

東原朋成

tag: 組み込み

技術解説 2005年8月15日

2. ダイレクト・データフロー・インターコネクト

 従来のバス・システムにおける問題を解決する一つの手法として,Xtensa LXでは「TIEポート」と呼ぶ新しいインターコネクトをシステム設計者が定義できるしくみを導入しました.TIEポートはダイレクト・データフロー・インターコネクトとも呼べる技術です.プロセッサ間のデータをやり取りする際に,従来のプロセッサ・インターフェースの機構(バス)をバイパスします.

 図3のように4タイプのTIEポートがあります.各ポートは,データ幅に上限はあるものの自由に定義できます.例えば9ビット幅のTIEポートも定義できます.1バイトを最小単位とする従来のプロセッサ・インターフェースとはかなり様子が異なります.

 Queueタイプ(queue in,queue out)は,FIFOなどのようなキュー構造のバッファとインターフェースをとります.キューの状態を知らせる入力(full,empty)やキュー・アクセスを知らせる出力(push,pop)の信号が自動的に生成されます.

 state exportは,ユーザが定義したXtensa LXプロセッサのステート・レジスタの内容をプロセッサ外部に出力したものです.これを使って,例えばハードウェア・モジュールやほかのXtensa LXプロセッサを直接制御できます.

 import wireは,プロセッサ内部に外部の状態を取り込む入り口を提供します.例えばハードウェア・モジュールがプロセッサに割り込みをかけたとき,割り込みルーチンではimport wireを介してハードウェアの状態を直接読み込めます.

 TIEポートを用いると,多少の制限はあるものの,システムに応じて必要なタイプやデータ幅をかなり自由に設計できます.図4に二つのキュー入力を定義した例を示します.各タイプのポートを複数定義することはもちろん可能です.従来のプロセッサ・インターフェースの場合,(コンフィギャラブルなプロセッサ・コアでさえも)自由度は限られています.

f03_01.gif
図3 TIEポート(ダイレクト・データフロー・インターコネクト)
TIEポートは,システム設計者が定義できるプロセッサI/Oインターフェースである.データ幅や入出力の方向,タイプ(Queueタイプなど)を設定できる.また,それぞれのタイプのポートを複数定義することができる.TIEポートを扱う命令語もシステム設計者が定義できる.Queueタイプのインターフェースでは,Queueを制御する出力(push:queue out,pop:queue in),およびQueueの状態(full: queue out,empty:queue in)が自動的に定義される.

f04_01.gif

f04_02.gif
図4 TIEポートを用いたユーザが定義した命令語の例
2入力のキューを読み込んで積をとる.Priorityが"H"の場合は演算結果の上位16ビットを,そうでない場合は下位16ビットを出力する.queueMULは命令語としてプログラムで使用できる.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日