JPS5942394B2 - キャッシュ制御装置 - Google Patents

キャッシュ制御装置

Info

Publication number
JPS5942394B2
JPS5942394B2 JP55010308A JP1030880A JPS5942394B2 JP S5942394 B2 JPS5942394 B2 JP S5942394B2 JP 55010308 A JP55010308 A JP 55010308A JP 1030880 A JP1030880 A JP 1030880A JP S5942394 B2 JPS5942394 B2 JP S5942394B2
Authority
JP
Japan
Prior art keywords
data
address
block
read
word
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.)
Expired
Application number
JP55010308A
Other languages
English (en)
Other versions
JPS56107378A (en
Inventor
宏 太田
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
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP55010308A priority Critical patent/JPS5942394B2/ja
Publication of JPS56107378A publication Critical patent/JPS56107378A/ja
Publication of JPS5942394B2 publication Critical patent/JPS5942394B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明はキャッシュ制御装置に関する。
一般に、高速処理を必要とする情報処理装置には主記憶
装置とともにバッファメモリ(キャッシュメモリ)とが
設けられており、処理装置からのデータ読み出し要求時
にまず、キャッシュメモリ中に要求されたデータが存在
するか否かを調べ、もしそのデータが存在しかつそのデ
ータの有効性を示すビット(以下有効性表示ビット)が
1(すなわち、そのデータが有効状態であることを示す
)の場合には前記処理装置にそのデータを使用させ、そ
うでない場合、すなわち、キヤツシユメモリ中に要求す
るデータが存在しないか、または存在してもそのデータ
の有効性表示ビツトがO(すなわちそのデータが有効状
態でないことを示す)の場合は前記主記憶装置からその
データを含むデータプロツクを読み出し、その中の必要
なデ゛一タを要求する処理装置に使用させるとともに読
み出したデータプロツタを前記キヤツシユメモリに格納
しておき、以後処理装置がそのデータプロツクに含まれ
るデータワードを要求した場合に高速でそれに応ぜられ
るようにキヤツシユメモリの制御を行なつている。
このようなキヤツシユメモリ制御システムにおいて、ま
ず、処理装置より第1のデータワード読み出し要求があ
り、そのデータワードがキヤツシユメモリ中に有効に存
在しない場合は前述のように、主記憶装置に対してその
データワードを含むデータプロツクの要求が出されるが
、実際にそのデータプロツクが前記主記憶装置から読み
出されてキヤツシユメモリに格納されるまでにはメモリ
アタセス時間等を含むある有限の時間が必要である。
従つて、あるデータプロツタを前記主記憶装置から読み
出しキヤツシユ制御装置に転送中でまだそのデータプロ
ツクの処理が終了する前に処理装置から次のデータ処理
要求がおこる場合かある。このような並列処理要求に対
処するため従来のキヤツシユ制御装置は下記のような方
式がとられている。第1図に従来の午アッシュ制御装置
のプロツク図を示す。
処理装置からの読み出し要求データワードのアドレスは
アドレスレジスタ1にセツトされる。この要求データワ
ードがキヤツシユメモリ3の中に有効に存在しない場合
は、主記憶装置(図示していない)に対して、そのデー
タを含むプロツタデータの読み出し要求がキヤツシユ制
御装置から発生されるが、それと同時に、アドレスレジ
スタ1の内容をプロツタロードアドレスレジスタ17に
うつして、アドレスレジスタ1を次に現われる処理要求
を受けつけるために解放する。前記読み出し要求したデ
ータプロツクが主記憶装置からこのキヤツシユ制御装置
に転送される際にこのプロツクロードアドレスレジスタ
17の内容を用いて前記プロツクデータをデータアレイ
3の正しいカラムに格納する。また、データ転送中に次
のデータワードの読み出し要求が起りその読み出し要求
デ゛一タワードがキヤツシユメモリの中に有効に存在し
ない場合には、現在転送中のデータプロツクのアドレス
を格納している前記プロツクロードアドレスレジスタ1
7の内容と、要求データワードのアドレスを格納してい
るアドレスレジスタ1の内容とを比較器18で比較し、
転送中のプロツクデータが現在の要求データワードを含
んでいる場合には新にそのデータワードを含むデータプ
ロツクの読み出しを要求することなく、前記読み出し転
送中のデータプロツクかキヤツシユメモリに格納される
時点で、前記プロツクロードアドレスレジスタ17の内
容を用いて前記プロツクデータの中から現在の読み出し
要求データワードを選出して、要求した処理装置に返す
という方式がとられている。この結果、例えば、今、第
jの読み出し要求データワードを含むデータプロツクを
転送中に、処理装置からそのデータプロツク(こ含まれ
るデータワードに対して無効化?求が起つた場合は、そ
の無効化要求の受付けを、前記転送中のデータプロツク
がキヤツシユメモリに格納されるまで待たなければなら
ないという欠点を生ずる。何故ならぱそのデータプロツ
ク中に含まれるデータワードに対する無効化要求を受け
付けると、そのデータプロツクの転送中にさらにそのデ
ータプロツクに含まれる第2のデータワードに対する読
み出し要求があつた場合、前述のようにその読み出し要
求データワードを現在転送中のデータプロツクの中から
選出してしまうが、第2のデータワード読み出し要求で
要求しているデータワードは実は無効化要求が受け付け
られて更新された後のデータプロツクに含まれるデータ
ワードであり、もし上記のように無効化要求を転送中に
受けつけると無効化要求で更新される前のデータプロツ
クの中のデータワードが選出されて処理装置に供給され
る。そのためこのままでは誤動作をする場合が生じてし
まうからである。本発明の目的は上述の従来の装置のも
つ欠点を除きデ゛一タプロツク転送中においても自由に
キヤツシユ無効化要求の受付けを可能にした簡単な構成
のキヤツシユ制御装置を提供することである。
本発明の装置は、少くとも1つの処理装置と主記憶装置
との間に置かれたキヤツシユ制御装置において、前記主
記憶装置から読み出されたデータワードを格納するキヤ
ツシユメモリと、処理要求データワードのアドレスを格
納するアドレスレジスタと、前記アドレスレジスタのカ
ラムアドレスフイールドによつて指定される各カラムご
とにプロツクアドレスフイールドと有効性表示ビツトフ
イールドとデータ転送中表示ビツトフイールドとを有す
るアドレスアレイと、前記アドレスレジスタのプロツク
アドレスフイールドの内容と前記アドレスアレイからよ
み出されたプロツクアドレスフイールドの内容とを比較
する比較器と、前記アドレスレジスタのカラムアドレス
フイールドとワードアドレスフイールドとの内容を格納
するプロツクロードアドレスレジスタとを有し、前記処
理装置からのデータワード読み出し要求に応答して前記
キヤツシユメモリ中にその有効なデータワードが存在し
ない場合は、そのデータワードを含むデータプロツタの
読み出しを前記主記憶装置に対して行うとともに前記ア
ドレスアレイ中の該当するカラムアドレスに要求データ
プロツクのプロツクアドレスと有効性表示ビツトとデー
タ転送中表示ビツトとをセツトし前記要求データワード
のカラムアドレスとワードアドレスとを前記プロツクロ
ードアドレスレジスタに格納し、前記データプロツクが
前記主記憶装置から読み出されてきた際に、前記データ
プロツタ中の読み出し要求データワードを選出して要求
した処理装置に返すとともに前記プロツクロードアドレ
スレジスタに格納された情報を用いて前記データプロツ
クを前記キヤツシユメモリの該当するカラムに正しく格
納しこの格納動作が終了した時点で前記該当するデータ
転送中表示ビツトをりセツトするように制御し、前記処
理装置からの読み出し要求データワードが現在読み出し
転送中のデータプロツク中に含まれている場合は、その
データプロツクが読み出されて前記キヤツシユメモリに
格納される際に前記プロツク中から要求データワードを
選出して要求処理装置に返すように制御し、さらに処理
装置からキヤツシユデータの無効化要求を受けた場合は
、そのデータが転送中であると否とにか\わらず該当す
る前記有効性表示ビツトをりセツトしてその無効化要求
を受けつけるように制御する制御部を含んで構成される
。次に本発明を図面を用いて詳細に説明する。
第2図は本発明の一実施例を示す図である。参照数字1
はアドレスレジスタを示し、処理装置(図示していない
)からのデータワード読み出し要求かキヤツシユ無効化
要求がありそれが受け付けられた場合読み出し要求デー
タワードまたはキヤツシユ無効化硬求データワードのア
ドレスがセツトされるレジスタである。このアドレスレ
ジスタ1はプロツタアドレスフイールドA1カラムアド
レスフイールドB1およびワードフイールドCより構成
されている。このカラムフイールドBはアドレスアレイ
2およびデータアレイ3のカラムアドレスを指定する。
アドレスアレイ2は各カラムアドレスごとにデータアレ
イ3の中の同じカラムアドレスに含まれるデータプロツ
クのプロツクアドレスNと、データが主記憶装置から読
み出し中であることを表示する転送中表示ビツトTと、
データアレイ3のそのカラムアドレスに格納されている
データプロツタの有効性を示す有効件表示ビツトVのフ
イールドとを有している。データアレイ3(キヤツシユ
メモリ)は各カウムごとにアドレスアレイ2のプロツク
アドレスフイールドNで指定されるプロツクアドレスの
データプロツクを格納しているが、あるデータプロツク
の中の各ワードはアドレスレジスタ1のワードフイール
ドCで指定することができる。処理装置からのデータワ
ード読み出し要求が受け付けられると、本キヤツシユ制
御装置は下記のように動作する。
読み出し要求データワードの主記憶装置内におけるアド
レスがアドレスレジスタ1にセツトされる。
このカラムフイールドBで指定されるアドレスアレイ2
のカラムの内容が読み出され、この読み出されたアドレ
スアレイ2のプロツクフイールドA′の内容と、アドレ
スレジスタ1のプロツクフイールドAの内容とがプロツ
タアドレス比較器4で比較されその結果は制御部5に供
給される。それとともにアドレスアレイ2のそのカラム
アドレスのTビツトおよびVビツトがともに読み出され
て同じく制御部5に供給される。したがつて制御部への
以上の入力により第1表に示すように8通りの組合せを
生ずるが、この各組合せに対して、第1表に示すように
P1からP8までのプロセス番号をつけ、その各場合に
対して制御装置5の行なう制御を説明すると下下記のよ
うになる。なお以下においては説明が最も効果的になる
ような順序で各プロセス番号の処理について説明する。
P2: これは処理装置からの読み出し要求データワー
ドがキヤツシユメモリ中に有効に存在する(具体的には
データアレイ3の中に)ことを示すので、制御部5は、
データアレイ3の中のアドレスレジスタ1のカラムアド
レスフイールドBの内容で指定されるカラムアドレスの
中に格納されているデータプロツク(このデータプロツ
タのプロツクアドレスがアドレスアレイ2の同じカラム
アドレスに格納されていて、それが要求データワードの
プロツクアドレスと一致している)の中の、アドレスレ
ジスタ1のワードフイールドCの内容で指定されるワー
ドアドレスをもつデータワードを読み出して、それを処
理装置データリプライライン6を通して要求元の処理装
置(図示していない)に返す。
P4: これはプロツクアドレス比較器4の出力が11
″”で、VビツトおよびTビツトが10”の場合であり
、読み出し要求のデータワードがすでに無効化された状
態でキヤツシユメモリ中存在していることを示す。
従つて、制御部5は直ちにその要求されたデータワード
を含むデータプロツクの読み出し要求を主記憶装置に対
して発する。そしてそのデータプロツクの主記憶装置に
対するアクセス要求がすべて受けつけられると、アドレ
スレジスタ1のプロツクアドレスフイールドAの内容を
カラムフイールドBで指定されるアドレスアレイ2のプ
ロツクアドレスフイールドA′にセツトするとともに、
アドレスアレイ2のそのカラムアドレスのVビツトおよ
びTビツトをセツトする。また、アドレスレジスタ1の
カラムアドレスフイールドBおよびワードアドレスフイ
ールドCの内容をプロツクロードアドレスレジスタ7に
格納する。このようにしてこのデータワード読み出L求
に対する必要な情報はすべてアドレスレジスタ1からア
ドレスアレイ2およびプロツクロードアドレスレジスタ
7にセーブされたのでアドレスレジスタ1を次の処理要
求を受け付けるために解放する。さて主記憶装置から要
求されたデータプロツクが読み出され、それがデータリ
プライライン8を介して転送されて本キヤツシユ制御装
置に到達すると、制御部5は転送されたデータプロツク
の中から要求されたデータワードを選出してそれを要求
元の処理装置に処理装置データリプライライン6を介し
て送るとともにプロツクロードアドレスレジスタ7の情
報を用いて前記データプロツタをデータアレイ3の中に
正しく格納する。そして、こうして格納がすむとアドレ
スアレイ2の中の該当する転送中表示ビツトTをりセツ
トして転送が終了したことを表示する。}1: これは
上のP4の説明で明らかなように、これ以前のデータワ
ード読み出し要求により現在主記憶装置から転送中のデ
ータプロツクの中に現在読み出しを要求されているデー
タワードが含まれていることを示している。
この場合制御部5は新たに読み出し要求を主記憶装置に
対して発することなく、現在転送中のデータプロツクが
キヤツシユ制御装置に到達するのを待つてそれがデータ
アレイ3に格納される際に前記P4で説明した最初の読
み出し要求データワードの選出がすんだあとで、アドレ
スレジスタ1に格納されている現在の読み出し要求デー
タワードのアドレス情報を用いて前記データプロツクの
中より選出しそれを処理装置データリプライライン6を
通して要求元の処理装置に返す。−゛3: これは現在
読み出し要求があつたデータワードは、以前の読み出し
要求により現在主記憶装置から転送中のデータプロツク
中に含まれているが、その転送中にそのプロツクワード
中に含まれるいずれかのデータワードがすでに無効1化
されている場合を示している。この場合、制御部5はそ
のデータプロツクがすべてデータアレイ3に格納される
のをまつて(Tビツトがりセツトされるのをまつて)こ
の読み出し要求データワードに対するプロセスを開始し
、以下P4の場合と同様に制御する。P5,P7: い
ずれの場合も今回要求されたデータワードはキヤツシユ
メモリ中に存在しないが、そのデータワードと同じカラ
ムアドレスのキヤツシユメモリに格納すべきデータプロ
ツクが現在転送中であることを示す。
この場合はP3の場合と同様にそのデータプロツタがす
べてデータアレイ3に格納されるのをまつて(Tビツト
がりセツトされるのをまつて)この読み出し要求データ
ワードに対するプロセスを開始し以下P4の場合と同様
に制御する。P6,P8: これはいずれもこの読み出
し要求データワードがキヤツシユメモリ中に存在しない
ことを示すのでP4で述べたのと同じプロセスの制御を
行う。
以上のP1〜P8は処理装置よりデータワード読み出し
要求がおこつた場合について述べたものであるが、次に
処理装置よりキヤツシユ無効化要求が起つた場合につい
て述べる。
この場合は前述のP1〜P8のかわりに第1表のQl,
Q2およびQ3の3つの異なる場合にわけて述べること
ができる。
Q1: これは無効化要求ワードがキヤツシユに有効な
形で存在するか、または有効な形で転送中であることを
示す。
この場合は直ちに該当するアドレスアレイのビツトを“
0”として無効化要求を受付けその処理を開始すること
ができる。こうすることにより、従来の装置で問題であ
つた転送中のデータプロツクに対する無効化要求の受付
けも本発明の装置においては全く問題にならない。すな
わち、転送中に無効化要求を受付けると、そのあとでは
Tビツビ1″、Vビツト″0”となり無効化されたデー
タの転送中であることを明瞭に区別でき、無効化要求受
付け以後の処理装置からのデータワード読み出し要求に
対して本装置は前述のPlではなくてP3で応答するの
で誤動作は起らない。Q2: これは無効化要求データ
ワードがすでに無効化された形でキヤツシユ中に存在す
るか、または無効化された形で転送中であることを示す
いずれにしても今後このデータワードの読み出し要求が
ある場合は新たに記憶装置より読み出して使用されるの
で、無効化されたデータワードに対する無効化要求は直
ちに受け付けてその処理を開始することが出来る。Q3
: これは無効化要求ワードが千アッシュの中に存在し
ないことを示す。
それを無効化することはキヤツシユに無関係であり、し
たがつて直ちに無効化要求を受付けその処理を開始する
ことが出来る。以上のように、本発明においては、有効
なデータがキヤツシユに存在するか否かを判別するため
の従来から用いられているアドレスアレイのVビツトと
プロツクアドレス比較器に加えて、読み出し要求データ
が主記憶装置から転送中であることを表示するTビツト
をアドレスアレイ中に具備せしめ、これらを用いて上に
詳述したように制御することにより、従来装置のもつ1
つの欠点すなわちデータ転送中は無効化要求を受けつけ
られないという欠点を除いて、しかも従来装置が必要と
したアドレスの全フイールドを含むプロツクロードアド
レスレジスタとその比較器のかわりにそれよりはるかに
簡単なカラムアドレスおよびワードアドレスフイールド
だけを含むプロツクロードアドレスレジスタだけですむ
キヤツシユ制御装置を実現できるので処理時間の短縮お
よび経済性の向上が達成できる。
【図面の簡単な説明】
第1図は従来のキヤツシユ制御装置のプロツク図および
第2図は本発明の一実施例のプロツク図である。 第1図および第2図において1・・・・・アドレスレジ
スタ、2・・・・・・アドレスアレイ、3・・・・・・
データアレイ、4・・・・・・プロツタアドレス比較器
、5・・・・・・制御部、6・・・・・・処理装置デー
タリプライライン、7・・・・・・プロツクロードアド
レスレジスタ、8・・・・・・データリプライライン。

Claims (1)

    【特許請求の範囲】
  1. 1 少なくとも1つの処理装置と主記憶装置との間に置
    かれたキャッシュ制御装置において、前記主記憶装置か
    ら読み出されたデータワードを格納するキャッシュメモ
    リと、処理要求データのアドレスを格納するアドレスレ
    ジスタと、前記アドレスレジスタのカラムアドレスフィ
    ールドによつて指定される各カラムごとにブロックアド
    レスフィールドと有効性表示ビットフィールドとデータ
    転送中表示ビットフィールドとを有するアドレスアレイ
    と、前記アドレスレジスタのブロックアドレスフィール
    ドの内容と前記アドレスアレイからよみ出されたブロッ
    クアドレスフィールドの内容とを比較する比較器と、前
    記アドレスレジスタのカラムアドレスフィールドとワー
    ドアドレスフィールドとの内容を格納するブロックワー
    ドアドレスレジスタとを有し、前記処理装置からのデー
    タワード読み出し要求に応答して前記キャッシュメモリ
    中にその有効なデータワードが存在しない場合はそのデ
    ータワードを含むデータブロックの読み出しを前記主記
    憶装置に対して行なうとともに前記アドレスアレイ中の
    該当するカラムアドレスに要求データブロックのブロッ
    クアドレスと有効性表示ビットとデータ転送中表示ビッ
    トとをセットし前記要求データワードのカラムアドレス
    とワードアドレスとを前記プロックロードアドレスレジ
    スタに格納し、前記データブロックが前記主記憶装置か
    ら読み出されてきた際に前記データブロック中の読み出
    し要求データワードを選出して要求した処理装置に返す
    とともに前記ブロックロードアドレスレジスタに格納さ
    れた情報を用いて前記データブロックを前記キャッシュ
    メモリの該当するカラムに正しく格納しこの格納動作が
    終了した時点で前記該当する有効性表示ビットおよびデ
    ータ転送中表示ビットのうちのデータ転送中表示ビット
    のみをリセットするように制御し、前記処理装置からの
    読み出し要求データワードが現在読み出し転送中のデー
    タブロック中に含まれている場合は、そのデータブロッ
    クが読み出されて前記キャッシュメモリに格納される際
    に、前記ブロック中から要求データワードを選出して要
    求処理装置に返すように制御し、さらに処理装置からキ
    ャッシュデータの無効化要求を受けた場合は、そのデー
    タが転送中であると否とにかかわらず該当する前記有効
    性表示ビットをリセットしてその無効化要求を受けつけ
    るように制御する制御部を含むことを特徴とするキャッ
    シュ制御装置。
JP55010308A 1980-01-31 1980-01-31 キャッシュ制御装置 Expired JPS5942394B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55010308A JPS5942394B2 (ja) 1980-01-31 1980-01-31 キャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55010308A JPS5942394B2 (ja) 1980-01-31 1980-01-31 キャッシュ制御装置

Publications (2)

Publication Number Publication Date
JPS56107378A JPS56107378A (en) 1981-08-26
JPS5942394B2 true JPS5942394B2 (ja) 1984-10-15

Family

ID=11746612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55010308A Expired JPS5942394B2 (ja) 1980-01-31 1980-01-31 キャッシュ制御装置

Country Status (1)

Country Link
JP (1) JPS5942394B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5864690A (ja) * 1981-10-14 1983-04-18 Hitachi Ltd キヤツシユメモリ制御方法
JP2680909B2 (ja) * 1990-02-14 1997-11-19 甲府日本電気株式会社 緩衝記憶装置

Also Published As

Publication number Publication date
JPS56107378A (en) 1981-08-26

Similar Documents

Publication Publication Date Title
EP0072179B1 (en) Clearing invalid addresses in cache memory
CA1290073C (en) Move-out queue buffer
US3569938A (en) Storage manager
US4471429A (en) Apparatus for cache clearing
US4683533A (en) Storage control system using plural buffer address arrays
EP0343567A2 (en) Multi-processing system and cache apparatus for use in the same
US4157586A (en) Technique for performing partial stores in store-thru memory configuration
US7971003B2 (en) Cache coherency in a shared-memory multiprocessor system
US5263144A (en) Method and apparatus for sharing data between processors in a computer system
JP2818415B2 (ja) バッファ記憶装置
US4658356A (en) Control system for updating a change bit
JPH0532775B2 (ja)
EP0519685A1 (en) Address translation
JPH0754484B2 (ja) 複数のプロセッサを有する計算機システムの記憶制御装置
JPH0319976B2 (ja)
EP0173909A2 (en) Look-aside buffer least recently used marker controller
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
JPS5942394B2 (ja) キャッシュ制御装置
US5008817A (en) Method and apparatus for transferring addresses and information in a buffer memory and a common main storage device
US4424564A (en) Data processing system providing dual storage of reference bits
US5535358A (en) Cache memory control circuit and method for controlling reading and writing requests
JPH0664552B2 (ja) 情報処理装置の無効化処理方式
JPH0528415B2 (ja)
JPS6319855Y2 (ja)
EP0460852A2 (en) System for maintaining data coherency between main and cache memories