(57)【特許請求の範囲】
【請求項１】
１つのプロセッサの１つのローカル変換ルックアサイド・バッファ（ＴＬＢ）、又は複数のプロセッサの複数のローカル変換ルックアサイド・バッファを選択的にクリアするためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
プロセッサに、命令を実行させ、前記命令の実行は、
前記命令により指定される１つ又は複数の変換テーブル・エントリ位置を決定するステップと、
前記命令により指定される偶数・奇数レジスタ対のうち偶数レジスタに含まれる第１のオペランドと、前記決定された１つ又は複数の変換テーブル・エントリ位置に格納される、オリジナルの第２のオペランドとが等しいことに基づいて、前記決定された１つ又は複数の変換テーブル・エントリ位置の内容を無効化するステップ又は置換するステップと、
前記命令により指定されるローカル・クリア（ＬＣ）制御が第１の値であること及び決定された前記変換テーブル・エントリ位置の内容に基づいて、構成内の複数のプロセッサ内のＴＬＢから、前記決定された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップと、
前記命令により指定されるローカル・クリア（ＬＣ）制御が第２の値であること及び前記決定された変換テーブル・エントリ位置の内容に基づいて、前記命令を実行している前記構成の前記プロセッサの前記ＴＬＢのみから、前記決定された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップと、
を含む、プログラム。
【請求項２】
前記命令の実行は、ある範囲の１つ又は複数の変換テーブル・エントリ位置の内容を無効化するステップをさらに含む、請求項１に記載のプログラム。
【請求項３】
前記命令の実行は、前記１つ又は複数の変換テーブル・エントリ位置の内容を新しい内容と置換するステップをさらに含む、請求項１に記載のプログラム。
【請求項４】
前記選択的にクリアするステップは、
依存する変換テーブル・エントリ位置と関連付けられたＴＬＢエントリをクリアするステップをさらに含み、
前記依存する変換テーブル・エントリは、前記１つ又は複数の変換テーブル・エントリ位置の動的アドレス変換によりアクセスされるように構成された下位レベル変換テーブル内のエントリである、請求項１に記載のプログラム。
【請求項５】
前記ＬＣ制御がゼロであることに基づいて、構成内のＣＰＵの全てのＴＬＢから、前記決定された変換テーブル・エントリ位置に対応するエントリが選択的にクリアされる、請求項１に記載のプログラム。
【請求項６】
前記ＬＣ制御が１であることに基づいて、前記命令を実行しているＣＰＵ内の前記ＴＬＢが選択的にクリアされる、請求項１に記載のプログラム。
【請求項７】
ローカル変換ルックアサイド・バッファ（ＴＬＢ）をクリアするためのコンピュータ・システムであって、前記システムは、
メモリと、
前記メモリと通信するように構成されたプロセッサと、
を含み、且つ、方法を実施するように構成され、前記方法は、
プロセッサにより、命令を実行するステップを含み、前記実行するステップは、
前記命令により指定される１つ又は複数の変換テーブル・エントリ位置を決定するステップと、
前記命令により指定される偶数・奇数レジスタ対のうち偶数レジスタに含まれる第１のオペランドと、前記決定された１つ又は複数の変換テーブル・エントリ位置に格納される、オリジナルの第２のオペランドとが等しいことに基づいて、前記決定された１つ又は複数の変換テーブル・エントリ位置の内容を無効化するステップ又は置換するステップと、
前記命令により指定されるローカル・クリア（ＬＣ）制御が第１の値であること及び決定された前記変換テーブル・エントリ位置の内容に基づいて、構成内の複数のプロセッサ内のＴＬＢから、前記決定された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップと、
前記命令により指定されるローカル・クリア（ＬＣ）制御が第２の値であること及び前記決定された変換テーブル・エントリ位置の内容に基づいて、前記命令を実行している前記構成の前記プロセッサの前記ＴＬＢのみから、前記決定された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップと、
を含む、システム。
【請求項８】
前記実行するステップは、ある範囲の１つ又は複数の変換テーブル・エントリ位置の内容を無効化するステップをさらに含む、請求項７に記載のシステム。
【請求項９】
前記実行するステップは、前記１つ又は複数の変換テーブル・エントリ位置の内容を新しい内容と置換するステップをさらに含む、請求項７に記載のシステム。
【請求項１０】
前記選択的にクリアするステップは、
依存する変換テーブル・エントリ位置と関連付けられたＴＬＢエントリをクリアするステップをさらに含み、
前記依存する変換テーブル・エントリは、前記１つ又は複数の変換テーブル・エントリ位置の動的アドレス変換によりアクセスされるように構成された下位レベルの変換テーブル内のエントリである、請求項７に記載のシステム。
【請求項１１】
前記ＬＣ制御がゼロであることに基づいて、構成内のＣＰＵの全てのＴＬＢから、前記決定された変換テーブル・エントリ位置に対応するエントリが選択的にクリアされる、請求項７に記載のシステム。
【請求項１２】
前記ＬＣ制御が１であることに基づいて、前記命令を実行している前記ＣＰＵ内の前記ＴＬＢが選択的にクリアされる、請求項７に記載のシステム。
【請求項１３】
ローカル変換ルックアサイド・バッファ（ＴＬＢ）をクリアするためのコンピュータ実装方法であって、前記方法は、
命令により指定される１つ又は複数の変換テーブル・エントリ位置を決定するステップと、
前記命令により指定される偶数・奇数レジスタ対のうち偶数レジスタに含まれる第１のオペランドと、前記決定された１つ又は複数の変換テーブル・エントリ位置に格納される、オリジナルの第２のオペランドとが等しいことに基づいて、前記決定された１つ又は複数の変換テーブル・エントリ位置の内容を無効化するステップ又は置換するステップと、
前記命令により指定されるローカル・クリア（ＬＣ）制御が第１の値であること及び決定された前記変換テーブル・エントリ位置の内容に基づいて、構成内の複数のプロセッサ内のＴＬＢから、前記決定された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップと、
前記命令により指定されるローカル・クリア（ＬＣ）制御が第２の値であること及び前記決定された変換テーブル・エントリ位置の内容に基づいて、前記命令を実行している前記構成の前記プロセッサの前記ＴＬＢのみから、前記決定された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップと、
を含む、方法。
【請求項１４】
ある範囲の１つ又は複数の変換テーブル・エントリ位置の内容を無効化するステップをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記１つ又は複数の変換テーブル・エントリ位置の内容を新しい内容と置換するステップをさらに含む、請求項１３に記載の方法。
【請求項１６】
前記選択的にクリアするステップは、
依存する変換テーブル・エントリ位置と関連付けられたＴＬＢエントリをクリアするステップをさらに含み、
前記依存する変換テーブル・エントリは、前記１つ又は複数の変換テーブル・エントリ位置の動的アドレス変換によりアクセスされるように構成された下位レベルの変換テーブル内のエントリである、請求項１３に記載の方法。
【請求項１７】
前記ＬＣ制御がゼロであることに基づいて、構成内のＣＰＵの全てのＴＬＢから、前記決定された変換テーブル・エントリ位置に対応するエントリが選択的にクリアされ、前記ＬＣ制御が１であることに基づいて、前記命令を実行している前記ＣＰＵ内の前記ＴＬＢが選択的にクリアされる、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピューティング環境内での処理に関し、具体的には、１つのプロセッサの１つのローカル変換ルックアサイド・バッファ（ＴＬＢ）、又は複数のプロセッサの複数のローカル変換ルックアサイド・バッファを選択的にクリアすることに関する。
【背景技術】
【０００２】
２００３年５月１２日に出願された「ＩＮＶＡＬＩＤＡＴＩＮＧ  ＳＴＯＲＡＧＥ，ＣＬＥＡＲＩＮＧ  ＢＵＦＦＥＲ  ＥＮＴＲＩＥＳ，ＡＮＤ  ＡＮ  ＩＮＳＴＲＵＣＴＩＯＮ  ＴＨＥＲＥＦＯＲＥ」という名称の特許文献１に記載されるように、ストレージのセグメント又はストレージの領域などの選択されたストレージ・ユニットが無効化される。この無効化は、無効化されるストレージ・ユニットに対応するデータ構造のエントリ内に配置された無効化インジケータを設定することにより容易にされる。付加的に、無効化されるストレージ・ユニット又は他の選択されたストレージ・ユニットと関連付けられたバッファ・エントリがクリアされる。無効化及び／又はクリアを実施するために、命令が提供される。加えて、いずれの無効化も用いることなく、特定のアドレス空間と関連付けられたバッファ・エントリがクリアされる。このことも、命令により実施される。命令は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの何らかの組み合わせの形で実装することができ、又は、エミュレートすることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７，２８４，１００号明細書
【特許文献２】米国特許第６，１９９，２１９号明細書
【特許文献３】米国特許第５，５５１，０１３号明細書
【特許文献４】米国特許第６，００９，２６１号明細書
【特許文献５】米国特許第５，５７４，８７３号明細書
【特許文献６】米国特許第６，３０８，２５５号明細書
【特許文献７】米国特許第６，４６３，５８２号明細書
【特許文献８】米国特許第５，７９０，８２５号明細書
【特許文献９】米国特許第７，５３０，０６７号明細書
【特許文献１０】米国特許第７，０２０，７６１号明細書
【特許文献１１】米国特許第６，９９６，６９８号明細書
【非特許文献】
【０００４】
【非特許文献１】「ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｐｒｉｎｃｉｐｌｅｓ  ｏｆ  Ｏｐｅｒａｔｉｏｎ」、ＩＢＭ（登録商標）出版番号ＳＡ２２−７８３２−０８、２０１０年８月
【非特許文献２】「ＩＢＭ  Ｓｙｓｔｅｍｓ／３７０  Ｅｘｔｅｎｄｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ」、ＩＢＭ（登録商標）出版番号ＳＡ２２−７０９５（１９８５年）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
１つのプロセッサの１つのローカル変換ルックアサイド・バッファ（ＴＬＢ）、又は複数のプロセッサの複数のローカル変換ルックアサイド・バッファを選択的にクリアするためのコンピュータ・プログラム製品、コンピュータ・システム及びコンピュータ実装方法を提供する。
【課題を解決するための手段】
【０００６】
一実施形態において、１つのプロセッサの１つのローカル変換ルックアサイド・バッファ（ＴＬＢ）、又は複数のプロセッサの複数のローカル変換ルックアサイド・バッファを選択的にクリアするためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、具体化され且つ方法を実施するためにコンピュータ・プロセッサにより読み取り可能なプログラム・コードを有するコンピュータ可読媒体を含む。この方法は、プロセッサにより、命令を実行するステップを含む。この実行するステップは、命令により指定される１つ又は複数の変換テーブル・エントリ位置を判断するステップと、命令により指定されるローカル・クリア（ＬＣ）制御が第１の値であることに基づいて、構成の複数のプロセッサ内のＴＬＢから、判断された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップと、命令により指定されるローカル・クリア（ＬＣ）制御が第２の値であることに基づいて、命令を実行している構成のプロセッサのＴＬＢのみから、判断された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップとを含む。
【０００７】
別の実施形態において、１つのプロセッサの１つのローカル変換ルックアサイド・バッファ（ＴＬＢ）、又は複数のプロセッサの複数のローカル変換ルックアサイド・バッファを選択的にクリアするためのコンピュータ・システムが提供される。このシステムは、メモリと、メモリと通信するように構成されたプロセッサとを含む。コンピュータ・システムは、方法を実施するように構成され、この方法は、プロセッサにより、命令を実行するステップを含む。この実行するステップは、命令により指定される１つ又は複数の変換テーブル・エントリ位置を判断するステップと、命令により指定されるローカル・クリア（ＬＣ）制御が第１の値であることに基づいて、構成の複数のプロセッサ内のＴＬＢから、判断された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップと、命令により指定されるローカル・クリア（ＬＣ）制御が第２の値であることに基づいて、命令を実行している構成のプロセッサのＴＬＢのみから、判断された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップとを含む。
【０００８】
さらに別の実施形態において、１つのプロセッサの１つのローカル変換ルックアサイド・バッファ（ＴＬＢ）、又は複数のプロセッサの複数のローカル変換ルックアサイド・バッファを選択的にクリアするためのコンピュータ実装方法が提供される、この方法は、プロセッサにより、命令を実行するステップを含む。この実行するステップは、命令により指定される１つ又は複数の変換テーブル・エントリ位置を判断するステップと、命令により指定されるローカル・クリア（ＬＣ）制御が第１の値であることに基づいて、構成の複数のプロセッサ内のＴＬＢから、判断された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップと、命令により指定されるローカル・クリア（ＬＣ）制御が第２の値であることに基づいて、命令を実行している構成のプロセッサのＴＬＢのみから、判断された変換テーブル・エントリ位置に対応するエントリを選択的にクリアするステップとを含む。
【０００９】
説明される技術を通じて、付加的な特徴及び利点が実現される。他の実施形態及び態様は本明細書で詳細に説明され、含まれるものと考えられる。
【００１０】
ここで、添付図面を参照して本発明の好ましい実施形態を単なる例示として説明する。
【図面の簡単な説明】
【００１１】
【図１】１つ又は複数の態様を組み入れ、使用するコンピューティング環境の一実施形態を示す。
【図２】図１のコントローラと関連付けられたさらなる詳細の一実施形態を示す。
【図３】別のコンピュータをエミュレートすることができるホスト・コンピュータの一実施形態を示す。
【図４】ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ命令の命令イメージ及びその動作を示す。
【図５】ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ命令のレジスタ・オペランドを示す。
【図６】Ｍ４フィールドを示す。
【図７】コンピュータ可読媒体を示す。
【発明を実施するための形態】
【００１２】
コンピューティング環境は仮想ストレージを使用することができ、この仮想ストレージは通常、利用可能なストレージのサイズを増大させるための補助ストレージ内に保持される。仮想ストレージのページを参照する際、ページの参照に使用される仮想アドレスは、動的アドレス変換により実ストレージ・アドレスに変換される。変換が成功した場合、仮想アドレスは有効であり、他の場合には、仮想アドレスは無効である。仮想ストレージのページは、ページ・テーブル・エントリ内の無効ビットにより有効又は無効として示され、ページが有効である場合、このエントリは実ストレージ・アドレスを含む。
【００１３】
ストレージのページは、一度に１ページずつ無効化することができる。例えば、インターナショナル・ビジネス・マシーンズ・コーポレーションにより提供されるｚ／Ａｒｃｈｉｔｅｃｔｕｒｅに基づくコンピューティング環境においては、Ｉｎｖａｌｉｄａｔｅ  Ｐａｇｅ  Ｔａｂｌｅ  Ｅｎｔｒｙ（ＩＰＴＥ）命令と呼ばれる命令を使用して、仮想ストレージの１つ又は複数のページを無効化する。無効化は、仮想ストレージと関連付けられ、物理主ストレージ内に配置された無効インジケータを制御構造内に設定することを含み、当該無効インジケータは、動的アドレス変換により仮想ストレージ内のある位置の仮想アドレスを実アドレスとも呼ばれる物理的主ストレージのアドレスに変換できないことを示す。さらに、命令を用いてページと関連付けられた内部マシンのバッファ・エントリをクリアし、このエントリは、動的アドレス変換中に、物理主ストレージ内の制御構造にアクセスするのを回避するために使用することができる。例えば、ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅにおいて、仮想アドレスから実アドレスへの動的アドレス変換の際に使用される変換ルックアサイド・バッファが存在する。ストレージのページが無効化されると、対応するバッファから、そのページと関連したエントリもクリアされる。
【００１４】
変換ルックアサイド・バッファ全体のパージを可能にする命令も存在する。例えば、ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅにおいて、Ｃｏｍｐａｒｅ  ａｎｄ  Ｓｗａｐ  ａｎｄ  Ｐｕｒｇｅ（ＣＳＰ）命令と呼ばれる命令は、構成の全てのＣＰＵ内の変換ルックアサイド・バッファの全てのエントリをパージし、ＰＵＲＧＥ  ＴＬＢは、命令を実行するＣＰＵ上のＴＬＢの全てのエントリをクリアする。
【００１５】
変換ルックアサイド・バッファ
性能を高めるために、動的アドレス変換機構は、通常、領域テーブル、セグメント・テーブル、及びページ・テーブル内で指定される情報の一部が、変換ルックアサイド・バッファ（ＴＬＢ）と呼ばれる特殊なバッファ内に保持されるように実装される。ＣＰＵは、そのエントリに最初にアクセスするときにのみ、実ストレージ又は絶対ストレージ内のＤＡＴテーブル・エントリを参照する必要がある。この情報は、ＴＬＢ内に配置することができ、その後は、ＴＬＢ内の情報を使用することにより、変換を実施することができる。操作（operation）の一貫性を保つために、ＴＬＢ内の情報を使用することにより、実空間指定により指定される仮想空間実空間等価変換（virtual-equals-real translation）も実施することができる。ＴＬＢの存在は、（１）実ストレージ又は絶対ストレージ内のテーブル・エントリの内容の変更が、あるとしても、必ずしも変換に直ちに影響を及ぼさない、（２）アドレス空間制御要素（address-space-control element、ＡＳＣＥ）内の領域第１テーブル起点、領域第２テーブル起点、領域第３テーブル起点、セグメント・テーブル起点、又は実空間トークン起点は、２つの起点が異なるタイプのものである場合でも、同じ値の起点を含むＡＳＣＥによって形成されたＴＬＢエントリを選択することがある、及び、（３）指定されたテーブルと同等のＴＬＢが使用される場合、アドレス空間制御要素内のテーブル長に対する比較を省略できるという点で、変換プロセスに影響を及ぼす。マルチＣＰＵ構成においては、各ＣＰＵがそれ自体のＴＬＢを有する。ＴＬＢ内のエントリは、プログラムにより明示的にアドレス指定可能でない。
【００１６】
情報は、必ずしも、こうした保持が許容される全ての条件下でＴＬＢ内に保持されるわけではない。その上、ＴＬＢ内の情報は、クリアが必須である条件に追加の条件下でクリアされ得る。
【００１７】
ＴＬＢ構造
ＴＬＢの論理構造の説明は、ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅにより定められるように動作する全てのシステムによる実装をカバーする。ＴＬＢエントリは、６つのタイプのものとして考えられえる。即ち、ＴＬＢ領域第１テーブル・エントリ、ＴＬＢ領域第２テーブル・エントリ、ＴＬＢ領域第３テーブル・エントリ（ＴＬＢ領域テーブル・エントリと総称される）、ＴＬＢセグメント・テーブル・エントリ、ＴＬＢページ・テーブル・エントリ、及びＴＬＢ実空間エントリである。ＴＬＢ領域テーブル・エントリ、ＴＬＢセグメント・テーブル・エントリ、又はＴＬＢページ・テーブル・エントリは、実ストレージ又は絶対ストレージ内のテーブル・エントリから取得される情報、及びストレージからこの情報をフェッチするのに使用される属性の両方を、その内部に含むものと考えられえる。ＴＬＢ実空間エントリは、ページ・フレーム実アドレス及び実空間トークン起点、並びにエントリを形成するのに使用される領域インデックス、セグメント・インデックス、及びページ・インデックスを含むものと考えられる。
【００１８】
いずれの適用可能なＴＬＢ領域テーブル・エントリ、ＴＬＢセグメント・テーブル・エントリ、及びＴＬＢページ・テーブル・エントリも、ＴＬＢ複合テーブル・エントリと呼ばれる単一のエントリにマージする（merge）ことができる。同様の方法で、実装は、任意の連続したテーブル・レベル・サブセットを結合してもよい。これが行われる場合、中間のテーブル起点、オフセット、及び長さをバッファに入れる必要はない。
【００１９】
テーブル起点ビット、領域インデックス・ビット、セグメント・インデックス・ビット、及び共通セグメント・ビットを、セグメント・フレーム絶対アドレス又はページ・テーブル起点（及び、他の指定されるフィールド）にマッピングする、アーキテクチャの旧バージョンに記載されているＴＬＢ結合領域及びセグメント・テーブル・エントリ（TLB combined region-and-segment-table-entry、ＣＲＳＴＥ）と同等のものを形成することができる。ＴＬＢ実空間エントリ内のトークン起点は、ＴＬＢ複合テーブル・エントリ、領域テーブル・エントリ、又はセグメント・テーブル・エントリ内のテーブル起点と区別できない。
【００２０】
注記：以下のセクションは、情報をＴＬＢ内に配置できる条件、ＴＬＢからの情報をアドレス変換に使用できる条件、及び変換テーブルへの変更がどのように変換プロセスに影響を及ぼすかについて説明する。
【００２１】
ＴＬＢエントリの形成
実ストレージ又は絶対ストレージ内のテーブル・エントリからのＴＬＢ領域テーブル・エントリ、ＴＬＢセグメント・テーブル・エントリ、及びＴＬＢページ・テーブル・エントリの形成、並びに、プログラムによるストレージ内のテーブル・エントリの内容のいずれかの操作の影響は、ストレージ内のエントリが特定のＣＰＵに接続されているかどうか、及びエントリが有効であるかどうかによって決まる。
【００２２】
テーブル・エントリの接続された状態（attached state）状態とは、これが接続されているＣＰＵが暗黙的アドレス変換のためにそのテーブル・エントリの使用を試行できることを示すが、但し、ＣＰＵがそれらの空間のいずれからもフェッチしない場合でも、一次アドレス空間又はホーム・アドレス空間のためのテーブル・エントリが接続され得る。テーブル・エントリは、一度に１つより多いＣＰＵに接続され得る。
テーブル・エントリの有効（valid）な状態とは、テーブル・エントリと関連付けられた領域設定、領域、セグメント、又はページが利用可能であることを示す。エントリ内の領域無効、セグメント無効、又はページ無効ビットがゼロである場合、エントリは有効である。
【００２３】
エントリが接続され且つ有効であり、変換に使用される場合に変換指定例外を発生させないときは常に、領域テーブル・エントリ、セグメント・テーブル・エントリ、又はページ・テーブル・エントリをＴＬＢ内に配置することができる。
【００２４】
仮想アドレスを変換するのに使用される領域テーブル・エントリ（もしあれば）、及びセグメント・テーブル・エントリ（もしあれば）は、「変換経路（translation path）」と呼ばれる。変換経路内の最上位のテーブル・エントリは、これが、接続しているアドレス空間制御要素（address-space-control element、ＡＳＣＥ）が指定するテーブル内にある場合には、接続されている。「テーブル内に」とは、ＡＳＣＥ内の起点及び長さフィールドによる判断を意味する。ＡＳＣＥは、以下の条件の全てが満たされた場合、接続しているＡＳＣＥとなる。
１．現ＰＳＷが、ＤＡＴがオンであることを指定する。
２．現ＰＳＷが、早期指定例外の認識をもたらすエラーを含んでいない。
３．ＡＳＣＥが、以下のａ、ｂ、ｃ、又はｄの要件を満たす。
ａ．ＡＳＣＥは制御レジスタ１内の一次ＡＳＣＥである。
ｂ．ＡＳＣＥは制御レジスタ７内の二次ＡＳＣＥであり、以下の要件のいずれも満たされる。即ち、
・ＣＰＵは、二次空間モード又はアクセス・レジスタ・モードにある。
・ＣＰＵは、一次空間モードにあり、二次空間制御（制御レジスタ０のビット３７）は１である。
・ＬＯＡＤ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹ  ＡＤＤＲＥＳＳのＭ４オペランドは二次空間へのアクセスを明示的に許可する、又は、アクセス・レジスタ変換を明示的に許可する。
・ＭＯＶＥ  ＷＩＴＨ  ＯＰＴＩＯＮＡＬ  ＳＰＥＣＩＦＩＣＡＴＩＯＮＳのいずれのオペランドのオペランド・アクセス制御（ＯＡＣ）も、二次空間へのアクセスを明示的に許可する、又はアクセス・レジスタ変換を明示的に許可する。
上記の２つの項目に用いられる「明示的に許可する」という用語のさらなる説明については、以下のプログラミング上の注意を参照されたい。
ｃ．ＡＳＣＥは、接続され且つ有効なＡＳＮ第２テーブル・エントリ（ＡＳＴＥ）内、又は、使用可能なＡＬＢ  ＡＳＴＥ内のいずれかにあり、以下の要件のいずれも満たされる。即ち、
・ＣＰＵはアクセス・レジスタ・モードにある。
・ＬＯＡＤ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹ  ＡＤＤＲＥＳＳのＭ４フィールドは、アクセス・レジスタ変換の実施を明示的に許可する。
・ＭＯＶＥ  ＷＩＴＨ  ＯＰＴＩＯＮＡＬ  ＳＰＥＣＩＦＩＣＡＴＩＯＮＳのいずれかのオペランドのＯＡＣは、アクセス・レジスタ変換の実施を明示的に許可する。
ｄ．ＡＳＣＥは、制御レジスタ１３内のホームＡＳＣＥである。
【００２５】
ＤＡＴがオンであるか又はオフであるかに関係なく、現ＰＳＷが早期指定例外の認識をもたらすエラーを含まない場合、ＡＳＣＥもまた、接続しているＡＳＣＥであり、以下の条件のいずれかが満たされる。即ち、
・ホームＡＳＣＥは、監視イベント・カウント操作が行われる場合、接続しているＡＳＣＥであると考えられる。
【００２６】
変換経路内の残りのテーブル・エントリの各々は、それが、変換に使用された場合に変換指定例外を引き起こさない次の上位レベルの、接続され且つ有効なエントリ、又は次の上位レベルの使用可能なＴＬＢエントリによって指示されるテーブル内にある場合、接続されている。「テーブル内に」とは、次の上位レベルのエントリ内の起点、オフセット、及び長さフィールドによる判断を意味する。使用可能なＴＬＢエントリは、次のセクションで説明される。
【００２７】
ページ・テーブル・エントリは、それが、変換に使用された場合に変換指定例外を引き起こさない接続され且つ有効なセグメント・テーブル・エントリ、又は使用可能なＴＬＢセグメント・テーブル・エントリにより指示されるページ・テーブル内にある場合、接続されている。
【００２８】
領域テーブル・エントリ又はセグメント・テーブル・エントリは、エントリ内のテーブル・タイプ・ビット（ビット６０及び６１）が、変換プロセスにおいて変換経路を使用する際にエントリが遭遇するレベルと一致しない場合、変換指定例外を引き起こす。セグメント・テーブル・エントリもまた、それを選択するのに使用されるアドレス空間制御要素において専用空間制御ビットが１であり、且つ、エントリにおいて共通セグメント・ビットが１である場合、変換指定例外を引き起こす。ＥＤＡＴ−２が適用される場合、領域第３テーブル・エントリもまた、それを選択するのに使用されるアドレス空間制御要素において専用空間制御ビットが１であり、且つ、エントリにおいて共通領域ビットが１である場合、変換指定例外を引き起こす。ページ・テーブル・エントリは、エントリのビット５２が１である場合、変換指定例外を引き起こす。ＥＤＡＴ−１が適用されない場合、ページ・テーブル・エントリもまた、エントリのビット５５が１である場合、変換指定例外を引き起こす。
【００２９】
ＴＬＢ実空間は、認識される早期指定例外を使用し、以下の条件のいずれかが満たされる。即ち、
・ホームＡＳＣＥは、監視イベント・カウント操作が行われる場合、接続しているＡＳＣＥであると考えられる。
【００３０】
変換経路内の残りのテーブル・エントリの各々は、それが、変換に使用された場合に変換指定例外を引き起こさない次の上位レベルの、接続され且つ有効なエントリ、又は次の上位レベルの使用可能なＴＬＢエントリにより指示されるテーブル内にある場合、接続されている。「テーブル内に」とは、次の上位レベルのエントリ内の起点、オフセット、及び長さフィールドにより判断されることを意味する。使用可能なＴＬＢエントリは、次のセクションで説明される。
【００３１】
ページ・テーブル・エントリは、それが、変換に使用された場合に変換指定例外を引き起こさない接続され且つ有効なセグメント・テーブル・エントリ、又は使用可能なＴＬＢセグメント・テーブル・エントリにより指示されるページ・テーブル内にある場合、接続されている。
【００３２】
領域テーブル・エントリ又はセグメント・テーブル・エントリは、エントリ内のテーブル・タイプ・ビット（ビット６０及び６１）が、変換プロセスにおいて変換経路を使用する際にエントリが遭遇するレベルと一致しない場合、変換指定例外を引き起こす。セグメント・テーブル・エントリもまた、それを選択するのに使用されるアドレス空間制御要素において専用空間制御ビットが１であり、且つ、エントリにおいて共通セグメント・ビットが１である場合、変換指定例外を引き起こす。ＥＤＡＴ−２が適用される場合、領域第３テーブル・エントリもまた、それを選択するのに使用されるアドレス空間制御要素において専用空間制御ビットが１であり、且つ、エントリにおいて共通領域ビットが１である場合、変換指定例外を引き起こす。ページ・テーブル・エントリは、エントリのビット５２が１である場合、変換指定例外を引き起こす。ＥＤＡＴ−１が適用されない場合、ページ・テーブル・エントリもまた、エントリのビット５５が１である場合、変換指定例外を引き起こす。
【００３３】
上に定められた接続され且つ有効な制約に従って、ＣＰＵは、将来のストレージ参照に備えて、又は命令の投機的実行の結果として、ＴＬＢエントリを形成することができる。
【００３４】
プログラミング上の注意：ＡＳＣＥが接続するための条件の上記リストにおいて、以下に説明されるように、項目３．ｂ及び３．ｃは、「明示的に許可する」という用語を使用する。
・ＬＰＴＥＡは、Ｍ４フィールドが２進数００１０である場合、二次空間へのアクセスを明示的に許可する。
・ＬＰＴＥＡは、Ｍ４フィールドが２進数０００１である場合、ＡＲＴの実施を明示的に許可する。
・オペランドのＯＡＣのビット８−９が２進数１０であり、ＯＡＣのビット１５が１であり、且つ、二次空間制御（制御レジスタ０のビット３７）が１である場合、ＭＶＣＯＳのいずれかのオペランドは、二次空間へのアクセスを明示的に許可する。
・オペランドのＯＡＣのビット８−９が２進数０１であり、且つ、ＯＡＣのビット１５が１である場合、ＭＶＣＯＳのいずれかのオペランドは、ＡＲＴの実施を明示的に許可する。
【００３５】
ＴＬＢエントリの使用
ＴＬＢエントリの使用可能（usable）状態とは、ＣＰＵが暗黙的アドレス変換のためにＴＬＢエントリの使用を試みることができることを示す。使用可能なＴＬＢエントリは、もしあれば、次のより下位レベルのテーブルに接続され、暗黙的アドレス変換の特定のインスタンスに対して使用可能とすることができる。
【００３６】
ＴＬＢエントリに関して、「現レベル（current level）」という用語は、ＴＬＢエントリが形成された変換テーブル（領域第１テーブル、領域第２テーブル、領域第３テーブル、セグメント・テーブル、又はページ・テーブル）のレベルを指す。同様に、「現レベル・インデックス」とは、変換テーブルの現レベルへのインデックスとして使用される仮想アドレスの部分である。
【００３７】
ＴＬＢ領域テーブル・エントリ又はセグメント・テーブル・エントリは、以下の条件の全てが満たされたときに、使用可能状態となる。
１．現ＰＳＷが、ＤＡＴがオンであることを指定する。
２．現ＰＳＷは、早期指定例外の認識をもたらすエラーを含んでいない。
３．ＴＬＢエントリは、以下の要件の少なくとも１つを満たす。即ち、
ａ．ＴＬＢ領域第３テーブル・エントリにおいて、共通領域ビットは１である。
ｂ．ＴＬＢセグメント・テーブル・エントリにおいて、共通セグメント・ビットは１である。
ｃ．ＴＬＢエントリ内のＡＳＣＥテーブル起点（ＡＳＣＥＴＯ）フィールドは、接続しているアドレス空間制御要素内のテーブル起点フィールド又はトークン起点フィールドと合致する。
ｄ．ＴＬＢエントリは、ＴＬＢの領域第２テーブル、領域第３テーブル、又はセグメント・テーブルのエントリであり、且つ、ＴＬＢエントリ内の現レベル・テーブル起点フィールドは、以下の１つに合致する。即ち、
・現テーブル・レベル（Ｒ及びＤＴビットにより示される）を直接指示する接続しているＡＳＣＥ内のテーブル起点フィールド、
・次の上位レベルの接続されている領域テーブル・エントリ内のテーブル起点フィールド、
・次の上位レベルの使用可能なＴＬＢ領域テーブル・エントリ内の同じレベルのテーブル起点フィールド。
【００３８】
ＴＬＢ領域テーブル・エントリは、エントリが使用可能状態にあり、ＴＬＢエントリ内の現レベル・インデックス・フィールドが、変換される仮想アドレスの対応するインデックス・フィールドに合致し、且つ、以下の条件のいずれかが満たされた場合にのみ、暗黙的アドレス変換の特定のインスタンスに対して使用することができる。
１．ＴＬＢエントリ内のＡＳＣＥテーブル起点（ＡＳＣＥＴＯ）フィールドは、変換に使用されているアドレス空間制御要素内のテーブル起点フィールド又はトークン起点フィールドに合致し、且つ、現レベル・インデックスの左にある、変換される仮想アドレスの部分は、ＴＬＢエントリ内の対応するインデックス・フィールドに合致する。
２．変換に使用されるアドレス空間制御要素は現レベルのテーブルを指示し、ＴＬＢエントリ内の現レベル・テーブル起点フィールドはそのアドレス空間制御要素内のテーブル起点に合致する。
３．ＴＬＢエントリ内の現レベル・テーブル起点フィールドは、次の上位レベルのテーブル・エントリ内の同じレベルのテーブル起点、又は変換に使用されるＴＬＢエントリに合致する。
４．ＴＬＢ領域第３テーブル・エントリに関して、ＴＬＢエントリにおいて共通領域ビットは１であり、ＴＬＢエントリ内の領域第１インデックス・フィールド及び領域第２インデックス・フィールドは、変換される仮想アドレスのものに合致する。
【００３９】
しかしながら、ＥＤＡＴ−２が適用される場合、エントリにおいて共通領域ビットが１であり、且つ、変換に使用されるアドレス空間制御要素において専用空間制御ビットが１である又はそのアドレス空間制御要素が実空間指示である場合、ＴＬＢ領域第３テーブル・エントリは使用されない。これらどちらの場合も、エントリ内のＡＳＣＥテーブル起点（ＡＳＣＥＴＯ）フィールドとアドレス空間制御要素内のテーブル起点フィールド又はトークン起点フィールドが合致する場合でも、ＴＬＢエントリは使用されない。
【００４０】
ＴＬＢセグメント・テーブル・エントリは、エントリが使用可能状態にあり、ＴＬＢエントリ内のセグメント・インデックス・フィールドが、変換される仮想アドレスのものに合致し、且つ、以下の条件のいずれかが満たされる場合にだけ、暗黙的アドレス変換の特定のインスタンスに対して使用することができる。即ち、
１．ＴＬＢエントリ内のＡＳＣＥテーブル起点（ＡＳＣＥＴＯ）フィールドは、変換に使用されるアドレス空間制御要素内のテーブル起点フィールド又はトークン起点フィールドに合致し、ＴＬＢエントリ内のセグメント・インデックス・フィールドは、変換される仮想アドレスのセグメント・インデックス・フィールドに合致する。
２．ＴＬＢエントリ内のセグメント・テーブル起点フィールドは、変換に使用されるアドレス空間制御要素内のテーブル起点フィールドに合致し、そのアドレス空間制御要素はセグメント・テーブル指定である。
３．ＴＬＢエントリ内のセグメント・テーブル起点フィールドは、領域第３テーブル・エントリ内のセグメント・テーブル起点フィールド、又は変換に使用されるＴＬＢ領域第３テーブル・エントリに合致する。
４．ＴＬＢエントリにおいて共通セグメント・ビットが１であり、ＴＬＢエントリ内の領域インデックス・フィールドは、変換される仮想アドレスのものに合致する。
【００４１】
しかしながら、エントリにおいて共通セグメント・ビットが１であり、且つ、変換に使用されるアドレス空間制御要素において専用空間制御ビットが１である場合、又はそのアドレス空間制御要素が実空間指定である場合、ＴＬＢセグメント・テーブル・エントリは使用されない。これらどちらの場合も、エントリ内のＡＳＣＥテーブル起点（ＡＳＣＥＴＯ）フィールドとアドレス空間制御要素内のテーブル起点フィールド又はトークン起点フィールドが合致する場合でも、ＴＬＢエントリは使用されない。
【００４２】
エントリ内のページ・テーブル起点フィールドがセグメント・テーブル・エントリ内のテーブル起点フィールドに合致するか、又は変換に使用されるＴＬＢセグメント・テーブル・エントリ内のページ・テーブル起点フィールド及びＴＢＣページ・テーブル・エントリ内のページ・インデックス・フィールドが変換される仮想アドレスのページ・インデックスに合致する場合にのみ、暗黙的アドレス変換の特定のインスタンスに対してＴＬＢページ・テーブル・エントリを使用することができる。
【００４３】
ＴＬＢエントリ内のトークン起点フィールドが変換に使用されるアドレス空間制御要素内のテーブル起点フィールド又はトークン起点フィールドに合致し、且つ、ＴＬＢエントリ内の領域インデックス・フィールド、セグメント・インデックス・フィールド、及びページ・インデックス・フィールドが、変換される仮想アドレスのものに合致する場合にのみ、暗黙的アドレス変換の特定のインスタンスに対してＴＬＢ実空間エントリを使用することができる。
【００４４】
ＬＯＡＤ  ＰＡＧＥ−ＴＡＢＬＥ−ＥＮＲＴＹ  ＡＤＤＲＥＳＳ、ＬＯＡＤ  ＲＥＡＬ  ＡＤＤＲＥＳＳ、及びＳＴＯＥＲ  ＲＥＡＬ  ＡＤＤＲＥＳＳのオペランド・アドレス、並びに強化された監視カウント・アレイへのアクセスは、ＤＡＴがオンであろうと又はオフであろうと、ＴＬＢの内容を使用して変換することができる。しかしながら、ＬＯＡＤ  ＰＡＧＥ−ＴＡＢＬＥ−ＥＮＲＴＹ  ＡＤＤＲＥＳＳ、ＬＯＡＤ  ＲＥＡＬ  ＡＤＤＲＥＳＳ、及びＳＴＯＥＲ  ＲＥＡＬ  ＡＤＤＲＥＳＳについては、依然としてＤＡＴがオンの場合にのみ、ＴＬＢエントリが形成される。
【００４５】
プログラミング上の注意：
１．テーブル・エントリの内容は、テーブル・エントリが接続され且つ有効である場合にのみＴＬＢ内にコピーできるが、このコピーは、テーブル・エントリ自体がもはや接続されていない又は有効でない場合でもＴＬＢ内に残すことができる。
２．強化された監視カウント操作の結果として変換が実施される場合を除いて、その時点のテーブル・エントリは接続されていないので、ＤＡＴがオフの場合には、内容をＴＬＢにコピーすることができない。特に、ＤＡＴがオフ状態でのＬＯＡＤ  ＰＡＧＥ−ＴＡＢＬＥ−ＥＮＲＴＹ  ＡＤＤＲＥＳＳ、ＬＯＡＤ  ＲＥＡＬ  ＡＤＤＲＥＳＳ及びＳＴＯＥＲ  ＲＥＡＬ  ＡＤＤＲＥＳＳのオペランド・アドレスの変換により、エントリはＴＬＢ内に配置されない。逆に、ＤＡＴがオンの場合、現在の変換パラメータ、アドレス空間制御ビットの設定、及びアクセス・レジスタの内容が与えられると、アドレス変換に使用できる全ての変換テーブル・エントリから、情報をＴＬＢ内にコピーすることができる。ＴＬＢのロードは、エントリが現在の命令の実行の一部として変換に使用されるかどうかに左右されず、こうしたロードは、ＣＰＵが待機状態にある際に行うことができる。
３．ＴＬＢにおいて、テーブル・エントリの内容の１つより多くのコピーが存在することがある。例えば、エントリが接続されるようになった各アドレス空間制御要素内のテーブル起点に関して、幾つかの実施により、有効なテーブル・エントリの内容のコピーをＴＬＢ内に配置することができる。
【００４６】
変換テーブルの変更
接続され且つ無効なテーブル・エントリが有効にされ、関連付けられた仮想アドレスの変換のために使用可能なエントリがＴＬＢ内に存在しない場合、現在の操作単位の終了までに、変更が効力を生じる。同様に、接続されていない有効なテーブル・エントリが接続され、関連付けられた仮想アドレスに関する使用可能エントリがＴＬＢ内に存在しない場合、変更は、現在の操作単位の終了までに効力を生じる。
【００４７】
接続され且つ有効なテーブル・エントリを変更した場合、及び、ＴＬＢから、そのエントリの置換に適したエントリをクリアする前に、変換のためにそのエントリを必要とする仮想アドレスを使用してストレージを参照しようとする試みがなされた場合、以下の程度まで予測不能な結果が生じ得る。変更をもたらした命令を含む、複数の命令の間又は１の命令の実行中に、新しい値の使用が開始することがある。さらに、ＴＬＢから、そのエントリの置換に適したエントリをクリアするまで、ＴＬＢが古い値と新しい値の両方を含むことがあり、特定のアクセスに対して古い値が選択されるか又は新しい値が選択されるかは、予測不能である。ＴＬＢ内に上位レベルのテーブル・エントリの古い値と新しい値の両方が存在する場合、一方の値を使用して下位レベルのテーブル・エントリをフェッチし、それを他方の値と関連付けられたＴＬＢ内に配置することができる。エントリの新しい値が例外を引き起こす値である場合、例外が、割り込みを発生させることも、又は発生させないこともある。割り込みが発生した場合、例外が一般に、抑止又は無効化を引き起こしたとしても、命令の結果フィールドが変更されることがある。
【００４８】
エントリは、以下の規則に従ってＴＬＢからクリアされる。即ち、
１．全てのエントリは、ＰＵＲＧＥ  ＴＬＢ又はＳＥＴ  ＰＲＥＦＩＸの実行及びＣＰＵのリセットにより、ＴＬＢからクリアされる。
２．全てのエントリは、命令が使用する汎用レジスタ内のビットに応じて、構成内のＣＰＵのいずれかによるＣＯＭＰＡＲＥ  ＡＮＤ  ＳＷＡＰ  ＡＮＤ  ＰＵＲＧＥの実行により、構成内の全てのＴＬＢからクリアされ得る。
３．選択されたエントリは、構成内のＣＰＵのいずれかによるＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ又はＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹの実行により、構成内の全てのＴＬＢからクリアされる。
４．一部又は全てのＴＬＢエントリは、前述の規則により必要とされる以外の時にクリアされ得る。
【００４９】
プログラミング上の注意：
１．ＴＬＢ内のエントリは、それらを形成したテーブル・エントリが接続されなくなった又は無効になった後も、引き続き変換のために使用することができる。これらのＴＬＢエントリは、ＴＬＢから明示的にクリアされない限り、必ずしも除去されない。
ＴＬＢエントリがそのテーブル・エントリの置換に適していなければ、次の命令のための又は次の命令よりも早い変換プロセスにおいて、接続され且つ有効なエントリに対する変更、又はエントリが接続され且つ有効になるテーブル・エントリに対してなされる変更が反映される。しかしながら、ＴＬＢからそのテーブル・エントリに適したエントリがクリアされるまで、エントリを未接続又は無効にする、テーブル・エントリに対する変更は、必ずしも変換プロセスに反映されない。
【００５０】
２．命令実行の開始の一部として実施される、オペランドのアクセス可能性に関する予備試験によって、動的アドレス変換と関連付けられた例外が確立され得る。その結果、命令は、使用するテーブル・エントリを確認し、命令がオペランドを一度に１バイトずつ処理すると考えられた場合にテーブル・エントリが有効であるように見えたとしても、実行の開始時にテーブル・エントリが無効である場合には、領域第１変換例外、領域第２変換例外、領域第３変換例外、セグメント変換例外、又はページ変換例外が示され得る。
【００５１】
３．接続されているテーブル・エントリに対してなされる変更は、Ｉビットを０に設定すること、セグメント・テーブル・エントリ又はページ・テーブル・エントリのＣＯビットを１に設定すること、又はページ・テーブル・エントリの最右端バイトを変更することを除いて、ＴＬＢからそのエントリの内容の全てのコピーをクリアする前にそのエントリが変換のために使用された場合には、予測不能な結果をもたらし得る。変更をもたらした命令を含む命令間又は命令の実行中、新しい値の使用が開始されることがある。ＭＯＶＥ（ＭＶＣ）などの命令が、エントリを無効にする変更を含む、接続されているテーブル・エントリに対する変更を行い、その後、変更のためにエントリを使用する場合には、変更されたエントリは、前もってＴＬＢからエントリをクリアせずに使用され、結果の値及び例外認識の関連した予測不可能性が適用される。
【００５２】
接続されているテーブル・エントリの操作により、誤ったテーブル・エントリ値がＴＬＢ内に記録されることがある。例えば、変更が断片的に行われる場合、接続されている有効なエントリの変更により、部分的に更新されたエントリが記録されることがあり、又は、変更のプロセスにおいて中間値が導入された場合、無効であると推定されるエントリが一時的に有効であるように見え、ＴＬＢに記録されることがある。再試行されたＩ／Ｏ操作により変更が行われた場合、又は、単一の命令の実行中に中間値が導入された場合、こうした中間値が導入されることがある。
【００５３】
別の例として、セグメント・テーブル・エントリが、異なるページ・テーブルを指示するように変更され、ＴＬＢをクリアせずに使用される場合、新しいページ・テーブル・エントリをフェッチし、古いページ・テーブル起点と関連付けることができる。このような場合、新しいページ・テーブル起点を指示するＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹの実行は、必ずしも、新しいページ・テーブルからフェッチされたページ・テーブル・エントリをクリアしない。
【００５４】
４．ページ・テーブルの操作を容易にするために、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹ命令が提供される。この命令は、ページ・テーブル・エントリ内のＩビットを１に設定し、以下のように、構成内の１つ又は複数のＴＬＢから、これらのテーブル・エントリから形成されたエントリをクリアする。即ち、
ａ．ローカルＴＬＢクリア・ファシリティ（local-TLB clearing facility）がインストールされていない場合、又は、ファシリティがインストールされ、命令が全てのＴＬＢのクリアを指定する（即ち、命令内のローカル・クリア制御がゼロである）場合、構成内の全てのＴＬＢをクリアする。
ｂ．ローカルＴＬＢクリア・ファシリティがインストールされ、命令がローカルＴＬＢのみのクリアを指定する（即ち、命令内のローカル・クリア制御が１である）場合、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹ命令を実行するＣＰＵ内のＴＬＢのみをクリアする。
【００５５】
ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹを使用する際、ＴＬＢ操作の以下の態様を考慮すべきである。（ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹに関するプログラミング上の注意も参照されたい。）
ａ．最右端バイトの変更以外の、ページ・テーブル・エントリに対するいずれかの変更を行う前に、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹを実行しなければならず、他の場合には、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹの選択的クリア部分は、エントリのＴＬＢコピーをクリアしないことがある。
ｂ．ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹによる、１つのページ・テーブル内の全てのページ・テーブル・エントリの無効化は、必ずしも、ＴＬＢからページ・テーブルを指示するいずれのセグメント・テーブル・エントリもクリアしない。領域テーブル・エントリ又はセグメント・テーブル・エントリのＴＬＢの無効化及びクリアが望ましい場合は、以下の注記５の規則に従う必要がある。
同様に、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹによる、領域テーブル又はセグメント・テーブル内の全ての下位レベル・テーブル・エントリの無効化は、必ずしも、下位レベル・テーブルを指示するいずれの上位レベル・テーブル・エントリのＴＬＢもクリアしない。上位レベル・テーブル・エントリのＴＬＢの無効化及びクリアが望ましい場合、以下の注記５の規則に従う必要がある。
ｃ．一回に多数のページ・テーブル・エントリを無効化する場合、ＣＯＭＰＡＲＥ  ＡＮＤ  ＳＷＡＰ  ＡＮＤ  ＰＵＲＧＥ（ＴＬＢをパージするもの）、ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ、又はＰＵＲＧＥ  ＴＬＢを使用し、以下の注記５の規則に従うことに関与するオーバーヘッドは、ページ・テーブル・エントリごとにＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹを発行するよりも小さくなり得る。
【００５６】
５．テーブル・エントリの操作は、以下の規則に従うべきである。これらの規則を遵守すれば、変換は、変換プロセスにおいて常に実ストレージ又は絶対ストレージからのテーブル・エントリが使用されたかのように実施される。
ａ．有効なテーブル・エントリは、これがいずれかのＣＰＵに接続されている間は変更すべきでなく、（１）ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹ又はＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹを使用することによりエントリを無効化する、（２）ページ・テーブル・エントリのビット５６−６３を変更する、（３）ＴＬＢをパージするＣＯＭＰＡＲＥ  ＡＮＤ  ＳＷＡＰ  ＡＮＤ  ＰＵＲＧＥ命令によって変更を行う、又は（４）ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹを使用することによりエントリを置換する以外は、そのＣＰＵによる変換のために使用することができる。
ｂ．ページ・テーブル・エントリのビット５６−６３に対する変更以外の、接続され且つ有効なテーブル・エントリ、又は接続されていないテーブル・エントリに対して何らかの変更が行われる場合、変更が行われた後、及び、そのＣＰＵによる暗黙的変換のためにそのエントリを使用する前、そのエントリから形成されたＴＬＢエントリを有することができる各ＣＰＵが、そのＴＬＢをパージするようにしなければならない。（ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ、ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹ、又はＴＬＢをパージするＣＯＭＰＡＲＥ  ＡＮＤ  ＳＷＡＰ  ＡＮＤ  ＰＵＲＧＥ命令を用いて変更が行われた場合、別個のパージは不必要であることに留意されたい。）テーブル・エントリが接続され且つ有効である場合、変換のためにエントリを必要とし得るプログラムが実行されていないことが既知である場合も、この規則が適用される。
ｃ．中間有効値がエントリ内に現れるのを可能にするように、無効なテーブル・エントリに対して変更が行われ場合、変更が行われた後、及び、そのＣＰＵによる暗黙的アドレス変換のためにエントリを用いる前、エントリが接続されている各ＣＰＵが、そのＴＬＢをパージするようにしなければならない。
ｄ．テーブルについて指定されたオフセット又は長さに対して何らかの変更が行われた場合、変更が行われた後、及び、そのＣＰＵによる暗黙的変換のためにテーブルを使用する前に、もはやそのテーブル内にはないテーブル・エントリから形成されたＴＬＢエントリを有し得るＣＰＵの各々が、そのＴＬＢをパージするようにしなければならない。
【００５７】
中間有効値を導入せずに無効なページ・テーブル・エントリが有効にされた場合、そのエントリから形成されたいずれのＴＬＢエントリも有さないＣＰＵについては、ＴＬＢをクリアする必要がないことに留意されたい。同様に、中間有効値を導入せずに、無効な領域テーブル・エントリ又はセグメント・テーブル・エントリが有効にされた場合、その有効にされたエントリから形成されたＴＬＢエントリを有さず、且つ、その有効にされたエントリにより接続されているページ・テーブル内のエントリから形成されたいずれのＴＬＢエントリも有さないＣＰＵにおいては、ＴＬＢをクリアする必要はない。
【００５８】
ＰＵＲＧＥ  ＴＬＢ、ＣＯＭＰＡＲＥ  ＡＮＤ  ＳＷＡＰ  ＡＮＤ  ＰＵＲＧＥ、又はＳＥＴ  ＰＲＥＦＩＸの実行は、幾つかのモデルの性能に悪影響を与えることがある。従って、これらの命令の使用は、上記の規則に従って最小限にすべきである。
【００５９】
６．ＥＤＡＴ−１が適用される場合、以下の考慮事項が実施される。即ち、
ａ．ＳＴＥ形式制御及びＡＣＣＦ妥当性制御の両方とも１である場合、ＣＰＵが、いずれかの所与のキー制御保護チェックに関して、セグメント・テーブル・エントリ内又は対応する４Ｋバイト・ブロックのストレージ・キー内のアクセス制御ビット及びフェッチ保護ビットを検査するかどうかは予測不能である。従って、プログラムは、ＳＴＥ内の無効ビットをゼロに設定する前に、セグメント・テーブル・エントリ内のアクセス制御ビット及びフェッチ保護ビットが、セグメントの構成要素である４Ｋバイト・ブロックに関する２５６個のストレージ・キー全てにおけるそれぞれのフィールドと同一であることを保証すべきである。このセクションで上述したように、セグメント・テーブル・エントリ内のＡＣＣＦ妥当性制御、アクセス制御ビット、又はフェッチ保護ビットを変更する前、及び、セグメントの２５６個のストレージ・キーのいずれかにおけるアクセス制御ビット又はフェッチ保護ビットを変更する前に、プログラムは、最初に、セグメント・テーブル・エントリにおいて無効ビットを１に設定し、構成内の全てのＴＬＢ内の全てのエントリをクリアすべきである。
ｂ．セグメント・テーブル・エントリにおいて変更記録オーバーライドをゼロに設定する前、プログラムは、（例えば、ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹを使用して）セグメント・テーブル・エントリにおいて無効ビットを１に設定し、構成内の全てのＴＬＢ内の全てのエントリをクリアすべきである。変更が、ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ、又はＴＬＢをクリアするＣＯＭＰＡＲＥ  ＡＮＤ  ＳＷＡＰ  ＡＮＤ  ＰＵＲＧＥの形態を使用して行われる場合、テーブル・エントリの無効化は不要である。
ｃ．ページ・テーブル・エントリにおいて変更記録オーバーライドをゼロに設定する前、プログラムは、ページ・テーブル・エントリにおいて無効ビットを１に設定し、構成内の全てのＴＬＢ内の全てのエントリをクリアすべきである（例えば、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹを使用して）。変更が、ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ、又はＴＬＢをクリアするＣＯＭＰＡＲＥ  ＡＮＤ  ＳＷＡＰ  ＡＮＤ  ＰＵＲＧＥの形態を使用して行われる場合、テーブル・エントリの無効化は不要である。
【００６０】
ＥＤＡＴ−２が適用される場合、以下の付加的な考慮事項が実施される。即ち、
ａ．ＲＴＴＥ形式制御及びＡＣＣＦ妥当性制御の両方とも１である場合、ＣＰＵがいずれかの所与のキー制御保護チェックに関して、領域第３テーブル・エントリ内又は対応する４Ｋバイト・ブロックのストレージ・キー内のアクセス制御ビット及びフェッチ保護ビットを検査するかどうかは予測不能である。従って、プログラムは、ＲＴＴＥ内の無効ビットをゼロに設定する前に、領域第３テーブル・エントリ内のアクセス制御ビット及びフェッチ保護ビットが、領域の構成要素である４Ｋバイト・ブロックに関する５２４，２８８個のストレージ・キー全てにおけるそれぞれのフィールドと同一であることを保証すべきである。このセクションにおいて上述したように、領域第３テーブル・エントリにおいてＡＣＣＦ妥当性制御、アクセス制御ビット、又はフェッチ保護ビットを変更する前、及び、領域の５２４，２８８個のストレージ・キーのいずれかにおけるアクセス制御ビット又はフェッチ保護ビットを変更する前、プログラムは最初に、領域第３テーブル・エントリ内の無効ビットを１に設定し、構成内の全てのＴＬＢ内の全てのエントリをクリアすべきである。
ｂ．領域第３テーブル・エントリにおいて変更記録オーバーライドをゼロに設定する前、プログラムは、領域第３テーブル・エントリにおいて無効ビットを１に設定し、構成内の全てのＴＬＢ内の全てのエントリをクリアすべきである（例えば、ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹを使用して）。変更が、ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ、又はＴＬＢをクリアするＣＯＭＰＡＲＥ  ＡＮＤ  ＳＷＡＰ  ＡＮＤ  ＰＵＲＧＥの形態を使用して行われる場合、テーブル・エントリの無効化は不要である。
【００６１】
これらの手順に従わなければと、潜在的に、遅延アクセス例外マシン・チェック、又は変更の記録の失敗を含む、予測不能な結果がもたらされ得る。
【００６２】
強化されたＤＡＴファシリティ１
強化されたＤＡＴファシリティ（enhanced-DAT facility）１が、ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅを実装するモデルで利用可能である。このファシリティがインストールされ、イネーブルにされている場合、ＤＡＴ変換は、セグメント・テーブル・エントリ内のＳＴＥ形式制御によって決定される、ページ・フレーム実アドレス又はセグメント・フレーム絶対アドレスのいずれかを生成することができる。構成内にファシリティがインストールされている場合、制御レジスタ０の新しいビットがファシリティをイネーブルにする。
注記：ＥＤＡＴ−１が適用されるという用語は、本文書においては、強化されたＤＡＴファシリティ１が構成内にインストールされており、制御レジスタ０によってイネーブルにされている状態を説明するために広汎に用いられる。
【００６３】
ＥＤＡＴ−１が適用される場合、ＤＡＴプロセスにおいて、以下の付加的な機能が利用可能である。
・ＤＡＴ保護ビットが領域テーブル・エントリに付加され、セグメント・テーブル・エントリ及びページ・テーブル・エントリ内のＤＡＴ保護ビットに類似した機能を提供する。
・ＳＴＥ形式制御がセグメント・テーブル・エントリに付加される。ＳＴＥ形式制御がゼロである場合、ＤＡＴは、ページ・テーブル・エントリ内の変更記録オーバーライドが、そのページに関して変更ビットの設定をバイパスできるかどうかを示す点を除いて、現在定められている通りに進行する。
・ＳＴＥ形式制御が１である場合、セグメント・テーブル・エントリも以下を含む。
１Ｍバイト・ブロックの絶対ストレージ位置を指定するセグメント・フレーム絶対アドレス（ページ・テーブル起点ではなく）。
セグメントの個々のストレージ・キー内の対応するビットの代わりに随意的に使用できるアクセス制御ビット及びフェッチ保護ビット。
セグメント・テーブル・エントリ内のアクセス制御ビット及びフェッチ保護ビットの妥当性を決定するビット。
セグメントの個々のストレージ・キーにおいて変更ビットの設定をバイパスすることができるかどうかを示す変更記録オーバーライド。このファシリティは、ＰＥＲＦＯＲＭ  ＦＲＡＭＥ  ＭＡＮＡＧＥＭＥＮＴ  ＦＵＮＣＴＩＯＮ制御命令を付加する。このファシリティは、以下の制御命令に対する機能強化又は変更を含む。即ち、
・ＬＯＡＤ  ＰＡＧＥ−ＴＡＢＬＥ−ＥＮＴＲＹ  ＡＤＤＲＥＳＳ
・ＭＯＶＥ  ＰＡＧＥ
・ＳＥＴ  ＳＴＯＲＡＧＥ  ＫＥＹ  ＥＸＴＥＮＤＥＤ
・ＴＥＳＴ  ＰＲＯＴＥＣＴＩＯＮ。
【００６４】
強化されたＤＡＴファシリティ２
強化されたＤＡＴファシリティ２は、ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅを実装するモデルで利用可能である。このファシリティがインストールされ、イネーブルにされている場合、ＤＡＴ変換は、領域第３テーブル・エントリ（もしあれば）及びセグメント・テーブル・エントリ（もしあれば）内の形式制御によって決定される、ページ・フレーム実アドレス、セグメント・フレーム絶対アドレス、又は領域フレーム絶対アドレスのいずれかを生成することができる。
注記：ＥＤＡＴ−２が適用されるという用語は、本文書においては、強化されたＤＡＴファシリティ２が構成内にインストールされており、制御レジスタ０によってイネーブルにされている状態を説明するために広汎に用いられている。
【００６５】
ＥＤＡＴ−２が適用される場合、ＤＡＴプロセスにおいて、以下の付加的な機能が利用可能である。
・ＥＤＡＴ−１が適用される。
・形式制御が領域第３テーブル・エントリ（ＲＴＥＥ）に付加される。ＲＴＴＥ形式制御がゼロである場合、ＤＡＴは、ＥＤＡＴ−１が適用される場合と同様に進行する。
・ＲＴＴＥ形式制御が１である場合、領域第３テーブル・エントリも以下を含む。
２Ｇバイト・ブロックの絶対ストレージ位置を指定する領域フレーム絶対アドレス（セグメント・テーブル起点ではなく）。
領域の個々のストレージ・キー内の対応するビットの代わりに随意的に使用できるアクセス制御ビット及びフェッチ保護ビット。
領域第３テーブル・エントリ内のアクセス制御ビット及びフェッチ保護ビットの妥当性を決定するビット。
領域の個々のストレージ・キーにおいて変更ビットの設定をバイパスできるかどうかを示す変更記録オーバーライド。強化されたＤＡＴファシリティ２は、ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ命令を付加し、接続され且つ有効なＤＡＴテーブル・エントリの動的置換、及び置換されたエントリから作成されるあらゆるＴＬＢエントリの選択的なクリアをもたらす。強化されたＤＡＴファシリティ２もまた、以下の制御命令に対する強化又は変更を含む。：
・ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ
・ＬＯＡＤ  ＰＡＧＥ−ＴＡＢＬＥ−ＥＮＴＲＹ  ＡＤＤＲＥＳＳ
・ＭＯＶＥ  ＰＡＧＥ
・ＰＥＲＦＯＲＭ  ＦＲＡＭＥ  ＭＡＮＡＧＥＭＥＮＴ  ＦＵＮＣＴＩＯＮ
・ＴＥＳＴ  ＰＲＯＴＥＣＴＩＯＮ。
強化されたＤＡＴファシリティ２がインストールされている場合、強化されたＤＡＴファシリティ１もインストールされている。
【００６６】
ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ（ＩＤＴＥ）は、セグメント・テーブル・エントリが無効化されると、ＴＬＢ結合領域及びセグメント・テーブル・エントリを選択的にクリアすることにより、無効化及びクリア操作（invalidation-and-clearing operation）を実施する。ＩＤＴＥもまた、ＡＳＣＥによるクリア操作（clearing-by-ASCE operation）を実施する。
【００６７】
ＩＤＴＥ命令の実行中、ストレージ（例えば、仮想ストレージ）の指定された部分が無効化される。例として、複数のストレージ・ページを含むストレージ・セグメント、又は、複数のストレージ・セグメントを含むストレージ領域が、無効化されるように選択される。無効化されるストレージの単位に対応する、データ構造エントリ内に配置された無効化インジケータを設定することにより、無効化が容易になる。さらに別の態様において、無効化されるストレージ又は他のストレージと関連付けられたバッファ・エントリ（例えば、変換ルックアサイド・バッファ・エントリ）がクリアされる。さらに、別の態様において、選択されたアドレス空間と関連付けられたバッファ・エントリが、選択されていないアドレス空間のバッファ・エントリに影響を与えることなく、及び、無効化を実施することなく、バッファからクリアされる。一例において、本明細書において、上記の操作の１つ又は複数を実施するために、ＩＢＭ（登録商標）ｚ／ＡｒｃｈｉｔｅｃｔｕｒｅからのＩｎｖａｌｉｄａｔｅ  Ｄｙｎａｍｉｃ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ（ＤＡＴ）Ｔａｂｌｅ  Ｅｎｔｒｙ（動的アドレス変換（ＤＡＴ）テーブル・エントリ無効化、ＩＤＴＥ）命令と呼ばれる命令が用いられる。
【００６８】
ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ
ＩＤＴＥ  Ｒ１，Ｒ３，Ｒ２［，Ｍ４］
注記：「指定されたＣＰＵ」という用語は、この命令によって影響を受けるＴＬＢの範囲に関して以下の意味を有する。
・ローカルＴＬＢクリア・ファシリティがインストールされていない場合、又は、ファシリティがインストールされ、Ｍ４フィールド内のローカル・クリア制御（ＬＣ）ビットがゼロである場合、「指定されたＣＰＵ」という用語は、構成内のＣＰＵ全てを意味する。
・ローカルＴＬＢクリア・ファシリティがインストールされ、Ｍ４フィールド内のＬＣビットが１である場合、「指定されたＣＰＵ」という用語は、ＩＤＴＥ命令を実行しているＣＰＵ（ローカルＣＰＵ）のみを意味する。構成内の他の全てのＣＰＵのＴＬＢは、影響を受けないことがある。
【００６９】
ＡＳＣＥによるクリア・オプション（clearing-by-ASCE-option）ビット（汎用レジスタＲ２のビット５２）がゼロである場合、無効化及びクリア操作（invalidation-and-clearing  operation）と呼ばれる操作が、以下のように実施される。ストレージ内の指示された領域テーブル・エントリ若しくはセグメント・テーブル・エントリ、又は指示されたエントリで始まるある範囲のエントリが無効化され、構成内の指定されたＣＰＵ内の変換ルックアサイド・バッファ（ＴＬＢ）から、（１）ストレージ内の無効化されたエントリを用いて形成された、指示されたタイプの全てのＴＬＢテーブル・エントリ、及び（２）クリアされた上位レベルのＴＬＢテーブル・エントリを用いて形成された全ての下位レベルのＴＬＢエントリがクリアされる。クリアされるＴＬＢエントリは、随意的に、指定されたアドレス空間内のアドレスを変換するために形成されたエントリに制限することができる。
【００７０】
ＡＳＣＥによるクリア・オプション・ビットが１である場合、ＡＳＣＥによるクリア操作と呼ばれる操作が、以下のように実施される。操作は、ストレージ内のＤＡＴテーブル・エントリのいずれの無効化も実施しないが、構成内の全てのＣＰＵ内のＴＬＢから、指定されたアドレス空間内のアドレスを変換するために形成された全ての領域第１テーブル・エントリ、領域第２テーブル・エントリ、領域第３テーブル・エントリ、セグメント・テーブル・エントリ、及びページ・テーブル・エントリがクリアされる。
【００７１】
Ｍ４フィールドのビットは、以下のように定められる。
・予約される：Ｍ４フィールドのビット０−１は無視されるが、ゼロを含むはずであり、他の場合には、プログラムは、将来、互換性のある状態で動作しないことがある。
・形式制御サマリ（ＦＳ）：ＥＤＡＴ−２が適用される場合、Ｍ４フィールドのビット２は無効化及びクリア操作に関する形式制御サマリ（ＦＳ）である。ＥＤＡＴ−２が適用されない場合、Ｍ４フィールドのビット２は、ＡＳＣＥによるクリア操作に関して無視される。
形式制御サマリは、指示タイプ（ＤＴ）（汎用レジスタＲ１のビット６０−６１）が２進数００又は０１である場合に適用され、汎用レジスタＲ１内のＤＴが２進数１０又は１１である場合、形式制御サマリは無視される。
・ローカル・クリア制御（ＬＣ）：ローカルＴＬＢクリア・ファシリティがインストールされている場合、ＬＣビット（Ｍ４フィールドのビット３）は、ローカルＣＰＵ内のＴＬＢのみをクリアするかどうか、又は構成の全てのＣＰＵ内のＴＬＢをクリアするかどうかを制御する。ローカルＴＬＢクリア・ファシリティがインストールされていない場合、Ｍ４フィールドのビット３は無視される。
【００７２】
無効化及びクリア操作
汎用レジスタＲ２のビット５２（ＡＳＣＥによるクリア・オプション・ビット）がゼロである場合、無効化及びクリア操作が指定される。
【００７３】
汎用レジスタＲ１の内容は、テーブル起点（ビット０−５１）、並びに指示タイプ制御（ＤＴ）（ビット６０及び６１）だけが使用される、アドレス空間制御要素の形式を有する。テーブル起点は、１つ又は複数のエントリが無効化されるＤＡＴテーブルを指示し、ＤＴはそのテーブル・タイプを指定する。汎用レジスタＲ１のビット５２−５９、６２及び６３は無視される。
【００７４】
汎用レジスタＲ２のビット０−４３は、仮想アドレスの領域インデックス及びセグメント・インデックスの形式を有する。汎用レジスタＲ１により指示されるテーブル・タイプのエントリを選択するために、通常ＤＡＴにより使用されるビット０−４３の部分は、有効な無効化インデックス（effective invalidation index）と呼ばれる。汎用レジスタＲ１のビット６０及び６１は、テーブル・タイプ及び有効な無効化インデックスを以下のように指定する。有効な無効化インデックスの右にある汎用レジスタＲ２のビット０−４３の部分は無視される。
【００７５】
汎用レジスタＲ１内のテーブル起点、及び有効な無効化インデックスは、無効化されるＤＡＴテーブル・エントリを指し示す。汎用レジスタＲ２のビット５３−６３は、無効化される付加的なテーブル・エントリの数を指定する符号なし２進整数である。従って、無効化されるエントリの数は、ビット５３−６３の値に対応する、１−２，０４８個となる。汎用レジスタＲ２のビット４４−５１はゼロでなければならず、他の場合には、指定例外が認識される。
【００７６】
Ｒ３が非ゼロの場合、汎用レジスタＲ３の内容は、テーブル起点（ビット０−５１）、並びに指示タイプ制御（ＤＴ）（ビット６０及び６１）だけが使用される、アドレス空間制御要素の形式を有する。これらの内容は、クリアされるＴＬＢエントリを選択するために使用される。汎用レジスタＲ３のビット５２−５９、６２及び６３は無視される。Ｒ３がゼロの場合、汎用レジスタ０の内容全体が無視され、ＴＬＢエントリは、それらを形成するのに使用されるＡＳＣＥに関係なくクリアされる。
【００７７】
汎用レジスタＲ１内のテーブル起点、及び汎用レジスタＲ２内の有効な無効化インデックスは、結果として得られるアドレスのビット位置０からの繰り上がりが常に無視され、インデックスがテーブル長フィールドに対してチェックされない点を除いて、非特許文献１の「Ｌｏｏｋｕｐ  ｉｎ  ａ  Ｔａｂｌｅ  Ｄｅｓｉｇｎａｔｅｄ  ｂｙ  ａｎ  Ａｄｄｒｅｓｓ−Ｓｐａｃｅ−Ｃｏｎｔｒｏｌ  Ｅｌｅｍｅｎｔ」における規則に従って、テーブル・エントリを指示する。テーブル起点は６４ビット・アドレスとして扱われ、加算は、現ＰＳＷのビット３１及び３２により指定される現在のアドレッシング・モードに関係なく、６４ビット・アドレスの算術演算の規則を用いて行われる。これら２つのコンポーネントから形成されるアドレスは、実アドレス又は絶対アドレスである。この領域テーブル・エントリ又はセグメント・テーブル・エントリの無効ビット（ビット５８）は、１に設定される。この手続きの際、エントリは、形式エラーに関して、又はエントリにおける次の下位レベルのテーブル起点がアドレッシング例外を引き起こすかどうかに関して、チェックされない。エントリ内のテーブル・タイプ・フィールドは無視される。エントリがセグメント・テーブル・エントリである場合、エントリ内の共通セグメント・ビットは無視される。ＥＤＡＴ−２が適用され、エントリが領域第３テーブル・エントリである場合、エントリ内の共通領域ビットは無視される。
【００７８】
テーブル・エントリ全体が、ストレージから同時にフェッチされる。その後、無効ビットを含むバイトが格納される。エントリへのフェッチ・アクセスはキー制御保護の対象となり、ストア・アクセスは、キー制御保護及び低アドレス保護の対象となる。
【００７９】
汎用レジスタＲ２のビット５３−６３が全てゼロでない場合、領域テーブル・エントリ又はセグメント・テーブル・エントリにおける無効ビットの１への設定は、有効な無効化インデックスの以前使用した値に１を加算することによって繰り返され、これは、ビット５３−６３によって指定された回数だけ行われる。有効な無効化インデックスの最左端のビット位置の繰り上がりは無視され、この場合、テーブル内のラップアラウンドが行われる。汎用レジスタＲ２の内容は変更されないままである。
【００８０】
シリアル化機能が、操作の開始前に実施され、操作の完了後に再実施される。全てのシリアル化操作の場合のように、このシリアル化は、このＣＰＵのみに適用され、他のＣＰＵは必ずしもシリアル化されない。
【００８１】
このＣＰＵが無効ビットを１に設定した後、そのＴＬＢから、選択されたエントリをクリアする。次いで、ローカルＴＬＢクリア・ファシリティがインストールされていない場合、又は、ファシリティがインストールされ、Ｍ４フィールド内のＬＣビットがゼロである場合、このＣＰＵは、そのＴＬＢから選択されたエントリをクリアするように、構成内の他の全てのＣＰＵに知らせる。影響を受けるＴＬＢの各々から、少なくとも、以下の条件の全てを満たすエントリがクリアされる。
・汎用レジスタＲ２内の有効な無効化インデックスは、汎用レジスタＲ１のビット６０−６１におけるＤＴフィールドにより指示されるタイプのＴＬＢテーブル・エントリ内の対応するインデックスと合致する。モデルがＤＴフィールドにより指示されるインデックスを含む複合ＴＬＢエントリを実装する場合、汎用レジスタＲ２内の有効インデックスの左にあるビットも、指示されたＴＬＢテーブル・エントリ内に与えられるいずれの対応するビットにも合致する。汎用レジスタＲ２のビット５３−６３に起因して複数のテーブル・エントリが無効化される場合、次いで有効な無効化インデックスがインクリメントされ、インデックスの最左端ビット位置の繰り上がりはなくなり、そのように取得されたインデックスの各値について、ＴＬＢ領域テーブル・エントリ又はセグメント・テーブル・エントリがクリアされることに留意されたい。
・Ｒ３フィールドがゼロであるか、又は汎用レジスタＲ３内のテーブル起点及び指示タイプ・フィールドが、ＴＬＢテーブル・エントリを形成するのに使用されたアドレス空間制御要素（ＡＳＣＥ）内のテーブル起点及び指示タイプ・フィールドと合致する。
・Ｒ３フィールドがゼロである場合、このステップで説明される条件は適用されない。
・ストレージ内で無効化されたエントリが下位レベルの変換テーブルを指示する場合、無効化されたエントリ内の下位レベルのテーブル起点は、ＴＬＢテーブル・エントリ内のテーブル起点フィールドと合致する。
【００８２】
影響を受けるＴＬＢの各々から、以下の条件の全てを満たす、少なくともいずれかの下位レベルのＴＬＢテーブル・エントリもまたクリアされる。
・下位レベルのＴＬＢテーブル・エントリが、ストレージ内で無効化されたエントリ、又はストレージ内で無効化されたエントリ若しくはこのプロセスでクリアされたＴＬＢエントリのいずれかを用いて形成された上位レベルのＴＬＢテーブル・エントリを使用することにより形成された。
・Ｒ３フィールドがゼロであるか、又は汎用レジスタＲ３内のテーブル起点及び指示タイプ・フィールドが、下位レベルのＴＬＢテーブル・エントリを形成するのに使用されたアドレス空間制御要素（ＡＳＣＥ）内のテーブル起点及び指示タイプ・フィールドと合致する。このＡＳＣＥは、下位レベルのＴＬＢテーブル・エントリが形成されたストレージ内の下位レベルのテーブル・エントリを接続した上位レベルのテーブル・エントリを含む変換経路を接続したものとすることができ、又は、このＡＳＣＥは、下位レベルのＴＬＢテーブル・エントリが形成されたストレージ内の下位レベルのテーブル・エントリを接続した上位レベルのＴＬＢテーブル・エントリを使用可能にしたものとすることができる。Ｒ３フィールドがゼロである場合、このステップで説明された条件は適用されない。
・ストレージ内で無効化されたエントリが下位レベルの変換テーブルを指示する場合、無効化されたエントリ内の下位レベルのテーブル起点は、ＴＬＢテーブル・エントリ内のテーブル起点フィールドと合致する。
【００８３】
プログラミング上の注意：
１．形式制御サマリを１に設定することにより、特定のモデルにおける性能の改善がもたらされ得る。
２．指示タイプ（ＤＴ）（汎用レジスタＲ１のビット６０−６１）が２進数００である場合、形式制御サマリが、無効化されるセグメント・テーブル・エントリに適用される。汎用レジスタＲ１内のＤＴが２進数０１である場合、形式制御サマリは、無効化される領域第３テーブル・エントリに適用される。
３．プログラムは、無効化されるテーブル・エントリの全てにおいて形式制御（テーブル・エントリのビット５３）が１であることを保証できる場合、単に、形式制御サマリを１に設定すべきである。形式制御サマリは１に設定されるが、無効化されているテーブル・エントリの全てにおいて形式制御が１ではない場合、ＴＬＢの不完全なパージが生じることがあり、ＤＡＴから予測不能な結果をもたらす。
４．アセンブラ構文の括弧［］内に含まれるフィールドで示されるように、命令のＭ４フィールドは随意的であると考えられる。Ｍ４フィールドが指定されていない場合、アセンブラは、命令のそのフィールドにゼロを入れる。
【００８４】
領域テーブル・エントリ又はセグメント・テーブル・エントリにおいて無効ビットが既に１である場合、領域テーブル・エントリ又はセグメント・テーブル・エントリへの格納、及びＴＬＢエントリのクリアは、行われることも又は行われないこともある。
【００８５】
複数のエントリが無効化される場合、全てのエントリが無効化されるまで、ＴＬＢエントリのクリアを遅らせることができる。
【００８６】
ＡＳＣＥによるクリア操作
汎用レジスタＲ２のビット５２（ＡＳＣＥによるクリア・オプション・ビット）が１である場合、ＡＳＣＥによるクリア操作が指定される。
【００８７】
汎用レジスタＲ３の内容は、テーブル起点（ビット０−５１）、及び指示タイプ制御（ＤＴ）（ビット６０及び６１）だけが使用される、アドレス空間制御要素の形式を有する。これらの内容は、クリアされるＴＬＢエントリを選択するために使用される。汎用レジスタＲ３のビット５２−５９、６２及び６３は無視される。Ｒ３は、ゼロであっても又は非ゼロであってもよく、つまり、レジスタ０を含む任意の汎用レジスタを指示することができる。
【００８８】
汎用レジスタＲ２のビット４４−５１はゼロにしなければならない。他の場合には、指定例外が認識される。
【００８９】
汎用レジスタＲ１の内容、並びに汎用レジスタＲ２のビット位置０−４３及び５３−６３の内容は無視される。
【００９０】
少なくとも、汎用レジスタＲ３内のテーブル起点及び指示タイプ・フィールドがエントリを形成するのに使用されるアドレス空間制御要素（ＡＳＣＥ）内のテーブル起点及び指示タイプ・フィールドと合致するエントリの全てのレベルにおいて、構成内の指定されたＣＰＵのＴＬＢがクリアされる。このＡＳＣＥは、エントリが形成された変換に使用されるものである。ＡＳＣＥによるクリア・オプション・ビット（汎用レジスタＲ２のビット５２）が１である場合、Ｍ４フィールドは無視される。
【００９１】
共通の操作
ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹの実行は、これを実行するＣＰＵ上で、以下が行われるまで完了しない。
１．上記で指定された基準を満たす全てのエントリが、このＣＰＵのＴＬＢからクリアされている。ローカルＴＬＢクリア・ファシリティがインストールされ、Ｍ４フィールド内のＬＣビットが１である場合、ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹの実行はこの時点で完了し、次のステップは実施されない。
２．ローカルＴＬＢクリア・ファシリティがインストールされていない場合、又は、ファシリティがインストールされ、Ｍ４フィールド内のＬＣビットがゼロである場合、構成内の他の全てのＣＰＵは、指定されたパラメータに対応するＴＬＢエントリを用いて、変更及び参照ビットの更新を含むいずれのストレージ・アクセスも完了している。この操作は、必ずしもＴＬＢの実空間エントリに何らかの影響を与えるものではない。
【００９２】
特別な条件：
汎用レジスタＲ２のビット４４−５１はゼロでなければならず、他の場合には、指定例外が認識される。
この操作は全てのアドレッシング例外及び保護例外において抑止される（無効化及びクリア操作のみ）。
【００９３】
結果の条件コード：コードは予測不能である。
【００９４】
プログラム例外：
・アドレッシング例外（無効化された領域テーブル・エントリ又はセグメント・テーブル・エントリ、無効化及びクリア操作のみ）
・操作例外（ＤＡＴ強化ファシリティがインストールされていない場合）
・特権操作例外
・保護例外（フェッチ及びストア、領域テーブル・エントリ又はセグメント・テーブル・エントリ、キー制御保護及び低アドレス保護、無効化及びクリア操作のみ）
・指定例外
【００９５】
プログラミング上の注意：
１．ＴＬＢエントリの選択的クリアは、モデルに応じて異なる方法で実施することができ、一般に、必要最小数よりも多くのエントリがクリアされ得る。無効化及びクリア操作が実施される場合、幾つかのモデルは、有効な無効化インデックスがセグメント・インデックスではない場合に全てのＴＬＢをクリアすること、又は、エントリ内のページ・テーブル起点に関係なくエントリをクリアすることが可能である。その操作又はＡＳＣＥによるクリア操作が実施される場合、幾つかのモデルは、汎用レジスタＲ３内の指示タイプ・フィールドに関係なく、ＴＬＢエントリをクリアし得る。いずれかの操作が実施される場合、他のモデルは、必要最小数のエントリを正確にクリアすることができる。従って、プログラムが全てのモデル上で動作するために、プログラムは、特定のモデルでの選択性が少ないクリアによって得られたいずれの特性も利用すべきではない。
２．共通のセグメントと関連付けられたＴＬＢエントリをクリアするためにＡＳＣＥによるクリア操作を使用する場合、これらのエントリは、多数の異なるテーブル起点を含むアドレス空間制御要素を用いて形成されたものであり得ることに留意されたい。
【００９６】
以下の注記は、無効化及びクリア操作が指定されるときに適用される。
３．ＴＬＢエントリのクリアでは、セグメント・テーブル・エントリ内のページ・テーブル起点を利用することができる。従って、セグメント・テーブル・エントリは、接続された状態にあるとき、過去に、現在の値とは異なるページ・テーブル起点を含んでいた場合、以前の値を含むエントリのコピーは、ＴＬＢ内にあるままとすることができる。
４．別のＣＰＵ又はチャネル・プログラムもまた位置を更新できる可能性が存在する場合、主ストレージ内の共有位置を更新するために、ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹを安全に使用することはできない。
５．ＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹについてのＤＡＴテーブル・エントリのアドレスは６４ビット・アドレスであり、アドレス算術演算は、２６４−１でのラップアラウンドにより、６４ビット・アドレス算術計算に関する以下の通常の規則に従って実施される。また、オフセット及び長さフィールドは使用されない。これは、ＬＯＡＤ  ＲＥＡＬ  ＡＤＤＲＥＳＳ及びＳＴＯＲＥ  ＲＥＡＬ  ＡＤＤＲＥＳＳについての暗黙的変換とは対照的であり、その全てがラップアラウンド、又はビット位置０からの繰り上がりが生じた場合にはアドレッシング例外をもたらすことがあり、且つ、指示されたエントリがそのテーブル内に存在しない場合には例外条件を示す。従って、ＤＡＴテーブルを、最大ストレージ位置から位置０にラップするように指定すべきではなく、汎用レジスタＲ２のビット５３−６３により指定される最初の指定エントリ及び全ての付加的なエントリは、指示されたテーブル内にあるべきである。
６．ローカルＴＬＢクリア・ファシリティがインストールされている場合、クリアされるＴＬＢエントリを形成するために使用されたＡＳＣＥが、ＩＤＴＥ命令を実行しているＣＰＵのみに接続されていた場合（例えば、プログラムがユニプロセッサ上で実行されている場合）、ローカル・クリア制御を１として指定すべきである。他の場合には、遅延アクセス例外マシン・チェックの提示を含む予測不能な結果が発生し得る。幾つかのモデルにおいては、上記に列挙した場合のローカルＴＬＢのみのクリアを指定するＩＮＶＡＬＩＤＡＴＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹの使用により、著しい性能の改善がもたらされ得る。
７．アセンブラ構文の括弧［］内に含まれるフィールドで示されるように、命令のＭ４フィールドは随意的であると考えられる。Ｍ４フィールドが指定されていない場合、アセンブラは命令のそのフィールドにゼロを入れる。
【００９７】
ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹ
ＩＰＴＥ  Ｒ１，Ｒ２［，Ｒ３［，Ｍ４］］
注記：「指定されたＣＰＵ」という用語は、この命令が影響を及ぼすＴＬＢの範囲に関して、以下の意味を有する。
・ローカルＴＬＢクリア・ファシリティがインストールされていない場合、又は、ファシリティがインストールされ、Ｍ４フィールドのローカル・クリア制御（ＬＣ）ビットがゼロである場合、「指定されたＣＰＵ」という用語は、構成内のＣＰＵの全てを意味する。
・ローカルＴＬＢクリア・ファシリティがインストールされ、Ｍ４フィールドのＬＣビットが１である場合、「指定されたＣＰＵ」という用語は、ＩＰＴＥ命令を実行するＣＰＵ（ローカルＣＰＵ）のみを意味する。構成内の他の全てのＣＰＵ内のＴＬＢに影響を及ぼすことはない。
【００９８】
指し示されたページ・テーブル・エントリが無効化され、構成内の指定されたＣＰＵ内の変換ルックアサイド・バッファ（ＴＬＢ）から、関連したエントリがクリアされる。
【００９９】
汎用レジスタＲ１の内容は、ページ・テーブル起点のみが使用される、セグメント・テーブル・エントリの形式を有する。汎用レジスタＲ２の内容は、ページ・インデックスのみが使用される、仮想アドレスの形式を有する。ページ・テーブル起点又はページ・インデックスの部分ではないフィールドの内容は無視される。ＩＰＴＥ範囲ファシリティがインストールされていない場合、又は、Ｒ３フィールドがゼロである場合、第１オペランド及び第２オペランドにより指示される単一のページ・テーブル・エントリは無効化される。
【０１００】
ＩＰＴＥ範囲ファシリティがインストールされ、Ｒ３フィールドが非ゼロである場合、汎用レジスタＲ３のビット５３−６３は、無効化される付加的なページ・テーブル・エントリのカウントを指定する符号なし２進整数を含む。従って、無効化されるページ・テーブル・エントリの数は、レジスタのビット５３−６３における０−２５５の値に対応する、１−２５６個となる。
【０１０１】
ＩＰＴＥ範囲ファシリティがインストールされていない場合、Ｒ３フィールドは無視されるが、ゼロを含むべきであり、他の場合には、プログラムは、将来、互換性のある状態で動作しないことがある。
【０１０２】
Ｍ４フィールドのビットは、以下のように定められる。
・予約される：ビット０−２は予約される。Ｍ４フィールドの予約されたビット位置は無視されるが、ゼロを含むべきであり、他の場合には、プログラムは、将来、互換性のある状態で動作しないことがある。
・ローカル・クリア制御（ＬＣ）：ローカルＴＬＢクリア・ファシリティがインストールされている場合、ＬＣビット（Ｍ４フィールドのビット３）は、ローカルＣＰＵ内のＴＬＢのみをクリアするかどうか、又は構成内の全てのＣＰＵ内のＴＬＢをクリアするかどうかを制御する。ローカルＴＬＢクリア・ファシリティがインストールされていない場合、Ｍ４フィールドのビット３は予約される。
【０１０３】
ページ・テーブル起点及びページ・インデックスは、ページ・テーブル・エントリを指示し、ページ・ルックアップに関する動的アドレス変換規則に従う。ページ・テーブル起点は６４ビット・アドレスとして扱われ、加算は、現ＰＳＷのビット３１及び３２により指定される現在のアドレッシング・モードに関係なく、６４ビット・アドレスの算術演算の規則を用いて行われる。ページ・インデックスとページ・テーブル起点の加算の結果としてのビット位置０の繰り上がりは発生し得ない。これら２つのコンポーネントから形成されるアドレスは、実アドレス又は絶対アドレスである。このページ・テーブル・エントリのページ無効ビットは、１に設定される。この手続きの際、ページ無効ビットが既に１であるかどうか又は形式エラーに関して、ページ・テーブル・エントリは検査されない。付加的に、エントリ内に含まれるページ・フレーム実アドレスは、アドレッシング例外に関してチェックされない。
【０１０４】
ＩＰＴＥ範囲ファシリティがインストールされ、Ｒ３フィールドが非ゼロである場合、命令は割り込み可能であり、処理は次の通りである。
１．汎用レジスタＲ３のビット５３−６３において指定された付加的なエントリの数が無効化されるまで、又は割り込みが発生するまで、ページ・テーブル内の後のエントリの各々について、上述した無効化プロセスが繰り返される。
２．汎用レジスタＲ２のビット４４−５１におけるページ・インデックスは、無効化されたページ・テーブル・エントリの数だけインクリメントされ、汎用レジスタＲ２のビット位置４４の繰り上がりは無視される。
３．汎用レジスタＲ３のビット５６−６３における付加的なエントリのカウントは、無効化されたページ・テーブル・エントリの数だけデクリメントされる。
【０１０５】
従って、ＩＰＴＥ範囲ファシリティがインストールされ、Ｒ３フィールドは非ゼロであり、且つ割り込みが発生した（終了を引き起こすもの以外の）場合、汎用レジスタＲ２及びＲ３は更新されており、命令は、再実行されると、割り込みの時点で再開する。ＩＰＴＥ範囲ファシリティがインストールされていない場合、又は、Ｒ３フィールドがゼロである場合、レジスタＲ２及びＲ３の内容は変更されないままである。
【０１０６】
無効化されるページ・テーブル・エントリの各々について、他のＣＰＵから観察すると、ページ・テーブル・エントリ全体が、ストレージから同時にフェッチされるように見える。その後、ページ無効化ビットを含むバイトが格納される。各ページ・テーブル・エントリへのフェッチ・アクセスはキー制御保護の対象となり、ストア・アクセスはキー制御保護及び低アドレス保護の対象となる。
【０１０７】
シリアル化機能が、操作の開始前に実施され、操作の完了後に再実施される。全てのシリアル化操作の場合のように、このシリアル化は、このＣＰＵのみに適用され、他のＣＰＵは必ずしもシリアル化されない。
【０１０８】
例外が認識されない場合、このＣＰＵは、そのＴＬＢから、選択されたエントリをクリアする。次いで、ローカルＴＬＢクリア・ファシリティがインストールされていない場合、又は、ファシリティがインストールされ、Ｍ４フィールド内のＬＣビットがゼロである場合、このＣＰＵは、そのＴＬＢから選択されたエントリをクリアするように、構成内の他の全てのＣＰＵに知らせる。無効化されるページ・テーブル・エントリの各々について、影響を受けるＴＬＢの各々から、少なくとも、以下の全てを用いて形成されたエントリがクリアされる。
・汎用レジスタＲ１により指定されたページ・テーブル起点、
・汎用レジスタＲ２により指定されたページ・インデックス、
・指示されたページ・テーブル・エントリ内に含まれるページ・フレーム実アドレス。
【０１０９】
ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹの実行は、これを実行するＣＰＵ上で、以下が発生するまで完了しない。
１．指定されたパラメータに対応する全てのページ・テーブル・エントリが無効化されている。
２．指定されたパラメータに対応する全てのエントリが、このＣＰＵのＴＬＢからクリアされている。ローカルＴＬＢクリア・ファシリティがインストールされ、Ｍ４フィールド内のＬＣビットが１である場合、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹの実行はこの時点で完了し、次のステップは実施されない。
３．ローカルＴＬＢクリア・ファシリティがインストールされていない場合、又は、ファシリティがインストールされ、Ｍ４フィールド内のＬＣビットがゼロである場合、構成内の他の全てのＣＰＵは、指定されたパラメータに対応するＴＬＢエントリを用いて、変更及び参照ビットの更新を含むいずれのストレージ・アクセスも完了している。
【０１１０】
特別な条件：
ＩＰＴＥ範囲ファシリティがインストールされ、Ｒ３フィールドは非ゼロであり、且つ、汎用レジスタＲ２内のページ・インデックス＋汎用レジスタＲ３内の付加的なエントリのカウントが２５５を上回る場合、指定例外が認識される。全てのアドレッシング例外及び保護例外において、この操作は抑止される。
【０１１１】
条件コード：コードは変更されないままである。
【０１１２】
プログラム例外：
・アドレッシング例外（ページ・テーブル・エントリ）
・特権操作例外
・保護例外（フェッチ及びストア、ページ・テーブル・エントリ、キー制御保護、及び低アドレス保護）
・指定例外
【０１１３】
プログラミング上の注意：
１．エントリの選択的なクリアは、モデルに応じて、異なる方法で実装することができ、一般に、必要最小数よりも多くのエントリがクリアされ得る。無効化及びクリア操作が実施される場合、幾つかのモデルは、ストレージ内のページ・テーブル・エントリから取得されたページ・フレーム実アドレスを含む全てのＴＬＢをクリアすることができる。他のモデルは、指示されたページ・インデックスを含む全てのエントリをクリアすることができ、幾つかの実装は、必要最小数のエントリを正確にクリアすることができる。従って、プログラムが全てのモデル上で動作するために、プログラムは、特定のモデルでの選択性が少ないクリアによって得られたいずれの特性も利用すべきではない。
２．ＴＬＢエントリのクリアでは、ページ・テーブル・エントリ内のページ・フレーム実アドレスを利用することができる。従って、ページ・テーブル・エントリは、接続された状態にあるとき、過去に、現在の値とは異なるページ・テーブル起点を含んでいた場合、以前の値を含むエントリのコピーは、ＴＬＢ内にあるままとすることができる。
３．別のＣＰＵ又はチャネル・プログラムもまた位置を更新できる可能性が存在する場合、主ストレージ内の共有位置を更新するために、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹを安全に使用することはできない。
４．ＩＰＴＥ範囲ファシリティがインストールされ、Ｒ３フィールドが非ゼロである場合、以下が適用される。
ａ．無効化されるページ・テーブル・エントリの全てが同じページ・テーブル内にある必要がある。汎用レジスタＲ１内のページ・インデックス＋汎用レジスタＲ３内の付加的なエントリのカウントが２５５の最大ページ・インデックスを上回る場合、指定例外が認識される。
ｂ．ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹにより無効化されるページ・テーブル・エントリの数は、実行によって異なり得る。
ｃ．プログラムが割り込みなしの（uninterrupted）命令の実行に依存しなければならない状況のために、命令を使用することはできない。同様に、プログラムは、通常、そのページ・フレーム実アドレスが、命令を含む４Ｋバイト・ブロックを指定する又はＩＰＴＥを実行するｅｘｅｃｕｔｅ型命令のものである、ページ・テーブル・エントリを無効化するために、ＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹを使用すべきではない。
５．ローカルＴＬＢクリア・ファシリティがインストールされている場合、クリアされるＴＬＢエントリを形成するのに使用されたＡＳＣＥが、ＩＰＴＥ命令を実行するＣＰＵのみに接続されている場合（例えば、プログラムがユニプロセッサ上で実行されている場合）、ローカル・クリア制御を１として指定すべきである。他の場合には、遅延アクセス例外マシン・チェックの提示を含む予測不能な結果が生じ得る。幾つかのモデルにおいては、上記に列挙した場合のローカルＴＬＢのみのクリアを指定するＩＮＶＡＬＩＤＡＴＥ  ＰＡＧＥ  ＴＡＢＬＥ  ＥＮＴＲＹの使用により、著しい性能の改善がもたらされ得る。
６．アセンブラ構文の括弧［］内に含まれるフィールドで示されるように、命令のＲ３及びＭ４フィールドは、随意的なものであると考えられる。いずれのフィールドも指定されていない場合、アセンブラは、命令の対応するフィールドにゼロを入れる。Ｍ４フィールドはコード化されるが、Ｒ３フィールドは必要とされない場合、第３オペランドの場所を指示するために、ゼロをコード化すべきである。
【０１１４】
１つ又は複数の態様を組み込み、用いるためのコンピューティング環境１００の一実施形態が、図１を参照して説明される。コンピューティング環境１００は、例えば、ニューヨーク州アーモンク所在のインターナショナル・ビジネス・マシーンズ・コーポレーションにより提供されるｚ／Ａｒｃｈｉｔｅｃｔｕｒｅに基づく。ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅは、非特許文献１に記載される。（ＩＢＭ（登録商標）は、米国ニューヨーク州アーモンク所在のインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である。本明細書で使用される他の名称は、インターナショナル・ビジネス・マシーンズ・コーポレーション又は他の会社の登録商標、商標、又は製品名であり得る。）一例において、ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅに基づくコンピューティング環境は、ニューヨーク州アーモンク所在のインターナショナル・ビジネス・マシーンズ・コーポレーションにより提供されるｅＳｅｒｖｅｒ  ｚＳｅｒｉｅｓを含む。
【０１１５】
一例として、コンピューティング環境１００は、コントローラ１２０に結合された中央プロセッサ複合体（central processor complex、ＣＰＣ）１０２を含む。中央プロセッサ複合体１０２は、例えば、１つ又は複数のパーティション１０４（例えば、論理パーティションＬＰ１−ＬＰｎ）、１つ又は複数の中央プロセッサ１０６（例えば、ＣＰ１−ＣＰｍ）、及びハイパーバイザ１０８（例えば、論理パーティション・マネージャ）を含み、その各々を以下に説明する。
【０１１６】
各々の論理パーティション１０４は、別個のシステムとして機能することができる。つまり、各々の論理パーティションを独立してリセットし、必要に応じて、オペレーティング・システムに最初にロードし、異なるプログラムで動作させることができる。論理パーティション内で実行されているオペレーティング・システム又はアプリケーション・プログラムは、十分且つ完全なシステムへのアクセスを有するように見えるが、実際は、その一部しか使用できない。ハードウェアとライセンス内部コード（一般に、マイクロコードと呼ばれる）の組み合わせが、論理パーティション内のプログラムを、異なる論理パーティション内のプログラムと干渉しないように保持する。このことは、幾つかの異なる論理パーティションが、単一又は複数の物理プロセッサ上で、タイム・スライス方式で動作するのを可能にする。この特定の例において、各々の論理パーティションは、１つ又は複数の論理パーティションに対して異なり得る常駐オペレーティング・システム１１０を有する。一実施形態において、オペレーティング・システム１１０は、ニューヨーク州アーモンク所在のインターナショナル・ビジネス・マシーンズ・コーポレーションにより提供されるｚ／ＯＳオペレーティング・システムである。
【０１１７】
中央プロセッサ１０６は、論理パーティションに割り当てられた物理プロセッサ・リソースである。例えば、論理パーティション１０４は、１つ又は複数の論理プロセッサを含み、その各々は、パーティションに割り当てられた物理プロセッサ・リソース１０６の全てまたは割り当て分（share）を表す。特定のパーティション１０４の論理プロセッサは、基礎をなすプロセッサ・リソースは、基礎をなすプロセッサ・リソースがそのパーティションのために予約されるように、そのパーティション専用であってもよく、又は、基礎をなすプロセッサ・リソースが潜在的に別のパーティションにも利用可能となるように、別のパーティションと共有してもよい。
【０１１８】
論理パーティション１０４は、プロセッサ１０６上で実行されるマイクロコードによって実装されるハイパーバイザ１０８により管理される。論理パーティション１０４及びハイパーバイザ１０８は、各々が中央プロセッサと関連した中央ストレージのそれぞれの部分に常駐する１つ又は複数のプログラムを含む。ハイパーバイザ１０８の一例は、ニューヨーク州アーモンク所在のインターナショナル・ビジネス・マシーンズ・コーポレーションにより提供されるＰｒｏｃｅｓｓｏｒ  Ｒｅｓｏｕｒｃｅ／Ｓｙｓｔｅｍ  Ｍａｎａｇｅｒ（ＰＲ／ＳＭ）である。
【０１１９】
中央プロセッサ複合体に結合されるコントローラ１２０は、要求を発行する異なるプロセッサ間の仲裁を担当する集中型論理を含む。例えば、コントローラ１２０が要求を受信すると、コントローラ１２０は、要求元がその要求に関するマスター・プロセッサであり、他のプロセッサがスレーブ・プロセッサであることを判断し、メッセージをブロードキャストし、他の形で要求を処理する。コントローラの一例は、２０００年９月１２日付けのＷｅｂｂ他による「Ｓｙｓｔｅｍ  Ｓｅｒｉａｌｉｚａｔｉｏｎ  Ｗｉｔｈ  Ｅａｒｌｙ  Ｒｅｌｅａｓｅ  Ｏｆ  Ｉｎｄｉｖｉｄｕａｌ  Ｐｒｏｃｅｓｓｏｒ」という名称の特許文献２に記載されている。さらなる詳細は、同じく図２を参照して説明される。
【０１２０】
図２は、複数の中央プロセッサ（ＣＰＵ）２０１に結合されたコントローラ２００の一例を示す。この例では、２つの中央プロセッサが示される。しかしながら、２つより多くのプロセッサをコントローラ２００に結合できることが理解されるであろう。
【０１２１】
コントローラ２００は、例えば、システム・シリアル化制御２０２を含む種々の制御を含む。システム・シリアル化制御は、コンピューティング環境においては、こうした命令が一度に一つだけ進行するという点で、無効化命令などのシリアル化操作がシリアル化されることを保証するために用いられる。コントローラ２００はまた、その操作についてのイベントのシーケンスを監視する。
【０１２２】
コントローラ２００は、種々のインターフェースを介して各々の中央プロセッサに結合される。例えば、インターフェース２０４は、中央プロセッサ内のライセンス内部コードにより使用され、実行すべきアクションを指定する「制御」コマンドをコントローラに送り、コントローラから情報を戻す「センス」コマンドを送る。別のインターフェースは、「感知（sense）」コマンドに関する情報をコントローラから戻すために使用される応答バス２０６である。応答バスは、「制御」コマンドに関するコマンド状態を通信するためにも使用され、システム・シリアル化制御を含むコントローラ内の複数のソースから設定することができる。中央プロセッサは、このインターフェースを用いて、コントローラ２００内のシステム・シリアル化制御の状態を感知することができる。
【０１２３】
さらに別のインターフェースは、各ＣＰＵにコマンドを送信するために使用されるインターフェース２０８である。これも、システム・シリアル化制御２０２を含むコントローラ内の複数のソースから制御することができる。さらに別のインターフェースは、中央プロセッサ２０１のキャッシュ制御２１２に信号を与えるインターフェース２１０である。キャッシュ制御２１２は、信号に応答してコマンドを処理する。一例においては、以下でさらに詳細に説明されるように、キャッシュ制御２１２は、変換ルックアサイド・バッファ（ＴＬＢ）２１３などの、１つ又は複数のバッファに影響を与えるコマンドを処理する。
【０１２４】
キャッシュ制御２１２に加えて、中央プロセッサ２０１は、例えば割り込み制御２２０及び実行制御２２２を含む種々の他の制御を含む。特定のイベントに応答して、割り込み制御２２０は、ＣＰＵにおいて内部割り込みを保留中にし、それにより、次の割り込み可能な時点で、実行制御２２２にプログラム命令処理を一時停止させる。割り込みに応答して、実行制御２２２はライセンス内部コードのルーチンを呼び出し、ブロードキャスト操作許可ラッチ２２４を設定して、キャッシュ制御２１２が保留中コマンドを処理するのを可能にする。
【０１２５】
中央プロセッサ２０１は、中央プロセッサが休止されたかどうかを示す、中央演算処理装置（Central Processing Unit、ＣＰＵ）休止ラッチ２２６も含む。ＣＰＵ及びプロセッサという用語は、本明細書では交換可能に使用することができる。
【０１２６】
上述のコンピューティング環境は一例にすぎない。多くの変形が可能である。例えば、１つ又は複数のパーティションを異なるアーキテクチャ・モードで実行することができる。さらに、別の例として、環境は、ｚ／Ａｒｃｈｉｔｅｃｔｕｒｅに基づく必要はなく、代わりに、Ｉｎｔｅｌ、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ、並びにその他により提供される他のアーキテクチャに基づくことが可能である。さらに、環境は、特定のアーキテクチャ又はそのサブセットをエミュレートするエミュレータ（例えば、ソフトウェア又は他のエミュレーション機構）を含むことができる。こうした環境においては、エミュレータを実行しているコンピュータが、エミュレートされる機能とは異なるアーキテクチャを有することができたとしても、エミュレータの１つ又は複数のエミュレーション機能は、１つ又は複数の態様を実装することが可能である。一例として、エミュレーション・モードにおいては、エミュレートされる特定の命令又は操作がデコードされ、適切なエミュレーション機能が構築され、個々の命令又は操作を実施する。
【０１２７】
エミュレーション環境のさらなる詳細が、図３を参照して説明される。一例として、ホスト・コンピュータ３００は、別のアーキテクチャ、コンピュータ、及び／又は別のコンピュータの処理能力をエミュレートすることができる。例えば、ホスト・コンピュータ３００は、Ｉｎｔｅｌアーキテクチャ、ＰｏｗｅｒＰＣなどのＲＩＳＣアーキテクチャ、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓにより提供されるＳＰＡＲＣアーキテクチャ、又は別のアーキテクチャに基づいており、且つ、ＩＢＭ（登録商標）のｚ／Ａｒｃｈｉｔｅｃｔｕｒｅ、又はＩＢＭ（登録商標）若しくは別のエンティティの別のアーキテクチャをエミュレートすることができる。
【０１２８】
ホスト・コンピュータ３００は、例えば、命令及びデータを格納するためのメモリ３０２と、メモリ３０２から命令をフェッチし、随意的に、フェッチされた命令のためのローカル・バッファリングを提供するための命令フェッチ・ユニット３０４と、命令フェッチ・ユニット３０４から命令を受け取り、フェッチされた命令のタイプを判断するための命令デコード・ユニット３０６と、命令を実行するための命令実行ユニット３０８とを含む。実行は、データをメモリ３０２からレジスタにロードすること、データをレジスタから再びメモリに格納すること、又はデコード・ユニットにより判断されるように、何らかのタイプの算術演算又は論理演算を実行することを含むことができる。
【０１２９】
一例においては、上述した各ユニットは、ソフトウェアの形で実装される。例えば、ユニットにより実施される演算は、エミュレータ・ソフトウェア内の１つ又は複数のサブルーチンとして実施される。別の例においては、演算の１つ又は複数は、ファームウェア、ハードウェア、ソフトウェア、又はそれらの何らかの組み合わせの形で実施される。
【０１３０】
さらに、図３はエミュレーションに関して説明したが、図３の環境は、エミュレーション環境である必要はない。別の例においては、命令はネイティブ環境において実行され、演算は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの何らかの組み合わせの形で実施される。
【０１３１】
コンピューティング環境は、主ストレージ、並びに仮想ストレージを含むことができる。仮想ストレージは、構成内で利用可能な主ストレージのサイズを大きく上回ることができ、通常、補助ストレージ内に保持される。仮想ストレージは、ページと呼ばれるアドレス・ブロックで構成されると考えられる。直前に参照された仮想ストレージのページが、物理的な主ストレージのブロックを占めるように割り当てられる。ユーザが主ストレージ内に現れない仮想ストレージのページを参照すると、仮想ページは、使用される可能性がより低い主ストレージ内のページと置き換わる。ストレージにおけるページのスワッピングは、ユーザに知られることなく、オペレーティング・システムにより実施できる。
【０１３２】
仮想ストレージ内の位置を指示するのに使用されるアドレスは、仮想アドレスと呼ばれる。例えば最大４ｋバイトに及ぶ順次的な仮想アドレスのブロックは、ページと呼ばれる。同様に、例えば最大１Ｍバイトに及ぶ順次的な仮想ページのブロックは、セグメントと呼ばれ、例えば最大２Ｇバイトに及ぶ順次的な仮想セグメントのブロックは、領域と呼ばれる。さらに、アドレス空間制御要素（ＡＳＣＥ）により指示される仮想ストレージと関連付けられた一連の仮想アドレスは、アドレス空間と呼ばれる。アドレス空間を使用して、ユーザ間の分離度を提供することができる。アドレス空間は、１つ又は複数の領域、１つ又は複数のセグメント、１つ又は複数のページ、又はそれらの何らかの組み合わせを含むことができる。
【０１３３】
異なるタイプのストレージ・ユニット（例えば、領域、セグメント、ページ）と関連付けられるのが、ストレージ・ユニットと関連付けられた処理に使用されるデータ構造である。例えば、領域と関連付けられるのは領域テーブルであり、セグメントと関連付けられるのはセグメント・テーブルであり、ページと関連付けられるのはページ・テーブルである。これらのテーブルは、例えば、仮想アドレスから、主ストレージへのアクセスに使用される実アドレスへの変換（例えば、動的アドレス変換）中に使用される。本明細書で変換テーブルと呼ばれる、変換に使用されるテーブルは、アドレス空間制御要素（ＡＳＣＥ）により指示される。現在主ストレージに割り当てられていない仮想ストレージのユニットは、無効と称される。仮想ストレージのユニットの無効状態は、ユニットと関連付けられたデータ構造内の無効インジケータにより示される。
【０１３４】
アドレス変換の性能を強化するために、一実施形態において、動的アドレス変換機構が実装され、ＤＡＴプロセスを通じて変換テーブル（例えば、領域テーブル、セグメント・テーブル、及び／又はページ・テーブル）から得られた情報が、本明細書で変換ルックアサイド・バッファと呼ばれるプロセッサ内に配置された１つ又は複数のバッファ内に保持される。つまり、変換の際、必要とされる情報に関してバッファをチェックし、次いで、その情報がバッファ内にない場合、変換テーブルの１つ又は複数にアクセスする。
【０１３５】
エミュレーション・モードにおいては、エミュレートされた特定の命令がデコードされ、個々の命令を実施するためのサブルーチンが構築されるか、又は実施形態の説明を理解した後に当業者の技術の範囲内にあるような特定のハードウェアのためにドライバを提供する他の何らかの技術が用いられる。種々のソフトウェア及びハードウェア・エミュレーションの特許には、これらに限られるものではないが、Ｂｅａｕｓｏｌｅｉｌ他による「Ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ  ｆｏｒ  Ｈａｒｄｗａｒｅ  Ｅｍｕｌａｔｉｏｎ」という名称の特許文献３、Ｓｃａｌｚｉ他による「Ｐｒｅｐｒｏｃｅｓｓｉｎｇ  ｏｆ  Ｓｔｏｒｅｄ  Ｔａｒｇｅｔ  Ｒｏｕｔｉｎｅｓ  ｆｏｒ  Ｅｍｕｌａｔｉｎｇ  Ｉｎｃｏｍｐａｔｉｂｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎｓ  ｏｎ  ａ  Ｔａｒｇｅｔ  Ｐｒｏｃｅｓｓｏｒ」という名称の特許文献４、Ｄａｖｉｄｉａｎ他による「Ｄｅｃｏｄｉｎｇ  Ｇｕｅｓｔ  Ｉｎｓｔｒｕｃｔｉｏｎ  ｔｏ  Ｄｉｒｅｃｔｌｙ  Ａｃｃｅｓｓ  Ｅｍｕｌａｔｉｏｎ  Ｒｏｕｔｉｎｅｓ  ｔｈａｔ  Ｅｍｕｌａｔｅ  ｔｈｅ  Ｇｕｅｓｔ  Ｉｎｓｔｒｕｃｔｉｏｎｓ」という名称の特許文献５、Ｇｏｒｉｓｈｅｋ他による「Ｓｙｍｍｅｔｒｉｃａｌ  Ｍｕｌｔｉｐｒｏｃｅｓｓｉｎｇ  Ｂｕｓ  ａｎｄ  Ｃｈｉｐｓｅｔ  Ｕｓｅｄ  ｆｏｒ  Ｃｏｐｒｏｃｅｓｓｏｒ  Ｓｕｐｐｏｒｔ  Ａｌｌｏｗｉｎｇ  Ｎｏｎ−Ｎａｔｉｖｅ  Ｃｏｄｅ  ｔｏ  Ｒｕｎ  ｉｎ  ａ  Ｓｙｓｔｅｍ」という名称の特許文献６、Ｌｅｔｈｉｎ他による「Ｄｙｎａｍｉｃ  Ｏｐｔｉｍｉｚｉｎｇ  Ｏｂｊｅｃｔ  Ｃｏｄｅ  Ｔｒａｎｓｌａｔｏｒ  ｆｏｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｅｍｕｌａｔｉｏｎ  ａｎｄ  Ｄｙｎａｍｉｃ  Ｏｐｔｉｍｉｚｉｎｇ  Ｏｂｊｅｃｔ  Ｃｏｄｅ  Ｔｒａｎｓｌａｔｉｏｎ  Ｍｅｔｈｏｄ」という名称の特許文献７、Ｅｒｉｃ  Ｔｒａｕｔによる「Ｍｅｔｈｏｄ  ｆｏｒ  Ｅｍｕｌａｔｉｎｇ  Ｇｕｅｓｔ  Ｉｎｓｔｒｕｃｔｉｏｎｓ  ｏｎ  ａ  Ｈｏｓｔ  Ｃｏｍｐｕｔｅｒ  Ｔｈｒｏｕｇｈ  Ｄｙｎａｍｉｃ  Ｒｅｃｏｍｐｉｌａｔｉｏｎ  ｏｆ  Ｈｏｓｔ  Ｉｎｓｔｒｕｃｔｉｏｎｓ」という名称の特許文献８、及び他の多くが挙げられ、これらの参考文献は、当業者が利用可能なターゲット・マシンのための異なるマシン用に設計された命令形式のエミュレーションを達成する様々な既知の方法を示す。これらの参考文献は、当業者が利用可能なターゲット・マシンのための異なるマシン用に設計された命令形式のエミュレーションを達成するための様々な既知の方法、並びに、上記で参照したものにより使用される商業的ソフトウェア技術を示す。
【０１３６】
ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ（ＣＲＤＴＥ）
有効なＤＡＴテーブル・エントリを新しいエントリに置換し、ＴＬＢから、構成内の全てのＣＰＵ上の（少なくとも）単一のエントリのいずれかのコピーをパージすることができるＣＰＵ命令（ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ）を説明する。この命令は、いずれかのアクティブなタスクを一時停止することを必要とせず、また、必要とするより多くのエントリをパージすることはできない。
【０１３７】
ＣＲＤＴＥ命令が実行される際、エントリの選択的なクリアは、モデルに応じて異なる方法で実装することができ、一般に、必要最小数よりも多くのエントリがクリアされ得る。幾つかのモデルは、ストレージ内のページ・テーブル・エントリから取得されたページ・フレーム実アドレスを含む全てのエントリをクリアすることができる。
【０１３８】
制御プログラムは、ＤＡＴテーブル内の有効なエントリ（つまり、他のＣＰＵにより使用中である可能性があるテーブル・エントリ）を置換する必要がある場合、以下の操作の１つを実施することができる。
・構成内の全てのＣＰＵ上のこのＤＡＴテーブル・エントリを使用できる全てのタスクの実行を一時停止し、全てのＣＰＵ上のこのエントリを無効化及びパージし（例えば、ＩＰＴＥを用いて）、無効化されたエントリを新しいエントリに置換し、一時停止したタスクを再ディスパッチする。
・ＤＡＴテーブル・エントリを置換し、構成内の全てのＣＰＵ上のＴＬＢ全体をパージする（例えば、ＣＳＰＧを用いて）。
【０１３９】
第１の選択肢は、これがタスクの非ディスパッチ及び再ディスパッチを必要とする点で複雑である。第２の選択肢は、１つだけのエントリが変更される場合でも、これがＴＬＢ全体のパージを必要とするという点で最適には及ばない。
【０１４０】
一実施形態において、コンピュータ・プロセッサは、処理のための命令を取得する。オペコードに基づいて、Ｃｏｍｐａｒｅ  ａｎｄ  ＤＡＴ  Ｔａｂｌｅ  Ｅｎｔｒｙ（ＣＲＤＴＥ）命令を処理する。ＣＲＤＴＥ命令は、以下の形式を有する。
【表１】
0006284130.tif 000002
【０１４１】
Ｒ１及びＲ２フィールドの各々は、偶数・奇数対の汎用レジスタを指定し、偶数番号のレジスタを指定する必要がある。他の場合には、指定例外が認識される。汎用レジスタＲ１（対の偶数レジスタ）は、第１オペランドを含む。第１オペランドは、比較値と呼ぶことができる。汎用レジスタＲ１＋１（対の奇数レジスタ）は置換値と呼ぶことができる。
【０１４２】
命令を実行する際、第１オペランドと第２オペランドが比較される。第１オペランドは汎用レジスタＲ１内に配置される。第２オペランドは、汎用レジスタＲ２及びＲ２＋１によって指定される。Ｒ２及びＲ２＋１は、指定されたテーブル・タイプ（ＤＴＴ）などのアドレッシング情報、及び第２オペランドを見つけるためのテーブルへの有効インデックスを含む。
【０１４３】
ひとたび第１オペランド及び第２オペランドが取得されると、次にこれらを比較し、これらが等しい場合、汎用レジスタＲ１＋１の内容を第２オペランド位置に格納し、構成内の指定されたＣＰＵから、（１）ストレージ内の置換されたエントリを用いて形成された、指定されたタイプの全てのＴＬＢテーブル・エントリ、及び（２）クリアされた上位レベルのＴＬＢテーブル・エントリを用いて形成された全ての下位レベルのＴＬＢテーブル・エントリがクリアされる。クリアされるＴＬＢエントリは、随意的に、指定されたアドレス空間内のアドレスを変換するために形成されたエントリに制限することができる。結果の条件コードは０に設定される。
【０１４４】
第１オペランドと第２オペランドが等しくない場合、第２オペランドは第１オペランド位置にロードされ、結果の条件コードは１に設定される。Ｍ４フィールドは、構成内の全てのＣＰＵのＴＬＢをクリアするのか、又は命令を実行しているＣＰＵ内のＴＬＢのみをクリアするのかを決定することができる。
【０１４５】
図４は、一実施形態のチャートを示す。一実施形態において、コンピュータ・プロセッサは、処理のためのＣＲＤＴＥ命令４０１を取得する。マシンは、オペコードに基づいて、Ｃｏｍｐａｒｅ  ａｎｄ  Ｒｅｐｌａｃｅ  ＤＡＴ  Ｔａｂｌｅ  Ｅｎｔｒｙ命令を処理する。
【０１４６】
Ｒ１及びＲ２フィールドの各々は、偶数・奇数対の汎用レジスタ４０５を指定し、偶数のレジスタを指定する必要がある。他の場合には、指定例外が認識される。汎用レジスタＲ１（対の偶数レジスタ）４１０は、ビット位置０−６３に第１オペランドを含む。第１オペランドは、比較値と呼ぶことができる。汎用レジスタＲ１＋１（対の奇数レジスタ）４１１のビット位置０−６３は、置換値と呼ぶことができる。
【０１４７】
命令を実行する際、第１オペランドと第２オペランドが比較される。第１オペランドは、汎用レジスタＲ１  ４１０内に配置される。第２オペランドは、汎用レジスタＲ２  ４２０及びＲ２＋１  ４２１により指定されるストレージ内のダブルワードである。汎用レジスタＲ２のビット５９−６１は、指定されたテーブル・タイプ（ＤＴＴ）であり、ストレージ４４０内のテーブル４３０の起点を形成する汎用レジスタＲ２内のビットを指定し、ＤＴＴはまた、第２オペランド４３５を見つけるためのテーブルへの有効インデックスとして用いられる汎用レジスタＲ２＋１内のビットも指定する。
【０１４８】
ひとたび第１オペランド及び第２オペランドが比較されると４３６、これらが等しい場合、汎用レジスタＲ１＋１の内容が第２オペランド位置４４５に格納され、４５０に示されるように、構成内の指定されたＣＰＵから、（１）ストレージ内の置換されたエントリを用いて形成された、指定されたタイプの全てのＴＬＢテーブル・エントリ、及び（２）クリアされた上位レベルのＴＬＢテーブル・エントリを用いて形成された全ての下位レベルのＴＬＢテーブル・エントリがクリアされる。クリアされるＴＬＢエントリは、随意的に、指定されたアドレス空間内のアドレスを変換するために形成されたエントリに制限することができる。４５５に示されるように、結果の条件コードは０に設定される。
【０１４９】
第１オペランドと第２オペランドが等しくない場合、第２オペランドは、第１オペランド位置４０６にロードされる。４６５に示されるように、結果の条件コードは１に設定される。
【０１５０】
命令４０１は、Ｍ４フィールド４０２を用いて、構成内の全てのＣＰＵのＴＬＢを選択的にクリアするか１５７０、又は命令を実行しているＣＰＵのＴＬＢのみをクリアするか１５７５を決定することができる。Ｍ４フィールドは、ローカル・クリア（ＬＣ）制御を含む。Ｍ４フィールド内のＬＣ制御がゼロである場合、構成内の全てのＣＰＵ内のＴＬＢが影響を受ける。Ｍ４フィールド内のＬＣ制御フィールドが１である場合、Ｃｏｍｐａｒｅ  ａｎｄ  Ｒｅｐｌａｃｅ  ＤＡＴ  Ｔａｂｌｅ  Ｅｎｔｒｙ命令を実行しているＣＰＵと関連付けられたＴＬＢのみが影響を受け得る。構成内の他の全てのＣＰＵ内のＴＬＢは影響を受けないことがある。
【０１５１】
注記：「指定されたＣＰＵ」という用語は、この命令によって影響を受けるＴＬＢの範囲に関して、以下の意味を有する。Ｍ４フィールド内のローカル・クリア（ＬＣ）制御がゼロである場合、「指定されたＣＰＵ」という用語は、構成内の全てのＣＰＵを意味する。
【０１５２】
Ｍ４フィールド内のＬＣ制御が１である場合、「指定されたＣＰＵ」という用語は、ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹ命令を実行しているＣＰＵ（ローカルＣＰＵ）のみを意味する。構成内の他の全てのＣＰＵのＴＬＢは、影響を受けないことがある。
・第１オペランド及び第２オペランドが比較される。これらが等しい場合、汎用レジスタＲ１＋１の内容を第２オペランド位置に格納し、構成内の指定されたＣＰＵから、（１）ストレージ内の置換されたエントリを用いて形成された指定されたタイプの全てのＴＬＢテーブル・エントリ、及び（２）クリアされた上位レベルのＴＬＢテーブル・エントリを用いて形成された全ての下位レベルのＴＬＢテーブル・エントリがクリアされる。クリアされるＴＬＢエントリは、随意的に、指定されたアドレス空間内のアドレスを変換するために形成されたエントリに制限することができる。
・第１オペランドと第２オペランドが等しくない場合、第２オペランドは第１オペランド位置にロードされる。しかしながら、モデルによっては、第２オペランドをフェッチし、その後、再び第２オペランド位置に無変更のまま格納することができる。この更新は、他のＣＰＵから観察すると、ブロック・コンカレント（block-concurrent）のインターロック更新参照のように見える。比較の結果は、条件コードにより示される。
【０１５３】
Ｒ１及びＲ２フィールドの各々は、偶数・奇数対の汎用レジスタを指定し、偶数番号のレジスタを指定する必要がある。他の場合には、指定例外が認識される。ここで図５に関して、第１オペランドは比較値５０１と呼ばれ、汎用レジスタＲ１のビット位置０−６３に含まれる。汎用レジスタＲ１＋１のビット位置０−６３は、置換値５１０と呼ばれる。
【０１５４】
第２オペランドは、汎用レジスタＲ２及びＲ２＋１  ５４０によって指定されるストレージ内のダブルワードである。汎用レジスタＲ２のビット５９−６１は、指定されたテーブル・タイプ（ＤＴＴ）であり、ストレージ内のテーブルの起点を形成する汎用レジスタＲ２内のビットを指定し、ＤＴＴは、以下のように、第２オペランドを見つけるためのテーブルへの有効なインデックスとして使用される汎用レジスタＲ２＋１  ５４０内のビットも指定する。
【表２】
0006284130.tif 000003
【０１５５】
５２０に示されるようにＤＴＴが２進数０００である場合、右に１１個のゼロを付加した用レジスタＲ２のビット位置０−５２の内容５２１がテーブル起点を形成し、レジスタの５２２内のビット５３−５８、５２３内のビット６２、及び５２４内のビット６３は無視される。５３０に示されるようにＤＴＴが２進数１００−１１１である場合、右に１２個のゼロを付加した汎用レジスタＲ２のビット位置０−５１の内容５３１がテーブル起点を形成し、レジスタの５３２内のビット５２−５８、５３３内のビット６２、及び５３４内のビット６３は無視される。２進数００１、０１０及び０１１のＤＴＴの値は無効であり、ＤＴＴが無効である場合、指定例外が認識される。
【０１５６】
汎用レジスタＲ２＋１  ５４０のビット０−５１は、仮想アドレスの領域インデックス、セグメント・インデックス、及びページ・インデックスの形式を有する。ＤＴＴにより指定されるテーブル・タイプのエントリを選択するために、通常、ＤＡＴにより使用される５４１内のビット０−５１の部分は、有効インデックスと呼ばれる。有効インデックスの右の、汎用レジスタＲ２＋１のビット０−５１の部分は無視される。汎用レジスタＲ２＋１のビット位置５２−６３  ５４２は予約されており、ゼロを含むべきであり、他の場合には、指定例外が認識される。
【０１５７】
Ｒ３  ５５０が非ゼロの場合、汎用レジスタＲ３の内容は、テーブル起点（５５１内のビット０−５１）、並びに指定タイプ制御（ＤＴ）（５５３内のビット６０及び６１）のみが使用される、アドレス空間制御要素の形式を有する。これらは、クリアされるＴＬＢエントリを選択するのに使用される。汎用レジスタＲ３の５５２内のビット５２−５９、５５３内のビット６２、及び５５４内のビット６３は無視される。Ｒ３がゼロの場合、汎用レジスタ０の内容全体は無視され、ＴＬＢエントリは、それを形成するのに使用されたＡＳＣＥに関係なくクリアされる。
【０１５８】
Ｍ４フィールドが図６に示される。Ｍ４フィールドのビットは以下のように定められる。
予約される：６０１内に示されるようなビット０−２は予約される。Ｍ４フィールドの予約されたビット位置は無視されるが、ゼロを含むべきであり、他の場合には、プログラムが将来、互換性のある状態で動作しないことがある。
【０１５９】
ローカル・クリア制御（ＬＣ）：
ＬＣビット（Ｍ４フィールド６０２のビット３）は、ローカルＣＰＵ内のＴＬＢのみをクリアするかどうか、又は構成の全てのＣＰＵ内のＴＬＢをクリアするかどうかを制御する。
【０１６０】
第１オペランドと第２オペランドが等しい場合、汎用レジスタＲ１＋１の内容は、第２オペランド位置に格納され、構成内の指定されたＣＰＵ内の変換ルックアサイド・バッファ（ＴＬＢ）から、（１）ストレージ内の第２オペランドのオリジナルの内容（つまり、置換値に置換される前の第２オペランドの内容）を用いて形成された、指定されたタイプの全てのＴＬＢテーブル・エントリ、及び（２）クリアされた上位レベルのＴＬＢテーブル・エントリを用いて形成された全ての下位レベルのＴＬＢエントリがクリアされる。クリアされるＴＬＢエントリは、随意的に、指定されたアドレス空間内のアドレスを変換するために形成されたエントリに制限することができる。
【０１６１】
テーブル・タイプによって、汎用レジスタＲ２内のテーブル起点及び汎用レジスタＲ２＋１内の有効インデックスは、結果のアドレスのビット位置０からの繰り上がりが常に無視され、インデックスがテーブル長フィールドに対してチェックされないことを除いて、非特許文献１内の「Ｌｏｏｋｕｐ  ｉｎ  ａ  Ｔａｂｌｅ  Ｄｅｓｉｇｎａｔｅｄ  ｂｙ  ａｎ  Ａｄｄｒｅｓｓ−Ｓｐａｃｅ−Ｃｏｎｔｒｏｌ  Ｅｌｅｍｅｎｔ」又は「Ｐａｇｅ−Ｔａｂｌｅ  Ｌｏｏｋｕｐ」における規則に従って、テーブル・エントリを指定する。テーブル起点は、６４ビット・アドレスとして取り扱われ、加算は、現ＰＳＷのビット３１及び３２により指定される現在のアドレッシング・モードに関係なく、６４ビット・アドレスの算術演算の規則を用いて行われる。これら２つのコンポーネントから形成されるアドレスは、実アドレス又は絶対アドレスである。テーブル・エントリの内容は、妥当性に関してチェックされず、テーブル・エントリの内容に起因して、例外条件は認識されない。
【０１６２】
テーブル・エントリのフェッチ及びストアは、ブロック並行処理のインターロック更新として実施される。エントリへのフェッチ・アクセスはキー制御保護の対象となり、ストア・アクセスは、キー制御保護及び低アドレス保護の対象となる。
【０１６３】
シリアル化機能は、操作が開始する前に実施され、操作が完了した後で再び実施される。全てのシリアル化操作の場合のように、このシリアル化は、このＣＰＵにのみ適用され、他のＣＰＵは必ずしもシリアル化されない。
【０１６４】
第１オペランドと第２オペランドが等しい場合、このＣＰＵは、選択されたエントリをそのＴＬＢからクリアする。ローカルＣＰＵのクリアに加えて、Ｍ４フィールド内のＬＣビットがゼロである場合、選択されたエントリをそのＴＬＢからクリアするように、構成内の他の全てのＣＰＵに知らせる。各ＴＬＢから、少なくとも、以下の条件の全てを満たすエントリがクリアされる。
汎用レジスタＲ２＋１内の有効インデックスが、汎用レジスタＲ２のビット５９−６１のＤＴＴフィールドにより指定されるタイプのＴＬＢテーブル・エントリ内の対応するインデックスと合致する。モデルがＤＴＴフィールドにより指定されるインデックスを含む複合ＴＬＢエントリを実装する場合、汎用レジスタＲ２＋１内の有効インデックスの左にあるビットもまた、指定されるＴＬＢテーブル・エントリ内に与えられるいずれかの対応するビットと合致する。
Ｒ３フィールドがゼロであるか、又は、汎用レジスタＲ３内のテーブル起点フィールド及び指定タイプ・フィールドが、ＴＬＢテーブル・エントリを形成するのに使用されたアドレス空間制御要素（ＡＳＣＥ）内のテーブル起点フィールド及び指定タイプ・フィールドと合致するかのいずれかである。
Ｒ３フィールドがゼロの場合、このステップにおいて説明された条件は適用されない。
ＥＤＡＴ−１が適用され、且つストレージ内で置換されたエントリがセグメント・テーブル・エントリである場合、又は、ＥＤＡＴ−２が適用され、ストレージ内で置換されたエントリが領域第３テーブル・エントリである場合、置換されたエントリ内の形式制御がＴＬＢ内のものと合致する。
−ストレージ内の置換されたエントリが下位レベルの変換テーブルを指定する場合、エントリ内の下位レベルのテーブル起点は、ＴＬＢテーブル・エントリ内のテーブル起点フィールドと合致する。
ＥＤＡＴ−１が適用され、且つストレージ内で置換されたエントリがセグメント・テーブル・エントリであり、そこで形式制御が１である場合、又は、ＥＤＡＴ−２が適用され、ストレージ内で置換されたエントリが領域第３テーブル・エントリであり、そこで形式制御が１である場合、置換されたエントリ内のセグメント・フレームの絶対アドレス又は領域フレームの絶対アドレスが、それぞれ、ＴＬＢエントリのものに合致する。
【０１６５】
さらに、影響を受けるＴＬＢの各々から、少なくとも、以下の条件の全てを満たすいずれかの下位レベルのＴＬＢテーブル・エントリもクリアされる。
下位レベルのＴＬＢテーブル・エントリが、ストレージ内の置換されたエントリを用いて、又はストレージ内の置換されたエントリ若しくはこのプロセスでクリアされたＴＬＢエントリのいずれかを用いて形成された上位レベルのＴＬＢテーブル・エントリを用いて、形成された。
Ｒ３フィールドがゼロであるか、又は、汎用レジスタＲ３内のテーブル起点フィールド及び指定タイプ・フィールドが、下位レベルＴＬＢテーブル・エントリを形成するのに使用されたアドレス空間制御要素（ＡＳＣＥ）内のテーブル起点フィールド及び指定タイプ・フィールドと合致するかのいずれかである。このＡＳＣＥは、下位レベルＴＬＢテーブル・エントリが形成されたストレージ内の下位レベル・テーブル・エントリを接続した上位レベル・テーブル・エントリを含む変換経路を接続したものとすることができ、又は、このＡＳＣＥは、下位レベルＴＬＢテーブル・エントリが形成されたストレージ内の下位レベル・テーブル・エントリを接続した上位レベルＴＬＢテーブル・エントリを使用可能にしたものとすることができる。
【０１６６】
Ｒ３フィールドがゼロの場合、このステップで説明された条件は適用されない。
ＥＤＡＴ−１が適用され、ストレージ内の置換されたエントリがセグメント・テーブル・エントリである場合、又は、ＥＤＡＴ−２が適用され、ストレージ内の置換されたエントリが領域第３テーブル・エントリである場合、置換されたエントリ内の形式制御がＴＬＢエントリのものと合致する。
【０１６７】
ストレージ内のエントリが下位レベル変換テーブルを指定する場合、エントリ内の下位レベル・テーブル起点がＴＬＢテーブル・エントリ内のテーブル起点フィールドと合致する。
【０１６８】
第１オペランドと第２オペランドが等しい場合、ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹの実行は、これを実行するＣＰＵ上で、以下が発生するまで完了しない。
１．上記に指定された基準を満たす全てのエントリが、このＣＰＵのＴＬＢからクリアされている。Ｍ４フィールド内のＬＣ制御が１である場合、ＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹの実行は完了し、次のステップは実施されない。
２．Ｍ４フィールド内のＬＣ制御がゼロである場合、構成内の他の全てのＣＰＵが、変更ビット及び参照ビットの更新を含むいずれのストレージ・アクセスも完了している。
【０１６９】
操作は、必ずしも、ＴＬＢの実空間エントリに対して何らかの影響を有するとは限らない。
【０１７０】
特別な条件：
以下のいずれかが真である場合、指定例外が認識され、操作は抑止される。
Ｒ１又はＲ２フィールドのいずれかが奇数である。
ＤＴＴフィールド（汎用レジスタＲ２のビット位置５９−６１）が、２進数００１、０１０、又は０１１を含む。
汎用レジスタＲ２＋１のビット位置５２−６３が非ゼロの値を含む。
【０１７１】
操作は、全てのアドレッシング例外及び保護例外において抑止される。
【０１７２】
結果の条件コード：
０−−第１オペランドと第２オペランドが等しく、第２オペランドは、汎用レジスタＲ１＋１の内容に置換された。
１−−第１オペランドと第２オペランドは等しくなく、第１オペランドは第２オペランドに置換された。
２−−
３−−
【０１７３】
プログラム例外：
・アドレッシング例外
・操作例外（強化ＤＡＴファシリティ２がインストールされていない場合）
・特権操作例外
・保護例外（フェッチ及びストア、領域テーブル・エントリ、セグメント・テーブル・エントリ、又はページ・テーブル・エントリ、キー制御保護及び低アドレス保護）
・指定例外
【０１７４】
プログラミング上の注意：
１．ＴＬＢエントリの選択的クリアは、モデルによって異なる方法で実施することができ、一般に、必要最小数よりも多くのエントリがクリアされ得る。
２．共通セグメントと関連付けられたＴＬＢエントリをクリアする場合、これらのエントリが、多くの異なるテーブル起点を含むアドレス空間制御要素を用いて形成され得たことに留意されたい。
３．アセンブラ構文の括弧［］内に含まれているフィールドにより示されるように、命令のＭ４フィールドは、随意的であると考えられる。Ｍ４フィールドが指定されていない場合、アセンブラは命令のそのフィールド内にゼロを入れる。
４．以下のいずれかが真である場合にのみ、ローカル・クリア制御を１に指定すべきであり、他の場合には、遅延アクセス例外マシン・チェックの提示を含む予測不能な結果が発生することがある。
・プログラムは、ユニプロセッサ構成内で実行されている。
・プログラムは、単一のＣＰＵ上で実行されるように割り当てられ、プログラムとそのＣＰＵとの間のアフィニティ（ａｆｆｉｎｉｔｙ）が維持される。
幾つかのモデルでは、上記で列挙した場合に、ローカルＴＬＢのみのクリアを指定するＣＯＭＰＡＲＥ  ＡＮＤ  ＲＥＰＬＡＣＥ  ＤＡＴ  ＴＡＢＬＥ  ＥＮＴＲＹの使用により、著しい性能の改善がもたらされ得る。
【０１７５】
上記の環境の多数の変形が可能である。例えば、１つ又は複数の態様は、例えば、１つ又は複数のページング可能なエンティティ（例えば、ゲスト）が１つ又は複数のプロセッサ上で実行される、仮想マシンのエミュレーションに等しく適用可能である。一例として、ページング可能なゲストが解釈実行開始（Start Interpretive Execution、ＳＩＥ）アーキテクチャによって定められ、その一例は、その全体を引用により本明細書に組み入れる非特許文献２に記載される。
【０１７６】
ＳＩＥ及びｚ／Ａｒｃｈｉｔｅｃｔｕｒｅが上述されたが、１つ又は複数の態様は、ページング可能なエンティティ又は類似の構造を用いる他のアーキテクチャ及び／又は環境にも等しく適用可能である。
【０１７７】
さらに、上述した種々の実施形態は一例にすぎない。例えば、本明細書では、論理的に区分化された環境について説明されるが、これはほんの一例である。態様は、複数のゾーンを有する他の環境、及び区分化されていない環境を含む、多数のタイプの環境にとって有益である。さらに、中央プロセッサ複合体が存在しないが、互いに結合された複数のプロセッサが存在することがある。さらにまた、１つ又は複数の態様は、単一のプロセッサ環境に適用可能である。
【０１７８】
本明細書において特定の環境が説明されたが、同様に、これらの環境に対する多数の変形を実装することができる。例えば、環境が論理的に区分化されている場合、環境内により多くの又はより少ない論理パーティションを含むことができる。さらに、互いに結合された複数の中央処理複合体が存在し得る。これらは、なし得る変形のほんの一部にすぎない。付加的に、他の変形が可能である。さらに、環境は、複数のコントローラを含むことができる。さらにまた、（１つ又は複数のコントローラからの）複数の休止要求が、システム内で同時に未処理となることがある。付加的な変形も可能である。
【０１７９】
有利なことに、１つ又は複数の態様は、以下の、Ｓｌｅｇｅｌ他による「Ｆｉｌｔｅｒｉｎｇ  Ｐｒｏｃｅｓｓｏｒ  Ｒｅｑｕｅｓｔｓ  Ｂａｓｅｄ  Ｏｎ  Ｉｄｅｎｔｉｆｉｅｒｓ」という名称の特許文献９、Ｓｌｅｇｅｌ他による「Ｂｌｏｃｋｉｎｇ  Ｐｒｏｃｅｓｓｉｎｇ  Ｒｅｓｔｒｉｃｔｉｏｎｓ  Ｂａｓｅｄ  Ｏｎ  Ｐａｇｅ  Ｉｎｄｉｃｅｓ」という名称の特許文献１０、及びＳｌｅｇｅｌ他による「Ｂｌｏｃｋｉｎｇ  Ｐｒｏｃｅｓｓｉｎｇ  Ｒｅｓｔｒｉｃｔｉｏｎｓ  Ｂａｓｅｄ  Ｏｎ  Ａｄｄｒｅｓｓｅｓ」という名称の特許文献１１のうちの１つ又は複数に記載される性能の強化から利益を得ることができる。
【０１８０】
本明細書で使用されるとき、「処理ユニット」という用語は、ゲスト、プロセッサ、エミュレータ、及び／又は他の類似のコンポーネントなどのページング可能なエンティティを含む。さらに、「処理ユニットによって」という用語は、処理ユニットの代わりに、を含む。「バッファ」という用語はストレージ域、並びに、アレイを含むがこれらに限定されない異なるタイプのデータ構造を含み、「テーブル」という用語は、テーブル・タイプのデータ構造以外を含むことができる。さらに、命令は、情報を指示するためのレジスタ以外のものを含むことができる。それに加えて、ページ、セグメント、及び／又は領域は、本明細書で説明されたものとは異なるサイズのものとすることができる。
【０１８１】
１つ又は複数の機能は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの何らかの組み合わせの形で実装することができる。さらに、１つ又は複数の機能をエミュレートすることができる。
【０１８２】
１つ又は複数の態様を、例えば、コンピュータ使用可能媒体を有する製品（例えば、１つ又は複数のコンピュータ・プログラム製品）内に含ませることができる。媒体は、例えば、能力を提供し、容易にするためのコンピュータ可読プログラム・コード手段又は論理（例えば、命令、コード、コマンド等）を内部に具体化している。製品は、コンピュータ・システムの一部として含ませることができ、又は、単独で販売することができる。
【０１８３】
付加的に、能力を実施するために機械が実行可能な命令の少なくとも１つのプログラムを具体化する機械によって読み出し可能な、少なくとも１つのプログラム・ストレージ・デバイスを提供することができる。
【０１８４】
本明細書で示される流れ図は一例にすぎない。本明細書で説明されるこれらの図、又はステップ（若しくは操作）の多数の変形が存在し得る。例えば、ステップを異なる順序で実施してもよく、又は、ステップを付加、削除、又は変更してもよい。
【０１８５】
好ましい実施形態が本明細書で詳細に示され、説明されたが、当業者であれば、種々の変更、付加、置換等を行うことができ、従って、これらは以下の特許請求の範囲に定められるような本発明の範囲内にあると考えられることを理解するであろう。
【０１８６】
さらに別の実施形態において、システム・バスを通してメモリ要素に直接的に又は間接的に結合された少なくとも１つのプロセッサを含む、プログラム・コードを格納及び／又は実行するのに適したデータ処理システムが使用可能である。メモリ要素は、例えば、プログラム・コードの実際の実行時に用いられるローカル・メモリと、大容量記憶装置と、実行時に大容量記憶装置からコードを取得すべき回数を減少させるために少なくとも幾つかのプログラム・コードの一時的なストレージを提供するキャッシュ・メモリとを含む。
【０１８７】
入力／出力、即ちＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング装置、ＤＡＳＤ、テープ、ＣＤ、ＤＶＤ、サムドライブ、及び他のメモリ媒体等を含むが、これらに限定されるものではない）は、直接的に、又は介在するＩ／Ｏコントローラを通して、システムに結合することができる。データ処理システムが、介在するプライベート・ネットワーク又は公衆ネットワークを通して、他のデータ処理システム又は遠隔プリンタ若しくはストレージ装置に結合できるように、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム及びイーサネット・カードは、利用可能なタイプのネットワーク・アダプタのほんの数例にすぎない。
【０１８８】
１つ又は複数の態様を、例えば、コンピュータ使用可能媒体を有する製品（例えば、１つ又は複数のコンピュータ・プログラム製品）内に含ませることができる。媒体は、例えば、能力を提供し、容易にするためのコンピュータ可読プログラム・コード手段又は論理（例えば、命令、コード、コマンド等）を内部に有する。製品は、システム（例えば、コンピュータ・システム）の一部として含ませることができ、又は、単独で販売することができる。
【０１８９】
図７を参照して、１つ又は複数の態様を組み込む製品又はコンピュータ・プログラム製品の一例が説明される。コンピュータ・プログラム製品７００は、例えば、１つ又は複数の態様を提供し、容易にするように、コンピュータ可読プログラム・コード手段又は論理７０４をその上に格納するための１つ又は複数のコンピュータ使用可能媒体７０２を含む。媒体は、電子、磁気、光学、電磁気、赤外線又は半導体のシステム（若しくは装置若しくはデバイス）、又は伝搬媒体とすることができる。コンピュータ可読媒体の例として、半導体又はソリッド・ステート・メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、剛性磁気ディスク及び光ディスクが挙げられる。光ディスクの例として、コンパクト・ディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読み出し／書き込み（ＣＤ−Ｒ／Ｗ）及びＤＶＤが挙げられる。一連のプログラム命令、又は、１つ又は複数のコンピュータ可読プログラム・コード手段又は論理により定められる１つ又は複数の相互に関連したモジュールの論理組立体が、１つ又は複数の態様の性能を指示する。
【符号の説明】
【０１９０】
１００：コンピューティング環境
１０２：中央プロセッサ複合体（ＣＰＣ）
１０４：論理パーティション
１０６、２０１：中央プロセッサ（ＣＰＵ）
１０８：ハイパーバイザ
１１０：オペレーティング・システム
１２０、２００：コントローラ
２０２：システム・シリアル化制御
２０４、２０８、２１０：インターフェース
２０６：応答バス
２１２：キャッシュ制御
２１３：変換ルックアサイド・バッファ（ＴＬＢ）
２２０：割り込み制御
２２２：実行制御
２２４：ブロードキャスト操作許可ラッチ
２２６：中央演算処理装置（ＣＰＵ）休止ラッチ
３００：ホスト・コンピュータ
３０２：メモリ
３０４：命令フェッチ・ユニット
３０６：命令デコード・ユニット
３０８：命令実行ユニット
４０１：命令
５０１：比較値
５１０：置換値
５５１：テーブル起点
５５３：指示タイプ制御
７００：コンピュータ・プログラム製品
７０２：コンピュータ使用可能媒体
７０４：コンピュータ可読プログラム・コード手段又は論理
【図１】
0006284130.tif 000004
【図２】
0006284130.tif 000005
【図３】
0006284130.tif 000006
【図４】
0006284130.tif 000007
【図５】
0006284130.tif 000008
【図６】
0006284130.tif 000009
【図７】
0006284130.tif 000010