JPH02110752A - キャッシュメモリ制御方式 - Google Patents

キャッシュメモリ制御方式

Info

Publication number
JPH02110752A
JPH02110752A JP63264427A JP26442788A JPH02110752A JP H02110752 A JPH02110752 A JP H02110752A JP 63264427 A JP63264427 A JP 63264427A JP 26442788 A JP26442788 A JP 26442788A JP H02110752 A JPH02110752 A JP H02110752A
Authority
JP
Japan
Prior art keywords
read
cache
word
data
cache memory
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.)
Granted
Application number
JP63264427A
Other languages
English (en)
Other versions
JP2716163B2 (ja
Inventor
Hitoshi Takagi
均 高木
Masatoshi Koto
小藤 雅俊
Shuya Hirayama
平山 修也
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 Corp
NEC Engineering Ltd
Original Assignee
NEC Corp
NEC Engineering 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 Corp, NEC Engineering Ltd filed Critical NEC Corp
Priority to JP63264427A priority Critical patent/JP2716163B2/ja
Publication of JPH02110752A publication Critical patent/JPH02110752A/ja
Application granted granted Critical
Publication of JP2716163B2 publication Critical patent/JP2716163B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 玖拵欠1 本発明はキャッシュメモリ制御方式に関し、特に主記憶
装置内のデータのコピーを複数ワードからなるブロック
単位で保持し、これ等ブロック内のデータの有効性を管
理するための有効ビットをワード単位で有するキャッシ
ュメモリの制御方式キャッシュメモリの制御方式として
は、キャッシュメモリ装置のディレクトリ部においてブ
ロックアドレスとこのブロックアドレスに対する1ピツ
1〜の有効ピッl〜をデータ部に登録して、ブ0 ツク
単位でデータの管理を行う方式のものがある。
この様な制御方式では、キャッシュメモリ装置に対して
読出し要求が送られてくると、ブロックアドレスと有効
ビットとの判定によりキャッシュミスが生じた場合、主
記憶装置に対してブロックの読出しを行うようになって
いる。
一方、ある種の情報処理システムでは、キャッシュメモ
リ装置がブロックの内容と主記憶装置の内容との対応性
を、複数の有効ビットで管理しているものかある。すな
わち、キャッシュメモリ装置内のブロック内容をこのブ
ロックを構成するワード単位にて管理すべく、ワード毎
に有効ビットを設けたものがある。
この方式では、ストア動作や他のプロセッサのストア動
作等によって、ブロック内の部分領域であるワードに対
応する有効ビットをリセットして無効化している。従っ
て、ある瞬間においてはブロック内の1つの有効ビット
のみが無効を示している場合が生じ得る。この様な場合
にも、読出し要求によってキャッシュミスが生じたとき
、主記憶装置に対して5読読出し要求のあったブロック
の読出しを行っている。
この様に、従来の方式では、ブロック内の有効ビットが
複数あるにもかかわらず、ブロック内のただ1つの有効
とットが無効になっているために生じたキャッシュミス
時にも、主記憶装置に対して5読ブロックの読出しを行
うようになっているので、メモリのアクセス時間がかか
り過ぎ、動作速度の低下を招来することになる。
また、従来の方式では、ある瞬間においてはブロック内
の有効ビットが1つ以上(少くとも1つ)無効を示して
いる場合が生じ得る。この様な場合にも、読出し要求に
よりキャツシュヒツトが生じたとき、主記憶装置に対し
てブロック読出しは行っていない。従って、キャッシュ
ミスするまではキャッシュメモリ装置に対して有効デー
タを反映できないことになる。
ここで、アクセスされたブロックは以後アクセス頻度が
一般的に比較的高くなるという事実からすれば、上述の
様な場合にはキャツシュヒツト率が低下して、やはり処
理速度が低下するという欠点がある。
良班座亘旬 本発明の目的は、メモリアクセスの動作時間を短縮して
処理速度を大としたキャッシュメモリ制御方式を提供す
ることである。
本発明の他の目的は、有効ビットが1つのときのキャッ
シュミス時におりるメモリアクセス時間の短縮を図った
キャッシュメモリ制御方式を提供することである。
本発明のさらに他の目的は、有効ビットが1つ以上ある
ときのキャツシュヒツト時においてもキャッシュミスの
如く主記憶装置からブロックデータを読出してキャッシ
ュメモリへデータを反映させ、キャツシュヒツト率の向
上を図ったキャッシュメモリ制御方式を提供することで
ある。
良肌座■蔦 本発明によれば、主記憶装置内のデータのコピーを複数
ワードからなるブロック単位で保持し、これ等ブロック
内のデータの有効性を管理するなめの有効ビットをワー
ド単位で有するキャッシュメモリの制御方式であって、
前記キャッシュメモリへの読出し要求に応答してキャツ
シュヒツトかキャッシュミスかを判定する手段と、キャ
ッシュミスと判定されたとき、読出し対象のブロックに
おけるワード単位の有効ビットの無効化状態を検出する
手段を設け、この検出結果が1つのワードのみの無効を
示しているとき、この無効となっているワードを前記主
記憶装置から読出ずと共に他のワードは前記キャッシュ
メモリから読出し、前記検出結果が複数のワードの無効
を示しているとき、前記主記憶装置から読出し要求のブ
ロックを読出すようにしたことを特徴とするキャッシュ
メモリ制御方式が得られる。
更に、本発明によれば、主記憶装置内のデータのコピー
を複数ワードからなるブロック単位で保持し、これ等ブ
ロック内のデータの有効性を管理するための有効ビット
をワード単位で有するキャッシュメモリの制御方式であ
って、前記キャッシュメモリへの読出し要求に応答して
キャツシュヒツトかキャッシュミスかを判定する手段と
、キャツシュヒツトと判定されたとき、読出し対象のブ
ロックにおけるワード単位の有効ビットの無効化状態を
検出する手段を設c1、この検出結果が少なくとも1つ
のワードの無効を示しているとき、読出し要求元に対し
てキャッシュメモリから対応するブロックを読出して送
出すると共に前記主記憶装置に対して対応するブロック
の読出しをなすようにしたことを特徴とするキャッシュ
メモリ制御方式が得られる。
因」1伝 次に、本発明の実施例について図面を参照して説明する
第1図は本発明の一実施例のブロック図であり、第2図
は続出要求アドレスとアドレスアレイ(AA)5に登録
されているアドレスとの比較ゲート群8の詳細図である
。尚、ここでは1セツトのセットアソシアティブキャッ
シュについて説明し、また各ワードごとに有効ビットが
存在していることを想定している。
先ず、図示せぬ上位装置からのリードリクエストに関す
る動作について説明する。リードリクエストとそのアド
レスは信号線51.52を通じてアドレスセレクタ(S
AX)1.ステータスセレクタ(SSX)2により選択
され、アドレスレジスタ(AAR)3とステータスレジ
スタ(SAR)4に夫々格納される。
当該リクエストが5AR4よってリードリクエストであ
ることが解読されると、アドレスアレイ(AA)5とA
AR3の出力の一部59によりアドレッシングされ、A
A5の出力とAAR3の出力の別の一部が比較器7によ
り比較される。AARlの下位2ビツトは信号線60を
通じてリードライトデコータ(R,WDEC)6へ入力
され、このデコーダ6により各出力がブロック内のワー
ド位置を表わす様にデコードされる。この場合は2ビツ
トが4本になる。AA5のVOから■3の各部はブロッ
ク内の各誌の有効性を表示しており、ゲート群8により
AARIに保持されているアドレスのブロック内のワー
ドに対するvOからV3において有効性が比較される。
AAR3によるAA5のアクセスの結果は以下の3つに
分類され、ステータスレジスタ(SBR)10に格納さ
れる。
a、−’rヤッシュヒット(条件+ IIIT) ;キ
ャッシュ記憶内に要求されたデータが存在する。
b、キャッシュミス(条件:旧S −HULTFHIS
) 。
キャッシュ記憶内に要求されたデータが存在せず、それ
は、ブロック内の1語だけの有効ビットが無効になって
いる。
c、’rヤyizユミス(条件: 813− HULT
IHIS)  ;キャッシュ記憶内に要求されたデータ
が存在せず、それはブロック内の2語以上の有効ビット
が無効になっている。
5BRIOの状態から次のサイクルの動作が決定する。
a、旧■の場合ニアドレスレジスタ(ABR)9の一部
出力73によりデータアレイ(DA)13がアドレッシ
ングされ、その出力がデータセレクタ(SDX)14で
信号線75により選択され、データレジスタ(OCR)
 15に格納され、次のサイクルで要求元へ返される。
b 、 Hls 、 14uLTIH1sノ場合:主記
憶ヘノデータの読出し要求が発行される。リクエストア
ドレスはABR9の出力によって指示される。同時に5
BRIOの出力80がステータスデコーダ(SDEC)
16により解読され、ブロック読出しであることが信号
線81を通して指示される。ABR9と5BRIOの内
容が信号線71.74により5AXI、5SX2を経由
して、それぞれA A R3と5AR4に格納される。
AA5はリードリクエストの場合と同様にAAR3によ
りアドレッシングされるが、この場合にはAA5のAA
部には信号線57によるAAR3の上位が書込まれる。
■0から■3には0(無効)かセットされる。
C1旧s 、mの場合:主記憶へのデータの読出し要求
が発行される。リクエストアドレスはABR9の出力に
より指示される。同時に5BR10の出力80が5DE
C16により解読され、1ワード読出しであることか信
号線82を通して指示される。
次に、主記憶からデータの読出し動作について述べる。
データは信号線77によってデータレジスタ(DAR)
11に格納される。同時に対応するアドレスが信号線5
2と5AX1とを経由してAAR3に格納される。また
データ読出しである旨が5AR4に格納される。ここで
5AR4の内容により2つの状態がある。
a、ブロック読出しの場合:AA5はAAR3の出力5
9によりアドレッシングされる。AARl1 3の別の出力60とデコーダ6により読出されるブロッ
ク内のワード位置とによりVOから■3が選択され、“
1″ (有効)が書込まれる4次のサイクルでは、DA
RIIの内容、即ち読出しデータがデータレジスタ(D
BR)12に移動される。
またAAR3,5AR4もABR9とS B RL O
に移動する。DA13はABR9によりアドレッシング
され、5BRIOの指示によってD B R,12のデ
ータが書込まれる。データの読出しは上記動作がこの例
では4回行なわれる。主記憶からデータが到来する順番
はギヤッシュミスを起こしたアドレスから始まり、ブロ
ック内のアドレスを巡回する様に送られてくるものとす
る。最初のロード動作は、DA13にDBR12の内容
を書込む際、DCR15の入力は5DX14によってD
BR12の出カフ9が信号線76により選択され、次の
サイクルで読出しデータか上位装置に返送される。
b、1ワード読出しの場合:次のサイクルに入りDAR
IIの内容(読出しデータ)がDBR12に移動される
。同時にAAR3,5AR4もABR9と5BRIOに
移動し、次のサイクルでDCR15に5DX14におい
て信号線76により選択されたデータがDCR15に格
納される。その後、読出しデータが上位装置へ返される
第2図に第1図のブロックのゲート群8の具体例を示し
ており、キャツシュヒツト、ミスの判定用比較器7の出
カフ0と、リードライトデコーダ6の出力61〜64と
、更には有効ビットvO〜■3の各ビット出力66〜6
つとを用いて、AA5のアクセス結果であルtllT、
813− MULTIHIS及び旧Sを判定するための
ゲート回路である。
この様に、キャッシュミス時に、無効を示す有効ヒツト
が1つのときには、有効ビットに対応するワードをキャ
ッシュメモリから読出し、無効ワードのみ主記憶装置か
ら読出すようにしているために、有効ワードについては
キャッシュメモリへ再登録する必要がないので、主記憶
装置へのアクセス時間が短くなり、その分(3ワ一ド分
)キャッシュメモリは他の処理を行うことか可能となる
のである。
第3図は本発明の他の実施例のブロック図であり、第1
図と同等部分は同−将月により示している。本実施例に
おいても、1セツトのセットアソシアティブキャッシュ
について説明し、また各ワードごとに有効ビットが存在
しているものとする。
先ず、図示せぬ上位装置からのリードリクエストに関す
る動作について説明する。リードリクエストとそのアド
レスは信号線51.53を通してアドレスセレクタ(S
AX)1.ステータスセレクタ(SSX)2により選択
され、アドレスレジスタ(AAR)3とステータスレジ
スタ(SAR)4に格納される。5AR4によってリー
ドリクエストであることが解読されると、アドレスアレ
イ(AA)5とAAR3の出力の一部59によりアドレ
ッシングされ、AA5の出力とAAR3の出力の別の一
部が比較器7により比較される。AARlの下位2ビツ
トは信号線60を通じて、リードライトデコーダ(Il
14DEC) 6により各出力がブロック内のワード位
置を表わす様にデコードされる。この場合は2ビツトが
4木となる。AA5の■0から■3の各部はブロック内
の各誌の有効を表示しており、ゲート群8によりAAR
lに保持されているアドレスのブロック内のワードに対
する■0から■3において有効性が吟味される。
AA部3によるAA5のアクセスの結果は以下の3つに
分類することかできステータスレジスタ(SBR)1.
0に格納される。
a、キャッシュヒラ1〜(条件: IIIT ・VAI
ID) ;キャッシュ記憶内に要求されたデータが存在
し、かつブロック内の有効ビットが1つも無効になって
いない。
b、キャツシュヒツト(条件:旧■・血):キャッシュ
記憶内に要求されたデータが存在し、かつブロック内の
有効ビットのうち無効になっているビットが1つ以上あ
る。
C,キャッシュミス(条件:旧S):キャ・ンシュ記憶
内に要求されたデータか存在しない。
5BRIOの状態から次のサイクルの動作が決定する。
a、旧■・V^11[1の場合ニアドレスレジスタ(A
BR)9の出カフ3によりデータアレイ(DA)13が
アドレッシングされ、その出力がデータセレクタ(SD
X)14で信号線75により選択され、データレジスタ
(DCR>15に格納され、次のサイクルに要求元へ返
される。
b 、 HIT −VALID )場合: 110 ・
VAIID ノ場合と同様にデータが要求元へ返される
。同時に主記憶へのデータの読出し要求が発行される。
リクエストアドレスはABR9の出カフ2によって指示
される。ABR9と5BRIOの内容が信号線71.7
4によりSAX、SSXを経由して、それぞれAA部3
と5AR4に格納される。AA5はリードリクエストの
場合と同様にAA部3によりアドレッシングされるが、
この場合にはAA5のAA部には信号線57によるAA
部3の上位が書込まれる。■0からv3には0がセット
される。
C1旧Sの場合:主記憶へデータの読出し要求が発行さ
れ、以下の動作は旧■ ・VALIDの場合と同様にし
て行なわれる。
次に、主記憶からのデータ読出し動作について述べる。
データは信号fl!77によってデータレジスタ(DA
R)11に格納され、対応するアドレスが信号線102
と5AX1を経由してAA部3に格納される。またデー
タの読出しである旨がSARに格納される。AA5はA
A部3の出力59によりアドレッシングされる。AA部
3の別の出力60とデコーダ(RHEC)6により読出
されるブロック内のワード位置により■0からv3が選
択され“1″が書込まれる。
次のサイクルでは、DARIIの内容、即ち読出しデー
タかデータレジスタ(DBR>12に移動する。DA1
3はABR9によりアドレッシングされ、5BRIOの
指示によりDBR12のデータが書込まれる。データの
読出しは上記動作がこの例では4回行なわれる。
主記憶からデータか到来する順番はキャツシュヒツト(
HIT ・VALID)またはキャッシュミス(旧S)
をしたアドレスから始まり、ブロック内のアドレスを順
回する様に送られてくる。以下の動作はキャッシュしッ
ト(旧■・VALID)およびキャッシュミス(旧S)
と同様にして行なわれる。ただし、キャッシュミスの場
合は最初のロードの動作はDA13にDBR12の内容
を書込む際、DCRI5の入力は5DX14によってD
 B F(12の出カフ9が信号線76により選択され
、次のサイクルで読出しデータが上位装置に返される。
第4図は第1図のブロックにおCするゲート群8の具体
例を示しており、先の実施例と同様にキャツシュヒツト
、ミス判定用比較器7の出カフ0と、リードライトデコ
ーダ6の出力61〜64と、更には有効ビット■0〜■
3の各ビット出力66〜69とを用いて、AA5のアク
セス結果であるIIIT、HIS及びVALIDを判定
するためゲート回路である。この様に、キャッシュしブ
ト時に少くとも1の有効ビットが無効を示すとき、キャ
ッシュミスと同じ様に主記憶装置からデータ読出しを行
い、キャッシュメモリに対して主記憶装置のデータを反
映させるようにしているので、キャッシュしブト率の向
上が期待できることになる。
魚朋!と1果 軟土の如く、本発明によれば、キャッシュミス時に1つ
の有効ビットが無効を示すとき、無効ワードは主記憶か
ら読出してキャッシュメモリへ反映させ、有効ワードは
キャッシュメモリから読出すので、データのキャッシュ
メモリへの反映時の動作時間が短縮でき、よってメモリ
アクセスの高速化が図れるという効果がある。
また、キャツシュヒツト時に少くとも1つの有効ビット
が無効を示すとき、キャッシュミスと同様に主記憶装置
より対応ブロックデータを読出してキャッシュメモリノ
\無効ワードを反映させるようにしているので、キャツ
シュヒツト率が向上し、よってメモリアクセスの高速化
が図れるという効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は第1図
のブロックのゲート群の具体例回路図、第3図は本発明
の他の実緒例のブロック図、第4図は第3図のブロック
のゲート群の具体例回路図である。 主要部分の符号の説明 5・・・・・・アドレスアレイ 7・・・・・・比較器 8・・・・・・ゲート群 13・・・・・・データアレイ 出願人 日本電気株式会社(外1名)

Claims (2)

    【特許請求の範囲】
  1. (1)主記憶装置内のデータのコピーを複数ワードから
    なるブロック単位で保持し、これ等ブロック内のデータ
    の有効性を管理するための有効ビットをワード単位で有
    するキャッシュメモリの制御方式であって、前記キャッ
    シュメモリへの読出し要求に応答してキャッシュヒット
    かキャッシュミスかを判定する手段と、キャッシュミス
    と判定されたとき、読出し対象のブロックにおけるワー
    ド単位の有効ビットの無効化状態を検出する手段を設け
    、この検出結果が1つのワードのみの無効を示している
    とき、この無効となっているワードを前記主記憶装置か
    ら読出すと共に他のワードは前記キャッシュメモリから
    読出し、前記検出結果が複数のワードの無効を示してい
    るとき、前記主記憶装置から読出し要求のブロックを読
    出すようにしたことを特徴とするキャッシュメモリ制御
    方式。
  2. (2)主記憶装置内のデータのコピーを複数ワードから
    なるブロック単位で保持し、これ等ブロック内のデータ
    の有効性を管理するための有効ビットをワード単位で有
    するキャッシュメモリの制御方式であって、前記キャッ
    シュメモリへの読出し要求に応答してキャッシュヒット
    かキャッシュミスかを判定する手段と、キャッシュヒッ
    トと判定されたとき、読出し対象のブロックにおけるワ
    ード単位の有効ビットの無効化状態を検出する手段を設
    け、この検出結果が少なくとも1つのワードの無効を示
    しているとき、読出し要求元に対してキャッシュメモリ
    から対応するブロックを読出して送出すると共に前記主
    記憶装置に対して対応するブロックの読出しをなすよう
    にしたことを特徴とするキャッシュメモリ制御方式。
JP63264427A 1988-10-20 1988-10-20 キャッシュメモリ制御方式 Expired - Lifetime JP2716163B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63264427A JP2716163B2 (ja) 1988-10-20 1988-10-20 キャッシュメモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63264427A JP2716163B2 (ja) 1988-10-20 1988-10-20 キャッシュメモリ制御方式

Publications (2)

Publication Number Publication Date
JPH02110752A true JPH02110752A (ja) 1990-04-23
JP2716163B2 JP2716163B2 (ja) 1998-02-18

Family

ID=17403030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63264427A Expired - Lifetime JP2716163B2 (ja) 1988-10-20 1988-10-20 キャッシュメモリ制御方式

Country Status (1)

Country Link
JP (1) JP2716163B2 (ja)

Also Published As

Publication number Publication date
JP2716163B2 (ja) 1998-02-18

Similar Documents

Publication Publication Date Title
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
EP0095033B1 (en) Set associative sector cache
US5371870A (en) Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching
US5940856A (en) Cache intervention from only one of many cache lines sharing an unmodified value
US5946709A (en) Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing
US5963974A (en) Cache intervention from a cache line exclusively holding an unmodified value
JP3533355B2 (ja) キャッシュ・メモリ・システム
US5461718A (en) System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
US5940864A (en) Shared memory-access priorization method for multiprocessors using caches and snoop responses
JPS629942B2 (ja)
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5943685A (en) Method of shared intervention via a single data provider among shared caches for SMP bus
US20040215900A1 (en) System and method for reducing contention in a multi-sectored cache
US5996049A (en) Cache-coherency protocol with recently read state for data and instructions
US5452418A (en) Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US5535360A (en) Digital computer system having an improved direct-mapped cache controller (with flag modification) for a CPU with address pipelining and method therefor
US5619673A (en) Virtual access cache protection bits handling method and apparatus
WO1998047071A1 (en) Read operations in multiprocessor computer system
KR100380674B1 (ko) 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템
US6658536B1 (en) Cache-coherency protocol with recently read state for extending cache horizontally
GB2307319A (en) Dual-directory virtual cache
US5510973A (en) Buffer storage control system
US6826655B2 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
JPS644214B2 (ja)