JPH1115734A - キャッシュシステム - Google Patents

キャッシュシステム

Info

Publication number
JPH1115734A
JPH1115734A JP9162860A JP16286097A JPH1115734A JP H1115734 A JPH1115734 A JP H1115734A JP 9162860 A JP9162860 A JP 9162860A JP 16286097 A JP16286097 A JP 16286097A JP H1115734 A JPH1115734 A JP H1115734A
Authority
JP
Japan
Prior art keywords
bus
cache
store
request
reply
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
JP9162860A
Other languages
English (en)
Other versions
JP3288261B2 (ja
Inventor
Takahiro Tanioka
隆浩 谷岡
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP16286097A priority Critical patent/JP3288261B2/ja
Priority to US09/099,533 priority patent/US6173370B1/en
Priority to FR9807698A priority patent/FR2765004B1/fr
Publication of JPH1115734A publication Critical patent/JPH1115734A/ja
Application granted granted Critical
Publication of JP3288261B2 publication Critical patent/JP3288261B2/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/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration

Abstract

(57)【要約】 【課題】 バスブリッジによって3本以上のシステムバ
スを接続したバス階層の上に複数のストアインキャッシ
ュを接続して構成したキャッシュシステムにおいて、キ
ャッシュコヒーレンシを維持し、高速な主記憶アクセス
手段を提供する。 【解決手段】 バスブリッジ120はローカルバス11
0へ送出するコマンドを保持するLバスコマンドバッフ
ァ151と,グローバルバス5へ送出するコマンドを保
持するGバスコマンドバッファ152と,前記ローカル
バスから受信したリクエストを一時保持するリクエスト
コピーバッファ154と,前記ローカルバスに接続され
たストアインキャッシュの状態を示すタグのコピーを格
納するCTAGメモリ153と、受信したリクエストに
対応して前記CTAGメモリを参照しストアの競合を回
避するように最適なコマンドを送出するバスブリッジ制
御回路150とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はキャッシュシステム
に関し、特にバスブリッジによって接続され階層化され
たバス上に構成されたキャッシュシステムに関する。
【0002】
【従来の技術】共有メモリ型のマルチプロセッサシステ
ムを拡張するための手段として、複数のシステムバスを
バスブリッジによって接続することにより、マルチプロ
セッサシステムの拡張性を高めるという方法は、従来か
ら多くの方式が開示されている。
【0003】たとえば、特開平8−297642号公報
記載の共有メモリ型マルチプロセッサシステムでは、デ
ィレクトリと呼ばれる一種のバスブリッジによって2本
のシステムバスを接続し、さらにストアインキャッシュ
のコヒーレンシを保証するための技術を開示している。
【0004】これに依れば、ディレクトリによって接続
される2本のシステムバスのバスサイクルを互いに半サ
イクルずつずらして同期することにより、これらのバス
の間でリクエストアドレスの競合を検出した場合に、時
間的に遅れて送出された方のリクエストをキャンセル
し、先行したリクエストを他方のシステムバスへ優先的
に転送することにより、双方のシステムバス間で書き込
みが競合した場合のキャッシュコヒーレンシを維持して
いる。
【0005】また、読み出しにあたっては、他のキャッ
シュから主記憶と一致しない(ダーティな)データを取
得する場合を除いて、必ず主記憶から取得する方式をと
っている。このため、同一のバス内に主記憶と一致する
(クリーンな)データが存在する場合でも、バスブリッ
ジを経由して他のシステムバスに接続された主記憶から
データを取得しなければならない場合がある。
【0006】また、特開平6−110844号公報記載
の分散共有メモリ型マルチプロセッサシステムでは、C
PUキャッシュメモリと主記憶が接続された内部バスと
共有バスが共有管理部と呼ばれるバスブリッジによって
接続される。
【0007】これに依れば、共有管理部には配下のキャ
ッシュメモリの状態を記憶するキャッシュ状態タグメモ
リを備える。書き込みを行う時に、共有管理部はこのタ
グメモリの内容を参照し、ブロックが共有状態にあれば
共有バスを通じて他の共有管理部へ無効化命令を送出
し、キャッシュコヒーレンシを維持する。
【0008】
【発明が解決しようとする課題】上記した従来のキャッ
シュシステムは次の問題点を有している。
【0009】第1の問題点は、3本以上のシステムバス
を接続したマルチプロセッサシステムを構築した場合
に、書き込みの競合が回避できないことである。
【0010】すなわち、特開平8−297642号公報
記載の共有メモリ型マルチプロセッサシステムにおいて
は、接続された3本のシステムバスのうち、両端のバス
に接続されるキャッシュ間で同時にストアが行われた場
合のキャッシュコヒーレンシを保証できない。
【0011】また、特開平6−110844号公報記載
の分散メモリ型マルチプロセッサシステムにおいては、
書き込み時に共有管理部のキャッシュ状態タグメモリの
状態を参照し共有バスへ無効化命令を送出するが、共有
バス上で無効化命令が競合した場合にキャッシュコヒー
レンシを維持する方法は開示されていない。
【0012】第2の問題点は、主記憶と一致する(クリ
ーンな)データを取得する場合に必ず主記憶からデータ
を取得するので、性能上不利になることがある。
【0013】この問題は、データの要求元から見て主記
憶より近い場所に主記憶と一致するデータを保持するキ
ャッシュが存在する場合には、そのキャッシュからデー
タを取得することで解決できる。しかしその場合、バス
ブリッジはキャッシュのタグと完全に一致するコピーを
備えるか、一方のシステムバス上に送出された読み出し
リクエストを他方のシステムバスへ転送するのをキャッ
シュの索引結果が判明するまで待たなければならないと
いう新たな問題が生じる。
【0014】本発明の目的は、上記の問題点を改善する
ために、3本以上のシステムバスをバスブリッジによっ
て接続し、その上にストアインキャッシュを接続して構
成したキャッシュシステムにおいて、離れたバス階層間
でのストアの競合を回避し、システム全体のキャッシュ
コヒーレンシを維持するとともに、キャッシュへ主記憶
と一致するデータを高速に取り込むことができるキャッ
シュシステムを提供することである。
【0015】
【課題を解決するための手段】本発明のキャッシュシス
テムは、複数の中央処理装置と複数の主記憶装置とが一
つのグローバルバスを介して接続された情報処理システ
ムにおいて、前記中央処理装置は複数のストアインキャ
ッシュと、前記複数のストアインキャッシュを接続する
ローカルバスと、前記ローカルバスと前記グローバルバ
スとを接続するバスブリッジとを含み、前記バスブリッ
ジは前記複数のストアインキャッシュの状態を監視し、
前記ローカルバスおよび前記グローバルバスから取り込
むリクエストによるストアの競合を回避し、同一のデー
タによる多重の書き込みを抑止するようにして構成され
る。
【0016】また、本発明のキャッシュシステムにおい
て、前記バスブリッジはローカルバスへ送出するコマン
ドを保持するLバスコマンドバッファと、グローバルバ
スへ送出するコマンドを保持するGバスコマンドバッフ
ァと、前記ローカルバスから受信したリクエストを一時
保持するリクエストコピーバッファと、前記ローカルバ
スに接続されたストアインキャッシュの状態を示すタグ
のコピーを格納するCTAGメモリと、受信したリクエ
ストに対応して前記CTAGメモリを参照しストアの競
合を回避するように最適なコマンドを送出するバスブリ
ッジ制御回路とを備えて構成される。
【0017】また、本発明のキャッシュシステムは、前
記ローカルバスにブロックリードリクエストが送出され
た時に前記複数のストアインキャッシュの各々がキャッ
シュのタグを索引した結果をバスサイクルの特定のタイ
ミングで他のストアインキャッシュおよび前記バスブリ
ッジに通知する第1の通知手段と、前記ローカルバスか
ら受信した前記ブロックリードリクエストによって前記
タグのコピーを参照し,前記ブロックリードリクエスト
を前記グローバルバスに送出し,リプライを送出すべき
場合にその旨を前記複数のストアインキャッシュに通知
する第2の通知手段とを備え、さらに、前記第2の通知
手段により前記バスブリッジがリプライを送出すること
を通知した場合には、前記第1の通知手段による情報に
依らずリプライを送出することを決定し、前記第2の通
知手段により前記バスブリッジがリプライ送出すること
を通知しておらず、かつ前記第1の通知手段により何れ
かのストアインキャッシュに所望のデータが存在するこ
とが判明した場合には、前記データを持つストアインキ
ャッシュの中からリプライを送出するストアインキャッ
シュを決定し、前記第2の通知手段により前記バスブリ
ッジがリプライ送出することを通知しておらず、かつ前
記第1の通知手段により何れのストアインキャッシュに
も所望のデータが存在しないことが判明した場合には、
前記バスブリッジがリプライ送出することを決定するリ
プライ調停手段を備えて構成される。
【0018】さらに、本発明のキャッシュシステムにお
いて、前記第2の通知手段により前記バスブリッジが前
記ブロックリードリクエストを前記グローバルバスへ送
出しないことを通知し、かつ前記第1の通知手段により
何れの前記ストアインキャッシュも所望のデータを持た
ないことが判明した場合、前記リクエストコピーバッフ
ァから取り出した前記ブロックリードリクエストを前記
グローバルバスへ送出する。
【0019】さらに、本発明のキャッシュシステムにお
いて、前記タグのコピーは、無効(I),主記憶と一致
・排他(CE),主記憶と一致・共有(CS),主記憶
と不一致・排他(D)のいずれかの状態を示し、前記バ
スブリッジは、前記ローカルバスから排他ブロックリー
ドリクエストを受信した場合、前記タグのコピーが前記
Iもしくは前記CSであるときに前記排他ブロックリー
ドを前記グローバルバスへ送出することを決定し、前記
第2の通知手段および前記リプライ調停手段により前記
排他ブロックリードのリプライ送出権を獲得する。
【0020】さらに、本発明のキャッシュシステムにお
いて、前記ローカルバスは、他のストアインキャッシュ
のデータの無効化を指示する無効化リクエストと、前記
ローカルバスのバスサイクルの特定のタイミングでキャ
ンセル信号をリクエスト送出元へ通知することにより送
出中のリクエストの実行を中断し、かつ前記リクエスト
送出元に前記リクエストを再送出させるキャンセル手段
を備え、前記バスブリッジは、前記ローカルバスから特
定のストアインキャッシュのデータの無効化を指示する
無効化リクエストを受信した場合、前記タグのコピーが
前記Iもしくは前記CSであるときには前記無効化リク
エストを前記グローバルバスへ送出することを決定し、
かつ前記無効化リクエストを前記グローバルバスへ送出
し終わるまで前記ローカルバス上の前記無効化リクエス
トをキャンセルし続けて、リクエスト送出元のストアイ
ンキャッシュへのストアの完了を抑止する。
【0021】すなわち、本発明によるキャッシュシステ
ムは、バスブリッジが配下のローカルバス(以下、Lバ
スという。)に接続されるストアインキャッシュのタグ
のコピー(以下、CTAGという。)を備える。CTA
Gはキャッシュのブロックの状態が無効(以下、Iとい
う。),主記憶と一致・排他(以下、CEという。),
主記憶と一致・共有(以下、CSという。),主記憶と
不一致・排他(以下、Dという。)の4状態を持つ。C
TAGはLバスとグローバルバス(以下、Gバスとい
う。)のリクエストを監視し、配下のLバスに接続され
るキャッシュのタグのコピーとなるように管理される
が、例外的にキャッシュに有効なブロックが存在しない
とき、CTAGの値がCEまたはCSとなるような不一
致のみ許容している。
【0022】さらに、バスブリッジはLバスから受信し
た共有ブロックリード(以下、SBRという。)と排他
ブロックリード(以下、EBRという。)を一時的に格
納するリクエストコピーバッファを備える。
【0023】LバスからEBRリクエストを受信した場
合にバスブリッジはCTAGを索引し、ブロックの状態
がIもしくはCSの場合にEBRをGバスへ送出する。
Gバス上で同一アドレスへの他のストア(EBRやIN
V(無効化。以下、INVという。))と競合して他の
ストアが先行した場合、後続のEBRは先行のEBRや
INVによるストアが完了したブロックを取得するた
め、キャッシュの一貫性を保つことが出来る。
【0024】さらに、LバスからINVリクエストを受
信した場合、バスブリッジはCTAGを索引し、ブロッ
クの状態がIもしくはCSの場合にINVをGバスへ送
出し、同時にGバスへのINV送出が完了するまでLバ
ス側からのINVをキャンセルし続けることによりスト
アインキャッシュへのストアを抑止する。Gバス上で同
一アドレスの他のストア(EBRやINV)と競合して
他のストアが先行した場合、INVの送出を中止してL
バス側のINVをキャンセルし続けることにより、先行
するGバス上のストア(EBRやINV)によるINV
をLバスへ送出することにより、キャッシュの一貫性を
保つことが出来る。
【0025】また、LバスからSBRやEBRを受信し
た場合、CTAGを索引した結果、ブロックの状態がS
BRであればD・CE・CSの何れか、EBRであれば
D・CEの何れかだったならば、バスブリッジはそのリ
クエストをGバスへ送出する必要がないものとして破棄
するが、その後Lバス上の何れのキャッシュにも所望の
ブロックが存在しないことが判明した場合、リクエスト
コピーバッファから取り出したリクエストが再び投入さ
れてGバスへ送出される。これにより、キャッシュのタ
グとCTAGの状態が整合・不整合に関わらず、SBR
やEBRの送出元のストアインキャッシュが最も近い場
所から適切な時間内にデータを取得することが可能にな
る。
【0026】
【発明の実施の形態】以下、本発明について図面を参照
しながら説明する。
【0027】図1は本発明の実施の一形態を示す説明図
である。同図において、本発明によるキャッシュシステ
ムは、複数の中央処理装置(以下、CPUという。)1
および2と複数の主記憶装置(以下、MMUという。)
3および4とが一つのGバス5を介して接続された情報
処理システムにおいて、CPU1は複数のストアインキ
ャッシュ(以下、SICという。)101〜104と、
前記複数のSICを接続するLバス110と、前記Lバ
スと前記Gバスとを接続するバスブリッジ120とを含
み、同様にしてCPU2はSIC201〜204と,L
バス210と,バスブリッジ220とを含む。
【0028】ここで、SIC101〜104,Lバス1
01,バスブリッジ120は同一のパッケージ(CPU
1)上に実装され、SIC201〜204,Lバス21
0,バスブリッジ220も同様にCPU2の上に実装さ
れており、前述のCPU1および2とMMU3および4
はパッケージ単位でGバスに接続される。
【0029】なお、Lバスに接続されるSICの数やG
バスに接続されるCPUやMMUの数は、LSIのドラ
イバの駆動能力やバスの動作周波数との兼ね合いで決定
されるべきものなので、ここに記載した構成に特に限定
されるものではない。
【0030】また、図中には記載していないが、SIC
には一つ以上のプロセッサが接続されている。一般にプ
ロセッサには一次キャッシュを内蔵している場合が多い
が、一次キャッシュの構成やSICに接続されるプロセ
ッサの数等は本発明の効果に影響するものではないの
で、詳細には示さない。
【0031】次に、LバスおよびGバスの動作について
詳細に説明する。上記のLバスおよびGバスは同一のバ
スプロトコルに従って動作するスプリットトランザクシ
ョン方式のバスである。また、アドレス線とデータ線を
分離し、それぞれ独立して動作させることが可能であ
る。以後特に必要な場合に限って、これらをアドレスバ
ス,データバスと区別して記載する。また、アドレスバ
ス上で動作するコマンドはアドレスバスコマンド,デー
タバス上で操作するコマンドはデータバスコマンドと記
載する。さらに、キャッシュへの読み込み動作のよう
に、要求と応答が組になっているような動作の場合、こ
れらを区別するために特にリクエスト,リプライと記載
することがある。
【0032】表1にアドレスバスコマンドの動作タイミ
ングを示す。バスのステート1〜5は、バス動作中には
クロックに同期して常時カウントされているタイミング
信号である。また、ステート1〜5の期間を指して特に
バスサイクルと表記する。
【0033】
【表1】
【0034】アドレスバスコマンドはREQにステージ
からOWNステージまでの10ステージで実行される。
各ステージの実行タイミングはバスのステート1〜5に
完全に同期している。
【0035】また、アドレスバスコマンドはバスサイク
ル毎にオーバーラップして動作することが可能である。
例えば、先行するコマンドのキャンセル(CAN)ステ
ージでは、直後のバスサイクルのリクエスト(REQ)
ステージが開始される。
【0036】ここで本発明の効果を得るために重要な役
割をもつCANステージとOWNステージについて説明
する。まず、CANステージで送出されるアドレスバス
コマンドキャンセル(ACAN)は、実行中のアドレス
バスコマンドが何らかの理由で実行できない場合に送出
する信号である。送出するのは、バス上に接続された何
れのノードでも構わない。コマンドはACANが何れの
ノードからも送出されなかった場合にのみ送出を完了す
る約束になっているので、リクエスト送出元(リクエス
タ)はコマンドがACANされた場合にはコマンドの送
出を取りやめるか、コマンドがACANされなくなるま
で再送出を繰り返さなければならない。
【0037】OWNステージでは、コマンドがSBRや
EBRの場合にキャッシュやCTAGを索引した結果に
より、OWN(I),OWN(C),OWN(D)の3
種類の情報を伝達する。バス上のノードは、このOWN
の値を監視してSICやCTAGの登録を行ったり、リ
プライを送出するノード(リプライヤ)の決定を行う。
Lバス上でこのようなリプライヤを決定する手順をリプ
ライ調停と呼ぶ。
【0038】Lバスでのリプライ調停の手順を表2にま
とめてある。ここで注意すべきことは、バスブリッジが
リプライ権の獲得に関して優先権を持っていることと、
何れのノードからの出力もOWN(I)だった場合には
バスブリッジがリプライヤになると言う事である。
【0039】
【表2】
【0040】Gバス側では、OWN(D)を送出したノ
ードがリプライヤとなる。詳細は後述するが、Gバス上
では複数のノードが同時にOWN(D)を送出すること
は無いからである。それ以外の場合は送出される値がO
WN(C),OWN(I)に関わらず常に主記憶装置が
リプライヤとなる。
【0041】続いて、表3にデータバスコマンドの動作
タイミングを示す。アドレスバスコマンドと同様に、R
EQステージからD3ステージまでの全8ステージが、
バスのステート1〜5に同期して実行される。また、ア
ドレスバスコマンドと同様に、バスサイクル毎にオーバ
ーラップして動作することが可能である。
【0042】
【表3】
【0043】また、本発明のようなスプリットトランザ
クション方式のバスでは、通常、リクエストとリプライ
の関連づけを行うために、バス上のノードにそれぞれリ
ードリソース管理テーブル(以下、RRMTという。)
等と呼ばれるテーブルを備えている。リードリクエスト
(SBRやEBR)をバスに送出するとき、リクエスト
は固有のID番号を付与され、RRMTに登録される。
リプライ送出元(リプライヤ)はリプライを送出すると
きに対応するリクエストのID番号を付してリクエスト
送出元(リクエスタ)へ返却する(表3のRIDステー
ジ)ので、リクエスタはデータバス上に送出されたリプ
ライがどのリクエストに対応するものであるかを判断で
きるようになっている。
【0044】また、RRMTにはもう一つの働きがあっ
て、リクエスト送出時にリクエストのID番号とともに
リクエストアドレスを保持しておき、リプライが返却さ
れるまでの間に他のノードから同じアドレスに対するメ
モリアクセスを抑止する為に用いる。これによって同一
アドレスのブロックに対するメモリ更新の順序保証を解
決するのである。
【0045】このようにRRMTはスプリットトランザ
クション方式のバスを実現するのに重要な役割を担って
いるが、本発明の効果に大きな影響を及ぼすものではな
いので、ここはこれ以上の説明は行わない。
【0046】表4に上記のキャッシュシステムにおいて
バスコマンドとして定義されるコマンドを示す。ここで
共有リードSBRと排他リードEBRはアドレスバスコ
マンド,リプライRPYはデータバスコマンドである、
ブロックライトBWはアドレスバスとデータバスを同時
に使用して送出する。
【0047】
【表4】
【0048】図2は、上記のバスブリッジ120の内部
構成を示すブロック図である。同図において、ローカル
バス(Lバス)110とグローバルバス(Gバス)5は
図1に示したものと同一である。バスブリッジ120は
LバスとGバスに双方向入出力バッファを通して接続さ
れている。
【0049】リクエストコピーバッファ(以下、RCB
という。)154は、Lバスから受信したSBRとEB
Rを一時的に待避するバッファである。Lバスから受信
したコマンドは、RCB154を経由するか(信号線1
63)、もしくは直接(信号線160)バスブリッジ制
御回路150へ入力される。同様に、Gバスから受信し
たコマンドも信号線162を経由してバスブリッジ制御
回路150へ入力される。バスブリッジ制御回路150
は、バスブリッジ120全体の動作を制御する。
【0050】バスブリッジ制御回路150からLバスへ
コマンドを送出する場合は、Lバスコマンドバッファ
(以下、LCBという。)151を経由して送出する。
同様に、Gバスへのコマンド送出はGバスコマンドバッ
ファ(以下、GCBという。)152を経由して送出す
る。
【0051】なお、上記のLバスとGバスは、先にも説
明したようにアドレスバスとデータバスが独立して動作
可能な構造になっているので、本来このLCB151と
GCB152もアドレスバス用のバッファとデータバス
用のバッファに分割してインプリメントするのが自然だ
が、バッファの構造は本発明による効果に影響するもの
ではないので、これ以上の説明は行わない。
【0052】CTAGメモリ153は、Lバス110配
下に接続されるSIC101〜104のタグのコピーで
あって、それぞれのSICに対応する同じエントリ数の
コピーをもっている。タグのコピー(CTAG)は表5
に示すように、無効(I),主記憶と一致・排他(C
E),主記憶と一致・共有(CS),主記憶と不一致・
排他(D)の4状態を持つ。
【0053】
【表5】
【0054】これに対応するSICの状態は表6に示す
通りである。同表に示すように上記のSICでは無効
(I),主記憶と一致(C),主記憶と不一致・排他
(DE),主記憶と不一致・共有(DS)の4状態を持
つ。
【0055】
【表6】
【0056】表7には、SICのタグの状態値とCTA
Gの状態値の組み合わせを示す。詳細な動作は後に説明
するが、SICのタグとそのコピーであるCTAGは表
中の丸印の組み合わせになるように管理されている。
【0057】
【表7】
【0058】次に、上記のキャッシュシステムの動作に
ついて詳細に説明する。最初にSICからLバスへリク
エストを送出する場合のSICの動作について説明す
る。
【0059】図3は、SICに接続されるプロセッサか
らSICへリードが送出された場合の動作を示すフロー
チャートである。まず、プロセッサからのリードによっ
てキャッシュを索引した結果、キャッシュヒットした場
合(ステップ200・Hit)はキャッシュからリプラ
イを送出して動作を終了する。
【0060】キャッシュにミスヒットした場合(ステッ
プ200・Miss)、SICはLバスへSBRを送出
し(ステップ201)、Lバスから受信したリプライを
キャッシュに登録すると共にプロセッサへ送出する。S
BRをLバスへ送出した時に、表1に示したOWNステ
ージで他のキャッシュから受信する値によって、リプラ
イを送出するノード(リプライヤ)が決定され(リプラ
イ調停)、リプライをキャッシュに登録するときのキャ
ッシュの状態はCとDの何れかが確定する(ステップ2
02〜207)。
【0061】次に図4を参照してプロセッサからSIC
へのストアが行われる場合の動作について説明する。S
ICへストア命令が発行されてからキャッシュを索引す
るところまではリードの場合と同じである。
【0062】この時、キャッシュの状態がDEならば
(ステップ210・DE)そのままキャッシュへ書き込
みが行われてストアが完了する。
【0063】キャッシュの状態がCまたはDSだった場
合(ステップ210・C/DS)、SICはLバスへI
NV送出を試みる。INV送出が完了したならば、キャ
ッシュの状態をDEに更新し(ステップ213)、キャ
ッシュへの書き込みが行われてストアが完了する。
【0064】キャッシュミスの場合(ステップ210・
Miss)とLバスへのINV送出に失敗した場合(ス
テップ212・失敗)、LバスへEBRを送出する(ス
テップ211)。ここでINVに失敗する場合とは、S
ICがINV送出を試みている間に、同一アドレスへの
INVやEBRがLバス上に他のSICやバスブリッジ
から送出された場合を指す。
【0065】そして、SBRの場合と同様にリプライ調
停によってリプライを送出するノードが決定されるが
(ステップ214〜216)、リプライは常にDE状態
でSICに登録され(ステップ217)、リプライデー
タに対してストアが行われる。
【0066】次に図5を用いてSICから主記憶への書
き込み動作を説明する。SICのブロックをスワップな
どの理由によって掃き出す場合、キャッシュの状態がD
EもしくはDSの場合にはLバスへBWを送出した後
(ステップ220〜221)、キャッシュを無効化する
(ステップ222)。キャッシュの状態がIまたはCの
場合にはそのままキャッシュを無効化する(ステップ2
20)。
【0067】続いてSICがLバスからコマンドを受信
した場合のSICの動作について説明する。
【0068】図6を参照してSICがLバスからSBR
を受信した場合の動作を説明すると、はじめにキャッシ
ュ索引によってキャッシュがDEもしくはDS状態の場
合(ステップ230・DE/DS)、SICはバスコマ
ンドのOWNステージでOWN(D)を送出する(ステ
ップ234)。リプライ調停の結果、リプライ送出する
権利(リプライ権)を獲得した場合(ステップ235・
Yes)、Lバスへリプライを送出する(ステップ23
6)。最後にキャッシュの状態をDSへ更新して(ステ
ップ237)動作を完了する。
【0069】ステップ230でキャッシュの状態がCだ
った場合、SICはLバスへOWN(C)を送出する
(ステップ231)。リプライ調停の結果、リプライ権
を獲得した場合にはLバスへリプライを送出して(ステ
ップ232〜233)、動作を完了する。
【0070】ステップ230でキャッシュの状態がIだ
った場合には、SICは何もしない。
【0071】次に図7はSICがLバスからEBRを受
信した場合の動作を説明する図である。EBRを受信し
た場合もSBRを受信した場合と同様にキャッシュの索
引を行い(ステップ240)、キャッシュの状態がCな
らばOWN(C)を送出(ステップ241)、DEまた
はDSならばOWN(D)を送出(ステップ242)す
る。
【0072】この結果リプライ調停によりリプライ権を
獲得した場合にはリプライをLバスへ送出し(ステップ
244)、キャッシュの状態をIに更新して動作を完了
する(ステップ245)。リプライ権を獲得できなかっ
た場合は(ステップ243・No)、そのままキャッシ
ュをIに更新して動作を完了する。また、キャッシュミ
スヒットした場合(ステップ240・Miss)、SI
Cは何もせず動作を完了する。
【0073】図8はSICがLバスからINVを受信し
た場合の動作を説明する図である。図を参照して、Lバ
スからINVを受信したSICはキャッシュを索引し、
キャッシュにヒットした場合(ステップ250・C/D
E/DS)、キャッシュの状態をIに更新して動作を完
了する(ステップ251)。キャッシュにミスヒットし
た場合(ステップ250・Miss)、そのまま何もせ
ずに動作を完了する。
【0074】図9はSICがLバスからBWを受信した
場合の動作を説明する図である。LバスにBWが送出さ
れたことを検出したSICは、キャッシュを索引し、キ
ャッシュの状態がDEまたはDSの場合に(ステップ2
60・Hit)キャッシュの状態をCへ更新して動作を
完了する(ステップ261)。キャッシュにミスヒット
した場合(ステップ260・Miss)は何もせずに動
作を完了する。
【0075】続いてバスブリッジがLバスからコマンド
を受信した場合の動作について説明する。
【0076】図10はLバスへSBRが送出された場合
のバスブリッジの動作を説明する図である。Lバスから
SBRを受信すると、バスブリッジは3つの動作を平行
して開始する。
【0077】まず第一に、キャッシュのタグのコピー
(CTAG)を参照して、Lバス配下のキャッシュに所
望のブロックのコピーが存在するかどうかを調べる。ス
テップ272でリクエスタ以外のSICに対応するCT
AG(図中、CTAG0 と記載した部分はリクエスタ以
外のSICに対応するCTAGを指す)を索引して全て
ミスヒットした場合(ステップ272・Miss)、L
バス配下にはブロックのコピーが存在しないので(表7
参照)、LバスへOWN(C)を送出し、Lバスのリプ
ライ権を獲得(表2参照)し、さらにGバスコマンドバ
ッファ(GCB)を経由してGバスへのSBR送出を開
始する(ステップ273,275,277)。
【0078】ここでCTAG0 の何れかがCE/CS/
D何れかの状態だった場合には、Lバス上のSICの何
れかがリプライヤになると判定してGバスへのSBR送
出を中断する(ステップ272)。
【0079】このようにバスブリッジがCTAGの状態
を参照してGバスへのコマンド送出を開始するのは、主
記憶へのアクセスを高速化することが目的である。表1
を参照して、Lバス上に送出されたSBRに対して、S
ICの索引結果が判明するのはOWNステージだが、S
ICがLバスのAD0ステージとAD1ステージでアド
レスを受信してタグRAMを索引する論理は、バスブリ
ッジが同様にアドレスを受信してCTAGのRAMを索
引する論理と基本的に同じである。従って、SICがタ
グを索引した結果をLバス経由で受け取って動作を開始
するより、CTAGを索引した結果により動作を開始す
る方が数クロック分高速化できる。
【0080】上記キャッシュシステムは5クロックサイ
クルでバスへコマンドを送出するタイミングが決まって
いるため、SBR送出を開始するタイミングが数クロッ
ク早くなることによって主記憶へアクセスが5クロック
高速化されることがあり得る。この5クロックの改善が
性能に大きく寄与することは明らかである。
【0081】第2にコマンドがSBRなので、リクエス
トコピーバッファRCBへSBRを格納する(ステップ
270)。
【0082】最後にLバスのOWNステージで他のSI
Cからの信号を受信する。この時他のSICからOWN
(C)またはOWN(D)が送出されていれば、バスブ
リッジはリプライヤではないと判断してCTAGの更新
を行い、動作を終了させる(ステップ271,28
5)。
【0083】ここで問題になるのは、ステップ272に
おいてCTAG0 がCEまたはCSの場合に、全てのS
ICがOWN(I)を出力する(全てのSICがI状態
である)ということが許容されている点である。この場
合、ステップ272においてGバスへのSBR送出を中
断したにも関わらず、LバスのOWNは全てOWN
(I)となるために、表2の手順によりバスブリッジが
リプライヤになってしまう。本発明のバスブリッジはこ
のような条件を判定し(ステップ274)、条件が成立
した場合にRCBからSBRを取り出してGバスへのS
BR送出を再開する手段を備えている(ステップ27
6)。
【0084】かくしてGバスへSBRを送出した後は、
GバスのOWNを参照し(ステップ278)、その状態
によってリクエスタのSICに対応するCTAGを更新
する(ステップ279〜281)。以後、図中CTAG
S と記述した部分は、Lバスのリクエスタに対応するS
ICのCTAGを指す。
【0085】Gバスのリプライヤを決定する手順は、L
バスよりも単純である。まずOWN(D)が送出された
場合、CTAGの状態はDで無ければならないが、複数
のCPU間でのダーティブロック(DE/DS)の共有
を行わないので、OWN(D)を送出するCPUは常に
単数である(ステップ283)。また、GバスではOW
N(C)とOWN(I)が送出された場合には主記憶装
置がリプライヤとなる(ステップ282)。
【0086】Gバスからリプライを受信した後は、リプ
ライをLバスへ転送して動作を完了する。
【0087】図11は、LバスからEBRを受信した場
合のバスブリッジの動作を説明する図である。SBRを
受信した場合と同様に、バスブリッジは3種の動作を平
行して開始する(ステップ290〜292)。ここで注
意が必要な点は、ステップ292においてCTAG0 が
CS状態の場合でも、バスブリッジはGバスへのEBR
送出を開始することである。理由を以下に述べる。
【0088】問題が生じる例として、図1を再び参照し
て説明すると、時間的にほぼ同時期にSIC101とS
IC201からそれぞれ同一アドレスのブロックへのE
BRが送出されたと仮定する。このEBRに対してそれ
ぞれSIC102とSIC202がOWN(C)を送出
したとすると、それぞれのLバスに閉じてリプライが返
却され、SIC101とSIC201で別々のストアが
行われる。
【0089】話を戻して、ステップ293もしくはステ
ップ294および296の手順を経由してGバスへEB
Rを送出することになった場合、GCBを経由してEB
R送出が行われる(ステップ295、297)。Gバス
へEBRを送出しない場合、CTAGを更新して動作を
完了する(ステップ304)。
【0090】GバスへのEBR送出時はOWNの値に依
らずCTAGS はDに更新され、CTAG0 はIに更新
される。リプライを受信した後はLバスへリプライを転
送し、動作を完了する(ステップ298〜303)。
【0091】図12はLバスからINVを受信した場合
のバスブリッジの動作を説明する図である。Lバスから
INVを受信したバスブリッジは、2種の動作を開始す
る。
【0092】まず、CTAGS を索引しCEもしくはD
状態の場合、INVはGバスへ送出されない(ステップ
310・Hit)。CTAGS は更新後Dに、CTAG
0 のうちCEもしくはDにヒットしたエントリもIに更
新される。この時ステップ311ではストア成功が判定
され(329破線)、INVの処理は終了する。
【0093】CTAGS の索引結果、CS状態の場合は
GバスへのINV送出を開始する(ステップ312)。
この時Lバス側ではストア失敗が判定され(329破
線)、INVがキャンセルされる(ステップ313)。
以後、Lバス側で再送出されるINVはGバスへのIN
V送出が成功するまでキャンセルされ続ける(319破
線)。
【0094】ここで、通常ではLバス側でコマンドがキ
ャンセルされた場合、バスブリッジ内部でもコマンドの
処理を中断しなければならないので、コマンドがGバス
へ送出されることはないのだが、このINVのケースに
限ってLバス側でキャンセルされたコマンドをGCBに
取り込んでGバス側に送出する。また、ステップ312
でGCBへ格納されるINVは、キャンセルされ続ける
INVのうち、最初の一回目だけに限定しなければなら
ない。
【0095】さて、GバスへのINV送出に成功した場
合には(ステップ314)、LバスのINVのキャンセ
ルを抑止してLバスのINV送出動作が完了するが、図
4のステップ212で説明したように、リクエスタのS
ICはLバスへのINV送出が完了するまでストアを待
ち合わせているので、結局GバスへINV送出が完了し
た後にSICへのストアが完了することが保証される
(ステップ316,318)。
【0096】一方でGバスへのINV送出に失敗した場
合について説明すると(ステップ314・失敗)、ここ
でいうINV送出失敗とはGバスに送出すべきINVを
GCB内で待ち合わせている最中に、他のCPUから同
一アドレスへのINVやEBRをGバスから受信した場
合を指す。この場合は、他のCPU側でのストアが先行
して完了したことを示すのであるから、バスブリッジは
GCB内のINVをGバスに送出して自Lバスのストア
を完了させてはならない。そこで、バスブリッジはこの
ような競合を検出した場合にINV送出を中止し(ステ
ップ315)、Lバス側のINVをACANし続ける。
CTAGの状態は全てIに更新される(ステップ31
7)。
【0097】この時、競合が発生したタイミングではC
TAGS の状態はまだCSなので、詳細は後述するが
(図16)、LバスへINVが送出される。そこで図4
を参照してリクエスタのSICではステップ212でI
NV送出が失敗したことが判明するとINV送出をEB
R送出へ切り替える(ステップ211)事により、今度
はGバスへEBRが送出され、最終的にリクエスタはリ
プライとして受け取った最新のブロックへストアする事
が出来る。
【0098】図13はLバスからBWを受信した場合の
バスブリッジの動作を説明する図である。LバスからB
Wを受信した場合、バスブリッジはBWをそのままGバ
スへ転送する(ステップ320〜321)。そして、C
TAGS はI状態に、CTAG0 はD状態でヒットした
ものについてはCEへ更新されて動作を完了する(ステ
ップ322)。
【0099】最後に、バスブリッジがGバス側からコマ
ンドを受信した場合の動作について説明する。
【0100】図14は、GバスからSBRを受信した場
合のバスブリッジの動作を説明する図である。Gバスか
らSBRを受信すると、バスブリッジはCTAGの索引
を開始する。この時、Lバスからの索引のようにリクエ
スタを区別する必要は特にない。CTAGがD状態の場
合(ステップ330・D)、GバスへOWN(D)を送
出してSBRをLバスへ送出し、SICからのリプライ
をGバス側へ転送する(ステップ333〜338)。こ
の時CTAGはDからCSへ更新される。
【0101】CTAGの状態がCEもしくはCSの場
合、GバスへOWN(C)を送出し、CTAGをCSへ
更新する(ステップ331〜332)。この場合、リプ
ライは主記憶装置が送出する。
【0102】CTAGの状態がIの場合は、そのまま動
作を終了する。
【0103】図15は、GバスからEBRを受信した場
合のバスブリッジの動作を説明する図である。まずCT
AGがD状態だった場合(ステップ340・D)、SB
Rの場合と同様にGバスにOWN(D)を送出してLバ
スへEBRを転送する。リプライはSICから送出され
たものをGバスへ転送して動作を完了する(ステップ3
45〜350)。この時CTAGは全てIに更新され
る。
【0104】CTAGがCE/CSだった場合、Gバス
へはOWN(C)を送出し(ステップ341)、主記憶
装置がリプライヤとなる。バスブリッジはLバスへのI
NV送出を開始し(ステップ343〜344)、動作を
完了する。この時CTAGはIに更新される(ステップ
342)。
【0105】CTAGがIの場合はそのまま動作を完了
する。
【0106】図16はGバスからINVを受信した場合
のバスブリッジの動作を説明する図である。まずCTA
Gの状態がCSだった場合、EBRの場合と同様にバス
ブリッジはLバスへのINV送出を開始する(ステップ
360〜363)。この時CTAGはIに更新される。
【0107】また、CTAGがIだった場合は、そのま
ま動作を完了する。なお、INVを受信する場合は、C
TAGがCEまたはDではあり得ない。
【0108】図17はGバスからBWを受信した場合の
バスブリッジの動作を説明する図である。Gバスに他の
CPUからBWが送出される場合、送出元以外のCTA
Gは必ずI状態であることが保証されていなければなら
ない。従ってGバス上にBWが送出される場合は他のC
PUは何もせずにそのまま動作を終了する。
【0109】
【発明の効果】以上説明したように、本発明のキャッシ
ュシステムの第1の効果は、異なるCPU間でのストア
の競合が発生した場合においても、キャッシュのコヒー
レンシを維持できるシステムを提供できることである。
【0110】その理由は、CTAGがCS状態で登録さ
れているブロックへのストアに伴うLバス上のINVお
よびEBRを常にGバスへ送出する手段を備えるからで
ある。
【0111】また、本発明の第2の効果は、CTAGと
キャッシュタグの不一致を部分的に許容した状態で、最
適なアクセス時間でのメモリアクセスを実現できるシス
テムを提供できることである。
【0112】その理由は、バスブリッジがSICのタグ
索引よりも高速に参照できるCTAGの値に従って動作
することによりメモりアクセス時間を短縮し、同時にバ
スブリッジ内にRCBを備えてLバスからのSBRとE
BRを一時的に待避しておくことにより、CTAGとキ
ャッシュタグの不整合が明らかになった場合にRCBに
待避したSBRもしくはEBRを再びGバスへ送出する
動作を継続する手段を備えるからである。
【図面の簡単な説明】
【図1】本発明の実施の一形態を示す説明図。
【図2】バスブリッジの構成を示すブロック図。
【図3】SICからLバスへコマンドを送出する動作を
示す流れ図(1)。
【図4】SICからLバスへコマンドを送出する動作を
示す流れ図(2)。
【図5】SICからLバスへコマンドを送出する動作を
示す流れ図(3)。
【図6】SICがLバスからコマンドを受信する動作を
示す流れ図(1)。
【図7】SICがLバスからコマンドを受信する動作を
示す流れ図(2)。
【図8】SICがLバスからコマンドを受信する動作を
示す流れ図(3)。
【図9】SICがLバスからコマンドを受信する動作を
示す流れ図(4)。
【図10】バスブリッジがLバスからコマンドを受信す
る動作を示す流れ図(1)。
【図11】バスブリッジがLバスからコマンドを受信す
る動作を示す流れ図(2)。
【図12】バスブリッジがLバスからコマンドを受信す
る動作を示す流れ図(3)。
【図13】バスブリッジがLバスからコマンドを受信す
る動作を示す流れ図(4)。
【図14】バスブリッジがGバスからコマンドを受信す
る動作を示す流れ図(1)。
【図15】バスブリッジがGバスからコマンドを受信す
る動作を示す流れ図(2)。
【図16】バスブリッジがGバスからコマンドを受信す
る動作を示す流れ図(3)。
【図17】バスブリッジがGバスからコマンドを受信す
る動作を示す流れ図(4)。
【符号の説明】
1,2 中央処理装置(CPU) 3,4 主記憶装置(MMU) 5 グローバルバス(Gバス) 101〜104 ストアインキャッシュ(SIC) 110 ローカルバス(Lバス) 120 バスブリッジ(BB) 150 バスブリッジ制御回路 151 Lバスコマンドバッファ(LCB) 152 Gバスコマンドバッファ(GCB) 153 CTAGメモリ 154 リクエストコピーバッファ(RCB)

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数の中央処理装置と複数の主記憶装置
    とが一つのグローバルバスを介して接続された情報処理
    システムにおいて、前記中央処理装置は複数のストアイ
    ンキャッシュと、前記複数のストアインキャッシュを接
    続するローカルバスと、前記ローカルバスと前記グロー
    バルバスとを接続するバスブリッジとを含み、前記バス
    ブリッジは前記複数のストアインキャッシュの状態を監
    視し、前記ローカルバスおよび前記グローバルバスから
    取り込むリクエストによるストアの競合を回避し、同一
    のデータによる多重の書き込みを抑止することを特徴と
    するキャッシュシステム。
  2. 【請求項2】 請求項1記載のキャッシュシステムにお
    いて、前記バスブリッジはローカルバスへ送出するコマ
    ンドを保持するLバスコマンドバッファと、グローバル
    バスへ送出するコマンドを保持するGバスコマンドバッ
    ファと、前記ローカルバスから受信したリクエストを一
    時保持するリクエストコピーバッファと、前記ローカル
    バスに接続されたストアインキャッシュの状態を示すタ
    グのコピーを格納するCTAGメモリと、受信したリク
    エストに対応して前記CTAGメモリを参照しストアの
    競合を回避するように最適なコマンドを送出するバスブ
    リッジ制御回路とを備えることを特徴とするキャッシュ
    システム。
  3. 【請求項3】 請求項2記載のキャッシュシステムにお
    いて、 前記ローカルバスにブロックリードリクエストが送出さ
    れた時に前記複数のストアインキャッシュの各々がキャ
    ッシュのタグを索引した結果をバスサイクルの特定のタ
    イミングで他のストアインキャッシュおよび前記バスブ
    リッジに通知する第1の通知手段と、前記ローカルバス
    から受信した前記ブロックリードリクエストによって前
    記タグのコピーを参照し,前記ブロックリードリクエス
    トを前記グローバルバスに送出し,リプライを送出すべ
    き場合にその旨を前記複数のストアインキャッシュに通
    知する第2の通知手段とを備え、さらに、 前記第2の通知手段により前記バスブリッジがリプライ
    を送出することを通知した場合には、前記第1の通知手
    段による情報に依らずリプライを送出することを決定
    し、 前記第2の通知手段により前記バスブリッジがリプライ
    送出することを通知しておらず、かつ前記第1の通知手
    段により何れかのストアインキャッシュに所望のデータ
    が存在することが判明した場合には、前記データを持つ
    ストアインキャッシュの中からリプライを送出するスト
    アインキャッシュを決定し、 前記第2の通知手段により前記バスブリッジがリプライ
    送出することを通知しておらず、かつ前記第1の通知手
    段により何れのストアインキャッシュにも所望のデータ
    が存在しないことが判明した場合には、前記バスブリッ
    ジがリプライ送出することを決定するリプライ調停手段
    を備えることを特徴とするキャッシュシステム。
  4. 【請求項4】 請求項2または3記載のキャッシュシス
    テムにおいて、 前記第2の通知手段により前記バスブリッジが前記ブロ
    ックリードリクエストを前記グローバルバスへ送出しな
    いことを通知し、かつ前記第1の通知手段により何れの
    前記ストアインキャッシュも所望のデータを持たないこ
    とが判明した場合、前記リクエストコピーバッファから
    取り出した前記ブロックリードリクエストを前記グロー
    バルバスへ送出することを特徴とするキャッシュシステ
    ム。
  5. 【請求項5】 請求項2または3記載のキャッシュシス
    テムにおいて、 前記タグのコピーは、無効(I),主記憶と一致・排他
    (CE),主記憶と一致・共有(CS),主記憶と不一
    致・排他(D)のいずれかの状態を示し、 前記バスブリッジは、前記ローカルバスから排他ブロッ
    クリードリクエストを受信した場合、前記タグのコピー
    が前記Iもしくは前記CSであるときに前記排他ブロッ
    クリードを前記グローバルバスへ送出することを決定
    し、前記第2の通知手段および前記リプライ調停手段に
    より前記排他ブロックリードのリプライ送出権を獲得す
    ることを特徴とするキャッシュシステム。
  6. 【請求項6】 請求項5記載のキャッシュシステムにお
    いて、 前記ローカルバスは、他のストアインキャッシュのデー
    タの無効化を指示する無効化リクエストと、 前記ローカルバスのバスサイクルの特定のタイミングで
    キャンセル信号をリクエスト送出元へ通知することによ
    り送出中のリクエストの実行を中断し、かつ前記リクエ
    スト送出元に前記リクエストを再送出させるキャンセル
    手段を備え、 前記バスブリッジは、前記ローカルバスから特定のスト
    アインキャッシュのデータの無効化を指示する無効化リ
    クエストを受信した場合、前記タグのコピーが前記Iも
    しくは前記CSであるときには前記無効化リクエストを
    前記グローバルバスへ送出することを決定し、かつ前記
    無効化リクエストを前記グローバルバスへ送出し終わる
    まで前記ローカルバス上の前記無効化リクエストをキャ
    ンセルし続けて、リクエスト送出元のストアインキャッ
    シュへのストアの完了を抑止することを特徴とするキャ
    ッシュシステム。
JP16286097A 1997-06-19 1997-06-19 キャッシュシステム Expired - Fee Related JP3288261B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP16286097A JP3288261B2 (ja) 1997-06-19 1997-06-19 キャッシュシステム
US09/099,533 US6173370B1 (en) 1997-06-19 1998-06-18 Cache system capable of keeping cache-coherency among store-in-caches of two central processing units on occurrence of store-confliction
FR9807698A FR2765004B1 (fr) 1997-06-19 1998-06-18 Systeme d'antememoire capable de conserver une coherence antememoire parmi les antememoires de stockage de deux unites de traitement centrales lors d'un conflit de stockage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16286097A JP3288261B2 (ja) 1997-06-19 1997-06-19 キャッシュシステム

Publications (2)

Publication Number Publication Date
JPH1115734A true JPH1115734A (ja) 1999-01-22
JP3288261B2 JP3288261B2 (ja) 2002-06-04

Family

ID=15762637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16286097A Expired - Fee Related JP3288261B2 (ja) 1997-06-19 1997-06-19 キャッシュシステム

Country Status (3)

Country Link
US (1) US6173370B1 (ja)
JP (1) JP3288261B2 (ja)
FR (1) FR2765004B1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678803B2 (en) * 1999-11-03 2004-01-13 Micron Technology, Inc. Method and device to use memory access request tags
JP2002342162A (ja) * 2001-05-14 2002-11-29 Nec Corp メモリアクセス制御方式及びホストブリッジ
US7366847B2 (en) * 2006-02-06 2008-04-29 Azul Systems, Inc. Distributed cache coherence at scalable requestor filter pipes that accumulate invalidation acknowledgements from other requestor filter pipes using ordering messages from central snoop tag
JP5621918B2 (ja) * 2011-04-07 2014-11-12 富士通株式会社 情報処理装置、並列計算機システムおよび演算処理装置の制御方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
JPH0496842A (ja) 1990-08-13 1992-03-30 Fujitsu Ltd キャッシュメモリのインタセプト制御方式
JPH04140860A (ja) 1990-10-02 1992-05-14 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサにおけるバス制御方法
CA2051222C (en) * 1990-11-30 1998-05-05 Pradeep S. Sindhu Consistent packet switched memory bus for shared memory multiprocessors
JPH06110844A (ja) 1992-08-11 1994-04-22 Toshiba Corp 分散共有メモリ型マルチプロセッサシステム
US5761450A (en) * 1994-02-24 1998-06-02 Intel Corporation Bus bridge circuit flushing buffer to a bus during one acquire/relinquish cycle by providing empty address indications
US5524216A (en) 1994-05-13 1996-06-04 Hewlett-Packard Company Coherent transaction ordering in multi-tiered bus system
MX9706592A (es) * 1995-03-17 1997-11-29 Intel Corp Protocolo de coherencia para multiprocesamiento cache en un conducto local.
US5860108A (en) * 1995-04-26 1999-01-12 Nec Corporation Method and clustered multi-processor system for controlling a clock phase for clusters
JP2786124B2 (ja) 1995-04-26 1998-08-13 甲府日本電気株式会社 共有メモリ型マルチプロセッサシステム
AU6334496A (en) * 1995-06-15 1997-01-15 Intel Corporation Architecture for an i/o processor that integrates a pci to pci bridge
JP3067976B2 (ja) 1995-07-05 2000-07-24 日本電気株式会社 マルチレベルバス結合型マルチプロセッサシステム
US5768622A (en) * 1995-08-18 1998-06-16 Dell U.S.A., L.P. System for preemptive bus master termination by determining termination data for each target device and periodically terminating burst transfer to device according to termination data
US5860110A (en) * 1995-08-22 1999-01-12 Canon Kabushiki Kaisha Conference maintenance method for cache memories in multi-processor system triggered by a predetermined synchronization point and a predetermined condition
US5761452A (en) * 1996-03-18 1998-06-02 Advanced Micro Devices, Inc. Bus arbiter method and system
US5946709A (en) * 1997-04-14 1999-08-31 International Business Machines Corporation Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing

Also Published As

Publication number Publication date
FR2765004B1 (fr) 2001-09-07
FR2765004A1 (fr) 1998-12-24
JP3288261B2 (ja) 2002-06-04
US6173370B1 (en) 2001-01-09

Similar Documents

Publication Publication Date Title
JP3872118B2 (ja) キャッシュコヒーレンス装置
US5900020A (en) Method and apparatus for maintaining an order of write operations by processors in a multiprocessor computer to maintain memory consistency
US5765187A (en) Control system for a ring buffer which prevents overrunning and underrunning
JPH09223118A (ja) スヌープキャッシュメモリ制御システム
JPH0950400A (ja) マルチプロセッサシステム
US7149852B2 (en) System and method for blocking data responses
US7912998B2 (en) DMA access systems and methods
JP2746530B2 (ja) 共有メモリマルチプロセッサ
JP3288261B2 (ja) キャッシュシステム
US6678800B1 (en) Cache apparatus and control method having writable modified state
KR101413787B1 (ko) 정보 처리 시스템 및 시스템 컨트롤러
JP4361909B2 (ja) キャッシュコヒーレンス装置
JP2009245323A (ja) レイテンシ短縮方式及び方法
JP3626609B2 (ja) マルチプロセッサシステム
JP5168800B2 (ja) マルチプロセッサシステム
US7380107B2 (en) Multi-processor system utilizing concurrent speculative source request and system source request in response to cache miss
JP2002007371A (ja) L1キャッシュフォールスシェア緩和制御方式
JPH04305746A (ja) キャッシュメモリ制御装置
JP4361910B2 (ja) キャッシュコヒーレンス装置
JP4424619B2 (ja) 情報処理装置
JP3056141B2 (ja) バスブリッジ回路
JPH0744459A (ja) キャッシュ制御方法およびキャッシュ制御装置
JP3914250B2 (ja) キャッシュコヒーレンス装置
KR0138585B1 (ko) 분리형 트랜잭션 버스를 이용한 공유 메모리 다중 프로세서
US20130262773A1 (en) Information processing apparatus and control method of information processing apparatus

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020212

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees