【手続補正書】
【提出日】平成19年4月24日(2007.4.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ・システムにおいて、アドレス変換バッファを消去するため、および関連するストレージのアドレス変換テーブル・エントリの範囲を無効化するための方法であって、
前記コンピュータ・システムはメイン・ストレージと通信する１つまたは複数の中央処理ユニットを有し、前記中央処理ユニットは汎用レジスタを有し、前記中央処理ユニットはアドレス変換バッファを有し、前記アドレス変換バッファはアドレス変換情報を保持するアドレス変換バッファ・エントリを有し、前記コンピュータ・システムはページ・テーブル、および１つまたは複数の処理ユニットのうちの１つの中央処理ユニットの仮想メイン・ストレージ・アドレスを前記コンピュータ・システムのメイン・ストレージ・アドレスに変換するためアドレス変換テーブルを有し、前記アドレス変換テーブルは、
１つまたは複数のセグメント・テーブルと、
１つまたは複数のセグメント・テーブルおよび１つまたは複数の第１領域テーブルと、
１つまたは複数のセグメント・テーブル、１つまたは複数の第１領域テーブル、および１つまたは複数の第２領域テーブルと、
１つまたは複数のセグメント・テーブル、１つまたは複数の第１領域テーブル、１つまたは複数の第２領域テーブル、および１つまたは複数の第３領域テーブルと、
のうちのいずれか１つを有し、
セグメント・テーブル・エントリはページ・テーブル起点を有し、
前記方法は、
動的アドレス変換テーブル・エントリ（ＩＤＴＥ）多機能コンピュータ命令を取り出すステップであって、前記多機能ＩＤＴＥ命令は、命令を多機能ＩＤＴＥ命令として識別するオペレーション・コード・フィールド値を有するオペレーション・コード・フィールドを有し、前記多機能ＩＤＴＥ命令は第１機能または第２機能のいずれかを実行するためのものであり、前記第１機能は無効化および消去の両オペレーションを有し、前記第２機能は消去オペレーションを有するが無効オペレーションは有さない、取り出すステップと、
前記多機能ＩＤＴＥ命令を実行するステップと、
を有し、前記実行するステップは、
前記取り出された多機能ＩＤＴＥ命令の機能のインジケーションを有する第２情報を検索するステップと、
前記取り出された多機能ＩＤＴＥ命令の機能が無効化および消去オペレーションからなる場合、
１）アドレス変換テーブルの１つまたは複数のアドレス変換テーブル・エントリのうちの、所定のアドレス変換テーブル・エントリの場所から始まる所定の範囲を無効化するステップと、
２）前記無効化された１つまたは複数のアドレス変換テーブル・エントリに関連付けられたアドレス変換バッファのアドレス変換バッファ・エントリを消去するステップと、
前記取り出されたＩＤＴＥ命令の前記機能が消去オペレーションのみからなる場合、
前記１つまたは複数のアドレス変換テーブル・エントリに関連付けられたアドレス変換バッファのアドレス変換バッファ・エントリを消去するステップであって、前記１つまたは複数のアドレス変換テーブル・エントリが、アドレス変換テーブルのうちの、所定のアドレス変換テーブル・エントリの場所から始まる所定の範囲の１つまたは複数のアドレス変換テーブル・エントリを有する、消去するステップと、
を実行する、方法。
【請求項２】
前記中央処理ユニットが前記メイン・ストレージから命令を取り出すステップをさらに有し、前記命令は、
前記命令の機能を示すための命令オペレーション・コード・フィールドと、
無効化用のアドレス変換テーブル起点場所を有する第１の情報の位置を指定するための第１のフィールドと、
第２の情報の位置を指定するための第２のフィールドとを有し、
前記第２の情報は範囲値を有し、前記範囲値は無効化されることになるいくつかの追加エントリを示し、
前記命令は第３の情報の位置を指定するための第３のフィールドをさらに有し、前記第３の情報は消去用のアドレス変換テーブル起点を有し、
前記取り出された命令の前記命令オペレーション・コード・フィールドを復号するステップをさらに有する、
請求項１に記載の方法。
【請求項３】
前記取り出されたＩＤＴＥ命令の前記機能が無効化および消去オペレーションからなる場合、
ａ）前記第１の情報を検索するステップと、
ｂ）無効化されることになるアドレス変換テーブル・エントリの範囲を決定するステップと、
ｃ）前記第１の情報および前記第２の情報に基づいて、無効化されることになるアドレス変換テーブル・エントリを決定するステップと、
ｄ）前記決定されたアドレス変換テーブル・エントリを無効化するステップと、
ｅ）アドレス変換バッファのアドレス変換バッファ・エントリのうちの所定のアドレス変換バッファ・エントリ部分が消去用の値を含むかどうかを判定するステップと、
ｆ）消去用のアドレスの値を有すると判定されたアドレス変換バッファ・エントリを消去するステップと、
ｇ）影響を受けるすべてのアドレス変換バッファ・エントリに対してステップｃ）〜ｇ）を反復するステップと、
をさらに実行する、請求項２に記載の方法。
【請求項４】
前記取り出されたＩＤＴＥ命令の前記機能が消去オペレーションのみからなる場合、
ｈ）前記第３の情報が存在する場合、前記第３の情報を検索するステップと、
ｉ）前記第３の情報が存在しない場合、前記第３の情報を形成するステップと、
ｊ）アドレス変換バッファのアドレス変換バッファ・エントリのうちの所定のアドレス変換バッファ・エントリ部分が前記第３の情報を含むかどうかを判定するステップと、
ｋ）消去用のアドレス変換テーブル起点の値を有すると判定されたアドレス変換バッファ・エントリを消去するステップと、
ｌ）複数のアドレス変換バッファ・エントリに対してステップｊ）〜ｌ）を反復するステップと、
をさらに実行する、請求項２に記載の方法。
【請求項５】
前記ＩＤＴＥ命令が３２の連続ビットからなり、前記オペレーション・コード・フィールドが１６の連続ビットからなり、前記第１のフィールドが４つの連続ビットからなり、前記第２のフィールドが４つの連続ビットからなり、前記第３のフィールドが４つの連続ビットからなり、前記第１のフィールドの連続ビットが前記第２のフィールドの連続ビットに隣接する、請求項２に記載の方法。
【請求項６】
前記第１のフィールドが第１の設計済み汎用レジスタ内の第１の情報の位置を指定し、前記無効化用のアドレス変換テーブル起点場所が領域テーブルまたはセグメント・テーブルのうちのいずれか１つのアドレスを有する、請求項２に記載の方法。
【請求項７】
前記第１の情報が、１つまたは複数の無効化用の領域テーブル、あるいは無効化用のセグメント・テーブルのうちの、いずれか１つを指定するための指定タイプ・コントロール・フィールドをさらに有する、請求項６に記載の方法。
【請求項８】
前記第２の情報が、第１の領域索引フィールド、第２の領域索引フィールド、第３の領域索引フィールド、またはセグメント索引フィールドのうちのいずれか１つをさらに有する、請求項２に記載の方法。
【請求項９】
前記第２の情報が、消去オペレーションのみが実行されることになる機能のインジケーションをさらに有する、請求項２に記載の方法。
【請求項１０】
前記第３のフィールドが第３の設計済み汎用レジスタ内の第３の情報の位置を指定し、前記消去用のアドレス変換テーブル起点が、ＡＳＣＥアドレス、消去用の領域テーブル起点、または消去用のセグメント・テーブル起点のうちのいずれか１つを有する、請求項２に記載の方法。
【請求項１１】
前記第３のフィールドが０であり、任意のエントリのうちのいずれか１つが消去されるか、または前記第３の情報がＡＳＣＥアドレスを有する、請求項２に記載の方法。
【請求項１２】
前記ＩＤＴＥ命令の命令フォーマットが前記中央処理ユニットの命令アーキテクチャに固有のフォーマットである、請求項１に記載の方法。
【請求項１３】
前記ＩＤＴＥ命令の命令フォーマットが前記中央処理ユニットの命令アーキテクチャに固有のフォーマットでなく、
前記ＩＤＴＥ命令のオペレーションをエミュレートするために、複数の命令を有する所定のソフトウェア・ルーチンを識別するように前記ＩＤＴＥ命令を解釈するステップと
前記所定のソフトウェア・ルーチンを実行するステップと、
をさらに有する、請求項１に記載の方法。
【請求項１４】
前記第１の情報が無効化用の領域テーブル起点または無効化用のセグメント・テーブル起点のうちのいずれか１つをさらに有し、さらに前記第２のフィールドが前記第２の情報を有する第２の設計済み汎用レジスタの位置を指定し、前記第２の情報が領域索引フィールドまたはセグメント索引フィールドのうちのいずれか１つをさらに有し、１つまたは複数のアドレス変換テーブル・エントリの所定の範囲を無効化する前記ステップが、
第１の領域エントリ、第２の領域エントリ、または第３の領域エントリのうちのいずれか１つを無効化する場合、
（ａａ）ターゲット領域エントリのアドレスを形成するために、前記第１の領域索引、前記第２の領域索引、または前記第３の領域索引のうちのいずれか１つを前記領域テーブル起点に追加するステップと、
（ｂａ）前記ターゲット領域エントリのアドレスに配置された前記ターゲット領域エントリを無効化するステップと、
（ｃａ）前記ターゲット領域エントリのアドレスを増分するステップと、
（ｄａ）無効化されることになるエントリの範囲の値を減分するステップと、
（ｅａ）前記無効化されることになるエントリの範囲の減分された値がゼロより大きい場合、ステップ（ａａ）から（ｅａ）を反復するステップと、
を実行するステップと、
セグメント・エントリを無効化する場合、
（ｆａ）ターゲット・セグメント・エントリのアドレスを形成するために、無効化用のセグメント・テーブル起点に前記セグメント索引フィールドを追加するステップと、
（ｇａ）前記ターゲット・セグメント・エントリのアドレスに配置された前記ターゲット・セグメント・エントリを無効化するステップと、
（ｈａ）前記ターゲット・セグメント・エントリのアドレスを増分するステップと、
（ｉａ）無効化されることになるエントリの範囲の値を減分するステップと、
（ｊａ）前記無効化されることになるエントリの範囲の減分された値がゼロより大きい場合、ステップ（ｆａ）から（ｊａ）を反復するステップと、
を実行するステップと、
前記無効化されることになるエントリの範囲の減分された値がゼロの場合、前記ＩＤＴＥ命令の実行を終了するステップと、
をさらに有する、請求項２に記載の方法。
【請求項１５】
前記第１の情報が、無効化されることになる第１の領域エントリ、第２の領域エントリ、第３の領域エントリ、またはセグメント・エントリのうちのいずれか１つを指定するための宛先タイプ・フィールドをさらに有する、請求項２に記載の方法。
【請求項１６】
前記第２のフィールドによって識別された前記第２の情報場所に、前記無効化されることになるエントリの範囲の増分された値を保存するステップをさらに有する、請求項１４に記載の方法。
【請求項１７】
前記アドレス変換バッファが変換ルックアサイド・バッファ（ＴＬＢ）を有する、請求項１に記載の方法。
【請求項１８】
前記所定のアドレス・テーブル・エントリの範囲を無効化するステップが、アドレス変換テーブル・エントリのエントリ無効フィールドを無効としてマーキングするステップをさらに有する、請求項１に記載の方法。
【請求項１９】
前記アドレス変換バッファが、
前記中央処理ユニットに関連付けられたアドレス変換バッファと、
前記コンピュータ・システムの他の中央処理ユニットに関連付けられたアドレス変換バッファと、
前記コンピュータ・システムに関連付けられたすべてのアドレス変換バッファと、
のうちのいずれか１つである、請求項１に記載の方法。
【請求項２０】
無効化されることになるアドレス変換テーブル・エントリを決定する前記ステップｃ）が、
ｃ１）前記第１の領域索引フィールドの値に基づいて、第２の領域テーブル起点を有する無効化するエントリを見つけるために第１の領域テーブルに索引付けするステップと、
ｃ２）前記第２の領域索引フィールドの値に基づいて、第３の領域テーブル起点を有する無効化するエントリを見つけるために第２の領域テーブルに索引付けするステップと、
ｃ３）前記第３の領域索引フィールドの値に基づいて、セグメント・テーブル起点を有する無効化するエントリを見つけるために第３の領域テーブルに索引付けするステップと、
ｃ４）前記セグメント索引フィールドの値に基づいて、ページ・テーブル起点を有する無効化するエントリを見つけるためにセグメント・テーブルに索引付けするステップと、
ｃ５）前記無効化されることになるエントリの範囲の値を減分するステップと、
のうちのいずれか１つを有する、請求項３に記載の方法。
【請求項２１】
アドレス変換バッファのアドレス変換バッファ・エントリの所定のアドレス変換バッファ・エントリ部分が消去用の値を含むかどうかを判定する前記ステップｅ）が、
ｅ１）前記第１の領域索引フィールドの値に基づいて、第２の領域テーブル起点を有する消去するエントリを見つけるために第１の領域テーブルに索引付けするステップと、
ｅ２）前記第２の領域索引フィールドの値に基づいて、第３の領域テーブル起点を有する消去するエントリを見つけるために第２の領域テーブルに索引付けするステップと、
ｅ３）前記第３の領域索引フィールドの値に基づいて、セグメント・テーブル起点を有する消去するエントリを見つけるために第３の領域テーブルに索引付けするステップと、
ｅ４）前記セグメント索引フィールドの値に基づいて、ページ・テーブル起点を有する消去するエントリを見つけるためにセグメント・テーブルに索引付けするステップと、
のうちのいずれか１つを有し、
ｅ５）前記方法が、前記消去するエントリをバッファリングするアドレス変換バッファの前記消去するエントリを消去するステップをさらに有する、
請求項３に記載の方法。
【請求項２２】
前記中央処理ユニットがページ・テーブルをさらに有し、前記ページ・テーブルが実メイン・ストレージ・アドレスを有し、実メイン・ストレージ・アドレスは、絶対アドレス、実アドレス、または物理アドレスのうちのいずれか１つを有する、請求項１に記載の方法。
【請求項２３】
前記第３のフィールドの存在が前記第３のフィールドの値に依存し、
前記第３のフィールドが０の場合、前記第３の情報は前記ＡＳＣＥから形成され、
前記第３のフィールドが０よりも大きい場合、設計済み汎用レジスタから第３の情報を検索するステップを、
さらに有する、請求項４に記載の方法。
【請求項２４】
前記第２の情報のビット５２が０の場合、前記第２の情報が無効化および消去オペレーションを示し、さらに前記第２の情報のビット５２が１の場合、前記第２の情報が消去オペレーションのみを示す、請求項１に記載の方法。
【請求項２５】
請求項１ないし２４のいずれか一項に記載の方法をコンピュータに実行するための命令を有するコンピュータ・プログラム。
【請求項２６】
コンピュータ・システムにおいて、アドレス変換バッファを消去するため、および関連するストレージのアドレス変換テーブル・エントリの範囲を無効化するためのシステムであって、前記システムは、
メイン・ストレージと、
前記メイン・ストレージと通信する１つまたは複数の中央処理ユニットと、
を有し、前記中央処理ユニットは、
設計済み汎用レジスタと、
アドレス変換情報を保持するアドレス変換バッファ・エントリを有するアドレス変換バッファと、
１つまたは複数の処理ユニットのうちの１つの中央処理ユニットの仮想メイン・ストレージ・アドレスを前記コンピュータ・システムのメイン・ストレージ・アドレスに変換するためのアドレス変換テーブルであって、前記アドレス変換テーブルがセグメント・テーブル、第１の領域テーブル、第２の領域テーブル、または第３の領域テーブルのうちのいずれか１つを有する、アドレス変換テーブルと、
１つまたは複数の命令実行ユニットであって、前記命令実行ユニットが前記設計済み汎用レジスタと通信し、前記命令実行ユニットが前記メイン・ストレージから取り出したマシン命令を実行する、１つまたは複数の命令実行ユニットと、
を有し、
前記コンピュータ・システムは、
メイン・ストレージと、
前記メイン・ストレージと通信する１つまたは複数の中央処理ユニットと、
を有し、前記中央処理ユニットは、
設計済み汎用レジスタと、
アドレス変換情報を保持するアドレス変換バッファ・エントリを有するアドレス変換バッファと、
ページ・テーブル、および１つまたは複数の処理ユニットのうちの１つの中央処理ユニットの仮想メイン・ストレージ・アドレスを前記コンピュータ・システムのメイン・ストレージ・アドレスに変換するための他のアドレス変換テーブルと、
を有し、前記アドレス変換テーブルは、
１つまたは複数のセグメント・テーブルと、
１つまたは複数のセグメント・テーブルおよび１つまたは複数の第１領域テーブルと、
１つまたは複数のセグメント・テーブル、１つまたは複数の第１領域テーブル、および１つまたは複数の第２領域テーブルと、
１つまたは複数のセグメント・テーブル、１つまたは複数の第１領域テーブル、１つまたは複数の第２領域テーブル、および１つまたは複数の第３領域テーブルと、
のうちのいずれか１つを有し、
セグメント・テーブル・エントリはページ・テーブル起点を有し、
前記コンピュータ・システムは請求項１から２４のいずれか一項に記載の方法を実行するための命令を含む、システム。