JP2001344152A - キャッシュメモリ装置 - Google Patents

キャッシュメモリ装置

Info

Publication number
JP2001344152A
JP2001344152A JP2000167235A JP2000167235A JP2001344152A JP 2001344152 A JP2001344152 A JP 2001344152A JP 2000167235 A JP2000167235 A JP 2000167235A JP 2000167235 A JP2000167235 A JP 2000167235A JP 2001344152 A JP2001344152 A JP 2001344152A
Authority
JP
Japan
Prior art keywords
tag
entry
data
prefetch
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.)
Pending
Application number
JP2000167235A
Other languages
English (en)
Inventor
Jiro Miyake
二郎 三宅
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000167235A priority Critical patent/JP2001344152A/ja
Publication of JP2001344152A publication Critical patent/JP2001344152A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュミスが生じた際に、外部メモリア
クセスによる待ち時間や、先行的に外部メモリ装置に対
して行った無駄なアクセスを無くすこと。 【解決手段】 キャッシュメモリ装置1Aにおいて、先
行ミス検出回路23と置換制御回路24とプリフェッチ
バッファ25を設ける。先行ミス検出回路23はアドレ
ス4で指定されたエントリーの次のエントリーの次第2
タグ37とアドレス4の第2タグ32とを比較し、先行
ミス信号38を出力する。置換制御回路24は先行ミス
信号38が与えられると、アドレス4をインクリメント
し、外部メモリ装置3から次のエントリーのデータを読
み出し、プリフェッチバッファ25へ格納する。こうし
てデータのプリフェッチを効率よく行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、先行的に外部メモ
リよりデータの読み出しを行うキャッシュメモリ装置に
関する。
【0002】
【従来の技術】近年の電子技術の発展により、マイクロ
コンピュータを用いた情報処理装置が普及し、あらゆる
分野で用いられている。情報処理装置において、中央処
理装置であるCPUの動作速度は外部メモリ装置の読み
出し速度と比べ非常に速い。このため情報処理装置に
は、CPUと外部メモリ装置の速度差を吸収するため、
アクセス頻度の高いデータを一時的に保持するキャッシ
ュメモリ装置が設けらる。キャッシュメモリ装置は外部
メモリ装置に比べて小容量であるが、高速動作が可能な
ことを特徴とする。
【0003】CPUはデータをアクセスするに際し、先
ずキャッシュメモリ装置をアクセスし、必要なデータが
存在する場合、即ちキャッシュがヒットすると、高速に
データの読み出し又は書き込みを行う。必要なデータが
キャッシュメモリ装置に存在しない場合、即ちキャッシ
ュがミスすると、外部メモリ装置をアクセスし、必要な
データをキャッシュメモリ装置へ転送し、CPUはその
データに対して読み出し又は書き込みを行う。
【0004】図15に従来のキャッシュメモリ装置を用
いた情報処理装置の構成図を示す。本図において情報処
理装置は、破線部で示すキャッシュメモリ装置101、
中央処理装置(CPU)2、外部メモリ装置3を含んで
構成される。キャッシュメモリ装置101はタグメモリ
102、データメモリ103、ヒット検出回路107、
置換制御回路108を有している。タグメモリ102は
複数のタグエントリー104を備え、データメモリ10
8は各タグエントリー104に対応した複数のデータエ
ントリー105を備えている。タグエントリー104は
タグ部106と有効ビットVから構成される。ヒット検
出回路107はアドレス4中のタグ部121と、タグメ
モリ102のタグ部106及び有効ビットVとを入力
し、キャッシュがヒットしたか否かを検出する回路であ
る。置換制御回路108はキャッシュがヒットしなかっ
た(ミスした)場合に、必要なデータを外部メモリ装置
3から読み出して、データメモリ103とタグメモリ1
02への書き込みを制御する回路である。
【0005】図15を用いてCPU2がキャッシュメモ
リ装置101からデータを読み出す場合の動作を説明す
る。先ずCPU2はキャッシュメモリ装置101に対し
てアドレス4を出力する。アドレス4の上位ビットをタ
グ部121とし、下位ビットをオフセット120とす
る。キャッシュメモリ装置101はこのオフセット12
0を用いて、タグメモリ102とデータメモリ103を
アクセスし、タグエントリー104のデータとデータエ
ントリ105のデータを夫々読み出す。ヒット検出回路
107は読み出されたタグエントリー104とアドレス
4の上位ビットのタグ部121を調べる。タグエントリ
ー104の有効ビットVが1で、且つタグ部106とア
ドレス4のタグ部121とが一致する場合、ヒット検出
回路107はキャッシュがヒットしたとしてヒット信号
6を出力する。キャッシュがヒットすると、CPU2は
データメモリ103から読み出されたデータ5を受け取
って使用する。
【0006】キャッシュがミスした場合、即ちタグエン
トリー104の有効ビットVが0、又はタグ部106と
アドレス4のタグ部121とが一致しない場合、置換制
御回路108はCPU2が要求するデータがキャッシュ
メモリ装置101に格納されていないと判断して、外部
メモリ装置3より必要なデータを読み出す。この場合、
置換制御回路108はアドレス4をアドレス110とし
て外部メモリ装置3へ与え、データ111を読み出す。
外部メモリ装置3より一度に読み出せるデータのビット
幅が、データエントリー105のビット幅より小さい場
合、置換制御回路108はアドレス110をインクリメ
ントしながら複数回に渡って外部メモリ装置3からデー
タを読み出す。そして置換制御回路108は、読み出し
たデータ111をデータエントリー105へ書き込むと
共に、データ111を情報処理用のデータ5としてCP
U2に転送する。同時にタグエントリー104のタグ部
106にアドレス4の上位ビットのタグ部121のデー
タを書き込み、有効ビットVを1にセットする。
【0007】CPU2がデータを書き込む場合も同様
に、キャッシュがヒットするかどうかをヒット検出回路
107が検出する。キャッシュがヒットした場合、CP
U2が出力するデータを、アドレス4のオフセット12
0でアクセスされるデータエントリー105に書き込
む。キャッシュがミスした場合、置換制御回路109が
アドレス4を用いて、外部メモリ装置3より必要なデー
タを読み出してデータエントリー105に書き込んだ
後、CPU2が出力するデータ5をデータエントリー1
05の該当する部分へ書き込む。
【0008】このようにして、小容量であるが高速なキ
ャッシュメモリ装置を用いることで、キャッシュがヒッ
トする場合は高速にデータを読み出して書き込みを行
い、CPUの高い処理性能を実現することができる。
【0009】
【発明が解決しようとする課題】キャッシュがヒットし
た場合は、高い処理性能を実現することができるが、キ
ャッシュがミスした場合は、外部メモリ装置をアクセス
するため、情報処理装置の処理性能が低下するという問
題がある。
【0010】図16に従来例におけるキャッシュの読み
出し動作のタイミング図を示す。この図は特にプログラ
ムの命令や画像データなど、連続したアドレスにおける
データを読み出す場合を示す。ここでは、100 番地から
クロックサイクル毎にアドレス4をインクリメントしな
がら32ビット単位のデータを読み出すものとする。キ
ャッシュメモリ装置101の1つのタグエントリー10
4に対応したデータエントリー105のサイズは128
ビット( =16バイト) とする。1つのタグエントリー
104に対応したアドレス100 番地、104 番地、108 番
地、及び10c 番地のデータはキャッシュメモリ装置10
1に存在するので、これらのアドレスによる読み出しで
はキャッシュヒットを生じ、読み出されたデータ5はす
ぐにCPU2へ転送処理される。このデータエントリー
の次のエントリーに対応するデータ、即ちアドレス110
番地、114 番地、118 番地、及び11c 番地のデータがキ
ャッシュメモリ装置101に格納されていないとする
と、キャッシュミスを生じる。この場合、外部メモリ装
置3へ外部アドレス110が出力され、外部メモリ装置
3から読み出されたデータ111はキャッシュメモリ装
置101へ格納され、これと同時にCPU2へ転送され
る。
【0011】このように、キャッシュミスが生じると、
読み出し時間が長い外部メモリ装置3からデータを読み
出す必要が生じる。このため、外部メモリ装置3からデ
ータを読み出すまでCPU2の処理が待たされ、情報処
理装置としての性能が低下する。
【0012】また、CPU2が要求するアドレス4に対
して、キャッシュメモリ装置101をアクセスしている
とき、そのアドレス4に対応するn番目のデータエント
リー105の次以降のn番目、n+1番目・・のデータ
エントリー105のデータを外部メモリ装置3から事前
に読み出すことも可能であるが、この場合、CPU2が
要求するアドレス4でキャッシュメモリ装置101をア
クセスしている間は、次以降のタグエントリー104を
検査することができない。このため、データエントリー
105にキャッシュのデータがあるかどうかを確認する
ことなく、外部メモリ装置3をアクセスすることにな
る。このようにキャッシュメモリ装置101にデータが
既に存在するのにも係わらず、外部メモリ装置3をアク
セスした場合、無駄なアクセスを行ったことになり、こ
の無駄な外部メモリ装置3へのアクセスのために、他の
必要な外部メモリ装置3へのアクセスが待たされ、情報
処理において性能の低下を生じてしまう。
【0013】このように、キャッシュミスが生じたとき
の外部メモリ装置3へのアクセスによる待ち時間の発生
や、先行的に外部メモリ装置3に対して行った無駄なア
クセスによる障害が生じ、その結果情報処理装置の性能
低下をもたらすという問題点があった。
【0014】本発明は、このような従来の問題点に鑑み
てなされたものであって、CPUから出力されたアドレ
スに対したキャッシュメモリ装置のデータをアクセスす
ると同時に、次のタグエントリーを読み出し、次のエン
トリーに対するキャッシュミスの有無を検出し、キャッ
シュミスが予想される場合には、事前に外部メモリ装置
よりデータを効率よく読み出すことにより、情報処理装
置の性能を向上させるキャッシュメモリ装置を実現する
ことを目的とする。
【0015】
【課題を解決するための手段】本願の請求項1の発明
は、第1タグ、第2タグ、有効ビットを夫々格納するタ
グエントリーを複数有し、入力アドレスにより選択され
た第n番目のタグエントリーの前記第1タグ、前記第2
タグ、前記有効ビットを、夫々第1タグ出力、第2タグ
出力、有効信号として出力し、第n+1番目のタグエン
トリーの前記第2タグを次第2タグ出力として出力する
タグメモリと、前記タグメモリの夫々のタグエントリー
に対応したデータを格納するデータエントリーを複数有
するデータメモリと、前記タグメモリから出力される第
1タグ出力、第2タグ出力、有効信号に対して、前記入
力アドレスで指示される第1タグ、第2タグを参照し、
参照結果に基づいてキャッシュヒットの有無を検出して
ヒット信号を出力するヒット検出手段と、前記タグメモ
リから出力される次第2タグ出力に対して、前記入力ア
ドレスで指示される第2タグを参照し、前記第n+1番
目のタグエントリーに対するキャッシュミスの有無を検
出し、参照結果に基づいて先行ミス信号を出力する先行
ミス検出手段と、前記ヒット検出手段のヒット信号によ
りキャッシュヒットしなかったことが示されると、前記
入力アドレスを用いて外部メモリ装置よりデータを読み
出し、前記読み出したデータを前記データメモリの第n
番目のデータエントリーに格納し、前記タグメモリの第
n番目のタグエントリーを更新すると共に、前記先行ミ
ス信号により前記第n+1番目のタグエントリーに対す
るキャッシュミスが示されると、前記入力アドレスに対
応する前記第n+1番目のタグエントリーに対するアド
レスを生成して出力し、前記外部メモリ装置より前記第
n+1番目のタグエントリーに対するデータを読み出し
て、第n+1番目のデータエントリーに格納し、前記第
n+1番目のタグエントリーを更新する置換制御手段
と、を具備することを特徴とするものである。
【0016】本願の請求項2の発明は、第1タグ、第2
タグ、有効ビットを夫々格納するタグエントリーを複数
有し、入力アドレスにより選択された第n番目のタグエ
ントリーの前記第1タグ、前記第2タグ、前記有効ビッ
トを、夫々第1タグ出力、第2タグ出力、有効信号とし
て出力し、第n+1番目のタグエントリーの前記第2タ
グを次第2タグ出力として出力するタグメモリと、前記
タグメモリの夫々のタグエントリーに対応したデータを
格納するデータエントリーを複数有するデータメモリ
と、前記タグメモリから出力される第1タグ出力、第2
タグ出力、有効信号に対して、前記入力アドレスで指示
される第1タグ、第2タグを参照し、参照結果に基づい
てキャッシュヒットの有無を検出してヒット信号を出力
するヒット検出手段と、前記タグメモリから出力される
次第2タグ出力に対して、前記入力アドレスで指示され
る第2タグを参照し、前記第n+1番目のタグエントリ
ーに対するキャッシュミスの有無を検出し、参照結果に
基づいて先行ミス信号を出力する先行ミス検出手段と、
前記ヒット検出手段のヒット信号によりキャッシュヒッ
トしなかったことが示されると、前記入力アドレスを用
いて外部メモリ装置よりデータを読み出し、前記読み出
したデータを前記データメモリの第n番目のデータエン
トリーに格納し、前記タグメモリの第n番目のタグエン
トリーを更新すると共に、前記先行ミス信号により前記
第n+1番目のタグエントリーに対するキャッシュミス
が示されると、前記入力アドレスに対応する前記第n+
1番目のタグエントリーに対するアドレスを生成してプ
リフェッチアドレスとして出力し、前記外部メモリ装置
よりデータを読み出す置換制御手段と、前記先行ミス信
号に応じて、前記置換制御手段が出力したプリフェッチ
アドレスと前記外部メモリ装置より読み出されたデータ
とを格納するプリフェッチエントリーを1つ又は複数有
し、新たな入力アドレスと前記プリフェッチエントリー
に格納されたアドレスとを比較し、アドレスが一致する
場合プリフェッチヒット信号を出力すると共に、一致し
た前記プリフェッチエントリーのデータを出力するプリ
フェッチバッファと、を具備し、前記置換制御手段は、
前記プリフェッチヒット信号が出力されると、前記プリ
フェッチバッファから出力されるデータを前記新たな入
力アドレスで選択される前記データエントリーへ格納
し、対応する前記タグエントリーのデータを更新するこ
とを特徴とするものである。
【0017】本願の請求項3の発明は、第1タグ、第2
タグ、有効ビットを夫々格納するタグエントリーを複数
有し、入力アドレスにより選択された第n番目のタグエ
ントリーの前記第1タグ、前記第2タグ、前記有効ビッ
トを、夫々第1タグ出力、第2タグ出力、有効信号とし
て出力し、第n+1番目のタグエントリーの前記第2タ
グを次第2タグ出力として出力するタグメモリと、前記
タグメモリの夫々のタグエントリーに対応したデータを
格納するデータエントリーを複数有するデータメモリ
と、前記タグメモリから出力される第1タグ出力、第2
タグ出力、有効信号に対して、前記入力アドレスで指示
される第1タグ、第2タグを参照し、参照結果に基づい
てキャッシュヒットの有無を検出してヒット信号を出力
するヒット検出手段と、前記タグメモリから出力される
次第2タグ出力に対して、前記入力アドレスで指示され
る第2タグを参照し、前記第n+1番目のタグエントリ
ーに対するキャッシュミスの有無を検出し、参照結果に
基づいて先行ミス信号を出力する先行ミス検出手段と、
分岐先アドレスと分岐予測ビットを格納する分岐予測エ
ントリーを複数有し、前記入力アドレスにより選択され
た前記分岐予測エントリーの分岐先アドレスと前記分岐
予測ビットを用いて分岐の発生を予測する分岐予測信号
を出力する分岐予測手段と、前記ヒット検出手段のヒッ
ト信号によりキャッシュヒットしなかったことが示され
ると、前記入力アドレスを用いて外部メモリ装置よりデ
ータを読み出し、前記読み出したデータを前記データメ
モリの第n番目のデータエントリーに格納し、前記タグ
メモリの第n番目のタグエントリーを更新すると共に、
前記先行ミス信号により前記第n+1番目のタグエント
リーに対するキャッシュミスが示され、且つ前記分岐予
測信号により分岐の発生が予測されない場合、前記入力
アドレスに対応する前記第n+1番目のタグエントリー
に対するアドレスを生成して出力し、前記外部メモリ装
置より前記第n+1番目のタグエントリーに対するデー
タを読み出して、第n+1番目のデータエントリーに格
納し、前記第n+1番目のタグエントリーを更新する置
換制御手段と、を具備することを特徴とするものであ
る。
【0018】本願の請求項4の発明は、第1タグ、第2
タグ、有効ビットを夫々格納するタグエントリーを複数
有し、入力アドレスにより選択された第n番目のタグエ
ントリーの前記第1タグ、前記第2タグ、前記有効ビッ
トを、夫々第1タグ出力、第2タグ出力、有効信号とし
て出力し、第n+1番目のタグエントリーの前記第2タ
グを次第2タグ出力として出力するタグメモリと、前記
タグメモリの夫々のタグエントリーに対応したデータを
格納するデータエントリーを複数有するデータメモリ
と、前記タグメモリから出力される第1タグ出力、第2
タグ出力、有効信号に対して、前記入力アドレスで指示
される第1タグ、第2タグを参照し、参照結果に基づい
てキャッシュヒットの有無を検出してヒット信号を出力
するヒット検出手段と、前記タグメモリから出力される
次第2タグ出力に対して、前記入力アドレスで指示され
る第2タグを参照し、前記第n+1番目のタグエントリ
ーに対するキャッシュミスの有無を検出し、参照結果に
基づいて先行ミス信号を出力する先行ミス検出手段と、
分岐先アドレスと分岐予測ビットを格納する分岐予測エ
ントリーを複数有し、前記入力アドレスにより選択され
た前記分岐予測エントリーの分岐先アドレスと前記分岐
予測ビットを用いて分岐の発生を予測する分岐予測信号
を出力する分岐予測手段と、前記ヒット検出手段のヒッ
ト信号によりキャッシュヒットしなかったことが示され
ると、前記入力アドレスを用いて外部メモリ装置よりデ
ータを読み出し、前記読み出したデータを前記データメ
モリの第n番目のデータエントリーに格納し、前記タグ
メモリの第n番目のタグエントリーを更新すると共に、
前記先行ミス信号により前記第n+1番目のタグエント
リーに対するキャッシュミスが示され、且つ前記分岐予
測手段の分岐予測信号により分岐の発生が予測されない
場合、前記入力アドレスに対応する前記第n+1番目の
タグエントリーに対するアドレスを生成してプリフェッ
チアドレスとして出力し、前記外部メモリ装置よりデー
タを読み出す置換制御手段と、前記先行ミス信号に応じ
て、前記置換制御手段が出力したプリフェッチアドレス
と前記外部メモリ装置より読み出されたデータとを格納
するプリフェッチエントリーを1つ又は複数有し、新た
な入力アドレスと前記プリフェッチエントリーに格納さ
れたアドレスとを比較し、アドレスが一致する場合プリ
フェッチヒット信号を出力すると共に、一致した前記プ
リフェッチエントリーのデータを出力するプリフェッチ
バッファと、を具備し、前記置換制御手段は、前記プリ
フェッチヒット信号が出力されると、前記プリフェッチ
バッファから出力されるデータを前記新たな入力アドレ
スで選択される前記データエントリーへ格納し、対応す
る前記タグエントリーのデータを更新することを特徴と
するものである。
【0019】本願の請求項5の発明は、第1タグ、第2
タグ、有効ビット、プリフェッチ禁止ビットを夫々格納
するタグエントリーを複数有し、入力アドレスにより選
択された第n番目のタグエントリーの前記第1タグ、前
記第2タグ、前記有効ビット、前記プリフェッチ禁止ビ
ットを、夫々第1タグ出力、第2タグ出力、有効信号、
プリフェッチ禁止信号として出力し、第n+1番目のタ
グエントリーの前記第2タグを次第2タグ出力として出
力するタグメモリと、前記タグメモリの夫々のタグエン
トリーに対応したデータを格納するデータエントリーを
複数有するデータメモリと、前記タグメモリから出力さ
れる第1タグ出力、第2タグ出力、有効信号に対して、
前記入力アドレスで指示される第1タグ、第2タグを参
照し、参照結果に基づいてキャッシュヒットの有無を検
出してヒット信号を出力するヒット検出手段と、前記タ
グメモリから出力される次第2タグ出力と前記プリフェ
ッチ禁止信号とに対して、前記入力アドレスで指示され
る第2タグを参照し、参照結果に基づいて前記第n+1
番目のタグエントリーに対するキャッシュミスの有無を
検出し、キャッシュミスが有り且つ前記プリフェッチ禁
止信号が偽であれば、先行ミス信号を真として出力し、
それ以外は先行ミス信号を偽として出力する先行ミス検
出手段と、前記ヒット信号によりキャッシュヒットしな
かったことが示されると、前記入力アドレスを用いて外
部メモリ装置よりデータを読み出し、前記読み出したデ
ータを前記データメモリの第n番目のデータエントリー
に格納し、前記タグメモリの第n番目のタグエントリー
を更新すると共に、前記先行ミス信号により前記第n+
1番目のタグエントリーに対するキャッシュミスが示さ
れると、前記入力アドレスに対応する前記第n+1番目
のタグエントリーに対するアドレスを生成してプリフェ
ッチアドレスとして出力し、前記外部メモリ装置よりデ
ータを読み出す置換制御手段と、前記先行ミス信号に応
じて、前記置換制御手段が出力した前記プリフェッチア
ドレスと前記外部メモリ装置より読み出されたデータと
を格納するプリフェッチエントリーを1つ又は複数有
し、新たな入力アドレスと前記プリフェッチエントリー
に格納されたプリフェッチアドレスとを比較し、アドレ
スが一致する場合プリフェッチヒット信号及び一致した
前記プリフェッチエントリーのデータを出力し、前記プ
リフェッチエントリーに格納されたデータが使用されず
に置き換えられる場合、プリフェッチ無効信号及び前記
置き換えられるデータのプリフェッチアドレスに対応す
るタグエントリーの1つ前の前記タグエントリーのアド
レスを無効アドレスとして出力するプリフェッチバッフ
ァと、具備し、前記置換制御手段は、前記プリフェッチ
ヒット信号が出力されると、前記プリフェッチバッファ
が出力するデータを新たな入力アドレスで選択される前
記データエントリーへ格納して、対応する前記タグエン
トリーのデータを更新すると共に、前記プリフェッチ無
効信号が与えられると、プリフェッチを禁止するように
前記プリフェッチバッファから出力される前記無効アド
レスで選択される前記タグエントリーのプリフェッチ禁
止ビットを真に設定することを特徴とするものである。
【0020】本願の請求項6の発明は、請求項5のキャ
ッシュメモリ装置において、前記キャッシュミスに対応
して前記タグエントリーを更新する場合、及び前記プリ
フェッチヒット信号に対応して前記タグエントリーを更
新する場合、プリフェッチを禁止しないように前記タグ
エントリーのプリフェッチ禁止ビットを偽に設定するこ
とを特徴とするものである。
【0021】本願の請求項7の発明は、タグ部、有効ビ
ット、次のタグエントリーに対するプリフェッチの許可
を示すプリフェッチ許可ビットを夫々格納するタグエン
トリーを複数有し、入力アドレスにより選択された第n
番目のタグエントリーの前記タグ部、前記有効ビット、
前記プリフェッチ許可ビットを、夫々タグ部出力、有効
信号、プリフェッチ要求信号として出力するタグメモリ
と、前記タグメモリの夫々のタグエントリーに対応した
データを格納するデータエントリーを複数有するデータ
メモリと、前記タグ部出力及び前記有効信号に対して、
前記入力アドレスのタグ部を参照し、参照結果に基づい
てキャッシュヒットの有無を検出してヒット信号を出力
するヒット検出手段と、前記ヒット検出手段のヒット信
号によりキャッシュがミスしたことが示されると、前記
入力アドレスを用いて外部メモリ装置よりデータを読み
出し、前記読み出したデータを前記データメモリの第n
番目のデータエントリーに格納し、前記タグメモリの第
n番目のタグエントリーを更新すると共に、前記プリフ
ェッチ要求信号により第n+1番目のタグエントリーに
対するプリフェッチが要求されると、前記入力アドレス
を用いて前記第n+1番目のタグエントリーに対するア
ドレスを生成してプリフェッチアドレスとして出力し、
前記外部メモリ装置よりデータを読み出す置換制御手段
と、前記プリフェッチ要求信号に応じて、前記置換制御
手段が出力した前記プリフェッチアドレスと前記外部メ
モリ装置より読み出されたデータとを格納するプリフェ
ッチエントリーを1つ又は複数有し、新たな入力アドレ
スと前記プリフェッチエントリーに格納されたプリフェ
ッチアドレスを比較し、アドレスが一致する場合プリフ
ェッチヒット信号及び一致した前記プリフェッチエント
リーのデータを出力し、前記プリフェッチエントリーに
格納されたデータが使用されずに置き換えられる場合、
プリフェッチ無効信号及び前記置き換えられるデータの
プリフェッチアドレスを無効アドレスとして出力するプ
リフェッチバッファと、を具備し、前記置換制御手段
は、前記プリフェッチヒット信号が出力されると、前記
プリフェッチバッファが出力するデータを新たな入力ア
ドレスで選択される前記データエントリーへ格納して、
対応する前記タグエントリーを更新すると共に、前記キ
ャッシュミスに対応して前記タグエントリーを更新する
場合、及び前記プリフェッチヒット信号により入力アド
レスに対応するタグエントリーを更新する場合、更に前
記入力アドレスに対応するタグエントリーの1つ前のタ
グエントリーの前記プリフェッチ許可ビットを更新する
ことを特徴とするものである。
【0022】本願の請求項8の発明は、請求項7のキャ
ッシュメモリ装置において、前記プリフェッチバッファ
は、前記プリフェッチエントリーに格納されたデータが
使用されずに置き換えられる場合、プリフェッチ無効信
号及び前記置き換えられるデータに対応するプリフェッ
チアドレスを無効アドレスとして出力し、前記置換制御
手段は、前記プリフェッチ無効信号が与えられると、前
記無効アドレスで選択される前記タグエントリーの1つ
前のタグエントリーのプリフェッチ許可ビットをプリフ
ェッチを要求しないように更新することを特徴とするも
のである。
【0023】
【発明の実施の形態】以下、本発明の各実施の形態にお
けるキャッシュメモリ装置について、図面を参照しつつ
説明する。 (実施の形態1)本発明の実施の形態1におけるキャッ
シュメモリ装置を用いた情報処理装置の全体構成を図1
に示す。この情報処理装置は、破線部で示すキャッシュ
メモリ装置1A、中央処理装置(CPU)2、外部メモ
リ装置3を含んで構成される。キャッシュメモリ装置1
Aは、タグメモリ20、データメモリ21、ヒット検出
回路22、先行ミス検出回路23、置換制御回路24、
プリフェッチバッファ25Aを有している。
【0024】タグメモリ20は複数のタグエントリー2
6を備え、各タグエントリー26には、第1タグ34、
第2タグ35、有効ビットV(有効ビット36)のデー
タ領域が設けられている。CPU2から与えられるアド
レス4の上位ビットは第1タグ34に格納され、次の上
位ビットは第2タグ35に格納され、そのエントリーが
有効であることを示す有効ビット36が有効ビットVの
領域に格納される。
【0025】データメモリ21は各タグエントリー26
に対応した複数のデータエントリー27を備えている。
ヒット検出回路22は、CPU2が出力するアドレス4
中の第1タグ31及び第2タグ32と、タグメモリ20
の第1タグ34(第1タグ出力)及び第2タグ35(第
2タグ出力)と、有効ビット36(有効信号)とを入力
し、キャッシュがヒットするか否かを検出し、ヒット信
号を出力する回路である。
【0026】先行ミス検出回路23はアクセスされたエ
ントリーの次のエントリーに対してキャッシュがミスす
るか否かを検出する回路である。即ち、現在アクセスさ
れたタグエントリーを第nエントリーとすると、アドレ
ス4の第2タグ32と、第n+1エントリーにおけるタ
グエントリー26の次第2タグ37(第2タグ出力)と
を入力し、その値が一致するかを調べ、不一致の場合は
先行ミス信号38を1として出力し、一致の場合は先行
ミス信号38を0として出力する。
【0027】置換制御回路24はキャッシュがミスした
場合に、必要なデータを外部メモリ装置3から読み出し
て、データメモリ21に書き込み、対応するタグエント
リー26を更新する回路である。プリフェッチバッファ
25Aは外部メモリ装置3から読み出されたデータを一
時的に保持するバッファである。図2はプリフェッチバ
ッファ25Aの内部構成図であり、複数のプリフェッチ
エントリー40a,40b,・・を有している。各プリ
フェッチエントリー40には、データ部41、アドレス
部42、比較部43が設けられている。データ部41は
外部メモリ装置3から読み出されたデータ8を格納する
領域である。アドレス部42はデータのアドレスを格納
する領域である。比較部43は対応するプリフェッチエ
ントリー40のアドレス部42の値と、CPU2から出
力されたアドレス4とを比較し、一致する場合はプリフ
ェッチヒット信号44を1として出力し、一致しない場
合はプリフェッチヒット信号44を0として出力するも
のである。
【0028】以上のように構成されたキャッシュメモリ
装置1Aにおいて、キャッシュの読み出し動作について
説明する。先ず、CPU2はアドレス4を出力して、キ
ャッシュメモリ装置1Aからデータの読み出しを要求す
る。アドレス4は上位ビットの第1タグ31と、次の上
位ビットの第2タグ32と、下位ビットのオフセット3
3とに分けられる。このオフセット33を用いてタグエ
ントリー26とデータエントリー27の各データが読み
出される。このとき、オフセット33で選択されたエン
トリーの次のエントリーの次第2タグ37も読み出され
る。例えばオフセット33によって、第nエントリーが
アクセスされるとすると、第nエントリーの第1タグ3
4と第2タグ35と有効ビット36とが読み出されると
同時に、次のエントリー、即ち第n+1エントリーの第
2タグが次第2タグ37として読み出される。
【0029】ヒット検出回路22は、読み出された第n
タグエントリー26の第1タグ34と、CPU2が出力
するアドレス4の第1タグ31とが一致し、且つ読み出
された第nエントリーの第2タグ35と、アドレス4の
第2タグ32とが一致し、しかも読み出された第nエン
トリーの有効ビットVが1である場合、キャッシュがヒ
ットしたとして、ヒット信号6を1として出力する。そ
れ以外の場合、即ちキャッシュがミスした場合、ヒット
検出回路22はヒット信号6を0として出力する。
【0030】タグエントリー26が読み出されると同時
に、データエントリー27が読み出される。ヒット信号
6によってキャッシュがヒットしたことが示されると
(ヒット信号6が1を示す)、読み出されたデータの
内、CPU2が必要とする部分のデータ5がCPU2に
転送される。ヒット信号6によってキャッシュがミスし
たことが示されると、置換制御回路24は、アドレス4
をアドレス7として出力して、外部メモリ装置3より必
要なデータを読み出す。データエントリー27のデータ
サイズが外部メモリ装置3から一度に読み出されるデー
タのサイズより大きい場合、置換制御回路24はアドレ
ス7を増加させながら、複数回に渡って外部メモリ装置
3のアクセスを行い、データを読み出す。
【0031】外部メモリ装置3よりデータ8が読み出さ
れると、置換制御回路24はそのデータをデータエント
リー27へ書き込み、同時にアドレス4の第1タグ31
と第2タグ32をタグエントリー26のタグ部に書き込
み、有効ビットVに1を書き込む。これと同時にアドレ
ス4に対応したデータをCPU2へ与える。
【0032】次にデータのプリフェッチ動作について説
明する。CPU2が出力するアドレス4によって、第n
エントリーがアクセスされるとき、同時に第n+1エン
トリーの第2タグが次第2タグ37として読み出され
る。先行ミス検出回路23は、読み出された次第2タグ
37と、アドレス4の第2タグ32とを比較し、2つの
タグが一致しない場合、第n+1エントリーがキャッシ
ュミスを生じる可能性があると推定し、先行ミス信号3
8を1として出力する。これを先行ミスと呼ぶ。
【0033】置換制御回路24は、先行ミス信号38に
よって第n+1エントリーに対する先行ミスが報知され
ると、ヒット信号6によって第nエントリーに対するキ
ャッシュヒットが示される場合はすぐに、キャッシュヒ
ットが示されない場合は、第nエントリーに対する外部
メモリ装置3の読み出しが完了した後に、アドレス4に
データエントリー27のサイズ分を加算した値を第n+
1エントリーのアドレスとしてアドレス7を出力する。
そして、第n+1エントリーに対する外部メモリ装置3
のデータを読み出し、プリフェッチを行う。
【0034】プリフェッチされた第n+1エントリーの
データは、一旦プリフェッチバッファ25A内のプリフ
ェッチエントリー40のデータ部41へ格納され、アド
レス7はプリフェッチエントリー40のアドレス部42
へ格納される。プリフェッチバッファ25Aが複数のプ
リフェッチエントリー40a,40b,・・を持つ場合
は、データを格納するための1つのプリフェッチエント
リー40が適当な方法で選択される。例えば図示してい
ないが、プリフェッチエントリー40を選択するための
カウンタを設け、データを格納する度にカウンタの値を
インクリメントすることで、順番にプリフェッチエント
リー40a,40b,・・を選択することができる。
【0035】次に、CPU2が第n+1エントリーのデ
ータを読み出す場合、タグメモリ20とデータメモリ2
7をアクセスすると同時に、アドレス4をプリフェッチ
バッファ25Aにも与える。プリフェッチバッファ25
A内の比較部43は、入力されたアドレス4とプリフェ
ッチエントリー40のアドレス部42とを比較する。ア
ドレス4と同じアドレスを保持するプリフェッチエント
リー40がある場合、比較部43はプリフェッチヒット
信号44を出力し、該当するプリフェッチエントリー4
0のデータ部41に保持されているデータを出力するよ
う指示する。
【0036】プリフェッチヒット信号44が出力される
と、置換制御回路24はプリフェッチエントリー40か
ら読み出されたデータ5を、アドレス4のオフセット3
3で選択される第n+1のデータエントリー27に格納
すると同時に、アドレス4の第1タグ31と第2タグ3
2を第n+1のタグエントリー26へ格納し、有効ビッ
トVに1を格納する。更にプリフェッチエントリー40
から出力されたデータ5はCPU2に出力される。
【0037】図3及び図4にタグメモリ20の具体的な
回路構成例を示す。図3に示すように、1つのタグエン
トリー26は2つのデータライン(1ポート)を有する
複数のメモリセル28(MC1)と、4つのデータライ
ン(2ポート)を有する複数のメモリセル29(MC
2)とで構成される。タグエントリー26の第2タグ3
5は2ポートの複数のメモリセル29を複数用いて構成
され、1つのポートは1つ前のタグエントリーのワード
ライン50に接続されている。タグエントリー26のデ
ータを読み出す場合、図3ではアドレスデコーダは図示
していないが、CPU2が出力するアドレス4のオフセ
ット33をデコードし、ワードライン50を駆動する。
【0038】例えば、アドレス4のオフセット33が図
3に示す第n番目のタグエントリー26を指定している
場合、第nワードライン50が駆動される。第nワード
ライン50は第nタグエントリーのメモリセル28,2
9に接続されると共に、第(n+1)タグエントリーの
第2タグのメモリセル29にも接続されている。従っ
て、第nワードライン50が駆動されると、第nエント
リーの第1タグ、第2タグ、及び有効ビットVが読み出
されると同時に、第(n+1)タグエントリーの第2タ
グも読み出される。読み出された値は図4に示すセンス
アンプSAで増幅され、夫々第1タグ34、第2タグ3
5、有効ビット36、次第2タグ37として出力され
る。
【0039】図6及び図7は本実施の形態におけるキャ
ッシュメモリ装置1Aの動作を示すタイミング図であ
る。図6はCPU2の動作サイクルC1〜C14を時間
軸として、アドレス4における第1タグ31、第2タグ
32、オフセット33の値と、タグメモリ20における
第1タグ34、第2タグ35の値の変化を示すタイミン
グ図である。図7はCPU2の動作サイクルC1〜C1
4を時間軸として、タグメモリ20における次第2タグ
37、ヒット検出回路22におけるヒット信号6、先行
ミス検出回路23における先行ミス信号38、データメ
モリ21又はプリフェッチバッファ25から出力される
データ5及びプリフェッチヒット信号44、置換制御回
路24から出力される外部アドレス7、外部メモリ装置
3から出力される外部データ8等を示すタイミング図で
ある。ここで、データ5及び外部データ8中の()の中
の数字は、データのアドレスの下位3桁(16進数)を
表すものとする。
【0040】図5に示すように、CPU2のアドレス4
は32ビット幅を有し、アドレスのビット31〜ビット
20は第1タグ31であり、ビット19〜ビット12は
第2タグ32である。ビット11〜ビット0はオフセッ
ト33である。1つのデータエントリー27に格納され
るデータのサイズを128ビット、即ち16バイトとす
ると、オフセット33のうちの最下位4ビット、即ちビ
ット3〜ビット0は、データエントリー27のうちの必
要なデータの位置を示す働きをする。オフセット33の
うちのビット11〜ビット4は、タグエントリー26と
データエントリー27の選択に用いられる。
【0041】例えば、アドレス0x20001100で選択される
タグエントリー26及びデータエントリー27は第0x10
番目、即ち第16番目のエントリーである。アドレス0x
20001110、0x20001120、0x20001130で選択されるタグエ
ントリー26及びデータエントリー27は、夫々第17
番目、第18番目、第19番目のエントリーである。
【0042】図5に示すように現在は、第16番目のタ
グエントリー26の第1タグ34、第2タグ35、有効
ビット36には、0x200 、0x01、1 が夫々格納されてい
る。また第17番目のタグエントリー26の第1タグ3
4、第2タグ35、有効ビット36には、0x200 、0x0
1、1 が夫々格納されている。第18番目のタグエント
リー26の第1タグ34、第2タグ35、有効ビット3
6には、0x200 、0x03、1 が夫々格納されている。更に
第19番目のタグエントリー26の第1タグ34、第2
タグ35、有効ビット36には、0x200 、0x04、1 が夫
々格納されている。
【0043】図6に示すように、サイクルC1にCPU
2からアドレス4として0x20001100が出力され、キャッ
シュの読み出しが要求される。このアドレス4の第1タ
グ31は0x200 、第2タグ32は0x01、オフセット33
は0x100 である。このオフセット33によって図5に示
す第16番目のタグエントリー26が読み出される。読
み出された第1タグ34は0x200 、第2タグ35は0x0
1、有効ビット36は1であり、この第1タグ34及び
第2タグ35はアドレス4の第1タグ31及び第2タグ
32と一致する。このためキャッシュがヒットしたこと
を示すヒット信号6として1が出力される。これと同時
に第17番目のタグエントリー26の第2タグ37の値
として0x01が読み出され、これは、アドレス4の第2タ
グ32の値と一致するので、第17番目のタグエントリ
ー26はキャッシュヒットとなる可能性が大と判断さ
れ、先行ミス信号38として0が出力される。
【0044】ヒット信号6に1が出力されると、データ
エントリー27から読み出されたデータ5は図1のCP
U2へ与えられる。また現在は、ヒット信号5が1であ
り、先行ミス信号が0であるので、置換制御回路24は
外部メモリ装置3のアクセスを行わない。CPU2は3
2ビットのデータ5を受取り、以降は4ずつアドレス4
を増加させて、データの読み出しを要求する。図6及び
図7に示すように、0x20001104番地、0x20001108番地、
0x2000110c番地の読み出し要求に対して、同様にヒット
信号6が1となり、先行ミス信号38が0となる。
【0045】図6のサイクルC5で、CPU2が0x2000
1110番地の読み出しを要求すると、オフセット33の値
0x110 によって第17番地のタグエントリー26が読み
出される。このタグエントリー26の第1タグは0x200
、第2タグは0x01、有効ビットは1であり、この第1
タグ34及び第2タグ35はCPU2のアドレス4の第
1タグ31及び第2タグ32と一致する。このためキャ
ッシュヒットのヒット信号6として1が出力される。こ
れと同時に第18番目のタグエントリー26の次第2タ
グ37が読み出される。読み出された値は0x03であり、
アドレス4の第2タグ32の値0x01と異なるので、後続
の読み出しでキャッシュミスが生じる可能性が大と判断
され、図7に示すように先行ミス信号38として1が出
力される。
【0046】現在はヒット信号6が1であるので、読み
出されたデータエントリー27のうちの必要な部分のデ
ータ5がCPU2へ与えられる。これと同時に、先行ミ
ス信号38が1であるので、置換制御回路24はアドレ
ス4の値0x20001110に0x10を加算して、次のデータエン
トリー27に対するアドレス4を生成して、外部メモリ
装置3より0x20001120番地のデータ8を読み出す。外部
メモリ装置3のデータ8のサイズは32ビットであるの
で、128ビットのデータエントリー分を外部メモリ装
置3から読み出すために、アドレスを4ずつ増加させな
がら、4回連続して外部メモリ装置3よりデータを読み
出す。
【0047】読み出されたデータ8はアドレスと一緒
に、プリフェッチバッファ25のプリフェッチエントリ
ー40へ格納される。図6及び図7に示すように、0x20
001114番地、0x20001118番地、0x2000111c番地の読み出
し要求に対して、同様にヒット信号が1となり、読み出
されたデータ5がCPU2へ与えられる。図6におい
て、次にサイクルC9でCPU2が0x20001120番地の読
み出しを要求すると、第18番目のタグエントリー26
が読み出される。第18番目のタグエントリー26の第
1タグ34、第2タグ35、有効ビット36は夫々0x20
0 、0x03、1 であり、アドレス4の第2タグ32である
0x01と一致しない。このためキャッシュミスが生じたと
判断され、ヒット信号6として0が出力される。同時に
アドレス4の値0x20001120と、プリフェッチバッファ2
5Aのプリフェッチエントリー40に格納されているア
ドレス42を比較すると一致するので、プリフェッチヒ
ット信号44として1が出力される。このとき、必要な
データが既に外部メモリ装置3より読み出され、プリフ
ェッチバッファ25Aに格納されているので、プリフェ
ッチバッファ25Aのデータ5が読み出される。
【0048】読み出されたデータ5はCPU2へ与えら
れると同時に、キャッシュメモリ装置1Aの18番目の
データエントリー27へ格納される。これと同時に18
番目のタグエントリー26の第1タグ34、第2タグ3
5には、夫々CPU2が出力したアドレス4の第1タグ
31及び第2タグ32、即ち0x200 及び0x01が格納され
る。このときは、まだデータエントリー27に全てのデ
ータが格納されていないので、有効ビットVには0が格
納される。有効ビットVには、データエントリー27に
全てデータが格納されたときに1が格納される。CPU
2からの後続のアドレス4である0x20001124、0x200011
28、0x2000112cについても、プリフェッチヒットとし
て、図7に示すように外部メモリ装置3からデータ8が
読み出されると、すぐにそのデータはCPU2へ転送さ
れ、同時にキャッシュメモリ装置1Aのデータエントリ
ー27へ格納される。
【0049】また、0x20001120番地の読み出しが行われ
たとき、第19番目のタグエントリー26の次第2タグ
37の値として0x04が読み出されるが、0x20001120の第
2タグ32の値0x01と一致しないので、先行ミス信号3
8として再び1が出力される。このとき、置換制御回路
24は外部メモリ装置3から第18番目のエントリーに
対するデータの読み出しを行っているので、第18番目
のエントリーに対する4回の外部メモリ装置3の読み出
しが完了した後に、直ちに第19番目のエントリーに対
するデータ、即ち0x20001130番地のデータ8が外部メモ
リ装置3より読み出される。
【0050】このように、アドレス4で指定されるタグ
エントリー26の読み出しと同時に、その次のエントリ
ーの次第2タグ37が読み出されるので、次のエントリ
ーに対するキャッシュのヒットの可能性を予め調べるこ
とができる。即ちCPU2がデータを要求する前に、外
部メモリ装置3よりデータを読み出すことができるの
で、キャッシュミスによるデータの待ち時間を少なくす
ることができ、情報処理装置としての性能向上を図るこ
とができる。
【0051】ここでは第2タグはアドレス4のタグ部で
あるビット31〜ビット12のうちの一部としているの
で、先行ミス信号38の生成において、次エントリーの
次第2タグ37とアドレス4の第2タグ32が一致して
先行ミス信号が0となっても、次エントリーの次第1タ
グとアドレス4の第1タグが一致しなければ、実際には
キャッシュミスが生じてしまう恐れがある。この場合に
は、外部メモリ装置3から予めデータを読み出すことは
できないが、キャッシュミスの発生により後から外部メ
モリ装置3からデータを読み出すことになるので、デー
タのアクセスとしての誤動作は生じない。このような可
能性は第2タグのビット数が少ない程大きくなるが、一
方、回路規模が小さくなるという長所が得られる。従っ
て第2タグのビット数は、情報処理装置の性能と回路規
模を基に任意に設定すれば良い。またアドレス4のタグ
部の全てを第2タグとしても構わない。
【0052】また、先行ミス信号38が1になって置換
制御回路24が外部メモリ装置3からデータを読み出し
ても、CPU2がそのデータをすぐに要求しないことも
起こり得る。この場合は、プリフェッチバッファ25A
にそのデータが保持され、後にCPU2が要求したとき
に出力される。
【0053】このように、すぐに使わないデータのキャ
ッシュメモリ装置への格納を避けることができるので、
キャッシュメモリ装置を有効に使用することができ、性
能向上を図ることができる。またプリフェッチバッファ
25Aに複数のプリフェッチエントリー40を備えるこ
とにより、すぐには使われなかったデータを保持したま
ま、新たな先行ミスに対する外部メモリ装置3からのプ
リフェッチを行うことができ、プリフェッチしたデータ
を有効に使うことができる。
【0054】尚、プリフェッチバッファ25Aは必ずし
も設けなくてもよい。この場合は、置換制御手段24
は、ヒット検出回路22のヒット信号6によりキャッシ
ュヒットしなかったことが示されると、アドレス4を用
いて外部メモリ装置3よりデータを読み出し、読み出し
たデータをデータメモリ21の第n番目のデータエント
リー27に格納し、タグメモリ20の第n番目のタグエ
ントリー26を更新する。また、先行ミス信号38によ
り第n+1番目のタグエントリー26に対するキャッシ
ュミスが示されると、置換制御手段24はアドレス4を
用いて第n+1番目のタグエントリーに対するアドレス
を生成して出力し、外部メモリ装置3より第n+1番目
のタグエントリーに対するデータを読み出して、第n+
1番目のデータエントリー27に格納し、第n+1番目
のタグエントリーを更新するものとする。
【0055】(実施の形態2)次に本発明の実施の形態
2におけるキャッシュメモリ装置について、図面を参照
しつつ説明する。図8は本実施の形態におけるキャッシ
ュメモリ装置を用いた情報処理装置の全体構成図であ
り、実施の形態1と同一部分は同一の符号を付け、構成
説明と動作説明は省略する。この情報処理装置は、破線
部で示すキャッシュメモリ装置1B、中央処理装置(C
PU)2、外部メモリ装置3を含んで構成される。キャ
ッシュメモリ装置1Bは、タグメモリ20、データメモ
リ21、ヒット検出回路22、先行ミス検出回路23、
置換制御回路24、プリフェッチバッファ25Aに加え
て、分岐予測回路55を有している。図9は分岐予測回
路55の構成図である。
【0056】CPU2の命令(コマンド)を格納するた
めに実施の形態1のキャッシュメモリ装置1Aを用いた
場合、プログラムの分岐が生じたときには、先行ミスに
よりプリフェッチしたデータ、即ち命令がすぐには使用
されない可能性が高くなる。無駄なプリフェッチによ
り、外部メモリ装置3をアクセスするためにバスの使用
効率が悪くなり、情報処理装置の性能が低下する。これ
を解決するため、本実施の形態のキャッシュメモリ装置
1Bでは、分岐予測回路55を備えることを特徴とす
る。
【0057】図9に示すように分岐予測回路55は複数
の分岐エントリー56を備える。夫々の分岐エントリー
56には分岐先アドレスTAと分岐予測ビットPを格納
する領域が設けられている。CPU2から、命令の読み
出しのためのアドレス4が出力されると、このアドレス
4は図8のタグメモリ20とデータメモリ21へ与えら
れ共に、分岐予測回路55へも与えられる。そしてこの
アドレス4を用いてデータの読み出しが行われると同時
に、アドレス4に対応する分岐エントリー56が選択さ
れる。読み出された分岐予測ビットPにより、与えられ
たアドレス4の命令において分岐を発生することが予測
された場合には、分岐予測回路55より分岐先アドレス
57と分岐予測信号58が出力される。
【0058】分岐予測信号58が出力されると、CPU
2は分岐命令の実行によって分岐先アドレスと分岐条件
が確定していなくても、分岐予測回路55が出力する分
岐先アドレス57を用いて分岐先の命令をデータメモリ
21又は外部メモリ装置3から読み出すようにしてい
る。こうすることにより、分岐の確定が遅いことによる
情報処理装置の性能低下を防ぐことができる。尚、分岐
予測が間違った場合は、読み出された分岐先の命令は実
行されない。確定した分岐成立の有無の結果は、分岐エ
ントリー56の分岐予測ビットPの更新に用いられる。
また、分岐エントリー56に格納されていない分岐の実
行に対しては、分岐命令のアドレスに対応した分岐エン
トリー56に分岐先アドレスが新たに格納され、分岐予
測ビットPに適当な値が設定される。分岐予測信号58
はCPU2と同時に置換制御回路24にも与えられる。
置換制御回路24はCPU2が出力するアドレス4に対
する先行ミス信号38が1であっても、分岐予測信号5
8によって分岐することが予測された場合、アドレス4
の次のエントリーに対するプリフェッチを行わない。
【0059】このように分岐予測回路55を備え、分岐
の予測結果によりプリフェッチの動作を制御することに
より、プログラムに分岐が生じる場合、分岐命令の後続
のエントリーにデータを保持し、すぐには使わない可能
性が高いデータのプリフェッチを抑制することができ
る。このことによって外部メモリ装置3の無駄なアクセ
スを減らすことができ、キャッシュメモリ装置1Bの使
用効率を向上させ、情報処理装置としての性能向上を図
ることができる。
【0060】尚、本実施の形態においても、プリフェッ
チバッファ25Aを必ずしも設けなくてもよい。この場
合は、置換制御手段24は、ヒット検出回路22のヒッ
ト信号によりキャッシュヒットしなかったことが示され
ると、アドレス4を用いて外部メモリ装置3よりデータ
を読み出し、読み出したデータをデータメモリ21の第
n番目のデータエントリー27に格納し、タグメモリ2
0の第n番目のタグエントリ26ーを更新する。そして
置換制御手段24は先行ミス信号38により第n+1番
目のタグエントリーに対するキャッシュミスが示され、
且つ分岐予測信号58により分岐の発生が予測されない
場合、アドレス4を用いて第n+1番目のタグエントリ
ー26に対するアドレスを生成して出力し、外部メモリ
装置3より第n+1番目のタグエントリーに対するデー
タを読み出して、第n+1番目のデータエントリー27
に格納し、第n+1番目のタグエントリーのデータを更
新するものとする。
【0061】(実施の形態3)次に本発明の実施の形態
3におけるキャッシュメモリ装置について、図面を参照
しつつ説明する。図10は本実施の形態におけるキャッ
シュメモリ装置を用いた情報処理装置の全体構成図であ
り、実施の形態1と同一部分は同一の符号を付け、構成
説明と動作説明は省略する。この情報処理装置は、破線
部で示すキャッシュメモリ装置1C、中央処理装置(C
PU)2、外部メモリ装置3を含んで構成される。キャ
ッシュメモリ装置1Cは、タグ部メモリ20、データメ
モリ21、ヒット検出回路22、先行ミス検出回路2
3、置換制御回路24、プリフェッチバッファ25C、
選択回路61を有している。図11はプリフェッチバッ
ファ25Cの構成図である。
【0062】以下では、実施の形態1のキャッシュメモ
リ装置1Aと本実施の形態のキャッシュメモリ装置1C
との違いについて説明する。図10に示す各タグエント
リー26は、図1に示される第1タグ34、第2タグ3
5、有効ビットV36の他に、プリフェッチ禁止ビット
PIのデータ領域を有する。プリフェッチ禁止ビットP
Iが1(真)の場合は、そのエントリーの次のエントリ
ーに対するプリフェッチが禁止されていることを示すプ
リフェッチ禁止信号が出力され、0(偽)の場合はプリ
フェッチが禁止されていないことを示す信号が出力され
る。キャッシュヒットの検出方法は図1に示すキャッシ
ュメモリ装置1Aと同様である。図10においても、図
1の場合と同様にアドレス4のオフセット33によって
第n番目のタグエントリー26が選択されると、同時に
第n+1番目のタグエントリー26の第2タグが次第2
タグ37として読み出される。
【0063】先行ミス検出回路23は、アドレス4の第
2タグ32と次第2タグ37とが異なり、且つプリフェ
ッチ禁止ビット60が0であれば、先行ミス信号38に
1を出力して第n+1エントリーに対するプリフェッチ
の要求を行う。アドレス4の第2タグ32と次第2タグ
37とが一致するか、又はプリフェッチ禁止ビット60
が1の場合は、先行ミス信号38として0を出力し、プ
リフェッチの要求を行わない。先行ミス信号38によっ
てプリフェッチの要求が行われると、置換制御回路24
は実施の形態1の場合と同様に、アドレス4にデータエ
ントリー27のサイズ分を加算して、次のエントリーに
対するアドレス7を算出し、外部メモリ装置3へ出力し
てデータの読み出しを行う。
【0064】外部メモリ装置3から読み出されたデータ
8は、そのアドレス7と一緒に図11に示すプリフェッ
チバッファ25Cのプリフェッチエントリー40に格納
される。その後、CPU2のデータの読み出し要求に対
し、アドレス4がプリフェッチエントリー40に格納さ
れているアドレス42と一致すると、プリフェッチバッ
ファ25Cはプリフェッチヒット信号44と対応するデ
ータとを出力する。
【0065】置換制御回路24はプリフェッチヒット信
号44を受け取ると、制御信号74を選択回路61に出
力する。また置換制御回路24はプリフェッチバッファ
25から出力されるデータを、アドレス4のオフセット
33で選択されるデータエントリー27に格納し、更に
対応するタグエントリー26にアドレス4の第1タグ3
1と第2タグ32とを格納し、有効ビットVを1にし、
プリフェッチ禁止ビットPIを0に設定する。これと同
時に、プリフェッチバッファ25Cから出力されたデー
タ5はCPU2へ転送される。
【0066】プリフェッチとして外部メモリ装置3から
読み出され、プリフェッチバッファ25に格納されたデ
ータがCPU2からすぐに要求されず、新たなプリフェ
ッチが発生したとする。この場合、新たなプリフェッチ
によるデータもプリフェッチバッファ25Cに格納され
るが、プリフェッチエントリー40が不足すると、複数
のプリフェッチエントリー40の内、最も古いデータの
エントリーが新たなプリフェッチのデータで書き換えら
れる。この場合、置き換えられたデータのプリフェッチ
は効果が無かったと見なすことができる。そこで、以降
はこのデータが再びプリフェッチされることが抑止され
ると、外部メモリ装置3をアクセスするバスの有効利用
の点で有益となる。
【0067】新たなプリフェッチにより、プリフェッチ
エントリー40の書き換えが生じると、プリフェッチバ
ッファ25Cは置換制御回路24に対してプリフェッチ
無効信号76を出力する。そして減算器62は置き換え
られるデータのアドレス42からデータエントリーのデ
ータサイズ分を減算して、そのデータの1つ前のタグエ
ントリーのアドレス63を生成し、選択回路61に出力
する。
【0068】置換制御回路24はプリフェッチ無効信号
76が与えられると、選択回路61を介して減算器62
から出力されたアドレス63をタグメモリ20に与え、
アドレス63のオフセット部を用いて選択されるタグエ
ントリー26のプリフェッチ禁止ビットPIを1に設定
する。以後、このタグエントリーが読み出されると、プ
リフェッチ禁止ビットPIが1であるので、先行ミス検
出回路23は先行ミス信号38として0を出力し、プリ
フェッチの要求を行わない。尚、キャッシュミス及びプ
リフェッチヒットによりタグエントリー26が更新され
る場合、そのタグエントリー26のプリフェッチ禁止ビ
ットPIは0に設定される。
【0069】このように、タグエントリー26にプリフ
ェッチ禁止ビットPIを設け、プリフェッチされたデー
タがCPU2から要求されずに、新たなプリフェッチに
よってデータが書き換えられると、書き換えられるデー
タの1つ前のタグエントリー36のプリフェッチ禁止ビ
ットPIを1に設定することによって、不要なプリフェ
ッチの発生を禁止する。こうすると、外部メモリ装置3
の効率的なアクセスが実現でき、情報処理装置の性能を
向上することができる。
【0070】(実施の形態4)次に本発明の実施の形態
4におけるキャッシュメモリ装置について、図面を参照
しつつ説明する。図12は本実施の形態におけるキャッ
シュメモリ装置を用いた情報処理装置の全体構成であ
り、実施の形態1と同一部分は同一の符号を付け、構成
説明と動作説明は省略する。この情報処理装置は、破線
部で示すキャッシュメモリ装置1D、中央処理装置(C
PU)2、外部メモリ装置3を含んで構成される。キャ
ッシュメモリ装置1Dは、タグメモリ20、データメモ
リ21、ヒット検出回路22、先行ミス検出回路23、
置換制御回路24、プリフェッチバッファ25A、アド
レス制御回路73を有している。プリフェッチバッファ
25Aの構成は図2に示すものと同一である。
【0071】以下では、従来例のキャッシュメモリ装置
101と本実施の形態のキャッシュメモリ装置1Dとの
違いについて説明する。タグメモリ20は、図3に示す
回路において、第1タグで用いられるメモリセルMC1
のみを用いてタグ部70が構成される。即ちタグ部のビ
ット幅を20ビットとすると、構成の簡単な1ポートの
メモリセルMC1が用いられる。従って本実施の形態の
キャッシュメモリ装置1Dは、次第2タグを用いた先行
ミス検出機能は持たないことになる。
【0072】各タグエントリー26は上記のようなタグ
部71、有効ビット36の他に、プリフェッチ許可ビッ
トPEのデータ領域を有する。タグ部71から出力され
た信号をタグ出力と呼び、有効ビットVから出力された
信号を有効信号と呼ぶ。またプリフェッチ許可ビットP
Eから出力された1の信号をプリフェッチ要求信号と呼
び、0の信号をプリフェッチ無効信号と呼ぶ。プリフェ
ッチ許可ビットPE(プリフェッチ許可信号72)が1
の場合は、そのエントリーの次のエントリーに対するプ
リフェッチが許可されていることを示し、0の場合はプ
リフェッチが許可されていないことを示す。初期状態で
は各タグエントリー26のプリフェッチ許可ビットPE
は1に設定されている。
【0073】CPU2がアドレス4を出力してキャッシ
ュメモリ装置1Dにデータの読み出しを要求すると、ア
ドレス制御回路73を介し、アドレス4のオフセット3
3を用いてタグエントリー26とデータエントリー27
のデータが読み出される。ヒット検出回路22は、選択
されたタグエントリー26から読み出されたタグ部71
と、アドレス4のタグ部70が一致し、且つ読み出され
た有効ビット36が1であると、キャッシュヒットが生
じたとして、ヒット信号6として1を出力する。そして
データメモリ21の特定のデータエントリー27から読
み出されたデータ5をCPU2へ転送する。このとき選
択されたタグエントリー26のプリフェッチ許可ビット
PEがプリフェッチ要求信号72として出力される。こ
のプリフェッチ要求信号72が1であると、置換制御回
路24は次のエントリーに対するプリフェッチを行う。
【0074】置換制御回路24はCPU2が出力するア
ドレス4にデータエントリー27のサイズ分を加算し
て、次のエントリーのアドレス7を生成して外部メモリ
装置3へ出力し、データの読み出しを行う。読み出され
たデータ8は、そのアドレス7と一緒にプリフェッチバ
ッファ25Aが有する複数のプリフェッチエントリー4
0の1つに格納される。その後のCPU2からの読み出
し要求に対して、プリフェッチバッファ25Aはアドレ
ス4とプリフェッチエントリー40に格納されているア
ドレス42とを比較部43によって比較する。
【0075】CPU2からの読み出し要求に対して、キ
ャッシュがヒットした場合は、データメモリ21のデー
タエントリー27のデータがCPU2へ出力される。キ
ャッシュがミスし、且つプリフェッチエントリーのアド
レス42とCPU2が出力するアドレス4が一致する場
合、プリフェッチヒットが生じたとして、プリフェッチ
バッファ25Aはプリフェッチヒット信号44を出力
し、対応するデータをCPU2に与える。
【0076】プリフェッチヒット信号44が与えられる
と、置換制御回路24は制御信号74を出力して、プリ
フェッチバッファ25Aから読み出されたデータ5をデ
ータエントリー27へ格納する。更にこのとき、対応す
るタグエントリー26のタグ部71に対してアドレス4
のタグ部70を格納し、有効ビットVには1を、プリフ
ェッチ許可ビットPEには1を格納する。更にアドレス
制御回路73はアドレス4からデータエントリーのサイ
ズ分を減算することで、1つ前のタグエントリーのアド
レスを生成して1つ前のタグエントリーを選択して、そ
のプリフェッチ許可ビットPEとして0を格納する。プ
リフェッチヒットが生じて、プリフェッチバッファ25
Aから読み出し、データを格納したエントリーを第n番
目のエントリーとすると、この後、第n−1番目のエン
トリーへのアクセスに対して、第n番目のエントリーに
対するプリフェッチを行わないようにする。
【0077】第n番目のエントリーに対してキャッシュ
がミスし、プリフェッチバッファ25Aがミスした場
合、置換制御回路24はアドレス4を用いて外部メモリ
装置3よりデータを読み出し、読み出されたデータ5を
CPU2へ出力する。これと同時に、置換制御回路24
はこのデータ5を第n番目のデータエントリー27へ格
納すると共に、第n番目のタグエントリー26のタグ部
71にアドレス4のタグ部70を格納し、有効ビットV
を1に、プリフェッチ許可ビットPEを1に設定する。
更にアドレス制御回路73は、アドレス4からデータエ
ントリーのサイズ分を減算することで、1つ前のタグエ
ントリー26のアドレスを生成して、第n−1番目のタ
グエントリーをアクセスし、そのプリフェッチ許可ビッ
トPEを1に設定する。
【0078】尚、第n−1番目のタグエントリーのプリ
フェッチ許可ビットPEに常に1を格納するのではな
く、第n−1番目のタグエントリーのタグ部71がアド
レス4のタグ部70と異なる場合のみプリフェッチ許可
ビットPEに1を格納し、それ以外は0を格納するとし
てもよい。
【0079】プリフェッチとして外部メモリ装置3から
読み出され、プリフェッチバッファ25Aに格納された
データがCPU2からすぐに要求されず、新たなプリフ
ェッチに対してプリフェッチエントリー40が不足し
て、最も古いデータのエントリーが書き換えられる場
合、最初に書き換えられたデータのプリフェッチは効果
が無かったと見なすことができる。そこで、新たなプリ
フェッチにより、プリフェッチエントリー40の書き換
えが生じると、プリフェッチバッファ25Aは置換制御
回路24に対してプリフェッチ無効信号76を出力し、
置き換えられるデータのアドレス75を出力する。
【0080】置換制御回路24は、プリフェッチ無効信
号76が与えられると、アドレス制御回路73でアドレ
ス75からデータエントリー21のデータサイズ分を減
算して、そのデータの1つ前のエントリーのアドレスを
生成して出力する。そして置換制御回路24はタグエン
トリー26を選択してそのエントリーのプリフェッチ許
可ビットPEを0に設定する。以後、このタグエントリ
ー26が読み出されると、プリフェッチ要求信号72が
0であるので(プリフェッチ許可ビットPE=0)、置
換制御回路24はプリフェッチを行わない。
【0081】図13及び図14は、本実施の形態による
キャッシュメモリ装置1Dにおいて、タグエントリー2
6のアクセス及び更新の仕方を具体的に示した説明図で
ある。図13(a)に示すように、CPU2から出力さ
れるアドレス4を32ビット幅とし、そのうちタグ部は
ビット31〜ビット12、オフセットはビット11〜ビ
ット0とする。また、第n番目のタグエントリー26の
タグ部70をタグ部(n)とし、プリフェッチ許可ビッ
ト72をPE(n)とし、有効ビットをV(n)とす
る。
【0082】図13の場合について説明する。タグエン
トリー26には図13(b)に示されるような値が格納
されている。まず、動作(1)として、第n番目のエン
トリーがアクセスされる。ここでアドレス4のタグ部は
0x20003 とする。これに対し、第n−1番目〜第n+1
番目のタグエントリーのタグ部は0x20001 であるので、
キャッシュミスを生じる。このキャッシュミスに対し、
外部メモリ装置3からデータ8が読み出され、第n番目
のエントリーにそのデータが格納される。このとき、第
n番目のタグエントリーのタグ部(n)には0x20003 が
格納され、PE(n)には1が格納され、V(n)には
1が格納される。更に第n−1番目のタグエントリーの
PE(n−1)には1が格納される。
【0083】次に、動作(2)として、第n番目のエン
トリーがアクセスされ、アドレス4のタグ部は0x20003
となっている。また前述した動作(1)で外部メモリ装
置3からデータが読み出され、既にキャッシュメモリ装
置1Dへデータが格納されているので、ここではキャッ
シュヒットを生じる。このとき、PE(n)は1である
ので、第n+1番目のエントリーに対して、キャッシュ
ミスを生じる可能性があり、即ち先行ミスが示される。
このため第n+1番目のエントリーに対してプリフェッ
チが行われる。そして、読み出されたデータはプリフェ
ッチバッファ25Aに格納される。
【0084】動作(3)では、第n+1番目のエントリ
ーに対して再度アクセスされる。これに対し、アドレス
4のタグ部は0x20003 であるのでキャッシュミスが生じ
るが、プリフェッチバッファ25Aに格納されているエ
ントリーと同じであるので、プリフェッチヒットが生
じ、プリフェッチバッファ25Aからデータが出力され
て、データメモリ21にデータが格納される。このと
き、タグ部(n+1)には0x20003 が格納され、PE
(n+1)には1が格納され、V(n+1)には1が格
納される。さらに、PE(n)には0が格納される。
【0085】動作(4)では、第n+1番目のタグエン
トリーに対して再度アクセスされる。一方、第n+2番
目のエントリーに対する先行ミスが生じるので、プリフ
ェッチされる。
【0086】動作(5)では、第n+2番目のエントリ
ーのアクセスに対し、アドレス4のタグ部70は0x2000
3 であるので、キャッシュヒットを生じる。プリフェッ
チされたデータはすぐには使われなく、プリフェッチバ
ッファ25Aに保持される。また第n+3番目のエント
リーに対してプリフェッチが禁止されている。こうして
動作(5)が終わった時点で、タグエントリーの値を図
13(c)に示す。
【0087】次に図14の場合について説明する。ここ
では図14(a)に示すように、動作(1)として、第
n番目のエントリーがアクセスされる。ここでアドレス
4のタグ部は0x20002 とする。これに対し、第n−1番
目、第n番目のタグエントリーのタグ部は0x20002 であ
るので、キャッシュヒットが生じる。また第n+1番目
のエントリーに対するプリフェッチが行われる。
【0088】動作(2)では、第n+1番目のエントリ
ーがアクセスされ、アドレス4のタグ部は0x20005 とす
る。ここでは第n+1番目のエントリーに対してキャッ
シュミスが生じる。このキャッシュミスに対し、外部メ
モリ装置3からデータ8が読み出され、第n+1番目の
エントリーにそのデータが格納される。このとき、第n
+1番目のタグエントリーのタグ部(n+1)には0x20
005 が格納され、PE(n+1)には1が格納され、V
(n+1)には1が格納される。
【0089】動作(3)では、第n+1番目のエントリ
ーが再度アクセスされる。アドレス4のタグ部は0x2000
5 であり、タグ部(n+1)には0x20005 が格納されて
いるので、第n+1番目のエントリーに対してキャッシ
ュヒットとなる。PE(n+1)が1であるので、第n
+2番目のエントリーに対してプリフェッチが行われ
る。
【0090】動作(4)では、第n+2番目のエントリ
ーがアクセスされる。アドレス4のタグ部は0x20004 と
すると、タグ部(n+2)には0x20004 が格納されてい
るので、第n+2番目のエントリーに対してキャッシュ
ヒットとなる。またPE(n+2)が1であるので、第
n+3番目のエントリーに対してプリフェッチが行われ
る。このためプリフェッチバッファ25Aのデータが書
き換えられ、第n+1番目のエントリーに対するPE
(n)には0が格納される。
【0091】動作(5)では、第n+3番目のエントリ
ーがアクセスされる。アドレス4のタグ部は0x20004 と
すると、第n+3番目のエントリーに対してプリフェッ
チヒットとなる。そしてタグ部(n+3)には0x20002
に代わって0x20004 が書き換えられる。またPE(n+
3)には1が格納され、V(n+3)には1が格納され
る。そしてPE(n+2)には0が格納される。以上の
結果、動作(5)の終了後の状態は図14(b)のよう
になる。
【0092】このように動作(1)、動作(3)、動作
(4)で先行ミスを生じ、プリフェッチが行われるが、
動作(1)でプリフェッチしたデータは使われず、プリ
フェッチバッファ25Aに保持されたままである。この
例では、プリフェッチバッファ25Aが有するプリフェ
ッチエントリー40は2つしか設けられていないので、
動作(1)のときのプリフェッチのデータは、動作
(4)で行ったプリフェッチのデータで置き換えられ
る。動作(1)のときのプリフェッチは第n+1番目の
エントリーに対するもので、プリフェッチエントリーの
値が書き換えられる前に、保持されているアドレスを用
いて、第n番目のタグエントリーがアクセスされ、図1
4(b)に示すようにPE(n)に0が設定される。
【0093】このように、タグエントリー26に、次の
エントリーに対してプリフェッチを行うかどうかを示す
プリフェッチ許可ビットPEを備えることにより、プリ
フェッチが指示されると、CPU2から要求される前に
外部メモリ装置3の読み出しを開始することができる。
このため、情報処理装置としての性能向上を図ることが
できる。
【0094】また、プリフェッチされたデータをキャッ
シュメモリ装置1Dに格納するときに、対応するタグエ
ントリー26のプリフェッチ許可ビットPEとして1を
格納し、1つ前のエントリーのプリフェッチ許可ビット
PEとして0を格納することにより、その後のキャッシ
ュのアクセスに対し、同じエントリーに対するプリフェ
ッチを繰り返すことによる外部メモリ装置3の使用効率
の低下を防ぐことができる。
【0095】更に、プリフェッチしたデータがすぐに使
われない場合には、プリフェッチの必要性が少ないとし
て、その1つ前のエントリーのプリフェッチ許可ビット
PEを0に設定することにより、そのエントリーに対し
て、不要なプリフェッチを繰り返さないように制御する
ことができる。このため情報処理装置の性能向上を図る
ことができる。
【0096】なお、以上の本発明の実施の形態1〜4の
説明において、キャッシュメモリ装置はダイレクトマッ
プ方式の構成を有するとして説明したが、セットアソシ
アティブ方式の構成を有する場合についても、前述した
各手段を用いることにより、同様の効果が得られる。
【0097】また、タグエントリー26の有効ビットは
1ビットとして説明を行ったが、データエントリー27
のサイズが外部メモリ装置3から一度に読み出すデータ
のサイズより大きい場合、有効ビットを複数ビット設け
て、外部メモリ装置3から読み出されたデータ毎にデー
タの有効性を示し、そのデータ毎にキャッシュのヒット
を検出するようにしてもよい。
【0098】
【発明の効果】請求項1記載の発明によれば、CPUか
ら要求されるデータのアクセスを行うとき、同時にアク
セスしているタグエントリーの次のエントリーを調べ、
キャッシュがミスするかどうかを事前に検出することが
できる。このため、CPUが実際に要求する前に外部メ
モリ装置からデータの読み出しを開始することができ
る。
【0099】また請求項2記載の発明によれば、アドレ
スで指定されるタグエントリーの読み出しと同時に、そ
の次のエントリーの次第2タグが読み出されるので、次
のエントリーに対するキャッシュのヒットの可能性を予
め調べることができる。即ちCPUがデータを要求する
前に、外部メモリ装置よりデータを読み出すことができ
るので、キャッシュミスによるデータの待ち時間を少な
くすることができ、情報処理装置としての性能向上を図
ることができる。またプリフェッチバッファに複数のプ
リフェッチエントリーを備えることにより、すぐには使
われなかったデータを保持したまま、新たな先行ミスに
対する外部メモリ装置からのプリフェッチを行うことが
でき、プリフェッチしたデータを有効に使うことができ
る。
【0100】また請求項3,4記載の発明によれば、分
岐予測手段を備え、分岐の予測結果によりプリフェッチ
の動作を制御することにより、プログラムに分岐が生じ
る場合、分岐命令の後続のエントリーにデータを保持
し、すぐには使わない可能性が高いデータのプリフェッ
チを抑制することができる。このことによって外部メモ
リ装置の無駄なアクセスを減らすことができ、キャッシ
ュメモリ装置の使用効率を向上させ、情報処理装置とし
ての性能向上を図ることができる。
【0101】また請求項5,6記載の発明によれば、タ
グエントリーにプリフェッチ禁止ビットPIを設け、プ
リフェッチされたデータがCPUから要求されずに、新
たなプリフェッチによってデータが書き換えられると、
書き換えられるデータの1つ前のタグエントリーのプリ
フェッチ禁止ビットを1に設定することによって、不要
なプリフェッチの発生を禁止することができる。こうす
ると、外部メモリ装置の効率的なアクセスが実現でき、
情報処理装置の性能を向上することができる。
【0102】また請求項7,8記載の発明によれば、タ
グエントリーにプリフェッチ許可ビットPEを備えるこ
とにより、タグメモリの構造を簡略化できる。そしてプ
リフェッチが指示されると、CPUから要求される前に
外部メモリ装置のデータを読み出し開始することができ
るので、情報処理装置としての性能向上を図ることがで
きる。またプリフェッチされたデータを格納するとき
に、対応するタグエントリーのプリフェッチ許可ビット
PEとして1を格納し、1つ前のエントリーのプリフェ
ッチ許可ビットPEとして0を格納することにより、そ
の後のキャッシュのアクセスに対し、同じエントリーに
対するプリフェッチを繰り返すことによる外部メモリ装
置の使用効率の低下を防ぐことができる。更に、プリフ
ェッチしたデータがすぐに使われない場合には、プリフ
ェッチの必要性が少ないとして、その1つ前のエントリ
ーのプリフェッチ許可ビットPEを0に設定することに
より、そのエントリーに対して、不要なプリフェッチを
繰り返さないように制御することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1におけるキャッシュメモ
リ装置を用いた情報処理装置の構成図である。
【図2】実施の形態1のキャッシュメモリ装置に用いら
れるプリフェッチバッファの内部構成図である。
【図3】本発明の各実施の形態によるキャッシュメモリ
装置において、タグメモリの具体的構成例を示す回路図
(その1)である。
【図4】本発明の各実施の形態によるキャッシュメモリ
装置において、タグメモリの具体的構成例を示す回路図
(その2)である。
【図5】実施の形態1のキャッシュメモリ装置におい
て、タグメモリの記憶内容を示す説明図である。
【図6】実施の形態1のキャッシュメモリ装置の動作を
示すタイミング図(その1)である。
【図7】実施の形態1のキャッシュメモリ装置の動作を
示すタイミング図(その2)である。
【図8】本発明の実施の形態2におけるキャッシュメモ
リ装置を用いた情報処理装置の構成図である。
【図9】実施の形態2のキャッシュメモリ装置に用いら
れる分岐予測回路の構成図である。
【図10】本発明の実施の形態3におけるキャッシュメ
モリ装置を用いた情報処理装置の構成図である。
【図11】実施の形態3のキャッシュメモリ装置に用い
られるプリフェッチバッファの内部構成図である。
【図12】本発明の実施の形態4におけるキャッシュメ
モリ装置を用いた情報処理装置の構成図である。
【図13】実施の形態4におけるタグエントリーのデー
タの更新動作(その1)を示す説明図である。
【図14】実施の形態4におけるタグエントリーのデー
タの更新動作(その2)を示す説明図である。
【図15】従来例のキャッシュメモリ装置を用いた情報
処理装置の構成図である。
【図16】従来例のキャッシュメモリ装置の動作を示す
タイミング図である。
【符号の説明】
1A,1B,1C,1D キャッシュメモリ装置 2 CPU 3 外部メモリ装置 4,7 アドレス 5,8 データ 6 ヒット信号 20 タグメモリ 21 データメモリ 26 タグエントリー 27 データエントリー 22 ヒット検出回路 23 先行ミス検出回路 24 置換制御回路 25A,25C プリフェッチバッファ 40 プリフェッチエントリー 43 比較部 38 先行ミス信号 55 分岐予測回路 57 分岐先アドレス 58 分岐予測信号 62 減算器 61 選択回路 73 アドレス制御回路

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 第1タグ、第2タグ、有効ビットを夫々
    格納するタグエントリーを複数有し、入力アドレスによ
    り選択された第n番目のタグエントリーの前記第1タ
    グ、前記第2タグ、前記有効ビットを、夫々第1タグ出
    力、第2タグ出力、有効信号として出力し、第n+1番
    目のタグエントリーの前記第2タグを次第2タグ出力と
    して出力するタグメモリと、 前記タグメモリの夫々のタグエントリーに対応したデー
    タを格納するデータエントリーを複数有するデータメモ
    リと、 前記タグメモリから出力される第1タグ出力、第2タグ
    出力、有効信号に対して、前記入力アドレスで指示され
    る第1タグ、第2タグを参照し、参照結果に基づいてキ
    ャッシュヒットの有無を検出してヒット信号を出力する
    ヒット検出手段と、 前記タグメモリから出力される次第2タグ出力に対し
    て、前記入力アドレスで指示される第2タグを参照し、
    前記第n+1番目のタグエントリーに対するキャッシュ
    ミスの有無を検出し、参照結果に基づいて先行ミス信号
    を出力する先行ミス検出手段と、 前記ヒット検出手段のヒット信号によりキャッシュヒッ
    トしなかったことが示されると、前記入力アドレスを用
    いて外部メモリ装置よりデータを読み出し、前記読み出
    したデータを前記データメモリの第n番目のデータエン
    トリーに格納し、前記タグメモリの第n番目のタグエン
    トリーを更新すると共に、前記先行ミス信号により前記
    第n+1番目のタグエントリーに対するキャッシュミス
    が示されると、前記入力アドレスに対応する前記第n+
    1番目のタグエントリーに対するアドレスを生成して出
    力し、前記外部メモリ装置より前記第n+1番目のタグ
    エントリーに対するデータを読み出して、第n+1番目
    のデータエントリーに格納し、前記第n+1番目のタグ
    エントリーを更新する置換制御手段と、を具備すること
    を特徴とするキャッシュメモリ装置。
  2. 【請求項2】 第1タグ、第2タグ、有効ビットを夫々
    格納するタグエントリーを複数有し、入力アドレスによ
    り選択された第n番目のタグエントリーの前記第1タ
    グ、前記第2タグ、前記有効ビットを、夫々第1タグ出
    力、第2タグ出力、有効信号として出力し、第n+1番
    目のタグエントリーの前記第2タグを次第2タグ出力と
    して出力するタグメモリと、 前記タグメモリの夫々のタグエントリーに対応したデー
    タを格納するデータエントリーを複数有するデータメモ
    リと、 前記タグメモリから出力される第1タグ出力、第2タグ
    出力、有効信号に対して、前記入力アドレスで指示され
    る第1タグ、第2タグを参照し、参照結果に基づいてキ
    ャッシュヒットの有無を検出してヒット信号を出力する
    ヒット検出手段と、 前記タグメモリから出力される次第2タグ出力に対し
    て、前記入力アドレスで指示される第2タグを参照し、
    前記第n+1番目のタグエントリーに対するキャッシュ
    ミスの有無を検出し、参照結果に基づいて先行ミス信号
    を出力する先行ミス検出手段と、 前記ヒット検出手段のヒット信号によりキャッシュヒッ
    トしなかったことが示されると、前記入力アドレスを用
    いて外部メモリ装置よりデータを読み出し、前記読み出
    したデータを前記データメモリの第n番目のデータエン
    トリーに格納し、前記タグメモリの第n番目のタグエン
    トリーを更新すると共に、前記先行ミス信号により前記
    第n+1番目のタグエントリーに対するキャッシュミス
    が示されると、前記入力アドレスに対応する前記第n+
    1番目のタグエントリーに対するアドレスを生成してプ
    リフェッチアドレスとして出力し、前記外部メモリ装置
    よりデータを読み出す置換制御手段と、 前記先行ミス信号に応じて、前記置換制御手段が出力し
    たプリフェッチアドレスと前記外部メモリ装置より読み
    出されたデータとを格納するプリフェッチエントリーを
    1つ又は複数有し、新たな入力アドレスと前記プリフェ
    ッチエントリーに格納されたアドレスとを比較し、アド
    レスが一致する場合プリフェッチヒット信号を出力する
    と共に、一致した前記プリフェッチエントリーのデータ
    を出力するプリフェッチバッファと、を具備し、 前記置換制御手段は、 前記プリフェッチヒット信号が出力されると、前記プリ
    フェッチバッファから出力されるデータを前記新たな入
    力アドレスで選択される前記データエントリーへ格納
    し、対応する前記タグエントリーのデータを更新するこ
    とを特徴とするキャッシュメモリ装置。
  3. 【請求項3】 第1タグ、第2タグ、有効ビットを夫々
    格納するタグエントリーを複数有し、入力アドレスによ
    り選択された第n番目のタグエントリーの前記第1タ
    グ、前記第2タグ、前記有効ビットを、夫々第1タグ出
    力、第2タグ出力、有効信号として出力し、第n+1番
    目のタグエントリーの前記第2タグを次第2タグ出力と
    して出力するタグメモリと、 前記タグメモリの夫々のタグエントリーに対応したデー
    タを格納するデータエントリーを複数有するデータメモ
    リと、 前記タグメモリから出力される第1タグ出力、第2タグ
    出力、有効信号に対して、前記入力アドレスで指示され
    る第1タグ、第2タグを参照し、参照結果に基づいてキ
    ャッシュヒットの有無を検出してヒット信号を出力する
    ヒット検出手段と、 前記タグメモリから出力される次第2タグ出力に対し
    て、前記入力アドレスで指示される第2タグを参照し、
    前記第n+1番目のタグエントリーに対するキャッシュ
    ミスの有無を検出し、参照結果に基づいて先行ミス信号
    を出力する先行ミス検出手段と、 分岐先アドレスと分岐予測ビットを格納する分岐予測エ
    ントリーを複数有し、前記入力アドレスにより選択され
    た前記分岐予測エントリーの分岐先アドレスと前記分岐
    予測ビットを用いて分岐の発生を予測する分岐予測信号
    を出力する分岐予測手段と、 前記ヒット検出手段のヒット信号によりキャッシュヒッ
    トしなかったことが示されると、前記入力アドレスを用
    いて外部メモリ装置よりデータを読み出し、前記読み出
    したデータを前記データメモリの第n番目のデータエン
    トリーに格納し、前記タグメモリの第n番目のタグエン
    トリーを更新すると共に、前記先行ミス信号により前記
    第n+1番目のタグエントリーに対するキャッシュミス
    が示され、且つ前記分岐予測信号により分岐の発生が予
    測されない場合、前記入力アドレスに対応する前記第n
    +1番目のタグエントリーに対するアドレスを生成して
    出力し、前記外部メモリ装置より前記第n+1番目のタ
    グエントリーに対するデータを読み出して、第n+1番
    目のデータエントリーに格納し、前記第n+1番目のタ
    グエントリーを更新する置換制御手段と、を具備するこ
    とを特徴とするキャッシュメモリ装置。
  4. 【請求項4】 第1タグ、第2タグ、有効ビットを夫々
    格納するタグエントリーを複数有し、入力アドレスによ
    り選択された第n番目のタグエントリーの前記第1タ
    グ、前記第2タグ、前記有効ビットを、夫々第1タグ出
    力、第2タグ出力、有効信号として出力し、第n+1番
    目のタグエントリーの前記第2タグを次第2タグ出力と
    して出力するタグメモリと、 前記タグメモリの夫々のタグエントリーに対応したデー
    タを格納するデータエントリーを複数有するデータメモ
    リと、 前記タグメモリから出力される第1タグ出力、第2タグ
    出力、有効信号に対して、前記入力アドレスで指示され
    る第1タグ、第2タグを参照し、参照結果に基づいてキ
    ャッシュヒットの有無を検出してヒット信号を出力する
    ヒット検出手段と、 前記タグメモリから出力される次第2タグ出力に対し
    て、前記入力アドレスで指示される第2タグを参照し、
    前記第n+1番目のタグエントリーに対するキャッシュ
    ミスの有無を検出し、参照結果に基づいて先行ミス信号
    を出力する先行ミス検出手段と、 分岐先アドレスと分岐予測ビットを格納する分岐予測エ
    ントリーを複数有し、前記入力アドレスにより選択され
    た前記分岐予測エントリーの分岐先アドレスと前記分岐
    予測ビットを用いて分岐の発生を予測する分岐予測信号
    を出力する分岐予測手段と、 前記ヒット検出手段のヒット信号によりキャッシュヒッ
    トしなかったことが示されると、前記入力アドレスを用
    いて外部メモリ装置よりデータを読み出し、前記読み出
    したデータを前記データメモリの第n番目のデータエン
    トリーに格納し、前記タグメモリの第n番目のタグエン
    トリーを更新すると共に、前記先行ミス信号により前記
    第n+1番目のタグエントリーに対するキャッシュミス
    が示され、且つ前記分岐予測手段の分岐予測信号により
    分岐の発生が予測されない場合、前記入力アドレスに対
    応する前記第n+1番目のタグエントリーに対するアド
    レスを生成してプリフェッチアドレスとして出力し、前
    記外部メモリ装置よりデータを読み出す置換制御手段
    と、 前記先行ミス信号に応じて、前記置換制御手段が出力し
    たプリフェッチアドレスと前記外部メモリ装置より読み
    出されたデータとを格納するプリフェッチエントリーを
    1つ又は複数有し、新たな入力アドレスと前記プリフェ
    ッチエントリーに格納されたアドレスとを比較し、アド
    レスが一致する場合プリフェッチヒット信号を出力する
    と共に、一致した前記プリフェッチエントリーのデータ
    を出力するプリフェッチバッファと、を具備し、 前記置換制御手段は、 前記プリフェッチヒット信号が出力されると、前記プリ
    フェッチバッファから出力されるデータを前記新たな入
    力アドレスで選択される前記データエントリーへ格納
    し、対応する前記タグエントリーのデータを更新するこ
    とを特徴とするキャッシュメモリ装置。
  5. 【請求項5】 第1タグ、第2タグ、有効ビット、プリ
    フェッチ禁止ビットを夫々格納するタグエントリーを複
    数有し、入力アドレスにより選択された第n番目のタグ
    エントリーの前記第1タグ、前記第2タグ、前記有効ビ
    ット、前記プリフェッチ禁止ビットを、夫々第1タグ出
    力、第2タグ出力、有効信号、プリフェッチ禁止信号と
    して出力し、第n+1番目のタグエントリーの前記第2
    タグを次第2タグ出力として出力するタグメモリと、 前記タグメモリの夫々のタグエントリーに対応したデー
    タを格納するデータエントリーを複数有するデータメモ
    リと、 前記タグメモリから出力される第1タグ出力、第2タグ
    出力、有効信号に対して、前記入力アドレスで指示され
    る第1タグ、第2タグを参照し、参照結果に基づいてキ
    ャッシュヒットの有無を検出してヒット信号を出力する
    ヒット検出手段と、 前記タグメモリから出力される次第2タグ出力と前記プ
    リフェッチ禁止信号とに対して、前記入力アドレスで指
    示される第2タグを参照し、参照結果に基づいて前記第
    n+1番目のタグエントリーに対するキャッシュミスの
    有無を検出し、キャッシュミスが有り且つ前記プリフェ
    ッチ禁止信号が偽であれば、先行ミス信号を真として出
    力し、それ以外は先行ミス信号を偽として出力する先行
    ミス検出手段と、 前記ヒット信号によりキャッシュヒットしなかったこと
    が示されると、前記入力アドレスを用いて外部メモリ装
    置よりデータを読み出し、前記読み出したデータを前記
    データメモリの第n番目のデータエントリーに格納し、
    前記タグメモリの第n番目のタグエントリーを更新する
    と共に、前記先行ミス信号により前記第n+1番目のタ
    グエントリーに対するキャッシュミスが示されると、前
    記入力アドレスに対応する前記第n+1番目のタグエン
    トリーに対するアドレスを生成してプリフェッチアドレ
    スとして出力し、前記外部メモリ装置よりデータを読み
    出す置換制御手段と、 前記先行ミス信号に応じて、前記置換制御手段が出力し
    た前記プリフェッチアドレスと前記外部メモリ装置より
    読み出されたデータとを格納するプリフェッチエントリ
    ーを1つ又は複数有し、新たな入力アドレスと前記プリ
    フェッチエントリーに格納されたプリフェッチアドレス
    とを比較し、アドレスが一致する場合プリフェッチヒッ
    ト信号及び一致した前記プリフェッチエントリーのデー
    タを出力し、前記プリフェッチエントリーに格納された
    データが使用されずに置き換えられる場合、プリフェッ
    チ無効信号及び前記置き換えられるデータのプリフェッ
    チアドレスに対応するタグエントリーの1つ前の前記タ
    グエントリーのアドレスを無効アドレスとして出力する
    プリフェッチバッファと、具備し、 前記置換制御手段は、 前記プリフェッチヒット信号が出力されると、前記プリ
    フェッチバッファが出力するデータを新たな入力アドレ
    スで選択される前記データエントリーへ格納して、対応
    する前記タグエントリーのデータを更新すると共に、前
    記プリフェッチ無効信号が与えられると、プリフェッチ
    を禁止するように前記プリフェッチバッファから出力さ
    れる前記無効アドレスで選択される前記タグエントリー
    のプリフェッチ禁止ビットを真に設定することを特徴と
    するキャッシュメモリ装置。
  6. 【請求項6】 前記キャッシュミスに対応して前記タグ
    エントリーを更新する場合、及び前記プリフェッチヒッ
    ト信号に対応して前記タグエントリーを更新する場合、
    プリフェッチを禁止しないように前記タグエントリーの
    プリフェッチ禁止ビットを偽に設定することを特徴とす
    る請求項5記載のキャッシュメモリ装置。
  7. 【請求項7】 タグ部、有効ビット、次のタグエントリ
    ーに対するプリフェッチの許可を示すプリフェッチ許可
    ビットを夫々格納するタグエントリーを複数有し、入力
    アドレスにより選択された第n番目のタグエントリーの
    前記タグ部、前記有効ビット、前記プリフェッチ許可ビ
    ットを、夫々タグ部出力、有効信号、プリフェッチ要求
    信号として出力するタグメモリと、 前記タグメモリの夫々のタグエントリーに対応したデー
    タを格納するデータエントリーを複数有するデータメモ
    リと、 前記タグ部出力及び前記有効信号に対して、前記入力ア
    ドレスのタグ部を参照し、参照結果に基づいてキャッシ
    ュヒットの有無を検出してヒット信号を出力するヒット
    検出手段と、 前記ヒット検出手段のヒット信号によりキャッシュがミ
    スしたことが示されると、前記入力アドレスを用いて外
    部メモリ装置よりデータを読み出し、前記読み出したデ
    ータを前記データメモリの第n番目のデータエントリー
    に格納し、前記タグメモリの第n番目のタグエントリー
    を更新すると共に、前記プリフェッチ要求信号により第
    n+1番目のタグエントリーに対するプリフェッチが要
    求されると、前記入力アドレスを用いて前記第n+1番
    目のタグエントリーに対するアドレスを生成してプリフ
    ェッチアドレスとして出力し、前記外部メモリ装置より
    データを読み出す置換制御手段と、 前記プリフェッチ要求信号に応じて、前記置換制御手段
    が出力した前記プリフェッチアドレスと前記外部メモリ
    装置より読み出されたデータとを格納するプリフェッチ
    エントリーを1つ又は複数有し、新たな入力アドレスと
    前記プリフェッチエントリーに格納されたプリフェッチ
    アドレスを比較し、アドレスが一致する場合プリフェッ
    チヒット信号及び一致した前記プリフェッチエントリー
    のデータを出力し、前記プリフェッチエントリーに格納
    されたデータが使用されずに置き換えられる場合、プリ
    フェッチ無効信号及び前記置き換えられるデータのプリ
    フェッチアドレスを無効アドレスとして出力するプリフ
    ェッチバッファと、を具備し、 前記置換制御手段は、 前記プリフェッチヒット信号が出力されると、前記プリ
    フェッチバッファが出力するデータを新たな入力アドレ
    スで選択される前記データエントリーへ格納して、対応
    する前記タグエントリーを更新すると共に、前記キャッ
    シュミスに対応して前記タグエントリーを更新する場
    合、及び前記プリフェッチヒット信号により入力アドレ
    スに対応するタグエントリーを更新する場合、更に前記
    入力アドレスに対応するタグエントリーの1つ前のタグ
    エントリーの前記プリフェッチ許可ビットを更新するこ
    とを特徴とするキャッシュメモリ装置。
  8. 【請求項8】 前記プリフェッチバッファは、 前記プリフェッチエントリーに格納されたデータが使用
    されずに置き換えられる場合、プリフェッチ無効信号及
    び前記置き換えられるデータに対応するプリフェッチア
    ドレスを無効アドレスとして出力し、 前記置換制御手段は、 前記プリフェッチ無効信号が与えられると、前記無効ア
    ドレスで選択される前記タグエントリーの1つ前のタグ
    エントリーのプリフェッチ許可ビットをプリフェッチを
    要求しないように更新することを特徴とする請求項7記
    載のキャッシュメモリ装置。
JP2000167235A 2000-06-05 2000-06-05 キャッシュメモリ装置 Pending JP2001344152A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000167235A JP2001344152A (ja) 2000-06-05 2000-06-05 キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000167235A JP2001344152A (ja) 2000-06-05 2000-06-05 キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JP2001344152A true JP2001344152A (ja) 2001-12-14

Family

ID=18670414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000167235A Pending JP2001344152A (ja) 2000-06-05 2000-06-05 キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JP2001344152A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009027567A1 (de) 2008-07-09 2010-01-21 Nec Electronics Corp., Kawasaki Cache-Speichervorrichtung
JPWO2008093399A1 (ja) * 2007-01-30 2010-05-20 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008093399A1 (ja) * 2007-01-30 2010-05-20 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
JP4491500B2 (ja) * 2007-01-30 2010-06-30 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
US8671246B2 (en) 2007-01-30 2014-03-11 Fujitsu Limited Information processing system and information processing method
DE102009027567A1 (de) 2008-07-09 2010-01-21 Nec Electronics Corp., Kawasaki Cache-Speichervorrichtung

Similar Documents

Publication Publication Date Title
JP3577331B2 (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
US5499355A (en) Prefetching into a cache to minimize main memory access time and cache size in a computer system
US7493452B2 (en) Method to efficiently prefetch and batch compiler-assisted software cache accesses
JP2870207B2 (ja) 延滞キャッシュ・ロードを有するデータプロセッサ
US6321321B1 (en) Set-associative cache-management method with parallel and single-set sequential reads
US8499123B1 (en) Multi-stage pipeline for cache access
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
JPH10232827A (ja) 先取りキャッシュ書戻しの方法と装置
JP4574712B2 (ja) 演算処理装置、情報処理装置及び制御方法
JP4218820B2 (ja) ダイレクトマップドキャッシュとフルアソシアティブバッファとを含んだキャッシュシステム、その制御方法及び記録媒体
KR20080095253A (ko) 변환 색인 버퍼 조작
KR100234647B1 (ko) 인스트럭션 프리페치 방법 및 데이터 처리 시스템
WO2010004497A1 (en) Cache management systems and methods
US7577791B2 (en) Virtualized load buffers
JP2001290702A (ja) 記憶装置
KR100710922B1 (ko) 캐시 관리 방법
US6976130B2 (en) Cache controller unit architecture and applied method
JP3164732B2 (ja) データ処理装置
JPH1055276A (ja) 多重レベル分岐予測方法および装置
JP2001344152A (ja) キャッシュメモリ装置
US20080250211A1 (en) Cache control method, cache device, and microcomputer
JP4037806B2 (ja) キャッシュメモリ装置
JP3295728B2 (ja) パイプラインキャッシュメモリの更新回路
JP3757768B2 (ja) ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式
US20050193172A1 (en) Method and apparatus for splitting a cache operation into multiple phases and multiple clock domains