JPH0210979B2 - - Google Patents

Info

Publication number
JPH0210979B2
JPH0210979B2 JP60003411A JP341185A JPH0210979B2 JP H0210979 B2 JPH0210979 B2 JP H0210979B2 JP 60003411 A JP60003411 A JP 60003411A JP 341185 A JP341185 A JP 341185A JP H0210979 B2 JPH0210979 B2 JP H0210979B2
Authority
JP
Japan
Prior art keywords
processor
group
arbitration
processors
shared
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
Application number
JP60003411A
Other languages
English (en)
Other versions
JPS60225970A (ja
Inventor
Jon Joojio Kurosutosu
Piitaa Raun Anderusu
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 JPS60225970A publication Critical patent/JPS60225970A/ja
Publication of JPH0210979B2 publication Critical patent/JPH0210979B2/ja
Granted legal-status Critical Current

Links

Classifications

    • CCHEMISTRY; METALLURGY
    • C23COATING METALLIC MATERIAL; COATING MATERIAL WITH METALLIC MATERIAL; CHEMICAL SURFACE TREATMENT; DIFFUSION TREATMENT OF METALLIC MATERIAL; COATING BY VACUUM EVAPORATION, BY SPUTTERING, BY ION IMPLANTATION OR BY CHEMICAL VAPOUR DEPOSITION, IN GENERAL; INHIBITING CORROSION OF METALLIC MATERIAL OR INCRUSTATION IN GENERAL
    • C23CCOATING METALLIC MATERIAL; COATING MATERIAL WITH METALLIC MATERIAL; SURFACE TREATMENT OF METALLIC MATERIAL BY DIFFUSION INTO THE SURFACE, BY CHEMICAL CONVERSION OR SUBSTITUTION; COATING BY VACUUM EVAPORATION, BY SPUTTERING, BY ION IMPLANTATION OR BY CHEMICAL VAPOUR DEPOSITION, IN GENERAL
    • C23C14/00Coating by vacuum evaporation, by sputtering or by ion implantation of the coating forming material
    • C23C14/04Coating on selected surface areas, e.g. using masks
    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • 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
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Software Systems (AREA)
  • Materials Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Metallurgy (AREA)
  • Organic Chemistry (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は多重プロセツサシステムの調停
(arbitration)に係り、特に、複数のプロセツサ
に完全に分散され且つ相互接続線またはメモリ位
置のような最小限の同期変数しか使用しない調停
機構に係る。
〔従来技術〕
大抵のコンピユータおよびプロセツサ制御装置
は単一のプロセツサを組込まれており、これによ
り使用すべきシステム資源を決定したり、その処
理態様を制御している。すなわち、使用すべきシ
ステム資源が一意的に決定されるように、すべて
の制御がこのプロセツサとその関連ソフトウエア
に集中化されているのである。しかしながら、シ
ングルチツプのプロセツサが集積された小型で、
低価格の処理回路が出現するに及んで、複数のプ
ロセツサを使用する多くのシステムが設計される
ようになつてきた。多重プロセツサシステムの利
点は高速処理が可能になることであるが、これは
プロセツサの各々がシステム内の他のプロセツサ
とは無関係にそれ自身のタスクを実行できるとい
う理由による。このような並行処理の速度の増加
は、概ねプロセツサの数に比例する。
また、多重プロセツサシステムの設計を適切に
行えば、信頼性を向上させることができる。プロ
セツサの1つが故障しても、残りの故障していな
いプロセツサの動作には影響せず、従つてシステ
ムの性能は低下しても動作を継続させることがで
きるからである。更に、I/O処理または浮動小
数点計算のような、特殊な能力を個々のプロセツ
サに持たせることは可能だが、これらの能力をシ
ステム内の全プロセツサに一様に持たせることは
無駄なことである。
多重プロセツサの利点は個々のプロセツサの動
作の相対的な独立性にあり、このことは多重プロ
セツサの各ステツプを厳密に制御するような中央
プロセツサが存在しないことを意味する。若し、
このような中央プロセツサ(集中制御)が設けら
れたなら、システムの速度は中央プロサツサの速
度によつて決まり、中央プロセツサが故障すれ
ば、システム全体が使用不能になるであろう。ま
た、多重プロセツサシステムの設計に重要なこと
は、システム資源の或るものがプロセツサ間で共
用されるという点である。この共用資源は、記憶
装置または周辺入出力装置のいずれでもよい。記
憶装置を共用しなければならないのは、複数のプ
ロセツサが、プールされた共用のデータまたはソ
フトウエアに基づいて動作することがあるからで
ある。記憶装置の共用は、物理的な記憶位置また
は記憶内容の共用という形で行なわれる。例え
ば、プロセツサの各々は、ローカル記憶装置を有
し、該記憶装置は(共通のクロスポイントスイツ
チによる相互接続の状態のような)全体として当
該システムに関連する情報を含むことがある。こ
の情報は各プロセツサのローカル記憶装置に重複
して記憶されている。これらのローカル記憶装置
を同時に更新しようとする場合には、どのプロセ
ツサがすべてのローカル記憶装置の共用情報を更
新すべきかについて、複数のプロセツサ間の合意
が必要である。入出力装置が共用されるのは、プ
ロセツサの各々に別個の入出力装置を接続すると
複雑さと費用が増すからである。一層基本的な共
用資源は、他の共用資源とプロセツサ、ならびに
プロセツサ相互間を接続するようなバスである。
2つのプロセツサは、各プロセツサが同時に同じ
情報の入力を必要とするような滅多に起こりそう
もない状況を除き、同じバスを同時に使用するこ
とはできない。
このような、独立して動作する多重プロセツサ
と供用資源の組合せは、共用資源に対する要求が
予測不可能な時間に生ずること、そして2つのプ
ロセツサが同時に同じ共用資源を必要とすること
がありうることを意味する。若し、特定の共用資
源に対して複数の要求があり、またはこれらの要
求が未解決であれば、一方のプロセツサの要求を
容れ、他方のプロセツサの要求を拒否して競合を
解決しなければならない。また、拒否した要求も
最後には受入れられることを保証する必要があ
る。
概念的には、最も簡単な調停(arbitration)
は集中アービタ(arbiter)によつて実行される。
この型のシステムは、共用バスの回りに構築され
たコンピユータシステムでは極めて一般的であ
る。集中アービタの例は、米国特許第4257095号
に開示されている。それによれば、プロセツサは
資源を要求するときは必ず、その要求を優先順位
回路に知らせる。個々のプロセツサは、優先順位
回路がその要求を受入れた場合しか、要求した資
源にアクセスできない。集中アービタは迅速な調
停を行なうことができ、また中程度の複雑さのハ
ードウエアによつて実現できる。調停の結果は、
調停回路またはソフトウエアの設計によつて異な
る。調停は優先順位に関して厳密に行なわれ、高
い優先順位を与えられたタスクまたはプロセツサ
は常に、低い優先順位を与えられたものよりも高
い優先権を有する。この機構を変更して、最も高
い優先順位要求に共用資源のアクセスを許可する
前に、既に存在する該資源との接続の満了を認め
るようにすることもできる。優先順位を調停する
集中アービタは、既に米国特許第3959775号、同
第4096572号、同第4151592号および同第4268904
号に開示されている。前述の調停に代るものとし
て、要求をその発生順序に配列して順次にサービ
スするような、先着順サービスによる調停もあ
る。この順序づけは、資源に対する待ち行列を設
けることに等しい。米国特許第4320455号は、共
用資源を要求する複数プロセツサの待ち行列を作
成し、サービスするのに必要なソフトウエアを開
示している。米国特許第4281381号は、先着順サ
ービスを行なう集中アービタの回路構成を開示し
ている。
〔発明が解決しようとする問題点〕
優先順位または先着順サービスによる調停で
は、十分な満足が得られないことがある。優先順
位式調停を行なうシステムの負荷が大きい場合、
最高の優先順位を有するプロセツサは、相対的に
低い優先順位を有するプロセツサの出番を封じ、
かくて後者のプロセツサの資源アクセスが妨げら
れてしまうことになる。一方、先着順サービスに
よる調停は、プロセツサ間に優先順位を設定する
ことができない。同様の欠点は、未解決の要求に
ついてプロセツサが順次にポーリングされるよう
な、ラウンドロビン式調停にも当てはまる。
集中アービタには、このような中央制御が多重
プロセツサシステムにおける所望の分散制御に適
合しないという欠点がある。集中式調停回路は多
重プロセツサとは異なる特別な回路であるから、
標準的なシステムに追加回路が導入されることに
なる。また、集中制御は、多重プロセツサシステ
ム全体の動作を停止させるおそれがあるシングル
ポイント故障を起こし易い。
集中式調停に代るものとして、共用資源のアク
セスを要求するプロセツサの調停を当該プロセツ
サが実行するような分散式調停がある。分散式調
停は、各プロセツサがアクセス可能な記憶位置ま
たはプロセツサ間の制御線のような同期変数を必
要とする。分散式調停機構の例は、米国特許第
4096571号に開示されている。すなわち、優先順
位バスはそれぞれのプロセツサを相互接続し、該
バスの各線は共用資源のアクセスを要求している
プロセツサを表示する。この分散式調停機構は主
として、ソフトウエアシステムにおける実施につ
いて説明されている。分散式調停機構は、集中式
調停システムよりもかなりすぐれた耐故障性を与
える。しかしながら、従来の分散式調停機構は、
ローカルエリアネツトワークで優先順位を確立す
るために同期メツセージまたはタイムアウトを要
し、従つて動作が遅いという欠点があり、更に多
数の構成要素を必要とするという欠点もある。こ
れらのシステムの多くは、多数の競合プロセツサ
間の迅速な調停を必要とするハードウエア・アー
ビタには適切ではない。
デイジクストラ(Dijkstra)とランポート
(Lamport)はともに、記憶位置または制御線の
ような、N桁の共用変数により、N個のプロセツ
サの分散調停が実現できるという法則に理論的な
正当性を与えている。このような数の相互接続用
制御線は前記米国特許第4096571号に記述されて
おり、更に米国特許第3593300号の分散式制御機
構にも記述されている。共用変数の実現のために
多数の構成要素を要するという欠点は、共用記憶
装置の周辺に構築され且つ記憶位置を同期変数と
する従来のプロセツサについては重要ではない。
しかしながら、同期変数が制御線のような特別な
構成要素である場合には、この問題は一層重要性
を増すことになる。多重プロセツサシステムに非
常に多数のプロセツサが含まれるようになると、
この問題は益々重要となる。必要な相互接続線の
数は、当該システムの設計に制約を課すような大
きさになるからである。
〔問題点を解決するための手段〕
本発明は、N個のプロセツサに対する分散式調
停機構として要約することができる。この調停機
構では、同期線のような2log2N個の共用変数が、
1組の線上にアドレスを運び、他の1組の線上に
該アドレスの補数を運ぶ。プロセツサの各々は共
用変数の各々に或る状態を表明(assert)するこ
とができ、そして任意のプロセツサが1状態を表
明している場合、これに関連する変数は非表明
(unasserted)状態と反対の表明状態を呈するよ
うにされる。この動作は、例えば、線へのオープ
ンコレクタ出力により実行できる。
アクセスを要求するプロセツサは、それ自身の
番号に従つて、それ自身のアドレスとその補数ア
ドレスのビツト線に順次に表明を行なう。次い
で、このプロセツサは、該プロセツサが表明を行
なつた線に対し相補的な関係にある線を調べるこ
とにより、他のプロセツサがアクセスを要求して
いるかどうかを判定する。競合している場合は、
当該調停機構は、より低いアドレスのプロセツサ
が該資源の優先権を得ると判定する。
これに対する付加的な特徴である“公平な調
停”(fairness−in−arbitration)特性は、4つ
の共用変数を付加することにより実現される。す
なわち、或るプロセツサがサービスされると、こ
のプロセツサはそれ自身を直ちに最近にサービス
されたプロセツサを表わすグループに入れる。こ
れらのプロセツサは、サービスを待機している他
のすべてのプロセツサの順番が来るまで、すなわ
ちこれらのプロセツサがサービスされるまで、再
びサービスを受けることはできない。
〔実施例〕
第1図は、8個のプロセツサP0〜P7から成
る多重プロセツサシステムを示す。すべてのプロ
セツサは、共通の資源10と、プロセツサP0〜
P7の各々を資源10に接続するバス12を共用
する。資源10は、記憶装置、入出力装置、また
は他の種類の装置のいずれでもよい。代替的に、
共用資源は、プロセツサP0〜P7の間の通信に
使用されているバス12でもよい。重要な点は、
いかなるときでも、プロセツサP0〜P7のうち
の1つしか共通の資源10にアクセスできないこ
とである。若し、複数のプロセツサが、資源10
のアクセスを同時に要求すれば、分散式調停回路
は、要求中プロセツサのうちのどれがアクセスで
きるかを決定する。
調停回路は、プロセツサP0〜P7の各々に接
続された同一の調停論理回路14と、真のアドレ
スEのバス16と、補数アドレスE′のバス18を
含む。アドレスバス16および18の各々は、プ
ロセツサP0〜P7の各々の2進アドレスを表わ
すのに十分な線を含む。本明細書の例では、8個
のプロセツサが設けられているので、アドレスバ
ス16および18の各々は3本の線を有する。N
個のプロセツサが設けられている場合には、アド
レスバス16および18の各々はn=log2Nの線
を含むように一般化される。nは、必要なら次の
整数へ切上げられる。
アドレスバス16および18の各線は、調停論
理回路14の各々に接続される。一般に、調停論
理回路14は個々の線を読取ることができ、また
該線に個々に表明(assertion)を行なうことが
できる。個々の線上の信号は表明または非表明状
態のいずれかを呈する。若し、いずれかの調停論
理回路14がそれに接続されているバス線に表明
を行なつているなら、該線は表明状態を呈する。
反対に、若し、調停論理回路14のどれもが特定
のバス線に表明を行なつていなければ、該線は非
表明状態を呈する。
このような表明回路は、調停論理回路14から
のオープンコレクタ出力を用いて実現できる。第
2図に示すオープンコレクタ回路はトランジスタ
20から成り、該トランジスタはそのエミツタを
接地され、コレクタは抵抗器22によつて電源
VCCから分離されている。出力Eiはトランジス
タ20のコレクタから取出され、入力信号Einは
トランジスタ20のベースを駆動する。入力信号
Einが高いレベルすなわち1の場合、トランジス
タ20は低インピーダンスになるので、出力Eiは
低いレベルすなわち0である。一方、入力信号
Einが低いレベルの場合、トランジスタ20は高
インピーダンスになるので、出力Eiは電源電圧+
VCCの値に応じた高いレベルになる。しかしな
がら、若し、別のオープンコレクタ出力がEiを低
いレベルにする即ち大地へのオープン通路を与え
ているなら、トランジスタ20のコレクタ電圧
も、Einの値にかかわらず低くなる。本発明を説
明する便宜上、或るバス線に接続されたオープン
コレクタ出力は該バス線に低いレベルすなわち0
の値を表明することができ、そしてこのような場
合には該バス線は他の入力の値にかかわらず低い
レベルになるものとする。若し、どのオープンコ
レクタ出力も低い値を表明してしなければ、該バ
ス線は高いレベルになる。このように、表明状態
は低いレベルすなわち0の値に関連し、非表明状
態は高いレベルすなわち1に関連する。また、真
のアドレスバス16の或る線をEiとすれば、該線
上の信号はS(Ei)と表示される。Eiには、別個
の調停論理回路からのN本の線がそれぞれ接続さ
れる。これらの個々の線はEijと表示される。若
し、Eijのどれかに表明が行なわれている、すな
わち任意のEij=0なら、S(Ei)=0である。一
方、すべてのEijに表明が行なわれていない、す
なわちすべてのEij=1なら、S(Ei)=1である。
更に注意すべきは、オープンコレクタ出力Eiとそ
の入力Einは補数関係にあるということである。
プロセツサP0〜P7の各々は、一意的な3ビ
ツトアドレスA=(a2、a1、a0)を割当てられ
る。若し、これらのアドレスが第1図に示された
プロセツサの番号に対応するなら、プロセツサP
0のアドレスはA0=(000)であり、プロセツサ
P1のアドレスはA1=(001)であり、以下同様
である。2進アドレスの各ビツトは、プロセツサ
の2つのビツト値グループの1つ、すなわちグル
ープ0またはグループ1を識別する。これらの2
つのグループは別個のバス線EiおよびE′iによつ
て表示される。そのアドレスのi番目のビツトに
0の値を有するプロセツサはビツト値グループ0
に属し、そのグループ線はE′iである。同様に、
1の値を有するプロセツサはビツト値グループ1
に属し、そのグループ線はEiである。これらの2
つのビツト値グループは、線EiとE′iのように、
互いに相補的な関係にある。特定のビツトについ
て云えば、各プロセツサはそれ自身のグループの
状態を該当するグループ線EiおよびE′iに表明す
ることができるが、相補的なグループ(以下「相
補グループ」という)については線の状態の読取
りしかできない。
本発明の調停機構は次のように作動する。各プ
ロセツサの調停論理回路14は、3つのアドレス
ビツトa2、a1、a0の各々に対応する変数を順次
に処理する。先ず、調停論理回路14は、特定ビ
ツトの値によつて決まる当該プロセツサのビツト
値グループに対応するバス線に表明を行なう。全
プロセツサへ信号が伝搬するのを待機した後、調
停論理回路14は相補グループの線を検査する。
若し、相補グループの線が表明状態にあることが
分れば、この調停論理回路14は競合解決手順を
開始する。さもなければ、次の変数すなわちアド
レス列の次のビツトが処理される。例えば、プロ
セツサP1はアドレスA1=(001)を有する。そ
の関連する調停論理回路14は、第1のビツト
a2がプロセツサP1をビツト値グループ0に入
れることを決定し、次いで該ビツトの値に応じた
グループ0バス線、すなわちE′2に表明を行なう。
伝搬遅延の後、この調停論理回路14は、該ビツ
トの相補グループ線、すなわちE2を検査する。
若し、E2が表明状態にあれば、この調停論理回
路14は競合解決手順を開始する。若し、E2が
表明状態になければ、次の変数a1は、E′1に表明
を行ない且つE1を検査することにより処理され
る。しかしながら、最後のアドレスビツトa0に
ついては、そのビツト値グループはグループ1で
あるから、E0に表明が行なわれ、そしてE′0が検
査される。
若し、アクセスを要求中の或るプロセツサに関
連する調停論理回路14が或るグループ線に表明
を行なつている場合に、これに対応する相補グル
ープ線が既に表明状態にあれば、かかる競合は、
一定の優先順位競合解決手順により次のように解
決される。すなわち、ビツト値グループ0は常に
より高い優先順位を得る。このことは、グループ
0のプロセツサに関連する調停論理回路14は、
そのグループ線を表明状態に維持するが、そのア
ドレス・ビツトに対するグループ1の線が解放さ
れるまでは、次のアドレスビツトに進まないこと
を意味する。一方、グループ1のプロセツサに関
連する調停論理回路14は、最後に表明されたグ
ループ線を直ちに解放しなければならず、そして
この該ビツトに対するグループ0の線が解放され
るまで、前記最後に表明されたグループ線に再び
表明を行なうことができない。調停論理回路14
がその適切な3つのグループ線すべてに首尾よく
表明を行なつていかなる競合をも見出さない場
合、競合があつても有利に解決された場合、また
は競合するグループ線が解放された場合、この調
停論理回路14はそのプロセツサに対し該プロセ
ツサが所望の資源に対するアクセスを得たことを
知らせる。
この一定の調停機構の効果は、最も低いアドレ
スを有するプロセツサが、同時に同じ資源を要求
し、または該資源のアクセスを待機している、他
のより高いアドレスのプロセツサよりも高い優先
権を与えられるという点にある。例えば、若し、
プロセツサP2が現に資源をアクセスしているな
ら、その関連する調停論理回路14はグループ線
E′2、E1、およびE′0に表明を行なつていること
になる。若し、プロセツサP1がこの状況でアク
セスを要求するなら、その関連する調停論理回路
14は競合なしにE′2に首尾よく表明を行なうこ
とができる。しかしながら、E′1に表明を行なつ
た後、この調停論理回路14はE1が既に表明状
態にあることを発見する。0のビツト値グループ
が優先権を得るという規則に従つて、プロセツサ
P1に関連する調停論理回路14は、グループ線
E′1を解放せずにその表明を継続し、そしてE1が
解放されるまで待機してから、3番目のアドレス
ビツトa0に進む。しかしながら、若し、アドレ
スA4=(100)を有するプロセツサP4がアクセ
スを要求するなら、その関連する調停論理回路1
4はE2に表明を行なうとき、E′2が既にプロセツ
サP1およびP2によつて表明状態にされている
ことを決定する。その場合、競合解決規則に従つ
て、プロセツサP4の調停論理回路14は、E′2
がプロセツサP2とP1によつて解放されるま
で、E2を解放しなければならない。前述の動作
がすべて終了した後にプロセツサP0がアクセス
を要求すると、その関連する調停論理回路14
は、E2が表明状態に維持されていないので、首
尾よくE′2に表明を行なう。次いで、この調停論
理回路14は、プロセツサP2によつて生じた
E1の競合にもかかわらず、ビツトグループ0の
優先権によりE′1に表明を行なう。しかしながら、
プロセツサP4は、プロセツサP2がE1を解放
するまで、その3番目のアドレスビツトa0につ
いて表明を行なうことはできない。このように、
プロセツサP0はプロセツサP4からのより早い
要求よりも有利な立場に置かれ、プロセツサP1
と同等の立場に置かれることが分る。
各プロセツサは、共用資源10のアクセスを終
了した後、そのグループ線のすべてを任意の順序
で解放して調停プロセスから出る。この資源10
をアクセスしようとしている残りのプロセツサは
アドレスバス16および18の線の状態を変更さ
せて調停プロセスを進めることができる。
第3図は、調停論理回路14が一定の優先順位
の調停機構に従う流れ図である。カウンタ
(CTR)はアドレスのビツトを順次処理するのに
用いられる。最初のステツプ30では、カウンタが
CTR=0にセツトされる。ステツプ32では、カ
ウンタが指すグループ線の1つに表明が行なわれ
る。このグループ線が真のアドレスバス16にあ
るか、または補数のアドレスバス18にあるか
は、カウンタが指すビツトの値によつて決まる。
第3図において、表明状態は論理1である。次
に、伝搬遅延を表わすステツプ34の後、ステツプ
36では、ステツプ32でセツトされた線に対し相補
的関係にあるバス線が表明状態にあるかどうかが
判定される。若し、検査されたバス線が表明状態
になければ、ステツプ38でカウンタを増分する。
ステツプ40では、増分されたカウンタを検査する
ことにより、すべてのアドレスビツトが表明され
且つ首尾よく検査されたかどうかを決定する。若
し、そうでなければ、前述のステツプを反復す
る。若し、すべてのアドレスビツトが首尾よく表
明されたならば、当該プロセツサはステツプ41で
資源をアクセスし、そしてそのタスクが完了した
後、ステツプ32で表明された線のすべてをステツ
プ42で解放する。
しかしながら、ステツプ36において相補グルー
プの線が表明状態にあると判定された場合、ステ
ツプ43では新しく表明されたビツトのビツト値グ
ループがグループ0(高い優先権のグループ)で
あるかどうか、従つてステツプ32でE′(CTR)に
表明が行なわれたかどうかを判定する。若し、こ
のビツトがグループ1ビツトなら、ステツプ44で
は、ステツプ32で表明されたE(CTR)の相補ビ
ツトを、それが最終的に解放されるまで反復検査
する。相補グループ線の解放時に、プロセスはメ
インループに戻る。
しかしながら、ステツプ43において、表明され
たビツトがグループ0ではなく、従つてステツプ
32でEが表明されたと判定されるなら、ステツプ
45ではこの表明された線を解放することにより表
明状態が逆転される。次いで、ステツプ46では、
相補グループ線が最終的に解放されるまでこれを
反復検査する。相補グループ線が解放されると、
プロセスはループの最初に戻り、再び同じグルー
プ線に表明を行なう。
第4図は、プロセツサ50に関連する調停論理
回路14を示す。グループ線はn個の相補対E0、
E′0、…、En、E′nとして配列される。プロセツ
サ50と調停論理回路14の制御論理52の間の
通信は、プロセツサ50が資源アクセスを要求す
る線と、調停論理回路14がプロセツサ50に資
源アクセスを許可する線によつて行なわれる。制
御論理52は資源要求を受取ると、クロツク54
を付能する。クロツク54の周期は、調停論理回
路14中にあるゲートのセツテイングを可能に
し、他のすべてのプロセツサを往復する伝搬遅延
が可能なように選択される。クロツク54は、ア
ドレスのビツト数に等しいn出力を有するリング
カウンタ56を駆動する。プロセツサ数をNとす
ると、n=log2Nである。リングカウンタ56
は、n個の論理セクシヨン58のうち1つを選択
する。n個の論理セクシヨン58の各々は、アド
レスの1ビツトに関連し、従つて対応するグルー
プ線EjおよびE′jに関連する。アドレスの最下位
ビツト、すなわちグループ線E0およびE′0に関連
するビツトが最初に選択される。また、調停論理
回路14は1つのアドレス・レジスタ60を含
み、該アドレス・レジスタは関連するプロセツサ
50のnビツトアドレスを保持する。
第4図には1つの論理セクシヨン58しか図示
されていない。残りの論理セクシヨンは、関連す
るアドレスビツトとそれに対応する接続が異なる
点を除くと、図示の論理セクシヨン58と同一で
ある。リングカウンタ56の最下位出力は論理セ
クシヨン58にあるフリツプフロツプ62をセツ
トする。フリツプフロツプ62の出力はNAND
ゲート64および66の入力に接続され、これら
のNANDゲート64および66のオープンコレ
クタ出力はそれぞれグループ線E′0およびE0を駆
動する。アドレスレジスタ60の最下位ビツトは
NANDゲート66の他の入力に直接印加される
とともに、インバータ68を介してNANDゲー
ト64の他の入力に印加される。その結果、若
し、アドレスの最下位ビツトが0なら、NAND
ゲート64が付能されて、グループ線E′0に表明
を行なう。一方、該最下位ビツトが1なら、
NANDゲート66が付能され、かくてグループ
線E0に表明を行なう。もちろん、どちらの表明
も、最下位ビツトのフリツプフロツプ62をリン
グカウンタ66が選択した場合にのみ行なわれ
る。
若し、最下位ビツトが0であり、従つてE′0に
表明が行なわれたなら、該最下位ビツトとリング
カウンタ56の出力とはNANDゲート70で結
合され、これによりゲート72を付能する。ゲー
ト72は、入力の反転を行なうANDゲートであ
る。ゲート72の他の入力はグループ線E0に接
続されている。従つて、グループ線E′0に表明が
行なわれるなら、グループ線E0が表明状態にあ
るかどうかが検査される。若し、E0が表明状態
にあれば、ゲート72は真の信号をORゲート7
4を介して、n入力ORゲート76に出力する。
n入力ORゲート76の出力はリングカウンタ5
6の禁止入力に接続されているので、表明状態に
ついての検査結果が真の場合は、クロツク54の
動作が続いていても、それ以上の接続は禁止され
ることになる。
一方、最下位ビツトが1であり、従つてE0に
表明が行なわれたなら、該最下位ビツトとリング
カウンタ56の出力とはNANDゲート78で結
合され、ゲート80を付能する。ゲート80も入
力の反転を行なうANDゲートである。ゲート8
0の他の入力はグループ線E′0に接続されている。
この結果、E0に表明が行なわれるなら、E′0の表
明状態が検査される。若し、E′0が表明状態にあ
れば、ゲート80は真の信号をORゲート74を
介してn入力ORゲート76に出力し、これによ
りリングカウンタ56を禁止する。また、ゲート
80の出力は、現にグループ線E0に表明を行な
つているNANDゲート66の入力に、インバー
タ82を介して印加される。その結果、若し、
E0に表明が行なわれ、そしてE′0も表明状態にあ
ることが分れば、E0の表明は解放されることに
なる。グループ線E′0がもはや表明状態にない、
すなわち他のプロセツサによつて解放された場
合、NANDゲート66は直ちにグループ線E0に
再表明を行なう。これと同時に、リングカウンタ
56の禁止が解除される。
次に、2つのグループ線E0およびE′0の扱いの
相違について述べる。若し、グループ線E′0に表
明が行なわれ、そしてその相補グループ線E0も
表明状態にあることが分れば、グループ線E′0の
表明は続くが、リングカウンタ56は、相補グル
ープ線が解放されるまで、カウント増加が許され
ない。一方、グループ線E0に表明が行なわれ、
そしてその相補グループ線E′0も表明状態にある
ことが分れば、リングカウンタ56が禁止される
ばかりでなく、グループ線E0の最初の表明も、
相補グループ線E′0が解放されるまで解除される。
しかしながら、若し、相補グループ線を検査す
ることにより、相補グループ線が表明状態にない
ことが分れば、リングカウンタ56はクロツク5
4からの次のパルスでカウンタが増し、そしてア
ドレスの他のビツトについて同様の表明と検査が
実行される。リングカウンタ56がn個の論理セ
クシヨン58をすべて選択した後、次の禁止され
ていないカウントに応じて制御論理回路52へ出
力が与えられ、かくて資源が使用可能であること
を表示する。従つて、制御論理52はプロセツサ
50に対し資源アクセスを許可することができ
る。プロセツサ50が共用資源のアクセスを終了
すると、制御論理52はn個の論理セクシヨン5
8にあるフリツプフロツプ62をすべてリセツト
する。
リングカウンタ56は一度に1つの論理セクシ
ヨン58を選択するだけであり、また相補グルー
プ線の表明について検査結果が偽になつた後にだ
け次の論理セクシヨンに進むようにカウントを増
す。若し、アドレスが4ビツトであれば、リング
カウンタ56の出力列は:0000、0001、0010、
0100、1000および0000となるであろう。1の出力
は論理セクシヨン58のどれが現に選択されてい
るかを表わし、出力の最後のセツト0000は資源許
可に一致する。
前述のような一定の優先順位調停の利点は、完
全な分散式調停の実現に必要な共用変数の数が、
例えば2n本のバス線EおよびE′のように少なく
てすむということである。
更に、若し、調停論理回路14の出力Eiおよび
E′iが、それらの表明状態における障害を防ぐよ
うに設計できるなら、プロセツサまたはその関連
する調停論理回路14の障害は、多重プロセツサ
システムの残りの部分の動作には影響しない。調
停論理回路14の出力を適切に設計することによ
り、前記条件を容易に満足させることができるの
で、分散式調停は耐故障性にすることができる。
これまでの説明は、共用資源のアクセスを許可
するのに一定の優先順位を利用する調停機構に関
するものである。しかしながら、一定の優先順位
は、高い優先順位のプロセツサが常に共用資源の
アクセスを許可され、低い優先順位のプロセツサ
が除外されるという点で不公平になることがあ
る。このような欠点を是正するため、本発明は公
平の原則に基づいて実現することができる。すな
わち、或るプロセツサが一度共用資源をアクセス
すると、このプロセツサは他の待ち行列化されて
いる要求の順番が来るまで、すなわちこれらの要
求のサービスが終るまで待機しなければならな
い、ということである。この公平の原則について
次に説明する。或るプロセツサがサービスされる
と、このプロセツサは直ちに最近にサービスされ
たプロセツサを表わすグループに入れられる。こ
れらのプロセツサは、サービスを待機している他
のすべてのプロセツサの順番が来るまでは次のサ
ービスを受けられない。この段階で始めて、最近
にサービスされたプロセツサのグループが再びサ
ービスを受ける資格ができ、そしてこのようなプ
ロセツサの新しいグループが、その後にサービス
されたプロセツサから形成される。
オープンコレクタ出力を使用することにより、
公平の原則実現するのに必要な共用変数の数が4
本の線にまで減少する。第1図に示された2つの
共用変数0および1の線は、プロセツサP0
〜P7に関連する調停論理回路14の各々のオー
プンコレクタ出力に接続される。線0および
1の各々は公平グループの1つに割当てられ、そ
れぞれの公平グループが空であるか否かを表わ
す。他の共用変数に相当する1対の制御線S
よびRは、プロセツサP0〜P7の各々に設け
られたターン・フリツプフロツプと呼ばれるフリ
ツプフロツプのセツトおよびリセツト入力に接続
される。制御線SおよびRは、現在の順番が2
つの公平グループのどちらに属しているかを決め
るので、ターン線と呼ばれる。ターン線の信号
は、プロセツサP0〜P7に接続されたそれぞれ
の調停論理回路14からのオープンコレクタ出力
によつて決まる。更に、各プロセツサの調停論理
回路14はHフリツプフロツプと呼ばれるフリツ
プフロツプを有し、該フリツプフロツプは当該プ
ロセツサが現にどのグループに属しているかを示
すレコードを保持する。
第5図は、4本の公平線0、1、Sおよ
Rとインタフエースする制御論理回路の一部
分の詳細を示す。
公平機能のために、プロセツサをその関連する
調停論理回路14に接続する3本の制御線があ
る。2本の線90および92はそれぞれ、
ENTR信号およびEXT信号を供給する。ENTR
信号はプロセツサが調停を開始する、すなわち共
用資源のアクセスを要求することを表わし、
EXT信号は退出、すなわちプロセツサが共用資
源のアクセスを完了し且つそのことを反映するよ
うに調停論理回路14をリセツトしようとしてい
ることを表わす。3番目の線93は、少なくとも
公平に関する限り、調停論理回路14がプロセツ
サにアクセスを続行するように指示するとき、
PRC信号パルスを出力する。公平グループ線
0は、補数のオープンコレクタ出力を有するグル
ープ0のフリツプフロツプ94によつて制御され
る。同様に、公平グループ線1は、グループ1
のフリツプフロツプ96によつて制御される。フ
リツプフロツプ98はターン・フリツプフロツプ
であつて、その補数セツト入力はセツトターン線
Sに接続され、その補数リセツト入力はリセツ
トターン線Rに接続される。このように、ター
ン・フリツプフロツプ98は、すべてのプロセツ
サに共通なターン線によつてセツトおよびリセツ
トされる。ターン・フリツプフロツプ98のター
ン出力は、現在の順番が公平グループ0または1
のどちらに属しているかを表示する。もう1つの
フリツプフロツプ100はHフリツプフロツプで
あつて、その出力はこの調停論理回路14に関連
するプロセツサが現に属している公平グループ0
または1である。
調停が開始されると、ENTR信号パルスは、
Hフリツプフロツプ100からのHの値に応じ
て、グループ0のフリツプフロツプ94またはグ
ループ1のフリツプフロツプ96のどちらかをセ
ツトする。真のHはNANDゲート102を付能
し、これによりENTRパルスをグループ1のフ
リツプフロツプ96の補数セツト入力に通過させ
る。これに対し、はNANDゲート104を付
能し、かくてENTRパルスをグループ0のフリ
ツプフロツプ94の対応する入力に通過させる。
グループ0、1のフリツプフロツプ94,96が
セツトされると、それぞれの公平グループ線0
または1に表明が行なわれる。
調停論理回路14から関連するプロセツサへ与
えられる出力信号PRCは、該プロセツサの順番
であることを表わし、下記の論理式によつて制御
される: PRC=ENTR・(H・(0+TRN) +H・(1+)) この論理式は、図示のように、3個のORゲー
ト108,110および112と、2個のAND
ゲート114および116を含む論理回路106
によつて実行される。このように、プロセツサ
は、その公平グループが順番に一致する場合、ま
たは反対の公平グループの他のプロセツサがどれ
も、現にアクセスを要求しておらず、従つて相補
的な公平グループ線0または1に表明を行な
つていない場合、ENTR信号によつてアクセス
を許可される。
或るプロセツサが共用資源のアクセスを許可さ
れ、そしてそのアクセスが完了したとき、該プロ
セツサはEXTパルスを調停論理回路14に送る。
このEXTパルスは、該プロセツサが現に属して
いるグループのフリツプフロツプ94または96
をリセツトする。フリツプフロツプ100のH出
力はNANDゲート118を付能し、これにより
EXTパルスをグループ1のフリツプフロツプ9
6の補数リセツト入力に通過させる。これに対
し、出力はNANDゲート120を付能し、
EXTパルスをグループ0のフリツプフロツプ9
4の対応する入力に通過させる。このリセツト動
作の結果、公平グループ線0または1の表明
状態が解放される。また、EXTパルスはインバ
ータ122を介してHフリツプフロツプ100に
も送られ、かくてその出力を反転させる。すなわ
ち、該プロセツサは1つの公平グループから他の
公平グループに移る。ここで注意すべきは、イン
バータ122とHフリツプフロツプ100によつ
て導入された遅延により、EXTパルスは以前の
グループ割当てに基づいて(すなわちこのEXT
パルスがこのグループ割当てを反転する前に)フ
リツプフロツプ94または96をリセツトしうる
ということである。しかしながら、このことはH
フリツプフロツプ100がパルスの立下りでトリ
ガすることを必要とする。
EXTパルスはターン線RおよびSをも制御
する。オープンコレクタ出力をセツトターン線
に接続されたNANDゲート124は、Hフリツ
プフロツプ100のH出力と、非表明状態にある
グループ1の公平線1とによつて付能され、
EXTパルスを通過させる。すなわち、若し、退
出するプロセツサが公平グループ1に属し、かつ
グループ1の他のプロセツサがアクセスを要求し
ておらず、従つて1に表明を行なつていなけれ
ば、各調停論理回路14のターン・フリツプフロ
ツプ98がセツトされるのである。同様に、オー
プンコレクタ出力をリセツトターン線Rに接続
されたNANDゲート126は、出力と、非表
明状態にある0とによつて付能され、EXTパ
ルスを通過させる。それによつて、退出するグル
ープ0のプロセツサは、グループ0の他のプロセ
ツサが現にアクセスを要求していない場合、各々
のターン・フリツプフロツプ98をリセツトす
る。
第6図に示すように、公平の原則に基づく調停
と、一定の優先順位の調停とが組合わされると、
第4図と第5図に示されたプロセツサと調停論理
回路の間の制御線は次のように変更される。すな
わち、プロセツサからの資源要求出力は第5図の
ENTR信号パルスに等しく、PRC信号パルスは
第4図の制御論理52が受取るような資源要求に
等しく、第5図のEXT信号パルスは第4図のプ
ロセツサ50から出され、フリツプフロツプ62
をクリアするのにも使用される。
若し、NANDゲート124および126の入
力線に障害があつて、これらの線が接地されたる
か、またはNANDゲート124および126の
出力が高いレベルに固定されるような障害があつ
たとしても、これらの障害はシステムの他の部分
には影響しない。
次に、第5図の回路の動作を示す第6図の流れ
図を参照して、公平な原則に基づく調停方法を説
明する。調停論理回路14は、最初のステツプ
130でそのHフリツプフロツプ100の値の検査
を行ない、当該プロセツサがどの公平グループに
現に属しているかを判定する。若し、H=1な
ら、当該プロセツサは公平グループ1に属するの
で、動作はこの公平グループについて進行する。
次のステツプ132において、公平グループ1のプ
ロセツサはC1に表明を行なつて、公平グループ
1が少なくとも1つのプロセツサを含んでいるこ
とを表わす。次に、ステツプ134では、C0を検査
し、C0が表明状態にあるかどうかを判定する。
すなわち、他の公平グループに属しているプロセ
ツサが共用資源アクセスを要求しているために、
該グループが非空であるかどうかを調べる。若
し、C0=0なら、反対の公平グループは空であ
り、現在のプロセツサは、間違つた順番を持つて
いるから資源アクセスが妨げられない。その場
合、現在のプロセツサはPROC信号を与えられ、
第3図の流れ図に関連して前に説明したように、
ステツプ136において一定の優先順位の調停が許
可される。
しかしながら、若し、ステツプ134で、C0が表
明状態にあると判定されれば、ステツプ138で他
の検査を行ない、現在の順番が公平グループ1に
属している、すなわちTRN=1であるかどうか
が判定される。若し、TRN=1なら、現在の順
番は現に資源アクセスを要求しているプロセツサ
に属しているので、ステツプ136において、一定
の優先順位の調停が許可される。若し、TRN≠
1なら、ステツプ134に戻る。このように、プロ
セツサは、若し、反対の公平グループのプロセツ
サがどれもアクセスを要求していないなら、すな
わち順番が要求プロセツサの公平グループに属し
ているなら、ステツプ138で、一定の優先順位の
調停が許可される。
若し、ステツプ130においてH=0なら、要求
中プロセツサは公平グループ0に属するので、前
述のステツプに対応した、反対の公平グループの
ステツプが実行される。
プロセツサがステツプ136の一定の優先順位の
調停を開始した後、第3図に関連して既に説明し
た一定の優先順位の調停が行なわれる。該プロセ
ツサは最終的に共用資源をアクセスし、その要求
が満たされた後、EXT信号を発してステツプ136
の一定の優先順位の調停から退出し、そしてステ
ツプ140においてこの退出プロセツサが現にどの
公平グループに属しているかを調べる。若し、H
=1、すなわちこのプロセツサが公平グループ1
に属しているなら、次のステツプ142では、該プ
ロセツサはC1を解放する、すなわちその調停論
理はもはや1公平グループ線に表明を行なわな
い。ステツプ144では、公平グループ1の他のプ
ロセツサがC1に表明を行なつているかどうかを
判定する。若し、C1が表明状態にあつて、他の
プロセツサが1公平線に表明を行なつている、
従つて公平グループ1が非空のままであることを
表わすなら、退出するプロセツサは、ステツプ
146においてそのHフリツプフロツプ100の内
容を変更する。それによつて、退出するプロセツ
サはそれ自身を公平グループ1から公平グループ
0に移す。
しかしながら、ステツプ144の検査により、C1
が表明状態になく、従つて公平グループ1の他の
プロセツサがいずれもC1に表明を行なつていな
いことが分かれば、グループ1の前記最後に退出
するプロセツサはステツプ148で、ターンセツト
Sにパルスを送る。このパルスは、複数のプ
ロセツサの各々のターン・フリツプフロツプ98
をセツトする。その結果、或る公平グループを出
る最後のプロセツサ他のグループに順番を移す。
ここで注意すべきは、一方の公平グループに属す
るどのプロセツサもそれ自身の公平グループ線に
表明を行なつておらず(すなわちアクセスを要求
しておらず)、従つてこの公平グループに順番が
属していたとしても、他方の公平グループに属す
る或るプロセツサがステツプ136の一定の優先順
位調停を開始しうる、ということである。この場
合、ステツプ148の順番変更は無意味である。と
いうのは、既にセツト状態にあるR/Sフリツプ
フロツプをセツトしようとしても何も変わらない
からである。ステツプ148に続いて、ステツプ146
で公平グループが変更され、かくて公平な調停が
完了する。
若し、ステツプ140において退出するプロセツ
サが現に公平グループ0に属していると判定され
れば、公平グループ番号と順番の値を反対にする
以外は、前述のステツプに対応した動作が実行さ
れる。
本発明は各プロセツサに関連する調停論理回路
に接続された線の共用変数によつて説明されてい
るが、記憶位置を共用変数とするこれと同等のソ
フトウエア式実現形態も可能である。
以上で説明したものは、一定の優先順位調停用
として、前述のように整数化されたlog2Nの2倍
の数の共用変数、ならびに公平な調停用として更
に4つの変数を使用するN多重プロセツサに分散
式調停システムである。もちろん、本発明は、プ
ロセツサ以外の他のシステム構成要素も使用でき
る。米国特許出願第544653号(1983年10月24日出
願)に、複数の通信線を相互接続するクロスポイ
ントスイツチのコントローラが開示されている。
線の各々はポートを介して該スイツチに入り、他
の線との接続を要求する。本発明をこのようなコ
ントローラに使用すると、ポート接続表、すなわ
ち全ポートのステータスを記述する記憶装置のア
クセスを調停することができる。
〔発明の効果〕
以上詳述したように、本発明によれば、多重プ
ロセツサシステムに適用した高速で、しかも耐故
障性を有する分散式調停機構が得られる。この分
散式調停機構は最小限の共用変数しか必要としな
いだけでなく、一定の優先順位と先順着サービス
を組合わせているので、融通性に富んでいる。
【図面の簡単な説明】
第1図は本発明の公平な調停に必要な線を含む
多重プロセツサシステムの概要図、第2図はオー
プンコレクタ出力回路の概要図、第3図は本発明
に従つた一定優先順位の調停機構の動作を示す流
れ図、第4図は各プロセツサに関連する調停論理
回路の概要図、第5図は本発明に従つた公平回路
構成の概要図、第6図は本発明に従つた公平な調
停の流れ図である。 10……資源、14……調停論理回路、50…
…プロセツサ、52……制御論理、54……クロ
ツク、56……リングカウンタ、58……論理セ
クシヨン、60……アドレスレジスタ、76……
n入力ORゲート。

Claims (1)

  1. 【特許請求の範囲】 1 共用資源へのアクセスを要求し得るN個のス
    テーシヨンの間で該共用資源へのアクセス要求を
    調停するための分散式調停方法において、 log2N個の共用変数より成る第1セツトの共用
    変数および該第1セツトの共用変数にそれぞれ対
    応したlog2N個の共用変数より成る第2セツトの
    共用変数でもつて前記N個のステーシヨンの各々
    を表わすと共に前記N個のステーシヨン相互間の
    優先順位を定義し、 1つのステーシヨンが前記共用資源へのアクセ
    スを要求していることを、少なくとも前記第1セ
    ツトの共用変数でもつて表明し、 前記第2セツトの共用変数のうち、前記アクセ
    スを要求しているステーシヨンに関連した共用変
    数が既に表明状態にあるかどうかを検査し、 前記検査された前記第2セツトの共用変数のす
    べてが非表明状態にあると判定されたとき、前記
    アクセスを要求しているステーシヨンにアクセス
    を許容し、 前記第2セツトの共用変数のうち、前記検査に
    おいて既に表明状態にあると判定された共用変数
    が、前記アクセスを要求しているステーシヨンよ
    りも高い優先順位のステーシヨンに対応した共用
    変数であるとき、前記第1セツトの共用変数にお
    ける前記表明を解除する ことを特徴とする分散調停方法。
JP60003411A 1984-04-24 1985-01-14 分散式調停方法 Granted JPS60225970A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/603,276 US4633394A (en) 1984-04-24 1984-04-24 Distributed arbitration for multiple processors
US603276 1990-10-25

Publications (2)

Publication Number Publication Date
JPS60225970A JPS60225970A (ja) 1985-11-11
JPH0210979B2 true JPH0210979B2 (ja) 1990-03-12

Family

ID=24414739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60003411A Granted JPS60225970A (ja) 1984-04-24 1985-01-14 分散式調停方法

Country Status (5)

Country Link
US (1) US4633394A (ja)
EP (1) EP0159592B1 (ja)
JP (1) JPS60225970A (ja)
CA (1) CA1217872A (ja)
DE (1) DE3578513D1 (ja)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796176A (en) * 1985-11-15 1989-01-03 Data General Corporation Interrupt handling in a multiprocessor computing system
US4763122A (en) * 1987-03-18 1988-08-09 International Business Machines Corporation Parallel switching with round robin priority
US4949338A (en) * 1987-04-06 1990-08-14 Racal Data Communications Inc. Arbitration in multiprocessor communication node
US4821265A (en) * 1987-04-06 1989-04-11 Racal Data Communications Inc. Node architecture for communication networks
US5193197A (en) * 1987-09-24 1993-03-09 Digital Equipment Corporation Apparatus and method for distributed dynamic priority arbitration for access to a shared resource
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5038274A (en) * 1987-11-23 1991-08-06 Digital Equipment Corporation Interrupt servicing and command acknowledgement system using distributed arbitration apparatus and shared bus
US4920486A (en) * 1987-11-23 1990-04-24 Digital Equipment Corporation Distributed arbitration apparatus and method for shared bus
US5210871A (en) * 1988-07-15 1993-05-11 The Charles Stark Draper Labroatory, Inc. Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system
US5179669A (en) * 1988-08-22 1993-01-12 At&T Bell Laboratories Multiprocessor interconnection and access arbitration arrangement
US4979099A (en) * 1988-10-25 1990-12-18 Apollo Computer Inc. Quasi-fair arbitration scheme with default owner speedup
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5155854A (en) * 1989-02-03 1992-10-13 Digital Equipment Corporation System for arbitrating communication requests using multi-pass control unit based on availability of system resources
CA2016348C (en) * 1989-05-10 2002-02-05 Kenichi Asano Multiprocessor type time varying image encoding system and image processor
JPH0387958A (ja) * 1989-06-30 1991-04-12 Nec Corp バスロツク制御方式
JPH06101734B2 (ja) * 1989-07-25 1994-12-12 日本電気株式会社 共通バス送信権制御方式
US5101482A (en) * 1989-10-16 1992-03-31 Massachusetts Institute Of Technology Bus-based priority arbitration system with optimum codewords
US5151994A (en) * 1989-11-13 1992-09-29 Hewlett Packard Company Distributed fair arbitration system using separate grant and request lines for providing access to data communication bus
US5131085A (en) * 1989-12-04 1992-07-14 International Business Machines Corporation High performance shared main storage interface
US5072363A (en) * 1989-12-22 1991-12-10 Harris Corporation Multimode resource arbiter providing round robin arbitration or a modified priority arbitration
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
WO1991010957A1 (en) * 1990-01-19 1991-07-25 Codex Corporation Arbitration among multiple users of a shared resource
US5263163A (en) * 1990-01-19 1993-11-16 Codex Corporation Arbitration among multiple users of a shared resource
KR950014373B1 (ko) * 1990-11-02 1995-11-25 니뽄 덴끼 가부시끼 가이샤 인터럽트 제어기
US5144293A (en) * 1990-12-18 1992-09-01 International Business Machines Corporation Serial link communication system with cascaded switches
JP2625589B2 (ja) * 1991-04-22 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・システム
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
WO1993002421A1 (en) * 1991-07-15 1993-02-04 Fizichesky Institut Imeni P.N.Lebedeva Akademii Nauk Sssr Method and device for forming a dynamic priority
US5590288A (en) * 1991-07-30 1996-12-31 Restaurant Technology, Inc. Distributed data processing system and method utilizing peripheral device polling and layered communication software
US5265223A (en) * 1991-08-07 1993-11-23 Hewlett-Packard Company Preservation of priority in computer bus arbitration
DE69223304T2 (de) * 1991-09-27 1998-06-18 Sun Microsystems Inc Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten Bus
US5153455A (en) * 1991-10-07 1992-10-06 Advanced Micro Devices, Inc. Transition-based wired "OR" for VLSI systems
DE69226011T2 (de) * 1991-12-04 1999-02-04 Philips Electronics N.V., Eindhoven Arbiter mit einer gleichmässig verteilten Architektur
JPH05175968A (ja) * 1991-12-20 1993-07-13 Nec Corp 共通アクセス制御装置
US5265212A (en) * 1992-04-01 1993-11-23 Digital Equipment Corporation Sharing of bus access among multiple state machines with minimal wait time and prioritization of like cycle types
US5301283A (en) * 1992-04-16 1994-04-05 Digital Equipment Corporation Dynamic arbitration for system bus control in multiprocessor data processing system
US5321818A (en) * 1992-05-12 1994-06-14 Hughes Aircraft Company System for arbitrating for access on VME bus structures
US5588134A (en) * 1992-09-25 1996-12-24 Amdahl Corporation System for establishing priority among selected tasks based on location of tasks and sequence that the tasks were stored whereas task is always stored in location with the lowest available address
EP0602858A1 (en) * 1992-12-18 1994-06-22 International Business Machines Corporation Apparatus and method for servicing interrupts in a multiprocessor system
US5649206A (en) * 1993-09-07 1997-07-15 Motorola, Inc. Priority arbitration protocol with two resource requester classes and system therefor
US5630056A (en) * 1994-09-20 1997-05-13 Stratus Computer, Inc. Digital data processing methods and apparatus for fault detection and fault tolerance
US5805836A (en) * 1996-12-10 1998-09-08 International Business Machines Corporation Method and apparatus for equalizing grants of a data bus to primary and secondary devices
US5898694A (en) * 1996-12-30 1999-04-27 Cabletron Systems, Inc. Method of round robin bus arbitration
US6094532A (en) 1997-03-25 2000-07-25 Sun Microsystems, Inc. Multiprocessor distributed memory system and board and methods therefor
US6467006B1 (en) * 1999-07-09 2002-10-15 Pmc-Sierra, Inc. Topology-independent priority arbitration for stackable frame switches
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6651125B2 (en) * 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US6886063B1 (en) * 1999-11-10 2005-04-26 Digi International, Inc. Systems, devices, structures, and methods to share resources among entities
US6412002B1 (en) 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6418526B1 (en) 1999-11-15 2002-07-09 Ncr Corporation Method and apparatus for synchronizing nodes in massively parallel systems
US6519697B1 (en) 1999-11-15 2003-02-11 Ncr Corporation Method and apparatus for coordinating the configuration of massively parallel systems
US6745240B1 (en) 1999-11-15 2004-06-01 Ncr Corporation Method and apparatus for configuring massively parallel systems
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
EP1213650A3 (en) * 2000-08-21 2006-08-30 Texas Instruments France Priority arbitration based on current task and MMU
US6948010B2 (en) 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6766479B2 (en) 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US7065672B2 (en) 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US6996750B2 (en) 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
US6845417B2 (en) * 2002-01-09 2005-01-18 Hewlett-Packard Development Company, L.P. Ensuring fairness in a multiprocessor environment using historical abuse recognition in spinlock acquisition
US7353362B2 (en) * 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
US7412588B2 (en) 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
US7499939B2 (en) * 2004-10-18 2009-03-03 International Business Machines Corporation Method for efficiently managing membership in a hierarchical data structure
US8732368B1 (en) * 2005-02-17 2014-05-20 Hewlett-Packard Development Company, L.P. Control system for resource selection between or among conjoined-cores
US9760921B2 (en) * 2008-08-21 2017-09-12 Digital River, Inc. Half-graphical user interface order processing system and method
US9563594B2 (en) 2014-05-30 2017-02-07 International Business Machines Corporation Intercomponent data communication between multiple time zones
US9582442B2 (en) 2014-05-30 2017-02-28 International Business Machines Corporation Intercomponent data communication between different processors
US10275379B2 (en) 2017-02-06 2019-04-30 International Business Machines Corporation Managing starvation in a distributed arbitration scheme

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3543242A (en) * 1967-07-07 1970-11-24 Ibm Multiple level priority system
US3593300A (en) * 1967-11-13 1971-07-13 Ibm Arrangement for automatically selecting units for task executions in data processing systems
US3959775A (en) * 1974-08-05 1976-05-25 Gte Automatic Electric Laboratories Incorporated Multiprocessing system implemented with microprocessors
JPS5837585B2 (ja) * 1975-09-30 1983-08-17 株式会社東芝 ケイサンキソウチ
JPS5812611B2 (ja) * 1975-10-15 1983-03-09 株式会社東芝 デ−タテンソウセイギヨホウシキ
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
US4320455A (en) * 1978-01-09 1982-03-16 Honeywell Information Systems Inc. Queue structure for a data processing system
US4268904A (en) * 1978-02-15 1981-05-19 Tokyo Shibaura Electric Co., Ltd. Interruption control method for multiprocessor system
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4281381A (en) * 1979-05-14 1981-07-28 Bell Telephone Laboratories, Incorporated Distributed first-come first-served bus allocation apparatus
DE3009308A1 (de) * 1980-03-11 1981-10-01 Siemens AG, 1000 Berlin und 8000 München Verfahren und anordnung zum uebertragen von datensignalen
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
US4463445A (en) * 1982-01-07 1984-07-31 Bell Telephone Laboratories, Incorporated Circuitry for allocating access to a demand-shared bus

Also Published As

Publication number Publication date
EP0159592B1 (en) 1990-07-04
DE3578513D1 (de) 1990-08-09
JPS60225970A (ja) 1985-11-11
CA1217872A (en) 1987-02-10
EP0159592A1 (en) 1985-10-30
US4633394A (en) 1986-12-30

Similar Documents

Publication Publication Date Title
JPH0210979B2 (ja)
US7734856B2 (en) Method for operating a plurality of arbiters and arbiter system
US4972313A (en) Bus access control for a multi-host system using successively decremented arbitration delay periods to allocate bus access among the hosts
US5301333A (en) Tree structured variable priority arbitration implementing a round-robin scheduling policy
US4920486A (en) Distributed arbitration apparatus and method for shared bus
US5301283A (en) Dynamic arbitration for system bus control in multiprocessor data processing system
US5623672A (en) Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
US5168570A (en) Method and apparatus for a multiple request toggling priority system
US4385350A (en) Multiprocessor system having distributed priority resolution circuitry
EP0370018B1 (en) Apparatus and method for determining access to a bus
US4468738A (en) Bus access arbitration using unitary arithmetic resolution logic and unique logical addresses of competing processors
JPS63132365A (ja) バス調停制御方式
JPS62189549A (ja) 多重階層レベルマルチプロセツサ装置
WO1988008577A2 (en) Node for servicing interrupt request messages on a pended bus
US6700899B1 (en) Bit slice arbiter
US4896266A (en) Bus activity sequence controller
JPH05197673A (ja) 論理回路
US6745273B1 (en) Automatic deadlock prevention via arbitration switching
CN103069401B (zh) 维持多数据总线平台中事务连贯性的方法、装置以及系统
JPS59148952A (ja) 優先順位回路
JP2538874B2 (ja) 共通バス調停方式
JP2626137B2 (ja) バス制御方式
EP0087266B1 (en) Priority resolver circuit
JPH04250553A (ja) プログラマブルコントローラ
EP0284094B1 (en) Tandem priority resolver