コンテンツへスキップ

NPTおよびRVI

アーキテクチャリファレンスFeex

NPT / RVIとも呼ばれる

NPT(Nested Page Tables)は、Rapid Virtualization Indexing(RVI)とも関連付けられる、AMDの第2段階ゲストメモリ変換機能です。用途としてはIntel EPTのAMD版に相当します。

確認しておくべき要点

NPT(Nested Page Tables)は、Rapid Virtualization Indexing(RVI)とも関連付けられる、AMDの第2段階ゲストメモリ変換機能です。用途としてはIntel EPTのAMD版に相当します。

仕組み

ゲストページテーブルは、まずゲスト仮想アドレスをゲスト物理アドレスに変換します。ハイパーバイザーによって制御されるネステッドページテーブルは、ゲスト物理アドレスをシステム物理アドレスに変換します。両方の変換段階とその権限がメモリアクセスに関与し、定義されたフォルトおよび無効化動作を伴います。

有用な場面

ホストがゲストメモリをマシンの実際の物理ページにマッピングする間、VMは自身のアドレス空間を管理できます。ハイパーバイザーは、ネステッドページングを固定的な静的ルックアップとして扱うのではなく、マッピングの変更や変換キャッシュを正しく処理する必要があります。

サポートと有効化の確認方法

拡張リーフ範囲とSVMサポートを確認した後、ネステッドページング用のAMD SVM機能リーフを列挙してください。ハイパーバイザーが、ネステッドゲストの要件を含め、目的の構成を実際に有効化およびサポートしていることを確認してください。

仮想化された展開には複数のレイヤーが存在します。物理機能、ファームウェアの許可、アクティブなホストハイパーバイザー、公開されたゲスト機能、およびゲストOSのサポートです。関連する場合はネステッド仮想化を含め、操作が実際に実行されるレイヤーを確認してください。

この機能が確立しない事項

NPTは、IOMMUデバイスの分離、SEV、またはすべてのラージページやネステッド仮想化オプションを意味するものではありません。RVIはアプリケーションが有効化する追加の命令ではありません。変換オーバーヘッドの削減は、普遍的なパフォーマンス乗数ではなくワークロードに依存します。

実際の互換性とパフォーマンス

CPU実行、ゲストメモリ変換、およびデバイスDMA再マッピングは別々の機能です。単一の仮想化フィールドからパススルーや分離を推測しないでください。ハイパーバイザーのサポートされている診断機能と、正確なプラットフォーム/デバイス要件を使用してください。

実践的な検証チェックリスト

  1. 関係する正確なプロセッサまたはプラットフォームのモデル、ならびにアプリケーション、OS、ランタイムのバージョンを記録してください。実際のエラーや要件の文言をそのまま保持してください。
  2. その正確なモデルの製造元リファレンスを確認し、プログラムが実行される環境で実効的な機能と有効化状態を検査してください。
  3. 選択したバイナリまたはバックエンドのすべての要件を比較してください。類似した名前の機能、エイリアス、または広範な技術表記だけでは不十分です。
  4. アプリケーションが意図した実装を選択したことを確認してください。要件が満たされていない場合は、文書化された診断機能とサポートされているフォールバックを使用してください。
  5. 一度に1つのサポート対象の変更のみを行い、同じワークロードを繰り返してください。元の構成と復旧手順を常に利用可能な状態にしておいてください。

機能が記載されているにもかかわらずソフトウェアで使用できない場合

正確にどのコンポーネントが失敗しているかから調査を開始してください。ハードウェアデータベースに記載されているのは記録された機能です。オペレーティングシステムまたはハイパーバイザーは、異なる実効環境を公開することがあります。破損や無関係な未サポート命令でも同様の症状が発生する可能性があるため、不正命令エラーの場合も実際にフォールトの原因となった命令とバイナリビルドの調査が必要です。

正確なプラットフォーム向けにサポートされているアプリケーション、ドライバ、またはランタイムのバージョンをインストールし、必要に応じてベンダーが文書化しているベースラインまたはフォールバックビルドを使用してください。ソフトウェアアップデートによってプロセッサに欠落している命令を作り出すことはできません。ファームウェアおよびセキュリティポリシーの変更は、一般的な最適化レシピではなく、システム製造元の手順と復旧計画に従う必要があります。

本説明のソースと対象範囲

AMD CPUID Specification、パブリケーション 25481 · AMD64 Architecture Programmer's Manual, Volume 2: System Programming

これらのリファレンスは、アーキテクチャの動作およびソフトウェア要件を規定しています。リンクされたハードウェアモデルページのすべての機能値を個別に検証するものではありません。モデルのサポート状況については、そのページの製造元エビデンスを使用し、実際の実効システム構成を確認してください。この記事はベンチマーク、認定、または独立したレビュー日を提供するものではありません。

出典と検証

エディトリアル所有権: Feex。独立したレビュー日は記録されていません。 調査方法.

  • AMD CPUID Specification、パブリケーション 25481 · 確立されたAMD CPUID機能およびビット定義に関するアーカイブ版アーキテクチャリファレンス。それ以降の世代固有の拡張機能については、現行のプロセッサプログラミングリファレンスを使用してください。
  • AMD64 Architecture Programmer's Manual, Volume 2: System Programming · システムプログラミング、SVM、およびネストされた変換、リビジョン3.46。現在のドキュメントビューアにはJavaScriptが必要です。古いドキュメントのURLは廃止されている可能性があります。

この記事は役に立ちましたか?

「はい」または「いいえ」を選択するだけで完了します。必要に応じて理由を選択するか、簡単なメモを追加してください。

この記事は役に立ちましたか?