JPH086855A - メモリ - Google Patents

メモリ

Info

Publication number
JPH086855A
JPH086855A JP7106723A JP10672395A JPH086855A JP H086855 A JPH086855 A JP H086855A JP 7106723 A JP7106723 A JP 7106723A JP 10672395 A JP10672395 A JP 10672395A JP H086855 A JPH086855 A JP H086855A
Authority
JP
Japan
Prior art keywords
data
cache
main memory
module
transaction
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
JP7106723A
Other languages
English (en)
Other versions
JP3729891B2 (ja
Inventor
Joseph H Hassoun
ジョセフ・ハニ・ハッソウン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH086855A publication Critical patent/JPH086855A/ja
Application granted granted Critical
Publication of JP3729891B2 publication Critical patent/JP3729891B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories

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)【要約】 【目的】 キャッシュ・コヒーレンシ・チェックを直接
主メモリ・コントローラによって行うことができるメモ
リを提供する。 【構成】 プロセッサ・モジュール20,22,24の
キャッシュ・メモリ50,52,54に必要とするデー
タが格納されていない場合に、プロセッサ・モジュール
20,22,24から主メモリ・コントローラ14,1
6にトランザクションを送り、主メモリ・コントローラ
14,16から対応するデータをプロセッサ・モジュー
ル20,22,24のキャッシュ・メモリ50,52,
54に格納し、キャッシュ・メモリ50,52,54の
1つに格納されたデータ・ラインに対応し、キャッシュ
・タグ・アレー44,46内のキャッシュ・タグが主メ
モリ・コントローラ14,16に対してデータ・ライン
を要求した最後のプロセッサ・モジュール20,22,
24を示す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリに関し、より詳
細には1つあるいはそれ以上のプロセッサがキャッシュ
・メモリを有する共有メモリ・マルチプロセッサに関す
る。
【0002】
【従来の技術】コンピュータは通常プロセッサ、記憶装
置、および入出力装置等の複数の構成要素を有する。こ
れらの構成要素は通常それぞれが1つあるいはそれ以上
のプロセッサ、記憶装置および/または入出力装置を有
する構成要素モジュールとしてまとめられる。構成要素
モジュールは一般に従来の「読み出し」トランザクショ
ンや「書き込み」トランザクションといった「トランザ
クション」の形態で互いに通信する。たとえば、典型的
な読み出しトランザクションでは、1つのモジュール
が、それが必要とするデータを識別し、その識別された
データを送ることを要求する信号を別のモジュールに送
る。これに応答するモジュールはこの要求を処理しデー
タを返す。
【0003】多くのコンピュータにおいて、装置で実行
するソフトウエアは1つあるいはそれ以上の主記憶装置
を共有する2つ以上の主プロセッサ・モジュールによっ
て実行される。この種の装置はよく「共有メモリ・マル
チプロセッサ」装置と呼ばれる。
【0004】共有メモリ・マルチプロセッサ装置におい
ては、トランザクションは一般に従来の共有バスや従来
のクロス・バー・スイッチ等の共有メモリ相互接続上で
プロセッサ・モジュールと主記憶装置モジュール間で転
送される。トランザクションは「サイクル」中にこの共
有メモリ相互接続を介して送出される。それぞれのサイ
クルはある限られた数のトランザクションをその共有メ
モリ相互接続上で転送可能な期間である。クロス・バー
・スイッチにおいては、それぞれのモジュールは通常各
サイクル中にこのスイッチにトランザクションを送り、
スイッチからトランザクションを受け取ることができ
る。これは、ある1つのサイクル中には1つのモジュー
ルだけがバス上にトランザクションを送ることのできる
従来の共有バスと対照的である。
【0005】従来の多くの共有メモリ相互接続では「分
割トランザクション」が可能である。分割トランザクシ
ョンでは、要求にただちに応答する必要はない。たとえ
ば、あるモジュールがあるサイクル中に別のモジュール
への読み出し、トランザクションをクロス・バー・スイ
ッチ上で送る場合がある。この他方のモジュールは他の
タスクを実行するために使用中で1つあるいはそれ以上
のサイクルの間この読み出しトランザクションを処理で
きない場合がある。最終的には、この応答側のモジュー
ルは後のサイクルでこのトランザクションを処理し、要
求されたデータを返す。要求トランザクションとそれに
対する応答を相互に関係付けるために、それぞれの要求
トランザクションには一般にそのトランザクションを開
始するモジュールを識別し、そのトランザクションをそ
のモジュールが発した他のトランザクションと区別する
ためのトランザクション識別コードが含まれる。応答ト
ランザクションは一般に、その応答をその要求トランザ
クションと関係付けることができるように、このトラン
ザクション識別コードを付して送られる。たとえば、あ
る読み出しトランザクションに対して返されるデータは
そのデータを返す対象となる特定の読み出しトランザク
ションを識別する。
【0006】共有メモリ・マルチプロセッサ装置では、
主プロセッサは一般に共有メモリ相互接続と直結されて
いる。それぞれの主プロセッサは一般に別々の主メモリ
・コントローラを介して共有メモリ相互接続に接続され
ている。装置が2つ以上の主メモリを有する場合、それ
ぞれのメモリは相互に排他的なデータアドレスの集合を
含む。あるプロセッサがある主メモリからデータを読み
出すとき、あるいはある主メモリにデータを書き込むと
き、このプロセッサはそのメモリの主メモリ・コントロ
ーラと通信しなければならない。
【0007】装置内の主メモリに加えて、それぞれのプ
ロセッサ・モジュールもまたキャッシュ・メモリを有す
る。かかるキャッシュ・メモリはモジュールによるアク
セスを高速化するために最近用いられたデータを格納す
る。通常、キャッシュ・メモリには最近使用されたデー
タとそれらのデータ項目が格納された関係する主メモリ
のアドレスの両方が格納される。モジュールが主メモリ
内のあるアドレスからデータを探すとき、モジュールは
そのデータに関係付けられたアドレスを用いてそのキャ
ッシュ・メモリにそのデータを要求する。キャッシュ・
メモリはそのアドレスに関係付けられたデータを保持し
ているかどうかをチェックする。保持している場合、キ
ャッシュ・メモリは要求されたデータをプロセッサに直
接返す。キャッシュ・メモリが所望のデータを保持して
いない場合(すなわち「キャッシュ・ミス」が発生した
場合)、通常、正規のメモリ・アクセスが発生する。キ
ャッシュ・メモリは通常主メモリ(一般にはRAM)へ
のアクセスがマイクロプロセッサの速度と比較して遅い
場合に有益である。キャッシュ・メモリは主RAMより
速い。
【0008】それぞれのプロセッサがキャッシュ・メモ
リを有する共有メモリ・マルチプロセッサ装置の場合に
は、状況はキャッシュ・メモリを有する単一プロセッサ
装置より多少複雑である。マルチプロセッサ装置では、
特定の主メモリ・アドレスに対応する現行データを1つ
あるいはそれ以上のキャッシュ・メモリおよび/または
主メモリに格納することができる。キャッシュ・メモリ
内のデータはプロセッサによって操作されて主メモリに
格納された値と異なる値になっている場合がある。した
がって、任意のアドレスについての現行のデータ値が、
データ値がどこにあるかにかかわりなく提供されるよう
に「キャッシュ・コヒーレンシ法」を実行しなければな
らない。
【0009】
【発明が解決しようとする課題】通常のコヒーレンシ法
では、モジュール間で相当な量の通信が行われ、これが
コンピュータに不必要な遅延をもたらすことがある。典
型的なコヒーレンシ法において、あるモジュールがデー
タを要求するとき、キャッシュ・メモリを有するそれぞ
れのモジュールは、そのキャッシュ・メモリの「コヒー
レンシ・チェック」を実行して要求されたアドレスに関
係付けられたデータを持っているかどうかを判定してそ
のコヒーレンシ・チェックの結果を報告すべき旨の通知
を受ける。すると、モジュールはコヒーレンシ・チェッ
クを行い、その結果を報告しなければならない。コヒー
レンシ・チェックの実行すべき旨のモジュールへの通知
およびその結果の報告はいずれも処理遅延を発生させる
ことがある。
【0010】キャッシュ・メモリに要求されたデータを
保持しているかどうかの報告に加えて、それぞれのモジ
ュールは一般にそのキャッシュ・メモリに格納されたデ
ータの状態に関する報告を行う。たとえば、モジュール
がデータのコピーを持っており、そのコピーが「使用」
(すなわち、そのデータはそのモジュールしか利用する
ことができない)である、あるいはそのデータが「共
有」(すなわち、そのデータは2つ以上のキャッシュ・
メモリに同時に存在することができる)であるといった
報告を行うことがある。あるいは、モジュールは、デー
タが「きれい」である(すなわち、主メモリ内の同じア
ドレスのデータと同じである)、あるいは「汚れてい
る」(すなわち、そのデータが獲得された後に操作され
ている)といった報告を行うこともある。通常、専用の
汚れているデータのコピーは常に1つしか存在してはな
らない。一般に、キャッシュ・メモリに格納されたある
特定のデータ・ラインについてのコヒーレンシ状態情報
はそのデータ・ラインに対する「キャッシュ・タグ」と
して知られる1組のフィールドに格納される。
【0011】「コヒーレントなトランザクション」と
は、要求したプロセッサに供給すべきデータのソースを
判定するためにすべてのメモリのチェックを必要とする
任意のトランザクションをいう。コヒーレントなトラン
ザクションは一般に共有メモリ相互接続の任意の利用可
能なサイクル中に発生しうるものである。しかし、モジ
ュールによっては内部的に使用中であり、そのトランザ
クションについてのコヒーレンシ・チェックをただちに
行うことができず、キャッシュ・コヒーレンシ・チェッ
クが完了するのに数サイクルを要する場合がある。コヒ
ーレントなトランザクションが発生する速度に対応する
ために、モジュールがコヒーレンシ・チェックが実行可
能になるまでコヒーレントなトランザクションを格納す
るためのキャッシュ・コヒーレンシを持つこともある。
コヒーレンシ・チェックの実行速度に応じて、特定のモ
ジュールのコヒーレンシ待ちライン列に多数のコヒーレ
ントなトランザクションを格納して、かかるトランザク
ションの実行を比較的長時間にわたって延期することが
できる。
【0012】それぞれのモジュールによって実行される
コヒーレンシ・チェックの結果が分析され、そのデータ
を要求したモジュールに最も新しいデータが提供され
る。たとえば、要求されたデータのコピーを持つキャッ
シュ・メモリがない場合、データは主メモリから供給さ
れる。あるモジュールが専用の操作されたコピーを持っ
ている場合、このコピーは主メモリ・コントローラに返
され、主メモリ・コントローラがこのデータを供給する
か、あるいはこのコピーはキャッシュ間コピーで要求し
たモジュールに直接供給される。データが供給される
と、各モジュールはそれぞれのキャッシュ・メモリも状
態を更新する。たとえば、ある専用のデータ・コピーが
ある特定のモジュールに供給される場合、他のモジュー
ルは通常そのデータのコピーを持っている場合にはそれ
に無効のマークを付ける。
【0013】したがって、不必要な遅延を発生させるこ
となくキャッシュ・コヒーレンシ・チェックを行うこと
のできる、主メモリとキャッシュ・メモリを有するメモ
リが必要とされている。
【0014】したがって、本発明の目的は改良されたコ
ヒーレントなメモリを提供することである。
【0015】本発明の他の目的は、キャッシュ・コヒー
レンシ・チェックが可能であり、コヒーレントなトラン
ザクションに過大な遅延を生じさせない、主メモリおよ
びキャッシュ・メモリを有するメモリを提供することで
ある。
【0016】本発明の以上の目的およびその他の目的は
当業者には、本発明とその実施例に関する以下の詳細な
説明、添付図面および特許請求の範囲から明らかになる
であろう。
【0017】
【課題を解決するための手段】本発明は広義には複製キ
ャッシュ・タグ・メモリを包含する。このメモリは受け
取ったトランザクションに応じてデータを供給する主メ
モリ・コントローラを有する。このメモリはまた2つあ
るいはそれ以上のモジュールを有し、それぞれのモジュ
ールは主メモリ・コントローラによってそのモジュール
に供給されたデータを格納するためのキャッシュ・メモ
リを有する。それぞれのモジュールはメモリ・コントロ
ーラにトランザクションを送ってそのモジュールが必要
とするがそのモジュールのキャッシュ・メモリに格納さ
れていないデータを要求する。
【0018】また、このメモリは主メモリ・コントロー
ラに結合されたキャッシュ・タグ・アレー有する。この
キャッシュ・タグ・アレーは前記のモジュールのキャッ
シュ・メモリのうちの1つに格納されたそれぞれのデー
タ・ラインに対応するキャッシュ・タグを有する。ある
データ・ラインのキャッシュ・タグは主メモリ・コント
ローラに最後にそのデータ・ラインを要求したモジュー
ルを示す。
【0019】好適な実施例においては、かかるキャッシ
ュ・タグはまた関連するデータ・ラインが専用であるが
共有であるかを示す。
【0020】
【実施例】本発明は1つあるいはそれ以上のプロセッサ
・モジュールおよび/または入出力もがキャッシュ・メ
モリを有する共有メモリ・マルチプロセッサ・コンピュ
ータのための改良されたメモリを包含する。本発明によ
れば、それぞれの主メモリの主メモリ・コントローラ
は、キャッシュ・メモリに格納された主メモリからのデ
ータ・ラインの状態に関する現ラインの情報を含む複製
キャッシュ・タグ・アレーを有する。したがって、コヒ
ーレンシ・チェックは主メモリ・コントローラによって
直接実行することができる。これによってそれぞれのプ
ロセッサが、キャッシュ・メモリに個別にコヒーレンシ
・チェックを実行させ、そのコヒーレンシ・チェックの
結果を主メモリ・コントローラに送らせることが不要と
なり、その結果コヒーレントなトランザクションの処理
にかかわる遅延が低減される。
【0021】本発明のメモリを用いたコンピュータを図
1の10に示す。
【0022】コンピュータ10はクロス・バー・スイッ
チ12とクロス・バー・スイッチ12に接続された複数
の構成要素を有するマルチプロセッサ・コンピュータで
ある。かかる構成要素には主メモリ・コントローラ1
4,16、出力モジュール(図示せず)およびモジュー
ルとしてのプロセッサ・モジュール20,22,24が
ある。これらの構成要素はクロス・バー・スイッチ12
上で互いにトランザクションを送出する。
【0023】トランザクションはサイクル中にクロス・
バー・スイッチ12によって授受される。メモリ・コン
トローラ、入出力モジュール、およびプロセッサ・モジ
ュールはそれぞれ、各サイクル中にクロス・バー・スイ
ッチ12上にトランザクションを送りだし、またクロス
・バー・スイッチ12からトランザクションを受け取る
ことができる。
【0024】クロスバースイッチに送られるそれぞれの
トランザクションは、そのトランザクションを送るべき
モジュールを識別し、そのトランザクションをそのモジ
ュールが発した他の未処理のトランザクションと区別す
るためのトランザクション識別情報を含む。トランザク
ションはまたそのトランザクションを送る相手である応
答側モジュールを識別する。クロス・バー・スイッチは
あるサイクル中に受け取ったトランザクションをこの応
答側モジュールに送る。
【0025】応答側モジュールがトランザクションを処
理する速度より高いバースト・トランザクション発行速
度に対処するために、クロス・バー・スイッチ12はそ
れぞれのモジュールに対応する待ちライン列を含む。ク
ロス・バー・スイッチ12によってあるモジュールに送
られるトランザクションはそれぞれのモジュールに対応
する待ちライン列に入れられ、その待ちライン列からモ
ジュールに先入れ先出し(「FIFO」)で送られる。待ち
ライン列30,32,36,38および40は主メモリ
・コントローラ14,16およびプロセッサ・モジュー
ル20,22,24にそれぞれ対応する。
【0026】2つ以上のモジュールがあるサイクル中に
ある特定のモジュールに送る場合に対処するために、そ
れぞれのモジュールに所定の優先順位が割り当てられて
いる。同じサイクル中にクロス・バー・スイッチに置か
れ、同じモジュールを対象とする複数のトランザクショ
ンは、送出側モジュールの優先順位にしたがってこの応
答側のモジュールの待ちライン列に入れられる。したが
って、1つのサイクル中にクロス・バー・スイッチが受
け取った1つの受信側モジュールを対象とする複数のト
ランザクションは、この受信側モジュールに別々のサイ
クル中に送られる。
【0027】主メモリ・コントローラ14および16は
それぞれ、従来の方法で主メモリ15および17から情
報を読み出し、また対応する主メモリに情報を格納する
責任がある。主メモリ・コントローラ14および16は
主メモリ15および17と直接あるいは従来のバスを介
してインターフェースする。
【0028】プロセッサ・モジュール20、22および
24はコンピュータ10の主プロセッサである。このコ
ンピュータのソフトウエアはすべてのプロセッサ上で同
時に実行することができる。
【0029】プロセッサ・モジュール20、22および
24はそれぞれキャッシュ・メモリ50、52および5
4を有する。最近使用されたデータが、そのデータの主
メモリ・アドレスとそのデータのコヒーレンシ状態に関
する情報とともに、キャッシュ・メモリ50、52およ
び54に格納される。主メモリ・アドレスとコヒーレン
シ情報はキャッシュ・メモリに格納されたそれぞれのデ
ータ・ラインに関係付けられた「キャッシュ・タグ」と
みることができる。
【0030】好適な実施例において、それぞれのキャッ
シュ・ライン(すなわち、キャッシュ・メモリに格納さ
れるデータ・ラインのコピー)の状態が「無効」、「専
用」、「共有」、「専用−未処理」、「共有−未処理」
の5つのうちのいずれかとして定義される。「専用」ラ
インは1つのプロセッサ・モジュールのキャッシュ・メ
モリにのみ存在でき、またそのプロセッサ・モジュール
だけが使用できるものである。あるプロセッサ・モジュ
ールが専用データ・ラインを保持している場合、このプ
ロセッサ・モジュールはそのデータ・ラインをそのデー
タの現在の値を表わす任意の方法で用いることができ
る。「共有」ラインは2つ以上のプロセッサ・モジュー
ルのキャッシュに同時に存在することのできるものであ
る。共有とマークされたあるデータ・ラインの現在の値
をあるプロセッサ・モジュールによって変更されるため
には、他のプロセッサ・モジュールの保持する共有され
たコピーが無効とマークされ、そのプロセッサ・モジュ
ールはそのデータ・ラインを専用データ・ラインとして
得なければならない。「無効」とは、そのデータを使用
してはならないことを示す。専用−未処理あるいは共有
−未処理の状態については後に説明する。
【0031】それぞれのプロセッサ・モジュールのキャ
ッシュ・タグに加えて、それぞれの主メモリ・コントロ
ーラはプロセッサ・モジュールの保持するその主メモリ
に関係するそれぞれのキャッシュ・ラインの現在の状態
を格納する複製キャッシュ・タグ・アレーを有する。複
製キャッシュ・タグ・アレー44は主メモリ・コントロ
ーラ14に対応する。複製キャッシュ・タグ・アレー4
6は主メモリ・コントローラ16に対応する。
【0032】それぞれの主メモリに対応する複製キャッ
シュ・タグ・アレーは、キャッシュ・メモリに格納され
たその主メモリからのそれぞれのデータ・ラインに関係
付けられたキャッシュ・タグに対応する「複製キャッシ
ュ・タグ」を含む。複製キャッシュ・タグはそのデータ
に関係付けられる主メモリ・アドレスとそのキャッシュ
・ラインのコヒーレンシ状態を含む。複製キャッシュ・
タグはまたそれぞれのデータ・ラインを有するプロセッ
サを識別する情報あるいはそのラインを要求したプロセ
ッサのトランザクション識別コードを含む。したがっ
て、任意の時にそれぞれの主メモリは常にその主メモリ
に関係するそれぞれのデータ・ラインに関する現在のキ
ャッシュ・コヒーレンシ状態を有する複製キャッシュ・
タグ・アレーへのアクセスを有する。それぞれのモジュ
ールはコヒーレントなトランザクションについてキャッ
シュ・コヒーレンシ・チェックを実行し、またその結果
を主メモリコントローラに報告する必要がない。
【0033】「複製キャッシュ・タグ」は関連するキャ
ッシュ・タグの正確なコピーではないことに注意しなけ
ればならない。むしろ、複製キャッシュ・タグは実際の
キャッシュ・タグに含まれるすべてのコヒーレンシ状態
情報、あるいは後述するように最新の情報を持っていな
ければならないという点においてのみ複製という。
【0034】あるプロセッサ・モジュールがある特定の
データ・ラインのコピーを必要とするとき、このプロセ
ッサ・モジュールはクロス・バー・スイッチ上にそのデ
ータ・ラインを要求する読み出しトランザクションを送
りだす。この読み出しトランザクションはトランザクシ
ョン識別コードを含み、またそのデータの共有コピーが
必要であるのか専用コピーが必要であるのかを指定す
る。読み出し−専用トランザクションはデータの専用コ
ピーに対する要求であり、読み出し−共有トランザクシ
ョンはデータの共有コピーに対する要求である。読み出
しトランザクションは指定されたメモリアドレスを含む
主メモリの主メモリ・コントローラに送られる。
【0035】主メモリ・コントローラは読み出しトラン
ザクションを受け取ると、複製キャッシュ・タグ・アレ
ーをチェックしてそのデータ・ラインがキャッシュ・メ
モリに保持されているか、またそのラインのコヒーレン
シ状態を判定する。そのデータ・ラインを保持するキャ
ッシュ・メモリがない場合、主メモリ・コントローラは
そのラインを主メモリからそれを要求したプロッセサ・
モジュールに供給する。
【0036】そのラインが1つあるいはそれ以上のキャ
ッシュ・メモリに共有されている場合、主メモリ・コン
トローラはそのデータ・ラインを主メモリから供給す
る。共有データが要求されている場合(すなわち、読み
出し−共有トランザクションである場合)、データは単
純にそれを要求したプロッセサ・モジュールに送られ
る。専用データが要求されている場合(すなわち、読み
出し−専用トランザクションである場合)、主メモリ・
コントローラはそのデータを主メモリから供給し、それ
ぞれのプロッセサ・モジュールに対して、そのデータの
共有されたコピーを無効としてマークするように指示す
るパージ・トランザクション(無効化トランザクショ
ン)を送る。本発明のある実施例では、主メモリ・コン
トローラはあるデータ・ラインの共有コピーを有するす
べてのプロッセサ・モジュールを記録しておくことがで
きる。このような実施例では、主メモリ・コントローラ
はそのデータ・ラインの共有コピーを有するプロッセサ
・モジュールにパージ・トランザクションを送るだけで
よい。
【0037】データがあるプロッセサ・モジュールのキ
ャッシュ・メモリに専用として保持されている場合、主
メモリ・コントローラは当該プロッセサ・モジュールに
対して、そのデータを要求している読み出しトランザク
ションのトランザクション識別コードとともにフラッシ
ュ・バック(すなわちデータ返送)トランザクションを
送る。このフラッシュ・バック・トランザクションに応
じて、そのプロッセサ・モジュールはそのデータ・ライ
ンに対する自己のキャッシュ・タグを無効としてマーク
し、そのデータ・ラインを、トランザクション識別コー
ドとともにそれを要求した主メモリ・コントローラに返
送する。主メモリ・コントローラはそのデータ・ライン
を受け取ると、これを要求したプロッセサ・モジュール
に供給し、主メモリ内の関連のアドレスを更新する。
【0038】このフラッシュ・バック・トランザクショ
ンを関係するプロッセサ・モジュールに送るとき、主メ
モリ・コントローラは、要求を出したプロッセサ・モジ
ュールをそのデータ・ラインの所有者とし、また所有権
が未決である、すなわちデータがまだそのラインの所有
者に送られていないことを示すように、自己の複製キャ
ッシュ・タグの状況を更新する。そのデータ・ラインが
専用として要求された場合、その状態は「未処理・専
用」として記録される。そのデータ・ラインが共有とし
て要求された場合、その状態は「未処理・共有」として
記録される。
【0039】そのデータを要求するトランザクションが
他のプロッセサ・モジュールから受け取られないと仮定
すると、この複製キャッシュ・タグはフラッシュ・バッ
クに応答してそのデータがこの主メモリによって受け取
られたとき再度更新される。そのデータ・ラインが専用
として要求された場合、複製キャッシュ・タグは専用・
未処理ではなく専用状態を反映するように更新され、そ
のデータが要求したプロッセサ・モジュールに送られ
る。そのデータ・ラインが共有として要求された場合、
複製キャッシュ・タグは未処理・共有ではなく共有状態
を反映するように更新され、そのデータが要求したプロ
ッセサ・モジュールに送られる。
【0040】フラッシュ・バックに応じてそのデータ・
ラインが受け取られる前にそのデータを要求するトラン
ザクションが別のプロッセサ・モジュールから受け取ら
れた場合、多少異なる処理が必要になる。上述したよう
に、フラッシュ・バックが送られるとき、複製キャッシ
ュ・タグは要求中のプロッセサ・モジュールを現在の所
有者とするように更新され、フラッシュ・バックととも
にそのトランザクション識別コードが送られる。このト
ランザクション識別コードにはまたそのデータが主メモ
リ・コントローラにいつ返送されるかを示すデータが含
まれる。次に説明する理由から、これによって同じデー
タ・ラインに対する複数の要求が未処理である場合に対
処することができる。
【0041】主メモリ・コントローラがデータに対する
第2の要求を受け取ったとき、そのデータの複製キャッ
シュ・タグはすでにそのデータに対する第1の要求に基
づいて未処理状態としてマークされている。第2の要求
の時点で、複製キャッシュ・タグはその新しい要求プロ
セッサ・モジュールとそのデータ要求がこの新しいプロ
セッサ・モジュールによる専用要求であるか共有要求で
あるかを反映するように更新される。第1の要求プロセ
ッサ・モジュールがそのデータを専用として要求した場
合、この第1の要求プロセッサ・プロセッサ・モジュー
ルに対して、そのデータに対する第2の要求を識別する
トランザクション識別コードとともにフラッシュ・バッ
クトランザクションが送られる。第1の要求モジュール
が共有データを要求していた場合、第1の要求プロセッ
サ・モジュールにパージ・トランザクションが送られ
る。第1の要求プロセッサ・モジュールは、要求したデ
ータを受け取り、それを一度用いた後、これらのトラン
ザクションにしたがって動作する。
【0042】第1のデータ要求に対するフラッシュ・バ
ックに応答してデータが主メモリ・コントローラによっ
て受け取られたとき、複製キャッシュ・タグはすでに第
2のデータ要求を反映するように更新されている。しか
し、上述したように、このデータは第1の要求に対する
トランザクション識別コードとともに主メモリ・コント
ローラに返される。このようにして、主メモリ・コント
ローラはそのデータを適切に供給することができる。主
メモリ・コントローラがこのデータを受け取ったとき、
この情報に基づいて第1の要求プロセッサ・モジュール
に送る。さらに、第1の要求プロセッサ・モジュールが
共有データを受け取る場合、このデータは第1の要求プ
ロセッサ・モジュールにも送られる。
【0043】第1の要求プロセッサ・モジュールが専用
データを要求していた場合、そのデータが受け取られる
前に、第1の要求プロセッサ・モジュールはすでにフラ
ッシュ・バック・トランザクションを受け取っている。
この順序の狂ったコマンド・シーケンスは第1の要求プ
ロセッサ・モジュールに対して、第1の要求プロセッサ
・モジュールがそのデータを一度用いることができ、次
にそのデータを主メモリ・コントローラに返送しなけれ
ばならないことを指示するのに用いられる。
【0044】第1の要求プロセッサ・モジュールが共有
データを要求していた場合、そのデータが受け取られる
前に、第1の要求プロセッサ・モジュールはすでにパー
ジ・トランザクションを受け取っている。この順序外の
コマンド・シーケンスは第1の要求プロセッサ・モジュ
ールに対して、それがそのデータを一度用いることがで
き、次にそのコピーを無効とマークしなければならない
ことを指示するのに用いられる。
【0045】前に要求されたデータに対して第3あるい
は後続の要求があった場合、同じ手順が用いられる。複
製キャッシュ・タグはそのデータに対する最新の要求を
反映するように更新される。前の要求者が専用データを
要求したか共有データを要求したかに応じて、前の要求
者にフラッシュ・バックトランザクションあるいはパー
ジ・トランザクションが送られる。前の要求者が共有デ
ータを要求していた場合、主メモリ・コントローラはそ
のデータを受け取るとそれを前の要求者とそれ以後の要
求者の両方に送る。
【0046】本発明の動作の一例として、コンピュータ
10の場合を考察する。各キャッシュ・メモリ50,5
2,および54に対するそれぞれのキャッシュ・タグは
初めに無効としてマークされる。それぞれの複製キャッ
シュ・タグはしたがって無効とマークされる。
【0047】クロス・バー・スイッチ12の1つのサイ
クル中に、プロセッサ・モジュール20は主メモリ・コ
ントローラ14に対して、データ・ライン「A」の専用
コピーを探索中であることを示す読み出し−専用トラン
ザクションを送る。データ・ラインAは主メモリ15に
のみ格納されているため、主メモリ・コントローラ14
は次のサイクル中にデータ・ラインAをプロセッサ・モ
ジュール20に供給し、複製キャッシュ・タグ・アレー
44をデータ・ラインAがプロセッサ・モジュール20
によって専用されることを示すように更新する。
【0048】プロセッサ・モジュール20はデータ・ラ
インAを受け取る。データ・ラインAは、そのデータが
専用に保持されることを示すキャッシュ・タグとともに
キャッシュ・メモリ50に格納される。プロセッサ・モ
ジュール20はそのキャッシュ・メモリ50内のデータ
・ラインAの値を自由に変更することができる。
【0049】次のサイクル中に、プロセッサ・モジュー
ル22が主メモリ・コントローラ14に、データ・ライ
ンAの専用コピーを探索中であることを示す読み出し−
専用トランザクションを送る。主メモリ・コントローラ
14は複製キャッシュ・タグアレー44をチェックして
データ・ラインAがプロセッサ・モジュール20によっ
て専用として保持されていることを判定する。主メモリ
・コントローラ14はプロセッサ・モジュール20に対
してプロセッサ・モジュール20が保持するデータ・ラ
インAの専用コピーを主メモリ・コントローラ14に送
り返すように要求するフラッシュバックA{あるいはイ
ールドA(yield A )}トランザクションを送る。ま
た、プロセッサ・モジュール22によって送られる読み
出し−専用トランザクションを示すトランザクション識
別コードが、このフラッシュ・バック・トランザクショ
ンとともにプロセッサ・モジュール20に送られる。主
メモリ・コントローラ14はまた、プロセッサ・モジュ
ール22が専用・未処理データ・ラインAを所有するこ
とを示すように複製キャッシュ・タグ・アレー44を更
新する。
【0050】プロセッサ・モジュール20はこのフラッ
シュ・バック・トランザクションを受け取ると、主メモ
リ・コントローラ14に対して、プロセッサ・モジュー
ル22の読み出し−専用トランザクションに対するトラ
ンザクション識別コードとともにデータ・ラインAを送
り、そのデータ・ラインAのコピーを無効としてマーク
する。
【0051】データ・ラインAに対する要求がそれ以上
なかったとすると、主メモリ・コントローラ14はデー
タ・ラインAを受け取ったとき、データ・ラインAを、
トランザクション識別コードとともにプロセッサ・モジ
ュール22に送り、複製キャッシュ・タグ・アレー44
をデータ・ラインAがプロセッサ・モジュール22によ
って専用として保持されていることを示すように更新す
る。
【0052】次に、主メモリ・コントローラ14がプロ
セッサ・モジュール20からデータ・ラインAを受け取
る前にプロセッサ・モジュール24がデータ・ラインA
の共有コピーを受け取っていた場合を考える。この場
合、プロセッサ・モジュール24の読み出し−共有トラ
ンザクションが受け取られると、データ・ラインAに対
する複製キャッシュ・タグが、プロセッサ・モジュール
24をデータ・ラインAの所有者として「未処理・共
有」の状態で示すように更新される。プロセッサ・モジ
ュール22に対して、プロセッサ・モジュール24によ
って送られる読み出し−共有トランザクションのトラン
ザクション識別コードとともにフラッシュ・バックが送
られる。
【0053】主メモリ・コントローラ14がプロセッサ
・モジュール20からデータ・ラインAを受け取ると、
データ・ラインAはこのデータとともに返されるトラン
ザクション識別コードに基づいてプロセッサ・モジュー
ル22に送られる。プロセッサ・モジュール22はデー
タ・ラインAを一度用い、次にそれをプロセッサ・モジ
ュール24によって送られた読み出し−共有トランザク
ションのトランザクション識別コードとともに主メモリ
・コントローラ14に返す。プロセッサ・モジュール2
2はまたデータ・ラインAのそのコピーをマークする。
【0054】主メモリ・コントローラ14はプロセッサ
・モジュール22からデータ・ラインAを受け取ると、
データ・ラインAをプロセッサ・モジュール24に送
る。主メモリ・コントローラ14はまたデータ・ライン
Aに対する複製キャッシュ・タグを、それがプロセッサ
・モジュール24に共有されていることを示すように更
新する。プロセッサ・モジュール24のキャッシュ・メ
モリ54は、データ・ラインAとそのデータが共有され
ていることを示すキャッシュ・タグによって更新され
る。
【0055】当業者には、データの専用コピーが関係す
る主メモリ・コントローラによって受け取られるたび
に、主メモリをデータの現在の値に更新することができ
ることが理解されるであろう。
【0056】本発明をキャッシュ・メモリを有するプロ
セッサ・モジュールを用いて説明したが、これは例とし
て掲げたに過ぎない。本発明はキャッシュ・メモリを有
する入出力モジュール等の他の任意の種類のモジュール
に適用することが可能であることは当業者には明らかで
あろう。
【0057】当業者には以上の説明と添付図面から本発
明にさまざまな変更を加えうることは明らかであろう。
したがって、本発明は特許請求の範囲によってのみ限定
されるものである。
【0058】以上、本発明の各実施例について詳述した
が、ここで各実施例の理解を容易にするために、各実施
例ごとに要約して以下に列挙する。
【0059】1. 受け取ったトランザクションに応じ
てデータを供給する主メモリコントローラ(14,1
6)、それぞれが、前記主メモリコントローラ(14,
16)によってそれに供給されるデータを格納するため
のキャッシュ・メモリ(50,52,54)を有し、ま
たそれぞれが前記主メモリ・コントローラ(14,1
6)にトランザクションを送ってそれが必要としそのキ
ャッシュ・メモリには格納されていないデータを要求す
る複数のモジュール(20,22,24)、および前記
主メモリ・コントローラ(14,16)に接続されたキ
ャッシュ・タグ・アレー(44,46)であって、前記
モジュール(20,22,24)の前記キャッシュ・メ
モリ(50,52,54)の1つに格納されたそれぞれ
のデータ・ラインに対するキャッシュ・タグを含み、前
記キャッシュ・タグが前記主メモリ・コントローラ(1
4,16)に対して前記データ・ラインを要求した最後
のモジュールを示すキャッシュ・タグ・アレー(44,
46)からなるメモリである。
【0060】2・ 前記キャッシュ・タグ・アレー(4
4、46)は前記のキャッシュ・メモリ(50,52,
54)の1つに格納された前記データ・ラインのキャッ
シュ・コヒーレンシ状況を示す情報を含む上記1に記載
のメモリである。
【0061】3. データを要求する前記トランザクシ
ョンのそれぞれは、前記トランザクションによって要求
されたデータに対する所望の転送先モジュールを示す転
送先符号を含み、前記主メモリ・コントローラ(14,
16)は要求されたデータを前記の転送先符号によって
示される転送先モジュールに送る上記1に記載のメモリ
である。
【0062】4. 前記主メモリ・コントローラ(1
4,16)は、あるモジュールのあるキャッシュ・メモ
リ内に専用として保持されているデータ・ラインを要求
するトランザクションを受け取ると、前記のモジュール
にデータ返送トランザクションを送って前記モジュール
に前記データ・ラインを前記主メモリ・コントローラ
(14,16)に返送させ、その後前記主メモリ・コン
トローラ(14,16)は前記のデータ・ラインを前記
の転送先モジュールに送る上記3に記載のメモリであ
る。
【0063】5. 前記データ返送トランザクションは
前記転送先符号を含み、前記データ・ラインは前記転送
先符号とともに前記主メモリ・コントローラ(14,1
6)に返送される上記5に記載のメモリである。
【0064】6. 前記モジュールが前記データ・ライ
ンを受け取る前にある選択されたデータ・ラインに対す
るデータ返送トランザクションを受け取るモジュールは
前記データ・ラインを受け取ると前記データ・ラインを
返送する前に前記データ・ラインを一度用いて処理を実
行することができる上記5に記載のメモリである。
【0065】
【発明の効果】以上のように本発明によれば、複数のモ
ジュールから受け取ったトランザクションに応じて主メ
ッモリ・コントローラは主メモリからデータを読み取
り、その読み取ったデータをモジュールに供給し、モジ
ュールはそのデータを自己に所属するキャッシュ・メモ
リに格納し、このキャッシュ・メモリの一つに格納され
たデータ・ラインに対するキャッシュ・タグが主メモリ
・コントローラに対してデータ・ラインを要求した最後
のモジュールを示すようにしたので、キャッシュ・コヒ
ーレンシ・チェックが可能であり、コヒーレントなトラ
ンザクションに過大な遅延を生じさせない主メモリおよ
びキャッシュ・メモリを有するメモリを得ることができ
る。
【図面の簡単な説明】
【図1】本発明の複製キャッシュ・タグ・メモリを用い
たコンピュータの一実施例を示すブロック図である。
【符号の説明】
10 コンピュータ 12 クロス・バー・スイッチ 14,16 主メモリ・コントローラ 15,17 主メモリ 20,22,24 プロセッサ・モジュール 30,32,36,38,40 待ちライン列 44,46 複製キャッシュ・タグ・アレー 50,52,54 キャッシュ・メモリ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 受け取ったトランザクションに応じてデ
    ータを供給する主メモリ・コントローラ(14,1
    6)、 それぞれが、前記主メモリ・コントローラ(14,1
    6)によってそれに供給されるデータを格納するための
    キャッシュ・メモリ(50,52,54)を有し、また
    それぞれが前記主メモリ・コントローラ(14,16)
    にトランザクションを送ってそれが必要としそのキャッ
    シュ・メモリには格納されていないデータを要求する複
    数のモジュール(20,22,24)、および前記主メ
    モリ・コントローラ(14,16)に接続されたキャッ
    シュ・タグ・アレー(44,46)であって、前記モジ
    ュール(20,22,24)の前記キャッシュ・メモリ
    (50,52,54)の1つに格納されたそれぞれのデ
    ータ・ラインに対するキャッシュ・タグを含み、前記キ
    ャッシュ・タグが前記主メモリ・コントローラ(14,
    16)に対して前記データ・ラインを要求した最後のモ
    ジュールを示すキャッシュ・タグ・アレー(44,4
    6)からなるメモリ。
JP10672395A 1994-05-03 1995-04-28 マルチプロセッサコンピュータシステム Expired - Fee Related JP3729891B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23654194A 1994-05-03 1994-05-03
US236-541 1994-05-03

Publications (2)

Publication Number Publication Date
JPH086855A true JPH086855A (ja) 1996-01-12
JP3729891B2 JP3729891B2 (ja) 2005-12-21

Family

ID=22889948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10672395A Expired - Fee Related JP3729891B2 (ja) 1994-05-03 1995-04-28 マルチプロセッサコンピュータシステム

Country Status (4)

Country Link
US (1) US5737757A (ja)
EP (1) EP0681240B1 (ja)
JP (1) JP3729891B2 (ja)
DE (1) DE69519816T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007099583A1 (ja) * 2006-02-28 2007-09-07 Fujitsu Limited システムコントローラおよびキャッシュ制御方法
JP2010259045A (ja) * 2009-04-27 2010-11-11 Lsi Corp バッファ付きクロスバー・スイッチ・システム

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3856341B2 (ja) * 1995-03-20 2006-12-13 リコープリンティングシステムズ株式会社 インタフェース制御方式
JP3210590B2 (ja) * 1996-11-29 2001-09-17 株式会社日立製作所 マルチプロセッサシステムおよびキャッシュコヒーレンシ制御方法
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
US6122711A (en) * 1997-01-07 2000-09-19 Unisys Corporation Method of and apparatus for store-in second level cache flush
US5978886A (en) * 1997-01-17 1999-11-02 Hewlett-Packard Company Method and apparatus for duplicating tag systems to maintain addresses of CPU data stored in write buffers external to a cache
US5963977A (en) * 1997-10-09 1999-10-05 Quantum Corporation Buffer management and system coordination method
US6122714A (en) * 1997-10-24 2000-09-19 Compaq Computer Corp. Order supporting mechanisms for use in a switch-based multi-processor system
US6108752A (en) * 1997-10-24 2000-08-22 Compaq Computer Corporation Method and apparatus for delaying victim writes in a switch-based multi-processor system to maintain data coherency
US6154816A (en) * 1997-10-24 2000-11-28 Compaq Computer Corp. Low occupancy protocol for managing concurrent transactions with dependencies
US6272603B1 (en) 1998-02-17 2001-08-07 International Business Machines Corporation Cache coherency protocol having hovering (H), recent (R), and tagged (T) states
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
US6292872B1 (en) 1998-02-17 2001-09-18 International Business Machines Corporation Cache coherency protocol having hovering (H) and recent (R) states
JP2001167077A (ja) * 1999-12-09 2001-06-22 Nec Kofu Ltd ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体
US6463506B1 (en) * 2000-04-29 2002-10-08 Hewlett-Packard Company Arrangement of data within cache lines so that tags are first data received
GB0015276D0 (en) * 2000-06-23 2000-08-16 Smith Neale B Coherence free cache
US20030167379A1 (en) * 2002-03-01 2003-09-04 Soltis Donald Charles Apparatus and methods for interfacing with cache memory
US7017054B2 (en) * 2002-07-02 2006-03-21 Dell Products L.P. Mirrored tag snoop optimization
US7103728B2 (en) * 2002-07-23 2006-09-05 Hewlett-Packard Development Company, L.P. System and method for memory migration in distributed-memory multi-processor systems
US20040022022A1 (en) * 2002-08-02 2004-02-05 Voge Brendan A. Modular system customized by system backplane
US6931489B2 (en) * 2002-08-12 2005-08-16 Hewlett-Packard Development Company, L.P. Apparatus and methods for sharing cache among processors
US6892290B2 (en) * 2002-10-03 2005-05-10 Hewlett-Packard Development Company, L.P. Linked-list early race resolution mechanism
US6990559B2 (en) * 2002-10-03 2006-01-24 Hewlett-Packard Development Company, L.P. Mechanism for resolving ambiguous invalidates in a computer system
US6895476B2 (en) * 2002-10-03 2005-05-17 Hewlett-Packard Development Company, L.P. Retry-based late race resolution mechanism for a computer system
US7024520B2 (en) * 2002-10-03 2006-04-04 Hewlett-Packard Development Company, L.P. System and method enabling efficient cache line reuse in a computer system
US7051163B2 (en) * 2002-10-03 2006-05-23 Hewlett-Packard Development Company, L.P. Directory structure permitting efficient write-backs in a shared memory computer system
US7003635B2 (en) * 2002-10-03 2006-02-21 Hewlett-Packard Development Company, L.P. Generalized active inheritance consistency mechanism having linked writes
US7000080B2 (en) * 2002-10-03 2006-02-14 Hewlett-Packard Development Company, L.P. Channel-based late race resolution mechanism for a computer system
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7051166B2 (en) * 2003-04-21 2006-05-23 Hewlett-Packard Development Company, L.P. Directory-based cache coherency scheme for reducing memory bandwidth loss
JP4362454B2 (ja) * 2005-04-07 2009-11-11 富士通株式会社 キャッシュコヒーレンス管理装置およびキャッシュコヒーレンス管理方法
US8291174B2 (en) 2007-08-15 2012-10-16 Micron Technology, Inc. Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same
US7822911B2 (en) * 2007-08-15 2010-10-26 Micron Technology, Inc. Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same
US8055852B2 (en) 2007-08-15 2011-11-08 Micron Technology, Inc. Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
US7991963B2 (en) * 2007-12-31 2011-08-02 Intel Corporation In-memory, in-page directory cache coherency scheme
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58225432A (ja) * 1982-06-24 1983-12-27 Toshiba Corp 要求バツフア装置
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
US4959777A (en) * 1987-07-27 1990-09-25 Motorola Computer X Write-shared cache circuit for multiprocessor system
US4989131A (en) * 1988-07-26 1991-01-29 International Business Machines Corporation Technique for parallel synchronization
US5197146A (en) * 1989-06-21 1993-03-23 Hewlett-Packard Company Method for maintaining cache coherence in a multiprocessor computer system
US5230070A (en) * 1989-09-08 1993-07-20 International Business Machines Corporation Access authorization table for multi-processor caches
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5303362A (en) * 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols
US5237673A (en) * 1991-03-20 1993-08-17 Digital Equipment Corporation Memory management method for coupled memory multiprocessor systems
US5490261A (en) * 1991-04-03 1996-02-06 International Business Machines Corporation Interlock for controlling processor ownership of pipelined data for a store in cache
US5313609A (en) * 1991-05-23 1994-05-17 International Business Machines Corporation Optimum write-back strategy for directory-based cache coherence protocols
US5388224A (en) * 1992-04-24 1995-02-07 Digital Equipment Corporation Processor identification mechanism for a multiprocessor system
US5319766A (en) * 1992-04-24 1994-06-07 Digital Equipment Corporation Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007099583A1 (ja) * 2006-02-28 2007-09-07 Fujitsu Limited システムコントローラおよびキャッシュ制御方法
US8327081B2 (en) 2006-02-28 2012-12-04 Fujitsu Limited Information processing device and method for controlling the same
JP2010259045A (ja) * 2009-04-27 2010-11-11 Lsi Corp バッファ付きクロスバー・スイッチ・システム

Also Published As

Publication number Publication date
JP3729891B2 (ja) 2005-12-21
US5737757A (en) 1998-04-07
EP0681240B1 (en) 2001-01-10
DE69519816T2 (de) 2001-09-20
EP0681240A3 (en) 1997-01-08
DE69519816D1 (de) 2001-02-15
EP0681240A2 (en) 1995-11-08

Similar Documents

Publication Publication Date Title
JPH086855A (ja) メモリ
JP3529566B2 (ja) 情報処理方法および装置
JP3640997B2 (ja) データ処理システム
US5537575A (en) System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information
EP0735480B1 (en) Cache coherent computer system that minimizes invalidation and copyback operations
US5490253A (en) Multiprocessor system using odd/even data buses with a timeshared address bus
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
JP3317329B2 (ja) 逐次符号化スヌープ応答を使用してキャッシュの一貫性を保つ方法およびシステム
US6189078B1 (en) System and method for increasing data transfer throughput for cache purge transactions using multiple data response indicators to maintain processor consistency
US7284097B2 (en) Modified-invalid cache state to reduce cache-to-cache data transfer operations for speculatively-issued full cache line writes
US6397302B1 (en) Method and apparatus for developing multiprocessor cache control protocols by presenting a clean victim signal to an external system
US6871267B2 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
JPH07306810A (ja) 待ち行列ベースの予測型フロー制御機構
US5765196A (en) System and method for servicing copyback requests in a multiprocessor system with a shared memory
US5559987A (en) Method and apparatus for updating a duplicate tag status in a snoop bus protocol based computer system
US5895484A (en) Method and system for speculatively accessing cache memory data within a multiprocessor data-processing system using a cache controller
US5655103A (en) System and method for handling stale data in a multiprocessor system
US7533223B1 (en) System and method for handling memory requests in a multiprocessor shared memory system
US7519780B2 (en) System and method for reducing store latency in symmetrical multiprocessor systems
US6035376A (en) System and method for changing the states of directory-based caches and memories from read/write to read-only
US5586274A (en) Atomic operation control scheme
US5924118A (en) Method and system for speculatively sourcing cache memory data prior to upstream cache invalidation within a multiprocessor data-processing system
US6055608A (en) Method and system for speculatively sourcing cache memory data within a multiprocessor data-processing system
JP2000132531A (ja) マルチプロセッサ
US5907853A (en) Method and apparatus for maintaining duplicate cache tags with selectable width

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041210

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051005

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees