JPH0962582A - 疑似セットアソシアティブ方式キャッシュメモリ装置 - Google Patents

疑似セットアソシアティブ方式キャッシュメモリ装置

Info

Publication number
JPH0962582A
JPH0962582A JP7212082A JP21208295A JPH0962582A JP H0962582 A JPH0962582 A JP H0962582A JP 7212082 A JP7212082 A JP 7212082A JP 21208295 A JP21208295 A JP 21208295A JP H0962582 A JPH0962582 A JP H0962582A
Authority
JP
Japan
Prior art keywords
directory
entry
hit
cache
bank
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
Application number
JP7212082A
Other languages
English (en)
Inventor
Masayuki Takakuwa
正幸 高桑
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP7212082A priority Critical patent/JPH0962582A/ja
Publication of JPH0962582A publication Critical patent/JPH0962582A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】簡単な構成でありながら、最適なウェイ数で再
構築可能にする。 【解決手段】エントリ数nのディレクトリ部11-0〜1
1-(N-1)と、エントリ数mのキャッシュデータ部12-0
〜12-(M-1)を設け、N*n=M*m、m=2k*nの
関係を持たせる他、レジスタ18の設定値をもとにセレ
クタ回路19-0〜19-(N-1)によりディレクトリのコン
フィギュレーションを行わせる。ヒット/ミス判定回路
15-0〜15-(N-1)は、ディレクトリ部11-0〜11-
(N-1)から読み出されるエントリ内容と要求アドレスと
回路19-0〜19-(N-1)の出力をもとにヒットチェック
を行う。カレントバンク制御回路17は、レジスタ16
の示すカレントバンク内のエントリでヒットしていれ
ば、そのエントリのデータを出力し、他のバンク内のエ
ントリでヒットしていれば、ヒットエントリのバンクか
らのデータ読み出しに切り替えると共に、当該バンクを
カレントバンクとする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機等の情報処
理機器に設けられる疑似セットアソシアティブ方式キャ
ッシュメモリ装置に関する。
【0002】
【従来の技術】一般に計算機等の情報処理機器では、主
記憶アクセスの高速化のために、主記憶の一部のデータ
の写しが置かれるキャッシュメモリ装置が設けられてい
る。一方、LSI技術の進歩やアーキテクチャの改良に
よって、情報処理機器の演算制御部はますます高速化し
ており、主記憶装置との動作速度差が広がっている。
【0003】このため、演算制御部と主記憶装置との間
に位置するバッファ装置としてのキャッシュメモリ装置
を効果的に実現することにより、演算制御部の性能を最
大限に引き出すことが重要になってきている。
【0004】ところで、キャッシュメモリは高速計算機
システムを実現するための必須技術となっているが、そ
の構成には、マッピング方式、主記憶更新方式、置き換
え方式、アドレッシング方式、コヒーレンス維持方式な
どについて、幾つかの方式がある。
【0005】その中で、マッピング方式は、キャッシュ
メモリと主記憶とのデータの対応関係の違いから、大き
くフルセットアソシアティブ、セットアソシアティブ及
びダイレクトマッピングの3種類に分類することができ
る。
【0006】実現論理の複雑さで比較した場合、フルセ
ットアソシアティブ>セットアソシアティブ>ダイレク
トマッピングの順番になり、ダイレクトマッピング方式
は比較的単純に実現し得る。これに対して、ヒット率の
面では、フルセットアソシアティブ>セットアソシアテ
ィブ>ダイレクトマッピングの順番になる。このため、
キャッシュメモリ容量は大きくできないが、ヒット率が
問題となる場合にはフルセットアソシアティブ方式を、
キャッシュメモリ容量を大きくできるときはセットアソ
シアティブ方式またはダイレクトマッピング方式をとる
ことが多い。
【0007】そこで通常は、プロセッサ内部に保持して
いる1次キャッシュはフルセットアソシアティブ方式ま
たはセットアソシアティブ方式で構成することが多い。
この1次キャッシュは、高速(通常はプロセッサ内部の
動作クロックで動作)ではあるが、容量的には非常に小
容量である。このため、より高速に動作することが必要
な情報処理機器では、プロセッサの外部に2次キャッシ
ュを設けることが一般的である。この2次キャッシュは
ダイレクトマッピング方式(またはセットアソシアティ
ブ)により構成され、1次キャッシュよりは遅い(また
は同等の)アクセス速度ではあるが、容量を大容量にす
ることによってヒット率の向上を図っている。このほ
か、プロセッサ内部の1次キャッシュをセットアソシア
ティブ方式またはダイレクトマッピング方式で構成して
いる場合もある。
【0008】
【発明が解決しようとする課題】フルアソシアティブ、
セットアソシアティブ及びダイレクトマッピングの各方
式で同時にアクセスするウエイ(WAY)数を考えてみ
ると、フルアソシアティブは全ウェイを同時にアクセス
するのに対して、N面(Nウェイ数)のセットアソシア
ティブは、Nウェイを同時に、ダイレクトマッピングで
は1面のみアクセスすることになる。
【0009】これは、同一LSI内で実現している場合
には、それぞれ[1エントリのビット数]*[エントリ
数]、[1エントリのビット数]*[ウェイ数]、[1
エントリのビット数]の本数分だけ信号線の配線領域が
必要であることを示している。同様に、RAMを含んだ
複数のLSIを使用して実現する場合には、必要な信号
線数分だけLSIの入出力ピンが必要なため、セット数
を増やすことは物理的に困難な場合が多い。
【0010】図5に、従来技術で2ウェイでセットアソ
シアティブ方式のキャッシュメモリ装置を構成する場合
の概略を示す。この図5に示す2ウェイセットアソシア
ティブ方式のキャッシュメモリ装置は、2つのディレク
トリ部(バンク#0,#1のディレクトリ部)51-0,
51-1と、2つのキャッシュデータ部(バンク#0,#
1のキャッシュデータ部)52-0,52-1とを備えてい
る。この構成では、ディレクトリ部51-0,51-1と、
キャッシュデータ部52-0,52-1のそれぞれにおい
て、アドレス線は共有されているが、データ線は、ディ
レクトリ部51-0,51-1及びキャッシュデータ部52
-0,52-1ともバンク#0/#1で独立させなければな
らない。
【0011】このため、大容量のキャッシュメモリが必
要な場合は、少ないウェイ数(例えばウェイ数1)で制
御論理を簡単にして、LSIの信号線数を含めた論理規
模を最小にしながら、ヒット率の向上を図ることが多
い。
【0012】さころが、ダイレクトマッピングとセット
アソシアティブでは、主記憶上の複数のアドレスの内容
がキャッシュメモリのウェイ数分のエントリに対してマ
ッピングされている。このため、あるエントリに対応す
る主記憶上の候補同士が非常に使用頻度が高い場合、衝
突(コンフリクト)が頻繁に発生することがある。
【0013】例えば、ダイレクトマッピング方式のキャ
ッシュメモリ装置において、エントリが衝突するタスク
Aの処理aとタスクBの処理bの2つのタスクが時分割
で処理されており、aとbの処理が交互に実行される場
合を考えてみる。
【0014】処理aの終了時にはキャッシュメモリには
処理a(のプログラムデータ)が登録されているため、
次に実行される処理bの実行時には必ずキャッシュミス
ヒットとなり、下位のメモリ階層(例えば主記憶)から
メモリ内容を取り出さなければならない。同様に、処理
bの終了時にはキャッシュメモリには処理b(のプログ
ラムデータ)が登録されているため、次の処理aの実行
時には必ずキャッシュミスヒットとなる。
【0015】このようなコンフリクトが頻繁に発生する
ときは、キャッシュミスヒットが多発するため、キャッ
シュメモリが存在しないのと同様な動作となり、情報処
理機器のスループットが非常に低下するという問題があ
った。
【0016】特にリアルタイム処理においては、オペレ
ーティングシステムやユーザプログラムのタスク間でコ
ンフリクトが発生する場合、リアルタイム処理における
割り込み反応最大時間などの制約を保証できなくなるな
どの問題があった。
【0017】本発明は上記事情を考慮してなされたもの
でその目的は、簡単なハードウェア構成でありながら、
必要に応じて最適なウェイ数で再構築可能にしつつコン
フリクト発生機会を低減できる疑似セットアソシアティ
ブ方式キャッシュメモリ装置を提供することにある。
【0018】
【課題を解決するための手段】本発明の第1の観点に係
るキャッシュメモリ装置は、キャッシュディレクトリ情
報を保持するためのエントリをn個有し、要求アドレス
中のディレクトリエントリアドレスの指定により同時に
読み出しが可能なNバンク(Nは2以上の整数)のディ
レクトリ部と、キャッシュデータを保持するためのエン
トリをm個(m=2k *n、但しkは0以上の整数)有
し、独立にアクセス可能なMバンク(MはN*n=M*
mを満足する整数)のキャッシュデータ部と、上記Nバ
ンクの各ディレクトリ部から読み出される各エントリの
内容、要求アドレス及びNを上限とする設定ウェイ数を
もとに、各ディレクトリ部毎にヒットかミスヒットかを
判定するヒット/ミス判定手段と、上記Mバンクの各キ
ャッシュデータ部のうち、最初に読み出すべきバンクを
カレントバンクとして示すカレントバンク指定手段と、
このカレントバンク指定手段の指定内容に応じて対応す
るキャッシュデータ部のエントリからのキャッシュデー
タの読み出しを行うカレントバンク制御手段であって、
上記各ディレクトリ部毎のヒット/ミス判定手段の判定
結果及びカレントバンク指定手段の指定内容をもとに、
キャッシュデータを読み出すべきバンクを切り替えるカ
レントバンク制御手段とを備えたことを特徴とするもの
である。
【0019】ここで、各ディレクトリ部は、要求アドレ
ス及び設定ウェイ数をもとに有効であるか無効であるか
が決定され、無効と決定されるディレクトリ部について
はヒット/ミス判定手段にてミスヒットと判定されるこ
とをも特徴とする。
【0020】この第1の観点に係るキャッシュメモリ装
置においては、ディレクトリ部の物理的なウェイ数(バ
ンク数)をNウェイ(Nバンク)としながら、それ以下
のウェイ数(バンク数)のキャッシュデータをアクセス
することが可能となる。
【0021】本発明の第2の観点に係るキャッシュメモ
リ装置は、キャッシュディレクトリ情報を保持するため
のエントリをn個有し、要求アドレス中のディレクトリ
エントリアドレスの指定により同時に読み出しが可能な
Nバンク(N=2L 、但しLは1以上の整数)のディレ
クトリ部と、キャッシュデータを保持するためのエント
リをm個(mは2k *n、但しkは0≦k≦Lを満足す
る整数)有し、要求アドレス中のディレクトリエントリ
アドレス及び当該エントリアドレスの上位側につながる
kビットからなるキャッシュデータエントリアドレスの
指定により独立にアクセス可能なMバンク(MはN*n
=M*mを満足する整数)のキャッシュデータ部と、N
を上限とする疑似的なウェイ数を指定するためのコンフ
ィギュレーション情報が設定されるコンフィギュレーシ
ョン設定手段と、このコンフィギュレーション情報をも
とに、ディレクトリのウェイ数のコンフィギュレーショ
ンを行うためのウェイ数コンフィギュレーション手段
と、上記Nバンクの各ディレクトリ部から読み出される
各エントリの内容、要求アドレス及びウェイ数コンフィ
ギュレーション手段のコンフィギュレーション結果をも
とに、各ディレクトリ部毎にヒットかミスヒットかを判
定するヒット/ミス判定手段と、上記Mバンクの各キャ
ッシュデータ部のうち、最初に読み出すべきバンクをカ
レントバンクとして示すカレントバンク指定手段と、こ
のカレントバンク指定手段の指定内容に応じて対応する
キャッシュデータ部のエントリからのキャッシュデータ
の読み出しを行うカレントバンク制御手段であって、上
記各ディレクトリ部毎のヒット/ミス判定手段の判定結
果及びカレントバンク指定手段の指定内容をもとに、キ
ャッシュデータを読み出すべきバンクを切り替えるカレ
ントバンク制御手段とを備えたことを特徴とするもので
ある。
【0022】ここで、上記ウェイ数コンフィギュレーシ
ョン手段を、コンフィギュレーション情報の示すウェイ
数が2w (wは0≦w≦Lを満足する整数)の場合に、
上記Nバンクのディレクトリ部をN/2w 個単位で2w
組に分割し、各組毎にそれぞれ1つの有効なディレクト
リ部を上記Lビット中の下位wビットをもとに決定する
構成とし、無効と決定されたディレクトリ部については
ヒット/ミス判定手段にてミスヒットと判定される構成
とすることをも特徴とする。
【0023】この第2の観点に係るキャッシュメモリ装
置においては、ディレクトリ部の物理的なウェイ数(バ
ンク数)をNとしながらも、コンフィギュレーション情
報の指定に応じて疑似的に1以上N以下の任意のウェイ
数(2w )のキャッシュ構成を構築できる。
【0024】
【発明の実施の形態】以下、本発明の一実施形態につき
図面を参照して説明する。図1は本発明の一実施形態に
係る疑似セットアソシアティブ方式キャッシュメモリ装
置の構成を示すブロック図である。
【0025】図1のキャッシュメモリ装置は、最大Nウ
ェイ(N面:NはLを1以上の整数とすると2L で表さ
れる2以上の整数)のセットアソシアティブ方式が適用
可能であり、N面に対応するバンク#0〜#N−1のN
個のディレクトリ部11-0〜11-(N-1)と、キャッシュ
しているデータを保持するためのバンク#0〜#M−1
のM個(但し、M≦N)のキャッシュデータ部12-0〜
12-(M-1)とを備えている。
【0026】各ディレクトリ部11-0〜11-(N-1)のエ
ントリ数はn、各キャッシュデータ部12-0〜12-(M-
1)のエントリ数はmである。ここでN,n,M,mは、
N*n=M*mの関係を持っている。つまり、本発明に
おいては、N個のディレクトリ部11-1〜11-(N-1)の
全エントリ総計(N*n)に対応するM個のキャッシュ
データ部12-0〜12-(M-1)の全エントリ総計は等しく
構成されている。
【0027】また、m,nはm=2k *n(但し、kは
0≦k≦Lを満足する整数)の関係を持つ。これは、1
個のキャッシュデータ部には、1個以上(2k 個)のデ
ィレクトリ部に対応するデータを持つことを意味してい
る。
【0028】ディレクトリ部11-0〜11-(N-1)及びキ
ャッシュデータ部12-0〜12-(M-1)は、読み出し/書
き込み可能メモリ、例えばRAMから構成される。ディ
レクトリ部11-0〜11-(N-1)の各エントリは、キャッ
シングしているデータのタグ情報(Tag+[L])を
保持するためのタグフィールド111と、当該エントリ
(中のタグ)が有効であるか否かを示す有効ビット(V
ビット)を保持するためのフィールド(Vフィールド)
112とを有する。
【0029】タグフィールド111に設定されるタグ情
報は、タグ部(Tag)とその下位側につながる拡張タ
グ部([L])から構成される。タグ部(Tag)に
は、対応するアドレス(要求アドレス)の上位アドレス
部分をなすタグ部(tag)が用いられ、拡張タグ部
([L])には、タグ部(tag)の下位側につながる
Lビットのフィールドの内容が用いられる。
【0030】この要求アドレス中のLビットフィールド
は、図1のキャッシュメモリ装置がとるキャッシュ構成
(最大Nウェイのキャッシュ構成)により、拡張された
タグ部として用いられる他、ディレクトリエントリ指定
部の上位側につながる拡張されたエントリ指定部として
も用いられる。そこで、この要求アドレス中のLビット
フィールドを拡張タグ/エントリ指定部と称することに
する。
【0031】例えば、Nウェイのキャッシュ構成の場合
には、この拡張タグ/エントリ指定部が全て拡張タグ部
として位置付けられる。また、2ウェイのキャッシュ構
成の場合には、拡張タグ/エントリ指定部の最上位ビッ
トが拡張タグ部として、残りのL−1ビットが拡張エン
トリ指定部(具体的には、各ウェイを構成するN/2個
のディレクトリ部のうちの1つを指定するアドレス部
分)として位置付けられる。また、ダイレクトマッピン
グのキャッシュ構成の場合には、拡張タグ/エントリ指
定部全体が、N個のディレクトリ部11-0〜11-(N-1)
のうちの1つを指定する拡張エントリ指定部として位置
付けられる。これを実現するのが、後述するコンフィギ
ュレーションセレクタ回路19-0〜19-(N-1)である。
【0032】要求アドレス中の拡張タグ/エントリ指定
部(Lヒットフィールド)の下位側につながるアドレス
部分はディレクトリ部11-0〜11-(N-1)内のエントリ
を指定するディレクトリエントリ指定部(ディレクトリ
エントリアドレス)として用いられる。また、上記拡張
タグ/エントリ指定部中の下位kビットとその下位側に
つながるディレクトリエントリ指定部からなるアドレス
部分は、キャッシュデータ部12-0〜12-(M-1)内のエ
ントリを指定するキャッシュデータエントリ指定部(キ
ャッシュデータエントリアドレス)として用いられる。
【0033】ディレクトリ部11-0〜11-(N-1)は、共
通のアドレス線13により要求アドレス中のディレクト
リエントリ指定部と接続され(独立のアドレス線により
接続されるものであっても構わない)、キャッシュデー
タ部12-0〜12-(M-1)は共通のアドレス線14により
要求アドレス中のキャッシュデータエントリ指定部と接
続されている。また、キャッシュデータ部12-0〜12
-(M-1)は、共通のデータ線20に接続されている。即ち
データ線20は、キャッシュデータ部12-0〜12-(M-
1)により共有されている。
【0034】さて、図1の構成では、ディレクトリ部の
数Nとキャッシュデータ部の数Mとの間には、M≦Nの
関係があることから、N面の中で同時にアクセスできる
のはM面のみである。言い換えれば、各キャッシュデー
タ部12-0〜12-(M-1)に含まれるディレクトリ部の数
kは同時にはアクセスすることができない。そこで、
アクセス要求が発生した場合に同時に読み出し可能なキ
ャッシュデータ部(ここではキャッシュデータ部12-0
〜12-(M-1))をバンク(キャッシュデータバンク)と
呼び、その際に最初に読み出すバンクをカレントバンク
と呼ぶことにする。
【0035】図1のキャッシュメモリ装置はまた、ディ
レクトリ部11-0〜11-(N-1)の各エントリから同時に
読み出される内容及び要求アドレス等により、対応する
ディレクトリがヒットしたか否かを判定するヒット/ミ
ス判定回路15-0〜15-(N-1)と、キャッシュデータの
読み出すべきバンク(カレントバンク)を保持するカレ
ントバンクレジスタ16と、ヒット/ミス判定回路15
-0〜15-(N-1)の判定結果とカレントバンクレジスタ1
6の内容をもとにキャッシュデータの読み出すべきバン
クを切り替えると共に、そのバンク切り替え結果をもと
にカレントバンクレジスタ16を更新するカレントバン
ク制御回路17とを備えている。
【0036】図1のキャッシュメモリ装置は、以上の構
成に加えて、本来のN個のバンク(Nウェイ)をとれる
状態から、N以下のバンク数にするためのバンク数(ウ
ェイ数)指定に用いられる(上記拡張タグ/エントリ指
定部のビット数に一致する)Lビットのコンフィギュレ
ーションレジスタ18と、このレジスタ18の内容(L
ビットのコンフィギュレーションレジスタ値)をもとに
(Nを上限とする)ディレクトリの疑似的なウェイ数の
コンフィギュレーションを行うためのN個のコンフィギ
ュレーションセレクタ回路19-0〜19-(N-1)とを更に
備えている。
【0037】セレクタ回路19-0〜19-(N-1)は、ディ
レクトリ部11-0〜11-(N-1)に対応して設けられてお
り、要求アドレス中の拡張タグ/エントリ指定部のLビ
ットまたは当該セレクタ回路19-0〜19-(N-1)に固有
の値(即ちディレクトリ部11-0〜11-(N-1)に固有の
値)のLビットを、コンフィギュレーションレジスタ1
8の内容の各ビットの値に応じてビット単位でヒット/
ミス判定回路15-0〜15-(N-1)に選択出力する機能を
有する。セレクタ回路19-0〜19-(N-1)はまた、コン
フィギュレーションレジスタ18の値と要求アドレス中
の拡張タグ/エントリ指定部のLビットをもとに、対応
するディレクトリ部11-0〜11-(N-1)を有効とするか
否かを示す選択信号190-0〜190-(N-1)を出力する
機能をも有する。この選択信号出力機能は、例えばデコ
ーダにより実現される。
【0038】ここで、N(=2L )個のセレクタ回路1
9-0〜19-(N-1)に固有の値は、Lビットの取り得る2
L 通りの値であり、“00…00”(オール“0”)〜
“11…11”(オール“1”)である。したがって、
図では示されていないが、例えばセレクタ回路19-1,
19-2,19-(N-2)に固有の値は、“00…01”,
“00…10”,…“11…10”である。
【0039】セレクタ回路19-0〜19-(N-1)は、図2
に示すように、いずれもL個の2入力1出力の1ビット
セレクタ191-0〜191-(L-1)を含んでいる。各セレ
クタ191-0〜191-(L-1)は、要求アドレス中の拡張
タグ/エントリ指定部(Lビット)の最上位ビット〜最
下位ビットを“1”側入力、対応するセレクタ回路に固
有のLビット値の最上位ビット〜最下位ビットを“0”
側入力とし、その“1”側入力または“0”側入力をコ
ンフィギュレーションレジスタ18のLビット値の最上
位ビット(ビット0 )〜最下位ビット(ビットL-1 )の
状態に応じて選択する。
【0040】図3に、コンフィギュレーションレジスタ
18の内容(コンフィギュレーションレジスタ値)とキ
ャッシュ構成との関係例を示す。本実施形態において、
コンフィギュレーションレジスタ値(Lビット値)が
“00…00”(オール“0”)の場合は、ダイレクト
マッピング(ウェイ数=1)のキャッシュ構成が指定さ
れ、バンク#0〜#N−1(ディレクトリ部11-0〜1
1-(N-1))のうちの1バンク(1ディレクトリ部)のみ
有効となる。この場合における各バンク#0〜#N−1
(ディレクトリ部11-0〜11-(N-1))の有効/無効
は、そのバンク(ディレクトリ部)に対応するコンフィ
ギュレーションセレクタ回路19-0〜19-(N-1)によっ
て、要求アドレス中の拡張タグ/エントリ指定部の全ビ
ット(Lビット)をもとに決定される。
【0041】例えば、Lビットの拡張タグ/エントリ指
定部が“00…00”(10進表現で0)の場合には、
セレクタ回路19-0によりディレクトリ部11-0が有効
であると決定されて、論理“1”の選択信号190-0が
出力され、“00…01”(10進表現で1)の場合に
は、セレクタ回路19-1(図示せず)によりディレクト
リ部11-1(図示せず)が有効であると決定されて、論
理“1”の選択信号190-1が出力される。同様に、
“11…11”(10進表現で2L −1)の場合には、
セレクタ回路19-(N-1)によりディレクトリ部11-(N-
1)が有効であると決定されて、論理“1”の選択信号1
90-(N-1)が出力される。
【0042】即ちコンフィギュレーションレジスタ値
(Lビット値)が“00…00”の場合には、N個のデ
ィレクトリ部11-0〜11-(N-1)全体が疑似的にN*n
エントリを持つ1つの連続するディレクトリ部として扱
われ、そのN*nエントリ中の1エントリが、要求アド
レス中のLビットの拡張タグ/エントリ指定部及びディ
レクトリエントリ指定部からなるアドレス部分によって
指定される。したがって、ディレクトリのアドレスはリ
ニアとなり、N個のディレクトリ部11-0〜11-(N-1)
を持った構成でありながら、ダイレクトマッピングのキ
ャッシュ構成が可能となる。
【0043】また、コンフィギュレーションレジスタ値
(Lビット値)が上記のようにダイレクトマッピングの
キャッシュ構成を指定する“00…00”の場合、セレ
クタ回路19-0〜19-(N-1)は、要求アドレス中の拡張
タグ/エントリ指定部のLビットに代えて、当該セレク
タ回路19-0〜19-(N-1)に固有のLビット値“00…
00”〜“11…11”を選択する。これは、疑似的に
ダイレクトマッピングのキャッシュ構成をとる場合に
は、要求アドレス中の拡張タグ/エントリ指定部のLビ
ット全てを固有のLビット値“00…00”〜“11…
11”によりマスクし、拡張タグ部として用いられない
ようにするためである。
【0044】次に、コンフィギュレーションレジスタ値
が“10…00”の場合には、2ウェイのキャッシュ構
成が指定され、2バンク(2ディレクトリ部)のみ有効
となる。この場合における各バンク#0〜#N−1(デ
ィレクトリ部11-0〜11-(N-1))の有効/無効は、そ
のバンク(ディレクトリ部)に対応するコンフィギュレ
ーションセレクタ回路19-0〜19-(N-1)によって要求
アドレス中の拡張タグ/エントリ指定部の最上位ビット
を除く残りL−1ビット(下位L−1ビット)をもとに
決定される。
【0045】例えば、拡張タグ/エントリ指定部の下位
L−1ビットが“00…00”の場合には、ディレクト
リ部11-0〜11-(N-1)をN/2個単位で2分割した各
組の先頭のディレクトリ部(ディレクトリ部11-0と図
示せぬディレクトリ部11-N/2)が、“00…01”の
場合には上記各組の2番目のディレクトリ部(図示せぬ
ディレクトリ部11-1,11-(N/2+1))が、それぞれ有
効と決定される。同様に、“11…11”(オール
“1”)の場合には上記各組の最終のディレクトリ部
(図示せぬディレクトリ部11-(N/2-1)とディレクトリ
部11-(N-1))が有効と決定される。
【0046】即ちコンフィギュレーションレジスタ値
(Lビット値)が“10…00”の場合には、ディレク
トリ部11-0〜11-(N-1)をN/2個単位で2分割した
ディレクトリ部11-0側の1組全体と、ディレクトリ部
11-(N-1)側の1組全体が、それぞれ疑似的に(N/
2)*nエントリを持つ1つの連続するディレクトリ部
として扱われ、その疑似的な2組(2ウェイ)のディレ
クトリ部の(N/2)*nエントリ中の1エントリが、
要求アドレス中の拡張タグ/エントリ指定部の下位L−
1ビット及びディレクトリエントリ指定部からなるアド
レス部分によって指定される。
【0047】また、コンフィギュレーションレジスタ値
(Lビット値)が上記のように2ウェイのキャッシュ構
成を指定する“10…00”の場合、セレクタ回路19
-0〜19-(N-1)は、要求アドレス中の拡張タグ/エント
リ指定部の最上位ビットをそのまま選択すると共に、残
りのL−1ビットに代えて当該セレクタ回路19-0〜1
9-(N-1)に固有のLビット値“00…00”〜“11…
11”の下位L−1ビットを選択する。これは、疑似的
に2ウェイのキャッシュ構成をとる場合には、要求アド
レス中の拡張タグ/エントリ指定部の最上位ビットだけ
が拡張タグ部として用いられ、残りのL−1ビットにつ
いては、固有のLビット値“00…00”〜“11…1
1”の下位L−1ビットによりマスクし、拡張タグ部と
して用いられないようにするためである。
【0048】次に、コンフィギュレーションレジスタ値
が“11…11”の場合は、Nウェイ(2L ウェイ)の
キャッシュ構成が指定され、N個のバンク#0〜#N−
1(N個のディレクトリ部11-0〜11-(N-1))の全て
が要求アドレス中の拡張タグ/エントリ指定部に無関係
に有効であると、コンフィギュレーションセレクタ回路
19-0〜19-(N-1)によって決定される。
【0049】即ちコンフィギュレーションレジスタ値
(Lビット値)が“11…11”の場合には、N個のデ
ィレクトリ部11-0〜11-(N-1)がそのままNウェイを
なす独立のディレクトリ部として扱われ、各ディレクト
リ部11-0〜11-(N-1)中のエントリが、要求アドレス
中のディレクトリエントリ指定部によって共通に指定さ
れる。
【0050】また、コンフィギュレーションレジスタ値
(Lビット値)が上記のようにNウェイのキャッシュ構
成を指定する“11…11”の場合、セレクタ回路19
-0〜19-(N-1)は、要求アドレス中の拡張タグ/エント
リ指定部のLビットをそのまま選択する。これは、疑似
的にNウェイのキャッシュ構成をとる場合には、要求ア
ドレス中の拡張タグ/エントリ指定部のLビット全て
を、拡張タグ部としてそのまま用いるためである。
【0051】さて、ヒット/ミス判定回路15-0は、要
求アドレス中のタグ部(tag)とディレクトリ部11
-0から読み出されるエントリ中のタグフィールド111
のタグ部(Tag)とを比較する比較器(CMP)15
1と、セレクタ回路19-0から選択出力されるLビット
と当該タグフィールド111の拡張タグ部([L])と
を同一位置のビット同士比較するためのL個の比較器
(CMP)152-0〜152-(L-1)と、これら比較器1
51,152-0〜152-(L-1)の出力、セレクタ回路1
9-0から出力される選択信号190-0及びディレクトリ
部11-0から読み出されるエントリ中のVフィールド1
12の内容(Vビット)の論理積をとって対応するディ
レクトリがヒットしたか否かを判定するためのアンドゲ
ート153から構成される。
【0052】なお、ヒット/ミス判定回路15-0以外の
ヒット/ミス判定回路の構成についても、ヒット/ミス
判定回路15-0と同様である。次に、図1のキャッシュ
メモリ装置における動作を、(1)Nウェイのキャッシ
ュ構成の場合と、(2)ダイレクトマッピングのキャッ
シュ構成の場合を例に、順に説明する。 (1)Nウェイのキャッシュ構成の場合 図1のキャッシュメモリ装置においてNウェイのキャッ
シュ構成をとる必要がある場合には、図示せぬプロセッ
サの制御により、コンフィギュレーションレジスタ18
にオール“1”のLビット値(コンフィギュレーション
情報)が設定される。
【0053】このコンフィギュレーションレジスタ18
の設定後における通常動作モード時の動作は次の通りで
ある。まず、図1のキャッシュメモリ装置に対してリー
ドアクセス要求がある場合、アドレス線13を介して与
えられる要求アドレス中のディレクトリエントリ指定部
(ディレクトリエントリアドレス)の指定により、N個
のディレクトリ部11-0〜11-(N-1)内の対応するエン
トリの内容が同時に読み出される。
【0054】このときM個のキャッシュデータ部12-0
〜12-(M-1)のエントリが、要求アドレス中のキャッシ
ュデータエントリ指定部(キャッシュデータエントリア
ドレス)、即ち要求アドレス中のディレクトリエントリ
指定部とその上位側につながるkビットからなるキャッ
シュデータエントリ指定部により、アドレス線14を介
して指定される。同時に、M個のキャッシュデータ部1
2-0〜12-(M-1)(即ちバンク#0〜#M−1のキャッ
シュデータ部)のうち、カレントバンクレジスタ16に
よりカレントバンクとして示されているキャッシュデー
タ部が、カレントバンク制御回路17によって出力イネ
ーブル状態に設定される。このキャッシュデータ部の出
力イネーブル状態は、当該キャッシュデータ部のOE
(出力イネーブル)端子を真にすることで設定される。
【0055】これにより、N個のディレクトリ部11-0
〜11-(N-1)内のエントリの内容が読み出されると同時
に、そのエントリに対応するカレントバンク(キャッシ
ュデータ部)のエントリのデータがデータ線20に読み
出される。
【0056】ここで、例えばk=1の場合、即ちキャッ
シュデータ部12-0〜12-(M-1)のエントリ数mがディ
レクトリ部11-0〜11-(N-1)のエントリ数nの2倍の
場合には、キャッシュデータエントリ指定部の最上位ビ
ット(ディレクトリエントリ指定部の上位側につながる
1ビット)が“0”であれば、カレントバンクのキャッ
シュデータ部をアドレス方向に2等分した前側領域(ア
ドレスが小さい側)内の対応エントリ内容の読み出しが
行われ、“1”であれば、後側領域(アドレスが大きい
側)内の対応エントリ内容の読み出しが行われる。
【0057】同様に、例えばk=2の場合、即ちキャッ
シュデータ部12-0〜12-(M-1)のエントリ数mがディ
レクトリ部11-0〜11-(N-1)のエントリ数nの4倍の
場合には、キャッシュデータエントリ指定部の上位2ビ
ット(ディレクトリエントリ指定部の上位側につながる
2ビット)が“00”であれば、カレントバンクのキャ
ッシュデータ部をアドレス方向に4等分した先頭領域内
の対応エントリ内容の読み出しが行われ、“11”であ
れば、最終領域内の対応エントリ内容の読み出しが行わ
れる。
【0058】さて、上記要求アドレス中のLビットの拡
張タグ/エントリ指定部は、コンフィギュレーションセ
レクタ回路19-0〜19-(N-1)に入力される。このセレ
クタ回路19-0〜19-(N-1)には、当該セレクタ回路1
9-0〜19-(N-1)に固有の(ディレクトリ部11-0〜1
1=(N-1)に固有の)Lビット値“00…00”〜“11
…11”が常時入力されている。
【0059】コンフィギュレーションセレクタ回路19
-0〜19-(N-1)は、要求アドレス中のLビットの拡張タ
グ/エントリ指定部または当該セレクタ回路19-0〜1
9-(N-1)に固有の(ディレクトリ部11-0〜11=(N-1)
に固有の)Lビット値を、コンフィギュレーションレジ
スタ18の内容の各ビットの値に応じてビット単位で選
択する。
【0060】この例のように、コンフィギュレーション
レジスタ18の内容がオール“1”の場合には、セレク
タ回路19-0〜19-(N-1)は、いずれも拡張タグ/エン
トリ指定部側の各ビットを選択する。
【0061】またセレクタ回路19-0〜19-(N-1)は、
コンフィギュレーションレジスタ18及び上記Lビット
の拡張タグ/エントリ指定部の内容をデコードすること
で、対応するディレクトリ部11-0〜11-(N-1)(から
読み出されるエントリ内容)を有効とするか否かを示す
選択信号190-0〜190-(N-1)を出力する。この例の
ように、コンフィギュレーションレジスタ18の内容が
オール“1”の場合には、セレクタ回路19-0〜19-
(N-1)からは対応するディレクトリ部11-0〜11-(N-
1)(から読み出されるエントリ内容)を有効とする論理
“1”の選択信号190-0〜190-(N-1)が出力され
る。
【0062】セレクタ回路19-0〜19-(N-1)により選
択されたLビット(ここでは要求アドレス中の拡張タグ
/エントリ指定部の内容)は要求アドレス中のタグ部
(tag)と共にヒット/ミス判定回路15-0〜15-
(N-1)に共通に送られる。このヒット/ミス判定回路1
5-0〜15-(N-1)には、セレクタ回路19-0〜19-(N-
1)から出力された選択信号190-0〜190-(N-1)、及
び対応するディレクトリ部11-0〜11-(N-1)から読み
出された指定エントリの内容(Tag+[L],V)も
送られる。
【0063】これにより、次のサイクルでは、ヒット/
ミス判定回路15-0〜15-(N-1)において、対応するデ
ィレクトリ部11-0〜11-(N-1)のヒットチェックが行
われる。このヒット/ミス判定回路15-0〜15-(N-1)
におけるヒットチェックの詳細を、ヒット/ミス判定回
路15-0の例で以下に述べる。
【0064】まずヒット/ミス判定回路15-0内の比較
器151では、要求アドレス中のタグ部(tag)と、
対応するディレクトリ部11-0から読み出された指定エ
ントリの内容中のタグ部(Tag)とが比較され、一致
の有無が検出される。
【0065】またヒット/ミス判定回路15-0内の比較
器152-0〜152-(L-1)では、セレクタ回路19-0に
より選択されたLビットの各ビット(ビット0 〜L-1 )
と、対応するディレクトリ部11-0から読み出された指
定エントリの内容中の拡張タグ部[L]の各ビット(ビ
ット0 〜L-1 )とが比較される。ここで、セレクタ回路
19-0により選択されたLビットは、コンフィギュレー
ションレジスタ18のLビットの内容がオール“1”の
例では、前記したように要求アドレス中の拡張タグ/エ
ントリ指定部、即ちタグ部(tag)とディレクトリエ
ントリ指定部との間のLビットである。
【0066】したがってコンフィギュレーションレジス
タ18のLビットの内容がオール“1”の場合、ヒット
/ミス判定回路15-0内では、要求アドレス中のタグ部
(tag)及びその下位側につながるLビットの拡張タ
グ/エントリ指定部と、ディレクトリ部11-0から読み
出された指定エントリのタグフィールド111の内容
(Tag+[L])とが比較されて、その一致/不一致
が検出されることになる。
【0067】この一致/不一致検出結果、即ち比較器1
51,152-0〜152-(L-1)の出力は、セレクタ回路
19-0から出力された(論理“1”の)選択信号190
-0、及びディレクトリ部11-0から読み出された指定エ
ントリのVフィールド112の内容(Vビット)と共に
アンドゲート153に入力される。そして、この例のよ
うに選択信号190-0が論理“1”の場合には、上記の
一致/不一致検出結果が一致を示し(即ち比較器15
1,152-0〜152-(L-1)の出力が全て“1”で)、
且つVビットが“1”の場合に、アンドゲート153の
出力は“1”となり、対応するディレクトリ部11-0で
のヒットが示される。それ以外の場合には、アンドゲー
ト153の出力は“0”となり、対応するディレクトリ
部11-0でのミスヒットが示される。
【0068】以上のヒット/ミス判定回路15-0での対
応するディレクトリ部11-0のヒットチェックと並行し
て、他のヒット/ミス判定回路においても対応するディ
レクトリ部のヒットチェックが同様に行われる。
【0069】さて、ヒット/ミス判定回路15-0〜15
-(N-1)でのヒットチェック結果はカレントバンク制御回
路17に送られる。カレントバンク制御回路17は、こ
のヒット/ミス判定回路15-0〜15-(N-1)でのヒット
チェック結果及びカレントバンクレジスタ16の内容を
もとに全体のヒット/ミスを判定する。ここで判定され
るヒット/ミスの状態には、(a)カレントバンク内の
エントリでヒットしている場合、(b)カレントバンク
内ではヒットしていないが、他のバンクではヒットして
いる場合、(c)カレントバンクを含めて、全バンクで
ミスヒットの場合、の3種類がある。
【0070】なお、カレントバンク制御回路17では、
ディレクトリ部11-0〜11-(N-1)とキャッシュデータ
部12-0〜12-(M-1)との対応関係がm(ディレクトリ
部のエントリ数),n(キャッシュデータ部のエントリ
数)をもとに管理されている。例えばm=2n(即ちk
=1)の例では、ディレクトリ部11-0と次のディレク
トリ部11-1(図示せず)がキャッシュデータ部12-0
(バンク#0)に対応し、ディレクトリ部11-(N-2)
(図示せず)とディレクトリ部11-(N-1)がキャッシュ
データ部12-(M-1)(バンク#M)に対応するというよ
うに、2つのディレクトリ部を単位に1つのキャッシュ
データ部(のバンク)に対応する。同様に、m=4n
(即ちk=2)の例では、4つのディレクトリ部を単位
に1つのキャッシュデータ部(のバンク)に対応する。
【0071】さて、カレントバンク制御回路17は、判
定したヒット/ミスの状態が上記(a)〜(c)のいず
れであるかにより、動作を切り替える。このカレントバ
ンク制御回路17の動作を、(a)〜(c)の各状態の
それぞれについて説明する。
【0072】(a)カレントバンク内のエントリでヒッ
トしている場合 この場合、カレントバンク制御回路17は、キャッシュ
データ部12-0〜12-(M-1)のうちカレントバンクとし
てカレントバンクレジスタ16により示されているキャ
ッシュデータ部からデータ線20に読み出されているヒ
ットエントリのデータを要求アドレスに対応するデータ
としてそのまま要求(アクセス)元(通常はプロセッ
サ)に供給する。
【0073】(b)カレントバンク内ではヒットしてい
ないが、他のバンクではヒットしている場合 この場合、カレントバンク制御回路17は、キャッシュ
ミスヒットであることをアクセス元に通知し、その間
に、出力イネーブル状態にあるバンク(キャッシュデー
タバンク)をカレントバンクからヒットしているディレ
クトリ部に対応するバンク(キャッシュデータ部)に切
り替えて、その切り替え後のバンクのエントリからデー
タ線20上にデータを読み出してアクセス元に供給す
る。この場合、ディレクトリ部にはヒットしていなが
ら、ディレクトリ部とキャッシュデータ部とが1対1で
対応する従来のNウェイセットアソシアティブ方式のキ
ャッシュメモリ装置に比べて、最低1サイクルの遅れ
(1サイクルのキャッシュミスペナルティ)となる。
【0074】またカレントバンク制御回路17は、上記
のデータ読み出しと並行してカレントバンクレジスタ1
6の内容を更新して、カレントバンクをヒットしていた
バンクに変更する。これにより、次の同一エントリに対
するアクセスからは、カレントバンクでヒットすること
になる。
【0075】(c)カレントバンクを含めて、全バンク
でミスヒットの場合 この場合、LRU(Least Recently Used)法などを用い
たリプレースエントリ決定部(図示せず)により決定さ
れたエントリを対象として、主記憶等の下位メモリ階層
からのリプレース動作(キャッシュメモリ・フィル(fi
ll)動作)が行われる。このリプレース動作では、ディ
レクトリ部11-0〜11-(N-1)のうちの上記決定された
ディレクトリ部内のエントリのタグフィールド111
に、要求アドレス中のタグ部(tag)とその下位側に
つながるLビットの拡張タグ/エントリ指定部が、Ta
g+[L]として登録され、Vフィールド112のVビ
ットがオンされる。また、このエントリに対応するキャ
ッシュデータ部のエントリに、下位メモリ階層からの対
応するデータが登録される。以上の下位メモリ階層から
のリプレース動作のキャッシュミスペナルティは通常1
0〜数10サイクルである。
【0076】カレントバンク制御回路17は、下位メモ
リ階層からのリプレース動作が行われると、カレントバ
ンクレジスタ16の内容を更新して、カレントバンクを
リプレースされたエントリを含むバンク(キャッシュデ
ータ部)に変更する。
【0077】以上のように、本実施形態においては、デ
ィレクトリ部11-0〜11-(N-1)とキャッシュデータ部
12-0〜12-(M-1)が必ずしも1対1で対応していなく
ても、コンフィギュレーションレジスタ18にNウェイ
を指定する情報(ここではオール“1”のLビットデー
タ)を設定することで、疑似的にNウェイのキャッシュ
構成を実現できる。 (2)ダイレクトマッピングのキャッシュ構成の場合 次に、ダイレクトマッピングのキャッシュ構成の場合の
動作を説明する。
【0078】図1のキャッシュメモリ装置においてダイ
レクトマッピングのキャッシュ構成をとる必要がある場
合には、プロセッサの制御によりコンフィギュレーショ
ンレジスタ18にオール“0”のLビット値(コンフィ
ギュレーション情報)が設定される。
【0079】このコンフィギュレーションレジスタ18
の設定後における通常動作モード時の動作は次の通りで
ある。まず、図1のキャッシュメモリ装置に対してリー
ドアクセス要求がある場合、前記したように要求アドレ
スに応じてN個のディレクトリ部11-0〜11-(N-1)内
の対応するエントリの内容が同時に読み出される。
【0080】これと同時にカレントバンク制御回路17
は、要求アドレス中のLビットの拡張タグ/エントリ指
定部の値で決まる有効なディレクトリ部に対応するキャ
ッシュデータ部を出力イネーブル状態に設定し、そのキ
ャッシュデータ部の対応するエントリ内容をデータ線2
0上に読み出す。有効なディレクトリ部は、前記したよ
うに要求アドレス中のLビットの拡張タグ/エントリ指
定部の値が“00…00”ときはディレクトリ部11-0
となり、“00…01”の場合にはディレクトリ部11
-1となる。以下同様に、“11…11”のときはディレ
クトリ部11-(N-1)となる。
【0081】コンフィギュレーションセレクタ回路19
-0〜19-(N-1)は、要求アドレス中の拡張タグ/エント
リ指定部のLビット値または当該セレクタ回路19-0〜
19-(N-1)に固有の(ディレクトリ部11-0〜11=(N-
1)に固有の)Lビット値を、コンフィギュレーションレ
ジスタ18の内容の各ビットの値に応じてビット単位で
選択する。
【0082】この例のように、コンフィギュレーション
レジスタ18の内容がオール“0”の場合には、セレク
タ回路19-0〜19-(N-1)は、全てセレクタ回路19-0
〜19-(N-1)に固有のLビット値を選択する。したがっ
て、セレクタ回路19-0からは“00…00”(10進
表現で0)が、セレクタ回路19-1(図示せず)からは
“00…01”(10進表現で1)が、セレクタ回路1
9-2(図示せず)からは“00…10”(10進表現で
2)が選択される。以下同様に、セレクタ回路19-(N-
2)(図示せず)からは“11…10”(10進表現で2
L −2)が、セレクタ回路19-(N-1)(図示せず)から
は“11…11”(10進表現で2L −1)が選択され
る。
【0083】またセレクタ回路19-0〜19-(N-1)は、
コンフィギュレーションレジスタ18及び上記Lビット
の拡張タグ/エントリ指定部の内容をデコードすること
で、対応するディレクトリ部11-0〜11-(N-1)(から
読み出されるエントリ内容)を有効とするか否かを示す
選択信号190-0〜190-(N-1)を出力する。
【0084】この例のように、コンフィギュレーション
レジスタ18の内容がオール“0”の場合には、セレク
タ回路19-0〜19-(N-1)は、拡張タグ/エントリ指定
部の内容が自身に固有の値“00…00”〜“11…1
1”のときだけ、対応するディレクトリ部11-0〜11
-(N-1)(から読み出されるエントリ内容)を有効とする
論理“1”の選択信号190-0〜190-(N-1)を出力す
る。即ち、コンフィギュレーションレジスタ18の内容
がオール“0”の場合には、拡張タグ/エントリ指定部
のLビットの値で決まる1つのディレクトリ部だけが有
効とされる。
【0085】セレクタ回路19-0〜19-(N-1)により選
択されたLビット(ここではセレクタ回路19-0〜19
-(N-1)に固有のLビット値)は要求アドレス中のタグ部
(tag)と共にヒット/ミス判定回路15-0〜15-
(N-1)に共通に送られる。このヒット/ミス判定回路1
5-0〜15-(N-1)には、セレクタ回路19-0〜19-(N-
1)から出力された選択信号190-0〜190-(N-1)、及
び対応するディレクトリ部11-0〜11-(N-1)から読み
出された指定エントリの内容(Tag+[L],V)も
送られる。
【0086】これにより、次のサイクルでは、ヒット/
ミス判定回路15-0〜15-(N-1)において対応するディ
レクトリ部11-0〜11-(N-1)のヒットチェックが行わ
れる。
【0087】即ちヒット/ミス判定回路15-0〜15-
(N-1)においては、要求アドレス中のタグ部(tag)
と対応するディレクトリ部11-0〜11-(N-1)から読み
出された指定エントリのタグフィールド111の内容中
のタグ部(Tag)とが(比較器151により)比較さ
れる。
【0088】同時に、セレクタ回路19-0〜19-(N-1)
により選択されたLビット、即ちセレクタ回路19-0〜
19-(N-1)に固有のLビット値と対応するディレクトリ
部11-0〜11-(N-1)から読み出された指定エントリの
タグフィールド111の内容中の[L](拡張タグ部)
とが同一ビット位置同士(比較器152-0〜152-(L-
1)により)比較される。
【0089】さて、ヒット/ミス判定回路15-0〜15
-(N-1)では、要求アドレス中のタグ部(tag)と対応
するディレクトリ部11-0〜11-(N-1)から読み出され
た指定エントリのタグフィールド111の内容中のタグ
部(Tag)とが一致すると共に、セレクタ回路19-0
〜19-(N-1)により選択されたLビット、即ちセレクタ
回路19-0〜19-(N-1)に固有のLビット値と当該指定
エントリのタグフィールド111の内容中の[L](拡
張タグ部)とが一致し、且つ対応するセレクタ回路19
-0〜19-(N-1)からの選択信号190-0〜190-(N-1)
及び当該指定エントリのVフィールド112の内容(V
ビット)が“1”の場合だけ、ヒットを判定する。
【0090】カレントバンク制御回路17は、ヒット/
ミス判定回路15-0〜15-(N-1)でのヒットチェック結
果を受けて有効ディレクトリ部のエントリのヒット/ミ
ス、言い換えれば読み出しているキャッシュデータ部の
エントリのヒット/ミスを判定する。
【0091】もし、読み出しているキャッシュデータ部
のエントリにヒットしていると判定した場合には、カレ
ントバンク制御回路17は、そのヒットしているエント
リからデータ線20に読み出されているデータを要求ア
ドレスに対応するデータとしてそのままアクセス元に供
給する。
【0092】これに対し、読み出しているキャッシュデ
ータ部のエントリにミスヒットしていると判定した場合
には、下位メモリ階層からのリプレース動作(キャッシ
ュメモリ・フィル動作)が行われる。このリプレース動
作では、ディレクトリ部11-0〜11-(N-1)のうちの
(要求アドレス中のLビットの拡張タグ/エントリ指定
部の値で決まる)有効ディレクトリ部内の指定エントリ
のタグフィールド111に、要求アドレス中のタグ部
(tag)とその下位側につながるLビットの拡張タグ
/エントリ指定部が、Tag+[L]として登録され、
Vフィールド112のVビットがオンされる。また、こ
のエントリに対応するキャッシュデータ部のエントリ
に、下位メモリ階層からの対応するデータが登録され
る。
【0093】以上のように、本実施形態においては、N
個のディレクトリ部11-0〜11-(N-1)とM個のキャッ
シュデータ部12-0〜12-(M-1)を備えた構成でありな
がら、コンフィギュレーションレジスタ18にダイレク
トマッピングを指定する情報(ここではオール“0”の
Lビットデータ)を設定することで、ダイレクトマッピ
ングのキャッシュ構成を実現できる。
【0094】以上、図1の構成のキャッシュメモリ装置
の動作を、(1)Nウェイのキャッシュ構成の場合と、
(2)ダイレクトマッピングのキャッシュ構成の場合を
例に説明したが、本実施形態においては、コンフィギュ
レーションレジスタ18に設定する値により、2ウェ
イ、4ウェイ等、他のキャッシュ構成も疑似的に実現で
きる。
【0095】なお、本実施形態のセレクタ回路19-0〜
19-(N-1)においては、要求アドレス中の拡張タグ/エ
ントリ指定部のうち、コンフィギュレーションレジスタ
18の値(の指定するキャッシュ構成)で決まる拡張タ
グとして用いられる部分だけをそのまま選択し、他の部
分については、代わりに当該セレクタ回路19-0〜19
-(N-1)に固有のLビット値の対応するビット部分をマス
クデータとして選択出力するものとして説明したが、こ
れに限るものではない。例えば、要求アドレス中の拡張
タグ/エントリ指定部をコンフィギュレーションレジス
タ18の値(の指定するキャッシュ構成)に無関係にそ
のままヒット/ミス判定回路15-0〜15-(N-1)に出力
して、ディレクトリ部11-0〜11-(N-1)から読み出さ
れるエントリ内容中の拡張タグ部[L]との比較に用い
られるようにしても構わない。
【0096】
【実施例】次に、本発明の一実施例につき図面を参照し
て説明する。図4は本発明の一実施例に係るキャッシュ
メモリ装置の構成を示すブロック図である。この図4の
キャッシュメモリ装置は、図1のキャッシュメモリ装置
において、アドレス(要求アドレス)を32ビット、ア
ドレス中のタグ部(tag)をビット0 〜13の14ビッ
ト、拡張タグ/エントリ指定部をビット14の1ビット
(L=1)、ディレクトリエントリ指定部をビット15〜
27の13ビットとすると共に、Nの値を2L =21
2、Mの値をNと同じ2、n=m(即ちk=1)、n,
mの値を8K(K=1024)とした場合である。
【0097】即ち図4のキャッシュメモリ装置は、最大
2ウェイ(2面)のセットアソシアティブ方式が適用可
能であり、2面に対応するバンク#0,#1の2個のデ
ィレクトリ部41-0,41-1と、バンク#0,#1の2
個のキャッシュデータ部42-0,42-1とを備えてい
る。各ディレクトリ部41-0,41-1のエントリ数nは
8K、各キャッシュデータ部42-0,42-1のエントリ
数mも8Kである。
【0098】ディレクトリ部41-0,41-1の各エント
リは、対応するアドレスのビット0〜14(タグ部とその
下位側につながる拡張タグ/エントリ指定部の1ビッ
ト)が登録されるタグフィールド411とVフィールド
412とを有する。
【0099】ディレクトリ部41-0,41-1は、13ビ
ットの共通のアドレス線43により要求アドレス中のデ
ィレクトリエントリ指定部(ビット15〜27)と接続さ
れ、キャッシュデータ部42-0,42-1は13ビットの
共通のアドレス線44により要求アドレス中の(ディレ
クトリエントリ指定部に一致する)キャッシュデータエ
ントリ指定部(ビット15〜27)と接続されている。ま
た、キャッシュデータ部42-0,42-1内のエントリに
は24 (=16)バイトのキャッシュデータが登録され
るようになっており、当該キャッシュデータ部42-0,
42-1は128ビット(16バイト)の共通のデータ線
50に接続されている。
【0100】図4のキャッシュメモリ装置はまた、ディ
レクトリ部41-0,41-1に対応したヒット/ミス判定
回路45-0,45-1と、1ビットのカレントバンクレジ
スタ46と、カレントバンク制御回路47と、疑似的な
2ウェイをとるキャッシュ構成とするかダイレクトマッ
ピングのキャッシュ構成とするかを指定するための1ビ
ットのコンフィギュレーションレジスタ48と、ディレ
クトリ部41-0,41-1に対応して設けらたコンフィギ
ュレーションセレクタ回路49-0,49-1とを備えてい
る。
【0101】セレクタ回路49-0,49-1は、コンフィ
ギュレーションレジスタ48の設定値(“1”または
“0”)に従い、ディレクトリ部41-0,41-1のディ
レクトリアドレスをリニアにするか、共通にするかを選
択するためのものである。セレクタ回路49-0,49-1
は、要求アドレス中のビット14または当該セレクタ回路
49-0,49-1に固有の(即ちディレクトリ部41-0,
41-1に固有の)1ビット値0,1を、1ビットのコン
フィギュレーションレジスタ18の設定値に応じてヒッ
ト/ミス判定回路45-0,45-1に選択出力する。また
セレクタ回路49-0,49-1は、コンフィギュレーショ
ンレジスタ18の1ビット設定値及び要求アドレス中の
ビット14をもとに、論理“1”または“0”の選択信号
490-0,490-1を出力する。
【0102】ヒット/ミス判定回路45-0は、要求アド
レス中のタグ部(tag)とディレクトリ部41-0から
読み出されるエントリ中のタグフィールド411のタグ
部(アドレス中のビット0 〜13に相当する部分)とを比
較する比較器(CMP)451と、セレクタ回路49-0
から選択出力される1ビットと当該タグフィールド41
1の内容の残りの1ビット(アドレス中のビット14に相
当する部分)とを比較する比較器(CMP)452と、
これら比較器451,452の出力(比較結果)、セレ
クタ回路49-0から出力されるの選択信号490-0及び
ディレクトリ部11-0から読み出されるエントリ中のV
フィールド412の内容(Vビット)の論理積をとって
対応するディレクトリがヒットしたか否かを判定するた
めのアンドゲート453から構成される。このヒット/
ミス判定回路45-0の構成は、ヒット/ミス判定回路4
5-1においても同様である。
【0103】次に、図4のキャッシュメモリ装置におけ
る動作を、(1)2ウェイのキャッシュ構成の場合と、
(2)ダイレクトマッピングのキャッシュ構成の場合を
例に、順に説明する。 (1)2ウェイのキャッシュ構成の場合 図4のキャッシュメモリ装置において2ウェイのキャッ
シュ構成をとる必要がある場合には、コンフィギュレー
ションレジスタ48に“1”(値が“1”の1ビットデ
ータ)が設定される。
【0104】コンフィギュレーションレジスタ48の値
が“1”の場合、ディレクトリアドレスはディレクトリ
部41-0,41-1で共通であり、キャッシュメモリ装置
は疑似的に2ウェイの構成となっている。
【0105】このような状態で、図4のキャッシュメモ
リ装置に対してリードアクセス要求がある場合、要求ア
ドレス中のビット15〜27(13ビットのディレクトリエ
ントリ指定部)の指定するディレクトリ部41-0,41
-1のエントリの内容が同時に読み出される。
【0106】同時に、キャッシュデータ部42-0,42
-1(バンク#0,#1)のうち、カレントバンクレジス
タ46の示すカレントバンクのOE端子がイネーブルさ
れて、要求アドレス中のビット15〜27の指定するカレン
トバンク(キャッシュデータ部)のエントリのデータ
(24 バイト=16バイト=128ビット)が128ビ
ットのデータ線50に読み出される。なお、データ線5
0に代えて例えば64ビット(8バイト)のデータ線を
用いる場合には、1エントリのデータを64ビット単位
で2回に分けて読み出せばよい。
【0107】また、本実施例のようにコンフィギュレー
ションレジスタ48の値が“1”の場合、セレクタ回路
49-0,49-1により、いずれも要求アドレス中のビッ
ト14が選択されると共に、論理“1”の選択信号490
-0,490-1が出力される。
【0108】次のサイクルでは、ヒット/ミス判定回路
45-i(i=0,1)において、対応するディレクトリ
部41-iのヒットチェックが行われる。ここでは、要求
アドレス中のビット0 〜14(ビット0 〜13のタグ部とビ
ット14の拡張タグ/エントリ指定部)と、ディレクトリ
部41-iから読み出されるエントリ中のタグフィールド
411の内容とが比較され、その比較結果、セレクタ回
路49-iからの選択信号490-i(ここでは論理
“1”)及び当該エントリ中のVフィールド412の内
容(Vビット)のAND条件の成立の有無により、ヒッ
トチェックが行われる。
【0109】カレントバンク制御回路47は、ヒット/
ミス判定回路45-0,45-1のヒットチェック結果及び
カレントバンクレジスタ46の内容をもとに全体のヒッ
ト/ミスを判定する。ここで判定されるヒット/ミスの
状態には、(a)カレントバンク内のエントリでヒット
している場合、(b)カレントバンク内ではヒットして
いないが、もう一方のバンクではヒットしている場合、
(c)カレントバンクを含めて、全バンクでミスヒット
の場合、の3種類がある。
【0110】カレントバンク制御回路47は、判定した
ヒット/ミスの状態が上記(a)〜(c)のいずれであ
るかにより、以下に述べるように動作を切り替える。 (a)カレントバンク内のエントリでヒットしている場
合 この場合、カレントバンク制御回路47は、キャッシュ
データ部42-0,42-1のうちカレントバンクとしてカ
レントバンクレジスタ16により示されているキャッシ
ュデータ部からデータ線50に読み出されているヒット
エントリのデータを要求アドレスに対応するデータとし
てそのままアクセス元に供給する。
【0111】(b)カレントバンク内ではヒットしてい
ないが、もう一方のバンクではヒットしている場合 この場合、カレントバンク制御回路47は、キャッシュ
ミスヒットであることをアクセス元に通知し、その間
に、出力イネーブル状態にあるバンクをカレントバンク
からヒットしているバンク(キャッシュデータ部)に切
り替えて、その切り替え後のバンクのエントリからデー
タ線50上にデータを読み出してアクセス元に供給す
る。
【0112】またカレントバンク制御回路47は、上記
のデータ読み出しと並行してカレントバンクレジスタ4
6の内容を更新して、カレントバンクをヒットしていた
バンクに変更する。これにより、次の同一エントリに対
するアクセスからは、カレントバンクでヒットすること
になる。
【0113】(c)カレントバンクを含めて、全バンク
でミスヒットの場合 この場合、LRU法などを用いたリプレースエントリ決
定部(図示せず)により決定されたエントリを対象とし
て、下位メモリ階層からのリプレース動作(キャッシュ
メモリ・フィル動作)が行われる。このリプレース動作
では、ディレクトリ部41-0,41-1のうちの上記決定
されたディレクトリ部内のエントリのタグフィールド4
11に、要求アドレス中のビット0 〜14が登録され、V
フィールド412のVビットがオンされる。また、この
エントリに対応するキャッシュデータ部のエントリに、
下位メモリ階層からの対応するデータ(32ビットの要
求アドレス中の下位4ビットを除くビット0 〜27で指定
される16バイトデータ)が登録される。
【0114】カレントバンク制御回路47は、下位メモ
リ階層からのリプレース動作が行われると、カレントバ
ンクレジスタ46の内容を更新して、カレントバンクを
リプレースされたエントリを含むバンク(キャッシュデ
ータ部)に変更する。 (2)ダイレクトマッピングのキャッシュ構成の場合 次に、ダイレクトマッピングのキャッシュ構成の場合の
動作を説明する。
【0115】図4のキャッシュメモリ装置においてダイ
レクトマッピングのキャッシュ構成をとる必要がある場
合には、コンフィギュレーションレジスタ48に“0”
が設定される。
【0116】コンフィギュレーションレジスタ48の値
が“0”の場合、ディレクトリアドレスは(ディレクト
リ部41-0,41-1で共通でなく)リニアであり、キャ
ッシュメモリ装置は疑似的にダイレクトマッピングの構
成となっている。
【0117】このような状態で、図4のキャッシュメモ
リ装置に対してリードアクセス要求がある場合、要求ア
ドレス中のビット15〜27(ディレクトリエントリ指定
部)の指定するディレクトリ部41-0,41-1のエント
リの内容が同時に読み出される。このとき、ディレクト
リアドレスはリニアであるため、ディレクトリ部41-
0,41-1のうち有効なエントリが存在するディレクト
リは、いずれか一方である。ここでは、以下に述べるよ
うに要求アドレス中のビット14が“0”ならばディレク
トリ部41-0が有効に、“1”ならばディレクトリ部4
1-1が有効になる。
【0118】さて、ディレクトリ部41-0,41-1から
のエントリ内容の読み出しが行われる際には、同時にキ
ャッシュデータ部42-0,42-1(バンク#0,#1)
のうちの一方のOE端子がイネーブルされて、要求アド
レス中のビット15〜27の指定するエントリのデータがデ
ータ線50に読み出される。ここでは、要求アドレス中
のビット14が“0”ならばキャッシュデータ部42-0の
OE端子が、“1”ならばキャッシュデータ部42-1の
OE端子がイネーブルにされる。
【0119】また、本実施例のようにコンフィギュレー
ションレジスタ48の値が“0”の場合、セレクタ回路
49-0,49-1により、それぞれ当該セレクタ回路49
-0,49-1(ディレクトリ部41-0,41-1)に固有の
値“0”,“1”が選択される。同時に、セレクタ回路
49-0,49-1により選択信号490-0,490-1が出
力される。
【0120】この選択信号490-0,490-1の論理値
は、要求アドレス中のビット14の論理値に応じて決定さ
れ、ビット14が“0”のときはそれぞれ“0”,“1”
となり、“1”のときはそれぞれ“1”,“0”とな
る。
【0121】このように、コンフィギュレーションレジ
スタ48の値がダイレクトマッピングのキャッシュ構成
を指定する“0”の場合には、要求アドレス中のビット
14が“0”であれば選択信号490-0だけが論理“1”
となって、ディレクトリ部41-0が有効となり、当該ビ
ット14が“1”であれば選択信号490-1だけが論理
“1”となって、ディレクトリ部41-1が有効となる。
【0122】次のサイクルでは、ヒット/ミス判定回路
41-i(i=0,1)において、対応するディレクトリ
部41-iのヒットチェックが行われる。ここでは、要求
アドレス中のビット0 〜13(タグ部)と、ディレクトリ
部41-iから読み出されるエントリ中のタグフィールド
411のビット0 〜13に相当する部分との比較が行われ
ると共に、セレクタ回路49-iにより選択出力される当
該セレクタ回路49-i(ディレクトリ部41-i)に固有
の1ビット値(i=0なら“0”、i=1なら“1”)
と、上記タグフィールド411のビット14に相当する部
分との比較が行われる。
【0123】ヒット/ミス判定回路45-iにおいては、
上記の両比較結果、セレクタ回路49-iからの選択信号
490-i(論理“1”または“0”)及びディレクトリ
部41-iから読み出されるエントリ中のVフィールド4
12の内容(Vビット)のAND条件の成立の有無によ
り、ヒットチェックが行われる。
【0124】カレントバンク制御回路47は、ヒット/
ミス判定回路45-0,45-1でのヒットチェック結果を
受けて有効ディレクトリ部のエントリのヒット/ミス、
言い換えれば読み出しているキャッシュデータ部のエン
トリのヒット/ミスを判定する。
【0125】もし、読み出しているキャッシュデータ部
のエントリにヒットしていると判定した場合には、カレ
ントバンク制御回路47は、そのヒットしているエント
リからデータ線50に読み出されているデータを要求ア
ドレスに対応するデータとしてそのままアクセス元に供
給する。
【0126】これに対し、読み出しているキャッシュデ
ータ部のエントリにミスヒットしていると判定した場合
には、下位メモリ階層からのリプレース動作(キャッシ
ュメモリ・フィル動作)が行われる。
【0127】以上のように、本実施例においては、2個
のディレクトリ部41-0,41-1と2個のキャッシュデ
ータ部42-0,42-1を備えた構成でありながら、コン
フィギュレーションレジスタ48に“0”を設定するこ
とで、2個のディレクトリ部41-0,41-1のアドレス
をリニアにすることができ、ダイレクトマッピングのキ
ャッシュ構成を実現できる。
【0128】また、従来のキャッシュメモリ装置で2面
(2ウェイ)を実現するためには、2ウェイのキャッシ
ュデータ部のデータ線として、各面(キャッシュデータ
部)毎に独立のデータ線を必要としていたが、本実施例
においては、共通のデータ線(データ線50)でよい。
しかも、共通のデータ線でありながら、コンフリアト発
生確率を1面以上(2面相当)にすることができる。
【0129】
【発明の効果】以上詳述したように本発明によれば、簡
単なハードウェア構成でありながら、必要に応じて最適
なウェイ数で再構築可能にしつつコンフリクト発生機会
を低減することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るキャッシュメモリ装
置の構成を示すブロック図。
【図2】図1中のコンフィギュレーションセレクタ回路
19-0〜19-(N-1)のセレクタ構成と、そのセレクタと
コンフィギュレーションレジスタ18との接続関係を示
す図。
【図3】図1中のコンフィギュレーションレジスタ18
の設定値(コンフィギュレーションレジスタ値)とキャ
ッシュ構成の関係とを示す図。
【図4】本発明の一実施例に係る最大2ウェイのセット
アソシアティブ方式が適用可能なキャッシュメモリ装置
の具体的な構成を示すブロック図。
【図5】従来の2ウェイセットアソシアティブ方式のキ
ャッシュメモリ装置の概略構成を示すブロック図。
【符号の説明】
11-0〜11-(N-1),41-0,41-1…ディレクトリ
部、12-0〜12-(M-1),42-0,42-1…キャッシュ
データ部、13,14,43,44…アドレス線、15
-0〜15-(N-1),45-0,45-1…ヒット/ミス判定回
路、16…カレントバンクレジスタ(カレントバンク指
定手段)、17…カレントバンク制御回路、18…コン
フィギュレーションレジスタ(コンフィギュレーション
設定手段)、19-0〜19-(N-1),49-0,49-1…コ
ンフィギュレーションセレクタ回路(ウェイ数コンフィ
ギュレーション手段)、20,50…データ線、151
-0,152-1〜152-(L-1),451,452…比較器
(CMP)、153,453…アンドゲート、191-0
〜191-(L-1)…セレクタ。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 最大Nウェイのセットアソシアティブ方
    式が適用可能なキャッシュメモリ装置であって、 キャッシュディレクトリ情報を保持するためのエントリ
    をn個有し、要求アドレス中のディレクトリエントリア
    ドレスの指定により同時に読み出しが可能なNバンク
    (Nは2以上の整数)のディレクトリ部と、 キャッシュデータを保持するためのエントリをm個(m
    はkを0以上の整数とすると2k *n)有し、独立にア
    クセス可能なMバンク(MはN*n=M*mを満足する
    整数)のキャッシュデータ部と、 前記Nバンクの各ディレクトリ部から読み出される各エ
    ントリの内容、前記要求アドレス及びNを上限とする設
    定ウェイ数をもとに、各ディレクトリ部毎にヒットかミ
    スヒットかを判定するヒット/ミス判定手段と、 前記Mバンクの各キャッシュデータ部のうち、最初に読
    み出すべきバンクをカレントバンクとして示すカレント
    バンク指定手段と、 前記カレントバンク指定手段の指定内容に応じて対応す
    るキャッシュデータ部のエントリからのキャッシュデー
    タの読み出しを行うカレントバンク制御手段であって、
    前記各ディレクトリ部毎の前記ヒット/ミス判定手段の
    判定結果及び前記カレントバンク指定手段の指定内容を
    もとに、キャッシュデータを読み出すべきバンクを切り
    替えるカレントバンク制御手段とを具備することを特徴
    とするキャッシュメモリ装置。
  2. 【請求項2】 前記各ディレクトリ部は、前記要求アド
    レス及び設定ウェイ数をもとに有効であるか無効である
    かが決定され、前記ヒット/ミス判定手段は、無効と決
    定されるディレクトリ部についてはミスヒットを判定す
    ることを特徴とする請求項1記載のキャッシュメモリ装
    置。
  3. 【請求項3】 最大Nウェイ(NはLを1以上の整数と
    すると2L で表される2以上の整数)のセットアソシア
    ティブ方式が適用可能なキャッシュメモリ装置であっ
    て、 キャッシュディレクトリ情報を保持するためのエントリ
    をn個有し、要求アドレス中のディレクトリエントリア
    ドレスの指定により同時に読み出しが可能なNバンクの
    ディレクトリ部と、 キャッシュデータを保持するためのエントリをm個(m
    はkを0≦k≦Lを満足する整数とすると2k *n)有
    し、前記要求アドレス中の前記ディレクトリエントリア
    ドレス及び当該エントリアドレスの上位側につながるk
    ビットからなるキャッシュデータエントリアドレスの指
    定により独立にアクセス可能なMバンク(MはN*n=
    M*mを満足する整数)のキャッシュデータ部と、 Nを上限とする疑似的なウェイ数を指定するためのコン
    フィギュレーション情報が設定されるコンフィギュレー
    ション設定手段と、 このコンフィギュレーション設定手段に設定されている
    コンフィギュレーション情報をもとに、ディレクトリの
    ウェイ数のコンフィギュレーションを行うためのウェイ
    数コンフィギュレーション手段と、 前記Nバンクの各ディレクトリ部から読み出される各エ
    ントリの内容、前記要求アドレス及び前記ウェイ数コン
    フィギュレーション手段のコンフィギュレーション結果
    をもとに、各ディレクトリ部毎にヒットかミスヒットか
    を判定するヒット/ミス判定手段と、 前記Mバンクの各キャッシュデータ部のうち、最初に読
    み出すべきバンクをカレントバンクとして示すカレント
    バンク指定手段と、 前記カレントバンク指定手段の指定内容に応じて対応す
    るキャッシュデータ部のエントリからのキャッシュデー
    タの読み出しを行うカレントバンク制御手段であって、
    前記各ディレクトリ部毎の前記ヒット/ミス判定手段の
    判定結果及び前記カレントバンク指定手段の指定内容を
    もとに、キャッシュデータを読み出すべきバンクを切り
    替えるカレントバンク制御手段とを具備することを特徴
    とするキャッシュメモリ装置。
  4. 【請求項4】 前記ウェイ数コンフィギュレーション手
    段は、前記コンフィギュレーション情報及び要求アドレ
    ス中の前記ディレクトリエントリアドレスの上位側につ
    ながるLビットをもとに前記各ディレクトリ部のそれぞ
    れについて有効であるか無効であるかを決定し、前記ヒ
    ット/ミス判定手段は、無効と決定されたディレクトリ
    部についてはミスヒットを判定することを特徴とする請
    求項3記載のキャッシュメモリ装置。
  5. 【請求項5】 前記ウェイ数コンフィギュレーション手
    段は、前記コンフィギュレーション情報の示すウェイ数
    が2w (wは0≦w≦Lを満足する整数)の場合に、前
    記Nバンクのディレクトリ部をN/2w 個単位で2w
    に分割し、各組毎にそれぞれ1つの有効なディレクトリ
    部を前記Lビット中の下位wビットをもとに決定するこ
    とを特徴とする請求項4記載のキャッシュメモリ装置。
JP7212082A 1995-08-21 1995-08-21 疑似セットアソシアティブ方式キャッシュメモリ装置 Pending JPH0962582A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7212082A JPH0962582A (ja) 1995-08-21 1995-08-21 疑似セットアソシアティブ方式キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7212082A JPH0962582A (ja) 1995-08-21 1995-08-21 疑似セットアソシアティブ方式キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JPH0962582A true JPH0962582A (ja) 1997-03-07

Family

ID=16616578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7212082A Pending JPH0962582A (ja) 1995-08-21 1995-08-21 疑似セットアソシアティブ方式キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JPH0962582A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330935B2 (en) 2004-03-31 2008-02-12 Nec Corporation Set associative cache system and control method for cache memories
JP2017503299A (ja) * 2014-12-14 2017-01-26 ヴィア アライアンス セミコンダクター カンパニー リミテッド モードに応じてセットの1つ又は複数を選択的に選択するように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ
JP2017503298A (ja) * 2014-12-14 2017-01-26 ヴィア アライアンス セミコンダクター カンパニー リミテッド アドレス・タグ・ビットに基づく動的キャッシュ置換ウェイ選択
JP2017507442A (ja) * 2014-12-14 2017-03-16 ヴィア アライアンス セミコンダクター カンパニー リミテッド モードに応じてウェイの全部又はサブセットに選択的に割り当てるように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330935B2 (en) 2004-03-31 2008-02-12 Nec Corporation Set associative cache system and control method for cache memories
JP2017503299A (ja) * 2014-12-14 2017-01-26 ヴィア アライアンス セミコンダクター カンパニー リミテッド モードに応じてセットの1つ又は複数を選択的に選択するように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ
JP2017503298A (ja) * 2014-12-14 2017-01-26 ヴィア アライアンス セミコンダクター カンパニー リミテッド アドレス・タグ・ビットに基づく動的キャッシュ置換ウェイ選択
JP2017507442A (ja) * 2014-12-14 2017-03-16 ヴィア アライアンス セミコンダクター カンパニー リミテッド モードに応じてウェイの全部又はサブセットに選択的に割り当てるように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ
US9798668B2 (en) 2014-12-14 2017-10-24 Via Alliance Semiconductor Co., Ltd. Multi-mode set associative cache memory dynamically configurable to selectively select one or a plurality of its sets depending upon the mode
US10698827B2 (en) 2014-12-14 2020-06-30 Via Alliance Semiconductor Co., Ltd. Dynamic cache replacement way selection based on address tag bits
US10719434B2 (en) 2014-12-14 2020-07-21 Via Alliance Semiconductors Co., Ltd. Multi-mode set associative cache memory dynamically configurable to selectively allocate into all or a subset of its ways depending on the mode

Similar Documents

Publication Publication Date Title
EP0036110B1 (en) Cache addressing mechanism
JP2646854B2 (ja) マイクロプロセッサ
US5717648A (en) Fully integrated cache architecture
US8793433B2 (en) Digital data processing apparatus having multi-level register file
US6963964B2 (en) Method and apparatus for detecting pipeline address conflict using parallel compares of multiple real addresses
KR100327935B1 (ko) 연관성을 이용한 가변 캐시 크기에 대한 고성능 캐시 디렉토리 어드레싱 스킴
EP0381323B1 (en) Method and apparatus for increasing the data storage rate of a computer system
JP4065660B2 (ja) 機能が並列に分散された変換索引バッファ
JP3669555B2 (ja) 可変キャッシュ・サイズのための改良されたキャッシュ・ディレクトリ・アドレシング方法及び装置
US5893930A (en) Predictive translation of a data address utilizing sets of associative entries stored consecutively in a translation lookaside buffer
US5668972A (en) Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line
JPS63244248A (ja) キヤツシユ制御装置
JP2005174341A (ja) 種々のキャッシュ・レベルにおける連想セットの重畳一致グループを有するマルチレベル・キャッシュ
US5636354A (en) Data processor with serially accessed set associative memory cache interface and method
EP0439325B1 (en) Cache coherence in logical caches
KR20020013772A (ko) 멀티포트 캐쉬 메모리
JP3970705B2 (ja) アドレス変換装置、アドレス変換方法および2階層アドレス変換装置
JPH0962582A (ja) 疑似セットアソシアティブ方式キャッシュメモリ装置
JP3210637B2 (ja) データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
JP2000339221A (ja) 変換装置のエントリを無効化するシステム及び方法
JPH03235144A (ja) キャッシュメモリ制御装置
JP3447588B2 (ja) メモリ管理装置、方法及びプログラムを記憶した記憶媒体
US6449693B1 (en) Method and apparatus for improving caching within a processor system
US6161164A (en) Content addressable memory accessed by the sum of two operands
US6226731B1 (en) Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array