JPH0786848B2 - キャッシュメモリ - Google Patents
キャッシュメモリInfo
- Publication number
- JPH0786848B2 JPH0786848B2 JP1286181A JP28618189A JPH0786848B2 JP H0786848 B2 JPH0786848 B2 JP H0786848B2 JP 1286181 A JP1286181 A JP 1286181A JP 28618189 A JP28618189 A JP 28618189A JP H0786848 B2 JPH0786848 B2 JP H0786848B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- word
- way
- address
- 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 - Lifetime
Links
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
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
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はセットアソシアティブ方式のキャッシュメモリ
に関する。
に関する。
マイクロプロセッサの高速化に際しては、演算処理に必
要なデータがアクセスされるメインメモリのアクセス時
間がネックになる。一般的にメインメモリは大容量では
あるが比較的低速である。このため、マイクロプロセッ
サの高速化に際してはメインメモリのアクセス時間を短
縮することが必須である。
要なデータがアクセスされるメインメモリのアクセス時
間がネックになる。一般的にメインメモリは大容量では
あるが比較的低速である。このため、マイクロプロセッ
サの高速化に際してはメインメモリのアクセス時間を短
縮することが必須である。
このようなメインメモリのアクセス時間の短縮の要求に
対してキャッシュメモリが実用化されている。
対してキャッシュメモリが実用化されている。
第2図はキャッシュメモリを使用した場合の一般的なマ
イクロプロセッサの概略構成を示すブロック図であり、
参照符号11はデータ処理装置(CPU),12はメインメモ
リ,13はキャッシュメモリである。
イクロプロセッサの概略構成を示すブロック図であり、
参照符号11はデータ処理装置(CPU),12はメインメモ
リ,13はキャッシュメモリである。
キャッシュメモリ13は高速のバッファメモリであり、メ
インメモリ12の一部の領域のデータを予め格納してい
る。そしてたとえば、データ処理装置11からの要求に応
じてデータアクセスが行われる際に、そのデータがキャ
ッシュメモリ13に格納されているのであれば、メインメ
モリ12ではなくキャッシュメモリ13に対してデータアク
セスが行われる。従って、メインメモリ12が直接アクセ
スされる場合に比してキャッシュメモリ13がアクセスさ
れる場合には比較的高速でデータのリード/ライトが可
能になる。
インメモリ12の一部の領域のデータを予め格納してい
る。そしてたとえば、データ処理装置11からの要求に応
じてデータアクセスが行われる際に、そのデータがキャ
ッシュメモリ13に格納されているのであれば、メインメ
モリ12ではなくキャッシュメモリ13に対してデータアク
セスが行われる。従って、メインメモリ12が直接アクセ
スされる場合に比してキャッシュメモリ13がアクセスさ
れる場合には比較的高速でデータのリード/ライトが可
能になる。
なお、キャッシュメモリ13に格納されるデータは固定的
ではなく、データ処理装置11からの要求に応じてメイン
メモリ12の任意の領域のデータを格納することが可能に
構成されている。
ではなく、データ処理装置11からの要求に応じてメイン
メモリ12の任意の領域のデータを格納することが可能に
構成されている。
ところで、キャッシュメモリの構成については種々の方
式があり、その一つとして4ウェイセットアソシアティ
ブ方式と称される方式がある。
式があり、その一つとして4ウェイセットアソシアティ
ブ方式と称される方式がある。
以下、「1チップ・キャッシュ・メモリ μPD43608Rの
概要と活用方法」(インターフェーイス,No.123,1987年
8月,第241頁〜第257頁)と題された4ウェイセットア
ソシアティブ方式のキャッシュメモリについて第3図を
参照して説明する。
概要と活用方法」(インターフェーイス,No.123,1987年
8月,第241頁〜第257頁)と題された4ウェイセットア
ソシアティブ方式のキャッシュメモリについて第3図を
参照して説明する。
第3図において、参照符号1はデータ処理装置11により
要求されているアクセス対象のデータのメインメモリ12
におけるアドレス(要求アドレス)を示しており、上位
側から順にアドレスタグ1a,セットセレクト1b,ワードセ
レクト1cにて構成されている。
要求されているアクセス対象のデータのメインメモリ12
におけるアドレス(要求アドレス)を示しており、上位
側から順にアドレスタグ1a,セットセレクト1b,ワードセ
レクト1cにて構成されている。
2はn個の領域(以下、各領域をエントリと称す)にて
構成されたアドレスタグメモリであり、要求アドレス1
の内のアドレスタグ1aを各エントリに一つずつ記憶す
る。なお、このアドレスタグメモリ2は4ウェイそれぞ
れに対応して4個備えられている。
構成されたアドレスタグメモリであり、要求アドレス1
の内のアドレスタグ1aを各エントリに一つずつ記憶す
る。なお、このアドレスタグメモリ2は4ウェイそれぞ
れに対応して4個備えられている。
3は同じくn個のエントリにて構成されたバリッドビッ
トメモリであり、対応するアドレスタグメモリ2のエン
トリに格納されているデータの有効/無効を表示するデ
ータが格納される。なお、このバリッドビットメモリ3
も4ウェイそれぞれに対応して4個備えられている。
トメモリであり、対応するアドレスタグメモリ2のエン
トリに格納されているデータの有効/無効を表示するデ
ータが格納される。なお、このバリッドビットメモリ3
も4ウェイそれぞれに対応して4個備えられている。
4はn個のエントリにて構成されたデータメモリであ
り、それぞれのエントリには対応するアドレスタグメモ
リ2のエントリに格納されているアドレスタグ1aにて示
されるメインメモリ12の領域のデータが格納される。な
お、このデータメモリ4も4ウェイそれぞれに対応して
4個備えられている。
り、それぞれのエントリには対応するアドレスタグメモ
リ2のエントリに格納されているアドレスタグ1aにて示
されるメインメモリ12の領域のデータが格納される。な
お、このデータメモリ4も4ウェイそれぞれに対応して
4個備えられている。
ところで、アドレスタグ1aにて示されるメインメモリ12
の領域は通常複数のアドレスであり、データメモリ4の
各エントリには複数のデータが格納される。本例ではデ
ータメモリ4のそれぞれのエントリには4ワードのデー
タが格納される。
の領域は通常複数のアドレスであり、データメモリ4の
各エントリには複数のデータが格納される。本例ではデ
ータメモリ4のそれぞれのエントリには4ワードのデー
タが格納される。
5はワードセレクタであり、データメモリ4の一つのエ
ントリから出力される4ワードの内から一つのワードを
要求アドレス1のワードセレクト1cに従って選択し、ウ
ェイセレクタ9へ出力する。なお、このワードセレクタ
5も4ウェイそれぞれに対応して4個備えられている。
ントリから出力される4ワードの内から一つのワードを
要求アドレス1のワードセレクト1cに従って選択し、ウ
ェイセレクタ9へ出力する。なお、このワードセレクタ
5も4ウェイそれぞれに対応して4個備えられている。
ウェイセレクタ9は4個のワードセレクタ5からそれぞ
れ一つずつ出力されるワードの内から一つをウェイ選択
信号に従って選択し、データバス10へ出力する。
れ一つずつ出力されるワードの内から一つをウェイ選択
信号に従って選択し、データバス10へ出力する。
8はアドレスタグ比較器であり、要求アドレス1のアド
レスタグ1aとアドレスタグメモリ2の各ウェイに格納さ
れているデータ(アドレスタグ)とを比較する。この比
較の結果が一致した場合には、アドレスタグ比較器8は
ヒット信号を出力する。なお、このアドレスタグ比較器
8もアドレスタグメモリ2に対応して4個備えられてお
り、比較結果が一致したアドレスタグ比較器8からウェ
イセレクタ9へウェイ選択信号が出力される。
レスタグ1aとアドレスタグメモリ2の各ウェイに格納さ
れているデータ(アドレスタグ)とを比較する。この比
較の結果が一致した場合には、アドレスタグ比較器8は
ヒット信号を出力する。なお、このアドレスタグ比較器
8もアドレスタグメモリ2に対応して4個備えられてお
り、比較結果が一致したアドレスタグ比較器8からウェ
イセレクタ9へウェイ選択信号が出力される。
このような従来の4ウェイセットアソシアティブ方式の
キャッシュメモリの動作は以下の如くである。
キャッシュメモリの動作は以下の如くである。
要求アドレス1は、アドレスタグ1aがアドレスタグ比較
器8に、セットセレクト1bはアドレスタグメモリ2及び
データメモリ4に、ワードセレクト1cはワードセレクタ
5にそれぞれ入力される。
器8に、セットセレクト1bはアドレスタグメモリ2及び
データメモリ4に、ワードセレクト1cはワードセレクタ
5にそれぞれ入力される。
アドレスタグメモリ2及びデータメモリ4はそれぞれの
エントリに既にデータ処理装置11から要求があったアド
レスのアドレスタグとそのアドレスによりメインメモリ
12から読出された4ワードのデータブロックが格納され
ている。
エントリに既にデータ処理装置11から要求があったアド
レスのアドレスタグとそのアドレスによりメインメモリ
12から読出された4ワードのデータブロックが格納され
ている。
アドレスタグメモリ2及びデータメモリ4に対するアク
セスは、セットセレクト1bにてエントリアドレスを指定
することにより行われる。即ち、セットセレクト1bによ
り選択されたアドレスタグメモリ2のエントリに格納さ
れているアドレスタグが読出されてアドレスタグ比較器
8に与えられる。またセットセレクト1bにより選択され
たデータメモリ4のエントリからはデータブロックが読
出されてワードセレクタ5に与えられる。
セスは、セットセレクト1bにてエントリアドレスを指定
することにより行われる。即ち、セットセレクト1bによ
り選択されたアドレスタグメモリ2のエントリに格納さ
れているアドレスタグが読出されてアドレスタグ比較器
8に与えられる。またセットセレクト1bにより選択され
たデータメモリ4のエントリからはデータブロックが読
出されてワードセレクタ5に与えられる。
ワードセレクタ5は与えられているワードセレクト1cに
従って、一つのデータブロック内の4ワードのデータか
ら一つのワードを選択してウェイセレクタ9へ出力す
る。一方、アドレスタグ比較器8はデータ処理装置11か
ら現在要求されている要求アドレス1のアドレスタグ1a
とアドレスタグメモリ2から読出されたアドレスタグと
を比較し、一致しているか否かを判定する。一致してい
る場合、アドレスタグ比較器8はヒット信号を出力する
と共に、ウェイセレクタ9へウェイ選択信号を出力す
る。
従って、一つのデータブロック内の4ワードのデータか
ら一つのワードを選択してウェイセレクタ9へ出力す
る。一方、アドレスタグ比較器8はデータ処理装置11か
ら現在要求されている要求アドレス1のアドレスタグ1a
とアドレスタグメモリ2から読出されたアドレスタグと
を比較し、一致しているか否かを判定する。一致してい
る場合、アドレスタグ比較器8はヒット信号を出力する
と共に、ウェイセレクタ9へウェイ選択信号を出力す
る。
ところで前述の如く、このキャッシュメモリ13は4ウェ
イセットアソシアティブ方式であるので、アドレスタグ
メモリ2,データメモリ4,アドレスタグ比較器8,ワードセ
レクタ5及びウェイセレクタ9はそれぞれウェイ数に対
応して4個ずつ備えられている。従って、アドレスタグ
メモリ2及びデータメモリ4は同一のエントリに対して
最大で4個のアドレスタグ及びデータブロックを格納す
ることが可能である。また、各ウェイは並行して同一の
動作を行うので、アドレスタグ比較器8がヒット(一
致)と判定した場合には一つのエントリアドレスに対し
て同時に4個のアドレスタグが参照される。即ち、アド
レスタグ比較器8はアドレスタグメモリ2から読出され
た各ウェイのアドレスタグとデータ処理装置11から現在
要求されている要求アドレス1のアドレスタグ1aとの比
較を4ウェイ分同時に行い、ヒット/キャッシュミスを
判定する。
イセットアソシアティブ方式であるので、アドレスタグ
メモリ2,データメモリ4,アドレスタグ比較器8,ワードセ
レクタ5及びウェイセレクタ9はそれぞれウェイ数に対
応して4個ずつ備えられている。従って、アドレスタグ
メモリ2及びデータメモリ4は同一のエントリに対して
最大で4個のアドレスタグ及びデータブロックを格納す
ることが可能である。また、各ウェイは並行して同一の
動作を行うので、アドレスタグ比較器8がヒット(一
致)と判定した場合には一つのエントリアドレスに対し
て同時に4個のアドレスタグが参照される。即ち、アド
レスタグ比較器8はアドレスタグメモリ2から読出され
た各ウェイのアドレスタグとデータ処理装置11から現在
要求されている要求アドレス1のアドレスタグ1aとの比
較を4ウェイ分同時に行い、ヒット/キャッシュミスを
判定する。
一方、データメモリ4から読出された各ウェイのデータ
ブロックはワードセレクタ5により一つのワードが選択
され、最後にウェイセレクタ9がアドレスタグ比較器8
から与えられるウェイ選択信号に従って一つのワードを
データバス10へ出力する。
ブロックはワードセレクタ5により一つのワードが選択
され、最後にウェイセレクタ9がアドレスタグ比較器8
から与えられるウェイ選択信号に従って一つのワードを
データバス10へ出力する。
第4図はデータメモリ4の1ビット分の回路構成を示す
回路図である。
回路図である。
第4図において、14はワード線,15はメモリセル,6はセ
ンスアンプである。
ンスアンプである。
一つのセンスアンプ6にはデータメモリ4のエントリ数
分、即ち第3図の例ではデータメモリ4のエントリ数は
nであるからn個のメモリセル15が接続されている。そ
して、このようなセンスアンプ6にメモリセル15がn個
接続された回路が1ワードのビット数×ワード数分配列
されて一つのデータメモリ4が構成される。更にそれが
ウェイ数、即ち第3図の例では4個備えられている。
分、即ち第3図の例ではデータメモリ4のエントリ数は
nであるからn個のメモリセル15が接続されている。そ
して、このようなセンスアンプ6にメモリセル15がn個
接続された回路が1ワードのビット数×ワード数分配列
されて一つのデータメモリ4が構成される。更にそれが
ウェイ数、即ち第3図の例では4個備えられている。
従って、1ワードのビット数を32、データメモリ4の1
エントリ当たりのワード数を4とすれば、第3図に示し
たキャッシュメモリ13のデータメモリ4は全部で 1ワードのビット数×1エントリあたりのワード数×ウ
ェイ数即ち、 32×4×4 個のセンスアンプ6が必要になる。
エントリ当たりのワード数を4とすれば、第3図に示し
たキャッシュメモリ13のデータメモリ4は全部で 1ワードのビット数×1エントリあたりのワード数×ウ
ェイ数即ち、 32×4×4 個のセンスアンプ6が必要になる。
従来のキャッシュメモリでは、上述の如く各ウェイの各
ワードの各ビットそれぞれにセンスアンプを備えている
ので、その占有面積が大きくなる。このため、キャッシ
ュメモリの容量に比してチップ面積が大きくなり、また
逆にチップ面積が限られていればキャッシュメモリの容
量が小さくなる。更に、従来のキャッシュメモリでは4
ウェイ総てに対応するデータメモリ4からデータが読出
されて最後にウェイセレクタ9により一つのデータが選
択されるためデータメモリ4全体が稼働するので、消費
電流が非常に大きいという問題点がある。
ワードの各ビットそれぞれにセンスアンプを備えている
ので、その占有面積が大きくなる。このため、キャッシ
ュメモリの容量に比してチップ面積が大きくなり、また
逆にチップ面積が限られていればキャッシュメモリの容
量が小さくなる。更に、従来のキャッシュメモリでは4
ウェイ総てに対応するデータメモリ4からデータが読出
されて最後にウェイセレクタ9により一つのデータが選
択されるためデータメモリ4全体が稼働するので、消費
電流が非常に大きいという問題点がある。
本発明はこのような事情に鑑みてなされたものであり、
容量に比してセンスアンプ数を削減し、また消費電流を
も削減したキャッシュメモリの提供を目的とする。
容量に比してセンスアンプ数を削減し、また消費電流を
も削減したキャッシュメモリの提供を目的とする。
本発明に係るキャッシュメモリは、データメモリを各ワ
ード単位の領域に分割してワードセレクタにて選択する
ようにし、ワード単位の各領域を更に各ウェイの同一ビ
ットを1単位として分割してセンスアンプに接続してあ
る。
ード単位の領域に分割してワードセレクタにて選択する
ようにし、ワード単位の各領域を更に各ウェイの同一ビ
ットを1単位として分割してセンスアンプに接続してあ
る。
本発明のキャッシュメモリでは、まずワード単位でデー
タメモリの一部の領域が選択され、その領域において各
ビット単位でウェイが選択される。
タメモリの一部の領域が選択され、その領域において各
ビット単位でウェイが選択される。
以下、本発明をその実施例を示す図面に基づいて詳述す
る。
る。
第1図は本発明に係るキャッシュメモリの一構成例を示
すブロック図であり、4ウェイセットアソシアティブ方
式で構成されている。
すブロック図であり、4ウェイセットアソシアティブ方
式で構成されている。
第1図において、参照符号1はデータ処理装置により要
求されているアクセス対象のデータのメインメモリにお
けるアドレス(要求アドレス)を示しており、上位側か
ら順にアドレスタグ1a,セットセレクト1b,ワードセレク
ト1cにて構成されている。
求されているアクセス対象のデータのメインメモリにお
けるアドレス(要求アドレス)を示しており、上位側か
ら順にアドレスタグ1a,セットセレクト1b,ワードセレク
ト1cにて構成されている。
2はn個の領域(以下、各領域をエントリと称す)にて
構成されたアドレスタグメモリであり、データのアドレ
ス1の内のアドレスタグを各エントリに一つずつ記憶す
る。なお、このアドレスタグメモリ2は4ウェイそれぞ
れに対応して4個備えられている。
構成されたアドレスタグメモリであり、データのアドレ
ス1の内のアドレスタグを各エントリに一つずつ記憶す
る。なお、このアドレスタグメモリ2は4ウェイそれぞ
れに対応して4個備えられている。
3は同じくn個のエントリにて構成されたバリッドビッ
トメモリであり、対応するアドレスタグメモリ2のエン
トリに格納されているデータの有効/無効を表示するデ
ータが格納される。なお、このバリッドビットメモリ3
も4ウェイそれぞれに対応して4個備えられている。
トメモリであり、対応するアドレスタグメモリ2のエン
トリに格納されているデータの有効/無効を表示するデ
ータが格納される。なお、このバリッドビットメモリ3
も4ウェイそれぞれに対応して4個備えられている。
4はn個のエントリにて構成されたデータメモリであ
る。このデータメモリ4はワード単位で分割された4a,4
b,4c,4dの4個のデータ領域にて構成されている。更に
各データ領域4a,4b,4c,4dは1ワード分の第“0"ビット
から第“31"ビットまでの32ビット分の領域に分割さ
れ、各1ビット分の領域が更に4ウェイ分の領域に分割
されている。第1図には、ワード1のデータ領域4aの第
0ビットがそれぞれのウェイA,B,C,Dに対応する領域に
分割されていることが模式的に示されている。更に、各
1ウェイ分の領域はそれぞれn個のエントリに分割され
ている。
る。このデータメモリ4はワード単位で分割された4a,4
b,4c,4dの4個のデータ領域にて構成されている。更に
各データ領域4a,4b,4c,4dは1ワード分の第“0"ビット
から第“31"ビットまでの32ビット分の領域に分割さ
れ、各1ビット分の領域が更に4ウェイ分の領域に分割
されている。第1図には、ワード1のデータ領域4aの第
0ビットがそれぞれのウェイA,B,C,Dに対応する領域に
分割されていることが模式的に示されている。更に、各
1ウェイ分の領域はそれぞれn個のエントリに分割され
ている。
5はワードセレクタであり、本発明のキャッシュメモリ
では4ワードそれぞれに対応するデータ領域4a,4b,4c,4
dをワードセレクト1cに従ってこのワードセレクタ5が
選択して稼働させる。
では4ワードそれぞれに対応するデータ領域4a,4b,4c,4
dをワードセレクト1cに従ってこのワードセレクタ5が
選択して稼働させる。
9はウェイセレクタであり、各ウェイに対応してウェイ
選択線(本実施例では4本)9a,9b,9c,9dが備えられて
いる。4本のウェイ選択線9a,9b,9c,9dは後述するウェ
イ選択信号により選択されてアクティブにされる。ま
た、各データ領域4a,4b,4c,4dの各ウェイ分の領域は後
述するセンスアンプ6及び書込み回路7とそれぞれゲー
トを介して信号線にて接続されている。そして、ウェイ
選択線9a,9b,9c,9dがアクティブになることによりそれ
ぞれのゲートがオンしてセンスアンプ6または書込み回
路7とそれぞれのウェイ分の領域が接続される。
選択線(本実施例では4本)9a,9b,9c,9dが備えられて
いる。4本のウェイ選択線9a,9b,9c,9dは後述するウェ
イ選択信号により選択されてアクティブにされる。ま
た、各データ領域4a,4b,4c,4dの各ウェイ分の領域は後
述するセンスアンプ6及び書込み回路7とそれぞれゲー
トを介して信号線にて接続されている。そして、ウェイ
選択線9a,9b,9c,9dがアクティブになることによりそれ
ぞれのゲートがオンしてセンスアンプ6または書込み回
路7とそれぞれのウェイ分の領域が接続される。
8はアドレスタグ比較器であり、要求アドレス1のアド
レスタグ1aとアドレスタグメモリ2の各ウェイのセット
セレクト1bにより指定されているエントリに格納されて
いるデータ(アドレスタグ)とを比較する。この比較の
結果が一致した場合には、アドレスタグ比較器8はヒッ
ト信号を出力する。なお、このアドレスタグ比較器8も
アドレスタグメモリ2に対応して、即ち4ウェイそれぞ
れに対応して4個備えられており、比較結果が一致した
アドレスタグ比較器8からウェイセレクタ9へウェイ選
択信号が出力される。
レスタグ1aとアドレスタグメモリ2の各ウェイのセット
セレクト1bにより指定されているエントリに格納されて
いるデータ(アドレスタグ)とを比較する。この比較の
結果が一致した場合には、アドレスタグ比較器8はヒッ
ト信号を出力する。なお、このアドレスタグ比較器8も
アドレスタグメモリ2に対応して、即ち4ウェイそれぞ
れに対応して4個備えられており、比較結果が一致した
アドレスタグ比較器8からウェイセレクタ9へウェイ選
択信号が出力される。
センスアンプ6は各データ領域4a,4b,4c,4dのそれぞれ
のビット分の領域に一つずつ備えられており、ウェイ選
択信号により選択されているいずれかのウェイ分の領域
から出力された信号を増幅してデータバス10へ出力す
る。
のビット分の領域に一つずつ備えられており、ウェイ選
択信号により選択されているいずれかのウェイ分の領域
から出力された信号を増幅してデータバス10へ出力す
る。
7は書込み回路であり、各データ領域4a,4b,4c,4dのそ
れぞれのビット分の領域に一つずつ備えられており、デ
ータバス10から入力された信号をウェイ選択信号により
選択されているウェイ分の領域へ入力して書込む。
れぞれのビット分の領域に一つずつ備えられており、デ
ータバス10から入力された信号をウェイ選択信号により
選択されているウェイ分の領域へ入力して書込む。
本発明のキャッシュメモリはこのように構成されている
ので、センスアンプ6の数は 1ワードのビット数×ワード数 となり、従来例として示した第3図と同容量の第1図の
構成では、 32×4 である。即ち、本発明のキャッシュメモリではセンスア
ンプ6の数はウェイ数mには無関係であり、ウェイ数m
を増加させた場合にもセンスアンプ6の数が増加するこ
とはない。
ので、センスアンプ6の数は 1ワードのビット数×ワード数 となり、従来例として示した第3図と同容量の第1図の
構成では、 32×4 である。即ち、本発明のキャッシュメモリではセンスア
ンプ6の数はウェイ数mには無関係であり、ウェイ数m
を増加させた場合にもセンスアンプ6の数が増加するこ
とはない。
このような本発明の4ウェイセットアソシアティブ方式
のキャッシュメモリの動作は以下の如くである。
のキャッシュメモリの動作は以下の如くである。
要求アドレス1は、アドレスタグ1aがアドレスタグ比較
器8に、セットセレクト1bはアドレスタグメモリ2及び
データメモリ4の各データ領域4a,4b,4c,4dに、ワード
セレクト1cはワードセレクタ5にそれぞれ入力される。
器8に、セットセレクト1bはアドレスタグメモリ2及び
データメモリ4の各データ領域4a,4b,4c,4dに、ワード
セレクト1cはワードセレクタ5にそれぞれ入力される。
アドレスタグメモリ2及びデータメモリ4はそれぞれの
エントリに既にデータ処理装置から要求があったアドレ
スのアドレスタグとそのアドレスによりメインメモリか
ら読出された4ワードのデータブロックが格納されてい
る。
エントリに既にデータ処理装置から要求があったアドレ
スのアドレスタグとそのアドレスによりメインメモリか
ら読出された4ワードのデータブロックが格納されてい
る。
アドレスタグメモリ2及びデータメモリ4に対するアク
セスは、セットセレクト1bにてエントリアドレスを指定
することにより行われる。即ち、セットセレクト1bによ
り選択されたアドレスタグメモリ2のエントリに格納さ
れているアドレスタグが読出されてアドレスタグ比較器
8に与えられる。また、ワードセレクタ5によりデータ
メモリ4のデータ領域4a,4b,4c,4dの内のいずれか一つ
のデータ領域が選択されて稼働状態になる。
セスは、セットセレクト1bにてエントリアドレスを指定
することにより行われる。即ち、セットセレクト1bによ
り選択されたアドレスタグメモリ2のエントリに格納さ
れているアドレスタグが読出されてアドレスタグ比較器
8に与えられる。また、ワードセレクタ5によりデータ
メモリ4のデータ領域4a,4b,4c,4dの内のいずれか一つ
のデータ領域が選択されて稼働状態になる。
たとえば、ワードセレクト1cによりワード1に対応する
データ領域4aが選択されたとする。またデータ領域4aの
ワード1の領域のセットセレクト1bにより一つのエント
リが、即ち4ウェイ分のデータブロックが選択される。
データ領域4aが選択されたとする。またデータ領域4aの
ワード1の領域のセットセレクト1bにより一つのエント
リが、即ち4ウェイ分のデータブロックが選択される。
一方、アドレスタグ比較器8はデータ処理装置から現在
要求されている要求アドレス1のアドレスタグ1aとアド
レスタグメモリ2から読出されたアドレスタグとを比較
し、一致しているか否かを判定する。一致している場
合、アドレスタグ比較器8はヒット信号を出力すると共
に、ウェイセレクタ9へウェイ選択信号を出力する。
要求されている要求アドレス1のアドレスタグ1aとアド
レスタグメモリ2から読出されたアドレスタグとを比較
し、一致しているか否かを判定する。一致している場
合、アドレスタグ比較器8はヒット信号を出力すると共
に、ウェイセレクタ9へウェイ選択信号を出力する。
ところで前述の如く、本発明のキャッシュメモリは4ウ
ェイセットアソシアティブ方式であるので、アドレスタ
グメモリ2及びアドレスタグ比較器8はそれぞれウェイ
数に対応して4個ずつ備えられている。また、データメ
モリ4はワード単位で4a,4b,4c,4dの各データ領域に4
分割され、それぞれにウェイ数分のデータが存在する。
ェイセットアソシアティブ方式であるので、アドレスタ
グメモリ2及びアドレスタグ比較器8はそれぞれウェイ
数に対応して4個ずつ備えられている。また、データメ
モリ4はワード単位で4a,4b,4c,4dの各データ領域に4
分割され、それぞれにウェイ数分のデータが存在する。
従って、アドレスタグメモリ2及びデータメモリ4は同
一のエントリに対して最大で4個のアドレスタグ及びデ
ータブロックを格納することが可能である。また、アド
レスタグメモリ2の各ウェイは並行して同一の動作を行
うので、アドレスタグ比較器8がヒット(一致)と判定
した場合には一つのエントリアドレスに対して同時に4
個のアドレスタグが参照される。即ち、アドレスタグ比
較器8はアドレスタグメモリ2から読出された各ウェイ
のアドレスタグとデータ処理装置から現在要求されてい
る要求アドレス1のアドレスタグ1aとの比較を4ウェイ
分同時に行い、ヒット/キャッシュミスを判定する。
一のエントリに対して最大で4個のアドレスタグ及びデ
ータブロックを格納することが可能である。また、アド
レスタグメモリ2の各ウェイは並行して同一の動作を行
うので、アドレスタグ比較器8がヒット(一致)と判定
した場合には一つのエントリアドレスに対して同時に4
個のアドレスタグが参照される。即ち、アドレスタグ比
較器8はアドレスタグメモリ2から読出された各ウェイ
のアドレスタグとデータ処理装置から現在要求されてい
る要求アドレス1のアドレスタグ1aとの比較を4ウェイ
分同時に行い、ヒット/キャッシュミスを判定する。
一方、データメモリ4ではワードセレクタ5によりいず
れかのワードに対応するデータ領域4a,4b,4c,4dが選択
され、更にセットセレクタ1bにて指定されるエントリア
ドレスに従って4ウェイ分のデータが選択される。
れかのワードに対応するデータ領域4a,4b,4c,4dが選択
され、更にセットセレクタ1bにて指定されるエントリア
ドレスに従って4ウェイ分のデータが選択される。
ウェイセレクタ9がアドレスタグ比較器8からいずれの
ウェイがヒットしたかを示すウェイ選択信号を受取る
と、ウェイセレクタ9は対応するウェイ選択線9a,9b,9
c,9dのいずれかをアクティブにする。これにより、選択
されているウェイとセンスアンプ6及び書込み回路7と
が接続されるので、データメモリ4から要求アドレス1
に対応したデータがセンスアンプ6へ出力されて増幅さ
れ、データバス10へ出力される。
ウェイがヒットしたかを示すウェイ選択信号を受取る
と、ウェイセレクタ9は対応するウェイ選択線9a,9b,9
c,9dのいずれかをアクティブにする。これにより、選択
されているウェイとセンスアンプ6及び書込み回路7と
が接続されるので、データメモリ4から要求アドレス1
に対応したデータがセンスアンプ6へ出力されて増幅さ
れ、データバス10へ出力される。
ところで、キャッシュメモリが正常に動作しているか否
かをテストするには、予め定められたテストパターンの
データをキャッシュメモリに一旦書込み、その書込まれ
たデータを読出した元のテストパターンのデータと比較
し、完全に一致していれば正常であると判断する。
かをテストするには、予め定められたテストパターンの
データをキャッシュメモリに一旦書込み、その書込まれ
たデータを読出した元のテストパターンのデータと比較
し、完全に一致していれば正常であると判断する。
上述のような本発明のキャッシュメモリをテストする際
の動作は以下のようになる。
の動作は以下のようになる。
まず、各ウェイ総てを同時に選択可能な状態とする。即
ち、データメモリ4にテストパターンのデータを書込む
際に、データバス10から書込み回路7を介してテストパ
ターンのデータを入力すると共に、総てのウェイが同時
に選択されるように総てのウェイ選択線9a,9b,9c,9dを
アクティブにする。このような操作により、書込み回路
7を介して各ウェイの同一のエントリに同じデータが入
力されるので、各ウェイの同一エントリの任意のデータ
ブロックに同一のテストパターンが書込まれる。
ち、データメモリ4にテストパターンのデータを書込む
際に、データバス10から書込み回路7を介してテストパ
ターンのデータを入力すると共に、総てのウェイが同時
に選択されるように総てのウェイ選択線9a,9b,9c,9dを
アクティブにする。このような操作により、書込み回路
7を介して各ウェイの同一のエントリに同じデータが入
力されるので、各ウェイの同一エントリの任意のデータ
ブロックに同一のテストパターンが書込まれる。
テストパターンのデータの書込みが終了すると、次に各
ウェイそれぞれから順にデータを読出してチェックし、
不良ビットの検出を行う。
ウェイそれぞれから順にデータを読出してチェックし、
不良ビットの検出を行う。
なお、書込み回路7はセンスアンプ6と同数必要であ
り、従って従来例の説明では書込み回路については触れ
なかったが、本発明のキャッシュメモリでは書込み回路
の数も削減される。
り、従って従来例の説明では書込み回路については触れ
なかったが、本発明のキャッシュメモリでは書込み回路
の数も削減される。
以上の実施例では、4ウェイの場合について説明してい
るが、ウェイ数は2以上であればどのような数でも本発
明を適用することが可能であり、同様の効果を奏する。
るが、ウェイ数は2以上であればどのような数でも本発
明を適用することが可能であり、同様の効果を奏する。
以上に詳述した如く本発明のキャッシュメモリによれ
ば、従来のキャッシュメモリに比してセンスアンプの数
が削減されまたウェイ数が増加してもセンスアンプの数
は増加しないので、チップ上におけるセンスアンプの占
有面積が減少する。従って、キャッシュメモリの容量を
増大することが可能になり、また同一容量のキャッシュ
メモリであればチップ面積を縮小することが可能にな
る。更に、本発明のキャッシュメモリでは選択されたワ
ードのデータ領域のみが稼働するので、消費電流が大幅
に削減される等、優れた効果が発揮される。
ば、従来のキャッシュメモリに比してセンスアンプの数
が削減されまたウェイ数が増加してもセンスアンプの数
は増加しないので、チップ上におけるセンスアンプの占
有面積が減少する。従って、キャッシュメモリの容量を
増大することが可能になり、また同一容量のキャッシュ
メモリであればチップ面積を縮小することが可能にな
る。更に、本発明のキャッシュメモリでは選択されたワ
ードのデータ領域のみが稼働するので、消費電流が大幅
に削減される等、優れた効果が発揮される。
また、テスト時には総てのウェイが選択可能になるの
で、同一のテストパターンのデータを同時にデータメモ
リに書込むことが可能になり、テスト時間の短縮が図れ
る。
で、同一のテストパターンのデータを同時にデータメモ
リに書込むことが可能になり、テスト時間の短縮が図れ
る。
第1図は本発明に係るキャッシュメモリの一構成例を示
すブロック図、第2図は一般的なマイクロプロセッサの
概略構成を示すブロック図、第3図は従来のキャッシュ
メモリの一構成例を示すブロック図、第4図はそのデー
タメモリの構成を示す回路図である。 1…要求アドレス、1a…アドレスタグ 1b…セットセレクト、1c…ワードセレクト 2…アドレスタグメモリ、4…データメモリ 4a,4b,4c,4d…データ領域、5…ワードセレクタ、6…
センスアンプ、7…書込み回路 8…アドレスタグ比較器、9…ウェイセレクタ 9a,9b,9c,9d…ウェイ選択線 なお、各図中同一符号は同一又は相当部分を示す。
すブロック図、第2図は一般的なマイクロプロセッサの
概略構成を示すブロック図、第3図は従来のキャッシュ
メモリの一構成例を示すブロック図、第4図はそのデー
タメモリの構成を示す回路図である。 1…要求アドレス、1a…アドレスタグ 1b…セットセレクト、1c…ワードセレクト 2…アドレスタグメモリ、4…データメモリ 4a,4b,4c,4d…データ領域、5…ワードセレクタ、6…
センスアンプ、7…書込み回路 8…アドレスタグ比較器、9…ウェイセレクタ 9a,9b,9c,9d…ウェイ選択線 なお、各図中同一符号は同一又は相当部分を示す。
Claims (1)
- 【請求項1】複数のワードデータをデータブロックとし
て1エントリに格納し、少なくとも一つのエントリにて
構成されるウェイを複数有するデータメモリと、 前記データメモリの一つのデータブロックを指定するア
ドレスタグを1エントリに格納し、少なくとも一つのエ
ントリにて構成されるウェイを複数有するアドレスタグ
メモリと、 与えられたアドレスの一部により指定されるエントリに
対応する前記アドレスタグメモリの内容と与えられたア
ドレスのアドレスタグとを比較し、一致した場合に対応
するデータメモリのエントリからデータブロックを出力
させる比較器と、 与えられたアドレスの一部に従って前記複数のデータブ
ロックから一つのワードを選択するワードセレクタと、 前記比較器の比較結果が一致したウェイに対応する前記
データメモリのウェイを選択するウェイセレクタと、 前記データメモリから出力されるデータの各ビットをそ
れぞれ増幅するセンスアンプと を備え、 前記データメモリから1ワードのデータを前記センスア
ンプへ出力するキャッシュメモリにおいて、 前記データメモリをワード単位の領域に分割し、各領域
をワードを構成するビット単位に分割して各ウェイの同
一ビットを一単位として前記ウェイセレクタを介して前
記センスアンプに接続し、前記ワードセレクタによりワ
ード単位の領域を選択すべくなしてあることを特徴とす
るキャッシュメモリ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1286181A JPH0786848B2 (ja) | 1989-11-01 | 1989-11-01 | キャッシュメモリ |
US08/101,800 US5522056A (en) | 1989-11-01 | 1993-08-03 | Cache memory with plurality of congruence sets and sense amplifiers shared among the congruence sets |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1286181A JPH0786848B2 (ja) | 1989-11-01 | 1989-11-01 | キャッシュメモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03147038A JPH03147038A (ja) | 1991-06-24 |
JPH0786848B2 true JPH0786848B2 (ja) | 1995-09-20 |
Family
ID=17700996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1286181A Expired - Lifetime JPH0786848B2 (ja) | 1989-11-01 | 1989-11-01 | キャッシュメモリ |
Country Status (2)
Country | Link |
---|---|
US (1) | US5522056A (ja) |
JP (1) | JPH0786848B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04328656A (ja) * | 1991-04-30 | 1992-11-17 | Toshiba Corp | キャッシュメモリ |
US5675668A (en) * | 1992-04-08 | 1997-10-07 | Kawaski Steel Corporation | Coding method, semiconductor memory for implementing coding method, decoder for semiconductor memory and method for identification of hand-written characters |
JPH0749807A (ja) * | 1993-08-05 | 1995-02-21 | Mitsubishi Electric Corp | メモリシステム及びキャッシュメモリシステム |
US5805855A (en) * | 1994-10-05 | 1998-09-08 | International Business Machines Corporation | Data cache array having multiple content addressable fields per cache line |
JPH08263370A (ja) * | 1995-03-27 | 1996-10-11 | Toshiba Microelectron Corp | キャッシュメモリシステム |
US5761740A (en) * | 1995-11-30 | 1998-06-02 | Unisys Corporation | Method of and apparatus for rapidly loading addressing registers |
US5666513A (en) * | 1996-01-05 | 1997-09-09 | Unisys Corporation | Automatic reconfiguration of multiple-way cache system allowing uninterrupted continuing processor operation |
US5809528A (en) * | 1996-12-24 | 1998-09-15 | International Business Machines Corporation | Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory |
US6182201B1 (en) * | 1997-04-14 | 2001-01-30 | International Business Machines Corporation | Demand-based issuance of cache operations to a system bus |
US6192458B1 (en) * | 1998-03-23 | 2001-02-20 | International Business Machines Corporation | High performance cache directory addressing scheme for variable cache sizes utilizing associativity |
KR100280518B1 (ko) * | 1998-11-10 | 2001-03-02 | 김영환 | 동기 에스램 회로 |
US6434670B1 (en) * | 1999-11-09 | 2002-08-13 | International Business Machines Corporation | Method and apparatus for efficiently managing caches with non-power-of-two congruence classes |
AU2001285161A1 (en) * | 2000-08-21 | 2002-03-04 | United States Postal Services | Delivery point validation system |
JP2014049165A (ja) * | 2012-08-31 | 2014-03-17 | Fujitsu Ltd | 半導体装置及びメモリ試験方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4513367A (en) * | 1981-03-23 | 1985-04-23 | International Business Machines Corporation | Cache locking controls in a multiprocessor |
US4463420A (en) * | 1982-02-23 | 1984-07-31 | International Business Machines Corporation | Multiprocessor cache replacement under task control |
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 |
US4905188A (en) * | 1988-02-22 | 1990-02-27 | International Business Machines Corporation | Functional cache memory chip architecture for improved cache access |
US5091851A (en) * | 1989-07-19 | 1992-02-25 | Hewlett-Packard Company | Fast multiple-word accesses from a multi-way set-associative cache memory |
US5014195A (en) * | 1990-05-10 | 1991-05-07 | Digital Equipment Corporation, Inc. | Configurable set associative cache with decoded data element enable lines |
-
1989
- 1989-11-01 JP JP1286181A patent/JPH0786848B2/ja not_active Expired - Lifetime
-
1993
- 1993-08-03 US US08/101,800 patent/US5522056A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5522056A (en) | 1996-05-28 |
JPH03147038A (ja) | 1991-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2011518C (en) | Distributed cache dram chip and control method | |
US4991081A (en) | Cache memory addressable by both physical and virtual addresses | |
US4168541A (en) | Paired least recently used block replacement system | |
US5051889A (en) | Page interleaved memory access | |
JP3065736B2 (ja) | 半導体記憶装置 | |
EP0407119B1 (en) | Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access | |
EP0624844A2 (en) | Fully integrated cache architecture | |
JPS63195752A (ja) | キヤツシユメモリ− | |
JPH0786848B2 (ja) | キャッシュメモリ | |
JPH0661066B2 (ja) | 記憶制御装置 | |
EP0180369B1 (en) | Cache memory addressable by both physical and virtual addresses | |
EP0535701A1 (en) | Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM) | |
EP0600817A2 (en) | Dual-port array with storage redundancy | |
JPH0727492B2 (ja) | 緩衝記憶装置 | |
JP3701409B2 (ja) | メモリシステム | |
EP0173556A2 (en) | Hierarchical architecture for determining the least recently used cache memory | |
JP3614428B2 (ja) | キャッシュメモリ装置 | |
JPH0210446A (ja) | バッファ記憶装置 | |
JPH1185613A (ja) | キャッシュメモリ | |
JPH08286974A (ja) | キャッシュメモリ装置 | |
JPH01228036A (ja) | キャッシュメモリ | |
JPH01280850A (ja) | キヤツシユ装置およびそれを用いた情報処理装置 | |
JPH0330036A (ja) | 半導体記憶装置 | |
JPH02156352A (ja) | キャッシュメモリ | |
JPH06243045A (ja) | キャッシュメモリ |