[go: up one dir, main page]

JP3056141B2 - バスブリッジ回路 - Google Patents

バスブリッジ回路

Info

Publication number
JP3056141B2
JP3056141B2 JP9231391A JP23139197A JP3056141B2 JP 3056141 B2 JP3056141 B2 JP 3056141B2 JP 9231391 A JP9231391 A JP 9231391A JP 23139197 A JP23139197 A JP 23139197A JP 3056141 B2 JP3056141 B2 JP 3056141B2
Authority
JP
Japan
Prior art keywords
bus
command
global
bridge circuit
sent
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 - Fee Related
Application number
JP9231391A
Other languages
English (en)
Other versions
JPH1173402A (ja
Inventor
隆浩 谷岡
Original Assignee
甲府日本電気株式会社
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 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
Priority to JP9231391A priority Critical patent/JP3056141B2/ja
Publication of JPH1173402A publication Critical patent/JPH1173402A/ja
Application granted granted Critical
Publication of JP3056141B2 publication Critical patent/JP3056141B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はバスブリッジ回路に
関し、特に共有メモリを有するマルチプロセッサシステ
ムにおいて複数のシステムバスを接続するバスブリッジ
回路に関する。
【0002】
【従来の技術】共有メモリ型のマルチプロセッサシステ
ムを拡張するために複数のシステムバスをバスブリッジ
によって接続することによって、マルチプロセッサシス
テムの拡張性を高めることができる。例えば、特開平8
−297642号公報によれば、ディレクトリと呼ばれ
る一種のバスブリッジのよって2本のシステムバスを接
続し、さらにストアインキャッシュのコヒーレンシを維
持するための技術が記載されている。
【0003】これによれば、ストアインキャッシュはI
V(Invalid:無効)、CE(Clean Ex
clusive:主記憶と一致かつ排他)、CS(Cl
ean Shared:主記憶と一致かつ共有),DE
(Dirty Exclusive:主記憶と不一致か
つ排他)の4状態を持つ。このキャッシュは、キャッシ
ュミスヒット時にバスへ送出される共有ブロックリード
(SBR)に対して、他のキャッシュがDE状態のブロ
ックをリプライとして返す場合に同時に主記憶を更新
し、キャッシュをCS状態に遷移させる。このキャッシ
ュプロトコルは、情報処理Vol.32No.1(19
91)pp.64−73(以下、文献1という。)にお
いて紹介されているIllinoisプロトコルをベー
スにしたものといえる。
【0004】このような主記憶更新を伴うキャッシュ間
のデータ転送が一方のバス上に起こったときに更新すべ
き主記憶が他方のバスに接続されている場合、上記のデ
ィレクトリは一方のバスから受信したリプライを他方の
バス上へメモリブロックライトリクエストに変換して出
力するが、その具体的は方法については何ら開示されて
はいない。
【0005】また、他の従来例として、複数のストアイ
ンキャッシュが接続されるローカルバスと、主記憶が接
続されるグローバルバスとを接続するバスブリッジがあ
る。このバスブリッジはストアインキャッシュのタグメ
モリのコピー(以下、キャッシュのタグと区別するため
にコピータグと記載する。)を備え、これでローカルバ
スとグローバルバスとをスヌープすることによって索引
・更新する。
【0006】ここで用いられるバスはローカルバス、グ
ローバルバスともにバスステート1〜5から開始され
る。そして上記のコピータグは、ローカルバスおよびグ
ローバルバスの双方からの索引・更新タイミングをバス
ステートの特定タイミングに固定することにより、コピ
ータグのアクセス回路を単純化するとともに、コピータ
グへのアクセスの競合による待ち時間の発生を解消して
いる。
【0007】図4は上記のコピータグへの索引・更新ア
ドレス送出のタイミングを示す説明図である。同図にお
いて、バスステート1〜5の間にローカルバスとグロー
バルバスからの索引と更新が折り畳まれている。バスス
テート3はリード/ライトを切り替えるためのデッドサ
イクルである。
【0008】このシステムにおいて、ローカルバスに接
続されるストアインキャッシュは、I/C/DE/DS
の4状態を持ち、コピータグはI/C/DE/Dの4状
態を持つ。そしてストアインキャッシュおよびコピータ
グの状態は表10に示すように保たれている。
【0009】
【表10】
【0010】これらのキャッシュプロトコルは、ローカ
ルバス上のストアインキャッシュでは上記の文献1に記
載されたBerkleyプロトコルをベースにしたもの
であり(以下、I/C/DE/DS型プロトコルと記載
する。)グローバルバス上ではIllinoisプロト
コルをベースにしている(以下、I/CE/CS/D型
プロトコルと記載する。)といえる。
【0011】
【発明が解決しようとする課題】上記のような従来のバ
スブリッジには、次の欠点がある。
【0012】第1の問題点は、ローカルバス上のストア
インキャッシュに採用されるI/C/DE/DS型プロ
トコルは、ストアインキャッシュ側の制御論理が複雑に
なることである。
【0013】すなわち、I/CE/CS/DE型のプロ
トコルでは、ストアインキャッシュがリプライを送出す
るのはキャッシュがD状態のデータを保持している場合
のみであり、CE/CS状態のデータを保持する場合に
は主記憶がリプライを送出する。D状態は同一のバスに
接続されるキャッシュ内では排他的であるから、リプラ
イを送出すべきストアインキャッシュを決定するのは容
易である。さらにD状態が排他的であることから、複数
のストアインキャッシュから主記憶への書き戻し(B
W:ブロックライト)が競合することもない。
【0014】これに対して、I/C/DE/DS型プロ
トコルでは、リプライを送出するのはキャッシュがC/
DE/DSの何れかの場合であり、これらは同一のバス
に接続される複数のストアインキャッシュが同一のデー
タを共有していることがあり得るから、リプライヤを決
定するための調停回路が不可欠となる。さらに、DS状
態が存在することから、複数のストアインキャッシュか
らのBWが競合を起こすこともあり、これもI/C/D
E/DS型キャッシュの設計を複雑にする要因となる。
【0015】第2の問題点は、バスステートに同期した
固定タイミングで索引・更新を行う場合、ローカルバス
上のキャッシュプロトコルとしてI/CE/CS/D型
のプロトコルを採用することが困難な点である。その理
由は、特開平8−297642号公報記載のディレクト
リのようにローカルバス内で発生するキャッシュ間のデ
ータ転送を同時にバスブリッジも受信しグローバルバス
へBWとして送出する必要があるが、コピータグはロー
カルバスとグローバルバス双方からのリクエスト受信時
に固定タイミングでアクセスされるため、更にこのよう
なリプライによるアクセスが追加されることになるから
である。
【0016】本発明の第一の目的は、複数のストアイン
キャッシュが接続されるローカバスと主記憶が接続され
るグローバルバスとを接続するバスブリッジにおいて、
I/C/DE/DS型のプロトコルに加えて、キャッシ
ュメモリの制御がより簡単なI/CE/CS/D型のプ
ロトコルをサポートする機能を提供することにある。
【0017】また、本発明の第二の目的は、複数のスト
アインキャッシュが接続されるローカルバスと、主記憶
が接続されるグローバルバスとを接続し、かつ、ストア
インキャッシュのタグのコピーであるコピータグを内蔵
し、ローカルバスおよびグローバルバスからのリクエス
ト受信時に固定タイミングでこのコピータグを索引・更
新するバスブリッジにおいて、ローカルバス内で発生す
るキャッシュ間のデータ転送を同時にバスブリッジが受
信し、グローバルバスへBWとして送出する機能を提供
することにある。
【0018】
【課題を解決するための手段】本発明のバスブリッジ回
路は複数のストアインキャッシュと、前記複数のストア
インキャッシュを接続するローカルバスと、前記ローカ
ルバスとグローバルバスとを接続するバスブリッジ回路
とを含む複数の中央処理装置が前記グローバルバスを介
して複数の主記憶装置に接続された情報処理システムに
おいて、前記バスブリッジ回路は前記ストアインキャッ
シュが送出するデータリプライを監視し、前記データリ
プライによって前記主記憶装置を更新すべきことを検出
したときには前記データリプライをブロックライトコマ
ンドに差し替えて前記グローバルバスに送出するように
して構成される。
【0019】さらに、本発明のバスブリッジ回路はスト
アインキャッシュがローカルバスに送出したデータリプ
ライを監視して主記憶装置を更新すべき条件を検出する
検出部と、前記条件を検出したときにはブロックライト
コマンドを生成して送出し、前記条件を検出しなかった
ときには前記ローカルバスからのコマンドを送出するセ
レクタとを備えて構成される。
【0020】また、本発明のバスブリッジ回路は、複数
のストアインキャッシュと、前記複数のストアインキャ
ッシュを接続するローカルバスと、前記ローカルバスと
グローバルバスとを接続するバスブリッジ回路とを含む
複数の中央処理装置が前記グローバルバスを介して複数
の主記憶装置に接続された情報処理システムにおいて、
前記ローカルバスと情報を受け渡しするローカルバスイ
ンターフェス部と、前記グローバルバスと情報を受け渡
しするグローバルバスインタフェース部と、前記ローカ
ルバスに対応するリクエストおよびリプライを関連づけ
る第一の管理テーブルと、前記グローバルバスに対応す
るリクエストおよびリプライを関連づける第二の管理テ
ーブルと、前記ローカルバスへ送出するコマンドを一時
保持する第一のコマンドバッファと、前記グローバルバ
スへ送出するコマンドを一時保持する第二のコマンドバ
ッファと、前記ローカルバスインタフェース部から情報
を取り込み前記第一の管理テーブルを参照して前記主記
憶装置を更新する条件を検出する検出部と、前記検出部
が送出する信号に従って前記グローバルバスに送出する
コマンドを選択するセレクタと、前記セレクタが送出す
るコマンドおよび前記グローバルバスインタフェース部
が取り込んだコマンドを監視し前記第一のコマンドバッ
ファおよび前記第二のコマンドバッファを操作してそれ
ぞれグローバルバスおよびローカルバスに該当のコマン
ドを送出するとともに不要の情報を削除する制御部とを
備えて構成される。
【0021】さらに、本発明のバスブリッジ回路におい
て、前記セレクタは前記検出部が主記憶装置を更新すべ
き条件を検出したときブロックライトコマンドを生成す
るコマンドコード生成部と、前記検出部の指示に従って
前記ブロックライトコマンドおよび前記ローカルバスか
らのコマンドのいずれかを選択するスイッチ部とを備え
て構成される。
【0022】すなわち、本発明によるバスブリッジ回路
は、配下のローカルバスに接続されたストアインキャッ
シュが送出したデータリプライをグローバルバスへBW
として送出する(以後このような動作によるBWを、通
常のBWと区別するために特にRBW:Reply w
ith Block Writeと記す。)条件を検出
するRBW検出回路と、ローカルバスから受信したリク
エストと上記のグローバルバスヘBWとして送出すべき
リプライの何れかをRBW検出回路により選択してコピ
ータグ(CTAG)制御部およびグローバルバスコマン
ドバッファへ送出するセレクタと、ローカルバス上でリ
プライ待ち状態にあるリクエストのリクエストアドレス
を保持するLRTMT(ローカルバスリードリソース管
理テーブル)と、RBW検出回路からの信号によりロー
カルバスヘキャンセル信号を送出するキャンセル生成回
路を備える。
【0023】そして上記のバスブリッジ回路は、RBW
検出回路がローカルバスからRBWを受信した時、RB
Wと同一のバスサイクルで受信したリクエストをキャン
セルし、コピータグ(CTAG)へのアクセスを抑止す
ると共に、グローバルバスコマンドバッファへRBWコ
マンドを格納することによってグローバルバスヘBWを
送出することを可能とする。
【0024】また、グローバルバスコマンドバッファへ
の格納と同時にCTAG制御部へRBWのアドレスを送
出し、CTAGの索引・更新を行う。
【0025】このようにして、ローカルバス上でI/C
E/CS/D型のキャッシュプロトコルを実現すること
ができる。
【0026】
【発明の実施の形態】以下、本発明について図面を参照
しながら説明する。
【0027】図1は本発明によるバスブリッジ回路を含
む情報処理システムの構成例を示す説明図である。同図
において、CPU(中央処理装置)1はSIC(ストア
インキャッシュ)101〜104とバスブリッジ回路1
20とを互いに接続するLバス(ローカルバス)110
を具備し、バスブリッジ回路120はGバス(グローバ
ルバス)5によってMMU(主記憶装置)3および4に
接続されている。CPU2もCPU1と同様にSIC2
01〜204,バスブリッジ回路220,およびLバス
210を含み、Gバスを介してMMU3および4に接続
されている。
【0028】ここで、CPU1においてSIC101〜
104,バスブリッジ回路120,およびLバス110
は同一のパッケージに実装されている。また、CPU2
も同様である。Gバス5は筐体のバックボードに実装さ
れており、CPU1および2,MMU3および4はそれ
ぞれパッケージ単位でGバス5に接続されている。
【0029】なお、Lバスに接続されるSICの数や、
Gバスに接続されるCPUやMMUの数はLSIのドラ
イバの駆動能力やバスの動作周波数との兼ね合いで決定
されるべきもなので、ここに記載した構成に特に限定す
るものではない。
【0030】また、図中には記載していないが、SIC
には一つ以上のプロセッサが接続されている。一般にプ
ロセッサには一次キャッシュを内蔵している場合が多い
が、一次キャッシュの構成やSICに接続されるプロセ
ッサの数等は本発明の効果に影響するものではないの
で、詳細には示さない。
【0031】上記のLバスおよびGバスは、同一のバス
プロトコルに従って動作するスプリットトランザクショ
ン方式のバスである。また、アドレス線とデータ線を分
離し、それぞれ独立して動作させることが可能である。
以後特に必要な場合に限って、これらをアドレスバス、
データバスと区別して記載する。また、アドレスバス上
で動作するコマンドはアドレスバスコマンド、データバ
ス上で動作するコマンドはデータバスコマンドと記載す
る。
【0032】また、キャッシュへの読み込み動作のよう
に、要求と応答が組になっているような動作の場合、こ
れらを区別する目的で特にリクエスト,リプライと記載
することがある。
【0033】
【表1】
【0034】表1にアドレスバスコマンドの動作タイミ
ングを示す。バスのステート1〜5は、バス動作中には
クロックに同期して常時カウントされているタイミング
信号である。
【0035】アドレスバスコマンドはREQステージか
らOWNステージまでの10ステージで実行される。各
ステージの実行タイミングはバスのステート1〜5に完
全に同期している。
【0036】アドレスバスコマンドはバスサイクル毎に
オーバーラップして動作することが可能である。例え
ば、先行するコマンドのキャンセル(CAN)ステージ
では、直後のバスサイクルのリクエスト(REQ)ステ
ージが開始される。
【0037】ここでCANステージとOWNステージに
ついて特に説明を加えておく。まず、CANステージで
送出されるアドレスバスコマンドキャンセル(ACA
N)は、実行中のアドレスバスコマンドが何らかの理由
で実行できない場合に送出する信号である。送出するの
は、バス上に接続された何れのノードでも構わない。コ
マンドはACANが何れのノードからも送出されなかっ
た場合にのみ送出を完了する約束になっているので、リ
クエスト送出元(リクエスタ)はコマンドがACANさ
れた場合にはコマンドの送出を取りやめるか、コマンド
がACANされなくなるまで再送出を繰り返さなければ
ならない。
【0038】OWNステージではリードリクエスト(S
BRやEBR)の場合にキャッシュやCTAGを索引し
た結果により、OWN(I),OWN(C),OWN
(D)の3種類の情報を伝達する。バス上のノードはこ
のOWNの値を監視して、SICやCTAGの登録を行
ったり、リプライを送出するノード(リプライヤ)の決
定を行う。Lバス上でこのようなリプライヤを決定する
手順を今後リプライ調停と呼ぶ。
【0039】
【表2】
【0040】Lバスでのリプライ調停の手順を表2に示
す。ここで注意すべきことは、バスブリッジがリプライ
権の獲得に関して優先権を持っていることと、何れのノ
ードからの出力もOWN(I)だった場合にはバスブリ
ッジがリプライヤになることである。
【0041】Gバス側では、OWN(D)を送出したノ
ードがリプライヤとなる。詳細は後述するが、Gバス上
では複数のノードが同時にOWN(D)を送出すること
は無いからである。それ以外の場合は送出される値がO
WN(C)、OWN(I)に関わらず常に主記憶装置が
リプライヤとなる。
【0042】
【表3】
【0043】表3にデータバスコマンドの動作タイミン
グを示す。アドレスバスコマンドと同様に、REQステ
ージからD3ステージまでの全8ステージが、バスのス
テート1〜5に同期して実行される。また、アドレスバ
スコマンドと同様に、バスサイクル毎にオーバーラップ
して動作することが可能である。
【0044】ここで特に着目しておかなければならない
点は、RIDステージにおいて、リプライヤが主記憶更
新指示フラグを送出することである。主記憶更新指示フ
ラグとは、リプライをリクエスタへ転送するときに、同
時に主記憶への書き込みを行うことを示すフラグであ
る。
【0045】Gバス上のリプライにおいて、主記憶更新
指示フラグが「真」であれば、MMUはリプライを受信
して主記憶への書き込みを行う。また、Lバス上のリプ
ライで主記憶更新指示フラグが「真」であった場合、バ
スブリッジは主記憶への書き込みを行うためにリプライ
を受信し、リプライデータをGバス側へブロックライト
BWとして送出しなければならない。また、リプライ時
に主記憶更新指示フラグを「真」にする事ができるの
は、Lバス・Gバス何れの場合でもSIC間のデータ転
送の場合で、元のキャッシュステータスがDE・DSの
場合(キャッシュステータスについては後に説明する)
に限られる。
【0046】なお、上記のように、Lバス側のリプライ
に主記憶更新指示フラグ=「真」が付与されていたケー
スでGバス側へブロックライトBWを送出する動作を、
RBW(Reply with Block Writ
e)と記述する。
【0047】また、上記のようなスプリットトランザク
ション方式のバスでは、通常、リクエストとリプライの
関連づけを行うために、バス上のノードにそれぞれリー
ドリソース管理テーブル(RRMT)と呼ばれるテーブ
ルを備えている。リードリクエスト(SBRとEBR)
をバスに送出するとき、リクエストは固有のID番号を
付与され、RRMTに登録される。リプライ送出元(リ
プライヤ)はリプライを送出するときに対応するリクエ
ストのIDを付してリプライをリクエスト送出元(リク
エスタ)へ返却するため(表3のRIDステージ)、リ
クエスタはデータバス上に送出されたリプライがどのリ
クエストに対応するかを判断できるようになっている。
【0048】また、RRMTにはもう一つの働きがあっ
て、リクエスト送出時にリクエストのIDと共にリクエ
ストアドレスを保持しておき、リプライが返却されるま
での間に他のノードから同じアドレスに対するメモリア
クセスを抑止するために用いる。これによって同一アド
レスのブロックに対するメモリ更新の順序保証を解決す
るのである。
【0049】表4に、RRMTに格納される情報の一覧
を示す。ここで挙げたものはRRMTの機能を実現する
ために最低限必要なものだけであって、実際のインプリ
メントにおいてはさらに多くの情報を付加する場合があ
る。
【0050】
【表4】
【0051】
【表5】 表5にバスコマンドとして定義されるコマンドを示す。
ここで共有リードSBRと排他リードEBRはアドレス
バスコマンド、リプライRPYはデータバスコマンドで
ある。ブロックライトBWはアドレスバスとデータバス
を同時に使用して送出する。
【0052】図2は本発明のバスブリッジ回路120の
構成を示すブロック図である。同図において、バスブリ
ッジ回路120はLバス110とGバス5に接続されて
いる。
【0053】Lバスインタフェース部11は、Lバス1
10とバスブリッジ120内部とのインタフェースであ
る。Lバス110への入出力は全てLバスインタフェー
ス部11を介して行う。
【0054】同様にGバスインタフェース部21は、G
バス5とバスブリッジ120内部とのインタフェースで
あって、Gバス5への入出力は全てGバスインタフェー
ス部21を介して行う。
【0055】LRRMT12およびGRRMT24は、
先に説明したリードリソース管理テーブル(RRMT)
である。バスブリッジ120はLバス110とGバス5
のそれぞれに対応して独立したRRMTを備える。
【0056】Gバスコマンドバッファ22は、Gバス5
へ送出するコマンドが格納される。同様に、Lバスコマ
ンドバッファ15は、Lバス110へ送出するコマンド
が格納される。また、前述のようにバスはアドレスバス
とデータバスを分離し、それぞれが独立して動作可能な
構造になっているので、これらのコマンドバッファもア
ドレスバスコマンド用のバッファとデータバスコマンド
用のバッファを分けてインプリメントされるが、バッフ
ァ構造は本発明による効果に影響しないので、図面上で
はまとめて一つのコマンドバッファとして示した。
【0057】キャンセル生成回路14および23は、そ
れぞれLバス110およびGバス5から受信したコマン
ドのキャンセル信号(ACAN、DCAN)を生成して
Lバスインタフェース部11およびGバスインフェース
部21へ送出する。
【0058】RBW検出回路13は、Lバス110上に
送出されたデータリプライ(RPY)コマンドをGバス
5へBWとして送出する条件を検出する。
【0059】セレクタ16は、RBW検出回路13に制
御されて動作する。すなわり、Lバスインタフェース部
11から受信したアドレスバスコマンドとLRRMT1
2から受信したRBWの何れかを選択し、Gバスコマン
ドバッファ22へ送出する。
【0060】CTAG制御部30はLバス110配下に
接続されるストアインキャッシュ(SIC)のタグのコ
ピー(CTAG:Copy Tag)と、その制御回路
を含む。CTAGの索引・更新はLバスとGバスのアド
レスバスコマンドによって行われる。この索引・更新は
図4に示したように、コマンドを受信してから固定され
たタイミングで行われる。
【0061】表6にCTAGのステータスを示す。CT
AGは、I/CE/CS/Dの4状態に管理される。こ
の時、SICのキャッシュステータスは、表7に示すよ
うにI/C/DE/DSの4状態の何れかの値を取りう
る。ただし、後に説明するように、キャッシュステータ
スをI/C/DE/の3状態のみ(表8参照)に制限し
て動作させることも可能である。何れにせよ、この時C
TAGのステータスとSICのキャッシュステータスは
表9に示すような組み合わせ(表9の〇印)になるよう
に管理されなければならない。
【0062】
【表6】
【0063】
【表7】
【0064】
【表8】
【0065】
【表9】 次に、上記のバスブリッジ回路の動作について説明す
る。
【0066】(1)Lバスヘデータリプライ(RBW)
が送出された場合 Lバス上にデータリプライ(RPY)が送出され、リク
エスタとリプライヤが共に同じLバス上のSICで、か
つRPYのRIDステージで主記憶更新指示フラグ=
「真」が付与されている条件をRBW検出回路13が検
出した場合、キャンセル生成回路14とセレクタ16に
RBW動作を開始する指示が与えられる。
【0067】キャンセル生成回路14は、データリプラ
イ(RBW)と同一のバスサイクルでLバスにアドレス
バスコマンドが送出されていればこれを検出し、ACA
Nする。アドレスバスコマンドが送出されていなければ
ACANを送出する必要はない。
【0068】セレクタ16は、RBW検出回路13から
の指示により、LRRMT12からの信号を選択しGバ
スコマンドバッファ22とCTAG制御部30へ送出す
る。
【0069】図3は上記のRBW検出回路13およびセ
レクタ16の細部を示す説明図である。同図において、
セレクタはBWコマンドコード生成回路51およびスイ
ッチ52〜54を含み、RBW検出回路13は、アンド
回路61〜62を含む。
【0070】LRRMT12から入力される信号は、V
/AD/Sという要素から構成される。Vは信号が有効
であることを示すフラグ(Valid)、ADはリクエ
ストアドレス、Sはリクエストの送出元が自分自身であ
ることを示すフラグ(Self source fla
g)である。
【0071】Lバスインタフェース部11から入力され
る信号はV・CD・AD・DT・R・Mという要素から
構成される。V・CD・ADはそれぞれLバスから受信
したアドレスバスコマンドが有効であることを示すフラ
グ(Valid),コマンドコード,リクエストアドレ
スである。DTはLバスから受信したデータバスコマン
ドのデータ,RはLバスから有効なデータバスコマンド
(RPY)を受信したことを示すフラグ(Reply
flag),MはデータバスコマンドのRIDステージ
の主記憶更新指示フラグの値が入力される。
【0072】セレクタ16から送出される信号は、V・
CD・AD・DTという要素から構成される。これらは
入力信号と同様にそれぞれ有効フラグ(Valid),
コマンドコード,リクエストアドレス,データである。
キャンセル生成回路14とRBW検出回路13との間の
インタフェースはACAN指示信号およびRBW受信抑
止指示信号から構成される。
【0073】RBW検出回路13は二つのアンド回路か
ら構成されており、まず最初のアンド回路61によって
RBWの条件を検出する。すなわち、Lバス上に有効な
データリプライが送出されており(R)、それが自分自
身から送出したリクエストに対するリプライではなく
(NOT S)、RIDステージで主記憶更新指示フラ
グ(M)が「真」であることを検出する。二つ目のアン
ド回路62は、キャンセル回路14からRBW動作開始
を抑止する。
【0074】RBW動作を開始できない理由は、Gバス
コマンドバッファ22に新たなデータを受信する空きエ
ントリが無い場合であり、これはGバスコマンドバッフ
ァ22からキャンセル生成回路14への制御信号によっ
て通知される。この場合にはアドレスバスコマンドのA
CANも行われない。
【0075】上記の論理によりRBW動作が開始される
と、キャンセル生成回路14へはACAN指示信号が、
セレクタ16へはコマンドのセレクト信号が送出され
る。このセレクト信号はスイッチ52〜54に分配さ
れ、RBW動作時にはそれぞれLRRMTからの
(V),BWコマンドコード生成回路51で生成したコ
マンドコード(BWと同じコードを生成する),LRR
MTからの(AD)を選択する。
【0076】再び図2を参照すると、セレクタ16が出
力した信号は、CTAG制御部30とGバスコマンドバ
ッファ22へ分配される。コマンドをGバスへ送出する
必要があるか否かは、これらの信号をもとにCTAG制
御部30で判断され、その結果はGバスコマンドバッフ
ァ22への格納指示信号として渡される。
【0077】Gバスコマンドバッファ22へ格納された
RBW(BW)は、最終的にGバスインタフェース部2
1を経由してGバス5へ送出される。
【0078】また、LRRMT12は、Lバス上にリプ
ライが送出された時点で、ID番号に対応するエントリ
の情報を消去する。
【0079】上記のようにRBW受信時には、同一バス
サイクルに受信したアドレスバスコマンドをACAN
し、受信したリプライをBWに差し替えてGバスコマン
ドバッファへ格納する。このようにアドレスバスコマン
ドをACANしなければならない理由は、図4に示した
ように、CTAGの索引・更新がLバスとGバスのアド
レスバスコマンドを受信した場合に固定タイミングで行
われるので、新規にRBWコマンドによるCTAGの索
引・更新タイミングを追加する余地がないからである。
【0080】ここまでの説明で明らかになったように、
Lバス上においてはリプライ送出時のRIDステージで
主記憶更新指示フラグ(M)を「真」にすることによ
り、表8に示したような、I/C/DEの3状態からな
るキャッシュプロトコルを実現することが可能である。
リプライ送出時に常に主記憶更新指示フラグ(M)を
「偽」にすれば、SICは表7に示したような、本来の
I/C/DE/DSの4状態を持つキャッシュプロトコ
ルに従って動作することは言うまでもない。
【0081】つまり、Lバス上のキャッシュプロトコル
は、リプライヤ(SIC)が主記憶更新指示フラグをど
のように扱うかで決まるのであって、バスブリッジ回路
にモード設定フラグなどの特別なハードウェアを設ける
必要はない。
【0082】無論、主記憶更新指示フラグを用いないイ
ンプリメントも可能であって、この場合はLバスに接続
される各ノード(SICおよびバスブリッジ)にモード
設定フラグを設け、主記憶更新フラグの代わりにこのモ
ード設定フラグを参照してプロトコルを切り替えること
ができる。
【0083】(2)Lバスデータリプライ(RBW以
外)が送出された場合 Lバス110へ送出されたリプライによってRBW動作
を開始する必要がない場合、バスブリッジ回路120は
次の何れかの動作を行う。
【0084】リプライが自分自身が送出したリクエスト
に対するリプライであった場合、リプライデータはLバ
スインタフェース部11からセレクタ16を経由してG
バスコマンドバッファ22へ格納される。この時のGバ
スコマンドバッファ22への格納指示信号は、LRRM
T12から渡されるフラグ(S)である。
【0085】あるいは、リプライが自分自身へのもので
ない場合、バスブリッジ回路はそのリプライに対して何
も行わない。
【0086】LRRMT12は、Lバス上にリプライが
送出された時点で、ID番号に対応するエントリの情報
を消去する。
【0087】(3)Lバスへアドレスバスコマンド(S
BR・EBR・INV)が送出された場合 受信したコマンドはLバスインタフェース部11から
(同一サイクルでRBWを受信していない場合のみ)セ
レクタ16を経由してCTAG制御部30へ渡る。CT
AGを索引・更新した結果Gバスへコマンドを送出する
ことが決定されれば、Gバスコマンドバッファ22へコ
マンドが格納され、Gバスインタフェース部21を経由
してGバスへ送出されている。
【0088】また、受信したアドレスバスコマンドがS
BRまたはEBRの場合に限り、受信時にLRRMT1
2への登録が行われる。
【0089】(4)LバスBWが送出された場合 BWはアドレスバスとデータバス両方を同時に行うこと
によって実行されるコマンドである。この時、同一のバ
スサイクルでRBWを実行することは出来ないから、R
BW検出回路13からキャンセル生成回路14とセレク
タ16への指示はない。
【0090】従って、Lバスインタフェース部11で受
信したBWはセレクタ16を経由してGバスコマンドバ
ッファ22へ渡される。CTAG制御部30はBWのア
ドレスによってCTAGの索引・更新を行い、Gバスコ
マンドバッファ22へ受信したBWの格納指示を出す。
【0091】Gバスコマンドバッファ22に格納された
BWは、Gバスインタフェース部21を経由してGバス
へ送出されていく。
【0092】(5)Gバスへデータバスコマンド(RP
Y)が送出された場合 リプライが自分自身が送出したリクエストに対するリプ
ライであった場合、リプライデータはGバスインタフェ
ース部21からLバスコマンドバッファ15へ格納され
る。この時のLバスコマンドバッファ15への格納指示
信号はGRRMT24(格納される情報はLRRMT1
2と同様である)から渡されるフラグ(S)である。
【0093】あるいは、リプライが自分自身へのもので
ない場合、バスブリッジはそのリプライに対して何も行
わない。
【0094】GRRMT24は、Gバス上にリプライが
送出された時点で、ID番号に対応するエントリの情報
を消去する。
【0095】(6)Gバスへアドレスバスコマンド(S
BR・EBR・INV)が送出された場合 受信したコマンドはGバスインタフェース部21からC
TAG制御部30へ渡る。CTAGを索引・更新した結
果Lバスへコマンドを送出することが決定されれば、L
バスコマンドバッファ15へコマンドが格納され、Lバ
スインタフェース部11を経由してLバスへ送出されて
いく。
【0096】また、受信したアドレスバスコマンドがS
BRまたはEBRの場合に限り、受信時にGRRMT2
4への登録が行われる。
【0097】(7)GバスへBWが送出された場合 Gバスに送出されたBWは、主記憶装置MMUが受信
し、主記憶の更新を行う。バスブリッジ回路は、Gバス
から受信したBWをGバスインタフェース部21経由で
CTA制御部30へ渡し、CTAGの索引・更新のみ行
う。BWがLバスコマンドバッファ15へ格納されるこ
とはない。
【0098】
【発明の効果】以上説明したように、本発明の第一の効
果は、Lバス上にデータリプライを送出する際に、SI
Cが主記憶更新指示フラグの扱いを変えることによっ
て、I/C/DEの3状態を持つキャッシュプロトコル
とI/C/DE/DSの4状態を持つキャッシュプロト
コルの何れかを選択的に使用できることである。
【0099】また、本発明の第二の効果は、SICによ
り複雑な論理回路が必要とされるI/C/DE/DS型
のプロトコルに加え、I/C/DE型のキャッシュプロ
トコルも利用できるようにすることにより、SICに論
理不具合があった場合にこれを回避し、システムの初期
設定品質を向上させることが出来ることである。
【0100】また、本発明の第三の効果は、バスプリッ
ジが、RBWを受信したときに同一バスサイクルのアド
レスバスコマンドをACANし、セレクタによってアド
レスバスコマンドの代わりにRBWを選択し、CTAG
制御部に渡すことにより、LバスとGバス双方からアド
レスバスコマンドを受信したときに固定タイミングでC
TAGメモリを索引・更新するシステムにおいて、RB
W動作を可能にすることである。
【図面の簡単な説明】
【図1】本発明のバスブリッジ回路を含むシステムの構
成例を示す説明図。
【図2】本発明の実施の一形態を示すブロック図。
【図3】セレクタおよびRBW検出回路の詳細を示す説
明図。
【図4】従来のコピータグ索引・更新タイミングを示す
説明図。
【符号の説明】
1,2 CPU 3,4 MMU 5 Gバス 11 Lバスインタフェース部 12 LRRMT 13 RBW検出回路 14,23 キャンセル生成回路 15 Lバスコマンドバッファ 16 セレクタ 21 Gバスインタフェース部 22 Gバスコマンドバッファ 24 GRRMT 30 CTAG制御部 51 BWコマンドコード生成回路 52〜54 スイッチ 61〜62 アンド回路 101〜104 SIC 110 Lバス 120 バスブリッジ回路
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 645 G06F 13/16 510 G06F 13/36 320 G06F 15/177 682 INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のストアインキャッシュと、前記複
    数のストアインキャッシュを接続するローカルバスと、
    前記ローカルバスとグローバルバスとを接続するバスブ
    リッジ回路とを含む複数の中央処理装置が前記グローバ
    ルバスを介して複数の主記憶装置に接続された情報処理
    システムにおいて、前記バスブリッジ回路は前記ストア
    インキャッシュが送出するデータリプライを監視し、前
    記データリプライによって前記主記憶装置を更新すべき
    ことを検出したときには前記データリプライをブロック
    ライトコマンドに差し替えて前記グローバルバスに送出
    することを特徴とするバスブリッジ回路。
  2. 【請求項2】 請求項1記載のバスブリッジ回路におい
    て、前記バスブリッジ回路はストアインキャッシュがロ
    ーカルバスに送出したデータリプライを監視して主記憶
    装置を更新すべき条件を検出する検出部と、前記条件を
    検出したときにはブロックライトコマンドを生成して送
    出し、前記条件を検出しなかったときには前記ローカル
    バスからのコマンドを送出するセレクタとを備えること
    を特徴とするバスブリッジ回路。
  3. 【請求項3】 複数のストアインキャッシュと、前記複
    数のストアインキャッシュを接続するローカルバスと、
    前記ローカルバスとグローバルバスとを接続するバスブ
    リッジ回路とを含む複数の中央処理装置が前記グローバ
    ルバスを介して複数の主記憶装置に接続された情報処理
    システムにおいて、前記ローカルバスと情報を受け渡し
    するローカルバスインターフェス部と、前記グローバル
    バスと情報を受け渡しするグローバルバスインタフェー
    ス部と、前記ローカルバスに対応するリクエストおよび
    リプライを関連づける第一の管理テーブルと、前記グロ
    ーバルバスに対応するリクエストおよびリプライを関連
    づける第二の管理テーブルと、前記ローカルバスへ送出
    するコマンドを一時保持する第一のコマンドバッファ
    と、前記グローバルバスへ送出するコマンドを一時保持
    する第二のコマンドバッファと、前記ローカルバスイン
    タフェース部から情報を取り込み前記第一の管理テーブ
    ルを参照して前記主記憶装置を更新する条件を検出する
    検出部と、前記検出部が送出する信号に従って前記グロ
    ーバルバスに送出するコマンドを選択するセレクタと、
    前記セレクタが送出するコマンドおよび前記グローバル
    バスインタフェース部が取り込んだコマンドを監視し前
    記第一のコマンドバッファおよび前記第二のコマンドバ
    ッファを操作してそれぞれグローバルバスおよびローカ
    ルバスに該当のコマンドを送出するとともに不要の情報
    を削除する制御部とを備えることを特徴とするバスブリ
    ッジ回路。
  4. 【請求項4】 請求項2または請求項3記載のバスブリ
    ッジ回路において、前記セレクタは前記検出部が主記憶
    装置を更新すべき条件を検出したときブロックライトコ
    マンドを生成するコマンドコード生成部と、前記検出部
    の指示に従って前記ブロックライトコマンドおよび前記
    ローカルバスからのコマンドのいずれかを選択するスイ
    ッチ部とを備えることを特徴とするバスブリッジ回路。
JP9231391A 1997-08-27 1997-08-27 バスブリッジ回路 Expired - Fee Related JP3056141B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9231391A JP3056141B2 (ja) 1997-08-27 1997-08-27 バスブリッジ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9231391A JP3056141B2 (ja) 1997-08-27 1997-08-27 バスブリッジ回路

Publications (2)

Publication Number Publication Date
JPH1173402A JPH1173402A (ja) 1999-03-16
JP3056141B2 true JP3056141B2 (ja) 2000-06-26

Family

ID=16922882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9231391A Expired - Fee Related JP3056141B2 (ja) 1997-08-27 1997-08-27 バスブリッジ回路

Country Status (1)

Country Link
JP (1) JP3056141B2 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会全国大会第50回(平成7年前期)全国大会 p6−13〜6−14

Also Published As

Publication number Publication date
JPH1173402A (ja) 1999-03-16

Similar Documents

Publication Publication Date Title
KR100465583B1 (ko) 판독 요청을 원격 처리 노드에 추론적으로 전송하는 비정형 메모리 액세스 데이터 처리 시스템 및 이 시스템에서의 통신 방법
JP4700773B2 (ja) スイッチをベースとするマルチプロセッサシステムに使用するための順序サポート機構
US7120755B2 (en) Transfer of cache lines on-chip between processing cores in a multi-core system
JP3529566B2 (ja) 情報処理方法および装置
US5900020A (en) Method and apparatus for maintaining an order of write operations by processors in a multiprocessor computer to maintain memory consistency
US8037253B2 (en) Method and apparatus for global ordering to insure latency independent coherence
JP3629511B2 (ja) 不均等メモリ・アクセス・システムにおいてトランザクションのキャンセルによるデータ損失を避けるための方法およびシステム
US6397302B1 (en) Method and apparatus for developing multiprocessor cache control protocols by presenting a clean victim signal to an external system
JP3391315B2 (ja) バス制御装置
JP2902976B2 (ja) キャッシュフラッシュ装置
JPH11282821A (ja) 同時トランザクションを依存性で管理するための低占有度プロトコル
JP2000227908A (ja) 共用介入サポ―トを有する不均等メモリ・アクセス(numa)デ―タ処理システム
JPH02255932A (ja) マルチプロセツサ・システム
KR20030024895A (ko) 캐시 코히어런트 멀티-프로세서 시스템에서 순서화된입출력 트랜잭션을 파이프라이닝하기 위한 방법 및 장치
EP3644190B1 (en) I/o coherent request node for data processing network with improved handling of write operations
JP2000250881A (ja) 不均等メモリ・アクセス・システム内で書き戻しの衝突によって生じるライブロックを避けるための方法およびシステム
JPH10154100A (ja) 情報処理システム及び装置及びその制御方法
JP2000250882A (ja) 不均等メモリ・アクセス・システム内で無効化トランザクションの衝突によって生じるライブロックを避けるための方法およびシステム
US6892283B2 (en) High speed memory cloner with extended cache coherency protocols and responses
US20050102477A1 (en) Multiprocessor system
JP3056141B2 (ja) バスブリッジ回路
US7502917B2 (en) High speed memory cloning facility via a lockless multiprocessor mechanism
JP3288261B2 (ja) キャッシュシステム
JP3764015B2 (ja) メモリアクセス方法及びマルチプロセッサシステム
US20040111577A1 (en) High speed memory cloner within a data processing system

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: 20000314

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080414

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees