JP3895760B2 - アドレス変換バッファの電力制御方法及びその装置 - Google Patents

アドレス変換バッファの電力制御方法及びその装置 Download PDF

Info

Publication number
JP3895760B2
JP3895760B2 JP2006101850A JP2006101850A JP3895760B2 JP 3895760 B2 JP3895760 B2 JP 3895760B2 JP 2006101850 A JP2006101850 A JP 2006101850A JP 2006101850 A JP2006101850 A JP 2006101850A JP 3895760 B2 JP3895760 B2 JP 3895760B2
Authority
JP
Japan
Prior art keywords
entry
information
power
power control
criterion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006101850A
Other languages
English (en)
Other versions
JP2006190341A (ja
Inventor
康一 吉見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006101850A priority Critical patent/JP3895760B2/ja
Publication of JP2006190341A publication Critical patent/JP2006190341A/ja
Application granted granted Critical
Publication of JP3895760B2 publication Critical patent/JP3895760B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、主に、中央処理装置のようなプロセサに内蔵されるTLB (Translation Lookaside Buffer:論理アドレスから物理アドレスの変換を行うアドレス変換バッファ)に関連し、特に、TLBの消費電力の低減に関連する。
近年では、高速なプロセサ(中央処理装置)を開発するために、使用されるトランジスタ素子の動作速度が大幅に高速化されつつある。高速化を実現するために、トランジスタ素子のしきい値(スレッショルド)電圧(Vth)を下げることにより、トランジスタのオン時の電流(Ids)を大きくするように改善が行われる。そして、このトランジスタを使用してプロセッサを開発することにより、プロセサの動作周波数が飛躍的に向上する。
しかし、トランジスタ素子のしきい値電圧(Vth)が下がったことにより、トランジスタが遮断されているときのオフリーク電流が増加し、これにより、プロセッサが動作していないときの消費電力が増大するという問題を引き起こしている。
特に、下記の非特許文献1に記載されているように、プロセサ内部のキャッシュRAMにおいて、動作していないときの静止時消費電流(スタティック消費電流)が増大している。キャッシュRAMは、プロセサ内で使用される個数や面積が大きく、現状でも通常動作時の5 〜10 %程度の静止電力を消費していると言われており、今後も増える傾向にある。
また、この問題を解決するため、下記の非特許文献2に記載されているような、トランジスタのVthを動的に変更することによりリーク電流を減少させる方法や、下記の非特許文献3に記載されているような、一定の使用頻度以下のキャッシュラインを無効化(invalidate)することにより消費電力の低減するように改善が行われてきた。
また、本発明に関連する先行技術は、更に、下記の、特許文献1、特許文献2及び、特許文献3に記載されている。
特開平7−334423号公報 特開昭56−35228号公報 特開平9−204359号公報 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
しかしながら、TLB(アドレス変換バッファ)は、プロセッサ内で、キャッシュRAMと同様に電力を消費するが、TLBについては、高速化を追求するために、低消費電力化については、考えられていなかった。
TLB内では、現実には、ダイナミック回路などの高速な回路を使用して、CAM(content addressable memory)を構築しており、通常動作時と静止時の消費電力は大きい。特に、CAMの中にある比較回路の中のダイナミック回路で発生するチャージシェアリング(charge−sharing)などの問題を解決するために、余分なチャージを行う回路を付加する必要があるので、通常動作時および静止時の消費電力を簡単に下げることはできない。
一般的に、TLBによるアドレス変換の性能を向上させるためには、TLB内のエントリ数を増加させるなどの手段が使用されるので、これにより、さらに無駄なリーク電流が増え、更に消費電力が増加するという結果となる。
本発明は上記の点に鑑みてなされたもので、TLB内で長い間使用されていないエントリの電源の切断制御等を行うことにより、無駄な電力消費を低減することを目的とする。
上記目的を達成するために、本発明は、論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御方法において、
前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリを選択する基準となる情報と、前記各情報の重み付け情報とに基づいて判断される判断基準に従ってエントリの選択を行うエントリ選択ステップと、
前記選択されたエントリの電力を制御する電力制御ステップとを有するアドレス変換バッファの電力制御方法を提供する。
本発明では、TLB(アドレス変換バッファ)の静止時の消費電力を低減するために、本来TLB機構に必要なエントリ置き換え機構(エントリリプレース機構)を利用して、特定の複数のエントリを低消費電力化する候補として選択し、それらのエントリを未使用とし、そのエントリに対応するTLB のCAM/RAM部の電源を切断するという電源制御を行う。
本発明は、未使用のTLBエントリの電源をオフにすることができるので、無駄なリーク電流による消費電力を削減することができるという効果を奏する。
以下に、本発明を実施するための実施の形態について、図面を用いて説明する。
先ず最初に、図1から図4を参照して、TLBの基本的な動作について説明する。
図1は、一般的なコンピュータシステムの概略のブロック図を示す図である。一般的なコンピュータシステム101は、主に、中央処理装置であるプロセッサ102、キーボードやモニタ等の入出装置103、データやプログラムの格納を行う主記憶104、及び、プロセッサ102、入出装置103及び主記憶104の間を接続するバス105により構成される。
図2は、図1のプロセッサ102の内部の構成の概略を示すブロック図である。プロセッサ102は、主に、プロセッサコア201、メモリ管理ユニット(MMU)202、キャッシュ制御装置203、キャッシュRAM204、バス制御回路205により構成される。
図3は、従来のメモリ管理ユニット202を示す。図3のメモリ管理ユニット202は、主に、メモリ管理ユニット制御回路301とTLB機能部302、より構成される。TLB機能部302は、主に、TLB303と、エントリ置き換え機構(エントリリプレース機構)である、リプレース用エントリ選択回路304より構成される。
図4は、TLB機能部302の構成の一例を示すブロック図である。図4のTLB機能部302は、TLB303とリプレース用エントリ選択回路304より構成される。図4に示すTLB303は、この例ではM個の複数のエントリよりなり、各エントリは、バリッドビット(Validbit)部401、CAM部402、RAM部403及び、リプレース用情報格納部404より構成される。バリッドビット部401は、そのエントリが有効であるか否かを示す情報を格納する。CAM部402は、仮想アドレス情報を格納する。そして、RAM部403は、実アドレス情報を格納する。
TLB303は、基本的には、図3のメモリ管理ユニット制御回路301から仮想アドレスが入力されると、この入力された仮想アドレスと一致するアドレスを格納しているCAM部402を有し且つバリッドビット部401が有効であることを示すエントリのRAM部403に格納されている実アドレスを、図3のメモリ管理ユニット制御回路301出力するように動作する。
一方、TLB303には、使用されて間もない仮想アドレスと、その仮想アドレスに対応する実アドレスが記憶される。従って、TLB303のエントリは、所定のアルゴリズムに従って、最も最近使用された仮想アドレスとその実アドレスにより、書き換えられる。これを実行するのが、リプレース用エントリ選択回路304である。リプレース用エントリ選択回路304は、TLB303内のリプレース用情報格納部404に格納されているリプレース用情報を読み出し、この情報に従って、最も最近使用された仮想アドレスとその実アドレスを書き込む1つのエントリを決定し、このエントリを、図3のメモリ管理ユニット制御回路301へ送る。
そして、メモリ管理ユニット制御回路301は、リプレース用エントリ選択回路304により指定されたTLB303内のエントリへ、最も最近使用された仮想アドレスとその実アドレスを書き込む。このようにして、TLB303のエントリは、リプレースされる。
ここで、リプレース用エントリ選択回路304が、リプレースのために1つのエントリを選択するアルゴリズムとしては、例えば、ランダムにエントリを選択するアルゴリズムや、LRU(least recently used)アルゴリズムが知られている。ランダムにエントリを選択するアルゴリズムでは、リプレースされるエントリは、任意に選択される。一方、LRUアルゴリズムでは、TLB内のエントリのリプレースの必要が生じたときに、TLB303のエントリのうちの最も長時間参照されていない(アクセスされていない)1つのエントリを、リプレース用エントリとして選択するアルゴリズムである。
例えば、リプレース用情報格納部404には、各エントリ毎に、そのエントリが参照されたことを示す情報を格納し、リプレース用エントリ選択回路304は、各エントリのリプレース用情報格納部404内に格納されている情報を読み出して比較することにより、最も長時間参照されていない1つのエントリを、リプレース用エントリとして選択する。そして、例えばエントリ番号のような、この選択されたエントリを示す情報を、メモリ管理ユニット制御回路301へ出力する。そして、この選択されたエントリを示す情報に基づいて、メモリ管理ユニット制御回路301により、TLBエントリのリプレース制御が実行される。
次に本発明の一実施例を説明する。図5は、本発明の一実施例に従った、メモリ管理ユニット202のブロック図である。図5のメモリ管理ユニット202は、主に、メモリ管理ユニット制御回路301とTLB機能部302、より構成される。TLB機能部302は、主に、TLB501、エントリ選択部であるリプレース用エントリ選択情報生成回路502、及び、電力制御部の一部である電力制御設定回路503より構成される。
図6は、本発明の一実施例のTLB機能部302のTLB501とリプレース用エントリ選択情報生成回路502の構成を示すブロック図である。図6に示すTLB501は、この実施例ではM個の複数のエントリよりなり、各エントリは、バリッドビット(Validbit)部601、CAM部602、RAM部603及び、リプレース用情報格納部604より構成される。バリッドビット部601は、そのエントリが有効であるか否かを示す情報を格納する。CAM部602は、仮想アドレス情報を格納する。そして、RAM部603は、実アドレス情報を格納する。
TLB501の基本的な動作は、図4を参照して説明したのと同様であり、図5のメモリ管理ユニット制御回路301から仮想アドレスが入力されると、この入力された仮想アドレスと一致するアドレスを格納しているCAM部602を有し且つバリッドビット部601が有効であることを示すエントリのRAM部603に格納されている実アドレスを、図5のメモリ管理ユニット制御回路301出力するように動作する。
次に、リプレース用エントリ選択情報生成回路502の動作について説明する。本実施例では、リプレース用エントリ選択情報生成回路502は、順位情報の生成回路610と順位情報の整列回路611より構成される。順位情報の生成回路610は、前述のランダムやLRUアルゴリズムに従って、各エントリに対するリプレース順位情報を生成する。順位情報の整列回路611は、順位情報の生成回路610により発生されたリプレース順位情報を、整列させて、第1番目の候補と、第2番目から第M番目の候補を出力する。順位情報の生成回路610と順位情報の整列回路611を使用して、図4を参照して説明したのと同様に、リプレース用エントリ選択情報生成回路502は、TLB501内のリプレース用情報格納部604に格納されているリプレース用情報を読み出し、この情報に従って、最も最近使用された仮想アドレスとその実アドレスを書き込む第1番目の候補の1つのエントリを決定し、このエントリを、図5のメモリ管理ユニット制御回路301へ、信号511を介して送る。同時に、図6のリプレース用エントリ選択情報生成回路502は、電力を削減可能なエントリの候補として、第2番目から第M番目の候補を、リプレースエントリ選択順位情報512として決定する。
リプレース用エントリ選択情報生成回路502が、リプレース及び電力削減可能な候補のためにリプレースエントリ選択順位情報512を決定するするアルゴリズムとしては、前述の、ランダムにエントリを選択するアルゴリズムや、LRU(least recently used)アルゴリズムを使用できる。
ランダムにエントリを選択するアルゴリズムでは、第1番目のエントリが選択された後に、任意の第2番目から第M番目のエントリが、リプレースエントリ選択順位情報512として決定される。一方、LRUアルゴリズムでは、リプレース用エントリ選択情報生成回路502が、リプレース用情報格納部604に格納されているそのエントリが参照されたことを示す情報を読み出し、そして、その参照されていない間の時間等の情報を基にして、第2番目から第M番目のエントリがリプレースエントリ選択順位情報512として決定される。このように、LRUアルゴリズムを使用して、リプレース用エントリ選択情報生成回路502は、エントリの使用頻度の低い順に、リプレースエントリ選択順位情報512を決定して出力する。
図7は、TLB501と、リプレース用エントリ選択情報生成回路502及び、電力制御設定回路503を示す。前述の頻度の低い順に第2番目から第M番目のエントリを示すリプレースエントリ選択順位情報512は、リプレース用エントリ選択情報生成回路502から、電力制御設定回路503へ送られる。さらに、電力制御設定回路503は、PTE情報(中央処理装置で実行されるプロセス単位で指定されるアドレス変換テーブルのエントリを保持する優先度レベル情報)701、アクセスインターバル情報(アドレス変換テーブルへのアクセス間隔情報)702及び、外部電力削減指定信号703、等が、入力される。
電力制御設定回路503は、PTE情報701、アクセスインターバル情報702及び、外部電力削減指定信号(複数のエントリの置き換え順位情報の第2番目から第n番目までのエントリを選択するように制御する情報等)703、及び、中央処理装置が使用しているメモリページのサイズ情報、等を参照しながら、リプレースエントリ選択順位情報512に従って、TLB501のエントリに対して、電力制御信号513を送る。
図8は、図6のTLB501の1つのエントリの、バリッドビット部601の構造と、CAM部602及びRAM部603の、1ビットのセル803の構造を示す図である。バリッドビット部601は、バリッドビットを記憶するメモリ801と、電力制御部の一部である電力制御回路802より構成される。また、1ビットのセル803は、電源(VDD)811、電力制御部の一部である電源切断回路812、比較器/メモリセル論理813、電源切断回路814及び、グランド(VSS)815より構成される。バリッドビット部601は、各エントリに対して、1つづつ配置される。電源切断回路812と電源切断回路814は、高しきい値(Vth)トランジスタにより構成される。また、1ビットのセル803は、各エントリの、CAM部602とRAM部603のビット数の合計数分だけ、各エントリに配置される。このように、本発明に従った、TLB501では、CAM部602とRAM部603各メモリセルには、電源切断回路812と電源切断回路814が設けられ、電力制御が行われる。
一方、図6のバリッドビット部601とリプレース用情報格納部604は、リプレース及び電力制御に使用するので、常に電力を供給しておくことができるように、ここには、電源切断回路812と電源切断回路814は設けられない。
メモリ801の入力と比較器/メモリセル論理813の入力816及び出力817は、図5のメモリ管理ユニット制御回路301に接続され、それそれ、メモリ管理ユニット制御回路301により入出される。
バリッドビット部601内の電力制御回路802は、メモリ801に記憶されたバリッドビットと、電力制御設定回路503から入力される電力制御信号513が入力される。
メモリ801の出力するバリッドビット820が、無効であることを示す場合には、そのエントリは未使用であり、電力制御回路802は、電源切断回路812と814を切断して、比較器/メモリセル論理813に流れる電力を遮断し、消費電力を低減する。
一方、メモリ801の出力するバリッドビット820が、有効であることを示す場合には、そのエントリ全体が有効であるものとして、電力制御回路802は、電源切断回路812と814を切断せずに、このエントリの比較器/メモリセル論理813に、電力を供給する。
しかし、メモリ801の出力するバリッドビット820が、有効であることを示す場合でも、電力制御情報513が、電源の切断を指示する場合には、電力制御回路802は、電源切断回路812と814を切断して、比較器/メモリセル論理813に流れる電力を遮断し、消費電力を低減する。この場合には、バリッドビットも無効にする
リプレースエントリ選択情報生成回路502は、リプレース候補として選択された第2候補から第n候補までの順位を出力するが、この情報に対して、実際にどの範囲まで電力制御を行うかを、電力制御設定回路503により決定する。
次に、電力制御設定回路503による、電力制御信号の発生方法について説明する。
図9は、電力制御設定回路503の実施例を示す図である。電力制御設定回路503は、主に、電力制御優先度設定回路901と電力切断制御回路902により構成される。電力制御優先度設定回路901には、各エントリに対する電力制御優先度を設定するため判断の基準となる信号が入力される。
入力される信号は、(条件1)プロセス単位で指定されるPTE (ページテーブルエントリ:アドレス変換テーブル)保持の優先度レベル情報(中央処理装置で実行されるプロセス単位で指定されるアドレス変換テーブルのエントリを保持する優先度レベル情報)、(条件2)アクセスインターバル情報(アドレス変換テーブルへのアクセス間隔情報)、(条件3)外部電力削減指定信号、(条件4)中央処理装置が現在使用しているページのサイズ、(条件5)エントリのリプレース順位情報、(条件6)電源切断をどこまで動的に行うかを示す複数の指定信号群、等の条件を入力する。
また、それぞれの選択条件に対し、その条件を選択するかどうかを示す選択又は非選択の情報(いずれの情報をエントリを選択する予め定められた基準として使用するかどうかを判断する選択非選択情報)及び選択時の重み付けを行うための重み付け情報915を更に入力する。
選択又は非選択の情報及び重み付け情報915は、例えば、次のように、
(1)選択条件を採用するか又は、しないか、又は、
(2)選択条件を採用する場合には、どの程度の重み付けを行うか、
を制御するために、使用する。
例えば、基本条件として、上述の
(条件1)PTE に保持される優先度レベル情報及び、
(条件2)アクセスインターバル情報、
の2つが入力されている場合、どちらの条件を優先するかを重み付けで決めておく。
例えば、あるエントリが、PTEに保持されている優先度レベル情報により、そのエントリを、電力削減候補としては、使用しないように設定してあり、且つ、そのエントリは、リプレースはされていないが、アクセスインターバル情報から判断すると、長い間、アクセスされていないエントリであるとする。
このようなエントリの場合には、どちらの情報を優先するかを決めるために、前述の重み付け情報を使用する。
そして、これらの情報915を参照して、最終的に第2候補から第n候補までのうち、どこまでを電力制御の対象にするかを決定し、電力制御信号を出力する。
前述の入力信号は、以下のような判断をするために使用する。
PTE に保持される優先度レベル情報については、TLBの入力エントリ情報として使用されるPTE (Page Table Entry)内に、優先度レベル情報を保持させ、これを電力制御情報として使用する。この優先度レベル情報は、電力制御を優先的に行うか、優先的にエントリを残すために電力制御を行わないか、という情報である。使用頻度が多いメモリページの場合、電力制御を行うことでエントリが消失すると性能が低下する場合がある。前述のページサイズの場合と同じく、電力制御の回避の度合いとしての優先度をレベル情報として保持させる。
アクセスインターバル情報については、データアクセスを行う場合に、TLBエントリをアクセスし、そして、特定のエントリにヒットしたときに、どの程度のアクセスインターバルでTLBエントリにヒットしたかを示す情報である。アクセスインターバルが長いということは、長い間、そのTLB で選択された物理アドレス空間に対するアクセスが行われなかったということであり、これは、TLB エントリで無駄に電力を消費しているということになる。従って、インターバルが長いエントリを優先的に無効化すれば、消費電力をより低減できる。
外部電力削減指定信号については、外部より電力の削減を指定する信号である。これは、例えば、TLBのエントリーの一定部分の電源を必ず遮断する等の制御を行う信号である。これは、ソフトウェア又はハードウェアにより設定可能とする。例えば、省電力モードで、一定のエントリの電源を遮断し、電力を節約するのに使用する。又は、あるエントリの電源が遮断されることを防止する制御信号でも良い。これは、一定のエントリの電源を遮断を防止して、性能の低下を防止する場合に使用することができる。
ページサイズについては、大きなページサイズのデータを連続アクセスする場合には、そのエントリが使用されつづける確率が高いので、電力制御を行ったことによりエントリが消失すると、TLBのエントリの再登録が多発し性能が低下する場合がある。逆に電力制御を行わないことにより性能を維持するために、この情報を使用する。
エントリのリプレース順位情報については、TLBのエントリのリプレース候補の選択をする方式については、前述のように、LRU(Least Recently Used)方式や、ランダムリプレース方式など、いろいろな方法が存在する。どのような手法を使用してもよいが、第1候補から第n候補までの順位情報を出力できるように拡張し、それらを選択情報として使用する。例えば、LRU方式であれば、第1候補がエントリリプレース候補となり、第2候補以降を電力制御の候補とする。どの方式を使うかにより、必要な場合には付帯情報を加えることで、候補選択に重み付けを行うことができる。
電源切断をどこまで動的に行うかを示す複数の指定信号群につては、例えばリプレース方式としてLRU方式を採用した場合、第1番目の候補から、第n番目の候補まで、リプレース候補として順位を決め、LRU方式での電力削減候補の順位を出力する。第2番目からn番目までのすべての順位に対して電力供給を停止してしまうと、変換に必要なLRUエントリまで遮断してしまう可能性があり、性能的な劣化が発生する。そこで、外部からの入力信号として、どの範囲までを電力供給停止候補とするかを指定できるようにする。例えば、「第2番目から第5番目まで」のように指定することで、LRU 候補順位の第2番目から第5番目のエントリに対して電力供給を停止させ、消費電力を削減できる。
前述のように、電力制御優先度設定回路901により、電力切断優先順位信号920が決定され、そして、電力切断制御回路902へ出力される。
電力切断制御回路902は、リプレース用エントリ選択情報生成回路502より出力されるリプレースエントリ選択順位情報512が、入力される。電力切断制御回路902は、リプレースエントリ選択順位情報512と電力切断優先順位信号920に基づいて、電源を遮断するエントリを決定し、M個のエントリ分の電源制御信号921として出力する。
各電源制御信号921は、図8に示された電力制御回路802に入力され、各エントリのCAM部602とRAM部603の電力制御を制御する。
次に、本発明を実行する手順の一実施例を図10に示すフローチャートを参照して説明する。
図10は、本発明を実行する方法の一実施例のフローチャートを示す。
ステップ1001で、リプレース要求が、メモリ管理ユニット制御回路301で、発生する。
次にステップ1002では、電力制御優先度設定回路901により、電力切断優先順位信号920が発生される。
これと同時に、ステップ1003では、リプレース用エントリ選択情報生成回路502では、LRUアルゴリズムを使用して、TLBのエントリのリプレース候補と、電源切断候補の順位情報を発生する。
次にステップ1004では、リプレーするエントリと、電源を切断するエントリが、選択される。
次にステップ1005では、電力制御回路802により、電源を切断するために選択されたエントリの電源が遮断される。
また、これと同時に、ステップ1006では、メモリ管理ユニット制御回路301により、TLBのエントリのリプレースが行われる。このリプレース処理は、リプレースされるエントリのバリッドビットを有効に設定し、且つ新たなデータを書き込む。バリッドビットを有効にすることで、そのエントリの電源が投入される。
本発明により、TLBで使用されていない、あるいは長い間使用される可能性が低いエントリに対して、積極的に電源の切断制御を行うことにより、無駄な電力消費を低減することができる。
また、電力切断の選択条件を複数個持たせ、かつ、重み付け情報を加えたことにより、さまざまな条件を考慮した上で、電力制御に最適なエントリを積極的に無効化し、電力を削減できる。
更に、電力制御設定回路により、個々のプログラムに対して、個別に最適なエントリ選択条件を静的又は動的に与えることができるので、TLBの使用効率を上げることができる。
一般的なコンピュータシステムの概略のブロック図を示す図である。 図1のプロセッサの内部の概略を示すブロック図である。 従来のメモリ管理ユニットを示す図である。 TLB機能部の構成の一例を示すブロック図である。 本発明の一実施例に従った、メモリ管理ユニット202のブロック図である。 本発明の一実施例のTLB機能部のTLBとリプレース用エントリ選択情報生成回路の構成を示すブロック図である。 TLBと、リプレース用エントリ選択情報生成回路及び、電力制御設定回路を示す図である。 図6のTLBの1つのエントリの、バリッドビット部の構造と、CAM部及びRAM部の、1ビットのセルの構造を示す図である。 電力制御範囲設定回路の実施例を示す図である。 本発明を実行する方法の一実施例のフローチャートを示す図である。
符号の説明
301 メモリ管理ユニット制御回路
302 TLB機能部
303、501 TLB
304 リプレース用エントリ選択回路
401、601 バリッドビット部
402、602 CAM部
403、603 RAM部
404、604 リプレース用情報格納部
502 リプレース用エントリ選択情報生成回路
503 電力制御範囲設定回路
801 メモリ
802 電力制御回路
803 1ビットのセル
901 電力制御優先度設定回路
902 電力切断制御回路

Claims (10)

  1. 論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御方法において、
    前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリを選択する基準となる情報と、前記各情報の重み付け情報とに基づいて判断される判断基準に従ってエントリの選択を行うエントリ選択ステップと、
    前記選択されたエントリの電力を制御する電力制御ステップとを有することを特徴とするアドレス変換バッファの電力制御方法。
  2. 前記エントリ選択ステップは、前記エントリを選択する判断基準となる情報と前記各情報の重み付け情報とに加えて、さらに、前記エントリを選択する判断基準となる情報を、エントリを選択する判断基準として使用するかどうかを判断する選択非選択情報に基づいて判断される判断基準に従ってエントリの選択を行うことを特徴とする請求項1記載のアドレス変換バッファの電力制御方法。
  3. 論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御方法において、
    任意のエントリに対する電力を遮断しないための情報を入力する入力ステップと、
    前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリ置き換え機構の出力に基づいて、予め定められた第一の判断基準に従ってエントリの選択を行うエントリ選択ステップと、
    前記エントリに対する電力を遮断しないための情報に基づき、前記選択されたエントリの電力の供給を継続する電力制御ステップとを有することを特徴とするアドレス変換バッファの電力制御方法。
  4. 前記エントリに対する電力を遮断しないための情報は、前記中央処理装置が使用しているメモリページのサイズ情報であることを特徴とする請求項3記載のアドレス変換バッファの電力制御方法。
  5. 前記エントリに対する電力を遮断しないための情報は、前記中央処理装置に入力される外部信号に基づくことを特徴とする請求項3記載のアドレス変換バッファの電力制御方法。
  6. 論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御装置において、
    前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリを選択する基準となる情報と、前記各情報の重み付け情報とに基づいて判断される判断基準に従ってエントリの選択を行うエントリ選択部と、
    前記選択されたエントリの電力を制御する電力制御部とを有することを特徴とするアドレス変換バッファの電力制御装置。
  7. 前記エントリ選択部は、前記エントリを選択する判断基準となる情報と前記各情報の重み付け情報とに加えて、さらに、前記エントリを選択する判断基準となる情報を、エントリを選択する判断基準として使用するかどうかを判断する選択非選択情報に基づいて判断される判断基準に従ってエントリの選択を行うことを特徴とする請求項6記載のアドレス変換バッファの電力制御装置。
  8. 論理アドレスから物理アドレスの変換を行う複数のエントリと、前記エントリの置き換えを行うエントリ置き換え機構を有する中央処理装置のアドレス変換バッファの電力制御装置において、
    任意のエントリに対する電力を遮断しないための情報を入力する入力部と、
    前記アドレス変換バッファの有する前記複数のエントリの中から、前記エントリ置き換え機構の出力に基づいて、予め定められた第一の判断基準に従ってエントリの選択を行うエントリ選択部と、
    前記エントリに対する電力を遮断しないための情報に基づき、前記選択されたエントリの電力の供給を継続する電力制御部とを有することを特徴とするアドレス変換バッファの電力制御装置。
  9. 前記エントリに対する電力を遮断しないための情報は、前記中央処理装置が使用しているメモリページのサイズ情報であることを特徴とする請求項8記載のアドレス変換バッファの電力制御装置。
  10. 前記エントリに対する電力を遮断しないための情報は、前記中央処理装置に入力される外部信号に基づくことを特徴とする請求項8記載のアドレス変換バッファの電力制御装置。
JP2006101850A 2006-04-03 2006-04-03 アドレス変換バッファの電力制御方法及びその装置 Expired - Fee Related JP3895760B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006101850A JP3895760B2 (ja) 2006-04-03 2006-04-03 アドレス変換バッファの電力制御方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006101850A JP3895760B2 (ja) 2006-04-03 2006-04-03 アドレス変換バッファの電力制御方法及びその装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004572105A Division JP3806131B2 (ja) 2003-05-21 2003-05-21 アドレス変換バッファの電力制御方法及びその装置

Publications (2)

Publication Number Publication Date
JP2006190341A JP2006190341A (ja) 2006-07-20
JP3895760B2 true JP3895760B2 (ja) 2007-03-22

Family

ID=36797409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006101850A Expired - Fee Related JP3895760B2 (ja) 2006-04-03 2006-04-03 アドレス変換バッファの電力制御方法及びその装置

Country Status (1)

Country Link
JP (1) JP3895760B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5045163B2 (ja) * 2007-03-13 2012-10-10 富士通株式会社 演算処理装置および演算処理装置の制御方法
JP5226010B2 (ja) * 2007-12-10 2013-07-03 パナソニック株式会社 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路
JP2010108381A (ja) * 2008-10-31 2010-05-13 Fujitsu Ltd 集積回路、集積回路の制御方法および半導体デバイス
US9043561B2 (en) * 2012-05-02 2015-05-26 Semiconductor Energy Laboratory Co., Ltd. Storage device
US9135182B2 (en) * 2012-06-01 2015-09-15 Semiconductor Energy Laboratory Co., Ltd. Central processing unit and driving method thereof
US10073787B2 (en) * 2016-04-18 2018-09-11 Via Alliance Semiconductor Co., Ltd. Dynamic powering of cache memory by ways within multiple set groups based on utilization trends

Also Published As

Publication number Publication date
JP2006190341A (ja) 2006-07-20

Similar Documents

Publication Publication Date Title
JP3806131B2 (ja) アドレス変換バッファの電力制御方法及びその装置
US7487299B2 (en) Cache memory to support a processor's power mode of operation
US7904658B2 (en) Structure for power-efficient cache memory
US9235514B2 (en) Predicting outcomes for memory requests in a cache memory
JP4026753B2 (ja) 半導体集積回路
US20140095797A1 (en) Cache Memory Having Enhanced Performance And Security Features
JP3895760B2 (ja) アドレス変換バッファの電力制御方法及びその装置
US20060101299A1 (en) Controller for instruction cache and instruction translation look-aside buffer, and method of controlling the same
US11755480B2 (en) Data pattern based cache management
WO2005069148A2 (en) Memory management method and related system
US8484418B2 (en) Methods and apparatuses for idle-prioritized memory ranks
US8271732B2 (en) System and method to reduce power consumption by partially disabling cache memory
Gupta et al. Area & power optimization of VPB peripheral memory for ARM7TDMI based microcontrollers
KR20130048172A (ko) 메모리에서의 피크 전력 관리를 위한 메커니즘
JP4791714B2 (ja) ダイナミック周波数スケーリングキャッシュメモリの休止時間を利用する方法、回路及びシステム
US7415577B2 (en) Method and apparatus to write back data
Ishihara et al. An architectural level energy reduction technique for deep-submicron cache memories
Mizuno et al. A 1-V, 100-MHz, 10-mW cache using a separated bit-line memory hierarchy architecture and domino tag comparators
JP4404373B2 (ja) 半導体集積回路
Park et al. Efficient management of PCM-based swap systems with a small page size
US20240134792A1 (en) Data Pattern Based Cache Management
US10423540B2 (en) Apparatus, system, and method to determine a cache line in a first memory device to be evicted for an incoming cache line from a second memory device
US8788789B2 (en) Power filter in data translation look-aside buffer based on an input linear address
JP2006040089A (ja) セカンドキャッシュ駆動制御回路、セカンドキャッシュ、ram、及びセカンドキャッシュ駆動制御方法
Park et al. Analysis of memory access latency considering page faults and TLB misses in NVM storage

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131222

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees