JP2820752B2 - 密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法 - Google Patents

密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法

Info

Publication number
JP2820752B2
JP2820752B2 JP2010304A JP1030490A JP2820752B2 JP 2820752 B2 JP2820752 B2 JP 2820752B2 JP 2010304 A JP2010304 A JP 2010304A JP 1030490 A JP1030490 A JP 1030490A JP 2820752 B2 JP2820752 B2 JP 2820752B2
Authority
JP
Japan
Prior art keywords
block
data
state
cache memory
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.)
Expired - Lifetime
Application number
JP2010304A
Other languages
English (en)
Other versions
JPH03214337A (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010304A priority Critical patent/JP2820752B2/ja
Priority to US07/642,395 priority patent/US5274787A/en
Publication of JPH03214337A publication Critical patent/JPH03214337A/ja
Application granted granted Critical
Publication of JP2820752B2 publication Critical patent/JP2820752B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数のプロセッサ及びメモリがデータ・ア
ドレスバスで結合された密結合マルチプロセッサシステ
ムにおけるキャッシュメモリ一致制御方法に関するもの
である。
〔従来技術〕
複数のプロセッサ及びメモリがデータ・アドレスバス
で結合された密結合マルチプロセッサシステムは拡張性
に優れているが、プロセッサ台数の増加とともにデータ
・アドレスバスの競合が増し、システム性能が向上しな
いという問題がある。
前述のバス競合を減らし、システム性能を向上させる
ためには、 メモリアクセス頻度を少なくする。
バスのスループットを高くする。
等が必要となる。
メモリアクセス頻度を少なくする方法として、各プロ
セッサ毎にキャッシュメモリ(バッファ記憶装置)を付
加し、かつキャッシュメモリ制御方式としてコピーバッ
ク方式を採用することが有効であるといわれている
(“100MIPS時代へ向け、胎動を始めたマルチプロセッ
サ型ワークステーション",日経エレクトロニクス,1988.
11.28,P101−P121)。
第3図は、バス結合型の密結合マルチプロセッサシス
テムの構成例であって、1,2はプロセッサ、3,4はそれぞ
れプロセッサ1,2の命令実行部(CPU)、5,6はそれぞれ
プロセッサ1,2のキャッシュメモリ、7はメモリ、8は
プロセッサ1,2及びメモリ7を接続するバスである。
第3図に示すように、各プロセッサ1,2にキャッシュ
メモリ5,6を付加する方式では、各プロセッサ1,2のキャ
ッシュメモリ5,6とメモリ7との間のデータ一致の保証
が問題となる。キャッシュメモリ5,6とメモリ7との間
のデータ一致を保証するため、キャッシュメモリ5,6間
でデータ一致のためのプロトコルが必要となる。
従来コピーバック方式をとるキャッシュメモリ5,6間
のデータ一致プロトコルについて、種々提案されている
(参考:JAMES ARCHIBALD and JEAN−LOUP BAER,“Cache
Coherence Protocols:Evaluation Using a Multiproce
ssor Simulation Model",ACM Transactions on Compute
r Systems,VOL.4,NO.4,November 1986,P273−298)。提
案されているプロトコルの一つとしてライトワンスプロ
トコルがある。
第4図は、ライトワンスプロトコルを示した図であ
る。同図において、実線矢印は、自CPUのメモリアクセ
ス及び自キャッシュメモリの状態をトリガとして状態遷
移することを示す。点線矢印は、他CPUのメモリアクセ
ス及び他キャッシュメモリの状態によりバスに送出され
るメモリアクセスをトリガとして状態遷移することを示
す。Iはキャッシュメモリの無効状態であり、Sは共用
状態である。Pは当該ブロック内のデータが他プロセッ
サのキャッシュメモリ上に存在せず、かつメモリ上のデ
ータと一致している状態であり、P′は当該ブロック内
のデータが他プロセッサのキャッシュメモリ上に存在せ
ず、かつメモリ上のデータと一致していない状態であ
る。
ライトワンスプロトコルでは、キャッシュメモリ上の
データの書き換え単位であるブロックの状態を、第4図
に示すように、 無効(I状態)、 当該ブロック内のデータが他プロセッサのキャッシュ
メモリ上に存在せず、かつメモリ上のデータと一致して
いる状態(P状態)、 当該ブロック内のデータが他プロセッサのキャッシュ
メモリ上に存在せず、かつメモリ上のデータと一致して
いない状態(P′状態)、 当該ブロック内のデータが他プロセッサのキャッシュ
メモリ上に存在し、かつメモリ上のデータと一致してい
る状態(S状態)、 の4つの状態で管理し、CPUからのメモリアクセス及び
バスを介した他のプロセッサからのメモリアクセスをト
リガとし、ブロックの状態を遷移させ、各プロセッサの
キャッシュメモリとメモリとの間のデータ一致を保証す
るようにしている。
バス制御方式として、 スプリット方式:リードアクセスの際、データリード
要求(アドレス転送)サイクルとデータ転送サイクルと
の間バスを解放する方式、 インタロック方式:リードアクセスの際、データリー
ド要求(アドレス転送)サイクルとデータ転送サイクル
との間のバスをロックする方式がある。
スプリット方式では、インタロック方式に比べて制御
は複数であるが、高いスループットが得られるため密結
合マルチプロセッサシステムのバスに適している。
〔発明が解決しようとする課題〕
前述の従来提案されているデータ一致プロトコルは、
インタロック方式のバスでは問題なく機能するが、しか
し、このプロトコルをスプリット方式のバスに適用した
場合、状態の不一致が起り、うまく機能しないという問
題があった。この問題点を第5図を用いて詳細に説明す
る。
第5図は、従来提案されているデータ一致プロトコル
をスプリット方式のバスに適用した場合の問題点を説明
する図であり、バス上で転送される内容とプロセッサ#
iのキャッシュメモリの状態を示したものである。
第5図において、 まず、プロセッサ#iのCPUが必要とするデータがキ
ャッシュメモリ上に存在せず、メモリへブロックリード
要求(アドレス転送)を行う。
プロセッサ#iはキャッシュメモリの状態をI(無
効)からS(共用)に変更する。(注.ここで、プロセ
ッサ#jのキャッシュメモリに当該ブロックが格納され
ていると仮定) その後、プロセッサ#jが当該アドレスに対してライ
トアクセスを行う。プロセッサ#jのブロックの状態は
Sであるため、プロセッサ#jはバスにライトアドレス
とデータを転送する。
プロセッサ#iはバスを監視し、上記ライトアドレス
を認識し、プロトコルに従って、キャッシュメモリの状
態をS(共用)からI(無効)に変更する。
プロセッサ#iのブロックリード要求に対するデータ
がメモリから転送されてきた時、当該ブロックのキャッ
シュメモリの状態はI(無効)になっており、送られて
きたデータの登録ができなくなる。すなわち、キャッシ
ュメモリの状態管理に矛盾が発生する。このように、従
来提案されているキャッシュ一致プロトコルでは、アド
レス転送サイクルとデータ転送サイクルの間に、他プロ
セッサから該アドレスに対し、アクセスが発生した場
合、状態不一致が生ずる。
本発明は、前記問題点を解決するためになされたもの
であり、その目的は、高いバススループットを確保でき
るスプリット方式のバスを用いても、矛盾なくキャッシ
ュメモリ一致制御を実現できる技術を提供することにあ
る。
本発明の他の目的は、密結合マルチプロセッサシステ
ムにおいて、システム性能を向上することができる技術
を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、
本明細書の記述及び添付図面によって明らかになるであ
ろう。
〔課題を解決するための手段〕
前記目的を達成するために、本発明は、各々コピーバ
ック方式のキャッシュメモリを有する複数のプロセッサ
と、メモリと、リードアクセスの際にデータリード要求
サイクルとデータ転送サイクルとの間バスを開放するス
プリット方式のデータ・アドレスバスとを備え、前記複
数のプロセッサと前記メモリとが前記データ・アドレス
バスで結合された密結合マルチプロセッサシステムにお
けるキャッシュメモリ一致制御方法であって、前記各プ
ロセッサがブロックリード要求を行った場合、当該プロ
セッサが前記データ・アドレスバスに前記ブロックリー
ド要求先アドレスを送出してから、前記ブロックリード
要求先アドレスのデータが前記メモリより当該プロセッ
サにブロック転送されるまでの間、当該プロセッサは前
記ブロックリード要求先アドレスのデータが格納される
予定のキャッシュメモリのブロックを前記ブロック転送
を待っている待状態にし、当該待状態にあるブロックに
格納される予定の前記ブロックリード要求先アドレスの
データに対して他のプロセッサがアクセスした場合、そ
のアクセスを抑止することを特徴とする。
また、前記キャッシュメモリ上のデータの置き換え単
位であるブロックの状態を、 無効、 当該ブロック内のデータが他プロセッサのキャッシュ
メモリ上に存在せず、かつメモリ上のデータと一致して
いる状態、 該ブロック内のデータが他プロセッサのキャッシュメ
モリ上に存在せず、かつメモリ上のデータと一致してい
ない状態、 該ブロック内のデータが他プロセッサのキャッシュメ
モリ上に存在し、かつメモリ上のデータと一致している
状態、 前記の状態で登録するブロックのブロックリード要
求を発出し、当該ブロックのデータが転送されてくるの
を待っている状態、 前記の状態で登録するブロックのブロックリード要
求を発出し、当該ブロックのデータが転送されてくるの
を待っている状態、 前記の状態で登録するブロックのブロックリード要
求を発出し、当該ブロックのデータが転送されてくるの
を待っている状態、 の7つの状態で管理することを特徴とする。
前記キャッシュメモリ内のブロックの状態が前記,
,状態の場合、当該待状態にあるブロックに格納さ
れる予定の前記ブロックリード要求先アドレスのデータ
に対する他プロセッサからのアクセスに対し、再試行応
答を返すことを特徴とする。
〔作用〕
前記手段によれば、各プロセッサがブロックリード要
求を行った場合、当該プロセッサがデータ・アドレスバ
スに前記ブロックリード要求先アドレスを送出してか
ら、前記ブロックリード要求先アドレスのデータがメモ
リより当該プロセッサにブロック転送されるまでの間、
当該プロセッサは前記ブロックリード要求先アドレスの
データが格納される予定のキャッシュメモリのブロック
を前記ブロック転送を待っている待状態にし、当該待状
態にあるブロックに格納される予定の前記ブロックリー
ド要求先アドレスのデータに対して他のプロセッサがア
クセスした場合、そのアクセスを抑止するようにしたの
で、スプリット方式の高スループットのメリットを確保
し、データ一致を保証することが可能となり、高いバス
スループットを確保できるスプリット方式のバスを用い
ても、矛盾なくキャッシュメモリ一致制御を実現でき
る。
即ち、ブロックリード要求(アドレス転送)サイクル
の後、データ転送サイクルを持っていることを、他の状
態と区別できるように、先に述べた従来の4つの状態に
以下の3つの状態、 前記の状態で登録するブロックのブロックリード要
求を発出し、当該ブロックのデータが転送されてくるの
を待っている状態、 前記の状態で登録するブロックのブロックリード要
求を発出し、当該ブロックのデータが転送されてくるの
を待っている状態、 前記の状態で登録するブロックのブロックリード要
求を発出し、当該ブロックのデータが転送されてくるの
を待っている状態、 を加えた7つの状態でキャッシュメモリのブロックを管
理するので、高いバススループットを確保できるスプリ
ット方式のバスを用いても、矛盾なくキャッシュメモリ
一致制御を実現できる。
また、前記,,状態を設け、当該待状態にある
ブロックに格納される予定の前記ブロックリード要求先
アドレスのデータに対して、他プロセッサがアクセスし
た場合再試行要求を出すことにより、前記待状態にある
ブロックに格納される予定の前記ブロックリード要求先
アドレスのデータに対する他プロセッサからのアクセス
を抑止(ガード)することができる。
これらにより、システム性能を向上させることができ
る。
〔発明の実施例〕
以下、本発明の一実施例を図面を用いて具体的に説明
する。
なお、全図において、同一機能を有するものは同一符
号を付け、その繰り返しの説明は省略する。
第1図は、本発明によるキャッシュメモリ一致制御方
法のキャッシュ一致プロトコルを説明するための図であ
り、Paは前記の状態(Pの状態)で登録するブロック
のブロックリード要求(以下、読み出し要求とも称す
る。)を発出し当該ブロックのデータが転送されてくる
のを待っている状態、P′aは前記の状態(P′の状
態)で登録するブロックの読み出し要求を発出し、当該
ブロックのデータが転送されてくるのを待っている状
態、Saは前記の状態(Sの状態)で登録するブロック
の読み出し要求を発出し、当該ブロックのデータが転送
されてくるのを待っている状態である。
第2図は、本発明をバス結合型の密結合マルチプロセ
ッサシステムに適用した場合のシステムの一部の概略構
成その動作を説明するためのブロック図であり、1〜8
は第3図と同一である。9はキャッシュメモリの状態を
通知する信号を伝送する信号線、10は再試行要求を通知
する信号を伝送する信号線である。
本実施例のキャッシュ一致プロトコルは、第1図及び
第2図に示すように、CPU3がリードするデータがキャッ
シュメモリ5(又は6)に存在しない場合(リードミス
の場合)バス8を介してブロックリードのアドレス転送
後、当該ブロックが他プロセッサのキャッシュメモリ6
(又は5)に存在するか否かにより、Sa状態(他キャッ
シュメモリに当該ブロックが存在する場合)又はPa状態
(他キャッシュメモリに当該ブロックが存在しない場
合)で登録し、実際にメモリ(当該ブロックが他プロセ
ッサのキャッシュメモリにP′a状態で登録されていな
い場合)又は他プロセッサのキャッシュメモリ(当該ブ
ロックが他プロセッサのキャッシュメモリP′a状態で
登録されている場合)からデータが転送された後、それ
ぞれS状態又はP状態に変更する。
また、CPU3がライトするデータがキャッシュメモリ5
(又は6)に存在しない場合(ライトミスの場合)、バ
ス8を介してブロックリードのアドレス転送後、P′a
状態で登録し、実際にメモリ7(当該ブロックが他プロ
セッサのキャッシュメモリにP′a状態で登録されない
場合)又は他プロセッサのキャッシュメモリ5(又は
6)(当該ブロックが他プロセッサのキャッシュメモリ
にP′a状態で登録されている場合)からデータが転送
された後、P′状態に変更する。
本実施例のプロトコルにより、アドレス転送サイクル
後データ受信までをSa,Pa,P′a状態で管理するため、
他プロセッサからこの状態のブロックにアクセスがあっ
た場合、そのアクセスのみガードをかけることができ
る。
次に、本実施例のキャッシュ一致プロトコルをバス結
合型の密結合マルチプロセッサシステムに適用した場合
のシステムの動作を説明する。
第2図において、キャッシュメモリ5,6は、各々2組
のブロック(またはエントリ)を有し、各ブロックはデ
ータ、ブロックの状態及びデータのメモリ上のアドレス
を保持できるようになっている。
プロセッサ1のキャッシュメモリ5の1つのブロック
にはメモリ7の“0"番地のデータ“X"が状態S(データ
“X"がプロセッサ2のキャッシュメモリ5に格納されて
いるため)で格納され、他の1つのブロックには何も格
納されておらず状態Iであるとする。また、プロセッサ
2のキャッシュメモリ6の1つのブロックには“0"番地
のデータ“X"が状態Sで格納され、他の1つのブロック
には2番地のデータ“Z"が状態P(データ“Z"はプロセ
ッサ2のキャッシュメモリ6にのみ格納されているた
め)で格納されているとする。
いま、CPU3がメモリの“2"番地のデータのリード要求
を出したとする。“2"番地のデータはキャッシュメモリ
5に格納されていないためキャッシュメモリ5はバス8
を獲得し、バス8を介してアドレス(2番地)をメモリ
7及びキャッシュメモリ6に送る。メモリ7は2番地の
データの読み出しを開始する。キャッシュメモリ6は、
自ブロックの中に2番地のデータが格納されているため
状態をP状態からS状態に変更するとともに、信号線9
を介して、キャッシュメモリ5に共有ブロックがあるこ
とを通知する。キャッシュメモリ5は、今までI状態で
あったブロックの状態をSa,アドレスを2とし、バス8
を開放する。
次に、CPU4がメモリの“0"番地を“x"に変更するライ
ト要求を出したとする。キャッシュメモリは0番地のデ
ータを“x"に変更するとともに、当該ブロックの状態が
S状態のため、バス8を獲得し、バス8を介して、アド
レス(0番地)とデータ(“x")をメモリ7及びキャッ
シュメモリ5に送る。メモリは“0"番地のデータを“x"
に変更する。キャッシュメモリ5は“0"番地のデータが
格納されているブロックの状態を状態Sから状態Iに変
更する。
更に、CPU4がメモリ7の“2"番地を“z"に変更するラ
イト要求を出したとする。キャッシュメモリは2番地の
データを“z"に変更するとともに、当該ブロックの状態
がS状態のため、バス8を獲得し、バス8を介してアド
レス(2番地)とデータ(“z")をメモリ7及びキャッ
シュメモリ5におくる。キャッシュメモリ5は“2"番地
のデータを格納するブロックの状態がSa状態のため、信
号線10を介してキャッシュメモリ6及びメモリ7に再試
行要求を出す。キャッシュメモリ6は一度バス8を開放
し、再試行の準備をする。
この後、メモリ7は“2"番地からデータの読み出しが
終ったとする。メモリ7はバス8を獲得し、バス8を介
して“2"番地のデータをキャッシュメモリ5に送る。キ
ャッシュメモリ5は、該データを格納するとともに、ブ
ロックの状態をSa状態からS状態に変更する。
次に、キャッシュメモリ6は、再度バス8を獲得し、
アドレス(2番地)とデータ(“z")をキャッシュメモ
リ5及びメモリ7に送る。キャッシュメモリ5の2番地
のデータを格納しているブロックの状態が状態Sのた
め、今度は再試行要求を出さずに“2"番地のブロックの
状態をS状態からI状態に変更する。また、信号線10を
介して再試行が出ないため、メモリ7も“2"番地の内容
を“Z"から“z"に書き換える。
以上の説明からわかるように、ブロックリード要求
(アドレス転送)サイクルの後、データ転送サイクルを
待っていることを、他の状態と区別できるように、以下
の7つ状態、 無効(I状態)、 当該ブロック内のデータが他のプロセッサのキャッシ
ュメモリ上に存在せず、かつメモリ上のデータと一致し
ている状態(P状態)、 当該ブロック内のデータが他のプロセッサのキャッシ
ュメモリ上に存在せず、かつメモリ上のデータと一致し
ていない状態(P′状態)、 該ブロック内のデータが他プロセッサのキャッシュメ
モリ上に存在し、かつメモリ上のデータと一致している
状態(S状態)、 前記の状態で登録するブロックの読み出し要求を発
出し、当該ブロックのデータが転送されてくるのを待っ
ている状態(Pa状態)、 前記の状態で登録するブロックの読み出し要求を発
出し、当該ブロックのデータが転送されてくるのを待っ
ている状態(P′a状態)、 前記の状態で登録するブロックの読み出し要求を発
出し、当該ブロックのデータが転送されてくるのを待っ
ている状態(Sa状態)、 の7つの状態でキャッシュメモリのブロックを管理する
ので、高いバススループットを確保できるスプリット方
式のバスを用いても、矛盾なくキャッシュメモリ一致制
御を実現できる。
また、第5図において、ブロック読み出し中の状態を
設けることにより、該状態のブロックのアドレスと同一
のアドレスに対し、他プロセッサがアクセスした場合、
再試行要求を出すことによりブロック読み出しと同一ア
ドレスに対する他プロセッサからのアクセスのみをガー
ドすることができる。
これらにより、バス結合型の密結合マルチプロセッサ
システムにおいて、システム性能を向上させることがで
きる。
以上、本発明を実施例にもとづき具体的に説明した
が、本発明は、前記実施例に限定されるものではなく、
その要旨を逸脱しない範囲において種々変更可能である
ことは言うまでもない。
〔発明の効果〕
以上、説明したように、本発明によれば、高いバスス
ループットを確保できるスプリット方式のバスを用いて
も、矛盾なくキャッシュメモリ一致制御を実現できる。
また、ブロック読み出しと同一アドレスに対する他プ
ロセッサからのアクセスのみをガードすることができ
る。
これらにより、バス結合型の密結合マルチプロセッサ
システムにおいて、システム性能を向上させることがで
きる。
【図面の簡単な説明】
第1図は、本発明によるキャッシュメモリ一致制御方法
のキャッシュ一致プロトコルを説明するための図、 第2図は、本発明をバス結合型の密結合マルチプロセッ
サシステムに適用した場合のシステムの一部の概略構成
及びその動作を説明するためのブロック図、 第3図は、バス結合型の密結合マルチプロセッサシステ
ムの構成例の一部を示すブロック図 第4図は、従来のキャッシュ一致プロトコルの一例を示
す図、 第5図は、従来のキャッシュ一致をスプリット方式のバ
スに適用した場合の問題点を説明する図である。 図中、1,2……プロセッサ、3,4……命令実行部(CP
U)、5,6……キャッシュメモリ、7……メモリ、8……
バス、9,10……信号線。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 12/08 - 12/12 G06F 12/00 550 - 12/06 G06F 13/16 - 13/18

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】各々コピーバック方式のキャッシュメモリ
    を有する複数のプロセッサと、メモリと、リードアクセ
    スの際にデータリード要求サイクルとデータ転送サイク
    ルとの間バスを開放するスプリット方式のデータ・アド
    レスバスとを備え、前記複数のプロセッサと前記メモリ
    とが前記データ・アドレスバスで結合された密結合マル
    チプロセッサシステムにおけるキャッシュメモリ一致制
    御方法であって、 前記各プロセッサがブロックリード要求を行った場合、
    当該プロセッサが前記データ・アドレスバスに前記ブロ
    ックリード要求先アドレスを送出してから、前記ブロッ
    クリード要求先アドレスのデータが前記メモリより当該
    プロセッサにブロック転送されるまでの間、当該プロセ
    ッサは前記ブロックリード要求先アドレスのデータが格
    納される予定のキャッシュメモリのブロックを前記ブロ
    ック転送を待っている待状態にし、 当該待状態にあるブロックに格納される予定の前記ブロ
    ックリード要求先アドレスのデータに対して他のプロセ
    ッサがアクセスした場合、そのアクセスを抑止すること
    を特徴とする密結合マルチプロセッサシステムにおける
    キャッシュメモリ一致制御方法。
  2. 【請求項2】前記キャッシュメモリ上のデータの置き換
    え単位であるブロックの状態を、 無効、 当該ブロック内のデータが他プロセッサのキャッシュ
    メモリ上に存在せず、かつメモリ上のデータと一致して
    いる状態、 該ブロック内のデータが他プロセッサのキャッシュメ
    モリ上に存在せず、かつメモリ上のデータと一致してい
    ない状態、 該ブロック内のデータが他プロセッサのキャッシュメ
    モリ上に存在し、かつメモリ上のデータと一致している
    状態、 前記の状態で登録するブロックのブロックリード要
    求を発出し、当該ブロックのデータが転送されてくるの
    を待っている状態、 前記の状態で登録するブロックのブロックリード要
    求を発出し、当該ブロックのデータが転送されてくるの
    を待っている状態、 前記の状態で登録するブロックのブロックリード要
    求を発出し、当該ブロックのデータが転送されてくるの
    を待っている状態、 の7つの状態で管理することを特徴とする請求項(1)
    に記載の密結合マルチプロセッサシステムにおけるキャ
    ッシュメモリ一致制御方法。
  3. 【請求項3】前記キャッシュメモリ内のブロックの状態
    が前記,,状態の場合、当該待状態にあるブロッ
    クに格納される予定の前記ブロックリード要求先アドレ
    スのデータに対する他プロセッサからのアクセスに対
    し、再試行応答を返すことを特徴とする請求項(2)に
    記載の密結合マルチプロセッサシステムにおけるキャッ
    シュメモリ一致制御方法。
JP2010304A 1990-01-19 1990-01-19 密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法 Expired - Lifetime JP2820752B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010304A JP2820752B2 (ja) 1990-01-19 1990-01-19 密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法
US07/642,395 US5274787A (en) 1990-01-19 1991-01-17 Method of copy-back cache coherence control and tightly coupled multi-processor system with split transfer system bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010304A JP2820752B2 (ja) 1990-01-19 1990-01-19 密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法

Publications (2)

Publication Number Publication Date
JPH03214337A JPH03214337A (ja) 1991-09-19
JP2820752B2 true JP2820752B2 (ja) 1998-11-05

Family

ID=11746512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010304A Expired - Lifetime JP2820752B2 (ja) 1990-01-19 1990-01-19 密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法

Country Status (2)

Country Link
US (1) US5274787A (ja)
JP (1) JP2820752B2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3411300B2 (ja) 1992-02-18 2003-05-26 株式会社日立製作所 情報処理装置
US5809531A (en) * 1992-09-21 1998-09-15 Intel Corporation Computer system for executing programs using an internal cache without accessing external RAM
ATE149713T1 (de) * 1992-11-04 1997-03-15 Siemens Ag Anordnung mit mehreren aktiven und passiven busteilnehmern
JP2746530B2 (ja) * 1993-01-30 1998-05-06 洲 植 全 共有メモリマルチプロセッサ
JPH0793274A (ja) * 1993-07-27 1995-04-07 Fujitsu Ltd データ転送方式及びデータ転送装置
US5604882A (en) * 1993-08-27 1997-02-18 International Business Machines Corporation System and method for empty notification from peer cache units to global storage control unit in a multiprocessor data processing system
US6088768A (en) * 1993-12-28 2000-07-11 International Business Machines Corporation Method and system for maintaining cache coherence in a multiprocessor-multicache environment having unordered communication
KR960009659B1 (ko) * 1994-04-11 1996-07-23 김광호 멀티프로세서 시스템의 스누프회로
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
DE69621263T2 (de) * 1995-01-23 2002-12-19 Compaq Computer Corp Verteilter Datencachespeicher für Multiprozessorsystem mit Cachespeicher
JPH0916472A (ja) * 1995-07-04 1997-01-17 Fujitsu Ltd キャッシュメモリ試験方法
US5664154A (en) * 1995-10-02 1997-09-02 Chromatic Research, Inc. M/A for optimizing retry time upon cache-miss by selecting a delay time according to whether the addressed location's dirty bit indicates a write-back
US6122637A (en) * 1995-11-30 2000-09-19 Yohe; Thomas Patrick Apparatus and method for increased data access in an object oriented caching system
US5682514A (en) * 1995-11-30 1997-10-28 Stampede Technologies, Inc. Apparatus and method for increased data access in a network file oriented caching system
US5835943A (en) * 1995-11-30 1998-11-10 Stampede Technologies, Inc. Apparatus and method for increased data access in a network file oriented caching system
US6012085A (en) * 1995-11-30 2000-01-04 Stampede Technolgies, Inc. Apparatus and method for increased data access in a network file object oriented caching system
US5826045A (en) * 1995-12-11 1998-10-20 Ncr Corporation Arbitration parking apparatus and method for a split transaction bus in a multiprocessor computer system
JP3269967B2 (ja) * 1996-04-24 2002-04-02 株式会社日立製作所 キャッシュコヒーレンシ制御方法、および、これを用いたマルチプロセッサシステム
DE19621108A1 (de) * 1996-05-24 1997-11-27 Siemens Nixdorf Inf Syst Pufferspeicher-Betriebsverfahren
US5937431A (en) * 1996-07-12 1999-08-10 Samsung Electronics Co., Ltd. Multi- node, multi-level cache- only memory architecture with relaxed inclusion
US6263407B1 (en) 1998-02-17 2001-07-17 International Business Machines Corporation Cache coherency protocol including a hovering (H) state having a precise mode and an imprecise mode
US6415358B1 (en) 1998-02-17 2002-07-02 International Business Machines Corporation Cache coherency protocol having an imprecise hovering (H) state for instructions and data
US6192451B1 (en) * 1998-02-17 2001-02-20 International Business Machines Corporation Cache coherency protocol for a data processing system including a multi-level memory hierarchy
US6292872B1 (en) 1998-02-17 2001-09-18 International Business Machines Corporation Cache coherency protocol having hovering (H) and recent (R) states
US6272603B1 (en) 1998-02-17 2001-08-07 International Business Machines Corporation Cache coherency protocol having hovering (H), recent (R), and tagged (T) states
US6446237B1 (en) * 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
US6345342B1 (en) * 1999-11-09 2002-02-05 International Business Machines Corporation Cache coherency protocol employing a read operation including a programmable flag to indicate deallocation of an intervened cache line
US6345343B1 (en) * 1999-11-09 2002-02-05 International Business Machines Corporation Multiprocessor system bus protocol with command and snoop responses for modified-unsolicited cache state
US6349369B1 (en) * 1999-11-09 2002-02-19 International Business Machines Corporation Protocol for transferring modified-unsolicited state during data intervention
US6374333B1 (en) * 1999-11-09 2002-04-16 International Business Machines Corporation Cache coherency protocol in which a load instruction hint bit is employed to indicate deallocation of a modified cache line supplied by intervention
US6321306B1 (en) * 1999-11-09 2001-11-20 International Business Machines Corporation High performance multiprocessor system with modified-unsolicited cache state
US6345344B1 (en) * 1999-11-09 2002-02-05 International Business Machines Corporation Cache allocation mechanism for modified-unsolicited cache state that modifies victimization priority bits
JP4837247B2 (ja) * 2003-09-24 2011-12-14 パナソニック株式会社 プロセッサ
US7356651B2 (en) * 2004-01-30 2008-04-08 Piurata Technologies, Llc Data-aware cache state machine
US7350032B2 (en) * 2004-03-22 2008-03-25 Sun Microsystems, Inc. Cache coherency protocol including generic transient states
US9727468B2 (en) * 2004-09-09 2017-08-08 Intel Corporation Resolving multi-core shared cache access conflicts
US7603392B2 (en) * 2006-06-05 2009-10-13 International Business Machines Corporation System, method and computer program product for storing transient state information
JP4474570B2 (ja) 2008-01-28 2010-06-09 エヌイーシーコンピュータテクノ株式会社 キャッシュコヒーレンシ制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
US4787033A (en) * 1983-09-22 1988-11-22 Digital Equipment Corporation Arbitration mechanism for assigning control of a communications path in a digital computer system
US4648030A (en) * 1983-09-22 1987-03-03 Digital Equipment Corporation Cache invalidation mechanism for multiprocessor systems
US4794521A (en) * 1985-07-22 1988-12-27 Alliant Computer Systems Corporation Digital computer with cache capable of concurrently handling multiple accesses from parallel processors
US4843542A (en) * 1986-11-12 1989-06-27 Xerox Corporation Virtual memory cache for use in multi-processing systems
US5025366A (en) * 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design
US5025365A (en) * 1988-11-14 1991-06-18 Unisys Corporation Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors

Also Published As

Publication number Publication date
US5274787A (en) 1993-12-28
JPH03214337A (ja) 1991-09-19

Similar Documents

Publication Publication Date Title
JP2820752B2 (ja) 密結合マルチプロセッサシステムにおけるキャッシュメモリ一致制御方法
JP2602599B2 (ja) 多重プロセッサ・データ処理システム及びその動作方法
US5682516A (en) Computer system that maintains system wide cache coherency during deferred communication transactions
JP3199718B2 (ja) キャッシュ整合性維持方法
JP3470951B2 (ja) 非一様メモリ・アクセス・コンピュータ・システム及びその操作方法
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US6189078B1 (en) System and method for increasing data transfer throughput for cache purge transactions using multiple data response indicators to maintain processor consistency
US5829052A (en) Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
JP3635634B2 (ja) データを転送するための推論的アービトレーション(Speculative Arbitration)を提供するシステムと方法
US20030140197A1 (en) Multi-processor computer system using partition group directories to maintain cache coherence
JP3180362B2 (ja) 情報処理装置
US7620954B2 (en) Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors
JPH02255932A (ja) マルチプロセツサ・システム
JPH01269142A (ja) 計算機システム
US5701422A (en) Method for ensuring cycle ordering requirements within a hierarchical bus system including split-transaction buses
WO1997004392A1 (en) Shared cache memory device
JP2829115B2 (ja) ファイル共用方法
CN113900968B (zh) 多副本非原子写的存储序同步操作实现方法与实现装置
JPH04291660A (ja) プロセッサ間通信方法およびそのための並列プロセッサ
JPS63253448A (ja) マルチ計算機装置
JP3187446B2 (ja) キャッシュメモリ制御装置
JP3093609B2 (ja) キャッシュメモリの記憶一致制御装置及び方法
JPH03230238A (ja) キャッシュメモリ制御方式
JP2825839B2 (ja) デッドロック検出処理方式
JP2834036B2 (ja) ロック制御器

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070828

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080828

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080828

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090828

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090828

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100828

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100828

Year of fee payment: 12