"仮想アドレスと論理アドレスとを対応付けたアドレス変換対を記憶するバッファ領域を有する記憶装置に接続される演算処理装置において、前記記憶装置に設定する複数の論理アドレス空間の下限論理アドレスを保持する下限論理アドレスレジスタと、前記複数の論理アドレス空間の上限論理アドレスを保持する上限論理アドレスレジスタとを含む、論理アドレスを保持する論理アドレスレジスタを複数備える論理アドレスレジスタセットと、前記複数の論理アドレスレジスタのうち使用履歴が最も古い論理アドレスレジスタの番号を保持するLRUレジスタと、前記記憶装置に対するアクセス要求に含まれる論理アドレスが、前記下限論理アドレスレジスタが保持する下限論理アドレスから前記上限論理アドレスレジスタが保持する上限論理アドレスまでの論理アドレス空間の範囲に入っていない場合、前記LRUレジスタが保持する論理アドレスレジスタの番号を読み出す読み出し部と、前記読み出された番号の論理アドレスレジスタを無効にし、前記アクセス要求に含まれる論理アドレスに対応する論理アドレス空間を、前記無効にした論理アドレスレジスタに設定する設定部を有することを特徴とする演算処理装置。前記演算処理装置はさらに、前記アクセス要求に含まれる論理アドレスが、前記下限論理アドレスレジスタが保持する下限論理アドレスから前記上限論理アドレスレジスタが保持する上限論理アドレスまでの論理アドレス空間の範囲に含まれる場合、前記論理アドレス空間の範囲に含まれる論理アドレスを保持する論理アドレスレジスタの使用履歴が最新になるように、前記LRUレジスタが記憶する番号を更新する更新部を有することを特徴とする請求項1記載の演算処理装置。前記演算処理装置はさらに、仮想アドレスと物理アドレスとを対応付けたアドレス変換対を記憶するアドレス変換バッファと、前記記憶装置に記憶されている情報の一部を記憶するキャッシュメモリと、前記アクセス要求に含まれる仮想アドレスを含んだアドレス変換対が前記アドレス変換バッファに記憶されている場合、前記アドレス変換対により変換された物理アドレスを用いて前記キャッシュメモリにアクセスするアクセス部とを有し、前記読み出し部は、前記アクセス要求に含まれる仮想アドレスを含んだアドレス変換対が前記前記バッファ領域に存在しない場合、前記LRUレジスタに記憶される番号を読み出すことを特徴とする請求項1又は2記載の演算処理装置。前記演算処理装置はさらに、前記アクセスリクエスト要求に含まれる論理アドレスが、前記下限論理アドレスレジスタが保持する下限論理アドレスから前記上限論理アドレスレジスタが保持する上限論理アドレスまでの範囲に含まれる場合、前記論理アドレスに対応する前記バッファ領域のアドレス変換対に基づき生成した物理アドレスを含むアドレス変換対を、前記アドレス変換バッファに登録する登録部を有することを特徴とする請求項3記載の演算処理装置。前記論理アドレスレジスタセットは、論理アドレスを物理アドレスに変換するオフセットアドレスを記憶するオフセットレジスタを有し、前記登録部は、前記アクセスリクエスト要求に含まれる論理アドレスに前記オフセットアドレスを加算して前記物理アドレスを生成することを特徴とする請求項4記載の演算処理装置。仮想アドレスと論理アドレスとを対応付けたアドレス変換対を記憶するバッファ領域を有する記憶装置に接続され、前記記憶装置に設定する複数の論理アドレス空間の下限論理アドレスを保持する下限論理アドレスレジスタと前記複数の論理アドレス空間の上限論理アドレスを保持する上限論理アドレスレジスタを含む論理アドレスレジスタセットと、前記複数の論理アドレスレジスタのうち使用履歴が最も古い論理アドレスレジスタの番号を保持するLRUレジスタを有する演算処理装置の制御方法において、前記演算処理装置が有する読出し部が、前記記憶装置に対するアクセス要求に含まれる論理アドレスが、前記下限論理アドレスレジスタが保持する下限論理アドレスから前記上限論理アドレスレジスタが保持する上限論理アドレスまでの論理アドレス空間の範囲に入っていない場合、前記LRUレジスタに保持される論理アドレスレジスタの番号を読み出し、前記演算処理装置が有する設定部が、前記読み出された番号の論理アドレスレジスタを無効にし、前記設定部が、前記アクセス要求に含まれる論理アドレスに対応する論理アドレス空間を、前記無効にした論理アドレスレジスタに設定することを特徴とする演算処理装置の制御方法。1つの側面では、本発明の目的は、使用頻度の高い論理アドレス空間が頻繁に入れ替わることを防止する演算処理装置及び演算処理装置の制御方法を提供することである。演算処理装置は、仮想アドレスと論理アドレスとを対応付けたアドレス変換対を記憶するバッファ領域を有する記憶装置に接続される演算処理装置において、前記記憶装置に設定する複数の論理アドレス空間の下限論理アドレスを保持する下限論理アドレスレジスタと、前記複数の論理アドレス空間の上限論理アドレスを保持する上限論理アドレスレジスタとを含む、論理アドレスを保持する論理アドレスレジスタを複数備える論理アドレスレジスタセットと、前記複数の論理アドレスレジスタのうち使用履歴が最も古い論理アドレスレジスタの番号を保持するLRUレジスタと、前記記憶装置に対するアクセス要求に含まれる論理アドレスが、前記下限論理アドレスレジスタが保持する下限論理アドレスから前記上限論理アドレスレジスタが保持する上限論理アドレスまでの論理アドレス空間の範囲に入っていない場合、前記LRUレジスタが保持する論理アドレスレジスタの番号を読み出す読み出し部と、前記読み出された番号の論理アドレスレジスタを無効にし、前記アクセス要求に含まれる論理アドレスに対応する論理アドレス空間を、前記無効にした論理アドレスレジスタに設定する設定部を有する。使用頻度の高い論理アドレス空間が頻繁に入れ替わることを防止することができる。図1は、実施形態による演算処理装置1の構成例を示す図である。なお、図1は、演算処理装置1を構成する構成要素の一部を抽出して例示するものにすぎない。演算処理装置1は、例えば中央演算処理装置CPUである。演算処理装置1は、その内部に命令制御部11、演算部12、L1命令タグ13、L1データタグ14、L1命令キャッシュ15、L1データキャッシュ16、L2キャッシュ17、及びアドレス変換バッファTLB20を有する。演算処理装置1は、コンピュータが備える記憶装置に記憶されている命令に従って演算を行い、演算結果に従って情報を処理する。ここで、命令とは、演算処理装置1が実行可能な命令セットに含まれる命令のことをいう。命令制御部11は、演算処理装置1が実行する処理の流れの制御を行う。具体的には、命令制御部11は、演算処理装置1において処理すべき命令を記憶装置から読み込み、解釈し、解釈結果を演算部12に送信する図1のB1を参照。演算部12は、演算を行う処理部である。具体的には、演算部12は、命令の対象となるデータを記憶装置から読み込み、命令制御部11が有する図示しない命令デコーダによって解釈された命令に従って演算し、演算結果を命令制御部12に送信する図1のB1を参照。命令制御部11や演算部12が命令やデータを読み込む記憶装置には、メインメモリ2とキャッシュメモリがある。キャッシュメモリには、1次Level1キャッシュ以下、L1キャッシュや2次Level2キャッシュ以下、L2キャッシュなどがある。通常、これらのキャッシュメモリは、演算処理装置1内部に階層構造で備えられる。図1に例示する演算処理装置1においては、L1キャッシュとして、命令専用のL1キャッシュであるL1命令キャッシュ15と、データ専用のL1キャッシュであるL1データキャッシュ16とが備えられている。また、L2キャッシュとして、L2キャッシュ17が備えられている。メインメモリ2は、演算処理装置1に接続され、記憶装置の一つとして演算処理装置1の外部に備えられている。L1命令キャッシュ15及びL1データキャッシュ16は、演算処理装置1と同じクロックで動作することが可能であり、命令制御部11や演算部12からの要求に対して、高速に応答することが可能である図1のB2を参照。しかしながら、L1命令キャッシュ15及びL1データキャッシュ16の容量は、総計で32K~128KB程度のものが多く、多くの情報を記憶することができない。このため、L2キャッシュ17が、L1命令キャッシュ15及びL1データキャッシュ16に記憶することができない情報のうち、利用頻度の高い情報を記憶することになる図1のB3を参照。なお、L2キャッシュ17に記憶することができない情報については、メインメモリ2に記憶される図1のB4を参照。キャッシュメモリ15~17は、メインメモリ2に記憶されている情報の一部を記憶する。命令制御部11や演算部12が処理を開始する時点では、命令やデータは、メインメモリ2上に存在しており、L1命令キャッシュ15やL1データキャッシュ16、あるいはL2キャッシュ17には、何も記憶されていない。命令制御部11や演算部12が命令やデータをメインメモリ2から読み出す際に、命令やデータがL1命令キャッシュ15やL1データキャッシュ16、あるいはL2キャッシュ17にロードされる。命令制御部11や演算部12は、これ以降、低速なメインメモリ2ではなく、高速なL1命令キャッシュ15やL1データキャッシュ16、あるいはL2キャッシュ17から命令やデータを読み出す。言い換えると、命令制御部12や演算部12が読み出そうとする命令やデータは、必ずしも、L1命令キャッシュ15やL1データキャッシュ16に記憶されているとは限らない。このため、L1命令タグ13やL1データタグ14が、命令制御部11や演算部12に利用されることになる。すなわち、L1命令キャッシュ15やL1データキャッシュ16に命令やデータがロードされるのと同時に、L1命令タグ13やL1データタグ14には、これらの命令やデータがメインメモリ2のどのアドレスに記憶されているかを示す情報がセットされている。したがって、命令制御部11や演算部12は、命令やデータを読み出す際に、まず、L1命令タグ13やL1データタグ14に対して問い合わせ、読み出そうとする命令やデータが、L1命令キャッシュ15やL1データキャッシュ16に記憶されているか否かを確認する。演算処理装置1においては、仮想記憶方式が適用されている。アドレス変換バッファ20は、仮想アドレスVirtualAddressVAと物理アドレスPhysicalAddressPAとを対応付けたアドレス変換対を記憶する。仮想アドレスVAは、ページ単位にアクセス保護が可能な仮想的に与えられたアドレス体系である。物理アドレスPAは、メインメモリ2に実際にアクセスする際に用いるアドレスである。命令制御部11や演算部12が命令やデータを読み出す際には、まず、アドレス変換バッファ20に対して、仮想アドレスを指定し図1のB5を参照、アドレス変換バッファ20が物理アドレスに変換した上で、L1命令タグ13やL1データタグ14に対して問い合わせを行うことになる図1のB6を参照。図2は、アドレス変換バッファ20の構成例を示す図である。アドレス変換バッファ20の構成について説明する。図2に示したように、アドレス変換バッファ20は、その内部に仮想アドレスレジスタ21、コンテキストレジスタ22、TLB本体部23、及びTLB検索部24を有する。仮想アドレスレジスタ21は、命令制御部11が出力した仮想アドレスVAを保持するレジスタである。コンテキストレジスタ22は、演算部12が出力するコンテキストを保持するレジスタである。コンテキストは、命令の発行元であるアプリケーションのプロセスを特定する情報である。TLB本体部23は、タグ部31とデータ部32を有する。タグ部31は、仮想アドレスVAとコンテキストctxtをエントリとして保持する。仮想アドレスVAとコンテキストctxtは、検索用のタグとして使用される。また、データ部32は、仮想アドレスVAと物理アドレスPAとを対応付けたアドレス変換対をエントリとして保持する。TLB検索部24について説明する。TLB検索部24は、仮想アドレスレジスタ21が保持する仮想アドレスVAとコンテキストレジスタ22の値との組み合わせが、タグ部31に登録された仮想アドレスVA及びコンテキストctxtの値と一致するか否かを判定する。TLB検索部24内部の比較回路41は、仮想アドレスレジスタ21が保持する仮想アドレスVAと、タグ部31に登録された仮想アドレスVAとを比較し、比較結果を論理積AND回路43に出力する。同様に、TLB検索部24内部の比較回路42は、コンテキストレジスタ22が保持するコンテキストと、タグ部31に登録されたコンテキストctxtとを比較し、比較結果を論理積回路43に出力する。アンド回路43は、仮想アドレスVAとコンテキストctxtの双方が一致した場合に、TLBヒットを示す値を出力する。なお、仮想アドレスVAの一致に加えて、コンテキストctxtの一致を求めるのは、異なるプロセスが使用する仮想アドレスVAが偶然に一致する可能性があるためである。TLB検索部24がTLBヒットを出力した場合、アドレス変換バッファ20は、仮想アドレスVAに対応する物理アドレスPAをデータ部32から取り出して出力する。一方、TLB検索部24がTLBヒットを出力しなかった、すなわちTLBミスに対応する値を出力した場合には、命令制御部11は、メインメモリ2内のTSB変換記憶バッファ:TranslationStorageBuffer領域3に格納されたページテーブルを参照し、仮想アドレスVAに対応するアドレス変換対を取得し、演算部12に渡す。演算部12は、渡されたアドレス変換対と、実行中のプロセスを示すコンテキストをTLB本体部23に登録する。その後、命令制御部11が命令を再度実行し、アドレス変換バッファ20に登録したアドレス変換対を用いて仮想アドレスVAを物理アドレスPAに変換する。仮想記憶方式は、外部記憶装置ハードディスク装置等をメインメモリ2の待避領域として利用することで、コンピュータが実装しているメモリ容量よりも多くのメモリ容量がコンピュータに備えられているようにみせかける技術である。すなわち、仮想記憶方式とは、メモリ容量が不足すると、メインメモリ2上の情報のうち使用頻度の少ない情報を、OSが予めハードディスク装置内に確保していたスワップ領域に一時的に待避させることで、一時的にメモリ容量の不足を補うものである。かかる仮想記憶方式では、仮想アドレスVAおよび物理アドレスPAの2つのアドレスを利用する。アプリケーション側がメインメモリ2に対して読み書きメモリアクセスを行う場合には、仮想アドレスVAを利用する。これに対して、メインメモリ2の素子に付与されているアドレスが物理アドレスPAである。仮想記憶方式を採用するコンピュータは、仮想アドレスVAから物理アドレスPAへの変換を行うことを目的として、仮想アドレスVAと物理アドレスPAとを変換するアドレス変換対TTETranslationTableEntryを一覧表以下、ページテーブルと呼ぶで記憶している。ページテーブルは、通常、メインメモリ2のTSB領域3に記憶されているが、仮想アドレスVAから物理アドレスPAへの変換が必要になるたびに、メインメモリ2に記憶されているページテーブルを演算処理装置1が参照しに行くとすると、演算処理装置1からメインメモリ2へのアクセスは低速にならざるを得ないことから、変換に非常に多くの時間が費やされることになってしまう。これを避けることを目的として、アドレス変換バッファ20が演算処理装置1内部に備えられており、アドレス変換バッファ20が、TSB領域3に記憶されているページテーブルの一部のアドレス変換対を記憶している。演算処理装置1がアプリケーションによりメインメモリ2に対して読み書きメモリアクセスを行う場合について説明する。まず、演算処理装置1は、OSから所定の仮想アドレスVAを指定される。続いて、演算処理装置1は、OSから指定された所定の仮想アドレスVAによるアドレス変換バッファ20の検索を行い、当該検索に失敗すると、TLBミスが発生する。かかるTLBミスが発生した場合、TLBミストラップが発生するので、演算処理装置1は、このTLBミストラップの発生をOSに報告し、報告を受けたOSが、演算処理装置1に対して、トラップ処理を行う。演算処理装置1は、トラップ処理として、当該所定の仮想アドレスVAに関するアドレス変換対所定の仮想アドレスVAに対応づけられている物理アドレスPAとのアドレス変換対が、キャッシュメモリ15~17に記憶されているか否かを確認する。記憶されている場合には、記憶されているアドレス変換対をアドレス変換バッファ20に登録し、記憶されていない場合には、アドレス変換対をTSB領域3から取得して一旦、キャッシュメモリ15~17に記憶させた後に、アドレス変換バッファ20に登録する。こうすることで、演算処理装置1は、TLBミスした所定の仮想アドレスVAによるアドレス変換バッファ20の検索を再び行うと、今度は、当該検索に失敗しないで、TLBヒットすることになる。演算処理装置1は、限られた計算機資源を有効に活用するため、ハードウェア仮想化技術を用いる。ハードウェア仮想化では、OSはハイパーバイザー上で動作している。メモリ管理は、ハイパーバイザーが行うため、TLBミストラップ処理が発生すると、OSに加えてハイパーバイザーが上記処理を行うため、オーバーヘッドが更に大きくなる。また、ハイパーバイザー上の複数のOSでTLBミストラップ処理が発生した場合に、ハイパーバイザーの負荷が大きくなり、TLBミストラップ処理のペナルティが一段と大きくなる。そこで、OS及びハイパーバイザーによるトラップ処理を行う代わりに、ハードウェアが自らTLBミスしたエントリをメインメモリ2上のTSB領域3まで取りに行き、自動でアドレス変換バッファ20に登録するハードウェアテーブルウォーカー602図6を用いる。ハードウェアテーブルウォーカー602は、演算処理装置1内に設けられるハードウェアである。演算処理装置1は、TLBミスを検知すると、OSにトラップ報告する代わりに、ハードウェアテーブルウォーカー602を起動する。ハードウェアテーブルウォーカー602は、TLBミスしたアドレス変換対をメインメモリ2上のTSB領域3まで取りに行き、そのアドレス変換対が必要なアドレス変換対であることをチェックし、論理アドレスRealAddressRAが所定範囲内に収まっているかのチェックなどを行う。ここで、論理アドレスRAは、ハイパーバイザーにより仮想マシン用に仮想化されたメインメモリ2上の物理アドレスである。論理アドレスRAが所定範囲内であれば、論理アドレスRAを物理アドレスPAに変換し、仮想アドレスVA及び物理アドレスPAのアドレス変換対をアドレス変換バッファ20に登録し、TLBミスしたリクエストを再投入し、トラップ処理なしで高速に動作を継続する。トラップ処理を行った場合は、そのリクエストの後続リクエストは、一旦すべてキャンセルされて、トラップ完了後に再実行することになるが、ハードウェアテーブルウォーカー602が起動される場合はその必要はないので、後続リクエストも即座に実行可能となり、キャンセルのペナルティもない。仮想マシンにおいては、アドレス変換を行う際に、仮想化されたゲストOSスーパーバイザーは、仮想アドレスVAから論理アドレスRAへの変換を担う。論理アドレスRAから物理アドレスPAへの変換は、ハイパーバイザーが管理する。ハイパーバイザーは、論理アドレスレジスタセット620図6を用いて、論理アドレスRAから物理アドレスPAへのアドレス変換を行う。図6に示すように、論理アドレスレジスタセット620は、下限論理アドレスレジスタ621、上限論理アドレスレジスタ622及びオフセットレジスタ623の3つのレジスタを一組としたレジスタセットである。下限論理アドレスレジスタ621は、論理アドレス空間の下限アドレスを記憶する。上限論理アドレスレジスタ622は、論理アドレス空間の上限アドレスを記憶する。オフセットレジスタ623は、論理アドレスRAを物理アドレスPAに変換するためのオフセットアドレスを記憶する。このオフセットアドレスを論理アドレスRAに加算することにより、物理アドレスPAを算出することができる。図3は、メインメモリ2のアドレス空間例を示す図である。メインメモリ2は、複数の論理アドレス空間RA1~RA-NNは自然数及びTSB領域3を有する。論理アドレス空間RA1~RA-Nの各々は、上記の論理アドレスレジスタセット620により下限値及び上限値が規定される。すなわち、論理アドレスレジスタセット620内の下限論理アドレスレジスタ621はメインメモリ2に設定する論理アドレス空間の下限論理アドレスを記憶し、論理アドレスレジスタセット620内の上限論理アドレスレジスタ622はメインメモリ2に設定する論理アドレス空間の上限論理アドレスを記憶する。ハイパーバイザーは、メインメモリ2の物理アドレスPAに対してN個の論理アドレス空間RA1~RA-Nを割り当てることができる。N個を超える論理アドレス空間が必要になったときは、使用履歴の古い論理アドレス空間を一旦使用不能にし、新たに論理アドレス空間を割り当てる。N個の論理アドレス空間RA1~RA-Nには、N組みの論理アドレスレジスタセット620が設けられる。TSB領域3は、仮想アドレスVAと論理アドレスRAとを対応付けたアドレス変換対を記憶する。ハードウェアテーブルウォーカー602は、ハイパーバイザーが用意したN組みの論理アドレスレジスタセット620をチェックして、メインメモリ2上のTSB領域3から取ってきたエントリ仮想アドレスVAと論理アドレスRAのアドレス変換対の論理アドレスRAが、N組みの論理アドレスレジスタセット620の下限論理アドレスレジスタ621及び上限論理アドレスレジスタ622で指定される論理アドレス空間の範囲内に収まっていれば、その論理アドレスレジスタセット620のオフセットアドレス623のオフセットアドレスを使い、論理アドレスRAにこのオフセットアドレスを加算して、物理アドレスPAを算出し、仮想アドレスVAと物理アドレスPAのアドレス変換対をアドレス変換バッファ20に登録する。上記のように、N組みの論理アドレスセット620を通じて、ハイパーバイザーは、N個の使用可能な論理アドレス空間RA1~RA-Nを割り当てる。N個を超える論理アドレス空間を割り当てる場合は、すでに割り当てられたN個の論理アドレス空間のうち1つを無効にして、そこにN1個目の論理アドレス空間を新規に割り当てる。このような論理アドレス空間の入れ替えは、非常にペナルティが大きいので、できるだけ効率的にN個の論理アドレス空間を利用したいという課題がある。しかし、ハイパーバイザーは、ハードウェアがN個の論理アドレス空間RA1~RA-Nのうちどの論理アドレス空間を頻繁に利用しているのか知る術がないので、FIFOファーストインファーストアウト等で順番に論理アドレス空間を入れ替える必要がある。そうすると、OSがトラップ処理などのために常時使用するカーネル領域がN回に1回の割合で、論理アドレス空間から一旦追い出されてしまうことになる。再び、すぐに追い出された論理アドレス空間が必要になるため、論理アドレス空間を取り直す必要があるが、無駄な論理アドレス空間の入れ替え処理が発生し、著しい性能劣化の要因となる。図4は、参考技術による演算処理装置1の処理例を示すフローチャートである。ステップS401では、演算処理装置1は、アプリケーションにより、メインメモリ2に対して読み書きメモリアクセスのリクエストを入力する。すると、ステップS402では、演算処理装置1は、OSから所定の仮想アドレスVAを指定される。続いて、演算処理装置1は、OSから指定された仮想アドレスVAのアドレス変換対についてアドレス変換バッファ20の検索を行う。検索に成功するとTLBヒットとしてステップS403に進み、検索に失敗するとTLBミスとしてステップS404に進む。具体的には、メインメモリ2のアクセスリクエストの仮想アドレスVAのアドレス変換対がアドレス変換バッファ20に存在するときにはTLBヒットとなり、存在しないときにはTLBミスになる。ステップS403では、演算処理装置1のアクセス部は、アドレス変換バッファ20が仮想アドレスVAから物理アドレスPAに変換した上で、L1命令タグ13やL1データタグ14に対して問い合わせを行い、L1命令キャッシュ15やL1データキャッシュ16に対して命令やデータのアクセスを行う。具体的には、演算処理装置1のアクセス部は、ステップS401のメインメモリ2のアクセスリクエストの仮想アドレスVAのアドレス変換対がアドレス変換バッファ20に存在するときには、そのアドレス変換対により変換された物理アドレスPAを用いてキャッシュメモリ15~17にアクセスする。ステップS404では、演算処理装置1は、TLBミスを検知すると、ハードウェアテーブルウォーカー602を起動する。ハードウェアテーブルウォーカー602は、TLBミスした仮想アドレスVAのアドレス変換対をメインメモリ2のTSB領域3上で検索する。具体的には、その仮想アドレスVAに対応する論理アドレスRAが現存のN組みの論理アドレスレジスタセット620の論理アドレス空間の範囲内に収まっているか否かをチェックする。次に、ステップS405では、演算処理装置1は、上記の論理アドレス空間の範囲内であるときにはTSBヒットとしてステップS406及びS407へ進み、範囲内でないときにはTSBミスとしてステップS408へ進む。具体的には、ステップS401のメインメモリ2のアクセスリクエストの論理アドレスRAが、N組みの論理アドレスレジスタセット620により設定される論理アドレス空間の範囲に入っているときにはTSBヒットとなり、範囲に入っていないときにはTSBミスとなる。ステップS406では、演算処理装置1は、上記の論理アドレスRAを物理アドレスPAに変換し、仮想アドレスVA及び物理アドレスPAのアドレス変換対をアドレス変換バッファ20に登録し、TLBミスしたリクエストを再投入し、L1命令キャッシュ15やL1データキャッシュ16に対して命令やデータのアクセスを行う。具体的には、演算処理装置1のアドレス変換バッファ登録部は、ステップS401のメインメモリ2のアクセスリクエストの論理アドレスRAが、N組みの論理アドレスレジスタセット620により設定される論理アドレス空間の範囲に入っているときには、その論理アドレスRAに対応するTSB領域3のアドレス変換対を基に仮想アドレスVA及び物理アドレスPAのアドレス変換対を生成し、アドレス変換バッファ20に登録する。ステップS407では、演算処理装置1は、上記の登録に伴い、N組みの論理アドレスレジスタセット620のうちで使用履歴が最も古い論理アドレスセット620の番号を、LRULeastRecentlyUsed情報として更新する。ステップS408では、演算処理装置1は、無効TSBエントリトラップの発生をOSに報告し、報告を受けたOSが、演算処理装置1に対して、無効TSBエントリトラップ処理の起動を行う。次に、ステップS409では、演算処理装置1は、論理アドレス空間の入れ替え処理を開始する。次に、ステップS410では、演算処理装置1は、論理アドレスレジスタセット620を更新することにより、論理アドレス空間の入れ替えを行う。具体的には、演算処理装置1は、LRU情報が示す最も古い論理アドレス空間を一旦使用不能にし、新たに論理アドレス空間を割り当てる。次に、ステップS411では、演算処理装置1は、無効TSBエントリトラップの処理を終了し、ステップS401に戻る。ここで、図4の処理の課題を説明する。ステップS410において、論理アドレスレジスタセット620の更新中に、ステップS407でLRU情報の更新が行われる場合を説明する。例えば、ステップS407で、LRU情報の値が2番から3番の論理アドレス空間の番号に変更されたとする。その場合、ステップS410では、同じ論理アドレスレジスタセット620内において、下限論理アドレスレジスタ621には2番の論理アドレス空間の下限論理アドレスが記録され、上限論理アドレスレジスタ622には3番の論理アドレス空間の下限論理アドレスが記録されてしまうことがある。これでは、正しい論理アドレスレジスタセット620の更新が行われないため、誤動作の原因になる。すなわち、論理アドレスレジスタセット620内の3個のレジスタ621~622を更新するストア命令が実行される間に、LRU情報が更新されてしまうと、間違った番号のレジスタを更新することになり、誤動作してしまう。これを防ぐためには、論理アドレスレジスタセット620内の3個のレジスタ621~623を更新するストア命令が実行される間に、LRU情報が更新されないようにハイパーバイザーが管理することが考えられる。インオーダー実行の演算処理装置1では、この間に、ハードウェアテーブルウォーカー602は実行されないので、上記の動作でも問題ない。なお、インオーダー実行は、プログラムに書かれた通りの順番で命令を逐次実行することである。しかし、アウトオブオーダー実行でハードウェアテーブルウォーカー602を起動する場合、論理アドレスレジスタセット620内の3個のレジスタ621~623の更新の最中に、LRU情報が実行中のハードウェアテーブルウォーカー602により更新され、上記のように、間違った番号のレジスタを更新することになってしまう問題が生ずる。なお、アウトオブオーダー実行は、プログラムに書かれた命令の順番を変えて実行することである。そこで、アウトオブオーダー実行でも正常に動作可能な実施形態を、以下、説明する。図5は、本実施形態による演算処理装置1の処理例を示すフローチャートである。図5のフローチャートは、図4のフローチャートに対して、ステップS407の代わりにステップS501を設け、ステップS502を追加したものである。以下、図5のフローチャートが図4のフローチャートに対して異なる点を説明する。ステップS405において、TSBヒットになると、ステップS406及びS501に進む。ステップS501では、演算処理装置1のLRUレジスタ更新部は、ハードウェアテーブルウォーカー602によりLRUレジスタ619図6の更新を行う。具体的には、演算処理装置1のLRUレジスタ更新部は、ステップS401のメインメモリ2のアクセスリクエストの論理アドレスRAが、N組みの論理アドレスレジスタセット620により設定される論理アドレス空間の範囲に入っているときには、その範囲に入っている論理アドレスレジスタセット20の使用履歴が最新になるように、LRUレジスタ619に記憶される番号を更新する。本実施形態では、新規に論理アドレス空間を割り当てる場合に、N組みの論理アドレスレジスタセット620のうち、どれを更新するか決定する為に、新規にLRUレジスタ619を用意し、ハイパーバイザーに最新の論理アドレス空間の使用状況に関するLRU情報をハードウェアから通知する手段を設ける。LRUレジスタ619は、N組みの論理アドレスレジスタセット620のうちで使われていない論理アドレスレジスタセット620があればそれらのうちで一番若い番号を記憶し、N組みの論理アドレスレジスタセット620がすべて使われていれば、N組みの論理アドレスレジスタセット620のうちでハードウェアテーブルウォーカー602の使用履歴が最も古い論理アドレスレジスタセット620の番号を記憶する。ステップ409の後、ステップS502では、演算処理装置1の読み出し部は、ハイパーバイザーの指示により、新規に論理アドレス空間を割り当てる場合に、先ず、LRUレジスタ619の値を読み出す。すなわち、演算処理装置1の読み出し部は、ステップS401のメインメモリ2のアクセスリクエストの論理アドレスRAが、N組みの論理アドレスレジスタセット620により設定される論理アドレス空間の範囲に入っていないときには、LRUレジスタ619に記憶されている番号を読み出す。次に、ステップS410では、演算処理装置1の論理アドレスレジスタセット設定部は、読み出したLRUレジスタ619の値を基に、N組みの論理アドレスレジスタセット620のうち、どれを更新するかを決める。その後、同じ番号の論理アドレス空間の論理アドレスレジスタセット620内の3個のレジスタ621~623に対して、ストア命令を発行する。すなわち、演算処理装置1の論理アドレスレジスタセット設定部は、読み出されたLRUレジスタ619の番号の論理アドレスレジスタセット620を無効にし、ステップS401のメインメモリ2のアクセスリクエストの論理アドレスRAに対応する論理アドレス空間を、上記の無効にした論理アドレスレジスタセット620に設定する。ハイパーバイザーは、ストア命令の仮想アドレスVAに該当番号を載せるだけで、レジスタ番号を容易に指定可能である。この制御により、違った論理アドレスレジスタセット620のレジスタを更新する問題を回避することができる。なお、LRUレジスタ619の読み出しは、論理アドレス空間の入れ替えにかかる時間に比べて非常に短い時間で処理できるので、LRUレジスタ619の読み出しのペナルティは無視できる。上記のように、アウトオブオーダー実行のハードウェアテーブルウォーカー602において、効率的に論理アドレス空間の入れ替えを行い、必要な論理アドレス空間が頻繁に入れ替わることによる非常に大きなペナルティを隠蔽し、処理時間を大幅に削減し、性能向上を可能とする。図6は、ハードウェアテーブルウォーカー602を有する演算処理装置1の構成例を示す図である。以下、図6の演算処理装置1が図1の演算処理装置1に対して追加されている部分を説明する。ハードウェアテーブルウォーカー602は、複数のリクエスト受信部611、複数のリクエスト制御部612、制御設定レジスタ613、TSBポインタ計算部614、制御部615及びLRUレジスタ619を有する。制御設定レジスタ613は、論理アドレスレジスタセット620を有する。論理アドレスレジスタセット620は、下限論理アドレスレジスタ621、上限論理アドレスレジスタ622及びオフセットレジスタ623を有する。制御部615は、TSBヒットチェック部616、論理アドレス範囲チェック部617、及びオフセット加算部618を有する。TLB制御部601は、ステップS402において、TLBミスの場合には、リクエスト受信部611にTLBミスを出力し、ハードウェアテーブルウォーカー602を起動させる。複数のリクエスト受信部611は、TLB制御部601より複数のスレッドのリクエストを受信する。複数のリクエスト制御部612は、複数のリクエスト受信部611に対応する複数のリクエストをアウトオブオーダー実行する。すなわち、ハードウェアテーブルウォーカー602は、アウトオブオーダー実行する。リクエスト制御部612は、例えばTSB領域3のアドレス変換対TSB1~TSB4を記憶し、制御設定レジスタ613を制御する。TSBポインタ計算部614は、リクエストされた仮想アドレスVAを基に、TSBプリフェッチアドレスを示すTSBポインタを計算し、L1キャッシュ15,16に出力する。TSBヒットチェック部616は、ステップS405において、TSBヒットしたか否かをチェックする。論理アドレス範囲チェック部617は、ステップS405において、リクエストされた論理アドレスRAが、論理アドレスレジスタセット620を基に論理アドレス空間の範囲内にあるか否かをチェックする。オフセット加算部618は、論理アドレスRAにオフセットレジスタ623のオフセットアドレスを加算することにより、物理アドレスPAを演算する。その後、制御部615は、仮想アドレスVA及び物理アドレスPAのアドレス変換対をTLB制御部601に出力する。TLB制御部601は、そのアドレス変換対をアドレス変換バッファ20に登録する。また、制御部615は、TSBヒットすると、LRUレジスタ619を更新する。図7は、図6のハードウェアテーブルウォーカー602の一部の具体的な構成例を示す図である。ハードウェアテーブルウォーカー602は、例えば、8組みの論理アドレスレジスタセット620及び8個の論理アドレス範囲チェック部617を有する。論理アドレスレジスタセット620の更新は、ハイパーバイザーがストア命令で実行し、更新信号更新IDD1が入力される。LRUレジスタ619は、8個のレジスタLRU1~LRU8を有する。レジスタLRU1~LRU8は、8組みの論理アドレスレジスタセット620の番号を記憶する。レジスタLRU1は、使用履歴が最も新しい番号を記憶する。レジスタLRU8は、使用履歴が最も古い番号を記憶し、次に論理アドレスレジスタセット620を更新する時の候補となる番号を記憶する。また、8組みの論理アドレスレジスタセット620の各々は、有効フラグD3を記憶する。有効フラグD3が1の時に、それに対応する論理アドレスレジスタセット620の内容が有効であることを示す。有効フラグ処理部707は、8個の有効フラグD3の中に0の有効フラグD3がある場合には1の無効フラグD7を出力し、8個の有効フラグD3がすべて1である場合には0の無効フラグD7を出力する。若番処理部706は、0の有効フラグD3の中で最も若番の論理アドレスレジスタセット620の番号を番号D6として出力する。なお、番号D6は、若番である必要はなく、任意の1個の番号であればよい。論理積回路708は、無効フラグD7が1のときには0を出力する。論理積回路709は、無効フラグD7が1のときには、番号D6を出力する。その場合、論理和OR回路710は番号D6を番号D8として出力し、ステップS502では、番号D8が読み出される。すなわち、無効フラグD7が1の場合には、番号D8の論理アドレスレジスタセット620が、次に論理アドレスレジスタセット620を更新する時の候補となる。次に、LRUレジスタ619の更新方法を説明する。更新条件は、8組みの論理アドレスレジスタセット620のいずれかが更新された場合と、ハードウェアテーブルウォーカー602がTSB領域3から取ってきたアドレス変換対をアドレス変換バッファ20に登録する場合である。8組みの論理アドレスレジスタセット620のいずれかが更新された場合は、論理和回路703は、その論理アドレスレジスタセット620の番号D1を番号D5として出力する。また、ハードウェアテーブルウォーカー602がTSB領域3から取ってきたアドレス変換対をアドレス変換バッファ20に登録する場合、8個の論理アドレス範囲チェック部617は、上記のアドレス変換対の論理アドレスD2が含まれる論理アドレス空間の論理アドレスレジスタセット620の番号D4を出力し、論理和回路703はその番号D4を番号D5として出力する。番号D5は、一番最近に更新された論理アドレスレジスタセット620の番号又は一番最近にハードウェアテーブルウォーカー602で使われた論理アドレスレジスタセット620の番号を示し、レジスタLRU1に格納される。この際に、レジスタLRU1~LRU8に格納された番号と番号D5とを比較し、一致した場合、そのレジスタLRU1~LRU8より若いレジスタLRU1~LRU8では、シフト部704により、各レジスタLRU1~LRU8に格納された番号が1つ古い方にシフトされる。例えば、番号D5がレジスタLRU4に格納された番号と一致した場合は、レジスタLRU3に格納された番号をレジスタLRU4に格納し、レジスタLRU2に格納された番号をレジスタLRU3に格納し、レジスタLRU1に格納された番号をレジスタLRU2に格納し、レジスタLRU1には、番号D5を格納する。このようにして、使われていない論理アドレスレジスタセット620の番号がレジスタLRU8の方にシフトされていく。論理積回路708は、無効フラグD7が0のときにはレジスタLRU8に格納されている番号を出力する。論理積回路709は、無効フラグD7が0のときには0を出力する。その場合、論理和回路710はレジスタLRU8に格納されている番号を番号D8として出力し、ステップS502では、レジスタLRU8に格納されている番号D8が読み出される。すなわち、無効フラグD7が0の場合には、レジスタLRU8に格納されている番号D8の論理アドレスレジスタセット620が、次に論理アドレスレジスタセット620を更新する時の候補となる。論理和回路710が出力する番号D8は、ハイパーバイザーが読み出せるようにする。これにより、ハイパーバイザーは、8組みの論理アドレスレジスタセット620のうち使用履歴が最も古い論理アドレスレジスタセット620の番号を獲得することができる。ハイパーバイザーは、この番号を使って、次に更新する論理アドレスレジスタセット620を決定し、ストア命令を実行し、所望の論理アドレスレジスタセット620を更新できる。本実施形態によれば、LRUレジスタ619を用いて効率的に論理アドレス空間の入れ替えを行うことにより、使用頻度の高い論理アドレス空間が頻繁に入れ替わることを防止し、処理時間を低減することができる。なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。"