JPH02186456A - マルチプロセッサ・システムのキャッシュ制御システムおよび方法 - Google Patents

マルチプロセッサ・システムのキャッシュ制御システムおよび方法

Info

Publication number
JPH02186456A
JPH02186456A JP1004799A JP479989A JPH02186456A JP H02186456 A JPH02186456 A JP H02186456A JP 1004799 A JP1004799 A JP 1004799A JP 479989 A JP479989 A JP 479989A JP H02186456 A JPH02186456 A JP H02186456A
Authority
JP
Japan
Prior art keywords
data
cache
shared
private
shared data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1004799A
Other languages
English (en)
Other versions
JPH0680499B2 (ja
Inventor
Atsushi Moriwaki
淳 森脇
Shigenori Shimizu
清水 茂則
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 I B M KK
IBM Japan Ltd
Original Assignee
NIPPON I B M KK
IBM Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NIPPON I B M KK, IBM Japan Ltd filed Critical NIPPON I B M KK
Priority to JP1004799A priority Critical patent/JPH0680499B2/ja
Priority to EP90300293A priority patent/EP0378399B1/en
Priority to DE69031086T priority patent/DE69031086T2/de
Priority to US07/463,687 priority patent/US5226144A/en
Publication of JPH02186456A publication Critical patent/JPH02186456A/ja
Publication of JPH0680499B2 publication Critical patent/JPH0680499B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 この発明は複数のプロセッサがプライベート・キャッシ
ュを介して共有バスおよび共有メモリーに接続されてい
るマルチプロセッサ・システムおよび方法に関する。よ
り具体的には各プライベート・キャッシュ側に制御装置
を設は共有バス上の信号を監視することにより複数キャ
ッシュ間のデータの一貫性を保持する、いわゆるスヌー
ズ・キャッシュを有するマルチプロセッサ・システムお
よび方法に関する。
B、従来技術 共有メモリー・共有バス型のマルチプロセッサ・システ
ムにおいては、バスおよびメモリへのアクセスの競合を
減するために各プロセッサにプライベート・キャッシュ
を付加する方法が広く用いられている。このような方法
においては複数キャッシュ間のデータの一貫性を保証す
るための機構が必要となる。そしてその機構の一つとし
てスヌーズ・キャッシュとよばれるものがある。
第1図はスヌーズ・キャッシュ方式のマルチプロセッサ
を示す。第1図において複数のプロセッサ1a・・1n
はそれぞれのプライベート・キャッシュ2a・・2nを
介して共有バス4および共有メモリ5に接続されている
。そして各プライベート・キャッシュ2a・・2rJl
に制S装置3a・・3nを付けて共有バス4上の信号を
監視させ、分散@師方式によりデータの一貫性を実現す
る。すなわち、この方式では各制御装置3a・・3nが
共有バス4上のプロトコルにしたがヂC動作することに
よりデータの一貫性を実現する。
ところでプロセッサ1a・・1nのうちの任意の1つが
プライベート・キャッシュ2a・・2nのうちの対応す
る1つにデータを書き込んだときにキャッシュ2a・・
2nのうちの残りのものに共有されている同一アドレス
のデータの複製を如何に扱うかという点に関してプロト
コルを分類すると既存のプロトコルはインバリデート・
タイプおよびアップデート・タイプという二つの修飾タ
イプに分けられる。インバリデート・タイプにおいては
キャッシュ2a・・2nのうちの残りのものが保持する
同一アドレスのデータの複製を全て無効にすることによ
りデータの一貫性を保つ。他方、アップデート・タイプ
においては同一アドレスのデータの複製をすべてプロセ
ッサ1a・・1nのうちの任意の1つが書きこんだのと
同じ値に更新することによりデータの一貫性を保つ。
より具体的には、各修飾タイプのプロトコルにおいて書
き込み時のデータの一貫性を保証する操作は以下のよう
に実現される。予めプライベート・キャッシュの各ライ
ン毎にタグと呼ばれる1ビツトの情報を付加し、そのラ
インのデータがそのプライベート・キャッシュのみに「
専有」されているか、他のキャッシュとの間で「共有コ
されているかを表すのに用いる。プロセッサがプライベ
ート・キャッシュに書き込んだ時にそのラインのデータ
が「共有」の場合にのみ、制御装置のデータの一貫性を
保証する操作を行うべく共有バスを獲得し、他の全ての
キャッシュ側の制御装置に処理を要求する信号を送出す
るとともに必要なデータを送出する。
第2図はインバリデート・タイプの場合を表す。この図
に於て、キャッシュ2aの所定の共有データについて書
き込みが行なわれ、キャッシュ2bがこの共有データを
有し、キャッシュ2Cがこの共有データを有しないとす
る。要求をするキャッシュ2aの制御装置3aは共有バ
ス4に要求43号を送出し自らキャッシュの当該共有デ
ータのタグを「専有」に変える。当該共有データを有す
るキャッシュ2bの制御装置3aは共有バス4上の要求
信号を認め、自らが同じアドレスのデータを持つので、
これを無効にする。他のキiツシュ2cは当該共有デー
タを有しないのでそのままである。
第3図はアップデート・タイプの場合を表す。
この場合もキャッシュ2aおよび2bに共有データがあ
り、この共有データをキャッシュ2aにおいて書き込む
こととする。この図において、要求をするキャッシュ2
aの制御装置3aは共通バス4に要求信号および更新デ
ータを送出したのち、返答43号を待ちその如何により
自らのタグを決定する。当該共有データを有するキャッ
シュ2bの制御装置113bは共有バス4上め要求信号
および更新データを認め、自らが同じアドレスのデータ
を持つので、これを更新データで更新し、同時に返答信
号として正を返す。返答信号は共有バス4上で結線論理
和されたのち、要求を出したキャッシュ2aの制弧装置
3aに返される。他方当該共有データを有しないキャッ
シュ2Cは負の返答信号を帰す。この場合、正は「少な
くとも一つの他のキャッシュに共有されているJを表し
、負は「如何なる他のキャッシュにも共有されていない
」を表す。したがって、返答信号として正が戻れば要求
したキャッシュは「共有」になり、さもなくば「専有」
になる。
一般的にはアップデート・タイプの方がインバリデート
・タイプに比べてキャッシュのデータのヒツト率が高く
、プロトコルとして優れている。
しかし、その反面アップデート・タイプにおいてはイン
バリデート・タイプに比べてキャッシュのデータの共有
率が高くなり、したがってデータ書込み時に生ずるバス
・アクセスが多くなりプロセッサ間のバス競合は増大す
る。ゆえに、いずれの修飾タイプのプロトコルがより適
切であるかは一概には決まらず、実行されるプログラム
自体の性質および個々のプロセッサの動作状況に依存す
る。したがって状況に応じてこれらのプロトコルを切り
換えるシステムが望まれる。
プロトコルを切り換えられるシステムを実現するには、
インバリデート・タイプおよびアップデート・タイプの
両方のプロトコルを実現する制御装置を作り、状況に応
じて何らかの手段で修飾タイプを切り換えることが考え
られる。しかしこの場合法の二点が問題となる。第一に
、従来のプロトコルの修飾タイプは全システムに対する
属性であるので、各キャッシュごとに修飾タイプを切り
換えると各キャッシュのプロトコル規約が区々となって
データの一貫性を保つことができない。
たとえば所定の共有データについて1のキャッシュに書
き込みがあり、このキャッシュがインバリデート・タイ
プであり、この共有データを有する他の1のキャッシュ
がアップデート・タイプとすると、当該他のキャッシュ
側では当該共有データが変更されて保持されているのに
、書き込みのあったキャッシュ側では専有データとして
保持することになり(インバリデートでは書き込みのあ
った共有データを全て専有データに変えてしまう)、以
降当該インバリデート・タイプのキャッシュに当該デー
タについて言き込みが行なわれると当該他のキャッシュ
の当該データにその書込みが反映されず、この結果前キ
ャッシュ間でデータの一貫性がなくなってしまうのであ
る。第二に、全システムの修飾タイプを同時に同じもの
に切り換えるならばデータの一貫性は保たれるが、この
場合は全てのキヤ・シシュ側を一斉に切り換えなくては
ならず、そのためシステムに何らかの同期を取りその間
如何なるメモリー・アクセスも行なわれないように制御
する必要があり、したがって実行時におけるダイナミッ
クな切り換えはできない。
なおこの発明と関連する先行技術としては、1つのシス
テムに2つ以上のキャッシュ・メモリを設け、これらを
切り換えて使用すること(特開昭51−139736号
公報、特開昭52−80747号公報)、キャッシュ・
メモリのブロック置換の手法を切り換えること(特開昭
51−32241号公報、特開昭50−65141号公
報、特開昭50−73530号公報)、およびキャッシ
ュ・メモリのストアの方法を切り換えること(特開昭5
3−65025号公報)がある。しかしブラベート・キ
ャッシュのプロトコルを個別に切り換えることは示唆さ
れていない。
C1発明が解決しようとする問題点 この発明は以上の事情を考慮してなされたものであり、
状況に応じて修飾タイプを各キャッシュ毎に選択するこ
とにより最も効率の良いライト・アクセスを行えるマル
チプロセッサ・システムでなおかつ実行時に修飾タイプ
の切り換えを各キャッシュ毎にダイナミックに行えるも
のを提供することを目的とする。
D9問題点を解決するための手段 この発明では以上の目的を達成するために、修飾タイプ
をプライベート・キャッシュ毎にかつダイナミックに切
り換える機能を制卸機構およびプロトコルで実現する。
そのために、各キャッシュ毎の修飾タイプを表す属性と
して修飾モードという概念を導入し、任意の修飾モード
の組み合わせに対してデータの一貫性を崩さないプロト
コルを定義し、このプロトコルの下で動作しかつ修飾モ
ードのダイナミックな切り換えを可能とする刷部機構を
実現する。
この@能によりマルチプロセッサ◆システムはプライベ
ート・キャッシュ毎に各瞬間に最適な修飾タイプを選べ
、しかも状況の変化に伴い任意の時点でその修飾モード
をキャッシュ毎に切り換えることができる。
E、実施例 この発明の一実施例を第4図および第5図を参照して以
下に説明する。なおこの実施例の全体構成は第1図の従
来のものとほぼ同様であるから、以下では制御装置を中
心とした要部について説明する。
第4図において各制御装置3a・・3nは主制御装置6
a・・6nおよび副@御装置7a・・7nの二つからな
り、それとは別にある1ビツトの修飾モード・レジスタ
8a・・8nの値により副制御装置7a・・7nのみは
動作を選択される。
このレジスタ8a・・8nの値の正・負がインバリデー
ト・タイプおよびアップデート・タイプの区別に対応す
る。この場合、主制御装置6a・・、6nの各々は共有
バスの要求18号バス9に共通に接続され、副制御装置
7a・・7nの各々は共有バスの返答信号バスに共通に
接続されている。1の制御装置の主制御装置が要求信号
を要求信号バス9に送出すると、他の制御装置の副制御
装置の各々が、−の要求(3号を受け取り、返答信号を
返答信号バス10に送出する。この返答信号は結線論理
和されて、要求信号を送出した制御装置の主制御装置に
返される。なおバス調停機構(図示しない)によって要
求信号バス9の占有を調停して1の主制御装置のみが要
求信号を出せるようになっている。このような構成によ
り、修飾タイプが要求信号を受ける側毎に選択されると
いう、従来にないプロトコルの定義が可能となる。
なお修飾モード・レジスタ8a・・8nの内容はたとえ
ばシステム・セットアツプ時各プロセッサ1a・・1n
が初期設定の一環として設定するようになっており、ま
た通常の動作時にも動的に設定しなおせるようになって
いる。
この実施例に於てはプロトコルを第5図のように定める
。なお第5図においてはキャッシュ2a。
2bおよび2cはともに所定の共有データを有し、キャ
ッシュ2bはアップデート・モードとし、キャッシュ2
cはインバリデート・モードとする。
キャッシュ2aはどちらのモードでもよい。
第5図において、プロセッサla(図示しない)がプラ
イベート・キャッシュ2aの「共有」であるデータに書
込みを行った時、このキャッシュ2aの制御装置は共有
バス4に要求信号と更新データを送出した後返答(ff
号を待ちその如何により自らのタグを決定する。他のキ
ャッシュ2bおよび2cの1lIl!!I装置3bおよ
び3cは各々共有バス4上の要求信号と変更データを認
めて修飾モード・レジスタ8bおよび8cに定められた
動作を行う。
キャッシュ2b側では修飾モード・レジスタ8bが正で
あり、この場合は、この制御装置3bが返答信号として
負を返す。また自らがおなしアドレスのデータをもつな
らばこれを無効にする。図の例では同じアドレスのデー
タを有するのでこれを無効にする。すなわち、インバリ
デート・タイプのときのように動作し、このときをイン
バリデート・モードと呼ぶ。他方キャッシュ2 c m
lでは修飾モード・レジスタ8cが負であり、この場合
、この制御装置3cはキャッシュ2cが同じアドレスの
データを持つならばこれを更新データで更新するととも
に返答(8号として正を返し、さもなくば唯返答イg号
として負を返す。図の例では同じアドレスのデータを有
するのでデータの更新を行って正の返答信号を送出する
。すなわち、アップデードータイブのときのように動作
し、このときをアップデート・モードと呼ぶ。以下、こ
れらの二つのモードを修飾モードと総称する。返答信号
は共有バス4上で結線論理和を取ったものが要求信号を
送り出したキャッシュ2aの制御装置3aに返され、す
なわち、正は「少なくとも一つの他のキャッシュは以後
もデータを共有する」を表し、負は「如何なる他のキャ
ッシュも以後はデータを共有しない」を表す。したがっ
て、返答信号として正が戻れば要求信号を送出したキャ
ッシュ2aではそのアドレスのデータを「共有」とし、
負が戻れば「専有」とする。
以上のプロトコルの定義により、要求信号を出すキャッ
シュ側の動作は自らの修飾モードの如何に依存せず、ま
た他のキャッシュ側の各々の修飾モードにも陽には依存
せず、唯返答信号の値のみを介して他のキャッシュ側の
状態を知ることにより動作を決定する。すなわち当該デ
ータが共有であるか占有であるかを、最も原始的かつ直
接的な情報によフて決定することができる。一方要求償
号を受けるキャッシュ側は自らの修飾モードに従って動
作を決定し、他のキャッシュの修飾モードには直接にも
間接にも影響されない。すなわち各キャッシュはそれぞ
れ独立して固有のプロトコルを採用できる。このように
して、要求4g号を出す側と受ける側の動作を主制御装
置と副制御装置の別々の制御装置で実現し後者にのみ修
飾モード・レジスタの値を反映させるという第4図の実
現は、第5図のプロトコルを矛盾することなく実現する
事ができる。
このような機構およびプロトコルを定義すると新たに定
義されたところの修飾モードは、従来の修飾タイプとは
異なり、全システムの持つ属性ではなく各キャッシュ側
毎の持つ属性となる。即ち、各キャッシュ側の修飾モー
ドは直接には他のキャッシュ側の動作にF’Jを及ぼさ
ないので、各キャッシュ側毎に任意の修飾モードを選び
データの一貫性を損なうことなく同時に動作させる事が
可能となる。またこの実施例においては個々のキャッシ
ュ側における修飾モードの変更がデータの一貫性を損な
わないことが修飾モード・レジスタへの書込みと副制御
装置の動作とをハードウェアで排他的に制御することに
よって保証されているので、修飾モードの変更もシステ
ム全体の同期を取ることなく各キャッシュ側毎にダイナ
ミックにおこなうことができる。
なお上述の説明ではキャッシュ間の一貫性のみに言及し
たが、キャッシュと共有メモリとの間の一貫性も維持さ
れている。具体的な例では専有データに更新書込みがあ
ったときにはそのデータに関するリプレース時に共有メ
モリに書き込みを行う(スワップ)。他方共有データに
書き込みがあったときには同時に共有メモリにも書き込
みを行う(ストアスルー)。スワップおよびストアスル
ーは通常のキャッシュ制御の分野で周知であるので詳細
な説明はしない。
なお上述の実施例ではインバリデート・モードおよびア
ップデート・モードを切り換える情報として制御装置内
の修飾モード・レジスタを用いたが、この情報には種々
の代替が可能である。例えば、要求キャッシュ側が他の
キャッシュの修飾モードを規定するための制御信号を共
有バス上に送出し、返答キャッシュ側はそれにしたがっ
て動作するという方式も可能である。また例えば、アク
セスされるアドレスもしくはアドレス範囲に従って返答
キャッシュ側が動作を決定する方式も可能である。しか
し、この発明は修飾モードを如何にして制御I装置に与
えるかを言及するものではなく、何らかの方法で修飾モ
ードが規定(先の実施例では簡単のために修飾モード・
レジスタを用いた)されたのちその情報を用いて修飾モ
ードの混在とそのダイナミックな変項を可能とするため
の方式%式% F9発明の詳細 な説明したようにこの発明によればスヌーズ・キャッシ
ュを用いた共通バス・共通メモリー型のマルチプロセッ
サにおけるキャッシュ毎のより柔軟な修飾モードの選択
とそのダイナミックな切り換えが可能となり、ゆえに、
状況に応じた最適なライト・アクセス方式が這べかっ状
況の変化に応じてダイナミックに方法を切り換えること
ができるようになる。
【図面の簡単な説明】
第1図はスヌーズ・キャッシュを有する共通バス・共通
メモリー型マルチプロセッサの一般的な構成を示すブロ
ック図、第2図および第3図は各々既存の二つのプロト
コルであるインバリデート・タイプおよびアップデート
・タイプのプロトコルを説明するための図、第4図はこ
の発明の実施例を示すブロック図、そして第5図はこの
発明で実現された二つの修飾モード混在可能なプロトコ
ルを説明する図である。 1a・・1n・・プロセッサ、2a・・2n・・プライ
ベート・キャッシュ、3a・・3n・・制御装置、4・
・共有バス、5・・共有メモiハロa・・6n・・主制
御装置、7a・・7n・・副制御装置、8a・・8n・
・修飾モード・レジスタ、9・・要求信号バス、10・
・返答信号バス。 第2図 第3=

Claims (8)

    【特許請求の範囲】
  1. (1)複数のプロセッサをそれぞれプライベート・キャ
    ッシュを介して共有バスおよび共有メモリに接続するマ
    ルチプロセッサ・システムにおいて、2以上のプライベ
    ート・キャッシュで共有する共有データについて1のプ
    ライベート・キャッシュで更新書き込みがあったときに
    共有データ間の不一致を解消するようにデータ一貫性維
    持手続きを実行するマルチプロセッサ・システムのキャ
    ッシュ制御システムにおいて、 上記プライベート・キャッシュの各々に設けられて上記
    データ一貫性維持手続きを実行する制御装置の各々が、 対応するプライベート・キャッシュ中の共有データにつ
    いて更新書き込みがあったときに他のプライベート・キ
    ャッシュの制御装置にデータ一貫性維持手続きの実行を
    要求する要求信号とその書き込みのアドレスとを送出す
    る手段と、 上記要求信号に応じて他のプライベート・キャッシュの
    少なくとも1つから当該共有データについて更新書き込
    みと同様の変更を実行したことを示す返答信号が送出さ
    れたときに当該共有データの状態表示を共有のままにし
    、その他の場合にこの状態表示を専有とする手段と、 他のプライベート・キャッシュの制御装置から送出され
    る要求信号および書き込みアドレスを受け取って、任意
    に設定可能な、自己のデータ一貫性維持手続きの種類に
    応じたデータ操作を実行し、データの変更を実行したか
    あるいはそれ以外かを示す返答信号を当該他のプライベ
    ート・キャッシュに返す手段とを有することを特徴とす
    るマルチプロセッサ・システムのキャッシュ制御装置。
  2. (2)上記制御装置の各々は自己のデータ一貫性維持手
    続きの種類を表わす情報をレジスタに保持するようにし
    た特許請求の範囲第1項記載のマルチプロセッサ・シス
    テムのキャッシュ制御装置。
  3. (3)上記制御装置の各々は他の制御装置から上記要求
    信号とともに送出されてくる上記書き込みのアドレスに
    応じて自己のデータ一貫性維持手続きの種類を決定し、
    そのデータ一貫性維持手続きを実行する特許請求の範囲
    第1項記載のマルチプロセッサ・システムのキャッシュ
    制御装置。
  4. (4)上記制御装置の少なくとも1つは上記要求信号お
    よび書き込みアドレスとともに他の制御装置で実行すべ
    きデータ一貫性維持手続きの種類に関する情報を送出す
    るとともに、上記他の制御装置は送出されてきた情報に
    応じて上記データ一貫性維持手続きを実行する特許請求
    の範囲第1項記載のマルチプロセッサ・システムのキャ
    ッシュ制御装置。
  5. (5)上記要求信号および書き込みのアドレスとともに
    上記更新書き込みのデータを送出する特許請求の範囲第
    1項ないし第4項記載のマルチプロセッサ・システムの
    キャッシュ制御装置。
  6. (6)上記データ一貫性維持手続きは、1のプライベー
    ト・キャッシュで共有データに更新書き込みがあったと
    きに当該プライベート・キャッシュの当該共有データの
    状態表示を専有に変え、かつ他のプライベート・キャッ
    シュの当該共有データを無効にするものと、1のプライ
    ベート・キャッシュで共有データに更新書き込みがあっ
    たときに他のプライベート・キャッシュの当該共有デー
    タがあればこれを変更するとともに当該プライベート・
    キャッシュの当該共有データの状態表示を共有のままに
    し他のプライベート・キャッシュに共有データがなけれ
    ば当該プライベート・キャッシュの当該共有データの状
    態表示を専有に代えるものとである特許請求の範囲第1
    項ないし第5項記載のマルチプロセッサ・システムのキ
    ャッシュ制御装置。
  7. (7)複数のプロセッサをそれぞれプライベート・キャ
    ッシュを介して共有バスおよび共有メモリに接続するマ
    ルチプロセッサ・システムにおいて、2以上のプライベ
    ート・キャッシュで共有する共有データについて1のプ
    ライベート・キャッシュで更新書き込みがあったときに
    共有データ間の不一致を解消するようにデータ一貫性維
    持手続きを実行するようにしたマルチプロセッサ・シス
    テムのキャッシュ制御システムにおいて、 上記プライベート・キャッシュごとに、上記データ一貫
    性維持手続きを動的に切り換えるようにしたことを特徴
    とするマルチプロセッサ・システムのキャッシュ制御シ
    ステム。
  8. (8)複数のプロセッサをそれぞれプライベート・キャ
    ッシュを介して共有バスおよび共有メモリに接続するマ
    ルチプロセッサ・システムにおいて、2以上のプライベ
    ート・キャッシュで共有する共有データについて1のプ
    ライベート・キャッシュで更新書き込みがあったときに
    共有データ間の不一致を解消するようにデータ一貫性維
    持手続きを実行するマルチプロセッサ・システムのキャ
    ッシュ制御方法において、 1のプライベート・キャッシュ中の共有データについて
    更新書込みがあったときに、 当該1のプライベート・キャッシュがわからデータ一貫
    性維持手続きの実行を要求する要求信号を送出するステ
    ップと、 当該共有データを有する他のプライベート・キャッシュ
    の各々において上記要求信号に応じて自己のデータ一貫
    性維持手続きの種類に基づいて当該共有データを無効に
    し、または上記更新書込みと同様の変更を実行するステ
    ップと、 上記変更を実行したプライベト・キャッシュがわから変
    更を実行したことを表示する表示信号が少なくとも1つ
    送出されたときに上記1つのプライベート・キャッシュ
    の当該共有データの状態表示を共有のままとし、それ以
    外のときに上記状態表示を占有に変更するステップとを
    有することを特徴とするマルチプロセッサ・システムの
    キャッシュ制御方法。
JP1004799A 1989-01-13 1989-01-13 マルチプロセッサ・システムのキャッシュ制御システムおよび方法 Expired - Lifetime JPH0680499B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP1004799A JPH0680499B2 (ja) 1989-01-13 1989-01-13 マルチプロセッサ・システムのキャッシュ制御システムおよび方法
EP90300293A EP0378399B1 (en) 1989-01-13 1990-01-10 Cache content control in multi-processor networks
DE69031086T DE69031086T2 (de) 1989-01-13 1990-01-10 Cache-Speicherinhaltssteuerung in Mehrprozessornetzwerken
US07/463,687 US5226144A (en) 1989-01-13 1990-01-11 Cache controller for maintaining cache coherency in a multiprocessor system including multiple data coherency procedures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1004799A JPH0680499B2 (ja) 1989-01-13 1989-01-13 マルチプロセッサ・システムのキャッシュ制御システムおよび方法

Publications (2)

Publication Number Publication Date
JPH02186456A true JPH02186456A (ja) 1990-07-20
JPH0680499B2 JPH0680499B2 (ja) 1994-10-12

Family

ID=11593820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1004799A Expired - Lifetime JPH0680499B2 (ja) 1989-01-13 1989-01-13 マルチプロセッサ・システムのキャッシュ制御システムおよび方法

Country Status (4)

Country Link
US (1) US5226144A (ja)
EP (1) EP0378399B1 (ja)
JP (1) JPH0680499B2 (ja)
DE (1) DE69031086T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04328653A (ja) * 1991-04-22 1992-11-17 Internatl Business Mach Corp <Ibm> マルチプロセッサ・システムおよびそのデータ伝送装置
JPH0869413A (ja) * 1994-08-30 1996-03-12 Kofu Nippon Denki Kk ページ履歴メモリ装置
JP2000259522A (ja) * 1999-03-08 2000-09-22 Nec Corp ネットワーク管理システムおよび管理情報転送方法

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5611070A (en) * 1990-05-10 1997-03-11 Heidelberger; Philip Methods and apparatus for performing a write/load cache protocol
US5404483A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills
JP3009430B2 (ja) * 1990-07-09 2000-02-14 キヤノン株式会社 プロセッサおよびそのキャッシュメモリ制御方法
DE4037332C2 (de) * 1990-11-23 1995-06-29 Siemens Nixdorf Inf Syst Verfahren zur Fehlerüberwachung der Datenkonsistenz in einem Datenverarbeitungssystem und Schaltungsanordnung zur Durchführung des Verfahrens
JPH05108473A (ja) * 1991-03-20 1993-04-30 Hitachi Ltd デ−タ処理システム
US5319768A (en) * 1991-05-01 1994-06-07 Sgs-Thomson Microelectronics, Inc. Control circuit for resetting a snoop valid bit in a dual port cache tag memory
GB9118312D0 (en) * 1991-08-24 1991-10-09 Motorola Inc Real time cache implemented by dual purpose on-chip memory
US5426765A (en) * 1991-08-30 1995-06-20 Compaq Computer Corporation Multiprocessor cache abitration
US5584017A (en) * 1991-12-19 1996-12-10 Intel Corporation Cache control which inhibits snoop cycles if processor accessing memory is the only processor allowed to cache the memory location
US5966728A (en) * 1992-01-02 1999-10-12 International Business Machines Corp. Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
JPH0727494B2 (ja) * 1992-01-02 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ・スヌープ/データ無効化機能を有するコンピュータ・システム
EP0567355B1 (en) * 1992-04-24 2001-09-19 Compaq Computer Corporation A method and apparatus for operating a multiprocessor computer system having cache memories
US5522058A (en) * 1992-08-11 1996-05-28 Kabushiki Kaisha Toshiba Distributed shared-memory multiprocessor system with reduced traffic on shared bus
US5511226A (en) * 1992-08-25 1996-04-23 Intel Corporation System for generating snoop addresses and conditionally generating source addresses whenever there is no snoop hit, the source addresses lagging behind the corresponding snoop addresses
JP2746530B2 (ja) * 1993-01-30 1998-05-06 洲 植 全 共有メモリマルチプロセッサ
FR2707774B1 (fr) * 1993-07-15 1995-08-18 Bull Sa Procédé de gestion cohérente des échanges entre des niveaux d'une hiérarchie de mémoires à au moins trois niveaux.
FR2707777B1 (fr) * 1993-07-15 1995-08-18 Bull Sa Ensemble informatique à mémoire partagée.
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
US5748937A (en) * 1993-08-26 1998-05-05 Intel Corporation Computer system that maintains processor ordering consistency by snooping an external bus for conflicts during out of order execution of memory access instructions
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
US5555398A (en) * 1994-04-15 1996-09-10 Intel Corporation Write back cache coherency module for systems with a write through cache supporting bus
EP0683457A1 (en) * 1994-05-20 1995-11-22 Advanced Micro Devices, Inc. A computer system including a snoop control circuit
US5787476A (en) * 1995-05-05 1998-07-28 Silicon Graphics, Inc. System and method for maintaining coherency of virtual-to-physical memory translations in a multiprocessor computer
US5778437A (en) * 1995-09-25 1998-07-07 International Business Machines Corporation Invalidation bus optimization for multiprocessors using directory-based cache coherence protocols in which an address of a line to be modified is placed on the invalidation bus simultaneously with sending a modify request to the directory
US5778431A (en) * 1995-12-19 1998-07-07 Advanced Micro Devices, Inc. System and apparatus for partially flushing cache memory
JP3269967B2 (ja) * 1996-04-24 2002-04-02 株式会社日立製作所 キャッシュコヒーレンシ制御方法、および、これを用いたマルチプロセッサシステム
US5920891A (en) * 1996-05-20 1999-07-06 Advanced Micro Devices, Inc. Architecture and method for controlling a cache memory
US5787470A (en) * 1996-10-18 1998-07-28 At&T Corp Inter-cache protocol for improved WEB performance
US5809536A (en) * 1996-12-09 1998-09-15 Intel Corporation, Inc. Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache
US5848434A (en) * 1996-12-09 1998-12-08 Intel Corporation Method and apparatus for caching state information within a directory-based coherency memory system
US5895486A (en) * 1996-12-20 1999-04-20 International Business Machines Corporation Method and system for selectively invalidating cache lines during multiple word store operations for memory coherence
US5960457A (en) * 1997-05-01 1999-09-28 Advanced Micro Devices, Inc. Cache coherency test system and methodology for testing cache operation in the presence of an external snoop
US5900017A (en) * 1997-05-14 1999-05-04 International Business Machines Corporation Snooping a variable number of cache addresses in a multiple processor system by a single snoop request
US6098156A (en) * 1997-07-22 2000-08-01 International Business Machines Corporation Method and system for rapid line ownership transfer for multiprocessor updates
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
US6101582A (en) * 1998-02-17 2000-08-08 International Business Machines Corporation Dcbst with icbi mechanism
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
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
US6275908B1 (en) * 1998-02-17 2001-08-14 International Business Machines Corporation Cache coherency protocol including an HR state
US6272603B1 (en) 1998-02-17 2001-08-07 International Business Machines Corporation Cache coherency protocol having hovering (H), recent (R), and tagged (T) states
US6292872B1 (en) 1998-02-17 2001-09-18 International Business Machines Corporation Cache coherency protocol having hovering (H) and recent (R) states
JP4025501B2 (ja) * 2000-03-03 2007-12-19 株式会社ソニー・コンピュータエンタテインメント 楽音発生装置
US20020161698A1 (en) * 2000-10-04 2002-10-31 Wical Kelly J. Caching system using timing queues based on last access times
US20020138302A1 (en) * 2001-03-21 2002-09-26 David Bodnick Prepaid telecommunication card for health care compliance
US7017012B2 (en) * 2002-06-20 2006-03-21 Sun Microsystems, Inc. Distributed storage cache coherency system and method
US7363427B2 (en) * 2004-01-12 2008-04-22 Hewlett-Packard Development Company, L.P. Memory controller connection to RAM using buffer interface
US7484045B2 (en) * 2004-03-30 2009-01-27 Intel Corporation Store performance in strongly-ordered microprocessor architecture
CN104123240B (zh) 2008-01-31 2017-07-28 甲骨文国际公司 用于事务缓存的系统和方法
US8671267B2 (en) 2010-06-24 2014-03-11 International Business Machines Corporation Monitoring processing time in a shared pipeline
US10255183B2 (en) 2015-07-23 2019-04-09 Arteris, Inc. Victim buffer for cache coherent systems
US12026095B2 (en) 2014-12-30 2024-07-02 Arteris, Inc. Cache coherent system implementing victim buffers
US9542316B1 (en) * 2015-07-23 2017-01-10 Arteris, Inc. System and method for adaptation of coherence models between agents
CN112532766B (zh) * 2020-12-16 2022-10-28 牙木科技股份有限公司 Dns应答结果的缓存方法、dns服务器及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01237835A (ja) * 1988-01-20 1989-09-22 Advanced Micro Devicds Inc 集積キャッシュユニットおよびその内部でキャッシュ機能を実現するための方法
JPH0241538A (ja) * 1988-08-01 1990-02-09 Nippon Telegr & Teleph Corp <Ntt> キャッシュメモリ制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5615065B2 (ja) * 1973-10-31 1981-04-08
JPS547546B2 (ja) * 1974-06-06 1979-04-07
JPS5132241A (ja) * 1974-09-13 1976-03-18 Fujitsu Ltd
JPS51139736A (en) * 1975-05-28 1976-12-02 Hitachi Ltd Buffer memory control devices
US4639860A (en) * 1982-05-12 1987-01-27 Honeywell Information Systems Inc. Wrap-around logic for interprocessor communications
US4494190A (en) * 1982-05-12 1985-01-15 Honeywell Information Systems Inc. FIFO buffer to cache memory
US4493026A (en) * 1982-05-26 1985-01-08 International Business Machines Corporation Set associative sector cache
US4719568A (en) * 1982-12-30 1988-01-12 International Business Machines Corporation Hierarchical memory system including separate cache memories for storing data and instructions
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4959777A (en) * 1987-07-27 1990-09-25 Motorola Computer X Write-shared cache circuit for multiprocessor system
GB8728494D0 (en) * 1987-12-05 1988-01-13 Int Computers Ltd Multi-cache data storage system
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
US5043886A (en) * 1988-09-16 1991-08-27 Digital Equipment Corporation Load/store with write-intent for write-back caches
US5025365A (en) * 1988-11-14 1991-06-18 Unisys Corporation Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors
US5113514A (en) * 1989-08-22 1992-05-12 Prime Computer, Inc. System bus for multiprocessor computer system
JP2567168B2 (ja) * 1991-11-18 1996-12-25 株式会社フジキカイ 包装機における包装品へのテープ貼着装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01237835A (ja) * 1988-01-20 1989-09-22 Advanced Micro Devicds Inc 集積キャッシュユニットおよびその内部でキャッシュ機能を実現するための方法
JPH0241538A (ja) * 1988-08-01 1990-02-09 Nippon Telegr & Teleph Corp <Ntt> キャッシュメモリ制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04328653A (ja) * 1991-04-22 1992-11-17 Internatl Business Mach Corp <Ibm> マルチプロセッサ・システムおよびそのデータ伝送装置
JPH0869413A (ja) * 1994-08-30 1996-03-12 Kofu Nippon Denki Kk ページ履歴メモリ装置
JP2000259522A (ja) * 1999-03-08 2000-09-22 Nec Corp ネットワーク管理システムおよび管理情報転送方法

Also Published As

Publication number Publication date
EP0378399A2 (en) 1990-07-18
DE69031086D1 (de) 1997-08-28
JPH0680499B2 (ja) 1994-10-12
EP0378399B1 (en) 1997-07-23
DE69031086T2 (de) 1998-01-15
US5226144A (en) 1993-07-06
EP0378399A3 (en) 1991-09-18

Similar Documents

Publication Publication Date Title
JPH0680499B2 (ja) マルチプロセッサ・システムのキャッシュ制御システムおよび方法
EP0735480B1 (en) Cache coherent computer system that minimizes invalidation and copyback operations
US20020112132A1 (en) Coherence controller for a multiprocessor system, module, and multiprocessor system wtih a multimodule architecture incorporating such a controller
US7469321B2 (en) Software process migration between coherency regions without cache purges
US7549024B2 (en) Multi-processing system with coherent and non-coherent modes
US8176261B2 (en) Information processing apparatus and data transfer method
JP4043225B2 (ja) キャッシュ装置および方法
JPH07281955A (ja) マルチプロセッサーシステムのスヌープ回路
US20050005073A1 (en) Power control within a coherent multi-processing system
JPH09223118A (ja) スヌープキャッシュメモリ制御システム
JPS58118083A (ja) 多重処理システムにおけるキヤツシユ制御機構
JPH03253963A (ja) マルチプロセツサ・システム
JPH05128071A (ja) 多重プロセツサ・システムの性能の最適化装置及び方法
JPH03217963A (ja) マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法
JP2008108256A (ja) コンピュータシステムの複数のプロセッサを結合するスイッチングシステムのデータストレージ
US6874065B1 (en) Cache-flushing engine for distributed shared memory multi-processor computer systems
JP2002032265A (ja) キャッシュ・アクセス制御方式およびデータ処理システム
US20140297966A1 (en) Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus
US20050033925A1 (en) Multi-processor computer system with cache-flushing system using memory recall
JP4477688B2 (ja) キャッシュメモリアクセスを管理する方法と装置
JP3897218B2 (ja) キャッシュ装置及び制御方法
JP3626609B2 (ja) マルチプロセッサシステム
KR0144093B1 (ko) 다수의 프로세서가 하나의 캐쉬 메모리를 공유하는 시스템 장치 및 방법
JPH0529943B2 (ja)
US20140289474A1 (en) Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus