【手続補正書】
【提出日】平成24年12月5日(2012.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
命令モードと、コンテキストディスクリプタおよび拡張ページテーブルポインタ（ＥＰＴポインタ）のいずれかとを特定する命令をデコードするデコードロジックと、
デコードされた前記命令に応答して、１以上のＴＬＢエントリをＥＰＴからの１つ以上の対応するマッピングに同期させる実行ロジックと、を備える
プロセッサ。
【請求項２】
前記命令は、第１の特定命令モードにおいて同期される仮想化に基づくシステムのゲストアドレスを特定する
請求項１に記載のプロセッサ。
【請求項３】
前記命令は、前記第１の特定命令モードにおいて、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからのゲスト物理アドレスの１以上の対応するマッピングに基づいて同期される前記ゲスト物理アドレスを特定する
請求項２に記載のプロセッサ。
【請求項４】
前記ＥＰＴからの対応するマッピングは、ゲストアドレスの１以上のＴＬＢ翻訳を仮想化に基づくシステムの対応するホスト物理アドレスに同期させるために用いる
請求項１から３のいずれか１項に記載のプロセッサ。
【請求項５】
前記実行ロジックは、マイクロコード命令に少なくとも部分的に基づいて、デコードされた前記命令に応答する
請求項１から４のいずれか１項に記載のプロセッサ。
【請求項６】
第２の特定命令モードにおいて、前記１以上のＴＬＢエントリは、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからの１以上の対応するマッピングに基づいて同期される
請求項１から５のいずれか１項に記載のプロセッサ。
【請求項７】
前記第２の特定命令モードにおいて、前記１以上のＴＬＢエントリは、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからのいずれかの対応するマッピングに基づいて同期される
請求項６に記載のプロセッサ。
【請求項８】
第３の特定命令モードにおいて、前記１以上のＴＬＢエントリは、前記ＥＰＴからのいずれかの対応するマッピングに基づいて同期される
請求項１から７のいずれか１項に記載のプロセッサ。
【請求項９】
前記実行ロジックは、デコードされた前記命令に応答して、前記１以上のＴＬＢエントリをフラッシングする
請求項１から８のいずれか１項に記載のプロセッサ。
【請求項１０】
前記命令により特定される前記命令モードは、
個別アドレスを同期する第１命令モード、
ＥＰＴコンテキストに対応して前記ＴＬＢエントリを同期する第２命令モード、および
いずれかのＥＰＴコンテキストから導出される前記ＴＬＢエントリを同期する第３命令モードのいずれか１つである
請求項１から９のいずれか１項に記載のプロセッサ。
【請求項１１】
命令モードと、コンテキストディスクリプタおよび拡張ページテーブルポインタ（ＥＰＴポインタ）のいずれかとを特定する命令をデコードすることと、
デコードされた前記命令に応答して、１以上のＴＬＢエントリをＥＰＴからの１つ以上の対応するマッピングに同期させることとを含む
方法。
【請求項１２】
前記命令により特定される命令モードは、
個別アドレスを同期する第１命令モード、
ＥＰＴコンテキストに対応して前記ＴＬＢエントリを同期する第２命令モード、および
いずれかのＥＰＴコンテキストから導出される前記ＴＬＢエントリを同期する第３命令モードを含む複数の命令モードのいずれかである
請求項１１に記載の方法。
【請求項１３】
前記命令は、前記第１命令モードにおいて、同期される仮想化に基づくシステムのゲストアドレスを特定する
請求項１２に記載の方法。
【請求項１４】
前記命令は、前記第１命令モードにおいて、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからのゲスト物理アドレスの１以上の対応するマッピングに基づいて同期される前記ゲスト物理アドレスを特定する
請求項１２または１３に記載の方法。
【請求項１５】
前記１以上のＴＬＢエントリは、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからの１以上の対応するマッピングに基づいて同期される
請求項１２から１４のいずれか１項に記載の方法。
【請求項１６】
前記第２命令モードにおいて、前記１以上のＴＬＢエントリは、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからのいずれかの対応するマッピングに基づいて同期される
請求項１２から１５のいずれか１項に記載の方法。
【請求項１７】
第３命令モードにおいて、前記１以上のＴＬＢエントリは、前記ＥＰＴからのいずれかの対応するマッピングに基づいて同期される
請求項１２から１６のいずれか１項に記載の方法。
【請求項１８】
デコードされた前記命令に応答して、前記１以上のＴＬＢエントリをフラッシングすることをさらに含む
請求項１１から１７のいずれか１項に記載の方法。
【請求項１９】
命令モードと、コンテキストディスクリプタおよび拡張ページテーブルポインタ（ＥＰＴポインタ）のいずれかとを特定する命令を格納するメモリと、
１以上のＴＬＢエントリをＥＰＴからの１つ以上の対応するマッピングに同期させる前記命令を実行するプロセッサとを備える
システム。
【請求項２０】
前記命令により特定される命令モードは、
個別アドレスを同期する第１命令モード、
ＥＰＴコンテキストに対応して前記ＴＬＢエントリを同期する第２命令モード、および
いずれかのＥＰＴコンテキストから導出される前記ＴＬＢエントリを同期する第３命令モードを含むグループから選択される
請求項１９に記載のシステム。
【請求項２１】
前記命令は、前記第１命令モードにおいて、同期される仮想化に基づくシステムのゲストアドレスを特定する
請求項２０に記載のシステム。
【請求項２２】
前記命令は、前記第１命令モードにおいて、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからのゲスト物理アドレスの１以上の対応するマッピングに基づいて同期される前記ゲスト物理アドレスを特定する
請求項２０または２１に記載のシステム。
【請求項２３】
前記１以上のＴＬＢエントリは、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからの１以上の対応するマッピングに基づいて同期される
請求項１９から２２のいずれか１項に記載のシステム。
【請求項２４】
前記第２命令モードにおいて、前記１以上のＴＬＢエントリは、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからのいずれかの対応するマッピングに基づいて同期される
請求項２０から２２のいずれか１項に記載のシステム。
【請求項２５】
第３命令モードにおいて、前記１以上のＴＬＢエントリは、前記ＥＰＴからのいずれかの対応するマッピングに基づいて同期される
請求項２０から２２のいずれか１項に記載のシステム。
【請求項２６】
前記プロセッサは、前記命令に応答して、前記１以上のＴＬＢエントリをフラッシングする
請求項１９から２５のいずれか１項に記載のシステム。
【請求項２７】
同期命令を含むコンピュータ実行可能な命令を有するプログラムであって、前記命令はコンピュータに、
命令モードと、コンテキストディスクリプタおよび拡張ページテーブルポインタ（ＥＰＴポインタ）のいずれかとを特定する前記同期命令を読み取らせ、
前記同期命令に応答して、１以上のＴＬＢエントリをＥＰＴからの１つ以上の対応するマッピングに同期させる
プログラム。
【請求項２８】
前記同期命令により特定される命令モードは、
個別アドレスを同期する第１命令モード、
ＥＰＴコンテキストに対応して前記ＴＬＢエントリを同期する第２命令モード、および
いずれかのＥＰＴコンテキストから導出される前記ＴＬＢエントリを同期する第３命令モード
を含む複数の命令モードの一つである
請求項２７に記載のプログラム。
【請求項２９】
前記同期命令は、前記第１命令モードにおいて、同期される仮想化に基づくシステムのゲストアドレスを特定する
請求項２８に記載のプログラム。
【請求項３０】
前記同期命令は、前記第１命令モードにおいて、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからのゲスト物理アドレスの１以上の対応するマッピングに基づいて同期される前記ゲスト物理アドレスを特定する
請求項２８または２９に記載のプログラム。
【請求項３１】
前記１以上のＴＬＢエントリは、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからの１以上の対応するマッピングに基づいて同期される
請求項２７から３０のいずれか１項に記載のプログラム。
【請求項３２】
前記第２命令モードにおいて、前記１以上のＴＬＢエントリは、前記コンテキストディスクリプタまたは前記ＥＰＴポインタのいずれかにより参照される前記ＥＰＴからのいずれかの対応するマッピングに基づいて同期される
請求項２８から３０のいずれか１項に記載のプログラム。
【請求項３３】
第３命令モードにおいて、前記１以上のＴＬＢエントリは、前記ＥＰＴからのいずれかの対応するマッピングに基づいて同期される
請求項２８から３０および３２のいずれか１項に記載のプログラム。
【請求項３４】
同期される前記１以上のＴＬＢエントリをフラッシングする
請求項２７から３３のいずれか１項に記載のプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
多くの方法は、最も基本的な形式で記載されているが、請求項に記載された内容の基本的な範囲を逸脱せずに、いずれの方法に／から段階を加えても／削除してもよく、記載された内容のいずれに／から情報を付加しても／抜き取ることもできる。さらに多くの修正および改作がなされてもよいことは、当業者にとって明らかであろう。特定の実施形態は、請求項に記載された内容を制限するものではなく、例示に過ぎない。請求項に記載された内容の範囲は、上述の詳細な説明ではなく、添付の請求項によってのみ決定される。本発明の例を項目として以下に記載する。
［項目１］
仮想化に基づくシステムのプロセッサであって、
プロセッサバスと、
ゲストアドレスからホスト物理アドレスまでのマッピングを含む翻訳ルックアサイドバッファ（ＴＬＢ）を格納するバッファと、
命令を受信し、かつ、オペランドを受信するフェッチロジックと、
命令をデコードするデコードロジックと、
命令のデコードに少なくとも一部応答し、バッファに格納されたゲストアドレスからホスト物理アドレスまでのマッピングと、拡張ページングテーブル（ＥＰＴ）に少なくとも一部格納された、ゲスト物理アドレスに対応するホスト物理アドレスの翻訳を含む、対応するマッピングとの同期を実行する論理回路と、
を含み、
同期は、命令のオペランドに少なくとも一部さらに基づき、オペランドは、コンテキストディスクリプタおよびＥＰＴポインタの少なくとも１つをさらに備える、
プロセッサ。
［項目２］
論理回路は、複数のマイクロコード命令に少なくとも一部基づき動作する論理回路を含む、項目１に記載のプロセッサ。
［項目３］
ＥＰＴは、プロセッサにバスにより結合されたメモリに少なくとも一部格納される、項目１または項目２に記載のプロセッサ。
［項目４］
論理回路は、命令のオペランドから導かれるコンテキストディスクリプタに少なくとも一部基づき、ＥＰＴからマッピングをさらに選択する、項目１から項目３のいずれか1つに記載のプロセッサ。
［項目５］
論理回路は、コンテキストディスクリプタから導かれるＥＰＴポインタに少なくとも一部基づき、ＥＰＴからマッピングをさらに選択する、項目４に記載のプロセッサ。
［項目６］
論理回路は、命令のオペランドに少なくとも一部基づき、ゲストアドレスをさらに選択する、項目１から項目５のいずれか１つに記載のプロセッサ。
［項目７］
マッピングの同期は、ＥＰＴに格納されたマッピングに少なくとも一部基づきＴＬＢに格納されたマッピングをアップデートすることをさらに含み、
対応するマッピングは、ＴＬＢに格納されたマッピングと同じゲストアドレスをもつＥＰＴに格納されたマッピングをさらに含む、
項目１から項目６のいずれか１つに記載のプロセッサ。
［項目８］
マッピングの同期は、ＴＬＢに格納されたマッピングをフラッシングすることをさらに含む、項目１から項目７のいずれか１つに記載のプロセッサ。
［項目９］
論理回路は、命令のオペランドに少なくとも一部基づき命令の実行モードをさらに選択する、項目１から項目８のいずれか１つに記載のプロセッサ。
［項目１０］
フェッチロジックは、命令の第１のオペランドと、命令の第２のオペランドと、命令の第３のオペランドとをさらに受信し、
論理回路は、さらに、
命令の第１のオペランドから導かれたコンテキストディスクリプタに基づき、ＥＰＴに少なくとも一部格納されたマッピングを選択し、
命令の第２のオペランドに少なくとも一部基づきゲストアドレスを選択し、
命令の第３のオペランドに少なくとも一部基づき命令の実行モードを選択し、
命令の実行モードは、
ＴＬＢに格納されたゲストアドレスに関連する単一のマッピングのみがＥＰＴ内の対応するマッピングと同期する第１のモード、
ＴＬＢに格納され、かつ、コンテキストディスクリプタから導かれたＥＰＴコンテキストと関連するすべてのマッピングがＥＰＴ内の対応するマッピングと同期する第２のモード、および、
いずれかのＥＰＴコンテキストと関連するＴＬＢに格納されたすべてのマッピングがＥＰＴ内の対応するマッピングと同期する第３のモード、
の１つである、項目１から項目９のいずれか１つに記載のプロセッサ。
［項目１１］
ゲストアドレスは、ゲスト物理アドレスをさらに含む、項目１から項目１０のいずれか１つに記載のプロセッサ。
［項目１２］
ゲストアドレスは、ゲスト線形アドレスをさらに含む、項目１から項目１１のいずれか１つに記載のプロセッサ。
［項目１３］
ホストおよびゲストを含む仮想化に基づくシステムにおいて、
翻訳ルックアサイドバッファ（ＴＬＢ）に少なくとも一部格納されたホスト物理アドレスへのゲストアドレスの翻訳を含むマッピングと、仮想化に基づくシステムの拡張ページングテーブル（ＥＰＴ）であってゲスト物理アドレスに対応するホスト物理アドレスの翻訳を含むＥＰＴに少なくとも一部格納された対応するマッピングとを同期させることと、
命令のオペランドに少なくとも一部基づきＥＰＴに少なくとも一部格納されたマッピングを選択することと、
を含み、オペランドは、コンテキストディスクリプタおよびＥＰＴポインタの少なくとも１つを含む方法。
［項目１４］
命令のオペランドから導かれるコンテキストディスクリプタに一部基づき、ＥＰＴからマッピングを選択することをさらに含む、項目１３に記載の方法。
［項目１５］
コンテキストディスクリプタから導かれるＥＰＴポインタに一部基づき、ＥＰＴに少なくとも一部格納されるマッピングを選択することをさらに含む、項目１４に記載の方法。
［項目１６］
命令のオペランドに少なくとも一部基づき、ゲストアドレスを選択することをさらに含む、項目１３から項目１５のいずれか１つに記載の方法。
［項目１７］
マッピングを同期することは、ＥＰＴに格納されたマッピングに少なくとも一部基づきＴＬＢに格納されたマッピングをアップデートすることをさらに含み、
対応するマッピングは、ＴＬＢに格納されたマッピングと同じゲストアドレスを有するＥＰＴに格納されたマッピングをさらに含む、
項目１３から項目１６のいずれか１つに記載された方法。
［項目１８］
マッピングを同期することは、ＴＬＢから格納されたマッピングをフラッシングすることをさらに含む、項目１３から項目１７のいずれか１つに記載の方法。
［項目１９］
命令のオペランドに少なくとも一部基づき、命令の実行モードを選択することをさらに含む、項目１３から項目１８のいずれか１つに記載の方法。
［項目２０］
命令の第１のオペランドから導かれるコンテキストディスクリプタに基づき、ＥＰＴに少なくとも一部格納されたマッピングを選択することと、
命令の第２のオペランドに少なくとも一部基づき、ゲストアドレスを選択することと、
命令の第３のオペランドに少なくとも一部基づき、命令の実行モードを選択することと、
を含み、
命令の実行モードは、
ＴＬＢ内に格納され、かつ、ゲストアドレスに関連する単一のマッピングのみがＥＰＴ内の対応するマッピングと同期する第１のモード、
ＴＬＢに格納され、かつ、コンテキストディスクリプタから導かれるＥＰＴコンテキストに関連するすべてのマッピングがＥＰＴ内の対応するマッピングと同期する第２のモード、および、
いずれかのＥＰＴコンテキストに関連するＴＬＢに格納されたすべてのマッピングがＥＰＴ内の対応するマッピングと同期する第３のモード、
の１つである、
項目１３から項目１９のいずれか１つに記載の方法。
［項目２１］
ゲストアドレスは、ゲスト物理アドレスをさらに含む、項目１３から項目２０のいずれか１つに記載の方法。
［項目２２］
ゲストアドレスは、ゲスト線形アドレスをさらに含む、項目１３から項目２１のいずれか１つに記載の方法。
［項目２３］
仮想化に基づくシステムであって、
プロセッサと、
プロセッサにバスにより接続されるメモリと、
命令を実行するプロセッサの論理回路であって、命令は、
翻訳ルックアサイドバッファ（ＴＬＢ）に少なくとも格納されたホスト物理アドレスへのゲストアドレスの翻訳を含むマッピングを、仮想化に基づくシステムの拡張ページングテーブル（ＥＰＴ）であって、ゲスト物理アドレスに対応するホスト物理アドレスの翻訳を含むＥＰＴに少なくとも一部格納された対応するマッピングと同期させることと、
命令のオペランドに少なくとも一部基づくＥＰＴ内に少なくとも一部格納されたマッピングを選択することと、を実行し、
オペランドは、コンテキストディスクリプタおよびＥＰＴポインタの少なくとも１つを含む、
仮想化に基づくシステム。
［項目２４］
プロセッサは、さらに、
命令のオペランドから導かれるコンテキストディスクリプタに一部基づき、ＥＰＴからマッピングを選択する、
項目２３に記載のシステム。
［項目２５］
プロセッサは、さらに、
コンテキストディスクリプタから導かれるＥＰＴポインタに一部基づき、該ＥＰＴに少なくとも一部格納されるマッピングを選択する、
項目２４に記載のシステム。
［項目２６］
プロセッサは、さらに、
命令のオペランドに少なくとも一部基づき、ゲストアドレスを選択する、項目２３から項目２５のいずれか１つに記載のシステム。
［項目２７］
論理回路は、さらに、ＥＰＴ内に格納されたマッピングに少なくとも一部基づき、ＴＬＢに格納されたマッピングと、ＴＬＢに格納されたマッピングと同じゲストアドレスをもつＥＰＴに格納されたマッピングをさらに含む対応するマッピングとを同期させる、項目２３から項目２６のいずれか１つに記載のシステム。
［項目２８］
論理回路は、さらに、ＴＬＢから格納されたマッピングをフラッシングする、項目２７に記載のシステム。
［項目２９］
論理回路は、命令のオペランドに少なくとも一部基づき、命令の実行モードを選択する、項目２３から項目２８のいずれか１つに記載のシステム。
［項目３０］
論理回路は、さらに、命令の第１のオペランドから導かれるコンテキストディスクリプタに基づき、ＥＰＴ内に少なくとも一部格納されたマッピングを選択し、
命令の第２のオペランドに少なくとも一部基づき、ゲストアドレスを選択し、
命令の第３のオペランドに少なくとも一部基づき、命令の実行モードを選択し、
命令の実行モードは、
ＴＬＢに格納され、ゲストアドレスに関連する単一のマッピングのみがＥＰＴ内の対応するマッピングと同期する第１のモード、
ＴＬＢに格納され、コンテキストディスクリプタから導かれるＥＰＴコンテキストに関連するすべてのマッピングがＥＰＴ内の対応するマッピングと同期する第２のモード、および、
いずれかのＥＰＴコンテキストと関連するＴＬＢに格納されたすべてのマッピングがＥＰＴ内の対応するマッピングと同期する第３のモード、
の１つである、項目２３から項目２９のいずれか１つに記載のシステム。
［項目３１］
ゲストアドレスは、ゲスト物理アドレスをさらに含む、項目２３から項目３０のいずれか１つに記載のシステム。
［項目３２］
ゲストアドレスは、ゲスト線形アドレスをさらに含む、項目２３から項目３１のいずれか１つに記載のシステム。
［項目３３］
メモリは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）をさらに含む、項目２３から項目３２のいずれか１つに記載のシステム。