JP3189139B2 - 情報転送システムおよび方法 - Google Patents

情報転送システムおよび方法

Info

Publication number
JP3189139B2
JP3189139B2 JP33346893A JP33346893A JP3189139B2 JP 3189139 B2 JP3189139 B2 JP 3189139B2 JP 33346893 A JP33346893 A JP 33346893A JP 33346893 A JP33346893 A JP 33346893A JP 3189139 B2 JP3189139 B2 JP 3189139B2
Authority
JP
Japan
Prior art keywords
bus
data
information
master
address
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
JP33346893A
Other languages
English (en)
Other versions
JPH076124A (ja
Inventor
チャールズ・ロバーツ・モア
ジョン・スティーブン・ミューイク
ロバート・ジェームズ・リーズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH076124A publication Critical patent/JPH076124A/ja
Application granted granted Critical
Publication of JP3189139B2 publication Critical patent/JP3189139B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には処理システ
ムに関し、詳細には複数のバス間で情報を転送するため
の方法およびシステムに関する。
【0002】
【従来の技術】データ処理システムの効率を高めるため
のある技術では、バスを介して共用メモリ装置に接続さ
れた複数の処理装置によって命令が同時に実行される。
1つまたは複数の処理装置が、頻繁にアクセスされる情
報を必要とするたびに共用メモリ装置に再アクセスする
必要がないように、そのような情報を記憶しておくため
の常駐キャッシュ・メモリを持つことができる。複数の
処理装置間に分配された情報の全性、特に1つの処理
装置によって修正された情報の全性を維持するため
に、コヒーレンシ技術が使用される。また1つまたは複
数の処理装置が、バスを介するパイプライン式動作およ
び分割トランザクション動作をサポートすることができ
る。
【0003】従来のいくつかの技術では、複数のバス間
で情報を転送することが試みられた。それにもかかわら
ず、典型的な従来の技術では、特にバスが互いに非同期
的に動作する場合、あるいは1つまたは複数のバスがコ
ヒーレンシ技術、パイプライン式動作、または分割トラ
ンザクション動作をサポートする場合に、解決不可能な
デッドロック状態に陥ることなくそのような情報転送を
確実に実現することができなかった。
【0004】
【発明が解決しようとする課題】したがって、互いに非
同期的に動作する複数のバス間で情報が確実に転送され
る、複数のバス間で情報を転送するための方法およびシ
ステムが必要となった。また、情報転送が、解決不可能
なデッドロック状態に陥らない、複数のバス間で情報を
転送するための方法およびシステムが必要となった。更
に、1つまたは複数のバスがコヒーレンシ技術、パイプ
ライン式動作、または分割トランザクション動作をサポ
ートする、複数のバス間で情報を転送するための方法お
よびシステムが必要となった。
【0005】
【課題を解決するための手段】本発明の方法およびシス
テムは、第1の態様では、複数のバス間で情報を転送す
る。複数の第1バス装置間では、第1のバスを介して情
報を転送する。複数の第2バス装置間では、第2のバス
を介して情報を転送する。第1のバスと第2のバスの間
では、論理手段を介して情報を転送する。論理手段を使
用することにより、第2バス装置が第1バス装置のアク
ション(以下「第1のアクション」ともいう)を待つ間
第1バス装置が第2のバス上で別のアクション(以下
「第2のアクション」ともいう)を待つという潜在的デ
ッドロック状態に応じて、第1のアクションが可能に
る。
【0006】本発明の方法およびシステムは、第2の態
様では、複数のバス間で情報を転送する。複数の第1バ
ス装置間では、第1のバスを介して情報を転送する。第
1バス装置のうちの少なくとも1つが、アドレス段階を
データ段階とは別々に完了することによって情報を転送
する。複数の第2バス装置の間では、第2のバスを介し
て情報を転送する。論理手段を使用してアドレス段階と
データ段階を監視し、それに応じて第1のバスと第2の
バスの間で第1のバスと第2のバスを介した情報の転送
を規制する。
【0007】本発明のこれらの態様の技術的利点は、互
いに非同期的に動作する複数のバス間で情報が確実に転
送されることである。
【0008】本発明のこれらの態様のもう1つの技術的
利点は、情報転送が解決不可能なデッドロック状態に陥
らないことである。
【0009】本発明のこれらの態様のもう1つの技術的
利点は、1つまたは複数のバスがコヒーレンシ技術、パ
イプライン式動作、または分割トランザクション動作を
サポートするように、複数のバス間で情報が転送される
ことである。
【0010】第3の態様では、処理装置がその装置をバ
スおよび制御線に接続するための手段を含む。装置は更
に、複数のデータ段階をそれぞれ関連するアドレス段階
に応じて完了させることにより、バスを介して情報を転
送する装置用の手段を含む。データ段階は、それぞれ関
連するアドレス段階の順序で完了するように順序づけら
れる。更に装置は、制御線の状態に応じて、データ段階
のうちの特定の1つを先行するデータ段階の1つより前
に選択的に完了させる手段を含む。
【0011】本発明のこの態様の技術的利点は、解決不
可能なデッドロック状態に陥ることなく、複数のバス間
で情報を転送するシステム用の処理装置が提供されるこ
とである。
【0012】
【実施例】本発明の好ましい実施例およびその利点は、
図1ないし図7を参照することによって十分に理解され
る。それぞれの図面で同じ部分および対応する部分には
同じ数字を使用する。
【0013】図1は、第1の例示的実施例に従ってバス
12とバス14の間で情報を転送するためのシステム1
0のブロック図である。バス12は、アドレス・バスA
DDRESS(A)およびデータ・バスDATA(A)
を含む。更にバス12は、後述の制御線、すなわちデー
タ・バス書込み専用制御線DBWO(A)、高優先度ス
ヌープ要求制御線HP_SNP_REQ(A)、および
アドレス再試行制御線ARTRY(A)を含む。分かり
やすくするために、バス12の他の制御線は示していな
い。好ましい実施例では、アドレス・バスADDRES
S(A)は32ビット幅、データ・バスDATA(A)
は64ビット幅であり、それぞれ処理装置16および1
8の全クロック速度で動作することができる。
【0014】処理装置16および18はそれぞれ、バス
12のバスADDRESS(A)およびDATA
(A)、ならびに制御線DBWO(A)、HP_SNP
_REQ(A)、およびARTRY(A)に接続されて
いる。入出力装置20は、バス12のバスADDRES
S(A)およびDATA(A)、ならびに制御線ART
RY(A)に接続されている。好ましい実施例では、入
出力装置20はメモリ装置である。代替実施例では、入
出力装置20はディスク記憶装置やバス・インターフェ
ース装置など他のタイプの入出力装置である。
【0015】アービトレーション論理機構22は、制御
線DBWO(A)に接続されている。更にアービトレー
ション論理機構22は、後述のように、バス要求制御線
BR1(A)、アドレス・バス許可制御線BG1
(A)、およびデータ・バス許可制御線DBG1(A)
を介して処理装置16に結合されている。同様に、アー
ビトレーション論理機構は、後述のようにバス要求制御
線BR2(A)、アドレス・バス許可制御線BG2
(A)、およびデータ・バス許可制御線DBG2(A)
を介して処理装置18に結合されている。
【0016】バス14は、アドレス・バスADDRES
S(B)とデータ・バスDATA(B)を含む。例示的
実施例では、バス14はNU−BUSとしての構造を有
する。処理装置24と入出力装置26は、バス14のバ
スADDRESS(B)およびDATA(B)に接続さ
れている。アービトレーション論理機構28は、後述の
ようにバス要求制御線BR1(B)とバス許可制御線B
G1(B)を介して処理装置24に結合されている。
【0017】例示的実施例では、処理装置24はNU−
BUS構造と互換性のあるマイクロプロセッサである。
好ましい実施例では、入出力装置26はメモリ装置であ
る。代替実施例では、入出力装置26は、ディスク記憶
装置やバス・インターフェース装置など他のタイプの入
出力装置である。
【0018】バス間通信論理機構("ICL")34は、
アウトバウンド待ち行列36、インバウンド待ち行列3
8、および制御論理機構40を含む。アウトバウンド待
ち行列36とインバウンド待ち行列38はそれぞれ、バ
スADDRESS(A)、DATA(A)、ADDRE
SS(B)、およびDATA(B)に接続されている。
制御論理機構40は、後述のようにバス要求制御線BR
(I)、アドレス・バス許可制御線BG(I)、データ
・バス許可制御線DBG(I)、およびDEADLOC
K(I)を介して、アービトレーション論理機構22に
結合されている。更に制御論理機構40は、後述のよう
にバス要求制御線BR(O)およびバス許可制御線BG
(O)を介してアービトレーション論理機構28に結合
されている。また制御論理機構40は、バス12の制御
線HP_SNP_REQ(A)とARTRY(A)にも
接続されている。
【0019】処理装置16と処理装置18と入出力装置
20はあいまって、バス12に接続された1組の装置を
形成する。代替実施例では、入出力装置20は、一点鎖
線の囲み42に示されるように、処理装置18と一体に
なっている。他の代替実施例では、この1組の装置は、
バス12に接続される追加の処理装置および入出力装置
を含む。更に他の代替実施例では、処理装置18がバス
12に接続されない。
【0020】処理装置24と入出力装置26はあいまっ
て、バス14に接続された1組の装置を形成する。代替
実施例では、入出力装置26は、一点鎖線の囲み44で
示したように、処理装置24と一体になっている。他の
代替実施例では、この1組の装置は、バス14に接続さ
れた追加の処理装置および入出力装置を含む。
【0021】バス12および14は中央アービトレーシ
ョン装置で制御されないので、バス12を介して転送さ
れる情報と非同期的に情報がバス14を介して転送され
る。バス12は、ICL34、入出力装置20、ならび
に処理装置16および18の間で情報を転送する。アー
ビトレーション論理機構22は、バス12に接続された
潜在的バス・マスタ、すなわちICL34と処理装置1
6および18との間で調停することによって、その情報
転送を同期させる。バス・マスタはアドレス・バスまた
はデータ・バスを制御し、かつトランザクションを開始
または要求することができる。
【0022】トランザクションは、バス装置間での完全
交換である。バス・マスタがアドレス・バスを制御し
ているアドレス段階の間、トランザクションは少くとも
アドレス・トランザクションを含んでいる。更にトラン
ザクションは、交換に関係する1つまたは複数のデータ
段階の間、データ・バス上に1つまたは複数のデータ・
トランザクションを含んでいる。
【0023】各潜在的バス・マスタは、前述したように
関連するバス要求制御線、アドレス・バス許可制御線、
およびデータ・バス許可制御線を介してアービトレーシ
ョン論理機構22に結合される。代替実施例では、追加
の潜在的バス・マスタがバス12に結合され、それぞれ
関連するバス要求制御線、アドレス・バス許可制御線、
およびデータ許可制御線を介してアービトレーション論
理機構22に結合される。
【0024】バス14は、ICL34、入出力装置2
6、および処理装置24の間で情報を転送する。アービ
トレーション論理機構28は、バス14に接続された潜
在的バス・マスタ、すなわちICL34と処理装置24
の間で調停することによって、その情報転送を同期させ
る。各潜在的バス・マスタは、前述したように関連する
バス要求制御線およびバス許可制御線を介してアービト
レーション論理機構28に結合される。代替実施例で
は、追加の潜在的バス・マスタがバス14に接続され、
関連するバス要求制御線、アドレス・バス要求制御線、
およびデータ許可制御線を介してアービトレーション論
理機構28に結合される。
【0025】バス12は、2つのバス・スレーブ、すな
わち入出力装置20とICL34に接続されている。バ
ス14は、2つのバス・スレーブ、すなわち入出力装置
26とICL34に接続されている。したがって、IC
L34は、バス12およびバス14上でバス・マスタと
してとバス・スレーブとしての両方の動作をする。バス
・スレーブは、バス・マスタによってアドレスされる装
置である。バス・スレーブは、アドレス段階の間に識別
され、データ段階の間にバス・マスタ用のデータを発信
または受信する役割を持つ。
【0026】図2ないし図5に、システム10のバス動
作を示す。図2を参照すると、アービトレーション論理
機構28は通常のマイクロプロセッサ・バス・プロトコ
ルをサポートする。処理装置24と入出力装置26の間
の例示的情報転送では、アドレス段階(「保有期間」)
50aの間に、処理装置24がアドレス・バスADDR
ESS(B)上でのアドレス・トランザクションを完了
する。アドレス・バスADDRESS(B)上でのアド
レス・トランザクションに応じて、アドレス段階50a
に関連するデータ段階(「保有期間」)50bの間に、
処理装置24はデータ・バスDATA(B)上でのデー
タ・トランザクションを完了する。同様に後の情報転送
動作は、アドレス段階52a、54a、56aと、それ
に応じてそれぞれに関連するデータ段階52b、54
b、56bを有する。
【0027】図2に示すように、通常のマイクロプロセ
ッサ・バス・プロトコルを用いる場合、アドレス段階5
0aは、それに関連するデータ段階50bが完了するま
で続く。したがって、処理装置24がアドレス段階50
aの間にアドレス・バスADDRESS(B)上でアド
レス・トランザクションを完了した後、関連するデータ
段階50bの間にデータ・バスDATA(B)上でデー
タ・トランザクションを完了するまで、処理装置24は
アドレス・バスADDRESS(B)の制御を放棄しな
い。段階50aおよび50bの間、処理装置24はアド
レス・バスADDRESS(B)とデータ・バスDAT
A(B)を同時に制御する。
【0028】比較すると、アービトレーション論理機構
22は、アドレス・バスADDRESS(A)上のアド
レス段階をデータ・バスDATA(A)上のデータ段階
から分離することをサポートする。このようにして、ア
ービトレーション論理機構22はバス12上でのパイプ
ライン式動作と分割トランザクション動作をサポートす
る。たとえば、処理装置16は第1のトランザクション
が完了する前に、バス12上で第2のトランザクション
を開始することができ、更に、処理装置16はトランザ
クションをアドレス・トランザクションとデータ・トラ
ンザクションとに分割することができる。
【0029】図3を参照すると、処理装置16と入出力
装置20の例示的情報転送では、アドレス段階60a
は、それに関連するデータ段階60bより前に完了する
ので、アドレス段階60aとそれに関連するデータ段階
60bは別々のものになる。そのような分割トランザク
ション動作によって、処理装置16はデータ・バスDA
TA(A)を制御する必要なしにアドレス・バスADD
RESS(A)を制御することができる。
【0030】したがって、処理装置16および18は、
データ・バスDATA(A)を使用せずにアドレス・バ
スADDRESS(A)上でアドレスだけの転送を完了
させ、それによりデータ・バスの帯域幅を保存すること
によって、バスの通信量を最小限に抑えることができ
る。またアドレス段階62aは、それに関連するデータ
段階62bが完了するまで続けることができる。更に、
アドレス段階とデータ段階は別々のものなので、異なる
処理装置用のアドレス段階64aおよび66aは、それ
ぞれに関連するデータ段階64bおよび66bが完了す
る前に完了することができ、それによりプロセッサ間の
パイプライン式動作を達成することができる。そのよう
なパイプライン式動作および分割トランザクション動作
は、データ段階64bおよび66bなどの連続するデー
タ段階を可能にすることによって、データ・バスDAT
A(A)を効率良く使用するので、複数の処理装置のト
ランザクションが、アービトレーション論理機構22か
らの指示に応じてバス12上で効率良くインターリーブ
される。
【0031】図4を参照すると、処理装置16および1
8はそれぞれ、プロセッサ内パイプライン式動作をサポ
ートするための内部待ち行列を有する。処理装置16と
入出力装置20の間の例示的情報転送では、処理装置1
6はアドレス段階70aをそれに関連するデータ段階7
0bより前に完了する。別の例示的情報転送の後のアド
レス段階72aの間に、(前のアドレス段階70aに関
連する)データ段階70bが完了する。またアドレス段
階72aの間に、それ自体に関連するデータ段階72b
が完了する。
【0032】処理装置16の異なる情報転送用のアドレ
ス段階74aおよび76aは、それぞれに関連するデー
タ段階74bおよび76bが完了する前に完了すること
ができる。話を簡単にすると、処理装置16は同時に最
大2つの完了していない(「保留の」)データ段階を許
容する。したがって、2つのデータ段階が完了していな
い場合、処理装置16は2つの保留のデータ段階のうち
の1つを完了するまで別のアドレス段階を完了しない。
代替実施例では、処理装置16は同時に3つ以上の保留
データ段階を許容する。
【0033】図3を参照すると、バス12のプロトコル
は一般に、データ段階60b、62b、64b、66b
が、それぞれに関連するアドレス段階60a、62a、
64a、66aの順序で完了することを必要とする。同
様に、図4を参照すると、処理装置16は、設計によ
り、データ段階70b、72b、74b、76bを、そ
れらに関連するアドレス段階70a、72a、74a、
76aの順序で完了する。
【0034】それにもかかわらず、図5を参照すると、
順序外れの分割トランザクションが、後述する特定の状
況でアービトレーション論理機構22、ICL34、な
らびに処理装置16および18によってサポートされて
好都合である。そのような状況では、データ段階80
b、82b、84b、86bを、それぞれに関連するア
ドレス段階80a、82a、84a、86aの順序で完
了する必要がない。図5に示したように、アドレス段階
84aがアドレス段階86aより前に完了したとして
も、データ段階86bはデータ段階84bより前に完了
する。このようにして、アドレス段階86aおよびそれ
に関連するデータ段階86bに関する情報転送は、アド
レス段階84aおよびそれに関連するデータ段階84b
に関する情報転送の中に「包含」される。
【0035】各アドレス段階およびデータ段階は、アー
ビトレーション、転送、終了の3つの段階を含む。アド
レス段階におけるアービトレーション段階の間に、アー
ビトレーション論理機構22はバス・アービトレーショ
ン信号に応答してバス・マスタにアドレス・バスADD
RESS(A)の許可を与える。データ段階におけるア
ービトレーション段階の間に、アービトレーション論理
機構22はデータ・バスDATA(A)の制御をバス・
マスタに与える。複数の潜在的バス・マスタが、バス1
2の共用資源を求めて競合することがある。アービトレ
ーション論理機構22は、公正プロトコルまたは他のプ
ロトコルをサポートする。更に、アービトレーション論
理機構22はバス・マスタを転送先保留してアービトレ
ーション・オーバーヘッドを最小にすることができるの
で、バス・マスタはバスに関して調停する必要なしにバ
スを制御する。
【0036】アドレス段階における転送段階の間に、バ
ス・マスタによって、ハンドシェイク線とアドレス・バ
スADDRESS(A)が動作される。データ段階にお
ける転送段階の間に、バス・マスタはデータ・バスDA
TA(A)をサンプリングまたは駆動する。終了段階の
間に、その段階が終了されまたは再試行を求める信号が
送られる。
【0037】明らかに、バス14およびアービトレーシ
ョン論理機構28のプロトコルは、パイプライン式動作
および分割トランザクション動作をサポートすることが
できない。好都合にも、バス12および14は非同期的
に動作し、中央アービトレーション装置の制御を受けな
いので、バス12はバス14と直接的にはリンクしな
い。このようにして、バス12と処理装置16と処理装
置18におけるパイプライン式動作と分割トランザクシ
ョンの利点が、バス12がバス14に直接的にリンクす
ることによって犠牲にされることはない。
【0038】図6は、処理装置16のシステム・インタ
ーフェース100の概念的ブロック図である。処理装置
18は処理装置16と同じ設計である。システム・イン
ターフェース100は、統合キャッシュ・メモリ104
とアドレス・バスADDRESS(A)の間に結合され
たスヌープ論理機構102を含む。
【0039】キャッシュ・メモリ104は、命令とデー
タの両方を記憶する。キャッシュ・メモリ104は8重
セット連想性を有し、物理的にアドレス指定され索引づ
けされる32キロバイトのキャッシュである。キャッシ
ュ・メモリ104は、128セクタの8つの組に編成さ
れている。16ワードのキャッシュ行はそれぞれ、2つ
の8ワード・セクタを含む。2つのセクタは連続するメ
モリ・アドレスをキャッシュし、それに応じて共通行の
アドレス・タグを共有する。キャッシュ・コヒーレンシ
は、セクタの細分性によって維持される。
【0040】アドレス変換/制御論理機構110は、キ
ャッシュ・メモリ104、読取り待ち行列106、およ
び記憶待ち行列108に結合されている。更にアドレス
変換/制御論理機構110は、命令取出し機構112お
よび実行装置114にも結合されている。実行装置11
4は、浮動小数点処理装置、固定小数点処理装置、およ
びブランチ処理装置を含む。
【0041】スヌープ論理機構102は、キャッシュ・
メモリ104にコヒーレンシを与えるために、バス12
のトランザクションを「詮索(スヌープ)」する。コヒ
ーレンシは、処理装置間で共用される情報の全性、特
に処理装置によって修正された情報の全性を維持する
ための機構である。コヒーレンシを得るために、処理装
置16は、バス12上のトランザクションを監視して
「詮索」し、キャッシュ・メモリ104、読取り待ち行
列106、および記憶待ち行列108にコヒーレンシ動
作が必要であるかどうかを決定する。
【0042】システム・インターフェース100はさら
に、それぞれアドレス変換/制御論理機構110とアド
レス・バスADDRESS(A)の間に結合された、読
取り待ち行列106および記憶待ち行列108を含む。
【0043】図1に関する例と同様に、処理装置16は
入出力装置20の特定のアドレスから情報を入力する。
処理装置16はその情報を修正してキャッシュ・メモリ
104に記憶する。後で、処理装置18が入出力装置2
0のその特定のアドレスから情報を入力しようと試み
る。処理装置16のスヌープ論理機構102はアドレス
を「詮索」し、キャッシュ・メモリ104が、詮索され
たアドレスに、入出力装置20内の関連する情報に対し
て修正された状態で情報を記憶していると判定する。
【0044】この一致に応じて、処理装置16はART
RY(A)をアサートして、キャッシュ・メモリ104
内の修正された情報との一致を処理装置18に通知す
る。処理装置16は、処理装置18が修正された情報へ
のアクセスを必要とすることを認識しているので、入出
力装置20の特定のアドレスへの、修正された情報のバ
ースト書込み逆複写(「スヌープ・プッシュ」)を実行
する。次に、処理装置18は、情報を入出力装置20の
特定のアドレスから首尾よく入力する。
【0045】処理装置のトランザクションは、複数のア
ドレスまたはデータのビートを含むことができる。バー
ストは通常、合計サイズがキャッシュ・セクタに等しい
複数のビート情報転送である。ビートは通常、複数のバ
ス・サイクルにわたることのできる処理装置インターフ
ェース上の単一状態である。バス・サイクルは、通常バ
ス・サンプリング速度によって定義される周期である。
【0046】キャッシュ・コヒーレンシはセクタ細分性
で維持されるので、キャッシュ・メモリ104の各セク
タごとに別々のコヒーレンシ状態ビットが維持される。
ある行の第1のセクタがメモリからの情報で満杯になっ
ているとき、処理装置16は、優先順位が最低のバス動
作として第2セクタのロードを試みることができる(動
的再ロード動作と呼ぶ)。
【0047】キャッシュ・メモリ104は、取出しおよ
びロード/記憶動作用に、アドレス変換/制御論理機構
110専用の1つのポートを有する。またキャッシュ・
メモリ104は、バス12上のトランザクションの詮索
用に、スヌープ論理機構102専用の追加のポートを有
する。したがって、スヌープ動作が、処理装置16の取
出しおよびロード/記憶動作を妨げることはない。
【0048】システム・インターフェース100の読取
り待ち行列106および記憶待ち行列108は、アドレ
ス・パイプライン化、詮索、書込み緩衝記憶などの機能
をサポートする。読取り待ち行列106は2つの読取り
待ち行列要素、すなわち読取り待ち行列要素AおよびB
を含む。読取り待ち行列要素AおよびBは全体として、
最高2つの保留読取り動作を緩衝記憶することができ
る。
【0049】記憶待ち行列108は3つの記憶待ち行列
要素、すなわち記憶待ち行列要素SNOOP、Aおよび
Bを含む。記憶待ち行列要素AおよびBは記憶動作とセ
クタ置換キャストアウトを緩衝記憶するので、セクタ置
換をキャッシュ・メモリ104から入出力装置20への
修正済みセクタの逆複写より前に行うことができる。
【0050】記憶待ち行列要素SNOOPは、スヌープ
・プッシュ動作(後述する)を、待ち行列の記憶待ち行
列要素AおよびB内の動作より前に入れる。スヌープ・
プッシュ動作が必要なとき、ICL34がHP_SNP
_REQ(A)をアサートしている場合、処理装置16
はスヌープ・プッシュ動作を記憶待ち行列要素SNOO
P内に置く。そうでない場合は、処理装置16はスヌー
プ・プッシュ動作を記憶待ち行列要素AおよびB内に置
く。
【0051】再び図1を参照すると、前述のようにアー
ビトレーション論理機構22およびコヒーレンス技術に
よって、複数の潜在的バス・マスタ(処理装置16、処
理装置18、ICL34)がバス12上でサポートされ
る。また、複数の潜在的バス・マスタ(処理装置24、
ICL34)が、バス14の共用資源を求めて競合する
ことができる。アービトレーション論理機構28は、公
平プロトコルまたは他のプロトコルをサポートし、バス
・マスタを「転送先保留」して、 アービトレーション
のオーバーヘッドを最小限に抑えることができる。
【0052】マルチプロセッサ・ソフトウェア・サポー
トは、原子的なメモリ動作によって提供される。たとえ
ば原子的バス・アクセスによって、同じアドレスに対す
る読取り・書込み動作の一部分となるように試みること
ができる。その場合、他のバス・マスタがアクセスする
ことによって、処理装置に排他的アクセスを放棄させる
ことはない。処理装置は、読取りと書込みを別々に開始
するが、原子的動作を試みているとメモリ・システムに
通知する。動作が失敗した場合は、状況が保存されるの
で、処理装置は再び試みることができる。
【0053】バス12を参照すると、潜在的バス・マス
タ(処理装置16、処理装置18、ICL34)はバス
要求線(BR1(A)、BR2(A)、BR(I))を
アサートして、潜在的バス・マスタがアドレス・バスA
DDRESS(A)の制御を要求していることを示す。
潜在的バス・マスタは、バス・トランザクションを実行
する必要があるとき、バス要求線を連続的にアサートす
る。転送先保留している場合、バス・マスタはバス要求
線をアサートしない。バス要求線は、パイプラインが満
杯の場合にアサートすることができる。
【0054】潜在的バス・マスタはそのバス要求線を否
定して、潜在的バス・マスタがアドレス・バスADDR
ESS(A)の制御を要求していないことを示す。その
ような状況では、バス・マスタが保留バス動作を有さな
い、またはバス・マスタが転送先保留されている、また
はARTRY(A)線がバス12の前のサイクルで既に
アサートされている可能性がある。潜在的バス・マスタ
は、別のトランザクションが保留になっている場合で
も、アービトレーション論理機構22からの受諾された
有資格のバス許可の後、少なくとも1バス・サイクルの
間バス要求線を否定する。また潜在的バス・マスタは、
ARTRY(A)線がアサートされるのに応じて、少な
くとも1バス・サイクルの間そのバス要求線を否定す
る。
【0055】潜在的バス・マスタがバス要求線をアサー
トするの応じて、アービトレーション論理機構22は
潜在的バス・マスタのバス許可線(BG1(A)、BG
2(A)、BG(I))をアサートして、潜在的バス・
マスタは適切な資格でバス12の次のサイクルでのアド
レス・バスADDRESS(A)の制御を引き受けるこ
とができることを示す。アービトレーション論理機構2
2は、いつでもバス許可線をアサートすることができ
る。バス・マスタは、第2のトランザクションを実行す
る必要がある場合、第1のトランザクションのアドレス
段階が完了した後に、そのバス許可線の有資格のアサー
トについて再び検査する。潜在的バス・マスタがバス許
可線を否定すると、潜在的バス・マスタが、バス12の
次のサイクルでアドレス・バスADDRESS(A)の
使用を始めるのを許可されていないことを示す。アービ
トレーション論理機構22は一時にバス許可線のうちの
1本だけをアサートするので、アドレス・バスADDR
ESS(A)は一時に潜在的バス・マスタのうちの1つ
だけの制御を受ける。
【0056】制御線ARTRY(A)は双方向信号線な
ので、潜在的バス・マスタは、他の潜在的バス・マスタ
がバス動作を再試行するのを許可することができる。潜
在的バス・マスタは、キャッシュ/メモリのコヒーレン
シのためにまたはハードウェアの待ち行列問題のために
ARTRY(A)をアサートする。たとえばICL34
は、アウトバウンド待ち行列36が満杯の場合にART
RY(A)をアサートすることができる。
【0057】潜在的バス・マスタは、御線ARTRY
(A)をアサートして、潜在的バス・マスタが詮索され
たアドレス段階を再実行すべき条件を検出していること
を示す。潜在的バス・マスタが詮索の結果として情報を
入出力装置20に逆複写する必要がある場合、前述のよ
うに潜在的バス・マスタはそのバス要求線をアサートす
る。制御線ARTRY(A)がアサートされないと、詮
索されたアドレス段階を再実行する必要がないことを示
す。
【0058】バス・マスタが現在アドレス・バスADD
RESS(A)を制御している場合、ARTRY(A)
をアサートすると、ARTRY(A)の否定後1バス・
サイクルまで、バス・マスタがそのバス要求線をただち
に否定すべきであることを示す。そのとき、バス・マス
タは詮索されたアドレス段階の再実行を試みるべきであ
る。ARTRY(A)を否定すると、バス・マスタが詮
索されたアドレス段階を再実行する必要がないことを示
す。
【0059】潜在的バス・マスタが現在アドレス・バス
ADDRESS(A)を制御していない場合、ARTR
Y(A)をアサートすると、ARTRY(A)の否定後
1バス・サイクルまで、潜在的バス・マスタがそのバス
要求線をただちに否定するべきであることを示す。
【0060】アービトレーション論理機構22は、潜在
的バス・マスタのデータ・バス許可線(DBG1
(A)、DBG2(A)、DBG(I))をアサートし
て、潜在的バス・マスタがバス12の次のサイクルでデ
ータ・バスDATA(A)の制御を適切な資格で引き受
けることができることを示す。アービトレーション論理
機構22はいつでもデータ許可線をアサートすることが
できる。潜在的バス・マスタがデータ・バス許可線を否
定すると、潜在的バス・マスタが、バス12の次のサイ
クルでデータ・バスDATA(A)の使用を始めるのを
許可されていないことを示す。
【0061】アービトレーション論理機構22は、バス
許可線(BG1(A)、BG2(A)、BG(I))お
よびデータ・バス許可線(DBG1(A)、DBG2
(A)、DBG(I))を選択的にアサートし否定する
ことによって、パイプライン動作に影響を及ぼす。処理
装置16はそれ自体のバス動作をあるレベルの深さまで
パイプライン化(プロセッサパイプライン化)する
とができるが、バス12上で生じ得る複数の潜在的バス
・マスタ間のパイプライン化(プロセッサ間パイプライ
ン化)の最大レベル数には制約がない。
【0062】ICL34は、バス12上のバス・スレー
ブとして、バス12からの読取り命令および書込み命令
をバス14向けに入力し、ICL34はその命令をアウ
トバウンド待ち行列36内に置く。ICL34は、バス
14上のバス・マスタとして、バス14のバスADDR
ESS(B)およびDATA(B)の制御権を獲得する
ためにアービトレーション論理機構28へのBR(O)
をアサートする。ICL34がBR(O)をアサートす
るのに応じて、アービトレーション論理機構28は適切
な時間にBG(O)をアサートすることによって、IC
L34にバス14の制御を与える。アービトレーション
論理機構28がBG(O)をアサートするのに応じて、
ICL34はアウトバウンド待ち行列36内の1つまた
は複数の命令を実行する。
【0063】ICL34は、バス14上のバス・スレー
ブとして、バス12に向かうバス14から読取り命令
および書込み命令を入力し、ICL34はその命令をイ
ンバウンド待ち行列38内に置く。ICL34は、バス
12上のバス・マスタとして、バス12のバスADDR
ESS(A)の制御権を獲得するためにアービトレーシ
ョン論理機構22へのBR(I)をアサートする。IC
L34がBR(I)をアサートするのに応じて、アービ
トレーション論理機構22は適切な時間にBG(I)を
アサートすることによって、ICL34にADDRES
S(A)の制御を与える。アービトレーション論理機構
22がBG(I)をアサートするのに応じて、ICL3
4はインバウンド待ち行列38内の1つまたは複数の命
令に関するアドレス段階を完了する。後の適切な時間
に、アービトレーション論理機構22はDBG(I)を
アサートすることによって、ICL34にDATA
(A)の制御を与える。アービトレーション論理機構2
2がDBG(I)をアサートするのに応じて、ICL3
4は以前に完了したアドレス段階に関連するデータ段階
を完了する。
【0064】ICL34は、バス12上のバス・マスタ
として、制御線HP_SNP_REQ(A)をアサート
する。HP_SNP_REQ(A)のアサートに応じ
て、処理装置16は必要とされるスヌープ・プッシュ動
作を記憶待ち行列108(図6)内の優先順位が最高の
動作として記憶待ち行列要素SNOOP内に置き、した
がってそのスヌープ・プッシュ動作がバス12に関して
処理装置16によって待ち行列に入れられる次の動作と
なる。
【0065】図3ないし図5に関して前に説明したよう
に、バス12のプロトコルは通常、データ段階がそれぞ
れに関連するアドレス段階の順序で完了することを必要
とする。同様に、処理装置16は設計により、データ段
階をそれぞれに関連するアドレス段階の順序で完了す
る。それにもかかわらず、図5に関して前に説明したよ
うに、特定の状況では、順序外れの分割トランザクショ
ンがアービトレーション論理機構22、ICL34、な
らびに処理装置16および18によってサポートされて
好都合である。
【0066】そのような順序外れの分割トランザクショ
ンをサポートするために、アービトレーション論理機構
22は制御線DBWO(A)をアサートする。アービト
レーション論理機構22が制御線DBWO(A)および
DBG1(A)をアサートするのに応じて、処理装置1
6は、保留読取りデータ段階用ではなく保留書込みデー
タ段階用にデータ・バスDATA(A)の制御を引き受
ける。そのような状況でデータ・バスDATA(A)の
制御を引き受けた後、処理装置16は(前に完了した読
取りアドレス段階に関連する)保留読取りデータ段階を
完了する前に(前に完了した書込みアドレス段階に関
連する)保留書込みデータ段階を完了する。このような
動作は、関連する書込みアドレス段階が関連する読取り
アドレス段階より後にくる場合でも、行うことができる
のである。
【0067】このようにして、書込みアドレス段階およ
びそれに関連する書込みデータ段階に関する情報転送
が、読取りアドレス段階およびそれに関連する読取りデ
ータ段階に関する情報転送中に「包含」される。これに
より、読取り動作の中に書込み動作が効果的に「包含」
される。書込み動作はスヌープ・プッシュ動作でもよ
い。同様に、アービトレーション論理機構22が制御線
DBWO(A)およびDBG2(A)をアサートするの
に応じて、処理装置18は保留書込みデータ段階用にデ
ータ・バスDATA(A)の制御を引き受ける。
【0068】次の一連の事象は例示的な動作を表す。す
なわち、(1)処理装置16がアドレス再試行なしに読
取りアドレス段階を首尾よく完了して読取り動作を開始
し、したがって関連する読取りデータ段階が保留にな
る。(2)処理装置16がアドレス再試行なしに書込み
アドレス段階を首尾よく完了して書込み動作を開始し、
したがって関連する書込みデータ段階が保留になる。
(3)アービトレーション論理機構22が制御線DBW
O(A)およびDBG1(A)をアサートする。(4)
処理装置16が、読取り動作の中に保留書込み動作を
「包含」するので、書込みデータ段階が読取りデータ段
階に対して順序外れで完了する。(5)アービトレーシ
ョン論理機構22がDBWO(A)をアサートせずに制
御線DBG1(A)をアサートする。(6)処理装置1
6が保留読取りデータ段階を完了する。これらのどの事
象の間でも、他の潜在的バス・マスタはバス動作をいく
つでも試みることができる。
【0069】DBWO(A)のアサートの後、潜在的バ
ス・マスタが保留書込みデータ段階を有することをアー
ビトレーション論理機構22が検証するまで、アービト
レーション論理機構22は潜在的バス・マスタのデータ
・バス許可線をアサートしない。DBWO(A)を否定
すると、各潜在的バス・マスタが、データ段階をそれぞ
れに関連するアドレス段階の順序で完了すべきであるこ
とを示す。
【0070】アービトレーション論理機構22は、潜在
的バス・マスタが保留読取りデータ段階を有さない場合
でもDBWO(A)をアサートすることができるが、そ
のようなDBWO(A)のアサートは書込みデータ段階
が完了される順序に対して効果をもたない。順序づけ段
階および書込みデータ段階は、DBG1(A)がいつア
サートされるかにかかわらず、BG1(A)がアサート
されるときの記憶待ち行列108(図6)内の記憶動作
の順序によって決定される。
【0071】複数の書込み動作を1つの読取り動作中に
包含することができる。たとえば、スヌープ・プッシュ
動作は優先順位が最高の書込み動作であるが、特定の時
間に複数のスヌープ・プッシュ動作が記憶待ち行列10
8内にあり得る。そのような状況では、複数のスヌープ
・プッシュ動作を1つの読取り動作中に包含することが
できる。
【0072】アービトレーション論理機構22はバス1
2上の動作を監視し、バス12に関するバス・マスタの
アクションとバス・スーブのアクションを同期させ
る。制御のために、処理装置16および18、アービト
レーション論理機構22、ならびにICL34は、アク
ションを特のバス・トランザクションのタイプとして
認識する。パイプライン式トランザクション、分割トラ
ンザクション、および順序外れのトランザクションをサ
ポートしかつ同期させるために、アービトレーション論
理機構22は制御線DBWO(A)、ならびに各潜在的
バス・マスタの個々のバス要求線、バス許可線、および
データ・バス許可線を使用する。データ段階をそれに関
連するアドレス段階に対して順序外れ完了するため
に、アービトレーション論理機構22は順序外れのデー
タ段階をその元になるアドレス段階と関連付ける。
【0073】重要なことであるが、システム10は、通
信論理回路(アービトレーション論理機構22とICL
34を含む)を介するバス12とバス14の間での情報
転送をサポートする。バス14およびアービトレーショ
ン論理機構28のプロトコルは、パイプライン式動作お
よび分割トランザクション動作をサポートしない。好都
合にも、バス12および14は非同期的に動作し、中央
アービトレーション装置の制御を受けないので、バス1
2はバス14と直接的にはリンクしない。このようにし
て、バス12ならびに処理装置16および18のパイプ
ライン化および分割トランザクションの利点が、バス1
2をバス14に直接的にリンクすることによって犠牲に
されることはない。
【0074】通信論理回路(アービトレーション論理機
構22とICL34を含む)は、バス12と、非パイプ
ライン式の非分割トランザクション・バスであるバス1
4との間で情報を転送する。そのようなバス間転送に関
して、デッドロック状態が生じ得るのは、バス14に接
続された第2の処理装置(処理装置24など)がバス1
2に接続された第1の処理装置(処理装置16など)の
第1のアクションを待つ間に、第1の処理装置が第2の
処理装置の第2のアクションを待つような場合である
そのようなデッドロック状態に応じて、通信論理回路
(アービトレーション論理機構22とICL34を含
む)は制御線DBWO(A)とDEADLOCK(I)
を使用して、バス12に接続された第1の処理装置の
1のアクションを可能にすることによってデッドロック
状態を解決する。
【0075】次の一連の事象は、例示的なデッドロック
状態および通信論理回路(アービトレーション論理機構
22とICL34を含む)によるその解決を表す。
【0076】事象1。処理装置18が、読取りアドレス
段階をアドレス再試行なしに首尾よく完了して、入出力
装置26における情報を読み取るために読取り動作を開
始し、したがって関連する読取りデータ段階が保留とな
り、読取り命令がICL34によってアウトバウンド待
ち行列36内に置かれる。
【0077】事象2。処理装置24が、読取りアドレス
・トランザクションを首尾よく完了して入出力装置20
で情報を読み取るために読取り動作を開始し、したがっ
て読取り命令がICL34によってインバウンド待ち行
列38内に置かれる。バス14およびアービトレーショ
ン論理機構28のプロトコルはパイプライン式動作およ
び分割トランザクション動作をサポートしないので、処
理装置24は読取りアドレス・トランザクションを完了
した後もアドレス・バスADDRESS(B)の制御を
放棄しない。その代わりに、処理装置24は、データ・
バスDATA(B)上でデータ・トランザクションの完
了を待つ間、アドレス・バスADDRESS(B)とデ
ータ・バスDATA(B)を同時に制御する。
【0078】事象3。ICL34の制御論理機構40
が、アウトバウンド待ち行列36とインバウンド待ち行
列38の両方にメモリ命令があるのに応じて潜在的デッ
ドロック状態を検出する。それによって、制御論理機構
40はアービトレーション論理機構22への制御線DE
ADLOCK(I)をアサートする。
【0079】事象4。話を簡単にすると、処理装置18
は同時に最大2つの保留データ段階を許容する。したが
って、DEADLOCK(I)のアサートに応じて、か
つ処理装置18が既に保留読取りデータ段階を有する
(事象1に関して前述した)のに応じて、アービトレー
ション論理機構22は、(a)BG2(A)を使用し
て、スヌープ・プッシュ動作以外の後続のどんなバス動
作についても、処理装置18にアドレス・バスADDR
ESS(A)の制御を与えないことができ、または
(b)処理装置18にアドレス・バスADDRESS
(A)の制御を与えるが、メモリへの書込み動作ではな
いあらゆる動作に応じてARTRY(A)をアサートす
ることもできる。これら2つの方式のうちの1つによっ
て、アービトレーション論理機構22は、必要とされる
スヌープ・プッシュ動作のために、処理装置18に2つ
の許容される保留データ段階のうちの1つを取っておか
せる。
【0080】事象5。ICL34は、バス12上のバス
・マスタとして、バス12のバスADDRESS(A)
の制御を獲得するためにアービトレーション論理機構2
2へのBR(I)をアサートする。ICL34がBR
(I)をアサートするのに応じて、アービトレーション
論理機構22は、適切な時間にBG(I)をアサートし
て、ICL34にADDRESS(A)の制御を与え
る。アービトレーション論理機構22がBG(I)をア
サートするのに応じて、ICL34はHP_SNP_R
EQ(A)をアサートし、インバウンド待ち行列38内
の読取り命令(事象2に関して前述した)用のアドレス
段階を完了する。
【0081】事象6。処理装置18がアドレスを「詮
索」し、そのキャッシュ・メモリが、詮索されたアドレ
スに入出力装置20内の関連する情報に対して修正され
た状態の情報を記憶していると判定する。この一致に応
じて、処理装置18はARTRY(A)をアサートし、
キャッシュ・メモリ内の修正された情報との一致をIC
L34に通知する。
【0082】事象7。ICL34が修正された情報への
アクセスを必要とすることを処理装置18が認識し、か
つHP_SNP_REQ(A)がアサートされるので、
処理装置18はスヌープ・プッシュ動作を記憶待ち行列
内の(図6に関連して前に説明した)優先順位が最高の
動作として記憶待ち行列要素SNOOP内に置き、した
がってそのスヌープ・プッシュ動作はバス12に関して
処理装置18によって待ち行列に入れられる次の動作と
なる。
【0083】事象8。ARTRY(A)のアサートに応
じて、処理装置18を除くバス12上の他の全ての潜在
的バス・マスタはあらゆるバス要求を撤回する。処理装
置18がARTRY(A)をアサートしたので、処理装
置18はBR2(A)をアサートする。BR2(A)の
アサートに応じて、アービトレーション論理機構22は
BG2(A)をアサートする。BG2(A)のアサート
に応じて、処理装置18はアドレス再試行なしに書込み
アドレス段階を首尾よく完了してスヌープ・プッシュ動
作(事象7に関連して前に説明した)を開始し、したが
って書込みデータ段階は保留される。
【0084】事象1ないし事象8から、デッドロック状
態が生じる。事象8の後、処理装置18は2つの保留デ
ータ段階を有する。第1の保留データ段階は、処理装置
24の第2のアクション、すなわち処理装置24による
アドレス・バスADDRESS(B)およびデータ・バ
スDATA(B)の制御の放棄を待つ間、処理装置18
によって延期された読取りデータ段階である。処理装置
24がADDRESS(B)およびDATA(B)の制
御を放棄するまで、ICL34は、事象1で処理装置1
8によって開始された読取り動作に応じて、入出力装置
26から情報を読み取ることができない。ICL34が
その情報を読み取ることができるようになるまで、処理
装置18は第1の保留データ段階を完了しない。第2の
保留データ段階は、第1の保留データ段階の完了を待つ
間、処理装置18によって延期された書込みデータ段階
である。
【0085】それにもかかわらず、処理装置24は処理
装置18の第1のアクション、すなわち処理装置18が
第2の保留データ段階を完了するのを待つ。処理装置1
8が第2の保留データ段階を完了するまで、ICL34
は、事象2の処理装置24によって開始される読取り動
作に応じて入出力装置20から情報を読み取ることがで
きない。ICL34がその情報を読み取ることができる
ようになるまで、処理装置24はアドレス・バスADD
RESS(B)およびデータ・バスDATA(B)の制
御を放棄しない。
【0086】好ましい実施例の重要な一態様では、バス
・アービトレーション論理機構22は、(1)後に保留
書込みデータ段階が続く保留読取りデータ段階を処理装
置18が有すること、および(2)潜在的デッドロック
状態を示すためにICL34がDEADLOCK(I)
をアサートしていることを検出する。そのような状況で
は、バス・アービトレーション論理機構22は、DBG
2(A)をアサートし同時にDBWO(A)をアサート
することによって、データ・バスDATA(A)の制御
を処理装置18に与えるので好都合である。DBG2
(A)およびDBWO(A)のアサートに応じて、処理
装置18は読取り動作内に保留スヌープ・プッシュ動作
を「包含」し、したがって保留書込みデータ段階は保留
読取りデータ段階に対して順序外れで完了する。
【0087】そのとき、処理装置18は残った1つの保
留読取りデータ段階を有し、ICL34も保留読取りデ
ータ段階を有する。アービトレーション論理機構22が
DATA(A)の制御を処理装置18に与える場合、デ
ッドロック状態は継続する。したがって、ICL34が
DEADLOCK(I)を引き続きアサートするのに応
じて、アービトレーション論理機構22はDBG(I)
をアサートすることによってDATA(A)の制御をI
CL34に与える。
【0088】DBG(I)のアサートに応じて、ICL
34は、事象2で処理装置24によって開始された読取
り動作に従って、データ・バスDATA(A)を介して
入出力装置20から情報を読み取る。ICL34は次い
でデータ・バスDATA(B)を介して処理装置24に
その情報を転送し、DEADLOCK(I)を否定す
る。
【0089】処理装置24はその情報を入力して読取り
動作を完了した後、アドレス・バスADDRESS
(B)とデータ・バスDATA(B)の制御を放棄す
る。処理装置24がそのバス14の制御を放棄した後、
アービトレーション論理機構28はICL34がBR
(O)をアサートするのに応じてBG(O)をアサート
することによって、バス14の制御をICL34に与え
る。次いでICL34は、事象1で処理装置18によっ
て開始された読取り動作に従って、入出力装置26から
情報を読み取る。
【0090】DEADLOCK(I)がアサートされな
いので、アービトレーション論理機構22はDBWO
(A)をアサートせずにDBG2(A)をアサートし
て、DATA(A)の制御を処理装置18に与える。D
BG2(A)のアサートに応じて、処理装置18は、事
象1で処理装置18によって開始される読取り動作に従
って、データ・バスDATA(A)を介してICL34
から情報を入力し、したがって処理装置18の保留読取
りデータ段階が終了する。
【0091】図7は、システム10の第2の例示的実施
例のブロック図である。図7では、システム10は、処
理装置24、入出力装置26、およびアービトレーショ
ン論理機構28が置き換えられている点を除けば図1と
同じである。その代わりに図7では、処理装置120、
処理装置122、入出力装置124、およびアービトレ
ーション論理機構126がある。
【0092】処理装置120および122は処理装置1
6および18と同じ設計である。更に、アービトレーシ
ョン論理機構126はアービトレーション論理機構22
と同じ設計である。図7に示す通り、バス14はバス1
2と同じ設計である。バス14は、アドレス・バスAD
DRESS(B)、データ・バスDATA(B)、制御
線ARTRY(B)、HP_SNP_REQ(B)、お
よびDBWO(B)を含む。同様に、図7の制御線DE
ADLOCK(O)、DBG(O)、BG(O)、およ
びBR(O)は、制御線DEADLOCK(I)、DB
G(I)、BG(I)、およびBR(I)とそれぞれ同
じ設計である。
【0093】図7に示したシステム10に関して、以下
の一連の事象は、例示的なデッドロック状態および通信
論理回路(アービトレーション論理機構22、アービト
レーション論理機構126、ICL34を含む)による
その解決法を記述したものである。
【0094】事象1。処理装置18は、アドレス再試行
なしに読取りアドレス段階を首尾よく完了して、入出力
装置124における情報を読み取るための読取り動作を
開始し、したがって関連する読取りデータ段階は保留さ
れ、読取り命令はICL34によってアウトバウンド待
ち行列36に置かれる。
【0095】事象2。処理装置120は、アドレス再試
行なしに読取りアドレス段階を首尾よく完了して、入出
力装置20における情報を読み取るために読取り動作を
開始し、したがって関連する読取りデータ段階は保留さ
れ、読取り命令はICL34によってインバウンド待ち
行列38に置かれる。
【0096】事象3。ICL34の制御論理機構40
は、メモリ命令が同時にアウトバウンド待ち行列36と
インバウンド待ち行列38の両方にあるのに応じて、潜
在的デッドロック状態を検出する。したがって、制御論
理機構40はアービトレーション論理機構22への制御
線DEADLOCK(I)をアサートし、アービトレー
ション論理機構126への制御線DEADLOCK
(O)をアサートする。
【0097】事象4。DEADLOCK(I)がアサー
トされ、かつ処理装置18が既に保留読取りデータ段階
を有するのに応じて、アービトレーション論理機構22
は、必要なスヌープ・プッシュ動作のために2つの許容
される保留データ段階のうちの1つを処理装置18に取
っておかせる。あるいは、DEADLOCK(O)がア
サートされ、かつ処理装置120が既に保留読取りデー
タ段階を有するのに応じて、アービトレーション論理機
構126は、必要なスヌープ・プッシュ動作のために2
つの許容される保留データ段階のうちの1つを処理装置
120に取っておかせる。
【0098】事象5。ICL34は、バス12のバス・
マスタとして、バス12のバスADDRESS(A)の
制御を獲得するためにアービトレーション論理機構22
へのBR(I)をアサートする。ICL34がBR
(I)をアサートするのに応じて、アービトレーション
論理機構22はBG(I)をアサートして、適切な時間
にICL34にADDRESS(A)の制御を与える。
アービトレーション論理機構22がBG(I)をアサー
トするのに応じて、ICL34はHP_SNP_REQ
(A)をアサートし、インバウンド待ち行列38内の読
取り命令(事象2に関して前述した)用のアドレス段階
を完了する。
【0099】事象6。処理装置18はアドレスを「詮
索」し、そのキャッシュ・メモリが情報を入出力装置2
0内の関連する情報に対して修正された状態でスヌープ
されたアドレスに記憶していると判定する。この一致に
応じて、処理装置18はARTRY(A)をアサートし
て、キャッシュ・メモリ内の修正された情報との一致を
ICL34に知らせる。
【0100】事象7。ICL34が修正された情報への
アクセスを必要とすることを処理装置18が認識し、か
つHP_SNP_REQ(A)がアサートされたので、
処理装置18は記憶待ち行列要素SNOOP内のスヌー
プ・プッシュ動作を優先順位が最高の動作としてその記
憶待ち行列内に置き、したがってそのようなスヌープ・
プッシュ動作が、バス12に関して処理装置18によっ
て待ち行列に入れられる次の動作となる。
【0101】事象8。ARTRY(A)のアサートに応
じて、処理装置18を除くバス12上の他の全ての潜在
的バス・マスタは、あらゆるバス要求を撤回する。処理
装置18がARTRY(A)をアサートしたので、処理
装置18はBR2(A)をアサートする。BR2(A)
のアサートに応じて、アービトレーション論理機構22
はBG2(A)をアサートする。BG2(A)のアサー
トに応じて、処理装置18はアドレス再試行なしで書込
みアドレス段階を首尾よく完了して、スヌープ・プッシ
ュ動作を開始し、したがって書込みデータ段階は保留さ
れる。
【0102】事象9。ICL34は、バス14上のバス
・マスタとして、バス14のバスADDRESS(B)
の制御を獲得するためにアービトレーション論理機構1
26にBR(O)をアサートする。ICL34がBR
(O)をアサートするのに応じて、アービトレーション
論理機構126はBG(O)をアサートすることによっ
て適切な時間にICL34にADDRESS(B)の制
御を与える。アービトレーション論理機構126がBG
(O)をアサートするのに応じて、ICL34はHP_
SNP_REQ(B)をアサートし、アウトバウンド待
ち行列36内の読取り命令(事象1に関して前述した)
用のアドレス段階を完了する。
【0103】事象10。処理装置120はアドレスを
「詮索」し、キャッシュ・メモリが詮索されたアドレス
に入出力装置124内の関連する情報に対して修正され
た状態で情報を記憶していると判定する。この一致に応
じて、処理装置120はARTRY(B)をアサートし
てそのキャッシュ・メモリ内の修正された情報との一致
をICL34に知らせる。
【0104】事象11。ICL34が修正された情報へ
のアクセスを必要とすることを処理装置120が認識
し、かつHP_SNP_REQ(B)がアサートされた
ので、処理装置120が記憶待ち行列要素SNOOP内
のスヌープ・プッシュ動作を優先順位が最高の動作とし
てその記憶待ち行列内に置き、したがってそのようなス
ヌープ・プッシュ動作がバス14に関して処理装置12
0によって待ち行列に入れられる次の動作となる。
【0105】事象12。ARTRY(B)のアサートに
応じて、処理装置120を除くバス14上の他の全ての
潜在的バス・マスタは、あらゆるバス要求を撤回する。
処理装置120はARTRY(B)をアサートしたの
で、処理装置120はBR1(B)をアサートする。B
R1(B)のアサートに応じて、アービトレーション論
理機構126はBG1(B)をアサートする。BG1
(B)のアサートに応じて、処理装置120はアドレス
再試行なしに書込みアドレス段階を首尾よく完了して一
スヌープ・プッシュ動作を開始する。
【0106】事象1ないし事象12から、デッドロック
状態が生じる。事象12の後、処理装置18は2つの保
留データ段階を有し、処理装置120は2つの保留デー
タ段階を有する。処理装置18の第1の保留データ段階
、処理装置120の第2のアクション、すなわち処理
装置120が第2の保留データ段階を完了するのを待つ
間、処理装置18によって延期された読取りデータ段階
である。処理装置120が第2の保留データ段階を完了
するまで、ICL34は、事象1で処理装置18によっ
て開始された読取り動作に応じて入出力装置124から
情報を読み取ることができない。ICL34がそのよう
な情報を読み取ることができるようになるまで、処理装
置18は第1の保留データ段階を完了しない。処理装置
18の第2の保留データ段階は、その第1の保留データ
段階の完了を待つ間、処理装置18によって延期された
書込みデータ段階である。
【0107】それにもかかわらず、処理装置120は処
理装置18の第1のアクション、すなわち処理装置18
がその第2の保留データ段階を完了するのを待つ。処理
装置18がその第2の保留データ段階を完了するまで、
ICL34は、事象2で処理装置120によって開始さ
れた読取り動作に応じて入出力装置20から情報を読み
取ることができない。ICL34がそのような情報を読
み取ることができるようになるまで、処理装置120は
その第1の保留データ段階を完了しない。処理装置12
0の第2の保留データ段階は、その第1の保留データ段
階の完了を待つ間、処理装置120によって延期された
書込みデータ段階である。
【0108】好ましい実施例の重要な一態様では、バス
・アービトレーション論理機構22は、(1)処理装置
18が、保留書込みデータ段階が後に続く保留読取りデ
ータ段階を有すること、および(2)ICL34が潜在
的デッドロック状態を示するためにDEADLOCK
(I)をアサートしていることを検出する。そのような
状況では、バス・アービトレーション論理機構22はD
BG2(A)をアサートすると同時にDBWO(A)を
アサートすることによって、データ・バスDATA
(A)の制御を処理装置18に与えるので好都合であ
る。DBG2(A)とDBWO(A)のアサートに応じ
て、処理装置18はその読取り動作内にその保留スヌー
プ・プッシュ動作を「包含」し、したがってその保留書
込みデータ段階はその保留読取りデータ段階に対して順
序外れで完了する。
【0109】ICL34がDEADLOCK(I)を引
き続きアサートするのに応じて、アービトレーション論
理機構22はDBG(I)をアサートすることによって
ICL34にDATA(A)の制御を与える。DBG
(I)のアサートに応じて、ICL34は事象2で処理
装置120によって開始された読取り動作に従って、デ
ータ・バスDATA(A)を介して入出力装置20から
情報を読み取り、したがってICL34の保留読取りデ
ータ段階は完了する。次いでICL34は、データ・バ
スDATA(B)を介して処理装置120にそのような
情報を転送しDEADLOCK(I)とDEADLOC
K(O)を否定し、したがってデッドロック状態が解決
される。
【0110】あるいは、バス・アービトレーション論理
機構126は、(1)処理装置120が、保留書込みデ
ータ段階が後に続く保留読取りデータ段階を有するこ
と、および(2)ICL34が潜在的デッドロック状態
を示すためにDEADLOCK(O)をアサートしてい
ることを検出する。そのような状況では、バス・アービ
トレーション論理機構126はDBG1(B)をアサー
トし同時にDBWO(B)をアサートすることによっ
て、データ・バスDATA(B)の制御を処理装置12
0に与えるので好都合である。DBG1(B)とDBW
O(B)のアサートに応じて、処理装置120は、その
読取り動作内に保留スヌープ・プッシュ動作を「包含」
し、したがってその保留書込みデータ段階はその保留読
取り段階に対して順序外れで完了する。
【0111】ICL34がDEADLOCK(O)を引
き続きアサートするのに応じて、アービトレーション論
理機構126はDBG(O)をアサートすることによっ
て、ICL34にDATA(B)の制御を与える。DB
G(O)のアサートに応じて、ICL34は、事象1で
処理装置18によって開始された読取り動作に従ってデ
ータ・バスDATA(B)を介して入出力装置124か
ら情報を読み取り、したがってICL34の保留読取り
データ段階は完了する。次いでICL34は、データ・
バスDATA(A)を介してその情報を処理装置18に
転送し、DEADLOCK(I)とDEADLOCK
(O)を否定し、したがってデッドロック状態が解決さ
れる。
【0112】制御線DBWO(A)は、更にある種の外
部待機制御装置状況、および「ダンプと実行」動作など
より複雑なメモリ動作に対して有用である。たとえば制
御線DBWO(A)は、ロード動作のためにメモリがア
クセスされている間に、修正されたキャッシュ・メモリ
・セクタがメモリ・バッファにキャストアウトされる場
合に有用である。そのようなキャストアウトは、ロード
・メモリ待ち時間に否定的な影響を与えずにメモリ・シ
ステムによって入力されることが好ましい。処理装置1
6は、トランザクションをパイプライン化することがで
きるので、アドレス・バス・トランザクションを再試行
している間は、データ・バス・トランザクションを保留
することができる。
【0113】
【0114】
【0115】
【0116】
【0117】
【0118】
【0119】
【0120】
【0121】
【0122】
【0123】
【0124】
【0125】
【0126】
【0127】
【0128】
【0129】
【0130】
【0131】
【0132】
【0133】
【0134】
【0135】
【0136】
【0137】
【0138】
【0139】
【0140】
【0141】
【0142】
【0143】
【0144】
【発明の効果】以上のように、本発明によれば、互いに
非同期的に動作する複数のバスの間で情報を確実に転送
できる、複数のバスの間で情報を転送するための方法お
よびシステムが提供される。また、情報転送が解決不可
能なデッドロック状態に陥らない、複数のバスの間で情
報を転送するための方法およびシステムが提供される。
更に、1つまたは複数のバスがコヒーレンシ技術、パイ
プライン式動作、または分割トランザクション動作をサ
ポートする、複数のバスの間で情報を転送するための方
法およびシステムが提供される。
【図面の簡単な説明】
【図1】第1の例示的実施例による、複数のバス間で情
報を転送するためのシステムのブロック図である。
【図2】図1のシステムのバスの動作を示す図である。
【図3】図1のシステムのバスの動作を示す図である。
【図4】図1のシステムのバスの動作を示す図である。
【図5】図1のシステムのバスの動作を示す図である。
【図6】図1の処理装置におけるシステム・インターフ
ェースの概念的ブロック図である。
【図7】第2の例示的実施例による、複数のバス間で情
報を転送するためのシステムのブロック図である。
【符号の説明】
12 バス 14 バス 16 処理装置 18 処理装置 20 入出力装置 22 アービトレーション論理機構 24 処理装置 26 入出力装置 28 アービトレーション論理機構 34 バス間通信論理(ICL)機構 36 アウトバウンド待ち行列 38 インバウンド待ち行列 40 制御論理機構 100 システム・インターフェース 102 スヌープ論理機構 104 統合キャッシュ・メモリ 106 読取り待ち行列 108 記憶待ち行列 110 アドレス変換/制御論理機構 112 取出し機構
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャールズ・ロバーツ・モア アメリカ合衆国78750 テキサス州オー スチン ロイヤルウッド・ドライブ 8802 (72)発明者 ジョン・スティーブン・ミューイク アメリカ合衆国78759 テキサス州オー スチン アルヴァーストーン・ウェイ 8606 (72)発明者 ロバート・ジェームズ・リーズ アメリカ合衆国78717 テキサス州オー スチン イーフリアム・ロード 8100 (56)参考文献 特開 昭50−92648(JP,A) 特開 昭56−147224(JP,A) 特開 平4−85646(JP,A)

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】第1のバスと第2のバスの間で情報を転送
    するためのシステムであって、 前記第1のバスに、複数の第1バス・マスタ及び少なく
    とも1つの第1バス・スレーブが接続され、 前記第1のバス上の複数のデータ段階を複数の関連する
    アドレス段階に応じてそれぞれ完了させることによっ
    て、前記複数の第1バス・マスタのうち選択された1つ
    の第1バス・マスタと前記第1バス・スレーブの間で前
    記第1のバスを介して情報が転送され、通常の状況で
    は、前記複数のデータ段階が、前記複数の関連するアド
    レス段階の順序で完了するように順序づけられ、 前記第2のバスに、少なくとも1つの第2バス・マスタ
    及び少なくとも1つの第2バス・スレーブが接続され、 前記第2バス・マスタと前記第2バス・スレーブの間で
    前記第2のバスを介して情報が転送され、 前記第1のバス及び前記第2のバスに、前記第1のバス
    と前記第2のバスの間で情報を転送するための論理手段
    が結合され、 前記第2バス・マスタが前記選択された第1バス・マス
    によって保留されている特定の1つのデータ段階の完
    を待つ間に前記選択された第1バス・マスタが前記第
    2バス・マスタによる前記第2のバスの制御権の解除
    待つという潜在的デッドロック状態に応じて、前記
    定のデータ段階が前記論理手段によって可能にされ、 前記特定のデータ段階、前記第2のバスの制御権の解
    除を待つ間に前記選択された第1バス・マスタによって
    保留されている先行する1つのデータ段階の前に完了す
    る、前記システム。
  2. 【請求項2】第1のバスと第2のバスの間で情報を転送
    するためのシステムであって、 前記第1のバスに、複数の第1バス・マスタ及び少なく
    とも1つの第1バス・スレーブが接続され、 前記第1のバス上の複数のデータ段階を複数の関連する
    アドレス段階に応じて それぞれ完了させることによっ
    て、前記複数の第1バス・マスタのうち選択された1つ
    の第1バス・マスタと前記第1バス・スレーブの間で前
    記第1のバスを介して情報が転送され、通常の状況で
    は、前記複数のデータ段階が、前記複数の関連するアド
    レス段階の順序で完了するように順序づけられ、 前記第2のバスに、少なくとも1つの第2バス・マスタ
    及び少なくとも1つの第2バス・スレーブが接続され、 前記第2バス・マスタと前記第2バス・スレーブの間で
    前記第2のバスを介して情報が転送され、 前記第1のバス及び前記第2のバスに、前記第1のバス
    と前記第2のバスの間で情報を転送するための論理手段
    が結合され、 前記第2バス・マスタが前記選択された第1バス・マス
    タによって保留されている特定の1つのデータ段階の完
    了を待つ間に前記選択された第1バス・マスタが前記第
    2バス・スレーブによる前記論理手段への特定情報の出
    力を待つ、という潜在的デッドロック状態に応じて、前
    記特定のデータ段階が前記論理手段によって可能にさ
    れ、 前記特定のデータ段階が、前記論理手段への前記特定情
    報の出力を待つ間に前記選択された第1バス・マスタに
    よって保留されている先行する1つのデータ段階の前に
    完了する、前記システム。
  3. 【請求項3】前記第1バス・スレーブがメモリ装置であ
    り、前記特定のデータ段階が前記選択された第1バス・
    マスタによる前記メモリ装置への特定情報の出力を含
    む、請求項1又は2記載のシステム。
  4. 【請求項4】前記特定のデータ段階が、前記選択された
    第1バス・マスタのキャッシュ・メモリから前記メモリ
    装置への前記特定情報の出力を含む、請求項3記載のシ
    ステム。
  5. 【請求項5】前記キャッシュ・メモリ内の前記特定情報
    が前記メモリ装置内の関連する情報に対して修正された
    状態にある間に、前記第2バス・マスタが前記メモリ装
    置にアクセスしようと試みるのに応じて、前記特定のデ
    ータ段階が行われる、請求項4記載のシステム。
  6. 【請求項6】前記論理手段が、前記先行するデータ段階
    の前に前記特定のデータ段階を完了するように前記選択
    された第1バス・マスタを使用可能にする、請求項1
    は2記載のシステム。
  7. 【請求項7】前記特定のデータ段階が書込みデータ段階
    であり、前記先行するデータ段階が読取りデータ段階で
    ある、請求項6記載のシステム。
  8. 【請求項8】前記第2のバスが、前記第1のバスを介し
    て転送される情報と非同期的に情報を転送する、請求項
    又は2記載のシステム。
  9. 【請求項9】第1のバスと第2のバスの間で情報を転送
    するための方法であって、 前記第1のバスに接続された複数の第1バス・マスタ
    うち選択された1つの第1バス・マスタと第1バス・ス
    レーブの間で、前記第1のバスを介して情報を転送する
    ステップと、 前記第2のバスに接続された第2バス・マスタ第2バ
    ス・スレーブの間で、前記第2のバスを介して情報を転
    送するステップと、 前記第1のバス及び前記第2のバスに結合された論理手
    段を介して、前記第1のバスと前記第2のバスの間で情
    報を転送するステップと、 前記論理手段を使用して、前記第2バス・マスタが前記
    選択された第1バス・マスタによって保留されている特
    定の1つのデータ段階の完了を待つ間に前記選択された
    第1バス・マスタが前記第2バス・マスタによる前記第
    2のバスの制御権の解除を待つという潜在的デッドロ
    ック状態に応じて、前記特定のデータ段階を可能にする
    ステップとを含み、 前記第1のバスを介して情報を転送する前記ステップ
    が、前記第1のバス上の複数のデータ段階を複数の関連
    するアドレス段階に応じてそれぞれ完了させることによ
    って行われ、通常の状況では、前記複数のデータ段階
    が、前記複数の関連するアドレス段階の順序で完了する
    ように順序づけられ、 前記特定のデータ段階が、前記第2のバスの制御権の解
    除を待つ間に前記選択された第1バス・マスタによって
    保留されている先行する1つのデータ段階の前に完了す
    る、前記方法。
JP33346893A 1993-01-29 1993-12-27 情報転送システムおよび方法 Expired - Fee Related JP3189139B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1104193A 1993-01-29 1993-01-29
US011041 1993-01-29

Publications (2)

Publication Number Publication Date
JPH076124A JPH076124A (ja) 1995-01-10
JP3189139B2 true JP3189139B2 (ja) 2001-07-16

Family

ID=21748611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33346893A Expired - Fee Related JP3189139B2 (ja) 1993-01-29 1993-12-27 情報転送システムおよび方法

Country Status (7)

Country Link
US (1) US5611058A (ja)
EP (1) EP0609041A1 (ja)
JP (1) JP3189139B2 (ja)
KR (1) KR970001919B1 (ja)
CN (1) CN1102265C (ja)
CA (1) CA2109043A1 (ja)
TW (1) TW283218B (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5037587A (en) * 1989-07-17 1991-08-06 Mitsui Toatsu Chemicals, Inc. Preparation process of polyimide film
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
EP0690382B1 (en) * 1994-07-01 2003-01-02 Sun Microsystems, Inc. Computer system with a multiplexed address bus and pipelined write operations
US5793996A (en) * 1995-05-03 1998-08-11 Apple Computer, Inc. Bridge for interconnecting a computer system bus, an expansion bus and a video frame buffer
US6226695B1 (en) 1995-09-29 2001-05-01 International Business Machines Corporation Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors
US5748914A (en) * 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
US6810449B1 (en) 1995-10-19 2004-10-26 Rambus, Inc. Protocol for communication with dynamic memory
US6470405B2 (en) 1995-10-19 2002-10-22 Rambus Inc. Protocol for communication with dynamic memory
US5778438A (en) * 1995-12-06 1998-07-07 Intel Corporation Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US5867675A (en) * 1996-08-06 1999-02-02 Compaq Computer Corp Apparatus and method for combining data streams with programmable wait states
US5905876A (en) * 1996-12-16 1999-05-18 Intel Corporation Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
US6055373A (en) * 1997-04-28 2000-04-25 Ncr Corporation Computer system including a digital signal processor and conventional central processing unit having equal and uniform access to computer system resources
US6266379B1 (en) * 1997-06-20 2001-07-24 Massachusetts Institute Of Technology Digital transmitter with equalization
US6178477B1 (en) * 1997-10-09 2001-01-23 Vlsi Technology, Inc. Method and system for pseudo delayed transactions through a bridge to guarantee access to a shared resource
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
WO1999019805A1 (en) 1997-10-10 1999-04-22 Rambus Incorporated Method and apparatus for two step memory write operations
US6032178A (en) * 1998-01-12 2000-02-29 Siemens Aktiengesellschaft Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations
US6061764A (en) * 1998-01-26 2000-05-09 Intel Corporation Coherent variable length reads which implicates multiple cache lines by a memory controller connected to a serial and a pipelined bus utilizing a plurality of atomic transactions
US6347344B1 (en) 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US6434649B1 (en) 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6202112B1 (en) * 1998-12-03 2001-03-13 Intel Corporation Arbitration methods to avoid deadlock and livelock when performing transactions across a bridge
US7555603B1 (en) 1998-12-16 2009-06-30 Intel Corporation Transaction manager and cache for processing agent
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US8391039B2 (en) * 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
US6810455B2 (en) 2001-09-28 2004-10-26 Cradle Technologies, Inc. Bus arbitration system and method for carrying out a centralized arbitration with independent bus request and grant lines
US6807593B1 (en) * 2001-11-01 2004-10-19 Lsi Logic Corporation Enhanced bus architecture for posted read operation between masters and slaves
US6839816B2 (en) * 2002-02-26 2005-01-04 International Business Machines Corporation Shared cache line update mechanism
US6907502B2 (en) * 2002-10-03 2005-06-14 International Business Machines Corporation Method for moving snoop pushes to the front of a request queue
TW594490B (en) * 2003-03-20 2004-06-21 Via Tech Inc Bus for control chipset and the arbitration method
US7099971B1 (en) * 2003-06-26 2006-08-29 Emc Corporation Arbitration system
US7301831B2 (en) 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
US7502895B2 (en) * 2005-09-13 2009-03-10 Hewlett-Packard Development Company, L.P. Techniques for reducing castouts in a snoop filter
US8375171B2 (en) * 2010-04-08 2013-02-12 Unisys Corporation System and method for providing L2 cache conflict avoidance
WO2013130090A1 (en) * 2012-03-02 2013-09-06 Arm Limited Data processing apparatus having first and second protocol domains, and method for the data processing apparatus
US10282109B1 (en) 2016-09-15 2019-05-07 Altera Corporation Memory interface circuitry with distributed data reordering capabilities

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5526736B2 (ja) * 1973-12-14 1980-07-15
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
JPS56147224A (en) * 1980-04-18 1981-11-16 Toshiba Corp Information processor
US4494193A (en) * 1982-09-30 1985-01-15 At&T Bell Laboratories Deadlock detection and resolution scheme
US4908749A (en) * 1985-11-15 1990-03-13 Data General Corporation System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal
JP2554050B2 (ja) * 1986-02-26 1996-11-13 株式会社日立製作所 デ−タ処理方法
JP2886856B2 (ja) * 1986-04-09 1999-04-26 株式会社日立製作所 二重化バス接続方式
US4965723A (en) * 1987-10-23 1990-10-23 Digital Equipment Corporation Bus data path control scheme
US5317715A (en) * 1987-12-15 1994-05-31 Advanced Micro Devices, Inc. Reduced instruction set computer system including apparatus and method for coupling a high performance RISC interface to a peripheral bus having different performance characteristics
GB8808353D0 (en) * 1988-04-09 1988-05-11 Int Computers Ltd Data processing system
US5133074A (en) * 1989-02-08 1992-07-21 Acer Incorporated Deadlock resolution with cache snooping
US5072369A (en) * 1989-04-07 1991-12-10 Tektronix, Inc. Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates
US5278974A (en) * 1989-12-04 1994-01-11 Digital Equipment Corporation Method and apparatus for the dynamic adjustment of data transfer timing to equalize the bandwidths of two buses in a computer system having different bandwidths
JPH0485646A (ja) * 1990-07-30 1992-03-18 Oki Electric Ind Co Ltd バスインタフェイス制御装置
US5274763A (en) * 1990-12-28 1993-12-28 Apple Computer, Inc. Data path apparatus for IO adapter
US5265216A (en) * 1991-06-28 1993-11-23 Digital Equipment Corporation High performance asynchronous bus interface
US5369748A (en) * 1991-08-23 1994-11-29 Nexgen Microsystems Bus arbitration in a dual-bus architecture where one bus has relatively high latency
US5359715A (en) * 1991-09-16 1994-10-25 Ncr Corporation Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces
US5355455A (en) * 1991-11-19 1994-10-11 International Business Machines Corporation Method and apparatus for avoiding deadlock in a computer system with two or more protocol-controlled buses interconnected by a bus adaptor
US5265211A (en) * 1992-01-02 1993-11-23 International Business Machines Corporation Arbitration control logic for computer system having dual bus architecture
US5309567A (en) * 1992-01-24 1994-05-03 C-Cube Microsystems Structure and method for an asynchronous communication protocol between master and slave processors

Also Published As

Publication number Publication date
EP0609041A1 (en) 1994-08-03
CN1094526A (zh) 1994-11-02
JPH076124A (ja) 1995-01-10
US5611058A (en) 1997-03-11
CN1102265C (zh) 2003-02-26
TW283218B (ja) 1996-08-11
KR970001919B1 (ko) 1997-02-19
CA2109043A1 (en) 1994-07-30
KR940018760A (ko) 1994-08-18

Similar Documents

Publication Publication Date Title
JP3189139B2 (ja) 情報転送システムおよび方法
EP0559408B1 (en) A method and apparatus for performing bus arbitration using an arbiter in a data processing system
US5506971A (en) Method and apparatus for performing a snoop-retry protocol in a data processing system
US6029204A (en) Precise synchronization mechanism for SMP system buses using tagged snoop operations to avoid retries
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US5935233A (en) Computer system with a switch interconnector for computer devices
CN100549992C (zh) 可减少延迟的数据传送与接收方法与系统
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
JP2532191B2 (ja) 複式バス・ア―キテクチャを有する計算システムに使用するデ―タ伝送の管理方法
JPH09190406A (ja) 直接メモリアクセス制御装置及びこれを用いた伝送システム
JPH06266681A (ja) バス・オペレーションの不可分シーケンスを保存する方法,バス・インターフェイスおよびコンピュータ装置
WO1998032063A2 (en) Method and apparatus for zero latency bus transactions
JPH07105146A (ja) 共有メモリ装置
JP3027843B2 (ja) バススヌ−プ方法
JP3466214B2 (ja) 情報処理装置
JPH07295947A (ja) データ転送管理装置及び方法
JPH08314854A (ja) データ転送システムおよびこれに関連する装置
JPH0850560A (ja) ライト及び/もしくはリードアクセス優先順位管理装置
JPH0358163A (ja) 疎結合型マルチプロセッサシステム
WO1992006432A1 (en) Device for controlling bus
JPH0973429A (ja) コンピュータシステム及びバス間制御回路
JP2002278923A (ja) バスシステム,バス制御方式及びそのバス変換装置
JPH05257903A (ja) マルチプロセッサシステム
JPH1185673A (ja) 共有バスの制御方法とその装置
JPS63286949A (ja) バス制御方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees