"第1のページサイズの第1のメモリを有する対象実行環境における実行を目的としたバイナリコンピュータコードの少なくとも1つの第1のブロックを、前記第1のページサイズとは異なる第2のページサイズの第2のメモリを有する第2の実行環境における実行のための少なくとも1つの第2のブロックへと変換するための動的バイナリトランスレータ装置であって、前記第1のメモリのメモリページ特性に応じて、前記第1のメモリの少なくとも1つのアドレスを前記第2のメモリのアドレスにマッピングするためのリダイレクトページマッパと、前記第2のブロックの実行中にメモリ障害を検出し、障害カウントをトリガしきい値まで累算することを実行するように動作可能なメモリ障害挙動検出器と、前記障害カウントが前記トリガしきい値に達したことに応じて、前記第2のブロックを廃棄し、ページテーブルウォークにより再マッピングされたメモリ参照を用いて前記第1のブロックを再変換済みブロックへと再変換することを実行するように動作可能な再生成コンポーネントと、を備える、装置。前記第1のメモリの前記メモリページ特性がページ保護特性を備える、請求項1に記載の装置。前記第1のメモリの前記メモリページ特性がファイル裏付けメモリ特性を備える、請求項1または2に記載の装置。さらに前記再生成コンポーネントが、前記第1のメモリの少なくとも1つのアドレスの前記第2のメモリのアドレスへの前記マッピングが同じアドレスを戻す場合に、前記ページテーブルウォークをバイパスするように動作可能である、前記請求項のいずれか一項に記載の装置。さらに前記再生成コンポーネントが、メモリアクセスが再マッピングを必要としないタイプのメモリへのメモリアクセスとして識別される場合に、前記ページテーブルウォークをバイパスするように動作可能である、前記請求項のいずれか一項に記載の装置。第1のページサイズの第1のメモリを有する対象実行環境における実行を目的としたバイナリコンピュータコードの少なくとも1つの第1のブロックを、前記第1のページサイズとは異なる第2のページサイズの第2のメモリを有する第2の実行環境における実行のための少なくとも1つの第2のブロックへと変換するための動的バイナリトランスレータを操作する方法であって、リダイレクトページマッパが、前記第1のメモリのメモリページ特性に応じて、前記第1のメモリの少なくとも1つのアドレスを前記第2のメモリのアドレスにマッピングするステップと、メモリ障害挙動検出器が、前記第2のブロックの実行中にメモリ障害を検出し、障害カウントをトリガしきい値まで累算するステップと、再生成コンポーネントが、前記障害カウントが当該トリガしきい値に達したことに応じて、前記第2のブロックを廃棄し、ページテーブルウォークにより再マッピングされたメモリ参照を用いて前記第1のブロックを再変換済みブロックへと再変換するステップと、を含む、方法。前記第1のメモリのメモリページ特性がページ保護特性を備える、請求項6に記載の方法。前記第1のメモリのメモリページ特性がファイル裏付けメモリ特性特徴を備える、請求項6または7に記載の方法。さらに前記再生成コンポーネントが、前記第1のメモリの少なくとも1つのアドレスの前記第2のメモリのアドレスへの前記マッピングが同じアドレスを戻す場合に、前記ページテーブルウォークをバイパスするように動作可能である、請求項6から8のいずれか一項に記載の方法。さらに前記再生成コンポーネントが、メモリアクセスが再マッピングを必要としないタイプのメモリへのメモリアクセスとして識別される場合に、前記ページテーブルウォークをバイパスするように動作可能である、請求項6から9のいずれか一項に記載の方法。請求項6から10のいずれか一項に記載の方法のステップをコンピュータに実行させる、コンピュータプログラム。したがって、対象コンピューティング環境と目標コンピューティング環境との間でのメモリ管理における相違によって動的バイナリトランスレータに課せられる制約を克服する、改良された方法を有することが望ましい。したがって本発明は、第1の態様において、第1のページサイズの第1のメモリを有する対象実行環境における実行を目的としたバイナリコンピュータコードの少なくとも1つの第1のブロックを、第1のページサイズとは異なる第2のページサイズの第2のメモリを有する第2の実行環境における実行のための少なくとも1つの第2のブロックへと変換するための、動的バイナリトランスレータ装置を提供する。装置は、第1のメモリのメモリページ特性に応じて、第1のメモリの少なくとも1つのアドレスを第2のメモリのアドレスにマッピングするためのリダイレクトページマッパと、第2のブロックの実行中にメモリ障害を検出し、障害カウントのトリガしきい値までの累算を実行するように動作可能なメモリ障害挙動検出器と、障害カウントがトリガしきい値に達したことに応じて当該第2のブロックを廃棄し、ページテーブルウォークにより再マッピングされたメモリ参照を用いて当該第1のブロックを再変換済みブロックへと再変換することを実行するように動作可能な再生成コンポーネントを備える。好ましくは、第1のメモリのメモリページ特性はページ保護特性を備える。好ましくは、第1のメモリのメモリページ特性はファイル裏付けメモリ特性を備える。好ましくは、さらに再生成コンポーネントは、第1のメモリの少なくとも1つのアドレスの第2のメモリのアドレスへの当該マッピングが、同じアドレスを戻す場合に、ページテーブルウォークをバイパスするように動作可能である。好ましくは、さらに再生成コンポーネントは、メモリアクセスが、再マッピングを必要としないタイプのメモリへのメモリアクセスとして識別される場合に、ページテーブルウォークをバイパスするように動作可能である。第2の態様では、第1のページサイズの第1のメモリを有する対象実行環境における実行を目的としたバイナリコンピュータコードの少なくとも1つの第1のブロックを、第2のページサイズの第2のメモリを有する第2の実行環境における実行のための少なくとも1つの第2のブロックへと変換するための動的バイナリトランスレータを操作する方法が提供される。第2のページサイズは第1のページサイズとは異なるものである。方法は、第1のメモリのメモリページ特性に応じて、リダイレクトページマッパが、第1のメモリの少なくとも1つのアドレスを第2のメモリのアドレスにマッピングするステップと、メモリ障害挙動検出器が、第2のブロックの実行中にメモリ障害を検出し、障害カウントをトリガしきい値まで累算するステップと、障害カウントがトリガしきい値に達したことに応じて、再生成コンポーネントが、第2のブロックを廃棄し、ページテーブルウォークにより再マッピングされたメモリ参照を用いて当該第1のブロックを再変換済みブロックへと再変換するステップを含む。好ましくは、第1のメモリのメモリページ特性はページ保護特性を備える。好ましくは、第1のメモリのメモリページ特性はファイル裏付けメモリ特性を備える。好ましくは、さらに再生成コンポーネントは、当該第1のメモリの少なくとも1つのアドレスの当該第2のメモリのアドレスへの当該マッピングが、同じアドレスを戻す場合に、当該ページテーブルウォークをバイパスするように動作可能である。好ましくは、さらに再生成コンポーネントは、メモリアクセスが、再マッピングを必要としないタイプのメモリへのメモリアクセスとして識別される場合に、当該ページテーブルウォークをバイパスするように動作可能である。第3の態様では、コンピュータシステムにロードされ、そこで実行された場合、第2の態様に従った方法の諸ステップを当該コンピュータシステムに実行させるコンピュータプログラムが提供される。したがって、本発明の好ましい諸実施形態は、有利なことに、対象コンピューティング環境と目標コンピューティング環境との間でのメモリ管理における相違によって動的バイナリトランスレータに課せられる制約を克服する、改良された方法を提供する。次に、本発明の好ましい実施形態について、添付の図面を参照しながら単なる例示として説明する。図5には、本発明の好ましい実施形態に従った物理コンポーネントまたは論理コンポーネントの装置または配置構成が簡略化された概略図の形で示されている。図5では、第1のページサイズの第1のメモリ506を有する対象実行環境504における実行を目的としたバイナリコンピュータコードの少なくとも1つの第1のブロック502を、第2のページサイズの第2のメモリ512を有する第2の実行環境510における実行のための少なくとも1つの第2のブロック508へと変換するための、動的バイナリトランスレータ装置500が示されている。第2のページサイズは第1のページサイズとは異なるものである。動的バイナリトランスレータ装置500は、第1のメモリ506のメモリページ特性に応答して、第1のメモリ506の少なくとも1つのアドレスを第2のメモリ512のアドレスにマッピングするためのリダイレクトページマッパ514を備える。加えて、動的バイナリトランスレータ装置500は、第2のブロック508の実行中にメモリ障害を検出し、障害カウントをトリガしきい値まで累算することを実行するように動作可能なメモリ障害挙動検出器516と、障害カウントがトリガしきい値に達したことに応じて、第2のブロック508を廃棄し、ページテーブルウォークにより再マッピングされたメモリ参照を用いて第1のブロック502を第2のブロック508の再変換済みバージョンへと再変換することを実行するように動作可能な再生成コンポーネント518を備える。本発明の好ましい実施形態に従うシステムに関して見てきたが、次に、本発明の好ましい実施形態に従った動的バイナリトランスレータの操作方法をフローチャートの形式で示した図6に目を向けてみる。図6では、第1のページサイズの第1のメモリを有する対象実行環境における実行を目的としたバイナリコンピュータコードの少なくとも1つの第1のブロックを、第2のページサイズの第2のメモリを有する第2の実行環境における実行のための少なくとも1つの第2のブロックへと変換するための動的バイナリトランスレータ装置を操作する方法の諸ステップが示されている。第2のページサイズは当該第1のページサイズとは異なるものである。開始ステップ600で開始され、第1のメモリのメモリページ特性を決定するステップ602と、リダイレクトページマッパによって、当該第1のメモリの少なくとも1つのアドレスを当該第2のメモリのアドレスにマッピングするステップ604とを含む。ステップ606では、メモリ障害挙動検出器が、第2のブロックの実行中にメモリ障害を検出し、障害カウントをトリガしきい値まで累算する。ステップ608では、障害カウントがトリガしきい値に達したことに応答して、動的バイナリトランスレータの再生成コンポーネントが第2のブロックを廃棄し、ページテーブルウォークにより再マッピングされたメモリ参照を用いて第1のブロックを第2のブロックの再変換済みバージョンへと再変換する。このプロセスは終了ステップ610で終了する。したがって提案された機構は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせのいずれで具体化されるかに関わらず、追加のオペレーティングシステムの修正を必要とすることなく、幅広い領域のアプリケーションの動作について良好な性能特性を提供する単一の目標ページサイズ領域内でのマップタイプの混合をサポートするための手段を提供する。対象プログラムマッピング要求は、可能であれば要求された場所において提供される。すなわち、単一のマップタイプのみが要求され、満たされていない可能性のあるファイルオフセット制約がない場合、マップは対象アクセス可能メモリ内に直接配置され、いかなる追加のアドレス変換も不要である。こうした直接マッピングが不可能な場合、マップは、動的バイナリトランスレータによってアクセス可能であるが対象プログラムによっては直接アクセス不可能なメモリの好適な領域内に配置される。次に、対象可視アドレススペースの対応部分がアクセス不可としてマーク付けされる。結果としてアクセスは障害faultとなる。かかる領域へのアクセスが実行された場合、障害が処理されて正しいアクセスが信号ハンドラによって実行される。第1の好ましい実施形態では、観察されたアプリケーションの動作に基づく、障害処理からページテーブルルックアップへのモード切換え手段が提供される。短期間に多数の障害が見られた場合、トランスレータは自ら生成したすべての実行可能コードを破棄し、各アクセスについてページテーブルウォークを実行するコードの生成を開始する。これによって目標仮想アドレススペース内の適切な位置へとアドレスを変換することになる。障害処理機構は、必要であれば依然として有効であることに留意されたい。ページテーブルは、対象アドレスから適切な目標アドレスへのマッピングを提供するトランスレータによって生成される。他の好ましい実施形態では、ルックアップオーバヘッドを減らすために、ほぼ線形の対象アドレスから目標アドレスへのマッピングを用いた部分的なページテーブルウォークを使用するための手段が提供可能である。最適化の例として、ページテーブルは変換が必要なページについてのみ記入され、ページテーブル内の他のエントリはemptyとしてマーク付けされる。このようなエントリに遭遇した場合、ルックアップは早期に停止し、オリジナルの未変換アドレスが使用される。ページテーブル自体の使用は当技術分野で知られているが、ほとんどのアドレスが変換なしに直接マッピングし、ショートカットパスが使用可能なページテーブルの使用は、既知の技術分野における有利な改良である。他の最適化として、アクセスタイプの静的変換時評価に基づいた、ページルックアップオーバヘッドからのアクセス除外のための手段が提供される。この最適化では、アドレス変換が必要な可能性が低いとみなされるアクセスは、ページテーブルルックアップなしに実行可能であり、たとえばスタックへのアクセスはコード変換時に容易に検出可能であり、ファイル裏付けマップまたは共有メモリへのアクセスが必要な可能性は低い。一代替実施形態では、アクセスモードをアクセスごとに切り換えるための手段を提供する。この最適化では、すべてのコードはページテーブルルックアップなしに生成可能であり、コードの個々のブロックは、それらのアドレスで障害が観察された場合にルックアップを含めるように再生成することができる。他の代替実施形態は、アドレスルックアップが必要な時点を決定するために、低コストランタイムフィルタとしてのマスクされたアドレスの比較を提供する。この代替手法では、可変ビットマスクを使用し、各アドレスにマスクを適用し、既知の値と比較して、ルックアップが必要であることがわかっている領域内にそのアドレスが存在するかどうかを決定することによって、アドレス変換が必要となるアクセスをフィルタリングすることが可能である。本発明の細部は、以下で詳細に説明するような、本明細書の図7および図8に示された作業例に最も良く表されている。説明のために、対象ページサイズは4k、目標ページサイズは64kであるものと仮定されている。ページ保護は、PowerLinux上に提供されるsubpage_protシステムコールなどの機能を使用して、4k粒度で適用可能であることが想定されている。しかしこうした機能が使用できなかった場合、前述のような保護のソフトウェア実装を代わりに使用することができる。当業者であれば、本発明の諸実施形態による同様に有利な方法で、多くの他のページサイズ特性が取扱い可能であることは明らかであろう。図7を見ると、例示的な対象ページマップ100および例示的な目標ページマップ102が示されている。まず初めに、対象プログラムのバイナリ700、動的リンカ702、スタック704、およびヒープ706がマッピングされる。動的バイナリトランスレータによってプログラムが実行されると、1つまたは複数のランタイムライブラリ708もマッピングされる。この例では、これらのマッピングはすべて直接実行可能であり、本発明の好ましい諸実施形態が提供する特別な機構は不要である。対象プログラムで遭遇する各命令に対して、トランスレータは目標アーキテクチャ上で実行可能な等価命令を生成し、ロードおよび格納のために特別なアドレス操作は一切実行されず、メモリには直接アクセスされる。次に、対象プログラムは0x10000000で匿名メモリのページにマッピングし、アドレス0x10001000のファイル裏付けメモリのページが後に続く。目標オペレーティングシステムはこのマッピングをサポートできないため、トランスレータはファイル裏付けメモリをアドレススペースの異なる部分に配置し、0x10001000のページをアクセス不可としてマーク付けしなければならない。この状況が図8に示されている。アドレス0x10001000のページにアクセスしようとすると障害が受信され、トランスレータはこれを受け取って、0xF00000000でのマッピング104内にアクセスするための正しいアドレスを計算し、そのアドレスでのアクセスを実行する。したがって第1の好ましい実施形態では、観察されたアプリケーションの動作に基づく、障害処理からページテーブルルックアップへの動的モード切り換えのための方法および装置が提供される。0x10001000のこのファイル裏付けマップに対して多くのアクセスが実行された場合、障害ハンドラにおけるこれらの障害の処理および適切なアドレス変換実行のコストが、アプリケーションの性能を支配することになる。このようにアクセスを実行するコストは、障害処理のコストを含め、メモリに直接アクセスするよりも2倍から3倍となる可能性があることに留意されたい。各障害を受信した時点で、トランスレータは障害の合計数を記録し、かなり多くの数が受信された場合、または所与の期間内にかなり高い率で障害が観察された場合、トランスレータは、障害のコストを避けるためにアドレス変換が各アクセスについてランタイム時に実行される、異なる動作モードに切り換えることができる。トランスレータは、対象アドレスを目標アドレスにマッピングするページテーブルを生成する。ほとんどのアドレスでは、ほとんどのマップが依然として等価の場所にマッピングされるように、ページテーブルは実際に対象アドレスを同じ目標アドレスへと再マッピングすることになる。しかし、問題のファイルアクセスの場合、ページテーブルは0xF00000000に相対的な目標アドレスへとアドレスをマッピングすることになる。ページテーブルは、前述のマニュアルで説明されているような、IntelIA-32アーキテクチャによって使用されるページテーブルと同様に構築可能である。しかし、ページ保護は依然としてオペレーティングシステムの既存の機能を使用して処理できるため、このページテーブルはマップの保護に関する情報を記録する必要がない。アクセスされることになるアドレスが0x1000101Cの場合、ページテーブルの関連部分は図9に示されるようになる。ここではすべての生成されたコードが廃棄され、再生成されるが、各対象のロードまたは格納のための単純なロードまたは格納命令を生成する代わりに、正しいアドレスを計算するためのページテーブルルックアップが生成される。コードの例示的実施形態では、対象命令については以下のようなものとなる。loadbr1,r2r3アドレスr2r3からバイトをロードし、結果をr1内に配置するそして結果として、以下のような目標命令シーケンスが生じる。addr12,r2,r32つのアドレスレジスタを追加することによって対象アドレスを計算するsrr13,r12,22アドレスの上位10ビットを取得するslr13,r12,38倍することによってインデックスを第1レベルのテーブルに入れる各エントリは8バイトアドレスであるldr13,r13r30第1レベルのページテーブルからアドレスをロードするr30はここでは第1レベルのテーブルのアドレスを含むsrr14,r12,12アドレスの上位20ビットを取得するandr14,r14,0x3ffアドレスの次の10ビットを取得し、インデックスを第2レベルのテーブルに入れるslr14,r14,38倍することによってインデックスを第2レベルのテーブルに入れるldr15,r13,r14第2レベルのテーブルからページアドレスをロードするandr16,r13,0xfff対象アドレスからオフセットをページに入れるlbr1,r15,r16新規ページアドレスからロードするページのオフセット必要な追加のチェック回数を減らすため、マッピングされていないページがあれば、それらのページテーブルエントリをメモリの既知のマッピングされていない領域に向けて送ることが可能である。その結果として適切な障害が生成されることになる。ページ境界をまたがっているアドレスを処理するために、このシーケンスでは何らかの追加の命令が必要となる場合がある。一実施形態では、ルックアップオーバヘッドを減らすために、対象アドレスから目標アドレスへのほぼ線形のマッピングを利用した、部分的なページテーブルウォークが実装可能である。もちろん、対象から目標への完全なマッピングが提供される場合、前述のスキームを利用して目標マップを任意の位置に配置することが可能である。しかし、ほとんどの場合、要求された対象アドレスと同一の目標アドレスにアドレスをマッピングすることが可能であるものと考えると、ほとんどの場合、ルックアップは単に同じアドレスを戻すことになる。これにより、第1レベルのテーブルのみの即時チェックを優先して、全体ルックアップをバイパスできるようにする最適化が使用可能である。このスキームでは、第1レベルのページテーブル内の単一エントリによってカバーされているアドレスの全領域前述のスキームでは4MBの領域が、いかなる特別な処理も必要としない場合、第1レベルのテーブル内のエントリは、次のテーブルを示すポインタではなく特別なマーカ値を含むことができる。第1レベルのテーブルからのアドレスがロードされると、この値が見つかった場合、残りのルックアップは打ち切られ、代わりにオリジナルアドレスが使用される。これに関する例示的なコードシーケンスが以下に示される。例示的なコード例では、対象命令について以下のようなものとなる。loadbr1,r2r3アドレスr2r3からバイトをロードし、結果をr1内に配置するそして結果として、以下のような目標命令シーケンスが生じる。addr12,r2,r32つのアドレスレジスタを追加することによって対象アドレスを計算するsrr13,r12,22アドレスの上位10ビットを取得するslr13,r12,38倍することによってインデックスを第1レベルのテーブルに入れる各エントリは8バイトアドレスであるldr13,r13r30第1レベルのページテーブルからアドレスをロードするr30はここでは第1レベルのテーブルのアドレスを含むcmpr13,0ゼロと比較するゼロはここではemptyマーカ値として使用されるbeqnormal等しい場合、標準ロードへと分岐するsrr14,r12,12アドレスの上位20ビットを取得するandr14,r14,0x3ffアドレスの次の10ビットを取得し、インデックスを第2レベルのテーブルに入れるslr14,r14,38倍することによってインデックスを第2レベルのテーブルに入れるldr15,r13,r14第2レベルのテーブルからページアドレスをロードするandr16,r13,0xfff対象アドレスからオフセットをページに入れるlbr1,r15,r16新規ページアドレスからロードするページのオフセットbend標準ロードを過ぎて分岐するnormal:lbr1,r2r3アドレスr2r3からバイトをロードし、結果をr1内に配置するend:共通パスで使用される命令には下線が付けられている。また、この最適化によって回避されるものはイタリック体で示されている。ここでは共通のケースでいくつかの命令が省略され、結果として大多数のアクセスがアドレス変換を必要としない場合、全体の性能が向上することになる。図10は、システムがアドレス0xc0110040にアクセスしている場合、ページテーブルがこの状況でどのようなものと見えるかの一例を示している。他の拡張機能では、アクセスタイプの静的変換時評価に基づいた、ページルックアップオーバヘッドからの一定のアクセス除外のための手段が提供可能である。いくつかの対象アーキテクチャでは、アーキテクチャ上の機能または共通の規則により、命令の静的検査に基づいて、メモリアクセスの予期される特性を識別することが可能となる。たとえばIA-32命令セットでは、プッシュ命令およびポップ命令を使用してスタックにアクセスすることができる。加えて、ESPレジスタは現行のスタックポインタとしてほぼ独占的に維持されるが、EBPはしばしば現行のスタックフレームのトップを指示するために使用される。いくつかのオペレーティングシステムおよび環境では、これらのような特性を使用して、アドレス変換を必要とする可能性が低いとみなされるアクセスからアドレス変換を除去することができる。IA-32アプリケーションの変換の場合、スタックはファイルが裏付けされるかまたは他のプロセスと共用される可能性が低いため、さらにはスタックの正確な位置およびサイズはしばしばトランスレータ自体の制御下にあるため、スタックアクセスがアドレス変換を必要とする可能性が非常に低い旨をアサートできる可能性がある。したがって、ESPまたはEBPに基づくアクセスに関してページテーブルルックアップを据え付けないことを選択することで、アドレス変換オーバヘッドの大幅な節減が達成可能である。他のアーキテクチャについても同様の規則が存在する。フェイルセーフとしてオリジナルの信号処理コードが保持され、ルックアップが生成されないいずれのアクセスも障害となり、ともかく正しく処理されることになる。いずれかのルックアップが据え付けられる前に障害となったトランスレータに各対象命令のアドレスを記録させることによって、他の改良を使用することができる。ルックアップが必要であることが決定された場合、障害となったことがわかっているアドレスに対してのみルックアップを据え付けることができる。実行が継続される場合、必要に応じて特定の命令シーケンスに対してコードを再生成することにより、障害が見られる命令にルックアップが追加される。これによって最小限のルックアップが生成されることが保証され、要求された位置にマッピングされていないメモリには決してアクセスしないコードについて高性能が保証される。アプリケーションの挙動は経時的に変化しやすいため、すべてのルックアップコードを定期的に除去し、プロファイリングを再始動することも有用な可能性があり、それによってもはやルックアップを必要としないコードが性能を犠牲にし続けることのないように保証される。代替のフィルタリング機構として、変換が必要な通常アクセスされるアドレスの範囲が狭く、隣接している場合、マスクおよび比較動作を使用することができる。前述の例では、単一のページのみがアドレス変換を要求した。こうした状況が存在する場合は必ず、単にアドレスをマスキングし、特定のビット値と比較することによって、より最適なアドレスフィルタリング手法を採用することができる。現在使用されているマスクおよび値は、追加のロード命令の生成を避けるためにレジスタ内に維持することができる。この最適化に関する例示的なコードシーケンスが、対象命令について以下のように示される。loadbr1,r2r3アドレスr2r3からバイトをロードし、結果をr1内に配置するそして結果として、以下のような目標命令シーケンスが生じる。addr12,r2,r32つのアドレスレジスタを追加することによって対象アドレスを計算するandr13,r12,r29アドレスをr29の値現在のアドレスマスク値でマスキングするcmpr13,r28この結果をr28の値現在んアドレス比較値と比較するbnenormal値が一致しない場合、変換は不要であるものと仮定するsrr13,r12,22アドレスの上位10ビットを取得するslr13,r12,38倍することによってインデックスを第1レベルのテーブルに入れる各エントリは8バイトアドレスであるldr13,r13r30第1レベルのページテーブルからアドレスをロードするr30はここでは第1レベルのテーブルのアドレスを含むsrr14,r12,12アドレスの上位20ビットを取得するandr14,r14,0x3ffアドレスの次の10ビットを取得し、インデックスを第2レベルのテーブルに入れるslr14,r14,38倍することによってインデックスを第2レベルのテーブルに入れるldr15,r13,r14第2レベルのテーブルからページアドレスをロードするandr16,r13,0xfff対象アドレスからオフセットをページに入れるlbr1,r15,r16新規ページアドレスからロードするページのオフセットbend標準ロードを過ぎて分岐するnormal:lbr1,r2r3アドレスr2r3からバイトをロードし、結果をr1内に配置するend:共通パスで使用される命令には下線が付けられている。また、この最適化によって回避されるものはイタリック体で示されている。ここでは共通のケースでいくつかの命令が省略され、結果として大多数のアクセスがアドレス変換を必要としない場合、全体の性能が向上することになる。実行が進行し、メモリマップが変更された場合、それに応じて現在のマスクおよびアドレス比較値も更新することができる。当業者であれば、本発明の好ましい諸実施形態の方法のすべてまたは一部が、方法の諸ステップを実行するように配置構成された論理要素を備える1つの論理装置または複数の論理装置内で好適かつ有用に具体化可能であること、および、こうした論理要素がハードウェアコンポーネント、ファームウェアコンポーネント、またはそれらの組み合わせを備えることが可能であることが明らかとなろう。当業者であれば、本発明の好ましい諸実施形態に従った論理配置構成のすべてまたは一部が、方法の諸ステップを実行するための論理要素を備える論理装置内で好適に具体化可能であること、および、こうした論理要素が、たとえばプログラム可能論理アレイまたは特定用途向け集積回路内の論理ゲートなどのコンポーネントを備えることが可能であることが、等しく明らかとなろう。さらにこうした論理配置構成は、たとえば固定または伝送可能なキャリア媒体を使用して格納および伝送可能な仮想ハードウェア記述子言語を使用するアレイまたは回路内などに、一時的または永続的に論理構造を確立するための実行可能要素内で具体化することができる。前述の方法および配置構成が、1つまたは複数のプロセッサ図示せず上で実行中のソフトウェア内で完全または部分的に好適に実施可能であること、および、ソフトウェアが、磁気または光ディスクなどの任意の好適なデータキャリア同じく図示せず上で搬送される1つまたは複数のコンピュータプログラム要素の形で提供可能であることを理解されよう。データ伝送のためのチャネルは、同様に、すべての記述のストレージ媒体ならびに有線または無線の信号搬送媒体などの信号搬送媒体を備えることができる。一般に、方法は、所望の結果を導く首尾一貫したステップシーケンスであるものと考えられる。これらのステップは、物理量の物理操作を必要とする。通常、これらの量は、格納、転送、結合、比較、およびその他の操作が実行されることが可能な電気信号または磁気信号の形を取るが、その限りではない。時には、主として一般的な用法の理由で、これらの信号をビット、値、パラメータ、アイテム、要素、オブジェクト、シンボル、文字、項、数などと言い表すことが便利である。しかし、これらのすべての用語および同様の用語は適切な物理量に関連付けられるものであり、これらの量に適用される単なる便利なラベルであることに留意されたい。さらに本発明は、コンピュータシステムと共に使用するためのコンピュータプログラム製品としても好適に具体化することができる。こうした実装は、たとえばディスケット、CD-ROM、ROM、またはハードディスクのようなコンピュータ読み取り可能媒体などの有形媒体上に固定されるか、あるいは、光またはアナログの通信回線を含むがこれらに限定されない有形媒体を介して、または、マイクロ波、赤外線、または他の伝送技法を含むがこれらに限定されない無線技法を使用して無形に、モデムまたは他のインターフェースデバイスを通じてコンピュータシステムに伝送可能である、一連のコンピュータ読み取り可能命令を備えることができる。一連のコンピュータ読み取り可能命令は、本明細書で前述した機能のすべてまたは一部を具体化する。当業者であれば、こうしたコンピュータ読み取り可能命令が、多くのコンピュータアーキテクチャまたはオペレーティングシステムと共に使用するためのいくつかのプログラミング言語で作成可能であることを理解されよう。さらに、こうした命令は、半導体、磁気、または光を含むがこれらに限定されない、現行または将来の任意のメモリ技術を使用して格納すること、あるいは、光、赤外線、またはマイクロ波を含むがこれらに限定されない、現行または将来の任意の通信技術を使用して伝送することが、可能である。こうしたコンピュータプログラム製品は、たとえばパッケージソフトウェアなどの印刷文書または電子文書が添付された取り外し可能媒体として配布されること、コンピュータシステムのたとえばシステムROMまたは固定ディスク上に事前ロードされること、あるいは、たとえばインターネットまたはワールドワイドウェブなどのネットワークを介してサーバまたは電子掲示板から配布されることが、可能であることが企図される。他の代替実施形態では、本発明の好ましい実施形態は機能データをその上に有するデータキャリアの形で実現可能であり、当該機能データは、コンピュータシステムにロードされ、コンピュータシステムによって動作された場合、当該コンピュータシステムが方法のすべてのステップを実行可能とするための機能コンピュータデータ構造を備える。当業者であれば、本発明の範囲を逸脱することなく、前述の例示的実施形態に対する多くの改良および修正が実行可能であることが明らかとなろう。"