バーチャル化システムを有するプロセッサであって、前記バーチャル化システムは、メモリバーチャル化サポートシステムを有し、該メモリバーチャル化サポートシステムは、バーチャルマシーン上でのゲストソフトウェアの実行中、ゲスト物理的メモリのページの参照を提供するページングテーブルと、ゲスト物理的メモリの参照を提供するため、前記バーチャルマシーン上での前記ゲストソフトウェアの実行中、前記ゲスト物理的メモリのページの参照とゲストバーチャルメモリの参照とを合成するロジックと、前記バーチャルマシーン上での前記ゲストソフトウェアの実行中、前記ゲスト物理的メモリの参照をホスト物理的メモリの参照にマップするための拡張ページングテーブルと、を有し、前記拡張ページングテーブルは、前記ゲスト物理的メモリのページに対するアクセス制限を指定するため、リードアクセス制御情報、ライトアクセス制御情報及び実行アクセス制御情報の少なくとも1つを含むことを特徴とするプロセッサ。請求項1記載のプロセッサであって、前記バーチャル化システムは、前記ゲスト物理的メモリに対するアクセス制限の違反に応答して、バーチャルマシーンモニタに移行することを特徴とするプロセッサ。請求項1記載のプロセッサであって、前記拡張ページングテーブルは、マルチレベル拡張ページングテーブルから構成されることを特徴とするプロセッサ。請求項1記載のプロセッサであって、前記メモリバーチャル化サポートシステムは、前記バーチャル化システムのフラグが所定値に設定されている場合に限り、当該プロセッサのバーチャル化システムのアクティブ化に応答してアクティブ状態にされることを特徴とするプロセッサ。バーチャルマシーン上でのゲストソフトウェアの実行中、ゲスト物理的メモリのページの参照を提供するページングテーブルにアクセスするステップと、ゲスト物理的メモリの参照を提供するため、前記バーチャルマシーン上での前記ゲストソフトウェアの実行中、前記ゲスト物理的メモリのページの参照とゲストバーチャルメモリの参照とを合成するステップと、前記バーチャルマシーン上での前記ゲストソフトウェアの実行中、拡張ページングテーブルを使用して、前記ゲスト物理的メモリの参照をホスト物理的メモリの参照にマップするステップと、前記拡張ページングテーブルからのリードアクセス制御情報、ライトアクセス制御情報及び実行アクセス制御情報の少なくとも1つに従って、前記ゲスト物理的メモリのページに対するアクセス制限を指定するステップと、を有することを特徴とする方法。請求項5記載の方法であって、さらに、前記ゲスト物理的メモリに対するアクセス制限の違反に応答して、バーチャル化システムがバーチャルマシーンモニタに移行するステップを有することを特徴とする方法。請求項5記載の方法であって、前記拡張ページングテーブルは、マルチレベル拡張ページングテーブルから構成されることを特徴とする方法。請求項5記載の方法であって、さらに、バーチャル化システムのフラグが所定値に設定されている場合に限り、プロセッサのバーチャル化システムのアクティブ化に応答して、メモリバーチャル化サポートシステムをアクティブ状態にするステップを有することを特徴とする方法。プロセッサのバーチャル化システムを有するプロセッサベースシステムであって、前記バーチャル化システムは、メモリバーチャル化サポートシステムを有し、該メモリバーチャル化サポートシステムは、バーチャルマシーン上でのゲストソフトウェアの実行中、ゲスト物理的メモリのページの参照を提供するページングテーブルと、ゲスト物理的メモリの参照を提供するため、前記バーチャルマシーン上での前記ゲストソフトウェアの実行中、前記ゲスト物理的メモリのページの参照とゲストバーチャルメモリの参照とを合成するロジックと、前記バーチャルマシーン上での前記ゲストソフトウェアの実行中、前記ゲスト物理的メモリの参照をホスト物理的メモリの参照にマップするための拡張ページングテーブルと、を有し、前記拡張ページングテーブルは、前記ゲスト物理的メモリのページに対するアクセス制限を指定するため、リードアクセス制御情報、ライトアクセス制御情報及び実行アクセス制御情報の少なくとも1つを含むことを特徴とするシステム。請求項9記載のシステムであって、前記バーチャル化システムは、前記ゲスト物理的メモリに対するアクセス制限の違反に応答して、バーチャルマシーンモニタに移行することを特徴とするシステム。請求項9記載のシステムであって、前記拡張ページングテーブルは、マルチレベル拡張ページングテーブルから構成されることを特徴とするシステム。請求項9記載のシステムであって、前記メモリバーチャル化サポートシステムは、前記バーチャル化システムのフラグが所定値に設定されている場合に限り、当該プロセッサのバーチャル化システムのアクティブ化に応答してアクティブ状態にされることを特徴とするシステム。本発明は、上記問題点を解決するバーチャルシステムについてのプロセッサ、方法及びシステムに関する。上記課題を解決するため、本発明は、バーチャルシステムを有するプロセッサであって、前記バーチャルシステムは、当該プロセッサが動作可能なホストマシーン上で実行可能なバーチャルマシーン上で実行可能なゲストソフトウェアによるゲスト物理的メモリの参照を前記ホストマシーンのホスト物理的メモリの参照にマップする拡張ページングテーブルを有するメモリバーチャル化サポートシステムを有することを特徴とするプロセッサを提供する。さらに、本発明は、プロセッサベースホストマシーン上で実行可能なバーチャルマシーン上で実行可能なゲストソフトウェアによるゲスト物理的メモリの参照を、前記ホストマシーンの拡張ページングテーブルを用いて前記ホストマシーンのホスト物理的メモリの参照にマップするステップを有することを特徴とする方法を提供する。本発明によると、バーチャルシステムについてのプロセッサ、方法及びシステムを提供することができる。図2は、本発明の一実施例によるゲストメモリのマッピングに関するホストマシーン上で実行される1以上のバーチャルマシーン間の関係を示す。図2は、ホストマシーンのバーチャル化を介したゲスト物理的メモリのリマップ方法を示す。バーチャルマシーンA242やバーチャルマシーンB257などの各バーチャルマシーンは、当該バーチャルマシーン上で実行されるゲストソフトウェアにそれぞれバーチャルプロセッサ245と255を与える。各マシーンはそれぞれ、物理的メモリのアブストラクションであるゲスト物理的メモリ240と250をゲストオペレーティングシステム又は他のゲストソフトウェアに与える。ゲストソフトウェアがバーチャルマシーン242及び257上で実行されるとき、それはホスト物理的メモリ260を用いるホストプロセッサ265上のホストマシーン267により実際は実行される。図2に示されるように、本実施例では、バーチャルマシーンA242のアドレス0から始まる物理的メモリスペースとして与えられるゲスト物理的メモリ240が、ホスト物理的メモリ260のある連続領域270にマップされる。同様に、バーチャルマシーンB257のゲスト物理的メモリ250が、ホスト物理的メモリ260の異なる部分275にマップされる。図2に示されるように、ホストマシーンは、1024MBのホスト物理的メモリを有するようにしてもよい。各バーチャルマシーン242及び257に256MBのメモリが割当てられている場合、1つの可能のマッピングは、バーチャルマシーンA242に領域128~384MBが割り当てられ、バーチャルマシーンB257に領域512~768MBが割り当てられるというものである。バーチャルマシーン242と257は共に、0~256MBゲスト物理的アドレススペースを参照する。VMMのみが、各バーチャルマシーンのアドレススペースがホスト物理的アドレススペースの異なる部分にマップすることを認識している。図2に示されるバーチャルマシーンとメモリマッピングは、本発明の一実施例の単なる一表現であり、他の実施例では、ホストマシーン上で実行されるバーチャルマシーンの実際の個数は1以上の可変的な値であってもよく、ホストマシーン及びバーチャルマシーンの実際のメモリサイズもまた、バーチャルマシーンごとに可変とされてもよい。図示された例は、バーチャルマシーンへのメモリのシンプルな連続的割当てを示す。より一般的なケースでは、バーチャルマシーンに割り当てられる物理的メモリページは、連続するものでなくてもよく、互いに、そしてVMMと他のホストプロセスに属するページとインタリーブされるホスト物理的メモリに分散されてもよい。図2に示されるようなシステムのバーチャルマシーンとして提供されるプロセッサベースシステムは、それのすべての複雑さにおいてバーチャルマシーンを実現するようにしてもよい。従って例えば、バーチャルマシーンは、フルビューのゲスト物理的メモリをゲストOSに提供し、ゲストOS及びバーチャルプロセッサ又は当該バーチャルマシーンの他のバーチャルハードウェアにより提供されるメモリ管理を利用して、バーチャルマシーン上で実行されるゲストソフトウェアに対するメモリ管理を実行する。一実施例では、バーチャルマシーンは、メモリ管理用のページテーブルなどのIA-32ハードウェアサポートを含むIA-32プラットフォームをゲストOSに与え、メモリ管理用のIA-32ハードウェアを含むIA-32プラットフォームであるホストプラットフォーム上で実行される。追加的な機構なしに、本実施例のバーチャル化システムは、物理的メモリをリマップ、パーティション、プロテクトするため1つの可能な手段としてIA-32ページテーブルシャドーイングを利用して、VMMにおいて物理的メモリバーチャル化アルゴリズムを実現する必要がある。従って例えば、ゲストソフトウェアがバーチャルマシーンのIA-32ページテーブルにアクセスしようとするとき、VMMは、バーチャル化に必要な機能物理的アドレスのリマッピングなどをゲストOSにより必要とされる機能にオーバーレイする必要がある。このため、VMMは、ゲストソフトウェアによるページング機構の使用を取り巻く各種イベントをトラップする必要がある。これには、IA-32ドキュメンテーションに記載されるように、IA-32メモリ管理システムの制御レジスタCR0、CR3、C4などなどの制御レジスタの書き込み、ページング及びメモリアクセスに係るモデル特化レジスタMSRメモリタイプ範囲レジスタMTRRなどへのアクセス、特定の例外処理ページフォルトなどの取り扱いが含まれる。上記のように物理的メモリをバーチャル化するためIA-32ページテーブルを利用することは、複雑な処理を伴い、かなりのパフォーマンスオーバーヘッドを強いることになる。図3は、バーチャルマシーン環境300の一実施例を示す。本実施例では、プロセッサベースプラットフォーム316がVMM312を実行する。VMMは、典型的にはソフトウェアにより実現されるが、より高いレベルのソフトウェアにバーチャルベアマシーンインタフェースをエミュレート及びエクスポートするかもしれない。このようなハイレベルなソフトウェアは、標準的なOSやリアルタイムOSから構成されるものであってもよく、限られたオペレーティングシステムの機能を有するストリップダウンされた環境のものであってもよく、一部の実施例では標準的なOSで典型的には利用可能なOS機能を有するものでなくてもよい。あるいは、例えば、VMM312は他のVMM内部で、又はそのサービスを利用して実行されてもよい。VMMは、例えば、ハードウェア、ソフトウェア、ファームウェア、又は一部の実施例においては各種技術の組み合わせにより実現されてもよい。プラットフォームハードウェア316は、パーソナルコンピュータPC、メインフレーム、携帯情報端末PDAやスマート携帯電話などの携帯装置、携帯コンピュータ、セットトップボックス又は他のプロセッサベースシステムであってもよい。プラットフォームハードウェア316は、少なくともプロセッサ318とメモリ320とを備える。プロセッサ318は、マイクロプロセッサ、デジタル信号プロセッサ、マイクロコントローラなどのプログラムの実行が可能な任意のタイプのプロセッサであってもよい。プロセッサは、実施例における実行用のハードコードロジック、プログラマブルロジック又はマイクロコードを有するものであってもよい。図3はプロセッサ318のみが示されているが、他の実施例ではシステムに複数のプロセッサが設けられていてもよい。さらに、プロセッサ318は、複数のコア、複数スレッドのサポートなどを有するものであってもよい。メモリ320は、ハードディスク、フロッピー登録商標ディスク、RAMRandomAccessMemory、ROMReadOnlyMemory、フラッシュメモリ、上記デバイスの任意の組み合わせ、又は各種実施例においてプロセッサ318により読み出し可能な他の任意のタイプのマシーン媒体から構成可能である。メモリ320は、プログラム及び他の方法の実施例を実行するための命令及び/又はデータを格納するものであってもよい。VMM312は、同一又は異なるアブストラクションを各種ゲストに提供する1以上のバーチャルマシーンのアブストラクションをゲストソフトウェアに提供する。図3は、2つのバーチャルマシーン302と314を示す。各バーチャルマシーン上で実行されるゲストソフトウェア303及び313などのゲストソフトウェアは、ゲストOS304や306などのゲストOSと、各種ゲストソフトウェアアプリケーション308と310を備えるようにしてもよい。ゲストソフトウェア303及び313は、他の機能を実行するためゲストソフトウェア303と313が実行されているバーチャルマシーン内の物理的リソースプロセッサレジスタ、メモリ、I/O装置などにアクセスするようにしてもよい。例えば、ゲストソフトウェア303と313は、バーチャルマシーン302と314に与えられるプラットフォーム及びプロセッサのアーキテクチャに従って、すべてのレジスタ、キャッシュ、構造、I/O装置、メモリなどにアクセスすることを期待する。一実施例では、プロセッサ318は、バーチャルマシーン制御構造VMCS324に格納されているデータに従って、バーチャルマシーン302と314の動作を制御する。VMCS324は、ゲストソフトウェア303と313の状態、VMM312の状態、VMM312がゲストソフトウェア303と313の動作のどのように制御することを所望するに関する実行制御情報、VMM312とバーチャルマシーンとの間の遷移を制御する情報などを含む構造である。プロセッサ318は、バーチャルマシーンの実行環境を決定し、それの動作を制限するため、VMCS324から情報を読み出す。一実施例では、VMCS324はメモリ320に格納されている。一部の実施例では、複数のVMCS構造が複数のバーチャルマシーンをサポートするのに利用される。VMM312は、バーチャルマシーン302と314において実行されるゲストソフトウェアによりアクセス可能な物理的メモリを管理する必要がある。一実施例において、物理的メモリ管理をサポートするため、プロセッサ318は、拡張ページテーブルEPT機構を設ける。当該実施例では、VMM312は、バーチャルマシーン302又は314への制御の遷移前に提供されることを要する物理的メモリバーチャル化に係るフィールドの値を与える物理的メモリ管理モジュール326を備えるようにしてもよい。当該フィールドは、まとめてEPT制御と呼ばれる。EPT制御には、例えば、EPT機構がイネーブルとされるべきか指定するEPTイネーブル表示と、物理的メモリバーチャル化機構の形式及びセマティックを示す1以上のEPTテーブル構成制御が含まれるかもしれない。これらについては、以下において詳細に説明される。さらに一実施例では、EPTテーブル328は、VMM312がゲストソフトウェア303と313に設ける物理的アドレス変換及びプロテクションセマティックを示す。一実施例では、EPT制御はVMCS324に格納される。あるいは、EPT制御は、プロセッサ318、メモリ320とプロセッサ318の組み合わせ、又は他の何れかの格納位置に備えられてもよい。一実施例では、個々のEPT制御が各バーチャルマシーン302と314に維持される。あるいは、同一のEPT制御が、両方のバーチャルマシーンに対して維持され、各バーチャルマシーンエントリ前にVMM312により更新される。一実施例では、EPTテーブル328はメモリ320に格納される。あるいは、EPTテーブル328は、プロセッサ318、メモリ320とプロセッサ318の組み合わせ、又は他の何れかの格納位置に備えられてもよい。一実施例では、個々のEPTテーブル328が各バーチャルマシーン302と314に維持される。あるいは、同一のEPTテーブル328が、両方のバーチャルマシーンに対して維持され、各バーチャルマシーンエントリ前にVMM312により更新される。一実施例では、プロセッサ318は、EPTイネーブル表示に基づき、EPT機構がイネーブルにされているか否か判断するEPTアクセスロジック322を有する。EPT機構がイネーブルである場合、プロセッサは、EPT制御及びEPTテーブル328に基づき、ゲスト物理的アドレスをホスト物理的アドレスに変換する。システム300が複数のプロセッサ又はマルチスレッドプロセッサを有する一実施例では、各論理プロセッサは独立したEPTアクセスロジック322と関連付けされ、VMM312は各論理プロセッサに対してEPTテーブル328とEPT制御を設定する。ゲストソフトウェア例えば、ゲストOSとアプリケーション308を含むゲストソフトウェア303などによりアクセス可能なリソースは、特権ありprivileged又は特権なしnon-privilegedとして分類することが可能である。特権のあるリソースに対して、VMM312は、当該特権のあるリソースに対する最終的な制御を保持しながら、ゲストソフトウェアにより所望される機能を実現する。さらに、各ゲストソフトウェア303及び313は、例外処理ページフォルト、一般的なプロテクションフォルトなど、中断ハードウェア中断、ソフトウェア中断など、プラットフォームイベント初期化INITやシステム管理中断SMIなどなどの各種プラットフォームイベントを処理することが期待される。上記プラットフォームイベントの一部は、バーチャルマシーン302及び314の適切な動作を確実にし、ゲストソフトウェアからのプロテクトのため、VMM312により処理される必要があるため、特権ありとされる。ゲストオペレーティングシステムとゲストアプリケーションの両方が、特権のあるリソースにアクセスしようとしてもよく、共に特権のあるイベントを発生させるかもしれない。特権のあるプラットフォームイベント及び特権のあるリソースへのアクセスの試みは、ここでは特権のあるイベント又はバーチャル化イベントとして呼ばれる。図4a及び4bに示される処理によって、図3に示されるような実施例におけるバーチャルマシーン環境の動作が示される。図4aは、ゲストソフトウェアに発生した特権付きイベントを処理する一実施例によるVM環境の処理と、ゲストソフトウェアによる特権なしイベントを処理する当該実施例の処理を示す。図4bは、拡張ページングテーブルに関する実施例におけるVM環境の処理、具体的には、ゲスト物理的メモリへのゲストソフトウェアアクセス及びVMMによるハードウェアのEPT機構の管理に関する処理を示す。図4a及び4bは、図3に示されるような環境において発生するすべてのコンポーネント又はすべての処理を示すものではない。これは単なる提示の簡単化のためである。図4a及び4bには少数のコンポーネントと具体的処理が示されているが、他の実施例によるVM環境は、他の多数のコンポーネントを有するかもしれず、他の多数の処理が実行されるかもしれない。まず、図4aが検討される。図4aは、図3において上述されたプラットフォームハードウェア316と、バーチャルマシーンアブストラクション302上で実行されるゲストソフトウェア303の一例となる処理群を示す。これらの処理は、システム内の何れにおいて例えば、VMM312やゲストソフトウェア303など行われるか示すブロックにより示される。上述のVM環境の他のコンポーネントに加えて、VMアブストラクション302は、412においてバーチャルマシーン状態とゲストソフトウェア303の他の状態情報を格納し、バーチャルネットワーク接続や汎用レジスタなどの他のリソースをゲストに提供する。もちろん、VM状態、ゲスト状態及び他のVMリソースを実現する物理的リソースは、実際には、VMが実行するプラットフォームハードウェア316により提供される。プラットフォームハードウェアは、メモリ320、VMCS324及びプロセッサ318を備える。440において、ゲストソフトウェア303は、特権なしのリソース442にアクセスする。特権なしのリソースは、VMM312により制御される必要はなく、VMM312を呼び出すことなく継続されるゲストソフトウェアにより直接アクセス可能であり、445において、ゲストは特権なしのリソース442へのアクセス後も動作を継続することが可能とされる。特権なしのプラットフォームイベントも同様に、VMM312の介入なしに処理されるこれは、図4aには示されていない。405において、ゲストソフトウェア303は、特権付きのリソースにアクセスしようとし、特権付きのプラットフォームイベントを受ける。このような特権付きのイベントが405において発生するとき、407において制御はVMM312に移行するようにしてもよい。407におけるゲストソフトウェアからVMM312への制御移行は、バーチャルマシーンイグジットと呼ばれる。リソースアクセスを実現した後、又は特権付きイベントを適切に処理した後、VMM312は、432においてゲストソフトウェアに制御を戻し、その後、ゲストソフトウェアが435において処理を再開する。432におけるVMM312からゲストソフトウェアへの制御の移行は、バーチャルマシーンエントリと呼ばれる。一実施例では、VMM312は、当該移行をトリガーするための命令を実行することによりバーチャルマシーンエントリを開始する。ここでは、当該命令をバーチャルマシーンエントリ命令と呼ぶ。一実施例では、バーチャルマシーンイグジットが行われると、410において、VMM312により求められるプロセッサ状態のコンポーネントがセーブされ、VMM312により求められるプロセッサ状態のコンポーネントがロードされ、420において、当該実行がVMM312において再開される。一実施例では、ゲストソフトウェアにより用いられるプロセッサ状態のコンポーネントは、VMCS324のゲスト状態エリアに格納され、VMM312により求められるプロセッサ状態のコンポーネントは、VMCS324のモニタ状態エリアに格納される。一実施例では、VMM312からゲストソフトウェアへの移行が行われると、バーチャルマシーンイグジットにおいてセーブされたプロセッサ状態のコンポーネントが、425において復帰されバーチャルマシーンイグジットの処理中にVMM312により変更されてもよい、430において、制御がバーチャルマシーン302又は314に戻される。次に、図4bが検討される。上述のように、図4bは、図4aにおいて上述されたVM環境の処理、特に拡張ページングテーブル、ゲスト物理的メモリへのゲストプログラムアクセス、及びVMMによるハードウェアのEPT機構の管理に関する処理を示す。前述のように、簡単化のため、図4bは、VM環境で行われるすべてのコンポーネント又はすべての処理を示すものではない。図4bには少数のコンポーネント処理が示されているが、他の実施例によるVM環境は他の多数のコンポーネントを有するようにしてもよく、他の多数の処理が実行されてもよい。図4bに示される実施例によるVM環境のコンポーネントは、ゲストソフトウェア303、VM302、物理的メモリ管理モジュール326を有するVMM312、及びプラットフォームハードウェア又は物理的マシーン316である。プラットフォームハードウェアはさらに、本実施例ではEPTテーブル328とVMCS324を含むメモリ320、及びEPTアクセスロジック322を有するプロセッサ318から構成される。一般には、プラットフォームハードウェアのEPT機能の使用は、ゲスト物理的メモリへのアクセスが、例えば、ゲストソフトウェア303によりなされると、図4に示されるように450においてゲストソフトウェアにより開始される。ゲスト物理的メモリアクセスは、VM302により与えられるメモリ451のVMアブストラクションに参照され、その後に物理的マシーン316に参照される。EPT機構がイネーブルである場合、プラットフォームハードウェア316は、EPTアクセスロジック322及びEPTテーブル328を用いて、ゲスト物理的メモリへのアクセスをホスト物理的メモリ320へのアクセスに変換するため、ゲスト物理的メモリへのVM参照を処理する。EPT処理の詳細が、図5及び6を参照して後述される。EPT機構自体は、VMCS324に格納されるEPT制御及びEPTテーブル328を構成するVMM312により構成される。本実施例では、EPT機構の構成は、VMM312における特権付きイベント405の処理の後であってVMエントリ430の前に、物理的メモリ管理モジュール326の処理の一部としてVMM312により実行されてもよい。EPT機構の構成では、VMM312は、EPT機構460をイネーブル、非イネーブル又は制御するため、EPTテーブル328及びEPT制御を更新する。もちろん、他の多数の処理形態が、図3を参照して上述されたようなEPT制御及びEPTテーブル328のための異なる位置、複数のVM、複数のプロセッサ、複数のスレッド、複数のゲスト及びこれらの組み合わせなどのVM環境に関する拡張ページングテーブルの使用に対して可能である。図5は、上述の拡張ページテーブルを用いて、バーチャルマシーンのゲストソフトウェアがゲストバーチャルアドレスを参照するとき、ホスト物理的アドレスを最終的に計算する処理の一例を示す。図示された例は、シンプルな32ビットバーチャルアドレッシング及びシンプルなページテーブルフォーマットを用いたIA-32プラットフォームにおいて実行されるゲストソフトウェアを示す。当業者はこの具体例を、例えば、他の命令セットアーキテクチャインテルコーポレイションから入手可能なIntelItaniumArchitectureSoftwareDeveloper’sManualに規定されるようなインテルItanium登録商標アーキテクチャなどや他のページングモード例えば、ゲストソフトウェアの64ビットアドレッシングなどなどを理解するため、上記具体例を容易に拡張することができるであろう。図5において、ゲストバーチャルアドレス510の参照は、バーチャルマシーンにおいて実行されるゲストソフトウェアにより実行される。ゲストにおいてアクティブなメモリ管理機構はすなわち、ゲストオペレーティングシステムにより設定される、バーチャルアドレスをゲスト物理的アドレスに変換するのに利用される。変換に用いられる各ゲスト物理的アドレスと、結果として得られるゲスト物理的アドレスは、ホスト物理的メモリへのアクセス前にEPTを介しホスト物理的アドレスに変換される。このプロセスが以下において詳細に説明される。本具体例では、CR3レジスタ520の適切なビット502が、ゲスト物理的メモリのゲストのページディレクトリテーブル560のベースを指示する。この値502は、ゲストのPDテーブル560のページディレクトリエントリPDEのゲスト物理的アドレス512を構成するため、ゲストバーチャルアドレス510からの上位ビットと合成される本例では、テーブルのエントリはそれぞれ4バイトであるため、4倍することによりIA-32セマティックに従い適切に調整される。この値512は、ページディレクトリエントリのホスト物理的アドレス504を構成するため、EPTテーブル555を介し変換される。プロセッサは、当該ホスト物理的アドレス504を用いてページディレクトリエントリにアクセスする。PDEからの情報は、ゲストのページテーブル570のベースアドレス522を含む。このゲスト物理的アドレス522は、ゲストのページテーブル570へのページテーブルエントリのゲスト物理的アドレス532を構成するため、適切に調整されたゲストバーチャルアドレス510のビット21:12と合成される。このゲスト物理的アドレス532は、ゲストのページテーブルエントリPTEのホスト物理的アドレス532を構成するため、EPTテーブル565を介し変換される。プロセッサは、このホスト物理的アドレス514を用いてPTEにアクセスする。PTEからの情報は、アクセスされるゲスト物理的メモリ内のページのベースアドレス542を含む。この値は、アクセスされるメモリのゲスト物理的アドレス552を構成するため、ゲストバーチャルアドレス510の下位オーダービット11:0と合成される。この値552は、アクセスされるメモリのホスト物理的アドレス524を構成するため、EPTテーブル575を介し変換される。EPTテーブルがゲスト物理的アドレスをホスト物理的アドレスに変換するのに利用されるたびに、プロセッサは、後述されるように、当該アクセスがEPTテーブルの制御に従って許可されていることを確認する。さらに、図5においては個別に示されているが、EPTテーブル555、565及び575は、一実施例では同一のEPTテーブル群であってもよいということは理解される必要があるすなわち、ゲスト物理からホスト物理へのすべてのアドレス変換に対して、単一のEPTテーブル群が使用される。図6は、マルチレベルEPTテーブルを用いたゲスト物理的アドレスをホスト物理的アドレスに最終的に変換する上述の拡張ページテーブルを用いた処理の他の例を示す。図6に示される実施例では、EPTベースポインタEPTP620の適切なビット602が、本実施例ではホスト物理的メモリに格納される第1レベルEPTテーブル650のベースのホスト物理的アドレスを示す。EPTPについては、図7を参照することにより詳細に説明される。本例では、EPTテーブルの各エントリは8バイトである。ゲスト物理的アドレス610からのビット38:30601は、上位ゲスト物理的アドレス603を取得するため、8倍することにより適切に調整される例えば、3ビットだけ値を左にシフトさせることにより。EPTテーブルベースアドレス値602が当該調整された上位ゲスト物理的アドレスビット603と合成加算され、第1レベルEPTテーブル650のEPTテーブルエントリ651のホスト物理的アドレス604が構成される。第1レベルEPTテーブル650の651などのエントリと他のEPTテーブル660や670のエントリの一例となるフォーマットが、図8を参照して後述される。EPTテーブルエントリ651の一部は、次レベルEPTテーブル660のベースアドレス612となる。第2の調整されたアドレスコンポーネント613は、ゲスト物理的アドレス610のビット29:21611から構成される。この調整された値613は、次レベルEPTテーブル660のEPTテーブルエントリ661のホスト物理的アドレス614を構成するため、ベースアドレス612と合成加算される。プロセッサは、当該ホスト物理的アドレス614を用いてEPTテーブルエントリ661にアクセスする。EPTテーブルエントリ661からの情報は、最終的なEPTテーブル670のベースアドレス622を含む。このベースアドレス622は、最終的なEPTテーブル670のEPTテーブルエントリ671のアドレス624を構成するため適切に調整された後、ゲストバーチャルアドレス610の調整されたビット20:12623と合成される。プロセッサは、このホスト物理的アドレス624を用いてEPTテーブルエントリにアクセスする。EPTテーブルエントリ671からの情報は、ホスト物理的メモリ690においてアクセスされるページのベースアドレスを含む。このページアドレス値690は、アクセスされるメモリの最終的なホスト物理的アドレス634を構成するため、ゲスト物理的アドレス610の下位オーダービット11:0と合成される。図6に示される実施例では、EPTテーブルは階層的なものである。それらは、従来のマルチレベルページテーブルと同様の構成とされている。さらに他の実施例では当業者には理解されるようにテーブルにアクセスする機構の応じて異なるサイズとされてもよいが、本例では、各EPTテーブルの各EPTテーブルエントリは8バイトとされる。本例では、各EPTテーブルは4KBとされる。他の実施例では、異なるテーブルサイズが利用されてもよい。さらに、図6に示される階層によるすべてのテーブルが同一サイズを有する必要はない。このサイズ変更は、EPTテーブルの次のレベルをインデックス付けするためゲスト物理的アドレスから利用されるビット数に影響を与えるかもしれない。他の多数のEPTテーブル設定が可能であるということは、当業者には明らかであろう。図に示される階層的構成は3つのレベルの階層を示し、EPTテーブル650と660の2つがそれぞれ下位レベルEPTテーブル660と670に対するインデックスとして用いられる。他の実施例では、このような階層的テーブルにおいて、2レベル以下、又は4レベル以上の階層とされるかもしれない。一般に、階層のレベル数は、ゲスト物理的アドレスのレベル数、各テーブルのサイズ及び各テーブルエントリのバイト数の少なくとも1以上に応じて変更されてもよい。図6の具体例のゲスト物理的アドレスは、32ビットである。他の実施例では、ゲスト物理的アドレスは異なるサイズであってもよく、当該サイズ変更は、変換を実行するのに必要とされるEPTテーブルのレベル数の変更を必要とするかもしれない。例えば、ゲスト物理的アドレスが48ビットである場合、4レベルEPTテーブルが変換を実行するのに必要とされる各レベルにおいて4KBのEPTテーブルと各EPTテーブルの8バイトEPTテーブルエントリを仮定する。図6に示される実施例では、EPT制御は単一のフィールドであるEPTポインタEPTPを含む。当該フィールドは、第1レベルEPTテーブルのベースアドレスを含む。本例では、各EPTテーブルは4KBである。図7に示される実施例において、EPTベースアドレスポインタEPTPは、図6において上述されたような第1レベルEPTテーブルのベースのベースアドレスホスト物理的メモリにおけるを構成するのに用いられるビットを含む。図7に示される例では、ビット59:12によりベースアドレスは構成される。ビット11:0と63:60は、0と仮定される。もちろん、各ビットフィールドの幅は実施例に応じて可変とされてもよく、例えば、ベースアドレスフィールドは、特定のアーキテクチャ又は実現形態におけるアドレスビットのビット数に応じて可変とされる。EPTPレジスタの残りのビットは、他の実施例では他の目的のため利用されるかもしれない。一実施例では、EPTPレジスタは、バーチャルマシーンエントリ又はバーチャルマシーンイグジットを介してのみアクセス可能である。このような実施例では、プロセッサのEPTPレジスタが、バーチャルマシーンエントリの時点におけるVMCSのEPTPフィールドからロードされ、ゲストソフトウェアの動作中はEPT機構がアクティブ状態とされる。上述のように、当該アクティブ化及びEPTPフィールドのロード処理は、VMCS内又は何れかにおける他の制御ビットにより制御されるようにしてもよい。図8は、EPTテーブルのエントリのフォーマットの実施例を示す。本例では、EPTテーブルの各エントリは8バイトである。一実施例では、各EPTテーブルは4KBであり、このことは、EPTテーブルページごとにEPTテーブルエントリが512あることを意味するものである。図8の実施例に示されるように、各EPTテーブルエントリは、メモリの次レベルEPTテーブル又はページのベースホスト物理的アドレスADDR、パーミッション及び他の設定情報を含む。上述のように、各ビットフィールドの幅は実施例に応じて変更されてもよく、例えば、ADDRの幅は、特定のアーキテクチャ又は実現形態のアドレスビットのビット数に応じて変更されてもよい。図8は、PresentとWritableの2つのパーミッションビットしか示していない。他の実施例では、他のパーミッション及び設定情報が、各EPTテーブルエントリに与えられてもよい。例えば一実施例では、メモリのあるページが実行可能な場合すなわち、当該ページの内容が取り出され、プロセッサによる命令として解釈される場合、パーミッションビットが設定される。EPTテーブルは、各種フォーマットを有するようにしてもよい。例えば、それらは、シンプルな階層的テーブルとして図6に示されるように実現されてもよい。あるいは、それらは、シングルレベルページテーブルであってもよいこの場合、第1レベルEPTテーブルのサイズは、ゲスト物理的アドレススペースの最大サイズを規定する。あるいは、それらは、あるフォーマットではハッシュテーブルであってもよい。多数の可能な構成が実施例に応じて可能であるということは、当業者には明らかであろう。EPTテーブルは、ホスト物理的メモリにおいて1以上のページサイズをサポートしてもよい。一実施例では、各EPTテーブルの各エントリは、EPTテーブルのウォークwalkが当該ポイントで停止すべきことを示すスーパーページビットと、EPTテーブルエントリのアドレス情報を用いて構成されたホスト物理的アドレスと、ゲスト物理的アドレスの残りのビットとを含む。図6に示される例では、例えば、スーパーページビットがEPTテーブル660において設定されている場合、ホスト物理的メモリの結果となるページは2MBとなり、結果となるホスト物理的アドレスは、ゲスト物理的アドレス610のビット20:0とEPTテーブル660からのアドレスビットとを合成することにより構成されるであろう。一部の実施例では、拡張ページングテーブルとEPTアドレス変換機構が、バーチャルマシーンエントリによりイネーブルとされ、バーチャルマシーンイグジットによりイネーブル解除されてもよい。この結果、EPT機構は、自らのアドレス変換を管理するため、ゲストソフトウェア又はVMMソフトウェアの何れかによる使用に対して利用可能とならないかもしれない。さらにそのような実施例では、EPT機構は、EPT処理が従来のページ管理機構の特徴を利用してもよいが、IA-32の実施例におけるIA-32ページングテーブルなどのように、ゲスト又はホストソフトウェアに利用可能な他の従来のメモリページ管理機構とは異なるものであって、独立なものとされてもよい。このため、EPTテーブルの構成及び処理は、ホストマシーンのEPT機構及びバーチャル化を用いるゲストソフトウェアの実行とは対照的に、従来のホストマシーン上での直接的なプログラム及び処理の実行のため、プロセッサにより与えられる他のページ変換機能と完全に区別されてもよい。一実施例では、EPT機構は、ゲスト及びVMMソフトウェアに利用可能であって、本実施例の従来のページ管理機構により利用されているものと同様のフォーマットによるテーブルを利用するようにしてもよい。しかしながら、EPT機構を制御するテーブルは、依然としてゲストバーチャルアドレスからゲスト物理的アドレスへの変換の制御、又は、ホストバーチャルアドレスからホスト物理的アドレスへの変換の制御とは区別されてもよい。与えられる実施例は実行ユニット及びロジック回路に関するバーチャルマシーンシステムの物理的メモリバーチャル化のサポートについて説明しているが、他の実施例では、ソフトウェアにより実現することも可能である。一部の実施例は、マシーンによるアクセス時に当該実施例のプロセスを実行する命令を格納したマシーン読み出し可能な媒体又はマシーンを構成するようなソフトウェアプログラムプロダクト又はソフトウェアとして提供されてもよい。他の実施例では、プロセスを実行するためのロジックを含む特定用途向けハードウェアコンポーネント、プログラムされたコンポーネントやカスタムハードウェアコンポーネントの任意の組み合わせによって、プロセスが実行されるかもしれない。上記説明では、説明された実施例の完全なる理解を提供するため、多数の具体的詳細が与えられている。しかしながら、当業者は、他の多数の実施例がこのような具体的詳細なしに実現可能であるということを理解するであろう。上記詳細な説明の一部は、プロセッサベースシステム内部のデータビットに対する処理の記号表現及びアルゴリズムに関して与えられる。このようなアルゴリズムによる記述及び表現は、当該技術分野における他の当業者に内容を最も効果的に伝えるのに利用される手段である。当該処理は、物理量の物理的操作を要する。これらの物理量は、電気、磁気、光信号、又は格納、転送、合成、比較及び操作可能な他の物理的信号の形態をとり得る。便宜上、これらの信号は、ビット、値、要素、シンボル、文字、項、番号などと呼ばれるかもしれない。しかしながら、上記及び同様の用語のすべてが、適切な物理量と関連付けされ、当該物理量に付けられる単なる便宜上のラベルであるということに留意されたい。特段指定されていない場合、又は記載から明らかな場合、実行、処理、計算、決定などの用語は、プロセッサベースシステムのストレージ内の物理量として表されるデータを同様に表現された他のデータに変換及び操作するプロセッサベースシステム又は同様の電子計算装置、又は他の情報ストレージ、送信若しくは表示装置のアクション及びプロセスを表すものであるかもしれない。実施例の説明では、添付された図面が参照されている。図面では、同一の番号は図面を通じて実質的に同様のコンポーネントを表している。他の実施例が利用可能であり、構造的、論理的及び電気的変更がなされるかもしれない。さらに、各種実施例は相互排他的なものである必要はない。例えば、一実施例による特定の機能、構成又は特徴は、他の実施例にも含めることが可能である。さらに、プロセッサにおいて実現される実施例の構成は、制作からシミュレーション、そして製造までの各段階を経る。構成を表すデータは、いくつかの手法によりこの構成を表現可能である。まず、シミュレーションで有用なように、ハードウェアはハードウェア記述言語又は他の機能記述言語を用いて表現されるかもしれない。さらに、ロジック及び/又はトランジスタゲートを有する回路レベルモデルは、設計プロセスの段階において作成される。さらに、ほとんどの設計は、ハードウェアモデルの各種装置の物理的配置を表すデータレベルに到達する。従来技術による半導体製造技術が用いられる場合、ハードウェアモデルを表すデータは、集積回路を生成するのに利用されるマスクの異なるマスクレイヤ上の各種構成の有無を示すデータであってもよい。何れの設計表現においても、データは任意の形式のマシーン可読媒体に格納されるようにしてもよい。このような情報を送信するため変調又は生成される光波又は電波、メモリ、ディスクなどの磁気又は光ストレージが、マシーン可読媒体であるかもしれない。上記媒体の何れも、設計又はソフトウェア情報を搬送又は示すことが可能である。コード又は設計を示す、又は搬送する電気搬送波が送信されると、当該電気信号の複製、バッファリング又は再送が行われる程度まで、新たなコピーが行われる。このため、通信プロバイダ又はネットワークプロバイダは、実施例を表現又は構成する物品搬送波を複製することが可能である。マシーンによるアクセス時に、本発明によるプロセスをマシーンに実行させるデータを格納したマシーン可読媒体を有するプログラムプロダクトとして、実施例が提供されてもよい。このマシーン可読媒体は、以下に限定されるものではないが、フロッピー登録商標ディスケット、光ディスク、DVD-ROMディスク、DVD-RAMディスク、DVD-RWディスク、DVDRWディスク、CD-Rディスク、CD-RWディスク、CD-ROMディスク、光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気又は光カード、フラッシュメモリ、又は電子命令を格納するのに適した他のタイプのメディアマシーン可読媒体を含むかもしれない。さらに、プログラムプロダクトとして実施例がダウンロードされてもよい。当該プログラムは、通信リンクモデム、ネットワーク接続などを介し、搬送波や他の伝搬媒体として実現されるデータ信号によりリモートデータソースから要求元装置に転送されるようにしてもよい。上記方法の多くは最も基本的形式により記述されるが、本発明の基本的範囲から逸脱することなく、いくつかのステップが上記方法から削除又は追加可能であり、記載されたメッセージの何れかから情報が削除又は追加することも可能である。さらなる多数の変更及び適応が可能であるということは、当業者には明らかであろう。実施例は、本発明を限定するものでなく、例示するために与えられている。本発明の範囲は、与えられた実施例によってではなく、請求項によってのみ決定されるべきものである。