JPH0950401A - キャッシュメモリ及びそれを備えた情報処理装置 - Google Patents
キャッシュメモリ及びそれを備えた情報処理装置Info
- Publication number
- JPH0950401A JPH0950401A JP7203533A JP20353395A JPH0950401A JP H0950401 A JPH0950401 A JP H0950401A JP 7203533 A JP7203533 A JP 7203533A JP 20353395 A JP20353395 A JP 20353395A JP H0950401 A JPH0950401 A JP H0950401A
- Authority
- JP
- Japan
- Prior art keywords
- way
- cache
- ways
- miss rate
- miss
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 動作させるキャッシュ容量を動的に変更する
ことによって、性能低下を抑えつつ、消費電力を削減す
ることができるキャッシュメモリを提供する。 【解決手段】 セット・アソシアティブ方式のキャッシ
ュメモリにおいて、ミス率測定回路140が実行中のキ
ャッシュミス率を測定し、ウェイ数制御回路150が、
測定したミス率の変動を観察し、動作させるウェイ数を
判断し、パワー制御回路160に対して指示を行う。ウ
ェイ数制御回路150は、動作させるウェイ数を減らし
た場合に、ミス率が増加すれば、ウェイ数を元に戻す。
また、動作させるウェイ数を増やした場合に、ミス率が
変化しなければ、動作させるウェイ数を元に戻すように
制御する。
ことによって、性能低下を抑えつつ、消費電力を削減す
ることができるキャッシュメモリを提供する。 【解決手段】 セット・アソシアティブ方式のキャッシ
ュメモリにおいて、ミス率測定回路140が実行中のキ
ャッシュミス率を測定し、ウェイ数制御回路150が、
測定したミス率の変動を観察し、動作させるウェイ数を
判断し、パワー制御回路160に対して指示を行う。ウ
ェイ数制御回路150は、動作させるウェイ数を減らし
た場合に、ミス率が増加すれば、ウェイ数を元に戻す。
また、動作させるウェイ数を増やした場合に、ミス率が
変化しなければ、動作させるウェイ数を元に戻すように
制御する。
Description
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
及びキャッシュメモリを備えた情報処理装置に関する。
及びキャッシュメモリを備えた情報処理装置に関する。
【0002】
【従来の技術】最近は、メモリアクセスのボトルネック
を解消するために、キャッシュメモリをチップ上に搭載
するマイクロプロセッサが主流となっている。チップに
搭載されているキャッシュメモリの容量は、年々増えつ
づけ、その結果、最近のマイクロプロセッサでは、オン
チップキャッシュで消費する電力がチップ全体の消費電
力の約30%を占めると言われている。したがって、最
近のチップの低消費電力化の傾向に伴ない、キャッシュ
メモリでの消費電力を減らす必要性が生じている。
を解消するために、キャッシュメモリをチップ上に搭載
するマイクロプロセッサが主流となっている。チップに
搭載されているキャッシュメモリの容量は、年々増えつ
づけ、その結果、最近のマイクロプロセッサでは、オン
チップキャッシュで消費する電力がチップ全体の消費電
力の約30%を占めると言われている。したがって、最
近のチップの低消費電力化の傾向に伴ない、キャッシュ
メモリでの消費電力を減らす必要性が生じている。
【0003】一方、キャッシュメモリの構成としては、
高いヒット率を確保しながらハードウェア量の増加を押
さえる、セット・アソシアティブ(set associative )
方式が主流となっている。そして、ウェイ数としては、
現在は、2ウェイ(2-way) あるいは4ウェイ(4-way)が
主流である。このようなセットアソシアティブ方式のキ
ャッシュメモリで消費電力を減らす手法として、動作す
るウェイ数を減らすことによって、実質的にキャッシュ
メモリの容量を削減することが行われている。例えば、
日立のSHシリーズでは、キャッシュメモリの容量を減
らすための低消費電力モードが採用されており、プロセ
ッサが低消費電力モードに設定されると、キャッシュの
複数のウェイのうち、1つだけが動作するようになる。
すなわち、低消費電力モードでは、ダイレクト・マップ
方式と同様の動作をするようになる。このような低消費
電力モードでは、キャッシュ容量が減り、連想度も下が
るため、ミス率は若干上がり、性能はやや低下するが、
キャッシュでの消費電力は1/2(2ウェイ・セットア
ソシアティブの場合)あるいは1/4(4ウェイ・セッ
トアソシアティブの場合)に削減することができる。
高いヒット率を確保しながらハードウェア量の増加を押
さえる、セット・アソシアティブ(set associative )
方式が主流となっている。そして、ウェイ数としては、
現在は、2ウェイ(2-way) あるいは4ウェイ(4-way)が
主流である。このようなセットアソシアティブ方式のキ
ャッシュメモリで消費電力を減らす手法として、動作す
るウェイ数を減らすことによって、実質的にキャッシュ
メモリの容量を削減することが行われている。例えば、
日立のSHシリーズでは、キャッシュメモリの容量を減
らすための低消費電力モードが採用されており、プロセ
ッサが低消費電力モードに設定されると、キャッシュの
複数のウェイのうち、1つだけが動作するようになる。
すなわち、低消費電力モードでは、ダイレクト・マップ
方式と同様の動作をするようになる。このような低消費
電力モードでは、キャッシュ容量が減り、連想度も下が
るため、ミス率は若干上がり、性能はやや低下するが、
キャッシュでの消費電力は1/2(2ウェイ・セットア
ソシアティブの場合)あるいは1/4(4ウェイ・セッ
トアソシアティブの場合)に削減することができる。
【0004】
【発明が解決しようとする課題】しかしながら、上記低
消費電力モードのように、消費電力を下げるために動作
するキャッシュメモリの容量を一律、静的に削減する方
法では、キャッシュミス率が上昇するので、外部メモリ
へのアクセスが増加し、さらに性能低下による実行時間
の増加によって、結果的に消費電力量が増加する可能性
がある。低消費電力モードに設定したことが実際の消費
電力の低下につながるかどうかは、キャッシュ容量の低
下によってどれだけミス率が上昇するかに依存している
が、ミス率は実行するアプリケーションあるいはデータ
に依存するため、一概には判断できない。したがって、
キャッシュの容量を減らすことによって、消費電力を確
実に低下させるためには、キャッシュミス率を観察しな
がら、キャッシュの容量を動的に制御する必要がある。
消費電力モードのように、消費電力を下げるために動作
するキャッシュメモリの容量を一律、静的に削減する方
法では、キャッシュミス率が上昇するので、外部メモリ
へのアクセスが増加し、さらに性能低下による実行時間
の増加によって、結果的に消費電力量が増加する可能性
がある。低消費電力モードに設定したことが実際の消費
電力の低下につながるかどうかは、キャッシュ容量の低
下によってどれだけミス率が上昇するかに依存している
が、ミス率は実行するアプリケーションあるいはデータ
に依存するため、一概には判断できない。したがって、
キャッシュの容量を減らすことによって、消費電力を確
実に低下させるためには、キャッシュミス率を観察しな
がら、キャッシュの容量を動的に制御する必要がある。
【0005】本発明の目的は、実行する応用問題に合わ
せて、最適なキャッシュ容量になるようキャッシュ容量
を制御し、性能低下を抑えつつ消費電力を削減できる手
法を提供することである。
せて、最適なキャッシュ容量になるようキャッシュ容量
を制御し、性能低下を抑えつつ消費電力を削減できる手
法を提供することである。
【0006】
【課題を解決するための手段】本発明に係るキャッシュ
メモリは、複数のウェイを有するセットアソシアティブ
方式のキャッシュメモリにおいて、キャッシュのミス率
を測定するミス率測定手段と、該ミス率測定手段から得
られるミス率の変化に基づいて、動作させるウェイ数を
判断するウェイ数判断手段と、該ウェイ数判断手段の判
断に基づいて、各ウェイを動作させるウェイ動作制御手
段と、から構成される。
メモリは、複数のウェイを有するセットアソシアティブ
方式のキャッシュメモリにおいて、キャッシュのミス率
を測定するミス率測定手段と、該ミス率測定手段から得
られるミス率の変化に基づいて、動作させるウェイ数を
判断するウェイ数判断手段と、該ウェイ数判断手段の判
断に基づいて、各ウェイを動作させるウェイ動作制御手
段と、から構成される。
【0007】ミス率測定手段は、メモリアクセス毎にキ
ャッシュミスを測定し、例えば、一定時間毎に、メモリ
アクセス回数に対するキャッシュミス回数の比であるミ
ス率を示す値をミス率測定キューに格納する。ウェイ数
判断手段は、例えば、ミス率格納キューに格納されてい
るミス率の変化によって、最適のウェイ数を判断し、ウ
ェイ数の増減をウェイ動作制御手段に指示する。
ャッシュミスを測定し、例えば、一定時間毎に、メモリ
アクセス回数に対するキャッシュミス回数の比であるミ
ス率を示す値をミス率測定キューに格納する。ウェイ数
判断手段は、例えば、ミス率格納キューに格納されてい
るミス率の変化によって、最適のウェイ数を判断し、ウ
ェイ数の増減をウェイ動作制御手段に指示する。
【0008】また、ウェイ数判断手段は、ウェイ数を増
加させることによって、ミス率が減少しなければ、ウェ
イ数を元に戻し、ウェイ数を減少させることによって、
ミス率が増加すれば、ウェイ数を元に戻すよう制御す
る。
加させることによって、ミス率が減少しなければ、ウェ
イ数を元に戻し、ウェイ数を減少させることによって、
ミス率が増加すれば、ウェイ数を元に戻すよう制御す
る。
【0009】ウェイ動作制御手段は、ウェイ数判断手段
の指示に基づいて、例えば、動作させるウェイのみに電
源を供給し、動作させないウェイには電源を供給しない
ようにする。この結果、キャッシュミス率に応じて、性
能低下を抑えつつ、動作するウェイ数が制御され、結果
的に消費電力が削減される。
の指示に基づいて、例えば、動作させるウェイのみに電
源を供給し、動作させないウェイには電源を供給しない
ようにする。この結果、キャッシュミス率に応じて、性
能低下を抑えつつ、動作するウェイ数が制御され、結果
的に消費電力が削減される。
【0010】また、前記ウェイ数判断手段が、キャッシ
ュミス時に更新される第1のカウンタ手段と、メモリア
クセス時に更新される第2のカウンタ手段と、少なくと
も1つのミス率を示す値を格納するキューから構成され
るようにし、前記第1のカウンタ手段が示す値が所定値
に達した時、前記第2のカウンタ手段が示す値の最上位
ビットの位置に対応する値をミス率を示す値として、前
記キューに格納するようにしてもよい。
ュミス時に更新される第1のカウンタ手段と、メモリア
クセス時に更新される第2のカウンタ手段と、少なくと
も1つのミス率を示す値を格納するキューから構成され
るようにし、前記第1のカウンタ手段が示す値が所定値
に達した時、前記第2のカウンタ手段が示す値の最上位
ビットの位置に対応する値をミス率を示す値として、前
記キューに格納するようにしてもよい。
【0011】更に、前記ウェイ数判断手段の判断に基づ
きウェイ数を減らす場合、キャッシュがミスしたとき、
新データは、必ず動作を続けるウェイへロードし、動作
を止めるウェイからのデータの読み出しがヒットした場
合、読み出しデータを含むラインを動作を続けるウェイ
の所定の場所にコピーし、動作を止めるウェイへのデー
タの書き込みがヒットした場合、更新された該当ライン
を動作を続けるウェイへもロードする動作を所定時間の
あいだ行うようにしてもよい。
きウェイ数を減らす場合、キャッシュがミスしたとき、
新データは、必ず動作を続けるウェイへロードし、動作
を止めるウェイからのデータの読み出しがヒットした場
合、読み出しデータを含むラインを動作を続けるウェイ
の所定の場所にコピーし、動作を止めるウェイへのデー
タの書き込みがヒットした場合、更新された該当ライン
を動作を続けるウェイへもロードする動作を所定時間の
あいだ行うようにしてもよい。
【0012】本発明に係る情報処理装置は、上記の本発
明に係るキャッシュメモリを備えるもので、ここでの情
報処理装置とは、例えば、マイクロプロセッサ、中央処
理装置、周辺処理装置等のキャッシュメモリを有する装
置である。
明に係るキャッシュメモリを備えるもので、ここでの情
報処理装置とは、例えば、マイクロプロセッサ、中央処
理装置、周辺処理装置等のキャッシュメモリを有する装
置である。
【0013】
【発明の実施の形態】以下、本発明の実施の形態につい
て添付の図面に基づいて詳細に説明する。
て添付の図面に基づいて詳細に説明する。
【0014】図1は、本発明の実施の1形態であるキャ
ッシュメモリの構成を示す図である。図1に示したキャ
ッシュメモリは、ウェイ0とウェイ1からなる2ウェイ
・セットアソシアティブ方式による構成をとる。そし
て、各ウェイ毎に、キャッシュタグメモリ110、比較
器120、キャッシュデータRAM130及びバス・ト
ランシーバー131を具備する。さらにキャッシュ全体
に対して、ミス率測定回路140、ウェイ数制御回路1
50、パワー制御回路160、アドレスバス170、デ
ータバス180及びキャッシュコントローラ190を備
える。
ッシュメモリの構成を示す図である。図1に示したキャ
ッシュメモリは、ウェイ0とウェイ1からなる2ウェイ
・セットアソシアティブ方式による構成をとる。そし
て、各ウェイ毎に、キャッシュタグメモリ110、比較
器120、キャッシュデータRAM130及びバス・ト
ランシーバー131を具備する。さらにキャッシュ全体
に対して、ミス率測定回路140、ウェイ数制御回路1
50、パワー制御回路160、アドレスバス170、デ
ータバス180及びキャッシュコントローラ190を備
える。
【0015】キャッシュタグメモリ110は、アドレス
バス170上のアドレスのインデックス部によってアド
レス指定され、アドレスのタグ部を格納/出力する。比
較器120は、キャッシュタグメモリ110から出力さ
れたタグと、アドレスバス170上のアドレスのタグ部
を比較し、両者が一致するか否かを示す信号(ヒット信
号)を出力する。キャッシュデータRAM130は、ア
ドレスバス170上のアドレスのインデックス部によっ
てアドレス指定され、タグに対応するデータを格納す
る。また、キャッシュデータRAM130は、比較器1
20がタグが一致したことを示す信号を出力すると、バ
ス・トランシーバー131を介して、データをデータバ
ス180上に出力する。
バス170上のアドレスのインデックス部によってアド
レス指定され、アドレスのタグ部を格納/出力する。比
較器120は、キャッシュタグメモリ110から出力さ
れたタグと、アドレスバス170上のアドレスのタグ部
を比較し、両者が一致するか否かを示す信号(ヒット信
号)を出力する。キャッシュデータRAM130は、ア
ドレスバス170上のアドレスのインデックス部によっ
てアドレス指定され、タグに対応するデータを格納す
る。また、キャッシュデータRAM130は、比較器1
20がタグが一致したことを示す信号を出力すると、バ
ス・トランシーバー131を介して、データをデータバ
ス180上に出力する。
【0016】ミス率測定回路140は、各ウェイの比較
器120から出力される信号(ヒット信号)等に基づい
て、キャッシュミス率を測定する。ウェイ数制御回路1
50は、ミス率測定回路140により測定されたミス率
の変動に基づいて、動作させるウェイを決定し、それを
パワー制御回路160に指示する。
器120から出力される信号(ヒット信号)等に基づい
て、キャッシュミス率を測定する。ウェイ数制御回路1
50は、ミス率測定回路140により測定されたミス率
の変動に基づいて、動作させるウェイを決定し、それを
パワー制御回路160に指示する。
【0017】パワー制御回路160は、各ウェイへの電
源供給を、各ウェイ毎に制御する。すなわち、動作させ
るウェイのキャッシュタグメモリ110、比較器12
0、キャッシュRAM130等へのみ電源を供給し、動
作しないウェイへは電源を供給しない。ウェイ数の制御
は、1ウェイ(容量は全体の1/2)、2ウェイ(すべ
て)の2種類のどちらかを選択できる。キャッシュコン
トローラ190は、キャッシュミス時の主メモリのアク
セスやキャッシュのリプレース等を制御する。
源供給を、各ウェイ毎に制御する。すなわち、動作させ
るウェイのキャッシュタグメモリ110、比較器12
0、キャッシュRAM130等へのみ電源を供給し、動
作しないウェイへは電源を供給しない。ウェイ数の制御
は、1ウェイ(容量は全体の1/2)、2ウェイ(すべ
て)の2種類のどちらかを選択できる。キャッシュコン
トローラ190は、キャッシュミス時の主メモリのアク
セスやキャッシュのリプレース等を制御する。
【0018】次に、本キャッシュメモリの動作について
説明する。ここでは、読み出し時の動作について説明す
るが、書込み時の動作も同様である。
説明する。ここでは、読み出し時の動作について説明す
るが、書込み時の動作も同様である。
【0019】まず、アドレスバス170上に、マイクロ
プロセッサの実行ユニット等によりアクセスされるアド
レスが載せられると、アドレスのインデックス部が各ウ
ェイのキャッシュタグメモリ110とキャッシュデータ
RAM130に入力される。各ウェイにおいて、キャッ
シュタグメモリ11から連想されるアドレス(タグ)が
読み出され、比較器120でアドレスバス170上のア
ドレスのタグ部とアドレス比較(タグ比較)される。同
時にキャッシュデータRAM130の上記インデックス
部によってアドレス指定されるアドレスに格納されてい
るデータが読み出される。
プロセッサの実行ユニット等によりアクセスされるアド
レスが載せられると、アドレスのインデックス部が各ウ
ェイのキャッシュタグメモリ110とキャッシュデータ
RAM130に入力される。各ウェイにおいて、キャッ
シュタグメモリ11から連想されるアドレス(タグ)が
読み出され、比較器120でアドレスバス170上のア
ドレスのタグ部とアドレス比較(タグ比較)される。同
時にキャッシュデータRAM130の上記インデックス
部によってアドレス指定されるアドレスに格納されてい
るデータが読み出される。
【0020】いずれかのウェイでアドレス比較をした結
果が一致であれば、キャッシュヒットである。この場
合、ヒットしたウェイのキャッシュデータRAM130
から読み出されたデータがバス・トランシーバー131
を介してデータバス180上にドライブされる。アドレ
ス比較した結果がすべてのウェイで不一致ならば、キャ
ッシュミスである。この場合、キャッシュコントローラ
190の制御で、主メモリがアクセスされ、キャッシュ
のリフィルが行われる。
果が一致であれば、キャッシュヒットである。この場
合、ヒットしたウェイのキャッシュデータRAM130
から読み出されたデータがバス・トランシーバー131
を介してデータバス180上にドライブされる。アドレ
ス比較した結果がすべてのウェイで不一致ならば、キャ
ッシュミスである。この場合、キャッシュコントローラ
190の制御で、主メモリがアクセスされ、キャッシュ
のリフィルが行われる。
【0021】図2は、ミス率測定回路140の構成を示
す図である。同図に示すように、ミス率測定回路140
は、キャッシュミスの回数を計測するキャッシュミスカ
ウンタ141、メモリアクセス回数を計測するメモリア
クセスカウンタ142及びミス率格納キュー143から
構成される。メモリアクセスカウンタ142は、メモリ
アクセスが行われるたびに1づつ更新される。キャッシ
ュミスカウンタ141は、メモリアクセスの際に、キャ
ッシュミスが発生するたびに1づつ更新される。
す図である。同図に示すように、ミス率測定回路140
は、キャッシュミスの回数を計測するキャッシュミスカ
ウンタ141、メモリアクセス回数を計測するメモリア
クセスカウンタ142及びミス率格納キュー143から
構成される。メモリアクセスカウンタ142は、メモリ
アクセスが行われるたびに1づつ更新される。キャッシ
ュミスカウンタ141は、メモリアクセスの際に、キャ
ッシュミスが発生するたびに1づつ更新される。
【0022】そして、キャッシュミスカウンタ141が
所定値に達したとき、メモリアクセスカウンタの値の最
上位ビットの位置に対応する値を、ミス率値としてミス
率格納キュー143に格納する。前記所定値は、例え
ば、2のべき乗にすればよく、ここでは、この所定値を
256とした場合を考える。この場合、例えば、キャッ
シュミスカウンタ141は、8ビット・バイナリ・カウ
ンタで構成すればよい。
所定値に達したとき、メモリアクセスカウンタの値の最
上位ビットの位置に対応する値を、ミス率値としてミス
率格納キュー143に格納する。前記所定値は、例え
ば、2のべき乗にすればよく、ここでは、この所定値を
256とした場合を考える。この場合、例えば、キャッ
シュミスカウンタ141は、8ビット・バイナリ・カウ
ンタで構成すればよい。
【0023】ここで、このミス率値の意味について説明
する。キャッシュのミス率は、キャッシュのミス回数を
MN、メモリアクセス回数をANとすれば、MN/AN
で求められるが、実際に除算を実行するのは、ハードウ
ェア資源やスピードの点から不適当であることが多い。
そこで、本実施の形態では、キャッシュミスカウンタ1
41が所定値に達したときの、メモリアクセスカウンタ
142の値の最上位ビットの位置を、ミス率を示す値
(ミス率値)として利用する。
する。キャッシュのミス率は、キャッシュのミス回数を
MN、メモリアクセス回数をANとすれば、MN/AN
で求められるが、実際に除算を実行するのは、ハードウ
ェア資源やスピードの点から不適当であることが多い。
そこで、本実施の形態では、キャッシュミスカウンタ1
41が所定値に達したときの、メモリアクセスカウンタ
142の値の最上位ビットの位置を、ミス率を示す値
(ミス率値)として利用する。
【0024】キャッシュミスカウンタ141が所定値に
達したときのメモリアクセスカウンタ142の値は、ミ
ス率(ミス回数/アクセス回数)の逆数に対応する。す
なわち、キャッシュミス率が高くなれば、キャッシュミ
ス数が所定値に達するまでに行われるメモリアクセスの
回数は減り(キャッシュミスが100%の場合、キャッ
シュミス回数とメモリアクセス回数は等しくなり、ミス
率値は最小値をとる)、キャッシュミス率が低くなれ
ば、キャッシュミスの回数が所定値に達するまでに行わ
れるメモリアクセスの回数は増える。したがって、キャ
ッシュミスカウンタ141が所定値に達したときのメモ
リアクセスカウンタ142の値を、ミス率を示す値とし
て利用することができる。更に、本発明におけるミス率
の利用に関しては、ミス率の大まかな変動がわかればよ
いことが多いので、ここでは、実装がより容易な手法を
とる。すなわち、メモリアクセスカウンタ142の値を
そのまま使うのではなく、最上位ビットの位置をミス率
値として使う。これは、最上位ビットの位置により、メ
モリアクセスカウンタ142の値の大まかな大小がわか
るからである。
達したときのメモリアクセスカウンタ142の値は、ミ
ス率(ミス回数/アクセス回数)の逆数に対応する。す
なわち、キャッシュミス率が高くなれば、キャッシュミ
ス数が所定値に達するまでに行われるメモリアクセスの
回数は減り(キャッシュミスが100%の場合、キャッ
シュミス回数とメモリアクセス回数は等しくなり、ミス
率値は最小値をとる)、キャッシュミス率が低くなれ
ば、キャッシュミスの回数が所定値に達するまでに行わ
れるメモリアクセスの回数は増える。したがって、キャ
ッシュミスカウンタ141が所定値に達したときのメモ
リアクセスカウンタ142の値を、ミス率を示す値とし
て利用することができる。更に、本発明におけるミス率
の利用に関しては、ミス率の大まかな変動がわかればよ
いことが多いので、ここでは、実装がより容易な手法を
とる。すなわち、メモリアクセスカウンタ142の値を
そのまま使うのではなく、最上位ビットの位置をミス率
値として使う。これは、最上位ビットの位置により、メ
モリアクセスカウンタ142の値の大まかな大小がわか
るからである。
【0025】以上述べたように、キャッシュミスカウン
タ141が所定値に達したときのメモリアクセスカウン
タ142の値の最上位ビットの位置は、ミス率の逆数を
大まかに示していることになる。
タ141が所定値に達したときのメモリアクセスカウン
タ142の値の最上位ビットの位置は、ミス率の逆数を
大まかに示していることになる。
【0026】なお、キャッシュミスカウンタ141が所
定値に達し、ミス率値測定が終了した後、適当なタイミ
ングで、メモリアクセスカウンタ142はリセットされ
る。
定値に達し、ミス率値測定が終了した後、適当なタイミ
ングで、メモリアクセスカウンタ142はリセットされ
る。
【0027】このようにして測定されたミス率値は、ミ
ス率格納キュー143に格納される。
ス率格納キュー143に格納される。
【0028】ウェイ数制御回路150は、ミス率格納キ
ュー143に格納されている値から、ミス率の変動を知
ることによって、動作させるウェイ数を判断し、その判
断に基づき、各ウェイを動作させるか否かをパワー制御
回路160に指示する。このウェイ数制御回路150で
の制御について説明する。
ュー143に格納されている値から、ミス率の変動を知
ることによって、動作させるウェイ数を判断し、その判
断に基づき、各ウェイを動作させるか否かをパワー制御
回路160に指示する。このウェイ数制御回路150で
の制御について説明する。
【0029】まず、ウェイ数を削減する際に実行される
前処理について説明する。この前処理は、なんら特別な
処理をすることなしにウェイ数を削減すると、削減した
ウェイに必要なデータが存在した場合に、一時的にミス
率が増加する可能性があるのを緩和するため行われるも
ので、次のような処理を施す。
前処理について説明する。この前処理は、なんら特別な
処理をすることなしにウェイ数を削減すると、削減した
ウェイに必要なデータが存在した場合に、一時的にミス
率が増加する可能性があるのを緩和するため行われるも
ので、次のような処理を施す。
【0030】2ウェイから1ウェイに減らす場合を考え
る。この場合、ウェイ0を残し、ウェイ1の電源供給を
停止すると仮定すると、あらかじめ設定されたある一定
時間(ここでは1024回メモリアクセスを行う間とす
る)、次の処理(a)〜(c)を行う。
る。この場合、ウェイ0を残し、ウェイ1の電源供給を
停止すると仮定すると、あらかじめ設定されたある一定
時間(ここでは1024回メモリアクセスを行う間とす
る)、次の処理(a)〜(c)を行う。
【0031】(a)キャッシュがミスしたときは、新デ
ータは、必ずウェイ0へロードする。
ータは、必ずウェイ0へロードする。
【0032】(b)ウェイ1からのデータの読み出しが
ヒットした場合は、読み出しデータを含むラインをウェ
イ0の所定の場所にコピーする。これは、ウェイ1のバ
ス・トランシーバー131からデータバス180上へ出
力されたデータを、ウェイ0のバス・トランシーバー1
31を介してキャッシュデータRAM130に書き込む
ことにより行う。また、ライトバック方式のキャッシュ
の場合、最初にウェイ0に存在したラインをメモリへコ
ピーバックすることが必要になる場合がある。
ヒットした場合は、読み出しデータを含むラインをウェ
イ0の所定の場所にコピーする。これは、ウェイ1のバ
ス・トランシーバー131からデータバス180上へ出
力されたデータを、ウェイ0のバス・トランシーバー1
31を介してキャッシュデータRAM130に書き込む
ことにより行う。また、ライトバック方式のキャッシュ
の場合、最初にウェイ0に存在したラインをメモリへコ
ピーバックすることが必要になる場合がある。
【0033】(c)ウェイ1へのデータの書き込みがヒ
ットした場合、更新された該当ラインをウェイ0へもロ
ードする。これは、読み出し時と同様に、バス・トラン
シーバー131、データバス180を介して行う。ま
た、ライトバック方式の場合は、メモリーへのコピーバ
ックが必要な場合がある。
ットした場合、更新された該当ラインをウェイ0へもロ
ードする。これは、読み出し時と同様に、バス・トラン
シーバー131、データバス180を介して行う。ま
た、ライトバック方式の場合は、メモリーへのコピーバ
ックが必要な場合がある。
【0034】このような前処理を行うことで、ウェイ数
を削減した直後の一時的なミス率の増加を抑えることが
できる。
を削減した直後の一時的なミス率の増加を抑えることが
できる。
【0035】なお、上記前処理を行う時間は、メモリア
クセスカウンタ142で計測される。すなわち、メモリ
アクセスカウンタ142が所定回数(1024回)のメ
モリアクセスをカウントすると、ウェイ数制御回路15
0へ所定時間の経過を示す信号が送られる。また、ここ
では、ミス率測定回路140内のメモリアクセスカウン
タ142を利用して、前処理を実行する時間を計測して
いるが、この目的のために、独立した別のカウンタを用
意してもよい。
クセスカウンタ142で計測される。すなわち、メモリ
アクセスカウンタ142が所定回数(1024回)のメ
モリアクセスをカウントすると、ウェイ数制御回路15
0へ所定時間の経過を示す信号が送られる。また、ここ
では、ミス率測定回路140内のメモリアクセスカウン
タ142を利用して、前処理を実行する時間を計測して
いるが、この目的のために、独立した別のカウンタを用
意してもよい。
【0036】図3は、ウェイ数制御回路150が行う処
理の制御フローを示す図である。
理の制御フローを示す図である。
【0037】(1)まず、処理を開始する時点では、キ
ャッシュメモリを2ウェイに設定する(「2ウェイ処
理」)。一定の時間(ここでは、メモリアクセス102
4回分をメモリアクセスカウンタ142で計測するまで
の時間とする)の経過後、現在の処理形態に最適なウェ
イ数を判断するため、「1ウェイの前処理」へ移行す
る。
ャッシュメモリを2ウェイに設定する(「2ウェイ処
理」)。一定の時間(ここでは、メモリアクセス102
4回分をメモリアクセスカウンタ142で計測するまで
の時間とする)の経過後、現在の処理形態に最適なウェ
イ数を判断するため、「1ウェイの前処理」へ移行す
る。
【0038】(2)「1ウェイの前処理」では、完全な
1ウェイ処理に移行する前に、前述したウェイ数を1に
減らすための前処理を行う。この時、現在の処理形態に
適したウェイ数の判断も行う。すなわち、ミス率が所定
値以上増加しなければ(すなわち、ウェイ数を減らすこ
とによる影響が小さいと判断されれば)、「1ウェイ処
理」(4)へ移行する。「1ウェイの前処理」中にミス
率が所定値以上増加した場合は(すなわち、ウェイ数を
1に減らすことによる影響が大きいと判断されれば)、
ウェイ数を減らすための前処理を中止し、ウェイ数を2
に戻し、「2ウェイ処理」(3)へ戻る。
1ウェイ処理に移行する前に、前述したウェイ数を1に
減らすための前処理を行う。この時、現在の処理形態に
適したウェイ数の判断も行う。すなわち、ミス率が所定
値以上増加しなければ(すなわち、ウェイ数を減らすこ
とによる影響が小さいと判断されれば)、「1ウェイ処
理」(4)へ移行する。「1ウェイの前処理」中にミス
率が所定値以上増加した場合は(すなわち、ウェイ数を
1に減らすことによる影響が大きいと判断されれば)、
ウェイ数を減らすための前処理を中止し、ウェイ数を2
に戻し、「2ウェイ処理」(3)へ戻る。
【0039】(3)2ウェイで動作しているとき、ミス
率値が所定の範囲を超えて変化した場合、メモリアクセ
スパターンが変化したと考えられるので、変化後の処理
形態に適したウェイ数を判断するため「1ウェイの前処
理」(2)へ移行する。
率値が所定の範囲を超えて変化した場合、メモリアクセ
スパターンが変化したと考えられるので、変化後の処理
形態に適したウェイ数を判断するため「1ウェイの前処
理」(2)へ移行する。
【0040】(4)1ウェイで動作しているとき、ミス
率値が所定値を超えて変化した場合も、メモリアクセス
パターンが変化したと考えられるので、変化後の処理形
態に適したウェイ数を判断するため「2ウェイ’処理」
(5)へ移行する。
率値が所定値を超えて変化した場合も、メモリアクセス
パターンが変化したと考えられるので、変化後の処理形
態に適したウェイ数を判断するため「2ウェイ’処理」
(5)へ移行する。
【0041】(5)「2ウェイ’の処理」は、完全な2
ウェイ処理に移行する前に行う処理で、ウェイ数を2に
増加させ、これに伴うミス率の変動に基づいて、最適な
ウェイ数を判断する。ここで、ミス率値が所定値を超え
て増加した場合(すなわち、ウェイ数を増やしたことに
より、キャッシュミスが減少した場合)は、完全な2ウ
ェイ処理にするため、「2ウェイ処理」(3)へ移行す
る。ミス率値が所定値以上変化しなかった場合(すなわ
ち、ウェイ数を増やしたことによる効果が少なかった場
合)は、ウェイ数を減らすための前処理を施した後、ウ
ェイ数を1に減らし、「1ウェイ処理」(4)に移行す
る。
ウェイ処理に移行する前に行う処理で、ウェイ数を2に
増加させ、これに伴うミス率の変動に基づいて、最適な
ウェイ数を判断する。ここで、ミス率値が所定値を超え
て増加した場合(すなわち、ウェイ数を増やしたことに
より、キャッシュミスが減少した場合)は、完全な2ウ
ェイ処理にするため、「2ウェイ処理」(3)へ移行す
る。ミス率値が所定値以上変化しなかった場合(すなわ
ち、ウェイ数を増やしたことによる効果が少なかった場
合)は、ウェイ数を減らすための前処理を施した後、ウ
ェイ数を1に減らし、「1ウェイ処理」(4)に移行す
る。
【0042】以上の、制御フローにより、処理形態の変
化に応じて、最適なウェイ数での実行が可能になる。
化に応じて、最適なウェイ数での実行が可能になる。
【0043】次に、前述の制御フローに示されている、
ミス率値の変化量とウェイ数の増減との関係について説
明する。
ミス率値の変化量とウェイ数の増減との関係について説
明する。
【0044】図4は、ミス率格納キュー143に格納さ
れるミス率値、ミス率、相対実行時間の間の対応関係を
示す表である。同表中の値の計算は、キャッシュミスペ
ナルティを20クロック、メモリアクセス命令の出現頻
度を30%として、各ミス率での実行時間を算出するこ
とによって行なった。なお、相対実行時間は、キャッシ
ュミスが0の場合の算出実行時間を1とした場合の相対
値である。
れるミス率値、ミス率、相対実行時間の間の対応関係を
示す表である。同表中の値の計算は、キャッシュミスペ
ナルティを20クロック、メモリアクセス命令の出現頻
度を30%として、各ミス率での実行時間を算出するこ
とによって行なった。なお、相対実行時間は、キャッシ
ュミスが0の場合の算出実行時間を1とした場合の相対
値である。
【0045】また、ミス率値は、キャッシュミスカウン
タ141が所定値(256)をカウントした際の、メモ
リアクセスカウンタ142の値の最上位ビットの位置に
対応する値である。すなわち、ミス率値が1というの
は、キャッシュミスカウンタ141が256をカウント
した際に、メモリアクセスカウンタ142の値が256
〜511である場合を示す。また、ミス率値が2という
のは、キャッシュミスカウンタ141が256をカウン
トした際に、メモリアクセスカウンタ142の値が51
2〜1023である場合を示す。以下の値も同様であ
る。
タ141が所定値(256)をカウントした際の、メモ
リアクセスカウンタ142の値の最上位ビットの位置に
対応する値である。すなわち、ミス率値が1というの
は、キャッシュミスカウンタ141が256をカウント
した際に、メモリアクセスカウンタ142の値が256
〜511である場合を示す。また、ミス率値が2という
のは、キャッシュミスカウンタ141が256をカウン
トした際に、メモリアクセスカウンタ142の値が51
2〜1023である場合を示す。以下の値も同様であ
る。
【0046】図4からわかるように、ミス率値が7を超
えると、キャッシュミスの全実行時間に占める割合は1
0%以下となり、ミス率値の変化は、全実行時間にはほ
とんど影響しなくなると言ってよい。一方、ミス率値が
4以下では、ミス率値の変動が、全実行時間に大きな影
響を及ぼしている。したがって、図3の制御フローで
は、ミス率値が次のように変化したら、ウェイ数の増減
処理を行うものとする。すなわち、ミス率値が1〜4の
とき:ミス率値が1変化したとき。ミス率値が5〜7の
とき:ミス率値が2以上変化したとき。ミス率値が8以
上のとき:ウェイ数を増減させない。以上の値は、ミス
ペナルティに大きく依存するので、システム構成によっ
て、最適な値を設定すべきである。
えると、キャッシュミスの全実行時間に占める割合は1
0%以下となり、ミス率値の変化は、全実行時間にはほ
とんど影響しなくなると言ってよい。一方、ミス率値が
4以下では、ミス率値の変動が、全実行時間に大きな影
響を及ぼしている。したがって、図3の制御フローで
は、ミス率値が次のように変化したら、ウェイ数の増減
処理を行うものとする。すなわち、ミス率値が1〜4の
とき:ミス率値が1変化したとき。ミス率値が5〜7の
とき:ミス率値が2以上変化したとき。ミス率値が8以
上のとき:ウェイ数を増減させない。以上の値は、ミス
ペナルティに大きく依存するので、システム構成によっ
て、最適な値を設定すべきである。
【0047】また、上述した各パラメータ、すなわちウ
ェイ数を減らすための前処理時間や処理を開始してから
ウェイ数を変更する処理に入る時間は、システム構成に
応じて最適な値を設定すべきである。ここでは1024
回メモリアクセスを行う時間に設定しているが、例え
ば、キャッシュ容量が小さいときは、この値はもっと小
さくてもよい。また、ウェイ数の増減の判定を行うため
のミス率値の変化に関しては、ミスペナルティが大きい
場合、例えば20クロック以上の場合は慎重に判定を行
うべきであるし、ミスペナルティが小さい場合、例えば
10クロック以下の場合は多少大まかな判定でも差し支
えないと考えられる。
ェイ数を減らすための前処理時間や処理を開始してから
ウェイ数を変更する処理に入る時間は、システム構成に
応じて最適な値を設定すべきである。ここでは1024
回メモリアクセスを行う時間に設定しているが、例え
ば、キャッシュ容量が小さいときは、この値はもっと小
さくてもよい。また、ウェイ数の増減の判定を行うため
のミス率値の変化に関しては、ミスペナルティが大きい
場合、例えば20クロック以上の場合は慎重に判定を行
うべきであるし、ミスペナルティが小さい場合、例えば
10クロック以下の場合は多少大まかな判定でも差し支
えないと考えられる。
【0048】また、上述したように、ここでは、所定の
ミス回数に達したときのメモリアクセス回数の最上位ビ
ットの位置の変化で、ミス率変動の判定を行っている
が、もう少し厳密な判定方法も考えられる。例えば、所
定のミス回数でメモリアクセス回数を割った値、すなわ
ち、ミス率の逆数を正確に求め、差分器で差を求めるこ
とによって、厳密に変位を求めてもよい。
ミス回数に達したときのメモリアクセス回数の最上位ビ
ットの位置の変化で、ミス率変動の判定を行っている
が、もう少し厳密な判定方法も考えられる。例えば、所
定のミス回数でメモリアクセス回数を割った値、すなわ
ち、ミス率の逆数を正確に求め、差分器で差を求めるこ
とによって、厳密に変位を求めてもよい。
【0049】また、本実施の形態では、2ウェイ・セッ
トアソシアティブの場合の構成について示したが、本発
明は、2ウェイに限定されるものではない。例えば、4
ウェイ・セットアソシアティブ構成の場合では、4つの
ウェイすべてを動作させるモードと、1つのウェイのみ
を動作させるモードとを設ければ、前述の2ウェイ・セ
ットアソシアティブの場合と同様の制御にて実現でき
る。また、4ウェイ・セットアソシアティブの場合、4
ウェイ動作モード、2ウェイ動作モード、1ウェイ動作
モードの3つのモードを設定するようにすることも可能
である。
トアソシアティブの場合の構成について示したが、本発
明は、2ウェイに限定されるものではない。例えば、4
ウェイ・セットアソシアティブ構成の場合では、4つの
ウェイすべてを動作させるモードと、1つのウェイのみ
を動作させるモードとを設ければ、前述の2ウェイ・セ
ットアソシアティブの場合と同様の制御にて実現でき
る。また、4ウェイ・セットアソシアティブの場合、4
ウェイ動作モード、2ウェイ動作モード、1ウェイ動作
モードの3つのモードを設定するようにすることも可能
である。
【0050】また、ミス率格納キュー143は、最低
限、1つ分のミス率値を格納できれば、前回と今回のミ
ス率値を比べることによって、ミス率の変動を判別する
ことができるが、複数のミス率をキューイングできるよ
うにすることで、プロセス切り替え等による一時的なキ
ャッシュミス率の増加に影響されずに、比較的長期的な
アクセスパターンの変動に基づいて、動作させるウェイ
数を決めることができるようになる。
限、1つ分のミス率値を格納できれば、前回と今回のミ
ス率値を比べることによって、ミス率の変動を判別する
ことができるが、複数のミス率をキューイングできるよ
うにすることで、プロセス切り替え等による一時的なキ
ャッシュミス率の増加に影響されずに、比較的長期的な
アクセスパターンの変動に基づいて、動作させるウェイ
数を決めることができるようになる。
【0051】なお、動作させるウェイ数を減らす際、上
記したような前処理を行なわず、即座に停止対象のウェ
イの動作を止めたり(ライト・スルー方式の場合)、更
新されているデータのコピーバック後、停止対象のウェ
イの動作を止めたり(ライト・バック方式の場合)する
ようにしてもよい。この場合、ある一定期間(例えば1
024回メモリアクセスをする間)ミス率の一時的な上
昇を無視するようにすればよい。
記したような前処理を行なわず、即座に停止対象のウェ
イの動作を止めたり(ライト・スルー方式の場合)、更
新されているデータのコピーバック後、停止対象のウェ
イの動作を止めたり(ライト・バック方式の場合)する
ようにしてもよい。この場合、ある一定期間(例えば1
024回メモリアクセスをする間)ミス率の一時的な上
昇を無視するようにすればよい。
【0052】
【発明の効果】以上詳細に説明したように、本発明によ
れば、キャッシュミス率に影響を与えない余剰のキャッ
シュメモリへの電源をカットすることにより、性能低下
を押さえつつ、キャッシュメモリでの消費電力を著しく
低下させることができる。
れば、キャッシュミス率に影響を与えない余剰のキャッ
シュメモリへの電源をカットすることにより、性能低下
を押さえつつ、キャッシュメモリでの消費電力を著しく
低下させることができる。
【図1】本発明によるキャッシュメモリの構成図であ
る。
る。
【図2】本発明によるミス率測定回路の構成図である。
【図3】本発明によるウェイ数制御回路の制御フロー図
である。
である。
【図4】本発明によるキャッシュメモリにおける、ミス
率値、ミス率及び実行時間の関係を示す表である。
率値、ミス率及び実行時間の関係を示す表である。
110 キャッシュタグメモリ 120 比較器 130 キャッシュデータRAM 131 バス・トランシーバー 140 ミス率測定回路 141 キャッシュミスカウンタ 142 メモリアクセスカウンタ 143 ミス率格納キュー 150 ウェイ数制御回路 160 パワー制御回路 170 アドレスバス 180 データバス 190 キャッシュコントローラ
Claims (5)
- 【請求項1】 複数のウェイを有するセットアソシアテ
ィブ方式のキャッシュメモリにおいて、 キャッシュのミス率を測定するミス率測定手段と、 該ミス率測定手段から得られるミス率の変化に基づい
て、動作させるウェイ数を判断するウェイ数判断手段
と、 該ウェイ数判断手段の判断に基づいて、各ウェイを動作
させるウェイ動作制御手段と、 から構成されることを特徴とするキャッシュメモリ。 - 【請求項2】 前記ウェイ動作制御手段は、ウェイ毎に
供給する電源を制御することにより、各ウェイの動作を
制御することを特徴とする請求項1に記載のキャッシュ
メモリ。 - 【請求項3】 前記ウェイ数判断手段は、キャッシュミ
ス時に更新される第1のカウンタ手段と、メモリアクセ
ス時に更新される第2のカウンタ手段と、少なくとも1
つのミス率を示す値を格納するキューから構成され、 前記第1のカウンタ手段が示す値が所定値に達した時、
前記第2のカウンタ手段が示す値の最上位ビットの位置
に対応する値を、ミス率を示す値として前記キューに格
納することを特徴とする請求項1に記載のキャッシュメ
モリ。 - 【請求項4】 前記ウェイ数判断手段の判断に基づきウ
ェイ数を減らす場合、 キャッシュがミスしたとき、新データは、必ず動作を続
けるウェイへロードし、 動作を止めるウェイからのデータの読み出しがヒットし
た場合、読み出しデータを含むラインを動作を続けるウ
ェイの所定の場所にコピーし、 動作を止めるウェイへのデータの書き込みがヒットした
場合、更新された該当ラインを動作を続けるウェイへも
ロードする動作を所定時間のあいだ行うことを特徴とす
る請求項1に記載のキャッシュメモリ。 - 【請求項5】 請求項1〜請求項4のいずれか一項に記
載のキャッシュメモリを備えたことを特徴とする情報処
理装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7203533A JPH0950401A (ja) | 1995-08-09 | 1995-08-09 | キャッシュメモリ及びそれを備えた情報処理装置 |
| US08/694,303 US5761715A (en) | 1995-08-09 | 1996-08-08 | Information processing device and cache memory with adjustable number of ways to reduce power consumption based on cache miss ratio |
| GB9616815A GB2304215B (en) | 1995-08-09 | 1996-08-09 | Cache memory and information processing device including cache memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7203533A JPH0950401A (ja) | 1995-08-09 | 1995-08-09 | キャッシュメモリ及びそれを備えた情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0950401A true JPH0950401A (ja) | 1997-02-18 |
Family
ID=16475735
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7203533A Pending JPH0950401A (ja) | 1995-08-09 | 1995-08-09 | キャッシュメモリ及びそれを備えた情報処理装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5761715A (ja) |
| JP (1) | JPH0950401A (ja) |
| GB (1) | GB2304215B (ja) |
Cited By (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7120745B2 (en) | 2002-07-05 | 2006-10-10 | Fujitsu Limited | Cache memory device and memory allocation method |
| JP2007048286A (ja) * | 2005-08-05 | 2007-02-22 | Fujitsu Ltd | キャッシュにおける電力消費削減方法、論理装置及びシステム |
| JP2007048285A (ja) * | 2005-08-05 | 2007-02-22 | Fujitsu Ltd | キャッシュにおける電力消費削減方法、論理装置及びシステム |
| JP2007072883A (ja) * | 2005-09-08 | 2007-03-22 | Matsushita Electric Ind Co Ltd | キャッシュメモリ解析方法、プロセッサおよび模擬情報処理装置 |
| JP2007200213A (ja) * | 2006-01-30 | 2007-08-09 | Nec Corp | 情報処理装置、エントリ構成制御方法及びプログラム |
| JP2008234320A (ja) * | 2007-03-20 | 2008-10-02 | Fujitsu Ltd | キャッシュ制御回路 |
| US7437513B2 (en) | 2004-04-30 | 2008-10-14 | Nec Corporation | Cache memory with the number of operated ways being changed according to access pattern |
| JP2009505306A (ja) * | 2005-08-22 | 2009-02-05 | インテル・コーポレーション | 電力削減のための動的メモリサイジング |
| JP2009251713A (ja) * | 2008-04-02 | 2009-10-29 | Toshiba Corp | キャッシュメモリ制御装置 |
| JP2009282880A (ja) * | 2008-05-26 | 2009-12-03 | Fujitsu Ltd | キャッシュメモリシステム |
| WO2010137164A1 (ja) * | 2009-05-29 | 2010-12-02 | 富士通株式会社 | キャッシュ制御装置およびキャッシュ制御方法 |
| WO2011045931A1 (ja) * | 2009-10-14 | 2011-04-21 | パナソニック株式会社 | 情報処理装置 |
| US8117397B2 (en) | 2008-12-16 | 2012-02-14 | International Business Machines Corporation | Victim cache line selection |
| US8285939B2 (en) | 2009-04-08 | 2012-10-09 | International Business Machines Corporation | Lateral castout target selection |
| JP2013529816A (ja) * | 2010-06-24 | 2013-07-22 | インテル・コーポレーション | メモリデバイスの消費電力を減らす方法およびシステム |
| US8949540B2 (en) | 2009-03-11 | 2015-02-03 | International Business Machines Corporation | Lateral castout (LCO) of victim cache line in data-invalid state |
| KR101490072B1 (ko) * | 2014-01-28 | 2015-02-06 | 한양대학교 산학협력단 | 캐시의 전력 제어를 위한 장치 및 방법 |
| US9189403B2 (en) | 2009-12-30 | 2015-11-17 | International Business Machines Corporation | Selective cache-to-cache lateral castouts |
| JP2016130893A (ja) * | 2015-01-13 | 2016-07-21 | 富士通株式会社 | キャッシュ制御方法及びキャッシュ制御装置 |
| JP2017194947A (ja) * | 2016-04-18 | 2017-10-26 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | キャッシュメモリの利用トレンドに基づく複数セットグループ内のウェイごとの動的パワー供給 |
Families Citing this family (63)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09223068A (ja) * | 1996-02-15 | 1997-08-26 | Toshiba Microelectron Corp | キャッシュメモリ |
| US6173410B1 (en) * | 1996-08-21 | 2001-01-09 | Texas Instruments Incorporated | Microprocessor circuits, systems and methods for conditioning information prefetching based on resource burden |
| US5870616A (en) * | 1996-10-04 | 1999-02-09 | International Business Machines Corporation | System and method for reducing power consumption in an electronic circuit |
| US7139872B1 (en) * | 1997-04-04 | 2006-11-21 | Emc Corporation | System and method for assessing the effectiveness of a cache memory or portion thereof using FIFO or LRU using cache utilization statistics |
| KR19990017082A (ko) * | 1997-08-21 | 1999-03-15 | 유기범 | 직병렬 선택 캐쉬 장치 |
| US6401212B1 (en) | 1997-08-21 | 2002-06-04 | Texas Instruments Incorporated | Microprocessor circuits, systems, and methods for conditioning information prefetching based on resource burden |
| US5974505A (en) * | 1997-09-02 | 1999-10-26 | International Business Machines Corporation | Method and system for reducing power consumption of a non-blocking cache within a data processing system |
| US6138209A (en) * | 1997-09-05 | 2000-10-24 | International Business Machines Corporation | Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof |
| US6434671B2 (en) * | 1997-09-30 | 2002-08-13 | Intel Corporation | Software-controlled cache memory compartmentalization |
| US6275782B1 (en) | 1998-05-05 | 2001-08-14 | Advanced Micro Devices, Inc. | Non-intrusive performance monitoring |
| US6347379B1 (en) * | 1998-09-25 | 2002-02-12 | Intel Corporation | Reducing power consumption of an electronic device |
| US6425056B2 (en) * | 1998-10-26 | 2002-07-23 | Micron Technology, Inc. | Method for controlling a direct mapped or two way set associative cache memory in a computer system |
| JP3798563B2 (ja) | 1999-01-06 | 2006-07-19 | 株式会社東芝 | 命令キャッシュメモリ |
| KR100798020B1 (ko) * | 2000-04-12 | 2008-01-24 | 엔엑스피 비 브이 | 데이터 처리 회로, 데이터 처리 회로를 포함하는 장치, 그리고 장치를 위한 컴퓨터 독출 가능 저장 매체 |
| EP1182567B1 (en) | 2000-08-21 | 2012-03-07 | Texas Instruments France | Software controlled cache configuration |
| US6535959B1 (en) * | 2000-09-05 | 2003-03-18 | Conexant Systems, Inc. | Circuit and method for reducing power consumption in an instruction cache |
| US6684298B1 (en) | 2000-11-09 | 2004-01-27 | University Of Rochester | Dynamic reconfigurable memory hierarchy |
| JP2003099250A (ja) * | 2001-09-20 | 2003-04-04 | Oki Electric Ind Co Ltd | レジスタ読み出し回路及びマイクロプロセッサ |
| US6976181B2 (en) * | 2001-12-20 | 2005-12-13 | Intel Corporation | Method and apparatus for enabling a low power mode for a processor |
| US7360023B2 (en) * | 2003-09-30 | 2008-04-15 | Starcore, Llc | Method and system for reducing power consumption in a cache memory |
| US7127560B2 (en) * | 2003-10-14 | 2006-10-24 | International Business Machines Corporation | Method of dynamically controlling cache size |
| US7464246B2 (en) * | 2004-09-30 | 2008-12-09 | International Business Machines Corporation | System and method for dynamic sizing of cache sequential list |
| US7257678B2 (en) * | 2004-10-01 | 2007-08-14 | Advanced Micro Devices, Inc. | Dynamic reconfiguration of cache memory |
| US7636812B2 (en) * | 2005-03-22 | 2009-12-22 | Panasonic Corporation | Cache memory control method and cache memory control device |
| CN101151599B (zh) * | 2005-03-31 | 2011-08-03 | 株式会社半导体能源研究所 | 算术处理装置和使用算术处理装置的电子设备 |
| US7861055B2 (en) * | 2005-06-07 | 2010-12-28 | Broadcom Corporation | Method and system for on-chip configurable data ram for fast memory and pseudo associative caches |
| US7818747B1 (en) * | 2005-11-03 | 2010-10-19 | Oracle America, Inc. | Cache-aware scheduling for a chip multithreading processor |
| US7873820B2 (en) * | 2005-11-15 | 2011-01-18 | Mips Technologies, Inc. | Processor utilizing a loop buffer to reduce power consumption |
| US7562191B2 (en) * | 2005-11-15 | 2009-07-14 | Mips Technologies, Inc. | Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme |
| US7496771B2 (en) * | 2005-11-15 | 2009-02-24 | Mips Technologies, Inc. | Processor accessing a scratch pad on-demand to reduce power consumption |
| US7904658B2 (en) * | 2005-11-30 | 2011-03-08 | International Business Machines Corporation | Structure for power-efficient cache memory |
| US7657708B2 (en) | 2006-08-18 | 2010-02-02 | Mips Technologies, Inc. | Methods for reducing data cache access power in a processor using way selection bits |
| US7650465B2 (en) | 2006-08-18 | 2010-01-19 | Mips Technologies, Inc. | Micro tag array having way selection bits for reducing data cache access power |
| US8032734B2 (en) | 2006-09-06 | 2011-10-04 | Mips Technologies, Inc. | Coprocessor load data queue for interfacing an out-of-order execution unit with an in-order coprocessor |
| US7647475B2 (en) | 2006-09-06 | 2010-01-12 | Mips Technologies, Inc. | System for synchronizing an in-order co-processor with an out-of-order processor using a co-processor interface store data queue |
| US7594079B2 (en) | 2006-09-29 | 2009-09-22 | Mips Technologies, Inc. | Data cache virtual hint way prediction, and applications thereof |
| US9946547B2 (en) | 2006-09-29 | 2018-04-17 | Arm Finance Overseas Limited | Load/store unit for a processor, and applications thereof |
| US8078846B2 (en) | 2006-09-29 | 2011-12-13 | Mips Technologies, Inc. | Conditional move instruction formed into one decoded instruction to be graduated and another decoded instruction to be invalidated |
| US8225046B2 (en) | 2006-09-29 | 2012-07-17 | Intel Corporation | Method and apparatus for saving power by efficiently disabling ways for a set-associative cache |
| US7606976B2 (en) * | 2006-10-27 | 2009-10-20 | Advanced Micro Devices, Inc. | Dynamically scalable cache architecture |
| US8601234B2 (en) * | 2007-11-07 | 2013-12-03 | Qualcomm Incorporated | Configurable translation lookaside buffer |
| US8364896B2 (en) * | 2008-09-20 | 2013-01-29 | Freescale Semiconductor, Inc. | Method and apparatus for configuring a unified cache based on an associated error rate |
| US8316186B2 (en) * | 2008-09-20 | 2012-11-20 | Freescale Semiconductor, Inc. | Method and apparatus for managing cache reliability based on an associated error rate |
| JP2010146205A (ja) * | 2008-12-17 | 2010-07-01 | Toshiba Corp | キャッシュメモリ装置及び画像処理装置 |
| US8230176B2 (en) * | 2009-06-26 | 2012-07-24 | International Business Machines Corporation | Reconfigurable cache |
| US8627008B2 (en) * | 2010-02-04 | 2014-01-07 | International Business Machines Corporation | Memory access prediction |
| JP6012263B2 (ja) | 2011-06-09 | 2016-10-25 | 株式会社半導体エネルギー研究所 | 半導体記憶装置 |
| KR101933741B1 (ko) | 2011-06-09 | 2018-12-28 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 캐시 메모리 및 캐시 메모리의 구동 방법 |
| US10877669B1 (en) * | 2011-06-30 | 2020-12-29 | Amazon Technologies, Inc. | System and method for providing a committed throughput level in a data store |
| US20130145101A1 (en) * | 2011-12-06 | 2013-06-06 | Lisa Hsu | Method and Apparatus for Controlling an Operating Parameter of a Cache Based on Usage |
| WO2013100940A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Cache memory staged reopen |
| US9135182B2 (en) | 2012-06-01 | 2015-09-15 | Semiconductor Energy Laboratory Co., Ltd. | Central processing unit and driving method thereof |
| US8977817B2 (en) * | 2012-09-28 | 2015-03-10 | Apple Inc. | System cache with fine grain power management |
| CN104756077B (zh) | 2012-10-25 | 2018-04-10 | 英派尔科技开发有限公司 | 安全系统时间报告 |
| US9400544B2 (en) * | 2013-04-02 | 2016-07-26 | Apple Inc. | Advanced fine-grained cache power management |
| US8984227B2 (en) * | 2013-04-02 | 2015-03-17 | Apple Inc. | Advanced coarse-grained cache power management |
| US9396122B2 (en) | 2013-04-19 | 2016-07-19 | Apple Inc. | Cache allocation scheme optimized for browsing applications |
| JP6130750B2 (ja) * | 2013-07-16 | 2017-05-17 | 株式会社東芝 | メモリ制御回路およびプロセッサ |
| CN105917345B (zh) * | 2013-12-04 | 2019-02-05 | 英派尔科技开发有限公司 | 虚拟机之间的边信道攻击的检测 |
| JP6347055B2 (ja) * | 2014-03-28 | 2018-06-27 | パナソニックIpマネジメント株式会社 | 不揮発性メモリ装置 |
| GB2547939B (en) * | 2016-03-04 | 2020-04-22 | Advanced Risc Mach Ltd | Cache power management |
| KR102462507B1 (ko) * | 2017-06-29 | 2022-11-02 | 삼성전자주식회사 | 프로세서, 이를 포함하는 컴퓨팅 장치 및 프로세서 저전력 모드 진입 방법 |
| KR20240116283A (ko) * | 2023-01-20 | 2024-07-29 | 삼성전자주식회사 | 세트 연관 캐시의 동작 방법 및 세트 연관 캐시를 포함하는 시스템 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
| JPH01154261A (ja) * | 1987-12-11 | 1989-06-16 | Toshiba Corp | 情報処理装置 |
| GB2244158B (en) * | 1990-04-30 | 1994-09-07 | Sun Microsystems Inc | Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations |
| EP0617812B1 (en) * | 1991-12-17 | 1998-03-04 | Compaq Computer Corporation | Apparatus for reducing computer system power consumption |
| US5509135A (en) * | 1992-09-25 | 1996-04-16 | Digital Equipment Corporation | Multi-index multi-way set-associative cache |
| US5452440A (en) * | 1993-07-16 | 1995-09-19 | Zitel Corporation | Method and structure for evaluating and enhancing the performance of cache memory systems |
| US5430683A (en) * | 1994-03-15 | 1995-07-04 | Intel Corporation | Method and apparatus for reducing power in on-chip tag SRAM |
-
1995
- 1995-08-09 JP JP7203533A patent/JPH0950401A/ja active Pending
-
1996
- 1996-08-08 US US08/694,303 patent/US5761715A/en not_active Expired - Fee Related
- 1996-08-09 GB GB9616815A patent/GB2304215B/en not_active Expired - Fee Related
Cited By (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7120745B2 (en) | 2002-07-05 | 2006-10-10 | Fujitsu Limited | Cache memory device and memory allocation method |
| US7437513B2 (en) | 2004-04-30 | 2008-10-14 | Nec Corporation | Cache memory with the number of operated ways being changed according to access pattern |
| JP2007048286A (ja) * | 2005-08-05 | 2007-02-22 | Fujitsu Ltd | キャッシュにおける電力消費削減方法、論理装置及びシステム |
| JP2007048285A (ja) * | 2005-08-05 | 2007-02-22 | Fujitsu Ltd | キャッシュにおける電力消費削減方法、論理装置及びシステム |
| JP2009505306A (ja) * | 2005-08-22 | 2009-02-05 | インテル・コーポレーション | 電力削減のための動的メモリサイジング |
| JP2007072883A (ja) * | 2005-09-08 | 2007-03-22 | Matsushita Electric Ind Co Ltd | キャッシュメモリ解析方法、プロセッサおよび模擬情報処理装置 |
| JP2007200213A (ja) * | 2006-01-30 | 2007-08-09 | Nec Corp | 情報処理装置、エントリ構成制御方法及びプログラム |
| JP2008234320A (ja) * | 2007-03-20 | 2008-10-02 | Fujitsu Ltd | キャッシュ制御回路 |
| JP2009251713A (ja) * | 2008-04-02 | 2009-10-29 | Toshiba Corp | キャッシュメモリ制御装置 |
| JP2009282880A (ja) * | 2008-05-26 | 2009-12-03 | Fujitsu Ltd | キャッシュメモリシステム |
| US8117397B2 (en) | 2008-12-16 | 2012-02-14 | International Business Machines Corporation | Victim cache line selection |
| US8949540B2 (en) | 2009-03-11 | 2015-02-03 | International Business Machines Corporation | Lateral castout (LCO) of victim cache line in data-invalid state |
| US8285939B2 (en) | 2009-04-08 | 2012-10-09 | International Business Machines Corporation | Lateral castout target selection |
| WO2010137164A1 (ja) * | 2009-05-29 | 2010-12-02 | 富士通株式会社 | キャッシュ制御装置およびキャッシュ制御方法 |
| JP5338905B2 (ja) * | 2009-05-29 | 2013-11-13 | 富士通株式会社 | キャッシュ制御装置およびキャッシュ制御方法 |
| WO2011045931A1 (ja) * | 2009-10-14 | 2011-04-21 | パナソニック株式会社 | 情報処理装置 |
| US9189403B2 (en) | 2009-12-30 | 2015-11-17 | International Business Machines Corporation | Selective cache-to-cache lateral castouts |
| JP2013529816A (ja) * | 2010-06-24 | 2013-07-22 | インテル・コーポレーション | メモリデバイスの消費電力を減らす方法およびシステム |
| KR101490072B1 (ko) * | 2014-01-28 | 2015-02-06 | 한양대학교 산학협력단 | 캐시의 전력 제어를 위한 장치 및 방법 |
| JP2016130893A (ja) * | 2015-01-13 | 2016-07-21 | 富士通株式会社 | キャッシュ制御方法及びキャッシュ制御装置 |
| JP2017194947A (ja) * | 2016-04-18 | 2017-10-26 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | キャッシュメモリの利用トレンドに基づく複数セットグループ内のウェイごとの動的パワー供給 |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2304215B (en) | 1997-08-20 |
| US5761715A (en) | 1998-06-02 |
| GB2304215A (en) | 1997-03-12 |
| GB9616815D0 (en) | 1996-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0950401A (ja) | キャッシュメモリ及びそれを備えた情報処理装置 | |
| US12124373B2 (en) | Method and apparatus for controlling cache line storage in cache memory | |
| US8108629B2 (en) | Method and computer for reducing power consumption of a memory | |
| EP3236359B1 (en) | Dynamic powering of cache memory by ways within multiple set groups based on utilization trends | |
| US5822757A (en) | Computer system with multi-buffer data cache for prefetching data having different temporal and spatial localities | |
| US7437513B2 (en) | Cache memory with the number of operated ways being changed according to access pattern | |
| US6983356B2 (en) | High performance memory device-state aware chipset prefetcher | |
| CN100356348C (zh) | 一种支持处理器的功率操作模式的高速缓存存储器 | |
| US6766419B1 (en) | Optimization of cache evictions through software hints | |
| US6557080B1 (en) | Cache with dynamic control of sub-block fetching | |
| US7925840B2 (en) | Data processing apparatus and method for managing snoop operations | |
| US20100318742A1 (en) | Partitioned Replacement For Cache Memory | |
| GB2385174A (en) | Memory control within data processing systems | |
| JPH10154098A (ja) | キャッシュを有するデータ処理システムおよびそのための方法 | |
| JP2018156573A (ja) | メモリ装置および情報処理システム | |
| US11036639B2 (en) | Cache apparatus and method that facilitates a reduction in energy consumption through use of first and second data arrays | |
| US5920890A (en) | Distributed tag cache memory system and method for storing data in the same | |
| JP4519151B2 (ja) | キャッシュ制御回路 | |
| EP1030243B1 (en) | Optimized hardware cleaning function for virtual index virtual tag data cache | |
| WO2001038970A2 (en) | Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks | |
| US7353337B2 (en) | Reducing cache effects of certain code pieces | |
| US6801982B2 (en) | Read prediction algorithm to provide low latency reads with SDRAM cache | |
| CN109521949A (zh) | 一种基于混合便签式存储器的感知写频率数据分配方法 | |
| US20040199723A1 (en) | Low-power cache and method for operating same | |
| US20030041213A1 (en) | Method and apparatus for using a cache memory |