(57)【要約】【課題】エラーが発生したウェイを特定し、性能を低下させることなくウェイ数を変更すること。【解決手段】二次キャッシュメモリ４０の一部を構成し、複数のウェイを有するセットアソシアティブ方式が採られた二次タグＲＡＭ４０ａと、二次タグＲＡＭ４０ａにおけるウェイ数の変更に際して、二次タグＲＡＭ４０ａを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける二次キャッシュアクセス制御部３０とを備えている。【選択図】　　　図１
2004038807.tif 000002
【特許請求の範囲】
【請求項１】
複数のウェイを有するセットアソシアティブ方式が採られたキャッシュメモリと、
ウェイ数の変更に際して、前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付手段と、
を備えたことを特徴とするキャッシュメモリ装置。
【請求項２】
前記割付手段は、キャッシュメモリにおけるインデックス数と前記ウェイ数との乗算結果を前記エントリの総数とし、ウェイ数の変更に応じて前記インデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることを特徴とする請求項１に記載のキャッシュメモリ装置。
【請求項３】
同一のウェイに属する複数のエントリに対応付けて共通のエラー訂正情報を設定する設定手段を備えたことを特徴とする請求項１または２に記載のキャッシュメモリ装置。
【請求項４】
複数のウェイを有するセットアソシアティブ方式が採られたキャッシュメモリを有するキャッシュメモリ装置に適用されるメモリ割付方法であって、
ウェイ数の変更に際して、前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付工程、
を含むことを特徴とするメモリ割付方法。
【請求項５】
前記割付工程では、キャッシュメモリにおけるインデックス数と前記ウェイ数との乗算結果を前記エントリの総数とし、ウェイ数の変更に応じて前記インデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることを特徴とする請求項４に記載のメモリ割付方法。
【請求項６】
同一のウェイに属する複数のエントリに対応付けて共通のエラー訂正情報を設定する設定工程を含むことを特徴とする請求項４または５に記載のメモリ割付方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ｎウェイセットアソシアティブ方式のキャッシュメモリを有するキャッシュメモリ装置およびメモリ割付方法に関するものであり、特に、エラーが発生したウェイを一意に特定することができるとともに、性能を低下させることなくウェイ数を変更することができるキャッシュメモリ装置およびメモリ割付方法に関するものである。
【０００２】
【従来の技術】
図７は、従来のキャッシュメモリ装置の構成を示すブロック図である。この図に示したキャッシュメモリ装置は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１０とメインメモリ１５との間の速度差を埋めるために、多重キャッシュメモリ（一次キャッシュメモリ１２および二次キャッシュメモリ１４）を備えた装置である。
【０００３】
ＣＰＵ１０は、一次キャッシュメモリ１２、二次キャッシュメモリ１４またはメインメモリ１５にアクセスすることで、データのリード／ライトを行う。
【０００４】
メインメモリ１５は、大容量であってかつアクセス時間が一次キャッシュメモリ１２および二次キャッシュメモリ１４に比して遅いという特性を備えている。このメインメモリ１５には、ＣＰＵ１０で用いられるデータの全てが記憶されている。
【０００５】
一次キャッシュメモリ１２および二次キャッシュメモリ１４は、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）であり、アクセス時間がメインメモリ１５に比して短いという特性を備えている。
【０００６】
また、一次キャッシュメモリ１２は、二次キャッシュメモリ１４に比してアクセス時間が短いという特性を備えている。すなわち、一次キャッシュメモリ１２、二次キャッシュメモリ１４およびメインメモリ１５のうち、一次キャッシュメモリ１２のアクセス時間が最も短く、そのつぎに二次キャッシュメモリ１４のアクセス時間が短く、メインメモリ１５のアクセス時間が最も長いという特性を備えている。
【０００７】
さらに、記憶容量の面から見れば、メインメモリ１５の記憶容量が最も大きく、そのつぎに二次キャッシュメモリ１４の記憶容量が大きく、一次キャッシュメモリ１２の記憶容量が最も小さい。
【０００８】
ここで、一般にＣＰＵと、キャッシュメモリ（メインメモリ）との間のデータ転送はライン単位で行われ、メインメモリ上のデータをキャッシュメモリ内のラインに対応づける方式にはいくつかある。
【０００９】
代表的な方式としては、メインメモリとキャッシュメモリとを複数のセット（ラインの集合：これをウェイという）に分割し、メインメモリ上のあるデータは、各ウェイの中の決められたラインにしか置けないというセットアソシアティブ方式がある。
【００１０】
セットアソシアティブ方式において、キャッシュメモリを１つのウェイとして扱う場合には、ダイレクト・マッピング方式（または、１ウェイセットアソシアティブ方式）と呼ばれ、ウェイがＮある場合には、ｎウェイセットアソシアティブ方式と呼ばれている。
【００１１】
図８は、上記ダイレクトマッピング方式に関するメインメモリ１５および二次キャッシュメモリ１４との対応関係を説明する図である。同図において、メインメモリ１５には、５ビット構成のアドレスとデータ（データ０〜４、・・・）とが組をなして記憶されている。
【００１２】
二次キャッシュメモリ１４は、図７に示したように、二次タグＲＡＭ１４ａおよび二次データＲＡＭ１４ｂとから構成されている。二次キャッシュメモリ１４において、「インデックス」には、メインメモリ１５に記憶されているアドレスの下位２ビットがインデックスとして格納されている。
【００１３】
「タグ」には、メインメモリ１５に記憶されているアドレスの上位３ビットがタグとして記憶されている。これらの「インデックス」および「タグ」は、二次タグＲＡＭ１４ａ（図７参照）に記憶されている。
【００１４】
一方、「データ」には、メインメモリ１５に記憶されているデータが記憶されている。この「データ」は、二次データＲＡＭ１４ｂに記憶されている。
【００１５】
これに対して、図９は、二次キャッシュメモリ１４におけるｎウェイセットアソシアティブ方式を説明する図である。同図においては、二次キャッシュメモリ１４は、ｎＷＡＹ（ウエイ）に分割されて管理されるようになっており、二次タグＲＡＭ１４ａ（図７参照）のウェイと二次データＲＡＭ１４ｂのウェイとは一対一で対応している。
【００１６】
ここで、図９においては、図８と同様にして、二次キャッシュメモリ１４の「タグ」に、メインメモリ１５に記憶されているアドレスの上位３ビットがタグとして記憶されている。これらの「インデックス」および「タグ」は、二次タグＲＡＭ１４ａ（図７参照）に記憶されている。
【００１７】
一方、「データ」には、メインメモリ１５に記憶されているデータが記憶されている。この「データ」は、二次データＲＡＭ１４ｂに記憶されている。以下では、二次キャッシュメモリ１４がｎウェイ（４ウェイ）セットアソシアティブ方式のキャッシュメモリであるとする。
【００１８】
図７に戻り、一次キャッシュメモリ１２は、メインメモリ１５に記憶されているデータの一部を記憶しており、ｎウェイセットアソシアティブ方式のメモリである。この一次キャッシュメモリ１２は、一次タグＲＡＭ１２ａおよび一次データＲＡＭ１２ｂから構成されている。
【００１９】
また、従来のキャッシュメモリ装置において、一次キャッシュアクセス制御部１１および二次キャッシュアクセス制御部１３は、図１０に示したタグ管理データ２０を用いてエラーデータを正しいデータに修正するという機能を備えている。
【００２０】
タグ管理データ２０は、一次タグＲＡＭ１２ａや二次タグＲＡＭ１４ａに記憶されており、タグ２１、タグ２２およびＥＣＣ（Ｅｒｒｏｒ　Ｃｈｅｃｋｉｎｇ　Ｃｏｄｅ：エラーチェックキングコード）２３から構成されている。
【００２１】
タグ２１は、ＷＡＹ（ウェイ）ｍに対応するタグである。タグ２２は、タグ２１のＷＡＹ（ウェイ）ｍと異なるＷＡＹ（ウェイ）ｎに対応するタグである。
【００２２】
ＥＣＣ２３は、タグ２１およびタグ２２に追加された冗長データであり、タグ２１またはタグ２２のいずれかでエラーが発生した場合に、エラーデータを正しいデータに修正するときに用いられるエラー訂正用コードである。
【００２３】
また、従来のキャッシュメモリ装置においては、例えば、設計変更や仕様変更に伴って、図１１（ａ）に示した４ウェイセットアソシアティブ方式の二次キャッシュメモリ１４を２ウェイセットアソシアティブ方式に変更、すなわち、ウェイ数の変更を行う場合がある。
【００２４】
この場合には、図１１（ｂ）に示したように、ＷＡＹ２およびＷＡＹ４の機能を停止（例えば、タグおよびデータを削除）させ、ＷＡＹ０およびＷＡＹ１のみを機能させるという変更方法が採られる。
【００２５】
【発明が解決しようとする課題】
ところで、前述したように、従来のキャッシュメモリ装置においては、図１０に示したように、異なるウェイのタグ２１（ＷＡＹｍ）およびタグ２２（ＷＡＹｎ）に対して一つのＥＣＣ２３を共用したタグ管理データ２０を用いているため、エラーが発生した場合に、ＷＡＹｍ、ＷＡＹｎのうちいずれかにエラーが発生したということしか分からず、エラーが発生したウェイを一意に特定することができないという問題があった。
【００２６】
また、従来のキャッシュメモリ装置においては、図１１（ｂ）に示したように、単純にＷＡＹ２およびＷＡＹ４の機能を停止させることにより、ウェイ数の変更を行っているため、二次キャッシュメモリ１４のキャッシュ容量が半分となり、性能が低下するという問題があった。
【００２７】
本発明は、上記に鑑みてなされたもので、エラーが発生したウェイを特定することができるとともに、性能を低下させることなくウェイ数を変更することができるキャッシュメモリ装置およびメモリ割付方法を提供することを目的とする。
【００２８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、複数のウェイを有するセットアソシアティブ方式が採られたキャッシュメモリと、ウェイ数の変更に際して、前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付手段と、を備えたことを特徴とする。
【００２９】
また、本発明は、複数のウェイを有するセットアソシアティブ方式が採られたキャッシュメモリを有するキャッシュメモリ装置に適用されるメモリ割付方法であって、ウェイ数の変更に際して、前記キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付ける割付工程、を含むことを特徴とする。
【００３０】
かかる発明によれば、ウェイ数の変更に際して、キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付けることとしたので、キャッシュ容量が変化せず、性能を低下させることなくウェイ数を変更することができる。
【００３１】
【発明の実施の形態】
以下、図面を参照して本発明にかかるキャッシュメモリ装置およびメモリ割付方法の一実施の形態について詳細に説明する。
【００３２】
図１は、本発明にかかる一実施の形態の構成を示すブロック図である。この図には、多重キャッシュメモリ（一次キャッシュメモリ１２および二次キャッシュメモリ４０）を備えたキャッシュメモリ装置が図示されている。
【００３３】
同図において、図７の各部に対応する部分には同一の符号を付け、その説明を省略する。同図においては、図７に示した二次キャッシュアクセス制御部１３および二次キャッシュメモリ１４に代えて、二次キャッシュアクセス制御部３０および二次キャッシュメモリ４０が設けられている。
【００３４】
二次キャッシュメモリ４０は、ｎウェイセットアソシアティブ方式のキャッシュメモリであり、二次タグＲＡＭ４０ａおよび二次データＲＡＭ４０ｂとから構成されている。
【００３５】
二次タグＲＡＭ４０ａは、図２に示したように、ＲＡＭ＃０〜ＲＡＭ＃７という８個のＲＡＭから物理的に構成されている。ＲＡＭ＃０には、キャッシュ領域として、Ｅｖｅｎ領域（上位の領域）、Ｏｄｄ領域（下位の領域）およびＥＣＣ領域という３つの領域が確保されている。
【００３６】
ＲＡＭ＃０には、図３に示したタグ管理データ６０が記憶される。タグ管理データ６０は、前述したタグ管理データ２０（図１０参照）に対応しており、タグ６１、タグ６２およびＥＣＣ６３から構成されている。
【００３７】
タグ６１およびタグ６２は、同一のＷＡＹ（ウェイ）ｎにそれぞれ対応するタグである。
【００３８】
ＥＣＣ６３は、タグ６１およびタグ６２に追加された冗長データであり、タグ６１またはタグ６２のいずれかでエラーが発生した場合に、エラーデータを正しいデータに修正するときに用いられるエラー訂正用コードである。
【００３９】
ここで、タグ６１およびタグ６２が同一のＷＡＹ（ウエイ）ｎに対応しているため、エラーが発生した場合には、二次キャッシュアクセス制御部３０によりウェイが一意に特定される。
【００４０】
タグ６１は、ＲＡＭ＃０（図２参照）のＥｖｅｎ領域に記憶される。タグ６２は、ＲＡＭ＃０のＯｄｄ領域に記憶される。また、ＥＣＣ６３は、ＲＡＭ＃０のＥＣＣ領域に記憶される。
【００４１】
タグ６１において、ＡＡＤＲＳ＜４１：１９＞は、メインメモリ１５に記憶されているアドレスのうち１９〜４１ビットからなるタグアドレスである。ＬＡＤＲＳ＜１５：１３＞は、ロジカルアドレスである。また、ＴＹＰＥ−ＣＯＤＥ＜２：０＞は、二次キャッシュメモリ４０のステータスを表すコードである。
【００４２】
図２に戻り、他のＲＡＭ＃１〜ＲＡＭ＃７は、上述したＲＡＭ＃０と同一構成とされている。これらのＲＡＭ＃１〜ＲＡＭ＃７には、タグ管理データ６０がそれぞれ記憶されている。
【００４３】
ここで、一実施の形態においては、二次キャッシュアクセス制御部３０により、図４に示した割付表５０に基づいて、図２に示した二次タグＲＡＭ４０ａにおけるタグの割付が行われる。
【００４４】
同図には、４ウェイセットアソシアティブ方式および２ウェイセットアソシアティブ方式のそれぞれについての割付状態が図示されている。ＲＡＭ＃の番号（０〜７）、ＥｖｅｎおよびＯｄｄは、図２に示したＲＡＭ＃０〜７、Ｅｖｅｎ領域およびＯｄｄ領域に対応している。
【００４５】
ここで、図５には、４ウェイセットアソシアティブ方式における二次タグＲＡＭ４０ａの論理的な構成が図示されている。一方、図６には、ウェイ数を４から２へ変更した場合の２ウェイセットアソシアティブ方式における二次タグＲＡＭ４０ａの論理的な構成が図示されている。
【００４６】
同図においては、２点鎖線部分（図５に示したＷＡＹ２およびＷＡＹ３の部分）がＷＡＹ０およびＷＡＹ１の追加部分として用いられている。なお、図５および図６において、二次タグＲＡＭ４０ａの容量は同一である。
【００４７】
図４に示した４ウェイセットアソシアティブの場合には、メインメモリ１５に記憶されているアドレス＜４１：０＞に含まれるインデックスアドレス＜１８：６＞のうち、一部の＜１８：１７＞という２ビットが割付用インデックスとして用いられる。
【００４８】
例えば、ＲＡＭ＃０の場合には、割付用インデックス００（００Ｘ・・・ＸＸの「００」：図５参照）に対応し、ＷＡＹ０（図５参照）に割り当てられた図５に示したタグ０（タグ６１に相当：図３参照）がＥｖｅｎ領域に割り付けられている。
【００４９】
さらに、ＲＡＭ＃０の場合には、割付用インデックス１０（１０Ｘ・・・ＸＸの「１０」：図５参照）に対応し、ＷＡＹ０に割り当てられたタグ０’（タグ６２に相当：図３参照）がＯｄｄ領域に割り付けられている。
【００５０】
一方、図４において、２ウェイセットアソシアティブの場合には、メインメモリ１５に記憶されているアドレス＜４１：０＞に含まれるインデックスアドレス＜１９：６＞のうち、一部の＜１９：１７＞という３ビットが割付用インデックスとして用いられる。
【００５１】
例えば、図４に示したＲＡＭ＃０の場合には、割付用インデックス０１０（０１０Ｘ・・・ＸＸの「０１０」：図６参照）に対応し、ＷＡＹ０に割り当てられたタグ０’（タグ６１に相当：図３参照）がＥｖｅｎ領域に割り付けられている。
【００５２】
さらに、ＲＡＭ＃０の場合には、割付用インデックス０００（０００Ｘ・・・ＸＸの「０００」：図６参照）に対応し、ＷＡＹ０に割り当てられたタグ０（タグ６２に相当：図３参照）がＯｄｄ領域に割り付けられている。
【００５３】
ここで、割付表５０においては、４ウェイセットアソシアティブ方式と２ウェイセットアソシアティブ方式とでは、二次タグＲＡＭ４０ａのキャッシュ容量が変化しないように、インデックス数とウェイ数との乗算結果（二次タグＲＡＭ４０ａにおけるエントリ総数）が一定となるように割付設定されている。
【００５４】
具体的には、４ウェイセットアソシアティブ方式の場合には、インデックスアドレス＜１８：６＞が１３ビット構成とされるため、つぎの（１）式からエントリ総数Ｅ４が求められる。
Ｅ４＝２＾１３×４ウェイ（＾はべき乗）・・・（１）
【００５５】
一方、２ウェイセットアソシアティブ方式の場合には、インデックスアドレス＜１９：６＞が１４ビット構成とされるため、つぎの（２）式からエントリ総数Ｅ２が求められる。
Ｅ２＝２＾１４×２ウェイ（＾はべき乗）
＝Ｅ４　　　　　　　　　　　　　　・・・（２）
【００５６】
このように、４ウェイセットアソシアティブ方式、２ウェイセットアソシアティブ方式においては、ウェイ数に応じてインデックス数を調整し、エントリ総数が一定とすることで、二次タグＲＡＭ４０ａのキャッシュ容量を減らすことなく、性能を維持することが可能となる。
【００５７】
図１に戻り、二次データＲＡＭ４０ｂには、二次タグＲＡＭ４０ａのタグに対応し、メインメモリ１５のデータが記憶されている。
【００５８】
一次キャッシュアクセス制御部１１および二次キャッシュアクセス制御部３０は、前述したように、図３に示したタグ管理データ６０のＥＣＣ６３を用いてエラーデータを正しいデータに修正するという機能を備えている。
【００５９】
二次キャッシュアクセス制御部３０は、二次キャッシュメモリ４０に対するアクセス制御を行う。また、二次キャッシュアクセス制御部３０には、図５および図６に示したアドレス比較器３０ａ〜３０ｄが設けられている。
【００６０】
図５に示したアドレス比較器３０ａ〜３０ｄは、ＷＡＹ０〜ＷＡＹ３に対応して設けられており、インデックスとウェイとで特定されるタグと、アドレスの一部をなすタグアドレス＜４１：１９＞とを比較し、両者が一致した場合、二次キャッシュヒット（ＷＡＹ０＿ＨＩＴ〜ＷＡＹ３＿ＨＩＴ）とする。二次キャッシュヒットの場合には、二次データＲＡＭ４０ｂから当該データが読み出される。
【００６１】
一方、図６に示した比較器３０ａおよび３０ｂは、ＷＡＹ０およびＷＡＹ１に対応して設けられており、インデックスとウェイとで特定されるタグと、アドレスの一部をなすタグアドレス＜４１：１９＞とを比較し、両者が一致した場合、二次キャッシュヒット（ＷＡＹ０＿ＨＩＴ、ＷＡＹ１＿ＨＩＴ）とする。
【００６２】
上記構成において、一次キャッシュメモリ１２で一次キャッシュミスになると、二次キャッシュアクセス制御部３０は、図５に示した二次タグＲＡＭ４０ａにアクセスし、アドレス＜４１：０＞に含まれるインデックスアドレス＜１８：６＞より、例えば、００Ｘ・・・ＸＸのラインを特定する。
【００６３】
これにより、アドレス比較器３０ａは、アドレス＜４１：０＞に含まれるタグアドレス＜４１：１９＞とＷＡＹ０のタグ０とを比較する。また、アドレス比較器３０ｂは、タグアドレス＜４１：１９＞とＷＡＹ１のタグ１とを比較する。
【００６４】
また、アドレス比較器３０ｃは、タグアドレス＜４１：１９＞とＷＡＹ２のタグ２とを比較する。また、アドレス比較器３０ｄは、タグアドレス＜４１：１９＞とＷＡＹ３のタグ３とを比較する。
【００６５】
そして、例えば、アドレス比較器３０ａで一致した場合、二次キャッシュヒット（ＷＡＹ０＿ＨＩＴ）とされ、二次キャッシュアクセス制御部３０は、当該タグ０に対応するデータを二次データＲＡＭ４０ｂから読み出す。
【００６６】
また、図５に示した二次タグＲＡＭ４０ａのウェイ数が４から２に変更された場合には、二次キャッシュアクセス制御部３０は、割付表５０（図４参照）に基づいて、図６に示したように、二次タグＲＡＭ４０ａを２ウェイセットアソシアティブ方式に割り付ける。
【００６７】
この状態で、一次キャッシュメモリ１２で一次キャッシュミスになると、二次キャッシュアクセス制御部３０は、図６に示した二次タグＲＡＭ４０ａにアクセスし、アドレス＜４１：０＞に含まれるインデックスアドレス＜１９：６＞より、例えば、０００Ｘ・・・ＸＸのラインを特定する。
【００６８】
これにより、アドレス比較器３０ａは、アドレス＜４１：０＞に含まれるタグアドレス＜４１：１９＞とＷＡＹ０のタグ０とを比較する。また、アドレス比較器３０ｂは、タグアドレス＜４１：１９＞とＷＡＹ１のタグ１とを比較する。
【００６９】
そして、例えば、アドレス比較器３０ａで一致した場合、二次キャッシュヒット（ＷＡＹ０＿ＨＩＴ）とされ、二次キャッシュアクセス制御部３０は、当該タグ０に対応するデータを二次データＲＡＭ４０ｂから読み出す。
【００７０】
また、二次キャッシュアクセス制御部３０により、図２に示したＲＡＭ＃０に記憶された、タグ６１（またはタグ６２）でエラーが検出された場合、二次キャッシュアクセス制御部３０は、割付表５０に基づいて、タグ６１（またはタグ６２）に対応するＷＡＹ０（図４参照）を一意に特定する。
【００７１】
以上説明したように、一実施の形態によれば、（１）式および（２）式を参照して説明したように、二次タグＲＡＭ４０ａにおけるインデックス数とウェイ数との乗算結果をエントリの総数とし、ウェイ数の変更（例えば、４ＷＡＹ→２ＷＡＹ）に応じてインデックス数を調整することにより、エントリの総数が一定となるように、割付表５０に基づいて、各エントリにタグを割り付けることとしたので、キャッシュ容量が変化せず、性能を低下させることなくウェイ数を変更することができる。
【００７２】
また、一実施の形態によれば、図３を参照して説明したように、同一のウェイに属する２つのエントリに対応付けて共通のＥＣＣ６３（エラー訂正情報）を設定することとしたので、いずれかのエントリでエラーが発生した場合であっても、エラーが発生したウェイを一意に特定することができる。
【００７３】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【００７４】
【発明の効果】
以上説明したように、本発明によれば、ウェイ数の変更に際して、キャッシュメモリを構成するエントリの総数と、変更後のエントリの総数とが一定となるように、各エントリにタグを割り付けることとしたので、キャッシュ容量が変化せず、性能を低下させることなくウェイ数を変更することができるという効果を奏する。
【００７５】
また、本発明によれば、キャッシュメモリにおけるインデックス数とウェイ数との乗算結果をエントリの総数とし、ウェイ数の変更に応じてインデックス数を調整することにより、エントリの総数が一定となるように、各エントリにタグを割り付けることとしたので、キャッシュ容量が変化せず、性能を低下させることなくウェイ数を変更することができるという効果を奏する。
【００７６】
また、本発明によれば、同一のウェイに属する複数のエントリに対応付けて共通のエラー訂正情報を設定することとしたので、複数のエントリのうちいずれかのエントリでエラーが発生した場合であっても、エラーが発生したウェイを一意に特定することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明にかかる一実施の形態の構成を示すブロック図である。
【図２】図１に示した二次タグＲＡＭ４０ａの構成を示す図である。
【図３】図２に示した二次タグＲＡＭ４０ａに格納されるタグ管理データ６０のフォーマットを示す図である。
【図４】図２に示した二次タグＲＡＭ４０ａに対応する割付表５０を示す図である。
【図５】図１に示した二次キャッシュアクセス制御部３０における４ウェイ時の動作を説明する図である。
【図６】図１に示した二次キャッシュアクセス制御部３０における２ウェイ時の動作を説明する図である。
【図７】従来のキャッシュメモリ装置の構成を示すブロック図である。
【図８】図７に示したメインメモリ１５と二次キャッシュメモリ１４との対応関係を説明する図である。
【図９】図７に示した二次キャッシュメモリ１４におけるｎウェイセットアソシアティブ方式を説明する図である。
【図１０】従来のキャッシュメモリ装置におけるタグ管理データ６０のデータ構造を示す図である。
【図１１】図７に示した二次キャッシュメモリ１４におけるウェイ数の変更方法を説明する図である。
【符号の説明】
１０　ＣＰＵ
１１　一次キャッシュアクセス制御部
１２　一次キャッシュメモリ
１２ａ　一次タグＲＡＭ
１２ｂ　一次データＲＡＭ
１５　メインメモリ
３０　二次キャッシュアクセス制御部
４０　二次キャッシュメモリ
４０ａ　二次タグＲＡＭ
４０ｂ　二次データＲＡＭ
【図１】
2004038807.tif 000003
【図２】
2004038807.tif 000004
【図３】
2004038807.tif 000005
【図４】
2004038807.tif 000006
【図５】
2004038807.tif 000007
【図６】
2004038807.tif 000008
【図７】
2004038807.tif 000009
【図８】
2004038807.tif 000010
【図９】
2004038807.tif 000011
【図１０】
2004038807.tif 000012
【図１１】
2004038807.tif 000013