JPH10283310A - マルチプロセッサ・システムにおけるバス・アービトレーションの方法及び装置 - Google Patents

マルチプロセッサ・システムにおけるバス・アービトレーションの方法及び装置

Info

Publication number
JPH10283310A
JPH10283310A JP10084726A JP8472698A JPH10283310A JP H10283310 A JPH10283310 A JP H10283310A JP 10084726 A JP10084726 A JP 10084726A JP 8472698 A JP8472698 A JP 8472698A JP H10283310 A JPH10283310 A JP H10283310A
Authority
JP
Japan
Prior art keywords
bus
highest priority
requesting
access
requests
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10084726A
Other languages
English (en)
Other versions
JP3485464B2 (ja
Inventor
Kuan Guen Tan
タン・クァン・グエン
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 JPH10283310A publication Critical patent/JPH10283310A/ja
Application granted granted Critical
Publication of JP3485464B2 publication Critical patent/JP3485464B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

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)【要約】 【課題】 共用バスに結合された複数の装置を有するマ
ルチプロセッサ・システムにおいて同時バス要求のアー
ビトレーションを行うための方法を提供すること。 【解決手段】 本発明の1つのバージョンでは、この方
法は、装置から複数のバス要求を受け取るステップと、
最も高い優先順位を有する装置を決定するステップと、
最も高い優先順位を有する装置がバスを要求しているか
どうかを決定するステップと、最も高い優先順位を有す
る装置がバスを要求している場合に最も高い優先順位を
有する装置にバス・アクセスを認可するステップと、最
も高い優先順位を有する装置に論理的に隣接する装置以
降について次の要求側装置を順次探索し、最も高い優先
順位を有する装置がバスを要求していない場合に次の要
求側装置にバス・アクセスを認可するステップと、次の
要求側装置に論理的に隣接する装置に最も高い優先順位
を割り当てるステップとを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にマルチプロ
セッサ・コンピュータ・システムの分野に関し、より具
体的には共通のアドレス・バスまたはデータ・バスの制
御を必要とする複数の装置間でバス・アービトレーショ
ンを実行するための方法に関する。
【0002】
【従来の技術】大量の計算能力を必要とするアプリケー
ションでは、ますますマルチプロセッサ・コンピューテ
ィング・システムが使用されるようになっている。多く
のタイプのマルチプロセッサ・システムが存在するが、
一般に、このようなシステムは、プロセッサ間の資源の
共用を容易にするために共通バス上にまとめて結合され
た複数のプロセッサが独立して動作していることを特徴
とする。当然のことながら、バスはすべてのプロセッサ
に共通し、各プロセッサは独立して動作しているので、
複数のプロセッサが同時に、すなわち、同一クロック・
サイクルでそのバスにアクセスしようと試みることはよ
くあることである。複数のプロセッサがバスの制御権を
獲得しようとした場合、バスからのデータ衝突が発生す
る恐れがある。
【0003】したがって、マルチプロセッサ・コンピュ
ータ・システムがバスに対する同時要求のアービトレー
ションを行う能力を有することは重要なことである。通
常、これは、要求側プロセッサの1つに優先順位を割り
当て、それがアクセスを実行できるようにすることによ
って行われる。バスの制御権を獲得しようと試みる装置
または実際にバスを制御する装置は「バス・マスタ」と
呼ばれることもある。バス・マスタがバスにアクセスし
た後、その優先順位は除去され、バスへのアクセスを必
要とする他のプロセッサに渡される。
【0004】
【発明が解決しようとする課題】バスに結合された様々
なプロセッサ間に優先順位を割り当てる方法は多数存在
する。しかし、アービトレーション方式によってバスに
アクセスする機会がすべてのプロセッサに与えられるこ
とは重要なことである。そうではない場合、1つのプロ
セッサによって繰返しアクセスすると、他のプロセッサ
はバスの制御権を取得することができず、それにより、
他のプロセッサのデータ・ストリームに許されないバス
待ち時間が発生する可能性がある。したがって、本発明
の一目的は、共用バスにアクセスする公平な機会をすべ
てのプロセッサに与えるようなバス・アービトレーショ
ン方法を提供することにある。本発明の追加の目的及び
利点は、以下の開示内容を考慮すれば明らかになるだろ
う。
【0005】
【課題を解決するための手段】本発明の1つの態様は、
共用バスに結合された複数の装置を有するマルチプロセ
ッサ・システムにおいて同時バス要求のアービトレーシ
ョンを行うための装置に関する。一実施例では、この装
置は、装置から複数のバス要求を受け取る手段と、最も
高い優先順位を有する装置を決定する手段と、最も高い
優先順位を有する装置がバスを要求しているかどうかを
決定する手段と、最も高い優先順位を有する装置がバス
を要求している場合に最も高い優先順位を有する装置に
バス・アクセスを認可する手段と、最も高い優先順位を
有する装置に論理的に隣接する装置以降について次の要
求側装置を順次探索し、最も高い優先順位を有する装置
がバスを要求していない場合に次の要求側装置にバス・
アクセスを認可する手段と、次の要求側装置に論理的に
隣接する装置に最も高い優先順位を割り当てる手段とを
含む。
【0006】本発明の他の態様は、共用バスに結合され
た複数の装置を有するマルチプロセッサ・システムにお
いて同時バス要求のアービトレーションを行うための方
法に関する。一実施例では、この方法は、装置から複数
のバス要求を受け取るステップと、最も高い優先順位を
有する装置を決定するステップと、最も高い優先順位を
有する装置がバスを要求しているかどうかを決定するス
テップと、最も高い優先順位を有する装置がバスを要求
している場合に最も高い優先順位を有する装置にバス・
アクセスを認可するステップと、最も高い優先順位を有
する装置に論理的に隣接する装置以降について次の要求
側装置を順次探索し、最も高い優先順位を有する装置が
バスを要求していない場合に次の要求側装置にバス・ア
クセスを認可するステップと、次の要求側装置に論理的
に隣接する装置に最も高い優先順位を割り当てるステッ
プとを含む。
【0007】
【発明の実施の形態】「PowerPC」アーキテクチ
ャで使用するためにIBMから入手可能で、同じくIB
Mから入手可能な「PowerPC 6XX-MX I/O Bus Descripti
on」という資料に詳細に記載された6XX−MXという
入出力バスの例に関連して、本発明の一実施例を説明す
る。当然のことながら、本発明は設計上の選択の問題と
して広範囲の他のシステムに適応可能であることが分か
るだろう。
【0008】次に図1を参照すると、同図には、本発明
の実施例によるシステムのブロック図が示されている。
図示の通り、このシステムは、それぞれバス・ユニット
・コントローラ(「BUC」)30、32、34に結合
された複数の処理装置70、72、74を含む。処理装
置70、72、74の例としては、共用システム・メモ
リへのアクセスを必要とするワークステーション、その
他の装置を含む。例示のため、装置70、72、74は
IBMのRS604ワークステーションとして示されて
いる。このワークステーションは、それぞれIBMのP
CIバス31、33、35によってBUCに結合されて
いる。バス・ユニット・コントローラは、6XX−MX
入出力バス40によりワークステーションとメモリ・コ
ントローラ20との通信を可能にする。メモリ・コント
ローラ20によって制御されるメモリは、ワークステー
ションからの要求信号によってアクセス可能である。ア
ービタとも呼ばれるアービトレーション論理回路10
は、アービトレーション信号バス50によりバス・ユニ
ット・コントローラにアービトレーション信号を出すこ
とによってBUCからの要求のアービトレーションを行
う。
【0009】次に図2を参照すると、同図には、本発明
の実施例によるアービトレーション論理回路10のブロ
ック図が示されている。アービトレーション論理回路1
0は、バス・ユニット・コントローラからパルス式アド
レス及びデータ・バス要求信号を受け取り、他の論理ブ
ロック及びアービトレーション回路による使用のために
その要求信号をレベル信号に変換するパルス/レベル要
求コンバータ論理回路104を示す。バス・ユニット・
コントローラ(図示せず)は、要求信号をパルス/レベ
ル要求コンバータ論理回路104に供給することによ
り、アービトレーション論理回路10からバス・アービ
トレーションを要求する。アドレス・バス要求(「ABR
_」)とデータ・バス要求(「DBR_」)の2通りの要求
信号が存在する。図示の実施例では、論理的に0〜4の
番号が付けられ、アービトレーション論理回路10に接
続された5つのBUCが存在する。これらは、バス・マ
スタからアービトレーション論理回路10への2地点間
信号である。図示の実施例では、データ・バスから独立
してアドレス・バスのアービトレーションを行うことが
できるので、真の分割トランザクションが可能になる。
したがって、データ・バス・マスタはDBR_のみを供給す
る必要がある。
【0010】変換されると、要求は要求決定論理回路1
06に渡され、その回路がバス要求のタイプを決定す
る。図示の実施例では、アービトレーション要求は、ア
ドレス、データ、アドレス/データの3通りのタイプに
することができる。アービトレーション要求については
以下に詳述する。PowerPC命令セットによれば、
このような要求タイプは、ロード命令、ロード応答命
令、ストア命令に対応する。
【0011】要求論理回路106は、優先順位付け論理
回路102と、認可論理回路110と、遅延論理回路1
08とに結合されている。遅延論理回路108はバスか
らバス使用中(「DBSY_」)信号を受け取る。この信号
は、他の何らかの装置が現在バスを使用していることを
アービトレーション論理回路10に通知するものであ
り、アービタ10はそれが要求側装置に認可信号を出す
まで待たなければならない。6XX−MXバスの場合、
データ転送サイズは1ビート、2ビート、4ビート、ま
たは8ビートの長さにすることができる。1ビートのサ
イズは、バス・サイズ及び転送サイズによって決まる。
1ビートの転送の場合、合計バイト数は1〜8バイトで
ある。2ビートまたはそれ以上の転送の場合、合計バイ
ト数は8*(ビート数)である。アービタ10は、バス
を認可する前に必ずDBUSY_をチェックする。DBUSY_が活
動状態である場合、次に優先順位が高い要求は、DBUSY_
が非活動状態になってから2サイクル後に認可される。
活動状態のDBUSY_の持続期間はn−3サイクルの長さで
あり、これは、4ビートまたは8ビート転送のみがDBUS
Y_を使用することを意味する。
【0012】複数ビートのData_Onlyサイクルの場合、D
BUSY_は、DBG_が活動状態になったことを確認してから
1クロック・サイクル後にマスタによって活動状態に励
起され、3転送ビートが残るまで活動状態を維持する。
このため、アービタ10は、マスタ間にデッド・サイク
ルが発生せずに次の装置にバスを認可するための余分な
時間が与えられる。
【0013】優先順位付け論理回路102は、複数の要
求側装置のうちのどれがバス認可を取得する際の優先順
位を有するかを決定する。優先順位付け論理回路102
の動作については、以下に詳述する。
【0014】認可論理回路110は、BUCにデータ認
可信号を供給するデータ認可論理回路114とアドレス
認可論理回路112に信号を供給する。アドレス・バス
認可(「ABG_」)とデータ・バス認可(「DBG_」)とい
う2通りの認可信号がある。これらは、アービタ10か
らバス・マスタへの2地点間信号でもある。データ・バ
ス・マスタはDBG_のみを備えている必要がある。
【0015】アドレス・バス認可は、アドレス・バス上
へのアドレスの励起を開始しなければならないことをバ
ス・マスタに通知するものである。その場合、アービト
レーション論理回路10は、1クロックの間、早期アド
レス転送開始信号(「EATS_」)を励起するが、この信
号は、次のクロックでそのアドレスをアサート解除する
ようマスタに指示し、次のクロックでそのアドレスをラ
ッチするようバス・レシーバに指示するものである。こ
の動作は、アービトレーション論理回路10のEATS
論理回路116によって行われる。
【0016】アドレス専用要求サイクルは、アドレス・
バス・マスタがABR_信号をアサートすることから始ま
る。次にアービタ10は、装置がバスへのアクセスを取
得できるようにする要求側装置のためにアドレス認可論
理回路112からのABG_信号をアサートする。また、ア
ービタ10により、EATS論理回路116は、ABG_が
アサートされた後の次のクロックでEATS_をアサートす
る。要求側装置は、ABG_の1クロック・サイクル後にバ
ス上でそのアドレスを励起し、次に3状態サイクルが続
くことになる。このため、1クロック・サイクルおきに
アドレス認可が与えられる。これについては、図5に関
連して以下に詳述する。図5は、装置A及びBという2
つの装置からの要求信号に応答するアービタ10の動作
を示すタイミング図である。第1のクロックでは、装置
AがABR_信号をアサートする。第2のクロックでは、ア
ービタ10はAに対してABG_信号をアサートし、したが
って、Aにバスを認可する。第3のクロック・サイクル
では、アービタは装置Aに対してEATS_信号をアサート
し、その結果、Aはクロック・サイクル4でバス上にア
ドレスを励起することになる。同様に、サイクル3では
BがABR_信号をアサートし、サイクル4でABG_信号を受
け取る。アービタ10はサイクル5で装置BへのEATS_
信号を励起し、装置Bはサイクル6でそのアドレスをバ
ス上に励起する。
【0017】装置は、アドレス・バスを要求する場合、
1クロック・サイクルの間、そのABR_線を発振し、ABG_
が活動状態になるまで待つ。装置からのパイプライン式
要求をサポートする実施例が提供されない限り、待機期
間中に装置は他のアドレス要求を出さない。
【0018】データ専用サイクルは、データ・バス・マ
スタがそのDBR_線を発振したときに始まる。DBUSY_が非
活動状態であり、現在バスを占有している装置がまった
くない場合、アービタ10はマスタにバスを認可するこ
とになる。これについては、図6のタイミング図に詳細
に示す。
【0019】図6は、データ専用サイクルにおける単一
ビート転送を示すタイミング図である。この場合、要求
側装置は1つしか存在しない。要求側装置はサイクル1
でデータ・バス要求信号をアサートする。次にアービタ
10は、DBUSY_がアサートされていないと決定した後に
サイクル2でデータ・バス認可信号をアサートする。図
7は、図6に示すものと同様のタイミング図であるが、
この場合、複数ビート転送が示されている。
【0020】Address_Dataサイクルは、マスタがそのAB
R_信号とDBR_信号の両方を発振したときに始まる。この
サイクルは、アドレス専用またはData_Onlyサイクルと
同様である。しかし、アービタ10は、マスタにバスを
認可する前に、保留中の認可(DBUSY_が非活動状態)が
まったくないことを確認しなければならない。通常、マ
スタは、1つまたは複数のデータ・サイクルが続く1サ
イクルの間、バス上でアドレスを励起する。
【0021】アービトレーション論理回路10は、バス
・ユニット・コントローラからのすべてのバス要求を処
理する。各BUCは、その実施態様に応じて、アドレス
・バスまたはデータ・バスあるいはその両方を要求する
ことができる。いずれのBUCも任意のサイクルで要求
をアサートすることができるので、任意のサイクルで複
数の要求をアサートできる場合が多い。しかし、6XX
−MXバスは多重バスなので、この実施例では一度に1
つのアドレス・バス認可または1つのデータ・バス認可
を発行することができる。これについては、図8に関連
して詳細に示す。図8は、アドレス/データ・サイクル
のタイミング図である。この場合、要求側装置は、クロ
ック1でアドレス・バス要求とデータ・バス要求の両方
をアサートする。アドレス・バスはクロック2で認可さ
れ、EATS信号はサイクル3でアービタ10によって
生成される。データ・バスはサイクル3で要求側装置に
認可され、アドレス及びデータ転送はサイクル4で開始
される。
【0022】一実施例では、アービタ10は、バスへの
アクセスを獲得する同等の機会をすべてのBUCに与え
るように設計された公平な優先順位方式に基づいて動作
する。アービタ10はそのバスの前のユーザを追跡する
ので、次に高い優先順位の装置にバスを与えるという決
定を下すことができる。次に発行される認可は、前の認
可と現在の要求に基づくものである。
【0023】このアービトレーション方式は1組の規則
に従うものである。第1に、ある装置がバスを要求し、
それが最も高い優先順位を有する場合、その装置にはバ
スが認可されることになる。たとえば、装置Aが最も高
い優先順位を有し、装置Aがバスを要求する場合、バス
は装置Aに認可されることになる。第2に、ある装置が
バスを取得するためにその機会を利用しない場合、すな
わち、要求を発行しない場合、次に優先順位の高い装置
は、最も高い優先順位を有する装置に論理的に隣接する
装置、すなわち、近隣装置になる。第3に、現行装置が
バスにアクセスしている場合、隣接装置には、次の認可
のために最も高い優先順位が割り当てられることにな
る。たとえば、Bにバスが割り当てられた場合、Cは次
に優先順位が高いものになる。
【0024】上記の規則については、図4に示すテーブ
ルに関連して以下に詳述する。同図には、バスにアクセ
ス可能な5つの装置が示されている。5つの装置のそれ
ぞれには、論理識別子A〜Eがそれぞれ割り当てられて
いる。各装置の隣接装置または近隣装置は、その順序に
おいて論理的に次の装置である装置である。たとえば、
装置Aの場合、その近隣はBである。装置Bの場合、そ
の近隣はCであり、装置Eの場合、その近隣はAであ
る。次に図4に示すテーブルを参照すると、要求400
で同時にバスを要求している装置がA、B、C、Dの4
つであることが分かる。最も高い優先順位を有する装置
はAである。この場合、規則1によれば、バスの制御権
はAに認可される。次に、最も高い優先順位は装置Bに
割り当てられる。したがって、次のサイクルで装置Bが
まだバスを要求している場合、バスは装置Bに認可され
る。要求402では、装置A、C、Dがバスを要求して
いることが分かる。この例では、装置Bが最も高い優先
順位を有する。装置Bはバスを要求していないので、ア
ービタの優先順位論理回路は、次にバスを要求する装置
を探す順次探索を実行する。この場合、Cはバスを要求
する順序において次の装置になり、そのバス要求が認可
される。最も高い優先順位は、装置Cに論理的に隣接す
る装置、すなわち、装置Dに割り当てられる。
【0025】例404では、装置Bと装置Eがバスを要
求し、装置Dには最も高い優先順位が割り当てられてい
る。装置Dはバスを要求していない。したがって、装置
Dのすぐ隣の装置以降について順次探索すると、Eがバ
スを要求し、Eにバスが認可されることが分かる。次に
高い優先順位は装置Aに割り当てられることになる。例
406では、装置Dがバスを要求し、Aには最も高い優
先順位が割り当てられている。バスは装置Dに認可さ
れ、次の優先順位は装置Eに割り当てられる。最後に、
例408では、装置Eがバスを要求し、最も高い優先順
位は装置Aに割り当てられている。装置Eにはバスが認
可され、Aには次のサイクルの間に最も高い優先順位が
割り当てられる。
【0026】図3は、本発明の実施例によるアービトレ
ーションを示す流れ図である。この場合、システムはス
テップ300から始め、ステップ302に移行し、そこ
でバス要求信号を受け取る。ステップ304では、どの
装置が最も高い優先順位を有するかをアービタが決定す
る。次にアービタはステップ306に移行し、そこで最
も高い優先順位を有する装置が実際にバスを要求してい
るかどうかを決定する。要求している場合、アービタは
ステップ308に移行し、最も優先順位の高い装置にバ
スを認可する。
【0027】最も高い優先順位を有する装置がバスを要
求していない場合、アービタはステップ310に移行
し、そこで次の要求側装置を順次探索する。この探索
は、現在最も高い優先順位が割り当てれている装置のす
ぐ隣の装置から始まる。次の要求側装置が検出される
と、アービタはステップ312に移行し、次の要求側装
置にバスを認可する。ステップ314でアービタは、ス
テップ312でバスが認可された装置の近隣装置に対し
て次のアクセス用の優先順位を割り当てる。システム
は、先頭に戻り、次のサイクルのアービトレーションを
行う。
【0028】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0029】(1)共用バスに結合された複数の装置を
有するマルチプロセッサ・システムにおいて同時バス要
求のアービトレーションを行うための装置において、装
置から複数のバス要求を受け取る手段と、最も高い優先
順位を有する装置を決定する手段と、最も高い優先順位
を有する装置がバスを要求しているかどうかを決定する
手段と、最も高い優先順位を有する装置がバスを要求し
ている場合に最も高い優先順位を有する装置にバス・ア
クセスを認可する手段と、最も高い優先順位を有する装
置に論理的に隣接する装置以降について次の要求側装置
を順次探索し、最も高い優先順位を有する装置がバスを
要求していない場合に次の要求側装置にバス・アクセス
を認可する手段と、次の要求側装置に論理的に隣接する
装置に最も高い優先順位を割り当てる手段とを含む装
置。 (2)複数のバス要求を受け取る前記手段が、前記装置
によって生成されたバス要求信号を受け取るための論理
回路を含む、上記(1)に記載の装置。 (3)最も高い優先順位を有する装置を決定する前記手
段が、現行要求の直前にバスにアクセスした装置の論理
識別子を格納する優先順位論理回路を含む、上記(1)
に記載の装置。 (4)前記バスがアドレス・バスとデータ・バスとを含
む、上記(1)に記載の装置。 (5)バス・アクセスを認可する前記手段が、前記アド
レス・バスと前記データ・バスに個別にアクセスを認可
するための認可論理回路を含む、上記(4)に記載の装
置。 (6)共用バスに結合された複数の装置を有するマルチ
プロセッサ・システムにおいて同時バス要求のアービト
レーションを行うための方法において、装置から複数の
バス要求を受け取るステップと、最も高い優先順位を有
する装置を決定するステップと、最も高い優先順位を有
する装置がバスを要求しているかどうかを決定するステ
ップと、最も高い優先順位を有する装置がバスを要求し
ている場合に最も高い優先順位を有する装置にバス・ア
クセスを認可するステップと、最も高い優先順位を有す
る装置に論理的に隣接する装置以降について次の要求側
装置を順次探索し、最も高い優先順位を有する装置がバ
スを要求していない場合に次の要求側装置にバス・アク
セスを認可するステップと、次の要求側装置に論理的に
隣接する装置に最も高い優先順位を割り当てるステップ
とを含む方法。 (7)複数のバス要求を受け取る前記ステップが、前記
装置によって生成されたバス要求信号を受け取ることを
含む、上記(6)に記載の方法。 (8)最も高い優先順位を有する装置を決定する前記ス
テップが、現行要求の直前にバスにアクセスした装置の
論理識別子を格納することを含む、上記(6)に記載の
方法。 (9)前記バスがアドレス・バスとデータ・バスとを含
む、上記(6)に記載の方法。 (10)バス・アクセスを認可する前記ステップが、前
記アドレス・バスと前記データ・バスに個別にアクセス
を認可することを含む、上記(9)に記載の方法。
【図面の簡単な説明】
【図1】本発明の実施例によるアービトレーション論理
回路を有するマルチプロセッサ・システムのブロック図
である。
【図2】本発明の実施例によるアービタのブロック図で
ある。
【図3】本発明の実施例によるアービタの動作を示す流
れ図である。
【図4】本発明の実施例による複数の要求側装置に対す
るアービタの動作を示すテーブルである。
【図5】本発明の実施例により共通バスへのアクセスを
認可するアービタの動作を示すタイミング図である。
【図6】本発明の実施例により共通バスへのアクセスを
認可するアービタの動作を示すタイミング図である。
【図7】本発明の実施例により共通バスへのアクセスを
認可するアービタの動作を示すタイミング図である。
【図8】本発明の実施例により共通バスへのアクセスを
認可するアービタの動作を示すタイミング図である。
【符号の説明】
10 アービトレーション論理回路 20 メモリ・コントローラ 30 バス・ユニット・コントローラ(「BUC」) 32 バス・ユニット・コントローラ(「BUC」) 34 バス・ユニット・コントローラ(「BUC」) 31 PCIバス 33 PCIバス 35 PCIバス 40 6XX−MX入出力バス 50 アービトレーション信号バス 70 処理装置 72 処理装置 74 処理装置

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】共用バスに結合された複数の装置を有する
    マルチプロセッサ・システムにおいて同時バス要求のア
    ービトレーションを行うための装置において、 装置から複数のバス要求を受け取る手段と、 最も高い優先順位を有する装置を決定する手段と、 最も高い優先順位を有する装置がバスを要求しているか
    どうかを決定する手段と、 最も高い優先順位を有する装置がバスを要求している場
    合に最も高い優先順位を有する装置にバス・アクセスを
    認可する手段と、 最も高い優先順位を有する装置に論理的に隣接する装置
    以降について次の要求側装置を順次探索し、最も高い優
    先順位を有する装置がバスを要求していない場合に次の
    要求側装置にバス・アクセスを認可する手段と、 次の要求側装置に論理的に隣接する装置に最も高い優先
    順位を割り当てる手段とを含む装置。
  2. 【請求項2】複数のバス要求を受け取る前記手段が、前
    記装置によって生成されたバス要求信号を受け取るため
    の論理回路を含む、請求項1に記載の装置。
  3. 【請求項3】最も高い優先順位を有する装置を決定する
    前記手段が、現行要求の直前にバスにアクセスした装置
    の論理識別子を格納する優先順位論理回路を含む、請求
    項1に記載の装置。
  4. 【請求項4】前記バスがアドレス・バスとデータ・バス
    とを含む、請求項1に記載の装置。
  5. 【請求項5】バス・アクセスを認可する前記手段が、前
    記アドレス・バスと前記データ・バスに個別にアクセス
    を認可するための認可論理回路を含む、請求項4に記載
    の装置。
  6. 【請求項6】共用バスに結合された複数の装置を有する
    マルチプロセッサ・システムにおいて同時バス要求のア
    ービトレーションを行うための方法において、 装置から複数のバス要求を受け取るステップと、 最も高い優先順位を有する装置を決定するステップと、 最も高い優先順位を有する装置がバスを要求しているか
    どうかを決定するステップと、 最も高い優先順位を有する装置がバスを要求している場
    合に最も高い優先順位を有する装置にバス・アクセスを
    認可するステップと、 最も高い優先順位を有する装置に論理的に隣接する装置
    以降について次の要求側装置を順次探索し、最も高い優
    先順位を有する装置がバスを要求していない場合に次の
    要求側装置にバス・アクセスを認可するステップと、 次の要求側装置に論理的に隣接する装置に最も高い優先
    順位を割り当てるステップとを含む方法。
  7. 【請求項7】複数のバス要求を受け取る前記ステップ
    が、前記装置によって生成されたバス要求信号を受け取
    ることを含む、請求項6に記載の方法。
  8. 【請求項8】最も高い優先順位を有する装置を決定する
    前記ステップが、現行要求の直前にバスにアクセスした
    装置の論理識別子を格納することを含む、請求項6に記
    載の方法。
  9. 【請求項9】前記バスがアドレス・バスとデータ・バス
    とを含む、請求項6に記載の方法。
  10. 【請求項10】バス・アクセスを認可する前記ステップ
    が、前記アドレス・バスと前記データ・バスに個別にア
    クセスを認可することを含む、請求項9に記載の方法。
JP08472698A 1997-04-04 1998-03-30 マルチプロセッサ・システムにおけるバス・アービトレーションの方法及び装置 Expired - Fee Related JP3485464B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/835,132 US5931931A (en) 1997-04-04 1997-04-04 Method for bus arbitration in a multiprocessor system
US08/835132 1997-04-04

Publications (2)

Publication Number Publication Date
JPH10283310A true JPH10283310A (ja) 1998-10-23
JP3485464B2 JP3485464B2 (ja) 2004-01-13

Family

ID=25268670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08472698A Expired - Fee Related JP3485464B2 (ja) 1997-04-04 1998-03-30 マルチプロセッサ・システムにおけるバス・アービトレーションの方法及び装置

Country Status (2)

Country Link
US (1) US5931931A (ja)
JP (1) JP3485464B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6253269B1 (en) * 1998-12-22 2001-06-26 3Com Corporation Bus arbiter system and method for managing communication buses
JP3439373B2 (ja) * 1999-05-12 2003-08-25 日本電気通信システム株式会社 競合優先制御回路
US6738845B1 (en) 1999-11-05 2004-05-18 Analog Devices, Inc. Bus architecture and shared bus arbitration method for a communication device
US6550020B1 (en) 2000-01-10 2003-04-15 International Business Machines Corporation Method and system for dynamically configuring a central processing unit with multiple processing cores
EP1170669B1 (en) * 2000-07-05 2006-03-29 STMicroelectronics S.r.l. Arbitration method and circuit architecture therefor
US6631433B1 (en) * 2000-09-27 2003-10-07 Emc Corporation Bus arbiter for a data storage system
US20130019041A1 (en) * 2011-07-12 2013-01-17 Lsi Corporation Bit slice round robin arbiter
US9563590B2 (en) * 2014-03-17 2017-02-07 Nxp Usa, Inc. Devices with arbitrated interface busses, and methods of their operation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4536839A (en) * 1982-03-30 1985-08-20 Mai Basic Four, Inc. Memory request arbitrator
US4814974A (en) * 1982-07-02 1989-03-21 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable memory-based arbitration system for implementing fixed and flexible priority arrangements
US4949247A (en) * 1988-02-23 1990-08-14 Stellar Computer, Inc. System for transferring multiple vector data elements to and from vector memory in a single operation
US5088024A (en) * 1989-01-31 1992-02-11 Wisconsin Alumni Research Foundation Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit
US5301333A (en) * 1990-06-14 1994-04-05 Bell Communications Research, Inc. Tree structured variable priority arbitration implementing a round-robin scheduling policy
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
US5440713A (en) * 1992-05-29 1995-08-08 Industrial Technology Research Institute M-way N-port paged-interleaved memory system
US5357512A (en) * 1992-12-30 1994-10-18 Intel Corporation Conditional carry scheduler for round robin scheduling
US5367679A (en) * 1992-12-30 1994-11-22 Intel Corporation Round robin scheduler using a scheduler carry operation for arbitration
US5459840A (en) * 1993-02-26 1995-10-17 3Com Corporation Input/output bus architecture with parallel arbitration
US5634060A (en) * 1994-08-09 1997-05-27 Unisys Corporation Method and apparatus for high-speed efficient bi-directional communication between multiple processor over a common bus
US5715475A (en) * 1994-12-29 1998-02-03 Intel Corporation Topological identification and initialization of a system for processing video information
KR0155269B1 (ko) * 1995-01-16 1998-11-16 김광호 버스 중재방법 및 그 장치

Also Published As

Publication number Publication date
JP3485464B2 (ja) 2004-01-13
US5931931A (en) 1999-08-03

Similar Documents

Publication Publication Date Title
US5710891A (en) Pipelined distributed bus arbitration system
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US5623672A (en) Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
US5548762A (en) Implementation efficient interrupt select mechanism
GB2216368A (en) Bus arbitration method and apparatus
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
AU687627B2 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
KR100252752B1 (ko) 다단계 제어 버스 중재장치
KR100932359B1 (ko) 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템
JPH0683763A (ja) 中央アービタをスレーブアービタに変換する方法およびシステム
US7539806B2 (en) Arbitrator and its arbitration method
JP3485464B2 (ja) マルチプロセッサ・システムにおけるバス・アービトレーションの方法及び装置
EP1187029B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
JPH08263312A (ja) バス仲裁方法及びその装置
US20080059674A1 (en) Apparatus and method for chained arbitration of a plurality of inputs
US5708783A (en) Data bus arbiter for pipelined transactions on a split bus
JPH0581178A (ja) パイプラインバス
WO2003034243A1 (en) A computer system with a communication bus
US5815676A (en) Address bus arbiter for pipelined transactions on a split bus
JPH08339326A (ja) マルチプロセッサ装置
JPS61248153A (ja) マルチプロセツサシステムにおけるメモリアクセス制御方式
JP2882341B2 (ja) 共有資源アクセス調停方式
JPH08221357A (ja) 複数のバスを備えるコンピュータシステム、バス接続装置およびバス制御方法
JPH06161951A (ja) バス制御方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees