JPH06236329A - デッドロック検出およびマスキング装置 - Google Patents

デッドロック検出およびマスキング装置

Info

Publication number
JPH06236329A
JPH06236329A JP4281112A JP28111292A JPH06236329A JP H06236329 A JPH06236329 A JP H06236329A JP 4281112 A JP4281112 A JP 4281112A JP 28111292 A JP28111292 A JP 28111292A JP H06236329 A JPH06236329 A JP H06236329A
Authority
JP
Japan
Prior art keywords
bus
master
masking
signal
deadlock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4281112A
Other languages
English (en)
Other versions
JP3323947B2 (ja
Inventor
Sun-Den Chen
サン−デン・チェン
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH06236329A publication Critical patent/JPH06236329A/ja
Application granted granted Critical
Publication of JP3323947B2 publication Critical patent/JP3323947B2/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • 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
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】マスタ間で相補的同期タイミングのデッドロッ
ク状態が生じるのを阻止する。 【構成】少なくとも2つのバスを相互接続するバス・カ
プラは、バスの制御とスレーブのアクセスを求めている
2つのマスタ間での潜在的仲裁・デッドロック状態を検
出するデッドロック検出およびマスキング・システムを
内蔵している。少なくとも1つのマスタは各バスに接続
し、少なくとも1つのスレーブは少なくとも1つのバス
に接続している。バス・カプラは、どのマスタが各バス
を制御できるかを決定する、バスに接続したアービタを
含んでいる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ・システ
ムにおけるバス仲裁の分野に関する。更に詳しくは、本
発明は、複数のマスタから実質的に同時に発生されたバ
ス制御要求により作り出された仲裁デッドロック状態を
検出し、かつ解決するための機構を内蔵するバス仲裁ア
ーキテクチャに関する。
【0002】
【従来の技術】コンピュータ・システムにおいて、共用
リソースは、通常、データを転送するのに使用される。
一般に使用されている共用リソースの1つに、コンピュ
ータ・システムにおけるサブシステム(たとえば、プロ
セッサ)間の通信リンクとして働くバスがある。一般
に、バスには多くのディバイスが接続し、あるディバイ
スは、同じバスに接続した他のディバイスに制御信号ま
たはデータを送信することができる。バス通信において
は、データが歪んでしまうという理由で、2つ以上のデ
ィバイスが同時に同じバスにデータを転送することがで
きないという共通した問題点がある。したがって、バス
におけるデータ・トランザクションの順序を保持するた
め、あるディバイスは、そのトランザクションのための
スレーブとして動作するいくつかの他のディバイスに対
しての読出しまたは書込みトランザクションを開始する
バス・マスタとして割当てられる。どのマスタがバスの
制御を受けるのかを決定し、かつバスの制御を求めてい
るマスタの優先順位を決定するのにアービタが使用され
る。アービタには、通常、直列と並列の2種類がある。
バス・アービタに関する情報は、たとえば、ステイブリ
ングスによる「コンピュータ編成およびアーキテクチ
ャ」(1990年)における第84〜90頁に記載され
ている。
【0003】さらに複雑なコンピュータ・システムは、
多くのバスと、各バスに接続した多くのマスタを備えて
いる。このような多重バス、多重マスタ・コンピュータ
・システムでは、あるマスタは、第1バスのスレーブに
対してのデータ転送動作を開始し、一方、他のマスタは
第2バスの第2スレーブにデータを転送することがあ
る。通常、バス・カプラは、バス間でのデータおよび制
御信号のルーティングを助け、かつどのマスタがどのバ
スを制御すべきかを決定するのに使用される。カプラ
は、少なくとも1つのバス・プロトコル・ユニットと、
データ変換およびバッファリング・ディバイスと、少な
くとも1つのバス・アービタとを含んでいる。バス・プ
ロトコルは、バス制御信号を処理するインタフェイスに
より実行される。マスタはあるデータ速度で、あるバス
からデータを送信し、かつ他のバスのスレーブは別のデ
ータ速度でデータを受信するので、データ変換およびバ
ッファリング・ディバイスは、データが適切なデータ速
度で受信されかつ送信されるようにする。バス・アービ
タは、そのバスのマスタに関する時間を割当て、それと
同時に、あるマスタにバス制御を許可する。
【0004】図1は多重バス・システムを示している。
図1における多重バス・システムはバス・カプラ56に
より相互接続された2つのバス51,57を含んでい
る。マスタ50、52はバス51に接続され、一方、バ
ス57にはマスタ58とスレーブ55、59とが相互接
続されている。図1に示された多重バス・システムにお
いては、2つの異なるバスに接続した2つのマスタが同
じスレーブをアクセスしようとした場合に、「ライブ」
な、すなわち継続的な仲裁デッドロック状態が起きる。
すなわち、2つの異なるバスの制御を求めている2つの
マスタは、各バスのアービタに対して、継続的、すなわ
ち「ライブ」なデッドロック状態を作り出す。したがっ
て、マスタが相補的同期方式で目標のスレーブと接続し
ているバスを要求すると、バス・カプラ56は両方のマ
スタによる目標のスレーブのアクセスを否定する。たと
えば、バス51に接続したマスタ50は、スレーブ59
をアクセスして読出しまたは書込みトランザクションを
開始するため、バス51、57を制御するとする。スレ
ーブ59は、読出しまたは書込みトランザクションを実
行する一方、そのトランザクションが長引き所定の時間
を超えた場合、マスタ50に「放棄および再試行」信号
を発する。スレーブ59から「放棄および再試行」信号
が発生されると、マスタ50はアクセス路から一時的に
切り離される。すなわち、マスタ50はバス51、57
の制御から解除され、その後、スレーブ59へのアクセ
スを再び試みることになる。したがって、その間、すな
わちスレーブ59が「バックグラウンド」で割り当てら
れたトランザクションを完了する間、両方のバス51、
57は使用されていないので、別のディバイスがバスを
介して通信することができる。たとえば、スレーブ59
が割り当てられたトランザクションでビジーである間、
マスタ52はスレーブ55をアクセスすることができ
る。また、バス・カプラ56は、マスタ50が、スレー
ブ59を再び選択することができる唯一のディバイスで
あると指定する。そのため、マスタ50がスレーブ59
を再アクセスする前に、他のどのマスタもスレーブ59
をアクセスすることはできない。しかし、マスタ50が
スレーブ59のアクセスを再試行する機会を得る前に、
マスタ58は、バス57の制御を得、スレーブ59に関
するトランザクションを開始するよう試みることがあ
る。しかし、スレーブ59はマスタ50に割当てられて
いるので、バス・カプラ56はマスタ58のアクセスを
否定し、バス・カプラ56は、発生された「放棄および
再試行」信号による懸案処理の放棄および再試行「状
態」を「クリヤ」するため、マスタ50によるアクセス
のみを許可する。
【0005】マスタ50がスレーブ59をアクセスする
プロセスを再開すると、バス57のアービタは、マスタ
58がバス57を現在使用中なので、マスタ50がバス
57の制御を得るのを再び否定する。マスタ50は、バ
ス57のアービタにより「バックオフ」し、すなわちバ
ス57の制御要求を停止し、その後、バス57の制御を
得るため再試行するよう命令される。さらに、たとえバ
ス57のアービタがマスタ58によるバス57の制御を
許可したとしても、スレーブ59がマスタ50に「放棄
および再試行」信号を既に発生しているので、マスタ5
8は、スレーブ59をアクセスすることはできない。前
述したように、バス・カプラ56は、スレーブ59から
発せられた放棄および再試行信号をクリヤする、マスタ
50からのアクセス要求を受け入れるだけである。この
ように、マスタ58は、スレーブ59から「バックオ
フ」するよう、すなわちスレーブ59へのアクセス要求
を停止し、かつマスタ50がスレーブ59をアクセスし
終るまで待機するよう命令される。したがって、マスタ
50、58の両方が同時にバス57の制御を求めかつス
レーブ59をアクセスすると、「ライブ」なデッドロッ
ク状態が生じ、マスタ50、58とも、バックオフしか
つ後に再び試みることを命じられる。
【0006】
【発明が解決しようとする課題】本発明の目的は、複数
のマスタから発せられた実質的に同時のバス制御要求に
より作り出され仲裁デッドロック状態を検出し、それを
解決する装置を提供することである。
【0007】
【課題を解決するための手段】本発明は、多重バス、多
重マスタ・コンピュータ・システムにおけるデッドロッ
ク状態を検出しかつ解決する方法および装置を提供す
る。本実施例において、デッドロック検出システムおよ
びマスキング・システムは、少なくとも2つのバスを接
続するバス・カプラに設けられている。少なくとも1つ
のマスタは、各バスに接続され、少なくとも1つのスレ
ーブは、バスの少なくとも1つに接続されている。バス
・カプラは、どのマスタがバスを制御するかを決定す
る、各バスに接続したアービタを含んでいる。デッドロ
ック検出システムは、スレーブによるタスクを受け入れ
た後に放棄および再試行信号に従ってスレーブおよびバ
スから切り離されたマスタを含んでいる2つのマスタの
間でのバス制御に関する潜在的仲裁デッドロックを検出
する。一旦、デッドロック検出システムが起こり得るデ
ッドロックを検出すると、バス・カプラに含まれている
マスキング・システムは、ランダム期間、第2マスタの
バス要求をマスクすることによって、第2マスタが第2
バスの制御を得ることを阻止する。ランダム期間マスク
することにより、第1マスタは、バスを制御しかつスレ
ーブをアクセスする機会を得て、懸案処理の放棄および
再試行状態をクリヤする。ランダム・マスキング期間を
設けることにより、第1および第2マスタ間の継続的デ
ッドロック状態の相補的同期タイミングは避けられる。
このランダム・マスキング期間は、マスキング・システ
ムに設けられたカウンタの残余カウントに基いているこ
とが望ましい。
【0008】
【実施例】以下、多重バス・コンピュータ・システムに
適用されるデッドロック検出、およびマスキングを内蔵
しているバス仲裁アーキテクチャの実施例について説明
する。以下の説明において、特定の数値、時間、アーキ
テクチャ等は本発明の理解を助けるためであって、本発
明はこれら特定の記載には限定されないことは当業者に
は明白であろう。また、周知の回路やディバイスについ
ては、本発明を不明瞭にしないようブロックで示してい
る。さらに、本発明のデッドロック検出およびマスキン
グ・システムは、別のアービタや別のバス・システムに
も適用できることは当業者には明白であろう。
【0009】図2は、多重バス・システムに適用される
本発明の概要を示したブロック図である。マスタ60、
65はバスAに接続され、マスタ61とスレーブ62、
66とはバスBに接続されている。バスAおよびバスB
は両方とも、バス・カプラ64を介して相互接続してい
る。バス・カプラ64は、デッドロック検出およびマス
キング・ブロック63を内蔵している。バス・カプラ6
4は、どのマスタが各バスを制御するのかを決定する、
各バスに接続したアービタをも含んでいる。本発明のシ
ステムにおいて、デッドロック検出およびマスキング・
ブロック63は、1つのバスに接続した1つのスレーブ
の制御を求めている、異なるバスに接続した2つのマス
タ間に潜在的仲裁デッドロック状態が生じるたびに検出
する。図2に示すように、第1バス(バスA)に接続し
た第1マスタ(マスタ60または65)が、第2バス
(バスB)のスレーブ(スレーブ62または66)をア
クセスするよう試みる時、バスの制御に関する潜在的仲
裁デッドロックが起きる。この時、第1マスタはスレー
ブから「放棄および再試行」信号を受け取っているが、
第2バスのアービタが、同じスレーブをアクセスするよ
う試みている第2バスに接続した第2マスタ(マスタ6
1)に対して第2バスの制御を許可し続けているので、
第1マスタはスレーブを再アクセスできない。マスタ
が、スレーブから発せられる「放棄および再試行」信号
に従ってバスから切り離される場合、切り離しは、2つ
の形態、「ステートレス」と「ステートフル」の一方を
とる。本発明は、発明の名称「多重プロセッサ・コンピ
ュータ・システムにおけるデータ・インコヒレンスを阻
止するバス−バス・インタフェイス」の米国特許願に述
べられている放棄および再試行機構を内蔵している。
【0010】一旦、デッドロック検出およびマスキング
・ブロック63が潜在的仲裁デッドロックを検出する
と、デッドロック検出およびマスキング・ブロック63
におけるマスキング・システムは、ランダム期間、第2
マスタが第2バスの制御を受けるのを禁止し、それによ
って、バスおよびスレーブをアクセスし、その後懸案の
処理の放棄および再試行信号をクリヤする機会を第1マ
スタに与える。ランダム・マスキング期間を与えること
により、第1および第2マスタ間での仲裁デッドロック
状態の相補的同期タイミングが避けられる。ランダム・
マスキング期間は、マスキング・システムにおけるカウ
ンタの残余カウントに基いていることが望ましい。本発
明のランダム・マスキング・システムは、マスキング期
間がランダムで、特定の時間に固定されていない。した
がって、マルチプル・タイプのマスタに適している。マ
スタがスレーブから放棄および再試行「状態」をクリヤ
するのに要する時間は、マスタが、「放棄および再試
行」信号を発しているスレーブをいかに速く再アクセス
できるかによって決まる。したがって、固定マスキング
期間はスレーブが処理し得るマスタの有効範囲を制限
し、バスに接続したマルチプル・タイプのマスタには適
していない。たとえば、懸案処理の放棄および再試行
「状態」をクリヤするのに250ナノ秒要するマスタ
は、200ナノ秒の固定マスキング期間を処理すること
はできない。250ナノ秒を要するマスタは、マスキン
グ期間中に割当てられた200ナノ秒内でスレーブを再
アクセスすることができないので、200ナノ秒後に
も、2つのマスタ間にデッドロックが依然存在している
ことになる。
【0011】図3は、デッドロック検出およびマスキン
グ・ブロック63の詳細を示している。デッドロック検
出およびマスク・ジェネレータ・ブロック71は、2つ
のマスタ間で潜在的デッドロック状況が生じていること
を示す多くのinternal_state信号を受信する。internal
_state信号を受信すると、デッドロック検出およびマス
ク・ジェネレータ・ブロック71は、あるマスタからの
バス要求信号をマスク・アウトするマスキング・プロセ
スを開始させる「req_mask」信号を発生する。5ビット
自走カウンタ70は、ゼロから最大計数値まで1クロッ
ク・サイクル当り1インクリメントずつ、単一インクリ
メントでカウントする。最大計数値は任意であるが、ア
クセスしているマスタ間での「ランダム化」が十分に可
能なだけの計数であることが望ましい。カウンタ70が
最大計数値に到達すると、カウンタはゼロにリセット
し、最大計数値まで再びカウントし始める。カウンタ7
0がゼロにリセットすると、カウンタはマスキング・プ
ロセスを終了させる「clr_mask」信号を発生する。clr_
maskは、デッドロック検出およびマスク・ジェネレータ
・ブロック71に送られる。
【0012】優先解決およびマスキング・ブロック72
は、デッドロック検出およびマスク・ジェネレータ・ブ
ロック71からのreq_mask信号を受け取る。さらに、優
先解決およびマスキング・ブロック72は、第2バス
(バスB)に接続したマスタからのbus_requests信号と
busB_request_enables信号と、第1バス(バスA)に接
続したマスタからのbusA_request信号を受信する。さら
に、優先解決およびマスキング・ブロック72は、様々
な入力信号「req_mask」、「busA_requests」、「busB_
requests」信号、「busB_requests_enable」、「next_p
riority」を受信する。 「busA_requests」信号は、バ
スBの制御を要求している、バスAに接続したマスタに
より発せられたバス要求信号である。「busB_request
s」 信号は、バスBの制御を要求している、バスBに接
続したマスタによる要求信号である。「busB_requests_
enalbes」信号は、 バスBに接続したマスタから受信し
た、バスBの制御を求めるバス要求信号を仲裁状態マシ
ンおよびグラント(許可)ジェネレータ・ブロック73
に送るべきかどうかを示している。「next_priority」
信号は、 どのマスタが次のバス・サイクルでバスBを
制御するかを示している。アサートされた「req_mask」
信号により、優先解決およびマスキング・ブロック72
は、全ての「busB_requests」 信号をマスクし、バスB
の制御の優先権をバスAのマスタに許可する「request
s」信号を発生する。優先解決およびマスキング・ブロ
ック72は、どのマスタが次のバス・サイクルにおいて
第2バスを制御できるかを示す「priority」信号(next
_priority)をさらに受信する。要求マスク信号を受信
すると、優先解決およびマスキング・ブロック72は、
第2バスに接続したマスタからの、第2バスの制御を求
める全ての要求をマスク・アウトし、バスAのマスタに
第2バスの制御の優先権を許可する要求信号を発生す
る。
【0013】仲裁状態マシンおよびグラント・ジェネレ
ータ・ブロック73は、懸案のバス要求信号を裁定する
第2バスのアービタとして動作する。仲裁状態マシンお
よびグラント・ジェネレータ・ブロック73は、2種類
の入力、すなわち優先解決およびマスキング・ブロック
72からの要求信号と、バス・サイクルの終了を示すen
d_arbitration 信号とを受信する。さらに、仲裁状態マ
シンおよびグラント・ジェネレータ・ブロック73は、
2種類の出力信号、すなわち優先解決およびマスキング
・ブロック72により決定された最も高い優先順位を有
するマスタにバスの制御を許可するbus_grants信号と、
バスの制御を許可されたマスタを識別するcurrent_gran
ts信号を発生する。優先レジスタ74は、仲裁状態マシ
ンおよびグラント・ジェネレータ・ブロック73により
バスの制御を許可されたマスタを識別するcurrent_gran
ts信号を受信する。続いて、優先レジスタ74は、次の
バス・サイクルを開始する第2バスをどのマスタが制御
するのかを示しているnext_priority信号を発生する。
【0014】図3において、「internal_state」信号
は、スレーブから発せられた放棄および再試行命令の発
生を機能上モニタし、かつ2つのマスタ間の潜在的デッ
ドロック状態を表示する。デッドロック検出およびマス
ク・ジェネレータ・ブロック71は、アサートされた
「internal_statel」信号を受信すると、マスキング・
プロセスを開始する「req_mask」信号を発生し、かつマ
スキング・プロセスを停止させるカウンタ70からの
「clr_mask」信号を受信するまで、その信号を発生し続
ける。カウンタ70は、最大計数値に到達すると「clr_
mask」信号を発生し、その後ゼロにリセットする。仲裁
状態マシンおよびグラント・ジェネレータ・ブロック7
3は、優先解決およびマスキング・ブロック72からの
「requests」信号を受信し、その後、優先解決およびマ
スキング・ブロック72により優先権を許可されたマス
タにバスBの制御を与える「bus_grant」信号を発生す
る。 仲裁状態マシンおよびグラント・ジェネレータ・
ブロック73は、ブロック73が、バス・サイクルの終
了を示すend_arbitration信号を受信するまで、「bus_g
rant」信号をアサートしたままにする。さらに、仲裁状
態マシンおよびグラント・ジェネレータ・ブロック73
は、「bus_grant」 信号により、どのマスタがバスBの
制御を与えられたかを示す「current_grant」 信号を発
生する。「current_grant」 信号は、その後、次のバス
・サイクルにおいてバスBの制御を次に得るマスタを識
別する「next_priority」信号を発生する優先レジスタ
74に送られる。
【0015】図2の実施例においてに示したように、マ
スタ60は、スレーブ62をアクセスするようバスAお
よびバスBを制御する。スレーブ62がビジーの場合、
すなわちスレーブがタスクを完了する時間が所定の期間
を超えた場合、スレーブ62はマスタ60に「放棄およ
び再試行」信号を発生する。バス・カプラ64は、放棄
および再試行信号の発生をモニタし、かつ「internal_s
tate」信号(図3)を発生することにより、起こり得る
デッドロック状態を表示する。バス・カプラ64が、起
こり得るデッドロック状態を表わす「internal_state」
信号をアサートすると、デッドロック検出およびマスキ
ング・システム63は、カウンタ70に従ってランダム
期間マスタ61によりアサートされたバスBのバス要求
をマスクし、それにより、懸案処理の放棄および再試行
「状態」をクリヤするようスレーブ62を再アクセスす
る機会をマスタ60に与える。したがって、マスタ6
0、61による相補的同期アクセスの試みに対してラン
ダム時間のマスクを行なうことによって、スレーブ62
およびバスBの制御を求めているマスタ60とマスタ6
1間の仲裁デッドロック状態は、最初に避けられる。図
4は、様々なシステム信号と、カウンタ70によるマス
キング期間との間の関係を示したタイミング図である。
「internal_state」信号は、デッドロック検出およびマ
スク・ジェネレータ・ブロック71(図3)における潜
在的仲裁デッドロック状態の存在を示す「req_mask」信
号をトリガする。前述したように、「clr_mask」信号
は、カウンタ70がゼロにリセットした時、カウンタ7
0(図3)により発生される。バス要求信号がマスクさ
れている期間は、「req_mask」信号が、 「internl_sta
te」信号を受信したデッドロック検出およびマスク・ジ
ェネレータ・ブロック71によりトリガされた時から、
「clr_maskm」信号を受信したデッドロック検出および
マスク・ジェネレータ・ブロック71により「req_mas
k」信号が除去されるまでの期間である。以上のよう
に、本発明は、デッドロック検出およびマスキング装置
を内蔵しているバス仲裁アーキテクチャを提供する。な
お、本発明は、本発明の思想から離れることなく様々に
改変し得ることは、当業者には明白であろう。
【0016】
【発明の効果】本発明のデッドロック検出およびマスキ
ング・システムにおいては、ランダム・マスキング期間
を設けることにより、第1および第2マスタ間の相補的
同期タイミングの継続的デッドロック状態をなくすこと
ができる。
【図面の簡単な説明】
【図1】バス・カプラに接続した従来の多重バス・シス
テムのブロック図である。
【図2】多重バス・システムに接続したデッドロック検
出およびマスキング・システムのブロック図である。
【図3】デッドロック検出およびマスキング・システム
の詳細を示したブロック図である。
【図4】マスキング・システムのランダム・マスキング
期間を示したタイミング図である。
【符号の説明】
50 マスタ 51 第1バス 52 マスタ 55 スレーブ 56 バス・カプラ 57 第2バス 59 スレーブ 60 マスタ 61 マスタ 62 スレーブ 63 デッドロック検出およびマスキング・ブロック 64 バス・カプラ 65 マスタ 66 スレーブ 70 自走カウンタ 71 デッドロック検出およびマスク・ジェネレータ 72 優先解決およびマスキング・ブロック 73 仲裁状態マシンおよびグラント・ジェネレータ 74 優先レジスタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つの第1バス・マスタを接
    続した第1バスと、少なくとも1つの第2バス・マスタ
    と少なくとも1つのスレーブとを接続した第2バスとの
    間に接続したバス・カプラを含んでいるデータ処理装置
    におけるデッドロック検出およびマスキング装置におい
    て、 クリヤ・マスキング信号を発生するカウンタ装置と、 上記バス・カプラと上記カウンタ装置とに接続し、上記
    第2バスの制御を求める上記第1バス・マスタと上記第
    2バス・マスタとの間の仲裁デッドロックを検出する検
    出装置と、 上記検出装置と上記第2バスとに接続され、上記第2バ
    ス・マスタからのバス要求信号をマスクするマスキング
    装置と、 から成り、上記マスキング装置は、上記第2バスの制御
    を試みている上記第1および第2バス・マスタからのバ
    ス要求信号を受信し、さらに、その信号を受信して、ラ
    ンダム期間上記バス・マスタからの上記バス要求信号を
    マスクすることを特徴とするデッドロック検出およびマ
    スキング装置。
  2. 【請求項2】 少なくとも1つの第1バス・マスタを接
    続した第1バスと、少なくとも1つの第2バス・マスタ
    と少なくとも1つのスレーブとを接続した第2バスとの
    間に接続したバス・カプラを含んでいるデータ処理装置
    におけるデッドロック検出およびマスキング装置におい
    て、 上記バス・カプラからの複数のインターナル・ステート
    信号とクリヤ・マスク信号とを受信するよう接続され、
    出力要求マスク信号を発生し、かつ上記第1および第2
    バス・マスタ間の仲裁デッドロックを検出するデッドロ
    ック検出およびマスク・ジェネレータ装置と、 上記デッドロック検出およびマスク・ジェネレータ装置
    に接続され、上記カウンタ装置がリセットすると、上記
    クリヤ・マスキング信号を発生するカウンタ装置と、 上記バス要求信号と上記要求マスク信号を受信するよう
    接続され、複数の出力マスク要求を発生し、複数のバス
    要求信号を優先順位付けする優先解決およびマスキング
    装置と、 上記優先解決およびマスキング装置に接続し、複数のバ
    ス・グラント信号を発生しかつ上記マスク要求を受信す
    る仲裁状態マシンおよびグラント・ジェネレータ装置
    と、 上記仲裁状態マシンおよびグラント・ジェネレータ装置
    と上記優先解決およびマスキング装置とに接続し、上記
    バス・グラント信号の1つを受信しかつ出力ネクスト・
    プライオリティ信号を発生する優先レジスタと、 から成ることを特徴とするデッドロック検出およびマス
    キング装置。
  3. 【請求項3】 少なくとも1つの第1バス・マスタを接
    続した第1バスと、少なくとも1つの第2バス・マスタ
    と少なくとも1つのスレーブとを接続した第2バスとの
    間に接続したバス・カプラを含んでいるデータ処理装置
    におけるデッドロック検出およびマスキング方法におい
    て、 ゼロから最大値までインクリメントし、上記最大値まで
    インクリメントした後ゼロにリセットするカウンタ装置
    を供給する過程と、 上記第2バスの制御を試みる上記第1および第2バス・
    マスタからの複数のバス要求信号を受信する過程と、 上記バス・カプラと上記バスとに接続し、上記第2バス
    の制御を求める上記第1および第2バス・マスタ間の仲
    裁デッドロックを検出する検出装置を提供する過程と、 上記仲裁デッドロックを検出すると要求マスク信号を供
    給する過程と、 上記第2バス・マスタからの上記バス要求信号をマスキ
    ングする過程と、 から成ることを特徴とするデッドロック検出およびマス
    キング方法。
JP28111292A 1991-09-27 1992-09-28 デッドロック検出およびマスキング装置 Expired - Fee Related JP3323947B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US76683591A 1991-09-27 1991-09-27
US766835 1991-09-27

Publications (2)

Publication Number Publication Date
JPH06236329A true JPH06236329A (ja) 1994-08-23
JP3323947B2 JP3323947B2 (ja) 2002-09-09

Family

ID=25077669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28111292A Expired - Fee Related JP3323947B2 (ja) 1991-09-27 1992-09-28 デッドロック検出およびマスキング装置

Country Status (5)

Country Link
US (1) US5544332A (ja)
EP (1) EP0537899B1 (ja)
JP (1) JP3323947B2 (ja)
KR (1) KR0153538B1 (ja)
DE (1) DE69230428T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839857B2 (en) 2000-01-13 2005-01-04 Sony Computer Entertainment Inc. Interrupt controller in an interface device or information processing system
US20110179206A1 (en) * 2008-08-22 2011-07-21 Mitsubishi Electric Corporation Bus controller, bus communication system, and bus control method
US8700835B2 (en) 2008-12-12 2014-04-15 Fujitsu Semiconductor Limited Computer system and abnormality detection circuit

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4317567A1 (de) * 1993-05-26 1994-12-01 Siemens Ag Verfahren zum Betreiben eines Bussystems sowie Anordnung zur Durchführung des Verfahrens
AU673756B2 (en) * 1993-07-16 1996-11-21 D2B Systems Company Limited Communication bus system with mitigation of slave station locking problem
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization
CA2140685A1 (en) * 1994-01-28 1995-07-29 Randy M. Bonella Bus master arbitration circuitry having improved prioritization
FI101100B (fi) * 1995-02-27 1998-04-15 Valmet Corp Paperikoneen sylinterien ja telojen laakereiden kiertovoitelun valvont a- ja ohjausjärjestelmä
US5625824A (en) * 1995-03-03 1997-04-29 Compaq Computer Corporation Circuit for selectively preventing a microprocessor from posting write cycles
US5634068A (en) * 1995-03-31 1997-05-27 Sun Microsystems, Inc. Packet switched cache coherent multiprocessor system
US5689713A (en) * 1995-03-31 1997-11-18 Sun Microsystems, Inc. Method and apparatus for interrupt communication in a packet-switched computer system
DE69628079T2 (de) * 1995-03-31 2004-02-26 Sun Microsystems, Inc., Santa Clara Mechanismus auf Systemebene zum Entwerten von Daten, die im externen Cache eines Prozessors in einem Computersystem gespeichert sind
US5684977A (en) * 1995-03-31 1997-11-04 Sun Microsystems, Inc. Writeback cancellation processing system for use in a packet switched cache coherent multiprocessor system
US5907485A (en) * 1995-03-31 1999-05-25 Sun Microsystems, Inc. Method and apparatus for flow control in packet-switched computer system
US5710891A (en) * 1995-03-31 1998-01-20 Sun Microsystems, Inc. Pipelined distributed bus arbitration system
US5657472A (en) * 1995-03-31 1997-08-12 Sun Microsystems, Inc. Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor
DE69628493T2 (de) * 1995-03-31 2004-05-19 Sun Microsystems, Inc., Santa Clara Cache-kohärentes Computersystem, das Entwertungs- und Rückschreiboperationen minimiert
US5655100A (en) * 1995-03-31 1997-08-05 Sun Microsystems, Inc. Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system
US5933612A (en) * 1995-05-02 1999-08-03 Apple Computer, Inc. Deadlock avoidance in a split-bus computer system
USRE38428E1 (en) 1995-05-02 2004-02-10 Apple Computer, Inc. Bus transaction reordering in a computer system having unordered slaves
US5943483A (en) * 1995-12-11 1999-08-24 Lsi Logic Corporation Method and apparatus for controlling access to a bus in a data processing system
KR0172310B1 (ko) * 1995-12-29 1999-03-30 김주용 교착 상태 방지를 위한 버스 유닛
US5828889A (en) * 1996-05-31 1998-10-27 Sun Microsystems, Inc. Quorum mechanism in a two-node distributed computer system
US5893165A (en) * 1996-07-01 1999-04-06 Sun Microsystems, Inc. System and method for parallel execution of memory transactions using multiple memory models, including SSO, TSO, PSO and RMO
JPH1078934A (ja) * 1996-07-01 1998-03-24 Sun Microsyst Inc パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム
US5954809A (en) * 1996-07-19 1999-09-21 Compaq Computer Corporation Circuit for handling distributed arbitration in a computer system having multiple arbiters
US5909369A (en) * 1996-07-24 1999-06-01 Network Machines, Inc. Coordinating the states of a distributed finite state machine
US5761454A (en) * 1996-08-27 1998-06-02 Vlsi Technology, Inc. Deadlock resolution methods and apparatus for interfacing concurrent and asynchronous buses
US5832195A (en) * 1996-11-20 1998-11-03 Allen-Bradley Company, Llc Peer-to-peer fault identification
US5960174A (en) * 1996-12-20 1999-09-28 Square D Company Arbitration method for a communication network
US5930485A (en) * 1997-01-07 1999-07-27 Apple Computer, Inc. Deadlock avoidance in a computer system having unordered slaves
JP2000040061A (ja) * 1998-05-20 2000-02-08 Oki Data Corp バス使用権調停システム
JP3277887B2 (ja) * 1998-06-19 2002-04-22 日本電気株式会社 送受信方法、送受信回路および送受信回路の制御方法
US6304938B1 (en) * 1999-02-23 2001-10-16 Oracle Corporation Detecting a state change in a lock structure to validate a potential deadlock
US6415347B1 (en) * 1999-06-30 2002-07-02 Adaptec, Inc. Hardware attention management circuit and method for parallel SCSI host adapters
JP2001101491A (ja) * 1999-09-30 2001-04-13 Sanyo Electric Co Ltd 自動販売機の通信システム
US6496890B1 (en) 1999-12-03 2002-12-17 Michael Joseph Azevedo Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
KR100338954B1 (ko) * 1999-12-30 2002-05-31 박종섭 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법
US6701397B1 (en) * 2000-03-21 2004-03-02 International Business Machines Corporation Pre-arbitration request limiter for an integrated multi-master bus system
GB0008195D0 (en) * 2000-04-05 2000-05-24 Power X Limited Data switching arbitration arrangements
GB2364867B (en) * 2000-07-17 2003-12-10 Advanced Risc Mach Ltd A data processing apparatus and slave interface mechanism for controlling access to a slave logic unit by a plurality of master logic units
JP3711871B2 (ja) * 2001-01-23 2005-11-02 日本電気株式会社 Pciバスの障害解析容易化方式
JP4529063B2 (ja) * 2001-03-30 2010-08-25 ルネサスエレクトロニクス株式会社 システムシミュレータ、シミュレーション方法及びシミュレーションプログラム
US7062582B1 (en) * 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
US7360119B1 (en) * 2004-03-03 2008-04-15 Adaptec, Inc. Method and apparatus for handling SAS/SATA communication deadlock
US7219178B2 (en) * 2004-09-30 2007-05-15 Arm Limited Bus deadlock avoidance
US8751715B1 (en) * 2010-03-31 2014-06-10 Enc Corporation System and method for controlling device access
US8984194B2 (en) * 2011-01-21 2015-03-17 Numia Medical Technology Llc Multi-master bus arbitration and resource control
JP6210187B2 (ja) * 2012-10-23 2017-10-11 セイコーエプソン株式会社 集積回路装置、物理量測定装置、電子機器および移動体
FR3003055B1 (fr) * 2013-03-06 2015-04-03 Sagem Defense Securite Procede de controle de bande passante pour systeme sur puce
GB2526052B (en) * 2014-03-31 2016-04-13 Imagination Tech Ltd Deadlock detection using assertions
DE102014108455A1 (de) * 2014-06-16 2015-12-17 Beckhoff Automation Gmbh Verfahren zum Betreiben eines Netzwerks
CA3015725C (en) * 2016-02-26 2022-03-22 Micro Motion, Inc. Communicating with two or more slaves
US11144358B1 (en) 2018-12-06 2021-10-12 Pure Storage, Inc. Asynchronous arbitration of shared resources
US11537545B2 (en) * 2020-07-31 2022-12-27 Nxp Usa, Inc. Deadlock condition avoidance in a data processing system with a shared slave
US20230229525A1 (en) * 2022-01-20 2023-07-20 Dell Products L.P. High-performance remote atomic synchronization

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868741A (en) * 1983-07-22 1989-09-19 Texas Instruments Incorporated Computer bus deadlock prevention
US4941086A (en) * 1984-02-02 1990-07-10 International Business Machines Corporation Program controlled bus arbitration for a distributed array processing system
US4648029A (en) * 1984-08-27 1987-03-03 International Business Machines Corporation Multiplexed interrupt/DMA request arbitration apparatus and method
AU4907285A (en) * 1984-11-09 1986-05-15 Spacelabs, Inc. Communications bus broadcasting
US5150467A (en) * 1987-09-04 1992-09-22 Digital Equipment Corporation Method and apparatus for suspending and restarting a bus cycle
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5193193A (en) * 1988-09-14 1993-03-09 Silicon Graphics, Inc. Bus control system for arbitrating requests with predetermined on/off time limitations
IT1227711B (it) * 1988-11-18 1991-05-06 Caluso Torino Sistema multiprocessore di elaborazione dati a risorse distribuite condivise e prevenzione di stallo.
IT1229667B (it) * 1989-04-24 1991-09-06 Bull Hn Information Syst Sistema di elaborazione dati con arbitratore duale di accesso a bus di sistema.
US5170481A (en) * 1989-06-19 1992-12-08 International Business Machines Corporation Microprocessor hold and lock circuitry
US5101479A (en) * 1989-07-21 1992-03-31 Clearpoint Research Corporation Bus device for generating and responding to slave response codes

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839857B2 (en) 2000-01-13 2005-01-04 Sony Computer Entertainment Inc. Interrupt controller in an interface device or information processing system
US20110179206A1 (en) * 2008-08-22 2011-07-21 Mitsubishi Electric Corporation Bus controller, bus communication system, and bus control method
JP5127927B2 (ja) * 2008-08-22 2013-01-23 三菱電機株式会社 バスコントローラ及びバス通信システム及びバス制御方法
US8527682B2 (en) * 2008-08-22 2013-09-03 Mitsubishi Electric Corporation Bus controller, bus communication system, and bus control method
US8700835B2 (en) 2008-12-12 2014-04-15 Fujitsu Semiconductor Limited Computer system and abnormality detection circuit

Also Published As

Publication number Publication date
DE69230428D1 (de) 2000-01-20
DE69230428T2 (de) 2000-08-03
US5544332A (en) 1996-08-06
EP0537899B1 (en) 1999-12-15
KR0153538B1 (ko) 1998-11-16
EP0537899A1 (en) 1993-04-21
JP3323947B2 (ja) 2002-09-09
KR930006557A (ko) 1993-04-21

Similar Documents

Publication Publication Date Title
JP3323947B2 (ja) デッドロック検出およびマスキング装置
JP3231596B2 (ja) 待ち時間及びシャドー・タイマを有するバス・システム
US5621897A (en) Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
US5572686A (en) Bus arbitration scheme with priority switching and timer
US6496890B1 (en) Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
JPH02100166A (ja) マルチプロセッサシステム
JPH05197671A (ja) マスター・スレーブ通信方法
JPH05216811A (ja) 二バス間のトランザクションを制御する再試行方法
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JPH0816874B2 (ja) データ処理システムでの複数ユーザによる資源アクセスを管理する方法および装置
US6026460A (en) Method and apparatus for sequencing system bus grants and disabling a posting buffer in a bus bridge to improve bus efficiency
US7543093B2 (en) Method and system for stream burst data transfer
KR100237983B1 (ko) 주 및 부 디바이스에 대한 데이터 버스의 승인들을 균등화하기위한 방법 및 장치
JP5677007B2 (ja) バス調停装置、バス調停方法
JP2647035B2 (ja) バス制御回路
JPH03263158A (ja) 共通バス調停制御方式
JPS63286949A (ja) バス制御方式
JP2555941B2 (ja) バスアービトレーション方式
JPH08263428A (ja) スプリット転送方式を適用する情報処理装置及び同装置におけるバス調停方法
JPH05197675A (ja) バス権調停方式
JPH05204832A (ja) Dmaバス調停方式
JP2000076182A (ja) バス調停方式
JP2001331442A (ja) システムバス競合制御装置及びそれに用いるシステムバス競合制御方式
JPH05324543A (ja) バス・アービタ装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees