JPH09501249A - 高速/低オーバーヘッド・バス調停機構およびシステム・バスの調停方法 - Google Patents
高速/低オーバーヘッド・バス調停機構およびシステム・バスの調停方法Info
- Publication number
- JPH09501249A JPH09501249A JP7502996A JP50299695A JPH09501249A JP H09501249 A JPH09501249 A JP H09501249A JP 7502996 A JP7502996 A JP 7502996A JP 50299695 A JP50299695 A JP 50299695A JP H09501249 A JPH09501249 A JP H09501249A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- address
- lines
- control
- processing unit
- 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
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/362—Handling 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)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Transfer Between Computers (AREA)
Abstract
(57)【要約】
システム・バスのマスターシップを2つの処理装置(101および102)を含むシステムに割りつけるための、高速/低オーバーヘッド・バス調停機構(200)。この機構には、2つの処理装置(101および102)のそれぞれがシステム・バス(103)へ行なうアクセスをコントロールするための制御論理(210)が含まれる。この機構(200)には更に、システム・バス(103)に提供される制御情報を、制御論理(210)の状態に基づいて選択するためのマルチプレクサ(202)が含まれる。最後にこの機構(200)には、2つの処理装置(101および102)のどちらか1つのみによって駆動されるアドレスを、制御論理(210)の状態に基づいて、システム・バス(103)を通過させたり、あるいはシステム・バスにつなげたりするラッチ(201)が含まれる。第2の処理装置(102)がアクセスを要求し、バス(103)が使用中でない場合、制御論理(210)は、システム・バス(103)へのアクセスを第1の処理装置(101)から第2の処理装置(102)へと移転させて、駆動中の処理装置(101または102)に、現行のバス・サイクルが完了する前にアドレス・ラインを放棄するように強制することで、両方の処理装置(101および102)がシステム・バス(103)を争奪することを防ぐ。第1の処理装置(101)が再びアクセスを要求し、バス(103)が使用中でない場合、制御論理(210)はシステム・バス(103)へのアクセスを第1の処理装置(101)に返還する。
Description
【発明の詳細な説明】高速/低オーバーヘッド・バス調停機構およびシステム・バスの調停方法
技術分野
本発明は、一般にマルチプロセッサ・コンピュータ・システムに関連するもの
で、その中でも特に、2つの処理装置間におけるシステム・バスの調停を高速か
つ低いオーバーヘッド費用で行なうための方法と機構に関するものである。ただ
し、2つの処理装置の各々は、マイクロコンピュータ、またはそれより小型の装
置、たとえばSCSIインターフェイス、数学的コプロセッサなどから成り立つもの
とする。
背景となる技術
マルチプロセッサ・コンピュータは、本技術分野において長く知られているも
のである。このコンピュータは、プロセッサ/コプロセッサ、対称的マイクロプ
ロセッサ、非対称的マイクロプロセッサ、マイクロプロセッサ/DMAコントロー
ラなど、様々な形を取ってきた。しかし、このようなシステムには、マルチ・プ
ロセッシング環境のためにカスタム・デザインされたプロセッサと、その結果と
して必要になるそのシステムのためのカスタム・アプリケーションなど、特別な
必要条件があるために、関連するコストがかさみ、対称的および非対称的マルチ
・プロセッシングを広範に利用することはかなり難しかった。マルチプロセッサ
・システムと逆の関係にあるのは、もちろん、ユニプロセッサ・コンピュータで
ある。
最も人気があり広く流通しているユニプロセッサ・システムは、その設計に、
カリフォルニア州サンタ・クララのINTEL CORPORATIONが製造しているINTEL486
系のマイクロプロセツサ(486SX、486DX、486DX2およびOverDriveプロセッサ)を
利用している。これらのプロセッサの費
用は、特製のマルチプロセッサ・コンピュータのプロセッサと比べると特に、比
較的廉価である。更に、INTELベースのコンピュータが急増しているために、さ
まざまなソフトウェアが入手しやすい。これらの要素が重なって、INTEL486は、
コンピュータ業界における「事実上の」規格となっている。
INTEL486系の人気のために、486バス定義、すなわち486系で定義された信号と
そのタイミングが業界の規格となってきており、この定義に則って製品を設計す
るチップ・セットと周辺機器の製造者がどんどん多くなっている。486系バス定
義において使用できる信号で、より関連の深いものには、次のような信号がある
。BREQ
-- これは内部サイクル保留信号で、マイクロプロセッサが内部でバスの要
求を発生させたことを示す。BREQは、マイクロプロセッサがそのバスを駆動して
いるかどうかに関わりなく、発信される。RDY/
-- これはノンバースト準備完了入力信号で、現行のバス・サイクルが完了
したことを示す。RDY/は、読み取りに対応して外部のシステムがデータ・ピンに
有効なデータを提供したこと、または書き込みに対応して外部のシステムがマイ
クロプロセッサからのデータを受け入れたことを示す。RDY/は、バスが遊休状態
にあるとき、およびバス・サイクルの最初のクロックの終了時点で無視される。BRDY/
-- これはバースト準備完了入力信号で、RDY/がノンバースト・サイクル
において果たすのと同様の機能を、バースト・サイクルにおいて果たす。BRDY/
は、バスが遊休状態にあるとき、およびバス・サイクルの最初のクロックの終了
時点で無視される。BRDY/は、バースト・サイクル
の2つめとそれに続くクロックにおいて、サンプリングされる。BLAST/
-- これはバースト最終信号で、次にBRDY/がリターンされた時点で、バ
ースト・バス・サイクルが完了することを示す。LOCK/
-- これはバス・ロック・ピン信号で、現行のバス・サイクルがロックさ
れていることを示す。LOCK/は最初にロックされたバス・サイクルの最初のクロ
ックにおいて活動状態に入り、最後にロックされたバス・サイクルの最後のクロ
ックのあとで非活動状態になる。最後にロックされたサイクルは、READYがリタ
ーンされた時点で終了する。PLOCK/
-- これは疑似ロック・ピン信号で、現行のバス・トランザクションを完
了するために、2つ以上のバス・サイクルが必要であることを示す。このような
オペレーションの例としては、長精度浮動小数点の読み取りと書き込み(64ビッ
ト)、セグメント・テーブル記述子の読み取り(64ビット)、キャッシュ・ライ
ンの充填(128ビット)などがある。マイクロプロセッサは、RDY/またはBRDY/が
リターンされたかどうかに関わりなく、トランザクションの最後のバス・サイク
ルのためのアドレスが駆動されるまで、PLOCK/を活動状態に駆動する。ADS/
-- これはアドレス・ステイタス出力信号で、有効なバス・サイクル定義と
アドレスが、サイクル定義ラインとアドレス・バスにおいて使用可能であること
を示す。ADS/は、アドレスが駆動されるのと同じクロックで活動状態に駆動され
る。EADS/
-- この信号は、有効な外部アドレスがマイクロプロセッサのアド
レス・ピンに駆動されたことを示す。このアドレスは、内部キャッシュ無効化サ
イクルを実行するために用いられる。M/IO,D/C,W/R
-- これらのバス定義信号は、バスが保留されている間駆動されず
、アドレス・バスのタイミングに従う。
486系のバス定義を用いて486系のマイクロプロセッサを相互接続するという試
みは、今までのところあまり成功を収めていない。典型的な問題点の多くは、バ
ス・サイクルの利用率、および/または、バス・コンテンションの問題によって
引き起こされるもので、必要とされる投資に見合うだけの最大限の性能が得られ
ない、という結果を生んできた。
かくて、本発明の目的の一つは、INTEL486系マイクロプロセッサのように一般
に開発されている処理装置を用いた、マルチプロセッサ・コンピュータ・システ
ムを提供することにある。
更に、高速でオーバーヘッドの低いバス調停を提供し、付加的なカスタム論理
の必要性を最小限にすることで、このようなマルチプロセッサ・コンピュータ・
システムのコストを最小限に抑えることを目的としている。
更に本発明は、一般に入手可能なソフトウェア・パッケージを使用できるよう
なマルチプロセッシング・コンピュータ・システムを提供することを目的として
いる。
これらの目的および他の目的は、添付した仕様書、図面、特許請求項によって
明らかになるものである。
発明の発表
望ましい形で具体化された場合、本発明は、高速/低オーバーヘッドでシステ
ム・バスのマスターシップを割り付けるバス調停機構と、それを実行するための
方法から成り立つものである。本機構は、第1と第2の処理
装置と、システム内の装置同士をつなぐコミュニケーションの中心的な役割を果
たすバス手段とを含むシステムに配置することができ、あるいはその必須の一部
となることができる。バス手段にはアドレス・バス、データ・バス、コントロー
ル・バスが含まれる。
第1と第2の処理装置はいずれも、命令を実行しデータを操作する。第1と第
2の処理装置はそれぞれ1つのマイクロプロセッサ、特にINTEL486系のマイクロ
プロセッサまたはその類似品から構成することができる。第1および/または第
2の処理装置は、I/Oコントローラまたは数学的コプロセッサなど、他の種類の
装置から構成することもできる。これらの装置はそれぞれ、割り込みコントロー
ラからの割り込みを受けることができる。
第1の処理装置は、アドレス・ラインの第1のセット、データ・ラインの第1
のセット、およびコントロール・ラインの第1のセットを持つ。第2の処理装置
は、アドレス・ラインの第2のセット、データ・ラインの第2のセット、および
コントロール・ラインの第2のセットを持つ。第1と第2のセットの順序とバス
手段の信号は同一にして、メッセージがシステム内を通って運ばれるようにする
。
望ましい形で具体化された場合、バス調停機構は、制御手段、マルチプレクサ
手段、ラッチ手段を含み、これらはすべて第1と第2の処理装置間の調停のため
に使われて、バス手段が使用中でない場合、各処理装置がバス手段にアクセスす
ることができるようにする。制御手段は、第1と第2の処理装置の間の接続、お
よびバス手段上のアドレス・バスとコントロール・バスの間の接続を制御する。
この具体化例では、データ・ラインの第1と第2のセットは、直接バス手段に接
続されている。
マルチプレクサ手段は、コントロール・ラインの第1または第2のセットをコ
ントロール・バスに接続する。この選択は制御手段の状態に基づい
て行なわれ、ある一定時に第1または第2の処理装置のどちらかだけがシステム
を制御するようにされる。
ラッチ手段は、システムの状態に基づいて、アドレスを、アドレス・バスを通
過させたりアドレス・バスにつなげたりする。このアドレスは、制御手段の状態
に基づいて、第1と第2の処理装置のどちらかによって排他的に駆動される。制
御手段は、第1のインターバルに、アドレス・ラインの第1のセット上で第1の
処理装置によって駆動される第1のアドレスと、第2の、またそれに続くインタ
ーバルに、アドレス・ラインの第2のセット上で第2の処理装置によって駆動さ
れる第2のアドレスとの間に、競合がないことを保証する。
実際の操作は、バス調停機構が第1の処理装置にバス手段へのアクセスを与え
ることから始まる。ある処理装置がバス手段へのアクセスを与えられている間に
、その装置がバス手段を利用することもあれば利用しないこともある。もしもバ
ス手段が利用されれば、そのバス・サイクルが終了するか、ほとんど終了しそう
になるまで、このバス手段は本機構によって「使用中」と認識される。本機構は
、バス手段が使用中であるかどうかを、第1の処理装置とバス手段からの信号を
用いて決定する。
第1の処理装置がバスへのアクセスを与えられている間、本機構はアドレス・
ラインの第1のセット上のアドレスを、全てのバス・サイクル上のラッチに結び
付けて、そのバス・サイクルの間、適切なバス定義が常に維持されるようにする
。それから本機構は、第1の処理装置にアドレス・ラインの第1セットを即座に
放棄させる。かくて、第1の処理装置は現行のバス・サイクルを完了させること
ができ、アドレス・ラインの最初のセットは、指定された保留時間の間「落ち着
いて」いる。
これらのステップは、バス手段が使用中でなくなり、第2の装置がバス手段へ
のアクセスを要求するまで繰り返される。第2の処理装置がこのよ
うなアクセスを要求すると、本機構は、第1の処理装置が次のバス・サイクルを
開始することを妨げる。この段階、およびアドレス・ラインを放棄する段階は、
INTEL486系マイクロプロセッサを使った望ましい具体化例において、AHOLD信号
を使うことで達成される。AHOLD信号が第1の処理装置に対して表明されている
かぎり、第1の処理装置はバス・サイクルを開始することはできず、第2の処理
装置にバス手段への単独のアクセスを与えることになる。もちろん、第1の処理
装置がバス・サイクルにアクセスを与えられている間は、AHOLD信号は第2の処
理装置に対して継続的に表明され、第2の処理装置がバス・サイクルを開始する
ことを妨げる。
AHOLD信号は、INTEL CORPORATIONによって、486系のマイクロプロセッサの「
設計に組み込まれて」おり、EADS信号と協力して、486系のマイクロプロセッサ
に発見された内部キャッシュを無効化する能力を持つように意図されている。本
機構はこのように、意図されていなかった方法でAHOLD信号を利用して、バス調
停を行なう。ただし、本機構ではまた、キャッシュ無効化サイクルが必要とされ
るときにはAHOLD信号がその意図された機能のために用いられるようになってい
る。このために、本機構の望ましい具体化例は、更にキャッシュ無効化手段を含
み、キャッシュ無効化サイクルが必要とされるときにEADS信号が第1と第2の処
理装置にのみ与えられることを保証するようにする。かくて、望ましい具体化例
では、キャッシュを無効化する能力を犠牲にすることなく、AHOLD信号を利用す
ることができる。この具体化例では、第1と第2の処理装置のアドレス・ライン
は、ラッチ手段の非バス手段側で一緒に結び付けられて、第1と第2の処理装置
間に起こり得るキャッシュの無効化が行なえるようにできる。また、望ましい具
体化例ではラッチ手段が双方向性で、DMAコントローラなど、他のシステム・マ
スターによる操作の結果、第
1および/または第2の処理装置において内部キャッシュを無効化できるように
なっている。
図面の簡単な説明
図1は、高速/低オーバーヘッド・バス調停機構を含むマルチプロセッサ・コ
ンピュータ・システムのブロック図で、特に、第1と第2の処理手段、マルチプ
レクサ手段、ラッチ手段、制御手段、およびバス手段を示している。
図2は、本発明の制御手段のブロック図で、特に、キャッシュ無効化論理、同
期および非同期ステート・マシン、および信号マルチプレクサを示している。
図3は、マルチプレクサ手段の詳細なブロック図で、特に、INTEL486系バス定
義に則った具体例において利用される信号の配置を示している。
図4は、INTEL486系バス定義に則った具体例において利用される制御手段の一
部の、ステート・マシン図である。
図5は、INTEL486系バス定義に則った具体例において利用される制御手段の一
部の、ステート・マシン図である。
図6は、INTEL486系バス定義に則った具体例において利用される制御手段の一
部の、ステート・マシン図である。
本発明を実行する上で最も好ましい方法
本発明は多くの異なった形態で具体化することが可能であるが、本発表は本発
明の主要点の例示とみなされるべきもので、本発明を、説明された具体化例に限
定するものではないという理解に立って、添付の図面ではある特定の具体化例が
示されており、以下においても、その具体化例について詳細に説明する。
図1は、マルチプロセッサ・コンピュータ・システム100のブロック図である
。マルチプロセッサ・システム100には、第1の処理手段101第
2の処理手段102、バス手段103、および高速/低オーバーヘッド・バス調停機構
200が含まれている。
第1の処理手段101と第2の処理手段102は双方とも、命令を実行しデータを操作
する。第1の処理手段101と第2の処理手段102は双方とも、カリフォルニア州サ
ンタ・クララのINTEL CORPORATIONによって入手可能であるINTEL486系のマイク
ロプロセッサを用いることができる。しかし、I/Oコントローラのように、独立
してメモリ・アドレスの位置にアクセスすることができ、更に、バス・サイクル
の終了時点で停止させられるものであれば、第1の処理手段101と第2の処理手
段102にはどのような処理装置を用いてもよいとも考えられる。
第1の処理手段101は、アドレス・ラインの第1のセット105、データ・ライン
の第1のセット107、およびコントロール・ラインの第1のセット109を持つ。第
2の処理手段102は、アドレス・ラインの第2のセット106、データ・ラインの第
2のセット108、およびコントロール・ラインの第2のセット110を持つ。望まし
い具体化例では、データ・ラインの第1のセット107と第2のセット108は電気的
に互いに接続され、またデータ・バス103bに接続されている。
バス手段103は、全システム内の装置同士をつなぐコミュニケーションの中心
的な役割を果たす。このシステム内には更に、パーソナル・コンピュータ・シス
テム内に見られるような、主記憶装置、外部キャッシュ・メモリとコントローラ
、記憶装置と他の処理装置を含むことができる。バス手段103には、アドレス・
バス103a、データ・バス103b、およびコントロール・バス103cが含まれる。アド
レス・バス103aとデータ・バス103bの幅はひとえに設計上の選択に任されるもの
であるが、標準的な486アドレス・バスは幅32ビット、標準的なデータ・バスも
幅32ビットである。コントロール・バス103cの幅も設計上の選択の問題であるが
、高速
/低オーバーヘッド・バス調停機構200の機能性を促進するために、コントロー
ル・バス103cにはいくつかの制限が適用される。
特に、INTEL486系マイクロプロセッサのバス定義は、先に述べたように、高速
/低オーバーヘッド・バス調停機構200の機能性を促進するために十分である以
上の能力を持っている。実際のところ、486系バス定義全体の中からサブセット
1つだけで、高速/低オーバーヘッド・バス調停機構200の操作には十分である
。このサブセットには、次のような信号タイプが含まれる。処理装置バス要求
-- ある特定の処理装置が、バス手段のコントロールを求めて
いることを示す信号。有効サイクル準備完了
-- 第1のチック・サイクルの開始時に表明される信号で
、制御処理装置が、有効なサイクル定義(有効なアドレス、有効なコマンド(読
み取り/書き込み))を、そのピンに出力したことを示すもの。バス手段ロック
-- 有効サイクル準備完了信号と同時に表明され、サイクルの完
了まで継続する信号で、現行のバス・サイクルに割り込みができないことを示す
。サイクル完了
-- 第2のチック・サイクルの終了時に表明される信号または信号
セットで、現行のバス・サイクルが完了しかかっていることを示す。アドレス・バス要求
-- ある特定の処理装置に、即座にバス手段を放棄さ
せる信号で、現行バス・サイクルを、そのサイクル定義が必要とするデータ・バ
スとコントロール・バスを維持することによって完了するまで継続しながら、次
のバス・サイクルを妨害する。コマンド定義
-- メモリ読み取り、メモリ書き込みなど、要求されるバス操作を
示す、1つあるいは複数の信号。
どのようなバス定義においてもそうであるように、これらの信号は、装置によ
って異なる様々な設定時間と保留時間に一致させなければならない。本発明の範
囲で利用され得る装置の種類を考えると、この分野において通常の技術を持ち、
メーカーの仕様書を参照する人ならば理解できるように、これらの設定時間と保
留時間はかなり多様なものになり得る。
高速/低オーバーヘッド・バス調停機構200は、バス手段103のマスターシップ
を第1の処理手段101と第2の処理手段102の間に割り付ける。しかし、これによ
って、第1の処理手段101または第2の処理手段102が、I/Oコントローラ(図示
されず)のような外部マスターに対してバス手段103を放棄することは妨げられ
ない。
高速/低オーバーヘッド・バス調停機構200は、ラッチ手段201、マルチプレク
サ手段202、制御手段210から構成されている。ラッチ手段201は、第1あるいは
第2の処理装置101または102のどちらかによって排他的に駆動されるアドレスを
、制御手段210の状態に基づいて、アドレス・バス103aへ通過させたりラッチし
たりする。ラッチ手段201には更に、上述のラッチ手段に対するアドレスのラッ
チを制御するための同期論理が含まれる。この同期論理は、離散的論理から構築
されても、16R4GALのようなPALにおいて実行されてもよい。この機能は、次のよ
うに実行することができる。
本質的に、この等式の結果は、RDY、BRDY、BLASTによって示されるように、AD
Sが表明されたときにラッチ手段201の入力へアドレスをラッチすることと、使用
中のサイクルの終了までそのアドレスをラッチしたままに保つことになる。
第1の処理手段101および/または第2の処理手段102には、内部キャッシュを
持つマイクロプロセッサを用いるのに対して、ラッチ手段201には双方向性ラッ
チを用いて、I/Oインタフェイスのような外部バス・マスターが発生させたアド
レスを、第1または第2の処理手段に提供して、内部キャッシュの無効化を図る
こともできる。本具体化例では、ラッチ手段201の方向は、ラッチ手段201の方向
制御にHLDA信号を表明することで決定される。
マルチプレクサ手段202には、74FCT257タイプの装置を用いることができるが
、制御手段210の状態に基づいて、コントロール・ラインの第1セット109または
コントロール・ラインの第2セット110のいずれかを、コントロール・バス103c
に接続する。図3は、マルチプレクサ手段202の詳細なブロック図で、INTEL486
系バス信号定義を用いた具体例における信号の配置を示している。コントロール
・バス103cに接続されている信号は、CPU2の値に左右される。CPU2は制御手段21
0によって発生して、第1の処理手段101がバス・マスターであるのに対し、コン
トロール・ラインの第1セット109における信号は(信号名の中に「1」があるこ
とによって示されるように)、コントロール・バス103cに接続するようにする。
図2は、高速/低オーバーヘッド・バス調停機構200の制御手段210のブロック
図である。制御手段210には、同期ステート・マシン220、非同期ステート・マシ
ン230;信号マルチプレクサ240およびキャッシュ無効化手段241が含まれる。制
御手段210は、第1と第2の処理装置101と102の間の接続、およびアドレス・バ
ス103aとコントロール・バス103cの間の接続を制御する。
信号マルチプレクサは、CPU2/221の値に基づいて、コントロール・ラインの第
1セット109の一部または第2セット110の一部を、同期ステート・マシン220と
キャッシュ無効化手段241に接続する。
望ましい具体化例では、制御手段210は、多重ステート・マシンを用いて実行
されているが、本発明者は、バス手段103が使用中でないかぎりにおいて、それ
ぞれの処理手段が欲するときにバス手段103にアクセスできるように制御信号を
与えるような他のアプローチも本発明の範囲内で可能ではないかと考える。同期
ステート・マシン220は3つのステート・マシンから構成されており、その望ま
しい具体化例は図4、5、6に示されている。この具体化例では、INTEL486系バ
ス定義が使われており、論理方程式はINTEL信号定義を用いて表現されているが
、同様の機能性を持つ信号ならば、これらの信号に代替させることができるとい
う理解に立つものである。
本発明の望ましい具体化例では3つの同期ステート・マシンが使われているが
、この論理は大型な1つのステート・マシン内に実行することもできる。ただし
、複数のステート・マシンの方が、変数セットの全てに対して、よりシンプルな
設計をすることができる。これらのステート・マシンは各々、1つ或はそれ以上
のPAL(GAL22V10など)の上に実行することができ、CUPLコンパイラを利用して
プログラムすることができる。また、これらのステート・マシンは、離散的論理
を使って実行することもで
きる。どちらの場合にせよ、第1の処理手段101が、INTEL486DX/2 66Mhzマイク
ロプロセッサから成っている場合、入力と出力の間で許容可能な最大遅延は、5
ナノ秒以下になる。もちろん、最も低速の処理手段の速度が遅くなればなるほど
、入力と出力の間で許容可能な最大遅延の値は大きくなる。
図4は、INTEL486系バス定義のために設計された同期型ステート・マシン300
を示すステート図である。同期型ステート・マシン300には3つの出力変数があ
る:CPU2 221は、どの処理手段が現在バス手段103にアクセスしているかを示す
;
ARB2 222は、他の処理手段がバス・マスターとなることを要求しているかどう
かを示す;STA223は独立変数である。これらの3種の変数は、6種類のステート
(IDLE2 301;WAIT1 302;PEND2 303;IDLE1 304;WAIT2 305;PEND1 306)を定義す
るためだけに用いられる。ステート間の変移は、コントロール・バス103c上の様
々なコントロール信号によって引き起こされる。
一般的に、同期型ステート・マシン300は、IDLE2 301;WAIT1 302;PEND2 303の
ステートにおいて、第1の処理手段101にバス手段103へのアクセスを与え、IDLE
1 304;WAIT2 305;PEND1 306のステートにおいて、第2の処理手段102にバス手段
103へのアクセスを与える。
CPU2 221、ARB2 222およびSTA 223の値は、図4に、それぞれのステートにつ
いて示されている。例えば、WAIT2 305では、CPU2 221はHIGH、ARB2 222もHIGH
、STA 223もHIGHである。かくて、制御信号は第2の処理手段102からのものであ
り、第2の処理手段は依然としてバス手段103へのアクセスを欲していることが
示されている。図2に示されているように、CPU2 221は、コントロール信号の源
を制御できるように、マルチプレクサ手段202の選択ピンに直接送り込まれてい
る。システ
ムがリセットされると、同期型ステート・マシン300はIDLE2 301の状態において
始動し、第2の処理手段102がバス手段103へのアクセスを要求しないかぎり、こ
の状態にとどまる。第2の処理手段102がバス手段103へのアクセスを要求すると
、機構200は、バス手段103が割り込み不可のバス・サイクルにあるか否かによっ
て、WAIT1 302またはPEND2 303のいずれかに変移する。割り込み不可のバス・サ
イクルでは、機構200はWAIT1 302にとどまる。「ロックされた」バス・サイクル
が終了すると、機構200はPEND2 303に変移する。
PEND2 303は、第2の処理手段102がバス手段103へのアクセスを獲得する前の
最後の状態である。機構200は、バス手段103が使用中であるかぎり、PEND2 303
にとどまる。第1の処理手段101はバス・マスターであるが、バス手段103が使用
中であるかどうかを決定するのはステート・マシン310の機能であり、ステート
・マシンは、第1の処理手段101からもたらされる信号と、第1の処理手段101へ
送られる信号とに注意している。バス手段103がもはや使用中でなくなるか、第
1の処理手段101によって今にも放棄されそうになると、機構200はIDLE1 304に
変移する。
機構200は、第1の処理手段101がバス手段103へのアクセスを要求しないかぎ
り、IDLE1 304の状態にとどまる。第1の処理手段101がバス手段103へのアクセ
スを要求すると、機構200は、バス手段103がロックされたバス・サイクルにある
か否かによって、WAIT2 305またはPEND1 306のいずれかに変移する。ロックされ
たバス・サイクルでは、そのバス・サイクルが終了するまで機構200はWAIT2 305
にとどまり、サイクルが終了すると機構200はPEND1 306に変移する。
PEND1 306は、第1の処理手段101がバス手段103へのアクセスを獲得する前の
最後の状態である。機構200は、バス手段103が使用中であるかぎり、PEND1 306
にとどまる。第1の処理手段102はバス・マスター
であるが、バス手段103が使用中であるかどうかを決定するのはステート・マシ
ン320の機能である。バス手段103がもはや使用中でなくなるか、第2の処理手段
102によって今にも放棄されそうになると、機構200はIDLE2 301に変移する。
ステート・マシン310と320はいずれも、バス手段103が使用中であるかどうか
を指示する。スレーブ装置からRDYまたはBRDYのリターンがあるまでは、処理手
段からのADSの表明があると、バス手段103は使用中であるとみなされる。ステー
ト・マシン310と320はまた、表明されたBRDYが有効であるかどうかを決定するた
めに、バス・マスターの処理手段からBLASTを要求する。ステート・マシン310と
320は、新しいステートを登録する前にクロックのチックが1つ余分に必要なの
で、バス・アクセスの変移がバスの争奪を引き起こすことなく実行可能な範囲で
できるだけ速く達成できるように、PEND2 303からIDLE1 304への変移とPEND1 30
6からIDLE2 301への変移は、ステート・マシン310と320が行なうと同様に、同じ
信号を直接検討する。
同期ステート・マシン220によって発生する値は、基本システム・クロックに
おいて、非同期ステート・マシン230に出力される。望ましい具体化例では、第
1と第2の処理手段101と102がINTEL486マイクロプロセッサであり、非同期ステ
ート・マシン230は2つのAHOLD信号を出力する(第1の処理手段101へ1AHOLD211
、第2の処理手段102へ2AHOLD212)。INTEL486系のマイクロプロセッサでは、AH
OLDまたはアドレス・ホールド(保留)は内部キャッシュ無効化のために設計さ
れており、外部マスターがアドレスをプロセッサに表明することができるように
、マイクロプロセッサにアドレス・バスの放棄を強制するものである。INTELの
プロトコールは更に、内部キャッシュ・ライン無効化サイクルを始めるためには
、EADSまたは外部アドレス有効信号を同時に表明し
なければならないとしている。EADS信号なしにAHOLD信号を表明すると、アドレ
ス・ラインのセットは、内部キャッシュになんら影響を与えることなく、「直ち
に」放棄される。AHOLD信号を表明することで得られる唯一の副次的な効果は、
現行のバス・サイクルの終了時点で、マイクロプロセッサに次のバス・サイクル
を止めさせられることである。
機構200は、まちがいのない調停を行なってバスの争奪をなくしながら、バス
の利用率を最大限に高めることを目標としている。一つの処理装置のバス・サイ
クルが終了した時点で、他の処理装置からのバス・サイクルが直ちに始まるのが
理想的である。しかし、現実では、信号保持時間がこれを難しくしている。特に
、INTEL486DX/2 66Mhzのアドレス・ラインは浮動遅延時間が20ナノ秒にもなり、
その間に、もしもアドレスが1つ放棄されていたならば、それをマイクロプロセ
ッサによって駆動することが可能である。この遅延のために、通常のINTELバス
・サイクル定義の下では、争奪のない連続的なバス・サイクルが不可能になって
いる。AHOLDを利用することで、制御手段210は、先のサイクル・アドレスと次の
アドレスの間のコンテンションを懸念することなしに、バス手段103へのアクセ
スを委任することができるのである。
INTEL486バス定義を用いた望ましい具体化例では、非同期型ステート・マシン
230は、離散型論理あるいはGAL 16L8などのPALにおいて実行することができる。
同期型ステート・マシン230を真ブール論理によって表現した方程式は、次のよ
うになる。
これらの方程式の結果、処理手段がADSを表明するか、バス手段103が他のプロ
セッサによって使用中であるか(すなわち、第1の処理手段101がバス手段103を
使用している間に2AHOLDが表明されたか、あるいはその逆)、または他の処理手
段がバス手段103へのアクセスを要求している間("ARB2")、1AHOLD211と2AHOLD
212の両方が、それぞれの処理手段において表明される。INTEL486バス定義では
、ADSの表明と同時にAHOLDが表明された場合、パイプライン効果が起こって、マ
イクロプロセッサ手段からの返答が次のクロックエッジで起こり、アドレス・ラ
インのセットが放棄される。かくて、このパイプライン効果のために、アドレス
・ラインが放棄される前に、ラッチ手段201は、先述のLATCHADDRESSを用いて適
切なアドレスをアドレス・バス103aにラッチする。こうして、すべてのバス・
サイクルについて、表明されたアドレスは、そのバス・サイクルの間に放棄され
るアドレス・ラインにラッチされる。
AHOLDを持続することで、バス手段103へのアクセスの移転は達成される。AHOL
Dを表明し続けることで、処理手段が次のバス・サイクルを始めることを防ぐこ
とになる。しかし、AHOLDは最初のチックの間にしか表明することができないの
に対し、連続するバス・サイクルは処理手段によって開始することができる。た
とえば、第1の処理手段101がバス手段103へアクセスしている場合、1AHOLD211
はADS表明の間に表明される。1AHOLD211は持続することができるので、同期ステ
ート・マシン300がPEND2 303の状態にあるとき、第1の処理手段101から起こる
次のバス・サイクルを妨げることができる。第1の処理手段101がもはやバス手
段103へアクセスしていないときには(IDLE1 304;WAIT2 305;
PEND1 306)、バス手段103が使用中の間("BUSY2")1AHOLD211は持続される。
内部キャッシュを持つマイクロプロセッサが少なくとも1つ含まれるような、
望ましい具体化例では、機構200には更に、マイクロプロセッサが内部キャッシ
ュ無効化サイクルを実行できるように、内部キャッシュ無効化手段241が含まれ
る。このような内部キャッシュ無効化サイクルは、INTEL486系のマイクロプロセ
ッサによって用意されている。上述のように、AHOLD、アドレス、EADSが同時に
適用されるや否や、無効化サイクルが始まる。もちろん、もしもデータが内部キ
ャッシュ内になければ、無効化は起こらない。本発明においてAHOLDはほとんど
常に活動状態にあるので、キャッシュ無効化サイクルを引き起こすためには、キ
ャッシュ無効化手段241が1EADS/213と2EADS/214を発生することだけが必要にな
る。これは、同期離散型論理、または20R4GALのようなPALを使うことで、達成で
きる。INTELで定義されている信号を使って構成した方程式は、次のようなもの
が考えられる:
かくて、外部マスター装置によってEADSが表明されると、または他の処理手段
によってメモリ書き込みが開始されると、キャッシュ無効化サイクルが引き起こ
される。
実際の操作は、バス調停機構が第1の処理装置にバス手段へのアクセスを与え
ることから始まる。ある処理装置がバス手段へのアクセスを与えられている間に
、その装置がバス手段を利用することもあれば利用しないこともある。もしもバ
ス手段が利用されれば、そのバス・サイクルが終了す
るか、ほとんど終了しそうになるまで、このバス手段は機構によって「使用中」
と認識される。本機構は、バス手段が使用中であるかどうかを、第1の処理装置
とバス手段からの信号を用いて決定する。
第1の処理装置がバスへのアクセスを与えられている間、本機構はアドレス・
ラインの第1のセット上のアドレスを、全てのバス・サイクル上のラッチに結び
付けて、そのバス・サイクルの間ずっと、適切なバス定義が維持されるようにす
る。それから本機構は、第1の処理装置にアドレス・ラインの第1セットを即座
に放棄させる。かくて、第1の処理装置は現行のバス・サイクルを完了させるこ
とができ、アドレス・ラインの最初のセットは、指定された保留時間の間「落ち
着いて」いる。
これらのステップは、バス手段が使用中でなくなり、第2の処理装置がバス手
段へのアクセスを要求するまで繰り返される。第2の処理装置がこのようなアク
セスを要求すると、本機構は、第1の処理装置が次のバス・サイクルを開始する
ことを妨げる。この段階、およびアドレス・ラインを放棄する段階は、INTEL486
系マイクロプロセッサを使った望ましい具体化例において、AHOLD信号を使うこ
とで達成される。AHOLD信号が第1の処理装置に対して表明されているかぎり、
第1の処理装置はバス・サイクルを開始することはできず、第2の処理装置にバ
ス手段への単独のアクセスを与えることになる。もちろん、第1の処理装置がバ
ス・サイクルにアクセスを与えられている間は、AHOLD信号は第2の処理装置に
対して継続的に表明され、第2の処理装置がバス・サイクルを開始することを妨
げる。
この具体化例では、第1と第2の処理装置のアドレス・ラインをラッチ手段の
非バス手段側で一緒に結び付けて、第1と第2の処理装置間に起こり得るキャッ
シュの無効化が行なえるようにすることができる。また、望ましい具体化例では
ラッチ手段が双方向性で、DMAコントローラなど、
他のシステム・マスターによる操作の結果、第1および/または第2の処理装置
において内部キャッシュを無効化できるようになっている。本発明者は、このバ
ス手段を異なる処理装置と関連させて、介在する論理、バッファおよび遅延が、
本機構の適切な操作を保証するために必要となるような方法で使用することも考
えている。これらはすべて、本発明が関連する分野について通常の技術を有する
者にはよく知られているものである。たとえば、アドレス・バスの要求を使って
三相バッファを制御し、処理装置をアドレス・バスから引き離したり、バス・サ
イクルの終了時に処理装置を停止したりすることもできるであろう。
付録の請求において制限が加えられている場合を除き、また、この分野の技術
を有するものがこの特許公開を前にして、本発明の範囲から離れることなく、そ
の中で変更と変化を加えることができるかぎりにおいて、上述の説明と図面は、
本発明を解説し例示するためだけのものであって、本発明はそれに制限されない
。
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FR,GB,GR,IE,IT,LU,M
C,NL,PT,SE),OA(BF,BJ,CF,CG
,CI,CM,GA,GN,ML,MR,NE,SN,
TD,TG),AM,AT,AU,BB,BG,BR,
CA,CH,CZ,DE,DK,ES,FI,GB,G
E,HU,JP,KG,KP,KR,LK,LU,MD
,MG,MN,MW,NL,NO,NZ,PL,PT,
RO,RU,SD,SE,SI,SK,TJ,TT,U
A
(72)発明者 ルードウィッグ、トーマス・イー
アメリカ合衆国カリフォルニア州92720、
ソルク・イルヴィーン6
【要約の続き】
方の処理装置(101および102)がシステム・バス(103)を
争奪することを防ぐ。第1の処理装置(101)が再びアク
セスを要求し、バス(103)が使用中でない場合、制御論
理(210)はシステム・バス(103)へのアクセスを第1の処
理装置(101)に返還する。
Claims (1)
- 【特許請求の範囲】 1.システム・バス・マスターシップをあるシステム内で割り付ける、高速/低 オーバーヘッド・バス調停機構で、そのシステムには以下のものを含むもの、 --上記のシステム内の装置同士をつなぐコミュニケーションの中心的な役割を 果たすバス手段で、そのバス手段にはアドレス・バス、データ・バス、コントロ ール・バスが含まれるもの、 --命令を実行しデータを操作する、第1の処理装置で、アドレス・ラインの第 1のセット、データ・ラインの第1のセット、および上記のコントロール信号を 含むコントロール・ラインの第1のセットを持つもの、 --命令を実行しデータを操作する、第2の処理装置で、アドレス・ラインの第 2のセット、データ・ラインの第2のセット、および上記のコントロール信号を 含むコントロール・ラインの第2のセットを持つもの、 上記の高速/低オーバーヘッド・バス調停機構は、次のものから構成される: --上記の第1と第2の処理装置の間の接続、および上記のアドレスとコントロ ール・バスの間の接続を制御する、制御手段; --上記の制御手段の状態に基づいて、上記のコントロール・ラインの第1セッ トまたは第2セットを上記のコントロール・バスに接続する、マルチプレクサ手 段;および --上記のシステムの状態に基づいて、アドレスを上記のアドレス・バスに通過 させたりラッチを行なったりするラッチ手段;このアドレスは、上記のアドレス ・ラインの第1セット上の第1アドレスと、上記のアドレス・ラインの第2セッ ト上の第2アドレスとの間に競合が起こらないように、制御手段の状態に基づい て、上記の第1または第2の処理装置のどち らかによって排他的に駆動される。 2.請求項1による発明で、上記のアドレス・ラインの第1セットと第2セット が互いに、また上記のラッチ手段へ、電気的に接続されているもの。 3.請求項2による発明で、上記の第1の処理装置が、内部キャッシュを持つマ イクロプロセッサであるもの。 4.請求項3による発明で、上記のコントロール・バスがEADSコントロール信号 を含み、上記の高速/低オーバーヘッド・バス調停機構が更に、上記の第1の処 理装置に内部キャッシュ無効化サイクルを実行させるキャッシュ無効化手段を含 むもの。 5.請求項4による発明で、上記のコントロール・バスが更にHOLDおよびHLDAコ ントロール信号を含み、また、上記のラッチ手段が双方向性であるので、外部マ スター・トランスファー・サイクル上にある上記の接続された第1と第2のアド レス・ラインへ、上記のアドレス・バス上のアドレスが通過していくもの。 6.請求項4による発明で、上記の第2の処理装置が、内部キャッシュを持つマ イクロプロセッサであるもの。 7.請求項6による発明で、上記のキャッシュ無効化手段が更に、上記の第2の 処理装置に内部キャッシュ無効化サイクルを実行させるもの。 8.請求項1による発明で、上記の第1の処理装置が、内部キャッシュを持つマ イクロプロセッサであるもの。 9.請求項8による発明で、上記の高速/低オーバーヘッド・バス調停機構が更 に、上記の第1の処理装置に内部キャッシュ無効化サイクルを実行させるキャッ シュ無効化手段を含むもの。 10.システム・バス・マスターシップをあるシステム内で割り付ける、高速/低 オーバーヘッド・バス調停機構で、そのシステムには以下のものを 含むもの --アドレス・バス、データ・バス、コントロール・バスを含むシステム・バス で、そのコントロール・バスには最低限BREQ、LOCK、PLOCK、ADS、RDY、BRDY、B LASTおよびAHOLDのコントロール信号と基本システム・クロックが含まれ、それ らのコントロール信号は、INTEL 486系マイクロプロセッサに関連して用いられ るバス定義に本質的に一致するもの、 --命令を実行しデータを操作する第1の処理装置で、アドレス・ラインの第1 のセット、データ・ラインの第1のセット、および上記のコントロール信号を含 むコントロール・ラインの第1のセットを持つもの、 --命令を実行しデータを操作する第2の処理装置で、アドレス・ラインの第2 のセット、データ・ラインの第2のセット、および上記のコントロール信号を含 むコントロール・ラインの第2のセットを持つもの、 上記の高速/低オーバーヘッド・バス調停機構は、次のものから構成される: --上記の第1と第2の処理装置の間の接続、および上記のアドレスとコントロ ール・バスの間の接続を制御する、制御手段; --上記の制御手段の状態に基づいて、上記のコントロール・ラインの第1セッ トまたは第2セットを上記のコントロール・バスに接続する、マルチプレクサ手 段;および --上記のシステムの状態に基づいて、アドレスを上記のアドレス・バスに通過 させたりラッチを行なったりするラッチ;このアドレスは、上記のアドレス・ラ インの第1セット上の第1アドレスと、上記のアドレス・ラインの第2セット上 の第2アドレスとの間に競合が起こらないように、制御手段の状態に基づいて、 上記の第1または第2の処理装置のどちらかによって排他的に駆動される。 11.請求項10による発明で、上記のアドレス・ラインの第1セットと第2セット が互いに、また上記のラッチ手段へ、電気的に接続されているもの。 12.請求項11による発明で、上記の第1のマイクロプロセッサが内部キャッシュ を持ち、上記のコントロール・バスが更にEADSコントロール信号を含み、上記の 高速/低オーバーヘッド・バス調停機構が更に、上記の第1マイクロプロセッサ に内部キャッシュ無効化サイクルを実行させるキャッシュ無効化手段を含むもの 。 13.請求項12による発明で、上記のコントロール・バスが更にHOLDおよびHLDAコ ントロール信号を含み、また、上記のラッチ手段が双方向性であるので、外部マ スター・トランスファー・サイクル上にある上記の接続された第1と第2のアド レス・ラインへ、上記のアドレス・バス上のアドレスが通過していくもの。 14.請求項12による発明で、上記の第2のマイクロプロセッサが内部キャッシュ を持ち、上記のキャッシュ無効化手段が更に、上記の第2のマイクロプロセッサ に内部キャッシュ無効化サイクルを実行させるもの。 15.請求項10による発明で、上記の第1のマイクロプロセッサが内部キャッシュ を持ち、上記の高速/低オーバーヘッド・バス調停機構が更に、上記の第2のマ イクロプロセッサに内部キャッシュ無効化サイクルを実行させるキャッシュ無効 化手段を含むもの。 16.命令を実行しデータを操作するためのマルチプロセッサ・コンピュータ機構 で、そのマルチプロセッサ・コンピュータ機構は割り込みコントローラからの割 り込みを受け、更に、そのマルチプロセッサ・コンピュータ機構は、アドレス・ バス、データ・バス、コントロール・バスを持つシステム・バスに接続されてお り、そのコントロール・バスは、INTEL 486系あるいはその同種のマイクロプロ セッサに関連して用いられるバス定義 に一致しており、そのマルチプロセッサ・コンピュータ機構の構成物は次のよう であるもの: --命令を実行しデータを操作する第1の処理装置で、アドレス・ラインの第1 のセット、データ・ラインの第1のセット、およびコントロール・ラインの第1 のセットを持つもの; --命令を実行しデータを操作する第2の処理装置で、アドレス・ラインの第2 のセット、データ・ラインの第2のセット、およびコントロール・ラインの第2 のセットを持つもの; --上記のデータ・ラインの第1のセットと上記のデータ・ラインの第2のセッ トが、上記のデータ・バスに電気的に接続されたもの; --上記のアドレス・ラインの第1セットが、上記のアドレス・ラインの第2セ ットに電気的に接続されて、一元のアドレス・ラインのセットを形成するもの; --ラッチ信号の表明があった場合のみ、上記の一元アドレス・ライン上のアド レスを、上記のアドレス・バスにつなぐラッチ手段、 --上記のラッチ手段で、更に、上記のラッチ信号が表明されていない間は、上 記の一元アドレス・ライン上のアドレスを、上記のアドレス・バスの上へ通過さ せるもの; --入力として、上記のコントロール・ラインの第1セット、上記のコントロー ル・ラインの第2セット、および選択信号を受け取るマルチプレクサ手段で、そ のマルチプレクサ手段は、上記の選択信号に基づいて、上記のコントロール・ラ インの第1または第2セットのうち1つを、上記のコントロール・バスの一部に 電気的に接続するもの;および --上記の第1と第2の処理装置の各々に、上記のシステム・バスへの排他的な アクセスを与える制御装置、 --上記の選択信号、上記のラッチ信号、第1のAHOLD信号と第2の AHOLD信号を発生する制御手段で、その第1と第2のAHOLD信号はそれぞれ、操作 可能な状態で、上記の第1と第2の処理装置に接続されているもの、 --上記の第1のAHOLD信号で、第1のバス・サイクルの間に、即座に上記のア ドレス・ラインの第1セットを放棄し、その第1のバス・サイクルの終了時点で 次のバス・サイクルを妨害するように、上記の第1の処理手段に強制するもの、 --上記の第2のAHOLD信号で、第2のバス・サイクルの間に、即座に上記のア ドレス・ラインの第2セットを放棄し、その第2のバス・サイクルの終了時点で 次のバス・サイクルを妨害するように、上記の第2の処理手段に強制するもの。 17.請求項16による発明で、上記の第1の処理手段が、内部キャッシュを持つIN TEL 486系あるいはその同種のマイクロプロセッサであるもの。 18.請求項17による発明で、上記のマイクロプロセッサ・コンピュータ機構が更 に、 上記の第1の処理手段に内部キャッシュ無効化サイクルを実行させるキャッシュ 無効化手段を含むもの。 19.請求項18による発明で、上記のラッチ手段が双方向性であるので、上記のア ドレス・バス上のアドレスが、上記の一元アドレス・ラインの上へ通過していく ことができ、その結果、上記の第1と第2の処理手段のアドレス・ピンの上へ通 過していくことができるもの。 20.請求項18による発明で、上記の第2の処理手段が、INTEL 486系の内部キャ ッシュを持つマイクロプロセッサであり、上記のキャッシュ無効化手段が更に、 上記の第2の処理手段に内部キャッシュ無効化サイクルを実行させるもの。 21.高速/低オーバーヘッド・バス調停機構をシステム内で用いるための 方法で、以下のものを含むもの、 --システム内の装置同士をつなぐコミュニケーションの中心的な役割を果たす バス手段で、そのバス手段にはアドレス・バス、データ・バス、コントロール・ バスが含まれるもの; --命令を実行しデータを操作する第1の処理装置で、アドレス・ラインの第1 のセット、データ・ラインの第1のセット、およびコントロール・ラインの第1 のセットを持つもの、 --命令を実行しデータを操作する第2の処理装置で、アドレス・ラインの第2 のセット、データ・ラインの第2のセット、およびコントロール・ラインの第2 のセットを持つもの、 --コントロール・ラインの第1セットまたは第2セットのいずれかを、コント ロール・バスに接続するマルチプレクサ、 --アドレス・ラインの第1または第2のセットのいずれかから送られるアドレ スを、アドレス・バスにつないだり通過させたりするラッチ、 この方法は次のようなステップから構成される: (a) 第1の処理装置に、バス手段へのアクセスを与える; (b) 第1の処理装置からの信号を使って、バス手段が使用中であるかどうか を判断する; (c) アドレス・ラインの第1のセット上のアドレスをラッチにつなぐ; (d) 第1の処理装置に、アドレス・ラインの第1セットを即座に放棄させる ; (e) バス手段が使用中でない状態で第2の処理装置がバス手段へのアクセス を要求するまで、(a)から(d)までのステップを繰り返す; (f) 第1の処理装置が次のバス・サイクルを開始するのを妨げる; (g) 第2の処理装置に、バス手段へのアクセスを与える; (h) 第2の処理装置からの信号を使って、バス手段が使用中であるかど うかを判断する; (i) アドレス・ラインの第2のセット上のアドレスをラッチにつなぐ; (j) 第2の処理装置に、アドレス・ラインの第2セットを即座に放棄させる ; (k) バス手段が使用中でない状態で第1の処理装置がバス手段へのアクセス を要求するまで、(g)から(j)までのステップを繰り返す; (l) 第2の処理装置が次のバス・サイクルを開始するのを妨げる; (m) ステップ(a)に戻り、システムがリセットされるか、パワーダウンされる まで、(a)から(m)までのステップを繰り返す。 22.以下のものを含むシステムにおいて、高速/低オーバーヘッドのバス調停を 行ないながら、2つの処理装置間でシステム・バスをシェアするための方法、 --アドレス・バス、データ・バス、コントロール・バスを持つシステム・バス で、そのコントロール・バスには最低限BREQ、LOCK、PLOCK、ADS、BLAST、RDY、 BRDY、およびAHOLDのコントロール信号と基本システム・クロックが含まれ、そ れらのコントロール信号は、INTEL 486系または同種のマイクロプロセッサに関 連して用いられるバス定義に本質的に一致するもの、 --命令を実行しデータを操作する第1の処理装置で、アドレス・ラインの第1 のセット、データ・ラインの第1のセット、およびコントロール・ラインの第1 のセットを持つもの、 --命令を実行しデータを操作する第2の処理装置で、アドレス・ラインの第2 のセット、データ・ラインの第2のセット、およびコントロール・ラインの第2 のセットを持つもの、 --上記のコントロール・ラインの第1セットと第2セットのいずれをコントロ ール・バスに出力するか、選択するマルチプレクサ、 --アドレス・ラインの第1と第2のセットから送られてくるアドレスをアドレ ス・バスにつないだり通過させたりするラッチで、それらのアドレス・ラインの セットはラッチへの入力として共に電気的に接続されており、ラッチは更にアド レス・バスに接続されているもの この方法は次のようなステップから構成される: (a) 第1の処理装置に、システム・バスへのアクセスを与える;このステッ プには、第2の処理装置にAHOLD信号を表明してそれを持続するというサブステ ップが含まれ、第2の処理装置がバス・サイクルを始められないようにする; (b) その一部が第1の処理装置から送られてくる信号を使って、システム・ バスが使用中であるかどうかを判断する; (c) アドレス・ラインの第1のセット上のアドレスをラッチにつなぐ; (d) 第1の処理装置にAHOLD信号を表明して、アドレス・ラインの第1セット を即座に放棄させる; (e) システム・バスが使用中でない状態で第2の処理装置がシステム・バス を要求するまで、(a)から(d)までのステップを繰り返す; (f) 第2の処理装置がシステム・バスを要求した時点で、第1の処理装置へ のAHOLD信号を維持し、現行のバス・サイクルの完了時点で第1の処理装置が次 のバス・サイクルを開始するのを妨げる; (g) AHOLD信号を第2の処理装置から解除して、第2の処理装置がシステム・ バスヘアクセスできるようにする; (h) その一部が第2の処理装置から送られてくる信号を使って、システム・ バスが使用中であるかどうかを判断する; (i) アドレス・ラインの第2のセット上のアドレスをラッチにつなぐ; (j) 第2の処理装置にAHOLD信号を表明して、アドレス・ラインの第2セット を即座に放棄させる; (k) システム・バスが使用中でない状態で第1の処理装置がシステム・バス を要求するまで、(g)から(j)までのステップを繰り返す; (l) ステップ(a)に戻り、システムがリセットされるか、パワーダウンされる まで、(a)から(l)までのステップを繰り返す。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/079,626 US5455912A (en) | 1993-06-18 | 1993-06-18 | High speed/low overhead bus arbitration apparatus and method for arbitrating a system bus |
| US079.626 | 1993-06-18 | ||
| PCT/US1994/006902 WO1995000908A1 (en) | 1993-06-18 | 1994-06-17 | A high speed/low overhead bus arbitration apparatus and method for arbitrating a system bus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09501249A true JPH09501249A (ja) | 1997-02-04 |
Family
ID=22151747
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7502996A Pending JPH09501249A (ja) | 1993-06-18 | 1994-06-17 | 高速/低オーバーヘッド・バス調停機構およびシステム・バスの調停方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5455912A (ja) |
| JP (1) | JPH09501249A (ja) |
| AU (1) | AU7112694A (ja) |
| TW (3) | TW294795B (ja) |
| WO (1) | WO1995000908A1 (ja) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6256694B1 (en) * | 1994-06-30 | 2001-07-03 | Compaq Computer Corporation | Distributed early arbitration |
| US5528767A (en) * | 1995-03-21 | 1996-06-18 | United Microelectronics Corp. | Programmable multi-level bus arbitration apparatus in a data processing system |
| FR2761802B1 (fr) * | 1997-04-08 | 1999-06-18 | Sgs Thomson Microelectronics | Ensemble de deux memoires sur un meme circuit integre monolithique |
| US6081860A (en) * | 1997-11-20 | 2000-06-27 | International Business Machines Corporation | Address pipelining for data transfers |
| US6560712B1 (en) | 1999-11-16 | 2003-05-06 | Motorola, Inc. | Bus arbitration in low power system |
| US6732210B1 (en) * | 2000-01-03 | 2004-05-04 | Genesis Microchip Inc | Communication bus for a multi-processor system |
| US7039736B2 (en) * | 2003-01-15 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Systems and methods for accessing bus-mastered system resources |
| FI122301B (fi) * | 2006-08-25 | 2011-11-30 | Atomia Oy | Piiri, menetelmä ja järjestely yksinkertaisen ja luotettavan hajautetun väyläarbitroinnin toteuttamiseksi |
| CN101978340B (zh) | 2008-03-27 | 2012-11-21 | 艾格瑞系统有限公司 | 具有降低的功耗的处理器 |
| WO2010009142A1 (en) | 2008-07-14 | 2010-01-21 | The Trustees Of Columbia University In The City Of New York | Asynchronous digital circuits including arbitration and routing primitives for asynchronous and mixed-timing networks |
| US11469919B2 (en) * | 2020-09-17 | 2022-10-11 | Analog Devices International Unlimited Company | Bidirectional communication circuit and a method for operating a bidirectional communication circuit |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4050097A (en) * | 1976-09-27 | 1977-09-20 | Honeywell Information Systems, Inc. | Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus |
| US4257095A (en) * | 1978-06-30 | 1981-03-17 | Intel Corporation | System bus arbitration, circuitry and methodology |
| US4270167A (en) * | 1978-06-30 | 1981-05-26 | Intel Corporation | Apparatus and method for cooperative and concurrent coprocessing of digital information |
| US4229791A (en) * | 1978-10-25 | 1980-10-21 | Digital Equipment Corporation | Distributed arbitration circuitry for data processing system |
| US4375639A (en) * | 1981-01-12 | 1983-03-01 | Harris Corporation | Synchronous bus arbiter |
| US4698753A (en) * | 1982-11-09 | 1987-10-06 | Texas Instruments Incorporated | Multiprocessor interface device |
| US4591975A (en) * | 1983-07-18 | 1986-05-27 | Data General Corporation | Data processing system having dual processors |
| US4787033A (en) * | 1983-09-22 | 1988-11-22 | Digital Equipment Corporation | Arbitration mechanism for assigning control of a communications path in a digital computer system |
| US4667191A (en) * | 1984-12-21 | 1987-05-19 | Motorola, Inc. | Serial link communications protocol |
| US4703420A (en) * | 1985-02-28 | 1987-10-27 | International Business Machines Corporation | System for arbitrating use of I/O bus by co-processor and higher priority I/O units in which co-processor automatically request bus access in anticipation of need |
| US5297260A (en) * | 1986-03-12 | 1994-03-22 | Hitachi, Ltd. | Processor having a plurality of CPUS with one CPU being normally connected to common bus |
| US4841178A (en) * | 1988-02-23 | 1989-06-20 | Northern Telecom Limited | Asynchronous processor arbitration circuit |
| US5005151A (en) * | 1988-05-13 | 1991-04-02 | Dallas Semiconductor Corporation | Interleaved arbitration scheme for interfacing parallel and serial ports to a parallel system port |
| US5045998A (en) * | 1988-05-26 | 1991-09-03 | International Business Machines Corporation | Method and apparatus for selectively posting write cycles using the 82385 cache controller |
| US5003463A (en) * | 1988-06-30 | 1991-03-26 | Wang Laboratories, Inc. | Interface controller with first and second buffer storage area for receiving and transmitting data between I/O bus and high speed system bus |
| US5125080A (en) * | 1989-11-13 | 1992-06-23 | Chips And Technologies, Incorporated | Logic support chip for AT-type computer with improved bus architecture |
| US5261109A (en) * | 1990-12-21 | 1993-11-09 | Intel Corporation | Distributed arbitration method and apparatus for a computer bus using arbitration groups |
| US5280591A (en) * | 1991-07-22 | 1994-01-18 | International Business Machines, Corporation | Centralized backplane bus arbiter for multiprocessor systems |
| US5313591A (en) * | 1992-06-25 | 1994-05-17 | Hewlett-Packard Company | Computer bus arbitration for N processors requiring only N unidirectional signal leads |
-
1993
- 1993-06-18 US US08/079,626 patent/US5455912A/en not_active Expired - Lifetime
- 1993-06-25 TW TW082105074A patent/TW294795B/zh active
- 1993-06-25 TW TW084103492A patent/TW297875B/zh active
-
1994
- 1994-06-17 AU AU71126/94A patent/AU7112694A/en not_active Abandoned
- 1994-06-17 JP JP7502996A patent/JPH09501249A/ja active Pending
- 1994-06-17 WO PCT/US1994/006902 patent/WO1995000908A1/en not_active Ceased
-
1997
- 1997-03-13 TW TW086103107A patent/TW327214B/zh active
Also Published As
| Publication number | Publication date |
|---|---|
| TW297875B (ja) | 1997-02-11 |
| US5455912A (en) | 1995-10-03 |
| AU7112694A (en) | 1995-01-17 |
| TW294795B (ja) | 1997-01-01 |
| TW327214B (en) | 1998-02-21 |
| WO1995000908A1 (en) | 1995-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5129090A (en) | System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration | |
| US4257095A (en) | System bus arbitration, circuitry and methodology | |
| EP0692764B1 (en) | Memory throttle for PCI master | |
| US5440751A (en) | Burst data transfer to single cycle data transfer conversion and strobe signal conversion | |
| US5710891A (en) | Pipelined distributed bus arbitration system | |
| US5119480A (en) | Bus master interface circuit with transparent preemption of a data transfer operation | |
| JPH0528860B2 (ja) | ||
| US6598104B1 (en) | Smart retry system that reduces wasted bus transactions associated with master retries | |
| US5796968A (en) | Bus arbiter used in a computer system | |
| US5949981A (en) | Deadlock avoidance in a bridge between a split transaction bus and a single envelope bus | |
| US5448742A (en) | Method and apparatus for local memory and system bus refreshing with single-port memory controller and rotating arbitration priority | |
| JPH0814812B2 (ja) | デ−タ処理装置 | |
| US5884052A (en) | Smart retry mechanism to program the retry latency of a PCI initiator agent | |
| JPH0683763A (ja) | 中央アービタをスレーブアービタに変換する方法およびシステム | |
| US5341495A (en) | Bus controller having state machine for translating commands and controlling accesses from system bus to synchronous bus having different bus protocols | |
| US5577214A (en) | Programmable hold delay | |
| US5455912A (en) | High speed/low overhead bus arbitration apparatus and method for arbitrating a system bus | |
| US5905878A (en) | Method for controlling access to a computer bus | |
| US5341508A (en) | Processing unit having multiple synchronous bus for sharing access and regulating system bus access to synchronous bus | |
| GB2181578A (en) | Clock delay for microprocessor | |
| US7093058B2 (en) | Single request data transfer regardless of size and alignment | |
| US5446847A (en) | Programmable system bus priority network | |
| US5623694A (en) | Aborting an I/O operation started before all system data is received by the I/O controller after detecting a remote retry operation | |
| JPS59218532A (ja) | バス接続方式 | |
| JP2004348745A (ja) | 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法 |