JP3989312B2 - キャッシュメモリ装置およびメモリ割付方法 - Google Patents

キャッシュメモリ装置およびメモリ割付方法 Download PDF

Info

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
Application number
JP2002197953A
Other languages
English (en)
Other versions
JP2004038807A (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 JP2002197953A priority Critical patent/JP3989312B2/ja
Priority to US10/337,430 priority patent/US7120745B2/en
Publication of JP2004038807A publication Critical patent/JP2004038807A/ja
Application granted granted Critical
Publication of JP3989312B2 publication Critical patent/JP3989312B2/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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1064Adding 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
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration 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

【0001】
【発明の属する技術分野】
本発明は、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が求められる。
Figure 0003989312
【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. ウェイ数の変更に際して、変更前の前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付手段を備えたことを特徴とする請求項1に記載のキャッシュメモリ装置。
  3. 前記割付手段は、キャッシュメモリにおけるインデックス数と前記ウェイ数との乗算結果を前記エントリの総数とし、ウェイ数の変更に応じて前記インデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることを特徴とする請求項2に記載のキャッシュメモリ装置。
  4. 複数のウェイを有するセットアソシアティブ方式が採られたキャッシュメモリを有するキャッシュメモリ装置に適用されるメモリ割付方法であって、
    同一のウェイに属する複数のエントリに対応付けて共通のエラー訂正情報を設定する設定工程、
    を含むことを特徴とするメモリ割付方法。
  5. ウェイ数の変更に際して、変更前の前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付工程を含むことを特徴とする請求項4に記載のメモリ割付方法。
  6. 前記割付工程は、キャッシュメモリにおけるインデックス数と前記ウェイ数との乗算結果を前記エントリの総数とし、ウェイ数の変更に応じて前記インデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることを特徴とする請求項5に記載のメモリ割付方法。
JP2002197953A 2002-07-05 2002-07-05 キャッシュメモリ装置およびメモリ割付方法 Expired - Fee Related JP3989312B2 (ja)

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)

* Cited by examiner, † Cited by third party
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
US9898411B2 (en) 2014-12-14 2018-02-20 Via Alliance Semiconductor Co., Ltd. Cache memory budgeted by chunks based on memory access type
EP3055775B1 (en) 2014-12-14 2019-08-21 VIA Alliance Semiconductor Co., Ltd. Cache replacement policy that considers memory access type
US9811468B2 (en) 2014-12-14 2017-11-07 Via Alliance Semiconductor Co., Ltd. Set associative cache memory with heterogeneous replacement policy
WO2016097805A1 (en) 2014-12-14 2016-06-23 Via Alliance Semicoductor Co., Ltd. Cache memory budgeted by ways on memory access type
EP3230874B1 (en) 2014-12-14 2021-04-28 VIA Alliance Semiconductor Co., Ltd. Fully associative cache memory budgeted by memory access type

Family Cites Families (14)

* Cited by examiner, † Cited by third party
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 マルチプロセス処理装置
WO1999014757A2 (en) * 1997-09-17 1999-03-25 Matsushita Electric Industrial Co., Ltd. Video data editing apparatus, optical disc for use as a recording medium of a video data editing apparatus, and computer-readable recording medium storing an editing program
US6330392B1 (en) * 1997-09-17 2001-12-11 Matsushita Electric Industrial Co., Ltd. Video data editing apparatus and computer-readable recording medium storing an editing program
JP2954178B1 (ja) 1998-06-26 1999-09-27 甲府日本電気株式会社 可変式キャッシュ方式
FI105969B (fi) * 1998-08-10 2000-10-31 Nokia Networks Oy Palvelunlaadun hallinta matkaviestinjärjestelmässä
EP2200032A3 (en) * 1998-09-18 2010-09-22 Kabushiki Kaisha Toshiba Information recording method, information recording device, and information recording medium
US6449694B1 (en) * 1999-07-27 2002-09-10 Intel Corporation Low power cache operation through the use of partial tag comparison

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) キャッシュメモリ装置およびメモリ割付方法
US11709597B2 (en) Memory system and method for controlling nonvolatile memory
US11151029B2 (en) Computing system and method for controlling storage device
US20220414002A1 (en) Memory system and method for controlling nonvolatile memory
US11748256B2 (en) Memory system and method for controlling nonvolatile memory
US11954043B2 (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
US11797436B2 (en) Memory system and method for controlling nonvolatile memory
CN110032521B (zh) 增强闪存转换层映射灵活性的方法和系统
US20180336140A1 (en) Method and system for flash-aware heap memory management
US20200301844A1 (en) Cache memory, memory system including the same and operating method thereof
US20160378671A1 (en) Cache memory system and processor system
CN117539796B (zh) 电子装置及缓冲存储器管理方法
US20210397934A1 (en) Neural network computing device and cache management method thereof
JP5045334B2 (ja) キャッシュシステム
KR20160085194A (ko) 분할된 캐시의 캐시 재배치 방법 및 그것을 수행하는 메모리 컨트롤러

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