JP5217432B2 - セクタ機能付きキャッシュメモリ - Google Patents
セクタ機能付きキャッシュメモリ Download PDFInfo
- Publication number
- JP5217432B2 JP5217432B2 JP2007341423A JP2007341423A JP5217432B2 JP 5217432 B2 JP5217432 B2 JP 5217432B2 JP 2007341423 A JP2007341423 A JP 2007341423A JP 2007341423 A JP2007341423 A JP 2007341423A JP 5217432 B2 JP5217432 B2 JP 5217432B2
- Authority
- JP
- Japan
- Prior art keywords
- sector
- cache
- way
- replacement
- ways
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/12—Replacement control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
キャッシュメモリ1401は、複数のセットで構成されており、各セットは、例えば#1〜#4の複数のキャッシュウェイ(以降、単に「ウェイ」と略すこともある)1402に分けて管理されている。即ち、図14の例は、4ウェイのセット・アソシアティブ方式のキャッシュメモリを示している。
特許文献1に記載の従来技術は、(1)通常のキャッシュメモリ領域と(2)スクラッチパッド(またはローカルメモリ)領域、に分割して使用することができるキャッシュメモリについて開示している。
また、キャッシュラインもしくはキャッシュウェイをロックする従来技術では、プログラマがロックを解除するための操作(アンロック操作と呼ぶ)を行うことを忘れたり、誤って全てのキャッシュ領域をロックしてしまった場合などに、キャッシュシステムが正常に動作しなくなり、最終的にはシステムが停止するといった問題が容易に発生し得る。そして、アンロックするための専用ハードウェア機構が必要となり、追加ハードウェアコストが大きいという問題点を有していた。
セクタID情報記憶部(例えば図2のセクタID・RAM203)は、メモリアクセス要求により特定されるキャッシュブロックの各キャッシュウェイに対応させて、その各キャッシュウェイの置換状態を制御するために定義され2つ以上の論理値を取り得るセクタID情報を記憶する。このセクタID情報は例えば2つの論理値又は3つ以上の論理値をとり得る。
セクタID情報更新部(例えば図3のセレクタ307)は、メモリアクセス要求により特定されるキャッシュブロックの置換ウェイにより指定されるキャッシュウェイに対応してセクタID情報記憶部に記憶されているセクタID情報を、メモリアクセス要求に付加されたセクタID情報によって更新する。
最大ウェイ数指定部(例えば図4のレジスタ402〜405)は、セクタID情報の各論理値ごとに割り当てることができるキャッシュウェイの最大値を最大ウェイ数として指定する。
即ち、最大ウェイ数指定部(例えば図4のレジスタ402〜405)は、セクタID情報の各論理値ごとの最大ウェイ数の合計数がキャッシュメモリにおけるキャッシュウェイ数よりも大きくなるように、セクタID情報の各論理値ごとの最大ウェイ数を設定可能とする。
置換ウェイ候補決定部(例えば図10の置換ウェイ選択可能マスク生成回路303)は
、キャッシュミスの発生時に、ユーザによって指定されたセクタID情報の所定値(例えば図10の固定値1001)については、比較部による比較結果は判定せずに、メモリアクセス要求により特定されるキャッシュブロックの各キャッシュウェイに対応してセクタID情報記憶部に記憶されているセクタID情報のうち、メモリアクセス要求に付加されたセクタID情報と同じセクタID情報が記憶されているキャッシュウェイ群を、置換ウェイ候補として決定する。
前述のセクタID情報更新部は、メモリアクセス要求によってキャッシュヒットが発生したときに、メモリアクセス要求により特定されるキャッシュブロックの置換ウェイにより指定されるキャッシュウェイに対応してセクタID情報記憶部に記憶されているセクタID情報を、メモリアクセス要求に付加されたセクタID情報によって更新する(例えば図7の701の構成)。
図1は、本発明の実施形態によるキャッシュメモリの機能構成図である。なお、図1の構成は一例であり、本発明は図1の構成に限定されるものではない。
キャッシュメモリ101は、#1〜#4の複数のキャッシュウェイ102に分けて管理され、各キャッシュウェイ102は、#1〜#nの複数のキャッシュブロック103から構成されている。例えば、n=1024である。
図1の各キャッシュブロック103を構成するデータ、タグ、及びセクタIDは、それぞれデータRAM201、タグRAM202、及びセクタID・RAM203の3領域に分割して記憶される。データRAM201、タグRAM202、及びセクタID・RAM203は、それぞれ4つの領域に分割され、各RAMの各領域はそれぞれ、図1の#1〜#4のキャッシュウェイ102を構成する。なお、有効フラグは、タグRAM202にタグ値が記憶されているか否かで代用されるが、別途有効フラグ用のRAMが設けられてもよい。
ちの1つ#iが指定される。
第1の実施形態
第1の実施形態の構成及び動作について説明する。
また、第1の実施形態では、セクタIDが1ビットの場合について説明する。
ットのセクタID301と、メモリアクセス要求308に付加されている1ビットのセクタID302とが入力する。
これにより、データRAM201、タグRAM202、及びセクタID・RAM203において、指定されたブロック番号の選択されたウェイのキャッシュブロック103(塗りつぶされた部分に、データ、タグ、及びセクタIDが書き込まれる。
図4は、第2の実施形態の構成図である。
図4の構成において、図3の構成と同じ番号が付された部分は、第1の実施形態の場合と同じ機能を有する。
・セクタ0用最大ウェイ数レジスタ402
・セクタ1用最大ウェイ数レジスタ403
・現在のセクタ0のウェイ数レジスタ404
・現在のセクタ1のウェイ数レジスタ405
セクタ0用最大ウェイ数レジスタ402及びセクタ1用最大ウェイ数レジスタ403には、各キャッシュブロック103において、セクタIDとしてそれぞれ値0及び値1を設定することのできる最大ウェイ数が設定される。これらのレジスタ値は、プログラムから設定可能である。
図4において、置換セクタID決定回路401では、メモリアクセス要求308にセクタID=0が指定されている場合には、セレクタ401−1がセクタ0用最大ウェイ数レジスタ402の出力を、セレクタ401−2が現在のセクタ0のウェイ数レジスタ404の出力をそれぞれ選択し、それらを比較器401−3に入力させる。逆に、メモリアクセ
ス要求308にセクタID=1が指定されている場合には、セレクタ401−1がセクタ1用最大ウェイ数レジスタ403の出力を、セレクタ401−2が現在のセクタ1のウェイ数レジスタ405の出力をそれぞれ選択し、それらを比較器401−3に入力させる。
置換ウェイ選択可能マスク生成回路303と置換ウェイ選択回路304の動作は、図3で示した第1の実施形態の場合と同様である。
0(図4の例では「1000」)を出力する。
例えば、最初の(1) のメモリアクセス要求が発生したときには、要求にて指定されたセクタID=0、最大ウェイ数=4である。このとき、セクタID=0の現在のウェイ数はその直前の状態(図6の最上段の状態)を見ると3であり、要求で指定された最大ウェイ数=4よりも小さい。従って、他のセクタID=1のウェイ(グレーに塗られたウェイ)をセクタID=0に置換することを指示する置換セクタID=「1」が置換セクタID決定回路から出力される。この結果、置換セクタIDと現在のセクタIDの状態「0100」とのエクスクルーシブノア演算により、置換ウェイ候補として「0100」が置換ウェイ選択可能マスク生成回路から出力され、置換ウェイも「0100」となって、セクタID値が1のウェイで置換が発生する。
ェイ選択可能マスク生成回路から出力され、更に、置換ウェイ選択回路でのLRU判定により、セクタID=0の4つのウェイのうち最も古いウェイを置換することを指示する置換ウェイ=「0001」が置換ウェイ選択回路から出力されて、値が1のウェイで置換が発生する。
次に、図1及び図2の構成に基づく第3の実施形態の構成及び動作について説明する。
図7は、メモリアクセス要求308に対して図1又は図2の構成を有するキャッシュメモリ101においてキャッシュヒットが発生したときの、ヒットウェイ制御回路に関する
実施形態の構成図である。
図8において、5番目の(5) のメモリアクセス要求308が発生したときには、要求にて指定されたセクタID=1、最大ウェイ数=2であり、(5) の直前(=(4) )の状態はセクタID=1の現在のウェイ数=2であるが、ここで、(4)における右端のセクタID=0のキャッシュウェイにてキャッシュヒットが発生したとする。この場合には、第2の実施形態で説明した最大ウェイ数に関する参照・制御は行われずに、キャッシュヒットが発生したキャッシュウェイのセクタID値が、セクタID=0から、メモリアクセス要求308によって指定されたセクタID=1に更新される。
次に、第4の実施形態について説明する。
第4の実施形態の構成は、図4に示される本発明の第2の実施形態の構成と基本的には同じである。ただし、「セクタ0用最大ウェイ数+セクタ1用最大ウェイ数>キャッシュメモリの総ウェイ数」という条件を許すことによって、セクタID=0の領域とセクタID=1の領域を重ねる(オーバーラップする)ことができる。これにより、あるセクタIDに割り当てられた領域の中で、
・他方のセクタIDの要求によって、追い出されやすいウェイ
・追い出されにくい、もしくは、追い出されないウェイ
を区別して作ることができる。
図9では、第4の実施形態により、最弱ウェイ方式を実現する動作例について説明する。
図9において、セクタ0用最大ウェイ数レジスタ402には4が設定され、セクタ1用最大ウェイ数レジスタ403には1が設定される。図1又は図2の構成のキャッシュメモリ101の最大ウェイ数は4であるため、図9の901に示されるキャッシュウェイの状態のように、1ウェイがオーバーラップして共用される状態となる。
今、図9(1)の状態は、或るブロック番号の4つのウェイのうち、3つのウェイのキャッシュブロックにはセクタID=0(図中では「セクタ0」と表記されている)のデータが記憶され、1つのウェイのキャッシュブロックにはセクタID=1(図中では「セクタ1」と表記されている)のデータが記憶されている。
以上のようにして、第4の実施形態により、いわゆる最弱ウェイ方式と同等の機能を実現することが可能となる。
図10は、第2の実施形態で示した置換ウェイ制御回路の更なる改良形態に関する第5の実施形態の構成図である。
図10の構成が図4の構成と異なる点は、置換セクタID決定回路401に対して更に、メモリアクセス要求308に付加されているセクタID302の値に応じて、置換セクタID決定回路401の出力406若しくは固定値1001の何れかを選択して、置換セクタID1003として出力するセレクタ1002が追加された点である。
次に、第6の実施形態について説明する。
図11は、図1又は図2のキャッシュメモリ101の構成において、セクタIDが1ビットではなく2ビットで構成され、0〜3の3値を取り得る場合の、図4に示される置換セクタID決定回路401に相当する構成例を示した図である。
・セクタ0用最大ウェイ数レジスタ1101
・セクタ1用最大ウェイ数レジスタ1102
・セクタ2用最大ウェイ数レジスタ1103
・現在のセクタ0のウェイ数レジスタ1104
・現在のセクタ1のウェイ数レジスタ1105
・現在のセクタ2のウェイ数レジスタ1106
セクタ0用最大ウェイ数レジスタ1101、セクタ1用最大ウェイ数レジスタ1102、及びセクタ2用最大ウェイ数レジスタ1103には、各キャッシュブロックにおいて、セクタIDとしてそれぞれ値0、値1、及び値2を設定することのできる最大ウェイ数が設定される。これらのレジスタ値は、プログラムから設定可能である。
ウェイ数)と、セクタID値1が設定されているビット数(ウェイ数)と、セクタID値2が設定されているビット数(ウェイ数)がそれぞれカウントされて、セットされる。
図11において、メモリアクセス要求にセクタID=0が指定されている場合には、セレクタ1108がセクタ0用最大ウェイ数レジスタ1101の出力を、セレクタ1109が現在のセクタ0のウェイ数レジスタ1104の出力をそれぞれ選択し、それらを比較器1110に入力させる。また、メモリアクセス要求にセクタID=1が指定されている場合には、セレクタ1108がセクタ1用最大ウェイ数レジスタ1102の出力を、セレクタ1109が現在のセクタ1のウェイ数レジスタ1105の出力をそれぞれ選択し、それらを比較器1110に入力させる。更に、メモリアクセス要求にセクタID=2が指定されている場合には、セレクタ1108がセクタ2用最大ウェイ数レジスタ1103の出力を、セレクタ1109が現在のセクタ2のウェイ数レジスタ1106の出力をそれぞれ選択し、それらを比較器1110に入力させる。
同一セクタIDマスク生成回路1303は、メモリアクセス要求に付加されているセクタID1303と、セクタID・RAM203の該当ブロック番号から読み出されたセクタID情報1302の各セクタID値とを比較し、一致=1/不一致=0のマスクビット列(4ビット)を生成する。
実施形態に対する補足
以上説明した実施形態では、メモリアクセス要求は、ユーザプログラムによって発行されることを前提として説明したが、キャッシュライトバック方式のシステムや複数プロセッサに対応して複数キャッシュメモリを有するようなシステムにおいて、ハードウェアが
キャッシュメモリに対して自動的に発行するメモリアクセス要求についても、全く同様の機能を実現することができる。
(付記1)
各セットが2つ以上のキャッシュウェイで構成されセット・アソシアティブ方式に基づいて動作し、キャッシュミスの発生時に決定された置換ウェイに対応する前記キャッシュウェイのキャッシュブロックのデータを置換するキャッシュ動作を行うキャッシュメモリにおいて、
メモリアクセス要求により特定される前記キャッシュブロックの前記各キャッシュウェイに対応させて、該各キャッシュウェイの置換状態を制御するために定義され2つ以上の論理値を取り得るセクタID情報を記憶するセクタID情報記憶手段と、
前記キャッシュミスの発生時に、前記メモリアクセス要求に付加されたセクタID情報と、前記メモリアクセス要求により特定される前記キャッシュブロックの前記各キャッシュウェイに対応して前記セクタID情報記憶手段に記憶されているセクタID情報とに基づいて、前記置換ウェイの候補である置換ウェイ候補を決定する置換ウェイ候補決定手段と、
前記置換ウェイ候補から前記置換ウェイを選択して出力する置換ウェイ選択手段と、
前記メモリアクセス要求により特定される前記キャッシュブロックの前記置換ウェイにより指定されるキャッシュウェイに対応して前記セクタID情報記憶手段に記憶されている前記セクタID情報を、前記メモリアクセス要求に付加されたセクタID情報によって更新するセクタID情報更新手段と、
を含むことを特徴とするセクタ機能付きキャッシュメモリ。
(付記2)
前記セクタID情報の各論理値ごとに割り当てることができるキャッシュウェイの最大値を最大ウェイ数として指定する最大ウェイ数指定手段と、
前記キャッシュミスの発生時に、前記メモリアクセス要求により特定される前記キャッシュブロックの前記各キャッシュウェイに対応して前記セクタID情報記憶手段に記憶されているセクタID情報のうち、前記メモリアクセス要求に付加されたセクタID情報と同じセクタID情報を持つキャッシュウェイの数と、前記最大ウェイ数指定手段で指定される前記メモリアクセス要求に付加されたセクタID情報と同じセクタID情報の最大ウェイ数とを比較する比較手段と、
を更に含み、
置換ウェイ候補決定手段は、前記キャッシュミスの発生時に、該比較手段による比較結果に応じて、前記メモリアクセス要求により特定される前記キャッシュブロックの前記各キャッシュウェイに対応して前記セクタID情報記憶手段に記憶されているセクタID情報のうち、前記メモリアクセス要求に付加されたセクタID情報以外のセクタID情報が記憶されている前記キャッシュウェイ群か、前記メモリアクセス要求に付加されたセクタID情報と同じセクタID情報が記憶されている前記キャッシュウェイ群の何れかの群を、前記置換ウェイ候補として決定する、
ことを特徴とする付記1に記載のセクタ機能付きキャッシュメモリ。
(付記3)
前記最大ウェイ数指定手段は、前記セクタID情報の各論理値ごとの最大ウェイ数の合計数が前記キャッシュメモリにおける前記キャッシュウェイ数よりも大きくなるように、前記セクタID情報の各論理値ごとの最大ウェイ数を設定可能とする、
ことを特徴とする付記2に記載のセクタ機能付きキャッシュメモリ。
(付記4)
前記置換ウェイ候補決定手段は、前記キャッシュミスの発生時に、ユーザによって指定されたセクタID情報の所定値については、前記比較手段による比較結果は判定せずに、前記メモリアクセス要求により特定される前記キャッシュブロックの前記各キャッシュウ
ェイに対応して前記セクタID情報記憶手段に記憶されているセクタID情報のうち、前記メモリアクセス要求に付加されたセクタID情報と同じセクタID情報が記憶されている前記キャッシュウェイ群を、前記置換ウェイ候補として決定する、
ことを特徴とする付記2に記載のセクタ機能付きキャッシュメモリ。
(付記5)
前記セクタID情報更新手段は、前記メモリアクセス要求によってキャッシュヒットが発生したときに、前記メモリアクセス要求により特定される前記キャッシュブロックの前記置換ウェイにより指定されるキャッシュウェイに対応して前記セクタID情報記憶手段に記憶されている前記セクタID情報を、前記メモリアクセス要求に付加されたセクタID情報によって更新する
ことを特徴とする付記1乃至4の何れか1項に記載のセクタ機能付きキャッシュメモリ。
(付記6)
前記セクタID情報は2つの論理値をとり得る、
ことを特徴とする付記1乃至5の何れか1項に記載のセクタ機能付きキャッシュメモリ。
(付記7)
前記セクタID情報は3つ以上の論理値をとり得る、
ことを特徴とする付記1乃至5の何れか1項に記載のセクタ機能付きキャッシュメモリ。
102、1402 キャッシュウェイ
103、1403 キャッシュブロック
104、1404 コンパレータ
105、1405 アドレス
201 データRAM
202 タグRAM
203 セクタID・RAM
204、205、305、306、307、401−1、401−2、401−5、
1002、1304 セレクタ
301 セクタID・RAM203から読み出されるセクタID
302、704 要求に付加されているセクタID
303 置換ウェイ選択可能マスク生成回路
303−1 エクスクルーシブオア回路(XOR)
303−2、401−4、1305 インバータ(INV)
304、1501 置換ウェイ選択回路
308 メモリアクセス要求
309 置換ウェイ候補
310、1307 置換ウェイ
401 置換セクタID決定回路
401−3 比較器
402、1101 セクタ0用最大ウェイ数レジスタ
403、1102 セクタ1用最大ウェイ数レジスタ
404、1104 現在のセクタ0のウェイ数レジスタ
405、1105 現在のセクタ1のウェイ数レジスタ
406、1003 置換セクタID
701 ヒットウェイ更新回路
702 ヒットウェイ信号
703 現セクタID情報
705 新セクタID情報
1001 固定値
1103 セクタ2用最大ウェイ数レジスタ
1106 現在のセクタ2のウェイ数レジスタ
1301 置換するセクタID
1302 セクタID情報
1303 同一セクタIDマスク生成回路
1306 LRU選択回路
Claims (5)
- 複数のキャッシュウェイの各々に、複数のキャッシュブロックを含むキャッシュメモリにおいて、
前記各キャッシュウェイに対応するセクタIDであって、該各キャッシュウェイの置換のために用いられる複数の該セクタIDを記憶するセクタID記憶手段と、
前記各セクタIDに対して設けられ、前記セクタIDに割り当てることができるキャッシュウェイの最大値を指定する最大ウェイ数を保持する複数のウェイ数レジスタと、
前記セクタID記憶手段に記憶され、メモリアクセス要求に付加されたセクタIDと同じセクタIDのキャッシュウェイ数と、前記ウェイ数レジスタに保持され、前記メモリアクセス要求に付加されたセクタIDと同じセクタIDの最大ウェイ数とを比較する比較手段と、
前記比較手段の比較結果に基づいて、前記複数のキャッシュウェイのいずれかに対する置換を指示するための置換セクタIDを選択するセレクタと、
キャッシュミスの発生時に、前記選択された置換セクタIDと、前記メモリアクセス要求に含まれる要求アドレスに対応して前記セクタID記憶手段に記憶された複数のセクタIDとに基づいて、前記複数のキャッシュウェイから置換すべき1以上の置換ウェイの候補を決定する決定手段と、
決定した1以上の前記置換ウェイの候補から前記置換ウェイを選択する選択手段と、
前記メモリアクセス要求により特定される前記キャッシュブロックの前記選択された置換ウェイにより指定されるキャッシュウェイに対応する前記記憶されたセクタIDを、前記メモリアクセス要求に付加されたセクタIDによって更新する更新手段と、
を含むことを特徴とするキャッシュメモリ。 - 前記セクタIDの最大ウェイ数の合計数が前記キャッシュメモリにおける前記キャッシュウェイ数よりも大きくなるように、前記セクタIDの最大ウェイ数を割り当て可能とする、
ことを特徴とする請求項1に記載のキャッシュメモリ。 - 前記決定手段は、前記キャッシュミスの発生時に、前記メモリアクセス要求に付加された前記セクタIDとして所定値を特定するとともに、前記所定値として特定されたセクタIDに対応するウェイ数レジスタに対して、他のウェイ数レジスタに保持された最大ウェイ数より小さい最大ウェイ数を設定することによって置換すべき1つの置換ウェイの候補を決定する
ことを特徴とする請求項1に記載のキャッシュメモリ。 - 前記更新手段は、キャッシュヒットの発生時に、前記記憶されたセクタIDを、前記メモリアクセス要求に付加されたセクタIDに置換する
ことを特徴とする請求項1に記載のキャッシュメモリ。 - 複数のキャッシュウェイの各々に、複数のキャッシュブロックと、各セクタIDに対して設けられ、前記各セクタIDに割り当てることができるキャッシュウェイの最大値を指定する最大ウェイ数を保持する複数のウェイ数レジスタと、を含むキャッシュメモリの制御方法であって、
セクタID記憶手段により、前記各キャッシュウェイに対応するセクタIDであって、該各キャッシュウェイの置換のために用いられる複数の該セクタIDを記憶し、
比較手段により、前記セクタID記憶手段に記憶され、メモリアクセス要求に付加されたセクタIDと同じセクタIDのキャッシュウェイ数と、前記ウェイ数レジスタに保持され、前記メモリアクセス要求に付加されたセクタIDと同じセクタIDの最大ウェイ数とを比較し、
セレクタにより、前記比較手段の比較結果に基づいて、前記複数のキャッシュウェイのいずれかに対する置換を指示するための置換セクタIDを選択し、
決定手段により、キャッシュミスの発生時に、前記選択された置換セクタIDと、前記メモリアクセス要求に含まれる要求アドレスに対応して前記セクタID記憶手段に記憶された複数のセクタIDとに基づいて、前記複数のキャッシュウェイから置換すべき1以上の置換ウェイの候補を決定し、
選択手段により、決定した1以上の前記置換ウェイの候補から前記置換ウェイを選択し、
更新手段により、前記メモリアクセス要求により特定される前記キャッシュブロックの前記選択された置換ウェイにより指定されるキャッシュウェイに対応する前記記憶されたセクタIDを、前記メモリアクセス要求に付加されたセクタIDによって更新する、
ことを特徴とするキャッシュメモリの制御方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007341423A JP5217432B2 (ja) | 2007-12-28 | 2007-12-28 | セクタ機能付きキャッシュメモリ |
EP08162538.6A EP2075705B1 (en) | 2007-12-28 | 2008-08-18 | Cache memory having sector function |
US12/193,888 US8583872B2 (en) | 2007-12-28 | 2008-08-19 | Cache memory having sector function |
KR1020080089181A KR100971481B1 (ko) | 2007-12-28 | 2008-09-10 | 섹터 기능이 있는 캐시 메모리 |
CN2008102135667A CN101470670B (zh) | 2007-12-28 | 2008-09-11 | 具有扇区功能的高速缓冲存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007341423A JP5217432B2 (ja) | 2007-12-28 | 2007-12-28 | セクタ機能付きキャッシュメモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009163450A JP2009163450A (ja) | 2009-07-23 |
JP5217432B2 true JP5217432B2 (ja) | 2013-06-19 |
Family
ID=40396952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007341423A Active JP5217432B2 (ja) | 2007-12-28 | 2007-12-28 | セクタ機能付きキャッシュメモリ |
Country Status (5)
Country | Link |
---|---|
US (1) | US8583872B2 (ja) |
EP (1) | EP2075705B1 (ja) |
JP (1) | JP5217432B2 (ja) |
KR (1) | KR100971481B1 (ja) |
CN (1) | CN101470670B (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200904B2 (en) * | 2007-12-12 | 2012-06-12 | Sandisk Il Ltd. | System and method for clearing data from a cache |
JP5413001B2 (ja) * | 2009-07-09 | 2014-02-12 | 富士通株式会社 | キャッシュメモリ |
US8392658B2 (en) * | 2009-07-10 | 2013-03-05 | Apple Inc. | Cache implementing multiple replacement policies |
JP5609092B2 (ja) * | 2009-12-09 | 2014-10-22 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP5557313B2 (ja) * | 2010-03-05 | 2014-07-23 | エヌイーシーコンピュータテクノ株式会社 | キャッシュメモリ制御システム、その制御方法及び制御プログラム |
WO2011133146A2 (en) * | 2010-04-21 | 2011-10-27 | Empire Technology Development Llc | Storage efficient sectored cache |
JP6012263B2 (ja) * | 2011-06-09 | 2016-10-25 | 株式会社半導体エネルギー研究所 | 半導体記憶装置 |
JP5565425B2 (ja) | 2012-02-29 | 2014-08-06 | 富士通株式会社 | 演算装置、情報処理装置および演算方法 |
KR101789190B1 (ko) | 2012-03-06 | 2017-11-20 | 한국전자통신연구원 | 스크래치 패드 메모리 구조를 이용한 캐시 및 이를 포함하는 프로세서 |
JP6149595B2 (ja) | 2013-08-13 | 2017-06-21 | 富士通株式会社 | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 |
US9524242B2 (en) | 2014-01-28 | 2016-12-20 | Stmicroelectronics International N.V. | Cache memory system with simultaneous read-write in single cycle |
JP6248808B2 (ja) | 2014-05-22 | 2017-12-20 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理装置の制御方法、及び、情報処理装置の制御プログラム |
EP3066571B1 (en) | 2014-12-14 | 2018-06-13 | VIA Alliance Semiconductor Co., Ltd. | Cache memory budgeted by ways on memory access type |
EP3129890B1 (en) * | 2014-12-14 | 2019-08-14 | VIA Alliance Semiconductor Co., Ltd. | Set associative cache memory with heterogeneous replacement policy |
WO2016097807A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Cache replacement policy that considers memory access type |
US9898411B2 (en) * | 2014-12-14 | 2018-02-20 | Via Alliance Semiconductor Co., Ltd. | Cache memory budgeted by chunks based on memory access type |
WO2016097806A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Fully associative cache memory budgeted by memory access type |
KR102438552B1 (ko) * | 2015-02-04 | 2022-09-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작방법 |
CN104932990B (zh) * | 2015-06-03 | 2018-05-11 | 华为技术有限公司 | 一种高速缓冲存储器中数据块的替换方法和装置 |
CN109614349B (zh) * | 2018-12-11 | 2023-04-11 | 杭州阿姆科技有限公司 | 一种基于绑定机制的缓存管理方法 |
US12045644B2 (en) * | 2019-05-24 | 2024-07-23 | Texas Instruments Incorporated | Pseudo-random way selection |
US11188465B1 (en) * | 2020-09-02 | 2021-11-30 | Shenzhen GOODIX Technology Co., Ltd. | Cache memory replacement policy |
CN113392043A (zh) * | 2021-07-06 | 2021-09-14 | 南京英锐创电子科技有限公司 | 缓存数据替换方法、装置、设备和存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5133061A (en) | 1987-10-29 | 1992-07-21 | International Business Machines Corporation | Mechanism for improving the randomization of cache accesses utilizing abit-matrix multiplication permutation of cache addresses |
JPH0469751A (ja) * | 1990-07-10 | 1992-03-04 | Matsushita Electric Ind Co Ltd | キャッシュ装置 |
JPH04175946A (ja) | 1990-11-09 | 1992-06-23 | Hitachi Ltd | マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置 |
US5966734A (en) | 1996-10-18 | 1999-10-12 | Samsung Electronics Co., Ltd. | Resizable and relocatable memory scratch pad as a cache slice |
JP3331592B2 (ja) * | 1998-05-22 | 2002-10-07 | 日本電気株式会社 | キャッシュメモリ |
US6434668B1 (en) | 1999-09-07 | 2002-08-13 | International Business Machines Corporation | Method of cache management to store information in particular regions of the cache according to information-type |
US6553457B1 (en) | 2000-04-19 | 2003-04-22 | Western Digital Technologies, Inc. | Tag memory disk cache architecture |
US6681295B1 (en) * | 2000-08-31 | 2004-01-20 | Hewlett-Packard Development Company, L.P. | Fast lane prefetching |
US6678792B2 (en) | 2001-06-22 | 2004-01-13 | Koninklijke Philips Electronics N.V. | Fast and accurate cache way selection |
US6789167B2 (en) | 2002-03-06 | 2004-09-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus for multi-core processor integrated circuit having functional elements configurable as core elements and as system device elements |
US6990557B2 (en) | 2002-06-04 | 2006-01-24 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with cache eviction based on thread identifier |
JP2004110240A (ja) * | 2002-09-17 | 2004-04-08 | Mitsubishi Electric Corp | キャッシュメモリ装置 |
US6851030B2 (en) * | 2002-10-16 | 2005-02-01 | International Business Machines Corporation | System and method for dynamically allocating associative resources |
JP4753549B2 (ja) * | 2004-05-31 | 2011-08-24 | パナソニック株式会社 | キャッシュメモリおよびシステム |
US7558920B2 (en) * | 2004-06-30 | 2009-07-07 | Intel Corporation | Apparatus and method for partitioning a shared cache of a chip multi-processor |
US7284094B2 (en) * | 2005-02-09 | 2007-10-16 | International Business Machines Corporation | Mechanism and apparatus allowing an N-way set associative cache, implementing a hybrid pseudo-LRU replacement algorithm, to have N L1 miss fetch requests simultaneously inflight regardless of their congruence class |
US7610448B2 (en) | 2006-12-27 | 2009-10-27 | Intel Corporation | Obscuring memory access patterns |
-
2007
- 2007-12-28 JP JP2007341423A patent/JP5217432B2/ja active Active
-
2008
- 2008-08-18 EP EP08162538.6A patent/EP2075705B1/en active Active
- 2008-08-19 US US12/193,888 patent/US8583872B2/en active Active
- 2008-09-10 KR KR1020080089181A patent/KR100971481B1/ko not_active IP Right Cessation
- 2008-09-11 CN CN2008102135667A patent/CN101470670B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP2075705B1 (en) | 2014-12-03 |
US8583872B2 (en) | 2013-11-12 |
US20090172289A1 (en) | 2009-07-02 |
KR100971481B1 (ko) | 2010-07-21 |
CN101470670B (zh) | 2011-12-14 |
KR20090072933A (ko) | 2009-07-02 |
EP2075705A1 (en) | 2009-07-01 |
CN101470670A (zh) | 2009-07-01 |
JP2009163450A (ja) | 2009-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5217432B2 (ja) | セクタ機能付きキャッシュメモリ | |
JP4098347B2 (ja) | キャッシュメモリおよびその制御方法 | |
KR102546238B1 (ko) | 다중 테이블 분기 타겟 버퍼 | |
US7805595B2 (en) | Data processing apparatus and method for updating prediction data based on an operation's priority level | |
TWI533201B (zh) | 縮減交易回復的快取控制 | |
US20060036811A1 (en) | Method for software controllable dynamically lockable cache line replacement system | |
US20110167224A1 (en) | Cache memory, memory system, data copying method, and data rewriting method | |
JP2007011580A (ja) | 情報処理装置 | |
JP4008947B2 (ja) | キャッシュメモリ及びその制御方法 | |
US7555610B2 (en) | Cache memory and control method thereof | |
US6622209B2 (en) | Use of non-count data and index hashing to reduce false hits in a non-tagged, n-way cache | |
US8108611B2 (en) | Cache memory system | |
US20110179227A1 (en) | Cache memory and method for cache entry replacement based on modified access order | |
JP5224959B2 (ja) | キャッシュシステム | |
JPH0659977A (ja) | 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法 | |
US20210149813A1 (en) | Data write system and method | |
JPH10207767A (ja) | ロック機能付キャッシュメモリ及びこのキャッシュメモリを備えたマイクロプロセッサ | |
JP2001005725A (ja) | キャッシュ記憶装置 | |
JP2003177965A (ja) | キャッシュメモリ装置 | |
JP2000235519A (ja) | キャッシュシステムおよびキャッシュ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130115 |
|
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: 20130205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130218 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5217432 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |