(57)【要約】効率的にメモリ・アドレスを変換する方法及び装置を用いる。この変換手法によって、変換アドレス、この変換アドレスに対するメモリ種類、及びこの変換に対する障害ビットが生成される。
2005527021.tif 000002
【特許請求の範囲】
【請求項１】
方法であって：
物理アドレス空間を複数セグメントに分割する工程；
暫定的な第１アドレスを、該物理アドレス空間からの物理アドレスから、算定する工程；
該物理アドレスに関連したベース値から暫定的なベース値を算定する工程；
該暫定的な第１アドレスと該暫定的なベース値とを比較して、変換アドレスを得るよう該物理アドレスを有効に変換し得るか否かを判定する工程；及び
該物理アドレスを有効に変換し得る場合、該物理アドレスとオフセット値とを組み合わせて該変換アドレスを得る工程；
を有することを特徴とする方法。
【請求項２】
請求項１記載の方法であって、更に：
該変換アドレスのメモリ種類を判定する工程；
を有することを特徴とする方法。
【請求項３】
請求項２記載の方法であって、更に該変換アドレスのメモリ種類を判定する工程が：
該物理アドレスに関連した該ベース値から該メモリ種類を読み取る工程；
を有することを特徴とする方法。
【請求項４】
請求項１記載の方法であって、該暫定的な第１アドレスを算定する工程が：
該暫定的なベース値と比較するよう、該物理アドレスのどのビットを該暫定的な第１アドレスに保持すべきかを判定する工程；
を有し；
更に、該暫定的なベース値を算定する工程が：
該暫定的な第１アドレスと比較するよう、ベース値のどのビットを該暫定的なベース値に保持すべきかを判定する工程；
を有することを特徴とする方法。
【請求項５】
請求項４記載の方法であって、該物理アドレスのどのビットを保持すべきかを判定する工程及び該ベース値のどのビットを保持すべきかを判定する工程が：
マスク値を該物理アドレス及び該ベース値の各々に適用する工程；
を有し、該マスク値が該物理アドレスに関連することを特徴とする方法。
【請求項６】
請求項１記載の方法であって、該物理アドレスとオフセット値とを組み合わせて該変換アドレスを得る工程が；
該物理アドレスのどのビットを該変換アドレスに保持すべきかを判定する工程；及び
該オフセット値からのビットを、該物理アドレスのビットで、該変換アドレスに保持する対象でないもの、によって置換する工程；
を有することを特徴とする方法。
【請求項７】
請求項６記載の方法であって、該どのビットを保持すべきかを判定する工程が：
マスク値を該物理アドレスに適用する工程；
を有し、該マスク値が該物理アドレスと関連することを特徴とする方法。
【請求項８】
請求項１記載の方法であって、更に：
障害警告を送出する工程；
を有することを特徴とする方法。
【請求項９】
請求項８記載の方法であって、該障害警告を送出する工程が：
該物理アドレスに対するマッピングが何も存在しない旨の通知を送出する工程；
を有することを特徴とする方法。
【請求項１０】
請求項８記載の方法であって、該障害警告を送出する工程が：
特定セグメントのアクセスの試行が行われた旨の通知を送出する工程；
を有することを特徴とする方法。
【請求項１１】
請求項１０記載の方法であって、該障害警告を送出する工程が：
障害ビットが該特定セグメントに対して設定されたか否かを検出する工程；
を有することを特徴とする方法。
【請求項１２】
請求項１記載の方法であって、該物理アドレスを有効に変換し得ない場合、該変換アドレスが該物理アドレスと同じであることを特徴とする方法。
【請求項１３】
装置であって：
複数セグメントに分割された第１アドレス空間を有するメモリ；
該メモリに結合されて、該複数セグメントのうちの１つからの第１アドレスから暫定的な第１アドレスを生成し、暫定的なベース値を生成し、更に、該暫定的な第１アドレスと該暫定的なベース値とを比較して、該第１アドレスが、第２アドレスを得るよう有効に変換し得るセグメントに属するか否かを判定する、比較論理回路；及び
該比較論理回路並びに該メモリに結合された、組み合わせ論理回路；
を有し；
該組み合わせ論理回路は該第１アドレスとオフセット値とを組み合わせて、該第２アドレスを、該比較論理回路が、該第１アドレスを有効に変換し得ることを示す場合、得ることを特徴とする装置。
【請求項１４】
請求項１３記載の装置であって、該比較論理回路が：
マスク値を該第１アドレスに適用して該暫定的な第１アドレスを得るものであり、該マスク値をベース値に適用して該暫定的なベース値を得るものであるマスク回路；
を有し、該マスク値が該第１アドレスに関連することを特徴とする装置。
【請求項１５】
請求項１３記載の装置であって、該組み合わせ論理回路が：
マスク値を該第１アドレスに適用して該第１アドレスのどのビットを該第２アドレスに保持すべきかを判定するマスク回路；及び
該オフセット値からのビットを、該第１アドレスのビットで、該第２アドレスに保持する対象でないもの、によって置換する置換回路；
を有することを特徴とする装置。
【請求項１６】
請求項１３記載の装置であって、更に：
該比較論理回路に結合された障害検出回路；
を有し、該障害検出回路が障害警告を検出し、送出するものであることを特徴とする装置。
【請求項１７】
システムであって：
プロセッサ；及び
該プロセッサに結合されたメモリ；
を有し、該メモリが複数セグメントに分割された第１アドレス空間を有し；
更に、該メモリに結合されて、該複数セグメントのうちの１つからの第１アドレスから暫定的な第１アドレスを生成し、暫定的なベース値を生成し、更に、該暫定的な第１アドレスと該暫定的なベース値とを比較して、該第１アドレスが、第２アドレスを得るよう有効に変換し得るセグメントに属するか否かを判定する、比較論理回路；及び
該比較論理回路並びに該メモリに結合された、組み合わせ論理回路；
を有し；
該組み合わせ論理回路は該第１アドレスとオフセット値とを組み合わせて、該第２アドレスを、該比較論理回路が、該第１アドレスを有効に変換し得ることを示す場合、得ることを特徴とするシステム。
【請求項１８】
請求項１７記載のシステムであって、該比較論理回路が：
マスク値を該第１アドレスに適用して該暫定的な第１アドレスを得るものであり、該マスク値をベース値に適用して該暫定的なベース値を得るものであるマスク回路；
を有し、該マスク値が該第１アドレスに関連することを特徴とするシステム。
【請求項１９】
請求項１７記載のシステムであって、該組み合わせ論理回路が：
マスク値を該第１アドレスに適用して該第１アドレスのどのビットを該第２アドレスに保持すべきかを判定するマスク回路；及び
該オフセット値からのビットを、該第１アドレスのビットで、該第２アドレスに保持する対象でないもの、によって置換する置換回路；
を有することを特徴とするシステム。
【請求項２０】
請求項１７記載のシステムであって、更に：
該比較論理回路に結合された障害検出回路；
を有し、該障害検出回路が障害警告を検出し、送出するものであることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、コンピュータに関し、特に、コンピュータ・メモリ・アドレス変換に関する。
【背景技術】
【０００２】
コンピュータ・プロセッサはシステム・メモリにアクセスして該システム・メモリにあるデータを取り出すか、該システム・メモリにデータを格納する。特に、該プロセッサは該メモリにおけるデータの物理アドレスを用いて該データを識別し、該データにアクセスする。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、該物理アドレスで、データが該メモリにおいて格納されている場所、は該プロセッサが内部操作中に該データを索引付けするのに用いるアドレスではない。むしろ、該プロセッサはプログラム命令によって処理されるデータに仮想アドレスを割り当てる。したがって、メモリをアクセスすることは通常、仮想アドレスを物理アドレスに変換することを要する。
【課題を解決するための手段】
【０００４】
多くのプロセッサは仮想すなわちデマンド・ページ型、のメモリ手法で、プログラムの実行環境の領域が必要に応じて物理メモリにマッピングされるもの、を用いる。仮想メモリ手法によって該プロセッサの仮想アドレス空間よりも容量的にずっと小さい物理メモリを用いることが可能となり、メモリを、同じ物理メモリを共有する複数のプログラムがお互いに不利益になるように干渉しないように、保護する仕組みを備える。
【０００５】
仮想メモリ手法においては、仮想アドレス空間及び物理アドレス空間は隣接するアドレスのブロックに分割されるので、仮想アドレス及び物理アドレスは多くて１つのブロックに属する。該ブロックは、一定容量のものであり得るものであるか、システム及び／又はプログラムの実行要件が要求する可変容量を有し得る。
【０００６】
これらのブロックは通常、容量が一定すなわち固定の場合、ページとして呼ばれる。可変容量のブロックが用いられる場合、該ブロックはセグメントとして呼ばれる。したがって、仮想アドレス空間はセグメントとページとの何れかに分割し得る。通常のページの容量は約４キロバイトである。
【発明を実施するための最良の形態】
【０００７】
種々の実施例を添付図面の図表において、限定的な目的ではなく、例示の目的で、示し、同じ参照記号は同様な構成要素を示す。本明細書及び特許請求の範囲の原文における実施例に関する「ａｎ  ｅｍｂｏｄｉｍｅｎｔ」、「ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ」、又は「ｖａｒｉｏｕｓ  ｅｍｂｏｄｉｍｅｎｔｓ」に対する参照は必ずしも同じ実施例に対するものでなく、そのような参照は少なくとも１つの実施例を表すものであることを特筆する。
【実施例】
【０００８】
本明細書及び特許請求の範囲に開示した種々の実施例は効率的なアドレス変換手法で、変換アドレス、該変換アドレスに対するメモリ種類、及び該変換に対する障害ビットを生成するもの、を実施する。本明細書における以下の記載では、説明の目的で、種々の特定の詳細を、種々の実施例を徹底的に理解することができるように、示している。しかしながら、当業者には該実施例がこれらの特定の詳細の一部なしで実施し得ることは明らかになるものである。例えば、種々の信号、配置パターン及び論理回路をこれらの種々の実施例の開示内容によって修正し得る。
【０００９】
以下の明細書及び添付図面では例示の目的で例を備える。しかしながら、これらの例は、全ての考えられる実施内容を網羅的に列挙することを意図するものでないため、限定的な意味合いで解釈されるべきでない。別の場合では、周知の構造及び装置を、これら種々の実施例の詳細を分かりにくくすることを回避するために割愛又は簡素化している。
【００１０】
次に図１を参照すれば、流れ図で、第１アドレスを第２アドレスに仮想マシン環境において変換する方法を示すもの、を表す。仮想マシン環境では、（本明細書及び特許請求の範囲ではゲスト・オペレーティング・システムとして表す）オペレーティング・システムの制御下で生成される物理アドレスはゲスト物理アドレス（例えば、図１における第１アドレス）として表す。これらのゲスト物理アドレスはホスト物理アドレス（例えば、図１における第２アドレス）に、仮想マシン・モニタによって、該物理アドレスに関連するメモリ範囲に割り当てられたメモリ種類のコンテンツに応じて、変換される。
【００１１】
該メモリ種類は複数のデータ構造に格納し得るものであり、必要に応じてアクセスし得る。別のデータの中では、メモリ種類は、特定のアドレス範囲からの物理アドレスに対して何らかの変換を行うべきか否かを示し、特定のアドレス範囲に対するアクセスが障害を発生させるか否かを示す。種々の実施例では、メモリ種類におけるオフセット・ビットは変換を行うべきか否かを示す。変換が何も行われるべきでない場合、変換アドレスは物理アドレスと同じである。変換が行われることが可能にされる場合、以下に表すマッチング関数及び組み合わせ関数が実行される。
【００１２】
図１のブロック１０では、暫定的な第１アドレスが第１アドレスから算定される。該第１アドレスは物理アドレス空間（例えば、メモリ）の複数セグメントのうちの１つと関連する。好ましくは、これらのセグメントは、互いに素である、すなわち、それらの一部が互いに重なり合うものでない。
【００１３】
互いに素であるセグメントは、各アドレスが１セグメントのみに属するので、好ましいものである。これによって、２つの異なるマッピングが２つの一部重なり合うセグメントに属するアドレスによって生成される場合に必要な競合解消、の必要がなくなる。
【００１４】
第１アドレスに対するメモリ種類が変換を行うべきであることを示すものであるとすれば、ブロック１２で、暫定的なベース値が第１アドレスに関連するベース値から算定される。暫定的な第１アドレス及び暫定的なベース値はブロック１４で比較される。判定ブロック１６では、第１アドレスを変換すべきか否かを判定する。
【００１５】
ブロック１６での判定は暫定的な第１アドレスと暫定的なベース値との、「マッチング」で、ブロック１４で行われる比較によって表されるようなもの、があるか否かに基づくものである。暫定的な第１アドレスと暫定的なベース値とのマッチングがある場合、第１アドレスを変換し得る。マッチング関数は、第１アドレスに対する有効な変換が存在することを検証するよう実行される。
【００１６】
種々の実施例では、暫定的な第１アドレスと暫定的なベース値とのマッチングがあるか否かを判定するのに以下の方程式が用いられる：
（アドレス(Address)＆マスク（Ｍａｓｋ））＝（ベース（Ｂａｓｅ）＆マスク
（Ｍａｓｋ））                            方程式１
該方程式の左辺は暫定的な第１アドレスを表し、該方程式の右辺は暫定的なベース値を表す。特に、第１アドレスに関連したマスク値は別個に（例えば、論理ＡＮＤ関数によって）第１アドレスとベース値との両方に適用される。
【００１７】
マスクによって規定されるビット位置は全て、比較するよう保持される。例えば、マスク値が１１１１００００である場合、第１アドレスの最上位４ビット（例えば、マスクが一度適用された暫定的な第１アドレス）は暫定的なベース値（例えば、ベース値の最上位４ビット）と比較されるよう保持される。
【００１８】
該方程式の各辺の値が同等である場合は、暫定的な第１アドレスと暫定的なベース値とのマッチングがある。そうでない場合は、第１アドレスに対する有効な変換は存在しない。
【００１９】
別のマッチングの手順も用い得ることを特筆する。例えば、第１アドレスを有効に変換し得るか否かを判定するのに範囲検査を用い得る。
【００２０】
ここで用いられるマッチングの手順にかかわらず、マッチングがあり、オフセットを適用すべきであることをメモリ種類が示す場合は、ブロック２０で、第１アドレスとオフセット値との「組み合わせ」が行われて第２アドレス（例えば、変換アドレス）を得る。マッチングがない場合は、障害警告がブロック１８で送出される。ブロック２０及びブロック１８各々で行われる動作は順次記載する。
【００２１】
マッチングがある場合、一実施例におけるブロック２０の組み合わせ関数は上記のマッチングの方程式（例えば、方程式１）と同様なビット毎の論理演算である。具体的には、以下の方程式が用いられて第１アドレス、アドレス（Ａｄｄｒｅｓｓ）１、を変換して第２アドレス、アドレス（Ａｄｄｒｅｓｓ）２、を得る：
アドレス（Ａｄｄｒｅｓｓ）２＝（アドレス（Ａｄｄｒｅｓｓ）１＆〜マスク（Ｍａｓｋ））│（オフセット（Ｏｆｆｓｅｔ）＆マスク（Ｍａｓｋ））    方程式２
「＆」は論理ＡＮＤ関数を表し、「│」は論理ＯＲ関数を表す。「〜」はその直後の値の逆数を表す。
【００２２】
したがって、マスクによって規定されるオフセット・ビットは、〜マスクによって置換される対象となるよう規定される、アドレス１のビット、を置換する。例えば、アドレス１がＡＡＡＡＡＡＡＡであり、オフセットがＴＴＴＴＴＴＴＴであり、マスクが１１１１００００である場合、アドレス２はＴＴＴＴＡＡＡＡとなる。この結果は、オフセットの最上位４ビットがアドレス１の最上位４ビットを置換すべきであることをマスクが規定し、アドレス１の最下位４ビットを保持すべきであることを〜マスクが規定したことによるものである。
【００２３】
別の実施例では、ブロック２０の組み合わせ関数はオフセット値を第１アドレスに加算して第２アドレスを得ることによって実現される。
【００２４】
種々の実施例は更に、変換アドレスのメモリ種類を判定することを含む。この判定処理は変換と同時に行われるか、変換が完了した後に行われるかの何れかである。一実施例では、変換アドレスに対するメモリ種類は物理アドレスとのマッチングがあったベース値に関連する。
【００２５】
次にブロック１８に注目すれば、物理アドレスに対するマッピングが存在しないことを示す障害警告が送出される。通常、ゲスト・オペレーティング・システムがメモリの領域で、デバイス又はアドレスで、そのようなアクセス試行に応答すべきもの、を有しないもの、へのアクセスを試行する場合、物理アドレスに対するマッピングは何も存在しない。
【００２６】
障害警告は更に、特定のセグメント（例えば、物理アドレスが属するセグメント）へのアクセスが試行された旨の通知を伴い得る。例えば、そのような通知は、特定セグメントに対する障害ビットが設定されたか否かを検出することによって送出し得る。実施例に応じて、障害ビットは１つ又は複数の値に設定し得る。一実施例では、障害ビットは変換対象物理アドレスとのマッチングがあったベース値に関連したメモリ種類に設定される。
【００２７】
図２は上記のマッチング関数と組み合わせ関数との間の相互作用の一実施例を表す論理図である。３２ビットのアドレスを表しているが、本明細書及び特許請求の範囲記載の種々の実施例は、３２ビットよりも多いビット数でも、３２ビットよりも少ないビット数でも、形成し得る。３２ビットの物理アドレス、ＰＡ、の各ビットは解析されてマッチングがあるか否かを判定する。該ビット全てにマッチングがある限り、変換アドレス、ＴＡ、が生成される。しかしながら、完全なマッチングがない場合には、システム構成に応じて障害通知を送出し得る。
【００２８】
例えば、物理アドレス・ビットのマッチングがある場合、そのマッチングのあったビットと、オフセット値からの適切なビットとの、上記のような、組み合わせが実行され、変換ビットを得る。該変換ビットと、残りの、適切にマッチングがあって、かつ、変換されたビット、の全てとの組み合わせが実行され、変換アドレスが形成される。
【００２９】
図３は上記のアドレス変換を行う仮想マシン変換（「ＶＭＴＲ」）装置４８を有するコンピュータ・システム２２の例を表す。具体的には、コンピュータ・システム２２は、中央処理装置（「ＣＰＵ」）４０、中央処理装置４０に結合されたメモリ４２、中央処理装置内に配置された仮想マシン変換装置４０、及びチップセット４４を含む。図３は中央処理装置４０内に配置された仮想マシン変換装置４８を表すが、仮想マシン変換装置４８を、コンピュータ・システム２２内部の別の場所に配置させるか、コンピュータ・システム２２からも離れた場所に配置させるがなお該コンピュータ・システムに結合させることを想定する。コンピュータ・システム２２は外部デバイス（例えば、キーボード、マウス、モニタ、など）と入出力バス４６を介して通信し合う。
【００３０】
実施例では、コンピュータ・システム２２は、メモリ４２で、その少なくとも一部分が複数セグメントに分割されたもの、該メモリに結合された比較論理回路、及び該比較論理回路並びに該メモリに結合された組み合わせ論理回路を含む。図３には表していないが、比較論理回路及び組み合わせ論理回路は仮想マシン変換装置４８内に配置される。
【００３１】
図４及び７は比較論理回路の論理表現を表す。具体的には、比較論理回路は上記方程式１に示すマッチング演算を行うことを企図している。図４に表すように、暫定的な第１アドレスはＡＮＤゲート２４によって算定され、暫定的なベース値はＡＮＤゲート２６によって算定される。ゲート２８は、反転された排他的論理和（ｅｘｃｌｕｓｉｖｅ  ＯＲ）ゲートで、ゲート２４からの出力とゲート２６からの出力が等しいか否かを判定することを表すもの、である。この判定結果が肯定の場合は、マッチングが存在する。この判定結果が否定の場合は、マッチングは存在しない。
【００３２】
このマッチング演算はビット毎に実行され、並列に実行し得る。マッチング演算を全てのビットについて実行する（例えば、ビット・マッチング（ＢｉｔＭａｔｃｈ）〔ｉ〕をｉの全ての値について判定する。）ことによって、図７に表すように、全体のマッチング、マッチング（Ｍａｔｃｈ）Ｎが判定される。特に、ＡＮＤゲート６４は、物理アドレスの全てのビットにマッチングがあることを検証する。全てのビットにマッチングがあり、適切なメモリ種類範囲レジスタで、以下に詳細を記載するもの、が（例えば、アクティブ（Ａｃｔｉｖｅ）Ｎ信号によって識別されて）活性状態にある場合、ＡＮＤゲート６６は変換を行い得ることを示す出力ＭａｔｃｈＮを生成する。代替として、ＭａｔｃｈＮは、最終物理アドレスが入力物理アドレスと同じになるように、変換を行うべきでない旨を示し得る。これは物理アドレスにマッチングがないか、メモリ種類範囲レジスタが非活性状態にあることによって起こり得る。
【００３３】
図５は組み合わせ論理回路の論理表現を表す。特に、組み合わせ論理回路は上記方程式において示した組み合わせ演算を行うことを企図したものである。ＡＮＤゲート３０は物理アドレス、ＰＡ、のどのビットが変換アドレス、ＴＡ、において保持する対象とするかを判定するのに用いられる。ＡＮＤゲート３２はオフセット値のどのビットを、変換アドレスにおいて保持される対象でない物理アドレス・ビットを置換する対象とするかを判定するのに用いられる。
【００３４】
変換アドレスはＯＲゲート３４によって算定される。パス・ゲート３６は、ＯＲゲート３４からの信号のみを、（図７からの）ＭａｔｃｈＮが、物理アドレスを変換すべきである旨を示す場合に、変換アドレスとして通過させることを可能にするものである。図２に表すように、マッチング関数（図４及び７）及び組み合わせ関数（図５）は種々の実施例においてビット毎に実行される。
【００３５】
図６Ａ及び６Ｂはインテル（Ｉｎｔｅｌ）社の３２ビットのアーキテクチャのプロセッサの実施例で、変換アドレス及びメモリ種類（「ＭＴ」）が入力物理アドレスから導き出されるもの、の論理図を表す。特に、変換装置５０は固定範囲のメモリ種類範囲レジスタ（「ＭＴＲＲ」）のテーブル５２を含む。図示する実施例では、これらの固定範囲ＭＴＲＲはゼロ（０）メガバイトと１メガバイトとの間の範囲に収まるアドレスに対するメモリ種類を備える。しかしながら、この固定範囲は変動し得る。ここでは、ゼロ（０）メガバイトと１メガバイトとの間の範囲を選択したが、この範囲のメモリは伝統的に、大いに断片化されたものであることがその理由である。
【００３６】
変換装置５０は更に、可変範囲ＭＴＲＲのテーブル５４を含む。可変範囲ＭＴＲＲはいくつかの可変サイズ範囲に対するメモリ種類を規定する。該範囲はベース値及びマスク値によって規定される。各範囲は更に、有効ビット、（障害ビット及び、オフセット・ビットで、変換するか否かを示すもの、を含み得る）メモリ種類、及びオフセット値と関連する。これらの値は、上記のように、用いられて、第１アドレスを変換するか否かを判定し、更に必要な場合には第１アドレスを変換する。
【００３７】
障害検出論理５６は比較論理回路（で、図４及び７にその論理表現を表すもの）に結合された障害検出回路を表す。障害検出論理５６はユーザ選好に基づいて障害警告を検出し、送出する。上記のように、障害警告は、マッピングが何も存在しないか、特定のセグメントのアクセスが試行された場合に送出し得る。
【００３８】
ＭＴＲＲｄｅｆＴｙｐｅレジスタ５８は変換装置５０の演算を制御する。特に、ＭＴＲＲｄｅｆＴｙｐｅレジスタ５８は固定のものと可変のものとの両方のＭＴＲＲが活性状態にあるか否かを制御するイネーブル・フィールド（「Ｅ」）を有する。ＭＴＲＲｄｅｆＴｙｐｅレジスタ５８の固定イネーブル・フィールド（ＦＥ）は固定範囲レジスタが動作可能にされるか否かを制御する。したがって、該イネーブル・フィールドが、ＭＴＲＲが活性状態にあることを示す場合、変換を行い得る。ＭＴＲＲが非活性状態にある場合、ＭＴＲＲｄｅｆＴｙｐｅレジスタ５８からの種類（Ｔｙｐｅ）フィールドによって規定されるメモリ種類が用いられる。
【００３９】
したがって、変換装置５０は入力物理アドレス（例えば、第１アドレス）を取り込み、必要な場合には、該アドレスを変換し、最終物理アドレス（例えば、第２アドレス）、最終物理アドレスに対するメモリ種類、及び障害ビットを出力する。多重化装置６０はメモリ種類を、固定範囲ＭＴＲＲのテーブル５２と、可変範囲ＭＴＲＲのテーブル５４との何れかからか、ＭＴＲＲｄｅｆＴｙｐｅレジスタ５８から、出力する。
【００４０】
多重化装置６２はオフセット・ビットが設定されているか否かに基づいてアドレスを出力する。オフセット・ビットが変換を行うべきでないことを示す場合、最終物理アドレスは入力物理アドレスと同じになる。オフセット・ビットがアドレスを変換すべきであることを示す場合、可変範囲ＭＴＲＲのテーブル５４から（例えば、上記のマッチング及び組み合わせによって）得られる変換アドレスが最終物理アドレスとなる。
【００４１】
上記本明細書では、種々の実施例の数々の特性及び効果を、構成及び関数の詳細とともに、示したが、この開示内容は単に、例示的なものであることが分かる。変更は、特に構成部分の構成及び取り扱いの問題において、詳細に、本特許請求の範囲の広範囲にわたる概括的な意味合いによって表す種々の実施例の範囲から逸脱することなく、行い得るものである。
【図面の簡単な説明】
【００４２】
【図１】第１アドレスを第２アドレスに仮想マシン環境において変換する一方法を表す流れ図である。
【図２】種々の実施例のマッチング関数及び組み合わせ関数によって仮想マシン変換を実現するよう相互作用する方法を示す論理図である。
【図３】中央処理装置に配置された仮想マシン変換（「ＶＭＴＲ」）装置を有するコンピュータの図である。
【図４】実施例のビット毎マッチング関数がマスク値及びベース値によって実現される方法を示す論理図である。
【図５】実施例の組み合わせ関数がマスク値及びオフセット値によって実現される方法を示す論理図である。
【図６Ａ】一実施例が要するロジックで、仮想マシン変換を行って変換アドレス、変換アドレスに対するメモリ種類、及び変換に対する障害ビットを得るもの、を示す図である。
【図６Ｂ】一実施例が要するロジックで、仮想マシン変換を行って変換アドレス、変換アドレスに対するメモリ種類、及び変換に対する障害ビットを得るもの、を示す別の図である。
【図７】実施例で、各ビットのマッチングがあることを検証し、適切なメモリ種類範囲のレジスタが活性状態にあることを検証するもの、を示す論理図である。
【図１】
2005527021.tif 000003
【図２】
2005527021.tif 000004
【図３】
2005527021.tif 000005
【図４】
2005527021.tif 000006
【図５】
2005527021.tif 000007
【図６Ａ】
2005527021.tif 000008
【図６Ｂ】
2005527021.tif 000009
【図７】
2005527021.tif 000010
【国際調査報告】
2005527021.tif 000011
2005527021.tif 000012
2005527021.tif 000013