JPH08297632A - 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置 - Google Patents

分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置

Info

Publication number
JPH08297632A
JPH08297632A JP8067667A JP6766796A JPH08297632A JP H08297632 A JPH08297632 A JP H08297632A JP 8067667 A JP8067667 A JP 8067667A JP 6766796 A JP6766796 A JP 6766796A JP H08297632 A JPH08297632 A JP H08297632A
Authority
JP
Japan
Prior art keywords
master
bus
transaction
slave
signal
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
JP8067667A
Other languages
English (en)
Inventor
Bechara F Boury
ベチャラ・エフ・ブーリィ
Charles E Kuhlmann
チャールズ・イー・クールマン
Terence J Lohman
テレンス・ジェイ・ローマン
Neil W Songer
ネイル・ダブリュー・ソンガー
Ronald E Valli
ロナルド・イー・バリー
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 JPH08297632A publication Critical patent/JPH08297632A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

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

Abstract

(57)【要約】 【課題】 分割トランザクション・バス・プロトコルを
可能にするバスに対するアービトレーション方法及び装
置を提供する。 【解決手段】 スレーブがトランザクションを完了する
ためにレディでないときは、マスタ・レジスタ内のマス
ク・ビットをセットするマスタ信号をアサートする。マ
スタ・レジスタ内にマスク・ビットがセットされている
間は、要求マスタをバスから強制的に切り離して再アー
ビトレーションを行うのを阻止する。前記スレーブは、
前記トランザクションを完了するためにレディになる
と、マスタ解放信号をアサートして、シフト・レジスタ
内のマスク・ビットをリセットさせる。次いで、要求マ
スタは前記トランザクションを完了するためにバスの使
用に対するアービトレーションが許容される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バスを介して情報
を転送することに関し、特にバスに接続された複数のマ
スタ及び複数のスレーブの間でバスの使用に関してアー
ビトレーションを行うアービトレーション方法及び装置
に関する。
【0002】
【従来の技術】パーソナル・コンピュータでは、このバ
スが適正に設計され、かつ使用されていないと、入出力
(I/O)バスの使用が制限要因となり得る。いくつかのI/O
バス、例えばインダストリ・スタンダード・アーキテク
チャ(ISA)バスは、拡張ビデオ及び直接アクセス・スト
ーレジ装置( DASD )のアクセスをあまり必要としないシ
ングル・ユーザのパーソナル・コンピュータに適してい
る。しかし、マルチ・タスク・オペレーティング・シス
テム及びマルチ・プロセッサ(MP)ハードウエアの到来に
より、ビデオ及びDASDサブシステムは、利用可能なI/O
バス及びメモリ・サブシステムの帯域幅を占有する。こ
れは全体としてシステムの性能を大幅に制限する恐れが
ある。この問題を解決する試みには、マイクロ・チャネ
ル及びEISAバスのように、新しい高速のI/Oバスの使用
が含まれる。部分的に成功しても、更に高速のバスが必
要なことは明らかとなった。これら高速のバスは利用可
能になった高速I/O装置(バス・マスタ)により必要と
されていた。従来のバスは、特に多数のマスタ(例え
ば、DASD、LAN、ビデオ・アダプタ)が共通して同一のI
/Oバスに存在する複数のワーク・ステーション及び複数
のサーバにおいて顕著であった。
【0003】最近、パーソナル・コンピュータ産業は、
高速I/Oバスに対する現在の要求を満足させる試みとし
て、ペリフェラル・コンポーネント・インタフェース(
Peripheral Component Interface:PCI )バスとして知ら
れているバス基準を策定した。PCIバスは周知である。
【0004】PCIバスは高いスループットを有する汎用
の標準バスである。PCIバスは、現在指定されているよ
うに、理論的に264MB/sまで転送する能力を有する。し
かし、スレーブ装置(典型的にはメモリ)はこのような
高い速度でデータをアクセス又は記憶することができな
いので、このような性能は、通常、達成されることはな
い。大抵のメモリ サブシステムは40〜80MB/sのデータ
転送速度に制限されている。この場合に、スレーブ装置
は転送のアドレス・フェーズとデータ・フェーズとの間
にウェイト・ステートを挿入せざるをえない。これは、
実際の帯域幅を理論的な最大帯域幅の1/2又は1/4に容易
に切り詰めることになり得る。従って、PCIバスの使用
可能帯域幅をその理論的な最大値へ増加させることが望
ましい。
【0005】典型的なコンピュータ・システムでは、通
常、データ転送に対して3つのフェーズが存在する。即
ち、(1)アービトレーション・フェーズ、(2)アド
レス/コマンド・フェーズ(以下、「アドレス・フェー
ズ」)、及び (3)実際のデータ転送フェーズ。
【0006】PCIバスは、アドレス・フェーズにデータ
・フェーズが常に直ぐに続くバスとして定義される「接
続トランザクション・バス( connected transaction bu
s )」である(ウェイト・ステートは考慮されていな
い)。換言すれば、アドレス・フェーズ及びデータ・フ
ェーズはデータ・フェーズ中に転送されるデータが常に
データ・フェーズの直前でバス上に配置されたアドレス
に関連されるように接続される。PCIバスはアービトレ
ーション・フェーズをアドレス・フェーズ及びデータ・
フェーズに重複するのを許容するが、アドレス・フェー
ズ及びデータ・フェーズを重複させること、及びデータ
・フェーズをアドレス・フェーズに対して無関係に発生
させることはできない。
【0007】これに対して、「分割トランザクション・
バス( split transaction bus )」として知られているバ
スは、典型的には、データ転送に対して4つのフェー
ズ、即ち、 (1)アドレス・アービトレーション・フェーズ (2)アドレス/コマンド・フェーズ (3)データ・アービトレーション・フェーズ、及び (4)データ転送フェーズを有する。
【0008】分割トランザクション・バスでは、データ
・フェーズがバス上に配置された関連のアドレス・フェ
ーズに直ぐに続いてはならない。データ・フェーズは、
対応するアドレス・フェーズが発生するのと同一順序で
発生する必要はない。従って、マスタは、何らかのデー
タが戻される前に、多重アドレス・フェーズを実行する
ことができる。更に、第2のマスタのアドレス・フェー
ズを第1のマスタのデータ・フェーズに重複させること
もできる。分割トランザクション・バスにおけるアドレ
ス・アービトレーションは、接続トランザクション・バ
スのものと同様である。しかし、一つの相違は、アドレ
ス・フェーズにおいて、マスタがアドレス/コマンド信
号及びトランザクション識別(ID)をアサートし、次いで
アドレス・バスを直ちに開放する。その際に、マスタ
は、スレーブがデータを戻すまで待機してもよく、又は
アドレス・バスに対して再アービトレーションを行い、
かつ付加的なアドレス・フェーズを実行してもよい。ス
レーブは、アドレス・フェーズにおいて発行されたアド
レス/コマンド及びマスタ識別を記憶し、次いで転送を
完了するためにレディ(準備完了)になっているとき
は、データ・バスに対してアービトレーションを行う。
スレーブがデータ・バスについて許可されたときは、デ
ータ・バス上にトランザクションIDを送出すると同時
に、データ・バス上にデータを送出する。次いで、マス
タはそのトランザクションIDを認識して、前記データを
受け入れることによって、トランザクションを完了す
る。
【0009】分割トランザクション・バスに対して、従
来のPCIバスはアドレス/コマンド及び識別のアサート
の際にアドレス・バスを直ちに開放するマスタを使用す
ることはない。その代わりに、従来のPCIバス上では、
トランザクションを完了するのにレディになっていない
スレーブによる信号がマスタのリトライを発生させる
(バック・オフ/リトライ( back-off / retry )機
能)。これはトランザクションを再びリトライするため
にPCIマスタに直ちに再アービトレーションを実行させ
る。マスタは、通常、バスについて要求し続け、スレー
ブがレディとなるまで同一のトランザクションをリトラ
イをすることになり、他のマスタがバスを使用するのを
より困難にしてしまう。これは、PCIバスの使用可能帯
域幅を狭くするものである。
【0010】
【発明が解決しようとする課題】使用可能帯域幅を増加
させるために、PCIバスのような接続トランザクション
・バスに分割トランザクション・バス形式により動作さ
せる、アービトレーション機構及び構造に対する要請が
ある。特にPCIバスに関しては、PCIバスアーキテクチャ
に影響を及ぼすことなく、又は既存の若しくは将来のPC
Iマスタの変更させることを要することなく、分割トラ
ンザクションを可能にさせる要請がある。
【0011】
【課題を解決するための手段】これらの要請及びその他
の要請は、バスと、前記バスに接続された複数のマスタ
であって、前記バスに対するアービトレーションを要求
し、かつ前記バスが許可されているとトランザクション
を開始させるロジックを含む前記複数のマスタと、前記
バスに接続された複数のスレーブであって、かつ該スレ
ーブが前記トランザクションを完了させるためにレディ
を表示するロジックを含む少なくとも一つの前記スレー
ブと、一つのアービタとを備えたシステムを提供する本
発明により達成される。前記アービタは、トランザクシ
ョンを要求していたスレーブがそのトランザクションを
完了するためにレディでないときに、マスタを前記バス
から強制的に切り離すロジックを含む。更に、前記スレ
ーブが前記トランザクションを完了するためにレディに
なるまで、前記マスタが前記バスに対する再アービトレ
ーションを阻止するロジックも備えられる。
【0012】前記バスは、前記スレーブが前記トランザ
クションを完了するためにレディになるまで前記マスタ
が前記バスに対する再アービトレーションを阻止するこ
とにより、他のマスタによる使用に開放される。これ
は、前記バスの使用可能帯域幅をその理論最大可能値に
向かって増加させるように直接的に作用する。
【0013】本発明のいくつかの実施の形態では、前記
スレーブは要求されたトランザクションを完了させるた
めにレディでないことを表示する第1の信号をアサート
する。該第1の信号は、要求マスタに対応するマスク・
ビット(マスク・インジケータ)をマスク・レジスタに
セットさせる。
【0014】本発明の好ましい実施の形態は、マスク・
レジスタを配置している中央アービタを使用する。この
マスク・ビットがセットされると、マスタはバスを要求
し続けることができる。しかし、中央アービタは要求を
無視し、かつマスクされたマスタに対してバスを許可し
ない。
【0015】前記バスに対する能動的なアービトレーシ
ョンを前記要求マスタに許容するために、トランザクシ
ョンを完了させるためにレディになっているスレーブ
は、マスク解放信号を含む第2の信号を送出し、これが
要求マスタに対応するマスク・ビットをリセットさせる
ことになる。これは、マスタにバスの使用に対して再ア
ービトレーションを許容させてトランザクションを完了
させるものである。
【0016】本発明のいくつかの好ましい実施の形態に
は、バスについて許可されるまでそのマスクがリセット
されていたマスタに対して、最高のアービトレーション
優先順位を一時的に割り当てる手段が含まれている。許
可されると、前記マスタの優先順位はそれの元の値に復
帰する。これは、マスクされていないマスタがバスにつ
いて許可されるべき次の装置となることを保証し、これ
によって分割トランザクションを適宜にかなった形式で
完了させる利点がある。
【0017】マスタ識別バスの使用を避けるために、本
発明のいくつかの実施の形態では、複数のスレーブのう
ちの一つが第2の信号のアサートの際にマスクされてい
た全てのマスタを解放する。マスクされていなかったマ
スタの優先順位が認められ、かつトランザクションが要
求されているスレーブがトランザクションを完了させる
ために依然としてレディでないときは、このマスタは単
純に再マスクされ、かつ残りのマスクされていないマス
タは再アービトレーションを行う。これは、トランザク
ションを要求し、完了するために現在レディになってい
るマスタが、そのバスに対するアービトレーションに勝
つまで発生する。この方法は、分割トランザクションの
実行がマスタ識別バスを使用することよりも非効率的な
方法である。しかし、この実施の形態はハードウエアに
関してより安価かつ簡単に実施される効果がある。
【0018】本発明の以上及びその他の目的、機能、特
徴並びに効果は、添付する図面に関連して読めば、以下
の本発明の詳細な説明から更に明らかとなる。
【0019】
【発明の実施の形態】以下の説明において、使用される
接続トランザクション・バスの例はPCIバスである。し
かし、バック・オフ/リトライ機能を有する接続トラン
ザクション・バスである他のバスは、本発明のアービト
レーション機構に使用されてもよい。
【0020】本発明はユニ・プロセッサ応用に適用可能
であるが、図1にはマルチ・プロセッサ・アーキテクチ
ャを示すシステム構造が示されている。図1に示すマル
チ・プロセッサ・アーキテクチャは、コヒーレントな共
有分散メモリを有する対称マルチ・プロセッサ アーキ
テクチャである。このアーキテクチャの例は、第1のク
ラスタ10と、第2のクラスタ12とを備えており、そ
れらのマルチ・プロセッサ・バス19はインター・クラ
スタ・リンク14を介して接続されている。各マルチ・
プロセッサのクラスタ10、12はそのクラスタのマル
チ・プロセッサ・バス19に複数のCPU16、18を接
続している。マルチ・プロセッサ・バス19はメモリ・
コントローラ20に接続されている。このメモリ・コン
トローラ20はCPU16、18のようなプロセッサに
データを供給し、同様にI/Oのマスタ26、28にデー
タを供給している。マスタ26、28はPCIバス30を
介してメモリ・コントローラ20及びPCI中央アービタ
22に接続されている。
【0021】図1に示されているアーキテクチャでは、
データ転送の待ち時間が大きくなる恐れがあり、性能及
び利用可能なバス帯域幅の両方に影響する。これは、第
1のクラスタ10のマスタ26のように、PCIバス30
上のマスタがクラスタ12上に配置されたメモリに記憶
されているデータを読み出すときに、特に明かとなる。
メモリからの応答データの総合的な待ち時間は、キャッ
シュ・ラインの転送において3μsを超え得る。これ
は、32バイト転送の場合にPCIバスを3μsに拘束するこ
とになり、利用可能なPCIバスのバス帯域幅を大きく限
定させる。しかし、本発明のアービトレーション機構
は、PCIアーキテクチャに影響を与えることなく、かつ
既存のPCIバスマスタを変更することを必要とすること
なく、総合バス帯域幅を増加させる。
【0022】本発明はメモリ・コントローラ20とPCI
中央アービタ22との間における3つの側帯域信号によ
る通信を提供する。これらの信号は、MASK MASTER( マ
スタをマスク)、REL MASTER(マスタを解放)及びMASTE
R ID(マスクを識別)である。本発明のアービトレーシ
ョン機構によるこれらの信号の使用について以下詳細に
説明する。
【0023】説明を簡単にするために、下記の動作例で
は、マスタ26がクラスタ10のようなそれ自体のクラ
スタのメモリ・コントローラ20とのトランザクション
を望む。マスタ26はPCIバス30を使用するためにマ
スタ26とアービトレーションを行う。PCI中央アービ
タ22は、マスタ26がアービトレーションに勝って、
マスタ26にPCIバス30の使用を許可すると判断して
いるものと仮定する。マスタ26は、FRAM#(フレーム
番号)をアサートすると同様に、アドレス信号及び制御
信号をしてメモリ・コントローラ20からのデータを要
求する。従来技術の構造では、この時点で、メモリ・コ
ントローラ20がデータを送出するためにレディでない
ときは、メモリ・コントローラ20がトランザクション
を完了させるためにレディになるまで、ウェイト・ステ
ートを挿入することになる。同時に、マスタ28のよう
な他のマスタがバスを使用しようとするときは、マスタ
26とメモリ・コントローラ20との間のトランザクシ
ョンがバスを占有しているので、これらのマスタは使用
することができない。PCIバスは、通常、トランザクシ
ョンにおけるデータ・フェーズがバス上の当該トランザ
クションにおけるアドレス・フェーズの直ぐ後に続き、
かつウェイト・ステートをカウントしない接続トランザ
クション・バスであるので、従来技術ではこのアービト
レーション・シーケンスが発生する。
【0024】本発明の装置及び方法は、PCIバス30が
分割トランザクションを実行するのを許容することによ
りPCIバス30の前記欠点を克服する。要求マスタ26
は、これを行うために、PCIバス30を強制的にオフに
させ、かつメモリ・コントローラ20がトランザクショ
ンを完了させるためにレディであることを知らせるま
で、再アービトレーションを阻止する。これは、マスタ
28のような他のマスタがこの期間中にPCIバス30に
対するアービトレーションを行い、かつこれを使用可能
にするので、使用可能帯域幅を増加させる。本発明は付
加的な2信号、即ちPCIバス30上の側帯域信号として
供給されるMASK MASTER信号及びREL MASTER信号を使用
させる。第3の信号のMASTER ID信号は、いくつかの実
施の形態において用いられて、どのマスタがマスクされ
る/解放されるべきかを表すことにより、バス効率を更
に増加させる。
【0025】図3に本発明方法の一実施の形態をフロー
チャート形式により示す。この例では、マスタ26がこ
のトランザクションためのスレーブとして動作している
メモリ・コントローラ20とのトランザクションを望ん
でいる。ステップ50において、マスタはPCIバス30
の使用に対して他のマスタ28等とアービトレーション
を行う。PCI中央アービタ22は、要求マスタ26に対
応するマスク・ビットがPCI中央アービタ22内のSPLIT
MASK(マスクを分割)レジスタ23にセットされてい
るか否かを判断する。これはステップ52において実行
される。マスク・ビットがセットされていないときは、
PCI中央アービタ22はマスタ26にPCIバス30に対す
るアービトレーションを許容する。マスタ26がバスを
許可されないときは(ステップ54)、プロセスがステ
ップ50に戻り、マスタ26がPCIバス30の使用に関
するアービトレーションを続ける。
【0026】ここで、マスタがアービトレーションに勝
ち、かつPCI中央アービタ22によりPCIバス30につい
て許可されたと仮定する。勝ったマスタ26は、PCIバ
ス30を介してメモリ・コントローラ20にFRAME#、ア
ドレス信号及び制御信号をアサートする。次いで、スレ
ーブ(メモリ・コントローラ20)がトランザクション
を完了させるためにレディであるか否かを判断する(ス
テップ58)。メモリ・コントローラ20がレディであ
れば、マスタ26に要求データを供給してトランザクシ
ョンを完了させる。次いで、通常のバス・アービトレー
ション(ステップ78)が続く。
【0027】メモリ・コントローラ20がトランザクシ
ョンを完了させるためにレディでないときは、ステップ
60において、メモリ・コントローラ20(スレーブと
して動作する)がSTOP#(停止番号)信号、MASK MASTER
信号及びMASTER ID信号と共に、DEVSEL#(装置番号を選
択)信号をアサートする。MASK MASTER信号及びMASTER
ID信号はPCI中央アービタ22に送出される。メモリ・
コントローラ20がPCIバス30上にDEVSEL#信号及びST
OP#信号をアサートすると、マスタ26に再試行を行わ
せる。同時に、PCI中央アービタ22は、マスタ26に
対応するPCI中央アービタ22内のSPLIT MASKレジスタ
23のSPLIT MASKビットをセットする(ステップ6
2)。
【0028】ステップ64において、マスタ26は、SP
LIT MASKレジスタ23にセットされたSPLIT MASKビット
により、PCIバス30に対する再アービトレーションを
試みる。次にステップ66において、メモリ・コントロ
ーラ20(スレーブ)がトランザクションを完了させる
ためにレディであるか否かを判断する。ノーのときは、
SPLIT MASKビット保持し(ステップ68)、ステップ7
0において、マスタ26はバスに対する再アービトレー
ションの機会が拒絶される。次いで、ステップ64にお
いて、マスタ26はバスに対する再アービトレーション
を試み続ける。
【0029】ステップ74、80、82及び84は、本
発明において使用できるとされる優先順位判断の一実施
の形態を説明する。ステップ74において、PCI中央ア
ービタ22はSPLIT MASKビットをリセットし、かつ他の
全ての要求に対してTEMP MASKレジスタ内の一時マス
ク」ビットをセットする。ステップ80において、マス
タ26(ここでは優先マスタ)は再アービトレーション
を試み、かつTEMP MASKレジスタ内に複数ビットがセッ
トされている他のマスタに対するアクセスは拒絶され
る。ステップ82において、マスタはバスについて許可
され、かつTEMP MASKレジスタにマスタのTEMP MASKビッ
トがセットされる。ステップ84において、全ての優先
マスタがサービスされたか否かについて判断する。ノー
のときは、処理はステップ80に戻る。全ての優先マス
タがサービスされたときは、処理はステップ50に戻
る。
【0030】マスタ26は、PCIバス30について許可
されると(ステップ80)、そのアドレス信号、制御信
号及びFRAME#をメモリ・コントローラ20にアサートす
る(ステップ56)。メモリ・コントローラ20はトラ
ンザクションを完了させるためにレディであるので(ス
テップ58)、メモリ・コントローラ20はトランザク
ションを完了させるためにマスタ26に要求データを供
給し(ステップ76)、かつステップ78において通常
のバス・アービトレーションが続く。
【0031】以上説明した方法により、マスタ26はPC
Iバス30から切り離されたままであり、メモリ・コン
トローラ20がトランザクションを完了させるためにレ
ディとなるまで、再アービトレーションが阻止されてい
る。PCIバス30に接続された他のマスタは、この期間
中にPCIバス30に対してアービトレーションを行い、
これを使用することによって、PCIバス30の使用可能
帯域幅を増加させることができる。
【0032】本発明の分割トランザクションは効率的に
実行されることが望ましい。これを行うため、スレーブ
は、トランザクションのデータ・フェーズを完了するた
めにどのマスタがマスク解放されるべきかを正確にPCI
中央アービタ22に知らせる必要がある。加えて、現在
のデータ・フェーズを終了するまでスレーブはそれ以上
のアドレス・フェーズ・トランザクションを受け付ける
ことができないので、マスタは可能な限り速やかにバス
が許可されることが好ましい。本発明のいくつかの実施
の形態では、MASTER IDバスが使用され、この実施の形
態はモジュール・ピン・カウント及びロジックに関して
より高価となることを除き、より効率的である。アドレ
ス・フェーズにおいて、スレーブはMASTER IDバス上で
固有のIDを駆動する。スレーブは「マスタのマスク」
をアサートし、かつリトライを実行している間に、ID
は現在のアドレス・フェーズに関連される。次いで、PC
I中央アービタ22はこの固有のIDを記憶し、かつ現
在、PCIバス30上に存在するマスタ、例えばマスタ2
6と関連される。スレーブは、それがレディのときに、
PCIバス30上にIDを送出すると同時に、REL MASTER
をアクティブにさせる。次いで、PCI中央アービタ22
はMASTER IDに関連されているSPLIT MASKレジスタ23
内のSPLIT MASKビットのみをリセットし、これに一時的
に最高のアービトレーション優先順位を与える。これ
は、マスクしていないマスタがPCIバス30の使用が許
可されるべき次の装置となり、これによって時宜を得た
方法で分割トランザクションを完了することを保証する
効果がある。データ・フェーズを完了する前に多数のマ
スタが解放されると、PCI中央アービタ22は、解放さ
れたIDが発生し、かつ一つずつ各マスタにPCIバス3
0上の優先順位を与える順序について記録を取ってい
る。これは、予め定められたアルゴリズムに基づいて一
つずつSPLIT MASKビットをリセット可能にさせることに
よって最も容易に実行される。キューを抜け出した第1
のマスタがフレームを開始すると、次のマスタが直ちに
解放される。これは、次のマスタに現在のマスタのフレ
ーム中にトランザクションを完了させ、従ってPCIバス
30の最も効率的な使用を達成する。
【0033】図2の実施の形態例のように、本発明の他
のいくつかの実施の形態では、MASTER IDバスを使用し
ない。PCI中央アービタ22は、現在、どのマスタがPCI
バス30について許可されているのかを知っているの
で、MASK MASTER信号のアサートによりリトライが発生
すると、この現在マスタをマスクすることになる。更
に、MASTER IDは存在しないので、REL MASTER信号がア
クテイブにされると、マスクされていた全てのマスタ
は、解放され、かつ前にマスクされていなかった全ての
マスタに優越する優先順位が与えられる。一つのみのマ
スタがマスクされたときは、この方法はMASTER IDバス
を使用する他の実施の形態と同一の結果を達成する。し
かし、多数のマスタがマスクされたときは、メモリ・コ
ントローラ20がマスタ28用のデータを有していて
も、マスタ26がPCIバス30について許可され得るの
で、効率は低下し得る。この場合は、メモリ・コントロ
ーラ20がMASK MASTERをアクティブにし、かつリトラ
イを実行することにより、マスタ26を再マスクする。
結局、マスタ28はPCIバス30について許可され、そ
のトランザクションを完了して、通常のバス・アービト
レーションが発生する。
【0034】該他の実施の形態では、最近にアンマスク
されたマスタに対する優先順位の作成を異なる方法によ
り実行してもよく、その一方法が図3のステップ74、
80〜84に関して既に簡単に説明されている。この実
施の形態例では、第2組のマスクTEMP MASKを使用して
全ての通常マスタを一時的に禁止する。REL MASTERを受
け取るクロック・サイクルにおいて、現在リセットされ
ているSPLIT MASKビットに対応するTEMP MASKビットを
セットする。次いで、現在セットされている全てのSPLI
T MASKビットはリセットされる。いくつかのマスタは一
時に解放されるが、このグループのマスタには前にマス
クされなかった全てのマスタに優越する優先順位が与え
られる。次いで、解放された優先マスタは通常の優先順
位に基づいてアービトレーションを行う。解放された各
マスタがバスに対する許可されると、そのビットが「一
次マスク」レジスタにセットされる。全てのマスタがSP
LIT MASKビットか、又はTEMP MASKビットかがセットさ
れると、TEMP MASKレジスタは自動的にリセットされ、
システムは通常のアービトレーションを再開する。
【0035】更に、図2の実施の形態はマルチ・プロセ
ッサ・バス19とPCIバス30との間でホスト・ブリッ
ジ21を使用しており、このホスト・ブリッジ21はそ
れぞれの通常の機能を実行する。この実施の形態では、
マルチ・プロセッサ バス19にメモリ・コントローラ
20が接続されている。
【0036】PCIバスを使用することによって本発明を
説明したが、本発明はトランザクションを完了する前に
マスタを強制的にバスから切り離すバック・オフ/リト
ライ機能を有する他のバスにも適用可能である。
【0037】まとめとして、本発明の構成に関して以下
の項を開示する。
【0038】(1)バスと、前記バスに接続された複数
のマスタであって、前記バスに対するアービトレーショ
ンを要求し、かつ前記バスについて許可されたときにト
ランザクションを開始するロジックを含む前記複数のマ
スタと、前記バスに接続された複数のスレーブであっ
て、そのスレーブのうちの少なくとも一つが前記トラン
ザクションを完了させるために該スレーブのレディを表
示するロジックを含む前記複数のスレーブと、前記トラ
ンザクションを要求していたスレーブが前記トランザク
ションを完了するためにレディでないきは、マスタに前
記バスを強制的に切り離すようにするロジック、及び前
記スレーブが前記トランザクションを完了するためにレ
ディになるまで、前記マスタが前記バスに対する再アー
ビトレーションを行うのを阻止するロジックを含むアー
ビタとを含むシステム。 (2)前記トランザクションを完了するように前記スレ
ーブのレディを表示する前記ロジックは、前記アービタ
に接続され、かつ第1の信号を発生する第1の出力であ
って、前記スレーブが要求マスタとのトランザクション
を完了するためにレディでないことを前記第1の信号が
表示する前記第1の出力と、前記アービタに接続され、
かつ第2の信号を発生する第2の出力であって、前記ス
レーブが要求マスタとのトランザクションを完了するた
めにレディでないことを前記第2の信号が表示する前記
第2の出力とを含む前記(2)に記載のシステム。 (3)前記アービタは、前記第1の信号に応答して要求
マスタを識別するマスク・インジケータをセットするマ
スクされたマスタ・レジスタと、前記マスクされたマス
タ・レジスタが前記要求マスタの前記マスク・インジケ
ータを含む限り、前記要求マスタが前記バスに対するア
ービトレーションを行うのを阻止、かつ前記マスクされ
たマスタ・レジスタが前記要求マスタの前記マスク・イ
ンジケータを含まないときは、前記マスタが前記バスに
対する再アービトレーションを許容するロジックと、前
記第2の信号の受け取りに応答して前記マスクされたマ
スタ・レジスタからの前記要求マスタのマスク・インジ
ケータをリセットさせるロジックとを含む前記(2)に
記載のシステム。 (4)更に、前記スレーブと前記アービトレーションを
行う手段との間に接続されたマスタ識別バスを含み、前
記スレーブは、前記マスタ識別バスに接続され、前記ア
ービトレーションを行う手段に対して前記要求マスタを
識別する信号を発生する第3の出力を含む前記(2)に
記載のシステム。 (5)前記バスは接続されたトランザクション・バスで
ある前記(1)に記載のシステム。 (6)前記前記接続されたトランザクション・バスはペ
リフェラル・コンポーネント・インタフェース(PCI)バ
スである前記(5)に記載のシステム。 (7)前記アービタは、前記マスタがバスに対する再ア
ービトレーションを行うのを許されたときに、前記バス
に対する再アービトレーションを行うのを阻止された前
記マスタに対して最高の優先順位を割り当てるロジック
を含む前記(1)に記載のシステム。 (8)前記アービタは、前記スレーブのうちの一つが前
記第2の信号を発生したときに、前記マスク・インジケ
ータをセットした全てのマスタ用のマスク・インジケー
タをまとめてリセットするロジックを含む前記(1)に
記載のシステム。 (9)前記アービタは、前記マスク・インジケータをリ
セットした前記各マスタに対応する一時インジケータを
セットする一時マスク レジスタと、前記各最高の優先
順位マスタがバスを勝ち取るまで、前記マスク・インジ
ケータをリセットしていた各マスタに対して、他の全て
のマスタより高いアービトレーション用の優先順位を一
時的に割り当てるロジックとを含み、各一時インジケー
タは対応する高い優先順位マスタがバスを勝ち取ること
によりリセットされる前記(8)に記載のシステム。 (10)複数のマスタ及び少なくとも一つのスレーブを
接続するバス用のアービトレーション回路において、前
記バスを要求している前記複数のマスタ間でアービトレ
ーションを行い、前記アービトレーションに勝ったマス
タに対して前記バスを許可するアービタ・ロジックと、
トランザクションを完了することができない前記勝った
マスタにより、トランザクションが要求されているスレ
ーブに応答して前記勝ったマスタに前記バスを切り離す
ように強制させるロジックと、前記スレーブが前記トラ
ンザクションを完了することができない限り、前記要求
マスタが前記バスに対する再アービトレーションを行う
のを阻止するロジックとを含むアービトレーション回
路。 (11)前記アービトレーション・ ロジックは前記複
数のマスタからのアービトレーション要求を受け取る入
力を含む前記(10)に記載のアービトレーション回
路。 (12)前記強制させるロジックは、トランザクション
を要求しているスレーブから前記第1の信号を受け取る
入力を含み、前記スレーブが要求マスタと前記第1の信
号に応答してセットする前記要求マスタのインジケータ
をセットするマスクされたマスタ・レジスタとのトラン
ザクションを完了するためにレディでないことを表示す
る前記(10)に記載のアービトレーション回路。 (13)前記阻止するロジックは、前記マスクされたマ
スタ・レジスタに接続され、かつ前記スレーブから第2
の信号を受け取る入力を含み、前記スレーブが前記要求
マスタとのトランザクションを完了するためにレディで
あることを表示し、前記マスクされたマスタ・レジスタ
は前記第2の信号の受信に応答して前記要求マスタのイ
ンジケータをリセットする前記(10)に記載のアービ
トレーション回路。 (14)前記マスクされたマスタ・レジスタは前記要求
マスタの識別子を含み、かつ前記阻止するロジックは、
前記マスクされたマスタ・レジスタが前記要求マスタの
インジケータを含まないときに、前記要求マスタが前記
バスに対する再アービトレーションを許容するロジック
を含む前記(12)に記載のアービトレーション回路。 (15)更に、前記スレーブからマスタ識別バスを介し
てマスタ識別バスを受け取るマスタ識別バス入力を含む
前記(14)に記載のアービトレーション回路。 (16)バスに対するアービトレーション方法におい
て、マスタがアービタを勝ったときは、前記バスに対す
るアービトレーションを行うマスタに前記バスを許すス
テップと、前記マスタにより、前記バスを介するスレー
ブとのトランザクションのために要求を前記バス上にア
サートするステップと、前記スレーブにより、該スレー
ブが前記トランザクションを完了するためにレディでな
いことを表示する第1の信号をアサートし、かつリトラ
イするステップと、前記スレーブが前記トランザクショ
ンを完了するためにレディでないとする前記第1の信号
を前記スレーブがアサートするときは、前記マスタが前
記バスに対する再アービトレーションを行うのを阻止
し、かつ他のマスタが前記バスに対するアービトレーシ
ョンを許容するステップと、前記スレーブにより、該ス
レーブが前記トランザクションを完了するためにレディ
であるときは、該スレーブが前記トランザクションを完
了するためにレディであることを表示する第2の信号を
アサートするステップと、前記スレーブが前記第2の信
号をアサートするときは、前記マスタが前記バスに対す
る再アービトレーションを行うのを許し、かつ前記マス
タが前記アービトレーションに勝ったときは前記マスタ
に前記バスを許可するステップとを含む方法。 (17)前記第1の信号はマスタのマスク信号を含み、
かつ前記マスタが再アービトレーションを行うのを阻止
する前記ステップは、前記バスに対するアービトレーシ
ョンが阻止されているマスタを識別するマスク・インジ
ケータをセットするステップを含む前記(16)に記載
の方法。 (18)前記第2の信号はマスク解放信号を含み、かつ
前記マスタに再アービトレーションを許容する前記ステ
ップは、前記マスク・インジケータをリセットするステ
ップを含む前記(17)に記載の方法。 (19)更に、前記第1及び第2の信号に従って前記マ
スク・インジケータをセット及びリセットする中央アー
ビタ回路におけるマスタ・レジスタに、前記バスに接続
された前記各マスタに対するマスク・インジケータを記
憶するステップを含む前記(18)に記載の方法。 (20)前記バスは接続トランザクション・バスである
前記(19)に記載の方法。 (21)前記接続トランザクション・バスは、ペリフェ
ラル・コンポーネント・インタフェース(PCI)である前
記(20)に記載の方法。 (22)更に、前記マスクにおけるマスタ・レジスタ
に、前記バスに接続された前記各マスタ用のマスク・イ
ンジケータを記憶するステップを含み、前記マスタは前
記バスに対する分散アービタを実行し、前記マスク・イ
ンジケータは前記第1及び第2の信号に従って前記マス
タ・レジスタ内でセット及びリセットされる前記(1
8)に記載の方法。 (23)前記第1及び第2の信号は、更に、前記トラン
ザクションに対する要求をアサートした特定のマスタを
表すマスタ識別信号を含む前記(17)に記載の方法。 (24)更に、前記マスタが前記バスに対する再アービ
トレーションを許容するときは、前記バスに対する再ア
ービトレーションを行うのが阻止されていたマスタに最
高の優先順位を割り当てるステップを含む前記(23)
に記載のアービトレーション回路。 (25)前記割り当てるステップは、前記スレーブが前
記第2の信号をアサートするときに、前記マスタ識別信
号により識別された前記マスタのマスク・インジケータ
をリセットするステップを含む前記(24)に記載の方
法。 (26)更に、複数のスレーブが異なる複数のマスタか
らの要求に関連した第2の信号をアサートするステップ
と、前記第2の信号をアサートするために前記第2の信
号により識別されたこれらマスタに対する再アービトレ
ーションのための最高の優先順位を割り当てるステップ
とを含む前記(25)に記載の方法。 (27)更に、前記マスタが前記バスに対する再アービ
トレーションについて許容されるときは、前記バスに対
する再アービトレーションが阻止されていたマスタに最
高の優先順位を割り当てるステップを含む前記(16)
に記載の方法。 (28)複数のマスタ及び複数のスレーブが前記バスに
接続され、更に、個々のマスタに係わるトランザクショ
ン用の第1の信号のアサートに従って、個別的なマスタ
用のマスク・インジケータを個別的にセットする中央ア
ービタ回路内のマスタ・レジスタに、前記バスに接続さ
れた前記複数の各マスタ用のマスク・インジケータを記
憶するステップと、いずれかのスレーブが前記第2の信
号をアサートするときは、前記マスク・インジケータを
セットした全てのマスタ用の前記マスク・インジケータ
をまとめてリセットするステップとを含む前記(17)
に記載の方法。 (29)更に、前記マスク・インジケータをリセットし
た前記マスタのリストを記憶するステップと、前記マス
ク・インジケータをリセットした各マスタに、他の全て
のマスタに優先する優先順位を割り当てるステップと、
優先順位が割り付けられたマスタの間でアービトレーシ
ョンを行うステップと、勝ったマスタに前記バスを許可
するステップと、優先順位が割り付けられた各マスタが
バスを許可された後、全てのマスタの間でアービトレー
ションを再開させるステップとを含む前記(28)に記
載の方法。 (30)バスを介してデータを転送する方法において、
マスタがアービトレーションに勝ったときに、前記バス
に対してアービトレーションを行う前記マスタにバスを
許可するステップと、前記マスタにより、スレーブから
前記バスを介してデータを転送するために前記バス上に
要求をアサートするステップと、前記スレーブにより、
該スレーブが前記トランザクションを完了するためにレ
ディでないことを表示する第1の信号をアサートし、か
つ前記マスタをリトライするステップと、前記スレーブ
が前記トランザクションを完了するためにレディでない
とする前記第1の信号を前記スレーブがアサートすると
きは、前記マスタが前記バスに対する再アービトレーシ
ョンを阻止して、他のマスタが前記バスに対するアービ
トレーションを許容するステップと、前記スレーブによ
り、該スレーブが前記トランザクションを完了するため
にレディであるときは、前記トランザクションを完了す
るためにレディであることを表示する第2の信号をアサ
ートするステップと、前記マスタが前記バスに対する再
アービトレーションを許容し、かつ前記マスタがアービ
トレーションに勝ったときは、前記マスタに前記バスに
ついて許可すステップと、前記マスタにより、前記スレ
ーブから前記バスを介してデータを転送するように前記
バス上に要求を再アサートするステップと、前記スレー
ブから前記バスを介して前記マスタへ要求されたデータ
を送出するステップとを含む方法。 (31)前記第1の信号はマスタのマスク信号を含み、
かつ前記マスタが再アービトレーションを行うのを阻止
する前記ステップは、前記バスに対するアービトレーシ
ョンが阻止されているマスタを識別するマスク・インジ
ケータをセットするステップを含む前記(30)に記載
の方法。 (32)前記第2の信号はマスク解放信号を含み、かつ
前記マスタが前記バスに対する再アービトレーションを
許容する前記ステップは、前記マスク・インジケータを
リセットするステップを含む前記(31)に記載の方
法。 (33)更に、前記第1及び第2の信号に従って前記マ
スク・インジケータをセット及びリセットする中央アー
ビタ回路におけるマスタ・レジスタに、前記バスに接続
された前記各マスタについてのマスク・インジケータを
記憶するステップを含む前記(32)に記載の方法。 (34)前記バスは接続トランザクション・バスである
前記(33)に記載の方法。 (35)前記接続トランザクション・バスは、ペリフェ
ラル・コンポーネント・インタフェース(PCI)である前
記(34)に記載の方法。 (36)更に、前記マスクにおけるマスタ・レジスタ
に、前記バスに接続された前記各マスタについてのマス
ク・インジケータを記憶するステップを含み、前記マス
タは前記バスに対する分散アービタを実行するものであ
って、前記マスク・インジケータは前記第1及び第2の
信号に従って前記マスタ・レジスタ内でセット及びリセ
ットされる前記(35)に記載の方法。 (37)前記第1及び第2の信号は、更に、前記トラン
ザクションに対する要求をアサートした特定のマスタを
表すマスタ識別信号を含む前記(31)に記載の方法。 (38)更に、前記マスタが前記バスに対する再アービ
トレーションを許容するときは、再アービトレーション
が阻止された前記マスタに最高の優先順位を割り当てる
ステップを含む前記(37)に記載の方法。 (39)前記割り当てるステップは、前記スレーブが前
記第2の信号をアサートするときに、前記マスタ識別信
号により識別された前記マスタのマスク・インジケータ
をリセットするステップを含む前記(38)に記載の方
法。 (40)更に、複数のスレーブが異なる複数のマスタか
らの要求に関連した第2の信号をアサートするステップ
と、前記第2の信号をアサートするために前記第2の信
号において識別されたこれらマスタに対して再アービト
レーションを行うために最高の優先順位を割り当てるス
テップとを含む前記(39)に記載の方法。 (41)更に、前記マスタが前記バスに対する再アービ
トレーションを許容するときは、前記バスに対する再ア
ービトレーションが阻止されていたマスタに最高の優先
順位を割り当てるステップを含む前記(30)に記載の
方法。 (42)複数のマスタ及び複数のスレーブが前記バスに
接続され、更に、個々のマスタに係わるトランザクショ
ンのために前記第1の信号のアサートに従って、個々の
各マスタに対するマスク・インジケータを個別的にセッ
トさせる中央アービタ回路内のマスタ・レジスタに、前
記バスに接続された前記各マスタ用のマスク・インジケ
ータを記憶するステップと、いずれかの前記スレーブが
前記第2の信号をアサートするときは、常に、前記マス
ク・インジケータをセットした全てのマスタ用の前記マ
スク・インジケータをまとめてリセットさせるステップ
とを含む前記(31)に記載の方法。 (43)更に、前記マスク・インジケータをリセットし
た前記マスタのリストを記憶するステップと、前記マス
ク・インジケータがリセットされていた各マスタに、他
の全てのマスタに優越する優先順位を割り当てるステッ
プと、優先順位が割り付けられていたマスタの間でアー
ビトレーションを行うステップと、勝ったマスタに前記
バスを許可するステップと、優先順位が割り付けられた
各マスタに前記バスが許可された後に、全てのマスタの
間でアービトレーションを再開させるステップとを含む
前記(42)に記載の方法。 (44)バスを要求している複数のマスタの間でアービ
トレーションを行い、かつ前記マスタのうちの一つに前
記バスを許可するステップであって、前記マスタがスレ
ーブとのトランザクションを要求しているステップと、
前記スレーブが前記トランザクションを完了するために
レディでないときは、前記マスタをリトライさせるステ
ップと、前記スレーブが前記トランザクションを完了す
るためにレディとなるまで、前記マスタが前記バスに対
する再アービトレーションを阻止するステップと、前記
スレーブが前記トランザクションを完了するためにレデ
ィであるときは、前記マスタが前記バスに対する再アー
ビトレーションを許容するステップとを含む前記(4
4)に記載の方法。
【図面の簡単な説明】
【図1】本発明のアービトレーション機構及び方法を使
用し、かつ中央アービタ装置を含むシステムを示すブロ
ック図である。
【図2】「MASTER IDバス」を使用していない一実施の
形態を示すことを除き、図1と同一のブロック図であ
る。
【図3】本発明のアービトレーション方法による一実施
の形態例を示すフローチャートである。
【符号の説明】
10、20 クラスタ 16、18 CPU 19 マルチ・プロセッサ・バス 20 メモリ・コントローラ 21 ホスト・ブリッジ 22 PCI中央アービタ 23 SPLIT MASKレジスタ 26、28 マスタ 30 PCIバス
フロントページの続き (72)発明者 チャールズ・イー・クールマン アメリカ合衆国27596、ノースカロライナ 州、ヤングスビル、イースト・フレミン グ・ファーム・ドライブ 137 (72)発明者 テレンス・ジェイ・ローマン アメリカ合衆国33433、フロリダ州、ボ カ・ラトン、マーテラ・アベニュー 22011 (72)発明者 ネイル・ダブリュー・ソンガー アメリカ合衆国95129、カリフォルニア州、 サン・ホゼ、ノーウォーク・ドライブ ア パートメント・ナンバーダブリュー 1064281 (72)発明者 ロナルド・イー・バリー アメリカ合衆国29169、サウスカロライナ 州、ウエスト・コロンビア、ホーリー・リ ッジ・レイン 217

Claims (44)

    【特許請求の範囲】
  1. 【請求項1】バスと、 前記バスに接続された複数のマスタであって、前記バス
    に対するアービトレーションを要求し、かつ前記バスに
    ついて許可されたときにトランザクションを開始するロ
    ジックを含む前記複数のマスタと、 前記バスに接続された複数のスレーブであって、そのス
    レーブのうちの少なくとも一つが前記トランザクション
    を完了させるために該スレーブのレディを表示するロジ
    ックを含む前記複数のスレーブと、 前記トランザクションを要求していたスレーブが前記ト
    ランザクションを完了するためにレディでないきは、マ
    スタに前記バスを強制的に切り離すようにするロジッ
    ク、及び前記スレーブが前記トランザクションを完了す
    るためにレディになるまで、前記マスタが前記バスに対
    する再アービトレーションを行うのを阻止するロジック
    を含むアービタとを含むシステム。
  2. 【請求項2】前記トランザクションを完了するように前
    記スレーブのレディを表示する前記ロジックは、前記ア
    ービタに接続され、かつ第1の信号を発生する第1の出
    力であって、前記スレーブが要求マスタとのトランザク
    ションを完了するためにレディでないことを前記第1の
    信号が表示する前記第1の出力と、 前記アービタに接続され、かつ第2の信号を発生する第
    2の出力であって、前記スレーブが要求マスタとのトラ
    ンザクションを完了するためにレディでないことを前記
    第2の信号が表示する前記第2の出力とを含む請求項2
    記載のシステム。
  3. 【請求項3】前記アービタは、 前記第1の信号に応答して要求マスタを識別するマスク
    ・インジケータをセットするマスクされたマスタ・レジ
    スタと、 前記マスクされたマスタ・レジスタが前記要求マスタの
    前記マスク・インジケータを含む限り、前記要求マスタ
    が前記バスに対するアービトレーションを行うのを阻
    止、かつ前記マスクされたマスタ・レジスタが前記要求
    マスタの前記マスク・インジケータを含まないときは、
    前記マスタが前記バスに対する再アービトレーションを
    許容するロジックと、 前記第2の信号の受け取りに応答して前記マスクされた
    マスタ・レジスタからの前記要求マスタのマスク・イン
    ジケータをリセットさせるロジックとを含む請求項2記
    載のシステム。
  4. 【請求項4】更に、前記スレーブと前記アービトレーシ
    ョンを行う手段との間に接続されたマスタ識別バスを含
    み、前記スレーブは、前記マスタ識別バスに接続され、
    前記アービトレーションを行う手段に対して前記要求マ
    スタを識別する信号を発生する第3の出力を含む請求項
    2記載のシステム。
  5. 【請求項5】前記バスは接続されたトランザクション・
    バスである請求項1記載のシステム。
  6. 【請求項6】前記前記接続されたトランザクション・バ
    スはペリフェラル・コンポーネント・インタフェース(P
    CI)バスである請求項5記載のシステム。
  7. 【請求項7】前記アービタは、前記マスタがバスに対す
    る再アービトレーションを行うのを許されたときに、前
    記バスに対する再アービトレーションを行うのを阻止さ
    れた前記マスタに対して最高の優先順位を割り当てるロ
    ジックを含む請求項1記載のシステム。
  8. 【請求項8】前記アービタは、前記スレーブのうちの一
    つが前記第2の信号を発生したときに、前記マスク・イ
    ンジケータをセットした全てのマスタ用のマスク・イン
    ジケータをまとめてリセットするロジックを含む請求項
    1記載のシステム。
  9. 【請求項9】前記アービタは、前記マスク・インジケー
    タをリセットした前記各マスタに対応する一時インジケ
    ータをセットする一時マスク レジスタと、 前記各最高の優先順位マスタがバスを勝ち取るまで、前
    記マスク・インジケータをリセットしていた各マスタに
    対して、他の全てのマスタより高いアービトレーション
    用の優先順位を一時的に割り当てるロジックとを含み、
    各一時インジケータは対応する高い優先順位マスタがバ
    スを勝ち取ることによりリセットされる請求項8記載の
    システム。
  10. 【請求項10】複数のマスタ及び少なくとも一つのスレ
    ーブを接続するバス用のアービトレーション回路におい
    て、 前記バスを要求している前記複数のマスタ間でアービト
    レーションを行い、前記アービトレーションに勝ったマ
    スタに対して前記バスを許可するアービタ・ロジック
    と、 トランザクションを完了することができない前記勝った
    マスタにより、トランザクションが要求されているスレ
    ーブに応答して前記勝ったマスタに前記バスを切り離す
    ように強制させるロジックと、 前記スレーブが前記トランザクションを完了することが
    できない限り、前記要求マスタが前記バスに対する再ア
    ービトレーションを行うのを阻止するロジックとを含む
    アービトレーション回路。
  11. 【請求項11】前記アービトレーション・ ロジックは
    前記複数のマスタからのアービトレーション要求を受け
    取る入力を含む請求項10記載のアービトレーション回
    路。
  12. 【請求項12】前記強制させるロジックは、トランザク
    ションを要求しているスレーブから前記第1の信号を受
    け取る入力を含み、前記スレーブが要求マスタと前記第
    1の信号に応答してセットする前記要求マスタのインジ
    ケータをセットするマスクされたマスタ・レジスタとの
    トランザクションを完了するためにレディでないことを
    表示する請求項10記載のアービトレーション回路。
  13. 【請求項13】前記阻止するロジックは、前記マスクさ
    れたマスタ・レジスタに接続され、かつ前記スレーブか
    ら第2の信号を受け取る入力を含み、前記スレーブが前
    記要求マスタとのトランザクションを完了するためにレ
    ディであることを表示し、前記マスクされたマスタ・レ
    ジスタは前記第2の信号の受信に応答して前記要求マス
    タのインジケータをリセットする請求項10記載のアー
    ビトレーション回路。
  14. 【請求項14】前記マスクされたマスタ・レジスタは前
    記要求マスタの識別子を含み、かつ前記阻止するロジッ
    クは、前記マスクされたマスタ・レジスタが前記要求マ
    スタのインジケータを含まないときに、前記要求マスタ
    が前記バスに対する再アービトレーションを許容するロ
    ジックを含む請求項12記載のアービトレーション回
    路。
  15. 【請求項15】更に、前記スレーブからマスタ識別バス
    を介してマスタ識別バスを受け取るマスタ識別バス入力
    を含む請求項14記載のアービトレーション回路。
  16. 【請求項16】バスに対するアービトレーション方法に
    おいて、 マスタがアービタを勝ったときは、前記バスに対するア
    ービトレーションを行うマスタに前記バスを許すステッ
    プと、 前記マスタにより、前記バスを介するスレーブとのトラ
    ンザクションのために要求を前記バス上にアサートする
    ステップと、 前記スレーブにより、該スレーブが前記トランザクショ
    ンを完了するためにレディでないことを表示する第1の
    信号をアサートし、かつリトライするステップと、 前記スレーブが前記トランザクションを完了するために
    レディでないとする前記第1の信号を前記スレーブがア
    サートするときは、前記マスタが前記バスに対する再ア
    ービトレーションを行うのを阻止し、かつ他のマスタが
    前記バスに対するアービトレーションを許容するステッ
    プと、 前記スレーブにより、該スレーブが前記トランザクショ
    ンを完了するためにレディであるときは、該スレーブが
    前記トランザクションを完了するためにレディであるこ
    とを表示する第2の信号をアサートするステップと、 前記スレーブが前記第2の信号をアサートするときは、
    前記マスタが前記バスに対する再アービトレーションを
    行うのを許し、かつ前記マスタが前記アービトレーショ
    ンに勝ったときは前記マスタに前記バスを許可するステ
    ップとを含む方法。
  17. 【請求項17】前記第1の信号はマスタのマスク信号を
    含み、かつ前記マスタが再アービトレーションを行うの
    を阻止する前記ステップは、前記バスに対するアービト
    レーションが阻止されているマスタを識別するマスク・
    インジケータをセットするステップを含む請求項16記
    載の方法。
  18. 【請求項18】前記第2の信号はマスク解放信号を含
    み、かつ前記マスタに再アービトレーションを許容する
    前記ステップは、前記マスク・インジケータをリセット
    するステップを含む請求項17記載の方法。
  19. 【請求項19】更に、前記第1及び第2の信号に従って
    前記マスク・インジケータをセット及びリセットする中
    央アービタ回路におけるマスタ・レジスタに、前記バス
    に接続された前記各マスタに対するマスク・インジケー
    タを記憶するステップを含む請求項18記載の方法。
  20. 【請求項20】前記バスは接続トランザクション・バス
    である請求項19記載の方法。
  21. 【請求項21】前記接続トランザクション・バスは、ペ
    リフェラル・コンポーネント・インタフェース(PCI)で
    ある請求項20記載の方法。
  22. 【請求項22】更に、前記マスクにおけるマスタ・レジ
    スタに、前記バスに接続された前記各マスタ用のマスク
    ・インジケータを記憶するステップを含み、前記マスタ
    は前記バスに対する分散アービタを実行し、前記マスク
    ・インジケータは前記第1及び第2の信号に従って前記
    マスタ・レジスタ内でセット及びリセットされる請求項
    18記載の方法。
  23. 【請求項23】前記第1及び第2の信号は、更に、前記
    トランザクションに対する要求をアサートした特定のマ
    スタを表すマスタ識別信号を含む請求項17記載の方
    法。
  24. 【請求項24】更に、前記マスタが前記バスに対する再
    アービトレーションを許容するときは、前記バスに対す
    る再アービトレーションを行うのが阻止されていたマス
    タに最高の優先順位を割り当てるステップを含む請求項
    23記載のアービトレーション回路。
  25. 【請求項25】前記割り当てるステップは、前記スレー
    ブが前記第2の信号をアサートするときに、前記マスタ
    識別信号により識別された前記マスタのマスク・インジ
    ケータをリセットするステップを含む請求項24記載の
    方法。
  26. 【請求項26】更に、複数のスレーブが異なる複数のマ
    スタからの要求に関連した第2の信号をアサートするス
    テップと、前記第2の信号をアサートするために前記第
    2の信号により識別されたこれらマスタに対する再アー
    ビトレーションのための最高の優先順位を割り当てるス
    テップとを含む請求項25記載の方法。
  27. 【請求項27】更に、前記マスタが前記バスに対する再
    アービトレーションについて許容されるときは、前記バ
    スに対する再アービトレーションが阻止されていたマス
    タに最高の優先順位を割り当てるステップを含む請求項
    16記載の方法。
  28. 【請求項28】複数のマスタ及び複数のスレーブが前記
    バスに接続され、更に、 個々のマスタに係わるトランザクション用の第1の信号
    のアサートに従って、個別的なマスタ用のマスク・イン
    ジケータを個別的にセットする中央アービタ回路内のマ
    スタ・レジスタに、前記バスに接続された前記複数の各
    マスタ用のマスク・インジケータを記憶するステップ
    と、 いずれかのスレーブが前記第2の信号をアサートすると
    きは、前記マスク・インジケータをセットした全てのマ
    スタ用の前記マスク・インジケータをまとめてリセット
    するステップとを含む請求項17記載の方法。
  29. 【請求項29】更に、 前記マスク・インジケータをリセットした前記マスタの
    リストを記憶するステップと、 前記マスク・インジケータをリセットした各マスタに、
    他の全てのマスタに優先する優先順位を割り当てるステ
    ップと、 優先順位が割り付けられたマスタの間でアービトレーシ
    ョンを行うステップと、 勝ったマスタに前記バスを許可するステップと、 優先順位が割り付けられた各マスタがバスを許可された
    後、全てのマスタの間でアービトレーションを再開させ
    るステップとを含む請求項28記載の方法。
  30. 【請求項30】バスを介してデータを転送する方法にお
    いて、 マスタがアービトレーションに勝ったときに、前記バス
    に対してアービトレーションを行う前記マスタにバスを
    許可するステップと、 前記マスタにより、スレーブから前記バスを介してデー
    タを転送するために前記バス上に要求をアサートするス
    テップと、 前記スレーブにより、該スレーブが前記トランザクショ
    ンを完了するためにレディでないことを表示する第1の
    信号をアサートし、かつ前記マスタをリトライするステ
    ップと、 前記スレーブが前記トランザクションを完了するために
    レディでないとする前記第1の信号を前記スレーブがア
    サートするときは、前記マスタが前記バスに対する再ア
    ービトレーションを阻止して、他のマスタが前記バスに
    対するアービトレーションを許容するステップと、 前記スレーブにより、該スレーブが前記トランザクショ
    ンを完了するためにレディであるときは、前記トランザ
    クションを完了するためにレディであることを表示する
    第2の信号をアサートするステップと、 前記マスタが前記バスに対する再アービトレーションを
    許容し、かつ前記マスタがアービトレーションに勝った
    ときは、前記マスタに前記バスについて許可すステップ
    と、 前記マスタにより、前記スレーブから前記バスを介して
    データを転送するように前記バス上に要求を再アサート
    するステップと、 前記スレーブから前記バスを介して前記マスタへ要求さ
    れたデータを送出するステップとを含む方法。
  31. 【請求項31】前記第1の信号はマスタのマスク信号を
    含み、かつ前記マスタが再アービトレーションを行うの
    を阻止する前記ステップは、前記バスに対するアービト
    レーションが阻止されているマスタを識別するマスク・
    インジケータをセットするステップを含む請求項30記
    載の方法。
  32. 【請求項32】前記第2の信号はマスク解放信号を含
    み、かつ前記マスタが前記バスに対する再アービトレー
    ションを許容する前記ステップは、前記マスク・インジ
    ケータをリセットするステップを含む請求項31記載の
    方法。
  33. 【請求項33】更に、前記第1及び第2の信号に従って
    前記マスク・インジケータをセット及びリセットする中
    央アービタ回路におけるマスタ・レジスタに、前記バス
    に接続された前記各マスタについてのマスク・インジケ
    ータを記憶するステップを含む請求項32記載の方法。
  34. 【請求項34】前記バスは接続トランザクション・バス
    である請求項33記載の方法。
  35. 【請求項35】前記接続トランザクション・バスは、ペ
    リフェラル・コンポーネント・インタフェース(PCI)で
    ある請求項34記載の方法。
  36. 【請求項36】更に、前記マスクにおけるマスタ・レジ
    スタに、前記バスに接続された前記各マスタについての
    マスク・インジケータを記憶するステップを含み、前記
    マスタは前記バスに対する分散アービタを実行するもの
    であって、前記マスク・インジケータは前記第1及び第
    2の信号に従って前記マスタ・レジスタ内でセット及び
    リセットされる請求項35記載の方法。
  37. 【請求項37】前記第1及び第2の信号は、更に、前記
    トランザクションに対する要求をアサートした特定のマ
    スタを表すマスタ識別信号を含む請求項31記載の方
    法。
  38. 【請求項38】更に、前記マスタが前記バスに対する再
    アービトレーションを許容するときは、再アービトレー
    ションが阻止された前記マスタに最高の優先順位を割り
    当てるステップを含む請求項37記載の方法。
  39. 【請求項39】前記割り当てるステップは、前記スレー
    ブが前記第2の信号をアサートするときに、前記マスタ
    識別信号により識別された前記マスタのマスク・インジ
    ケータをリセットするステップを含む請求項38記載の
    方法。
  40. 【請求項40】更に、複数のスレーブが異なる複数のマ
    スタからの要求に関連した第2の信号をアサートするス
    テップと、 前記第2の信号をアサートするために前記第2の信号に
    おいて識別されたこれらマスタに対して再アービトレー
    ションを行うために最高の優先順位を割り当てるステッ
    プとを含む請求項39記載の方法。
  41. 【請求項41】更に、前記マスタが前記バスに対する再
    アービトレーションを許容するときは、前記バスに対す
    る再アービトレーションが阻止されていたマスタに最高
    の優先順位を割り当てるステップを含む請求項30記載
    の方法。
  42. 【請求項42】複数のマスタ及び複数のスレーブが前記
    バスに接続され、更に、 個々のマスタに係わるトランザクションのために前記第
    1の信号のアサートに従って、個々の各マスタに対する
    マスク・インジケータを個別的にセットさせる中央アー
    ビタ回路内のマスタ・レジスタに、前記バスに接続され
    た前記各マスタ用のマスク・インジケータを記憶するス
    テップと、 いずれかの前記スレーブが前記第2の信号をアサートす
    るときは、常に、前記マスク・インジケータをセットし
    た全てのマスタ用の前記マスク・インジケータをまとめ
    てリセットさせるステップとを含む請求項31記載の方
    法。
  43. 【請求項43】更に、 前記マスク・インジケータをリセットした前記マスタの
    リストを記憶するステップと、 前記マスク・インジケータがリセットされていた各マス
    タに、他の全てのマスタに優越する優先順位を割り当て
    るステップと、 優先順位が割り付けられていたマスタの間でアービトレ
    ーションを行うステップと、 勝ったマスタに前記バスを許可するステップと、 優先順位が割り付けられた各マスタに前記バスが許可さ
    れた後に、全てのマスタの間でアービトレーションを再
    開させるステップとを含む請求項42記載の方法。
  44. 【請求項44】バスを要求している複数のマスタの間で
    アービトレーションを行い、かつ前記マスタのうちの一
    つに前記バスを許可するステップであって、前記マスタ
    がスレーブとのトランザクションを要求しているステッ
    プと、 前記スレーブが前記トランザクションを完了するために
    レディでないときは、前記マスタをリトライさせるステ
    ップと、 前記スレーブが前記トランザクションを完了するために
    レディとなるまで、前記マスタが前記バスに対する再ア
    ービトレーションを阻止するステップと、 前記スレーブが前記トランザクションを完了するために
    レディであるときは、前記マスタが前記バスに対する再
    アービトレーションを許容するステップとを含む請求項
    44記載の方法。
JP8067667A 1995-04-13 1996-03-25 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置 Pending JPH08297632A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US421114 1995-04-13
US08/421,114 US5621897A (en) 1995-04-13 1995-04-13 Method and apparatus for arbitrating for a bus to enable split transaction bus protocols

Publications (1)

Publication Number Publication Date
JPH08297632A true JPH08297632A (ja) 1996-11-12

Family

ID=23669216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8067667A Pending JPH08297632A (ja) 1995-04-13 1996-03-25 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置

Country Status (4)

Country Link
US (1) US5621897A (ja)
EP (1) EP0737924A3 (ja)
JP (1) JPH08297632A (ja)
KR (1) KR0167818B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050003069A (ko) * 2003-06-30 2005-01-10 주식회사 대우일렉트로닉스 마이크로 컨트롤러의 버스 인터페이스
KR100644596B1 (ko) * 2000-07-27 2006-11-10 삼성전자주식회사 버스 시스템 및 그 버스 중재방법
US7313642B2 (en) 2002-03-20 2007-12-25 Matsushita Electric Industrial Co., Ltd. Bus bridge arbitration method

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793994A (en) * 1996-01-31 1998-08-11 3Com Corporation Synchronous event posting by a high throughput bus
US5805837A (en) * 1996-03-21 1998-09-08 International Business Machines Corporation Method for optimizing reissue commands in master-slave processing systems
US5928346A (en) * 1996-09-11 1999-07-27 Hewlett-Packard Company Method for enhanced peripheral component interconnect bus split data transfer
US5982672A (en) * 1996-10-18 1999-11-09 Samsung Electronics Co., Ltd. Simultaneous data transfer through read and write buffers of a DMA controller
US6119188A (en) * 1997-05-27 2000-09-12 Fusion Micromedia Corp. Priority allocation in a bus interconnected discrete and/or integrated digital multi-module system
US6073199A (en) * 1997-10-06 2000-06-06 Cisco Technology, Inc. History-based bus arbitration with hidden re-arbitration during wait cycles
JPH11122285A (ja) * 1997-10-16 1999-04-30 Fujitsu Ltd Lan電話交換装置及びシステム
US6032178A (en) * 1998-01-12 2000-02-29 Siemens Aktiengesellschaft Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations
JP2000040061A (ja) * 1998-05-20 2000-02-08 Oki Data Corp バス使用権調停システム
US6324622B1 (en) 1998-08-24 2001-11-27 International Business Machines Corporation 6XX bus with exclusive intervention
US6145039A (en) * 1998-11-03 2000-11-07 Intel Corporation Method and apparatus for an improved interface between computer components
US20030110317A1 (en) * 1998-11-03 2003-06-12 Jasmin Ajanovic Method and apparatus for an improved interface between a memory control hub and an input/output control hub
US6189061B1 (en) 1999-02-01 2001-02-13 Motorola, Inc. Multi-master bus system performing atomic transactions and method of operating same
US6732208B1 (en) * 1999-02-25 2004-05-04 Mips Technologies, Inc. Low latency system bus interface for multi-master processing environments
US6581141B1 (en) * 1999-05-18 2003-06-17 International Business Machines Corporation Toggle for split transaction mode of PCI-X bridge buffer
US6792495B1 (en) * 1999-07-27 2004-09-14 Intel Corporation Transaction scheduling for a bus system
US6704822B1 (en) * 1999-10-01 2004-03-09 Sun Microsystems, Inc. Arbitration protocol for a shared data cache
US6374317B1 (en) 1999-10-07 2002-04-16 Intel Corporation Method and apparatus for initializing a computer interface
US6636912B2 (en) * 1999-10-07 2003-10-21 Intel Corporation Method and apparatus for mode selection in a computer system
US7039047B1 (en) 1999-11-03 2006-05-02 Intel Corporation Virtual wire signaling
US6516375B1 (en) 1999-11-03 2003-02-04 Intel Corporation Peripheral component interconnect (PCI) configuration emulation for hub interface
KR100708096B1 (ko) * 2000-07-21 2007-04-16 삼성전자주식회사 버스 시스템 및 그 실행 순서 조정방법
US7028124B2 (en) * 2001-09-26 2006-04-11 Intel Corporation Method and apparatus for dual queue head processing of interrupt endpoints
US7174401B2 (en) * 2002-02-28 2007-02-06 Lsi Logic Corporation Look ahead split release for a data bus
US6948019B2 (en) * 2002-04-30 2005-09-20 Lsi Logic Corporation Apparatus for arbitrating non-queued split master devices on a data bus
US7107420B2 (en) * 2003-08-29 2006-09-12 International Business Machines Corporation Apparatus and method to adjust data transfer rate
US7254658B2 (en) * 2004-06-08 2007-08-07 Arm Limited Write transaction interleaving
US8732368B1 (en) * 2005-02-17 2014-05-20 Hewlett-Packard Development Company, L.P. Control system for resource selection between or among conjoined-cores
US7487267B2 (en) * 2006-02-03 2009-02-03 International Business Machines Corporation Method and apparatus for managing dependencies between split transaction queues
JP5565204B2 (ja) 2010-08-23 2014-08-06 株式会社リコー データ転送装置、データ転送方法およびプログラム、ならびに、画像形成装置
JP5625766B2 (ja) * 2010-11-08 2014-11-19 ソニー株式会社 アービトレーション回路、および、その制御方法
US10558604B2 (en) 2017-12-20 2020-02-11 Qualcomm Incorporated Communication interface transaction security
US11144358B1 (en) 2018-12-06 2021-10-12 Pure Storage, Inc. Asynchronous arbitration of shared resources
US10599601B1 (en) 2019-01-16 2020-03-24 Qorvo Us, Inc. Single-wire bus (SuBUS) slave circuit and related apparatus
US11119958B2 (en) * 2019-04-18 2021-09-14 Qorvo Us, Inc. Hybrid bus apparatus
US11226924B2 (en) 2019-04-24 2022-01-18 Qorvo Us, Inc. Single-wire bus apparatus supporting slave-initiated operation in a master circuit
US10983942B1 (en) 2019-12-11 2021-04-20 Qorvo Us, Inc. Multi-master hybrid bus apparatus
US11409677B2 (en) 2020-11-11 2022-08-09 Qorvo Us, Inc. Bus slave circuit and related single-wire bus apparatus
US11489695B2 (en) 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
US12092689B2 (en) 2021-12-08 2024-09-17 Qorvo Us, Inc. Scan test in a single-wire bus circuit
US11706048B1 (en) 2021-12-16 2023-07-18 Qorvo Us, Inc. Multi-protocol bus circuit

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4789926A (en) * 1985-08-06 1988-12-06 International Business Machines Corporation Digital data processing arbitration system
US4785394A (en) * 1986-09-19 1988-11-15 Datapoint Corporation Fair arbitration technique for a split transaction bus in a multiprocessor computer system
US5257356A (en) * 1991-05-28 1993-10-26 Hewlett-Packard Company Method of reducing wasted bus bandwidth due to slow responding slaves in a multiprocessor computer system
US5469435A (en) * 1994-01-25 1995-11-21 Apple Computer, Inc. Bus deadlock avoidance during master split-transactions

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100644596B1 (ko) * 2000-07-27 2006-11-10 삼성전자주식회사 버스 시스템 및 그 버스 중재방법
US7313642B2 (en) 2002-03-20 2007-12-25 Matsushita Electric Industrial Co., Ltd. Bus bridge arbitration method
KR20050003069A (ko) * 2003-06-30 2005-01-10 주식회사 대우일렉트로닉스 마이크로 컨트롤러의 버스 인터페이스

Also Published As

Publication number Publication date
EP0737924A3 (en) 2001-09-05
US5621897A (en) 1997-04-15
KR0167818B1 (ko) 1999-01-15
KR960038633A (ko) 1996-11-21
EP0737924A2 (en) 1996-10-16

Similar Documents

Publication Publication Date Title
JPH08297632A (ja) 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置
KR970000842B1 (ko) 정보 처리 시스템 및 컴퓨터 시스템
US6496890B1 (en) Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
US6141715A (en) Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction
JP4008987B2 (ja) バス通信システム及びバス調停方法並びにデータ転送方法
US5396602A (en) Arbitration logic for multiple bus computer system
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
US5555383A (en) Peripheral component interconnect bus system having latency and shadow timers
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
US4831523A (en) Multiple DMA controller chip sequencer
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
EP0475005B1 (en) Device for interconnecting channels
JPH05216811A (ja) 二バス間のトランザクションを制御する再試行方法
US6628662B1 (en) Method and system for multilevel arbitration in a non-blocking crossbar switch
US4896266A (en) Bus activity sequence controller
US7174401B2 (en) Look ahead split release for a data bus
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US6606677B1 (en) High speed interrupt controller
US6604159B1 (en) Data release to reduce latency in on-chip system bus
JPH0198048A (ja) 周辺装置制御装置およびアダプタ・インターフェース
US5933616A (en) Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
US6804736B2 (en) Bus access arbitration based on workload
US6430640B1 (en) Self-arbitrating, self-granting resource access
US6826644B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
US6026455A (en) Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system