JPH079644B2 - デッドロック検出・解決方式 - Google Patents

デッドロック検出・解決方式

Info

Publication number
JPH079644B2
JPH079644B2 JP58503288A JP50328883A JPH079644B2 JP H079644 B2 JPH079644 B2 JP H079644B2 JP 58503288 A JP58503288 A JP 58503288A JP 50328883 A JP50328883 A JP 50328883A JP H079644 B2 JPH079644 B2 JP H079644B2
Authority
JP
Japan
Prior art keywords
station
line
state
bus
access
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 - Lifetime
Application number
JP58503288A
Other languages
English (en)
Other versions
JPS59501763A (ja
Inventor
ブラム・デイヴイツド・ジヨン
グリン・ジエ−ムス・マイケル
ヘルパ−・エドワ−ド・リ−
サリヴアン・ジヨン・マイケル
Original Assignee
ウエスターン エレクトリック カムパニー,インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ウエスターン エレクトリック カムパニー,インコーポレーテッド filed Critical ウエスターン エレクトリック カムパニー,インコーポレーテッド
Publication of JPS59501763A publication Critical patent/JPS59501763A/ja
Publication of JPH079644B2 publication Critical patent/JPH079644B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • 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
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • G06F13/4036Coupling between buses using bus bridges with arbitration and deadlock prevention

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は一般にマルチポイント通信方式、特にこのよう
なシステムにおけるデッドロックの検出と解決に関す
る。
発明の背景 デッドロックとは二つあるいはそれ以上の物が、生ずる
可能性がない事象を待っているような条件である。例え
ば、第1の資源を占有している第1の装置が第1の資源
の使用を待っている第2の装置によって保留されている
第2の資源の使用を待つような条件である。この点から
いずれの装置も先に進むことはできないから、これらは
共に永久的に止まってしまうことになる。従っていずれ
かの装置にデッドロックが発生するのを防止する装置を
設けるか、あるいはデッドロックが生じたときにこれを
検出して解決する手段を設けるかする必要がある。
データリンク、プロセッサ、入出力デバイス、記憶デバ
イスのような複数のステーションが通信媒体により通信
のために相互接続されたマルチポイントデータ通信方式
においても、デッドロック条件が生ずる。このようなシ
ステムにおいては、第2のステーション通信媒体にアク
セスしようと試みている間に、ひとつのステーションが
通信媒体を通して第2のステーションにアクセスしよう
とすることがある。第2のステーションは媒体にアクセ
スしようとする動作で塞っているから、第1のステーシ
ョンは第2のステーションに対してアクセスすることは
できない。しかし媒体は第1のステーションによって使
用されているから、第2のステーションは媒体にアクセ
スすることはできない。
従来技術においてはこの問題を種々の方法で解決してい
る。ひとつの方法は通信システム中の各ステーションが
相互に直接に通信することを許さず、その代わりにバッ
ファ領域のような受動的な中介を通して通信するように
強制することによってデッドロックの発生の可能性を防
止している。ステーションは通信媒体を通してバッファ
にアクセスすることができるが、バッファそのものは受
動的で媒体にアクセスすることができない。この方法で
は通信システムの中に追加のバッファ記憶回路を設けな
ければならず、ステーションにはバッファ記憶の中の通
信の存在を検査し、そのステーションに対して通信した
いとしている物をこれらの通信の中から選択するという
頻々複雑となり、あるいは時間のかかる機能を設けなけ
ればならない。
デッドロックの発生を防止するための従来技術の他の方
法は、アクセスが完成できることを確認するために、こ
のようなアクセスに関連したすべての資源の利用可能性
をチエックしたあとで、ステーションから他のステーシ
ョンへのアクセスを許すようにする方法である。この方
法のひとつの欠点はリソースの利用可能性を検査してか
ら、第1のステーションによって実際に使用されるよう
になるまでの間第2のステーションによってリソースが
占有されることがないように、ステーションにはそれ自
身で必要なリソースをロックする機能を設けておかなけ
ればならないことである。このような機構は一般に複雑
で、実現には歪がかかるばかりでなく、リソースを使用
する前にリソースをテストしてロックする全手順は非常
に時間がかかり、他のステーションからさらに他の未使
用のリソースを待たなければならないようにし、従って
システムの性能を劣化させてしまう。
デッドロックの問題を解決する従来技術の第3の方法
は、デッドロックの発生を検出し、これに応動してデッ
ドロック状態にあるステーションの内のひとつに強制的
にその動作を放棄させ、他のステーションにその動作を
完了する優先権を与えるようにする方法である。優先権
を持ったステーションがその動作を完了すると、他方の
ステーションは再び先に放棄された動作の試みを開始す
る。この方法ではステーションのひとつがすでに実行し
たが、強制的に放棄させられた動作を後にくりかえさな
ければならないことになるため、無駄が多いことにな
る。もしステーションがプログラム制御されていれば、
動作の放棄と再試行はソフトウェアにとっては一般にト
ランスペアレントにはならない。その代わり、プログラ
ムの実行を中断し、制御をステーションの動作を放棄さ
せる特別のソフトウェアにジャンプさせる必要があり、
また放棄された動作を生じたプログラムの部分を再び実
行する制御が行わなければならない。さらに、他のステ
ーションが放棄を行ってその動作をリセットしている間
に、優先順を持つステーションは強制的に待たなければ
ならないことになる。このように特にプログラム制御の
条件においては、システムの性能が劣化する。
発明の要約 本発明の目的はデッドロック条件を取扱う従来技術の方
式の上述したまたその他の欠点を解決することにある。
本発明に従えば、通信媒体と通信媒体に対してアクセス
できるようになった第1および第2のステーションを含
む通信方式におけるデッドロックの検出と解決の方式
は、第2のステーションが媒体に対してアクセスしてい
るか、あるいはアクセスを試みている間に第1のステー
ションによる第2のステーションに対するアクセスある
いはアクセスの試みを検出すると、第1のステーション
が第2のステーションに対してアクセスできるようにす
るために第2のステーションによるアクセスあるいはア
クセスの試みを停止し、第1のステーションが第2のス
テーションに対してアクセスを終了したときに、第2の
ステーションによるアクセスあるいはアクセスの試みを
継続するようになっている。
有利なことに、第2のステーションは上述した第1の媒
体とインタフェースされ、第1のステーションにアクセ
スできるようになった第2の通信媒体と、第2の媒体に
接続され第2の媒体を経由して第1の媒体にアクセスで
きるようになった装置を含んでいる。このときには検出
は装置が第1の媒体にアクセスしようとしているときに
第1のステーションによる第2の媒体へのアクセスの試
みを検出するために第1および第2の媒体を監視し、そ
の中止と継続はそれぞれ第2の媒体に対して、装置を切
断あるいは再接続することによって行われる。
本発明はステーションが相互にアクセスすることを可能
にし、従って、そのステーション間の通信について人工
的な制約やそれに関する複雑さを課すことはない。デッ
ドロック条件が生ずることは許されているから、デッド
ロックの発生の可能性をテストして、デッドロックを防
止するこの方式の使用によってシステムの性能が低下す
ることはない。本発明ではステーションによる動作を一
時止めて、後で継続するのであって、このような活動を
放棄して後に再び試みるのではないから、本発明によっ
て従来技術のデッドロック解決方式で見られる無駄を防
止することができる。さらに、本発明のデッドロック検
出解決方式はプログラム制御されたステーションのソフ
トウェアに対してトランスパレントにでき、これによっ
て従来技術の方式に見られたシステム性能の劣化を防止
することができる。
本発明の彼此の利点は図面を参照した本発明の一実施例
の以下の詳細な説明によって完全に理解されるものであ
る。
図面の簡単な説明 第1図は本発明の一実施例のシステムのブロック図; 第2A図−第2B図は第1図のマイクロバスの基本的読み出
しおよび書き込みプロトコルのタイミング図; 第3図は第1図のマイクロバスコントローラの状態図; 第4図は第1図のローカルバスマスタの状態図; 第5図は第1図のローカルバススレーブの状態図; 第6図は第1図のデッドロック検出器の状態図である。
詳細な説明 システム 図面を参照して、第1図はマルチプロセッサコンピュー
タシステム20の一部を図示している。システム20は複数
のマルチプロセッサステーションを含み、図にはその内
三つのステーション22−24が図示されている。以後ステ
ーション22−24を参照したときには、システム20中のす
べてのステーションを指すものと理解されたい。システ
ム20のマイクロプロセッサステーション22−24はシステ
ムの仕事を実行するために相互に協力する。この目的で
ステーション22−24はローカルバス(LB)21によって相
互接続されており、これがステーション22−24の通信媒
体として用いられる。ステーション22−24とローカルバ
ス21によって形成される通信ネットワークによってシス
テム20内の任意のステーション22−24は任意の他のステ
ーション22−24と通信することができる。
ローカルバス21は任意の適切な通信媒体でよい。第1図
の例では、ローカルバス21は任意の時点でひとつのステ
ーション22−24によって排他的にアクセスされるように
なっている。排他的アクセスはバスアービタ方式によっ
て保障される。ローカルバス21をアクセスしたいステー
ション22−24はバスアービタ(図示せず)に行くLBREQ
(ローカルバス要求)線をアサートする。アービタは要
求したステーション22−24のひとつを選択してバスへの
アクセスを許し、LBACK(ローカルバス確認)線をアサ
ートすることによってそのステーション22−24に対する
アクセスを許す。
ステーション22−24はその構成と動作において相互に類
似している。ステーション22−24の内の代表がステーシ
ョン22であり、これについては第1図にブロック図の形
で示されている。ステーション22は中央処理ユニット
(CPU)25、メモリと周辺装置32、直接メモリアクセス
(DMA)周辺装置33を含んでおり、これらの装置はマイ
クロバス(MB)36によって通信するように相互接続され
ている。CPU25はステーション22の論理および算術動作
を実行する。メモリと周辺装置32はひとつあるいはそれ
以上の記憶装置と入出力ユニットを含んでいる。メモリ
と周辺装置32のユニットは受動的資源であり、これには
マイクロバス36を通してCPU25のような他の装置からア
クセスすることはできるが、それ自身はマイクロバス36
を通して他の装置にアクセスすることはできない。メモ
リと周辺装置32のような他の装置にアクセスすることが
できる能力を持つ入出力ユニットのような資源はDMA周
辺装置32に含まれている。
CPU25はマイクロバス36とマイクロバスコントローラ(M
BC)26、アドレスバッファ28、データバッファ29および
読み/書き(R/W)バッファ30によってインタフェース
されている。MBC26はステーション22の状態を監視し、
マイクロバス36の使用を調整する。MBC26はバッファ28
−30を制御し、それによってCPU25をマイクロバス36か
ら選択的に切断する。
MBC26はは第3図の状態図によって定義される有限状態
機械である。有限状態機械は当業者には周知であり、種
々の方法で実現できる。例えば、有限状態機械は適切に
プログラムされたマイクロプロセッサあるいはプログラ
マブル論理アレイによって実現できる。その実現の詳細
は利用できる技術の関数であり、当業者の技能の範囲内
にある。冗長さを避けるために、有限状態機械の実現方
法の詳細については本実施例について説明することはし
ない。しかし、有限状態機械は習慣的に機械の状態のシ
ーケンスと各状態で実行される動作について記述するよ
うになっている。第3図はMBC26のこのような状態図で
ある。これはMBC26の状態と状態変化それに記号によっ
て実行されるある種の機能を示している。MBC26の状態
図と機能については後に詳述する。
マイクロバス36とステーション22はローカルバスコント
ローラ兼インタフェース(LBC/I)34によって通信のた
めにローカルバス21とインタフェースされる。LBC/I34
はステーション22のCPU25およびDMA周辺装置33がシステ
ム20中の他のステーションにアクセスしたいと思ったと
きに、これらの装置に代わってローカルバス21の使用を
要求する。同様にLBC/I34はメモリと周辺装置32あるい
はDMA周辺装置33のようなステーション22の装置と通信
したいと思っているステーション23−24によるマイクロ
バス36へのアクセスを提供する。さらにLBC/I34はロー
カルバス21とマイクロバス36の間の通信を調整し、イン
タフェースする。
LBC/I34はローカルバスインタフェース(LBI)35を含
み、これはマイクロバス36とローカルバス21のアドレス
部とデータ部のインタフェースに責任を持っている。LB
I35はこの目的を達成するための必要なバッファ、ゲー
ト、ドライバおよび論理から成っている。その構成はロ
ーカルバスの構成と構造によって決まり、当業者の知識
の範囲内にある。LBC/I34はまたローカルバスコントロ
ーラ(LBC)37を含み、これはマイクロバス36とローカ
ルバス21の制御部のインタフェースの責任を負ってい
る。LBC37はステーション22によって開始されたローカ
ルバス21上の通信を制御するLBマスタ38と、ローカルバ
ス21を通して他のステーション23−24によって開始され
たマイクロバス36上の通信を制御するLBスレーブ39およ
びデッドロック条件の発生を検出して知らせるデッドロ
ック検出器47を含んでいる。MBC26と同様に、LBマスタ3
8、LBスレーブ39およびデッドロック検出器47は有限状
態機械であり、これはそれぞれ第4図−第6図の状態図
によって定義される。ユニット38、39および47の状態図
と機能については後に詳述する。
上述したように、マイクロバス36はステーション22の種
々の装置の間の通信リンクとして機能する。マイクロバ
ス36はアドレスバスMA(マイクロアドレス)、データバ
スMD(マイクロデータ)および後述する複数の制御線を
含んでいる。マイクロバス36は3状態モードの双方向バ
スであり、MAバス、MDバスおよびマイクロバス36に含ま
れた制御線のあるものは、これらの3状態の任意の状態
を選択的にとることができ、信号はこれらのバスおよび
線上を双方向に伝わるようになっている。一例として、
これらの3レベルは次のようなものである。第一のレベ
ルは信号がアサートされており、第2のレベルはアサー
トと考えられるレベルの逆で、信号はデアサートされて
いると考えられ、第3は中立のレベルで、3状態レベル
と呼ばれ、この状態では信号もその反転もアサートされ
ていない。これ以降では、マイクロバスが3状態モード
にあるというときには、3状態モードをとることができ
るバス36のこれらのバスと制御線は3状態レベルにおか
れているものと考える。
マイクロバス36の他の制御線は片方向である。これらの
線は信号レベルに従って選択的にアサートされたり、デ
アサートされたりし、信号はこれらの線上を片方向にだ
け伝わるようになっている。マイクロバス36が3状態モ
ードにあるときには、これらの線はデアサートされる。
ここでステーション22中のマイクロバス36のルーティン
グについて考えて見よう。両方向の3状態モードのMDバ
スはLBC/I34、DMA周辺装置33、メモリと周辺装置32およ
びデータバッファ29のデータポートに接続されている。
データバッファ29の第2のポートをCPU25のデータポー
トに接続するデータバスはCPU25をMDバスに接続するよ
うに機能する。
両方向の3状態のMAバスはLBC/I34、DMA周辺装置33、メ
モリと周辺装置32およびアドレスバッファ28のアドレス
ポートに接続されている。アドレスバッファ28の第2の
ポートはアドレストランスレータ27の物理的アドレスポ
ートに接続されており、その仮想アドレスポートはアド
レスバスによって、CPU25のアドレスポートに接続され
ている。このようにアドレスバスはCPU25をMAバスと接
続するように動作する。アドレストランスレータ27はCP
U25によって使用される仮想アドレスをステーション22
の残りの部分で使用する物理アドレスに翻訳する。これ
らの装置は当業者には周知である。
MAバスはまたアドレスデコーダ31の入力ポートに接続さ
れており、その出力は片方向性の2状態のEXTERN線によ
ってLBC/I34の入力に接続されている。デコーダ31はMA
バス上のアドレスを監視し、これがその上でローカルバ
ス21のアドレス、すなわちマイクロバス36をローカルバ
ス21にインタフェースすることを必要とするステーショ
ン22の外のアドレスを検出したときには、EXTERN線を経
由してLBC/I34に知らせる。このようなデコーダもまた
当業者には知られている。
両方向性の3状態モードのR/W(読み書き)線はメモリ
と周辺装置32、DMA周辺装置33、LBC/I34、R/Wバッファ3
0を相互接続する。CPU25とバッファ30の間の接続はCPU
R/W線によって行われ、これは従ってCPU25をR/W線に接
続するようになっている。線R/Wの状態はマイクロバス3
6を通して実行されているのは読み出しであるか、書き
込みであるかを示す。
単方向の2状態制御線DTACKと双方向の3状態モード制
御線PAS、DSはメモリと周辺装置32、DMA周辺装置33、LB
C/I34およびMBC26を相互接続する。線PASはさらにアド
レスデコーダ31の入力に接続されている。単方向の2状
態制御線DMART、DMAREQ、PDMARはDMA周辺装置33、LBC/I
34およびMBC26を相互接続している。単方向の2状態線D
MACKはMBC26からLBC/I34を通してDMA周辺装置33へ行
く。単方向の2状態線PDMACKはLBC/I34とMBC26の間の接
続を行い、単方向の2状態制御線CPURT、CPUDSおよびCP
UASはMBC26をCPU25に接続する。これらの線の機能につ
いては以下に説明する。
プロトコル 通信の目的でマイクロバス36の制御権を得てバスマスタ
になりたいCPU25以外のデバイスは、まずDMAREQ線をア
サートしてバス36を要求し、CPU25がDMACK線をアサート
することによってバス36の使用する許可を得なければな
らない。CPU25は他の装置がバスマスタでないときには
バス36のマスタになっているデフォールトのバスマスタ
であり、従ってCPU25はバス36の使用を要求することは
ない。
マイクロバス36の基本通信プロトコルは第2A図−第2B図
のタイミング図で示されている。第2A図は読み出し動作
のプロトコルを示している。初期にはマイクロバス36は
3状態モードにあるものとする。マイクロバススレーブ
と呼ばれる第2の装置との間で読み出し動作を実行した
いと思うマイクロバスマスタは時刻40でMAバスに対して
スレーブのアドレスを出力する。本質的に時刻40と同時
にマスタはR/W線を高レベルにアサートし、装置に対し
てこれが読み出し動作であることを知らせる。
MAバスの状態が落ち着くまでの遅延のあとで、マスタは
時刻41でPAS(物理アドレスストローブ)線をアサート
して、マイクロバス36に接続されたデバイスに対して、
MAバス上にアドレスが存在することを知らせる。各装置
はMAバス上のアドレスを監視し、それがアドレスされて
いるかどうかを判定する。そのあとで、時刻42におい
て、マスタはDS(データストローブ)線をアサートし
て、装置に対してそれがデータを受理する準備ができて
いることを知らせる。スレーブすなわちMAバス上のアド
レスを識別した装置は読み出しとDS信号に応動して、時
刻43でMDバス上に要求されたデータを出力する。MDバス
上のデータの状態が落ち着く遅延のあとで、スレーブは
時刻44でDTACK(データ確認)線をアサートし、マスタ
に対して先に進んでMDバスからデータを取って良いこと
を知らせる。時刻45において、マスタがMDバスから読み
取りを実行すると、これはMAバス、PAS線、DS線およびR
/W線をデアサートし、従ってデータの受信を確認する。
PAS信号が消えたことをスレーブが検出すると、これは
時刻46で応答してMDバスとDTACK線をデアサートする。
次にマイクロバス36は3状態条件に戻る。
第2B図は書き込み動作のプロトコルを示している。これ
は本質的には読み出し動作のプロトコルと同様である。
再びマイクロバス36は初期には3状態モードにある。ス
レーブに対して書き込み動作をしたいと思っているマス
タは時刻50でMAバス上にスレーブのアドレスを出力す
る。時刻50と本質的に同時に、マスタはR/W線を低レベ
ルにアサートして、スレーブに対してこれは書き込み動
作であることを知らせる。マスタはまた時刻51でMDバス
に対して書き込まれるべきデータを出力する。時刻51は
時刻50より早くても、遅くても同時でもよい。
MAバス上のアドレスの値が落ち着く時間だけ時刻50から
あとで、マスタは時刻52でPAS線をアサートしてマイク
ロバス36に接続されたデバイスに対してMAバス上にアド
レスが存在することを知らせる。各装置は再びアドレス
を監視し、これがスレーブに指定されているかというか
を判定する。時刻51からMDバス上のデータの値が落ち着
くだけの遅延のあとで、時刻53でマスタはDS線をアサー
トし、MDバス上のデータをスレーブが受理して良いこと
を知らせる。スレーブは書き込み信号とDS信号に応動し
てMDバスからデータを取り込み、時刻54でDTACK線をア
サートし、データの受信を確認する。マスタは時刻55で
DTACK信号に応動してMAバス、MDバス、PAS線、DA線およ
びR/W線をデアサートする。スレーブがPAS信号の消えた
ことを検出すると、これは時刻56でDTACK線をデアサー
トする。次にマイクロバス36は3状態条件に戻る。
以上の例は単一のDS線を仮定しているが、この代わりに
マイクロバス36は複数の線から成るDSバスを含んでもよ
い。このときにはDS信号はスレーブに対してバイト、半
ワードあるいはワードのようなデータの大きさを指定す
る。この例の目的ではバイトは8ビット、半ワードは16
ビット、ワードは32ビットから成るものとする。さらに
DSバスは読み出しと書き込みで異なるDS信号を伝送する
ようにしてもよく、この場合には、独立したR/W線は省
略してもよい。
第1のステーション22−24がローカルバス21にアクセス
しようとし、一方他のステーション22−24がローカルバ
ス21を制御していて第1のステーション22−24をアクセ
スしようとしているときにはデッドロックが生ずる。第
1図を参照すれば、CPU25あるいはDMA周辺装置33のひと
つがマイクロバス36を制御しており、ステーション23−
24との通信の目的でLBC/I34を通してローカルバス21に
アクセスしようとしており、一方ステーション23−24が
ローカルバス21を制御しており、メモリと周辺装置32あ
るいはDMA周辺装置33との通信のためにLBC/I34を通して
マイクロバス36にアクセスしようとしているときにステ
ーション22でデッドロックが生じ得る。
このような同時アクセスの状況においては、デッドロッ
クはデッドロック検出器47によって検出通知され、アク
セスの優先度はローカルバス21からステーション22への
通信に有利なように、ステーション22によって定められ
る。CPU25はマイクロバス36から切断され、これによっ
てその試行した通信は停止され、DMA周辺装置33はもし
通信を試みていれば、強制的にその試みを放棄させられ
る。このようにしてマイクロバス36はローカルバス21か
らのアクセスのために解放される。ローカルバス21から
のアクセスが完了すると、DMA周辺装置33はその計画し
た通信を再び試みてもよいが、CPU25は単にマイクロバ
ス36に再接続されてその試みた通信をそれが中断した点
から継続する。
通信 システム20におけるデッドロックの検出と解決について
さらに詳細に説明するために、ステーション22の種々の
装置の間およびステーション22とローカルバス21の間の
通信に関連する信号について以下に考えることとする。
まず第3図に図示したMBC26の状態図について考える。
装置の間の通信がマイクロバス36上で進行していないと
きには、MBCは空き状態100にあって、空きとなってい
る。空き状態においては、MBC26とシステム20の他の同
様な状態機械は3状態レベルをとることができる出力は
3状態レベルとし、その2状態出力はデアサートする。
空き状態においては、マイクロバス36のマスタ権はMBC2
6によってCPU25に与えられている。空き状態100ではBUF
EN(バッファエネーブル)線はアサートされていないか
ら、CPU25はバッファ28−30(第1図)を経由してマイ
クロバス36に接続されている。通信を開始するために
は、CPU25は単に通信を開始すればよく、一方装置32−3
4はまずDMAREQ(直接メモリアクセス要求)線をアサー
トしてマイクロバス36の使用を要求し、次にDMACK(直
接メモリアクセス確認)線上の信号によってマイクロバ
ス36の使用の許可を待たなければならない。この動作に
ついては後にさらに詳しく述べる。
CPU25の通信についてまず考えると、通信を開始するた
めにはCPU25はアドレスバス上に所望のスレーブの仮想
アドレスを出力し、CPU R/W線(中央処理装置読み書
き)線に読み出しあるいは書き込みの信号を出力し、MB
C26に行く CPUAS(中央処理装置アドレスストローブ)線をアサー
トする。
アドレストランスレータ27はCPU25によって出力された
仮想アドレスを物理アドレスに翻訳し、これをアドレス
バッファ28を通してMAバスに出力する。CPU R/W線上の
信号はR/Wバッファ30を通してR/W(読み書き)線に行
き、さらに装置32−34に行く。
第3図を参照すれば、MBC26はCPUAS信号に応動して、ア
ドレストランスレータ27がアドレスの翻訳を完了して、
MAバス上で物理アドレス値が落ち着くのに要する充分な
時間だけ待って、状態101に行く。状態101においては、
MBC26はPAS(物理アドレスストローブ)線をアサート
し、CPU25によるCPUDS(中央処理装置データストロー
ブ)線のアサーションを待つ。
CPU25がCPUAS線をアサートしたときには、MBC26は空き
状態でなくなっており、従ってDMAREQ線の監視を停止し
ているから、装置32−34でマイクロバスを使用する要求
がこれ以降生ずれば、CPU25がマイクロバスを離れてMBC
26が空き状態100になるまで、装置は中止状態に保持さ
れることになる。この規則の例外は後述するデッドロッ
クの解決のときである。
MAバス上のアドレスとPAS信号はメモリと周辺装置32、D
MA周辺装置33およびアドレスデコーダ31に与えられる。
装置32と33はアドレスを調べて、それがスレーブである
かどうか、すなわちそれがアドレスされているかどうか
を判定する。アドレスデコーダ31はアドレスを調べ、こ
れがステーション外のアドレスであるかを判定する。も
しこれがステーション22外のアドレスであれば、デコー
ダ31はLBC/I34に行くEXTERN(外部)線をアサートし
て、マイクロバス36とローカルバス21のインタフェース
が要求されていることを知らせる。
読み出し動作の場合には、CPU25はそれがデータを受信
する準備ができたときにはCPUDS線をアサートする。書
き込み動作の場合には、CPU25はデータバス上にデータ
を出力し、CPUDS線をアサートする。もしデータが存在
すれば、データバッファ29を通して、MDバスと装置32−
34に与えられる。
MBC26はCPUDS信号に応動して状態102に行き、ここでDS
(データストローブ)線をアサートして、第3図に示す
ようにDTACK(データ確認)あるいはPDMAR(優先直接メ
モリアクセス)線のアサーションを待つ。デバイス32−
33の一方がスレーブとして選択されていてLBC/I34が選
択されていなければ、デッドロックは生ずることはな
く、従ってMBC26はPDMAR信号を受信することはない。
装置32−33のひとつが実際にスレーブとして選択されて
いるとすれば、これはDS信号とR/W線上の信号に応動し
て、書き込み動作の場合にはMDバスからデータを取り、
読み出し動作のときにはMDバス上にデータを与えてDTAC
K線をアサートする。データがもし存在すれば、これはM
Dバスを通り、データバッファ29を通り、DATAバスを通
してCPU25に行く。DTACK信号はMBC26によって検出さ
れ、これはそれに応動して状態103に行き、CPU25に行く
CPURY(中央処理ユニット応答)線をアサートする。MBC
26は次にCPU25がCPUAS線をデアサートするのを待つ。
CPURY信号によって装置32−33がデータを受信したこと
を知らされると、書き込み動作の場合にはCPU25はCPUAS
線とCPUDS線をデアサートし、アドレスバスとデータバ
スそれにCPU R/W線をデアサートすることによってMAバ
ス、MDバスおよびR/W線を3状態レベルとする。読み出
し動作のときにはCPURY信号によってデータがデータバ
ス上に準備されて、データバスからデータを取ったこと
を知らされると、CPU25はCPUAS線とCPUDS線をデアサー
トし、アドレスバスとCPU R/W線をデアサートすること
によってMAバスとR/W線を3状態レベルとする。いずれ
の場合にもMBC26はCPUAS信号が消えたことに応動して、
状態104に行き、この状態でこれはPAS線とDS線をデアサ
ートする。読み出し動作のときにはスレーブ装置32−33
はPAS信号が失われたことに応動してDTACK線をデアサー
トし、MDバスを3状態レベルにする。
MBC26はDTACK線をデアサートに応動して、空き状態100
に戻り、この状態でこれはPAS線とDS線を3状態レベル
にする。CPU25から装置32−33への通信はこのようにし
て完成される。
この代わりにLBC/I34がCPU25によってスレーブとして選
択された状況を考えよう。前述したようにアドレスデコ
ーダ31がEXTERN線をアサートすることによってLBC/I34
はこの選択を知らされる。ステーション22の外のアクセ
スが示されたことになるから、LBマスタ38はEXTERN信号
に応動して空き状態200を離れ、第4図に示すように状
態201に行き、この状態でこれはLBREQ(ローカルバス要
求)線をアサートしてローカルバス21の使用を要求し、
ローカルバス21の要求された使用を許すLBACK(ローカ
ルバス確認)信号の受信を待つ。
一方第6図に示すように、デッドロック検出器47は空き
状態300にあって、ローカルバスを監視しており、ステ
ーション22がローカルバス21を通してアドレスされたか
を判定する。ステーション22のアドレスの存在はステー
ション22がローカルバス21によってアクセスされている
ことを示す。EXTERNリードがアサートされている間にこ
のようなことが起ると、すなわち、ステーション22がロ
ーカルバス21にアクセスしている間にステーション22が
ローカルバス21にアクセスされると、デッドロックが生
じ、これはデッドロック検出器47によって検出される。
デッドロックはLBマスタ38がLBACK信号を受信するまで
何時でも生ずる可能性がある。その信号を受信すると、
ステーション22はローカルバス21のマスタとなり、従っ
て、ステーション22においてはデッドロックは生ずるこ
とはない。従って、デッドロックはステーション22によ
ってローカルバス21を通してアクセスされているステー
ション23−24においてだけ生ずる可能性がある。
デッドロック検出器47によってデッドロックが検出され
なかったとすると、検出器47は空き状態300のままであ
る。第4図を参照すれば、LBACK信号を受信すると、LB
マスタ38は状態202に行き、この状態で、これはLBI35と
共に、MAをローカルバス21に接続し、MA上に存在するア
ドレスをローカルバス21上に転送するように動作する。
この動作を実現するための回路の実現の詳細はローカル
バス21の構造とプロトコルによって決まり、当業者の知
識の範囲で実現できる。
このとき、LBマスタ38はまたマイクロバス36のR/W線の
状態を検査し、読み出しあるいは書き込み動作のいずれ
が実行されているかを判定する。もし動作が読み出しで
あれば、LBマスタ38は状態203に行く。状態203では、LB
マスタ38はローカルバス21の読み出しを示し、これはLB
I35と共にMDバスはローカルバス21にインタフェースさ
れ、ローカルバス上のデータがMDバスに転送されるよう
に動作する。しかし、もし動作が書き込みであれば、LB
マスタ38は状態204に行く。状態204では、LBマスタ38は
ローカルバス21に書き込みを示し、LBI35と共に動作し
てMDバスがローカルバス21にインタフェースされ、MDバ
ス上に存在するデータがローカルバス21に転送されるよ
うにする。ここでも、この動作を実現するための回路の
詳細はローカルバス21の構造とプロトコルによって決ま
り、当業者の知識の範囲内にある。
ローカルバス21とMDバスのインタフェースが完了し、そ
れらの間のデータの転送が行われると、LBマスタ38は状
態203あるいは状態204から状態205に行き、ここでこれ
はMBC26へのDTACK線をアサートして、EXTERN信号が除か
れるのを待つ。
MBC26とCPU25は第3図に示し、先に説明した装置32−33
からのDTACK信号への応動と全く同一の方法でLBC/I34か
らのDTACK信号に応動する。MBC26が状態104でPAS線をデ
アサートしたときに、アドレスデコーダ31はこれに応動
してEXTERN線をデアサートする。
EXTERN信号が消えるとLBマスタ38は状態206(第4図)
に変化し、この状態でDTACK線をデアサートし、またLBR
EQ線をデアサートしてマイクロバス36をローカルバス21
から切断して、これにより両方のバスを自由にする。LB
マスタ38は次に空き状態200に戻る。
MBC26は前と同様(第3図)にDTACK信号が消えたことに
応動して空き状態に戻り、PAS線とDS線を3状態にす
る。
デッドロック条件はステーション22によって、ローカル
バス21からステーション22へのデッドロックのないアク
セスと全く同様に取扱かわれるから、そのような状態に
ついて次に説明する。
ステーション22がローカルバス21を通して、例えば他の
ステーション23−24のひとつからアクセスされたときに
は、ステーション22はそのアドレスがローカルバス21に
現れたことでその状態を知らされる。デッドロックは生
じていないものと仮定しているから、EXTERN線はアサー
トされておらず、従ってデッドロック検出器47は空き状
態300(第6図)にあるものとする。第5図を参照し
て、LBスレーブ39がローカルバス21上にステーション22
のアドレスを検出したときには、これは空き状態を脱し
て、状態401に行き、ここでDMAREQ(直接メモリアクセ
ス要求)線をアサートし、DMACK(直接メモリアクセス
確認)あるいはPDMACK(優先直接メモリアクセス確認)
信号を待つ。
第3図に示し、前述したように、MBC26はそれが空き状
態にあるときだけDMAREQ線の信号に応動する。CPU25が
装置32−33と通信していて、MBC26が空き状態100になけ
れば、LBスレーブ39はCPU25がその通信を完了してMBC26
が空き状態になるのを待たなければならない。
MBC26が空き状態100にあれば、これはDMAREQ線のアサー
トに応動して状態113に行き、ここでBUFEN線をアサート
する。これによってバッファ28−30は消勢され、CPU25
をマイクロバス36から切断する。状態113においては、M
BC26はまたCPU25におけるCPUASおよびCPUDS線のアサー
ションに応動しなくなる。しかし、CPU25はマイクロバ
ス36から切断されたことには気が付かない。この切断は
その制御下にCPU25が動作しているプログラムにはトラ
ンスパレントである。従って、もしCPUがマイクロバス3
6から切断されている間に通信を開始したければ、開始
してもよい。しかし通信は消勢されたバッファ28−30と
MBC26によって阻止される。従って、CPU25はCPURY信号
を受信することはなく、MBC26がこれをマイクロバス36
に再接続し、その通信が継続するのを許すまでは、空き
状態にあって、その通信を止めることになる。
CPU25をマイクロバス36から切断してしまうと、MBC26は
またDMACK線を状態113でアサートし、DTACK線のアサー
ションを待つ。
第5図を参照して、LBスレーブ39はDMACK線のアサーシ
ョンに応動して状態402に行き、この状態でこれはLBI35
と共に動作してローカルバス21をMAバスに接続し、ロー
カルバス21からのアドレスの上位のビットをMAバスに転
送する。アドレスされているステーション22−24を指定
しているアドレスの下位のビットは削除されMAバスに転
送されることはない。この場合もこの動作を実現するた
めの回路の実現の詳細とローカルバス21のMDバスへの後
述するインタフェースはローカルバス21の構造とプロト
コルとによって決まるものであり、当業者の知識の範囲
内にある。
このとき、LBスレーブ39はまたローカルバス21上の信号
を調べ、読み出しあるいは書き込みの動作のいずれが指
示されているかを判定し、R/W線上に適切な信号を出力
する。
MAバス上でアドレス信号が落ち着くまでの遅延のあと
で、LBスレーブ39は状態403に行き、ここでこれはPAS線
をアサートし、装置32−33がMAバスのアドレスを調べ、
そのいずれがこの動作でマイクロバススレーブとして指
定されているかを判定する。
もし読み出し動作が指示されたら、LBスレーブ39は状態
404に行き、ここでLBI35と共にデータをMDバスからロー
カルバス21に転送するようにローカルバス21をMDバスに
インタフェースされる。状態404においては、LBスレー
ブ39はまたDS線をアサートする。これは次にDMARY(直
接メモリアクセス応答)線のアサートを待つ。
もし書き込み動作が指示されれば、LBスレーブ39は状態
403から状態405に行き、ここでこれはLBI35と共にロー
カルバス21をMDバスにインタフェースし、これによって
データはローカルバス21からMDバスにインタフェースさ
れる。MDバス上のデータが落ち着く遅延のあとで、LBス
レーブ39は状態406に行き、ここでDS線をアサートす
る。これは次にDMARY線のアサートを待つ。
マイクロバススレーブとして選択されたデバイス32−33
はDS線とR/W線の信号に応動して読み出し動作あるいは
書き込み動作が指示されているかに従ってMDバス上のデ
ータを読むかあるいはMDバス上にデータを書き次にその
動作の部分の完了を知らせるためにDTACK線をアサート
する。
第3図を参照すれば、MBC26はDTACK信号に応動して、状
態114に行き、DMARY線をアサートする。これは次にDMAR
EQ線をデアサートする。
第5図に戻って、LBスレーブ39はDMARY線のアサートに
応動して状態404を脱して、状態407に行き、この状態で
これはローカルバス21をマイクロバス36から切断して、
DS線、PAS線およびDMAREQ線をデアサートする。
第3図を再び参照して、MBC26はDMAREQ線のデアサート
に応動して、状態115に行き、ここでDMACK線をデアサー
トし、またBUFEN線をデアサートし、再びバッファ28−3
0を付勢してCPU25をマイクロバス36に再接続する。次に
MBC26は空き状態100となり、再びCPU25によるCPUASおよ
びCPUDS線のアサートに応動するようになる。
第5図に示すように、DMACK線のデアサーションによっ
て、LBスレーブ39は空き状態400となる。このようにし
てローカルバス21からステーション22へのトランザクシ
ョンが完了する。
上述したようにステーション22がローカルバス21にアク
セスしようとしているときにローカルバス21からステー
ション22へのアクセスの試みが行われるとデッドロック
が生ずる。CPU25がローカルバス21にアクセスしている
と仮定すれば、アクセスはEXTERNリードのアサーション
の点まで第3図および第4図に関連して上述した方法で
進行する。従って、MBC26は状態102にあり第3図に図示
したようにPAS線とDS線をアサートし、LBマスタ38は状
態201にあって第4図に示すようにLBREQ線をアサートす
る。同様に、ローカルバス21からステーション22へのア
クセスは第5図に関連して上述した方法で、第5図に示
すようにLBスレーブ39が状態401でDMAREQ線をアサート
する点まで進む。
第6図を参照すれば、この点において、デッドロック検
出器47はEXTERN線がアサートされている間にローカルバ
ス21上にステーション22のアドレスを検出することによ
ってデッドロックを検出する。デッドロック検出器47は
デッドロック条件に応動して状態300から状態301に行
き、DMAREQ線(これはLBスレーブ39によって先にアサー
トされている)をデアサートし、その代わりにPDMAR
(優先直接メモリアクセス要求)線をアサートする。
MBC26はデッドロックの検出に応動してデッドロックを
解決する。これはローカルバス21からステーション22へ
のアクセスに優先権を与え、ステーション22からローカ
ルバス21へのアクセスの試みを停止し、中止状態にす
る。
第3図を参照すれば、MBC26はPDMAR線のアサーションに
応動して状態102から状態106に行く。状態106において
はMBC26はDS線とPAS線をアサートする。これは次に状態
107に行き、これはここでBUFEN線をアサートして、これ
によってCPU25をマイクロバス36から切断し、MAバスとM
DバスおよびR/W線を3状態レベルにする。状態107にお
いてはMBC26はまたDS線とPAS線を3状態レベルにする。
これによってマイクロバス36は初期化されるローカルバ
ス21からステーション22へのアクセスを完成するために
ローカルバスをインタフェースする準備ができたことに
なる。マイクロバス36の状態が落ち着く遅延の後で、MB
C26は状態108に行き、PDMACK線をアサートする。
ローカルバス21からステーション22へのデッドロックの
ないアクセスの場合と同様に、CPU25はマイクロバス36
から切断されたことには気が付かない。切断はそれによ
ってCPU25が動作しているプログラムに対してトランス
ペアレントである。さらにCPU25の通信の進行は止めら
れ、CPUは単に通常より長くCPURY信号を待たされるだで
ある。CPU25はローカルバス21からステーション22への
アクセスが完了するのを待たなければならず、このとき
CPU25はマイクロバス36に再接続され、停止されていた
通信はそれが停止された点から再開される。
CPU25からMAバスに出力されていたアドレスはマイクロ
バス36の初期化により除かれているから、アドレスデコ
ーダはEXTERN線をデアサートしている。これはデッドロ
ック検出器47もLBマスタ38もその空き状態にはなってお
らず、このときいずれもEXTERN線を監視していることは
ないから、これはデッドロック検出器47の状態にもLBマ
スタ38の状態にも影響することはない。(第5図、第6
図参照)。その代わりにデッドロック検出器47は継続し
てローカルバス21上のステーション22のアドレスの存在
を監視し、LBマスタ38はLBREQ線のアサートを継続す
る。しかしローカルバス21はステーション22のアクセス
で使用されていて占有されているから、LBマスタ38はス
テーション22のアクセスが完了するまでLBACK信号を受
信しない。
第5図を参照すれば、先にDMACK線のアサートに対する
応答について説明したのと同一の方法でLBスレーブ39は
PDMACK線のアサーションに応動し、ローカルバス21から
ステーション22への“読み出し”あるいは“書き込み”
のアクセスを実行する。
アクセスされた装置32−33、すなわちこの場合にはマイ
クロバススレーブがそのトランザクションの部分を完了
すると、これはDTACK線をアサートし、MBC26を状態109
にし、DMARY線をアサートする(第3図参照)。LBスレ
ーブ39は再びDMARY線のアサートに応動して、状態407に
行き、マイクロバス36をローカルバス21から切断し、DS
線、PAS線およびDMAREQ線をデアサートする。
ローカルバス21からのステーション22のアクセスが完了
すると、ローカルバス21からステーション22のアドレス
は除かれる。第6図に示すように、この条件はデッドロ
ック検出器47によって検出され、これは応動して状態30
2に行き、PDMAR線をデアサートし、検出器47は次に空き
状態300に行く。
PDMAR線のデアサーションにより、MBC26は状態110に行
き第3図に示すようにPDMACK線をデアサートする。LBス
レーブ39はPDMACK信号がなくなったことに応動してDMAC
K信号が無くなったときと同様に動作し、空き状態400に
戻る。(第5図参照)。このようにして、ローカルバス
21からステーション22へのアクセスは完全に終了する。
再び第3図を参照して、PDMACK線のデアサートに続い
て、MBC26は状態111に行き、BUFEN線をデアサートし、
従ってバッファ28−30をオンとし、CPU25をマイクロバ
ス36に接続する。デッドロック条件によって停止されて
いたCPU25の通信がまだペンディングの状態になってい
ると仮定すると、R/W線、MAバス、MDバスはCPU25の出力
に対応した値をとるようになり、これらの値が落ち着く
のに要する時間の後で、MBC26は空き状態に戻る。しか
しもし仮定したようにCPU25の停止した通信がまだぺン
ディングであれば、CPUASとCPUDSの両方がアサートさ
れ、これによってMBC26はただちに状態100から状態101
を通って状態102に行き、PAS線とDS線をアサートする。
ここでマイクロバス36の状態はデッドロック条件を検出
したときと同一になり、CPU25の通信はそれが中止され
た所から再開される。
メモリと周辺装置32とは異なり、DMA周辺装置33はまた
システム20における通信を開始することができる。DMA
周辺装置33がマイクロバス36によって、例えばメモリと
周辺装置32にアクセスするために、あるいはローカルバ
ス21にアクセスするために通信したいと思ったときに
は、これはDMAREQ線をアサートする。第3図を参照すれ
ば、MBC26はそれが空き状態100であるときだけ上述した
ようにDMAREQ信号に応動する。DMAREQ線のアサーション
に応動してMBC26は空き状態100を脱して状態113に行
く。ここでこれはCPU25をマイクロバス36から切断し
て、これがDMA33によって使用できるようにする。MBC26
はここでDMACK線をアサートする。
DMA周辺装置33がDMACK信号を受信したときに、これは第
2A図および第2B図のプロトコルに従ってマイクロバス36
と通信する。DMA周辺装置33によって出力されたアドレ
スがステーション22外のアドレスであれば、アドレスデ
コーダ31はこの条件を検出してEXTERN線をアサートす
る。
EXTERN線がアサートされたときにデッドロック条件が生
じていなければ、LBマスタ38はDMA周辺装置33の通信を
第4図に図示し上述した方法でローカルバス38にインタ
フェースする。この過程において、MBC26は第3図に示
すように状態114に変化する。通信が完了するDMA周辺装
置33はDMAREQ線をデアサートし、MBC26を状態115にし、
これはDMACK線をデアサートし、CPU25をマイクロバス36
に再接続する。MBC26は次に空き状態100に戻る。
しかしDMA周辺装置33による通信の試行でデッドロック
が生ずれば、デッドロック検出器47はこの状態を前述し
た方法で検出し空き状態300から状態301に行き、ここで
これはDMAREQ線をデアサートし、PDMAR線をアサートす
る(第6図参照)。
MBC26は状態113にあるから(第3図)、これはPDMAR線
とDMAREQ線を監視しておらず、従ってこれはデッドロッ
ク状態には応答しない。しかしCPU25はすでにマイクロ
バス36から切断されているから、MBC26からの応答は必
要でない。しかし、DMA周辺装置33、PDMAR線を監視して
おり、PDMAR線がデアサートされたことを検出したとき
には、それ自身で反応してその通信の試みを中止し、マ
イクロバス36を解放する。DMA周辺装置33はMDバス、MA
バス、R/W線、PAS線、DS線を3状態レベルにするが、ま
たDMAREQ線をデアサートする。このようにしてDMA周辺
装置33は通信の試みを開始する前の状態をとり、もしそ
れがマイクロバススレーブとして選択されればローカル
バス21からのアクセスのために利用できるようになる。
MBC26は状態113にあるから(第3図)、これはDMACK線
をアサートする。従って、ローカルバス21からステーシ
ョン22への通信は第5図に示し、上述した方法で進行す
る。LBスレーブ39が状態404および406にあり、選択され
たマイクロバススレーブがDTACK線をアサートしてこれ
がデータの読み出しあるいは書き込みを完了したことを
確認すると、DMART線をアサートして(第3図)、LBス
レーブ39に対して確認を知らせる。第5図に示し、先に
説明したように、LBスレーブ39はDMARY信号に応動して
状態407に行き、この状態でDMAREQ線を含むマイクロバ
ス36をデアサートして、マイクロバス36をローカルバス
21から切断する。
第3図を参照すれば、状態114でMBC26は再びDMAREQ線の
状態に応答するようになる。DMAREQ線はデアサートされ
ているから、MBC26は状態115に行く。状態115におい
て、MBC26は DMACK線をデアサートしてCPU25をマイク
ロバス36に再接続する。MBC26は次に空き状態100に戻
る。
第5図に戻って、LBスレーブ39はDMACK線のデアサート
に応動してその空き状態に戻る。このようにしてトラン
ザクションは終了する。
LBスレーブ39がマイクロバス36を状態407でローカルバ
ス21から切断したとき(第5図参照)、トランザクショ
ンはローカルバスの観点からは完了している。従ってス
テーション22のアドレスはローカルバス21から除かれ
る。第6図を参照すれば、この状態はデッドロック検出
器47によって検出され、これは状態302に行き、PDMAR線
をデアサートして空き状態300に戻る。
PDMAR線がデアサートされると、DMA周辺装置33は自由に
通信を試みることができるようになる。しかしデッドロ
ック条件の検出によってリセットされているから、DMA
周辺装置33はスクラッチから開始しなければならず、DM
AREQ線をアサートして、DMACK信号の受信を待つ。
以上の説明はスタンドアローンのマルチプロセッサシス
テム20についてであったが、以上の説明の概念と実現方
法は、各々のローカルバスがシステムバスインタフェー
スによってシステムバスに接続されたような複数のマル
チプロセッサシステムから成るマルチコンピュータシス
テム(図示せず)に直接拡張することができる。マルチ
プロセッサシステム20の概念と実現方法をマルチコンピ
ュータシステムに拡張するためには、マルチコンピュー
タシステムを単に高位レベルのマルチプロセッサシステ
ムと考え、システムバスがローカルバス21の機能を持
ち、各マルチプロセッサシステム20がシステムバスの観
点からはステーション22の機能を持ち、各システムバス
インタフェースがLBC/I34の機能を持つと考えればよ
い。
マルチコンピュータシステムレベルの受動アクセスとデ
ッドロック解決を考えれば、各知脳ステーションのLBC/
I34はバッファ28−30(第1図)に似たバッファとMBC26
の関連する機能を持つように拡張され、他のマルチプロ
セッサシステム20のステーション22がシステムバスを制
御しており、そのマルチプロセッサシステム20のローカ
ルバスにアクセスしようとしている間にそのステーショ
ン22がシステムバスにアクセスしようとするときにはい
つでも、ステーション22をマルチプロセッサシステム20
のローカルバスから切り離す機能を持たせればよい。
もちろん、上述した実施例からの種々の変形と変更は当
業者には明らかである。このような変更と修正は本発明
の精神と範囲を逸脱することなく、またそれに伴う利点
を減殺することなく可能である。従ってすべてのこのよ
うな変形と変更は以下の請求の範囲に含まれるものであ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 グリン・ジエ−ムス・マイケル アメリカ合衆国60555イリノイズ・ウオ− レンヴイル・コンチネンタル・ドライヴ2 エス431 (72)発明者 ヘルパ−・エドワ−ド・リ− アメリカ合衆国60517イリノイズ・ウツド リツジ・ア−ムストロング・コ−ト6812 (72)発明者 サリヴアン・ジヨン・マイケル アメリカ合衆国60532イリノイズ・リツス ル・レイク・ヴアレ−・ドライヴ4793アパ −トメント1デ− (56)参考文献 特開 昭55−164922(JP,A) マイクロコンピュータ基礎講座2「入出 力制御とシステム構成」,S57.3.20, オーム社,P.21〜24

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】通信媒体と、 通信のために該通信媒体をアクセス可能な第1及び第2
    のステーションであって、該第2のステーションは該第
    1のステーションによってアクセスされるよう構成され
    ている第1及び第2のステーションと、 該第2のステーションが通信媒体にアクセスしようとし
    ている間における該第1のステーションによる該通信媒
    体を介しての該第2のステーションへのアクセスの試み
    を検出するために該通信媒体から該第2のステーション
    への、及び該第2のステーションから該通信媒体へのそ
    れぞれのアクセスの試みに関する情報を監視する手段
    と、 該監視する手段による検出に応動して該第2のステーシ
    ョンから該通信媒体への通信路を切断して該第2のステ
    ーションによるアクセスを一時中断し、及び該第1のス
    テーションが該第2のステーションをアクセスするのを
    終了したときに該第2のステーションから該通信媒体へ
    の通信路を再接続して該第2のステーションによるアク
    セスを再び続行するようにする手段とを含むことを特徴
    とする通信システム。
  2. 【請求項2】第1の通信媒体と、 通信のために該第1の通信媒体をアクセス可能な第1及
    び第2のステーションを含む通信システムにおいて、該
    第2のステーションは、 該第1の通信媒体と結合され該第1の通信媒体を介して
    該第1のステーションによりアクセス可能な第2の通信
    媒体と、 該第2の通信媒体に接続され該第2の通信媒体を介して
    該第1の通信媒体をアクセスできるよう構成されたデバ
    イスと、 該第2のステーションと関連する手段であって、該デバ
    イスが該第1の通信媒体をアクセスしようと試みている
    間における該第1のステーションによる該第2の通信媒
    体へのアクセスの試みを検出するために該第1及び第2
    の通信媒体を監視する手段と、 該監視する手段の検出に応動して該デバイスを該第2の
    通信媒体から切り離し該デバイスにより試みられている
    アクセスを一時中断して該第1のステーションが該第2
    の通信媒体にアクセスできるようにし、及び該第1のス
    テーションが該第2の通信媒体をアクセスするのを終了
    したときに該デバイスを該第2の通信媒体に再接続して
    該デバイスによる該アクセスの試みを再び続行するよう
    にする手段とを含むことを特徴とする通信システム。
  3. 【請求項3】請求の範囲第2項に記載のシステムにおい
    て、 該第1及び第2のステーションが、各々アドレス手段を
    含み、該第2のステーションと関連する該監視する手段
    が、該第2のステーションが該第1の通信媒体をアドレ
    スしている間における該第1のステーションによる該第
    2のステーションのアドレッシングを検出する手段を含
    むことを特徴とする通信システム。
JP58503288A 1982-09-30 1983-09-21 デッドロック検出・解決方式 Expired - Lifetime JPH079644B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US430396FREGB 1982-09-30
US06/430,396 US4494193A (en) 1982-09-30 1982-09-30 Deadlock detection and resolution scheme
PCT/US1983/001429 WO1984001450A1 (en) 1982-09-30 1983-09-21 Deadlock detection and resolution scheme
US430396 2003-05-07

Publications (2)

Publication Number Publication Date
JPS59501763A JPS59501763A (ja) 1984-10-18
JPH079644B2 true JPH079644B2 (ja) 1995-02-01

Family

ID=23707384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58503288A Expired - Lifetime JPH079644B2 (ja) 1982-09-30 1983-09-21 デッドロック検出・解決方式

Country Status (7)

Country Link
US (1) US4494193A (ja)
EP (2) EP0120913A1 (ja)
JP (1) JPH079644B2 (ja)
KR (1) KR910004409B1 (ja)
CA (1) CA1194576A (ja)
GB (1) GB2128853B (ja)
WO (1) WO1984001450A1 (ja)

Families Citing this family (46)

* 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
JPS60258671A (ja) * 1984-06-05 1985-12-20 Nec Corp プロセツサ
US4713751A (en) * 1984-10-24 1987-12-15 International Business Machines Corporation Masking commands for a second processor when a first processor requires a flushing operation in a multiprocessor system
US4870704A (en) * 1984-10-31 1989-09-26 Flexible Computer Corporation Multicomputer digital processing system
US4695945A (en) * 1985-02-28 1987-09-22 International Business Machines Corporation Processor I/O and interrupt filters allowing a co-processor to run software unknown to the main processor
US4710769A (en) * 1985-12-30 1987-12-01 Ibm Corporation Transmit-secure non-blocking circuit-switched local area network
US4835674A (en) * 1986-07-28 1989-05-30 Bull Hn Information Systems Inc. Computer network system for multiple processing elements
JPS63243989A (ja) * 1987-03-31 1988-10-11 株式会社東芝 メモリ制御装置
EP0297931B1 (en) * 1987-06-29 1995-12-13 Digital Equipment Corporation Bus adapter unit for digital data processing system
US5029074A (en) * 1987-06-29 1991-07-02 Digital Equipment Corporation Bus adapter unit for digital processing system
WO1989000734A1 (en) * 1987-07-21 1989-01-26 Stellar Computer Inc. Detecting multiple processor deadlock
US4897786A (en) * 1987-09-04 1990-01-30 Digital Equipment Corporation Bus window interlock
US5016167A (en) * 1987-12-21 1991-05-14 Amdahl Corporation Resource contention deadlock detection and prevention
WO1990001252A1 (en) * 1988-08-03 1990-02-22 Stellar Computer Inc. Detecting multiple processor deadlock
US5133074A (en) * 1989-02-08 1992-07-21 Acer Incorporated Deadlock resolution with cache snooping
US5121487A (en) * 1989-02-21 1992-06-09 Sun Microsystems, Inc. High speed bus with virtual memory data transfer capability using virtual address/data lines
JPH02226442A (ja) * 1989-02-28 1990-09-10 Toshiba Corp データベースシステムのデッドロック防止方式
CA2011807C (en) * 1989-03-20 1999-02-23 Katsumi Hayashi Data base processing system using multiprocessor system
JPH0451335A (ja) * 1990-06-20 1992-02-19 Oki Electric Ind Co Ltd データベース処理装置
EP0473803A1 (en) * 1990-09-03 1992-03-11 International Business Machines Corporation Method and apparatus for avoiding deadlock
US5583992A (en) * 1990-09-14 1996-12-10 Kabushiki Kaisha Toshiba Computer network system for detecting global deadlock
US5287464A (en) * 1990-10-24 1994-02-15 Zilog, Inc. Semiconductor multi-device system with logic means for controlling the operational mode of a set of input/output data bus drivers
US5317737A (en) * 1991-07-29 1994-05-31 Ncr Corporation Method and apparatus for controlling a re-entrant synchronization lock tenure in a multiprocessor system
JPH0561951A (ja) * 1991-08-30 1993-03-12 Fujitsu Ltd イメージ処理装置
US5953510A (en) * 1991-09-05 1999-09-14 International Business Machines Corporation Bidirectional data bus reservation priority controls having token logic
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
US5592670A (en) * 1992-11-02 1997-01-07 Microsoft Corporation Avoidance of deadlocks in a demand paged video adapter
CA2109043A1 (en) * 1993-01-29 1994-07-30 Charles R. Moore System and method for transferring data between multiple buses
EP0618532B1 (en) * 1993-03-30 2000-01-26 Fujitsu Limited Deadlock detecting device
US5596727A (en) * 1993-06-02 1997-01-21 Lucent Technologies Inc. Arrangement for expanding the device capacity of a bus
FR2708766B1 (fr) * 1993-08-03 1995-09-08 Bull Sa Procédé d'analyse d'interblocages dans un système d'exploitation.
WO1995034861A1 (en) * 1994-06-14 1995-12-21 Unisys Corporation High speed deadlock free bridge circuit
US5682485A (en) * 1994-12-01 1997-10-28 Unisys Corporation Deadlock avoidance for switched interconnect bus systems
USRE38428E1 (en) 1995-05-02 2004-02-10 Apple Computer, Inc. Bus transaction reordering in a computer system having unordered slaves
AU6248596A (en) * 1995-05-02 1996-11-21 Apple Computer, Inc. Deadlock avoidance in a split-bus computer system
US5930485A (en) * 1997-01-07 1999-07-27 Apple Computer, Inc. Deadlock avoidance in a computer system having unordered slaves
JPH10320349A (ja) * 1997-05-15 1998-12-04 Ricoh Co Ltd プロセッサ及び当該プロセッサを用いるデータ転送システム
US6560682B1 (en) * 1997-10-03 2003-05-06 Intel Corporation System and method for terminating lock-step sequences in a multiprocessor system
US6073182A (en) * 1998-04-30 2000-06-06 International Business Machines Corporation Method of resolving deadlocks between competing requests in a multiprocessor using global hang pulse logic
US6681241B1 (en) 1999-08-12 2004-01-20 International Business Machines Corporation Resource contention monitoring employing time-ordered entries in a blocking queue and waiting queue
US6721775B1 (en) 1999-08-12 2004-04-13 International Business Machines Corporation Resource contention analysis employing time-ordered entries in a blocking queue and waiting queue
US6587963B1 (en) * 2000-05-12 2003-07-01 International Business Machines Corporation Method for performing hierarchical hang detection in a computer system
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
WO2010013427A1 (ja) * 2008-07-30 2010-02-04 パナソニック株式会社 集積回路
US9298507B2 (en) * 2013-09-26 2016-03-29 International Business Machines Corporation Data processing resource management

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5526736B2 (ja) * 1973-12-14 1980-07-15
GB1474385A (en) * 1973-12-14 1977-05-25 Int Computers Ltd Multiprocessor data processing systems
US4318182A (en) * 1974-04-19 1982-03-02 Honeywell Information Systems Inc. Deadlock detection and prevention mechanism for a computer system
US4257099A (en) * 1975-10-14 1981-03-17 Texas Instruments Incorporated Communication bus coupler
US4084233A (en) * 1976-05-25 1978-04-11 Honeywell, Inc. Microcomputer apparatus
JPS5443644A (en) * 1977-09-13 1979-04-06 Fujitsu Ltd Processing system for deadlock automatic release at exclusive control time
US4189771A (en) * 1977-10-11 1980-02-19 International Business Machines Corporation Method and means for the detection of deadlock among waiting tasks in a multiprocessing, multiprogramming CPU environment
US4173782A (en) * 1978-01-03 1979-11-06 International Business Machines Corporation Return and link mechanism
US4244018A (en) * 1978-05-15 1981-01-06 Gte Automatic Electric Laboratories Incorporated Interlock control of asynchronous data transmission between a host processor and a plurality of microprocessors through a common buffer
US4209839A (en) * 1978-06-16 1980-06-24 International Business Machines Corporation Shared synchronous memory multiprocessing arrangement
US4231086A (en) * 1978-10-31 1980-10-28 Honeywell Information Systems, Inc. Multiple CPU control system
JPS55164922A (en) * 1979-06-08 1980-12-23 Toshiba Corp Multimicrocomputer
JPS56147224A (en) * 1980-04-18 1981-11-16 Toshiba Corp Information processor
US4462084A (en) * 1981-02-23 1984-07-24 Gen Rad, Inc. Bus request buffer circuit for interfacing between field maintenance processor and device specific adaptor
DE3212401C2 (de) * 1982-04-02 1985-01-17 Otto 7750 Konstanz Müller Schaltungsanordnung zur Steuerung der Priorität der Aufschaltung verschiedener Aggregate auf einen Systembus einer digitalen Rechenanlage

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
マイクロコンピュータ基礎講座2「入出力制御とシステム構成」,S57.3.20,オーム社,P.21〜24

Also Published As

Publication number Publication date
CA1194576A (en) 1985-10-01
KR840006270A (ko) 1984-11-22
JPS59501763A (ja) 1984-10-18
GB8325247D0 (en) 1983-10-26
EP0120913A1 (en) 1984-10-10
WO1984001450A1 (en) 1984-04-12
GB2128853A (en) 1984-05-02
EP0113163A1 (en) 1984-07-11
KR910004409B1 (ko) 1991-06-27
US4494193A (en) 1985-01-15
GB2128853B (en) 1986-02-05

Similar Documents

Publication Publication Date Title
JPH079644B2 (ja) デッドロック検出・解決方式
US5887194A (en) Locking protocol for peripheral component interconnect utilizing master device maintaining assertion of lock signal after relinquishing control of bus such that slave device remains locked
KR970000842B1 (ko) 정보 처리 시스템 및 컴퓨터 시스템
US5265211A (en) Arbitration control logic for computer system having dual bus architecture
US5619726A (en) Apparatus and method for performing arbitration and data transfer over multiple buses
US6199134B1 (en) Computer system with bridge logic that asserts a system management interrupt signal when an address is made to a trapped address and which also completes the cycle to the target address
US5182808A (en) Multiprocessor systems having distributed shared resources and deadlock prevention
JP3476174B2 (ja) ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ
US5404462A (en) Dual bus interface transfer system for central processing module
JPH09190406A (ja) 直接メモリアクセス制御装置及びこれを用いた伝送システム
CZ290956B6 (cs) Počítačový systém
US5509127A (en) Transmission logic apparatus for dual bus network
JPH0713816B2 (ja) 全体制御を特徴とするマルチプロセッサ計算システム
EP1068573B1 (en) Method and apparatus for arbitrating access to multiple buses in a data processing system
US6247087B1 (en) Bus system for shadowing registers
US5495585A (en) Programmable timing logic system for dual bus interface
US5442754A (en) Receiving control logic system for dual bus network
JPH06139207A (ja) システムバス制御方式
JPH06149730A (ja) バスシステム,バス制御方式及びそのバス変換装置
JPH0697938A (ja) デュアルバスlanインタフェースシステム及び方法
JPH11191073A (ja) Pciバス処理装置
JPS6029141B2 (ja) 結合装置
JP2906197B2 (ja) 二重化バス装置
JPH05257903A (ja) マルチプロセッサシステム
JP2002278923A (ja) バスシステム,バス制御方式及びそのバス変換装置