変換テーブルの階層に格納された変換データを使用して仮想メモリアドレスを物理メモリアドレスに変換するためのトップダウンページテーブルウォーク操作を実行するように構成されたメモリアドレス変換回路を備えるデータを処理するための装置であって、Nが正の整数であり、前記変換データが、仮想メモリアドレスの2N個の連続バイトのページと、物理メモリアドレスの2N個の連続バイトの対応するページとの間の変換を特定し、変換テーブルの前記階層は、完全な変換テーブルが前記物理メモリの1つのページ内に格納されるようなサイズの2N個の連続するバイトの変換テーブルを備え、前記メモリアドレス変換回路が、現在の値Nを特定するページサイズ変数に応答して、選択されたサイズの物理メモリアドレスのページ、仮想メモリアドレスのページ、および変換テーブルを用いて動作するように前記メモリアドレス変換回路を制御する、装置。複数の仮想マシン実行環境を提供するプログラム命令を実行するように構成されたプロセッサを備え、前記複数の仮想マシン実行環境の各々に関する前記ページサイズ変数が、独立して設定されるように構成された、請求項1に記載の装置。前記仮想マシン実行環境の各々が、仮想マシン変換テーブルの階層に格納された仮想マシン変換データを有し、アドレス変換中における前記メモリアドレス変換回路による仮想マシン変換テーブルへの各アクセスは、物理アドレスを識別するために、前記メモリアドレス変換回路によるさらなるアドレス変換を必要とし、前記さらなるアドレス変換が、前記複数の仮想マシン実行環境に関する前記ページサイズ変数から独立して設定されるように構成されたページサイズ変数を使用する、請求項2に記載の装置。前記ページサイズ変数の異なる値は、2Xバイトの物理ページサイズおよび2Yバイトの物理ページサイズを特定し、XおよびYは整数であり、前記変換データが、2XバイトのY/X個の物理ページが物理アドレス空間内に連続して配置されることを特定するための連続ヒントデータを含む、請求項1から請求項3のうちのいずれか1つに記載の装置。前記仮想アドレスの最上位ビットエンドから延びる前記仮想アドレスの所定の部分は、ページテーブルウォークを必要とせずに、前記物理アドレスの対応する一部分への固定された変換を与えられる、請求項1から請求項4のうちのいずれか1つに記載された装置。前記ページサイズ変数が、値Nを12および16のうちの一方となるように特定する、請求項1から請求項5のうちのいずれか1つに記載の装置。変換テーブルの階層に格納された変換データを使用して仮想メモリアドレスを物理メモリアドレスに変換するためのトップダウンページテーブルウォーク操作を実行するように構成されたメモリアドレス変換手段を備えるデータを処理するための装置であって、Nが正の整数であり、前記変換データが、仮想メモリアドレスの2N個の連続バイトのページと、物理メモリアドレスの2N個の連続バイトの対応するページとの間の変換を特定し、変換テーブルの前記階層は、完全な変換テーブルが前記物理メモリの1つのページ内に格納されるようなサイズの2N個の連続するバイトの変換テーブルを備え、前記メモリアドレス変換手段が、現在の値Nを特定するページサイズ変数に応答して、選択されたサイズの物理メモリアドレスのページ、仮想メモリアドレスのページ、および変換テーブルを用いて動作するように前記メモリアドレス変換回路を制御する、装置。変換テーブルの階層に格納された変換データを使用して仮想メモリアドレスを物理メモリアドレスに変換するためのトップダウンページテーブルウォーク操作を実行するステップであって、前記変換データが、仮想メモリアドレスの2N個の連続バイトのページと、物理メモリアドレスの2N個の連続バイトの対応するページとの間の変換を特定し、Nが正の整数であり、変換テーブルの前記階層は、完全な変換テーブルが前記物理メモリの1つのページ内に格納されるようなサイズの2N個の連続するバイトの変換テーブルを備える、トップダウンページテーブルウォーク操作を実行するステップと、現在の値Nを特定するページサイズ変数に応答して、選択されたサイズの物理メモリアドレスのページ、仮想メモリアドレスのページ、および変換テーブルを用いて動作するステップとを含む、データを処理するための方法。複数の仮想マシン実行環境を提供するステップをさらに含み、前記ページサイズ変数が、前記複数の仮想マシン実行環境の各々に対して独立して設定される、請求項8に記載の方法。前記仮想マシン実行環境の各々が、仮想マシン変換テーブルの階層に格納された仮想マシン変換データを有し、アドレス変換中における前記メモリアドレス変換回路による仮想マシン変換テーブルへの各アクセスは、物理アドレスを識別するために、さらなるアドレス変換を必要とし、前記さらなるアドレス変換が、前記複数の仮想マシン実行環境に対して前記ページサイズ変数から独立して設定される、請求項9に記載の方法。前記ページサイズ変数の異なる値が、2Xバイトの物理ページサイズおよび2Yバイトの物理ページサイズを特定し、XおよびYは整数であり、前記変換データは、2XバイトのY/X個の物理ページが物理アドレス空間内に連続して配置されることを特定するための連続ヒントデータを含む、請求項8から請求項10のうちのいずれか1つに記載の方法。前記仮想アドレスの最上位ビットエンドから延びる前記仮想アドレスの所定の部分は、ページテーブルウォークを必要とせずに、前記物理アドレスの対応する一部分への固定された変換に与えられる、請求項8から請求項11のうちのいずれか1つに記載された装置。前記ページサイズ変数が、値Nを12および16のうちの一方となるように特定する、請求項8から請求項12のいずれか1つに記載の方法。図1に、メモリ6に結合されたプロセッサ4を備えるデータ処理システム2を概略的に示す。プロセッサ4は、データ処理コア8と、キャッシュメモリ10と、ロードストアユニット12と、メモリ管理ユニット14メモリアドレス変換回路とを含む。メモリ6は、ページテーブルとしても知られる変換テーブル16と、データの物理的にアドレス指定されたページ18とを格納する。プログラム命令を実行するときに、データ処理コア8は、仮想アドレスVAを生成し、仮想アドレスVAは、メモリ管理ユニット14によって物理アドレスPAに変換される。また、メモリ管理ユニット14は、特権に応じて、あるいは現在の処理またはメモリのページに関連付けられた他の属性のレベルに応じて、メモリの1つまたは複数の特定のページへのアクセスを制御することなど、他の機能を有することができる。メモリ管理ユニット14は、変換ルックアサイドバッファ20を含み、変換ルックアサイドバッファ20は、最近使用された仮想アドレスを物理アドレスに変換するために、変換データのキャッシュを格納する。仮想アドレスが変換を必要とし、必要な変換情報が、変換ルックアサイドバッファ20内に格納されていないときには、メモリ管理ユニット14は、次いで、トップダウンページテーブルウォーク操作をトリガする。このページテーブルウォーク操作の開始点は、変換テーブル中へのエントリポイントのメモリアドレスである。このエントリポイントは、メモリ管理ユニット14内の変換テーブルベースレジスタ22中に格納される。また、メモリ管理ユニット14は、処理コア8によって書き込み可能な変換テーブルベース制御レジスタ24を含み、ページサイズ変数Sを格納するページサイズフィールド26を含む。このページサイズ変数Sは、メモリ管理ユニット14がトップダウンページテーブルウォーク操作を実行しているときに、物理メモリのページ、仮想メモリのページ、および変換テーブルのサイズを制御する。また、変換テーブルベース制御レジスタ24を使用して、変換テーブルベースレジスタ22内に格納された値を切り替えることができ、それにより、変換テーブルの異なる階層を、使用中また未使用に切り替える。ページテーブルのこれらの異なる階層の各々は、それ自体が関連付けられたページサイズ変数を有することができる。したがって、たとえば、複数の仮想実行環境をサポートするシステムは、4kBのページサイズおよび変換テーブルサイズを特定する変換テーブルの1つのセットと、64kBのページサイズおよび変換テーブルサイズをもつ変換テーブルの別のセットとを有することができる。図2に、ページサイズおよび変換テーブルサイズが4kBであることをページサイズ変数が特定するとき、変換ルックアサイドバッファ20中にないときにメモリ管理ユニット14によって実行される6レベルトップダウンページテーブルウォークを概略的に示す。変換テーブルベースレジスタ22は、最高位のレベル変換テーブル28の開始位置を示すアドレスを格納する。仮想アドレスの最上位の7ビットを使用して、この変換テーブルにインデックスを提供し、第2レベルの変換テーブル32の開始アドレスへのポインタ30を識別する。次いで、仮想アドレスの次の9ビットを使用して、この第2レベルのテーブル32にインデックスを付け、第3レベルのテーブル36の開始へのポインタ34を識別する。このプロセスは、仮想アドレスの連続する9ビット部分をとり続けて、第4レベルのテーブル38、第5レベルの変換テーブル40、および第6レベルの変換テーブル42にインデックスを付ける。第6レベルのテーブル42に最終的なインデックス操作が行われるとき、識別されたエントリ44は、変換すべき仮想アドレスに対応する物理アドレスの最上位の52ビットを格納し、仮想アドレスの最下位の12ビットを使用して、生成される物理アドレスの最下位の12ビットが形成される。仮想アドレスの最下位の12ビットは、変換されないので、これは、実行された変換の粒度、したがって、変換が行われる仮想メモリおよび物理メモリのページサイズに対応する。この場合、物理メモリのページのページサイズ、および仮想メモリのページのページサイズは4kBである。最も次数の高いページテーブルは、総メモリアドレス空間のサイズ全体に整合するマッピングを行うために、サイズがより小さくなる可能性がある。図2に示されたトップダウンページテーブルウォーク操作から回復される変換データは、変換ルックアサイドバッファ20内にキャッシュされ、したがって、変換データが変換ルックアサイドバッファ20内に存続しながら、その同じ仮想アドレスページへの別のメモリアクセスが行われる場合、別のページテーブルウォークを実行する必要がない。また、第6のレベルテーブル42のエントリ44内に、連続ヒントデータ46が存在する。このヒントデータは、仮想メモリの連続ページに対応する物理メモリのページも、64kBのブロック中の物理メモリ内に連続して配置されているかどうかを示す。連続して配置されている場合、実行されたこの変換に対応する変換ルックアサイドバッファ20にキャッシュして戻されるデータにマークを付けて、関係する変換データが16個の連続仮想ページにあてはまることを示すことができる。これにより、変換ルックアサイドバッファ20内の格納スペースが節約される。図3に、物理メモリアドレスのページ、仮想メモリアドレスのページおよび変換テーブルのサイズがすべて、64kBであることをページサイズ変数Sが特定するときに実行される4レベルページテーブルトップダウンウォーク操作を概略的に示す。図3のトップダウンページテーブルウォーク操作は、変換テーブルのサイズが64kBである場合を除いて、図2に示され、上述した操作と原理的において同様である。ページテーブルのサイズをこのようにより大きくすることにより、より多くの数のポインタ48を各変換テーブル内に格納し、したがって、各変換テーブルアクセスを用いて、仮想アドレスのうちのより多くのビットを変換することができるようになる。したがって、第2レベルのページテーブルアクセス操作、第3レベルのページテーブルアクセス操作、および第4レベルのページテーブルアクセス操作は、それぞれ、仮想アドレスのうちの13ビットを消費することができ、したがって、フル64ビット仮想-物理メモリアドレス変換を実行するために、必要なページテーブルウォークのレベルの数を4つのレベルまで低減させることができる。さらに、物理メモリアドレスのページおよび仮想メモリアドレスのページのサイズが増大すると、仮想アドレスの最下位の16ビットはメモリページサイズの粒度であるので、仮想アドレスの最下位の16ビットは変換されない結果となることが留意されよう。このように粒度が大きくなると、物理アドレスビットに変換する必要がある仮想アドレスビットの数が減少し、このことは、必要なページテーブルウォークのレベルの数を低減させるのに役立つ。また、図2および図3には、短縮された開始点50および52が示されている。変換テーブルの特定のセット用の変換テーブルベース制御レジスタ24は、仮想アドレスの最上位ビットエンドから始まる仮想アドレスの一部分が、すべて0、またはすべて1でなければならず、そうでない場合には、メモリ障害が起こることを示すことができる。この場合、仮想アドレスのそれらの最上位ビットは、メモリ管理ユニット14によって、それらが固定値すべて0、またはすべて1であるように、チェックされるので、より上位のレベルのトップダウンページテーブルウォーク操作を実行する必要はない。これにより、64ビットのフル仮想アドレス空間が必要とされない状況について、そのようなページテーブルウォーキング操作に関連付けられる待ち時間を低減する様式で、ページテーブルウォークのレベルの数が低減される。図4は、メモリ管理ユニット14の動作の1つのビューを概略的に示したフロー図である。ステップ54において、メモリ管理ユニットは、変換のための仮想アドレスが受信されるのを待つ。そのような仮想アドレスが受信されると、ステップ56は、変換テーブルベース制御レジスタ24の制御下で変換テーブルベースレジスタ22によって示された変換テーブルの現在アクティブな階層が、4kBサイズのものであるか否かを判断する。これは、ページサイズ変数Sから読み取ることができる。そのように判断されたページサイズは、ステップ58における4kB変換テーブルを介する最大6レベルページテーブルウォークか、またはステップ60における64kB変換テーブルを介する最大4レベルページテーブルウォークのいずれかを実行するように、メモリ管理ユニット14を構成するのに役立つ。変換テーブルサイズおよびメモリページサイズにしたがって、必要なページテーブルにトップダウンページテーブルウォークが行われると、次いで、物理アドレスが生成される。図4のフロー図は単純化されており、実際には、必要な変換情報が、変換ルックアサイドバッファ20に既に格納されているかどうかを判断するような他の操作、ならびに仮想アドレスへのアクセス要求が、適切なレベルの許可を有しているか否かを判断するような他の操作を実行してもよいことが理解されよう。図5に、複数の仮想マシン実行環境を動作させるシステムを概略的に示す。そのようなシステム内では、ハイパーバイザー62は、第1のゲストオペレーティングシステム64および第2のゲストオペレーティングシステム66に仮想マシン実行環境を提供することを担当する。これらのゲストオペレーティングシステムの各々は、次いで、それぞれのアプリケーションプログラム68、70、72、74、76を管理し、それらと協働する。ハイパーバイザー62は、変換テーブルの1つのセットおよびそれ自体のページサイズ変数を用いて動作することができる。異なる仮想マシンは、任意の他の仮想マシンおよびハイパーバイザー62のセットから独立して設定されたそれら自体のページサイズ変数を有することができる。したがって、図5の第2のゲストオペレーティングシステム66は、このページサイズが、アプリケーションプログラム72、74、76によって仮定されるので、4kBページサイズをサポートするために必要なレガシーゲストオペレーティングシステムとすることができる。反対に、第1のゲストオペレーティングシステム64およびハイパーバイザー62は、64kBのメモリページサイズおよび変換テーブルサイズに対応するページサイズ変数を用いて動作することができる。これは、64ビットアドレスによってアドレス指定可能であり得るアドレス空間のような、より大きいアドレス空間にはより好適なページサイズおよび変換テーブルサイズである。