Versal デバイスのアーキテクチャには、すべてのシステム リソースのパワーアップ、パワーダウン、および監視を制御する専用のプラットフォーム管理コントローラー (PMC) ユニットがあります。複数のプロセッサを統合したヘテロジニアス システムのプラットフォーム管理に最適な機能を備えたシステムには、大きなメリットがあります。その一方で、システムの動作は非常に複雑になります。プラットフォーム管理フレームワークはこの複雑さを抽象化し、ユーザーが消費電力バジェットの目標を満たし、リソースを効率よく管理する上で必要な API のみを提供します。
PLM に渡される CDO に基づいて、PLM はリソースのトポロジを構築してプラットフォーム管理フレームワークに追加します。プラットフォーム管理フレームワークは電源ドメイン、電源アイランド、クロック、リセット、ピンなどのリソース、およびこれらリソースと CPU コア、メモリ、およびペリフェラル デバイスとの関係を管理します。
Versal デバイスのプラットフォーム管理フレームワークは、EEMI の実装をベースにしています (詳細は、 『Embedded Energy Management Interface: EEMI API リファレンス ガイド』 (UG1200) 参照)。プロセッシング ユニットが PLM にメッセージを送信するための API や、PLM がプロセッシング ユニットにメッセージを送信するためのコールバック関数があります。
EEMI が提供する共通の API を使用して、すべてのソフトウェア コンポーネントがコアやペリフェラルを管理できます。電力管理に関しては、複雑なプロセッサ クラスターや単一コアをサスペンドするなどのハイレベルな管理目標を EEMI で指定できます。この基本アーキテクチャでは、最適な省電力アプローチをユーザーが簡単に実装できるようになります。
Linux デバイス ツリーは、各デバイスに共通する記述フォーマットと電力特性を提供します。また、Linux は CPU およびクロック周波数スケーリングや CPU ホットプラグなどの基本的な電力管理機能も提供します。カーネルは、実装された API を利用して電力管理を実行します。
24 以上の API にアクセス可能な XilPM クライアント ライブラリを使用して、独自のプラットフォーム管理アプリケーションを作成することも可能です。API は、次のような機能に分類されます。
- メモリやペリフェラルなどのセカンダリ デバイスの電力管理
- クロック管理
- リセット管理
- ピン管理
- その他
次の図に、API ベースのプラットフォーム管理ソフトウェア アーキテクチャを示します。