JP3989312B2 - キャッシュメモリ装置およびメモリ割付方法 - Google Patents
キャッシュメモリ装置およびメモリ割付方法 Download PDFInfo
- Publication number
- JP3989312B2 JP3989312B2 JP2002197953A JP2002197953A JP3989312B2 JP 3989312 B2 JP3989312 B2 JP 3989312B2 JP 2002197953 A JP2002197953 A JP 2002197953A JP 2002197953 A JP2002197953 A JP 2002197953A JP 3989312 B2 JP3989312 B2 JP 3989312B2
- Authority
- JP
- Japan
- Prior art keywords
- tag
- cache memory
- entries
- ways
- ram
- 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
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
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- 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/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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、nウェイセットアソシアティブ方式のキャッシュメモリを有するキャッシュメモリ装置およびメモリ割付方法に関するものであり、特に、エラーが発生したウェイを一意に特定することができるとともに、性能を低下させることなくウェイ数を変更することができるキャッシュメモリ装置およびメモリ割付方法に関するものである。
【0002】
【従来の技術】
図7は、従来のキャッシュメモリ装置の構成を示すブロック図である。この図に示したキャッシュメモリ装置は、CPU(Central Processing Unit)10とメインメモリ15との間の速度差を埋めるために、多重キャッシュメモリ(一次キャッシュメモリ12および二次キャッシュメモリ14)を備えた装置である。
【0003】
CPU10は、一次キャッシュメモリ12、二次キャッシュメモリ14またはメインメモリ15にアクセスすることで、データのリード/ライトを行う。
【0004】
メインメモリ15は、大容量であってかつアクセス時間が一次キャッシュメモリ12および二次キャッシュメモリ14に比して遅いという特性を備えている。このメインメモリ15には、CPU10で用いられるデータの全てが記憶されている。
【0005】
一次キャッシュメモリ12および二次キャッシュメモリ14は、例えば、SRAM(Static Random Access Memory)であり、アクセス時間がメインメモリ15に比して短いという特性を備えている。
【0006】
また、一次キャッシュメモリ12は、二次キャッシュメモリ14に比してアクセス時間が短いという特性を備えている。すなわち、一次キャッシュメモリ12、二次キャッシュメモリ14およびメインメモリ15のうち、一次キャッシュメモリ12のアクセス時間が最も短く、そのつぎに二次キャッシュメモリ14のアクセス時間が短く、メインメモリ15のアクセス時間が最も長いという特性を備えている。
【0007】
さらに、記憶容量の面から見れば、メインメモリ15の記憶容量が最も大きく、そのつぎに二次キャッシュメモリ14の記憶容量が大きく、一次キャッシュメモリ12の記憶容量が最も小さい。
【0008】
ここで、一般にCPUと、キャッシュメモリ(メインメモリ)との間のデータ転送はライン単位で行われ、メインメモリ上のデータをキャッシュメモリ内のラインに対応づける方式にはいくつかある。
【0009】
代表的な方式としては、メインメモリとキャッシュメモリとを複数のセット(ラインの集合:これをウェイという)に分割し、メインメモリ上のあるデータは、各ウェイの中の決められたラインにしか置けないというセットアソシアティブ方式がある。
【0010】
セットアソシアティブ方式において、キャッシュメモリを1つのウェイとして扱う場合には、ダイレクト・マッピング方式(または、1ウェイセットアソシアティブ方式)と呼ばれ、ウェイがNある場合には、nウェイセットアソシアティブ方式と呼ばれている。
【0011】
図8は、上記ダイレクトマッピング方式に関するメインメモリ15および二次キャッシュメモリ14との対応関係を説明する図である。同図において、メインメモリ15には、5ビット構成のアドレスとデータ(データ0〜4、・・・)とが組をなして記憶されている。
【0012】
二次キャッシュメモリ14は、図7に示したように、二次タグRAM14aおよび二次データRAM14bとから構成されている。二次キャッシュメモリ14において、「インデックス」には、メインメモリ15に記憶されているアドレスの下位2ビットがインデックスとして格納されている。
【0013】
「タグ」には、メインメモリ15に記憶されているアドレスの上位3ビットがタグとして記憶されている。これらの「インデックス」および「タグ」は、二次タグRAM14a(図7参照)に記憶されている。
【0014】
一方、「データ」には、メインメモリ15に記憶されているデータが記憶されている。この「データ」は、二次データRAM14bに記憶されている。
【0015】
これに対して、図9は、二次キャッシュメモリ14におけるnウェイセットアソシアティブ方式を説明する図である。同図においては、二次キャッシュメモリ14は、nWAY(ウエイ)に分割されて管理されるようになっており、二次タグRAM14a(図7参照)のウェイと二次データRAM14bのウェイとは一対一で対応している。
【0016】
ここで、図9においては、図8と同様にして、二次キャッシュメモリ14の「タグ」に、メインメモリ15に記憶されているアドレスの上位3ビットがタグとして記憶されている。これらの「インデックス」および「タグ」は、二次タグRAM14a(図7参照)に記憶されている。
【0017】
一方、「データ」には、メインメモリ15に記憶されているデータが記憶されている。この「データ」は、二次データRAM14bに記憶されている。以下では、二次キャッシュメモリ14がnウェイ(4ウェイ)セットアソシアティブ方式のキャッシュメモリであるとする。
【0018】
図7に戻り、一次キャッシュメモリ12は、メインメモリ15に記憶されているデータの一部を記憶しており、nウェイセットアソシアティブ方式のメモリである。この一次キャッシュメモリ12は、一次タグRAM12aおよび一次データRAM12bから構成されている。
【0019】
また、従来のキャッシュメモリ装置において、一次キャッシュアクセス制御部11および二次キャッシュアクセス制御部13は、図10に示したタグ管理データ20を用いてエラーデータを正しいデータに修正するという機能を備えている。
【0020】
タグ管理データ20は、一次タグRAM12aや二次タグRAM14aに記憶されており、タグ21、タグ22およびECC(Error Checking Code:エラーチェックキングコード)23から構成されている。
【0021】
タグ21は、WAY(ウェイ)mに対応するタグである。タグ22は、タグ21のWAY(ウェイ)mと異なるWAY(ウェイ)nに対応するタグである。
【0022】
ECC23は、タグ21およびタグ22に追加された冗長データであり、タグ21またはタグ22のいずれかでエラーが発生した場合に、エラーデータを正しいデータに修正するときに用いられるエラー訂正用コードである。
【0023】
また、従来のキャッシュメモリ装置においては、例えば、設計変更や仕様変更に伴って、図11(a)に示した4ウェイセットアソシアティブ方式の二次キャッシュメモリ14を2ウェイセットアソシアティブ方式に変更、すなわち、ウェイ数の変更を行う場合がある。
【0024】
この場合には、図11(b)に示したように、WAY2およびWAY4の機能を停止(例えば、タグおよびデータを削除)させ、WAY0およびWAY1のみを機能させるという変更方法が採られる。
【0025】
【発明が解決しようとする課題】
ところで、前述したように、従来のキャッシュメモリ装置においては、図10に示したように、異なるウェイのタグ21(WAYm)およびタグ22(WAYn)に対して一つのECC23を共用したタグ管理データ20を用いているため、エラーが発生した場合に、WAYm、WAYnのうちいずれかにエラーが発生したということしか分からず、エラーが発生したウェイを一意に特定することができないという問題があった。
【0026】
また、従来のキャッシュメモリ装置においては、図11(b)に示したように、単純にWAY2およびWAY4の機能を停止させることにより、ウェイ数の変更を行っているため、二次キャッシュメモリ14のキャッシュ容量が半分となり、性能が低下するという問題があった。
【0027】
本発明は、上記に鑑みてなされたもので、エラーが発生したウェイを特定することができるとともに、性能を低下させることなくウェイ数を変更することができるキャッシュメモリ装置およびメモリ割付方法を提供することを目的とする。
【0028】
【課題を解決するための手段】
上記目的を達成するために、本発明は、複数のウェイを有するセットアソシアティブ方式が採られたキャッシュメモリと、同一のウェイに属する複数のエントリに対応付けて共通のエラー訂正情報を設定する設定手段と、を備えたことを特徴とする。また、本発明は、ウェイ数の変更に際して、変更前の前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付手段を備えたことを特徴とする。また、本発明は、前記割付手段は、キャッシュメモリにおけるインデックス数と前記ウェイ数との乗算結果を前記エントリの総数とし、ウェイ数の変更に応じて前記インデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることを特徴とする。
【0029】
また、本発明は、複数のウェイを有するセットアソシアティブ方式が採られたキャッシュメモリを有するキャッシュメモリ装置に適用されるメモリ割付方法であって、同一のウェイに属する複数のエントリに対応付けて共通のエラー訂正情報を設定する設定工程、を含むことを特徴とする。また、本発明は、ウェイ数の変更に際して、変更前の前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付工程を含むことを特徴とする。また、本発明は、前記割付工程は、キャッシュメモリにおけるインデックス数と前記ウェイ数との乗算結果を前記エントリの総数とし、ウェイ数の変更に応じて前記インデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることを特徴とする。
【0030】
かかる発明によれば、ウェイ数の変更に際して、変更前のキャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付けることとしたので、キャッシュ容量が変化せず、性能を低下させることなくウェイ数を変更することができる。
【0031】
【発明の実施の形態】
以下、図面を参照して本発明にかかるキャッシュメモリ装置およびメモリ割付方法の一実施の形態について詳細に説明する。
【0032】
図1は、本発明にかかる一実施の形態の構成を示すブロック図である。この図には、多重キャッシュメモリ(一次キャッシュメモリ12および二次キャッシュメモリ40)を備えたキャッシュメモリ装置が図示されている。
【0033】
同図において、図7の各部に対応する部分には同一の符号を付け、その説明を省略する。同図においては、図7に示した二次キャッシュアクセス制御部13および二次キャッシュメモリ14に代えて、二次キャッシュアクセス制御部30および二次キャッシュメモリ40が設けられている。
【0034】
二次キャッシュメモリ40は、nウェイセットアソシアティブ方式のキャッシュメモリであり、二次タグRAM40aおよび二次データRAM40bとから構成されている。
【0035】
二次タグRAM40aは、図2に示したように、RAM#0〜RAM#7という8個のRAMから物理的に構成されている。RAM#0には、キャッシュ領域として、Even領域(上位の領域)、Odd領域(下位の領域)およびECC領域という3つの領域が確保されている。
【0036】
RAM#0には、図3に示したタグ管理データ60が記憶される。タグ管理データ60は、前述したタグ管理データ20(図10参照)に対応しており、タグ61、タグ62およびECC63から構成されている。
【0037】
タグ61およびタグ62は、同一のWAY(ウェイ)nにそれぞれ対応するタグである。
【0038】
ECC63は、タグ61およびタグ62に追加された冗長データであり、タグ61またはタグ62のいずれかでエラーが発生した場合に、エラーデータを正しいデータに修正するときに用いられるエラー訂正用コードである。
【0039】
ここで、タグ61およびタグ62が同一のWAY(ウエイ)nに対応しているため、エラーが発生した場合には、二次キャッシュアクセス制御部30によりウェイが一意に特定される。
【0040】
タグ61は、RAM#0(図2参照)のEven領域に記憶される。タグ62は、RAM#0のOdd領域に記憶される。また、ECC63は、RAM#0のECC領域に記憶される。
【0041】
タグ61において、AADRS<41:19>は、メインメモリ15に記憶されているアドレスのうち19〜41ビットからなるタグアドレスである。LADRS<15:13>は、ロジカルアドレスである。また、TYPE−CODE<2:0>は、二次キャッシュメモリ40のステータスを表すコードである。
【0042】
図2に戻り、他のRAM#1〜RAM#7は、上述したRAM#0と同一構成とされている。これらのRAM#1〜RAM#7には、タグ管理データ60がそれぞれ記憶されている。
【0043】
ここで、一実施の形態においては、二次キャッシュアクセス制御部30により、図4に示した割付表50に基づいて、図2に示した二次タグRAM40aにおけるタグの割付が行われる。
【0044】
同図には、4ウェイセットアソシアティブ方式および2ウェイセットアソシアティブ方式のそれぞれについての割付状態が図示されている。RAM#の番号(0〜7)、EvenおよびOddは、図2に示したRAM#0〜7、Even領域およびOdd領域に対応している。
【0045】
ここで、図5には、4ウェイセットアソシアティブ方式における二次タグRAM40aの論理的な構成が図示されている。一方、図6には、ウェイ数を4から2へ変更した場合の2ウェイセットアソシアティブ方式における二次タグRAM40aの論理的な構成が図示されている。
【0046】
同図においては、2点鎖線部分(図5に示したWAY2およびWAY3の部分)がWAY0およびWAY1の追加部分として用いられている。なお、図5および図6において、二次タグRAM40aの容量は同一である。
【0047】
図4に示した4ウェイセットアソシアティブの場合には、メインメモリ15に記憶されているアドレス<41:0>に含まれるインデックスアドレス<18:6>のうち、一部の<18:17>という2ビットが割付用インデックスとして用いられる。
【0048】
例えば、RAM#0の場合には、割付用インデックス00(00X・・・XXの「00」:図5参照)に対応し、WAY0(図5参照)に割り当てられた図5に示したタグ0(タグ61に相当:図3参照)がEven領域に割り付けられている。
【0049】
さらに、RAM#0の場合には、割付用インデックス10(10X・・・XXの「10」:図5参照)に対応し、WAY0に割り当てられたタグ0’(タグ62に相当:図3参照)がOdd領域に割り付けられている。
【0050】
一方、図4において、2ウェイセットアソシアティブの場合には、メインメモリ15に記憶されているアドレス<41:0>に含まれるインデックスアドレス<19:6>のうち、一部の<19:17>という3ビットが割付用インデックスとして用いられる。
【0051】
例えば、図4に示したRAM#0の場合には、割付用インデックス010(010X・・・XXの「010」:図6参照)に対応し、WAY0に割り当てられたタグ0’(タグ61に相当:図3参照)がEven領域に割り付けられている。
【0052】
さらに、RAM#0の場合には、割付用インデックス000(000X・・・XXの「000」:図6参照)に対応し、WAY0に割り当てられたタグ0(タグ62に相当:図3参照)がOdd領域に割り付けられている。
【0053】
ここで、割付表50においては、4ウェイセットアソシアティブ方式と2ウェイセットアソシアティブ方式とでは、二次タグRAM40aのキャッシュ容量が変化しないように、インデックス数とウェイ数との乗算結果(二次タグRAM40aにおけるエントリ総数)が一定となるように割付設定されている。
【0054】
具体的には、4ウェイセットアソシアティブ方式の場合には、インデックスアドレス<18:6>が13ビット構成とされるため、つぎの(1)式からエントリ総数E4が求められる。
E4=2^13×4ウェイ(^はべき乗)・・・(1)
【0055】
一方、2ウェイセットアソシアティブ方式の場合には、インデックスアドレス<19:6>が14ビット構成とされるため、つぎの(2)式からエントリ総数E2が求められる。
【0056】
このように、4ウェイセットアソシアティブ方式、2ウェイセットアソシアティブ方式においては、ウェイ数に応じてインデックス数を調整し、エントリ総数が一定とすることで、二次タグRAM40aのキャッシュ容量を減らすことなく、性能を維持することが可能となる。
【0057】
図1に戻り、二次データRAM40bには、二次タグRAM40aのタグに対応し、メインメモリ15のデータが記憶されている。
【0058】
一次キャッシュアクセス制御部11および二次キャッシュアクセス制御部30は、前述したように、図3に示したタグ管理データ60のECC63を用いてエラーデータを正しいデータに修正するという機能を備えている。
【0059】
二次キャッシュアクセス制御部30は、二次キャッシュメモリ40に対するアクセス制御を行う。また、二次キャッシュアクセス制御部30には、図5および図6に示したアドレス比較器30a〜30dが設けられている。
【0060】
図5に示したアドレス比較器30a〜30dは、WAY0〜WAY3に対応して設けられており、インデックスとウェイとで特定されるタグと、アドレスの一部をなすタグアドレス<41:19>とを比較し、両者が一致した場合、二次キャッシュヒット(WAY0_HIT〜WAY3_HIT)とする。二次キャッシュヒットの場合には、二次データRAM40bから当該データが読み出される。
【0061】
一方、図6に示した比較器30aおよび30bは、WAY0およびWAY1に対応して設けられており、インデックスとウェイとで特定されるタグと、アドレスの一部をなすタグアドレス<41:19>とを比較し、両者が一致した場合、二次キャッシュヒット(WAY0_HIT、WAY1_HIT)とする。
【0062】
上記構成において、一次キャッシュメモリ12で一次キャッシュミスになると、二次キャッシュアクセス制御部30は、図5に示した二次タグRAM40aにアクセスし、アドレス<41:0>に含まれるインデックスアドレス<18:6>より、例えば、00X・・・XXのラインを特定する。
【0063】
これにより、アドレス比較器30aは、アドレス<41:0>に含まれるタグアドレス<41:19>とWAY0のタグ0とを比較する。また、アドレス比較器30bは、タグアドレス<41:19>とWAY1のタグ1とを比較する。
【0064】
また、アドレス比較器30cは、タグアドレス<41:19>とWAY2のタグ2とを比較する。また、アドレス比較器30dは、タグアドレス<41:19>とWAY3のタグ3とを比較する。
【0065】
そして、例えば、アドレス比較器30aで一致した場合、二次キャッシュヒット(WAY0_HIT)とされ、二次キャッシュアクセス制御部30は、当該タグ0に対応するデータを二次データRAM40bから読み出す。
【0066】
また、図5に示した二次タグRAM40aのウェイ数が4から2に変更された場合には、二次キャッシュアクセス制御部30は、割付表50(図4参照)に基づいて、図6に示したように、二次タグRAM40aを2ウェイセットアソシアティブ方式に割り付ける。
【0067】
この状態で、一次キャッシュメモリ12で一次キャッシュミスになると、二次キャッシュアクセス制御部30は、図6に示した二次タグRAM40aにアクセスし、アドレス<41:0>に含まれるインデックスアドレス<19:6>より、例えば、000X・・・XXのラインを特定する。
【0068】
これにより、アドレス比較器30aは、アドレス<41:0>に含まれるタグアドレス<41:19>とWAY0のタグ0とを比較する。また、アドレス比較器30bは、タグアドレス<41:19>とWAY1のタグ1とを比較する。
【0069】
そして、例えば、アドレス比較器30aで一致した場合、二次キャッシュヒット(WAY0_HIT)とされ、二次キャッシュアクセス制御部30は、当該タグ0に対応するデータを二次データRAM40bから読み出す。
【0070】
また、二次キャッシュアクセス制御部30により、図2に示したRAM#0に記憶された、タグ61(またはタグ62)でエラーが検出された場合、二次キャッシュアクセス制御部30は、割付表50に基づいて、タグ61(またはタグ62)に対応するWAY0(図4参照)を一意に特定する。
【0071】
以上説明したように、一実施の形態によれば、(1)式および(2)式を参照して説明したように、二次タグRAM40aにおけるインデックス数とウェイ数との乗算結果をエントリの総数とし、ウェイ数の変更(例えば、4WAY→2WAY)に応じてインデックス数を調整することにより、エントリの総数が一定となるように、割付表50に基づいて、各エントリにタグを割り付けることとしたので、キャッシュ容量が変化せず、性能を低下させることなくウェイ数を変更することができる。
【0072】
また、一実施の形態によれば、図3を参照して説明したように、同一のウェイに属する2つのエントリに対応付けて共通のECC63(エラー訂正情報)を設定することとしたので、いずれかのエントリでエラーが発生した場合であっても、エラーが発生したウェイを一意に特定することができる。
【0073】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0074】
【発明の効果】
以上説明したように、本発明によれば、ウェイ数の変更に際して、変更前のキャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付けることとしたので、キャッシュ容量が変化せず、性能を低下させることなくウェイ数を変更することができるという効果を奏する。
【0075】
また、本発明によれば、キャッシュメモリにおけるインデックス数とウェイ数との乗算結果をエントリの総数とし、ウェイ数の変更に応じてインデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることとしたので、キャッシュ容量が変化せず、性能を低下させることなくウェイ数を変更することができるという効果を奏する。
【0076】
また、本発明によれば、同一のウェイに属する複数のエントリに対応付けて共通のエラー訂正情報を設定することとしたので、複数のエントリのうちいずれかのエントリでエラーが発生した場合であっても、エラーが発生したウェイを一意に特定することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる一実施の形態の構成を示すブロック図である。
【図2】図1に示した二次タグRAM40aの構成を示す図である。
【図3】図2に示した二次タグRAM40aに格納されるタグ管理データ60のフォーマットを示す図である。
【図4】図2に示した二次タグRAM40aに対応する割付表50を示す図である。
【図5】図1に示した二次キャッシュアクセス制御部30における4ウェイ時の動作を説明する図である。
【図6】図1に示した二次キャッシュアクセス制御部30における2ウェイ時の動作を説明する図である。
【図7】従来のキャッシュメモリ装置の構成を示すブロック図である。
【図8】図7に示したメインメモリ15と二次キャッシュメモリ14との対応関係を説明する図である。
【図9】図7に示した二次キャッシュメモリ14におけるnウェイセットアソシアティブ方式を説明する図である。
【図10】従来のキャッシュメモリ装置におけるタグ管理データ60のデータ構造を示す図である。
【図11】図7に示した二次キャッシュメモリ14におけるウェイ数の変更方法を説明する図である。
【符号の説明】
10 CPU
11 一次キャッシュアクセス制御部
12 一次キャッシュメモリ
12a 一次タグRAM
12b 一次データRAM
15 メインメモリ
30 二次キャッシュアクセス制御部
40 二次キャッシュメモリ
40a 二次タグRAM
40b 二次データRAM
Claims (6)
- 複数のウェイを有するセットアソシアティブ方式が採られたキャッシュメモリと、
同一のウェイに属する複数のエントリに対応付けて共通のエラー訂正情報を設定する設定手段と、
を備えたことを特徴とするキャッシュメモリ装置。 - ウェイ数の変更に際して、変更前の前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付手段を備えたことを特徴とする請求項1に記載のキャッシュメモリ装置。
- 前記割付手段は、キャッシュメモリにおけるインデックス数と前記ウェイ数との乗算結果を前記エントリの総数とし、ウェイ数の変更に応じて前記インデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることを特徴とする請求項2に記載のキャッシュメモリ装置。
- 複数のウェイを有するセットアソシアティブ方式が採られたキャッシュメモリを有するキャッシュメモリ装置に適用されるメモリ割付方法であって、
同一のウェイに属する複数のエントリに対応付けて共通のエラー訂正情報を設定する設定工程、
を含むことを特徴とするメモリ割付方法。 - ウェイ数の変更に際して、変更前の前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付工程を含むことを特徴とする請求項4に記載のメモリ割付方法。
- 前記割付工程は、キャッシュメモリにおけるインデックス数と前記ウェイ数との乗算結果を前記エントリの総数とし、ウェイ数の変更に応じて前記インデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることを特徴とする請求項5に記載のメモリ割付方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002197953A JP3989312B2 (ja) | 2002-07-05 | 2002-07-05 | キャッシュメモリ装置およびメモリ割付方法 |
US10/337,430 US7120745B2 (en) | 2002-07-05 | 2003-01-07 | Cache memory device and memory allocation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002197953A JP3989312B2 (ja) | 2002-07-05 | 2002-07-05 | キャッシュメモリ装置およびメモリ割付方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004038807A JP2004038807A (ja) | 2004-02-05 |
JP3989312B2 true JP3989312B2 (ja) | 2007-10-10 |
Family
ID=29997095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002197953A Expired - Fee Related JP3989312B2 (ja) | 2002-07-05 | 2002-07-05 | キャッシュメモリ装置およびメモリ割付方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7120745B2 (ja) |
JP (1) | JP3989312B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4327669B2 (ja) | 2004-06-29 | 2009-09-09 | 徳元 王 | キャッシュ装置及び方法 |
JP4669244B2 (ja) * | 2004-07-29 | 2011-04-13 | 富士通株式会社 | キャッシュメモリ装置およびメモリ制御方法 |
US8364897B2 (en) * | 2004-09-29 | 2013-01-29 | Intel Corporation | Cache organization with an adjustable number of ways |
JP2007079958A (ja) * | 2005-09-14 | 2007-03-29 | Hitachi Ltd | 記憶制御装置、データ処理方法、及びコンピュータプログラム |
JP2008046902A (ja) | 2006-08-17 | 2008-02-28 | Fujitsu Ltd | 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法 |
JP5011885B2 (ja) | 2006-08-18 | 2012-08-29 | 富士通株式会社 | スヌープタグの制御装置 |
US20090019306A1 (en) * | 2007-07-11 | 2009-01-15 | Herbert Hum | Protecting tag information in a multi-level cache hierarchy |
US8103851B2 (en) * | 2008-01-11 | 2012-01-24 | International Business Machines Corporation | Dynamic address translation with translation table entry format control for indentifying format of the translation table entry |
JP5434646B2 (ja) * | 2010-02-10 | 2014-03-05 | 富士通株式会社 | 情報処理装置 |
US20120079348A1 (en) * | 2010-09-24 | 2012-03-29 | Helia Naeimi | Data with appended crc and residue value and encoder/decoder for same |
US8533572B2 (en) * | 2010-09-24 | 2013-09-10 | Intel Corporation | Error correcting code logic for processor caches that uses a common set of check bits |
WO2016097806A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Fully associative cache memory budgeted by memory access type |
US9910785B2 (en) | 2014-12-14 | 2018-03-06 | Via Alliance Semiconductor Co., Ltd | Cache memory budgeted by ways based on memory access type |
EP3066572B1 (en) * | 2014-12-14 | 2020-02-19 | VIA Alliance Semiconductor Co., Ltd. | Cache memory budgeted by chunks based on memory access type |
KR101867143B1 (ko) | 2014-12-14 | 2018-07-17 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 이종 치환 정책을 가진 셋트 연관 캐시 메모리 |
WO2016097807A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Cache replacement policy that considers memory access type |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62194562A (ja) | 1985-10-09 | 1987-08-27 | Fujitsu Ltd | キヤツシユメモリシステム |
JPH02293946A (ja) | 1989-05-08 | 1990-12-05 | Fujitsu Ltd | パッファストレイジのタグ固定故障処理方式 |
JP2646854B2 (ja) * | 1990-12-18 | 1997-08-27 | 三菱電機株式会社 | マイクロプロセッサ |
JPH05120133A (ja) | 1991-10-29 | 1993-05-18 | Matsushita Electric Ind Co Ltd | キヤツシユ装置 |
US5367653A (en) | 1991-12-26 | 1994-11-22 | International Business Machines Corporation | Reconfigurable multi-way associative cache memory |
JPH06161896A (ja) | 1992-11-25 | 1994-06-10 | Mitsubishi Denki Eng Kk | 半導体記憶装置及びアドレス記憶方式 |
JPH0950401A (ja) * | 1995-08-09 | 1997-02-18 | Toshiba Corp | キャッシュメモリ及びそれを備えた情報処理装置 |
JPH09101916A (ja) * | 1995-10-06 | 1997-04-15 | Fujitsu Ltd | マルチプロセス処理装置 |
EP0903743B1 (en) * | 1997-09-17 | 2002-05-08 | Matsushita Electric Industrial Co., Ltd | Video data editing apparatus and computer-readable recording medium storing an editing program |
DE69812258T2 (de) * | 1997-09-17 | 2003-09-25 | Matsushita Electric Industrial Co., Ltd. | Videodatenschnittgerät, optische Platte zur Verwendung als Aufzeichnungsmedium dafür und rechnerlesbares Aufzeichnungsmedium |
JP2954178B1 (ja) | 1998-06-26 | 1999-09-27 | 甲府日本電気株式会社 | 可変式キャッシュ方式 |
FI105969B (fi) * | 1998-08-10 | 2000-10-31 | Nokia Networks Oy | Palvelunlaadun hallinta matkaviestinjärjestelmässä |
WO2000017874A1 (fr) * | 1998-09-18 | 2000-03-30 | Kabushiki Kaisha Toshiba | Procede d'enregistrement d'informations, dispositif d'enregistrement d'informations et support d'informations |
US6449694B1 (en) * | 1999-07-27 | 2002-09-10 | Intel Corporation | Low power cache operation through the use of partial tag comparison |
-
2002
- 2002-07-05 JP JP2002197953A patent/JP3989312B2/ja not_active Expired - Fee Related
-
2003
- 2003-01-07 US US10/337,430 patent/US7120745B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7120745B2 (en) | 2006-10-10 |
JP2004038807A (ja) | 2004-02-05 |
US20040006669A1 (en) | 2004-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3989312B2 (ja) | キャッシュメモリ装置およびメモリ割付方法 | |
US12147673B2 (en) | Memory system and method for controlling nonvolatile memory | |
US12038834B2 (en) | Memory system and method for controlling nonvolatile memory during command processing without replacing defective blocks | |
US11151029B2 (en) | Computing system and method for controlling storage device | |
US11748256B2 (en) | Memory system and method for controlling nonvolatile memory | |
US11954043B2 (en) | Memory system and method for controlling nonvolatile memory | |
US11797436B2 (en) | Memory system and method for controlling nonvolatile memory | |
US10169232B2 (en) | Associative and atomic write-back caching system and method for storage subsystem | |
US7552286B2 (en) | Performance of a cache by detecting cache lines that have been reused | |
CN110032521B (zh) | 增强闪存转换层映射灵活性的方法和系统 | |
US11836089B2 (en) | Cache memory, memory system including the same and operating method thereof | |
US20160378671A1 (en) | Cache memory system and processor system | |
US12147890B2 (en) | Neural network computing device and cache management method thereof | |
JP5045334B2 (ja) | キャッシュシステム | |
GB2628371A (en) | Storing coalesced memory address translations | |
CN117539796A (zh) | 电子装置及缓冲存储器管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070508 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070704 |
|
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: 20070717 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070717 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3989312 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130727 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |