組み込みプロセッサの最新動向 ――ヘテロジニアスなマルチプロセッサ構成が主流に
●今後が期待される「コンフィギャラブル」
現在でも,何をハードウェアで実現し,何をソフトウェアで実現するかという「分割(パーティショニング)」が重要な設計のトレードオフ項目になっています.ソフトウェアで実現していたCODEC処理を高速化するために,ちょっとしたアクセラレータをHDLで記述するといった作業が普通のことになりつつあります.この面での大きな動きは,コンフィギャラブル・プロセッサと,ダイナミック・リコンフィギャラブル・プロセッサの台頭です(表2).
設計時に静的に構成(コンフィグレーション)をカスタマイズするコンフィギャラブル・プロセッサ(図5)は,システムLSIとHDL設計の落とし子とも言えます.米国Tensilica社や英国ARC International社など,すでにビジネスとして成功した会社が現れ,MIPS Technologies社のような老舗も参入しています.応用範囲が広がり,実績も積み上がりつつあります.
特に注目するべきは,その設計支援技術です.コンフィギャラブル技術はアプリケーションからいかに自動的にハードウェアとソフトウェアを生成するかという点を追求してきています.今のところ,すべてのアプリケーションに対応できるようなレベルにあるとは言いにくい状況ですが,分野によってはすぐに主流の技術になるでしょう.さらに今後のディジタル・システムの設計支援技術の中心になっていく可能性も十分にあります.
コンフィギャラブル・プロセッサ | ダイナミック・リコンフィ ギャラブル・プロセッサ | 一般的な汎用プロセッサIPコア | ||
コンフィグ レーション 対象 | レジスタ本数など,コア・ プロセッサ・アーキテク チャに関する部分 | 可能 | 可能(そもそもコア・プロセ ッサという概念がない) | 一般のライセンスでは,通常は不可能 (IPベンダによる) |
命令セットの拡張 | 可能 | 可能(そもそも命令セットと いう概念がない場合もある) | コプロセッサなどとして,コア外部の拡 張を認めるベンダもある | |
キャッシュ・サイズ,バ ス幅など,実装依存部分 | 可能 | 可能 | 可能なケースもあるが,不可能な場合も 多い | |
コンフィグレーションのタイミング | 設計時に行う.製造後の変更は不可能 | 実行時に行う | 設計時に行う.製造後の変更は不可能 | |
コンフィグレーション方法 | ベンダ提供のツールによりHDLなど を生成,これを合成して作成する | 電子的情報によるスイッチな どの設定変更 | 手作業によるHDLコード,もしくはゲー ト・レベル・ネットリストなどの修正 | |
コンフィグレーションに対応した開発ツールの作成 | ベンダ提供のツールにより自動生成 | ベンダによ | 通常は手作業による | |
ソフトウェアの再利用性 | オブジェクト・コード・レベルの再利 用性は低いが,高位記述による流通 性確保の動きもある | アプリケーションごとの一品 料理になりがち | コア・プロセッサのアーキテクチャが固 定なので,再利用性は高い.オブジェク ト・コード・レベルで再利用が可能 |
コア・プロセッサに拡張命令セットや部品を追加して,独自のプロセッサを構成できる.構成されたプロセッサ専用のソフトウェア開発ツールも自動生成できる.