JPH02125347A - キャッシュリプレース用データバッファ装置 - Google Patents

キャッシュリプレース用データバッファ装置

Info

Publication number
JPH02125347A
JPH02125347A JP63277425A JP27742588A JPH02125347A JP H02125347 A JPH02125347 A JP H02125347A JP 63277425 A JP63277425 A JP 63277425A JP 27742588 A JP27742588 A JP 27742588A JP H02125347 A JPH02125347 A JP H02125347A
Authority
JP
Japan
Prior art keywords
address
data
mpu
cache
replace
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
JP63277425A
Other languages
English (en)
Inventor
Toshiyuki Muta
俊之 牟田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63277425A priority Critical patent/JPH02125347A/ja
Publication of JPH02125347A publication Critical patent/JPH02125347A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 キャッシュメモリ装置がリプレース中のデータをリード
するアクセスを保証するキャッシュリプレース用データ
バッファ装置に関し、 リプレースの終了を待つことなくリプレース中のデータ
をリードしてMPUに転送して処理効率を向上させるこ
とを目的とし、 キャッシュメモリ装置がリプレース中に、MPUよりリ
プレース中のデータをリードすべく新たに起動されたア
クセスを保証するキャッシュリプレース用データバッフ
ァ装置であって、キャッシユリプレース中のリプレース
アドレスを保持するレジスタと、リプレース中のデータ
を保持するリプレースデータバッファと、リプレースア
ドレスとMPUの新たなアクセスアドレスを比較するア
ドレス比較部と、両アドレスが一致しかつリード時の場
合に、前記バッファ内のアクセス対象データをリードし
てMPUに転送するデータ転送制御部を設けるように構
成する。
〔産業上の利用分野〕
本発明は、情報処理装置のキャッシュメモリ装置がリプ
レース中に、プロセッサよりリプレース中のデータをリ
ードすべく新たに起動されたアクセスを保証するキャッ
シュリプレース用データバッファ装置に関する。
〔従来の技術〕
キャッシュメモリ装置は、主メモリ装置とプロセッサの
速度差を調整するために設けられる小容量の高速なメモ
リ装置であるが、近年、小型計算機の分野においてもそ
の性能の大幅な向上に伴い、キャッシュメモリ装置の重
要性がクローズアップされるようになってきた。
プロセッサは主メモリ装置をアクセスするとき、最初に
キャッシュメモリ装置をアクセスし、ヒツトしたときは
そのアドレス領域にリード又はライトを行う。これによ
り、データのり一ド/ライト処理を高速に行うことがで
きる。キャッシュメモリ装置にミスヒントしたときは、
キャッシュメモリ装置よりアクセスの可能性が低いプロ
・ツクを追い出して空きブロックを作り、そこにアクセ
ス対象のある新ブロックを格納するリプレース処理が行
われる。
以下、第5図〜第7図を参照して、従来のキャッシュメ
モリ装置とその動作を、ダイレクトマツピングのキャッ
シュメモリ装置の場合を例にとって説明する。
第5図は、従来のキャッシュメモリ装置の構成をブロッ
ク図で示したものである。図において、20はプロセッ
サ(以下MPUで示す)、30はキャッシュメモリ装置
である。なお、図中の各構成要素及び経路中に表示され
る小文字の数字は、データのビット数を示すものである
MPU20において、21はMPUアクセスアドレスレ
ジスタ(以下MPUADRで示す)で、MPU20のア
クセスアドレスが格納される。MPUアクセスアドレス
はθ〜31032ビットで、15〜31の17ビツトが
上位アドレスを形成し、下位4〜14の11ビツトがC
ACHEアドレスを形成し、下位2〜14の13ビツト
がCACHEアクセスアドレスを形成する。
キャッシュメモリ装置30において、31はTAGメモ
リで、2にエントリを有し、各エントリにはMPUアク
セスアドレスの上位アドレス(15〜31ビツト)が格
納される。
32はスルーラッチで、MPUアクセスアドレスから下
位4〜14ビツトのCACHEアドレスを受け、MPU
20の発行するリプレース信号(以下REP信号で示す
)が加えられたときはこのキャッシュアドレスをラッチ
し、それ以外のときはスルーで通してTAGメモリ31
及び後述するデータメモリに加える。
33はアドレス比較部で、MPUADR21及びTAG
メモリ31よりリードしたMPUアクセスアドレスの上
位アドレス(15〜31ビツト)を比較し、一致したと
きにHIT信号を出力する。
このHIT信号によりアクセスが正常に行われたことを
MPU20に応答する応答信号が作成される。
34はデータメモリで、ロングワード(4バイト)幅で
32KBの容量を持ち、キャッシュデータが格納される
RAMである。
35はアドレスカウンタで、MPUADR21のビット
2及びピット3を受け、TAGメモリ31にリプレース
されるlブロック(16バイト)中の4バイトデータ(
ロングワード)のアドレスを示すアドレスビットを、リ
プレース中にカウントする。
36はアドレスセレクタで、REP信号を受けたとき、
すなわちリプレース時はアドレスカウント35の出力す
るアドレスビット(2ビツト)をセレクトし、REP信
号がオフのとき、すなわちリプレースでない通常アクセ
ス時は、MPUADR21のビット2及びビット3をセ
レクトする。
37はトランシーバで、2個のドライバ371及び37
2を有し、MPU20のデータ転送を行うMPUデータ
バス38とデータメモリ34のデータ転送を行うCAC
HEデータバス39を結合する。ドライバ371はCA
CHEデータバスのデータをMPUデータバス38に送
出し、ドライバ372はMPUデータバス38のデータ
をCACHEデータバス39に送出する。
次に、第5図のバッファ制御動作を、MPUアクセスア
ドレスがキャッシュメモリにヒツトしたときとミスヒツ
トしたときに分けて説明する。
(a)  キャッシュメモリにヒツト時の動作MPUア
クセスアドレスがキャッシュメモリにヒツトしたときの
動作を、第6図の動作タイミングチャートを参照して説
明する。
アクセス起動時は、MPU30が発行するアドレススト
ローブ(第6図の■)により、MPUADR21に格納
されたMPUアクセスアドレス中のCACHEアドレス
(下位4〜14ビツト)がスルーラッチ32に加えられ
る(第6図の■)。
アクセス起動時はMPU20の送出するREP信号はオ
フであるので、CACHEアドレスはスルーラッチ22
をスルーで通ってTAGメモリ31に加えられる(第6
図の■)。なお、最初のMPUアクセスアドレスはリー
ドアドレスであり、次ぎはライトアドレスである。
TAGメモリ31は、入力されたCACHEアドレスで
アクセスされるデータ、すなわちMPUアクセスアドレ
スの上位アドレス(15〜31ビツト)をリードしてア
ドレス比較部23に加える。
アドレス比較部33は、TAGメモリ31から入力され
たMPUアクセスアドレスの上位アドレスとMPUAD
R21よりリードしたMPUアクセスアドレスの上位ア
ドレスを比較し、両者が一致したときは、キャッシュメ
モリにヒツトしたことをMPU20に通知する。MPU
20は、キャッシュメモリにヒントしたときは、MPU
アクセスアドレス中のライトアドレスに同期してキャッ
シュデータ・ライトイネーブル信号(以下キャッシュデ
ータWE信号で示す)を発生する(第6図■)また、R
EP信号はオフに保持される。
また、キャッシュメモリにヒツトしたときは、リプレー
スは行われないので、TAGメモリ31にMPUアクセ
スアドレスの上位ビットのライトを行うためのTAGラ
イト信号(TAG  WT倍信号示される)は発生され
ない(第6図■)、またアドレスカウンタ35の出力は
利用されないか又は作動されない(第6図の■)。
REP信号がオフのとき、すなわちキャッシュメモリに
ヒツトしたときは、アドレスセレクタ36はMPUAD
R31のヒツト2及びビット3をセレクトする。このセ
レクトされたMPUアクセスアドレスのビット2及びヒ
ツト3は、スルーラッチ32からの下位4〜14ビツト
と結合され2〜14の13ビツトのCACHEアクセス
アドレスとしてデータメモリ34に加えられる。このC
ACHEアクセスアドレスにより、データメモリ34が
アクセスされる。
データメモリ34は、CACHEアクセスアドレスでア
クセスされたデータ(4バイト幅)を取り出し、リード
時は、CACHEデータバス39→ドライバ371→M
PUデータバス38の経路でMPU20に転送する(第
6図■、■のり一ド時)、またライト時は、MPU20
→MPUデータバス38→ドライバ371→CACHE
データバス39の経路でデータメモリ34に加えられた
データを、キャッシュデータWE信号を低レベルになっ
たタイミングでデータメモリ34上のCACHEアクセ
スアドレスエントリにライトする。
以上のようにして、キャッシュメモリにヒツトしたとき
は、そのデータメモリ34にアクセスして直ちにリード
/ライトが行われるので、リード/ライト処理を高速に
行うことができる。
(bl  キャッシュメモリにミスヒント時の動作MP
Uアクセスアドレスがキャッシュメモリにミスヒツトし
たときの動作を、第7図の動作タイミングチャートを参
照して説明する。
前述の(a)のヒツト時の動作の場合と同様に、アクセ
ス起動時は、MPU20が発行するアドレスストローブ
(第7図Φの10時点前)により、MPUADR21に
格納されたMPUアクセスアドレス中のCACHEアド
レス(下位4〜14ビツト)がスルーラッチ32に加え
られる(第7図■の10時点前)。アクセス起動時はR
EP信号はオフであるので、CACHEアドレスはスル
ーラッチ32をスルーで通ってTAGメモリ31に加え
られる(第7図■の10時点前)。
TAGメモリ31は、入力されたCACHEアドレスよ
りMPUアクセスアドレスの上位アドレス(15〜31
ビツト)をリードしてアドレス比較部33に送る。アド
レス比較部33は、TAGメモリ31及びMPUADR
21より入力されたMPUアクセスアドレスの両上位ア
ドレスを比較し、両者が不一致のときは、キャッシュメ
モリにミスヒツトしたことをMPU20に通知する。
MPU20は、キャッシュメモリにミスヒツトしたとき
は、リプレース処理を行うためにREP信号をオンにし
く第7図の10時点)、図示しない主メモリ装置に対し
て1ブロツク(16バイト)の転送制御を開始する。
REP信号がオンになると、スルーラッチ32は入力中
のCACHEアドレスをラッチする(第7図■の10時
点以後)。
一方、セレクタ36は、REP信号がオンになるとアド
レスカウンタ35の出力をセレクトする。
アドレスカウンタ35はMPUADR31のMPUアク
セスアドレスのビット2及びビット3をカウントアツプ
し、そのカウント値(01,10゜11.00)を順番
に出力する(第7図の■)。
MPU20は、MPUアドレスストローブに同期してT
AGWT信号を発生してTAGメモリ31に加える(第
7図の■)。これにより、MPUADR21にあるMP
Uアクセスアドレスの上位アドレス(15〜31ビツト
)がTAGメモリ31上のCACHEアドレスエントリ
にライトされる。
更にMPU20は、図示しない主メモリ装置のニブルモ
ードを使って4バイトづつ4回に分けて1ブロツクのリ
プレースデータを取り出し、データメモリ34に転送す
る(第7図の■)、それとともに、各4バイトデータ転
送に同期して、キャッシュデータWE信号をデータメモ
リ34に加える(第7図の■)。なお、前述のアドレス
カウンタ35のカウント動作と各4バイトデータ転送及
びキャッシュデータWEの送出は、同期して行われる。
一方、アドレスセレクタ36でセレクトされたアドレス
カウンタ35の2ビツト出力はスルーラッチ32にラッ
チされたCACHEアドレス(4〜14ビツト)と結合
され、MPUアクセスアドレスの下位2〜14の13ビ
ツトのCACHEアクセスアドレスとなってデータメモ
リ34に加えられる。このCACHEアクセスアドレス
は、CAC)IEアドレスより4バイト単位のデータエ
ントリを4個(16バイトの1ブロツク分)順番にアク
セスする。
これにより、CACHEアクセスアドレスに対応するデ
ータメモリ34上の4個のデータエントリには、図示し
ない主メモリ装置から転送された4個の4バイトデータ
(1ブロツク分のデータ)が格納される。
リプレースデータ中、最初の4バイトデータはミスヒツ
トしたアクセス対象データであるので、トランシーバ3
7は、主メモリ装置から転送される16バイトのリプレ
ースデータ中の最初の4バイトデータをCACHEデー
タバス→ドライバ371→MPUデータバス38の経路
でMPU20に送る(第7図の■)。
MPU20は、この4バイトデータをサンプルした後バ
スサイクルを終了するように制御する。
リプレースが行われるT、以後はキャッシュメモリ装置
30はビジーとなり、アクセスは■止される。したがっ
て、MPU20はバスサイクルを再開することは可能で
あるが、キャッシュメモリ装置30は参照するアクセス
であれば、リプレースが終了するまで待ち状態になり、
リプレース終7後にアクセスが起動される。
以上のようにして、キャッシュメモリにミスヒツトした
ときは、リプレース処理が行われる。
〔発明が解決しようとする課題〕
従来のキャッシュメモリ制御方式は、前述のように、キ
ャッシュメモリにミスヒツトしてリプレース処理を行っ
ているときは、キャッシュメモリを参照することができ
ず、リプレース終了まで待ち状態になる。
このため無駄な待ち時間が生じ、処理効率が低下すると
いう問題があった。特に、近年のように小型計算機の分
野においても処理の高速化が要望されるに伴い、この問
題も顕在化するようになってきた。
本発明は、リプレース中に次のキャッシュメモリに対す
るアクセスがリードで、かつリプレース中のブロックで
ある場合に、リプレースの終了を待つことなくリプレー
ス中のデータをリードしてプロセッサ20に転送して処
理効率を向上させるように改良したキャッシュリプレー
ス用データバッファ装置を提供することを目的とする。
〔課題を解決するための手段〕
プログラムは、その実行中に大きな分岐をすることは少
なく、利用するプログラムのアドレスは前のアドレスか
ら次のアドレスへと時間的に順番に移動することが多い
という性質を有し、この性質は、プログラムの動作特性
の局所性と呼ばれているものである。
キャッシュメモリは本来このプログラムの動作特性の局
所性を利用したもので、最近アクセスされたアドレスの
近傍のアドレスのデータが格納されている。これにより
、MPUアクセスアドレスがキャッシュメモリにヒツト
する可能性を高くしている。この場合、リプレースされ
たブロック内のデータにアクセスされる可能性は、プロ
グラムの動作特性の局所性から特に高いと考えられる。
本発明は、この点に着目してリプレースされたブロック
内のデータにアクセスされた場合に、そのデータをリプ
レース中に転送できるようにしたものである。
以下、前述の課題を解決するために本発明が採用した手
段を、第1図を参照して説明する。第1図は、本発明の
基本構成をブロック図で示したものである。
第1図において、lOは本発明のデータバッファ装置、
20はプロセッサ(MPUで示す)である。
MPU20において、21はMPUアクセスアドレスレ
ジスタ(MAADRで示す)で、MPU20のアクセス
アドレスが格納される。
データバッファ装置10において、11はリプレースア
ドレスレジスタ(以下REPADRで示す)で、キャッ
シュリプレース中のアドレスでリプレースアドレスを保
持する。
12はリプレニスデータバソファ(以下REPバフファ
で示す)で、リプレース中のデータを保持する。
13はアドレス比較部で、REPADRI 1のリプレ
ースアドレスと該リプレースアドレスに対応するMPU
アクセスアドレスの内容を比較する。
14はデータ転送制御部で、アドレス比較部13でアド
レスの一致がとれかつリード時の場合に、REPバンフ
ァ12内のアクセス対象データをリードして、MPU2
0に転送する制御を行う。
30は、キャッシュメモリ装置である。このキャッシュ
メモリ装置30の内容すなわち、TAGメモリ31、ス
ルーラッチ32、アドレス比較部33、データメモリ3
4、アドレスカウンタ35、アドレスセレクタ36、ト
ランシーバ37、ドライバ371,372、MPUデー
タバス38、CACHEデータバス39等は第5図で説
明したとおりであるので、説明は省略する。
〔作 用〕
第1図に示す本発明の動作を、第2図の動作タイミング
チャートを参照して説明する。
第2図の動作タイミングチャート中の■〜■により行わ
れる動作は、従来のキャッシュメモリ装置30によって
行われる動作である。
すなわち、MPU20が発行するアドレスストローブ(
第2図■の10時点前)により、MPUADR21によ
り、MPUADR21に格納されたMPUアクセスアド
レス中のCACHEアドレス部分がスルーラッチ32に
加えられる(第2図■の10時点前)。CAC)IBア
ドレスはスルーラッチ32をスルーで通ってTAGメモ
リ31に加えられる(第2図■の10時点前)。
TAGメモリ31は、入力されたCACHEアドレスよ
りMPUアドレスの上位アドレスをリードして、アドレ
ス比較部33に送る。アドレス比較部33は、TAGメ
モリ31及びMPUADR21より入力されたMPUア
クセスアドレスの両上位アドレスを比較し、両者が不一
致のときは、キャッシュメモリにミスヒツトしたことを
MPU20に通知する。
MPU20は、キャッシュメモリにミスヒツトしたとき
は、リプレース処理を行うためにREP信号をオンにし
く第2図のT0時点)、図示しない主メモリ装置に対し
て転送単位のデータ転送制御を開始する。
REP信号がオンになると、スルーラッチ32は入力中
のCACHEアドレスをラッチする(第2図■の10時
点以降)。
一方、アドレスセレクタ36は、REP信号がオンにな
るとアドレスカウンタ35の出力をセレクトする。アド
レスカウンタ35はMPUADR31のMPUアクセス
アドレスの下位ビットをカウントし、データメモリ34
をアクセスするCACHEアクセスアドレスの下位ビッ
ト値を出力する(第2図の■)。
MPU20は、MPUアドレスストローブに同期してT
AGWT信号を発生してTAGメモリ31に加える(第
2図の■)。これにより、MPUADR21にあるMP
Uアクセスアドレスの上位アドレスがTAGメモリ31
上のCACHEアドレスエントリにライトされる。
更にMPU20は、図示しない主メモリ装置より転送単
位のデータを取り出し、データメモリ34に転送する(
第2図の■)。それととともに、各転送単位のデータ転
送に同期して、キャッシュデータWE信号をデータメモ
リ34に加える(第2図の■)。なお、前述のアドレス
カウンタ35のカウント動作と各転送単位データ転送及
びキャッシュデータWE信号の送出は、同期して行われ
る。
一方、アドレスセレクタ36でセレクトされたアドレス
カウンタ35の下位ビット出力はスルーラッチ32にラ
ッチされたCACHEアドレスと結合され、CACHE
アクセスアドレスとなって、データメモリ34に加えら
れる。
これにより、データメモリ34には、主メモリ装置から
転送単位で転送されたリプレースデータが格納される(
図には、リプレースデータが4個の転送単位からなる場
合が示されている)。
トランシーバ37は、最初に転送された転送単位のリプ
レース用のデータ部分をMPU20に送る。MPU20
は、この転送単位のデータを受は取ると、以後のバスサ
イクルを終了させる(第2図■)。
以上説明した従来のキャッシュメモリ装置のデータメモ
リ34へのリプレースデータの転送と同期して、同じリ
プレースデータが各連送単位で順次REPバッファ12
に格納、保持されて行く (第2図の■、[相]、■、
■)。
また、リプレース中のアドレス(リプレースアドレス)
は、REPADRI 1に保持される。
MPU20は、最初のアクセスが終了すると、次のMP
Uアクセスアドレスによ5アクセスを開始するが、キャ
ッシュメモリ装置30は前述のリプレース処理中である
ので、アクセスを行うことができない。
しかしながら、本発明の場合は、MPUADR21にあ
る前記次のMPUアクセスアドレスの内容がREPAD
R11にあるリプレースアドレスの内容とアドレス比較
部13によって比較される。
アドレス比較部13は、両者の内容の比較結果をデータ
転送制御部14に通知する。
データ転送制御部14は、アドレス比較部13でアドレ
スの一致がとれかつリード時である場合に、REPバッ
ファ12内のアクセス対象データをリードしてMPU2
0に転送する。
アドレス比較部13でアドレスの一致がとれないか、又
は一致がとれてもライト時の場合は、REPバッファ1
2内のアクセス対象データをMPU20に転送すること
は行わない。
以上のように、リプレース中のデータを保持するREP
バッファ12を設けてリプレース中でもアクセスできる
ようにしたので、リプレースでもMPUアクセスアドレ
スでREPバフファ12をアクセスすることにより、リ
プレース中のデータをリードすることができる。
これにより、キャッシュメモリ装置3oにおけるリプレ
ース処理の終了を待つことなくリプレース中のデータの
リードが可能となり、無駄な待ち時間が無くなってMP
U20の処理効率を向上させることができる。
〔実施例〕 本発明の実施例を、第3図〜第5図を参照して説明する
。第3図は本発明の一実施例の構成の説明図、第4図は
同実施例の動作タイミングチャートである。第5図の従
来のキャッシュメモリ装置20については、°先に説明
したとおりである。
以下の実施例において、リプレース時のデータ転送単位
は4バイトであり、16バイトからなるブロック単位で
リプレースが行われるものとする。
(A)実施例の構成 第3図において、データバッファ装置10. リプレー
スアドレスレジスタ(REPADR)11゜リプレース
デ、−タバソファ (REPバッファ)12、アドレス
比較部13.データ転送制御部14゜プロセッサ(MP
U)20.MPUアクセスアドレスレジスタ(MPUA
DR)21及びキャッシュメモリ装置30については、
第1図で説明したとおりである。
また、キャッシュメモリ装置30におけるTAGメモリ
31.スルーラッチ32.アドレス比較部33.データ
メモリ34.アドレスカウンタ35、アドレスセレクタ
36.トランシーバ37゜ドライバ371,372.M
PUデータバス38゜CACHEデータバス39につい
ては、第5図で説明したとおりである。なお、図中に示
されている小文字の数字は、各データのビット数を示す
40は主メモリ制御部で、主メモリに対するアクセス制
御を行ってデータのり−ド/ライトを行・う。
データバッファ装置10において、REPADRllは
スルーランチで構成され、D端子にはMPUADR31
からその4〜31ビツトのMPUアクセスアドレスが入
力され、H(Hold)端子にはREP信号が入力され
る。REP信号がオフのときにMPUアクセスアドレス
はスルーラッチをスルーで通り、REP信号がオンにな
ると、そのときのMPUアクセスアドレスがランチされ
る。
REPバッファ12は4バイト幅のデータエントリを4
個備え、1ブロツク (16バイト)のリプレースデー
タが保持される。このREPバッファ12・において、
121はデコーダで、キャッシュメモリ装置30のアド
レスカウンタ36の出力をデコードし、RFPバッファ
12の4個のデータエントリをアクセスするアクセス信
号を発生する。
122゜〜122.はJK形のフリップフロップ(以下
JKFFで示す)で、REPバッファ12のデータエン
トリ (4個)に設けられ、そのデータエントリの有効
/無効を指示するフラグ(■。〜V、で示す)がセット
される。各JKFF 122o〜122.のに端子には
共通にREP信号の反転信号(*REPで示す)が入力
され、J端子にはデコーダ121からの各アクセス信号
がそれぞれ入力される。REP信号及びデコード信号が
共にオンのときにそのJKFFすなわちフラグはオン(
Hレベル)になって、そのデータエントリの有効が指示
され、デコード信号がオフのときそのJKFFすなわち
フラグはオフ(Lレベル)になってそのデータエントリ
の無効が指示される。
この各フラグ(V O〜■i)は対応するスルーラッチ
(次に説明)のホールド信号としても機能する。
123゜〜123.はスルーランチで、REPバッファ
12の4個のデータエントリとして機能する。各スルー
ラッチ123゜〜123.のD端子には主メモリ制御部
12からのリプレースデータが入力され、H端子には対
応するJKFF 122゜〜122.からホールド信号
(フラグv0〜V3)が入力される。ホールド信号がオ
ンすなわちフラグがオンになったとき、対応するスルー
ラッチにリプレースデータ(4バイト)がラッチされる
124はマルチプレクサ(以下MPXで示す)で、スル
ーラッチ123゜〜1233すなわちデータエントリの
一つをセレクトして出力する。125はインバータで、
REP信号を反転して*RFP信号を発生して、JKF
F 122゜〜122、のに端子に供給する。
データ転送制御部14において、141はデコーダで、
MPUADR31のMPUアクセスアドレス中の2及び
3ビツトをデコードし、REPバッファ1204個のデ
ータエントリを順番にセレクトするセレクト信号を発生
する。
142はマルチプレクサ(以下MPXで示す)で、デコ
ーダ141からのセレクト信号を受け、JKFF122
゜〜1223の出力するフラグをセレクトする。このセ
レクトされたフラグは、セレクトされたデータエントリ
の有効/無指示信号(以下VALID信号で示す)とし
て用いられる。
143はドライバで、MPX 124でセレクトされた
データエントリのリプレースデータをMPUデータバス
38に出力する。
144はAND回路で、REP、信号(2クロツク遅延
されたREP信号)、アドレス比較部13からのHIT
信号及びリード時を示すREAD信号がともにオンのと
きに出力してドライバ143を作動させる。なお、RE
AD/WRITE信号はMPU20より送出される。
145はAND回路で、MPX142からの■ALiD
信号、REP、、READ信号及びアドレス比較部13
からのHIT信号がともにオンのときに、アクセスが正
常に行われたことを指示する応答信号を出力する。
(B)実施例の動作 第3図の実施例の動作を、第4図の動作タイミングチャ
ートを参照して説明する。
MPLJ20は、システムのクロック(第4図の■)に
同期してMPUアドレスストローブ及びキャッシュメモ
リ装置20をアクセスするMPUアクセスアドレスを発
行する(第4図の■、■)。
このMPUアドレス(0〜31ビツト)は、MPUAD
R31に格納される。
キャッシュメモリ装置20においては、先に第1図で説
明したと同じようにしてアドレス比較部33によるヒツ
ト判定が行われる。
アドレス比較部34は、TAGメモリ31の上位アドレ
スとMPUADR31の上位アドレス(15〜31ビツ
ト)が一致しないと、MPU20にミスヒントを通知す
る。
MPU20は、このミスヒツト通知を受けると、リプレ
ース処理を行うためにREP信号をオンにしく第4図の
■)、主メモリ制御部40に対して1ブロツクのリプレ
ースデータの転送制御を開始する。このREP信号は、
キャッシュメモリ装置30のスルーラッチ32.アドレ
スセレクタ36゜REPバッファ12のJKFFl 2
2゜〜1223の各に端子及びREPADR11を構成
するスルーラッチのH端子に加えられる。
アドレスセレクタ36は、REP信号を受けるとアドレ
スカウンタ35の出力するアドレスを選択する。アドレ
スカウンタ36は、MPUアクセスアドレスのビット2
及びビット3を受け、リプレース中の16バイトデータ
(1ブロツク)を4バイト単位で区別するアドレス(0
1,10,11,00)を2クロック周期で発生する(
第4図■)。
以下、第1図、第2図、第5図及び第7図で説明したと
同じリプレース処理が行われる。すなわち、TAGメモ
リ31にミスヒツトしたMPUアクセスアドレスの上位
アドレスがライトされ、主メモリ制御部40からは、1
ブロツク(16バイト)のリプレースデータが4バイト
単位で転送されてデータメモリ34に順次格納される。
その際、MPUアクセスアドレス(アドレスカウンタ3
5のアドレスがrolJ)によってアクセスされたデー
タ(4バイト)は、ドライバ371及びMPUデータバ
ス38を経由してMPU20に送られる(第4図の@)
MPU20は更に、REP信号を2クロツク(4バイト
の転送処理時間)遅延させたREP、信号を発生してA
ND回路144及び145に加える(第4図の■)。
一方、REPバッファ12のデコーダ121は、アドレ
スカウンタ36のアドレスをデコードし、REPバッフ
ァ12の4個のデータエントリをアクセスするアクセス
信号を発生する。アドレスカウンタ36のアドレス値r
oIJ、rlOJ、r11」及び「00」に対応して、
JKFF122゜、1221.122□及び122.に
デコードされたアクセス信号が加えられる。
このアクセス信号を受け、JKFF122o〜122、
は、順番にオンになってフラグvo、V1.v2及びV
、を発生する(第4図の■〜[相])。
このフラグv0〜V、はホールド信号となって対応する
スルーラッチ123゜〜123.に加えられ、そのとき
主メモリ制御部40より転送された各4バイトデータを
ラッチする。これにより、スルーラッチ123゜にはア
ドレスカウンタ36のアドレス値が「00」のときの4
バイトデータD0がラッチされ、以下、スルーラッチ1
23+。
123を及び123.には、アドレス値が「Ol」「1
0」及び「11」のときの4バイトデータD+、1)g
及びり、がラッチされる(第4図の@〜■)。
ミスヒツトした次にアクセスを行うMPUアクセスアド
レスがMPUADR31にセットされると、データバッ
ファ装置10のアドレス比較部13は、MPUADR3
1のMPUアクセスアドレス(4〜31ビツト)とRE
PADR11にラッチされたリプレースアドレスを比較
する。REPADRIIには、REP信号が加えられた
ときにラッチされたMPUアクセスアドレス(4〜31
ビツト)が保持されている。次のMPUアクセスアドレ
スがリプレース中のブロック内のデータをアクセスする
ときは、そのアドレス値(4〜31ビツト)はREPA
DR11のリプレースアドレスと一致するので、アドレ
ス比較部13はHiT信号を出力し、AND回路144
及び145に加える。
一方、データバッファ装置10のデコーダ141は、M
PUADR31のMPUアクセスアドレス中のビット2
及びビット3をデコードし、REPバッファ12の4個
のデータエントリをセレクトするセレクト信号を発生し
て、MPX124及び142に加える。
MPX142は、このセレクト信号でJKFF122゜
〜122.の出力するフラグv0〜v3をセレクトし、
フラグがオンのときVALID信号を発生してAND回
路145に加える。
AND回路145は、MPX142から(7)VALI
D信号、REP、信号、READ信号及びHIT信号が
ともにオンのときに、アクセスが正常に行われたことを
指示する応答信号を発生してMPU20に通知する。
一方、MPX124は、デコーダ141からのセレクト
信号を受け、スルーラッチ123゜〜123、にラッチ
された4バイトの各リプレースデータを順番にセレクト
してドライバ143に送る。
またAND回路144は、RFP、信号、HIT信号及
びリード信号がともにオンのときに出力してドライバ1
43を作動させる。
これにより、次のアクセス用のMPUアクセスアドレス
に一致するアドレスの4バイトのリプレースデータがド
ライバ143よりMPUデータバス38を経由してMP
U20に転送される。MPUアクセスアドレスが第4図
の■に示すように、リプレースデータ中のアドレスが「
10」及び「01」であるとすると、このアドレスの4
バイトデータがセレクトされてMPU20に転送される
(第4図の@)。
以上、1ブロツク(16バイト)からなるリプレースデ
ータが4バイト単位で転送される場合を例にとって説明
したが、本発明はこれ以外の転送単位でリプレースデー
タが転送される場合にも適用されるものである。また、
REPバッファ12も、スルーラッチの他にレジスタを
用いて構成することもできる。
〔発明の効果〕
以上説明したように、本発明によれば次の諸効果が得ら
れる。
(1)  リプレース中のデータを保持するREPバッ
ファを設けてリプレース中でもアクセスできるようにし
たので、リプレースでもMPUアクセスアドレスでRE
Pバッファをアクセスすることにより、リプレース中の
データをリードすることができる。
(2)前記(1)により、キャッシュメモリ装置におけ
るリプレース処理の終了を待つことなくリプレース中の
データのリードが可能となり、無駄な待ち時間が無くな
ってMPUの処理効率を向上さセることができる。
【図面の簡単な説明】
第1図は、本発明の基本構成の説明図、第2図は、本発
明の動作タイミングチャート、第3図は、本発明の一実
施例の構成の説明図、第4図は、同実施例の動作タイミ
ングチャート、第5図は、従来のキャッシュメモリ装置
の説明図、第6図は、従来のキャッシュメモリ装置のキ
ャツシュヒツト時の動作タイミングチャー ト、 第7図は、従来のキャッシュメモリ装置のキャッシュミ
スヒツト時の動作タイミングチ ャートである。 第1図及び第3図において、 10・・・データバッファ装置、11・・・リプレース
アドレスレジスタ(REPADR) 、12・・・リプ
レースデータバッファ (REPバッファ)、13・・
・アドレス比較部、14・・・データ転送制御部、20
・・・プロセッサ(MPU) 、21・・・MPUアク
セスアドレスレジスタ(MPUADR) 、30・・・
キャッシュメモリ装置、31・・・TAGメモリ、32
・・・スルーラッチ、33・・・アドレス比較部、34
・・・データメモリ、35・・・アドレスカウンタ、3
6・・・アドレスセレクタ、37・・・トランシーバ、
38・・・MPUデータバス、39・・・CACHEデ
ータバス。

Claims (1)

  1. 【特許請求の範囲】 1、キャッシュメモリ装置(30)がリプレース中に、
    プロセッサ(20)よりプリレース中のデータをリード
    すべく新たに起動されたアクセスを保証するキャッシュ
    リプレース用データバッファ装置(10)であって、 (a)キャッシュリプレース中のリプレースアドレスを
    保持するリプレースアドレスレジスタ(11)と、 (b)リプレース中のデータを保持するリプレースデー
    タバッファ(12)と、 (c)リプレースアドレスレジスタ(11)のリプレー
    スアドレスと該リプレースアドレスに対応するプロセッ
    サ(20)の新たなアクセスアドレスの内容を比較する
    アドレス比較部(13)と、 (d)アドレス比較部(13)でアドレスの一致がとれ
    かつリード時の場合に、リプレースデータバッファ(1
    2)内のアクセス対象データをリードしてプロセッサ(
    20)に転送するデータ転送制御部(14)、 を備えたことを特徴とするキャッシュリプレース用デー
    タバッファ装置。
JP63277425A 1988-11-04 1988-11-04 キャッシュリプレース用データバッファ装置 Pending JPH02125347A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63277425A JPH02125347A (ja) 1988-11-04 1988-11-04 キャッシュリプレース用データバッファ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63277425A JPH02125347A (ja) 1988-11-04 1988-11-04 キャッシュリプレース用データバッファ装置

Publications (1)

Publication Number Publication Date
JPH02125347A true JPH02125347A (ja) 1990-05-14

Family

ID=17583380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63277425A Pending JPH02125347A (ja) 1988-11-04 1988-11-04 キャッシュリプレース用データバッファ装置

Country Status (1)

Country Link
JP (1) JPH02125347A (ja)

Similar Documents

Publication Publication Date Title
US5301296A (en) Microprocessor with cache memory
JP3204323B2 (ja) キャッシュメモリ内蔵マイクロプロセッサ
US8131951B2 (en) Utilization of a store buffer for error recovery on a store allocation cache miss
JPH06101225B2 (ja) コンピユータ・システム、コンピユータ・システム中のメモリの読取方法及び転送方法、メモリ制御の方法及びメモリ・コントローラ
JPH02190930A (ja) ソフトウエア命令実行装置
US4980819A (en) Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
JPH11501744A (ja) アドレス変換速度アップのための並列アクセスマイクロ−tlb
US5386579A (en) Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer
KR950000549B1 (ko) 데이타 처리 시스템에서의 오퍼랜드 이용도를 증가시키는 장치 및 방법
JP2001184211A (ja) 処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法
US5664230A (en) Data processing with adaptable external burst memory access
US5051894A (en) Apparatus and method for address translation of non-aligned double word virtual addresses
KR100218616B1 (ko) 현재의 트랜잭션동안 다음 어드레스를 제공하기 위한 전송방법 및 시스템
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
US5197133A (en) Control store addressing from multiple sources
US4737908A (en) Buffer memory control system
JPH02125347A (ja) キャッシュリプレース用データバッファ装置
JP2000148584A (ja) プリフェッチ方法および装置
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
US6904500B2 (en) Cache controller
JP3729832B2 (ja) キャッシュメモリ装置
JPH04340145A (ja) キャッシュメモリ装置
JP3078293B2 (ja) 記憶制御装置
JP2001344152A (ja) キャッシュメモリ装置