紹介したかなり幅広いハードウェアレベルの代替手段は、AMPの大きな利点を物語っています。それは、システム内の最も要求の厳しい各タスクに合わせてハードウェアやOS環境をカスタマイズできることです。その一方で、AMP最大のリスクも示しています。それは、注意しないとシステム内全ての重要なタスクが異なる実行/通信/デバッグ環境や異なるメモリモデルに直面する恐れがあることです。
そこで役立つのがOpenAMPのような標準です。また、エンベデッドハイパーバイザーも同様に役立ちます。
「ハイパーバイザーとは、仮想マシンをスケジューリングし、仮想マシン同士が相互に通信できるようにするRTOSと考えることです」と前出のChabroux氏は助言します。ハイパーバイザーは、MMUのセットアップだけでなく、適切なコードを適切なプロセッサにバインドする、仮想メモリ、デバイス、ネットワーク接続を作成する、FPGA内のソフトウェアプロセッサをインスタンス化する、さらにはタスク間通信のための統一的な手段を提供することも可能です。
これらのサービスにより、各ワークロードを望ましい仮想システムで処理できるように、AMPシステムをソフトウェア定義にすることが可能ですが、その一方で代償もあります。
ハイパーバイザーは、CPUサイクル、メモリ、電力を消費する他、割り込み応答時間などのクリティカルパスにレイテンシを追加する可能性があります。そして、Chabroux氏が指摘するように、ソフトウェアの急激な複雑化を回避するには、ハイパーバイザーに対するハードウェアサポートが必要です。
CPUによるマルチスレッディング、FPGAによるライブパーシャルリコンフィギュラビリティ、DRAMコントローラーおよびバスコントローラー、さらにはDMAコントローラーによる複数のアクティブチャネルをサポートするためのレジスタは、いずれもソフトウェアの複雑性の大幅な低減やハイパーバイザーのレイテンシ短縮につながります。
ハイパーバイザーを使用するかどうかはともかく、AMPはシステム要件を満たすための最善の手段となり得ます。しかし、組み立て式家具メーカーの担当者が言いそうなことですが、やはり「ある程度の組み立てが必要」であることが大きな問題です。
Copyright © ITmedia, Inc. All Rights Reserved.