JPH01233638A - セットアソシアティブ方式のキャッシュメモリ - Google Patents
セットアソシアティブ方式のキャッシュメモリInfo
- Publication number
- JPH01233638A JPH01233638A JP63062132A JP6213288A JPH01233638A JP H01233638 A JPH01233638 A JP H01233638A JP 63062132 A JP63062132 A JP 63062132A JP 6213288 A JP6213288 A JP 6213288A JP H01233638 A JPH01233638 A JP H01233638A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- memory
- entry
- counter
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野コ
この発明は、セットアソシアティブ方式のキャッシュメ
モリに関し、特にキャッシュメモリ内の記憶素子のテス
トが容易に行なえるようなセットアソシアティブ方式の
キャッシュメモリに関する。
モリに関し、特にキャッシュメモリ内の記憶素子のテス
トが容易に行なえるようなセットアソシアティブ方式の
キャッシュメモリに関する。
[従来の技術]
電子計算機あるいはマイクロプロセッサシステムのメイ
ンメモリには、演算処理に必要な種々のデータが格納さ
れており、アドレス指定によりその所望のものをアクセ
スして使用する。ところで、使用したデータはその直後
に再び使用することがよくあるが、使用の都度当該デー
タを大容量低速のメインメモリから読出すのは時間がか
かり、非効率的である。そこで、読出したデータをキャ
ッシュメモリと呼ぶ高速メモリに一時的に保管しておき
、次に使用するデータがその保管したものと同じであれ
ばそれをキャッシュメモリから直ちに読出して使用する
ことが行なわれている。
ンメモリには、演算処理に必要な種々のデータが格納さ
れており、アドレス指定によりその所望のものをアクセ
スして使用する。ところで、使用したデータはその直後
に再び使用することがよくあるが、使用の都度当該デー
タを大容量低速のメインメモリから読出すのは時間がか
かり、非効率的である。そこで、読出したデータをキャ
ッシュメモリと呼ぶ高速メモリに一時的に保管しておき
、次に使用するデータがその保管したものと同じであれ
ばそれをキャッシュメモリから直ちに読出して使用する
ことが行なわれている。
第3図は、従来のセットアソシアティブ方式のキャッシ
ュメモリの一例を示すブロック図である。
ュメモリの一例を示すブロック図である。
なお、この第3図では、2ウエイ18ビツト、8エント
リのキャッシュメモリを一例として示している。図にお
いて、このキャッシュメモリは、アドレスレジスタ1と
、アドレスタグメモリ2aおよび2bと、データメモリ
3aおよび3bと、エントリデコーダ4と、コンパレー
タ5aおよび5bと、バイトセレクタ6aおよび6bと
、ウェイセレクタ7aおよび7bとを備えている。なお
、上記において参照符号の添字aはウェイA用を示し、
添字すはウェイB用を示している。以後の説明でも同様
とする。アドレスレジスタ1は、図示しないデータ処理
装置(たとえばCPU)で発生したアドレスA0〜A、
を記憶するものである。
リのキャッシュメモリを一例として示している。図にお
いて、このキャッシュメモリは、アドレスレジスタ1と
、アドレスタグメモリ2aおよび2bと、データメモリ
3aおよび3bと、エントリデコーダ4と、コンパレー
タ5aおよび5bと、バイトセレクタ6aおよび6bと
、ウェイセレクタ7aおよび7bとを備えている。なお
、上記において参照符号の添字aはウェイA用を示し、
添字すはウェイB用を示している。以後の説明でも同様
とする。アドレスレジスタ1は、図示しないデータ処理
装置(たとえばCPU)で発生したアドレスA0〜A、
を記憶するものである。
各メモリ2aおよび2bは、それぞれアドレスの上位A
0〜A3(これをアドレスタグと称する)を記憶するも
のである。データメモリ3aおよび3bは、図示しない
メインメモリから読出されたデータを記憶するものであ
る。ここで、アドレスタグメモリ2aおよび2bとデー
タメモリ3aおよび3bとは互いに対応するアドレス空
間を有している。すなわち、アドレスタグメモリ2aお
よび2b、データメモリ3aおよび3bは、それぞれ1
つのウェイに8つのエントリ(記憶領域の区分)を有し
ている。したがって、アドレスタグメモリ2aおよび2
bはそれぞれ8つのアドレスタグを格納でき、同様に、
データメモリ3aおよび3bはそれぞれ8つのデータブ
ロック(第3図では2バイトで1つのデータブロックが
構成されている)を格納できる。エントリデコーダ4は
アドレスレジスタ1に記憶されたアドレスの一部A。
0〜A3(これをアドレスタグと称する)を記憶するも
のである。データメモリ3aおよび3bは、図示しない
メインメモリから読出されたデータを記憶するものであ
る。ここで、アドレスタグメモリ2aおよび2bとデー
タメモリ3aおよび3bとは互いに対応するアドレス空
間を有している。すなわち、アドレスタグメモリ2aお
よび2b、データメモリ3aおよび3bは、それぞれ1
つのウェイに8つのエントリ(記憶領域の区分)を有し
ている。したがって、アドレスタグメモリ2aおよび2
bはそれぞれ8つのアドレスタグを格納でき、同様に、
データメモリ3aおよび3bはそれぞれ8つのデータブ
ロック(第3図では2バイトで1つのデータブロックが
構成されている)を格納できる。エントリデコーダ4は
アドレスレジスタ1に記憶されたアドレスの一部A。
〜A、に基づいて、アドレスタグメモリ2aおよび2b
とデータメモリ3aおよび3bとの各エントリを選び出
すものである。コンパレータ5aはアドレスタグメモリ
2aから読出されたアドレスタグとアドレスレジスタ1
に記憶されたアドレスのアドレスタグA。−A、とを比
較してその一致を検出するためのものである。コンパレ
ータ5bはアドレスタグメモリ2bから読出されたアド
レスタグとアドレスレジスタ1に記憶されたアドレスの
アドレスタグA。−A3とを比較してその一致を検出す
るためのものである。バイトセレクタ6aおよび6bは
、それぞれ、データメモリ3aおよび3bから読出され
た各2バイトのデータから各1バイトのデータを選択す
るためのものである。なお、バイトセレクタ6aおよび
6bにおけるバイトの選択は、アドレスレジスタ1に記
憶されたアドレスの最下位ビットA7によって決定され
る。ウェイセレクタ7aおよび7bは、それぞれ対応す
るコンパレータ5aおよび5bからの出力信号に基づい
て、ウェイAあるいはBのデータをバイトセレクタ6a
および6bから選択するためのものである。
とデータメモリ3aおよび3bとの各エントリを選び出
すものである。コンパレータ5aはアドレスタグメモリ
2aから読出されたアドレスタグとアドレスレジスタ1
に記憶されたアドレスのアドレスタグA。−A、とを比
較してその一致を検出するためのものである。コンパレ
ータ5bはアドレスタグメモリ2bから読出されたアド
レスタグとアドレスレジスタ1に記憶されたアドレスの
アドレスタグA。−A3とを比較してその一致を検出す
るためのものである。バイトセレクタ6aおよび6bは
、それぞれ、データメモリ3aおよび3bから読出され
た各2バイトのデータから各1バイトのデータを選択す
るためのものである。なお、バイトセレクタ6aおよび
6bにおけるバイトの選択は、アドレスレジスタ1に記
憶されたアドレスの最下位ビットA7によって決定され
る。ウェイセレクタ7aおよび7bは、それぞれ対応す
るコンパレータ5aおよび5bからの出力信号に基づい
て、ウェイAあるいはBのデータをバイトセレクタ6a
および6bから選択するためのものである。
次に、第3図に示すようなキャッシュメモリにおいて、
キャッシュメモリ内の記憶素子、すなわちアドレスタグ
メモリ2aおよび2b、 データメモリ3aおよび3b
内の記憶素子をテストする場合の動作手順について説明
する。まず、キャッシュメモリに対してたとえばアドレ
スr01110000」を与えたとする。したがって、
この場合コンパレータ5aおよび5bの各一方入力には
アドレスタグA。−A、rolllJが与えられ、エン
トリデコーダ4にはエントリアドレスA、〜A6 ro
oOJが与えられる。したがって、このエントリアドレ
スr000Jに対応するアドレスタグメモリ2aおよび
2bのエントリからアドレスタグが読出されてコンパレ
ータ5aおよび5bの各他方入力に与えられるが、当初
アドレスタグメモリ2aおよび2bにはアドレスタグが
何も格納されていないので、各コンパレータ5aおよび
5bは不一致を検出する。すなわち、このときキャッシ
ュメモリはキャッシュミス(キャッシュメモリにアクセ
スしたアドレスのデータが保持されていないことを言う
。逆に、保持されていればキャツシュヒツトと言う。)
を起こすので、キャッシュメモリは外部から2バイト分
のデータを読取ろうとする。このとき、キャッシュメモ
リにオール0のデータ(2バイトのデータ)を与えてや
れば、このオール0のデータはエントリアドレスro0
0Jに対応するデータメモリ3aのエントリに格納され
る。次に、キャッシュメモリに対してアドレスrl10
00000Jを与えると今度もキャッシュミスを起こす
ので、キャッシュメモリは外部からオールOのデータを
取込む。この取込まれたデータは、エントリアドレスr
000Jに対応するデータメモリ3bのエントリに格納
される。この2つの動作をエントリアドレスA4〜A6
の値ro00J〜r ]−1,I Jまで順番に行なう
とキャッシュメモリ内の全記憶素子にテストデータが保
持される。すなわち、ウェイAのタグメモリ2aにro
111JがウェイBのタグメモリ2bに「1100」
が記憶され、データメモリ3aおよび3bのいずれにも
オール0のデータが記憶される。
キャッシュメモリ内の記憶素子、すなわちアドレスタグ
メモリ2aおよび2b、 データメモリ3aおよび3b
内の記憶素子をテストする場合の動作手順について説明
する。まず、キャッシュメモリに対してたとえばアドレ
スr01110000」を与えたとする。したがって、
この場合コンパレータ5aおよび5bの各一方入力には
アドレスタグA。−A、rolllJが与えられ、エン
トリデコーダ4にはエントリアドレスA、〜A6 ro
oOJが与えられる。したがって、このエントリアドレ
スr000Jに対応するアドレスタグメモリ2aおよび
2bのエントリからアドレスタグが読出されてコンパレ
ータ5aおよび5bの各他方入力に与えられるが、当初
アドレスタグメモリ2aおよび2bにはアドレスタグが
何も格納されていないので、各コンパレータ5aおよび
5bは不一致を検出する。すなわち、このときキャッシ
ュメモリはキャッシュミス(キャッシュメモリにアクセ
スしたアドレスのデータが保持されていないことを言う
。逆に、保持されていればキャツシュヒツトと言う。)
を起こすので、キャッシュメモリは外部から2バイト分
のデータを読取ろうとする。このとき、キャッシュメモ
リにオール0のデータ(2バイトのデータ)を与えてや
れば、このオール0のデータはエントリアドレスro0
0Jに対応するデータメモリ3aのエントリに格納され
る。次に、キャッシュメモリに対してアドレスrl10
00000Jを与えると今度もキャッシュミスを起こす
ので、キャッシュメモリは外部からオールOのデータを
取込む。この取込まれたデータは、エントリアドレスr
000Jに対応するデータメモリ3bのエントリに格納
される。この2つの動作をエントリアドレスA4〜A6
の値ro00J〜r ]−1,I Jまで順番に行なう
とキャッシュメモリ内の全記憶素子にテストデータが保
持される。すなわち、ウェイAのタグメモリ2aにro
111JがウェイBのタグメモリ2bに「1100」
が記憶され、データメモリ3aおよび3bのいずれにも
オール0のデータが記憶される。
次に、キャッシュメモリ内に格納されたテストデータを
取出すための作業が行なわれる。すなわち、アドレスr
o1110000Jでリードアクセスを行なうと、コン
パレータ5aから一致信号すなわちキャツシュヒツト信
号が出力され、またウェイセレクタ7aからオール0の
データが出力される。ここで、コンパレータ5aが一致
信号を導出せずキャッシュミスとなれば、アドレスタグ
メモリ2aの最初のエントリにビット不良の生じている
ことがわかる。また、ウェイセレクタ7aから出力され
るデータがオール0でなければ、データメモリ3aの最
初のエントリの最初のバイト格納部分にビット不良の生
じていることがわかる。
取出すための作業が行なわれる。すなわち、アドレスr
o1110000Jでリードアクセスを行なうと、コン
パレータ5aから一致信号すなわちキャツシュヒツト信
号が出力され、またウェイセレクタ7aからオール0の
データが出力される。ここで、コンパレータ5aが一致
信号を導出せずキャッシュミスとなれば、アドレスタグ
メモリ2aの最初のエントリにビット不良の生じている
ことがわかる。また、ウェイセレクタ7aから出力され
るデータがオール0でなければ、データメモリ3aの最
初のエントリの最初のバイト格納部分にビット不良の生
じていることがわかる。
次に、アドレスr011.10001iでリードアクセ
スを行なうことにより上記と同様にビット不良の評価が
行なえる。なお、このときはデータメモリ3aの最初の
エントリの2バイト目の格納部分のビット不良の評価が
行なえる。次に、もう1つのウェイのチエツクを行なう
ためにアドレスr11000000Jでリードアクセス
を行ない、さらにアドレスrl1000001Jでリー
ドアクセスを行なって評価する。そして、エントリアド
レスA4〜A6の値をro00J〜rl 11Jまで上
記の4つのリードアクセスを行なうことにより、1回目
のテストが終了する。
スを行なうことにより上記と同様にビット不良の評価が
行なえる。なお、このときはデータメモリ3aの最初の
エントリの2バイト目の格納部分のビット不良の評価が
行なえる。次に、もう1つのウェイのチエツクを行なう
ためにアドレスr11000000Jでリードアクセス
を行ない、さらにアドレスrl1000001Jでリー
ドアクセスを行なって評価する。そして、エントリアド
レスA4〜A6の値をro00J〜rl 11Jまで上
記の4つのリードアクセスを行なうことにより、1回目
のテストが終了する。
次に、アドレスr10000000Jと[001100
00Jの2種類でリードアクセスを行なうと、キャッシ
ュミスが生じ、2バイト分のデータをオール1で与える
。その動作をエントリアドレスr000J〜rl 11
Jに対して行なった後に上記と同様に1つのウェイに対
して2度ずつ評価をしてゆき2回目のテストを終了する
。以上で、タグメモリとデータメモリへの0と1のテス
トが完了する。
00Jの2種類でリードアクセスを行なうと、キャッシ
ュミスが生じ、2バイト分のデータをオール1で与える
。その動作をエントリアドレスr000J〜rl 11
Jに対して行なった後に上記と同様に1つのウェイに対
して2度ずつ評価をしてゆき2回目のテストを終了する
。以上で、タグメモリとデータメモリへの0と1のテス
トが完了する。
[発明が解決しようとする課題]
上記のような従来のキャッシュメモリでは、キャッシュ
メモリ内の記憶素子をテストする場合、外部からエント
リアドレスを順序良く与えなければならない。また、1
エントリに対して1ブロツク(1ウエイの1エントリで
記憶できるデータの集まり)のワード(上記の従来例で
はバイトに相当する)数のアクセスが必要である。した
がって、全エントリに対して評価を行なえば、アドレス
を与える回数は必然的に多くなり、時間もかかる。
メモリ内の記憶素子をテストする場合、外部からエント
リアドレスを順序良く与えなければならない。また、1
エントリに対して1ブロツク(1ウエイの1エントリで
記憶できるデータの集まり)のワード(上記の従来例で
はバイトに相当する)数のアクセスが必要である。した
がって、全エントリに対して評価を行なえば、アドレス
を与える回数は必然的に多くなり、時間もかかる。
また、リプレイス処理の不良のため、もしくはアクセス
するアドレスの順序の誤りで評価できないブロックが存
在すると、全記憶素子をテストすることができなくなる
。
するアドレスの順序の誤りで評価できないブロックが存
在すると、全記憶素子をテストすることができなくなる
。
この発明は、上記のような問題点を解消するためになさ
れたもので、キャッシュメモリ内の記憶素子のテストを
行なう際にエントリアドレスを外部から与える必要がな
く、テスト全体で与えるアドレスの回数を減らすことの
できるキャッシュメモリを提供することを目的とする。
れたもので、キャッシュメモリ内の記憶素子のテストを
行なう際にエントリアドレスを外部から与える必要がな
く、テスト全体で与えるアドレスの回数を減らすことの
できるキャッシュメモリを提供することを目的とする。
[課題を解決するための手段]
この発明に係るセットアソシアティブ方式のキャッシュ
メモリは、アドレスタグメモリとデータメモリを備えた
セットアソシアティブ方式のキャッシュメモリにおいて
、さらにカウンタ手段を設けるようにしたものである。
メモリは、アドレスタグメモリとデータメモリを備えた
セットアソシアティブ方式のキャッシュメモリにおいて
、さらにカウンタ手段を設けるようにしたものである。
このカウンタ手段は、アドレスタグメモリおよびデータ
メモリに書込まれたテストデータを読出す際に用いられ
、アドレスタグメモリおよびデータメモリのエントリア
ドレスを順次発生する。
メモリに書込まれたテストデータを読出す際に用いられ
、アドレスタグメモリおよびデータメモリのエントリア
ドレスを順次発生する。
この発明の好ましい実施例においては、さらに基準のテ
ストデータを発生する回路を設け、カウンタ手段からの
エントリアドレスの付与によってアドレスタグメモリか
ら読出されたアドレスタグと基準テストデータ発生回路
から発生された基準テストデータとを比較することによ
ってアドレスタグメモリにおける記憶素子の評価が行な
われる。
ストデータを発生する回路を設け、カウンタ手段からの
エントリアドレスの付与によってアドレスタグメモリか
ら読出されたアドレスタグと基準テストデータ発生回路
から発生された基準テストデータとを比較することによ
ってアドレスタグメモリにおける記憶素子の評価が行な
われる。
この発明の他の好ましい実施例においては、アドレスタ
グメモリの各ウェイおよびデータメモリの各ウェイにそ
れぞれ同じテストデータが書込まれており、そのテスト
データを読出す際にデータメモリの各ウェイのエントリ
に格納されたデータを同時に読出すとともに、この同時
に読出されたデータの一致、不一致をビットごとに検出
してその検出結果を外部へ導出するようにしている。
グメモリの各ウェイおよびデータメモリの各ウェイにそ
れぞれ同じテストデータが書込まれており、そのテスト
データを読出す際にデータメモリの各ウェイのエントリ
に格納されたデータを同時に読出すとともに、この同時
に読出されたデータの一致、不一致をビットごとに検出
してその検出結果を外部へ導出するようにしている。
この発明のさらに他の好ましい実施例においては、アド
レスタグメモリの各ウェイおよびデータメモリの各ウェ
イにはそれぞれ同じテストデータが書込まれており、こ
れらテストデータを読出す際に、アドレスタグメモリの
各ウェイから同時に読出されたアドレスタグの相互の一
致、不一致を検出することにより、またデータメモリの
各ウェイから同時に読出されるデータの相互の一致、不
一致を検出することにより、記憶素子の評価を行なうよ
うにしている。このとき、好ましくはアドレスタグの一
致、不一致およびデータの一致、不一致を検出する手段
としてキャッシュメモリに備えられている在来の一致、
不一致検出手段が用いられる。そのために、テストモー
ド時においてこれら一致、不一致検出手段の入力の接続
関係を切換える手段が設けられる。
レスタグメモリの各ウェイおよびデータメモリの各ウェ
イにはそれぞれ同じテストデータが書込まれており、こ
れらテストデータを読出す際に、アドレスタグメモリの
各ウェイから同時に読出されたアドレスタグの相互の一
致、不一致を検出することにより、またデータメモリの
各ウェイから同時に読出されるデータの相互の一致、不
一致を検出することにより、記憶素子の評価を行なうよ
うにしている。このとき、好ましくはアドレスタグの一
致、不一致およびデータの一致、不一致を検出する手段
としてキャッシュメモリに備えられている在来の一致、
不一致検出手段が用いられる。そのために、テストモー
ド時においてこれら一致、不一致検出手段の入力の接続
関係を切換える手段が設けられる。
[作用]
この発明においては、内部に設けられたカウンタ手段に
よってエントリアドレスを発生することにより、外部か
らエントリアドレスを与える必要がなくなる。
よってエントリアドレスを発生することにより、外部か
らエントリアドレスを与える必要がなくなる。
[実施例]
第1図はこの発明の一実施例を示すブロック図である。
なお、第1図の実施例は以下の点を除いて第3図の従来
例と同様の構成であり、相当する部分には同一の参照番
号を付しその説明を省略する。第1図の実施例では、第
3図の従来例の構成にさらにカウンタ8.比較データ回
路9aおよび9bが追加された構成となっている。カウ
ンタ8は、エントリデコーダ4ヘエントリアドレスを出
力し、バイトセレクタ6aおよび6bにバイト選択情報
を出力するためのものであり、たとえばフリップフロッ
プなどよって構成されている。このカウンタ8には、外
部からもしくは内部のタイマなどからトリガ信号81が
与えられ、カウンタ8はこのトリガ信号81に応答して
カウントアツプもしくはカウントダウン動作を行なう。
例と同様の構成であり、相当する部分には同一の参照番
号を付しその説明を省略する。第1図の実施例では、第
3図の従来例の構成にさらにカウンタ8.比較データ回
路9aおよび9bが追加された構成となっている。カウ
ンタ8は、エントリデコーダ4ヘエントリアドレスを出
力し、バイトセレクタ6aおよび6bにバイト選択情報
を出力するためのものであり、たとえばフリップフロッ
プなどよって構成されている。このカウンタ8には、外
部からもしくは内部のタイマなどからトリガ信号81が
与えられ、カウンタ8はこのトリガ信号81に応答して
カウントアツプもしくはカウントダウン動作を行なう。
比較データ回路9aおよび9bは、それぞれ、テストの
際にアドレスタグメモリ2aおよび2bに書込まれるテ
ストのためのアドレスタグと同じデータを記憶するため
のものである。比較データ回路9aの出力はフンパレー
タ5aの一方入力に与えられ、比較データ回路9bの出
力はコンパレータ5bの一方入力に与えられる。各比較
データ回路9aおよび9bは、外部からもしくは内部の
タイマあるいは前回の出力終了信号などによって与えら
れる制御信号91によってその動作が制御される。
際にアドレスタグメモリ2aおよび2bに書込まれるテ
ストのためのアドレスタグと同じデータを記憶するため
のものである。比較データ回路9aの出力はフンパレー
タ5aの一方入力に与えられ、比較データ回路9bの出
力はコンパレータ5bの一方入力に与えられる。各比較
データ回路9aおよび9bは、外部からもしくは内部の
タイマあるいは前回の出力終了信号などによって与えら
れる制御信号91によってその動作が制御される。
次に、第1図に示す実施例のテスト動作を説明する。キ
ャッシュメモリ内へのテストデータの書込は従来のキャ
ッシュメモリと同じである。すべてのテストデータを書
込んだ後、アドレスレジスタ1をノンアクティブにし、
カウンタ8と比較データ回路9aおよび9bをアクティ
ブにし、テストデータの続出作業が行なわれる。まず、
評価するウェイA(またはB)を制御信号91で設定し
、カウンタ8により指定されるエントリのアドレスタグ
メモリ2a(または2b)の内容と比較データ回路9a
(または9b)の出力とをコンパレータ5a(または5
b)で比較し、キャツシュヒツトすればカウンタ8の最
下位ビットにより指定されるデータメモリ3g(または
3b)のバイトデータを出力する。そして、トリガ信号
81をカウンタ8に与えることにより、カウンタ8がカ
ウントアツプを行ない、データメモリ3a(または3b
)のもう一方のバイトデータを出力する。次に、トリガ
信号81が与えられるとカウンタ8がカウントアツプを
行ない、次のエントリを評価できる。
ャッシュメモリ内へのテストデータの書込は従来のキャ
ッシュメモリと同じである。すべてのテストデータを書
込んだ後、アドレスレジスタ1をノンアクティブにし、
カウンタ8と比較データ回路9aおよび9bをアクティ
ブにし、テストデータの続出作業が行なわれる。まず、
評価するウェイA(またはB)を制御信号91で設定し
、カウンタ8により指定されるエントリのアドレスタグ
メモリ2a(または2b)の内容と比較データ回路9a
(または9b)の出力とをコンパレータ5a(または5
b)で比較し、キャツシュヒツトすればカウンタ8の最
下位ビットにより指定されるデータメモリ3g(または
3b)のバイトデータを出力する。そして、トリガ信号
81をカウンタ8に与えることにより、カウンタ8がカ
ウントアツプを行ない、データメモリ3a(または3b
)のもう一方のバイトデータを出力する。次に、トリガ
信号81が与えられるとカウンタ8がカウントアツプを
行ない、次のエントリを評価できる。
このように、カウンタ8がro 000Jから「111
1」までインクリメントされると、次に他のウェイB(
またはA)を制御信号91で選び、同様にそのウェイの
評価を行なう。次に、アドレスタグメモリ2aおよび2
bとデータメモリ3aおよび3bとに前回の評価で用い
たテストデータと反転したテストデータをキャッシュメ
モリに読込ませて、同様の評価を行なうことによりキャ
ッシュメモリ内の記憶素子の全ビットのテストができる
。
1」までインクリメントされると、次に他のウェイB(
またはA)を制御信号91で選び、同様にそのウェイの
評価を行なう。次に、アドレスタグメモリ2aおよび2
bとデータメモリ3aおよび3bとに前回の評価で用い
たテストデータと反転したテストデータをキャッシュメ
モリに読込ませて、同様の評価を行なうことによりキャ
ッシュメモリ内の記憶素子の全ビットのテストができる
。
次に、第1図に示す実施例の変形実施例について説明す
る。第1図の実施例においてアドレスタグメモリ2aお
よび2bに書込むテストのためのアドレスタグを2つの
ウェイとも同じにする。但し、キャッシュメモリの通常
動作では両ウェイAおよびBに同じアドレスタグを保持
できないので、通常の動作モードとは別にテストモード
を設定し、このテストモードにおいて与えられたアドレ
スタグをアドレスタグメモリ2aおよび2bに強制的に
一括書込するようにする。テストデータの書込が終了し
て読出動作に入ると、アドレスタグメモリ2aおよび2
bには同じアドレスタグが記憶されているので、ビット
不良がなければコンパレータ5aおよび5bの両方から
キャツシュヒツト信号が出力される。そのため、ウェイ
セレクタ7aおよび7bの両方からバイトデータが出力
される。
る。第1図の実施例においてアドレスタグメモリ2aお
よび2bに書込むテストのためのアドレスタグを2つの
ウェイとも同じにする。但し、キャッシュメモリの通常
動作では両ウェイAおよびBに同じアドレスタグを保持
できないので、通常の動作モードとは別にテストモード
を設定し、このテストモードにおいて与えられたアドレ
スタグをアドレスタグメモリ2aおよび2bに強制的に
一括書込するようにする。テストデータの書込が終了し
て読出動作に入ると、アドレスタグメモリ2aおよび2
bには同じアドレスタグが記憶されているので、ビット
不良がなければコンパレータ5aおよび5bの両方から
キャツシュヒツト信号が出力される。そのため、ウェイ
セレクタ7aおよび7bの両方からバイトデータが出力
される。
1バイトのデータはたとえば8ビツトであるので、両ウ
ェイセレクタ7aおよび7bから出力されるバイトデー
タを合わせると16ビツトになる。しかしながら、出力
データパス(図示せず)のビット幅は8ビツトであるの
で、そのままバイトデータを出力データパスに乗せるこ
とができない。そこで、ウェイセレクタ7aの出力と7
bの出力との対応するビットごとに排他的論理和回路等
の比較器を設け(この場合8個設けることになる)、こ
れら8個の排他的論理和回路の比較結果を出力データパ
スに導出するようにする。これによって、データメモリ
のウェイ間におけるデータの一致。
ェイセレクタ7aおよび7bから出力されるバイトデー
タを合わせると16ビツトになる。しかしながら、出力
データパス(図示せず)のビット幅は8ビツトであるの
で、そのままバイトデータを出力データパスに乗せるこ
とができない。そこで、ウェイセレクタ7aの出力と7
bの出力との対応するビットごとに排他的論理和回路等
の比較器を設け(この場合8個設けることになる)、こ
れら8個の排他的論理和回路の比較結果を出力データパ
スに導出するようにする。これによって、データメモリ
のウェイ間におけるデータの一致。
不一致が検出されるので、出力データパスに導出される
8ビツトのデータを見ることにより、データメモリ内の
ビット不良をチエツクすることができる。また、このよ
うな実施例では、両ウェイのテストを同時に行なうこと
ができるので、テスト時間を短縮化することができる。
8ビツトのデータを見ることにより、データメモリ内の
ビット不良をチエツクすることができる。また、このよ
うな実施例では、両ウェイのテストを同時に行なうこと
ができるので、テスト時間を短縮化することができる。
第2図はこの発明のさらに他の実施例を示すブロック図
である。この実施例では、テストモードになると図示の
ごとく各コンパレータ5aおよび5bの入力の接続替え
が行なわれる。すなわち、コンパレータ5aはアドレス
タグメモリ2aの読出出力とアドレスタグメモリ2bの
読出出力とを比較するように、コンパレータ5bはバイ
トセレクタ6aの出力とバイトセレクタ6bの出力を比
較するように接続替えが行なわれる。このような接続替
えは、図示しないがテストモード設定信号に応答して動
作するようなマルチプレクサ等によって容易に達成でき
る。
である。この実施例では、テストモードになると図示の
ごとく各コンパレータ5aおよび5bの入力の接続替え
が行なわれる。すなわち、コンパレータ5aはアドレス
タグメモリ2aの読出出力とアドレスタグメモリ2bの
読出出力とを比較するように、コンパレータ5bはバイ
トセレクタ6aの出力とバイトセレクタ6bの出力を比
較するように接続替えが行なわれる。このような接続替
えは、図示しないがテストモード設定信号に応答して動
作するようなマルチプレクサ等によって容易に達成でき
る。
次に、第2図に示す実施例の動作を説明する。
まず、テストモードが設定されると、すべてのメモリを
エントリごとにすべて0にし、0比較を行ないながらカ
ウンタ8をカウントアツプする。記憶素子に不良が存在
すればキャッシュミス信号が出力される。また、カウン
タ8がro 000Jからrl 111Jになれば、次
はメモリに1を書いて同様の動作を行なう。したがって
、この実施例においても両ウェイのテストを同時に行な
うことができ、短時間でテストを行なうことができる。
エントリごとにすべて0にし、0比較を行ないながらカ
ウンタ8をカウントアツプする。記憶素子に不良が存在
すればキャッシュミス信号が出力される。また、カウン
タ8がro 000Jからrl 111Jになれば、次
はメモリに1を書いて同様の動作を行なう。したがって
、この実施例においても両ウェイのテストを同時に行な
うことができ、短時間でテストを行なうことができる。
[発明の効果]
以上のように、この発明によれば、内部に設けられたカ
ウンタ手段によってエントリアドレスを発生するように
したので、キャッシュメモリの記憶素子の不良をテスト
する場合において頻繁に外部からアドレスをキャッシュ
メモリに送る必要がなくなり、外部回路の構成を簡素化
できるとともに、テストを短時間で行なうことができる
。
ウンタ手段によってエントリアドレスを発生するように
したので、キャッシュメモリの記憶素子の不良をテスト
する場合において頻繁に外部からアドレスをキャッシュ
メモリに送る必要がなくなり、外部回路の構成を簡素化
できるとともに、テストを短時間で行なうことができる
。
第1図はこの発明の一実施例を示すブロック図である。
第2図はこの発明の他の実施例を示すブロック図である
。 第3図は従来の2ウ工イセツトアソシアテイブ方式のキ
ャッシュメモリの一例を示すブロック図である。 図において、1はアドレスレジスタ、2aおよび2bは
アドレスタグメモリ、3aおよび3bはデータメモリ、
4はエンドリプコータ、5aおよび5bはコンパレータ
、6aおよび6bはバイトセレクタ、7aおよび7bは
ウェイセレクタ、8ハカウンタ、9aおよび9bは比較
データ回路、81はトリガ信号、91は制御信号を示す
。
。 第3図は従来の2ウ工イセツトアソシアテイブ方式のキ
ャッシュメモリの一例を示すブロック図である。 図において、1はアドレスレジスタ、2aおよび2bは
アドレスタグメモリ、3aおよび3bはデータメモリ、
4はエンドリプコータ、5aおよび5bはコンパレータ
、6aおよび6bはバイトセレクタ、7aおよび7bは
ウェイセレクタ、8ハカウンタ、9aおよび9bは比較
データ回路、81はトリガ信号、91は制御信号を示す
。
Claims (1)
- 【特許請求の範囲】 アドレスタグメモリとデータメモリを備えたセットアソ
シアティブ方式のキャッシュメモリにおいて、 前記アドレスタグメモリおよび前記データメモリに書込
まれたテストデータを読出す際に用いられ、当該アドレ
スタグメモリおよびデータメモリのエントリアドレスを
順次発生するためのカウンタ手段を備えたことを特徴と
する、セットアソシアティブ方式のキャッシュメモリ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63062132A JPH01233638A (ja) | 1988-03-15 | 1988-03-15 | セットアソシアティブ方式のキャッシュメモリ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63062132A JPH01233638A (ja) | 1988-03-15 | 1988-03-15 | セットアソシアティブ方式のキャッシュメモリ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01233638A true JPH01233638A (ja) | 1989-09-19 |
Family
ID=13191245
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63062132A Pending JPH01233638A (ja) | 1988-03-15 | 1988-03-15 | セットアソシアティブ方式のキャッシュメモリ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01233638A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04156634A (ja) * | 1990-10-19 | 1992-05-29 | Fujitsu Ltd | キャッシュメモリ診断アドレス生成装置 |
| JP2010033564A (ja) * | 2008-07-25 | 2010-02-12 | Internatl Business Mach Corp <Ibm> | キャッシュ・ディレクトリ内の実ページ番号ビットのテスト方法、装置、およびコンピュータ記録可能な媒体 |
-
1988
- 1988-03-15 JP JP63062132A patent/JPH01233638A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04156634A (ja) * | 1990-10-19 | 1992-05-29 | Fujitsu Ltd | キャッシュメモリ診断アドレス生成装置 |
| JP2010033564A (ja) * | 2008-07-25 | 2010-02-12 | Internatl Business Mach Corp <Ibm> | キャッシュ・ディレクトリ内の実ページ番号ビットのテスト方法、装置、およびコンピュータ記録可能な媒体 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4168541A (en) | Paired least recently used block replacement system | |
| US4357656A (en) | Method and apparatus for disabling and diagnosing cache memory storage locations | |
| US5274790A (en) | Cache memory apparatus having a plurality of accessibility ports | |
| US4996641A (en) | Diagnostic mode for a cache | |
| EP0036110B1 (en) | Cache addressing mechanism | |
| US5202969A (en) | Single-chip-cache-buffer for selectively writing write-back and exclusively writing data-block portions to main-memory based upon indication of bits and bit-strings respectively | |
| JPH0668735B2 (ja) | キヤツシユメモリ− | |
| US6678790B1 (en) | Microprocessor chip having a memory that is reconfigurable to function as on-chip main memory or an on-chip cache | |
| US6226763B1 (en) | Method and apparatus for performing cache accesses | |
| US5522056A (en) | Cache memory with plurality of congruence sets and sense amplifiers shared among the congruence sets | |
| US4349875A (en) | Buffer storage control apparatus | |
| US6240532B1 (en) | Programmable hit and write policy for cache memory test | |
| JPH01233638A (ja) | セットアソシアティブ方式のキャッシュメモリ | |
| US5749094A (en) | Invalid write recovery apparatus and method within cache memory | |
| JPH0760411B2 (ja) | バッファ記憶制御装置 | |
| JPH07234819A (ja) | キャッシュメモリ | |
| US5253354A (en) | Row address generator for defective DRAMS including an upper and lower memory device | |
| JPH06161900A (ja) | キャッシュメモリ装置 | |
| JPS60701B2 (ja) | デ−タ処理装置 | |
| JPH0210446A (ja) | バッファ記憶装置 | |
| JPS61123954A (ja) | 連想キヤツシユ・メモリ構造 | |
| JPH0750449B2 (ja) | キャッシュ | |
| JPH1125006A (ja) | メモリテスト装置 | |
| JPH02171944A (ja) | バッファ記憶装置 | |
| JPH05289904A (ja) | キャッシュメモリのデバッグツール |