JPH02186455A - 多重プロセッサ/キャッシュ・メモリー・システム - Google Patents

多重プロセッサ/キャッシュ・メモリー・システム

Info

Publication number
JPH02186455A
JPH02186455A JP1251697A JP25169789A JPH02186455A JP H02186455 A JPH02186455 A JP H02186455A JP 1251697 A JP1251697 A JP 1251697A JP 25169789 A JP25169789 A JP 25169789A JP H02186455 A JPH02186455 A JP H02186455A
Authority
JP
Japan
Prior art keywords
cache
data
bus
memory
buses
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
JP1251697A
Other languages
English (en)
Inventor
N Perich Daniel
ダニエル・エヌ・ペリッチ
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.)
EMC Corp
Original Assignee
Data General Corp
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 Data General Corp filed Critical Data General Corp
Publication of JPH02186455A publication Critical patent/JPH02186455A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815—Cache consistency protocols
    • G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)

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)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 一本発明は、各々が関連したキャッシュ・メモリーを備
えた多重プロセッサを用いるデータ処理システムに関し
、特に異なるデータの異なるキャッシュ・メモリーに対
する同時の転送、および修正されたデータの主記憶装置
および要求側のキャッシュ・メモリーに対するコヒーレ
ントな方法における同時のアクセスおよび転送の有効な
処理のための手法に関する。
〔従来の技術および解決しようとする課題〕多重プロセ
ッサと関連する多重キャッシュ・メモリーを用いるデー
タ処理システムにおいては、火なるデータはしばしば多
重バス・システム上の異なるキャッシュ・メモリーに対
して与えられるよう要求される。従来、比較的複雑な制
御システムは、データの「通信マネージャ」として働く
よう用いられてきた。この制御システムは、どのデータ
がどのバス上に送られるべきかの選択を訓御し、各場合
において特定のデータをその[−1的のために選択され
た特定のバス上で要求中の特定のキャッシュ・メモリー
に対して制御自在に指向させる。
更にまた、このようなシステムにおいては、修正された
データ、即ちある処理操作の間にプロセッサの1つによ
り修正されたデータの処理のためある手法を使用しなけ
ればならない。
このようなプロセスにおいては、このシステムは、通常
修正されたデータを修正を行なうプロセッサのキャッシ
ュ・メモリーに格納するが、この修正されたデータを主
記憶装置あるいはそのデータを要求するシステムのどれ
か他のキャッシュ・メモリーのいずれかに直ちに与える
ことはない。その後のある時点において、修正されたデ
ータは主記憶装置に、またこのデータを要求した他のキ
ャッシュ・メモリーにコピーされる。この後のコピー操
作は、別のデータ転送サイクルを必要とし、従って、こ
のような転送操作の実施においてシステムに対する全体
的な操作時間を増大する。
あるいはまた、修正されたデータは、主記憶装置のみに
格納され、このデータは後で主記憶装置からアクセスさ
れて要求側のキャッシュ・メモリーヘコビーされる。こ
のような操作は、またも別のデータ転送サイクルを必要
とする。
更にに加えて、このシステムは、修正されたデータが正
しく、即ちしばしばアドレス・コヒーレントである要件
と呼ばれる、その正しいアドレスにより識別されること
を保証しなけわばならない。
異なるデータの異なるキャッシュ装置への同時の転送の
取扱い、ならびに多重プロセッサ/多重キャッシュ・シ
ステムにおいてこのような操作のため比較的少ない全体
操作時間で済むように更に効率的な修正データの転送の
取扱いが可能であり、これによりシステムにおけるより
高いデータ処理能力を達成することが望ましい。
〔3題を解決するための手段〕 本発明によれば、例えばそれぞれが1つの処理装置と関
連する複数のキャッシュ・メモリー装置の各々が複数の
バスの各々に対するボートを有する。異なるデータは同
時に個々に送出することができ、異なる各データが異な
るバス上で回報通イ1暫され、これにより回報通イ3さ
れた全てのデータがキャッシュ・メモリーがボートを与
えられた異なるバスを介して各キャッシュ装置に対し使
用可能となる。各キャッシュ装置は、これと同時に、(
もしあれば)どのデータをこのキャッシュ装置へ転送す
べきであるかを識別する。次いで、特定のキャッシュ装
置に対して意図される如く識別されたデータは、このデ
ータが存在し転送されるバスから意図されたキャッシュ
装置により受入れられ、特定のキャッシュ装置に対して
意図されない他の全てのデータはこのキャッシュ装置に
より無視することができる。このように、異なるデータ
は、複数のバスの異なる1つに同時に転送即ち同報通信
が可能であり、異なる各データが意図される如きキャッ
シュ装置によってのみ受入れられ得る。
更に本発明によれば、1つのキャッシュ装置から修正デ
ータを要求した別のキャッシュ装置への修正データの転
送、および修正データの主記憶装置に対するδき戻しは
、キャッシュ間の転送と同時の主記憶装置に対する修正
データの即時の転送を行なうように構成することによっ
て最適化される。このような操作は、制御されるキャッ
シュ装置バスおよび制御される主記憶装置バスを用いて
多重プロセッサ/多重キャッシュ・システムにおいて行
なうことができ、トランザクションは、要求側のキャッ
シュ装置および主記憶装置との通信を同時に可能にする
ためこれらバス上で同時に生じ得る。もし複数のキャッ
シュ装置バスおよび主記憶装置バスが用いられるならば
、独立的な処理操作は。
修正データの転送が生じると同時に、他のセットのキャ
ッシュ装置/主記憶装置バス上で実施され得る。
本発明については、添付図面の助けにより更に詳細に記
述することができる。
〔実施例〕
′fJ1図は、異なるキャッシュ・メモリー装置に対す
る異なるデータの同時の転送を行なうための本発明の事
例である特定の簡単な実施例を示している。同図から判
るように% 1対のプロセッサ(JPOおよびJ P 
1 ) 10および1Nはそれぞれ対応する1対のキャ
ッシュ・メモリー装置(DCOおよびDCI)+2およ
び13を有し、この各対のキャッシュ・メモリーは図示
の如きプロセッサの1つと関連している。1対のメモリ
ー制御装置(MCUOおよびMCUり+4および15は
、それぞれ1対のメモリー制御装置(MCU)バス(M
CUBOおよびMCU B 1 )16および17、お
よび1対の主記憶装置バス(MMBOおよびMMBI)
18および19の使用状態をf、IJ御するため使用さ
れ、後者のバスは主記憶装置20との通信を行なう、キ
ャッシュ装置12および13の各々には両方のキャッシ
ュ装置バス16および17に対するボートが設けられ、
即ちこれらキャッシュ装置バスと通信するように接続さ
れ、データをこれらバスの各々へ送りあるいはこれから
データを受取ることかできる。
もし異なるデータの転送が例えばキャッシュ装置12か
らキャッシュ装置13へ、またキャッシュ装置13から
キャッシュ装置12へ行なわれるならば、メモリーi(
J御装置14がキャッシュ装置12からキャッシュ装置
バス16に対するデータの同報通イ3を制御し、その間
メモリー制御装置15はキャッシュ装置13からキャッ
シュ装置バス17に対するデータの回報通信を制御する
。データの宛先はバスのプロトコル(以下の論述を参照
)において明瞭である、即ち、もしある装置がデータを
要求するならば、このバス上に置かれる次のデータがこ
の要求側に対して意図されたデータとなる。
特定のキャッシュ装置が宛先とするどれかのキャッシュ
装置バス上に同報通信されたデータを受取る時、このキ
ャッシュ装置はこのようなデータを受取り内部に適当に
格納するための別のロジックを含む。このような操作は
、第2図に示されるタイミング図により示され、更に以
下において論述されるバスのプロトコルに関して後で、
論述する。
もし第3図のプロセッサJPO,JPNおよびキャッシ
ュ装置DCO11,DCNにより示される如き複数のN
個のプロセッサとキャッシュ装置の対が使用されるなら
ば、各キャッシュ装置はMCBO3,、MCBNにより
示される如き複数のN個のキャッシュ装置バスの各々に
対するボートが与えられる。データのアクセスおよび転
送の制御は、このような目的のための対応する1対のキ
ャッシュ装置バスならびに主記憶装置バスMMBO1,
,MMBHの使用を各々−制御するN個のメモリー制御
装置によって行なわれる。
従って、異なるN個のデータのN回までの転送かN個の
キャッシュ装置間で同時に行なうことができる。各キャ
ッシュ装置は、別のキャッシュ装置に対して指向される
ものとして意図されたデータを、このバスを制御するメ
モリー制御装置の一制御下である選択されたキャッシュ
装置バスに対して回報通信することができる。例えば、
もしこの回報通信方式の全容量が要求されるならば、N
個のキャッシュ装置の各々が、他のキャッシュ装置の1
つに対するデータの転送のため要求も可能である。この
ような異なるデータの転送は、各キャッシュ装置がその
データな他のキャッシュ装置バス上の他のキャッシュ装
置の各々によるデータの回報通信と同時にキャッシュ装
置バスの異なる1つにおいて同報通信するように同時に
行なうことができる。各キャッシュ装置はこれを宛先と
するデータのみを受入れ、こわど同時にこのようなデー
タを他のキャッシュ装置により他のデータの受取りおよ
び格納と同時に受取り格納する。このようなメモリー制
御装置はバス要求に応答して要求側の1つのキャッシュ
装置によるその関連するバスの使用を制御するが、これ
らキャッシュ装置自体の特定の1つに対するこのような
データの宛先を解釈し制御することは要求されないため
、このような同報通信操作の比較的複雑でない制御が必
要とされる。全てのキャッシュ装置がボートを与えられ
るキャッシュ装置バスを介する全てのキャッシュI装置
に対するデータの回報通信が、各々がそれを宛先とする
データのみを解釈して受入れるキャッシュ装置自体に存
在するよう宛先制御を可能にする。
i4図は、修正データの転送の取扱いのため多重プロセ
ッサ/多重キャッシュのメモリー・システムにおいて起
生ずる別の共通問題を示すブロック図である。例示され
た事例においては、本システムは、各々がこれに1つの
キャッシュ・メモリー装置(DCOおよびD C1) 
32および33と関連した2つのプロセッサ(JPOお
よびJ P l ) 30および31を用いる如くに示
される。
管理用制御装置(MCU)34は、バス3Bを介してプ
ロセッサ装置、キャッシュ装置および主記憶装置(MM
U)35間のデータ転送操作を制御する。プロセッサ3
0が主記憶装置35からデータDOを要求し、このデー
タをアクセスし、かっこ君をそのキャッシュ装置32へ
置いたものと仮定しよう。このようなデータを使用する
IAFl!操作の間、プロセッサ30はこれと同時にデ
ータに修正を加え、このデータは修正データD!と呼ぶ
ことができる。プロセッサ3Iはこれと同時に、修正デ
ータをそのキャッシュ装置33に置くことを要求する。
修正されたデータDIのコピーは。
元の未修正のデータDOと同じアドレスにより識別し得
る主記憶装置35へも書込まれねばならない。
上記の修正データの処理のパフォーマンスは。
これまで2つの既に公知の方法の1つで検討されている
。1つの手法によれば、JPOはデータDoにアクセス
し、これをデータD1に修正し、次いでDlをそのキャ
ッシュ装置DCOに置く。この修正データは、次に主記
憶装置に対して元のデータDOと同じアドレスに書込ま
わる。JPIは、後で、主記憶装置からこの修正データ
D1を読出して、これをそのキャッシュ装置DCIに入
れる。このような操作は。
実際においては、−旦このデータが修正されると、2回
のデータ転送を必要とする。
別の既に公知の手法においては、JPOはデータDOを
アクセスし、これをDlに修正し、Dlをそのキャッシ
ュ装置CUOに入れる。
次いで、DlはプロセッサJPIの要求によりキャッシ
ュ装置DCOからキャッシュ装置DCIへ送られる。J
PIは、修正データD1を使用し、その後光のデータD
Oの主記憶装置におけるアドレスへDlを転送する。こ
の操作もまた、実際に、−・旦データが修正されると、
2回のデータ操作を必要とする。
このような2つの転送操作の必要を避けるため、本発明
のシステムは第5図に示されるように構成さねている。
同図に示された本発明の特定の実JjK例において判る
ように、二重プロセッサ/二重キャッシュ・メモリー・
システムは、第1のプロセッサ(JP)30およびこれ
と関連するキャッシュ・メモリー装置(DCO)32、
および第2のプロセッサ(JPI)31およびこれと関
連するキャッシュ・メモリー装置(DCl、)33から
なり、このキャッシュ・メモリー装置は、主記憶装置3
5に格納されたデータの複写であるデータを格納するこ
とができる。キャッシュ・バス37は、キャッシュ装置
32.33および関連するプロセッサ30.31と通信
するため各キャッシュ装置と接続されている。管理用$
lJ御装置(MCUOlMCUI)34は、キャッシュ
・バス37に対するデータ転送を管理するため使用され
る。MCUOはまた。主記憶装置バス38を介して主記
憶装置35に対するデータ転送を制御するため使用され
る。
特定のキャッシュ装置に存在するデータが修正される操
作においては、上記の如く、本システムは下記の如き要
求された修正データ転送を実施する。
プロセッサ30が主記憶装置35からデータDOをアク
セスし、これをそのキャッシュ装置32に入れ、このデ
ータをデータD1へ修正し、修正されたデータD1を再
びそのキャッシュ装置32へ戻したものとしよう。これ
と同時に、プロセッサ31は、自ら使用するためそのキ
ャッシュ装置33に格納するため修正データをキャッシ
ュ装g!132から要求する。ここに示したシステムに
よれば、プロセッサ31が修正データD1を要求する時
、このデータはキャッシュ・バス37へ与えられる。
ぷJ御装置3イは、単一のデータ転送操作において、キ
ャッシュ・バス37を介するキャッシュ装置33への、
および主記憶装置バス38を介する主記憶装置35への
両方の転送を同時に制御する。
上記の操作は、第6図および第7図のタイミング図の助
けによってよりよく理解することができよう。7FJ6
図は、第1のプロセッサの要求による主記憶装置からプ
ロセッサのキャッシュ装置へのデータ転送例を示し、第
2のプロセッサの要求による第1のプロセッサのキャッ
シュ装置から要求側のプロセッサのキャッシュ装置およ
び主記憶装置への修正データの転送例と対照することが
できる。
第6図において判るように、プロセッサ例えばプロセッ
サJPOは主記憶装置がらのデータに対する要求信号(
MEM  REQ  O) を表明し、キャッシュ・バ
ス39および主記憶装置バス38の使用を監視する管理
用制御装置34は、許容信号(MCU  A  GRA
NT  O)を表明することにより、これらへ°スが自
由に使用できるならばその使用を許容する。この許容に
続いて、要求側のプロセッサは、要求されたデータのア
ドレスならびにこのデータの意図された使用に関する命
令コード情報を、キャッシュ・バス37に対して与える
(信号MCU  A−DATA  O−30およびMC
U  A  0PCODE  O−2参照)。データが
主記憶装置に存在しかつ妥当なデータであることが判定
されると、制御装置34は信号MCU  A  DAT
A  VALIDを表明し、これにより主記憶装置から
主記憶装置バス38に対する、またキャッシュ装置32
における受取りおよび格納のためご九からキャッシュ・
バス37に対するデータの転送を一ノ御する。プロセッ
サJPOはこれと同時に、このデータをデータを修正す
るような方法で処理する。
第7図で判るように、別のプロセッサ、例えばプロセッ
サJPIは、要求43号(MCUREQUEST  H
I  O)を表明することにより修正データを要求する
ならば、制御装置34は再び、キャッシュ・バス37が
使用可能であれば許容信号(MCU  A  GRAN
T  O)を表明する。修正データは、そのアドレスお
よびキャッシュ・バス37上に置かれる命令コード(M
CUA  DATA  0 31およびMCU  AO
PCODE  0−2)により識別される。同時に制御
装置34は、修正データが転送を許される前にアドレス
のコヒーレント性が調べられることをS 求−r 64
3号(MCU  A、  RESOLVE−ADDFt
、)を表明する。この信号(MCtJ  A−RETU
RNING  BLOCに)は、コヒーレント性検査が
行なわれつつある間表明される。
このコヒーレント性検査の間、要求側のプロセッサによ
り与えられるアドレスが要求されたプロセッサのキャッ
シュ装置における修正データのアドレスと比較され、要
求されたデータがこのように修正された同じデータとし
て適正に識別されることを保証する。もしこの比較がこ
のような正しい識別を示すならば、要求側のプロセッサ
のキャッシュ装置33および主記憶装置35への同時の
転送を行なうため、妥当な修正データがキャッシュ装置
37および主記憶装置バイアス38上に置かれる(信号
MCU  ADATA  VALID参照)。
別の場合には、プロセッサがデータをアクセスし、これ
とそれ自体で使用するため修正するが、他のプロセッサ
はどれもこのような修正データは要求しない。このよう
な操作においては、修正データがプロセッサのキャッシ
ュ装置に置かわ。
このデータが別のプロセッサにより要求されるまではそ
こに止まるが、この場合修正データは第1のプロセッサ
のキャッシュ装置からアクセスされてこのキャッシュ装
置から要求側のプロセッサのキャッシュ装置および主記
憶装置へ先に述べた方法で同時に送られる。
もしプロセッサのキャッシュ装置がこのキャッシュ装置
から移さjねばならない(即ち他のデータのため空きを
作るために)修正データを保有するならば、このような
修正データは依然として主記憶装置に保持されるが、こ
の修正データはこの時重ね書きされる。もしこのような
修正データが前記の如き変移が生じる前に更に後で修正
されたならば、この更なる修正データは主記憶装置へ転
送されなければならない。
従って、第5図のシステムを使用することにより、キャ
ッシュ・バスおよび主記憶装置バスを同時に用いて要求
側のキャッシュ装置および主記憶装置への修正データの
即時の転送を可能に1−る。このように、修正データの
トランザクションが行なわれる時間は、従来のシステム
と比較して短くなり、システム全体はこのようなこれま
で公知のシステムよりも通かに高いデータ処理能力を提
供することができる。
もし第5図のシステムが、例えばキャッシュ装置が2つ
以上の主記憶装置制御装置により制御される2つ以上の
キャッシュ・バスに対するボートをイfする第1図また
は第3図に示された如きシステムの形態において使用さ
れ、制御装置の1つが1組のキャッシュ・バスおよびメ
モリー・バスに関する修正データ転送操作の制御に使用
されるならば、他方の制御装置は、1つ以上のプロセッ
サ/キャッシュ装置の対および1つ以上の他の組のキャ
ッシュ・バスおよびメモリー・バスに関して完全に独立
的な処理/データ転送操作の実施における使用のため使
用可能である。
キャッシュ装置の動作を理解するには、第8図に示され
る如き典型的なキャッシュ装置の全体的なブロック図を
考察することが役立とう。簡単にするため、この装置は
2つのプロセッサおよび2つの関連するキャッシュ装置
を使用するシステムの(第1図における如き)構成にお
いて示される。従って、本システムは、アドレスおよび
データの転送のため2つのキャッシュ・バスMCUBO
およびMCUBlを使用する。
例えば個々のバス上で同時に通信が可能な異なるアドレ
スが、人力する駆動装置40および41を介してアドレ
ス・レジスタ42および43へ与えられる。このような
アドレスのコヒーレント性は、どのアドレスが問題とな
るキャッシュ装置に意図されるかを識別するため決定さ
れなければならない。タッグ・ストアのランダム・アク
セス・メモリー(RAM)44は、関連するキャッシュ
・データ・ストアRAM45に全てのアドレスの指標お
よびタッグ部分を格納する。
レジスタ42.43から受取る各アドレスの指標および
タッグ・ビットは順次鋼べられ、そのようにマルチプレ
クサ(MUX)46を介してタッグ・ストア44へ与え
られ、タッグ・ビットはコンパレータ・ロジック47へ
与えられる。このタッグ・ビットは、データ・ストア4
5のアドレスと対応するタッグ・ストア44におけるタ
ッグ・ビットと比較されて、受取られたアドレスがデー
タ・ストア45におけるアドレスと対応するかどうかを
判定する。もしこのような対応が存在するならば、コン
パレータはこのアドレスを妥当なデータ・ストア・アド
レス(ADDRESSVALID)として識別する、即
ちキャッシュ装置は受取られたアドレスがこのキャッシ
ュ装置に対するものであることを認識する。もしこのよ
うな対応が見出されなければ、キャッシュ装置は入力す
るアドレスをこれに妥当しないものとして識別しこれを
無視する。
もしこのような妥当なアドレスにおけるデータがデータ
・ストア45から読出されるならば、このアト−レスは
マルチプレクサ46からデータ・ストアRAMへ与えら
れ、このアドレスおよびデータはその後マルチプレクサ
48における出力レジスタ47へ与えられ、これからこ
のアドレスが出力するバス駆動装置を介して最初に受取
られた同じMCUBバスへ与えられる。もしデータがこ
のような妥当なアドレスにおいてデータ・ストア44へ
書込まれるならば、このデータはマルチプレクサ52を
介してデータ・レジスタ51へ与えられ、次いでマルチ
プレクサ53を介してデータ・ストア45へ与えられる
。
前記キャッシュ装置と関連するプロセッサはまた、図示
の如くアドレスを与えるためタッグ・ストア44および
データ・ストア45に対する直接アクセスが与えられ、
マルチプレクサ46およびマルチプレクサ53を用いて
CPUが要求する如きデータ・ストアに関するデータの
書込み読出しを行なう。第8図に示された装置の適当な
操作は、キャッシュ装置におけるそのための適当な;レ
リ御ロジック(図示せず)を用いて制御することができ
るが、適当な14ノ御ロジツクの構造は当業者の充分に
知悉するところである。
上記の如き本発明を更によく理解するためには、本発明
の実施において付随するバス・システムのプロトコルの
特定の実施態様について史に論述することが役立とう。
このようなバス・プロトコルの作動原理が一旦確立され
れば。
これに従ってデータ転送を取扱う特定の論理回路を考え
ることは充分に当業者の知識の範囲内に納まろう。事例
のプロトコルについては、第9図乃至第17図のタイミ
ング図に関して以下に論述する。
このようなバス・プロトコルは、主記憶装置に関する全
てのデータ・ブロック処理を提供し、またプロセッサ間
のメツセージのやり取りおよびキャッシュのコヒーレン
ト性を維持するためメモリー・ブロックに対するアクセ
ス権の調停を行なう。
各MCUバスは、例えば、アドレスとデータの双方を送
るため使用される32ビツトのデータ経路をイ丁する。
4つのバイト・パリティ・ビットがこのデータ経路と関
連している。2倍ワード・アドレスがこのデータ経路に
おいて右詰めされ、例えば16ギガバイトの最大アドレ
ス範囲を特定のシステムに対し許容する。
MCUバスにおける全てのトランザクションは、ブロッ
クの境界と交わらない4つの2倍ワードのキャッシュ・
バス・ブロックの転送を含む。1つの2倍ワードのアド
レスがデータ要求の一部として送られる時、これはメモ
リー・ブロックのどの2倍ワードが最初に与えられるべ
きかを指示する。次いで、このブロックの残りは当接術
において周知のように、「ラップアラウンド」順で与え
られる。
MCUバスの調停は、メモリー制御装置によって中央で
行なわれる。各リクエスタは、それ自体のバス・インタ
ーフェース回路および要求回線を持ち、これらはりクエ
スタが1つのMCUバスを許容されるまでハイの状態に
保持される。次いで、許容されたりクエスタは、3ビツ
トの要求命令コードおよびアドレスを32ビシトのデー
タ経路上で駆動することによりこの要求を生じる。この
命令コードおよびアドレスはまた、キャッシュのコヒー
レントな操作を行なうためバス上の他のインターフェー
ス回路に対してMNを与える。
MCUバス操作はトランザクション化される、即ち各イ
ンターフェース回路が1つのバス・トランザクションの
成功裡の完了までその要求に関する全ての情報を保持し
なければならない。
もしあるエラーがある操作のトランザクションの間に検
出されるならば、このトランザクションは後で命令コー
ドおよびアドレスの再表示から始めて再び試みられる。
各MCUバスは、それ自体のメモリー制御装置によつて
制御される0例えば、使用されるバスのプロトコル原理
を示すため本文で述べる例示として2つのバスのシステ
ムにおいては、全てのインターフェース回路が両方のバ
スと接続され、両方のこのようなバス上のキャッシュ・
メモリーのコヒーレントな操作に関与しなければならな
い。サービスの要求は、両方のバスに共通の5111個
の要求回線上で行なわれ、これと関連するメモリー制御
装置がどのバスがリクエスタに許容されるかを判定する
。
このようなシステムは、障害許容性の大きなシステムと
して作動でき、即ち2つのメモリー−制御装置および2
つ・のMCUバスが冗長となりロック状態で実行する。
このようなシステムにおいては、リクエスタ対は異なる
バスを許容され、各リクエスタはそれに供されないバス
上でキャッシュのコヒーレントな操作を実施することを
禁止されることになる。
例えば、特定の一実施態様においては、下記の8つの命
令コード操作がMCUバスに対して定義される。即ち、 000  ノー・オペレージジン(NOP)001  
読出し専用アクセスによる読出しくRead  RO) 010  読出し専用アクセスによるスワップ<Swa
p  RO) 011  メツセージの送出(Send)100  読
出し書込みに対するアップブレイド・アクセス(Upg
rade) 101   読出し書込みアクセスによる読出しくRe
ad  RW) 110   読出し書込みアクセスによるスワップ(S
wap  RW) 111  ブロック書込み(Wr i te)更に、キ
ャッシュ・インターフェース回路は、操作の完了のため
下記のサブ操作の1つ以上を実施できなければならない
。即ち、 −キャッシュのコヒーレント性検査 −ブロックの無効化 一ブロックの転送 −NACK (ブロック固定) 一メツセージ受取り −NACに(メツセージ取出し不能) ノー・オペレーションにおいては、NOP命令コードが
命令コード回線へ駆動され、これ以上の動作は生じない
。キャッシュのコヒーレント性検査は生じず、メモリー
制御装置は自由に最初に得られる機会に別のりクエスタ
に対するバスを許与する。
読出し専用アクセス・タイプあるいは読出し書込みアク
セス・タイプのいずれかの読出し操作においては、リク
エスタが命令コード回線を適当な読出し命令コード、お
よび所要のブロックのアドレスで命令コードを駆動して
、どの2倍ワードが最初に要求されるかを指示する。こ
のブロックは、メモリー制御装置あるいはこのブロック
を保持し得る別のキャッシュによりリクエスタへ転送さ
れる。
読出し専用アクセス・タイプあるいは読出しδ込みアク
セス・タイプのいずれかのスワップ操作の場合は、スワ
ップは1つのブロックの読出しとその占戻しの両方を含
み、主記憶装置を更新する。スワップ操作は、1つのキ
ャッシュが修正データをそれに変移しなければならない
時にのみ使用される。
メツセージ送出操作の場合は、リクエスタは、送出命令
コードで命令コード回線およびアドレス回線を駆動して
、メツセージの宛先(単数または複数)を指示する。デ
ータ回線は、その後4つの2倍ワードのメツセージで駆
動される。宛先は、もしこのメツセージがその特待るこ
とができなければNACKを戻す。
アップブレイド操作は、1つのキャッシュにおける1つ
のブロックを修正することを意図するもので、この目的
のために、キャッシュはその占込み能力を高めなければ
ならない。このような読出し書込み繰作に対するアップ
ブレイド・アクセスのために、リクエスタはアップブレ
イド命令コードを含む命令コード回線を、また読出し一
;込みアクセスが要求されるブロックのアドレスを含む
アドレス回線を駆動する。他の全てのキ、ヤッシュは、
アドレスによるキャッシュの一貫性検査を行ない、適当
なキャッシュ−貫性動作を行なう、アップブレイドは、
ある数のサイクル内で一貫性の条件が見出されなければ
許午される。例えば、もしNACにが別のキャッシュに
より表明される(他のキャッシュが同じデータを修正し
つつあることを示す)ならば、アップブレイドは許与さ
れない。
ブロック書込み操作の場合は、リクエスタが書込み命令
コードで命令コード回線および書込まれるべきブロック
のアドレスを含むアドレス回線を駆動して、送出される
最初の2倍ワードを指示する。データ回線は、書込まれ
る4つの2倍ワードで駆動される。他の全てのキャッシ
ュは適当なキャッシュ・コヒーレントな動作を行なう。
ブロック書込みは略々専らI10100ために使用され
る。このため、I10コントローラは、データを1つの
I10装置から主記憶装置へ転送することを欲する。も
しこのデータがI10装置によって修正されるならば、
他のキャッシュは、このデータ・ブロックが含まれるな
らばこれを検証する。
各キャッシュは、キャッシュ−コヒーレント性検査を行
ない、これがこのブロックを存するかどうかを調べ、も
しそうであれば、キャッシュはこのデータ・ブロックを
検証する。
キャッシュ・インターフェース事象により行なわれる如
き上記の例示したサブ操作については、以降の記述が関
与する開操作の理解のトで役立つ。
キャッシュのコヒーレント性およびブロック固定のサブ
操作の場合は、キャッシュのコヒーレント性検査の目的
は、システムにおける1つのキャッシュ・ブロックの全
てのコピーが同じものであることを保証することである
。この一貫性を維持するため、キャッシュ・ブロックに
対する共用アクセスはある状況の下ではル1約を受けね
ばならない。
キャッシュ・ブロックを保持するキャッシュ・インター
フェースが、4つのアクセス・モード、即ち、読出し専
用、読出し書込み、固定あるいは書込み専用モードの1
つにおいて上記の制約を受ける。
読出し専用アクセスは、キャッシュ間の1つのブロック
の同時の共用が許される唯一のアクセス・モードである
。このブロックは、これを保持するどのキャッシュによ
っても修正することができないため、全てのコピーが有
効である。
共用されるブロックを保持する全てのキャッシュは、こ
のブロックが共用さねる間読出し専用アクセスでこわを
保持しなければならず、その全てが別のアクセス・モー
ドにおいて要求されるならば、このブロックのコピーを
無効化しなければならない。読出し書込みアクセスは、
排他的アクセス・モードである、即ち、1つのキャッシ
ュがこれを読出し書込みアクセス・モードに保持する間
、他のキャッシュは如何なるアクセス・モードにおいて
も特定のブロック保持しない。
もし別のりクエスタが読出し書込みアクセスで保持され
るブロックを要求するならば、このブロックを保持する
キャッシュはこのブロックを首記リクエスタへ送らなけ
ればならない。このブロックに対する読出しアクセスは
、この要求が読出し専用アクセス・モードに対するもの
であれば維持し得る。
固定(ロック)されたアクセスは、割込み不能な読出し
11r込みアクセス・モードである。
デッドロックを防止するため、各キャッシュは一時に1
つのブロックに1つのロックしか保持できない。キャッ
シュは、排他性を保証するため、このブロックをロック
する面に読出し占込みアクセスを含むブロックを保持し
なければならず、またロックを解除する前に1つの命令
に対し1つのブロックに1つのロックしか保持できない
。1つのブロックがロックされる量刑のリクエスタがこ
のブロックを要求するならば。
このブロックを保持するキャッシュがNACKをリクエ
スタへ戻す。この時、リクエスタは後でこのブロックを
再び要求することになる。
−)込み専用アクセスは実際には特殊なケースである。
各モードにおいて、ブロックの書込みを欲するキャッシ
ュは、このブロックの読出しを行なうことなく全体で4
つの2倍ワード・ブロックを生成しなければならない。
このようなサブ操作は、特定の場合、例えば、ブロック
がメモリー・システムの外部から起生ずる場合に用いら
れる。新しいデータがメモリー・システムへ入れられる
ため、ブロックを保持するどのキャッシュも、このブロ
ックに対する書込み専用アクセスが要求されるならば、
そのコピーを無効化しなければならない。
ブロックに対する共用されるアクセスにおけるこれらの
制約の故に、MCUバスに対する各要求は、キャッシュ
のコヒーレント性を保持するため何等かの動作が必要か
どうかを判定するためシステムにおける各キャッシュに
より評価されねばならない。キャッシュのコヒーレント
性は、読出し、潜込み、スワップおよびアップブレイド
の開操作について検査されなければならない。キャッシ
ュのコヒーレント性は、メツセージの伝送に対しては、
これら伝送がキャッシュ・ブロックを含まないため行な
うべきではない。キャッシュのコヒーレント性を保持す
るために、他が要求するブロックを保持するキャッシュ
によりある動作が行なわれなけわばならない。このよう
な動作は、ブロックの無効化、読出し書込みから読出し
専用へのブロック・アクセスのダウンブレイド、リクエ
スタへのブロックの転送、およびリクエスタに対するN
ACKの送出を含む。
下記の表は、保持するブロックに対する要求に応答して
キャッシュにより行なわれねばならない。諸動作を要約
している。即ち、 キ ッシュのアクセス・モード 要求された アクセス・モード 起旦ル己冒旦工  越d匹dム酊久
二読出し専用     動作なし  転送/ダウンブレ
イド読出し−2込み    無効化   転送/無効化
117込みt!#lt      無効化   無効化
固定上 NACK NACK NACに 書込み専用アクセスを含むブロックを「保持」するキャ
ッシュは、書込まれるブロックに関してキャッシュのコ
ヒーレント性を解明する必要はなく、このキャッシュが
バスを許容される時キャッシュは単にこのブロックを書
込むに過ぎない。
MCLIバスは更に、プロセッサ間通信の手段としてメ
ツセージ伝送機構を提供する。この比較的高いレベルの
メツセージ・プロトコル、即ちメツセージにおけるフィ
ールドの意味はMCUパスのプロトコルによっては規定
されない。
メツセージは、4つの2倍ワード長さとして定義される
。これらメツセージは、同時に1つまたはいくつかのプ
ロセッサへ送ることができる。
MCUバスに対するキャッシュ・インターフェースは、
少なくとも1つのメツセージをバッファする能力を持た
ねばならない。あるキャッシュのインターフェースのバ
ッフ1が一杯である時あるメツセージがこのインターフ
ェースへ送られるならば、このような状態を表示するた
めこのインターフェースはNACに信号を表明しなけれ
ばならない、この場合、送出側のインターフェースはい
くつかの作動サイクルを待ち、次いでメツセージを送出
する試みを反復しなければならない。
多数のアドレスへのメツセージの送出を容易にするため
、またその意図された宛先によるメツセージの検出を筒
単にするため、メツセージの宛先アドレスは復号状態で
送られる。いくつかの宛先へ送出のためには、このアド
レスにおける1つ以上の回線が表明される。例えば、プ
ロセッサのアドレスは、これらがシステムの1つのシャ
シ−に占める位置により決定される。
先に論じた操作のプロトコルは、第9図乃至第17図の
タイミング図に関して更に詳細に述べることができる。
キャッシュにより要求される全ての操作は5 「調停」
および「許容」で始まり、特定の操作に特定する開動作
が継続する。サブ操作の前には、調停および許容の段階
は存在しない。全ての操作は、エラーの検出および回復
の目的のためトランザクション化されている。このトラ
ンザクション化を特に提供することは、個々の操作プロ
トコルに規定されている。
第9図に関して述べた調停および許容段階においては、
リクエスタがその要求を適当な優先レベル、例えば、H
Iの優先レベルで行なう。
MCLJバスを要求するため、リクエスタはそのMCU
  REQUEST  H1回線を表明し、1つのMC
UがMCLi  A  GRANTまたはMCU  B
  GRANTのいずれかを表明するまで、この回線を
表明し続けなければならない。
もしMCU  A  GRANTが表明されるならば、
操作はMCUバスA上に生じ、またもしMCLI  B
  GRANTが表明されるならば、操作はMCUバス
B上に生じることになる。
GRANT信号のMCUの表明に続くサイクルにおいて
、リクエスタはそのREQUEST信号を止め、その所
要の操作の命令コードおよびアドレスで許容されたバス
上のMCU OPCODE、MCU  DATAおよびMCUPAR
T回線を駆動する。このバスのMCURESOLVE 
 ADDR回線は、モジ操作がキャッシュのコヒーレン
ト性検査を要求する場合は表明されねばならない。これ
らの回線は、1つのサイクルに対してのみ駆動されねば
ならない、駆動されたサイクルの終りにおけるMCU 
0PCODE、 MCU D A T A <およびM
CU  PART信号の消滅は、調停および許容段階を
完了する。次いで、操作は操作に特定のプロトコルで継
続する。
ノー・オペレーション・モードの場合は、操作(あるい
は1つの操作もない方がよい)は調停および許容段階で
終る。
第1O図に関して述べた読出し操作の場合は、読出し専
用アクセスによる読出しおよび読出し占込みアクセスに
よる読出しの双方は同じプロトコルに従う。バス上のア
ドレスのりクエスタの駆動(即ち、第1O図の6番目の
サイクル)に続く特定のサイクルで始まり、リクエスタ
はMCUを待ち適当なバス上にMCU  DATAVA
LID信号を表明する。読出されつつあるブロックの最
初の2倍ワードは、MCU−DATA  V A L 
I Dが表明される最初のサイクルのバスに対して駆動
され、このサイクルの終りで置数されねばならない。3
つの残りの2倍ワードが、3つの後続のサイクルにおい
てMCU  DATA回線上で駆動される。
もしエラーが読出し操作中に検出されるならば、影響を
受けるバスに対するMCU  BUS−ERROR信号
がこのエラーを検出する装置により表明され、リクエス
タはバスの要求から始めて読出し操作を再び始めなけれ
ばならない。
リクエスタは、再試行回数を記録せねばならず、試みを
ある選定された時点で放棄することができる。
調停および許容段階に続く第11図に関して述べた書込
み操作においては、リクエスタは許容されたバス上のM
CU  XMIT  NEXTCYCLE回線の表明を
待機する。この信号の表明直後の4つのサイクルにおい
ては、リクエスタは許容されたバスのMCU  DAT
AおよびMCU  PART回線上に書込まれる4つの
2倍ワードを駆動する。
MCUによるMCU  COMPLETE信号の′表明
か、あるいはMCLI  Bus  ERROR信号の
表明のいずれかにより完了される。もしMC[J  B
US  ERROR信号が表明されるならば、リクエス
タはバスの要求から始めて書込み操作全体を再び開始し
なければならない。
第12図に関して述べたスワップ操作においては、読出
し専用アクセス操作によるスワップおよび読出し書込み
アクセス操作によるスワップは、それぞれ同じプロトコ
ルに従う。スワップ操作は、実質的には書込み繰作が続
く読出し操作である。この操作の1つの例外点は、読出
しアドレスのみがキャッシュのコヒーレント性について
検査されることである。
調停および許容段階(第9図)においては、リクエスタ
は、スワップ操作の読出し操作部分に対するアドレスを
駆動する。調停および許容段階に続いて、リクエスタは
許容されたバスに対するMCU  GRANT信号の2
番目の表明を待機する。この2番目の表明に続くサイク
ルにおいて、リクエスタは書込み操作に対するアドレス
を含む許容されたバスのMCUDATAおよびMCLI
  PART回線を駆動する。こわらの回線は1つのサ
イクル間のみ駆動される。
書込みアドレスの駆動に続いて、リクエスタはMCLI
  DATA  V A L I D信号の表明を待ち
、読出しデータの最初の2倍ワードがこのバス上で妥当
であることを示す。読出しデータの転送は、MCU  
DATA  VALID+7)表明に続く次の3つのサ
イクルで継続する。
次に、リクエスタハ、MCLJ  XMITNEXT 
 CYCLEの表明を待つ。この表明は、読出しデータ
転送の最後のサイクルの間に生じ得る。MCU  XM
IT  NEXTCYCLEの表明に続く4つのサイク
ルにおいて、リクエスタは書込まれる4つの2倍ワード
を駆動する。
スワップ操作は、MCU  COMPLETE信号の表
明、あるいはMCU  BUSERROR信号の表明の
いずれかにより完了する。この要求側のキャッシュは、
MCUCOMPLETE信号の表明までi(を込まれる
べきブロックについてのキャッシュのコヒーレント性検
査を実施し続ける。もしMCU  EUSERROR信
号が表明されるならば、要求側のキャッシュは、バスの
要求から始めてスワップ操作全体を再び開始しなければ
ならない。
調停および許容段階に続く第13図に関して述べたアッ
プブレイド・アクセス操作においては、リクエスタは選
定されたサイクル数、例えば4サイクルを待たねばなら
ない。もしMCUREQUEST  NACに信号がバ
スの駆動に続く4番目のサイクルの間許容されたバス上
に表明されるならば、このブロックは固定され、リクエ
スタはアップブレイド操作を後で再び開始しなければな
らない。もしNACにが表明されなければ、アップブレ
イドは許容されるものと見做される。
もしMCU  BUS  ERROR信号がアップブレ
イド操作の間表明されるならば、リクエスタはバスの要
求から始めてこの操作を再び開始しなければならない。
調停および許容段階に続く第14図に関して述べたメツ
セージ送出操作においては、リクエスタは選定されたサ
イクル数、例えば4サイクル待機しなければならない。
4番目のサイクルの終りで、意図されたメツセージの受
取りが、信号CLRTO5END  MSGまたはRE
QUEST  NACKのいずれかを関与するバス上で
駆動中でなければならない。信号CLR受入れられ得る
ことを示し、またREQUESTNACにはこの時メツ
セージを取入れることができないことを示す。この4番
目のサイクル以後如何なる時も、MCUは信号XMIT
  NEXTCYCLEを表明することになる。XMI
TNEXT  CYCLEに続くサイクルでは、リクエ
スタはメツセージ即ち表明DATAVALIDの最初の
2倍ワードを送出しなければならない。続く3サイクル
において、メツセージの残りの3つの2倍ワードが送出
され、DATAVALIDが落される。
もし信号REQUEST  N A CKがメツセージ
要求に対する受取りの応答であるならば、この要求は後
で再び試みられねばならない。
もしMCU  Bus  ERROR信号が表明される
ならば、リクエスタはバスの要求から始めて操作を再び
開始しなければならない。
メツセージ要求に応答してCLRT。
5END  MSGまたはREQUESTNACにのい
ずれかを示す意図されたメツセージの受取りの失敗は、
エラー状態として処理される。
第15図に関して述べたキャッシュのコヒーレント性検
査のサブ操作の場合は、キャッシュのコヒーレント性検
査は1つの操作の調停および詐り一段階から始まる。介
在するMCL+バスに対するRESOLVE  A D
  D  R信号は、アドレスを調べなけわばならない
場合に表明されることになる。RESOLVE  AD
DRにおける1つのサイクルの終りに、各インターフェ
ースはアドレスおよび命令コードがバスから記録さねた
ことを保証しなければならない。
もし表示されたキャッシュのコヒーレント性処理が保持
されるブロックを無効化するならば、この無効化は直ち
に(例えば、RESOLVEADDRのサイクル内で)
実施されねばならない。MCUバス信号は、無効化が生
じたことを表示するため表明される必要はない。
もしあるブロックがリクエスタへ転送されねばならなけ
れば、転送の必要が決定されると直ちに、RETURN
ING  BLOCK信号が関与するバス上に表明され
ねばならない。
遅くとも、信号は選定されたサイクル、例えばRESO
LVE  ADD R(7)後3番目ノサイクルまでに
表明されねばならない。移行のブロック転送のサブ操作
が完了するまでRETURNING  BLOCK信号
が表明された状態に保持されねばならない。
もし固定されたブロックのため要求がNACにされねば
ならなければ、NACにの必要の決定後できるだけ早く
関与するバス上のREQUESTNACに信号が表明さ
れねばならない。
遅くとも、この信号は選定されたサイクル、例えばRE
SOLVE  ADDR(7)後3番目のサイクルにお
いて提示されなけわばならない。
REQUEST  NACKは、RESOLVENAC
にの後4番目のサイクルまで保持され。
次いで落される。
第16図に関して述べたブロック転送のサブ操作にるい
ては、もしあるブロックをキャッシュのコヒーレント性
処理として1つのプロセッサから別のプロセッサへ直接
転送されねばならなければ、RETURNIN  BL
OCK信号はキャッシュのコヒーレント性検食のサブ操
作において規定される如くに表示されねばならない。こ
のRETURNING  B LOCK信号は、ブロッ
クがキャッシュから取出されて転送される間保持される
。
転送するキャッシュは、例えばRESOLVEADDR
の?& 6 a目のサイクル前にブロックの転送を開始
しない。このブロックは5最初に転送された所要の2倍
ワードと共に転送されなければならない。用意ができる
と、転送側のキャッシュはブロックの最初の2倍ワード
をバスに対して駆動し、1つのサイクルの間DATAV
ALID信号を表明する。以降の3サイクルにおいて、
ブロックの残りの3つの2倍ワードがバスに対して駆動
され、DATA  V A L I D信号が落される
。前“記RETURN I NGBLOCに信号は、2
番目の2倍ワードの駆動に続くサイクルにおいて落され
る。
第17図に関して説明したメツセージ受取りのサブ操作
においては、メツセージは復号された状態のアドレスで
あり、DATA  O−31の各回線が1つのプロセッ
サと対応している。
メツセージ送出の命令コード(011,)が1つのMC
Uバスの命令コード回線上に駆動される時、このプロセ
ッサと対応するMCUバス上の回線が、メツセージを前
記プロセッサへ送出するため要求がなされつつあるかを
調・べるため検査されねばならない。メツセージ要求が
1つのプロセッサに対してなされた時、このプロセッサ
は、前記バスがメツセージを受取ることができるならば
、このバス上にCLRTo  5END  M  S 
 G信号を表明するか、あるいはもしこの時メツセージ
を受取ることができなければ、このバス上にREQUE
ST  NACに信号を表明しなけわばならない。いず
れの信号も、メツセージ送出要求後3番目のサイクルま
でに表示されねばならず、またこの要求の後4番目のサ
イクルにわたり保持されねばならない。
もしこのメツセージを受取ることができるならば、受取
り側のプロセッサは関与するバス上のDATA  VA
LID信号を待機する。このメツセージは、 DATA
  V A L I Dが表明されるサイクルの間送出
され、入力メツセージ・バッファが一杯である11.ν
、あるいは進行中の他のバス操作がメツセージの受取り
を制御することを不可能にする時、後続の3サイクルの
メツセージ要求がNACにされねばならない。
もしBus  ERROR信号がメツセージの受取りの
間介在するバス上に表示されるならば、このメツセージ
は無視されねばならず、メツセージの送出側はメツセー
ジ送出側はメツセージ送出操作を再び要求することにな
る。
バリデイその他のエラーがMCUバスの1つにおいて検
出されるバス・エラーのサブ操作においては、このエラ
ーを検出するインターフェースは関与するバス上にBu
s  ERROR回線を表明して保持する。この信号は
、前記バスにおけるどの継続中の繰作の終りまで保持さ
れねばならない。BUS  ERROR信号が表明され
る時進行中のどの操作も初めから再び開始されねばなら
ず、このバスは再び要求されなければならない。
MCUバスがリセットされるバス・リセットのサブ操作
においては、このバスを制御するMCUがこのバス上に
BUS  RESET回線を表明して保持する。この信
号は、このバス上の総ての継続中の操作の終りまで保持
されることになる。
バスを要求したがこのバスを許与しなかったどのインタ
ーフェースも、前記リセットの間バスを要求し続ける。
BUS  RESET信号が表明される時進行中の如何
なる操作も初めから再び開始されねばならず、またこの
バスは再び要求されねばならない。
【図面の簡単な説明】
第1図は1対のキャッシュ装置に対するデータの同時の
転送を行なうための本発明のシステムを示すブロック図
、第2図は第1図のシステムにおけるデータの同時転送
を示すタイミング図、第3図はN個のキャッシュ装置で
使用される第1図のシステムの拡張に関するブロック図
、第4図は修正データの転送の取扱いにおける一般的問
題を示すブロック図、第5図はこのような修正データ転
送を行なうための本発明のシステムを示すブロック図、
第6図は本発明によるかかる修正データの転送操作の別
の部分の理解に役σつタイミング図、第7図は本発明の
典型的なキャッシュ装置を示すブロック図、第8図は本
発明によるかかる修正データの転送操作の別の部分の理
解に役立つタイミング図、および第9図乃至第17図は
本発明において使用されるバスのプロトコルの理解に更
に役立つ別のタイミング図である。 10、+1・・・プロセッサ対(JP)、12.13・
・・キャッシュ・メモリー装置(DC)、14、I 5
−・・メモリー制御装置(MCU)、16.17−・・
メモリー’MJ御装置バス(MCUB)、+8、+9・
・・主記憶装置バス(MMB)、20・・・主記憶装置
、30.31−プロセッサ(JP)、32.33−・・
キャッシュ・メモリー装置(DC)、34・・・管理用
制御装置(MCU)、35・・・主記憶装置(MMU)
、41B・・・バス、37゜39・・・キャッシュ・バ
ス、38・・・主記憶装置バス、40、41・・・駆動
装置、42.4:l・・・アドレス・レジスタ、44−
・・ランダム・アクセス・メモリー(RAM)、45・
・・キャッシュ・データ・ストアRAM、46.48.
52.53・・・マルチプレクサ(MUX)、47−・
コンパレータ・ロジック、51・・・データ・レジスタ
。 図面の浄書(内容に変更なし) FIG、3 FIG、 1 MCLI−A−GRAN丁+0 FIG、4 FIG、2 FIG、5 MCU−A−DATA −VAU(1 FIG、6 FIG、9 123456789に)蓄11213 MEMCLK 手 続 補 正 書 1゜ 事件の表示 甲・成1年特許願第251697号 2、発明の名称 多重プロセッサ/キャッシュ・メモリー・システム3゜ 捕型をする者 事件との関係  特許出願人 住所 名 称  データー・ゼネラル―コーポレーション新大
手町ビル 206区 9  to  I+  12 13

Claims (1)

  1. 【特許請求の範囲】 1、少なくとも2つのプロセッサと、 データを格納する主記憶装置と、 該主記憶装置に格納されるデータの選定 されたデータのコピーを格納する少なくとも2つのキャ
    ッシュ・メモリーとを設け、各キャッシュ・メモリーは
    前記プロセッサの1つと関連しており、 少なくとも2つのキャッシュ・バスを設け、前記各キャ
    ッシュ・メモリーは少なくとも2つの前記キャッシュ・
    バスと接続され、 前記主記憶装置と接続された少なくとも2つの主記憶装
    置バスと、 前記キャッシュ・バスおよび前記メモリー・バスの使用
    を制御して、前記キャッシュ・バスの1つ以上および前
    記主記憶装置バスの1つ以上に対する1つ以上のキャッ
    シュ・メモリーによる異なるデータの同時同報通信を許
    容して、異なるデータが同時に異なるキャッシュ・ メモリーから前記キャッシュ・バスおよび 前記主記憶装置バスの異なるものにおいて 前記キャッシュ・メモリーの他のものあるいは前記主記
    憶装置へ転送されるようにする制御手段とを設けてなる
    ことを特徴とするデータ処理システム。 2、更に、前記各キャッシュ・メモリーが、前記キャッ
    シュ・バスのいずれか1つにおいてデータを同報通信す
    る手段を含み、該データは、データが転送を意図される
    別のキャッシュ・メモリーまたは前記主記憶装置を識別
    する情報を含むことを特徴とする請求項1記載のデータ
    処理システム。 3、更に、前記各キャッシュ・メモリーおよび前記主記
    憶装置が、応答するキャッシュ・ メモリーまたは主記憶装置に対して転送されるよう意図
    されるデータとして識別される、 前記キャッシュ・バスのどれか1つあるいは前記主記憶
    装置バスの1つにおけるデータのみに対応しかつこれを
    受取る手段を含むこと を特徴とする請求項2記載のデータ処理システム。 4、前記制御手段が、 各々が前記キャッシュ・バスの1つおよび 前記主記憶装置バスの1つと関連する少なくとも2つの
    制御手段を含み、該制御手段はそれぞれ、関連する前記
    キャッシュ・バスおよび前記主記憶装置バスの使用を制
    御することを特徴とする請求項1記載のデータ処理シス
    テム。 5、前記データ処理システムが、2つのプロセッサと、
    それぞれ前記プロセッサの1つと関連する2つのキャッ
    シュ・メモリーと、2つのキャッシュ・バスおよび2つ
    の主記憶装置バスを含むことを特徴とする請求項1記載
    のデータ処理システム。 6、複数のキャッシュ・メモリー装置の異なるものの間
    における異なるデータの転送を制御する方法において、 前記キャッシュ・メモリー装置の異なるものから複数の
    バスの異なるものへ異なるデータを同報通信し、 前記データが転送を意図される前記キャッ シュ・メモリー装置を異なる各データにおいて識別し、 識別された各キャッシュ・メモリー装置を して、該識別されたキャッシュ・メモリー装置へ転送さ
    れるべく意図されたデータに応答してこれを受取らせる ステップからなることを特徴とする方法。 7、少なくとも2つのプロセッサからなるデータ処理シ
    ステムにおいて、 データを格納する主記憶装置と、 該主記憶装置に格納されるデータの選定 されたデータのコピーを格納する少なくとも2つのキャ
    ッシュ・メモリーとを設け、各 キャッシュ・メモリーは前記プロセッサの1つと関連し
    、 少なくとも1つのキャッシュ・バスを設け、前記各キャ
    ッシュ・メモリーは少なくとも 1つの前記キャッシュ・バスと制御自在に接続され、 前記少なくとも1つのキャッシュ・バスと 前記少なくとも1つの主記憶装置バスと接続されて、前
    記キャッシュ・バスおよび主記憶装置バスの使用を制御
    して、プロセッサにより修正されてその関連するキャッ
    シュ・メモリーに格納されるデータが、少なくとも1つ
    の前記キャッシュ・バスを介して前記修正されたデータ
    を要求する前記キャッシュ・メモリーの別の1つと、少
    なくとも1つの前記主記憶装置バスを介して前記主記憶
    装置とに同時に転送することができるようにすることを
    特徴とするデータ処理システム。 8、前記修正されたデータの前記同時の転送が、該修正
    されたデータに対する要求に応答して、前記キャッシュ
    ・メモリーの別の1つによって行なわれることを特徴と
    する請求項7記載のデータ処理システム。 9、前記データ処理システムが、複数のキャッシュ・バ
    スと、複数の主記憶装置バスと、各々が前記キャッシュ
    ・バスの1つおよび前記主記憶装置の1つの使用を制御
    するようにこれらと関連する複数の制御手段とを含むこ
    とを特徴とする請求項7記載のデータ処理システム。 10、各制御手段の1つが、その関連するキャッシュ・
    バスおよび主記憶装置バスの使用を制御して、前記キャ
    ッシュ・メモリーの1つから該キャッシュ・メモリーの
    別のものへ修正されたデータを転送し、前記制御手段の
    他の少なくとも1つが、その関連するキャッシュ・バス
    または主記憶装置の使用を制御して、1つのキャッシュ
    ・メモリーから別のキャッシュ・メモリー あるいは前記主記憶装置への少なくとも1つのデータ転
    送を同時に生じることを特徴とする請求項9記載のデー
    タ処理システム。 11、更に、前記要求側のキャッシュ・メモリーが、前
    記修正データのアドレスを前記要求側のキャッシュ・メ
    モリーにより与えられるアドレスと比較して、前記修正
    データのアドレスの コヒーレント性検査を行なう手段を含むことを特徴とす
    る請求項7記載のデータ処理システム。 12、前記データ処理システムが、2つのキャッシュ・
    メモリーと、2つのキャッシュ・バスと、2つの主記憶
    装置バスと、各々が前記キャッシュ・バスの1つおよび
    前記主記憶装置バスの1つの使用を制御する2つの制御
    手段とを含む ことを特徴とする請求項7記載のデータ処理システム。 13、データ処理システムの1つのキャッシュ装置から
    該データ処理システムの別のキャッシュ装置および該シ
    ステムの主記憶装置へ修正データを転送する方法におい
    て、前記別のキャッシュ装置からの前記1つのキャッシ
    ュ装置に存在する修正データに対する要求を生じ、 前記1つのキャッシュ装置から該別の キャッシュ装置と前記主記憶装置との両方 に対する同時の前記修正データの転送を制御する ステップからなることを特徴とする方法。 14、前記1つのキャッシュ装置からの修正データのア
    ドレスおよび前記別のキャッシュ装置により要求される
    如き修正データに対する1つの アドレスのアドレス・コヒーレント性を検査するステッ
    プを更に含むことを特徴とする請求項13記載の方法。
JP1251697A 1988-09-28 1989-09-27 多重プロセッサ/キャッシュ・メモリー・システム Pending JPH02186455A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US25036488A 1988-09-28 1988-09-28
US250364 1988-09-28

Publications (1)

Publication Number Publication Date
JPH02186455A true JPH02186455A (ja) 1990-07-20

Family

ID=22947422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1251697A Pending JPH02186455A (ja) 1988-09-28 1989-09-27 多重プロセッサ/キャッシュ・メモリー・システム

Country Status (3)

Country Link
EP (1) EP0361887A3 (ja)
JP (1) JPH02186455A (ja)
AU (1) AU617514B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4135553A1 (de) * 1991-10-29 1993-05-06 Alcatel Sel Aktiengesellschaft, 7000 Stuttgart, De Verfahren und schaltungsanordnung zur datenblockuebertragung ueber ein bussystem
US11489940B2 (en) * 2021-01-28 2022-11-01 Arm Limited Data processing systems

Also Published As

Publication number Publication date
AU617514B2 (en) 1991-11-28
EP0361887A2 (en) 1990-04-04
EP0361887A3 (en) 1991-07-24
AU4026889A (en) 1990-04-05

Similar Documents

Publication Publication Date Title
US5659710A (en) Cache coherency method and system employing serially encoded snoop responses
US7814279B2 (en) Low-cost cache coherency for accelerators
US5752264A (en) Computer architecture incorporating processor clusters and hierarchical cache memories
US6189078B1 (en) System and method for increasing data transfer throughput for cache purge transactions using multiple data response indicators to maintain processor consistency
CN101097545B (zh) 独占所有权探听过滤器
KR100194253B1 (ko) 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템
JP3579198B2 (ja) データ処理システム及びデータ処理方法
US6519685B1 (en) Cache states for multiprocessor cache coherency protocols
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US5490253A (en) Multiprocessor system using odd/even data buses with a timeshared address bus
US6480927B1 (en) High-performance modular memory system with crossbar connections
KR100286962B1 (ko) 캐쉬 제어기
EP0303661B1 (en) Central processor unit for digital data processing system including write buffer management mechanism
US5263144A (en) Method and apparatus for sharing data between processors in a computer system
WO1988006762A1 (en) Central processor unit for digital data processing system including cache management mechanism
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
JPH04230550A (ja) 情報処理ネツトワーク及び情報処理方法
US7000080B2 (en) Channel-based late race resolution mechanism for a computer system
JPH04213136A (ja) 参照ビット,変更ビットの更新方法
US20060212652A1 (en) Information processing device and data control method in information processing device
US20040068613A1 (en) Retry-based late race resolution mechanism for a computer system
AU617514B2 (en) Multiple processor/cache memory system and data transaction control therefor
JPH0281255A (ja) マルチプロセッサコンピュータ複合装置
JPH0290259A (ja) マルチプロセッサシステム
US6338116B1 (en) Method and apparatus for a data-less write operation within a cache memory hierarchy for a data processing system