【手続補正書】
【提出日】平成19年6月29日(2007.6.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  ページ・テーブルのエントリを参照するエントリ・アドレスを仮想アドレスから形成する方法であって、前記仮想アドレスが、領域を識別する活動領域識別子を参照する領域部分を含み、前記ページ・テーブルが、ロング・フォーマットおよびショート・フォーマットを仮定することができ、
前記仮想アドレスをＪビット右にシフトすることによって前記仮想アドレスからハッシュ・ページ番号を形成するステップであって、前記仮想アドレスの前記領域部分に関連付けられた領域の好ましいベージ・サイズが２Ｊバイトであるステップと、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記仮想アドレスの前記領域部分によって参照される前記領域識別子および前記ハッシュ・ページ番号を組み合わせることによりハッシュ・インデックスを形成するステップと、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ハッシュ・インデックスをＫビット左にシフトすることによってテーブル・オフセットを形成するステップであって、各ロング・フォーマット・ページ・テーブル・エントリが２Ｋバイト長であるステップと、
前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記ハッシュ・インデックスを前記ハッシュ・ページ番号に等しく設定することによりハッシュ・インデックスを形成するステップと、
前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記ハッシュ・インデックスをＬビット左にシフトすることによってテーブル・オフセットを形成するステップであって、各ショート・フォーマット・ページ・テーブル・エントリが２Ｌバイト長であるステップと、
前記ページ・テーブルのサイズに基づきマスクを形成するステップと、
前記ページ・テーブルのベース・アドレスおよび前記マスクを使用して第１アドレス部分を形成するステップと、
前記テーブル・オフセットおよび前記マスクを使用して第２アドレス部分を形成するステップと、
前記第１アドレス部分および前記第２アドレス部分を組み合わせることによって前記エントリ・アドレスを形成するステップと、を含む方法。
【請求項２】  前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ページ・テーブルの前記ベース・アドレスから前記領域部分を抽出することによってページ・テーブル領域を形成するステップと、
前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記仮想アドレスから前記領域部分を抽出することによってページ・テーブル領域を形成するステップとをさらに含む方法であって、
前記ページ・テーブル領域、前記第１アドレス部分および第２アドレス部分を組み合わせることによって前記エントリ・アドレスを形成するステップであって、前記ページ・テーブル領域が前記エントリ・アドレスの領域部分に挿入されるステップを含む、請求項１に記載の方法。
【請求項３】  前記仮想アドレスからハッシュ・ページ番号を形成するステップが、前記仮想アドレスの実装された部分だけをＪビット右にシフトすることによって前記仮想アドレスからハッシュ・ページ番号を形成するステップであって前記仮想アドレスの前記領域部分に関連付けられた領域の好ましいページ・サイズが２Ｊバイトであるステップを含む、請求項１に記載の方法。
【請求項４】  ２Ｎバイトの最小ページ・テーブル・サイズが定義されており、前記ページ・テーブルのベース・アドレスおよび前記マスクを使用して第１アドレス部分を形成するステップが、
前記ページ・テーブルの前記ベース・アドレスの下位Ｎビットを含まない前記ページ・テーブルの前記ベース・アドレス、および前記マスクの下位Ｎビットを含まない前記マスクを使用して第１アドレス部分を形成するステップを含み、
前記テーブル・オフセットおよび前記マスクを使用して第２アドレス部分を形成するステップが、
前記テーブル・オフセットの下位Ｎビットを含まない前記テーブル・オフセット、および前記マスクの下位Ｎビットを含まない前記マスクを使用して第２アドレス部分を形成するステップを含み、
前記第１アドレス部分および前記第２アドレス部分を組み合わせることによって前記エントリ・アドレスを形成するステップが、
前記第１アドレス部分および前記第２アドレス部分を組み合わせて結果を形成し、その結果をＮビット左にシフトし、その結果と前記テーブル・オフセットの下位Ｎビットを組み合わせることにより前記エントリ・アドレスを形成するステップを含む、請求項１に記載の方法。
【請求項５】  ページ・テーブルのエントリを参照するエントリ・アドレスを仮想アドレスから形成する方法であって、前記仮想アドレスが、領域を識別する活動領域識別子を参照する領域部分を含み、前記ページ・テーブルの最小サイズが２Ｎバイトであり、前記ページ・テーブルが、ロング・フォーマットおよびショート・フォーマットを仮定することができ、
前記仮想アドレスの実装された部分だけをＪビット右にシフトすることによって前記仮想アドレスからハッシュ・ページ番号を形成するステップであって、前記仮想アドレスの前記領域部分に関連付けられた前記領域の好ましいページ・サイズが２Ｊバイトであるステップと、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ハッシュ・ページ番号、前記仮想アドレスの前記領域部分、および前記仮想アドレスの前記領域部分から参照される前記領域識別子を組み合わせることによってハッシュ・インデックスを形成するステップであって、前記仮想アドレスをＪビット右にシフトすることに基づき空いていることが分かっている前記ハッシュ・ページ番号のビット位置に前記仮想アドレスの前記領域部分が組み合わされて挿入されるステップと、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ハッシュ・インデックスをＫビット左にシフトすることによってテーブル・オフセットを形成するステップであって、各ロング・フォーマット・ページ・テーブル・エントリが２Ｋバイト長であるステップと、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ページ・テーブルのベース・アドレスから前記領域部分を抽出することによってページ・テーブル領域を形成するステップと、
前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記ハッシュ・インデックスを前記ハッシュ・ページ番号に等しく設定することによってハッシュ・インデックスを形成するステップと、
前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記ハッシュ・インデックスをＬビット左にシフトすることによってテーブル・オフセットを形成するステップであって、各ショート・フォーマット・ページ・テーブル・エントリが２Ｌバイト長であるステップと、
前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記仮想アドレスから前記領域部分を抽出することによってページ・テーブル領域を形成するステップと、
２をＭ乗し１を引いてマスクを形成するステップであって、２Ｍが前記テーブルのサイズであるステップと、
前記ページ・テーブルの前記ベース・アドレスの下位Ｎビットを含まない前記ページ・テーブルの前記ベース・アドレス、および前記マスクの反転の下位Ｎビットを含まない前記マスクの反転に対して論理積演算を実行することによって第１アドレス部分を形成するステップと、
前記テーブル・オフセットの下位Ｎビットを含まない前記テーブル・オフセット、および前記マスクの下位Ｎビットを含まない前記マスクに対して論理積演算を実行することによって第２アドレス部分を形成するステップと、
前記第１アドレス部分および前記第２アドレス部分に対して論理積演算を実行して第１の結果を形成し、この第１の結果をＮビット左にシフトして第２の結果を形成し、前記ページ・テーブル領域、前記第２の結果、および前記テーブル・オフセットの下位Ｎビットに対して論理和演算を実行することによって前記エントリ・アドレスを形成するステップであって、前記ページ・テーブル領域が前記エントリ・アドレスの領域部分に挿入されるステップと、を含む方法。
【請求項６】  領域を識別する活動領域識別子を参照する領域部分を含む仮想アドレスによってアドレス指定される仮想アドレス空間を定義するアーキテクチャを有するコンピュータ・システムであって、
ページ・テーブル・ベース・アドレスによって固定されたページ・テーブルを含むメモリ・ユニットであって、ページ・テーブルがロング・フォーマットおよびショート・フォーマットを仮定できるメモリ・ユニットと、
命令を実行するプロセッサであって、仮想アドレスから前記ページ・テーブルにエントリ・アドレスを生成することができるページ・テーブル・エントリ・アドレス生成ユニットであるプロセッサと、を有し、
前記エントリ・アドレス生成ユニットは、
前記仮想アドレスをＪビット右にシフトすることによって前記仮想アドレスからハッシュ・ページ番号を形成するハッシュ・ページ番号生成回路であって、前記仮想アドレスの前記領域部分に関連付けられた前記領域の好ましいページ・サイズが２Ｊバイトであるハッシュ・ページ番号生成回路と、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ハッシュ・ページ番号と前記仮想アドレスの前記領域部分から参照される前記領域識別子を組み合わせることによってハッシュ・インデックスを形成し、前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記ハッシュ・インデックスを前記ハッシュ・ページ番号に等しく設定することによってハッシュ・インデックスを形成するハッシュ・インデックス生成回路と、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ハッシュ・インデックスをＫビット左にシフトすることによってテーブル・オフセットを形成し、ここで各ロング・フォーマット・ページ・テーブル・エントリが２Ｋバイト長であり、前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記ハッシュ・インデックスをＬビット左にシフトすることによってテーブル・オフセットを形成し、ここで各ショート・フォーマット・ページ・テーブル・エントリが２Ｌバイト長であるテーブル・オフセット生成回路と、
前記ページ・テーブルの前記サイズに基づきマスクを形成するマスク生成回路と、
前記ページ・テーブル・ベース・アドレスおよび前記マスクを使用して第１アドレス部分を形成する第１アドレス部分生成回路と、
前記テーブル・オフセットおよび前記マスクを使用して第２アドレス部分を形成する第２アドレス部分生成回路と、
前記第１アドレス部分および前記第２アドレス部分を組み合わせることによって前記エントリ・アドレスを形成するエントリ・アドレス生成回路と、を含むコンピュータ・システム。
【請求項７】  前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ページ・テーブル・ベース・アドレスから前記領域部分を抽出することによってページ・テーブル領域を形成し、前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記仮想アドレスから前記領域部分を抽出することによってページ・テーブル領域を形成するページ・テーブル領域生成回路と、
前記ページ・テーブル領域、前記第１アドレス部分および前記第２アドレス部分を組み合わせることによって前記エントリ・アドレスを形成する前記エントリ・アドレス生成回路であって、前記ページ・テーブル領域が前記エントリ・アドレスの領域部分に挿入されるエントリ・アドレス生成回路とを、前記プロセッサの前記ページ・テーブル・エントリ・アドレス生成ユニットがさらに備える、請求項６に記載のコンピュータ・システム。
【請求項８】  前記ハッシュ・ページ番号生成回路が、前記仮想アドレスの実装されている部分だけをＪビット右にシフトすることによって前記仮想アドレスから前記ハッシュ・ページ番号を形成するコンピュータ・システムであって、前記仮想アドレスの前記領域部分に関連付けられた前記領域の前記好ましいサイズが２Ｊバイトである、請求項６に記載のコンピュータ・システム。
【請求項９】  ２Ｎバイトの最小ページ・テーブル・サイズが定義され、前記第１アドレス部分生成回路が、前記ページ・テーブル・ベース・アドレスの下位Ｎビットを含まない前記ページ・テーブル・ベース・アドレスおよび前記マスクの下位Ｎビットを含まない前記マスクを使用して前記第１アドレス部分を形成し、前記第２アドレス生成回路が、前記テーブル・オフセットの下位Ｎビットを含まない前記テーブル・オフセット、および前記マスクの下位Ｎビットを含まない前記マスクを使用して前記第２アドレス部分を形成し、前記エントリ・アドレス生成回路が、前記第１アドレス部分および前記第２アドレス部分を組み合わせて結果を形成し、前記結果をＮビット左にシフトし、前記結果と前記テーブル・オフセットの下位Ｎビットを組み合わせることによって前記エントリ・アドレスを形成する、請求項６に記載のコンピュータ・システム。
【請求項１０】  領域を識別する活動領域識別子を参照する領域部分を含む仮想アドレスによってアドレス指定される仮想アドレス空間を定義するアーキテクチャを有するコンピュータ・システムであって、
ページ・テーブル・ベース・アドレスによって固定されたページ・テーブルを含むメモリ・ユニットであって、ページ・テーブルがロング・フォーマットおよびショート・フォーマットを仮定でき、最小サイズが２Ｎビットであるメモリ・ユニットと、
命令を実行するプロセッサであって、仮想アドレスからページ・テーブルにエントリ・アドレスを生成することができるページ・テーブル・エントリ・アドレス生成ユニットであるプロセッサとを含み、
前記エントリ・アドレス生成ユニットは、
前記仮想アドレスの実装されている部分だけをＪビット右にシフトすることによって前記仮想アドレスからハッシュ・ページ番号を形成するハッシュ・ページ番号生成回路であって、前記仮想アドレスの前記領域部分に関連付けられた領域の好ましいページ・サイズが２Ｊバイトであるハッシュ・ページ番号生成回路と、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ハッシュ・ページ番号、前記仮想アドレスの前記領域部分、および前記仮想アドレスの前記領域部分から参照される前記領域識別子を組み合わせることによってハッシュ・インデックスを形成し、ここで前記仮想アドレスの前記領域部分が、前記仮想アドレスをＪビット右にシフトすること基づき空いていることが分かっている前記ハッシュ・ページ番号のビット位置に組み合わされて挿入され、前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記ハッシュ・インデックスを前記ハッシュ・ページ番号に等しく設定することによってハッシュ・インデックスを形成するハッシュ・インデックス生成回路と、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ハッシュ・インデックスをＫビット左にシフトすることによってテーブル・オフセットを形成し、ここで各ロング・フォーマット・ページ・テーブル・エントリが２Ｋバイト長であり、前記ページ・テーブルの前記フォーマットがショートに設定されている場合に、前記ハッシュ・インデックスをＬビット左にシフトすることによってテーブル・オフセットを形成し、ここで各ショート・フォーマット・ページ・テーブル・エントリが２Ｌバイト長であるテーブル・オフセット生成回路と、
前記ページ・テーブルの前記フォーマットがロングに設定されている場合に、前記ページ・テーブル・ベース・アドレスから前記領域部分を抽出することによってページ・テーブル領域を形成し、ページ・テーブルのフォーマットがショートに設定されている場合に、前記仮想アドレスから前記領域部分を抽出することによってページ・テーブル領域を形成するページ・テーブル領域生成回路と、
２をＭ乗し１を引くことによってマスクを形成するマスク生成回路であって、２Ｍが前記テーブルのサイズであるマスク生成回路と、
前記ページ・テーブル・ベース・アドレスの下位Ｎビットを含まない前記ページ・テーブル・ベース・アドレス、および前記マスクの反転の下位Ｎビットを含まない前記マスクの反転に対して論理積演算を実行することによって第１アドレス部分を形成する第１アドレス部分生成回路と、
前記テーブル・オフセットの下位Ｎビットを含まない前記テーブル・オフセット、および前記マスクの下位Ｎビットを含まない前記マスクに対して論理積演算を実行することによって第２アドレス部分を形成する第２アドレス部分生成回路と、
前記第１アドレス部分および前記第２アドレス部分に対して論理積演算を実行して第１の結果を形成し、前記第１の結果をＮビット左にシフトして第２の結果を形成し、前記ページ・テーブル領域、前記第２の結果、および前記テーブル・オフセットの下位Ｎビットに対して論理和演算を実行することによって前記エントリ・アドレスを形成するエントリ生成回路であって、前記ページ・テーブル領域が前記エントリ・アドレスの領域部分に挿入されるエントリ生成回路と、を含むコンピュータ・システム。