マルチプロセッサで実現したH.264ビデオ・デコーダ ――コンフィギャラブル・プロセッサのユーザ定義命令とオンチップ・バスを活用
● ユーザ拡張命令で必要な処理性能を得る
開発にあたり,筆者らは消費電力やコストの観点からハードウェアの設計目標を定めました(図9).このハードウェアの設計目標の範囲内で,ハードウェアを最適に構成できるわけです.機能分割やデータ共有など,ソフトウェア・アーキテクチャを設計した後は,個々のソフトウェア開発を独立して行えます.プロセッサに必要な演算能力は,ユーザ拡張命令を用いて得ることができますし,演算に必要とする最適なメモリを構成することができます.
- 物理的設計目標
サイズ:10.5mm2以下(0.13μm CMOSプロセス)
クロック周波数:200MHz 以下
(消費電力などの目標から設定) - 機能(スペック)目標
マルチスタンダード(H.264,MPEG-2/4,VC1)
SDTVレベルの解像度,フレーム・レート(PAL,NTSC) - ハード・ワイヤード論理を最小にする
完全ソフトウェア・デコード
図9 設計目標
消費電力,コストの観点から設計目標を定めた.
各プロセッサの構成を図10に示します.ユーザ拡張命令の例として,ここではH.264のデブロッキング・フィルタなどに必要な演算命令(Pixel Engine)と算術符号(CABAC)の復号に必要な命令を示します.
図10 プロセッサの構成
ここではH.264のデブロッキング・フィルタなどに必要な演算命令(Pixel Engine)と算術符号(CABAC)の復号に必要な命令を示す.