JPH0877126A - 装置間の通信システム及び方法 - Google Patents

装置間の通信システム及び方法

Info

Publication number
JPH0877126A
JPH0877126A JP7200917A JP20091795A JPH0877126A JP H0877126 A JPH0877126 A JP H0877126A JP 7200917 A JP7200917 A JP 7200917A JP 20091795 A JP20091795 A JP 20091795A JP H0877126 A JPH0877126 A JP H0877126A
Authority
JP
Japan
Prior art keywords
activity
signal
bus
outputting
response
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.)
Pending
Application number
JP7200917A
Other languages
English (en)
Inventor
Michael Scott Allen
ミカエル・スコット・アレン
Ravi Kumar Arimilli
ラヴィ・クメール・アリミリ
John Michael Kaiser
ジョン・ミカエル・カイサー
Kurt Lewchuk William
ウィリアム・カート・ルーチャク
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 JPH0877126A publication Critical patent/JPH0877126A/ja
Pending 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

(57)【要約】 【課題】装置間の通信を提供する方法及びシステムの提
供。 【解決の手段】第1の装置(12)から信号が出力される。
前記信号に応答して第2の装置(14)により少なくとも1
つの活動が開始される。第2の装置が活動を終了したか
どうかと、第2の装置の動作が第1の装置による信号の
再出力と無関係であるかどうかの表示が出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に情報処理シス
テム、特に装置間で通信する方法及びシステムに関す
る。
【0002】
【従来の技術】情報処理システムでは、装置は互いに情
報を伝達できる。動作信号を出力することにより、装置
は、他のバス装置によりスヌープされるシステムバス上
で、バス動作を開始できる。システムバスにより、スヌ
ープする各バス装置 (即ち、動作信号をスヌープする装
置) は、システムバス上のバス動作の開始からの一定又
は可変の待ち時間で、スヌープ応答表示をマスターバス
装置 (即ち、バス動作を開始した装置) に出力する。
【0003】スヌープ応答表示はそれぞれのバス動作に
応答して生ずる。強く順序付けられたシステムでは、前
記スヌープ応答表示は、バス動作及びスヌープ応答表示
が互いに強く順序付けられるように、それらのそれぞれ
のバス動作と同じ順序で生じる。それにもかかわらず、
前の強く順序付けられたシステムには、全ての先行する
バス動作の終了を待つ間に後続のバス動作の終了が遅延
される欠点を有するものがある。すなわち、たとえ後続
のバス動作を終了できる場合でも、終了が遅延される。
【0004】前の手法のなかには、この欠点を、アドレ
ス "再試行" スヌープ応答表示をサポートすることによ
り軽減しようと試みているものがある。このようなアド
レス"再試行" スヌープ応答表示に応答して、後続のバ
ス動作を終了できる。後に動作信号を再出力することに
より、マスターバス装置はシステムバス上で "再試行さ
れた" バス動作を再開始する。
【0005】しかしながら、このような "再試行" 手法
の欠点は、再開始された (前の "再試行" スヌープ応答
表示に応答して反復された) バス動作が再びスヌープさ
れ、そして全てのスヌープするバス装置により (例え
ば、スヌープする装置のキャッシュメモリ内の状況ビッ
トの読取りにより) 完全に実行されることである。もう
1つの欠点は、 "再試行" 手法のみが用いられたときデ
ッドロックが起こりうることである。
【0006】例えば、最初にスヌープする装置がバス動
作に応答してその活動を終了し、しかも2番目にスヌー
プする装置がバス動作に応答してその活動を終了しない
ためにアドレス "再試行" スヌープ応答表示を出力する
場合に、 "ピンポン" デッドロックが起きることがあ
る。後に、マスターバス装置はシステムバス上で "再試
行された" バス動作を再開始する。再開始されたバス動
作は再びスヌープされ、そして全てのスヌープするバス
装置により実行されるから、2番目にスヌープする装置
は再開始されたバス動作に応答してその活動を終了でき
るが、最初にスヌープする装置は再開始されたバス動作
に応答してその活動を終了することなくアドレス "再試
行" スヌープ応答表示を出力することがある。このシー
ケンスの事象は無限に反復され、最初と2番目の装置は
交互にアドレス "再試行" スヌープ応答表示を出力す
る。
【0007】もう1つの例として、スヌープするバス装
置の将来の動作が"再試行"されたバス動作を後に反復す
るマスターバス装置によって決まる場合で、ある理由で
マスターバス装置が "再試行された" バス動作を反復し
ない場合にデッドロックが起こる。あるいは、マスター
バス装置が "再試行" されたバス動作を常に反復するこ
とを要求された場合、マスターバス装置は "再試行され
た" バス動作を反復しない選択を有しないことにより貴
重な柔軟性を失うであろう。
【0008】
【発明が解決しようとする課題】本発明の第1の目的は
全ての先行するバス動作の終了を待つ間に後続のバス動
作の終了が遅延しないように装置間で通信する方法及び
システムを提供することにある。本発明の第2の目的は
全てのスヌープするバス装置がスヌープし且つ反復され
たバス動作を完全に実行することが要求されないように
装置間で通信する方法及びシステムを提供することにあ
る。本発明の第3の目的はデッドロックが起きる可能性
が少なくなるように装置間で通信する方法及びシステム
を提供することにある。本発明の第4の目的はマスター
バス装置がバス動作を反復しない選択を持つことにより
柔軟性を保持するように装置間で通信する方法及びシス
テムを提供することにある。
【0009】
【課題を解決するための手段】装置間で通信する方法及
びシステムの第1の状況では、第1の装置から信号が出
力される。信号に応答して、少なくとも1つの活動が第
2の装置により開始される。第2の装置が活動を終了し
たかどうか又は第2の装置の動作が信号を第1の装置に
よる信号の再出力と無関係であるかどうかの表示が出力
される。
【0010】装置間で通信する方法及びシステムの第2
の状況では、信号が第1の装置から出力される。信号に
応答して、少なくとも1つの活動が第2及び第3の装置
により開始される。第2及び第3の装置が活動を終了し
たかどうかの表示が出力される。第3の装置による活動
を再開始せずに、第2の装置が活動を終了しなかったこ
と及び第3の装置が活動を終了したことを示す表示に応
答して第1の装置から信号が再出力される。
【0011】全ての先行するバス動作の終了を待つ間に
後続のバス動作の終了が遅延しないことが本発明の第1
の技術的な利点である。反復されたバス動作をスヌープ
し完全に実行するのに、スヌープするバス装置の全てを
必要とするとは限らないことが本発明の第2の技術的な
利点である。デッドロックが起きる可能性が少ないこと
が本発明の第3の技術的な利点である。マスターバス装
置がバス動作を反復しない選択を有することにより柔軟
性を保持することが本発明の第4の技術的な利点であ
る。
【0012】
【発明の実施の形態】図1は本発明の実施例による情報
処理システム10のブロック図である。情報処理システム
10は複数のバス装置12、14、16及び18を備える。より詳
しくは、装置12は第1のプロセッサ装置 (以降、プロセ
ッサAと呼ぶ) であり、装置14は第2のプロセッサ装置
(以降、プロセッサBと呼ぶ) である。更に装置16はバ
スアダプタ装置 (以降、BAと呼ぶ) であり、装置18はメ
モリ装置である。プロセッサA、プロセッサB及びBA 1
6 は図示の実施例により、後に図2、3、4及び5に関
連して説明するように動作する。
【0013】装置12、14、16及び18はシステムバス20に
より互いに接続される。従って、装置12、14、16及び18
はシステムバス20を介して互いに情報を伝達する。図1
の実施例では、システムバス20は64ビットのアドレスバ
ス22、128 ビットのデータバス24、8ビットのデータタ
グ("Dタグ")バス26、及び10ビットの制御/状況バス28
を含む。
【0014】更に、BA 16 はバス30に接続される。従っ
て、BA 16 はシステムバス20及びバス30の間をインタフ
ェースする。このように、装置12、14及び18は、BA 16
及びシステムバス20を介して、バス30に接続された少な
くとも1つの装置 (図示せず) に情報を伝達する。
【0015】図示の実施例による再実行手法により、シ
ステム10は、システムバス20上で共有バス動作が開始さ
れる順序から外れた (即ち、弱く順序付けられた) 前記
共有バス動作の終了をサポートする。動作信号を出力す
ることにより、バス装置はシステムバス20上で他のバス
装置によりスヌープされるバス動作を開始できる。動作
信号に応答して、スヌープするバス装置 (即ち、動作信
号をスヌープする装置) の各々は活動を開始する。例え
ば、活動はスヌープする装置のキャッシュメモリ内の事
象ビット読取りの場合がある。別の例として、活動はバ
ス30に接続された少なくとも1つの他の装置 (図示せ
ず) からバス30を介したBA 16 の遠隔状況判定の場合が
ある。
【0016】更に、システムバス20を介して、スヌープ
する各バス装置は、システムバス20上のバス動作の開始
からの所定の待ち時間の後に、同時にスヌープ応答表示
をマスターバス装置 (即ち、バス動作を開始した装置)
に出力する。スヌープ応答表示はスヌープするバス装置
が動作信号に応答して前記スヌープするバス装置により
前に開始された活動を終了したかどうかを示す。特に、
スヌープする装置からの出力信号の不在 (即ち、ヌル応
答表示) はそれ自身がスヌープ応答表示とみなされる。
【0017】再実行手法は、システムバス20がスヌープ
応答表示に関してパイプラインされるか完全にインター
ロックされるか、又はスヌープ応答表示のバス動作開始
からの待ち時間が一定であるか可変であるかに関係なく
使用できる。図示の実施例では、スヌープ応答表示はそ
れぞれのバス動作に応じて生ずる。前記スヌープ応答表
示は、バス動作及びスヌープ応答表示が互いに強く順序
付けられるように、それらのそれぞれのバス動作と同じ
順序で生ずる。
【0018】それにもかかわらず、バス動作に対する応
答は必ずしもバス動作の終了を示さない。従って、図示
の実施例による再実行手法により、バス動作は、前記動
作がシステムバス20上で開始される順序から外れた順序
で (即ち、弱く順序付けられて) 終了できる。従って、
良好な実施例の重要な局面で、システム10は、バス動作
及びシステム10の状態により、動作信号に応じてスヌー
プする装置により前に開始された活動を終了するために
特定のスヌープする装置で必要となった待ち時間の変動
をサポートする。
【0019】図示の実施例の再実行手法により、少なく
とも1つのバスをスヌープする装置は、マスターバス装
置が最初のバス動作のスヌープ待ち時間の延長を必要と
することをマスターバス装置に示す再実行応答表示を出
力できる。再実行応答表示は最初のバス動作のスヌープ
応答表示として動作するので、他のバス動作の継続を可
能にし、しかも (再実行応答表示を出した) スヌープす
る装置の各々が最初のバス動作の処理 (即ち、最初のバ
ス動作に応答する動作) を継続することを可能にする。
後に特定のバス動作を識別するために、 (再実行応答表
示を出した) スヌープする装置の各々は (最初のバス動
作に関連してマスターバス装置により前に出力された)
動作タグを記憶する。
【0020】再実行応答表示後の後の時点で、マスター
バス装置は動作信号を再出力することにより、最初のバ
ス動作を反復する。また、マスターバス装置は最初のバ
ス動作と関連して前と同じ動作タグを再出力する。 (再
実行応答表示を出した) スヌープする装置の各々は出力
された動作タグと全ての前に記憶されたタグとを比較す
る。動作タグと前に記憶された動作タグの間に一致が生
じない場合、スヌープする装置は反復されたバス動作を
無視する。
【0021】動作タグと前に記憶された動作タグの比較
により両者が一致すると、スヌープする装置は反復され
たバス動作に応答する。前の再実行応答表示にもかかわ
らず、反復されたバス動作を完全に処理する (即ち、ス
ヌープするバス装置により動作信号に応答して前に開始
された活動を終了する) ためにより多くの時間を、スヌ
ープする装置がなお必要とする場合、スヌープする装置
は、反復されたバス動作のスヌープ待ち時間をマスター
バス装置が更に延長する必要があることをマスターバス
装置に示すために、別の再実行応答表示を再び出力でき
る。都合よく、連続して反復されたバス動作に応答し
て、任意の数の再実行応答表示を出すことができ、反復
されたバス動作のスヌープ応答表示として動作するの
で、他のバス動作の継続を可能にする。
【0022】図2及び図3は、図1のシステムバス20を
介して、システム10で図示の実施例の再実行システムバ
ス手法により実行された動作例を示す。より詳しくは、
図2はシステム10で図示の実施例の再実行システムバス
手法により実行されたSYNC (同期)/(TLB同期) 動作の例
を示す。SYNC命令動作及びTLBSYNC 命令動作については
更に後述の付録で説明する。プロセッサ及びバスアダプ
タバス装置はSYNC及びTLBSYNC バス動作の応答を延長す
るために図示の実施例の再実行手法を使用できる。
【0023】対照的に、図3は、図示の実施例の再実行
システムバス手法により、システム10で実行された非SY
NC/非TLBSYNC動作の例を示す。図示の実施例で、バスア
ダプタバス装置 (例えば、BA 16)は、非SYNC/非TLBSYNC
バス動作の応答を延長するために再実行手法を使用でき
る。
【0024】図2で、プロセッサAは、システムバス20
のクロックサイクル1の間にシステムバス20を介して同
期(SYNC)動作信号を出力し、クロックサイクル1のSYNC
動作に関連してシステムバス20により動作タグ=X1、及
びRビット=0を出力し、アドレスバス22を介して動作
タグ及びRビットを出力し、そして制御/状況バス28を
介して動作タイプ (例えば、SYNC) 及び転送サイズ (即
ち、転送されるバイトの数) を出力する。
【0025】プロセッサBは、システムバス20のクロッ
クサイクル3の間にシステムバス20を介して読取り(RD)
動作信号を出力し、このRD動作に関連してクロックサイ
クル2の間にシステムバス20により動作タグ=Y2及びR
ビット=0を出力する。
【0026】システムバス20のクロックサイクル4の間
に、プロセッサBは、クロックサイクル1の間のプロセ
ッサAからのSYNC動作出力に応答して、再実行1動作信
号をシステムバス20を介して出力する。それに対して、
バス装置がクロックサイクル4又はそれ以前 (即ち、SY
NC動作後の3バスクロックサイクルで決められた一定の
待ち時間内) に (クロックサイクル1の間のプロセッサ
AからのSYNC動作出力に応答して) "再実行" 動作信号
又は "再試行" 動作信号をシステムバス20を介して出し
ていなかった場合、プロセッサAは、クロックサイクル
1の間にそれが開始したSYNC動作を首尾よく終了してい
るであろう。
【0027】従って、図示の実施例の再実行手法は、バ
ス動作及びシステム10の状態により、動作信号に応答し
てスヌープするバス装置により前に開始された活動を終
了するために、特定のスヌープする装置で必要な待ち時
間内の (決められた一定の応答待ち時間を超えた) 変動
をサポートする。バス装置は "再実行" 動作信号を出す
ことにより待ち時間を延長できる。それにもかかわら
ず、図示の実施例の "再実行" 手法は等しく好都合であ
り、一定の待ち時間の代わりに可変の待ち時間を用いる
代替システムに使用できる。
【0028】システムバス20のクロックサイクル6の間
に、プロセッサBは、クロックサイクル3の間にそれが
開始したRD動作を、図2のラベル "Done2"で示すように
首尾よく終了する。プロセッサBは、他のバス装置が、
(1) "再試行" 動作又は(2)"再実行" 動作のどちらも
(RD動作後の3バスクロックサイクルの一定の待ち時間
内に) 出力しなかったことに応答してRD動作を首尾よく
終了する。
【0029】(サイクル4の) 再実行1動作後の所定の
サイクル数 (即ち、図示の実施例では、2サイクル) の
満了に応答して、プロセッサAは、システムバス20のク
ロックサイクル7の間に、システムバス20を介してSYNC
動作信号を再出力する。クロックサイクル1のSYNC動作
のように、プロセッサAは、クロックサイクル7の間に
SYNC動作に関連して動作タグ=X1をシステムバス20を介
して出力する。それにもかかわらず、クロックサイクル
1のSYNC動作と異なり、プロセッサAは、クロックサイ
クル7の間にSYNC動作に関連してRビット=1をシステ
ムバス20を介して出力する。プロセッサAは、Rビット
=1を主張することにより、プロセッサAが先にSYNC動
作信号を出力したことを他のバス装置に示す。
【0030】システムバス20のクロックサイクル10の間
に、プロセッサAはそれがクロックサイクル7の間に開
始したSYNC動作を図2のラベル "Done1"で示されたよう
に首尾よく終了し、又はプロセッサBはクロックサイク
ル7の間にプロセッサAからのSYNC動作出力に応答して
図3のクロックサイクル7のラベル "再実行1" で示さ
れた、もう1つの再実行1動作信号をシステムバス20に
より出力する。
【0031】図3で、システムバス20のクロックサイク
ル1の間に、プロセッサAは読取り(RD1) 動作信号をシ
ステムバス20を介して出力する。クロックサイクル1の
間のRD1 動作と関連して、プロセッサAはシステムバス
20を介して動作タグ=X1及びRビット=0を出力する。
【0032】システムバス20のクロックサイクル3の間
に、プロセッサBは読取り(RD2)動作信号をシステム
バス20を介して出力する。クロックサイクル3の間のRD
2動作と関連して、プロセッサBはシステムバス20を介
して動作タグ=Y2及びRビット=0を出力する。
【0033】システムバス20のクロックサイクル4の間
に、BA 16 は、クロックサイクル1の間のプロセッサA
からのRD1 動作出力に応答して、再実行1動作信号をシ
ステムバス20を介して出力する。
【0034】システムバス20のクロックサイクル6の間
に、図2のラベル "Done2"で示されたように、プロセッ
サBはそれがクロックサイクル3の間に開始したRD2 動
作を首尾よく終了する。
【0035】システムバス20のクロックサイクル7の間
に、BA 16 がRD1 動作 (クロックサイクル1の間のプロ
セッサAからの出力) に応答できる (即ち所定のクロッ
クサイクル数の範囲内で応答できると推定される) こと
に反応して、BA 16 はタグに一致する再実行動作信号を
システムバス20を介して出力する。図示の実施例では、
BA 16 はバス30に接続された少なくとも1つの他の装置
(図示せず) からのバス30を介した遠隔状況の受信後に
RD1 動作に応答できる。それにもかかわらず、BA 16
は、システムバス20上のRD1 動作に応答する待ち時間を
短くするために、タグに一致する再実行動作信号を遠隔
状況を受取る前に出力できる。
【0036】クロックサイクル7の間のこのタグに一致
する再実行動作に関連して、BA 16は動作タグ=X1をシ
ステムバス20を介して出力する。Rビットはタグに一致
する再実行動作には使用しない。タグに一致する再実行
バス動作はアドレスバス22上のアドレスのみの動作であ
る。タグに一致する再実行バス動作はアドレスを持た
ず、従って、この動作はタグのみである。
【0037】追加のバスアダプタ (図示せず) がシステ
ムバス20に接続される場合、各バスアダプタはタグに一
致する再実行動作信号を出力するために別のバスアダプ
タをスヌープする。例えば、BA 16 により出力されたタ
グに一致する再実行動作信号を追加のバスアダプタが検
出する場合、そしてタグに一致する再実行動作のタグが
前に追加のバスアダプタにより再実行された動作のタグ
に一致する場合、追加のバスアダプタはもう1つのタグ
に一致する再実行動作信号を出力しない。
【0038】システムバス20のクロックサイクル10の間
に、クロックサイクル7の間にBA 16 から出力されたタ
グに一致する再実行動作信号に応答して、プロセッサA
はRD1 動作信号をシステムバス20を介して出力する。ク
ロックサイクル1のRD1 動作のように、プロセッサA
は、クロックサイクル10の間のRD1 動作に関連した動作
タグ=X1をシステムバス20を介して出力する。それにも
かかわらず、クロックサイクル1のRD1 動作と異なり、
プロセッサAは、クロックサイクル10の間のRD1動作に
関連して、Rビット=1をシステムバス20を介して出力
する。
【0039】システムバス20のクロックサイクル13の間
に、プロセッサAは、それがクロックサイクル10の間に
開始したRD1 動作を、図3のクロックサイクル13のラベ
ル "Done1"で示されたように、首尾よく終了するか、又
はBA 16 は、クロックサイクル10の間にプロセッサAか
らのRD1 動作出力に応答して、図3のクロックサイクル
13のラベル "再実行1" で示されたように、もう1つの
再実行1動作信号をシステムバス20を介して出力する。
【0040】例えば、クロックサイクル13の間に、BA 1
6 が (クロックサイクル7の間に)その能力を所定のク
ロックサイクル数 (即ち、図示の実施例では、6クロッ
クサイクル) の範囲内でRD1 動作に応答できるものと誤
った予測をした場合、BA 16は (クロックサイクル10の
間のプロセッサAからのRD1 動作出力に応答して) もう
1つの再実行1動作信号をシステムバス20を介して出力
するであろう。
【0041】従って、図示の実施例のシステム10は、シ
ステムバス20上で前記動作が開始される順序に関して弱
く順序付けられた共有バス動作の "終了" をサポートす
ることによる利点を有するパフォーマンスを達成する。
前記利点は長いスヌープ待ち時間のバス動作が後続のよ
り短いスヌープ待ち時間のバス動作の終了に強い影響を
与えないときに達成されるパフォーマンスの向上を含
む。
【0042】更に、反復される (前の再実行応答表示に
応答して反復される) バス動作がスヌープされ、そして
前の再実行応答表示を出した (又は既に出しており、不
在の別の装置が既に出している) 各々のスヌープする装
置によつてのみ再実行される(即ち、完全に実行される)
ので、パフォーマンスが改善される。これは、反復さ
れるバス動作を、全てのスヌープする装置がスヌープし
且つ再実行する (例えば、スヌープする装置のキャッシ
ュメモリ内の状況ビットを読取る) ような前の手法、例
えば "再試行" 手法と較べて有利である。
【0043】都合よく、図示の実施例では、スヌープす
るバス装置は後続のバス動作の継続を可能にするために
システムバス20上の "再試行" 応答表示又は "再実行"
応答表示のどちらかを出力できる。このような目的のた
めに、スヌープするバス装置は、スヌープするバス装置
の将来の動作が "再試行された" バス動作をマスターバ
ス装置が後に反復するかどうかと無関係である場合には
"再試行" 応答表示を出力する。このような状況では、
マスターバス装置は "再試行された" バス動作を随意に
反復する。
【0044】対照的に、スヌープするバス装置は、スヌ
ープするバス装置の将来の動作が "再実行" バス動作を
後に反復するマスターバス装置に依存する場合には "再
実行" 応答表示を出力する。このような状況では、マス
ターバス装置は "再実行" バス動作を常に反復する。従
って、 "再実行" 応答表示を出力した後、スヌープする
バス装置は、マスターバス装置が "再実行" バス動作を
後に反復しないかも知れないことを懸念せずに、最初の
バス動作の処理を継続できる。
【0045】図示の実施例の再実行手法は "再試行" 手
法のみを用いるとき生ずることがあるデッドロックを回
避するので、機能が簡素化される。例えば、このような
デッドロックは、スヌープするバス装置の将来の動作が
"再試行された" バス動作を後に反復するマスターバス
装置に依存する場合で、ある理由でマスターバス装置が
"再試行された" バス動作を反復しない場合に生じる。
あるいは、マスターバス装置が常に "再試行された" バ
ス動作の反復を要求された場合、マスターバス装置は "
再試行された" バス動作を反復しない選択を有しないこ
とにより貴重な柔軟性を失うであろう。
【0046】図示の実施例では、スヌープするバス装置
は "再試行" 応答表示又は "再実行" 応答表示のどちら
かをシステムバス20に出力でき、後続のバス動作の継続
を可能にする。従って、図示の実施例で、スヌープする
バス装置の将来の動作が後に"再試行された" バス動作
をマスターバス装置が反復するかどうかと無関係である
状況では、スヌープするバス装置は "再試行" 動作を出
力するので、マスターバス装置は "再試行された" バス
動作を反復しない選択を有することにより貴重な柔軟性
を保持する。更に、スヌープするバス装置の将来の動作
が "再実行" バス動作を後に反復するマスターバス装置
に依存する状況では、スヌープずるバス装置は "再実
行" 動作信号を出力するので、スヌープする装置はマス
ターバス装置に依存して常に "再実行" バス動作を反復
できる。従って、起こりうるデッドロックが回避され
る。
【0047】都合よく、図示の実施例では、たとえスヌ
ープするバス装置が "再実行" 動作を出力する場合で
も、マスターバス装置は "再実行" バス動作を打切る選
択を有することにより貴重な柔軟性を保持する。マスタ
ーバス装置が "再実行" バス動作の打切りを選択する場
合、マスターバス装置は (Rビット=1になるように)"
再実行" バス動作を反復した後、 "再試行" 応答表示を
システムバス20に出力する。この (マスターバス装置の
"再実行" バス動作の反復直後にマスターバス装置によ
り出力された) "再試行" 応答表示は、マスターバス装
置が "再実行"バス動作を打切ることを、スヌープする
バス装置に対して表示する。従って、マスターバス装置
の "再実行" バス動作の反復への依存を中止することに
より、スヌープするバス装置は起こりうるデッドロック
を回避する。
【0048】図4及び図5は情報処理システム10により
実行された動作の流れ図である。より詳しくは、図4は
システム10のマスターバス装置(MBD) (例えば、図2及
び図3で例示されたプロセッサA) により実行された動
作の流れ図である。対照的に、図5はスヌープするプロ
セッサ (例えば、図2で例示されたプロセッサB) 及び
バスアダプタ (例えば、図3で例示されたBA 16)により
実行された動作の流れ図である。以降、これらはまとめ
てスヌープするバス装置(SBD) と呼ぶ。
【0049】図4のステップ100 で、実行が開始され、
MBD がRビットをクリアする (即ち、Rビット=0)。
次のステップ102 で、MBD はシステムバス20の制御を調
停し且つシステムバス20を介してバス動作信号を出力す
る。ステップ102 の後、実行は判定ブロック104 に進
む。
【0050】判定ブロック104 で、ステップ102 のバス
動作に応答して、MBD がヌル/非、共有又は変更応答表
示をシステムバス20を介して受取る場合、図4に示され
たように実行は終了する。それに対し、ステップ102 の
バス動作に応答して、MBD が再試行応答表示をシステム
バス20を介して受取る場合、実行はステップ102 に戻
る。あるいは、ステップ102 のバス動作に応答して、MB
D が再実行応答表示をシステムバス20を介して受取る場
合、実行は判定ブロック106 に進む。
【0051】判定ブロック106 で、ステップ102 のバス
動作がSYNC動作又はTLBSYNC 動作である場合、実行はス
テップ108 に進む。それに対し、ステップ102 のバス動
作がSYNC動作でもなくTLBSYNC 動作でもない場合、実行
はステップ110 に進む。ステップ110 で、図3のクロッ
クサイクル7に関連した上記説明のように、MBD はタグ
に一致する再実行動作を待つ。
【0052】ステップ110 の後、実行はステップ108 に
進む。ステップ108 で、MBD はRビットをセットする
(即ち、Rビット=1)。 ステップ108 の後、実行はス
テップ102 に戻る。
【0053】図5のステップ200 で、実行が開始され、
SBD がシステムバス20上のバス動作を待つ。SBD がステ
ップ200 でバス動作をスヌープした後、実行は判定ブロ
ック202 に進む。判定ブロック202 で、SBD はRビット
が0であるか1であるかを判定する。SBD が判定ブロッ
ク202 でRビット=0と判定した場合、実行はステップ
204 に進む。ステップ204 で、SBD はスヌープされたバ
ス動作により要求された機能を開始する。更に、ステッ
プ204 で、バス動作が非SYNC/非TLBSYNC 動作である場
合、実行はステップ206 にも進む。
【0054】ステップ206 で、SBD はバス30上のバス動
作の遠隔状況の受取りを待つ。SBDが遠隔状況を受取っ
た後、実行はステップ208 に進む。ステップ208 で、最
初に(ステップ200 で) スヌープされたバス動作が (ス
テップ212 に関連して後に説明するように、そして、例
えば、図3のクロックサイクル4に関連した上記説明の
ように) 前に再実行動作が生じた場合にのみ、SBD は
(図3のクロックサイクル7に関連した上記説明のよう
に) タグに一致する再実行動作信号をシステムバス20に
出力する。ステップ208 の後、実行は図5に示すように
終了する。
【0055】ステップ204 の後、実行は判定ブロック21
0 に進む。明らかに、ステップ204では、バス動作が非S
YNC/非TLBSYNC 動作である場合、実行は判定ブロック2
10に進むのに並行してステップ206 に進む。判定ブロッ
ク210 で、SBD はそれが最初に (ステップ200 で) スヌ
ープされたバス動作に、"ARespOut"で又はそれ以前に、
応答できるかどうかを判定する。
【0056】"ARespOut"はバス動作がステップ200 でス
ヌープされた後の所定の待ち時間 (例えば、クロックサ
イクルの数) である。待ち時間は図2及び図3に関連し
て既に説明済みである。判定ブロック210 で、SBD が最
初にスヌープされたバス動作に"ARespOut"で又はそれ以
前に応答できないと判定された場合、実行はステップ21
2 に進む。ステップ212 で、例えば、図3のクロックサ
イクル4に関連して前に説明したように、SBD は再実行
動作信号を出力する。ステップ212 の後、実行は図5に
示すように終了する。
【0057】他方、判定ブロック210 で、SBD が最初に
スヌープされたバス動作に"ARespOut"で又はそれ以前に
応答できると判定した場合、実行はステップ214 に進
む。ステップ214 で、SBD は "ヌル" 応答表示を出力す
る。ステップ214 の後、実行は図5に示すように終了す
る。
【0058】判定ブロック202 で、SBD がRビット=1
と判定した場合、実行は判定ブロック216 に進む。判定
ブロック216 で、SBD はスヌープされたバス動作が、
(ステップ212 に関連して後に説明するように、そし
て、例えば図3のクロックサイクル4に関連して既に説
明したように) 前にSBD により再実行動作を生じた、前
にスヌープされた (未終了の) バス動作の動作タグに等
しい動作タグを有したかどうかを判定する。SBD が判定
ブロック216 で動作タグが等しいと判定した場合、実行
は判定ブロック210 に進み且つ、バス動作が非SYNC/非
TLBSYNC 動作である場合、実行は判定ブロック210 に進
むのと並行してステップ206 にも進む。
【0059】他方、SBD が判定ブロック216 で動作タグ
が等しくないと判定した場合、実行はステップ218 に進
む。ステップ218 で、SBD はスヌープされたバス動作の
終了を記録する。ステップ218 の後、実行は図5に示す
ように終了する。
【0060】下記の表はスヌープ装置("スヌーパー")が
バス動作に応答する方法、より詳しくは、バスアダプタ
(例えば、BA 16)が非SYNC/非TLBSYNC バス動作に応答
する方法ならびにプロセッサ (例えば、プロセッサA及
びプロセッサB) 及びバスアダプタがSYNC/TLBSYNC バ
ス動作に応答する方法の概要を示す。
【0061】
【表1】
【0062】[付録: TLBSYNC 及びSYNC命令]TLBSYNC
命令の実行は、変換ルックアサイドバッファ("TLB") エ
ントリを用いているかも知れない全てのプロセッサにお
いて、TLBIE(即ち、TLB エントリ無効化) 命令に応答し
て無効化されている全てのLOAD (ロード) 命令及びSTOR
E(記憶) 命令が実行されていることを保証する。図示の
実施例では、TLBSYNC 命令は一度に1プロセスだけ出力
され、且つこれはソフトウェアに制御される。
【0063】プロセッサA及びBの各々はTLBSYNC マス
タープロセッサ又はスヌープするプロセッサとして動作
できる。TLBSYNC 命令の実行は、全ての前のTLBIE 命令
がシステムバス20に出力されていることを保証しない。
更に、前のTLBIE 命令がシステムバス20で終了している
場合、TLBSYNC 命令の実行は、スヌープするプロセッサ
により前記前のTLBIE 命令が終了されることを保証しな
い。従って、図示の実施例では、システムバス20にTLBS
YNC 命令が出力される前に、TLBSYNC 命令の前に実行さ
れた全てのTLBIE 命令がシステムバス20で終了され且つ
全てのプロセッサにより終了されていることを保証する
ために、ソフトウェアがSYNC命令をTLBSYNC 命令に先行
させる。TLBSYNC バス動作の終了は、TLBIE 命令により
無効化された変換を用いていることがある他のプロセッ
サ上の全ての命令が終了されることを保証する。
【0064】TLBSYNC 命令に応答して、スヌープするプ
ロセッサは、TLB エントリのどれかを用いた全てのロー
ド、記憶及び命令取出しがフラッシュされているか又は
実行されていることを保証する。スヌープされたTLBSYN
C 命令は、スヌープするプロセッサに対し、SYNC命令が
スヌープするプロセッサにより実行された場合に有する
効果と同じ効果を有する。スヌープするプロセッサは、
TLBSYNC 命令を終了させるのに必要な回数だけシステム
バス20に "再実行" を出力できる。
【0065】図示の実施例で、記憶装置の部分が既知の
状態に強制されるとき、記憶装置は全てのプロセッサに
関して同期させられる。SYNC命令は所与のプロセッサに
より実行された全ての命令の実行を順序付ける機能を与
える。これは、SYNC命令を挿入して命令ストリームに同
期が要求されていることを明白に示すことにより達成さ
れる。SYNC命令を実行することにより、プロセッサは、
プロセッサにより前に開始された全ての命令がSYNC命令
の終了前に明白に終了していること、そしてSYNC命令が
終了するまで後続の命令がプロセッサにより開始されな
いことを保証する。SYNC命令が終了したとき、次の命令
が実行される前に、記憶装置をアクセスする他のプロセ
ッサ及び機構に関する、SYNC命令の前にプロセッサによ
り開始された全ての記憶アクセスの動作が実行されてい
るであろう。
【0066】プロセッサは、SYNC命令を用いて、共有デ
ータ構造に関する全ての更新を、当該データ構造のロッ
クを解除する記憶の実行前に、全ての他のプロセッサが
観察できることを保証できる。SYNC命令の実行により、
プロセッサは、それが実行したTLBIE 命令が当該プロセ
ッサにより終了していることを保証する。しかしなが
ら、SYNC命令の実行はTLBIE 命令が他のプロセッサによ
り終了されるのを待たない。従って、図示の実施例で
は、プロセッサはTLBSYNC 命令とそれに続くSYNC命令を
実行し、全ての前のTLBIE 命令が全てのプロセッサによ
り終了していることを保証する。
【0067】SYNC命令は全ての後続の命令の障壁として
動作し、全ての他のプロセッサ内の全ての未実行のスヌ
ーププッシュの終了を待つ。より詳しくは、プロセッサ
は、それが全ての前の命令を終了するまで、タスク指名
段階におけるSYNC命令を保持する。プロセッサが全ての
前の命令を終了した後、SYNCバス動作はシステムバス20
に出力される。プロセッサは、SYNCバス動作が終了する
まで、後続の命令をタスク指名しない。
【0068】プロセッサは、それがSYNCバス動作に応答
してシステムバス20で "再試行" 信号を受取る場合、R
=1のSYNCバス動作信号を再出力する。プロセッサは、
それがSYNCバス動作に応答してシステムバス20で "ヌ
ル" 信号を受取る場合、SYNCバス動作を終了する。SYNC
バス動作に応答して、プロセッサは、全ての前のスヌー
プされたバス動作及び前のスヌープされたバス動作によ
り生じた全てのスヌーププッシュがシステムバス20で終
了しない限り且つそれが終了するまで、少なくとも1つ
の "再実行" 信号をシステムバス20で受取る。その時点
で、SYNCバス動作に応答して、プロセッサは "ヌル" 信
号をシステムバス20で受取る。SYNC命令に応答して、プ
ロセッサは、それがスヌープされたバス動作により全て
の記憶バッファエントリを終了するまで、後続の命令を
タスク指名しない。メモリ装置は、再順序付けが起こり
えない場合且つメモリアレイのアクセスがシステムバス
20からのみである場合、SYNCバス動作を無視できる。
【0069】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1) 装置間で通信する方法であって、第1の装置から
信号を出力するステップと、前記信号に応答して、少な
くとも1つの活動を第2の装置により開始するステップ
と、前記第2の装置が前記活動を終了したかどうかと前
記第2の装置の動作が前記第1の装置による前記信号の
再出力と無関係であるかどうかの表示を出力するステッ
プとを含む方法。 (2) 前記第2の装置が前記活動を終了しなかったこと
及び前記第2の装置の動作が前記第1の装置による前記
信号の再出力に依存することを示す前記表示に応答し
て、前記第1の装置から前記信号を再出力するステップ
を更に含む、上記(1)に記載の方法。 (3) 前記第2の装置が前記活動を終了したかどうかの
追加表示を前記再出力された信号に応答して出力するス
テップを更に含む、上記(2)に記載の方法。 (4) 前記再出力するステップが前記追加信号に応答し
て前記第1の装置から前記信号を再出力するステップを
含む場合、前記第2の装置から前記追加信号を出力する
ステップを更に含む、上記(2)に記載の方法。 (5) 前記追加信号を出力する前記ステップは、前記第
2の装置の前記活動の終了に応答して前記追加信号を出
力するステップを含む、上記(4)に記載の方法。 (6) 前記追加信号を出力する前記ステップは、前記第
2の装置が前記活動の終了を予測するのに応答して前記
追加信号を出力するステップを含む、上記(4)に記載の
方法。 (7) 前記第2の装置が前記活動を終了したかどうかの
追加表示を前記再出力された信号に応答して出力するス
テップを更に含む、上記(6)に記載の方法。 (8) 前記追加表示を出力する前記ステップは、前記第
2の装置が前記活動の終了予測を誤ったので前記第2の
装置が前記活動を終了しなかったことを示す前記追加表
示を出力するステップを含む、上記(7)に記載の方法。 (9) 前記表示は、前記第2の装置が前記活動を終了し
た場合には第1のタイプであり、前記第2の装置が前記
活動を終了しなかった場合且つ前記第2の装置の動作が
前記第1の装置による前記信号の再出力に依存する場合
には第2のタイプであり、そして前記第2の装置が前記
活動を終了しなかった場合且つ前記第2の装置の動作が
前記第1の装置による前記信号の再出力に無関係である
場合には第3のタイプである、上記(1)に記載の方法。 (10) 前記第2のタイプの表示は再実行表示である、
上記(9)に記載の方法。 (11) 前記第3のタイプの表示は再試行表示である、
上記(10)に記載の方法。 (12) 前記第1のタイプの表示はヌル表示である、上
記(11)に記載の方法。 (13) 装置間で通信する方法であって、第1の装置か
ら信号を出力するステップと、前記信号に応答して、少
なくとも1つの活動を第2及び第3の装置により開始す
るステップと、前記第2及び第3の装置が前記活動を終
了したかどうかの表示を出力するステップと、前記第3
の装置による前記活動を再開始せずに、前記第2の装置
が前記活動を終了しなかったこと及び前記第3の装置が
前記活動を終了したことを示す前記表示に応答して前記
第1の装置から前記信号を再出力するステップとを含む
方法。 (14) 前記第2の装置が前記活動を終了したかどうか
の追加表示を前記再出力された信号に応答して出力する
ステップを更に含む、上記(13)に記載の方法。 (15) 前記再出力するステップが追加信号に応答して
前記第1の装置から前記信号を再出力するステップを含
む場合、前記第2の装置から前記追加信号を出力するス
テップを更に含む、上記(13)に記載の方法。 (16) 前記追加信号を出力する前記ステップは、前記
第2の装置による前記活動の終了に応答して前記追加信
号を出力するステップを含む、上記(15)に記載の方
法。 (17) 前記追加信号を出力する前記ステップは、前記
第2の装置による前記活動の終了の予測に応答して前記
追加信号を出力するステップを含む、上記 (15) に記
載の方法。 (18) 前記再出力された信号に応答して、前記第2の
装置が前記活動を終了したかどうかの追加表示を出力す
るステップを更に含む、上記(17)に記載の方法。 (19) 前記追加表示を出力する前記ステップは、前記
第2の装置が前記活動の終了予測を誤ったので前記第2
の装置が前記活動を終了しなかったことを示す前記追加
表示を出力するステップを含む、上記(18)に記載の方
法。 (20) 前記表示を出力する前記ステップは、前記第2
の装置が前活動を終了しなかったことを示す再実行表示
を前記第2の装置から出力するステップと、前記第3の
装置が前活動を終了したことを示すヌル表示を前記第3
の装置から出力するステップとを含む、上記(13)に記
載の方法。 (21) 前記表示を出力する前記ステップは、前記活動
を開始したのち所定の回数だけ前記表示を出力するステ
ップを含む、上記(13)に記載の方法。 (22) 装置間で通信するシステムであって、信号を出
力する第1の装置と、前記第1の装置に接続される第2
の装置であって、前記信号に応答して少なくとも1つの
活動を開始し、且つ前記第2の装置が前記活動を終了し
たかどうかと前記第2の装置の動作が前記第1の装置に
よる前記信号の再出力と無関係であるかどうかの表示を
出力する第2の装置とを備えるシステム。 (23) 前記第1の装置は、前記第2の装置が前記活動
を終了しなかったこと及び前記第2の装置の動作が前記
第1の装置による前記信号の再出力に依存することを示
す前記表示に応答して前記信号を出力する、上記(22)
に記載のシステム。 (24) 前記第2の装置は、前記再出力された信号に応
答して前記第2の装置が前記活動を終了したかどうかの
追加表示を出力する、上記(23)に記載のシステム。 (25) 前記第2の装置は追加信号を出力し、且つ前記
第1の装置は前記追加信号に応答して前記信号を再出力
する、上記(23)に記載のシステム。 (26) 前記第2の装置は前記第2の装置による前記活
動の終了に応答して前記追加信号を出力する、上記(2
5)に記載のシステム。 (27) 前記第2の装置は、前記第2の装置による前記
活動の終了の予測に応答して前記追加信号を出力する、
上記(25)に記載のシステム。 (28) 前記第2の装置は、前記再出力された信号に応
答して前記第2の装置が前記活動を終了したかどうかの
追加表示を出力する、上記(27)に記載のシステム。 (29) 前記第2の装置は、前記第2の装置が前記活動
の終了予測を誤ったので前記第2の装置が前記活動を終
了しなかったことを示す前記追加表示を出力する、上記
(28)に記載のシステム。 (30) 前記表示は、前記第2の装置が前記活動を終了
した場合には第1のタイプであり、前記第2の装置が前
記活動を終了しなかった場合且つ前記第2の装置の動作
が前記第1の装置による前記信号の再出力に依存する場
合には第2のタイプであり、そして前記第2の装置が前
記活動を終了しなかった場合且つ前記第2の装置の動作
が前記第1の装置による前記信号の再出力と無関係であ
る場合には第3のタイプである、上記(22)に記載のシ
ステム。 (31) 前記第2のタイプの表示は再実行表示である、
上記(30)に記載のシステム。 (32) 前記第3のタイプの表示は再試行表示である、
上記(31)に記載のシステム。 (33) 前記第1のタイプの表示はヌル表示である、上
記(32)に記載のシステム。 (34) 装置間で通信するシステムであって、信号を出
力する第1の装置と、前記第1の装置に接続される第2
及び第3の装置であって、前記信号に応答して少なくと
も1つの活動を開始し、且つ前記第2及び第3の装置が
前記活動を終了したかどうかの表示を出力する第2及び
第3の装置とを備え、前記第1の装置は、前記第3の装
置による前記活動の再開始なしに、前記第2の装置が前
記活動を終了しなかったこと及び前記第3の装置が前記
活動を終了したことを示す前記表示に応答して前記信号
を再出力するシステム。 (35) 前記第2の装置は、前記第2の装置が前記活動
を終了したかどうかの追加表示を前記再出力された信号
に応答して出力する、上記(34)に記載のシステム。 (36) 前記第2の装置は追加信号を出力し、そして前
記第1の装置は前記追加信号に応答して前記信号を再出
力する、上記(34)に記載のシステム。 (37) 前記第2の装置は前記第2の装置による前記活
動の終了に応答して前記追加信号を出力する、上記(3
6)に記載のシステム。 (38) 前記第2の装置は前記第2の装置による前記活
動の終了予測に応答して前記追加信号を出力する、上記
(36)に記載のシステム。 (39) 前記第2の装置は、前記第2の装置が前記活動
を終了したかどうかの追加表示を前記再出力された信号
に応答して出力する、上記(38)に記載のシステム。 (40) 前記第2の装置は、前記第2の装置が前記活動
の終了予測を誤ったので前記第2の装置が前記活動を終
了しなかったことを示す前記追加表示を出力する、上記
(39)に記載のシステム。 (41)前記表示は、前記第2の装置が前記活動を終了し
なかったことを示す、前記第2の装置からの再実行表示
と、前記第3の装置が前記活動を終了したことを示す、
前記第3の装置からのヌル表示とを含む、上記(34)に
記載のシステム。 (42) 前記第2及び第3の装置は前記活動の開始後に
所定の回数だけ前記表示を出力する、上記(34)に記載
のシステム。
【0070】
【発明の効果】本発明によれば、全ての先行するバス動
作の終了を待つ間に後続のバス動作の終了が遅延しない
ように装置間で通信することができる。
【図面の簡単な説明】
【図1】本発明の実施例による情報処理システムのブロ
ック図である。
【図2】図1のシステムバスで情報処理システムが実行
した動作例を示す図である。
【図3】図1のシステムバスで情報処理システムが実行
した動作例を示す図である。
【図4】図1の情報処理システムが実行した動作の流れ
図である。
【図5】図1の情報処理システムが実行した動作の流れ
図である。
【符号の説明】
10 情報処理システム 12 バス装置/第1のプロセッサ装置 (プロセッ
サA) 14 バス装置/第2のプロセッサ装置 (プロセッ
サB) 16 バス装置/バスアダプタ装置 (BA) 18 バス装置/メモリ装置 20 システムバス 22 64ビットのアドレスバス 24 128 ビットのデータバス 26 8ビットのデータタグ (Dタグ) バス 28 10ビットの制御/状況バス 30 バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラヴィ・クメール・アリミリ アメリカ合衆国テキサス州、ラウンド・ロ ック、ミモザ・トレイル 2209 (72)発明者 ジョン・ミカエル・カイサー アメリカ合衆国テキサス州、セダー・パー ク、キャプリン・マウント 204 (72)発明者 ウィリアム・カート・ルーチャク アメリカ合衆国テキサス州、オースティ ン、シエラ・オークス 10808

Claims (42)

    【特許請求の範囲】
  1. 【請求項1】装置間で通信する方法であって、 第1の装置から信号を出力するステップと、 前記信号に応答して、少なくとも1つの活動を第2の装
    置により開始するステップと、 前記第2の装置が前記活動を終了したかどうかと前記第
    2の装置の動作が前記第1の装置による前記信号の再出
    力と無関係であるかどうかの表示を出力するステップと
    を含む方法。
  2. 【請求項2】前記第2の装置が前記活動を終了しなかっ
    たこと及び前記第2の装置の動作が前記第1の装置によ
    る前記信号の再出力に依存することを示す前記表示に応
    答して、前記第1の装置から前記信号を再出力するステ
    ップを更に含む、請求項1に記載の方法。
  3. 【請求項3】前記第2の装置が前記活動を終了したかど
    うかの追加表示を前記再出力された信号に応答して出力
    するステップを更に含む、請求項2に記載の方法。
  4. 【請求項4】前記再出力するステップが前記追加信号に
    応答して前記第1の装置から前記信号を再出力するステ
    ップを含む場合、前記第2の装置から前記追加信号を出
    力するステップを更に含む、請求項2に記載の方法。
  5. 【請求項5】前記追加信号を出力する前記ステップは、
    前記第2の装置の前記活動の終了に応答して前記追加信
    号を出力するステップを含む、請求項4に記載の方法。
  6. 【請求項6】前記追加信号を出力する前記ステップは、
    前記第2の装置が前記活動の終了を予測するのに応答し
    て前記追加信号を出力するステップを含む、請求項4に
    記載の方法。
  7. 【請求項7】前記第2の装置が前記活動を終了したかど
    うかの追加表示を前記再出力された信号に応答して出力
    するステップを更に含む、請求項6に記載の方法。
  8. 【請求項8】前記追加表示を出力する前記ステップは、
    前記第2の装置が前記活動の終了予測を誤ったので前記
    第2の装置が前記活動を終了しなかったことを示す前記
    追加表示を出力するステップを含む、請求項7に記載の
    方法。
  9. 【請求項9】前記表示は、前記第2の装置が前記活動を
    終了した場合には第1のタイプであり、前記第2の装置
    が前記活動を終了しなかった場合且つ前記第2の装置の
    動作が前記第1の装置による前記信号の再出力に依存す
    る場合には第2のタイプであり、そして前記第2の装置
    が前記活動を終了しなかった場合且つ前記第2の装置の
    動作が前記第1の装置による前記信号の再出力に無関係
    である場合には第3のタイプである、請求項1に記載の
    方法。
  10. 【請求項10】前記第2のタイプの表示は再実行表示で
    ある、請求項9に記載の方法。
  11. 【請求項11】前記第3のタイプの表示は再試行表示で
    ある、請求項10に記載の方法。
  12. 【請求項12】前記第1のタイプの表示はヌル表示であ
    る、請求項11に記載の方法。
  13. 【請求項13】装置間で通信する方法であって、 第1の装置から信号を出力するステップと、 前記信号に応答して、少なくとも1つの活動を第2及び
    第3の装置により開始するステップと、 前記第2及び第3の装置が前記活動を終了したかどうか
    の表示を出力するステップと、 前記第3の装置による前記活動を再開始せずに、前記第
    2の装置が前記活動を終了しなかったこと及び前記第3
    の装置が前記活動を終了したことを示す前記表示に応答
    して前記第1の装置から前記信号を再出力するステップ
    とを含む方法。
  14. 【請求項14】前記第2の装置が前記活動を終了したか
    どうかの追加表示を前記再出力された信号に応答して出
    力するステップを更に含む、請求項13に記載の方法。
  15. 【請求項15】前記再出力するステップが追加信号に応
    答して前記第1の装置から前記信号を再出力するステッ
    プを含む場合、前記第2の装置から前記追加信号を出力
    するステップを更に含む、請求項13に記載の方法。
  16. 【請求項16】前記追加信号を出力する前記ステップ
    は、前記第2の装置による前記活動の終了に応答して前
    記追加信号を出力するステップを含む、請求項15に記
    載の方法。
  17. 【請求項17】前記追加信号を出力する前記ステップ
    は、前記第2の装置による前記活動の終了の予測に応答
    して前記追加信号を出力するステップを含む、請求項1
    5に記載の方法。
  18. 【請求項18】前記再出力された信号に応答して、前記
    第2の装置が前記活動を終了したかどうかの追加表示を
    出力するステップを更に含む、請求項17に記載の方
    法。
  19. 【請求項19】前記追加表示を出力する前記ステップ
    は、前記第2の装置が前記活動の終了予測を誤ったので
    前記第2の装置が前記活動を終了しなかったことを示す
    前記追加表示を出力するステップを含む、請求項18に
    記載の方法。
  20. 【請求項20】前記表示を出力する前記ステップは、 前記第2の装置が前記活動を終了しなかったことを示す
    再実行表示を前記第2の装置から出力するステップと、 前記第3の装置が前記活動を終了したことを示すヌル表
    示を前記第3の装置から出力するステップとを含む、請
    求項13に記載の方法。
  21. 【請求項21】前記表示を出力する前記ステップは、前
    記活動を開始したのち所定の回数だけ前記表示を出力す
    るステップを含む、請求項13に記載の方法。
  22. 【請求項22】装置間で通信するシステムであって、 信号を出力する第1の装置と、 前記第1の装置に接続される第2の装置であって、前記
    信号に応答して少なくとも1つの活動を開始し、且つ前
    記第2の装置が前記活動を終了したかどうかと前記第2
    の装置の動作が前記第1の装置による前記信号の再出力
    と無関係であるかどうかの表示を出力する第2の装置と
    を備えるシステム。
  23. 【請求項23】前記第1の装置は、前記第2の装置が前
    記活動を終了しなかったこと及び前記第2の装置の動作
    が前記第1の装置による前記信号の再出力に依存するこ
    とを示す前記表示に応答して前記信号を出力する、請求
    項22に記載のシステム。
  24. 【請求項24】前記第2の装置は、前記再出力された信
    号に応答して前記第2の装置が前記活動を終了したかど
    うかの追加表示を出力する、請求項23に記載のシステ
    ム。
  25. 【請求項25】前記第2の装置は追加信号を出力し、且
    つ前記第1の装置は前記追加信号に応答して前記信号を
    再出力する、請求項23に記載のシステム。
  26. 【請求項26】前記第2の装置は前記第2の装置による
    前記活動の終了に応答して前記追加信号を出力する、請
    求項25に記載のシステム。
  27. 【請求項27】前記第2の装置は、前記第2の装置によ
    る前記活動の終了の予測に応答して前記追加信号を出力
    する、請求項25に記載のシステム。
  28. 【請求項28】前記第2の装置は、前記再出力された信
    号に応答して前記第2の装置が前記活動を終了したかど
    うかの追加表示を出力する、請求項27に記載のシステ
    ム。
  29. 【請求項29】前記第2の装置は、前記第2の装置が前
    記活動の終了予測を誤ったので前記第2の装置が前記活
    動を終了しなかったことを示す前記追加表示を出力す
    る、請求項28に記載のシステム。
  30. 【請求項30】前記表示は、前記第2の装置が前記活動
    を終了した場合には第1のタイプであり、前記第2の装
    置が前記活動を終了しなかった場合且つ前記第2の装置
    の動作が前記第1の装置による前記信号の再出力に依存
    する場合には第2のタイプであり、そして前記第2の装
    置が前記活動を終了しなかった場合且つ前記第2の装置
    の動作が前記第1の装置による前記信号の再出力と無関
    係である場合には第3のタイプである、請求項22に記
    載のシステム。
  31. 【請求項31】前記第2のタイプの表示は再実行表示で
    ある、請求項30に記載のシステム。
  32. 【請求項32】前記第3のタイプの表示は再試行表示で
    ある、請求項31に記載のシステム。
  33. 【請求項33】前記第1のタイプの表示はヌル表示であ
    る、請求項32に記載のシステム。
  34. 【請求項34】装置間で通信するシステムであって、 信号を出力する第1の装置と、 前記第1の装置に接続される第2及び第3の装置であっ
    て、前記信号に応答して少なくとも1つの活動を開始
    し、且つ前記第2及び第3の装置が前記活動を終了した
    かどうかの表示を出力する第2及び第3の装置とを備
    え、前記第1の装置は、前記第3の装置による前記活動
    の再開始なしに、前記第2の装置が前記活動を終了しな
    かったこと及び前記第3の装置が前記活動を終了したこ
    とを示す前記表示に応答して前記信号を再出力するシス
    テム。
  35. 【請求項35】前記第2の装置は、前記第2の装置が前
    記活動を終了したかどうかの追加表示を前記再出力され
    た信号に応答して出力する、請求項34に記載のシステ
    ム。
  36. 【請求項36】前記第2の装置は追加信号を出力し、そ
    して前記第1の装置は前記追加信号に応答して前記信号
    を再出力する、請求項34に記載のシステム。
  37. 【請求項37】前記第2の装置は前記第2の装置による
    前記活動の終了に応答して前記追加信号を出力する、請
    求項36に記載のシステム。
  38. 【請求項38】前記第2の装置は前記第2の装置による
    前記活動の終了予測に応答して前記追加信号を出力す
    る、請求項36に記載のシステム。
  39. 【請求項39】前記第2の装置は、前記第2の装置が前
    記活動を終了したかどうかの追加表示を前記再出力され
    た信号に応答して出力する、請求項38に記載のシステ
    ム。
  40. 【請求項40】前記第2の装置は、前記第2の装置が前
    記活動の終了予測を誤ったので前記第2の装置が前記活
    動を終了しなかったことを示す前記追加表示を出力す
    る、請求項39に記載のシステム。
  41. 【請求項41】前記表示は、 前記第2の装置が前記活動を終了しなかったことを示
    す、前記第2の装置からの再実行表示と、 前記第3の装置が前記活動を終了したことを示す、前記
    第3の装置からのヌル表示とを含む、請求項34に記載
    のシステム。
  42. 【請求項42】前記第2及び第3の装置は前記活動の開
    始後に所定の回数だけ前記表示を出力する、請求項34
    に記載のシステム。
JP7200917A 1994-08-31 1995-08-07 装置間の通信システム及び方法 Pending JPH0877126A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29887394A 1994-08-31 1994-08-31
US298873 1994-08-31

Publications (1)

Publication Number Publication Date
JPH0877126A true JPH0877126A (ja) 1996-03-22

Family

ID=23152337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7200917A Pending JPH0877126A (ja) 1994-08-31 1995-08-07 装置間の通信システム及び方法

Country Status (6)

Country Link
US (1) US5745698A (ja)
EP (1) EP0700004A3 (ja)
JP (1) JPH0877126A (ja)
KR (1) KR0153487B1 (ja)
CN (2) CN1205792C (ja)
CA (1) CA2155890A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007099614A1 (ja) * 2006-02-28 2009-07-16 富士通株式会社 システムコントローラおよびキャッシュ制御方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112270A (en) * 1997-10-31 2000-08-29 International Business Machines Corporation Method and system for high speed transferring of strictly ordered bus operations by reissuing bus operations in a multiprocessor system
US6314495B1 (en) * 1998-01-07 2001-11-06 International Business Machines Corporation Method and apparatus for executing multiply-initiated, multiply-sourced variable delay system bus operations
US6128705A (en) * 1998-01-07 2000-10-03 International Business Machines Corporation Method and apparatus for executing multiply-initiated, multiply-sourced variable delay system bus operations
US6192453B1 (en) * 1998-07-13 2001-02-20 International Business Machines Corporation Method and apparatus for executing unresolvable system bus operations
US6898675B1 (en) 1998-08-24 2005-05-24 International Business Machines Corporation Data received before coherency window for a snoopy bus
US6976132B2 (en) * 2003-03-28 2005-12-13 International Business Machines Corporation Reducing latency of a snoop tenure

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3603932A (en) * 1969-04-07 1971-09-07 Bell Telephone Labor Inc Party line stations for selective calling systems
US4218739A (en) * 1976-10-28 1980-08-19 Honeywell Information Systems Inc. Data processing interrupt apparatus having selective suppression control
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
US4785394A (en) * 1986-09-19 1988-11-15 Datapoint Corporation Fair arbitration technique for a split transaction bus in a multiprocessor computer system
US4937734A (en) * 1989-02-21 1990-06-26 Sun Microsystems, Inc. High speed bus with virtual memory data transfer and rerun cycle capability
US5208914A (en) * 1989-12-29 1993-05-04 Superconductor Systems Limited Partnership Method and apparatus for non-sequential resource access
US5202973A (en) * 1990-06-29 1993-04-13 Digital Equipment Corporation Method of controlling a shared memory bus in a multiprocessor system for preventing bus collisions and for ensuring a full bus
US5261109A (en) * 1990-12-21 1993-11-09 Intel Corporation Distributed arbitration method and apparatus for a computer bus using arbitration groups
US5191649A (en) * 1990-12-21 1993-03-02 Intel Corporation Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
US5274763A (en) * 1990-12-28 1993-12-28 Apple Computer, Inc. Data path apparatus for IO adapter
US5195089A (en) * 1990-12-31 1993-03-16 Sun Microsystems, Inc. Apparatus and method for a synchronous, high speed, packet-switched bus
US5416510A (en) * 1991-08-28 1995-05-16 Stereographics Corporation Camera controller for stereoscopic video system
JP3466212B2 (ja) * 1991-09-17 2003-11-10 インテル・コーポレーション コンピュータシステム
US5367695A (en) * 1991-09-27 1994-11-22 Sun Microsystems, Inc. Bus-to-bus interface for preventing data incoherence in a multiple processor computer system
US5463753A (en) * 1992-10-02 1995-10-31 Compaq Computer Corp. Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller
US5459459A (en) * 1992-12-28 1995-10-17 General Electric Company Method and apparatus for transmitting data from an energy meter
JP3261665B2 (ja) * 1993-01-29 2002-03-04 インターナショナル・ビジネス・マシーンズ・コーポレーション データ転送方法及びデータ処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007099614A1 (ja) * 2006-02-28 2009-07-16 富士通株式会社 システムコントローラおよびキャッシュ制御方法
US7979644B2 (en) 2006-02-28 2011-07-12 Fujitsu Limited System controller and cache control method

Also Published As

Publication number Publication date
KR0153487B1 (ko) 1998-11-16
CN1191533C (zh) 2005-03-02
CN1343054A (zh) 2002-04-03
EP0700004A2 (en) 1996-03-06
CA2155890A1 (en) 1996-03-01
KR960008561A (ko) 1996-03-22
CN1127961A (zh) 1996-07-31
EP0700004A3 (en) 1998-07-01
US5745698A (en) 1998-04-28
CN1205792C (zh) 2005-06-08

Similar Documents

Publication Publication Date Title
EP0694849B1 (en) Method for performing bus transactions in a computer system and computer system
KR100253753B1 (ko) 지연 트랜잭션을 실행하기 위한 장치 및 방법
JP3388549B2 (ja) バス・オペレーションの不可分シーケンスを保存する方法,バス・インターフェイスおよびコンピュータ装置
CA2186598C (en) Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US5611058A (en) System and method for transferring information between multiple buses
US5001624A (en) Processor controlled DMA controller for transferring instruction and data from memory to coprocessor
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPH07101410B2 (ja) データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法
US4897779A (en) Method and apparatus for optimizing inter-processor instruction transfers
EP0379769A2 (en) Write-read/write-pass memory subsystem cycle
US5903738A (en) Method and apparatus for performing bus transactions in a computer system
JPH0877126A (ja) 装置間の通信システム及び方法
US6460100B1 (en) Bus snooper for SMP execution of global operations utilizing a single token with implied release
JP3296240B2 (ja) バス接続装置
US5931932A (en) Dynamic retry mechanism to prevent corrupted data based on posted transactions on the PCI bus
JPS6035698B2 (ja) デ−タ処理システム
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JP3141948B2 (ja) 計算機システム
KR100274450B1 (ko) 로컬버스의 트랜잭션 지연 제어방법 및 장치
JP3441521B2 (ja) バス・トランザクション実行の方法と装置
JP2001331201A (ja) 計算機システム
JPS5938828A (ja) デ−タ処理システム
JPH0418639A (ja) プログラム起動方式
JPS6341106B2 (ja)
JPH028333B2 (ja)