(57)【要約】【課題】ＴＬＢ内で長い間使用されていないエントリの電源の切断制御を行うことにより、無駄な電力消費を低減することを目的とする。【解決手段】論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御装置において、  前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリを選択する基準となる情報と、前記各情報の重み付け情報とに基づいて判断される判断基準に従ってエントリの選択を行うエントリ選択部５０２と、  前記選択されたエントリの電力を制御する電力制御部５０３とを有するアドレス変換バッファの電力制御装置である。【選択図】図５
2006190341.tif 000002
【特許請求の範囲】
【請求項１】
論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御方法において、
前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリを選択する基準となる情報と、前記各情報の重み付け情報とに基づいて判断される判断基準に従ってエントリの選択を行うエントリ選択ステップと、
前記選択されたエントリの電力を制御する電力制御ステップとを有することを特徴とするアドレス変換バッファの電力制御方法。
【請求項２】
前記エントリ選択ステップは、前記エントリを選択する判断基準となる情報と前記各情報の重み付け情報とに加えて、さらに、前記エントリを選択する判断基準となる情報を、エントリを選択する判断基準として使用するかどうかを判断する選択非選択情報に基づいて判断される判断基準に従ってエントリの選択を行うことを特徴とする請求項１記載のアドレス変換バッファの電力制御方法。
【請求項３】
論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御方法において、
任意のエントリに対する電力を遮断しないための情報を入力する入力ステップと、
前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリ置き換え機構の出力に基づいて、予め定められた第一の判断基準に従ってエントリの選択を行うエントリ選択ステップと、
前記エントリに対する電力を遮断しないための情報に基づき、前記選択されたエントリの電力の供給を継続する電力制御ステップとを有することを特徴とするアドレス変換バッファの電力制御方法。
【請求項４】
前記エントリに対する電力を遮断しないための情報は、前記中央処理装置が使用しているメモリページのサイズ情報であることを特徴とする請求項３記載のアドレス変換バッファの電力制御方法。
【請求項５】
前記エントリに対する電力を遮断しないための情報は、前記中央処理装置に入力される外部信号に基づくことを特徴とする請求項３記載のアドレス変換バッファの電力制御方法。
【請求項６】
論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御装置において、
前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリを選択する基準となる情報と、前記各情報の重み付け情報とに基づいて判断される判断基準に従ってエントリの選択を行うエントリ選択部と、
前記選択されたエントリの電力を制御する電力制御部とを有することを特徴とするアドレス変換バッファの電力制御装置。
【請求項７】
前記エントリ選択部は、前記エントリを選択する判断基準となる情報と前記各情報の重み付け情報とに加えて、さらに、前記エントリを選択する判断基準となる情報を、エントリを選択する判断基準として使用するかどうかを判断する選択非選択情報に基づいて判断される判断基準に従ってエントリの選択を行うことを特徴とする請求項６記載のアドレス変換バッファの電力制御装置。
【請求項８】
論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御装置において、
任意のエントリに対する電力を遮断しないための情報を入力する入力部と、
前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリ置き換え機構の出力に基づいて、予め定められた第一の判断基準に従ってエントリの選択を行うエントリ選択部と、
前記エントリに対する電力を遮断しないための情報に基づき、前記選択されたエントリの電力の供給を継続する電力制御部とを有することを特徴とするアドレス変換バッファの電力制御装置。
【請求項９】
前記エントリに対する電力を遮断しないための情報は、前記中央処理装置が使用しているメモリページのサイズ情報であることを特徴とする請求項８記載のアドレス変換バッファの電力制御装置。
【請求項１０】
前記エントリに対する電力を遮断しないための情報は、前記中央処理装置に入力される外部信号に基づくことを特徴とする請求項８記載のアドレス変換バッファの電力制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主に、中央処理装置のようなプロセサに内蔵されるＴＬＢ （Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ Ｂｕｆｆｅｒ：論理アドレスから物理アドレスの変換を行うアドレス変換バッファ）に関連し、特に、ＴＬＢの消費電力の低減に関連する。
【背景技術】
【０００２】
近年では、高速なプロセサ（中央処理装置）を開発するために、使用されるトランジスタ素子の動作速度が大幅に高速化されつつある。高速化を実現するために、トランジスタ素子のしきい値（スレッショルド）電圧(Ｖｔｈ)を下げることにより、トランジスタのオン時の電流（Ｉｄｓ）を大きくするように改善が行われる。そして、このトランジスタを使用してプロセッサを開発することにより、プロセサの動作周波数が飛躍的に向上する。
【０００３】
しかし、トランジスタ素子のしきい値電圧(Ｖｔｈ)が下がったことにより、トランジスタが遮断されているときのオフリーク電流が増加し、これにより、プロセッサが動作していないときの消費電力が増大するという問題を引き起こしている。
【０００４】
特に、下記の非特許文献１に記載されているように、プロセサ内部のキャッシュＲＡＭにおいて、動作していないときの静止時消費電流（スタティック消費電流）が増大している。キャッシュＲＡＭは、プロセサ内で使用される個数や面積が大きく、現状でも通常動作時の５ 〜１０ ％程度の静止電力を消費していると言われており、今後も増える傾向にある。
【０００５】
また、この問題を解決するため、下記の非特許文献２に記載されているような、トランジスタのＶｔｈを動的に変更することによりリーク電流を減少させる方法や、下記の非特許文献３に記載されているような、一定の使用頻度以下のキャッシュラインを無効化（ｉｎｖａｌｉｄａｔｅ）することにより消費電力の低減するように改善が行われてきた。
【０００６】
また、本発明に関連する先行技術は、更に、下記の、特許文献１、特許文献２及び、特許文献３に記載されている。
【特許文献１】特開平７−３３４４２３号公報
【特許文献２】特開昭５６−３５２２８号公報
【特許文献３】特開平９−２０４３５９号公報
【非特許文献１】S.Borkar,Design challenges of technology scaling, IEEE Micro,19,4,1999。
【非特許文献２】C.H.Kim,Dynamic Vt SRAM :A Leakage Tolerant Cache Memory for Low Voltage Microprocessors, ISLPED02, August 12-14,2002
【非特許文献３】S.Kaxiras,Cache Decay :Exploiting Generational Behavior to Reduce Cache Leakage Power,ISCA,2001
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ＴＬＢ（アドレス変換バッファ）は、プロセッサ内で、キャッシュＲＡＭと同様に電力を消費するが、ＴＬＢについては、高速化を追求するために、低消費電力化については、考えられていなかった。
【０００８】
ＴＬＢ内では、現実には、ダイナミック回路などの高速な回路を使用して、ＣＡＭ（ｃｏｎｔｅｎｔ  ａｄｄｒｅｓｓａｂｌｅ  ｍｅｍｏｒｙ）を構築しており、通常動作時と静止時の消費電力は大きい。特に、ＣＡＭの中にある比較回路の中のダイナミック回路で発生するチャージシェアリング（ｃｈａｒｇｅ−ｓｈａｒｉｎｇ）などの問題を解決するために、余分なチャージを行う回路を付加する必要があるので、通常動作時および静止時の消費電力を簡単に下げることはできない。
【０００９】
一般的に、ＴＬＢによるアドレス変換の性能を向上させるためには、ＴＬＢ内のエントリ数を増加させるなどの手段が使用されるので、これにより、さらに無駄なリーク電流が増え、更に消費電力が増加するという結果となる。
【００１０】
本発明は上記の点に鑑みてなされたもので、ＴＬＢ内で長い間使用されていないエントリの電源の切断制御等を行うことにより、無駄な電力消費を低減することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明は、論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御方法において、
前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリを選択する基準となる情報と、前記各情報の重み付け情報とに基づいて判断される判断基準に従ってエントリの選択を行うエントリ選択ステップと、
前記選択されたエントリの電力を制御する電力制御ステップとを有するアドレス変換バッファの電力制御方法を提供する。
【００１２】
本発明では、ＴＬＢ（アドレス変換バッファ）の静止時の消費電力を低減するために、本来ＴＬＢ機構に必要なエントリ置き換え機構（エントリリプレース機構）を利用して、特定の複数のエントリを低消費電力化する候補として選択し、それらのエントリを未使用とし、そのエントリに対応するＴＬＢ のＣＡＭ／ＲＡＭ部の電源を切断するという電源制御を行う。
【発明の効果】
【００１３】
本発明は、未使用のＴＬＢエントリの電源をオフにすることができるので、無駄なリーク電流による消費電力を削減することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明を実施するための実施の形態について、図面を用いて説明する。
【００１５】
先ず最初に、図１から図４を参照して、ＴＬＢの基本的な動作について説明する。
【００１６】
図１は、一般的なコンピュータシステムの概略のブロック図を示す図である。一般的なコンピュータシステム１０１は、主に、中央処理装置であるプロセッサ１０２、キーボードやモニタ等の入出装置１０３、データやプログラムの格納を行う主記憶１０４、及び、プロセッサ１０２、入出装置１０３及び主記憶１０４の間を接続するバス１０５により構成される。
【００１７】
図２は、図１のプロセッサ１０２の内部の構成の概略を示すブロック図である。プロセッサ１０２は、主に、プロセッサコア２０１、メモリ管理ユニット（ＭＭＵ）２０２、キャッシュ制御装置２０３、キャッシュＲＡＭ２０４、バス制御回路２０５により構成される。
【００１８】
図３は、従来のメモリ管理ユニット２０２を示す。図３のメモリ管理ユニット２０２は、主に、メモリ管理ユニット制御回路３０１とＴＬＢ機能部３０２、より構成される。ＴＬＢ機能部３０２は、主に、ＴＬＢ３０３と、エントリ置き換え機構（エントリリプレース機構）である、リプレース用エントリ選択回路３０４より構成される。
【００１９】
図４は、ＴＬＢ機能部３０２の構成の一例を示すブロック図である。図４のＴＬＢ機能部３０２は、ＴＬＢ３０３とリプレース用エントリ選択回路３０４より構成される。図４に示すＴＬＢ３０３は、この例ではＭ個の複数のエントリよりなり、各エントリは、バリッドビット（Ｖａｌｉｄｂｉｔ）部４０１、ＣＡＭ部４０２、ＲＡＭ部４０３及び、リプレース用情報格納部４０４より構成される。バリッドビット部４０１は、そのエントリが有効であるか否かを示す情報を格納する。ＣＡＭ部４０２は、仮想アドレス情報を格納する。そして、ＲＡＭ部４０３は、実アドレス情報を格納する。
【００２０】
ＴＬＢ３０３は、基本的には、図３のメモリ管理ユニット制御回路３０１から仮想アドレスが入力されると、この入力された仮想アドレスと一致するアドレスを格納しているＣＡＭ部４０２を有し且つバリッドビット部４０１が有効であることを示すエントリのＲＡＭ部４０３に格納されている実アドレスを、図３のメモリ管理ユニット制御回路３０１出力するように動作する。
【００２１】
一方、ＴＬＢ３０３には、使用されて間もない仮想アドレスと、その仮想アドレスに対応する実アドレスが記憶される。従って、ＴＬＢ３０３のエントリは、所定のアルゴリズムに従って、最も最近使用された仮想アドレスとその実アドレスにより、書き換えられる。これを実行するのが、リプレース用エントリ選択回路３０４である。リプレース用エントリ選択回路３０４は、ＴＬＢ３０３内のリプレース用情報格納部４０４に格納されているリプレース用情報を読み出し、この情報に従って、最も最近使用された仮想アドレスとその実アドレスを書き込む１つのエントリを決定し、このエントリを、図３のメモリ管理ユニット制御回路３０１へ送る。
【００２２】
そして、メモリ管理ユニット制御回路３０１は、リプレース用エントリ選択回路３０４により指定されたＴＬＢ３０３内のエントリへ、最も最近使用された仮想アドレスとその実アドレスを書き込む。このようにして、ＴＬＢ３０３のエントリは、リプレースされる。
【００２３】
ここで、リプレース用エントリ選択回路３０４が、リプレースのために１つのエントリを選択するアルゴリズムとしては、例えば、ランダムにエントリを選択するアルゴリズムや、ＬＲＵ（ｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ）アルゴリズムが知られている。ランダムにエントリを選択するアルゴリズムでは、リプレースされるエントリは、任意に選択される。一方、ＬＲＵアルゴリズムでは、ＴＬＢ内のエントリのリプレースの必要が生じたときに、ＴＬＢ３０３のエントリのうちの最も長時間参照されていない（アクセスされていない）１つのエントリを、リプレース用エントリとして選択するアルゴリズムである。
【００２４】
例えば、リプレース用情報格納部４０４には、各エントリ毎に、そのエントリが参照されたことを示す情報を格納し、リプレース用エントリ選択回路３０４は、各エントリのリプレース用情報格納部４０４内に格納されている情報を読み出して比較することにより、最も長時間参照されていない１つのエントリを、リプレース用エントリとして選択する。そして、例えばエントリ番号のような、この選択されたエントリを示す情報を、メモリ管理ユニット制御回路３０１へ出力する。そして、この選択されたエントリを示す情報に基づいて、メモリ管理ユニット制御回路３０１により、ＴＬＢエントリのリプレース制御が実行される。
【００２５】
次に本発明の一実施例を説明する。図５は、本発明の一実施例に従った、メモリ管理ユニット２０２のブロック図である。図５のメモリ管理ユニット２０２は、主に、メモリ管理ユニット制御回路３０１とＴＬＢ機能部３０２、より構成される。ＴＬＢ機能部３０２は、主に、ＴＬＢ５０１、エントリ選択部であるリプレース用エントリ選択情報生成回路５０２、及び、電力制御部の一部である電力制御設定回路５０３より構成される。
【００２６】
図６は、本発明の一実施例のＴＬＢ機能部３０２のＴＬＢ５０１とリプレース用エントリ選択情報生成回路５０２の構成を示すブロック図である。図６に示すＴＬＢ５０１は、この実施例ではＭ個の複数のエントリよりなり、各エントリは、バリッドビット（Ｖａｌｉｄｂｉｔ）部６０１、ＣＡＭ部６０２、ＲＡＭ部６０３及び、リプレース用情報格納部６０４より構成される。バリッドビット部６０１は、そのエントリが有効であるか否かを示す情報を格納する。ＣＡＭ部６０２は、仮想アドレス情報を格納する。そして、ＲＡＭ部６０３は、実アドレス情報を格納する。
【００２７】
ＴＬＢ５０１の基本的な動作は、図４を参照して説明したのと同様であり、図５のメモリ管理ユニット制御回路３０１から仮想アドレスが入力されると、この入力された仮想アドレスと一致するアドレスを格納しているＣＡＭ部６０２を有し且つバリッドビット部６０１が有効であることを示すエントリのＲＡＭ部６０３に格納されている実アドレスを、図５のメモリ管理ユニット制御回路３０１出力するように動作する。
【００２８】
次に、リプレース用エントリ選択情報生成回路５０２の動作について説明する。本実施例では、リプレース用エントリ選択情報生成回路５０２は、順位情報の生成回路６１０と順位情報の整列回路６１１より構成される。順位情報の生成回路６１０は、前述のランダムやＬＲＵアルゴリズムに従って、各エントリに対するリプレース順位情報を生成する。順位情報の整列回路６１１は、順位情報の生成回路６１０により発生されたリプレース順位情報を、整列させて、第１番目の候補と、第２番目から第Ｍ番目の候補を出力する。順位情報の生成回路６１０と順位情報の整列回路６１１を使用して、図４を参照して説明したのと同様に、リプレース用エントリ選択情報生成回路５０２は、ＴＬＢ５０１内のリプレース用情報格納部６０４に格納されているリプレース用情報を読み出し、この情報に従って、最も最近使用された仮想アドレスとその実アドレスを書き込む第１番目の候補の１つのエントリを決定し、このエントリを、図５のメモリ管理ユニット制御回路３０１へ、信号５１１を介して送る。同時に、図６のリプレース用エントリ選択情報生成回路５０２は、電力を削減可能なエントリの候補として、第２番目から第Ｍ番目の候補を、リプレースエントリ選択順位情報５１２として決定する。
【００２９】
リプレース用エントリ選択情報生成回路５０２が、リプレース及び電力削減可能な候補のためにリプレースエントリ選択順位情報５１２を決定するするアルゴリズムとしては、前述の、ランダムにエントリを選択するアルゴリズムや、ＬＲＵ（ｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ）アルゴリズムを使用できる。
【００３０】
ランダムにエントリを選択するアルゴリズムでは、第１番目のエントリが選択された後に、任意の第２番目から第Ｍ番目のエントリが、リプレースエントリ選択順位情報５１２として決定される。一方、ＬＲＵアルゴリズムでは、リプレース用エントリ選択情報生成回路５０２が、リプレース用情報格納部６０４に格納されているそのエントリが参照されたことを示す情報を読み出し、そして、その参照されていない間の時間等の情報を基にして、第２番目から第Ｍ番目のエントリがリプレースエントリ選択順位情報５１２として決定される。このように、ＬＲＵアルゴリズムを使用して、リプレース用エントリ選択情報生成回路５０２は、エントリの使用頻度の低い順に、リプレースエントリ選択順位情報５１２を決定して出力する。
【００３１】
図７は、ＴＬＢ５０１と、リプレース用エントリ選択情報生成回路５０２及び、電力制御設定回路５０３を示す。前述の頻度の低い順に第２番目から第Ｍ番目のエントリを示すリプレースエントリ選択順位情報５１２は、リプレース用エントリ選択情報生成回路５０２から、電力制御設定回路５０３へ送られる。さらに、電力制御設定回路５０３は、ＰＴＥ情報（中央処理装置で実行されるプロセス単位で指定されるアドレス変換テーブルのエントリを保持する優先度レベル情報）７０１、アクセスインターバル情報（アドレス変換テーブルへのアクセス間隔情報）７０２及び、外部電力削減指定信号７０３、等が、入力される。
【００３２】
電力制御設定回路５０３は、ＰＴＥ情報７０１、アクセスインターバル情報７０２及び、外部電力削減指定信号（複数のエントリの置き換え順位情報の第２番目から第ｎ番目までのエントリを選択するように制御する情報等）７０３、及び、中央処理装置が使用しているメモリページのサイズ情報、等を参照しながら、リプレースエントリ選択順位情報５１２に従って、ＴＬＢ５０１のエントリに対して、電力制御信号５１３を送る。
【００３３】
図８は、図６のＴＬＢ５０１の１つのエントリの、バリッドビット部６０１の構造と、ＣＡＭ部６０２及びＲＡＭ部６０３の、１ビットのセル８０３の構造を示す図である。バリッドビット部６０１は、バリッドビットを記憶するメモリ８０１と、電力制御部の一部である電力制御回路８０２より構成される。また、１ビットのセル８０３は、電源（ＶＤＤ）８１１、電力制御部の一部である電源切断回路８１２、比較器／メモリセル論理８１３、電源切断回路８１４及び、グランド（ＶＳＳ）８１５より構成される。バリッドビット部６０１は、各エントリに対して、１つづつ配置される。電源切断回路８１２と電源切断回路８１４は、高しきい値（Ｖｔｈ）トランジスタにより構成される。また、１ビットのセル８０３は、各エントリの、ＣＡＭ部６０２とＲＡＭ部６０３のビット数の合計数分だけ、各エントリに配置される。このように、本発明に従った、ＴＬＢ５０１では、ＣＡＭ部６０２とＲＡＭ部６０３各メモリセルには、電源切断回路８１２と電源切断回路８１４が設けられ、電力制御が行われる。
【００３４】
一方、図６のバリッドビット部６０１とリプレース用情報格納部６０４は、リプレース及び電力制御に使用するので、常に電力を供給しておくことができるように、ここには、電源切断回路８１２と電源切断回路８１４は設けられない。
【００３５】
メモリ８０１の入力と比較器／メモリセル論理８１３の入力８１６及び出力８１７は、図５のメモリ管理ユニット制御回路３０１に接続され、それそれ、メモリ管理ユニット制御回路３０１により入出される。
【００３６】
バリッドビット部６０１内の電力制御回路８０２は、メモリ８０１に記憶されたバリッドビットと、電力制御設定回路５０３から入力される電力制御信号５１３が入力される。
【００３７】
メモリ８０１の出力するバリッドビット８２０が、無効であることを示す場合には、そのエントリは未使用であり、電力制御回路８０２は、電源切断回路８１２と８１４を切断して、比較器／メモリセル論理８１３に流れる電力を遮断し、消費電力を低減する。
【００３８】
一方、メモリ８０１の出力するバリッドビット８２０が、有効であることを示す場合には、そのエントリ全体が有効であるものとして、電力制御回路８０２は、電源切断回路８１２と８１４を切断せずに、このエントリの比較器／メモリセル論理８１３に、電力を供給する。
【００３９】
しかし、メモリ８０１の出力するバリッドビット８２０が、有効であることを示す場合でも、電力制御情報５１３が、電源の切断を指示する場合には、電力制御回路８０２は、電源切断回路８１２と８１４を切断して、比較器／メモリセル論理８１３に流れる電力を遮断し、消費電力を低減する。この場合には、バリッドビットも無効にする
リプレースエントリ選択情報生成回路５０２は、リプレース候補として選択された第２候補から第ｎ候補までの順位を出力するが、この情報に対して、実際にどの範囲まで電力制御を行うかを、電力制御設定回路５０３により決定する。
【００４０】
次に、電力制御設定回路５０３による、電力制御信号の発生方法について説明する。
【００４１】
図９は、電力制御設定回路５０３の実施例を示す図である。電力制御設定回路５０３は、主に、電力制御優先度設定回路９０１と電力切断制御回路９０２により構成される。電力制御優先度設定回路９０１には、各エントリに対する電力制御優先度を設定するため判断の基準となる信号が入力される。
【００４２】
入力される信号は、（条件１）プロセス単位で指定されるＰＴＥ （ページテーブルエントリ：アドレス変換テーブル）保持の優先度レベル情報（中央処理装置で実行されるプロセス単位で指定されるアドレス変換テーブルのエントリを保持する優先度レベル情報）、（条件２）アクセスインターバル情報（アドレス変換テーブルへのアクセス間隔情報）、（条件３）外部電力削減指定信号、（条件４）中央処理装置が現在使用しているページのサイズ、（条件５）エントリのリプレース順位情報、（条件６）電源切断をどこまで動的に行うかを示す複数の指定信号群、等の条件を入力する。
【００４３】
また、それぞれの選択条件に対し、その条件を選択するかどうかを示す選択又は非選択の情報（いずれの情報をエントリを選択する予め定められた基準として使用するかどうかを判断する選択非選択情報）及び選択時の重み付けを行うための重み付け情報９１５を更に入力する。
【００４４】
選択又は非選択の情報及び重み付け情報９１５は、例えば、次のように、
（１）選択条件を採用するか又は、しないか、又は、
（２）選択条件を採用する場合には、どの程度の重み付けを行うか、
を制御するために、使用する。
【００４５】
例えば、基本条件として、上述の
（条件１）ＰＴＥ に保持される優先度レベル情報及び、
（条件２）アクセスインターバル情報、
の２つが入力されている場合、どちらの条件を優先するかを重み付けで決めておく。
【００４６】
例えば、あるエントリが、ＰＴＥに保持されている優先度レベル情報により、そのエントリを、電力削減候補としては、使用しないように設定してあり、且つ、そのエントリは、リプレースはされていないが、アクセスインターバル情報から判断すると、長い間、アクセスされていないエントリであるとする。
【００４７】
このようなエントリの場合には、どちらの情報を優先するかを決めるために、前述の重み付け情報を使用する。
【００４８】
そして、これらの情報９１５を参照して、最終的に第２候補から第ｎ候補までのうち、どこまでを電力制御の対象にするかを決定し、電力制御信号を出力する。
【００４９】
前述の入力信号は、以下のような判断をするために使用する。
【００５０】
ＰＴＥ に保持される優先度レベル情報については、ＴＬＢの入力エントリ情報として使用されるＰＴＥ （Ｐａｇｅ  Ｔａｂｌｅ  Ｅｎｔｒｙ）内に、優先度レベル情報を保持させ、これを電力制御情報として使用する。この優先度レベル情報は、電力制御を優先的に行うか、優先的にエントリを残すために電力制御を行わないか、という情報である。使用頻度が多いメモリページの場合、電力制御を行うことでエントリが消失すると性能が低下する場合がある。前述のページサイズの場合と同じく、電力制御の回避の度合いとしての優先度をレベル情報として保持させる。
【００５１】
アクセスインターバル情報については、データアクセスを行う場合に、ＴＬＢエントリをアクセスし、そして、特定のエントリにヒットしたときに、どの程度のアクセスインターバルでＴＬＢエントリにヒットしたかを示す情報である。アクセスインターバルが長いということは、長い間、そのＴＬＢ で選択された物理アドレス空間に対するアクセスが行われなかったということであり、これは、ＴＬＢ エントリで無駄に電力を消費しているということになる。従って、インターバルが長いエントリを優先的に無効化すれば、消費電力をより低減できる。
【００５２】
外部電力削減指定信号については、外部より電力の削減を指定する信号である。これは、例えば、ＴＬＢのエントリーの一定部分の電源を必ず遮断する等の制御を行う信号である。これは、ソフトウェア又はハードウェアにより設定可能とする。例えば、省電力モードで、一定のエントリの電源を遮断し、電力を節約するのに使用する。又は、あるエントリの電源が遮断されることを防止する制御信号でも良い。これは、一定のエントリの電源を遮断を防止して、性能の低下を防止する場合に使用することができる。
【００５３】
ページサイズについては、大きなページサイズのデータを連続アクセスする場合には、そのエントリが使用されつづける確率が高いので、電力制御を行ったことによりエントリが消失すると、ＴＬＢのエントリの再登録が多発し性能が低下する場合がある。逆に電力制御を行わないことにより性能を維持するために、この情報を使用する。
【００５４】
エントリのリプレース順位情報については、ＴＬＢのエントリのリプレース候補の選択をする方式については、前述のように、ＬＲＵ(Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ)方式や、ランダムリプレース方式など、いろいろな方法が存在する。どのような手法を使用してもよいが、第１候補から第ｎ候補までの順位情報を出力できるように拡張し、それらを選択情報として使用する。例えば、ＬＲＵ方式であれば、第１候補がエントリリプレース候補となり、第２候補以降を電力制御の候補とする。どの方式を使うかにより、必要な場合には付帯情報を加えることで、候補選択に重み付けを行うことができる。
【００５５】
電源切断をどこまで動的に行うかを示す複数の指定信号群につては、例えばリプレース方式としてＬＲＵ方式を採用した場合、第１番目の候補から、第ｎ番目の候補まで、リプレース候補として順位を決め、ＬＲＵ方式での電力削減候補の順位を出力する。第２番目からｎ番目までのすべての順位に対して電力供給を停止してしまうと、変換に必要なＬＲＵエントリまで遮断してしまう可能性があり、性能的な劣化が発生する。そこで、外部からの入力信号として、どの範囲までを電力供給停止候補とするかを指定できるようにする。例えば、「第２番目から第５番目まで」のように指定することで、ＬＲＵ 候補順位の第２番目から第５番目のエントリに対して電力供給を停止させ、消費電力を削減できる。
【００５６】
前述のように、電力制御優先度設定回路９０１により、電力切断優先順位信号９２０が決定され、そして、電力切断制御回路９０２へ出力される。
【００５７】
電力切断制御回路９０２は、リプレース用エントリ選択情報生成回路５０２より出力されるリプレースエントリ選択順位情報５１２が、入力される。電力切断制御回路９０２は、リプレースエントリ選択順位情報５１２と電力切断優先順位信号９２０に基づいて、電源を遮断するエントリを決定し、Ｍ個のエントリ分の電源制御信号９２１として出力する。
【００５８】
各電源制御信号９２１は、図８に示された電力制御回路８０２に入力され、各エントリのＣＡＭ部６０２とＲＡＭ部６０３の電力制御を制御する。
【００５９】
次に、本発明を実行する手順の一実施例を図１０に示すフローチャートを参照して説明する。
【００６０】
図１０は、本発明を実行する方法の一実施例のフローチャートを示す。
【００６１】
ステップ１００１で、リプレース要求が、メモリ管理ユニット制御回路３０１で、発生する。
【００６２】
次にステップ１００２では、電力制御優先度設定回路９０１により、電力切断優先順位信号９２０が発生される。
【００６３】
これと同時に、ステップ１００３では、リプレース用エントリ選択情報生成回路５０２では、ＬＲＵアルゴリズムを使用して、ＴＬＢのエントリのリプレース候補と、電源切断候補の順位情報を発生する。
【００６４】
次にステップ１００４では、リプレーするエントリと、電源を切断するエントリが、選択される。
【００６５】
次にステップ１００５では、電力制御回路８０２により、電源を切断するために選択されたエントリの電源が遮断される。
【００６６】
また、これと同時に、ステップ１００６では、メモリ管理ユニット制御回路３０１により、ＴＬＢのエントリのリプレースが行われる。このリプレース処理は、リプレースされるエントリのバリッドビットを有効に設定し、且つ新たなデータを書き込む。バリッドビットを有効にすることで、そのエントリの電源が投入される。
【００６７】
本発明により、ＴＬＢで使用されていない、あるいは長い間使用される可能性が低いエントリに対して、積極的に電源の切断制御を行うことにより、無駄な電力消費を低減することができる。
【００６８】
また、電力切断の選択条件を複数個持たせ、かつ、重み付け情報を加えたことにより、さまざまな条件を考慮した上で、電力制御に最適なエントリを積極的に無効化し、電力を削減できる。
【００６９】
更に、電力制御設定回路により、個々のプログラムに対して、個別に最適なエントリ選択条件を静的又は動的に与えることができるので、ＴＬＢの使用効率を上げることができる。
【図面の簡単な説明】
【００７０】
【図１】一般的なコンピュータシステムの概略のブロック図を示す図である。
【図２】図１のプロセッサの内部の概略を示すブロック図である。
【図３】従来のメモリ管理ユニットを示す図である。
【図４】ＴＬＢ機能部の構成の一例を示すブロック図である。
【図５】本発明の一実施例に従った、メモリ管理ユニット２０２のブロック図である。
【図６】本発明の一実施例のＴＬＢ機能部のＴＬＢとリプレース用エントリ選択情報生成回路の構成を示すブロック図である。
【図７】ＴＬＢと、リプレース用エントリ選択情報生成回路及び、電力制御設定回路を示す図である。
【図８】図６のＴＬＢの１つのエントリの、バリッドビット部の構造と、ＣＡＭ部及びＲＡＭ部の、１ビットのセルの構造を示す図である。
【図９】電力制御範囲設定回路の実施例を示す図である。
【図１０】本発明を実行する方法の一実施例のフローチャートを示す図である。
【符号の説明】
【００７１】
３０１    メモリ管理ユニット制御回路
３０２    ＴＬＢ機能部
３０３、５０１    ＴＬＢ
３０４    リプレース用エントリ選択回路
４０１、６０１    バリッドビット部
４０２、６０２    ＣＡＭ部
４０３、６０３    ＲＡＭ部
４０４、６０４    リプレース用情報格納部
５０２    リプレース用エントリ選択情報生成回路
５０３    電力制御範囲設定回路
８０１    メモリ
８０２    電力制御回路
８０３    １ビットのセル
９０１    電力制御優先度設定回路
９０２    電力切断制御回路
【図１】
2006190341.tif 000003
【図２】
2006190341.tif 000004
【図３】
2006190341.tif 000005
【図４】
2006190341.tif 000006
【図５】
2006190341.tif 000007
【図６】
2006190341.tif 000008
【図７】
2006190341.tif 000009
【図８】
2006190341.tif 000010
【図９】
2006190341.tif 000011
【図１０】
2006190341.tif 000012