マルチプロセッサで実現したH.264ビデオ・デコーダ ――コンフィギャラブル・プロセッサのユーザ定義命令とオンチップ・バスを活用

東原朋成

tag: 組み込み

技術解説 2006年8月31日

●○● Column ●○●
Xtensaプロセッサによる開発

 Tensilica社のXtensaは,ユーザが開発するシステムに最適化できるコンフィギャラブル・プロセッサ・コアです.DSP的にプロセッサを拡張することもできますし,Linuxなどを搭載するシステム・コントローラとしてコンフィグレーションすることもできます.最新のXtensa LXでは,VLIWライクな拡張命令(FLIX),TIEキュー,TIEポートなどをサポートしています.

● 開発環境

 Xtensaベースの開発では,統合開発環境(IDE)Xtensa Xplorerを使用します.開発エンジニアはTIE拡張命令の開発,アプリケーション・ソフトウェアの開発,デバッグ,実機システム(エミュレーション・ボード)を用いたデバッグなどは,IDEを用いて行います(図B-1)

zuB1_01.jpg
図B-1 統合開発環境(IDE)Xtensa Xplorer

 マルチコア・システムのモデリングには,XTMP(Xtensa Mode-ling Protocol)を使用します.このXTMPはSystemCベースのモデルともインターフェースできます.

 筆者らが設計したビデオ・システムでは,Xtensa Xplorer上でマルチプロセッサ・モデルを開発しました.デコーダ・ソフトウェアを開発するエンジニアは,このモデル上でプログラムを実行することで動作検証(アウトプットの正しさとリアルタイム性の確認)を行い,その後,最終検証としてRTLシミュレーションを実施しました.XTMPは完全なCモデルなので,使用にあたってSystemCの知識は必要ありません.

 コンフィギャラブル・プロセッサ・ベースのマルチコアLSIの開発では,複数のプロセッサ・コアはまったく異なる拡張,コンフィグレーションになるかもしれません(つまりヘテロジニアスなマルチプロセッサ).しかし開発ツールが統一されていれば,異なるベンダの環境を統合するといった手間はなくなります.XTMPなどを用いてマルチプロセッサを取り扱うソフトウェア・モデルを構築すれば,実機システムの挙動をソフトウェア・モデル上の挙動と比較することも可能です.このヘテロジニアスなマルチプロセッサ・システムをホモジニアスな開発環境で設計できることはXtensaプロセッサの特徴といえます.

● TIEキューとTIEポート

 筆者は本誌2005年6月号において,設計者が自由に定義できる新しいタイプのインターフェース(TIEポート,TIEキュー)について解説しました(1).TIEポートとTIEキューは,プロセッサ間,プロセッサとハード・ワイヤード論理のブロック間を直接接続でき,共有ネットワーク(バス,リング,メッシュなど)を補完するものです.共有ネットワークと1対1のネットワークを組み合わせることで,満たさなくてはならない設計条件(総データ量とデータ遅延)を現実的に解決することができます.

 Xtensaのプロセッサ・インターフェース(PIF)とTIEキュー,TIEポートを活用して有機的にネットワークを構成した例を図B-2に示します.

zuB2_01.gif

図B-2 TIEキューとTIEポートによるネットワーク例
Xtensa間およびXtensaとハードウェア・モジュールの間をPIF,TIEキュー,TIEポートを使って接続している.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日