JPH02224052A - バス所有権提供のバス調停方法及びその装置 - Google Patents

バス所有権提供のバス調停方法及びその装置

Info

Publication number
JPH02224052A
JPH02224052A JP1278319A JP27831989A JPH02224052A JP H02224052 A JPH02224052 A JP H02224052A JP 1278319 A JP1278319 A JP 1278319A JP 27831989 A JP27831989 A JP 27831989A JP H02224052 A JPH02224052 A JP H02224052A
Authority
JP
Japan
Prior art keywords
bus
ownership
arbitration
devices
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1278319A
Other languages
English (en)
Inventor
Andrew Milia
アンドリュー・ミリア
Richard G Bahr
リチャード・ジー・バー
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.)
Apollo Computer Inc
Original Assignee
Apollo Computer 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 Apollo Computer Inc filed Critical Apollo Computer Inc
Publication of JPH02224052A publication Critical patent/JPH02224052A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/378Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a parallel poll method

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (発明の分野) 本発明はコンピコ、−タシステムの調停要素に閏12.
特に、システム資源の公平な割り当てを行う調停要素に
関する。
(発明の背景) コンビJ、−タシステムはシステム資源のアクセス及び
1vIO1を求める多狸類の処理ユニ71・を有してい
る。厳密な優先順位割り当て調停要素は必要なアクセス
の低い優先順位要素を除外することがて′きる。従って
、優先順位の割り当ての必要が残り、−・方、他の低い
優先順位の要素の完全な締め出1.が依然としC回避さ
れる。
(発明の詳細な説明) 本発明によれば、装置Aがバスを使用することを必要ど
する場合、装置Aはその要求信号をト張1.7そj2て
、同一サイクル中に、tべでの他の装置の要求f3りを
観察する8他の装置力(そのサイクル中に要求をしない
場合、装置Aは次のす“イクル中そのバスの所存者とな
る。他の装7!lElかもj7も同一・の最初の→サイ
クル中に要求信号を主張する場合、最高の優先順位を持
つ要求装置が次のり〜イクルにバスの所存者となる。低
い優先順位の装置はバスの所有者どしてのより高い漱先
順位のS(置の前のサイクルにすぐ続いてバスの所イj
“名となる。
バスの要求を主張tJl:ハ高の優先順位を持つ装置は
つねにバス所有権を得る。
バスの所有権の最後のサイクル中に、バスの所有者は低
 優先N!Hn  ’AM  属す すべての要求信号
の状態を[、スプップ写真にと91、そj2て、そのス
ナップ写真中(こ補足されたすべての要求が補足される
までその要求で3号を再度主張する、ことはない。
所有者としての装置の最後のサイクル中または引き続く
サイクル中に、装置7Aは別のバスの転送を要求し、そ
!7て、他の装置がそのバスを要求しない鳴合、所有者
はデフオル1−所存者となり、そ1、て、その要求信号
を主張する必要はなくなる。
従って5その要求信号を主張することが要求された場合
よりも前のサイクルでバスにアクセスすることが可能と
なる。
調停装置は、すべての関係する装;4間で同 の完全な
調停機構をどの装置にもti−)るように冗長的に分配
されている。
要約すると、この技術により最少限度の制御信号を使用
12て複数の装置がバスに対し、て公SIlにアクセス
することが可能となり、同時に調停に使用されるサイク
ルが最小になる。
本発明のこれら及び他の特徴は図面に関し2で本発明の
以下の詳細な説明を読む、二)−(、′よりさ八に、1
く埋Mされる。、本発明の一実施例の更に詳州lユニ′
I″t)添(41,”’)記、砂子・q−えf)れる。
付録■はプロセッサのバスのインタフェースの仕様を与
え、 付録■はバス信号の仕様を与え、及び 付録■はプロセッサとバスとの間のインタフェースの更
に構造的な説明を与える。
(実施例) 第1図に示すように、10七ツサ52.54.56及び
メモリユニット66.68はインタフニス要素70.7
2.74.75、′ン6.78を介してバス58に接続
された装置であり、詳しくは本願と同時に出願され、そ
して、言及により本町4iB書に組み込まれた「マルチ
10七ツザインタLE ツク(MULTIPROCES
SOR’1NTERLOCK)Jなる名称のアボル(A
 P OL[、)−11,1−XXにおけるバス通信に
記載されている。まずメモリユニット68がデフオル1
−のバス所有者であると仮定する。
デフォルトの所有者を除くバス58のすべてのインタフ
ェース(B I F)は使用曲にバスを要求しなけり、
ばならない、バス装置あたりバックプレインには1つの
バス要求レベルが存在i゛る。装置〃は2つのクラスに
分目られている。クラスAの装置は厳密な優先順位でバ
スを与えられる。クラスBの装置は公平な調停に参加し
、そして又、デフォルトのバス所有者となることもでき
る。10セツザ52.54.56はクラスBの装置であ
るバスの調停は冗長的であって分散的である。どのバス
のインタフェースもそれ自(/にでバス58へのアクセ
スを得たか否かを判別する。バスの調停はリード線63
の調停禁止13号の主張によって禁止することができる
。バスの現在の所有者のみが調停禁止を主張することが
できる。現在の所有者は意図したバスの転送が多数のサ
イクルを要求する場合にそのようにする。
クラスへの装置68がバスを要求する場合7.−の装置
68はその割り当てられf::要求L−ベル61とΔt
)RINHIBIT  Bラインの両方バスでを主張す
る。BIFが活動バス調停サイクルで八RB  INH
IBIT  Bの主張を検出するど、BIFはクラスへ
の装置に譲るや クラスBの装置、プ1フ七ツサ52.54.56は=一
定の優先順位の割り当てをも41゛j、ている、潜在的
な割り当てはOがら3であり、3は最高の優先順位であ
る。この割り当てはrJ I F内へ走査され、そして
、そのクラスのBの要求の4つの平行バックプレイン(
3号のどれをこの!I−7定の1Dセツザが使用ずべき
がを決定するために使用される。
プロセッサはその割り当゛(レベルを駆動し、ぞ17で
、より高いレベルの要求者〈、:コよる8公平な調整は
要求時の(h−らの要求線を再主張しない、二とに同意
するクラスBの装置によりほぼ行われる7むしろ、クラ
スBの装置はバスの所有権の最終サイクルですべての他
の滑先順位の低いクラスBの要求線を[スナップ写真に
とり」即ぢ記憶する。クラスBの装置は次にバスを放棄
し、そして、すべCのスナップ写真に撮られた要求が満
足されるまで要求線を再主張はしない。クラスBの装置
は他の要求者が、他の要求線の現状を観察することによ
って情報を与えられたか否かを決定する。もしも要求線
の主張が解放される場合、ナービスは行われ、又は完了
される。要求線が依然として主張さil、るが、調停が
可能でありその要求者が膀何者となる場合、ザービスが
期待される。
こiど異なり、バス58がおいている場合、クラス13
の要求者の中の最後の成功要求者はデフオルI・バスの
所有者としても確立される。デフォルトバスの所有者は
他の要求線が主張されないどのサイクルの終りにおいて
もバスを使用することができる。デフォルトバスめ所有
者はその削り当てられ′rS要求線を1−0張する必要
はない。デフオルi・はクラスBの他の装置がバスを得
るよて゛事実−1,残る。
クラスBの装置のバスの所有者はクラスへの上置に)、
って妨げられる可能性がある。クラスAの装置がバスの
制御を行う場合、曲者の所有者でありなりラスBの装置
はバスか再び空くまで待つ。
クラスBy)装置は次にバスの所有権を再利用する。
則ち、クラスBの装置は調停が可能どなったが。
ラインの要求がなされないサイクルに続くサイクルで所
有権を再び取る。クラスBの他の装置がバスが空く前に
バス針得ろ場合、デフ1−ル)・バスの所f権は移転さ
れる。
BIFが最初にバス要求線を主張する場合、BIFはタ
イマー70を始動ずろ。バスが得られる前にタイマー時
間が経過すると、バス獲得の中断が起こる。バスの中断
期間は約3.2ミリ秒である。#Jしも中断が起こると
、システムは岐壊されたと仮定され、ぞして、クロック
(図示せず)の凍結要求がなされる。
タイマー70は要求が達成され又は失敗したと確認され
るまでは停止されない。従って、タイマは装置が継続的
に空かない場合に設定時間が切れる。TBが無効にrる
ような放送転送は肯定応答のライン状態にかかわらずタ
イマーを停止させる。この同じタイマー70は読取りデ
ータの返還の監視のなめ再び利用される7 第2図に示ずよっに、B X F2Oの内部には複数の
競合する局部要求者が存在する。即ち、ブタキャラジノ
、82の読み取り、データキャッシュ82の書き込みお
よび命令キャッジ、284の読取りである、書き込み待
ち行列の大きさの限界までいかなる数のデータキャッシ
ュの書き込みも通報され、ぞして、バスでの転送を待つ
ことができる。
読み取り要求源の各々からは単一の読み取り、即ち、デ
ータキャッシュの読み取り及び命令キャッジ1の読み取
りのみを知らせることができる。
般的にデータキャッジJ、の読み取りは命令キャッジj
2の読み取りより高い優先順位を与えられる6まな、命
令キャッジ、Lの読み取りはデータキャッシュの読み取
りJ:りも高い優先順位を17−えられる。
しかしながら、次の例外が存在する: 嘉き込みデータの待ち行列が一杯の場合、デタキャγシ
ヱの書き込みは命令キャッシュミスよりも高い優先順位
を与えられ、 データキャッシュミスが前の待ぢ行列の書き込みとアド
レスで競合する場合、データキャッシュ、の書き込みは
データ及び命令のキャッシュミスの両方よりも高い優先
順位をり−えられる、書き込みおよび解放の待ち行列が
ある場合2データキヤツシユの書き込みはデータ及び命
令のキャッシュミスの両方よりも高い優先順位を15え
られ、 記憶できないメモリ場所からのデータのキャッシュミス
が知らさノ]る場合、データのキ・【ツシコ。
書き込みはγ−タ及び命令のキャッシュミスの両方より
も高い優先順位をす、;Cられ、データのキャッシュミ
スとロックが知らされろ場合データのキャッシュ書き込
みはデータと命令のキャッジ、1読取りよりも高い優先
順位を与えられ、 f−夕のAヤッシュミスと解放が知らされる場合、デー
タの代ヤッシュ々き込みはデータ及び命令のキャッシュ
読み取りの両方よりも高い優先順位を与え?、れ5 書き込みバッファにtbの無効の待ち行列がある場合、
データのギャッシ:L書き込みは命令及びデータのキャ
ッジ又ミスの両方よりも高い優先順位を与えられる。
読取りデ・−夕の返還要求の第4の源それ自体はすべて
の他の送信器よりも高い優先順位を与えられる。
BKFは、バスで、1つおきのバスサイクルと同程度に
Lげ1,7ばデータキャッシュから続く要求を発する。
これはプロセッサ間書き込み順位及び1つのプロセッサ
における読み取り一書き込み順序を保証するために要求
される。拒否信号に関連するシステムバスのプロトコル
のさらなる詳細は本願ど同時に出願きれ、言及により本
願明細書に組み込まれた[パイプラインコンピュータシ
スデム ハビング ライト オーダー リザベーシコン
(P i P F、 I、INE  COMPUTER
,SYSTEM  Il八へING  WRITE  
ORD[シR!’RESAVATION)Jなる名称の
アボル(APOLL)−113XXに与えられている。
命令キャッシュミスの要求は1つおきの→ノ゛イクルに
限定されるものではない。ロード及びロック、ロード及
び解放、及び記憶及び解放の場合に、続く要求は前の要
求のバスの肯定応答の成功が受信されるまで発せられな
い。
バスインタフェース(BIF)はロードのi″jツ夕、
ロードの解放及び記憶解放命令を記憶管理ユニット(M
MU)8−6から受けるやロードのロックがうまく完了
すると、そのプロセッサはこのプロセッサが明確にロッ
クを解放、または、誤りが生じるまでバスロックの保持
を確信することができる。−度に1つのプロセッサのみ
がバスロックを保持することができ、そして、多数プロ
セッサの環境において重要な符号部分の構成を可能にす
る。さらなる詳細は言及により本願に組み込まれたアボ
ル(APOLL)〜IIIXXに与えられている。
BIFはロードのロックデータのキャッシュミスが成功
裡に転送され、そして、バスで肯定応答をされたときに
のみバスロックを確保する。さらに詳しく述べると、バ
スIニアツクを求めるデータキャッシュミスがまず知ら
される。この要求はすべての前の待ち行列の書き込みよ
り前に行われる。
ロックの要求がつぎに受けられる場合、外部バスのロッ
ク信号の現状が調べられる。ロックはすでに別の117
セツサにより主張されている場合、調停は守られる。バ
スロックが利用可能の場合1、調停が試みられる。続い
て、BIFがバスをアクセスするまえにバスロック信号
が主張される場合、BIFはさらに調停を行うのを停止
する。バスが最終的に確保される場合、ARB  IN
HIBITA及びARB  INHINIT  B及び
ロック信号は同時に主張される。ARB  I、NHI
BIT  AとARB  INHIBIT  Bは3サ
イクルの間主張されたままである。この3サイクルはす
べての他のバス・インタフェースがロック信号が主張さ
ねたことを知り、そして、それらもバスロックの確保を
はかる場合に、調停をやめるに十分な時間である。3サ
イクルの終りに、ロックするBIFは肯定応答信号の状
態を調査もする。成功裡の肯定応答以外のものが検出さ
れると、バスロックは直ちに解放される。もしも解放さ
れると、ロック信号は肯定応答に続くサイクルの終りに
主張を解かノlる。
BIFはロードの解放または記憶装置の解放が成功裡に
発せられ及び肯定応答されたときにバスのロックを解放
する。あるいは又、ロックは局部プロセッサにおける誤
りが生じたときに解放される1局部プロセッサの誤りは
プロセッサl−ラップを生じなと仮定され、そして、そ
のような事実を示す信号1〜ラツプの発生が使用されて
無条件にバスのロックを解放する。さらに詳しく述べる
と、まず、バスのロックを解放しようとするデータキャ
ッシュの読み取りまたは書き込みが知らされる。
この要求は前に待ち行列を形成したすべての古き込みよ
りも前に行われる。3サイクルの終りにロックするBI
Fi、を肯定応答信号の状fぶを調査もする。成功の肯
定応答意外のものが検出される場合、バスのロックは保
持される。そうでない場合は、ロック信号は肯定応答に
続くサイクルの終りに解放される。
ロックの要求が以下に述べるBIFにより拒否されると
、ロック信号72とARB  INHIITIIT  
A及びARB  INHIBIT  B63が直ちに解
放される。同様に、解放要求がBIFにより拒否される
と、ロックは保持されていれば。
そのまま保持される。
1つのNOPのみまたは異質のサイクルだけ離れたバス
サイクルにおいて2つの連続するバスアドレス転送をB
IB?により発生してもよい、第1の要求が使用中なる
応答を受けると、この応答は第2の要求が送られたのち
にのみ受信される。この場合、リード線65でのバス拒
否信号は直ちに主張される。この拒否信号はすでに受は
入れらノ1、た要求を無効にするものとスレーブにより
解釈される、この拒絶信号の使用によりバスの転送順序
の保持は確保される。これが特に重要なのは、第2の要
求が、第1の要求により書かれつつあるのと11じデー
タに対する読み取りのときである。拒否が主張されると
、第2の要求に対する肯定応答は無視さノする。拒否が
主張されると、バスのロッキングのようなすべてのトラ
ンザクション側の効果は生じない。
1’3IFがすでにバスロックを所有しているときにP
MAPRについてM M IJがバスロックを要求する
ことは可能である。この理由で、第2の口ドのロック要
求は受は入れられる。もしも2つのバスロックの要求が
受は人りられている場合、ロックが実際に解放される前
に2つのバスの解放要求が続く必要がある。かくして、
本発明の一実施例によれば、BIFはバスロック要求を
2レベルだけネストする1、 BIFはバスロックがまず得られたときにタイマーを始
動するウタイ”ン−はBIFがバスロックを維持するか
ぎり動作のままであるやロックが解放される前にタイマ
ーの設定時間が経過すると、ロックのタイムアラ!−)
ラップが知らされる9タイマの期間は約200マイクロ
秒である。タイムアウトトラップが発生すると、対応す
るレジスタ(図示せず)はその事実を示す、保持された
ロックが解放される前に第2のロック設定要求が処理さ
れると、時間はりセフ1−されない、これにより第2の
要求に対するいくぶん短いタイムアラ1−が生じる。解
放要求がバスで転送されつつある場合、BIFは、転送
サイクルを含む少なくとも5つのサイクルの間断しいロ
ック要求について調停を中止する。この遅れにより、同
一のBIFによるロックの解放とその再獲得との間の2
サイクルの遅れがつねに存在するということが保証され
る。
BIFは使用中なる応答を受けるどの要求をも再度試み
る。この再度の試みはバスのタイムアウトが終るまで続
く。アドレスの転送が使用中なる応答を受けると、要求
は再5度の試みの場合のように記される。どの1回の再
度の試みにも3つ位の・要求が存在し得る。
書き込み待ち行列のIき込み順序の保証と協力する状態
での拒否の使用により、1・つの10セツサの書き込み
順序は第2のプロ(−ツザにより分るよう&7つねに保
存されるということが保証されるゆこilによりバスロ
ッキングの必要なしに交互の多重プロセッサの同期が可
能となる、 第3図(ご示り、j−、ように、バスインタフェースの
調停およびロック制師ブロックはシステムバス58とプ
ロセッサの局部要求発生論理回路73の両方C付着して
いる。局部要求発生論理回路73により発生または受イ
エされる信号力簡単な用語は次の通りである: NEED  LOCKはサービスされると解されかつぎ
のプロセッサがバスロックの獲得を要求するということ
を確認するために主張さ〕1.る。
CONFIRM  LOCK  HELDはちょうど生
じた10七ツサの「読み取りおよびロック」がバスで適
切に肯定応答されたということを確認するために主張さ
れる。この信号は調停が成功してもバス動作がうまく完
成!2ないことがある状態を取りt及う。
RE L EA S E  L OCKはプロセッサが
バス+7ツクを放棄しl::いときに上張さズ1−る。
プロセッサはr読み取りおよび解放1動作または「書き
込みおよび解放」動作がバスて′適切に11定応答され
・なときにそのようにする、プロセ・γす′は17ツク
保持期間のタイムアウトのような局部的な誤りが存在し
た場合にそのように選択するごと6できる。
AR)3WINはプロセッサがバス58での転送権利を
午えられたときCバス調停論理回路75により主張され
る。
MYXFERはアドレスまたはデータ転送が行われてい
るときにバスのインタフェースアドレス/データ転送論
理回路78により主張される。
NEED  BUsは継続中のおよび放置プロセッサの
読み取りおよび書き込みが存在するときに10七ツ(り
″により主張される。
WILL  NEED  Busは次のサイクルに[係
属読み取りおよび放置の読み取りまたは書き込みが「存
在」するようなときにプロセッサにより主張される。サ
ービスに対する必要性について前もって警告することに
よりバス要求信号の早期の主張が可能となる。
MLILTICYCINHIBITはバスの持続的な割
り込みのない使用状態を要求する要求がなされていると
きにアドレス/データ転送論理回路′78により主張さ
れる。
又第3図に示すように、ロッキング及び調停提案に関係
するいくつかのバス制t31信号が存在する。
その用語は次の通り: LOCK  R,EQUEST−(62)はバスロック
に対するアクセスを望む場合に主張され、そして、公正
さのためにロックの獲得の妨害がない場合に10セツザ
により主張される。
LOCK  HELD−(64)はプロセッサがバスロ
ックを保持するときにこのプロセッサにより主張される
BH3−1BR2−1BRI−及びBRO〜(61)は
4つのプロセッサに関連する4つのバス要求線である。
ARB  INHIBIT  l3−(63B)は「D
Jレベルのバス要求者がバスについて調停を禁じられる
べきときに主張される。
ARB  INHIBIT  A−(63A)はr A
 Jレベルのバス要求者がバスについての調停を禁止さ
れるべきときに主張される。
信号[、OCK  ARB  ENABはプロセッサ(
52)の要求を進めることができるということを示すた
めにロック獲得及び要求ブロック202(72)により
主張されてバス調停ブロック〈75)に対して駆動され
る。
ロック調停要求ブロックはさらに詳しく第4図に示しで
ある。ここには4個の状態素子250.252.254
及び256が示してあり、これらはバス制御信号LOC
K  REQ[JEST−及び1、、OCK  )IE
LD−を駆動しかつ解釈する。プロセッサがバスロック
を要求するときには、信号NEED  LOCKを主張
することによってその必要を示ず、NEED  LOC
Kにより状態素子250はゲート258の状態素子25
2に・よりそのようにすることを禁止されない場合には
セットされる。250がセットされると、ゲート260
はバックプレインでオープンコレクタ信号L OCK 
 REQUEST−を駆動する、リクエストが適当なと
きに引っ込められるようにプロセッサがバスに対するア
クセスを認められたときにNF、ED  LOCKの主
張が引っ込められると仮定される。LOCK  REQ
UEST−が割り込みなしに主張されてバスロックの獲
得における公正さに基礎を提供する時間期間にこのプロ
セッサが一度バスロックを保持した場合には状態素子2
52はLOCK  REQUEST−の主張を禁止する
LOCK  DEFERはこのプロセッサがLOCK 
 REQUE’ST−信号を主張することを禁止し、及
び5.二のプロセッサが次のバラグラフで記載するよう
にバスを獲得することを禁止する6252に記録されて
いるこのLOCK  DEFER状態はCONFIRM
  LOCK〜HELD信号がゲー1−262に提供さ
れるときに設定される。
ゲー1〜262は、状態素子254によるL OCKH
ELDのこのプロセッサによる主張の期間及び(又は)
”外部LOCK  REQLJEST−8IG N A
 L、の割り込みなしの主張の期間にL OCKDEF
ER状態を維持もする。オーブンコレクタの信号l、O
CK  HELD−は状態素子254がセットされると
きはいつもゲー1−264により駆動される。状R素子
254はプロセッサがバスを与えられるとき、即ち、A
RB  WINが主張されるときにセットされ、そして
、プロセッサはバスロックを必要とする、即ち、NEE
D  LOCKが主張される。ゲート266はこれを決
定する。ゲート266はRELEASE  LOCK信
号がプロセッサにより提供されるまでロック状態の保持
を続ける。状態素子256はバスが別のプロセッサによ
るアクセスのためにロックされるときはつねにセットさ
れる。ゲート268はL OCK  HOLD信号が主
張されるということを知ることによってこの状態を判別
するが、局部ロック保持の状態素子254はセットされ
ない。256がセットされるど、ロック獲得プロセッサ
の読み取りが進行するのを許可されない、この決定はゲ
−I−270と272の組み合わせにより行われ、そし
て、信号LOCK  ARB  ENABでバス調停論
理回路に送られる。LOCK  ARB  ENABは
該プロセッサがバスロックを必要としない、即ち、NE
ED  LOCKの主張が解放されるときにつねに設定
される。あるいは又、LOCK  ARB  ENAB
はバスがロックされないとき、即ち、状態素子256が
セラI−されないときに、及び、ゲー1−272によっ
て2つの条件のいずれかが支配的となるときに設定され
る。その第1の条件は、単に、このプロセッサがバスロ
ックを常に保持しているということ、即ち、状態素子2
54がセットされているということであり、第2の条件
は事実上ロック獲得の公正さに対する服従が存在しない
、即ち、状態素子252により駆動されるL OCK 
 D E F E Rが主張されないということである
バス調停要求ブロックはさらに詳しく第5図に示しであ
る。簡単化のために、このブロックはプロセッサが永久
的にバス要求レベル3に固定されているかのごとく示し
である。実際の構成では、付属論理回路が存在してプロ
セッサが任意のレベルで要求することを可能にし、そし
て、この付属論理回路は第5図の詳細に従って提供する
ことができる。又、現在の構成は4つの要求者のみを支
持するが、この数には基本的な限定は存在せず、より多
い、またはより少ない数が適用できる。以下の説明では
、「Bレベルの要求者」と「プロセッサ(52,54,
56)」は同意語であると考えるべきである。しかしな
がら、他の構成では、それは又そのようである必要はな
い。
第5図では、5つの状態素子、300.302.304
.406,308が存在し、これらは5つのバスfi’
l Hra 号61  B R3−113R1−1B 
R。
1−1BRO及びARB  INHIBIT  Bを駆
動し、かつ解釈する。状態素子300はバス要求フリッ
プフロップである。状態素子302.304.306は
このプロセッサの公正譲歩アルゴリズムで使用される他
のプロセッサバス要求信号の状態をスナップ写真にとる
。状態素子308はこのプロセッサがバスのデフォルト
所有者であるかどうかの記録である。
ゲート320.322.324.326はその4つのプ
ロセッサの1つがつぎのサイクルでバスを確保できるか
どうかを判別する。BROWINは、すべてのより高い
優先順位の要求(BH3゜BH2,BRI)が主張され
ない場合、そして、Bレベルの要求調停が禁止されない
場合に、即ち、ARB  INHIBIT  Bが主張
されない場合に、ゲート326により主張される。同様
に、BRI  WINはゲート324により主張され、
BR2工W、INはゲート322により主張され、そし
て、BH3WINはゲ〜l−320により主張される。
要求レベル3に関連するプロセッサはARB  INH
IBIT  Bが主張される場合にバスの獲得に失敗す
ることが有り得るだけである。
ARB INHIBIT  B=は2つの理由の1つで
、二のプロセッサよた1ま他のプロセッサによりバスで
主張される。その第1の理由は現在の転送が多数の割り
込みなしのパスサイクルを必要とするということである
。その場合、A RB  I N t(IBITB−及
びARB  INI(IBI  Aの両方がアドレス/
データ転送ブロック78により駆動されてバスのなめの
すべての新しい調停を中断する。第2の理由は、「A」
のレベルの要求者がそのバスへのアクセスを望というこ
とである。
もしもどれかのr A Jのレベルの装置がそのバスを
要求する場合、そのバスインターフェースはすべてのr
9.レベルの装置の調停を中断するために信号ARB 
 INHIBIT  B−をも駆動しなければならない
、この様にして r A Jレベルの装置はrB、レベ
ルの装置よりも全体的に高い優先順位を保証される。
バス要求フリップフロップ300は、プロセッサがその
バスを使用しないとき、即ち、WILLNEED  B
USが主張されたとき、そして、プロセッサはバスの使
用を正に確保していなかったとき、即ち、ARB  W
INが主張されなかったとき、及び、プロセッサが他の
3つのプロセッサのどれにも譲歩しないときにセットさ
れる。このイベントの組み合わぜはゲート310により
決定される。フリップフロラ1300が一度セットされ
ると、ゲ−)312はバス信号BR3−を無条件で駆動
して、他のプロセッサが調停を同様に決定することがで
きるようにする。バス要求の譲歩は、ゲート314.3
16又は318により駆動される3つの信号のどれかが
主張された場合に事実」ユ存在する。概念的には、これ
らのゲーl−が主張されるのは、関連するバス要求信号
が現在主張されて、要求者が次にザービスを受けない場
合、又は、このプロセッサがバスで!&後に転送をし、
そして1.そのとき以来、許可されたす〜ビスが存在し
ないときに関連するバス要求信号が主張された場合であ
る。特に、例えば、ゲー1−314が主張されるのは次
のサイクルにはBR2が主張されてBR2がバスを認め
られない、即ち、BR2WINが主張されず、2つの条
件の1つが支配的である場合である。その第1の条件は
現在のバスサイクルがこのプロセッサにより所有されて
いること、即ち、MYXFERが主張されているという
ことである。その第2の条件は状態素子302がセット
されてるということである。状態素子302がセットさ
iするのは、主張されたBR2と主張されないBR2W
INの条件がごのプロセッサによる最後のバス動イt=
のときに真であった場合である。この条件の組み合わせ
により、他のすべてのプロセッサのバス要求がそのよう
にする機会を持たなければプロセッサがバスを連続的に
2度再yJ得することがないということが保証される。
状態素子308、CtJRRENT  0WNERがセ
ットされるのは、このプロセッサがバスで転送したくな
いものであり、そして、この状態素子308が他のrB
、のレベルの要求者がこのバスを獲得するよて′セラ1
−のままであるときである。
特に、ゲート328がすでにセラ1−されている場合に
は、又は、現在の転送が(ゲート\333により決定さ
れる)このプ[7セーy ? 4こI4する場合、そし
て、他のプロセッサが次のサイクルでバスを獲得しない
場合に状態素子308のセットが可能となる。他のプロ
セッサはARB  INHIBITBが主張されている
ため又は他のプロセッサがバスを要求しないためのいず
れかの理由でバスを獲得することができない、これらの
事象はゲート330で組み合わされ、ゲー=ト332は
他のrB。
レベルの要求が存在しないことを検出する。
最後に、ARB  WINが主張されるのはこのプロセ
ッサが次のサイクルでバスに対するアクセスを認められ
た場合である。ゲート336がその信号を駆動するのは
ロックの獲得が存在し、そして、要求ブロック74と7
2がLOCK  ARBENAB信号と駆動し、そして
2プロセツサが別な具合にバスを与えられる場合である
。この条件によりこのブロセッ→J゛がロックされたバ
スへのアクセスをしないということが保証されるのはプ
ロセッサがロックの獲得を要求する場合である。
ゲート334はプロセッサが別な具合にバスを与えらh
f、)かどうかに決定する。プロセッサは2つの理由で
そのようにバスを与えられることができる。まず第1の
場合には、プロセッサがバスをlj−えられるものは、
バスが必要とされている( N IF。
ED  Bus)場合にバスを与えられ、関連するバス
要求線が主張され(BR,3)、及びバスノ優先順位化
論理回路がより高い優先順位の要求者(BR3WIN>
が存在しないということを述べる場合である。第2の場
合は、デフォルトの所有権の状態である。また、バスが
必要とされなければならない(NEED  Bus)場
合、AI’(111N llI B I T  Bは存
在してはならない、事実上、このプロセッサはゲート3
28によりすでに決定されているデフォルトの所有者で
ある。ゲート334はこれらの事象のすべてを組み合わ
せる。
【図面の簡単な説明】
第1図は本発明のコンピュータシステムの実施例のブロ
ック線図であり、 第2図はバスインタフェースユニッi−の−実施例のブ
ロック線図であり、 第3図はそのバスインタフェースの口・ツク獲得バス調
停ブロックの1実施例の相互接続のプロ・ツク線図であ
り、 第4図は第1図と第2図の実施例の口・ツク獲得ブロッ
ク74とロック要求プロ・ツク72のさら番こ。 詳細を示す略図であり、及び 第5図は第1図と第2図の実施例のノくスインタフエー
スのバス調停プロ・ツク75のさらに詳細を示す。 手続ネflfflミ書(方式) 平成2年3月2日 1、事件の表示 平成1年特許願第278319号 2、発明の名称 バス所有権提供のバス調停方法及びそのVtN3、補正
をする者 事件との関係  特許出願人 名 称 アポ口・コンピューター・インコーホレーテッ
ド4゜代理人 住 所  東京都港区南青山−丁目1番1号5゜ 6゜ 補正命令の日付() (発送日)平成 2年 2月27日 補正の対染 願書

Claims (7)

    【特許請求の範囲】
  1. (1)バス所有権の互いに異なる優先順位を持つ複数の
    接続された装置のうちの選択されたものによってバス所
    有権を提供するバス調停方法において、特定のサイクル
    で第1の装置によりバス要求信号を発生し、 前記特定サイクルで第2の装置によりバス要求信号を発
    生し、 前記第1と第2の装置のうちのより高い優先順位を持つ
    ものに対して前記バスの所有権を認め、より高い優先順
    位の装置のバス所有権の最後の所有権サイクルにおいて
    より低い優先順位の装置に属するバス要求信号を表す信
    号を記憶し、前記より高い優先順位の装置の最後のサイ
    クルの終りにおいて前記第1と第2の装置の他方に対し
    て前記バスの所有権を与え、及び、 バス要求信号を表す前記記憶された信号に対応するバス
    の要求が前記バスの所有権を受けて完了するまで前記第
    1と第2の装置のうちのより高い優先権を持つものによ
    って(続く)バス要求信号の発生を取り止めることを特
    徴とするバス所有権を提供するバス調停方法。
  2. (2)バス所有権を要求する複数サイクルの間、現在の
    所有者による調停禁止信号の発生段階をさらに有し、こ
    の複数サイクルの間、他の装置によるバス要求信号の発
    生が禁止されることを特徴とする請求項(1)記載のバ
    ス所有権を提供するバス調停方法。
  3. (3)前記バスの最後の所有者に対してデフォルト所有
    権を認める段階をさらに有することを特徴とする請求項
    (1)記載のバス所有権を提供するバス調停方法。
  4. (4)互いに異なるバス所有権優先順位を持つ複数のア
    クセス要求装置の1つによるバス所有権の調停装置にお
    いて、 第1の装置のバス要求信号を提供する手段、第2の装置
    のバス要求信号を提供する手段、より高い優先順位を持
    つ前記第1と第2の装置のうちの一方に前記バスの所有
    権を求める手段、より高い優先順位の装置のバスの所有
    権の最後の所有権サイクルにおいてより低い優先順位の
    装置のバス要求信号を記憶する手段、 前記より高い優先順位の装置の最後のサイクルの終りに
    おいて前記第1と第2の装置の他方に対して前記バスの
    所有権を与える手段、及び、低い優先順位の前記記憶さ
    れたバス要求信号に対応するバスの要求が前記バスの所
    有権を受けて完了するまで前記第1と第2の装置のうち
    のより高い優先順位を持つものによってバス要求信号の
    発生を取り止める手段を有することを特徴とするバス所
    有権の調停装置。
  5. (5)前記より高い優先順位の装置は、この装置がバス
    所有権を有している間、より低い優先順位の装置による
    バス要求信号の発生を禁止する調停禁止信号を発生する
    手段を有していることを特徴とする請求項(4)記載の
    バス所有権の調停装置。
  6. (6)前記複数の装置の各々が前記バスの所有権を認め
    る手段、調停禁止信号を記憶するための手段、及び調停
    禁止信号を発生するための手段を有していることを特徴
    とする請求項(5)記載のバス所有権の調停装置。
  7. (7)所有権を認める前記手段は、所有権が、続くサイ
    クルで前記バスのデフォルト所有者として認められた最
    後の要求装置を確立することを特徴とする請求項(6)
    記載のバス所有権の調停装置。
JP1278319A 1988-10-25 1989-10-25 バス所有権提供のバス調停方法及びその装置 Pending JPH02224052A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/262,574 US4979099A (en) 1988-10-25 1988-10-25 Quasi-fair arbitration scheme with default owner speedup
US262574 1994-06-20

Publications (1)

Publication Number Publication Date
JPH02224052A true JPH02224052A (ja) 1990-09-06

Family

ID=22998086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1278319A Pending JPH02224052A (ja) 1988-10-25 1989-10-25 バス所有権提供のバス調停方法及びその装置

Country Status (3)

Country Link
US (1) US4979099A (ja)
EP (1) EP0366434A3 (ja)
JP (1) JPH02224052A (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5168568A (en) * 1989-02-06 1992-12-01 Compaq Computer Corporation Delaying arbitration of bus access in digital computers
JPH0387958A (ja) * 1989-06-30 1991-04-12 Nec Corp バスロツク制御方式
US5283886A (en) * 1989-08-11 1994-02-01 Hitachi, Ltd. Multiprocessor cache system having three states for generating invalidating signals upon write accesses
US5168570A (en) * 1989-12-29 1992-12-01 Supercomputer Systems Limited Partnership Method and apparatus for a multiple request toggling priority system
US5276847A (en) * 1990-02-14 1994-01-04 Intel Corporation Method for locking and unlocking a computer address
US5265257A (en) * 1990-06-22 1993-11-23 Digital Equipment Corporation Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines
DE4028317B4 (de) * 1990-09-06 2004-12-02 Siemens Ag Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems
US5546587A (en) * 1991-05-30 1996-08-13 Tandem Computers Incorporated Decentralized bus arbitration system which continues to assert bus request signal to preclude other from asserting bus request signal until information transfer on the bus has been completed
US5371863A (en) * 1991-05-30 1994-12-06 Tandem Computers Incorporated High speed processor bus extension
US5265223A (en) * 1991-08-07 1993-11-23 Hewlett-Packard Company Preservation of priority in computer bus arbitration
US5369748A (en) * 1991-08-23 1994-11-29 Nexgen Microsystems Bus arbitration in a dual-bus architecture where one bus has relatively high latency
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
JPH06161873A (ja) * 1992-11-27 1994-06-10 Fujitsu Ltd 主記憶に対する複数のアクセスポイントのハングアップ処理方式
US5838991A (en) * 1994-12-29 1998-11-17 International Business Machines Corporation Preemptable idle time activities for constant data delivery by determining whether initiating a host command will conflict with an idle time activity being executed
US5710891A (en) * 1995-03-31 1998-01-20 Sun Microsystems, Inc. Pipelined distributed bus arbitration system
US5831985A (en) * 1995-11-09 1998-11-03 Emc Corporation Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system
US7676621B2 (en) 2003-09-12 2010-03-09 Hewlett-Packard Development Company, L.P. Communications bus transceiver
US10496577B2 (en) 2017-02-09 2019-12-03 Hewlett Packard Enterprise Development Lp Distribution of master device tasks among bus queues
US10628057B2 (en) * 2017-03-28 2020-04-21 Hewlett Packard Enterprise Development Lp Capability based locking and access of shared persistent memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3995258A (en) * 1975-06-30 1976-11-30 Honeywell Information Systems, Inc. Data processing system having a data integrity technique
US4449183A (en) * 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4554628A (en) * 1981-08-17 1985-11-19 Burroughs Corporation System in which multiple devices have a circuit that bids with a fixed priority, stores all losing bids if its bid wins, and doesn't bid again until all stored bids win
US4536839A (en) * 1982-03-30 1985-08-20 Mai Basic Four, Inc. Memory request arbitrator
EP0124806B1 (de) * 1983-05-06 1987-09-30 BBC Brown Boveri AG Vergabeschaltung für Parallelbusse von Datenverarbeitungsanlagen
US4627018A (en) * 1983-09-08 1986-12-02 Sperry Corporation Priority requestor accelerator
US4633394A (en) * 1984-04-24 1986-12-30 International Business Machines Corp. Distributed arbitration for multiple processors
US4908749A (en) * 1985-11-15 1990-03-13 Data General Corporation System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal

Also Published As

Publication number Publication date
US4979099A (en) 1990-12-18
EP0366434A2 (en) 1990-05-02
EP0366434A3 (en) 1991-08-14

Similar Documents

Publication Publication Date Title
JPH02224052A (ja) バス所有権提供のバス調停方法及びその装置
US5893151A (en) Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US6691194B1 (en) Selective association of lock override procedures with queued multimodal lock
US6718448B1 (en) Queued locking of a shared resource using multimodal lock types
US6757769B1 (en) Cooperative lock override procedure
US6681283B1 (en) Coherent data apparatus for an on-chip split transaction system bus
US5611058A (en) System and method for transferring information between multiple buses
US5996036A (en) Bus transaction reordering in a computer system having unordered slaves
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
US6725307B1 (en) Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system
EP0676699A2 (en) Method of managing resources shared by multiple processing units
CN101566977B (zh) 处理器访问共享数据的方法、装置及系统
JPS6231465A (ja) 複数の緊密結合プロセツサを採用したマルチプロセツサ・コンピユ−タ・システム
EP0344216A1 (en) METHOD AND ARRANGEMENT FOR IMPLEMENTING MULTI-LOCKING INDICATORS IN A MULTIPROCESSOR DATA PROCESSING SYSTEM.
JPH05216811A (ja) 二バス間のトランザクションを制御する再試行方法
US5930485A (en) Deadlock avoidance in a computer system having unordered slaves
JP2015530679A (ja) 高効率アトミック演算を使用した方法および装置
US6604159B1 (en) Data release to reduce latency in on-chip system bus
US6609178B1 (en) Selective validation for queued multimodal locking services
USRE44688E1 (en) Bus transaction reordering in a computer system having unordered slaves
CN101546275A (zh) 具有硬件信号量模块的多处理器系统及其实现方法
US20040267992A1 (en) Look ahead split release for a data bus
US5778441A (en) Method and apparatus for accessing split lock variables in a computer system
US6457085B1 (en) Method and system for data bus latency reduction using transfer size prediction for split bus designs
US6542949B1 (en) Method and apparatus for increased performance of a parked data bus in the non-parked direction