JPH0926933A - パイプライン分散バス・アービトレーション・システム - Google Patents
パイプライン分散バス・アービトレーション・システムInfo
- Publication number
- JPH0926933A JPH0926933A JP8106079A JP10607996A JPH0926933A JP H0926933 A JPH0926933 A JP H0926933A JP 8106079 A JP8106079 A JP 8106079A JP 10607996 A JP10607996 A JP 10607996A JP H0926933 A JPH0926933 A JP H0926933A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- subsystems
- subsystem
- clock cycle
- during
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/374—Handling 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
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
ブシステム、たとえばプロセッサの間のバス競合を効率
的に解決するスケーラブルで、モジュラ性のあるパイプ
ライン分散バス・アービトレーション・システムを提供
する。 【解決手段】 アービトレーション・システムはサブシ
ステムからバス要求を受け取り、次のバス・マスタを独
立して決定する複数の分散バス・アービタを含んでい
る。アービトレーション・クロック・サイクル中のサブ
システム間の変化は、アービトレーション・クロック・
サイクルの直前のクロック・サイクル中に活動状態であ
るシステム・バス要求に基づいており、アービトレーシ
ョン・クロック・サイクル中にアサートされたシステム
・バス要求と無関係である。さらに、アービトレーショ
ン・プロトコルは現行バス・マスタ、すなわちシステム
・バスを駆動しているバス・マスタを優先的に処理す
る。
Description
テム・アーキテクチャの分野に関する。詳細にいえば、
本発明はシステム・バス・アービトレーション・プロト
コルに関する。
のような多数のサブシステムを備えた効率のよいシステ
ム・アーキテクチャの設計にあたり、サブシステムが共
用する一般的なシステム・バスを使用することは、いく
つかの重要な設計の目標を満たすのに有用である。これ
らの目標にはサブシステム間の相互接続の総数およびコ
ストの最小化、サブシステムのインタフェースにおける
モジュール性の維持、アドオン・サブシステム、たとえ
ば、拡張メモリおよび周辺機器に対するインタフェース
の統合の単純化などがある。しかしながら、システム・
バスを共用すると、バス・アービトレーション・プロト
コルを使用して、サブシステムによる必然的なバス競合
を解決することが必要となる。
レーション・プロトコルは、2つの一般的なクラス、す
なわち、集中アービトレーション・プロトコルと分散ア
ービトレーション・プロトコルに分けられる。図1Aに
示すような、例示的な従来の集中アービトレーション・
システム110において、システム110はプロセッサ
111、112、113、114、システム・バス11
8および集中アービタ119を含んでいる。システム・
バス118、たとえば、Address_busはプロ
セッサ111、112、113、114および集中アー
ビタ119に結合されている。さらに、プロセッサ11
1、112、113、114の各々は、バス要求ライン
Req_0、Req_1、Req_2、Req_3の1
つおよびバス・グラント・ラインBus_Grant_
0、Bus_Grant_1、Bus_Grant_
2、Bus_Grant_3の1つにそれぞれ結合され
ている。
タであり、すべてのバス競合のアービトレーションを担
う。プロセッサ111、112、113、114の1つ
がシステム・バス118を駆動することを必要とする場
合、適切なバス要求ラインを介して集中アービタ119
に要求を行う。他のプロセッサがシステム・バス118
を使用していない場合、集中アービタ119はバス11
8を要求元プロセッサに割り当てる。逆に、2つ以上の
プロセッサが所定の期間内にバス要求を行った場合、集
中アービタ119は適切な割振り手法、たとえば、ラウ
ンド・ロビン手法や所定の優先順位手法を使用して、ど
のプロセッサに次のバス・マスタを割り当てるかを決定
する。いずれの場合にも、集中アービタ119はバス・
グラントを適切なバス・グラント・ラインによって割り
当てられたプロセッサに伝える。たとえば、プロセッサ
111はバス要求ラインReq_0によってアービタ1
19に対して要求を行い、最終的に、バス・グラント・
ラインBus_Grant_0によってアービタ119
からグラントを受け取る。
システム120を示しており、これはプロセッサ12
1、122、123、124およびシステム・バス12
8を含んでいる。システム・バス128、たとえばAd
dress_busはプロセッサ121、122、12
3、124に結合されている。さらに、プロセッサ12
1、122、123、124はバス要求ラインReq_
0、Req_1、Req_2、Req_3により、また
バス制御ラインBus_Busy_0、Bus_Bus
y_1、Bus_Busy_2、Bus_Busy_3
によって互いに結合されている。
べてのプロセッサ121、122、123、124がバ
ス競合の同時アービトレーションおよび同一のプロセッ
サが次のバス・マスタとなるように割り当てることを担
うようにする。たとえば、プロセッサ121、122、
123、124の1つがシステム・バス128を駆動す
ることを必要とする場合、要求はバス128に結合され
ているその他のすべてのプロセッサに該当する適切なバ
ス要求ラインによって同報通知する。他のプロセッサが
システム・バス128を競合していない場合、すべての
他のプロセッサは独立してバス128を要求元プロセッ
サに割り当てる。逆に、2つ以上のプロセッサが所定の
期間内にバス要求を行った場合、プロセッサ121、1
22、123、124の各々は適切な同一の割振り手法
を使用して、どのプロセッサが次のバス・マスタになる
べきかに関して独立して同一の結論に達する。いずれの
場合でも、次のバス・マスタに割り当てられたプロセッ
サは、適切なバス・ビジィ・ラインをアサートすること
によってシステム・バス128を取得し、これによって
他のすべてのプロセッサにシステム・バス128が現在
使用中である旨を通知する。たとえば、プロセッサ12
1はバス要求をバス要求ラインReq_0に同報通知す
る。システム・バス128が自由であり、他のバス要求
ラインReq_1、Req_2およびReq_3がいず
れも優先順位の高いプロセッサによってアサートされて
いない場合には、プロセッサ121はバス制御ラインB
us_Busy_0をアサートすることによってシステ
ム・バス128を取得する。付録AはI.E.E.E.
規格896.2−1991に基づく「Futurebu
s+」というこのような分散アービトレーション方式の
仕様である。
バス・アービトレーション・プロトコルにおいて、バス
・アービトレーションから生じる全体的な遅延を最小限
とするためには、バス要求の送信および受信、ならびに
次のバス・マスタを割り当てるという順次タスクは、同
一のシステム・クロック・サイクルで完了する。バス要
求の処理および対応するバス・ドライバ割当てを1シス
テム・クロック・サイクルで完了することを試みるのが
有利であるが、システム・クロック速度は、より高速な
プロセッサ・クロックを備えているプロセッサに応じて
増加するので、バス要求を受け取り、単一の高速システ
ム・クロック・サイクル内でアービトレーション処理を
完了する能力はもはや達成できなくなる。それ故、これ
らの従来のバス・アービトレーション・プロトコルはよ
り高速なプロセッサに対してスケーラブル(scalable)
ではなくなる。システム設計者はバス競合を解決するた
めにシステム・クロック速度を遅くするか、あるいは複
数のシステム・クロック・サイクルを使用するかのいず
れかに集中している。その結果、遅いシステム・クロッ
ク・サイクルあるいはバス競合のアービトレーションの
ためだけに挿入される特別なシステム・クロック待ち時
間のいずれかによって、パフォーマンスが抑制される。
クロック速度が速くなった場合に、効率がよく、費用効
果が高く、モジュール性があり、スケーラブルなアービ
トレーションの解決策が必要である。
・バスに結合されたサブシステム、たとえばプロセッサ
の間のバス競合を効率よく解決するスケーラブルで、モ
ジュール性があるパイプライン分散バス・アービトレー
ション・システムを提供する。アービトレーション・シ
ステムは複数の分散バス・アービタを含んでおり、これ
らはサブシステムからのバス要求を受け取り、次のバス
・マスタを独立して決定する。
の原理がシステム・バスによる転送に関連したシステム
・クロックの待ち時間を最小とする。まず、アービトレ
ーション・クロック・サイクル中のサブシステム間の変
化はアービトレーション・クロック・サイクルの直前の
クロック・サイクル中に活動状態のシステム・バス要求
に基づいており、アービトレーション・クロック・サイ
クル中にアサートされるシステム・バス要求と無関係で
ある。第2に、アービトレーション・プロトコルは、シ
ステム・バスを優先的に駆動する現行のバス・マスタを
処理する。第3に、システム・バス上の出力バス信号、
たとえば、バス要求および駆動許可信号は介入アービト
レーション論理を何ら必要とすることなく、サブシステ
ムの出力レジスタによって直接生成される。同様に、入
力バス信号を受け取るための、システム・バスとサブシ
ステムの入力レジスタの間に結合されたアービトレーシ
ョン論理は存在しない。すなわち、入力レジスタはシス
テム・バスに直接結合される。
ン・プロセスをクリティカル・タイミング・パスから排
除することが可能となり、これによってシステムが所与
の集積回路(IC)技術で可能な最大システム周波数で
作動することが可能となり、これによってシステム・ク
ロック待ち時間全体が少なくなる。さらに、各アービト
レーション・タスクはプロセッサの速度にかかわりなく
システム・クロック・サイクル内で完了する。その結
果、現行のバス・マスタを維持するアービトレーション
待ち時間は1システム・クロック・サイクルであり、バ
ス・マスタを選択し、切り換える待ち時間は2システム
・クロック・サイクルである。
て、「リアルパーキング」モードも可能となり、これは
システム・バスで競合する可能性のあるバス・マスタが
2つだけの単純なシステムでのアービトレーション待ち
時間をさらに短縮する。単純なシステムの場合、現行の
バス・マスタを維持するアービトレーション待ち時間を
ゼロ・システム・クロック・サイクルまで減らすことが
できるが、現行のバス・マスタを切り換える待ち時間は
4システム・クロック・サイクルまで増加する。
ロビン・プロトコルを使用して、システム・バスに対し
て競合するサブシステムのアクセスに優先順位をつけ
る。各サブシステムはシステム・バス上のポート、すな
わちロケーションを占め、一意の識別番号(ID)を割
り当てられる。あらゆるポートはどのポートが最終ポー
ト・ドライバであるかを追跡し、最終ポート・ドライバ
の識別に基づいてどのポートを次のバス・マスタに割り
当てるか、すなわち選択するかを同時に(並行して)決
定する。したがって、あるポートがアービトレーション
に勝ち、現行バス・マスタになると、あらゆるポートご
とに格納されている最終ポート・ドライバのアイデンテ
ィティが新しい現行バス・マスタのIDによって更新さ
れる。効率の点で、最終ポート・ドライバを優先順位割
当て中に優先的に処理する。まず、システムのリセット
時に、アービトレーション・システムは、あらゆるサブ
システムによって最終ポート・ドライバと事前定義され
たポートを選択することによって同期化される。
・プロトコルによって、事前割り当てされた特別なポー
トを優先的に処理可能なものもある。すなわち、特殊ポ
ートがラウンドロビン方式に関与する必要がない。その
代わり、特殊ポートにはそのバス要求がアサートされた
ときにもっとも高い優先順位が与えられる。特殊ポート
・プロトコルは高水準システム・アーキテクチャの設計
に独特の融通性を提供して有利である。それ故、特殊ポ
ートがアービトレーションに勝った場合、システムに結
合されているすべてのポートによって維持されている最
終ポート・ドライバのアイデンティティは、特殊ポート
がラウンドロビン・プロトコルに関与しないため、更新
されない。
イバはクロック・サイクル内でバス要求をアサートする
ことが認められている唯一のサブシステムであり、すぐ
次のクロック・サイクルでシステム・バスを直ちに駆動
する。システム・バスの駆動時に、第1のサブシステム
が現行バス・マスタになる。その後、現行バス・マスタ
はそのバス要求ラインを保持することだけによって、シ
ステム・クロックの待ち時間なしに複数のパケットを連
続して伝送することを許可される。システム・バスのデ
ッドロックの可能性を解消するために、現行バス・マス
タはそのバスを放棄する前にゼロないし複数のトランザ
クション・パケットを駆動するが、現行バス・マスタ
は、有限数のクロック・サイクル内にバスを放棄しなけ
ればならない。さらに、現行ドライバにペンディングと
なっているバス要求がもはやない場合、現行バス・マス
タはそのバス要求ラインを放棄しなければならない。
のサブシステムが不活動なシステム・バスを駆動する必
要がある場合、第2のサブシステムは第1のクロック・
サイクルでそのバス要求ラインをアサートする。すべて
のそれぞれのバス・アービタ内のアービトレーションが
次のクロック・サイクル、すなわち第2のクロック・サ
イクルで生じる。他のサブシステムがいずれも第2のサ
ブシステムよりも高い優先順位を有していないものと想
定すると、第2のサブシステムに次のバス・マスタを割
り当てることができ、このサブシステムが第3のシステ
ム・クロック・サイクルでバスを駆動することが可能と
される。それ故、要求元サブシステムが最終ポート・ド
ライバでなく、システム・バスが不活動状態である場
合、2つの遅延システム・クロック・サイクルが必要と
なる。
・システムの利点としては、システム・クロック速度、
たとえば、プロセッサ・クロック速度が上がったときに
アービトレーションをスケーリングする、クリティカル
・パスからアービトレーション論理を排除することによ
って達成される機能がある。スケーラビリティが有利な
のは、ほとんどのディジタル・コンピュータが同期シス
テム・クロックに基づいており、したがって、パフォー
マンスを最適化するのに高いクロック速度が重要だから
である。それ故、アービトレーション待ち時間を長くせ
ずにアービトレーション・システムをスケーリングでき
ることによって、システム・クロック・サイクルを最短
化するとともに、最短のアービトレーション待ち時間を
維持することが可能となる。システムのモジュラリティ
はシステム・バスを拡張し、サブシステムの数を増やす
ことを容易とする。他の利点としては、最終ポート・ド
ライバが現行バス・マスタになるまでの待ち時間が最短
であることがあり、これはポートを占有するサブシステ
ムがシステム・バスにおいてバースト・トラフィックを
生成するプロセッサなどのシステムにおいて特に重要で
ある。
は以下の説明から明らかとなろう。
データ・フロー、フロー制御、およびメモリ作動を調整
するためにシステム・バスに結合されている中央コント
ローラ。 システム・バス・マスタ:システム・バスでデータ/ア
ドレス転送を開始できるサブシステム。 次のバス・マスタ:次のシステム・クロック・サイクル
でシステム・バスを駆動することを認められているサブ
システム。 現行バス・マスタ:システム・バスを駆動することを現
在認められているサブシステム。 最終ポート・ドライバ:システム・バスを駆動すること
を最後に認められていたサブシステム。 ポート:一意のポート識別子を有する、システム・バス
上のサブシステムが占有しているロケーションまたは位
置。
って本発明を完全に理解させる。これらの詳細は効率的
なパイプライン分散バス・アービトレーション・システ
ムを実施する際にシステム設計者を援助する機能ブロッ
クおよび例示的な所定のアービトレーション優先順位方
式を含んでいる。バス・アービトレーション・システム
を特定のインプリメンテーションによって説明するが、
本発明は広範囲にわたるシステム・アーキテクチャおよ
び環境に適用できるものである。他の場合においては、
本発明を不必要に不明確としないため、周知の回路、構
造およびプログラム・コードを詳細には説明しない。し
たがって、参照することによって本明細書の一部となる
Sun Microsystems, Inc.に譲渡
された「Packet Switched Cache
Coherent Multiprocessor
System」という名称の係属米国特許願(本出願人
の参照番号P731)には、本発明によるパイプライン
分散バス・アービトレーション・プロトコルに関する詳
細な仕様が記載されている。
ク図に示されているように、システム200は複数のサ
ブシステム、たとえばプロセッサ210、220、23
0、240、システム・バス280およびシステム・コ
ントローラ290を含んでいる。各サブシステムはバス
・トランシーバ、バス・リクエスタ、およびバス・アー
ビタを含んでいる。たとえば、プロセッサ210はバス
・トランシーバ212、バス・リクエスタ214および
バス・アービタ216を含んでいる。同様に、システム
・コントローラ290はバス・トランシーバ292、バ
ス・リクエスタ294およびバス・アービタ296を含
んでいる。包括的にいうと、バス・アービタ216、2
26、...296が本発明の分散アービトレーション
・システムを形成している。
80はアドレス・バスであり、これによってアドレス・
バスがビジーである際に、データを個別のデータ・バス
(図示せず)で同時に転送することを可能とする。これ
にかかわりなく、本発明はシステム・バス280が専用
データ・バスまたは組合せアドレス/データ・バスであ
る他のシステムにも同様に適用できる。さらに、記載さ
れているサブシステムはすべてバス・マスタであるが、
アービトレーション・プロトコルは、サブシステムがバ
ス・マスタとバス・スレーブの両方を含んでいるシステ
ムにも適用できる。それ故、システム200のこの実施
の形態の場合、現行バス・マスタは現行バス・マスタで
もある。
0、220、230、240のそれぞれのバス・トラン
シーバ212、222、232、242を、システム・
コントローラ290のバス・トランシーバ292に相互
接続している。プロセッサ210、220、230およ
び240はそのそれぞれのバス修飾子ラインUPA_A
ddr_Valid_0、UPA_Addr_Vali
d_1、UPA_Addr_Valid_2、およびU
PA_Addr_Valid_3によってシステム・コ
ントローラ290にも結合されている。
0のバス・リクエスタ214、224、234、24
4、294およびバス・アービタ216、226、23
6、246、296、ならびにシステム・コントローラ
290はそれぞれ以下のアービトレーション制御ライン
を介して互いに結合されている。システム・アービトレ
ーション・リセット・ラインArb_Resetはシス
テム・コントローラ290をすべてのプロセッサ21
0、220、230、240に結合している。バス・リ
クエスタ214のReq_out_0ラインはシステム
・コントローラのバス・アービタ296のReq_0ラ
イン、およびバス・アービタ226、236、246そ
れぞれのReq_in_2、Req_in_1、Req
_in_0ラインに結合されており、またバス・リクエ
スタ224のReq_out_1ラインは、バス・アー
ビタ296、216、236、246それぞれのReq
_1、Req_in_0、Req_in_2、Req_
in_1ラインに結合されている。同様に、バス・リク
エスタ234のReq_out_2ラインはバス・アー
ビタ296、216、226、246それぞれのReq
_2、Req_in_1、Req_in_0、Req_
in_2ラインに結合されており、バス・リクエスタ2
44のReq_out_3ラインはバス・アービタ22
6、236、246それぞれのReq_3、Req_i
n_2、Req_in_1、Req_in_0ラインに
結合されている。最後に、システム・コントローラのバ
ス・リクエスタ294のSC_Reqラインはコントロ
ーラ290をプロセッサ210、220、230、24
0それぞれのバス・アービタ216、226、236、
246に結合している。
ン分散バス・アービトレーション・システムに使用され
ている基礎技法の1つは、アービトレーション・シーケ
ンスを個別のクロック・サイクルで処理するため個別の
タスクに分割することである。たとえば、未解決なバス
要求の検知および次のバス・マスタの割当ては個別のク
ロック・サイクルで完了する。他の技法は現行バス・マ
スタの切換え頻度を最小限とすることである。さらに他
の技法は現行バス・マスタの切換えが必要となったとき
のクロック・サイクル喪失の総数を最小限とすることで
ある。これらの技法を適用することによって、各アービ
トレーション・タスクは、プロセッサのクロック速度お
よびアービトレーション・タスクをクリティカル・パス
から排除できるかどうかにかかわりなくシステム・クロ
ック・サイクル内で完了し、これによってバス・アービ
トレーションによるシステム・クロック・サイクル待ち
時間が短くなる。
ョン待ち時間がこの実施形態で可能となる。現行バス・
マスタはシステム・クロック待ち時間なしに、データ・
パケットを連続的に伝送することができる。最終ポート
・ドライバは連続したシステム・クロックで、すなわち
1システム・クロック待ち時間でシステム・バスを要求
し、駆動することができる。プロセッサが最終ポート・
ドライバでない場合、最小2システム・クロック待ち時
間がある。最後に、異なる現行バス・マスタに変えるの
に、最小3システム・クロック・サイクルが必要であ
る。これらの最短のシステム・クロック待ち時間は次の
規則によって達成される。
0、240それぞれのバス・アービタ216、226、
236、246に対する例示的な修正ラウンドロビン優
先順位方式を示す表である。アービトレーション・シス
テムが優先順位方式を使用して、システム・バス280
に対して競合するサブシステムのうちから次のバス・マ
スタを選択する。各プロセッサはシステム・バス280
上のポート(ロケーション)を占有し、一意の識別番号
(ID)が割り当てられる。システム同期のため、ポー
ト・アドレス0のプロセッサ210が選択されて、リセ
ット時に最終ポート・ドライバになる。その後、あらゆ
るポートはどのポートが最終ポート・ドライバなのかを
追跡し、同時に(並行して)最終ポート・ドライバのア
イデンティティに基づいてどのポートに次のバス・マス
タを割り当てるべきか、すなわち次のバス・マスタにな
るように選択すべきかを決定する。したがって、あるポ
ートがアービトレーションに勝って、現行バス・マスタ
になった場合、あらゆるプロセッサによって格納されて
いる最終ポート・ドライバのアイデンティティは、新し
い現行バス・マスタのIDによって更新される。効率の
点で、最終ポート・ドライバを優先的に処理する。
転送を完了するのに2つのバス・クロック・サイクルが
必要とされるように、アドレスバスの幅が選ばれている
マルチプロセッサ・システム200を説明する例示的な
タイミング図を示している。それ故、以下の例示的な説
明において、各データ転送量子(アドレス情報パケット
・サイズ)は完了するのに2つのシステムクロック・サ
イクルを必要とするが、2サイクルのデータおよび/ま
たはアドレス・バスの表記は本発明の基本となるもので
はない。たとえば、プロセッサ210は1システム・サ
イクル中に、アドレス情報の第1のサイクルをシステム
・バス280上へ駆動し、第2のシステム・クロック・
サイクル中にアドレス情報の第2のサイクルを駆動す
る。
に応じて、データおよび/またはアドレス・パケットは
1つまたは複数のシステム・クロック・サイクルでシス
テム・バスを介して転送される。他のシステム・バス幅
が可能である。たとえば、他の実施の形態において、ア
ドレス・バス幅はシステム・アドレス・スペースの幅と
等しい。さらに他の実施の形態において、アドレス・バ
ス幅はシステム・アドレス・スペースの幅の1/4であ
る。さらに、プロセッサ210、220、230、24
0が類似したものであり、それ故、1つのサブシステ
ム、たとえば、プロセッサ210または220の説明が
他のサブシステム、すなわち、プロセッサ220、23
0、240に適用できることに留意されたい。
システム・リセット信号UPA_Reset_1の後1
クロック・サイクルでアサートできるリセット・タイミ
ング・シーケンスを示す。プロセッサ210、220、
230、240の各々はそれぞれ一意のポート・アドレ
ス0、1、2、3を有している。Arb_Resetラ
インのArb_Reset信号はシステム・コントロー
ラ290に、各サブシステムのあらゆる状態機械をリセ
ットせずに、1つまたは複数のサブシステムの状態機械
を選択的にリセットする機構をもたらす。たとえば、シ
ステム・コントローラ290からのArb_Reset
信号によって、プロセッサ210、220、230、2
40がバス・アービタ216、226、236、246
のそれぞれのアービトレーション状態マシンに同期する
ことを可能とする。
ドライバの変化を説明するタイミング図である。第1の
クロック・サイクル前のクロック・サイクルで未解決な
バス要求がないとバス・アービタ216、22
6、...296が判断したものと想定すると、最終ポ
ート・ドライバが第1のクロック・サイクル中にバス要
求をアサートすることが認められている唯一のサブシス
テムであり、第2のクロック・サイクル中にシステム・
バス280を直ちに駆動する。たとえば、プロセッサ2
10が最終ポート・ドライバである場合、プロセッサ2
10はすでにもっとも高い優先順位を有しており、第1
のクロック・サイクル中に他のプロセッサ220、23
0、240のバス要求ラインをポーリングすることを必
要とせずに、次のバス・マスタを割り当てる、すなわち
次のバス・マスタになるように選択することができる。
したがって、バス・トランシーバ212は第1のシステ
ム・クロック・サイクル中にそのバス要求ラインReq
_out_0をアサートし、直後のクロック・サイク
ル、すなわち第2のシステム・クロック・サイクル中に
システム・バス280を駆動することを許可される。こ
の実施形態において、プロセッサ210は第2のシステ
ム・クロック・サイクル中にアドレスの第1の半部をア
ドレス・バス280へ駆動し、第3のシステム・クロッ
ク・サイクルでアドレスの第2の半部をアドレス・バス
280に駆動する。
ス280を駆動した際に、プロセッサ210には現行バ
ス・マスタの状態が割り当てられる。現行バス・マスタ
は、現在アドレス・バス280を駆動しており、またそ
のトランシーバのUPA_Addr_Valid_x修
飾子ライン、たとえばトランシーバ212のUPA_A
ddr_Valid_0をアサートしているサブシステ
ムと定義される。現行バス・マスタになると、プロセッ
サ210はこのラインのアサートを継続するだけで、す
なわち、バス・リクエスタ214のバス要求ラインRe
q_out_0を維持するだけで、システム・クロック
待ち時間なしで、複数のデータ・パケットを連続して伝
送できる。現行バス・マスタ、すなわちプロセッサ21
0は他のプロセッサ220、230、240またはシス
テム・コントローラ290からのバス要求が存在する際
に、システム・バス290を放棄する前に任意の数のト
ランザクション・パケット(パケットが存在しない場合
を含む)を駆動して、デッドロックの可能性を解消でき
るが、適正に挙動する現行バス・ドライバは有限数のク
ロック・サイクル以内にバス280を解放しなければな
らない。さらに、現行バス・マスタは現行バス・マスタ
に保留されている要求がない場合に、そのバス要求ライ
ンを解放しなければならない。
ばプロセッサ210が最終ポート・ドライバかつ現行バ
ス・マスタの両方である場合、最終ポート・ドライバで
はないサブシステム、たとえばプロセッサ220がリク
エスタ224のバス要求ラインReq_out_1をア
サートすると、プロセッサ220のトランシーバ222
がシステム・バス280を駆動できるようになるまで
に、少なくとも3システム・クロック・サイクルの待ち
時間が存在する。システム・バス280を駆動している
現行バス・マスタを変えるのに、最小3つのシステム・
クロックが必要とされるのには2つの理由がある。第1
に、リクエスタ224が第1のシステム・クロック・サ
イクルまでにバス要求ラインReq_out_1をアサ
ートしていても、プロセッサ210のアドレス情報の最
後のデータ・パケットの伝送を完了するのに2つのシス
テム・クロックが必要である。第2に、アービトレーシ
ョン・プロトコルは第3のクロック・サイクルでデッド
・サイクルを強制する。
順位を持つ他のプロセッサがシステム・バス280に対
して競合していないと想定すると、プロセッサ220に
次のバス・マスタを割り当てることができ、かつプロセ
ッサ220は第4のシステム・クロック・サイクルでシ
ステム・バス280を駆動するようになる。したがっ
て、活動現行バス・マスタを交換するには3つのクロッ
ク・サイクルが必要である。
トコルは現行バス・マスタの交換の間にシステム・バス
280にアイドル・サイクルまたはデッド・サイクルを
もたらす。デッド・サイクルは2つのバス・マスタ、す
なわち現行バス・マスタおよび次のバス・マスタがシス
テム・バス280を同時に駆動する可能性を排除する。
このような例の1つは第1のバス・マスタ、すなわちプ
ロセッサ210のドライバ回路のオフ時間が第2のバス
・マスタ、すなわちプロセッサ220のドライバ回路の
オン時間よりも長い場合である。現行バス・マスタがそ
のバス要求ラインをアサートした場合、現行バス・マス
タを切り換えるのに必要なバス・サイクルの総数もプロ
セッサ210の現行バス転送の状態、すなわちプロセッ
サ210のデータ転送の第1または第2半部中にアサー
トされるプロセッサ220からのバス要求などの要因に
よって決定される。
ある、すなわち駆動されていないときに、最終ポート・
ドライバとなり、かつ最終的に現行バス・マスタとなる
異なるサブシステム、たとえばプロセッサ220を説明
するタイミング図である。第1のクロック・サイクル中
に、プロセッサ210、すなわち最終ポート・ドライバ
は不活動であり、システム・バス280を駆動していな
い。プロセッサ220のリクエスタ224が第2のクロ
ック・サイクルでバス要求ラインReq_out_1を
アサートした場合、アービトレーションが次のクロック
・サイクル、すなわち第3のクロック・サイクルで生じ
る。プロセッサ220よりも優先順位の高いプロセッサ
がバス280を必要としていないと想定すると、プロセ
ッサ220に次のバス・マスタを割り当て、第4のシス
テム・クロック・サイクルでバス280を駆動すること
を許可することができる。それ故、要求元プロセッサが
最終ポート・ドライバでなく、システム・バス280が
不活動である場合には、合計2つのシステム・クロック
・サイクルがバス要求とバス280の所有権の間に必要
となる。
トローラ290がバス要求を行い、最終的に現行バス・
マスタになる。プロセッサ210が最終ポート・ドライ
バであるが、不活動である際に、システム・コントロー
ラ290が第2のクロック・サイクルでリクエスタ29
4の要求ラインSC_Reqをアサートした場合、他の
システム・クロック・サイクル、すなわち第3のサイク
ルがアービトレーションに必要となる。その後、第4の
クロック・サイクルで、システム・コントローラ290
がアドレス・バス280を駆動することを許可される。
それ故、2つの使用されないシステム・クロック・サイ
クルがあり、これは1つのサブシステムが不活動な最終
ポート・ドライバである際に、他のサブシステムがバス
280を駆動することを望んでいる場合に類似してい
る。
トレーション・プロトコルによって「リアルパーキン
グ」モードが可能となり、これはシステム200に可能
なバス・ドライバが2つだけ、すなわち2つのバス・マ
スタだけの場合、たとえば、システム・バス280にプ
ロセッサ210、220だけが結合されている場合に、
アービトレーション待ち時間をさらに少なくする。この
縮小システムの場合、現行バス・マスタを保持するため
のアービトレーション待ち時間を、データ転送の完了後
に現行バス・マスタのバス要求を維持するだけで、シス
テム・クロック・サイクルをゼロまで減らすことができ
る。
ビトレーション・プロトコルが事前割り当てされた特殊
ポート、たとえば、システム・コントローラ290を優
先的に処理することが可能となる。すなわち、ラウンド
ロビン方式に関与するのに、特殊ポートが必要なくな
る。この例において、システム・コントローラ290に
はそのバス要求がアサートされたときに、もっとも高い
優先順位が与えられる。特殊ポートの指定はシステム2
00の高水準のアーキテクチャの設計に独特な融通性を
もたらすので有利である。それ故、システム・コントロ
ーラ290がアービトレーションに勝った場合に、シス
テム、すなわち、プロセッサ210、220、230、
240に結合されているすべてのポートによって維持さ
れている最終ポート・ドライバ・アイデンティティが更
新されないが、これはシステム・コントローラ290が
修正ラウンドロビン・プロトコルに関与しないからであ
る。
Valid_0、UPA_Addr_Valid_1、
UPA_Addr_Valid_2およびUPA_Ad
dr_Valid_3が、特殊ポート、システム・コン
トローラ290およびプロセッサ210、220、23
0、240それぞれの間で交換され、システム・コント
ローラ290が現行バス・マスタが有効パケットを駆動
している時期を検出できるようにする。逆に、システム
・コントローラ290が現行バス・マスタである場合に
は、妥当性信号によって、スレーブ・サブシステムがシ
ステム・コントローラ290からデータ・パケットを受
け取る時期を知ることが可能となる。さらに、妥当性信
号は各サイクル・パケット中の第1のシステム・クロッ
クでアサートされ、第2のサイクル中にデアサートされ
る。活動バス・ドライバがない場合に、システム・コン
トローラ290の保持増幅器がUPA_Addr_Va
lidラインの論理レベルを維持する。システム・コン
トローラ290に保持増幅器を使用する他の利点として
は、システム・バス280のデバッグが容易となること
などがある。
ントローラ290からプロセッサ210へのデータ・パ
ケット転送を説明するタイミング図である。システム・
コントローラ290が要求ラインSC_Reqをアサー
トするとともに、現行バス・マスタのトランシーバ、た
とえば、プロセッサ210のトランシーバ212がバス
280を駆動している場合、最終データ・パケットの継
続転送を完了することが、プロセッサ210に認められ
る。システム・コントローラ290が特殊ポートである
から、プロセッサ210はリクエスタ214の要求ライ
ンReq_out_0を解放するものと考えられる。上
述したように、システム・コントローラ290は他のサ
ブシステムに関して高い優先順位を常に有しており、そ
れ故、次のバス・マスタを割り当てられる必要がない。
したがって、システム・コントローラ290のトランシ
ーバ292がシステム・バス280を駆動している場
合、プロセッサ210は最終ポート・ドライバのままで
あることができる。システム・コントローラ290の観
点からいうと、プロセッサ210による最終データ・パ
ケットの転送の完了は2つの使用されないシステム・ク
ロック・サイクルを招来する。システム・バスの争い、
すなわち、複数のサブシステムによるシステム・バス2
80の同時駆動の試みを防止するためには、第3の使用
されないクロック・サイクルが必要となる。その後、シ
ステム・コントローラ290は現行バス・マスタとな
り、システム・バス280を駆動することが許可され
る。サブシステム210、220、230、240に関
して優先順位がもっとも高い事前割当てシステム・コン
トローラ290が、実施形態上の任意選択物であること
に留意されたい。本発明のアービトレーション・システ
ムは、システム・コントローラ290がサブシステム2
10、220、230、240に関して同等またはこれ
らよりも低い優先順位を有している他のシステムにも適
用可能である。
ラ290は最終ポート・ドライバであった不活動サブシ
ステムからのバス要求に応じて、システム・バス280
の所有権を放棄する。システム・コントローラ290が
現行バス・マスタであり、不活動最終ポート・ドライ
バ、たとえばプロセッサ210からのバス要求を検出し
た場合、システム・コントローラ290は2つのシステ
ム・クロック・サイクルで最終データ・パケットの転送
を完了する。最終ポート・ドライバ、たとえばプロセッ
サ210がシステム・バス280の駆動を開始でき、現
行バス・マスタになる前に、第3の潜在システム・クロ
ック・サイクルが必要である。
の改変および追加が可能である。たとえば、サブシステ
ムの総数はもっと少なくても、多くてもよい。アドレス
・バスはシステム・アドレス・スペースよりも広くて
も、狭くてもよい。さらに、サブシステムはビデオ・コ
ントローラ、キャッシュ・コントローラ、および浮動小
数点計算ユニットなどの数値演算コプロセッサを含んで
いることもできる。それ故、本発明の範囲は首記の特許
請求の範囲によって決定されるべきである。
を有する従来のシステムのブロック図である。
ョン・プロトコルを使用しているシステム・バスのブロ
ック図である。
のラウンドロビン割当てを示す表(A)と、システム・
リセット後のアービトレーション要求を示すタイミング
図(B)である。
ライバを示すタイミング図である。
バス・ドライバの変化を示すタイミング図である。
タになる他のプロセッサを示すタイミング図である。
ステム・コントローラを示すタイミング図である。
テム・コントローラを示すタイミング図である。
イバの間のバス・ドライバの変化を示すタイミング図で
ある。
Claims (9)
- 【請求項1】 バス・アービタを備えている少なくとも
第1および第2のサブシステムを含んでいる複数のサブ
システムに結合されたシステム・バスに対するアクセス
のアービトレーションを行う方法において、 前記システム・バス上の前記の複数のサブシステムのい
ずれかによってアサートされ、第1のシステム・クロッ
ク・サイクルに先行するクロック・サイクルで未解決の
ままとなっているバス要求がないことを判定するステッ
プと、 前記第1のシステム・クロック・サイクル中に、その第
1のシステム・クロック・サイクル以前に最終ポート・
ドライバとして割り当てられた第1のサブシステムによ
って前記システム・バスに対して第1のバス要求をアサ
ートするステップと、 前記第1のシステム・クロック・サイクル中に前記サブ
システムのいずれかによってアサートされるいずれかの
バス要求と無関係に、前記第1および第2のサブシステ
ムの前記バス・アービタによって前記第1のシステム・
クロック・サイクル中に前記システム・バスの次のバス
・マスタになる前記第1のサブシステムを選択するステ
ップと、 第2のシステム・クロック・サイクル中に前記第1のサ
ブシステムによって前記システム・バスを駆動するステ
ップとを備えているアービトレーションを行う方法。 - 【請求項2】 バス・アービタを備えている少なくとも
第1および第2のサブシステムを含んでいる複数のサブ
システムに結合されたシステム・バスに対するアクセス
のアービトレーションを行う方法において、 第1のシステム・クロック・サイクルの前に、前記第1
および第2のサブシステムの前記バス・アービタによっ
て前記システム・バスを駆動するもっとも優先順位の高
い最終ポート・ドライバに前記第2のサブシステムを割
り当てるステップと、 前記第1のシステム・クロック・サイクル中に未解決の
ままとなっている前記システム・バス上の前記第1のサ
ブシステムよるバス要求をアサートするステップと、 前記第1のクロック・システム・サイクル中に、前記シ
ステム・バスを駆動するもっとも優先順位の高い最終ポ
ート・ドライバに前記第1のサブシステムを割り当てる
第2の優先割当てステップと、 前記第2のシステム・クロック・サイクル中に前記サブ
システムのいずれかによってアサートされるいずれかの
バス要求と無関係に、前記第1および第2のサブシステ
ムの前記バス・アービタによって第2のシステム・クロ
ック・サイクル中に前記システム・バスの次のバス・マ
スタになる前記第1のサブシステムを選択するステップ
と、 第3のシステム・クロック・サイクル中に前記第1のサ
ブシステムによって前記システム・バスを駆動するステ
ップとを備えているアービトレーションを行う方法。 - 【請求項3】 バス・アービタを備えている少なくとも
第1および第2のサブシステムを含んでいる複数のサブ
システムに結合されたシステム・バスに対するアクセス
のアービトレーションを行う方法において、 前記第1のシステム・クロック・サイクル中に未解決の
ままとなっている前記システム・バス上の前記複数のサ
ブシステムによってアサートされたいずれかのバス要求
を検出するステップと、 前記検出ステップに基づき、かつ前記第2のシステム・
クロック・サイクル中に前記サブシステムのいずれかに
よってアサートされたいずれかのバス要求と無関係に、
前記第1および第2のサブシステムの前記バス・アービ
タによって第2のクロック・サイクル中に前記システム
・バスの次のバス・マスタになる前記複数のサブシステ
ムを選択するステップとを備えているアービトレーショ
ンを行う方法。 - 【請求項4】 各々がバス・アービタを含んでいる少な
くとも第1および第2のサブシステムを含んでいる複数
のサブシステムを結合するシステム・バスのアービトレ
ーションを行う方法において、 前記システム・バスの特殊ポート・ドライバになる前記
第1のサブシステムを割り当てるステップと、 前記複数のサブシステムのバス・アービタによって前記
システム・バスの最終ポート・ドライバに前記第2のサ
ブシステムを割り当てるステップと、 第1のシステム・クロック・サイクル中に前記第1のサ
ブシステムによって前記システム・バスに対して第1の
バス要求をアサートするステップと、 前記第2のサブシステムが第2のシステム・クロック・
サイクル中にそのバス要求をアサートしていない場合
に、第3のシステム・クロック・サイクル中に前記第1
のサブシステムによって前記システム・バスを駆動する
ステップとを備えているアービトレーションを行う方
法。 - 【請求項5】 第1のサブシステムが最終ポート・ドラ
イバとして割り当てられている、少なくとも第1と第2
のサブシステムを含んでいる複数のサブシステムに結合
されているシステム・バスを有しているコンピュータ・
システムにおいて、前記第1のサブシステムが、 第1のクロック・サイクルに先行するクロック・サイク
ルで未解決のままとなっている前記システム・バス上の
前記複数のサブシステムのいずれかによってアサートさ
れているバス要求がないことを判定するバス・アービタ
と、 次のバス・マスタの選択が前記第1のクロック・サイク
ル中にいずれかの他のサブシステムによってアサートさ
れるいずれかのバス要求と無関係に、前記第1のシステ
ム・クロック・サイクル中に第1のバス要求をアサート
し、前記第1のシステム・クロック・サイクル中にその
第1のバス要求によって前記バス・アービタが前記シス
テム・バスの次のバス・マスタになる前記第1のサブシ
ステムを選択させるバス・リクエスタと、 第2のシステム・クロック・サイクル中に前記システム
・バスを駆動するバス・トランシーバとを備えているコ
ンピュータ・システム。 - 【請求項6】 第2のサブシステムが最終ポート・ドラ
イバとして割り当てられている、少なくとも第1と第2
のサブシステムを含んでいる複数のサブシステムに結合
されているシステム・バスを有しているコンピュータ・
システムにおいて、前記第1のサブシステムが、 第1のクロック・サイクル中に前記システム・バスに対
してバス要求をアサートするバス・リクエスタと、 第2のシステム・クロック・サイクル中にいずれかの前
記サブシステムによってアサートされるいずれかのバス
要求と無関係に、前記システム・バスを駆動するもっと
も高い優先順位を有している最終ポート・ドライバにな
る前記第1のサブシステムを割り当て、第2のシステム
・クロック・サイクル中に前記システム・バスの次のバ
ス・マスタになる前記第1のサブシステムを選択するバ
ス・アービタと、 第3のシステム・クロック・サイクル中に前記システム
・バスを駆動するバス・トランシーバとを備えているコ
ンピュータ・システム。 - 【請求項7】 少なくとも第1および第2のサブシステ
ムを含んでいる複数のサブシステムに結合されたシステ
ム・バスに使用するアービトレーション・システムにお
いて、 第1のシステム・クロック・サイクル中に未解決なまま
となっている前記システム・バス上の前記複数のサブシ
ステムによってアサートされるいずれかのバス要求を検
出し、第2のシステム・クロック・サイクル中に前記シ
ステム・バスの次のバス・マスタになる前記複数のサブ
システムの1つを選択するバス・アービタであって、前
記次のバス・マスタの選択が前記第1のシステム・クロ
ック・サイクル中に検出されたいずれかの未解決なバス
要求に基づき、かつ前記第2のシステム・クロック・サ
イクル中に前記サブシステムのいずれかによってアサー
トされたいずれかのバス要求と無関係なバス・アービタ
を備えているアービトレーション・システム。 - 【請求項8】 少なくとも第1および第2のサブシステ
ムを含んでいる複数のサブシステムに結合されたシステ
ム・バスを有するコンピュータ・システムにおいて、前
記第1のサブシステムが、 前記システム・バスの特殊ポート・ドライバに前記第1
のサブシステムを割り当て、前記システム・バスの最終
ポート・ドライバに前記第2のサブシステムを割り当て
るバス・アービタと、 第1のシステム・クロック・サイクル中に前記システム
・バスに対して第1のバス要求をアサートするバス・リ
クエスタと、 前記第2のサブシステムが第2のシステム・クロック・
サイクル中にそのバス要求をアサートしていない場合
に、第3のシステム・クロック・サイクル中に前記シス
テム・バスを駆動するバス・トランシーバとを備えてい
るコンピュータ・システム。 - 【請求項9】 各々がアービタを含んでいる複数のサブ
システムを有するコンピュータ・システムをリセットす
る方法において、 第1のリセット信号を第1の前記サブシステムに送り、
これによって前記第1のサブシステムのすべての状態を
リセットするステップと、 アービトレーション・リセット信号を第2の前記サブシ
ステムに送り、これによって第2のサブシステムのアー
ビタのアービトレーション状態をリセットするステップ
とを備えているリセット方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/414559 | 1995-03-31 | ||
| US08/414,559 US5710891A (en) | 1995-03-31 | 1995-03-31 | Pipelined distributed bus arbitration system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0926933A true JPH0926933A (ja) | 1997-01-28 |
| JP3899142B2 JP3899142B2 (ja) | 2007-03-28 |
Family
ID=23641973
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10607996A Expired - Lifetime JP3899142B2 (ja) | 1995-03-31 | 1996-04-01 | パイプライン分散バス・アービトレーション・システム |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US5710891A (ja) |
| EP (1) | EP0737925B1 (ja) |
| JP (1) | JP3899142B2 (ja) |
| CA (1) | CA2171170A1 (ja) |
| DE (1) | DE69628609T2 (ja) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5845107A (en) * | 1996-07-03 | 1998-12-01 | Intel Corporation | Signaling protocol conversion between a processor and a high-performance system bus |
| US5815674A (en) * | 1996-07-15 | 1998-09-29 | Micron Electronics, Inc. | Method and system for interfacing a plurality of bus requesters with a computer bus |
| US5925118A (en) * | 1996-10-11 | 1999-07-20 | International Business Machines Corporation | Methods and architectures for overlapped read and write operations |
| US5894562A (en) * | 1996-10-28 | 1999-04-13 | Motorola, Inc. | Method and apparatus for controlling bus arbitration in a data processing system |
| US5909558A (en) * | 1997-07-31 | 1999-06-01 | Linzmeier; Daniel | Low power serial arbitration system |
| US6467009B1 (en) * | 1998-10-14 | 2002-10-15 | Triscend Corporation | Configurable processor system unit |
| US6389497B1 (en) | 1999-01-22 | 2002-05-14 | Analog Devices, Inc. | DRAM refresh monitoring and cycle accurate distributed bus arbitration in a multi-processing environment |
| US6654833B1 (en) * | 1999-07-29 | 2003-11-25 | Micron Technology, Inc. | Bus arbitration |
| US6851047B1 (en) | 1999-10-15 | 2005-02-01 | Xilinx, Inc. | Configuration in a configurable system on a chip |
| US6578098B1 (en) * | 1999-11-04 | 2003-06-10 | Koninklijke Philips Electronics N.V. | Predictive mechanism for ASB slave responses |
| US6732210B1 (en) * | 2000-01-03 | 2004-05-04 | Genesis Microchip Inc | Communication bus for a multi-processor system |
| US20020016882A1 (en) * | 2000-04-24 | 2002-02-07 | Hiroshi Matsuuchi | Digital device, data input-output control method, and data input-output control system |
| US6731303B1 (en) * | 2000-06-15 | 2004-05-04 | International Business Machines Corporation | Hardware perspective correction of pixel coordinates and texture coordinates |
| US6721840B1 (en) | 2000-08-18 | 2004-04-13 | Triscend Corporation | Method and system for interfacing an integrated circuit to synchronous dynamic memory and static memory |
| US6518787B1 (en) | 2000-09-21 | 2003-02-11 | Triscend Corporation | Input/output architecture for efficient configuration of programmable input/output cells |
| US6633938B1 (en) * | 2000-10-06 | 2003-10-14 | Broadcom Corporation | Independent reset of arbiters and agents to allow for delayed agent reset |
| US7076586B1 (en) | 2000-10-06 | 2006-07-11 | Broadcom Corporation | Default bus grant to a bus agent |
| US6957290B1 (en) | 2000-10-06 | 2005-10-18 | Broadcom Corporation | Fast arbitration scheme for a bus |
| US6985980B1 (en) | 2000-11-03 | 2006-01-10 | Xilinx, Inc. | Diagnostic scheme for programmable logic in a system on a chip |
| DE10064593A1 (de) * | 2000-12-22 | 2002-08-29 | Siemens Ag | Verfahren und Anordnung zum Datenaustausch |
| US6877053B2 (en) * | 2001-01-03 | 2005-04-05 | Nec Corporation | High performance communication architecture for circuit designs using probabilistic allocation of resources |
| US6725364B1 (en) | 2001-03-08 | 2004-04-20 | Xilinx, Inc. | Configurable processor system |
| US20030004698A1 (en) * | 2001-06-29 | 2003-01-02 | Osborn Daniel D. | Agent state drive simulation and method for detecting simulated drive fights |
| US7107374B1 (en) | 2001-09-05 | 2006-09-12 | Xilinx, Inc. | Method for bus mastering for devices resident in configurable system logic |
| JP4260720B2 (ja) * | 2004-10-27 | 2009-04-30 | 日本テキサス・インスツルメンツ株式会社 | バス制御装置 |
| JP4455540B2 (ja) * | 2006-06-15 | 2010-04-21 | キヤノン株式会社 | バスシステム及び調停方法 |
| US7809874B2 (en) * | 2006-06-21 | 2010-10-05 | International Business Machines Corporation | Method for resource sharing in a multiple pipeline environment |
| FI122301B (fi) * | 2006-08-25 | 2011-11-30 | Atomia Oy | Piiri, menetelmä ja järjestely yksinkertaisen ja luotettavan hajautetun väyläarbitroinnin toteuttamiseksi |
| GB2447690B (en) * | 2007-03-22 | 2011-06-08 | Advanced Risc Mach Ltd | A Data processing apparatus and method for performing multi-cycle arbitration |
| TWI355822B (en) * | 2007-12-20 | 2012-01-01 | Realtek Semiconductor Corp | Circuit and method for setting data and their appl |
| US7779189B2 (en) * | 2008-02-21 | 2010-08-17 | International Business Machines Corporation | Method, system, and computer program product for pipeline arbitration |
| US20160127061A1 (en) * | 2014-11-05 | 2016-05-05 | Qualcomm Incorporated | Broadcast interface |
| US10289786B1 (en) * | 2017-06-27 | 2019-05-14 | Xilinx, Inc. | Circuit design transformation for automatic latency reduction |
| CN111478840A (zh) * | 2020-04-15 | 2020-07-31 | 联合华芯电子有限公司 | 用于总线系统的双速率仲裁中继设备 |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4228503A (en) * | 1978-10-02 | 1980-10-14 | Sperry Corporation | Multiplexed directory for dedicated cache memory system |
| US5111424A (en) * | 1987-05-01 | 1992-05-05 | Digital Equipment Corporation | Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer |
| JPH065524B2 (ja) * | 1987-11-18 | 1994-01-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記憶装置管理方法 |
| US4979099A (en) * | 1988-10-25 | 1990-12-18 | Apollo Computer Inc. | Quasi-fair arbitration scheme with default owner speedup |
| EP0380842A3 (en) * | 1989-02-03 | 1991-06-12 | Digital Equipment Corporation | Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units |
| US5168568A (en) * | 1989-02-06 | 1992-12-01 | Compaq Computer Corporation | Delaying arbitration of bus access in digital computers |
| US5036459A (en) * | 1989-03-09 | 1991-07-30 | U.S. Philips Corporation | Multi-processor computer system with distributed memory and an interprocessor communication mechanism, and method for operating such mechanism |
| US5148545A (en) * | 1989-07-21 | 1992-09-15 | Clearpoint Research Corporation | Bus device which performs protocol confidential transactions |
| EP0468831B1 (en) * | 1990-06-29 | 1997-10-15 | Digital Equipment Corporation | Bus protocol for write-back cache processor |
| US5119448A (en) * | 1990-09-21 | 1992-06-02 | Tacan Corporation | Modular micro-optical systems and method of making such systems |
| JPH04318654A (ja) * | 1991-02-13 | 1992-11-10 | Hewlett Packard Co <Hp> | マイクロプロセッサへの割り込みのリダイレクションシステム |
| JP2703417B2 (ja) * | 1991-04-05 | 1998-01-26 | 富士通株式会社 | 受信バッファ |
| US5369748A (en) * | 1991-08-23 | 1994-11-29 | Nexgen Microsystems | Bus arbitration in a dual-bus architecture where one bus has relatively high latency |
| DE69230428T2 (de) * | 1991-09-27 | 2000-08-03 | Sun Microsystems, Inc. | Verklemmungserkennung und Maskierung enthaltende Busarbitrierungsarchitektur |
| US5430848A (en) * | 1992-08-14 | 1995-07-04 | Loral Fairchild Corporation | Distributed arbitration with programmable priorities |
| US5319753A (en) * | 1992-09-29 | 1994-06-07 | Zilog, Inc. | Queued interrupt mechanism with supplementary command/status/message information |
| US5434993A (en) * | 1992-11-09 | 1995-07-18 | Sun Microsystems, Inc. | Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories |
| US5299196A (en) * | 1992-11-12 | 1994-03-29 | International Business Machines Corporation | Distributed address decoding for bus structures |
| CA2116826C (en) * | 1993-03-11 | 1998-11-24 | Timothy J. Sullivan | Data processing system using a non-multiplexed, asynchronous address/data bus system |
| JPH07105031A (ja) * | 1993-09-20 | 1995-04-21 | Internatl Business Mach Corp <Ibm> | 多重プロセッサ・コンピュータ・システム内で割込み情報を伝えるための方法および装置 |
-
1995
- 1995-03-31 US US08/414,559 patent/US5710891A/en not_active Expired - Lifetime
-
1996
- 1996-03-06 CA CA002171170A patent/CA2171170A1/en not_active Abandoned
- 1996-03-15 DE DE69628609T patent/DE69628609T2/de not_active Expired - Lifetime
- 1996-03-15 EP EP96301773A patent/EP0737925B1/en not_active Expired - Lifetime
- 1996-04-01 JP JP10607996A patent/JP3899142B2/ja not_active Expired - Lifetime
-
1997
- 1997-06-04 US US08/870,438 patent/US5862356A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0737925B1 (en) | 2003-06-11 |
| EP0737925A1 (en) | 1996-10-16 |
| US5710891A (en) | 1998-01-20 |
| DE69628609T2 (de) | 2004-05-13 |
| US5862356A (en) | 1999-01-19 |
| CA2171170A1 (en) | 1996-10-01 |
| DE69628609D1 (de) | 2003-07-17 |
| JP3899142B2 (ja) | 2007-03-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3899142B2 (ja) | パイプライン分散バス・アービトレーション・システム | |
| US6393506B1 (en) | Virtual channel bus and system architecture | |
| US5168568A (en) | Delaying arbitration of bus access in digital computers | |
| EP1403773B1 (en) | Resource management device | |
| JP5237351B2 (ja) | より高い周波数アービターを介してサイクルあたり複数のバスアービトレーションを有するスイッチマトリクスシステム | |
| US6718422B1 (en) | Enhanced bus arbiter utilizing variable priority and fairness | |
| US5418914A (en) | Retry scheme for controlling transactions between two busses | |
| JP3641003B2 (ja) | 調停機構付きバス・システム | |
| US5649209A (en) | Bus coupling information processing system for multiple access to system bus | |
| JP2000047994A (ja) | 情報処理装置 | |
| US6604159B1 (en) | Data release to reduce latency in on-chip system bus | |
| US20060282588A1 (en) | Processor system that allows for simultaneous access by multiple requestors to a target with multiple ports | |
| JP2002123484A (ja) | バス・システム用の即時許可バス・アービタ | |
| EP1096387B1 (en) | An arbitration unit for a bus | |
| JP2002163228A (ja) | 多重コアdsp装置のための外部バス裁定技術 | |
| JP5356024B2 (ja) | 部分的にポピュレートされる階層型クロスバ | |
| EP1249761A1 (en) | Arbitration in local system for access to memory in a distant subsystem | |
| JPH052555A (ja) | ワークステーシヨンインターフエース装置用の内部バス | |
| JPH1125036A (ja) | 調停システム、およびアクセスを調停する方法 | |
| MXPA00007393A (en) | Bus arbiter with reinforced function using variable priority and fairness | |
| JPH11102348A (ja) | マルチプロセッサシステム | |
| JPS58154057A (ja) | 並列処理システム | |
| JPH04260956A (ja) | デッドロックを回避する方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060222 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060228 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060529 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061128 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061225 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110105 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120105 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |