JPH04293136A - キャッシュ制御方式 - Google Patents

キャッシュ制御方式

Info

Publication number
JPH04293136A
JPH04293136A JP3080507A JP8050791A JPH04293136A JP H04293136 A JPH04293136 A JP H04293136A JP 3080507 A JP3080507 A JP 3080507A JP 8050791 A JP8050791 A JP 8050791A JP H04293136 A JPH04293136 A JP H04293136A
Authority
JP
Japan
Prior art keywords
directory
block
register
cache
data
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
JP3080507A
Other languages
English (en)
Inventor
Takumi Yamazaki
山崎 琢己
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.)
NEC Ibaraki Ltd
Original Assignee
NEC Ibaraki 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 NEC Ibaraki Ltd filed Critical NEC Ibaraki Ltd
Priority to JP3080507A priority Critical patent/JPH04293136A/ja
Publication of JPH04293136A publication Critical patent/JPH04293136A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュ制御方式に係
わり、特にブロックデータおよびディレクトリの書込み
制御を実現するためのキャッシュ制御方式に関するもの
である。
【0002】
【従来の技術】従来、この種のキャッシュ制御は、主記
憶上の連続した数ワードのデータを1ブロックと定義し
、任意のブロック数を格納するキャッシュメモリおよび
このキャッシュメモリに有効なブロックデータ(以下、
単にブロックと呼称する)が存在するか否かを示す情報
(ディレクトリ)を格納するキャッシュディレクトリを
持つ。そして、中央処理装置(以下、CPUと呼称する
)からの主記憶読出し時に、キャッシュメモリに有効な
データが存在する(キャッシュヒット)か否(キャッシ
ュミスヒット)かがチェックされ、キャッシュヒットな
らばキャッシュメモリから読出したデータをCPUに出
力し、キャッシュミスヒットならば、主記憶から所望デ
ータを含むブロックを読出す(以下、本動作をブロック
リードと呼称する)。このブロックリードにより1ブロ
ックを構成する数ワードのデータが主記憶から順次読出
される。
【0003】そして、読みだしたデータは順次キャッシ
ュメモリに書込み、同時に所望データをCPUに出力し
、キャッシュディレクトリの更新を行う。このとき、C
PUからの主記憶読出し時間を最小にするために、ブロ
ックリードにより最初に主記憶から読出すデータは、C
PUに出力するデータとしている。CPUは所望データ
を受け取ると、次の主記憶アクセスあるいは演算の実行
等が可能となる。
【0004】
【発明が解決しようとする課題】上述した従来のキャッ
シュ制御方式では、CPUからの主記憶読出しデータが
キャッシュミスヒットすると、ブロックリードにより主
記憶からブロックを読出し、CPUに所望データを出力
するとともに、キャッシュメモリに順次格納し、キャッ
シュディレクトリを更新する。このとき、所望データを
最初に主記憶から読出しCPUに出力するが、CPUか
らの主記憶読出しが連続すると、1ブロックのデータが
全てキャッシュメモリに書込まれた後でなければ、次の
主記憶読出しデータがキャッシュヒットかキャッシュミ
スヒットかがチェックできない(キャッシュビジーと呼
称する)という課題があった。
【0005】
【課題を解決するための手段】本発明のキャッシュ制御
方式は、主記憶の1ブロック単位を所望ブロック数格納
するキャッシュメモリと、1ブロックを格納するブロッ
クレジスタと、上記キャッシュメモリに有効なブロック
データが格納されているか否かを示す情報であるディレ
クトリを格納するキャッシュディレクトリと、上記ブロ
ックレジスタに格納されるブロックデータのディレクト
リを格納するディレクトリレジスタと、中央処理装置か
らの主記憶読出しデータが上記キャッシュメモリに存在
するか否かを検出する第1のヒット検出回路と、上記主
記憶読出しデータが上記ブロックレジスタに存在するか
否かを検出する第2のヒット検出回路と、上記キャッシ
ュメモリへ上記ブロックレジスタに格納されているブロ
ックデータを書込むキャッシュメモリ書込み信号と,上
記ブロックレジスタへ主記憶からの読出しデータを書込
むブロックレジスタ書込み信号と,上記キャッシュディ
レクトリへ上記ディレクトリレジスタに格納されている
ディレクトリを書込むキャッシュディレクトリ書込み信
号と,上記ディレクトリレジスタへ上記ブロックレジス
タに格納されるブロックデータのディレクトリを書込む
ディレクトリレジスタ書込み信号および上記中央処理装
置へ出力するデータを選択するデータ選択信号を含む各
種制御信号の生成および主記憶アクセスを制御する制御
回路を有し、主記憶読出しデータが上記キャッシュメモ
リおよび上記ブロックレジスタに存在しなかったとき発
生する主記憶からのブロックデータ読出しサイクル中に
、上記ブロックレジスタに格納されている有効なブロッ
クデータおよび上記ディレクトリレジスタに格納されて
いる有効なディレクトリをそれぞれ上記キャッシュメモ
リおよび上記キャッシュディレクトリに書込むようにし
たものである。
【0006】
【作用】本発明においては、キャッシュミスヒット時の
ブロックリードにより主記憶から読出されるブロックを
格納するブロックレジスタおよびこのブロックレジスタ
に格納されるブロックのディレクトリを格納するディレ
クトリレジスタを設け、CPUからの主記憶読出し時、
所望データがキャッシュメモリあるいはブロックレジス
タに存在するか否かを判定し、どちらにも存在しない(
キャッシュミスヒット)場合、ブロックリードにより主
記憶から所望データを含むブロックの読出しを行い、ま
た、ブロックがブロックレジスタに格納されるまでに、
前回発生したキャッシュミスヒット時のブロックリード
によってブロックレジスタおよびディレクトリレジスタ
に格納されているブロックおよびディレクトリをそれぞ
れキャッシュメモリおよびキャッシュディレクトリに格
納する。
【0007】
【実施例】図1は本発明の一実施例を示したブロック図
である。この図1において、CPU(図示せず)からの
主記憶アクセス時のアドレスがセットされるアドレスレ
ジスタ、2は主記憶の1ブロック単位を所望ブロック数
格納するキャッシュメモリで、任意のコンパートメント
構成が可能である(この実施例では1コンパートメント
である)。3は1ブロックを格納するブロックレジスタ
で、CPUからの主記憶読出しデータがキャッシュミス
ヒット時,ブロックリードにより主記憶から読出した1
ブロックが格納される。4はこのブロックレジスタ3に
格納されている有効なブロックをキャッシュメモリ2に
書込むキャッシュメモリ書込み回路である。
【0008】5はキャッシュメモリ2に有効なブロック
データが格納されているか否かを示す情報(ディレクト
リ)を格納するキャッシュディレクトリ、6はブロック
レジスタ3に格納されるブロックデータのディレクトリ
を格納するディレクトリレジスタ、7はこのディレクト
リ6に格納されているディレクトリをキャッシュディレ
クトリ5に書込むキャッシュディレクトリ書込み回路、
8はCPUからの主記憶読出しデータがキャッシュメモ
リ2に存在するか否かを検出するヒット検出回路、9は
主記憶読出しデータがブロックレジスタ3に存在するか
否かを検出するヒット検出回路であり、アドレス上位ビ
ットADHとディレクトリ(有効性ビットおよびブロッ
クのアドレス情報)とを比較することにより、キャッシ
ュヒットがキャッシュミスヒットかを判別する。
【0009】10は主記憶読出しデータが、キャッシュ
ヒットした場合はキャッシュメモリ2またはブロックレ
ジスタ3から読出したデータをCPUに出力しキャッシ
ュミスヒットの場合は主記憶から読出したデータをCP
Uに出力するデータ選択回路、11はキャッシュミスヒ
ット時のブロックリードおよび主記憶書込み等の主記憶
アクセス制御と、キャッシュメモリ2へブロックレジス
タ3に格納されているブロックデータを書込むためのキ
ャッシュメモリ書込み信号12a,ブロックレジスタ3
へブロックリードによるブロック、すなわち、主記憶か
らの読出しデータを書込むブロックレジスタ書込み信号
12bと,キャッシュディレクトリ5へディレクトリレ
ジスタ6に格納されているディレクトリを書込むキャッ
シュディレクトリ書込み信号12cと、ディレクトリレ
ジスタ6へブロックレジスタ3に格納されるブロックデ
ータのディレクトリを書込むためのディレクトリレジス
タ書込み信号12dおよびCPUへ出力するデータを選
択するデータ選択信号12eを含む各種制御信号の生成
および主記憶アクセスを制御する制御回路である。ここ
で、ADはアドレスを示し、ADLはアドレス下位ビッ
ト、ADHはアドレス上位ビット、CMDは主記憶アク
セスコマンドを示す。
【0010】そして、主記憶読出しデータがキャッシュ
メモリ2およびブロックレジスタ3に存在しなかったと
き発生する主記憶からのブロックデータ読出しサイクル
中に、ブロックレジスタ3に格納されている有効なブロ
ックデータおよびディレクトリレジスタ6に格納されて
いる有効なディレクトリを、それぞれキャッシュメモリ
2およびキャッシュディレクトリ5に書込むように構成
されている。
【0011】次にこの図1に示す実施例の動作を図2お
よび図3を参照して説明する。
【0012】図2は図1の動作説明に供するCPUから
の主記憶読出しデータがキャッシュヒットしたときのタ
イムチャートで、(a)はCPU動作ステージを示した
ものであり、(b)はアドレスレジスタ1、(c)はヒ
ット検出回路8,9、(d)はキャッシュメモリ2およ
びブロックレジスタ3、(e)はデータ選択回路10に
おける各動作を示したものである。まず、CPUから主
記憶読出しコマンド(リード)およびアドレスが出力さ
れる(図2の(a)参照),このアドレスはアドレスレ
ジスタ1にセットされ、アドレスの下位ビット(ADL
)を索引アドレスとしてキャッシュディレクトリ5およ
びディレクトリレジスタ6からディレクトリが読出され
、ヒット検出回路8およびヒット検出回路9でアドレス
の上位ビット(ADH)とディレクトリが比較され、キ
ャッシュヒット/キャッシュミスヒットが判定される(
図2の(b),(c)参照)。つぎに、これと同時に、
アドレスの下位ビット(ADL)を索引アドレスとして
、キャッシュメモリ2およびブロックレジスタ3からデ
ータが読出される。いま、キャッシュヒットであるため
、制御回路11からデータ選択信号12eがデータ選択
回路10に送られ、CPUに所望データを出力する。
【0013】図3は図1の動作説明に供するキャッシュ
ミスヒット時のタイムチャートで、(a)はCPU動作
ステージを示したものであり、(b)はアドレスレジス
タ1、(c)はヒット検出回路8,9、(d)は制御回
路11、(e)はキャッシュメモリ2,キャッシュディ
レクトリ5、(f)は主記憶から、(g)はデータ選択
回路10、(h)はブロックレジスタ3、(i)はディ
レクトリレジスタ6における各動作を示したものである
【0014】まず、ヒット検出回路8,9によりキャッ
シュミスヒットが検出されると(図3の(c)参照)、
制御回路11から主記憶に対しブロックリード要求が行
われ、主記憶から1ブロックを構成する数ワードのデー
タが順次出力される。このとき、すなわち、主記憶から
データが出力されブロックレジスタ3にセットされるま
での間に、制御回路11からキャッシュメモリ書込み信
号12aおよびキャッシュディレクトリ書込み信号12
cが出力され、前回発生したキャッシュミスヒット時の
ブロックリードによりブロックレジスタ3に格納されて
いるブロックおよびディレクトリレジスタ6に格納され
ているディレクトリを、それぞれキャッシュメモリ2お
よびキャッシュディレクトリ5に書込む(図3の(e)
参照)。つぎに、主記憶から順次出力されたデータはブ
ロックレジスタ書込み信号12bによってブロックレジ
スタ3に格納され、これと同時にディレクトリレジスタ
書込み信号12dによってディレクトリレジスタ6に新
しいディレクトリが格納される(図3の(h),(i)
参照)。また、データ選択信号12eによってデータ選
択回路10を介してCPUに所望データが出力される。
【0015】
【発明の効果】以上説明したように本発明のキャッシュ
制御方式は、キャッシュミスヒット時のブロックリード
により主記憶から読出されるブロックを格納するブロッ
クレジスタおよびこのブロックレジスタに格納されるブ
ロックのディレクトリを格納するディレクトリレジスタ
を設け、CPUからの主記憶読出し時、所望データがキ
ャッシュメモリあるいはブロックレジスタに存在するか
否かを判定し、どちらにも存在しない(キャッシュミス
ヒット)場合、ブロックリードにより主記憶から所望デ
ータを含むブロックの読出しを行い、また、ブロックが
ブロックレジスタに格納されるまでに、前回発生したキ
ャッシュミスヒット時のブロックリードによってブロッ
クレジスタおよびディレクトリレジスタに格納されてい
るブロックおよびディレクトリをそれぞれキャッシュメ
モリおよびキャッシュディレクトリに格納することによ
り、CPUからの主記憶読出しが連続したとき、キャッ
シュメモリへのブロックの書込みとデータの読出しの競
合によって発生する待ち時間(キャッシュビジー)をな
くすことができる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示したブロック図である。
【図2】図1の動作説明に供するキャッシュヒット時の
タイムチャートである。
【図3】図1の動作説明に供するキャッシュミスヒット
時のタイムチャートである。
【符号の説明】
1  アドレスレジスタ 2  キャッシュメモリ 3  ブロックレジスタ 4  キャッシュメモリ書込み回路 5  キャッシュディレクトリ 6  ディレクトリレジスタ 7  キャッシュディレクトリ書込み回路8,9  ヒ
ット検出回路 10  データ選択回路 11  制御回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  主記憶の1ブロック単位を所望ブロッ
    ク数格納するキャッシュメモリと、1ブロックを格納す
    るブロックレジスタと、前記キャッシュメモリに有効な
    ブロックデータが格納されているか否かを示す情報であ
    るディレクトリを格納するキャッシュディレクトリと、
    前記ブロックレジスタに格納されるブロックデータのデ
    ィレクトリを格納するディレクトリレジスタと、中央処
    理装置からの主記憶読出しデータが前記キャッシュメモ
    リに存在するか否かを検出する第1のヒット検出回路と
    、前記主記憶読出しデータが前記ブロックレジスタに存
    在するか否かを検出する第2のヒット検出回路と、前記
    キャッシュメモリへ前記ブロックレジスタに格納されて
    いるブロックデータを書き込むキャッシュメモリ書込み
    信号と,前記ブロックレジスタへ主記憶からの読出しデ
    ータを書き込むブロックレジスタ書込み信号と,前記キ
    ャッシュディレクトリへ前記ディレクトリレジスタに格
    納されているディレクトリを書込むキャッシュディレク
    トリ書込み信号と,前記ディレクトリレジスタへ前記ブ
    ロックレジスタに格納されるブロックデータのディレク
    トリを書込むディレクトリレジスタ書込み信号および前
    記中央処理装置へ出力するデータを選択するデータ選択
    信号を含む各種制御信号の生成および主記憶アクセスを
    制御する制御回路を有し、主記憶読出しデータが前記キ
    ャッシュメモリおよび前記ブロックレジスタに存在しな
    かったとき発生する主記憶からのブロックデータ読出し
    サイクル中に、前記ブロックレジスタに格納されている
    有効なブロックデータおよび前記ディレクトリレジスタ
    に格納されている有効なディレクトリをそれぞれ前記キ
    ャッシュメモリおよび前記キャッシュディレクトリに書
    込むようにしたことを特徴とするキャッシュ制御方式。
JP3080507A 1991-03-20 1991-03-20 キャッシュ制御方式 Pending JPH04293136A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3080507A JPH04293136A (ja) 1991-03-20 1991-03-20 キャッシュ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3080507A JPH04293136A (ja) 1991-03-20 1991-03-20 キャッシュ制御方式

Publications (1)

Publication Number Publication Date
JPH04293136A true JPH04293136A (ja) 1992-10-16

Family

ID=13720232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3080507A Pending JPH04293136A (ja) 1991-03-20 1991-03-20 キャッシュ制御方式

Country Status (1)

Country Link
JP (1) JPH04293136A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07325759A (ja) * 1994-05-31 1995-12-12 Nec Ibaraki Ltd キャッシュ制御方式
US6154814A (en) * 1997-06-16 2000-11-28 Nec Corporation Cache device that reduces waiting time necessary for a given subsequent request to gain access to the cache

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63101943A (ja) * 1986-10-17 1988-05-06 Fujitsu Ltd キヤツシユム−ブイン制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63101943A (ja) * 1986-10-17 1988-05-06 Fujitsu Ltd キヤツシユム−ブイン制御方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07325759A (ja) * 1994-05-31 1995-12-12 Nec Ibaraki Ltd キャッシュ制御方式
US6154814A (en) * 1997-06-16 2000-11-28 Nec Corporation Cache device that reduces waiting time necessary for a given subsequent request to gain access to the cache

Similar Documents

Publication Publication Date Title
US4608671A (en) Buffer storage including a swapping circuit
US6594732B1 (en) Computer system with memory system in which cache memory is kept clean
JPH04293136A (ja) キャッシュ制御方式
JPH0774994B2 (ja) バッファ記憶制御装置のosc検出方式
JP3614428B2 (ja) キャッシュメモリ装置
JPS60701B2 (ja) デ−タ処理装置
JPH06161900A (ja) キャッシュメモリ装置
JP2591928B2 (ja) キャッシュ記憶回路
JPH0115900B2 (ja)
JPH06119236A (ja) 主記憶制御回路
JP2864548B2 (ja) 命令キャッシュ装置
JPH03116345A (ja) データ処理装置
JPH07325759A (ja) キャッシュ制御方式
JPH07219845A (ja) キャッシュメモリ制御方式
JPH11143770A (ja) 多バンクdram制御装置
JPH04125747A (ja) キャッシュメモリ制御装置
JPH04242431A (ja) 情報処理装置
JPH04239324A (ja) 分岐先予測方式
JPH02259946A (ja) キャッシュメモリの切り離し制御方式
JPH0421048A (ja) キャッシュメモリ装置
JPH0553908A (ja) 高速アクセス記憶装置
JPH02304649A (ja) キャッシュメモリ高速アクセス方式
JPH0460729A (ja) 情報処理装置
JPS59207097A (ja) バツフアメモリ制御方式
JPH0512121A (ja) データ処理装置