JPH0325541A - キャッシュ記憶制御方法および装置 - Google Patents

キャッシュ記憶制御方法および装置

Info

Publication number
JPH0325541A
JPH0325541A JP1159525A JP15952589A JPH0325541A JP H0325541 A JPH0325541 A JP H0325541A JP 1159525 A JP1159525 A JP 1159525A JP 15952589 A JP15952589 A JP 15952589A JP H0325541 A JPH0325541 A JP H0325541A
Authority
JP
Japan
Prior art keywords
block
cache
data
memory
signal
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
JP1159525A
Other languages
English (en)
Inventor
Koichiro Ishihara
石原 孝一郎
Toshiyuki Kinoshita
俊之 木下
Katsuro Wakai
若井 勝郎
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1159525A priority Critical patent/JPH0325541A/ja
Publication of JPH0325541A publication Critical patent/JPH0325541A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマルチプロセッサ用のキャッシュ記憶制御方法
に関する。
〔従来の技術〕
キャッシュ記憶に関するいくつかの従来技術の要約がア
イ・イー・イー・イー、コンピュータ( I E E 
E , Computer),第21巻,25(198
8年)第9頁から第21頁に論じられている。
キャッシュ記憶を有するマルチプロセッサシステムの代
表的な構成では記憶装置は、複数のプロセッサにより共
有される主記憶プロセッサにより共有される主記憶、そ
れらプロセッサにより共有される上位のキャッシュ(以
下、上位記憶装置間と呼ぶ)、各プロセッサ対応に設け
られたキャッシュ(以下バッファ記憶と呼ぶ)の3階層
で1威されている。主記憶に近くなるほど上位階層と呼
ぶことにする. ユーザに見えるのは主記憶のみである。上位記憶装置間
、バッファ記憶は主記憶アクセスの高速化のためであり
、主記憶の異なる部分(ブロック)の写し(コピー)を
記憶する。同一階層の中で(上位記憶装置間どうし、ま
たはバッファ記憶どうし)主記憶の同一ブロックのコピ
ーをもつことを許す方式をマルチコビ一方式、許さない
方式をシングルコビ一方式と呼ぶ。パッファ記憶は一般
にマルチコンビ一方式である。上位記憶装置間はどちら
の方式もありうる. キャッシュメモリを有するマルチプロセッサシステムに
おける最大の問題点はコヒーレンス処理である。コヒー
レンス処理とは、主記憶の一部(ブロック)の写しが複
数のキャッシュ記憶に存在するため,その間の矛盾を生
じないようにする処理をいう。具体的には1つの写しを
ストア命令などにより書き換えた後、別の写しを参照し
ても最新の情報が読み出されることを保証する処理であ
る. この問題の最も簡単な解決法はストアスルーは呼ばれる
方法である。これはキャッシュ記憶の書き換えが起きた
時、上位階層(上位記憶装置間または主記憶)の記憶装
置の対応する部分をただちに書き換える。またマルチコ
ピ一方式の場合には同一階層の他のキャッシュは書き換
えるかまたは無効とする。したがって複数のコピーが常
に一致している。
この方法では、ストアの度に上位階層の書き換えおよび
他のキャッシュに同じ写しが存在するかどうかのチェッ
ク,存在したときの書き換えまたは無効化が必要となり
、性能低下を招く.別にストアイン方式を辷る計算機も
ある。これはキャッシュ記憶の書き換えば起きた時,上
位階層はすぐには書き換えず、書き換えられたブロック
をリプレースする時、まとめて上位階層を書き換える。
たとえば、アイ・イー・イー・トランザクション・オン
・コンピューター( I E E E , Trans
actionon Computer) 2 7巻12
号第1112−1118頁(1978)参照。上位階層
へのアクセス頻度が減る利点はあるが、一時的にコピー
間の不一致が生ずる。この不一致がある間に書き換えら
れていない(最新ではない)写しを読みださないように
するのがこの場合のコヒーレンス処理である。
従来のストアライン方式では上記のコヒーレンス処理の
必要性が検出されたとき、その場で該当するブロックを
無効にするだけなので、その後同じブロックを読み書き
すると同様の無駄な処理が繰り返され、性能が低下する
.これをピンポン現象と呼ぶ。
現状の計算機は2階層メモリではストアスルーストアイ
ン両方式が存在し、3階層メモリではパッファ記憶はス
トアスルー、上位記憶装置間はストアイン方式をとって
いる場合が多い.前述のごとくマルチコビ一方式でとあ
るキャッシュストアがあった時、そのブロックが同一階
層の他のキャッシュにあるかどうがを調べる必要がある
。このための方法として下記がある。
a)スI−アアドレスをすべてのキャッシュに送りアド
レスアレイ(AA)に一致するものがあるかをチェック
する。この方法はアドレスアレイの参照頻度が増え、性
能が低下する。
b)アドレスアレイのコピーを別に設け(これを写しデ
ィレクトリCDと呼ぶ)、ストアがあった時,この写し
ディレクトリを参照して一致を調べる.この方法はa)
よりは若干緩和されるものの、処理装置台数が増えた時
は依然として性能低下の問題がある.また写しディレク
トリCDのハードウエアの増加も大きい。
これら2つの方法については、たとえば特公昭62−5
5187が述べている.同特許では他のキャッシュのア
ドレスアレイを参照するために相互参照(XI)と呼ぶ
母線を設けて、写しディレクトリ参照のための情報や参
照結果の伝送を行なって弔ナ。しかし処理装置台数が増
加した時、次の問題がある。
処理装置台数に比例して写しディレクトリ(CD)のハ
ードウエア量が増大する。また写しディレクトリCDの
参照が増加し性能低下の原因となる。
母線方式は処理装置台数が増え,母線の距離が長くなり
、また接続される負荷CD)の数が増えると回路の電気
的岨動能力の負担が増え,伝送時間が長くなる。また母
線上のトラフィックもふえて性能低下の原因となる. 〔発明が解決しようとする問題点〕 以上のように従来技術ではマルチコピ一方式のキャッシ
ュにおいて、ストアのあったブロックが他のキャッシュ
に存在したときのそのブロックの無効処理あるいはピン
ポン現象による性能低下が生じる。
また、ストアのあったブロックが他のキャッシュに存在
するか否かのチェックに時間がかかげ、また、そのため
の回路が複雑である。
本願発明の目的は複数のプロセッサで共用されるブロッ
クに関する無駄な処理を低減したキャッシュ記憶制御方
法を提供することにある。
本願発明の他の目的は、ストアのあったブロックが他の
プロセッサで共用されるブロックであるかを簡便に検出
しうるキャッシュ記憶制御方法を提供することにある。
〔問題点を解決するための手段〕
このため本発明では2つ以上の処理装置が共有するブロ
ックでかつ1つ以上の処理装置が書き込みを行なおうと
しているときには、そのブロックをキャッシュに取り込
まないように制御する。さらに望ましい態様では、上位
記憶装置に付属して、ブロック単位に、下位のキャッシ
ュの各々がそまブロックを取り込んでいるか、それが読
みだしか、書き込みかを示すフラグR,Wと、さらに、
そのブロックをキャッシュに取り込むことを禁止するか
否かを示すフラグ(N)を設け、これらのフラグを利用
して共有ブロックのキャッシュへの取り込みを制御する
〔作用〕
キャッシュへの取り込みを禁止されたブロックについて
は、全てのプロセッサが上位記憶装置にアクセスするの
で同じブロックをキャッシュに取り込む従来のストアス
ル一方式に比べて、キャッシュ内のブロックを無効にす
る処理が減り、また、従来のストアイン方式に比べてピ
ンポン現象が減る.また、各キャッシュに共通してフラ
グが設けられているので、プロセッサ台数が増加しても
、フラグ読み出しのためのハードは余り増大せず、かつ
高速にフラグのチェックが可能になる。
〔実施例〕 以下、本発明の一実施例を説明する。ここでは主記憶を
含めて3階M(キャッシュは2階M)の構戒を仮定する
. 第1図は2つの命令処理装置からなるマルチプロセッサ
システムの全体の構戒を示す.1は命令処理装置であり
、以下単にIPとよぶ。両者を区別するときはIPI,
IP2のごとく、その番号で区別する。各命令処理装置
IPI,IP2は命令を処理する命令ユニット2とパッ
ファ記憶を管理するバッファ記憶ユニット3がある。以
下、バッファ記憶ユニットをBSユニツ1〜と呼び、I
P1,IP2用のBSユニットを区別するときにはそれ
ぞれBSユニット1、BSユニット2と呼ぶ。
各BSユニット3には、キャッシュ記憶(BS)100
とそのアドレス管理をアドレスアレイ(BAA)110
およびBSアクセス制御200を持つ。以下、IPI,
IPZ内のBSを区別するときには、それらをBSI,
BS2と呼ぶ,4は記憶制御装置(S C)で、それに
はすべてのIPが接続されている。記憶制御装置4は命
令処理装ffi(IPI,IP2)とのインタフェース
を制御するインタフェースユニット5と上位記憶装置間
を管理する上位記憶装置間ユニット(WSユニット)6
を持つ. インタフェースユニット5は複数のIPから送られてく
る信号をバッファリングしたり、その中から優先順位を
つけて、一つの要求に対応する信号群を選択する.また
IPへ送る信号については基づいて、対応するIPへ信
号を送出する.BSユニット3とWSユニット6の間の
信号の転送はすべて、このインタフェースユニット5を
介して行なわれるが、以下において、これらのユニット
間の転送に言及するとき、′インタフェースユニットを
介する“ことを簡単化のために言及しないことがある. 後者は上位のキャッシュである上位記憶装置間(WS)
400とそのアドレス管理を行なうアドレスアレイ(W
AA)410とWSアクセス制御500とを持ち主記憶
装置(MS)7にも接続されている。
ワークアクセス制御500に設けられた一語続出判定回
路506、一語書込判定回路508は本実施例に特徴的
な回路であり、WS400内の一語データをアクセスす
べきかあるいはそのデータを含むブロックをアクセス要
求元のBSIOOへ送出してもよいかを判別する回路で
ある。
本実施例では、複数の命令処理装置で共用されるデータ
のブロックについては一定の制限下で、それをBSに送
ることを禁止する所に特徴がある。
BAAIIOとBSI・OOはブロック単位に区切られ
かつ対応付けられている。このことはWAA410とW
S400についても同じである。
第1図のIIOAはBSIOOの1つのブロックに対応
するBAAIIOの1エントリを示す。
BSAはそのブロックに記憶される情報に割りあてられ
たメモリアドレスを、VBはそのエントリの情報が有効
かどうかを示すフラグであり、これらは既知のものであ
る。その他、記憶保護などの情報をもつこともあるが本
発明とは関係がないので省略する。
Maはそのブロックを書き込みのためにそのBSに保持
していることを示すフラグである。
第1図の41OAはWS400の1つのブロックに対応
するWAA4 1 0の1エントリを示す。
WSAとVwはBAAにおけるBSAと■8と同種のも
のである。Mwはこのブロックに主記憶(MS)の対応
するブロックとは異なる情報を保持しているか否かを示
すフラグである。Nはこのブロックが2つ以上の処理装
置からすでに参照され少なくともそのうちの1つは書き
込みしている状態にあるか否かを示す。R+(i=1又
は2)はIP1に対応するBSiがこのブロックを読み
だしのために取り込んでいることを示す。同様にWtは
書き込みのために取り込んでいることを示す.なおBS
IOOのブロックとWS400のブロックは同一サイズ
でなくてもよいが、ここでは同一として説明する, 以下では主記憶とWS一との間のブロック転送に関して
は、WS内のブロックをラインと呼ぶことがある。
BSIOOへのデータの書き込みはストアイン方式とす
る.すなわちBSIOO内へデータの書き込みを行った
ときには、WSには直ちに同じデータを書き込まないで
、後に、そのデータを含むブロックをそのBSでリプレ
ースするとき、そのブロックをWS400に書き戻す.
WSについてのデータの書き込みもストアイン方式とす
る.本実施例で新しいフラグMB,MWI N,RlW
,を設け、これらのフラグの状態により、基本動作を組
み合わせてコヒーレンス処理を行なうものである。
その制御の特徴は以下の通りである. (a)ある命令処理装置IPJがデータ読み出しのため
に対応するBSaにあるブロックを取り込んだあと、I
Psが同じブロックをデータ読み出しのために対応する
BS1に取り込むことは許される.読み出しの場合には
,2つのBS間でデータの不一致が生じないからである
(b)BS4に読み出しのために取り込まれたブロック
をその後BSiが書き込みのためにWSから取り込もう
とする場合、BStへのそのブロックの取り込みを禁止
し、かつBSJ内のそのブロックを無効にし、そのブロ
ックに関する、IP+.IPaのためのアクセスはWS
対するキャッシュ行なわせる.BStの内容とBSjの
内容との不一致が生じるのを防ぐためである。
(c)BSJに書き込みのために取り込まれたブロック
を、その後BS1に読み出し又は書き込みのためにWS
から取り込うとする場合、BS.へのそのブロックの取
り込みを禁止し、BS,にある、そのブロックをWSに
書き戻した後、WS対するキャッシュIP+のための読
み出し動作を行う。
この場合もBS1の内容とBSJの内容の不一致が生じ
るのを防ぐためである. 第2図BSユニット3の概略構戊図である。
図において、200は、命令ユニットからの読出し要求
F又は書込み要求Sに応答してBSIOOへのアクセス
および図中のスイッチとゲートを制御するためのBSア
クセス制御である.本実施例では、BSIOOに直接読
出し又は書込みをしてよいかを判別する、直接読出判定
回路212、直接書込判定回路214と、WSユニット
6(第1図)対するキャッシュ、BSへの書込みが可か
否かの判定を要求する書込み判定要求回路223などを
有している点に特徴がある。読出しやリプレースなどの
対象となるBAA (WAA)やBS(WS)のエント
リは、一般にはIPから与えられるメモリアドレスAD
PIPIOまたはWS記憶ユニット6より与えられるメ
モリアドレスADRWS 19によって定まる複数の候
補の中から、lつ選択されることが多い。しかしこの点
は本発明の特徴とは直接関係がないので、説明を簡単に
するために、アドレスにより、エントリ対するキャッシ
ュ行なうものとする。
アドレスアレイ(BAA)110はスイッチ208を介
して与えられたメモリアドレスにて指定される、アクセ
スすべきデータを含むブロックがBSIOO内のエンド
にあるときには、ヒット信号H T Bとそのエントリ
に対応して記憶したBAA内エントリ内のビットMBと
を線20を介してBSアクセス制御200に送出する。
そのエントリ内のアドレスBSAはスイッチ210、線
18を介してWSユニット6(第1図)に送られる。
上記ブロックがns100内にないときには、BAAI
IOはミスヒット信号MISHTBと、そのエントリの
ビットVBを線20を介してBSアクセス制御200に
送る. BAAがミスビットしたときには、一般にはアクセスの
対象となったブロックをBSIOOに格納する必要があ
る。そのためには、BSIOO内の概当エントリに現在
あるブロックをアクセスの対象となったブロックで置き
換える必要がある。
B A A 制御140はBAA内の該当するエントリ
の情報をBSアクセス制御200からの信号等により書
きかえるものである。
スイッチ210はリプレースされるアドレスBSと対応
する命令ユニット2(第1図)から送られたアドレスA
DRIPを選択するもので通常は後者を選択する状態に
ある。
さらに図において、202は命令ユニット2から線11
に送られて来る書き込みデータ又はWSユニット6から
線15に供給されるデータの一方を選択してBSIOO
へ送るスイッチであり通常は前者からのデータ11を選
択する状態にある。
204はBSIOOから読み出されたデータを命令ユニ
ット2(第1図)への供給線12又はWSユニツh 6
への供給線16の一方へ送出するためのスイッチであり
、通常は、命令ユニツ1・2への供給線12へ送る状態
にある。205は起動されると、WSユニット6から送
られたブロックをBSIOOへ書き込み途中にその内の
一語を線12を介して命令ユニット2へ送出するための
ゲートである。
206は起動されると、命令ユニッ1・2から送られて
きた書き込みデータ11をWSユニット6への供給線1
6へ転送するためのゲートである。
208はBAAI10とBSIOOに供給するアドレス
として、命令ユニット2から線10を介して送られたア
ドレスADHI P又はWSユニット6から119を介
して送られたアドレスADRWSの一方を選択するもの
で通常は前者を選択する状態にある。
第4図はWSユニット6の概略ブロック図を示す。
WS7クセス制御500は、WS4oOへのアクセスお
よびIPI,2内のBSIOOとの間のブロック転送な
どおよびMS7との間のライン転送を制御するものであ
る。本実施例では、あるBSから転送要求されたブロッ
クをそのBSに転送しないで,対応する命令ユニットの
アクセス対象である一語のデータをWS400から読み
出すべきか否かを判定する一語弘出判定回路506又は
その一語のデータをWS400に書き込むべきか否かを
判定する一語書込判定回路508およびそれぞれの判定
結果が肯定的なときに一語読み出し又は一語書込みをそ
れぞれ行う一語読出回路522、一語書込回路524を
有し、さらにBSに書込んでもよいか否かの判定要求が
あるBSから与えられたときにその判定を行うBS書込
み判定回lIt510をWSアクセス制御500が有す
る点に特徴がある。
ワークアドレスアレイ(WAA)4 1 0は、線18
を介して与えられたアドレスにて指定されるデータを含
むブロックかWS400内にあるときには、,140を
介して、ヒット信号H T Wとそのヒットしたブロッ
クに対するWAA400内のエントリ情報の内,Vw.
WSA以外の情報をWSアクセス制御500に送出する
なおWAA410もBAAと同様アドIノスが定まれば
エントリも一つだけ定まるものとして説明する。そのエ
ントリ内のアドレスWSAはスイッチ410に送られる
上記ブロックがWS 4 0 0内にないときにはミス
ヒット信号MISHTWとWSA以外のフラグ信号を線
40を介してWSアクセス制御500に送る. WAA制御440は、第2図のBAA制御140と同じ
く、WAA内の該当するエントリの情報をWSアクセス
制御からの信号等に応答して更新するものである。
なお、スイッチ402はWS400に書き込むべきデー
タを選択するもので、いずれかのBS100からインタ
フェースユニットを介して送られてくるデータ16、又
はM.S7から送られて来るデータ95のいずれか一方
を選択する。通常はデータ16を選択する状態にあるが
ライン転送的にデータ95を選択するようにWSアクセ
ス制御500により制御される。
以下、本実施例の回路とその動作を詳細に説明する。
以下メモリアクセス動作を行なっている命令処理装置の
番号をiとし、i以外の命令処理装置の番号をjとする
.WAA410内のフラグの内すべての命令処理装置に
対応するRまたはWをまとめて表す時は単にR又はWと
する。
第9A図は命令処理装I I P iからのメモリアク
セス要求F又はSに対する対応するBSユニットの最初
の動作をまとめたものである。第10図はこのBSユニ
ットiからの信号に対応するときのWSユニット6の動
作をまとめたものである.第9B図はこのWSユニット
6からの信号に対応するときのBSユニットiの動作を
まとめたものである。以下これらり図を参照しながら動
作説明を行う。
(1)第2図において命令処理装置IPrの命令ユニッ
ト2がBStのデータの読みだし又は書き込みを必要と
するとき、そのデータのメモリアドレスADRIPが線
10、スイッチ208を介してBAAIIOに供給され
る。なお、スイッチ208は、通常線10を選択する状
態にある竺一方読出し要求F又は書き込み要求Sが線1
3又は14を介してBSアクセス制御200に入力され
る。書き込み要求Sの場合にはさらに書込むべきデータ
が線11およびスイッチ202を介してBSIOO(B
S魚)に与えられる。BAAIIOではその中のアドレ
スの一部で指定されたエントリ内のアドレスBSAが入
方されたメモリアドレスADRIPの上位ビット部分に
一致し、かつVBビットが1であるかどうかによりヒッ
ト信号HTB又はミスヒット信号MISHTBをBSア
クセス制御200に送る。
以下、第9A図に示すBSIの動作の概要を説明する。
(1A)読みだし要求FでBAAIIOがヒットした場
合BStからアドレスADRIPで指定されるデータを
読み出し、命令ユニット2に送?IB)書き込み要求S
の場合でBAAIIOがヒットした場合 N)ヒットしたBAAエントリ内のビットMaが1の場
合 同じように書込みデータをB S tに書込む(第9A
図■)。なお、本実施例ではBSはストアイン方式で制
御するため、BS,に書き込まれたデータは、このとき
にはWS400には書き込まない。Maが0のときには
.BS1に書込まないで,BS■に書き込んでよいか否
かの判定をWSユニット6に求めるため信号BMFを出
力する(第9A図■).Maはそのブロックが書き込み
のためにそのBS,に書き込まれていることを示すビッ
トである。そのブロックがBStに取り込まれて、その
ブロックに書き込まれた後、もし、他のIPiが同じブ
ロックをアクセスすることがあったなら、後述するよう
に、そのブロックはBS.からWS400に書き戻され
、したがって、今回の書込み要求時に、BAA110が
ヒットしたといということは、このような他のIPJに
よる同じブロックへのアクセスがなかったことを意味す
る。
したがって、本実施例では書き込み要求S対するキャッ
シュ、BAAIIOがヒットし、ヒットしたBAAII
OのエントリのMnが■のときにはBS,対するキャッ
シュ書き込みを行う。
(ji)書込み要求S対するキャッシュヒットしたBA
AエントリのMaがOの場合 BS.八のそのブロックの先の取り込みがデータ読み出
しのためであったことを示す。
したがって、その、ブロックの先の取り込み後,他のI
P一が同じブロックをデータ読み出しのためにBS一に
取り込んでいる可能性がある.そのような場合、後述す
るように本実施例ではBSIへの書込みは禁止するよう
になっている。したがって本実施例では、書込み要求S
対するキャッシュBAAIIOがヒットし、かつヒット
したBAAエントリのMuがOのときには、BSIへ書
込んでよいかの判定をWSユニット6に求めるべく信号
BMFを出力するようになっている. (IC)読み出し要求F又は書込み要求S対するキャッ
シュBAAIIOがヒットしなかった場合その要求の対
象とするデータが属するブロックがBSiにないので、
WS400からそのブロックをBStへ転送する必要が
ある。そのためブロックを1つリプレースする必要があ
る.本実施例では簡単化のためにリプレースすべきエン
トリは、ミスヒットしたエントリと同じである.Vaが
Oの時は、無効な情報なので後述(ni)の動作に移る
. (i)Vaが1であって、MeがOのときには、リプレ
ースされるブロックはWS400内の対応するブロック
に一致しているので、そのブロックを無効にすればよく
、そのときBSユニットiは信号RPLBを出力する.
(it)そのMaが1のときには、リプレースさるブロ
ックとは異なる容容を有するので、そのリプレースブロ
ックをBSiよりWS400に書き戻す必要がある。そ
のためBSユニットiはそのブロックの各語を読み出し
、その読み出しと同期して信号BKWを出力する.(■
)その後アクセス要求されたデータが属するブロックを
WS400よりBS1に転送することを要求する信号B
TRまたはBTWを出力する. 以上のBSユニットiの動作の詳細を以下に説明する. (1a)読み出し要求FでBAAがヒットした場合 第3図はBSアクセス制@200の概要ブロック図であ
る. 直接続出判定回路212は対応する命令ユニット2から
読出し要求Fが入力されたとき、読出し要求Fの対象の
データを対応するBSから直接読出してよいかを判定し
、判定結果が肯定的なときに読出し要求FRをBSにオ
アゲート224を介して出力する. 具体的には、BAAIIOからヒット信号HTBが入力
されているとき読出し可と判定する。
BSエントリ内アドレス選択回1234は、後に説明す
るブロックリード回III220又はブロックライト回
路242から与えられるn個のアドレス(ADRBRn
又はADRBWn)をオアゲート230の出力が1のと
き選択し、通常は対応する命令ユニット2から与えられ
るメモリアドレスのADRIPの下位部分を選択してア
クセスすべきBSエントリ内のアドレスとして送出する
ものである。
したがって、命令ユニット2からの読出し要求時にBA
AIIOがヒットしたとき、そのヒットしたエントリに
対するBS内のエントリから、対応する命令ユニットが
送出したメモリアドレスSDRIPで指定される一語が
読み出される(第9A図の)。
(1b)書き込み要求SでBAAがヒットした場合 (i)直接書込判定回路214は、書込み要求の対象と
なったデータをBS100に直接書き込んでよいかを判
定し、判定結果が肯定的なときに書込み信号SWをBS
IOOにオアゲート226を介して出力する。具体的に
は、BAAIIOからヒット信号HTBが入力され、さ
らにMaが1の場合に書込み可と判定する,(la)で
述べたのと同じようにして、書込み要求S対するキャッ
シュBAAIIOがヒットし、かつ対応するMaが1の
ときにはBS100のメモリアドレスADHI Pで指
定される、位置に書き込みデータ(一語)が書き込まれ
る(第94図(3))。
(it)書込み判定要求回路223は書込み要求Sの対
象となったデータをBSIOOに直接書込んでよいか否
かの判定をWSユニット6に要求すべきかを判定する回
路であり、判定結果が肯定的なときに、信号BMFをそ
こに供給する。具体的には、書込み要求Sとヒット信号
HTBが入力され、さらにMBがOの場合に信号BMF
を出力する。
(1c)読み出し要求F又は書き込み要求S対するキャ
ッシュBAaがヒットしなかった場合(i)リプレース
判定回路216は、書込み又は読み出しの対象となった
データが属するブロックがBS100に存在しない場合
において、リプレース候補のブロックをWS400に書
き戻すことなく、そのブロックのBS記憶エントリに上
記データが属するべきブロックをWSより書き込んでよ
いか否かを判定し、判定結果が肯定的なときに、信号R
PLBを出力する。
具体的には、読出し要求F又は書込み要求Sが入力され
たときに、BAAIIOからミスヒット信号MISHT
Bが入力され、かつヒットエントリに対するVaが1で
MaがOのときに信号RPLBを出力する. (n)ブロック書き戻し判定回路218は書込み又は読
出しの対象となったデータが属するブロックがBS10
0に存在しない場合において、リプレース候補のブロッ
クをWS400に書き戻してから、そのブロックの位置
に上記データを含むブロックをWS400より転送すべ
きかを判定し、判定結果が肯定的なときにリプレースブ
ロック書き戻は要求償号RPBWBを出力する. 具体的には、読出し要求F又は書込み要求Sが入力され
たときにBAAIIOからミスヒット信号MISHTB
が入力され、かつミスヒットエントリのVBはMaがと
もに1のときに信号RPBWを出力する.この信号はブ
ロックリード回路220を起動するとともにANDゲー
ト225を開く. ブロックリード回路220は、ブロック書き戻し判定回
路218からリプレースブロック書き戻し要求償号RP
BWBがオアゲート219を介して供給されたときに、
BS内のブロックの書き戻しを指示する信号BKWを生
するとともに、そのブロック内の各語のアドレスADR
BRnを順次発生する. 信号BKWはオアゲート224を介してBSへ読み出し
指示として送られるとともに、すでに開かれているAN
Dゲート225およびオアゲート230を介してBSエ
ントリ内アドレス選択回路234に、オアゲート232
を介して与えられるエントリ内アドレスADRBRnを
選択するように指定する。こうして、B S.1 0 
0よりミスヒットエントリブロックの各語が読み出され
る。このとき、信号BKWはスイッチ204にも送られ
、BSから読み出された各語を線16に出力するように
指示する。このようにして、リプレースブロックがBS
IOOより読み出され、信号BKWとともにWSユニッ
ト6へ送られる。
ミスヒットエントリに対するBAAフラグ内のアドレス
BSAはスイッチ210において書き戻し動作の間、信
号BKWに応答して選択され、線18を介してWSユニ
ット6に送られる. このリプレースブロックの読み出しが終了すると、ブロ
ックリード回路220から、終了信号BRENFが出力
される。
(fit)ブロック転送要求回路222は、リプレース
判定回路216からのリプレース信号RPLB又はブロ
ックリード回路220からの終了信号BERENDによ
り起動され、現在のメモリアクセス要求が読み出し要求
F又は書き込み要求Sのいずれであるかにより読み出し
のためのブロック転送要求BTR又は書き込みのための
ブロック転送要求BTWをWSユニット6に送出する。
スイッチ210(第2図は通常IPiからのアドレスA
DRIPを選択して線18を介してWSユニット6に送
る状態にある。また、書き込みのためのブロック転送要
求BTWの場合、ゲートG2(第2図)がこの信号に応
答して、IP1からの書込みデータを線16を介してW
Sユニット6に送る。
こうして、BAAAミスヒット時のブロック転送要求動
作が終了する。
(2)BS1からの上述のいろいろの信号に応答してW
Sユニット6は第10図にまとめられた動作を行う.*
ず、その概婦を説明する.(2A)BS書き込み判定信
号BMFがBSiから入力された場合(第10図(h)
又は(f))(i)他のBSjに同じブロックが保持さ
れていないとき、WSユニット6は、I PieこBS
書き込み許可信号PMTを出力する(第10図信号BM
F (h)). この信号BMFがBStに読み出し用に取り込まれたブ
ロック対するキャッシュ初めて書込み、要求がIPiか
ら出されたときである.本実施例では、同じブロックが
IP4に書き込み用に同時に保持されないように制御さ
れるので他のBS−に同じブロックが保持されていない
ということは、R J = Oであればよい。
このようにBSiへの書き込みを許したときにはWSユ
ニット6ではWAA410内のフラグをW i =M 
w : 1に変更し、このブロックが工P目こより書き
込みに用いられたことを示す.またこのブロックの内容
がMSの内容から書きかえられたことを示す。
(if)もし同じブロックが読み出し用にBSJに保持
されているとき(すなわちR,=1のときには,)この
ブロックをBSI,BSJの両方に保持させない所に本
実施例の特徴の一つがある.このときには、BSjにブ
ロックキャンセル信号BCを送り、その中の同じブロッ
クを無効にし、かつIPiからの書き込みデータ(一語
)はWS400内にストアし、信号SWTti−BS1
に送り、この旨を通知する(第10図信号BMF (f
))。なお、本実施例では、後述するように、いずれか
のBSに保持されているブロックは必らずWS400に
も保持されるようになっているため、このWS400へ
の一語ストアはただちに実行される. WSユニット6では、以上の動作に関連して、WAA4
 10内のこのブロックに対するフラグをR4=O,N
=Mw=1に変更する。
N=1になったことより、このブロックはこの後BS−
への取り込み禁止される。
(2B)読み出しのためのブロック転送要求BTRが入
力されたとき(第10図信号BTR((a)〜(d))
. (2B1)要求されたブロックがWSにある場合 (i)このブロックをBSiに転送するのは、そのブロ
ックがBS一に保持されていないN− R j= W 
a = O )か又はそのブロックに保持されていても
それが、読み出し用に保持されている(N=O  RJ
=1,WJ=O)ときである.結局N=O、W a =
 Oのときにプロック転送する.このときWSユニット
6は、このブロックの各語のBSiへの転送と同期して
信号BRDをBScに送る。さらに対応するWAAエン
トリのフラグをR i = 1とする(第10図信号B
TR(a))。
(n)このブロックがBSjに書き込み用に保持されて
いる場合(N=0、Wa−1)このブロックの転送を禁
止する,BSJにある対応するブロックは、WS400
にあるこのブロックの内容対するキャッシュ書きかえら
れているので,WS400からBSaへ信号WBを送り
、このブロックを書き戻しを指示した後、書き戻したブ
ロック内の、IP.から与えられたメモリアドレスAD
HIPを有する一語を信号SRDとともに、BSユニッ
トiに転送スる.このとき、WAA410内のこのブロ
ックに対するフラグをWJ= O , N= I Lこ
し、このブロックについては、その後がいずれのBSへ
の取り込みを禁止する(第10図信号BTR(b))。
(iii)このブロックがすでにBSへの取り込みを禁
止されている(N=1)ときには、要求された一語のデ
ータを信号SRDとともにBSユニットiへ送る。この
ときWAA410のフラグは変更しない(第10図信号
BTR(C))。
(2B2)転送要求されたブロックがWSにない場合 WS内の一つのラインをリプレースし,要求されたデー
タを含むラインをMS7からWS400へ転送し、その
後、要求されたデータを含むブロックをBS+に送る(
第10図BTR (d))。このとき,この新たなライ
ンに対するWAAエントリのフラグをN = M w”
W=O,Vw=1− RJ=O,Ri”:1とする。
このラインリプレース時には、リプレースすべきライン
に属するブロックをB S t ,BS一が保持してい
る可能性がある。したがって、その郁保持の状態により
第11図に示す処理d1〜d4をする必要がある。
(2C)書き込みのためのブロック転送要求BTWが入
力されたとき(第10図信号BTW(a),(a),(
f).(g),(d))。
ブロック転送を許可するのは、このブロックがB S 
aに保持されていな< (RJ=WJ=O),かつ,こ
のブロックの転送がすでに禁止されていない(N=O)
ときである。ブロック転送要求BTRのときと異なり、
このブロックが読み出し用にBS,に取り込まれている
ときもブロック転送はしない。さて、このブロック転送
時には,WAA410のこのブロックに対するフラグが
M w ” W i = 1に変更される(第10図B
TW(a))。
ブロック転送をしないときには、IPrからの書込みデ
ータ(一語)をそのままWS400に書き込み、信号S
WTをBSユニットiに通知する(第10図BTW(e
) 〜(g)).このときWAA410のこのデータを
含むブロックのフラグにより次の3つの処理のいずれか
がなされる。
(i)このブロックがBSJに書き込み用にすとき BSユニットj=信号WBを送り、このブロックをWS
400に書き戻したあと、BSユニットiから送られた
一語のストアをWS400対するキャッシュ行うこのと
き、WAA4 1 0内の対応するフラグをWJ=10
、N=I L、以後、いずれのBSへのブロック転送も
禁止する(第10図BTW(e))。このブロック内の
データがIPjにより書きかえられているため、書きか
え後のブロック対するキャッシュ上記一語の書き込みを
行うため上記書き戻しを行う。
(且)このブロックがBS一に読み出し用に保持されて
いるとき(N=O,RJ=1)BSユニットjにブロッ
クキャンセル信号BCを送りそのブロックを無効とする
ことをWS400への一語書き込みと並行して行う。
このときWAA410内の対応するフラグをRa=O,
N=Mw=Lとする。(第工0図BTW(f))。
(iii)このブロックのBSへの転送がすでに禁゜止
されているとき 上述の一語書き込みを行うのみでよい。
WAA4 10のフラグの変更も必要でない。
(2C2)要求されたブロックがwsにない場合 読み出しのためのブロック転送要求BTRの場合(IC
1参照)と同じく、ラインリプレース等を行う.転送要
求BTRの場合と異なるのは、WAA4 10の対応す
るフラグをMy”Wt=1とすることである(第10図
Brw(d)). (2D)リプレース信号RPLBが入カされたとき、 この信号はBSi中のブロックをws 400に書き戻さないでリプレースするときにBSユニ
ットiからwSユニット6に送付される。WSユニット
6ではこのブロックに対するフラグをR t = Oに
する(第10図信号RPLB)。
(2E)書き戻し信号BKWが入力されたときこの信号
は、BSt中のリプレースブロックをWS400に書き
戻すとき又はWSユニット6からの書き戻し信号WBに
応答してBS1がWSユニット6が指定したブロックを
WS400に書き戻すときにそのブロックの各語ととも
にWSユニット6に送られる.WSユニット6では、こ
の送られたデータの各々をWS400に書き込み、その
後、関連するフラグをR t = W t = Oとす
る。
以上のWSユニット6の動作の詳細を以下に示す。
(2a)BS書き込み判定信号BMFが入力された場合
(第10図(h)又は(f))(i)第5図はWSアク
セス制御500の概略ブロック図である。図中回路50
2,504,506,508,510,512,514
,516の出力線に付された(a)〜(h)の記号は第
10図の同じ記号のデータ処理のとき、その記号の付さ
れた出力線が1になることを示している。
上記回路への入力線17がどのBSユニットからのもの
かを示すIP番号iもこれらへの回路に供給されるべき
であるが図では簡単化のために省略してある。また、こ
れらの回路の出力にはいずれのBSユニットへ送出され
るべきかを示すIP番号(i又はj)も含まれるべきで
あるが,以下の説明よりその番号は明らかであるので図
では省略してある。
図において510は信号BMFに応答してBStにIP
iからの書き込みデータ(一語)を書き込んでよいかを
判定する回路である。
この回路は、R J = Oのときに書き込み許可信号
PMTを出力するようになっている。この信号がBSユ
ニットiに送られ、BStへの書き込みを行ってよいこ
とを通知する。
一方、WAA制fs440 (14)ltWAA410
内のヒットエントリ内のフラグをWi=Mw=2に変更
する。
おいて、R4=0のときの処理が終了する(第10図信
BMF (h)). (it)一語書込判定回路508は、いずれかのIPか
らBS書込み判定要求BMF又はデータ書込みのための
ブロック転送要求BTWが入力されたときに、ブロック
転送を禁止して,代りに、そのIPより書き込み要求さ
れている一語のデータをWS400に書き込むべきかを
判定する回路で、判定結果が肯定的なときには、書き込
み開始条件に応じて異なる信信SWI.SW2を出力す
る。信号SW1はただちにWS400に一語書き込みを
行ってよいときに出力され、信号SW2は、いずれかの
BSよりWS400にブロックの書き込みを行った後W
S400に一語書き込みを行うときに出力される。
信号BMFがIPiから入力されたときには、この回路
508は、R J = 1の場合、信号SWIを出力す
るように構或されている。
IPrから線18を介して与えられた、書き込みデータ
に対するメモリアドレスADR IPと後に説明するブ
ロック読出しアドレス(ブロック)読出し回路518か
らのアドレスADRRBn又はブロック書込み回路52
0からのアドレスA D R W B nのいずれか)
の一方を選択して、アクセスすべきエントリ内アドレス
としてWS400に与えるものである。この選択回路5
30は○Rゲー1・550の出力が1のときに後者のア
ドレスを選択するように構或されている。
信号BMFがIPiから入力された場合に出力される信
号SWIに、応答に一語書込み回路524は一語書き込
み信号SWTを生或する。この一語書込み信号SWTは
また、ORゲート534を介してWS400に書き込み
信号として与えられる。
こうして信BMFがIPiから与えられたときには、I
Piから与えられた書き込みデータがWS400に書き
込まれる。
なお、信号SWTはBSユニットiに送られ、この該を
通知し、BSi内の、書き込み対象のブロックを無効に
することを指示する.さて、図においてブロックキャン
セル判定回討512は,いずれかのバッファ記憶ユニッ
トからブロック転送要求BTR又はBTWあるいはBS
書き込み判定要求BMFが入力されたときに、それらの
信号に関連するブロック又はその他のブロックの無効を
いずれかのBSユニット対するキャッシュ要求すべきか
判定するもので、判定結果が肯定的なときに信号BC1
またはBC2を出力する。信号BC2はライン転送をと
もなう時で、BMFの時は生成されない. 信号BMFが入力された場合にR J = 1の場合、
BS−にアクセス対象と同じブロックがあるので、この
回路512は、この場合において、信号BCIを生威し
、オアゲート544を介して信号BC@:BSユニット
jに送る.この場合jは複数個ありうるのでBC信号は
R J = 1のすべてのBSユニットjに送る。WA
A410の該当するエントリ内のWSA(これはそのブ
ロックに対するメモリアドレスに等しい)を線19を介
してBSユニットjに送り、そのブロックの無効を指示
する. 一方、WAA制御440(第4図)では、このヒットエ
ントリに対するフラグをR J =0,N:Mw=:1
にする. こうして,BMF信号が入力された場合において、R 
a ” 1の場合の処理が終了する。
(2b)読み出しのためのブロック転送要求BTRが入
力されたとき(第10図信号BTR((a)〜(d)) (2bl)要求されたブロックがWSにある場合 (i)第5図において,ブロック転送判定回路502は
BSからのブロック転送要求BTW又はBTRを受けて
,要求されたブロックをBSに転送すべきか否かを判定
する回路で、ブロック転送すべきときはブロック読出し
開始条件の異なる信号BT1又はBR2を出力する。
信号BRIはただちにブロック転送をしてよい場合に出
力され、信号BR2は,必要なブロックを含むラインを
MS7から WS400に転送したあと、BSにブロック転送すべき
ときに出力される。
ブロック読出し回路5 1 8 j′!、信号BRL又
はANDゲート540を通過した後の信号BR2により
起動され、読み出すべきブロック内のn語に対するn個
の読出し要求RBnをORゲート536を介してWS4
00に供給するとともに、それぞれの語の、WSエント
リ内アドレスADRRBnをエントリ内アドレス選択回
路530に順次に供給する。
ブロック転送要求BTR又はBTWの場合には、選択回
路530はオアゲート550がlとなっているのでこの
アドレスADRRBnを選択してWS400に送る状態
にある。
さて、信号BTRがIPiから入力されたときに、転送
要求対象のブロックがBSJに保持されていないか又は
保持されていても読出し用であって書込み用でない場合
、すなわち、N=WJ=0のときには、ブロック転送要
求判定回路502は信号BRIを出力し、ただちにブロ
ックの転送開始をブロック読出し回路518に指示し、
この回路とエントリ内アドレス選択回路530の前述の
動作によりブロックの各語の読み出しが行なわれる。
このときブロック読出回路518の出力信号は信号BR
DとしてBSユニットiにも送られ、転送したブロック
の書き込みを指示する.このときWAA制御440(第
4図)はWAA4 10内の該当するエントリのフラグ
をR1=1に変える。こうして、N=W4=0のときの
ブロック転送要求BTHに対するWSユニット6の動作
が終了する。
(3i)第5図のブロック書き戻し判定回路504は、
BSユニット3からの信号BTRまたはBTWが入力さ
れた時、他のIPjが取りこんでいるブロックを書き戻
す必要があるかどうかを判定し、必要があれば、信号W
B1またはWB2とそのIPの番号jを出力する.WB
2は、ライン転送を伴なう場合に出力され、その動作は
後述する。WBIは、BTR要求またはBTW要求で要
求されたブロックを他のIPが書き込みのために保持し
ている(Vw−V/a=1)時に1となる。信号WBI
はオア回路542を介してIP番号jで指定されるBS
ユニットjに信号V/Bとして送られる。この時、WA
A4 1 0の該当エントリのメモリアドレスWSAも
、線19を介して、BSユニットjに送られる。BSユ
ニットjでは指定されたアドレスWSAに対するエント
リから必要語数nだけBSjからデータを読み、信号B
KWと共に,WSユニット6に送り返す.信号BKWが
戻るとブロック書込回路520を起動し,信号WBnを
書き込みを指示すると共に、ブロック内アドレスADR
WBnを生成して、選択回路530を介してWS400
に送る。また1ブロック分の書き込が終ると、信号WB
ENDを発生する。
一方、BTR要求で、WBIが生或された時には、一語
読出し判定回路506において、信号SR2を1にして
いるので、WBENDが発生すると、一語読出し回路5
22内のアンドゲート552が1となり、信号SRDが
生或される.これにより前述のブロック読出しと同様(
ただし1語のみ)の読出しがWS500から行なわれ、
信号SRDと共にBSユニットiに送られる。またWA
A制御440は信号SRDにより、WAA410内の該
当するエントリのフラグをN=1とする。
(iu)BTR要求を受け、WAA4 10がヒット(
HTW=1)の時、一語読出し判定回路606は、フラ
グN=1であれば、信号SR1を生威し、一語読出し回
路522を介して、信号SRDを発生する.この後は上
述の(ii)のSRDと同様にして、WS400から一
語の読出し、信号SRDのBSユニットiへの返送、W
AA制御440でのフラグNの書込みが行なわれる,な
おこの場合、フラグNは、動作開始前から1となってい
るので、そのままでもよいが新たに1を書き込んでもよ
い。
(2b2)要求されたブロックがWSにない場合 WAA410からミスヒット(信号MISHTW)が出
る.この場合、要求されたブロックをMSから転送する
が、現在のフラグの状態により、第11図に示す(di
)〜(d4)の処理が行なわれる。
(処理di) Vw−0か、Mw=Oかつ、N=1orR=W=0の場
合は、リプレース判定回路514で、信号LRPが生戒
され、ライン転送回′l&526の制御により、直ちに
ライン転送が起動される。
第8図はライン転送回526の詳細ブロック図である。
信号LRPにより、ライン転送要求回路582が起動さ
れ、線98を介して、主記憶7ヘライン転送要求LTR
が送られる。
ラインアドレスは、スイッチSW5W4 1 0、線9
7を介して、BSユニットiからのアドレスが送られる
主記憶で該当するラインを読むと、データ95と信号L
RDが返送される。ライン書込み回路584は、信号L
RDにより、WSの書込み指令WLn、ライン内アドレ
スADRWLnを生成し、MS7から送られるデータ9
5のWS400への書き込みを指示する。
また1ライン分の転送が終ると、信号LTRENDを発
生する。信号LTRENDにより、BAA制御410が
働き.WAA(7)7ラグVw=1、WSAにはSW3
Bを介して送られるADRIPの上位部分を、またMw
=N=R=W=Oとする。またブロック転送判定回路5
02では、信号BR2を発生しているので、信号LTR
ENDにより、アンドゲート540がlとなり,ブロッ
ク読出し回酪518が起動され、(2bl)の(i)で
説明したブロック転送が行なわれる。
(処理d3) フラグがVw−1、N = M w = W a = 
O、Rj=1の場合ブロックキャンセル判定回路512
において信号BC2を生戒する。これはオアゲート54
4を介して、信号BCを生威し、(2a)の(n)で述
べたのと同じブロックキャンセル動作が行なわれる。ま
た信号BC2は、ライン転送回路526にも送られ、信
号LRPと同様にして,ライン転送を起動する。その後
の動作は処理d1と同様である.(処理d4) フラグがVw”N−=Mw=1の場合は、リプレースさ
れるWSのブロックはBSとは一致しているが、MSと
は異なっているので、MSに書き戻す必要がある。ライ
ン書き戻し判定回路516は、この条件を検出し、信号
RLWBを生戒する。ライン転送回路526では、信号
RLWBを受けると、信号WB2が出ていないので、ア
ンドゲート583が1となり、ライン読出回路580が
起動される。
ここでは1ラインの語数に相当するn回の読出し指令R
Lnとそれに対応するライン内アドレスADRRLnが
が生或され,主記憶7へ,書込み指令LBKとアドレス
97、WSから読出したデータ96が送られ、ライン書
き戻しが行なわれる.1ラインの書き戻しが終ると,ラ
イン読出回路580で終了信号LRENDが生或され、
これによりライン転送要求回路584が起動される.以
後は処理d1で述べたのと同様の動作が行なわれる。
(処理d2) Vw=Wa:Mw”:1、N=Oの場合は、BSJの内
容がWSと異なるので、まずBSJからの書き戻しを行
なわねばならない。ブロック書き戻し判定回路504は
、この条件を書き戻し判定回路516も信号RLWBを
生或する。信号WB2は上記パラグラフ (2bl)の(n)で説明した信号WBIと同様にして
、BSJからのブロックの書き戻しを行なう。一方信号
RLWBは、ライン転送回路526に送られるが、信号
WB2によってインヒビットされるので、アンドゲート
583は1にならない。逆に上述の書き戻し終了時に発
生する信号WBENDにより,アンドゲート581が1
となり、ライン読出回路580が起動され、以後は処理
d3で述べたライン書き戻しと同様の動作が行一なわれ
る.以上により、信号BTRを受けて、そのブロックが
WSにない時の動作が終る。
(2C)書込みのためのブロック転送要求償号BTWを
受けた時(第10図の(a).(e)〜(g)) (2C1)要求されたブロックがWSにある、即ち、ヒ
ット信号HTWが出るとき、 不ラグN =M w = R J = W J = O
の場合(第10図の(a))この場合は、すでに(2b
l)の(i)で述べたBTR要求に基づくブロック転送
処理と同様である。相違は、最後にWAA410のフラ
グをR1ではな<てW1=1とする点にある.このフラ
グの書込み制御はWAA制11440で行なう。
(i)BTW要求を受け、ヒットエントリがあり(HT
W=1)かつそのエントリのフラグがN = O . 
WJ = 1の場合、(第10図の(e))、先ずBS
Jからの書き戻し動作を行なう.ブロック書き戻し判定
回路504で信号WBIが生或され、(2bl)の(3
1)で述べたのと同様にして書き戻しが行なわれる。
一方、一語書込判定回路508は信SW2を生或してい
るので書き戻しが終了して、ブロック書込回路520で
信号WBENDを生成すると、一語書込回路554のア
ンドゲート554が1となり、SWT信号が生威される
以後は(2a)の(it)で述べたのと同様の一試コ込
の制御が行なわれる。
(lBTW信号が入力され、HTW=1であり、N=1
0、Ra=1の場合(第10図のBTWで(f))は,
概ブロックがBSJにあるので、これを無効にし、−i
書込みを行なう。
(2a)の(i)で述べたのと同じ制御が行なわれる。
(ni)BTW信号を設け、HTW=1,N=1の場合
(第10図の(g)),この場合は概ブロックのBSへ
の取込みが禁止されているので、一語書込み動作を行な
う。一語書込判定回路508で信号SWIが生成され、
(2a)の(i)で述べたのと同じ一語書込の制御が行
なわれる. (2C2)BTW要求を受け、概ブロックがWSにない
(MISHTW=1)場合 この場合の動作は(2b2)で述べたBTR要求を受け
てミスヒットの場合の動作と、ほとんど同じである。相
違点は、最後にWAAのフラグに書く場合、R,=1と
はせずに制御440で行なわれる。
(2d)信号RPLBを受けると.Ri=Oとする。こ
のため、第7図に示すオアゲート571と572を介し
て、信号WTRWが、WAA4 1 0に送られ、R.
Wフラグの書き込みが指示される。書込むべきデータは
D R t , D W i, D R J , D 
W−で与えられるが、RWフラグ回路573は、この場
合、D R tのみOとし、その他は元の値(RJ、W
a)を出力するように動作する。
(2e)信号BKWを受けると、BKWはブロックの語
数n回分だけ送られるが、(2bl)の(n)と同様に
して、ブロック書込回路520が起動され、書き戻しが
行なわれる。
しかしWBENDが出てもアンドゲート552、554
、581のいずれも1とならず、この先の新しい動作は
起動きない。一方、WAA制御440は、信号BKWに
よりオアゲート571,572が働いて信号WTRWに
より、R,Wフラグの書込み指令が出される。RWフラ
グ回路573は信号BKWによりBS+からの信号BK
Wによる書戻しとフラグの書込みが終了する。
(3)BSiからWSへ送った要求信号BTR、BTW
,BMFに応答してBRD.SRD、SWT,PMTな
どの応答信号が返される。
また他のBSからの要求から派生して、ブロックキャン
セル要求BCや書戻しWBがWSからBS一に送られる
。これらに対するBSユニットの概鴫動作を先ず説明す
る。これらの動作の概要は第9B図に示す。
(3A)BMF要求を送った場合、 これは前述のごとく読出しのために取込んでいるブロッ
クへの書込み許可を求めたものである。
(3Ai)PMT信号が返された場合(第9B図(5)
) 書込みが許可されたので、IP+からのデータをBSの
概当ブロック内の送定されたアドレスに書込み.I3A
AのフラグをM[l=1いるので、そのままでもよいし
、新たに同じ値を書き込んでもよい。
(3A2)SWTイ1号が返サレタ時(第9B図(6)
) 書込みのためのブロックの取込みが許可されなかった。
必要な一語はWSですでに書込んでいるので、BSiで
はこのエントリを無効にするため、VB=Oとする。
(3B)BTR信号を出し、ブロック読出し要求を出し
ている場合 (3B1)BRD信号が送り返された場合(第9B図の
(1)) BRDは、ブロックの語数n回分返ってくる.BRDが
くるごとに、WSからのデータをBSIOOの概当ブロ
ックに書込む。またブロック内の語番号が工Piからの
指定アドレスと一致した場合は、WSからのデータをI
Piへも送る。BRDの最終回(ただし途中の回で毎回
行なってもよい)に、BAAの概当エントリに、Vs=
1、Ms=0.BSAにはADRIPを書込む。
(3B2)SRD信号が返送された時(第9B図(2)
) ブロック転送が許可されなかったので、WSからのデー
タをIPiに送り,フラグVaをOにする。
(3C)BTW信号を出し、書込みのためのブロック転
送を要求している場合 (3C1)BRD信号が送り返された場合(第9B図(
3)) 同様にして、送り返されるデータをBSに書き込む。た
だし、IPiにデータを送る動作は不要で、ブロック転
送終了後、IP+からのデータをBSに書く。またフラ
グはVa:MB:Fl、BSAはADR I P@:書
く.(3C2)SWT信号が送り返された時(第9B図
(4)) ブロック転送が許可されなかったので、(3A2)と全
く同じ制御をすればよい。
セルが要求された場合(第9B図(7))SCから送ら
れるアドレスで指定されるBSのブロックを無効にする
ため,対応するBAAのフラグVaをOにする。(3E
)SCからWB信号によりブロック書戻しが要求された
場合(第9B図(8))。SCから送られるアドレスで
指定されたブロックからn語を読出し、信号BKWとと
もにSCに送り返す。この後このブロックを無効にする
ため、BAAの対応するフラグVa=Oとする。
(3)以上のBSユニット3の動作を以下に詳述する。
(3a)書込み判定要求回路223は信号PMTまたは
SWTが返るとリセットされる。
(3al)信号PMTが返送された場合、第3図のオア
ゲート226が1となり、 BSIOOに書込み指令として送られる。アドレスはス
イッチSW3 B 2 0 8経由でADRIPIOが
、またデータはスイッチSW111が書かれる。BAA
制御140では信号PMTにより、第6図のオアゲート
l43,144,145が1となる.信号WTFGは、
フラグの書込み指令、DVBとDMBはそれぞれVaと
Maに書くデータである。またBSAはSW3Bから与
えられるアドレスの上位部分が書かれる。以上により、
PMT信号によるデータとフラグの書込みが終る。
(3a2)信号SWTが送られた場合、BAA制御14
0では、オアゲート141、145を介してフラグ書込
み指令WTFGが1となるが、DVB.DMBはOなの
で、VaとMaはOが書かれる。
(3b)ブロック転送要求回路222はブロックライト
終了信号BWENDまたはSRDまたはSWTが戻ると
リセットされる。
(3bl)BTR要求に対し、BRD信号が返った場合 ブロックライト回路242が起動され、ドレスA D 
R B W nが生戊される。B W nはオアゲート
226を通して、BSの書込み指令となると共に,オア
ゲート230を通して、BSエントリアドレス選択回路
234で、オアゲート232を通して送られるADRB
Wnt&選択する。またスイッチSWIB202にも送
られて,SCから送られるデータ15を選択する。信号
A D R B W nは比較器236において、IP
からのアドレス信号ADRIPの対応するビットと比較
し、一Mすると、アンドゲート238、オアゲート24
0が1となり、ゲートG1においてSCからのデータを
lill2を介して命令ユニットに送る.BAA制御1
40では信号BRDにより、オアゲート143と145
が働き,Vaに工が.BSAにはアドレスの上位ビット
が書かれる。n回の書込みが終ると、ブロックライト回
路242で信号BWENDが生成されブロック転送要求
回路をリセットする。
240が1となり、ゲートG1205を開いて、SCか
らのデータを命令ユニットに送る.BAA制御では、S
WT信号と同様にして,Vs=Oとする。( M eも
Oとなるが差しつかえない) (3C)書込みのためのブロック転送要求BTWを出し
ている時 (3C1)BRD信号が返った時、(3bl)のブロッ
ク転送時と同様の動作をするが、ゲート238は開かな
い。逆に、ブロック転送終了信号BWENDにより、ア
ンドゲート237が1となり、命令ユニットからのデー
タを、ブロック転送したブロックに書く。この時オアゲ
ート230は開かないので、BSエントリ内アドレス選
択回路234は、ADRIPを選択する。BAA制御1
40では、BR D ニより信号DVB,W’I”FG
(7)他、7’/ドゲート142が1となり信号DMB
も1となり.VaとMBに1が、BSAには命令ユ二汽
1からのアドレスが書かれる. (3C2)信号SWTが返った場合(3 a 2)と全
く同様の制御が行なわれる。
(3d)信号BCによりブロックキャンセルを要求され
た場合、オアゲート250が王となり,スイッチSW3
Bにおいて、アドレスは線19によりSCから送られる
ADRWSを選択する。一方BAA制御140において
、WTFGのみが1となるので、アドレスで指定された
エントリのフラグVa−0となる。
( M aもOになるが差しつかえない)。
(3e)信号WBにより書き戻しが要求された場合 オアゲート219が1となり、ブロックリード回路22
0が起動され、(IC)の(n)で説明したのと同様の
書き戻し制御が行なわれる.(IC)の時との相違は、
オアゲート250が1となり、スイッチSW3Bが20
8において、アドレスはSCからのADRWSが選択さ
れることを信号BRENDは罰告或せず、ブロック転送
要求回路222を起動しないことおよびBAA制御1,
40において、信号WTFGが1となり、Vs=Oとな
る点である。(Maも0になるが差しつかえない)。
第6図はBAA制御140の詳細回路の一実施例である
。信号WTFGは、フラグの書込指令であり、DVB.
DMBはそれぞれVa,Msへ書くべきデータである。
BSAへは、スイッチSW3B208から入力されるア
ドレスの対応部分が書かれる。
これらはSCからの信号BRD.PMT.SRD,SW
T.WB,BCに応じて決定される。またBRDの時は
BTWへの応答か否かにより区別が必要である。 第7
図はWAA制御440の詳細ブロック図の一実施例であ
る。WTV.WTNM.WTRWは各々、フラグVw,
NとMw%RとWへの書込み指令であり,その時書くべ
きデータはDVW.DNとD M W , D R t
とDWiとDRjとDW−で与えられる.WSAへの書
き込みはWTVの時に行なわれ、そのデータはスイッチ
SW3Wから入力されるアドレスの対応部分である。
これらの信号は、BS+への応答信号PMT.BED.
SWD,SWT,SRDまたBTRかBTWか、あるい
はSCでの動作信号LTREBD.WB,BC,RPL
B.BSiからの信号BKW、およびIPi号i,jの
他、現在のフラグRi.Wカ、Rj.WJにより定まる
. なお、フラグNが一度セットされたあとは、適当なタイ
ミングでリセットされる。たとえば、WS内にあるその
ブロックを含むページが主記憶7からページアウトされ
たときのように、WS内のブロックを使用できなくなっ
たとき、WS内のそのブロックをMSに書き戻すととも
に,対応するフラグNをリセットする。本実施例では、
簡単化のために、フラグNのリセットの回路は省略した
(他の実施例) #、本発明の一実施例の詳細を述べた。本例では、記憶
階層が3階層(BS−WS−MS)の例で説明したが、
WSがない2階層の構或(BS−MS)でも可能である
。この場合,第1図の主記憶装置(MS)7は存在せず
、同図および第4図のWSに置きかえて考えればよい。
またMSは必ずヒットするので、WAA4 1 0にお
いてVwは不要で常に1と考え、MwとWSAも不要で
ある。常にヒットなので、ラインリプレースやライン転
送に関する制御も不要である。
(さらに他の実施例) 説明した実施例では、BSにおいて、Ma=1の時は、
BSにのみデータをストアしWS (LたがってMSに
も)にもストアしない,いわゆるストアイン方式を例に
説明したが、ストアの度にWSも書き換えるストアスル
一方式でも実施可能である。WSはストアイン方式で制
御するものとすれば、上述の説明中、BAAのMBビッ
トとWAAのWビットおよびこれらに関連する制御BM
F要求や書戻しWBの制御が不要となる。命令ユ二れば
BSに書くとともに、BSにあってもなくても,WSへ
の一語書込みを行なうことになる。
以上本発明の共有データの制御方法は、2階層、3階層
のいずれでも、またストアスルー/ストアインのいずれ
でも適用できる。どの方式がすぐれているかは、各記憶
装置の速度とコストの兼ね合いや,プログラムの動作の
性質に依存するが、一般的には、最初の実施例で示した
3階層シングルコピ一方式、ストアインがすぐれている
ことを以下に示す。
(1)2階層と3階層の比較 2階層と3階層の比較はコストが関係して単純ではなく
、比較した論文も少ない。ここではブロック転送時間の
みの簡単なモデルでの比較を行なう。
先ず使用する記号を定義する。
T2 =2階層におけるMSからBSへのブロック転送
時間 ’r,,:a階層におけるMSからWSへのライン転送
時間とWSからMSへのブロック 転送時間の和 T3z:3階層におけるWSからBSへのブロック転送
時間 p  :WSのヒット率 システムコスト一定とすると、2階層の場合はWSがな
いのでそのコスト分だけMSを高速にできる。またWS
はMSより高速でなければ意味がないので、次式が或立
する。
T3,>T,>T,2 (1) 一方、3階層、2階層各々の実効ブロック転送時間は次
式の左辺と右辺で表わされる。
P”T32+  (1−p)’T33>T2 (2)(
2)式が或立する時、2階層が有利となる。
T33=1とおいて、時間はこれと比で考えると?z 
< 1  p + p−T3■ (3) となる。この関係を第12図に示す。一般にT3a /
 T33 = 1 / 1 , 8〜1/3T,/T3
3=1/1.2〜1/1.5程度であり、この範囲を同
図中に示す。このことから以上検討した簡単なモデルで
は、WSのヒット率が低くかつT2が小さい時以外は,
殆どの場合3階層のほうが有利であるといえる。
(2)3階層でのマルチコピ一方式とシングルコピ一方
式の比較 同一レベルのキャッシュ(BSまたはWS)が複数個あ
る時、同一ブロックが複数のキャッシュに存在するのを
許すマルチコピ一方式か、許さないシングルコピ一方式
かの2方式がある。
マルチコピ一方式 そのキャッシュをアクセスするソース(IPまたはIP
群)対応にキャッシュを設けると必然的にこの方式とな
る。キャッシュをソースの近くに設置できる利点はある
が、マルチコピー間のコヒーレンス処理が必要になる。
シングルコピ一方式 キャッシュを上位階層の記憶装置に対応して設ける,1
つのブロックは1つのキャッシュにのみ存在しうるので
、同一レベルでのコヒーレンス処理は不要だがソースか
らの距離が遠くなる可能性がある。
以下でもBSは最初の実施例と同様にマルチコビ一方式
を採るものとし、WSについてはマルチコピ一方式とシ
ングルコピ一方式とを強った場合を比べる。
マルチコピ一方式によるシステムのブロック図を第13
図に示す。
図から分かるように主記憶MS.、MS.に対応して記
憶制御S00、SC1が設けられ、それぞれの中にある
上位記憶装置間WSいWS1はMS,、MSエのいずれ
に属するブロックを保持可能になっている− W S 
a . W S 1は同一のブロックを保持することを
許される。
命令処理装置IP,〜IP,は直接WS0をアクセスし
.IP4〜IP,は直接WSiをアクセス可能になって
い為。
?P,からのブロック転送要求の処理手順は次の通りで
ある, (1)自sc (sc,)のWAA.を調べ、ヒットす
れば(確率P − R ) 、W S oから読む。
(2)ミスヒットなら他SCに送ってWAAエを調べる
。ヒットすれば(確率P3R) 、WSエからWS.ヘ
ライン転送した後、IP,ヘブロック転送する. (3)wAA.でもミスヒットなら、制御をSC0に戻
してMSからライン転送する。所望のラインがMSoに
あるかMS■にあるかは同じ確率とする。
実効的なブロック転送時間TBTは次の式で与えられる
十 Tsr= T*!Tzw+ (1  −  P.R) 
 ・ [ t A+ T,w+Tユr<−T3+ ( 
I    P 3R){T.,w+0.5  (′r4
−+−r.)) ](4) ここで各記号の意味は次の通りである。
?のブロック転送時間。
T一、T,w, T.w :各々WAA.、WAAいM
Sを参照する時の待ち時間。
T3、’r4,’r,:wsエ、MS.、MS■からW
S,八のライン転送時間で、T2 とオーバラップできない時間を表 わす。
t^    :SC間でアドレスや制御信号を送る時間
シングルコビ一方式のマルチプロセッサシステムを第1
4図に示す。第13図と異なるのはWS.、WS,はそ
れぞれMS,,MS,のブロックのみを保持する。した
がって一つのブロックがWS0、WSエの両方には存在
している。IP,〜IP3からのアクセスすべきデータ
のアドレスによりWS11をアクセスするかWS1をア
クセスするかがSCOにより制御させる。
IP4〜IP,からのアクセスについても同様である。
異なるものについて′を付けて表わす。処理手順は次の
様になる。
(1)アドレスによってSC.を読むかSCエを読むか
が決まる。その確率はともに0.5である。
(2)SC,を読む時はSC0を経由してアドレスを送
り、読みだされたブロックをSC0経由で工P0に送る
。この場合ブロックはWS0には書かれない。
(3)WAA.あるいはWAAエでミスヒット(ヒット
する確率P.R’ )Lた場合は、自己に接続されたM
Sからライン転送を行なう。
Tsr’=T2+T2w’+0.5(t^+ ts)+
o+p,yt’)−(’r4w+’r4)  (5)こ
こでtBは読みだしたブロックを他のSCに送る時間で
T.+よオーパラソプしない時間を表わす。
マルチコピ一方式では1つのブロックが2つのWSに保
有されることがあるので、SCOPYの方がWSを有効
に使用し、ヒット率が高くなる。
従って, tA:=2.tB=4,T,w−T3w’=1P ,R
 + (1 − P zR)・P3RS PAR’  
  ( 6 )なる関係がある。ここで、両辺の差をα
と置き、更に T3w=T4w=o.T.=T4+t^+taとおくと
、 Tar−TBr’==T,w−T,w’ +(1−Pa
R)[t^+P3RT3+(1−P3R) (T.+0.5(t^+ t a))コ−0.5(t^
+to)−(1 − P,Fl一P,R+P,RP.R
一α)T4 =T.w−T.w’ +(l  PAR)(t^十P3
RT,+0.5CP,RP3R−P2R  PaR) 
(t^+ta)+αT4(7) ここで、α=Oと置き,更に時間の単位をマシンサイク
ルとし、実際のシステム側に近い値としこの時、 TBT−TBT’  =3+(T,−3)P3R−(5
+PJR(T,−3))P,R  (8)ここで右辺=
0とおいて変形すると, T,をパラメタとにしてP,RとP3Hの関係を第15
回す.同図に−P,RとP3Rの現実的な値の範囲も示
した。この図からT3をかなり小さくしない限り,シン
グルコビ一方式が有利な場合が多い。
(3)ストアスルーとストアインの比較以下、シングル
コビ一方式についてこの比較を行う。
B ellらはミニコンピュータの場合について、スト
アスルーとストアインの両方式の比較を行ゆっでいるが
、超大型計算機の場合は条件が異なる。
B ellの文献ではMSへのストア処理に時間がかか
る方式であるが、超大型機ではIPにストア用のバッフ
ァを設け、おいてきぼり制御(WSへのストアが完了し
なくても次の命令処理に進む制御方式)を行なうことに
よりMSへのストアア処理時間が表に出ないようにして
いる。
この場合2つの方式で差が生ずるのはストア命令の処理
時間と、読みだしのブロック転送の際のWAAにおける
待ち時間であり、その合計で比較する。
(1)ストアスルー PS(TS+ ts)+  (1−Pxu)Tow  
 (1 0)Ts:ストア命令の処理時間 ts :ストアスルーのために個々のストア命令にかか
るオーバヘッド Ps :ストア命令の頻度。
P1R:BSのヒット率。
(2)ストアイン Ps(Ts十Px IITar)十PwaTat+(1
−P,R)T.W        (1 1)Px :
ストアアドレスがBSになく、かつそのブロックがリプ
レースされるま で、読みだしがない確率.この場合、 先ずそのブロックをBSにブロック 転送し.しかもそのブロックがよま れないのでストアスルーに比して余 分のブロック転送を行なうことにな る。
Pwa:コヒーレンス処理などのためにライトバックが
起きる確率。ライトバッ クの処理時間はTBTと同じと仮定す る. (3)両方式の比較 ストアスル一方式において、おいてきぼり制御にし,ス
トアバッファを十分用意すれば、ts=0と仮定しても
よい。この時(10)式と(11)式の差は次式で表わ
される。
(I   P iyt)  (T2W  T2W’)(
PsPx+ Pwa)Tar      ( 1 2 
)P.R:0.9、Ps=0.1を仮定する.PxとP
WBはデータがないが、少なくともPx−1−PエRは
仮定できる。またライトバックの頻度は100命令に1
回よりは少ないであろう。この点を考慮してPx−0.
01と0.05、Pws=0.002と0.01の組合
せをバラメタとして式(12)=Oとする関係を第16
図に示す。
またTBTとT,w − T2w’の現実的な値の範囲
も示した。
図の範囲ではストアインの方がやや有利である.さらに
IPの数が増えたときはTよw−Tw’ が大きくなる
ので一層ストアインが有利となる。
〔発明の効果〕
本発明によれば、主記憶を共有するマルチプロセッサシ
ステムにおいて、複数のプロセッサからアクセスされ、
かつその内の一つ以上は書込みがあるブロックをハード
ウエアで自動的に簡便に検出することができ、また以後
、そのブロックを各プロセッサ内のキャッシュへの取込
みを禁止することによりピンポン現象をなくし、高速な
記憶共有方式を実現できる。
【図面の簡単な説明】
第1図は2台の命令処理装置1、3階層記憶の例におけ
るシステム構成図である。 第2図は、命令処理装置中のバッファ記憶100とそれ
を管理するバッファ記憶ユニット3の概略ブロック図で
ある。 第3図は、バッファ記憶ユニット中で、B .S100
とBAAIIOのアクセスや記憶制g4装置とのインタ
フェースを制御するBSアクセス制御200の概略ブロ
ック図である。 第4図は、上位キャッシュの上位記憶装置間WS400
とそのアドレスを管理するアドレスアレイWAA4 1
0およびそれらの制御回路から或るWSユニット6の概
略ブロック図である。 第5図はWS400とWAA4 1 0のアクセスース
を制御するWSアクセス制御500の概略ブロック図で
ある。 第6図はBAAIIOのフラグの書込み制御を行なうB
AA制御140の回路図例である。 第7図はWAA4 10のフラグ書込み指令とそのデー
タを出力するWAA制御440の概略ブロック図である
。 第8図はWS400とMS7の間のライン書込み、ライ
ン転送を制御するライン転送回路526の概略ブロック
図である。 第9A図は命令処理装置からの読出し、書込み要求に応
じて,バッファ記憶ユニットで行なうべき動作の概要を
示す図、 第9B図は、同じくバッファ記憶ユニットで、記憶制御
ユニット4からの応答に対応して行なうべき動作の概要
を示す図である。 第10図は上位記憶装置間ユニット6において、BSユ
ニットからの要求信号に応じて行なうべき動作の概要を
示す図、 第11図は、第10図中でラインリプレースが必要な場
合の動作の概要を示す図である。 第12図は2階層と3階層の得失を比較する図、第13
図はマルチコピー沈失騎マルチプロセッサシステムの構
或図、 第14図はシングルコビ一方式のマルチプロセッサシス
テムの構或図、 第15図はマルチコピ一方式とシングルコビー方式の性
能比較する図、 第16図は、ストアスルーとストアインの性能を比較す
る図である。 寥7図 第6図 3治 BAA警゜泪T 第’IA図 第 11 図 竿 10 図 第12図 72/アj.?

Claims (1)

  1. 【特許請求の範囲】 1、複数のプロセッサで共用される、少くとも主記憶装
    置を含む上位記憶装置と、各プロセッサに専用の、該上
    位記憶装置内の一部のブロックを保持するキャッシュ記
    憶とからなるマルチプロセッサにおいて、 (a)あるアクセス要求元のプロセッサに対する第1の
    キャッシュ記憶でキャッシュミス ヒットが検出された場合、(a1)アクセス対象のデー
    タを含む第1のブロックが他の少くとも一つのプロセッ
    サに対する第2のキャッシュ記憶に存在し、かつ、(a
    2)該他の一つのプロセッサが該第1のブロックを書き
    かえ済みかもしくは該アクセス要求元のプロセッサが該
    第1のブロックを書きかえるときには、該第1のブロッ
    クを該第1のキャッシュ記憶に該上位記憶装置から取り
    込むのを禁止し、 (b)該要求元プロセッサのために該上位記憶装置をア
    クセスするキャッシュ記憶制御方法。 2、(c)該第2のキャッシュ内の該第1のブロックを
    無効にし、 (d)以後、いずれかのプロセッサに対するキャッシュ
    記憶に該第1のブロックを該上位記憶装置から取り込む
    のを禁止する第1項のキャッシュ記憶制御方法。 3、(e)該アクセス要求元のプロセッサが該第1のキ
    ャッシュ記憶に存在するデータを書きかえる場合であっ
    て、他の少なくとも一つのプロセッサに対する該第2の
    キャッシュ記憶に該データを含む第2のブロックが存在
    するときには、該上位記憶装置内のデータを書きかえ後
    のものに変更し、 (f)該第1、第2のキャッシュ記憶内の該第2のブロ
    ックを無効にし、 (g)以後、いずれかのプロセッサに対するキャッシュ
    記憶に該第2のブロックを該上有記憶装置から取り込む
    のを禁止する第1項のキャッシュ記憶制御方法。 4、いずれかのプロセッサが対応するキャッシュ記憶内
    にあるデータを書きかえる場合であって、他のいずれの
    プロセッサに対するキャッシュにもそのデータを含むブ
    ロックが保持されていないとき、該データの書きかえを
    、該対応するキャッシュ記憶について行うが、該上位記
    憶装置には、該データの書きかえを行なわないように、
    データの書きかえを実行し、 該ステップ(b)において該第2のキャッシュ記憶内の
    該第1のブロックが該第2のキャッシュ記憶に取り込ま
    れてから書きかえ済みであるときは該第2のキャッシュ
    記憶内の該1のブロックを該上位記憶装置に書き戻して
    から、該第2のキャッシュ記憶内の該第1のブロックを
    無効にし、該書き戻された第1のブロック内のデータを
    アクセス要求元のプロセッサのためにアクセスする第1
    項のキャッシュ記憶制御方法。 5、いずれかのプロセッサが対応するキャッシュ記憶内
    にあるデータを書きかえる場合であって、他のいずれの
    プロセッサに対するキャッシュ記憶にもそのデータを含
    むブロックが保持されていないとき、該対応するキャッ
    シュ記憶および該上位記憶装置内のデータについて書き
    かえを実行し、該ステップ(b)における無効の実行と
    並行して該上位記憶装置内のデータを該要求元プロセッ
    サのためにアクセスする第1項のキャッシュ記憶制御方
    法。 6、該上位記憶装置は、それぞれのプロセッサにより共
    用されるワーク記憶をそれぞれのキャッシュ記憶と該主
    記憶装置との間に有し、キャッシュ記憶と該上位記憶装
    置間のブロックの転送はキャッシュ記憶と該ワーク記憶
    の間で行い、キャッシュ記憶からの該上位記憶装置内の
    データへのアクセスは該ワーク記憶に対して行う第1項
    から第5項のいずれかのキャッシュ記憶制御方法。 7、該上位記憶に保持されているブロックの内、少くと
    もいずれかのキャッシュに保持されているブロックの各
    々について、それが該複数のプロセッサのいずれかに対
    して設けられたキャッシュ記憶に読み出しのために用い
    られたか又はそのキャッシュ記憶に書込みのために用い
    られたかを示すフラグを記憶し、いずれかのアクセス要
    求元のプロセッサに対するキャッシュ記憶において、キ
    ャッシュミスヒットが生じたとき、上記フラグの内、ア
    クセス対象のブロックに対して記憶されたフラグの値に
    より該ブロックを該キャッシュ記憶に転送するか否かを
    制御する第1項から第6項の記憶制御方法。 8、複数のプロセッサと、それらにより共用される、少
    くとも主記憶装置を含む上位記憶装置と、各プロセッサ
    に専用の、該上位記憶装置の一部のブロックをそれぞれ
    保持するキャッシュ記憶とを有するマルチプロセッサシ
    ステムにおいて、該上位記憶に保持されたブロックの内
    、少くとも、いずれかのプロセッサに専用のキャッシュ
    記憶に保持されたブロックの各々について、そのブロッ
    クがデータの書き込みのために使用されたか否かを示す
    第1種のフラグを保持する第1の手段と、いずれかのキ
    ャッシュでキャッシュミスヒットが検出されたとき、ア
    クセス要求の対象のデータが属するブロックについて該
    第1の手段に保持された第1種のフラグの値と、アクセ
    ス要求がデータ書込み要求かあるいはデータ読出し要求
    のいずれであるかにより該ブロックを該キャッシュミス
    ヒットが検出されたキャッシュに転送するか否かを制御
    する第2の手段とを有するキャッシュ記憶制御装置。 9、該第1の手段は、該第2の手段によりキャッシュへ
    の転送を禁止されたブロックか否かを示す第2種のフラ
    グをさらに保持し、該第2の手段は、該アクセス要求対
    象のデータが属するブロックに対して該第1の手段によ
    り保持された第2種のフラグがそのブロックのキヤッシ
    ュへの転送を禁止することを示すとき、そのブロックの
    キャッシュへの転送を禁止する手段を有する第8項のキ
    ャッシュ記憶制御方法。 10、複数のプロセッサと、それらにより共用される主
    記憶装置と、該主記憶装置の一部のブロックを保持する
    、該複数のプロセッサで共用されるキャッシュ記憶(ワ
    ーク記憶)と、該ワーク記憶の一部のブロックを保持す
    る、それぞれいずれかのプロセッサで専用される複数の
    キャッシュ記憶(バッファ記憶)とよりなるマルチプロ
    セッサシステムにおいて、いずれかのプロセッサからの
    データの書き込み要求に応答して、該データが属すべき
    該ワーク記憶内のバッファ記憶に書き込まないで、該プ
    ロセッサに対応して設けられたバッファ記憶内の、該ブ
    ロックと同じブロックに該データを書き込む第1の手段
    と、いずれかにバッファ記憶からブロック転送要求に応
    答して要求されたブロックを該主記憶装置に書き戻さな
    いで、該ワーク記憶に転送する第2の手段と、該ワーク
    記憶内の第1のブロックを他の第2のブロックでリプレ
    ースするとき、該第1のブロがいずれかのバッファ記憶
    にあり、かつその内容が書きかえられているとき、該バ
    ッファ記憶内の該第1のブロックを該ワーク記憶に書き
    戻し、書き戻した第1のブロックを該主記憶装置に書き
    戻す第3の手段とよりなるキャッシュ記憶制御装置。 11、該ワーク記憶は、それぞれ該主記憶装置内の互い
    に異なるブロックを保持する複数のワーク記憶からなる
    第10項のキャッシュ記憶制御方法。
JP1159525A 1989-06-23 1989-06-23 キャッシュ記憶制御方法および装置 Pending JPH0325541A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1159525A JPH0325541A (ja) 1989-06-23 1989-06-23 キャッシュ記憶制御方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1159525A JPH0325541A (ja) 1989-06-23 1989-06-23 キャッシュ記憶制御方法および装置

Publications (1)

Publication Number Publication Date
JPH0325541A true JPH0325541A (ja) 1991-02-04

Family

ID=15695673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1159525A Pending JPH0325541A (ja) 1989-06-23 1989-06-23 キャッシュ記憶制御方法および装置

Country Status (1)

Country Link
JP (1) JPH0325541A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7132829B2 (en) 2005-01-18 2006-11-07 Varian, Inc. NMR RF coils with improved low-frequency efficiency
US7945754B2 (en) 2006-02-24 2011-05-17 Fujitsu Limited Multiprocessor system, processor, and cache control method
WO2011161829A1 (ja) * 2010-06-25 2011-12-29 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
US20180104641A1 (en) * 2015-05-12 2018-04-19 Siemens Aktiengesellschaft Method and device for the desulphurisation of a gas flow

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7132829B2 (en) 2005-01-18 2006-11-07 Varian, Inc. NMR RF coils with improved low-frequency efficiency
US7945754B2 (en) 2006-02-24 2011-05-17 Fujitsu Limited Multiprocessor system, processor, and cache control method
WO2011161829A1 (ja) * 2010-06-25 2011-12-29 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
US9098414B2 (en) 2010-06-25 2015-08-04 Fujitsu Limited Multi-core processor system, computer product, and control method
US20180104641A1 (en) * 2015-05-12 2018-04-19 Siemens Aktiengesellschaft Method and device for the desulphurisation of a gas flow
US10556203B2 (en) * 2015-05-12 2020-02-11 Siemens Aktiengesellschaft Method and device for the desulphurisation of a gas flow

Similar Documents

Publication Publication Date Title
JPS5830319Y2 (ja) コンピユ−タシステム
US7827354B2 (en) Victim cache using direct intervention
US5291442A (en) Method and apparatus for dynamic cache line sectoring in multiprocessor systems
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US5778429A (en) Parallel processor system including a cache memory subsystem that has independently addressable local and remote data areas
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US6260117B1 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
US20060184743A1 (en) Cache memory direct intervention
EP0735480A1 (en) Cache coherent computer system that minimizes invalidation and copyback operations
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JP2010191638A (ja) キャッシュ装置
JPS6150342B2 (ja)
US7117312B1 (en) Mechanism and method employing a plurality of hash functions for cache snoop filtering
US5675765A (en) Cache memory system with independently accessible subdivided cache tag arrays
EP0470739B1 (en) Method for managing a cache memory system
US6202128B1 (en) Method and system for pre-fetch cache interrogation using snoop port
JP3009430B2 (ja) プロセッサおよびそのキャッシュメモリ制御方法
US6901450B1 (en) Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors
JPH0325541A (ja) キャッシュ記憶制御方法および装置
JPH0727492B2 (ja) 緩衝記憶装置
US7047364B2 (en) Cache memory management
JPH07507174A (ja) 情報システムにおけるメモリ管理方法、該方法を利用する情報システム
JPH0387948A (ja) マルチプロセッサシステム
JPH02188847A (ja) 階層キャッシュメモリにおけるデータ交換方式