JPH07325759A - キャッシュ制御方式 - Google Patents
キャッシュ制御方式Info
- Publication number
- JPH07325759A JPH07325759A JP6119117A JP11911794A JPH07325759A JP H07325759 A JPH07325759 A JP H07325759A JP 6119117 A JP6119117 A JP 6119117A JP 11911794 A JP11911794 A JP 11911794A JP H07325759 A JPH07325759 A JP H07325759A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- address
- data
- block data
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 135
- 238000001514 detection method Methods 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】キャッシュメモリに対する書込みと競合するこ
となく、キャッシュ索引を支障なく行うことのできるキ
ャッシュ制御方式を提供する。 【構成】本発明は、アドレスレジスタ1、キャッシュア
ドレスレジスタ2、アドレス選択回路3、キャッシュデ
ィレクトリ書込み回路4、キャッシュディレクトリ5、
ヒット検出回路6、ブロックデータ・レジスタ7、キャ
ッシュメモリ書込み回路8、キャッシュメモリ9、デー
タ選択回路10および制御回路11により構成されてお
り、新たなリード要求がCPUより送られてくると、キ
ャッシュ索引が行われ、キャッシュミスヒットの場合に
はブロックリードによるデータ転送待ち時間に、ブロッ
クデータ・レジスタ7に保持されているブロックデータ
がキャッシュメモリ9に書込まれ、キャッシュディレク
トリ5の選択ビット(S)が更新される。
となく、キャッシュ索引を支障なく行うことのできるキ
ャッシュ制御方式を提供する。 【構成】本発明は、アドレスレジスタ1、キャッシュア
ドレスレジスタ2、アドレス選択回路3、キャッシュデ
ィレクトリ書込み回路4、キャッシュディレクトリ5、
ヒット検出回路6、ブロックデータ・レジスタ7、キャ
ッシュメモリ書込み回路8、キャッシュメモリ9、デー
タ選択回路10および制御回路11により構成されてお
り、新たなリード要求がCPUより送られてくると、キ
ャッシュ索引が行われ、キャッシュミスヒットの場合に
はブロックリードによるデータ転送待ち時間に、ブロッ
クデータ・レジスタ7に保持されているブロックデータ
がキャッシュメモリ9に書込まれ、キャッシュディレク
トリ5の選択ビット(S)が更新される。
Description
【0001】
【産業上の利用分野】本発明はキャッシュ制御方式に関
し、特にキャッシュミスヒットによるブロック取り出し
後において、ヒット/ミスヒットの判定ならびに当該プ
ロックの格納制御を行うキャッシュ制御方式に関する。
し、特にキャッシュミスヒットによるブロック取り出し
後において、ヒット/ミスヒットの判定ならびに当該プ
ロックの格納制御を行うキャッシュ制御方式に関する。
【0002】
【従来の技術】従来の、この種のキャッシュ制御方式
は、図2に示されるように、アドレスレジスタ12と、
ブロックアドレス・レジスタ13と、キャッシュディレ
クトリ書込み回路14と、ブロックヒット検出回路15
と、キャッシュディレクトリ16と、ヒット検出回路1
7と、制御回路18と、ブロックデータ・レジスタ19
と、キャッシュメモリ書込み回路20と、キャッシュメ
モリ21と、データ選択回路22とを備えて構成されて
いる。
は、図2に示されるように、アドレスレジスタ12と、
ブロックアドレス・レジスタ13と、キャッシュディレ
クトリ書込み回路14と、ブロックヒット検出回路15
と、キャッシュディレクトリ16と、ヒット検出回路1
7と、制御回路18と、ブロックデータ・レジスタ19
と、キャッシュメモリ書込み回路20と、キャッシュメ
モリ21と、データ選択回路22とを備えて構成されて
いる。
【0003】図2において、中央処理装置(図示されな
い、以下、CPUと云う)から出力される主記憶リード
要求(以下、リード要求と云う)は、コマンド入力線1
19を介して制御回路18に入力され、同時に、CPU
よりアドレス入力線115を介してアドレスレジスタ1
2に入力され、アドレスレジスタ12にセットされたア
ドレスの下位(セットアドレス)117が、キャッシュ
の索引アドレスとして、キャッシュディレクトリ16お
よびキャッシュメモリ21に出力される。そして、キャ
ッシュディレクトリ16から出力された有効ビットおよ
びブロックのアドレス情報(キーアドレス)と、アドレ
スレジスタ12にセットされたアドレスの上位(キーア
ドレス)116とにより、キャッシュメモリ21には、
該当データが存在する(キャッシュヒット)か否(キャ
ッシュミスヒット)ががヒット検出回路17において判
定され、制御回路18にその判定結果が出力される。こ
の判定結果がキャッシュヒットであれば、キャッシュメ
モリ21から読み出された所望データは、データ選択回
路22を介してCPUに送出される。
い、以下、CPUと云う)から出力される主記憶リード
要求(以下、リード要求と云う)は、コマンド入力線1
19を介して制御回路18に入力され、同時に、CPU
よりアドレス入力線115を介してアドレスレジスタ1
2に入力され、アドレスレジスタ12にセットされたア
ドレスの下位(セットアドレス)117が、キャッシュ
の索引アドレスとして、キャッシュディレクトリ16お
よびキャッシュメモリ21に出力される。そして、キャ
ッシュディレクトリ16から出力された有効ビットおよ
びブロックのアドレス情報(キーアドレス)と、アドレ
スレジスタ12にセットされたアドレスの上位(キーア
ドレス)116とにより、キャッシュメモリ21には、
該当データが存在する(キャッシュヒット)か否(キャ
ッシュミスヒット)ががヒット検出回路17において判
定され、制御回路18にその判定結果が出力される。こ
の判定結果がキャッシュヒットであれば、キャッシュメ
モリ21から読み出された所望データは、データ選択回
路22を介してCPUに送出される。
【0004】一方、判定結果がキャッシュミスヒットで
あれば、制御回路18から主記憶(図示されない)に対
して、該当ブロックのリード要求(以下、ブロックリー
ドと云う)が、コマンド出力線122を介して出力され
る。そして、主記憶から該当ブロックが転送されてくる
と、データ選択回路22を介して所望のデータがCPU
に送出される。一般に、1ブロックは数ワードのデータ
により構成されており、主記憶からは、ワード単位で1
ブロック分のデータが順次転送されてくる。主記憶から
転送されてくるデータは、キャッシュメモリ書込み回路
20の制御によりキャッシュメモリ21に順次書き込ま
れ、同時に、ブロックデータレジスタ19に入力されて
保持される。更に、キャッシュディレクトリ16におい
ては、キャッシュディレクトリ書込み回路14の制御に
より、有効ビットおよびブロックのアドレス情報(キー
アドレス)が更新される。また、後述するCPUからの
連続したリード要求処理のために、アドレスレジスタ1
2のアドレスが、プロックアドレスレジスタ13に保持
される。
あれば、制御回路18から主記憶(図示されない)に対
して、該当ブロックのリード要求(以下、ブロックリー
ドと云う)が、コマンド出力線122を介して出力され
る。そして、主記憶から該当ブロックが転送されてくる
と、データ選択回路22を介して所望のデータがCPU
に送出される。一般に、1ブロックは数ワードのデータ
により構成されており、主記憶からは、ワード単位で1
ブロック分のデータが順次転送されてくる。主記憶から
転送されてくるデータは、キャッシュメモリ書込み回路
20の制御によりキャッシュメモリ21に順次書き込ま
れ、同時に、ブロックデータレジスタ19に入力されて
保持される。更に、キャッシュディレクトリ16におい
ては、キャッシュディレクトリ書込み回路14の制御に
より、有効ビットおよびブロックのアドレス情報(キー
アドレス)が更新される。また、後述するCPUからの
連続したリード要求処理のために、アドレスレジスタ1
2のアドレスが、プロックアドレスレジスタ13に保持
される。
【0005】次に、CPUから新たなリード要求が発生
すると、上述したように、キャッシュディレクトリ16
およびキャッシュメモリ21が索引されるが、前回のキ
ャッシュミスヒット時のブロックを、キャッシュメモリ
21に対する書き込み処理が終了していなければ、キャ
ッシュの索引は、キャッシュメモリ21に対する書き込
み処理の終了まで待たされる。
すると、上述したように、キャッシュディレクトリ16
およびキャッシュメモリ21が索引されるが、前回のキ
ャッシュミスヒット時のブロックを、キャッシュメモリ
21に対する書き込み処理が終了していなければ、キャ
ッシュの索引は、キャッシュメモリ21に対する書き込
み処理の終了まで待たされる。
【0006】一般に、上記のCPUからの新たなリード
要求は、連続したアドレス、即ち同一ブロックである可
能性が高い。そこで、ブロックアドレスレジスタ13に
保持されているキャッシュメモリ21に書き込み中のブ
ロックアドレスと、新たなリード要求アドレスが、ブロ
ックヒット検出回路15において比較照合される。この
比較結果が一致しているものと判定されるとブロックデ
ータレジスタ19から所望のデータが読み出され、デー
タ選択回路22を介してCPUに送出される。しかし、
比較結果が一致していなければ、上述したように、キャ
ッシュメモリ21に対するブロック書き込み処理終了後
において、キャッシュディレクトリ16およびキャッシ
ュメモリ21が索引されて、キャッシュヒット/ミスヒ
ットが判定される。
要求は、連続したアドレス、即ち同一ブロックである可
能性が高い。そこで、ブロックアドレスレジスタ13に
保持されているキャッシュメモリ21に書き込み中のブ
ロックアドレスと、新たなリード要求アドレスが、ブロ
ックヒット検出回路15において比較照合される。この
比較結果が一致しているものと判定されるとブロックデ
ータレジスタ19から所望のデータが読み出され、デー
タ選択回路22を介してCPUに送出される。しかし、
比較結果が一致していなければ、上述したように、キャ
ッシュメモリ21に対するブロック書き込み処理終了後
において、キャッシュディレクトリ16およびキャッシ
ュメモリ21が索引されて、キャッシュヒット/ミスヒ
ットが判定される。
【0007】また、他の従来例としては、特開平2−2
54552号公報においてデータ処理装置が提案されて
いる。この従来例は、図3に示されるように、リクェス
トコード・レジスタ(MQR)23および24と、リク
ェストアドレス・レジスタ(PAR)25および26
と、キャッシュアクセス制御回路27と、アドレスアレ
イ28と、メモリアクセス制御回路29と、データアレ
イ30と、バイパスバッファ31と、バイパスバッファ
制御部32と、検出回路33、34および38と、切替
え回路35、37および39と、ブロックアドレス・レ
ジスタ(CBA)36とを備えて構成される。
54552号公報においてデータ処理装置が提案されて
いる。この従来例は、図3に示されるように、リクェス
トコード・レジスタ(MQR)23および24と、リク
ェストアドレス・レジスタ(PAR)25および26
と、キャッシュアクセス制御回路27と、アドレスアレ
イ28と、メモリアクセス制御回路29と、データアレ
イ30と、バイパスバッファ31と、バイパスバッファ
制御部32と、検出回路33、34および38と、切替
え回路35、37および39と、ブロックアドレス・レ
ジスタ(CBA)36とを備えて構成される。
【0008】図3において、メモリリード要求がメモリ
アクセス要求元(以下、要求元と云う)から送出される
と、信号線124を介してリクェストコードがリクェス
トコード・レジスタ23に入力されて保持されるととも
に、更に信号線125を介してリクェストコード・レジ
スタ24、キャッシュアクセス制御回路27およびメモ
リアクセス制御回路29に送出される。リクェストアド
レス・レジスタ25には、要求元から信号線129を介
して送られてくるリクェストアドレスが保持されてお
り、信号線132を介してリクェストアドレス・レジス
タ26に送出される。そして、リクェストアドレス・レ
ジスタ25に保持されているリクェストアドレスの内の
セットアドレス133により、アドレスアレイ28から
はキーアドレス144が読み出される。この読み出され
たキーアドレス144は、検出回路34に入力され、検
出回路34においては、当該キーアドレス144とリク
ェストアドレスの内のキーアドレス130とが比較照合
されて、その比較出力は、FDB(foundbloc
k)信号145としてキャッシュアクセス制御回路27
およびメモリアクセス制御回路29に出力される。
アクセス要求元(以下、要求元と云う)から送出される
と、信号線124を介してリクェストコードがリクェス
トコード・レジスタ23に入力されて保持されるととも
に、更に信号線125を介してリクェストコード・レジ
スタ24、キャッシュアクセス制御回路27およびメモ
リアクセス制御回路29に送出される。リクェストアド
レス・レジスタ25には、要求元から信号線129を介
して送られてくるリクェストアドレスが保持されてお
り、信号線132を介してリクェストアドレス・レジス
タ26に送出される。そして、リクェストアドレス・レ
ジスタ25に保持されているリクェストアドレスの内の
セットアドレス133により、アドレスアレイ28から
はキーアドレス144が読み出される。この読み出され
たキーアドレス144は、検出回路34に入力され、検
出回路34においては、当該キーアドレス144とリク
ェストアドレスの内のキーアドレス130とが比較照合
されて、その比較出力は、FDB(foundbloc
k)信号145としてキャッシュアクセス制御回路27
およびメモリアクセス制御回路29に出力される。
【0009】このFDB信号145がオンの場合、即ち
データアレイ30またはバイパスバッファ31の何れか
に有効なデータが存在する(キュッシュヒットと呼ぶ)
場合には、検出回路38からのバイパスバッファ一致信
号142が参照される。なお、このバイパスバッファ一
致信号142は、リクェストアドレス・レジスタ25よ
り出力されるブロックアドレス131と、ブロックアド
レス・レジスタ36より出力されるブロックアドレス1
41とが検出回路38において比較照合されて得られる
信号である。FDB信号145がオンであり、バイパス
バッファ一致信号142がオフの場合、即ち有効なデー
タがデータアレイ30内に存在する場合には、リクェス
トアドレス・レジスタ26より出力されるデータアレイ
アドレス137が、切替え回路37を介してデータアレ
イ30に供給され、これを受けて、データアレイ30よ
り読み出されたデータ146は、切替え回路39を介し
て前記要求元に送出される。FDB信号145がオンで
あり、バイパスバッファ一致信号142がオンの場合、
即ち有効なデータがバイパスバッファ31内に存在する
場合には、リクェストアドレス・レジスタ26より出力
されるブロック内データアドレス138により、バイパ
スバッファ31より読み出されたデータ147は、切替
え回路39を介して前記要求元に送出される。
データアレイ30またはバイパスバッファ31の何れか
に有効なデータが存在する(キュッシュヒットと呼ぶ)
場合には、検出回路38からのバイパスバッファ一致信
号142が参照される。なお、このバイパスバッファ一
致信号142は、リクェストアドレス・レジスタ25よ
り出力されるブロックアドレス131と、ブロックアド
レス・レジスタ36より出力されるブロックアドレス1
41とが検出回路38において比較照合されて得られる
信号である。FDB信号145がオンであり、バイパス
バッファ一致信号142がオフの場合、即ち有効なデー
タがデータアレイ30内に存在する場合には、リクェス
トアドレス・レジスタ26より出力されるデータアレイ
アドレス137が、切替え回路37を介してデータアレ
イ30に供給され、これを受けて、データアレイ30よ
り読み出されたデータ146は、切替え回路39を介し
て前記要求元に送出される。FDB信号145がオンで
あり、バイパスバッファ一致信号142がオンの場合、
即ち有効なデータがバイパスバッファ31内に存在する
場合には、リクェストアドレス・レジスタ26より出力
されるブロック内データアドレス138により、バイパ
スバッファ31より読み出されたデータ147は、切替
え回路39を介して前記要求元に送出される。
【0010】一方において、FDB信号145がオフの
場合、即ちデータアレイ30およびバイパスバッファ3
1の何れにも有効なデータが存在しない(キャッシュミ
スヒット)場合には、メモリアクセス制御回路29よ
り、主記憶要求コードが信号線149に出力されるとと
もに、主記憶要求アドレスが信号線150に出力され、
主記憶装置(図示されない)に対してブロックリード要
求が送出される。そして、当該主記憶装置からブロック
データが返送されてくる間において、リクェストアドレ
スのキーアドレス130がアドレスアレイ28に登録さ
れるとともに、リクェストアドレス132がブロックア
ドレス・レジスタ36に登録される。その際に、バイパ
スバッファ31内に有効なデータが存在する場合には、
ブロックアドレス・レジスタ36の更新の前に、データ
アレイアドレス140が切替え回路37を介してデータ
アレイ30に供給され、バイパスバッファ31のデータ
が、データアレイ30に移送される。そして、前記主記
憶装置からブロックデータが信号線143を介して返送
されてくると、当該ブロックデータはバイパスバッファ
31に登録されるとともに、切替え回路39を介して要
求元にリードデータが送出される。一般に、プロックデ
ータは、主記憶装置から数回に分けられたリプライデー
タとして送出されるために、要求元に送出されるリード
データが、最初のリプライデータとなるように、メモリ
アクセス制御回路29により制御されている。
場合、即ちデータアレイ30およびバイパスバッファ3
1の何れにも有効なデータが存在しない(キャッシュミ
スヒット)場合には、メモリアクセス制御回路29よ
り、主記憶要求コードが信号線149に出力されるとと
もに、主記憶要求アドレスが信号線150に出力され、
主記憶装置(図示されない)に対してブロックリード要
求が送出される。そして、当該主記憶装置からブロック
データが返送されてくる間において、リクェストアドレ
スのキーアドレス130がアドレスアレイ28に登録さ
れるとともに、リクェストアドレス132がブロックア
ドレス・レジスタ36に登録される。その際に、バイパ
スバッファ31内に有効なデータが存在する場合には、
ブロックアドレス・レジスタ36の更新の前に、データ
アレイアドレス140が切替え回路37を介してデータ
アレイ30に供給され、バイパスバッファ31のデータ
が、データアレイ30に移送される。そして、前記主記
憶装置からブロックデータが信号線143を介して返送
されてくると、当該ブロックデータはバイパスバッファ
31に登録されるとともに、切替え回路39を介して要
求元にリードデータが送出される。一般に、プロックデ
ータは、主記憶装置から数回に分けられたリプライデー
タとして送出されるために、要求元に送出されるリード
データが、最初のリプライデータとなるように、メモリ
アクセス制御回路29により制御されている。
【0011】次いで、要求元から連続して新たなメモリ
リード要求が送出されると、上述したように、FDB信
号145およびバイパスバッファ一致信号142が調べ
られて、キャッシュヒットまたはキャッシュミスヒット
に対応する動作が行われる。
リード要求が送出されると、上述したように、FDB信
号145およびバイパスバッファ一致信号142が調べ
られて、キャッシュヒットまたはキャッシュミスヒット
に対応する動作が行われる。
【0012】
【発明が解決しようとする課題】上述した従来のキャッ
シュ制御方式においては、キャッシュミスヒット時のブ
ロックデータを主記憶から読み出して、所望のデータを
CPUに送出する際においては、同時にキャッシュメモ
リに対する書き込みも行われているために、CPUから
連続してリード要求が送出されると、前記キャッシュメ
モリに対する書き込み動作と競合する形となり、キャッ
シュの索引が、当該書き込み動作の終了時点まで待たさ
れるという欠点がある。
シュ制御方式においては、キャッシュミスヒット時のブ
ロックデータを主記憶から読み出して、所望のデータを
CPUに送出する際においては、同時にキャッシュメモ
リに対する書き込みも行われているために、CPUから
連続してリード要求が送出されると、前記キャッシュメ
モリに対する書き込み動作と競合する形となり、キャッ
シュの索引が、当該書き込み動作の終了時点まで待たさ
れるという欠点がある。
【0013】更に、連続しているリード要求が同一ブロ
ックである場合には、当該ブロックのヒット検出回路を
設けることにより、CPUに対する所望のデータを送出
することはできるが、キャッシュディレクトリの出力に
よるキャッシュヒット/ミスヒットの判定回路以外に同
様な回路が必要となるために、ハードウェア量が増大し
てしまい、制御も複雑になるという欠点がある。
ックである場合には、当該ブロックのヒット検出回路を
設けることにより、CPUに対する所望のデータを送出
することはできるが、キャッシュディレクトリの出力に
よるキャッシュヒット/ミスヒットの判定回路以外に同
様な回路が必要となるために、ハードウェア量が増大し
てしまい、制御も複雑になるという欠点がある。
【0014】また、前述の特開平2−254552号公
報において提案されているデータ処理装置においては、
メモリリード要求時におけるデータが、キャッシュ(デ
ータアレイ30またはバイパスバッファ31)に登録さ
れているか否かを判定するために、アドレスアレイから
出力されるキーアドレスと、リクェストアドレスの内の
キーアドレスを比較するための検出回路が設けられてい
る。そして、更に、有効なデータがデータアレイに存在
するか、またはバイパスバッファに存在するかを判定す
るために、前記バイパスバッファに格納されているブロ
ックデータのアドレスを保持するブロックアドレス・レ
ジスタが設けられており、このブロックアドレス・レジ
スタに保持されているブロックアドレスとリクェストア
ドレスとを、キーアドレスを比較する検出回路とは別の
特別に設けられた検出回路を用いて比較している。この
ために、ハードウェアの規模が増大するとともに、これ
らの回路に対応する制御が煩雑になるという欠点があ
る。
報において提案されているデータ処理装置においては、
メモリリード要求時におけるデータが、キャッシュ(デ
ータアレイ30またはバイパスバッファ31)に登録さ
れているか否かを判定するために、アドレスアレイから
出力されるキーアドレスと、リクェストアドレスの内の
キーアドレスを比較するための検出回路が設けられてい
る。そして、更に、有効なデータがデータアレイに存在
するか、またはバイパスバッファに存在するかを判定す
るために、前記バイパスバッファに格納されているブロ
ックデータのアドレスを保持するブロックアドレス・レ
ジスタが設けられており、このブロックアドレス・レジ
スタに保持されているブロックアドレスとリクェストア
ドレスとを、キーアドレスを比較する検出回路とは別の
特別に設けられた検出回路を用いて比較している。この
ために、ハードウェアの規模が増大するとともに、これ
らの回路に対応する制御が煩雑になるという欠点があ
る。
【0015】
【課題を解決するための手段】本発明のキャッシュ制御
方式は、主記憶の1ブロック単位を所望ブロック数格納
するキャッシュメモリを少なくとも1組以上備えるキャ
ッシュ装置において、前記1組以上のキャッシュメモリ
と、中央処理装置(以下、CPUと云う)からの主記憶
リード要求がキャッシュミスヒットした時に、ブロック
リードにより主記憶から転送されてくるブロックデータ
を入力して格納するブロックデータ・レジスタと、前記
主記憶リード要求時のアドレスを格納するアドレスレジ
スタと、前記キャッシュメモリまたは前記ブロックデー
タ・レジスタに、有効なブロックデータが存在するか否
かを示す有効ビット部、前記ブロックデータのアドレス
情報(キーアドレス)を含むアドレス情報部および前記
有効なブロックデータが前記キャッシュメモリ内に存在
するかまたは前記ブロックデータ・レジスタ内に存在す
るかを示す選択ビット部により形成されるキャッシュデ
ィレクトリと、前記主記憶リード要求がキャッシュミス
ヒットした時に、前記キャッシュディレクトリを索引す
るためのアドレス(セットアドレス)が保持されるキャ
ッシュアドレス・レジスタと、前記アドレスレジスタの
出力と前記キャッシュアドレス・レジスタの出力とを入
力して、何れか一方を選択してキャッシュ索引アドレス
として出力するアドレス選択回路と、前記ブロックデー
タ・レジスタからのブロックデータを入力して、前記キ
ャッシュメモリに対する書込み制御を行うキャッシュメ
モリ書込み回路と、前記主記憶リード要求に対応するデ
ータを含むブロックデータが、前記キャッシュメモリま
たは前記ブロックデータ・レジスタの何れか一方に存在
する(キャッシュヒット)か否(キャッシュミスヒッ
ト)かを判定するヒット検出回路と、前記アドレスレジ
スタのビット出力を受けて、前記キャッシュディレクト
リの更新を行うキャッシュディレクトリ書込み回路と、
前記キャッシュメモリの出力と、前記ブロックデータ・
レジスタの出力と、前記主記憶から転送されてくるブロ
ックデータとを入力して、前記CPUに送出するデータ
を選択して出力するデータ選択回路と、キャッシュミス
ヒット時のブロックリード要求出力制御、前記データ選
択回路を介してCPUに所望データを出力する際の出力
制御、前記キャッシュメモリ書込み回路を介して前記キ
ャッシュメモリにブロックデータを書込む際の書込み制
御、前記キャッシュディレクトリ書込み回路を介して前
記キャッシュディレクトリの更新を行う際の更新制御、
前記キャッシュアドレス・レジスタに対する書込み制御
および読出し制御、前記アドレス選択回路を介してキャ
ッシュ索引アドレスを生成する際の選択制御を含む制御
作用を行う制御回路と、を少なくとも備えて構成され
る。
方式は、主記憶の1ブロック単位を所望ブロック数格納
するキャッシュメモリを少なくとも1組以上備えるキャ
ッシュ装置において、前記1組以上のキャッシュメモリ
と、中央処理装置(以下、CPUと云う)からの主記憶
リード要求がキャッシュミスヒットした時に、ブロック
リードにより主記憶から転送されてくるブロックデータ
を入力して格納するブロックデータ・レジスタと、前記
主記憶リード要求時のアドレスを格納するアドレスレジ
スタと、前記キャッシュメモリまたは前記ブロックデー
タ・レジスタに、有効なブロックデータが存在するか否
かを示す有効ビット部、前記ブロックデータのアドレス
情報(キーアドレス)を含むアドレス情報部および前記
有効なブロックデータが前記キャッシュメモリ内に存在
するかまたは前記ブロックデータ・レジスタ内に存在す
るかを示す選択ビット部により形成されるキャッシュデ
ィレクトリと、前記主記憶リード要求がキャッシュミス
ヒットした時に、前記キャッシュディレクトリを索引す
るためのアドレス(セットアドレス)が保持されるキャ
ッシュアドレス・レジスタと、前記アドレスレジスタの
出力と前記キャッシュアドレス・レジスタの出力とを入
力して、何れか一方を選択してキャッシュ索引アドレス
として出力するアドレス選択回路と、前記ブロックデー
タ・レジスタからのブロックデータを入力して、前記キ
ャッシュメモリに対する書込み制御を行うキャッシュメ
モリ書込み回路と、前記主記憶リード要求に対応するデ
ータを含むブロックデータが、前記キャッシュメモリま
たは前記ブロックデータ・レジスタの何れか一方に存在
する(キャッシュヒット)か否(キャッシュミスヒッ
ト)かを判定するヒット検出回路と、前記アドレスレジ
スタのビット出力を受けて、前記キャッシュディレクト
リの更新を行うキャッシュディレクトリ書込み回路と、
前記キャッシュメモリの出力と、前記ブロックデータ・
レジスタの出力と、前記主記憶から転送されてくるブロ
ックデータとを入力して、前記CPUに送出するデータ
を選択して出力するデータ選択回路と、キャッシュミス
ヒット時のブロックリード要求出力制御、前記データ選
択回路を介してCPUに所望データを出力する際の出力
制御、前記キャッシュメモリ書込み回路を介して前記キ
ャッシュメモリにブロックデータを書込む際の書込み制
御、前記キャッシュディレクトリ書込み回路を介して前
記キャッシュディレクトリの更新を行う際の更新制御、
前記キャッシュアドレス・レジスタに対する書込み制御
および読出し制御、前記アドレス選択回路を介してキャ
ッシュ索引アドレスを生成する際の選択制御を含む制御
作用を行う制御回路と、を少なくとも備えて構成され
る。
【0016】なお、前記CPUより、第1の主記憶リー
ド要求に続いて送られてくる第2の主記憶リード要求に
対応して、前記第1の主記憶リード要求に対応する場合
と同様に、前記キャッシュディレクトリを索引し、当該
索引結果がキャッシュヒットならば前記キャッシュディ
レクトリの選択ビット部の値に基づいて所望のデータを
含むブロックデータが、前記キャッシュメモリ内に存在
するか、または前記ブロックデータ・レジスタ内に存在
するかを判断し、前記キャッシュメモリまたはブロック
データ・レジスタより、所望のデータを取り出して、前
記CPUに送出されるようにしてよく、または、前記C
PUより、前記第2の主記憶リード要求に続いて新たに
送られてくる第3の主記憶リード要求に対応してキャッ
シュミスヒットとなった場合に、前記主記憶に対して所
望のデータを含むブロックデータのリード要求を出力
し、前記主記憶から当該ブロックデータが転送されてく
るまでの待ち時間内において、前記キャッシュアドレス
・レジスタに保持されている前回のキャッシュミスヒッ
ト時のキャッシュ索引アドレスを、前記キャッシュデイ
レクトリおよびキャッシュメモリの索引アドレスとし、
前回のキャッシュミスヒット時に主記憶から転送されて
きたブロックデータが保持されている前記ブロックデー
タ・レジスタから、前記キャッシュメモリの該当アドレ
スに当該ブロック・データを書込み、更に、前回キャッ
シュミスヒットした時に前記主記憶から取り出された当
該ブロックデータが、前記キャッシュメモリに存在する
ことを示すように、前記キャッシュディレクトリの選択
ビット部の更新を行った後に、再度第3の主記憶リード
要求時のアドレスをキャッシュディレクトリおよびキャ
ッシュメモリの索引アドレスとするようにしてもよい。
ド要求に続いて送られてくる第2の主記憶リード要求に
対応して、前記第1の主記憶リード要求に対応する場合
と同様に、前記キャッシュディレクトリを索引し、当該
索引結果がキャッシュヒットならば前記キャッシュディ
レクトリの選択ビット部の値に基づいて所望のデータを
含むブロックデータが、前記キャッシュメモリ内に存在
するか、または前記ブロックデータ・レジスタ内に存在
するかを判断し、前記キャッシュメモリまたはブロック
データ・レジスタより、所望のデータを取り出して、前
記CPUに送出されるようにしてよく、または、前記C
PUより、前記第2の主記憶リード要求に続いて新たに
送られてくる第3の主記憶リード要求に対応してキャッ
シュミスヒットとなった場合に、前記主記憶に対して所
望のデータを含むブロックデータのリード要求を出力
し、前記主記憶から当該ブロックデータが転送されてく
るまでの待ち時間内において、前記キャッシュアドレス
・レジスタに保持されている前回のキャッシュミスヒッ
ト時のキャッシュ索引アドレスを、前記キャッシュデイ
レクトリおよびキャッシュメモリの索引アドレスとし、
前回のキャッシュミスヒット時に主記憶から転送されて
きたブロックデータが保持されている前記ブロックデー
タ・レジスタから、前記キャッシュメモリの該当アドレ
スに当該ブロック・データを書込み、更に、前回キャッ
シュミスヒットした時に前記主記憶から取り出された当
該ブロックデータが、前記キャッシュメモリに存在する
ことを示すように、前記キャッシュディレクトリの選択
ビット部の更新を行った後に、再度第3の主記憶リード
要求時のアドレスをキャッシュディレクトリおよびキャ
ッシュメモリの索引アドレスとするようにしてもよい。
【0017】
【実施例】次に、本発明について図面を参照して説明す
る。
る。
【0018】図1は本発明の一実施例を示すブロック図
である。本実施例は、1組のキャッシュディレクトリお
よびキャッシュメモリを用いて構成した実施例であり、
図1に示されるように、アドレスレジスタ1と、キャッ
シュアドレスレジスタ2と、アドレス選択回路3と、キ
ャッシュディレクトリ書込み回路4と、キャッシュディ
レクトリ5と、ヒット検出回路6と、ブロックデータ・
レジスタ7と、キャッシュメモリ書込み回路8と、キャ
ッシュメモリ9と、データ選択回路10と、制御回路1
1とを備えて構成されている。
である。本実施例は、1組のキャッシュディレクトリお
よびキャッシュメモリを用いて構成した実施例であり、
図1に示されるように、アドレスレジスタ1と、キャッ
シュアドレスレジスタ2と、アドレス選択回路3と、キ
ャッシュディレクトリ書込み回路4と、キャッシュディ
レクトリ5と、ヒット検出回路6と、ブロックデータ・
レジスタ7と、キャッシュメモリ書込み回路8と、キャ
ッシュメモリ9と、データ選択回路10と、制御回路1
1とを備えて構成されている。
【0019】図1において、CPU(図示されない)か
ら最初のリード要求が発生されると、当該CPUからの
コマンドが、コマンド入力線108を介して制御回路1
1に入力されるとともに、CPUからのアドレス入力
が、アドレス入力線100を介してアドレスレジスタ1
に入力され、アドレスレジスタ1には所定のアドレスが
セットされる。そして、アドレスレジスタ1より出力さ
れるアドレスの下位ビット(セットアドレス)102
が、アドレス選択回路3を介してキャッシュ索引アドレ
ス103として出力されて、キャッシュディレクトリ5
およびキャッシュメモリ9に入力される。キャッシュデ
ィレクトリ5からは、アドレス情報(キーアドレス)1
05、有効ビット(V)106および選択ビット(S)
107が出力され、アドレス情報(キーアドレス)10
5および有効ビット(V)106はヒット検出回路6に
入力され、選択ビット(S)107は制御回路11に入
力される。しかしながら、CPUからの前記リード要求
は最初のリード要求であるために、有効ビット(V)1
06は無効の状態となっている。従ってヒット検出回路
6においては、アドレス情報105および有効ビット
(V)106の入力を受けた状態においてキャッシュミ
スであるものと判定され、その判定結果は制御回路11
に出力される。そして、制御回路11においては、当該
判定結果を受けて所望のデータを含むブロックのリード
要求(以下、ブロックリードと云う)が、コマンド線1
11を介して主記憶(図示されない)に出力される。な
お当該コマンドは、所望のデータが最初に転送されるよ
うに要求するコマンドである。
ら最初のリード要求が発生されると、当該CPUからの
コマンドが、コマンド入力線108を介して制御回路1
1に入力されるとともに、CPUからのアドレス入力
が、アドレス入力線100を介してアドレスレジスタ1
に入力され、アドレスレジスタ1には所定のアドレスが
セットされる。そして、アドレスレジスタ1より出力さ
れるアドレスの下位ビット(セットアドレス)102
が、アドレス選択回路3を介してキャッシュ索引アドレ
ス103として出力されて、キャッシュディレクトリ5
およびキャッシュメモリ9に入力される。キャッシュデ
ィレクトリ5からは、アドレス情報(キーアドレス)1
05、有効ビット(V)106および選択ビット(S)
107が出力され、アドレス情報(キーアドレス)10
5および有効ビット(V)106はヒット検出回路6に
入力され、選択ビット(S)107は制御回路11に入
力される。しかしながら、CPUからの前記リード要求
は最初のリード要求であるために、有効ビット(V)1
06は無効の状態となっている。従ってヒット検出回路
6においては、アドレス情報105および有効ビット
(V)106の入力を受けた状態においてキャッシュミ
スであるものと判定され、その判定結果は制御回路11
に出力される。そして、制御回路11においては、当該
判定結果を受けて所望のデータを含むブロックのリード
要求(以下、ブロックリードと云う)が、コマンド線1
11を介して主記憶(図示されない)に出力される。な
お当該コマンドは、所望のデータが最初に転送されるよ
うに要求するコマンドである。
【0020】前記主記憶からの所望データを含むブロッ
クデータが、データ線114を介して転送されてくる
と、当該ブロックデータはブロックデータ・レジスタ7
およびデータ選択回路10に入力され、データ選択回路
10を介してCPUに所望データが選択されて出力さ
れ、同時に、ブロックデータ・レジスタ7においては、
1ブロック分のデータが順次保持されてゆく。しかしな
がら、当該ブロックデータは、この時点においては、キ
ャッシュメモリ9には書き込まれない。
クデータが、データ線114を介して転送されてくる
と、当該ブロックデータはブロックデータ・レジスタ7
およびデータ選択回路10に入力され、データ選択回路
10を介してCPUに所望データが選択されて出力さ
れ、同時に、ブロックデータ・レジスタ7においては、
1ブロック分のデータが順次保持されてゆく。しかしな
がら、当該ブロックデータは、この時点においては、キ
ャッシュメモリ9には書き込まれない。
【0021】一方、上述のようにCPUに対して所望の
データが送出されるのと同時に、アドレス情報(キーア
ドレス)として、キャッシュディレクトリ書き込み回路
4に入力されるアドレスレジスタ1からのアドレスの上
位ビット(キーアドレス)101に、当該キャッシュデ
ィレクトリ書き込み回路4の制御作用を受けて更新され
るとともに、同じくキャッシュディレクトリ書き込み回
路4に制御されて、キャッシュディレクトリ5より出力
される有効ビット(V)106は有効状態に設定され、
選択ビット(S)107はブロックデータを示すように
更新される。従って、前記ブロックデータが、ブロック
データレジスタ7内に存在することが、キャッシュディ
レクトリ5に登録される。また、キャッシュアドレス・
レジスタ2には、アドレスの下位ビット(セットアドレ
ス)102、即ちキャッシュ索引アドレスが保持され
る。
データが送出されるのと同時に、アドレス情報(キーア
ドレス)として、キャッシュディレクトリ書き込み回路
4に入力されるアドレスレジスタ1からのアドレスの上
位ビット(キーアドレス)101に、当該キャッシュデ
ィレクトリ書き込み回路4の制御作用を受けて更新され
るとともに、同じくキャッシュディレクトリ書き込み回
路4に制御されて、キャッシュディレクトリ5より出力
される有効ビット(V)106は有効状態に設定され、
選択ビット(S)107はブロックデータを示すように
更新される。従って、前記ブロックデータが、ブロック
データレジスタ7内に存在することが、キャッシュディ
レクトリ5に登録される。また、キャッシュアドレス・
レジスタ2には、アドレスの下位ビット(セットアドレ
ス)102、即ちキャッシュ索引アドレスが保持され
る。
【0022】CPUからの最初のリード要求に続いて第
2のリード要求が送出されると、第1のリード要求の場
合と同様に、アドレスレジスタ1にセットされたアドレ
スの下位ビット(セットアドレス)102は、アドレス
選択回路3を介して、キャッシュ索引アドレス103と
して出力され、キャッシュディレクトリ5およびキャッ
シュメモリ9に索引入力される。この場合においては、
第1のリード要求のブロックが主記憶から転送中であっ
ても、キャッシュメモリ9に対する同時書き込みが行わ
れないために、キャッシュディレクトリ5およびキャッ
シュメモリ9に対する索引が可能となる。
2のリード要求が送出されると、第1のリード要求の場
合と同様に、アドレスレジスタ1にセットされたアドレ
スの下位ビット(セットアドレス)102は、アドレス
選択回路3を介して、キャッシュ索引アドレス103と
して出力され、キャッシュディレクトリ5およびキャッ
シュメモリ9に索引入力される。この場合においては、
第1のリード要求のブロックが主記憶から転送中であっ
ても、キャッシュメモリ9に対する同時書き込みが行わ
れないために、キャッシュディレクトリ5およびキャッ
シュメモリ9に対する索引が可能となる。
【0023】前記第2のリード要求が、ヒット検出回路
6においてキャッシュヒットであると判定される場合に
は、この判定結果を受けて、制御回路11においては、
キャッシュディレクトリ5より出力される選択ビット
(S)107に従って、所望データがブロックデータ・
レジスタ7とキャッシュメモリ9の何れに存在している
かを知ることができる。今、所望のデータが第1のリー
ドデータに連続しているデータであるものとすると、選
択ビット(S)107により、ブロックデータ・レジス
タ7に有効なデータが存在していることが示される。よ
って、制御回路11より出力される選択信号110によ
り、ブロックデータ・レジスタ7に保持されている所望
データが、データ選択回路10を介してCPUに送出さ
れる。一方、所望データが、第1のリードデータを含む
ブロックに存在していない場合には、選択ビット(S)
107によりキャッシュメモリ9内に有効なデータが存
在していることが示される。この場合においては、アド
レス選択回路3より出力されるキャッシュ索引アドレス
103により、キャッシュメモリ9における該当アドレ
スから読み出される所望データがデータ選択回路10に
入力され、制御回路11より出力される選択信号110
に制御されて、当該データ選択回路10において選択出
力されてCPUに送出される。
6においてキャッシュヒットであると判定される場合に
は、この判定結果を受けて、制御回路11においては、
キャッシュディレクトリ5より出力される選択ビット
(S)107に従って、所望データがブロックデータ・
レジスタ7とキャッシュメモリ9の何れに存在している
かを知ることができる。今、所望のデータが第1のリー
ドデータに連続しているデータであるものとすると、選
択ビット(S)107により、ブロックデータ・レジス
タ7に有効なデータが存在していることが示される。よ
って、制御回路11より出力される選択信号110によ
り、ブロックデータ・レジスタ7に保持されている所望
データが、データ選択回路10を介してCPUに送出さ
れる。一方、所望データが、第1のリードデータを含む
ブロックに存在していない場合には、選択ビット(S)
107によりキャッシュメモリ9内に有効なデータが存
在していることが示される。この場合においては、アド
レス選択回路3より出力されるキャッシュ索引アドレス
103により、キャッシュメモリ9における該当アドレ
スから読み出される所望データがデータ選択回路10に
入力され、制御回路11より出力される選択信号110
に制御されて、当該データ選択回路10において選択出
力されてCPUに送出される。
【0024】しかしながら、前記第2のリード要求が、
ヒット検出回路6においてキャッシュミスヒットである
と判定される場合には、前記第1のリード要求がキャッ
シュミスヒットであると判定された場合と同様に、制御
回路11からは、主記憶に対するブロックリードのため
のコマンドが、コマンド線111に出力される。この際
には、第1のリードデータを含むブロックデータは、ブ
ロックデータ・レジスタ7に保持されたままの状態にあ
る。この時において、キャッシュアドレス・レジスタ2
に保持されている第1のリード要求時におけるキャッシ
ュ索引アドレスは、制御回路11から出力される読み出
し制御信号113により制御されてアドレス選択回路3
に出力される。そして、アドレス選択回路3からは、制
御回路11から送られてくる選択信号112により制御
されて、キャッシュ索引アドレス103が出力される。
次いで、ブロックデータ・レジスタ7に保持されている
ブロックデータは、キャッシュメモリ書き込み回路8に
入力され、当該キャッシュメモリ書き込み回路8の制御
作用により、キャッシュメモリ9に書き込まれる。また
一方において、キャッシュディレクトリ書き込み回路4
の制御により、キャッシュディレクトリ5より出力され
る選択ビット(S)107は、キャッシュメモリ9に有
効なデータが存在することを示すように更新される。こ
れにより、第1のリードデータを含むブロックデータは
キャッシュメモリ9に格納され、当該キャッシュメモリ
9内に存在する状態になる。
ヒット検出回路6においてキャッシュミスヒットである
と判定される場合には、前記第1のリード要求がキャッ
シュミスヒットであると判定された場合と同様に、制御
回路11からは、主記憶に対するブロックリードのため
のコマンドが、コマンド線111に出力される。この際
には、第1のリードデータを含むブロックデータは、ブ
ロックデータ・レジスタ7に保持されたままの状態にあ
る。この時において、キャッシュアドレス・レジスタ2
に保持されている第1のリード要求時におけるキャッシ
ュ索引アドレスは、制御回路11から出力される読み出
し制御信号113により制御されてアドレス選択回路3
に出力される。そして、アドレス選択回路3からは、制
御回路11から送られてくる選択信号112により制御
されて、キャッシュ索引アドレス103が出力される。
次いで、ブロックデータ・レジスタ7に保持されている
ブロックデータは、キャッシュメモリ書き込み回路8に
入力され、当該キャッシュメモリ書き込み回路8の制御
作用により、キャッシュメモリ9に書き込まれる。また
一方において、キャッシュディレクトリ書き込み回路4
の制御により、キャッシュディレクトリ5より出力され
る選択ビット(S)107は、キャッシュメモリ9に有
効なデータが存在することを示すように更新される。こ
れにより、第1のリードデータを含むブロックデータは
キャッシュメモリ9に格納され、当該キャッシュメモリ
9内に存在する状態になる。
【0025】キャッシュメモリ9およびキャッシュディ
レクトリ5の更新が終了すると、再度第2のリード要求
のアドレスの下位ビット(キーアドレス)102が、キ
ャッシュ索引アドレス103として選択されるように、
制御回路11からは選択信号112が出力されてアドレ
ス選択回路3に入力される。一般に、ブロックリード要
求後において、主記憶から所望データが転送されてくる
までにはかなりの時間がかかるため、この一連の処理を
行う時間としては十分に確保される。主記憶から、信号
線114を介して所望データを含むブロックデータが転
送されてくると、最初に説明した第1のリード要求がキ
ャッシュミスした場合と同様に、CPUに対しては所望
データが送出され、ブロックデータ・レジスタ7にブロ
ックデータが保持される。また、キャッシュディレクト
リ5の更新が行われ、キャッシュ索引アドレス103と
して、アドレスの下位ビット(セットアドレス)102
がアドレスレジスタ1よりキャッシュアドレス・レジス
タ2に入力されて保持される。
レクトリ5の更新が終了すると、再度第2のリード要求
のアドレスの下位ビット(キーアドレス)102が、キ
ャッシュ索引アドレス103として選択されるように、
制御回路11からは選択信号112が出力されてアドレ
ス選択回路3に入力される。一般に、ブロックリード要
求後において、主記憶から所望データが転送されてくる
までにはかなりの時間がかかるため、この一連の処理を
行う時間としては十分に確保される。主記憶から、信号
線114を介して所望データを含むブロックデータが転
送されてくると、最初に説明した第1のリード要求がキ
ャッシュミスした場合と同様に、CPUに対しては所望
データが送出され、ブロックデータ・レジスタ7にブロ
ックデータが保持される。また、キャッシュディレクト
リ5の更新が行われ、キャッシュ索引アドレス103と
して、アドレスの下位ビット(セットアドレス)102
がアドレスレジスタ1よりキャッシュアドレス・レジス
タ2に入力されて保持される。
【0026】
【発明の効果】以上説明したように、本発明は、キャッ
シュミスヒット時のブロックデータを直接キャッシュメ
モリには書込まずに、ブロックデータ・レジスタ内に一
旦保持しておき、次のキャッシュミスヒット時のブロッ
クリード中に当該ブロックデータをキャッシュメモリに
書込むことにより、CPUから連続して送出されてくる
リード要求に対しても、キャッシュメモリに対する書込
みと競合することがなくなり、キャッシュの索引を支障
なく行うことができるという効果がある。
シュミスヒット時のブロックデータを直接キャッシュメ
モリには書込まずに、ブロックデータ・レジスタ内に一
旦保持しておき、次のキャッシュミスヒット時のブロッ
クリード中に当該ブロックデータをキャッシュメモリに
書込むことにより、CPUから連続して送出されてくる
リード要求に対しても、キャッシュメモリに対する書込
みと競合することがなくなり、キャッシュの索引を支障
なく行うことができるという効果がある。
【0027】また、有効なブロックデータがキャッシュ
メモリまたはブロックデータ・レジスタの何れに存在す
るかを示す選択ビットをキャッシュディレクトリに設け
て、キャッシュ索引時にこの選択ビットに従って、キャ
ッシュメモリまたはブロックデータ・レジスタから所望
データを得るようにすることにより、同一ブロックの連
続したリード要求時においても、特別なキャッシュヒッ
ト/ミスヒット判定回路を設けることが不要となり、キ
ャッシュディレクトリの出力により、キャッシュヒット
/ミスヒットの判定を行うことができるという効果があ
る。
メモリまたはブロックデータ・レジスタの何れに存在す
るかを示す選択ビットをキャッシュディレクトリに設け
て、キャッシュ索引時にこの選択ビットに従って、キャ
ッシュメモリまたはブロックデータ・レジスタから所望
データを得るようにすることにより、同一ブロックの連
続したリード要求時においても、特別なキャッシュヒッ
ト/ミスヒット判定回路を設けることが不要となり、キ
ャッシュディレクトリの出力により、キャッシュヒット
/ミスヒットの判定を行うことができるという効果があ
る。
【図1】本発明の一実施例を示すブロック図である。
【図2】従来例を示すブロック図である。
【図3】他の従来例を示すブロック図である。
1、12 アドレスレジスタ 2 キャッシュアドレス・レジスタ 3 アドレス選択回路 4、14 キャッシュディレクトリ書込み回路 5、16 キャッシュディレクトリ 6、17 ヒット検出回路 7、19 ブロックデータ・レジスタ 8、20 キャッシュメモリ書込み回路 9、21 キャッシュメモリ 10、22 データ選択回路 11、18 制御回路 13 ブロックアドレス・レジスタ 15 ブロックビット検出回路 23、24 リクェストコード・レジスタ 25、26 リクェストアドレス・レジスタ 27 キャッシュアクセス制御回路 28 アドレスアレイ 29 メモリアクセス制御回路 30 データアレイ 31 バイパスバッファ 32 バイパスバッファ制御部 33、34、38 検出回路 35、37、39 切替え回路 36 ブロックアドレス・レジスタ
Claims (3)
- 【請求項1】 主記憶の1ブロック単位を所望ブロック
数格納するキャッシュメモリを少なくとも1組以上備え
るキャッシュ装置において、 前記1組以上のキャッシュメモリと、 中央処理装置(以下、CPUと云う)からの主記憶リー
ド要求がキャッシュミスヒットした時に、ブロックリー
ドにより主記憶から転送されてくるブロックデータを入
力して格納するブロックデータ・レジスタと、 前記主記憶リード要求時のアドレスを格納するアドレス
レジスタと、 前記キャッシュメモリまたは前記ブロックデータ・レジ
スタに、有効なブロックデータが存在するか否かを示す
有効ビット部、前記ブロックデータのアドレス情報(キ
ーアドレス)を含むアドレス情報部および前記有効なブ
ロックデータが前記キャッシュメモリ内に存在するかま
たは前記ブロックデータ・レジスタ内に存在するかを示
す選択ビット部により形成されるキャッシュディレクト
リと、 前記主記憶リード要求がキャッシュミスヒットした時
に、前記キャッシュディレクトリを索引するためのアド
レス(セットアドレス)が保持されるキャッシュアドレ
ス・レジスタと、 前記アドレスレジスタの出力と前記キャッシュアドレス
・レジスタの出力とを入力して、何れか一方を選択して
キャッシュ索引アドレスとして出力するアドレス選択回
路と、 前記ブロックデータ・レジスタからのブロックデータを
入力して、前記キャッシュメモリに対する書込み制御を
行うキャッシュメモリ書込み回路と、 前記主記憶リード要求に対応するデータを含むブロック
データが、前記キャッシュメモリまたは前記ブロックデ
ータ・レジスタの何れか一方に存在する(キャッシュヒ
ット)か否(キャッシュミスヒット)かを判定するヒッ
ト検出回路と、 前記アドレスレジスタのビット出力を受けて、前記キャ
ッシュディレクトリの更新を行うキャッシュディレクト
リ書込み回路と、 前記キャッシュメモリの出力と、前記ブロックデータ・
レジスタの出力と、前記主記憶から転送されてくるブロ
ックデータとを入力して、前記CPUに送出するデータ
を選択して出力するデータ選択回路と、 キャッシュミスヒット時のブロックリード要求出力制
御、前記データ選択回路を介してCPUに所望データを
出力する際の出力制御、前記キャッシュメモリ書込み回
路を介して前記キャッシュメモリにブロックデータを書
込む際の書込み制御、前記キャッシュディレクトリ書込
み回路を介して前記キャッシュディレクトリの更新を行
う際の更新制御、前記キャッシュアドレス・レジスタに
対する書込み制御および読出し制御、前記アドレス選択
回路を介してキャッシュ索引アドレスを生成する際の選
択制御を含む制御作用を行う制御回路と、 を少なくとも備えて構成されることを特徴とするシャッ
シュ制御方式。 - 【請求項2】 前記CPUより、第1の主記憶リード要
求に続いて送られてくる第2の主記憶リード要求に対応
して、前記第1の主記憶リード要求に対応する場合と同
様に、前記キャッシュディレクトリを索引し、当該索引
結果がキャッシュヒットならば前記キャッシュディレク
トリの選択ビット部の値に基づいて所望のデータを含む
ブロックデータが、前記キャッシュメモリ内に存在する
か、または前記ブロックデータ・レジスタ内に存在する
かを判断し、前記キャッシュメモリまたはブロックデー
タ・レジスタより、所望のデータを取り出して、前記C
PUに送出する請求項1記載のキャッシュ制御方式。 - 【請求項3】 前記CPUより、前記第2の主記憶リー
ド要求に続いて新たに送られてくる第3の主記憶リード
要求に対応してキャッシュミスヒットとなった場合に、
前記主記憶に対して所望のデータを含むブロックデータ
のリード要求を出力し、前記主記憶から当該ブロックデ
ータが転送されてくるまでの待ち時間内において、前記
キャッシュアドレス・レジスタに保持されている前回の
キャッシュミスヒット時のキャッシュ索引アドレスを、
前記キャッシュデイレクトリおよびキャッシュメモリの
索引アドレスとし、前回のキャッシュミスヒット時に主
記憶から転送されてきたブロックデータが保持されてい
る前記ブロックデータ・レジスタから、前記キャッシュ
メモリの該当アドレスに当該ブロック・データを書込
み、更に、前回キャッシュミスヒットした時に前記主記
憶から取り出された当該ブロックデータが、前記キャッ
シュメモリに存在することを示すように、前記キャッシ
ュディレクトリの選択ビット部の更新を行った後に、再
度第3の主記憶リード要求時のアドレスをキャッシュデ
ィレクトリおよびキャッシュメモリの索引アドレスとす
る請求項1記載のキャッシュ制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6119117A JPH07325759A (ja) | 1994-05-31 | 1994-05-31 | キャッシュ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6119117A JPH07325759A (ja) | 1994-05-31 | 1994-05-31 | キャッシュ制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07325759A true JPH07325759A (ja) | 1995-12-12 |
Family
ID=14753358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6119117A Pending JPH07325759A (ja) | 1994-05-31 | 1994-05-31 | キャッシュ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07325759A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63101943A (ja) * | 1986-10-17 | 1988-05-06 | Fujitsu Ltd | キヤツシユム−ブイン制御方式 |
JPH04293136A (ja) * | 1991-03-20 | 1992-10-16 | Nec Ibaraki Ltd | キャッシュ制御方式 |
-
1994
- 1994-05-31 JP JP6119117A patent/JPH07325759A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63101943A (ja) * | 1986-10-17 | 1988-05-06 | Fujitsu Ltd | キヤツシユム−ブイン制御方式 |
JPH04293136A (ja) * | 1991-03-20 | 1992-10-16 | Nec Ibaraki Ltd | キャッシュ制御方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5830319Y2 (ja) | コンピユ−タシステム | |
US4774687A (en) | Advanced store-in system for a hierarchy memory device | |
JPH0668736B2 (ja) | 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法 | |
JPH06259323A (ja) | デュアルポートデータキャッシュメモリ | |
JP3407808B2 (ja) | コンピュータシステム | |
JPH07325759A (ja) | キャッシュ制御方式 | |
JPH08195089A (ja) | 複数の条件を同時に検出するための装置、およびその方法 | |
JP2636485B2 (ja) | キャッシュ記憶装置 | |
JPH06161900A (ja) | キャッシュメモリ装置 | |
JP2591928B2 (ja) | キャッシュ記憶回路 | |
JPH1185613A (ja) | キャッシュメモリ | |
JP2864548B2 (ja) | 命令キャッシュ装置 | |
JPH04293136A (ja) | キャッシュ制御方式 | |
EP0400851A2 (en) | Efficient cache utilizing a store buffer | |
JPH06119238A (ja) | 主記憶制御方法および装置 | |
JPH0520192A (ja) | キヤツシユメモリのストア方式 | |
JP3074897B2 (ja) | メモリ回路 | |
JPH0332820B2 (ja) | ||
JP2001202286A (ja) | キャッシュメモリのフラッシュ制御回路及びその制御方法 | |
JPH0332821B2 (ja) | ||
JPH02156352A (ja) | キャッシュメモリ | |
JPH04242431A (ja) | 情報処理装置 | |
JPH0553908A (ja) | 高速アクセス記憶装置 | |
JPH0421048A (ja) | キャッシュメモリ装置 | |
JPH04239324A (ja) | 分岐先予測方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19971007 |