JPH0810445B2 - 動的バス調停方法及び装置 - Google Patents
動的バス調停方法及び装置Info
- Publication number
- JPH0810445B2 JPH0810445B2 JP3202231A JP20223191A JPH0810445B2 JP H0810445 B2 JPH0810445 B2 JP H0810445B2 JP 3202231 A JP3202231 A JP 3202231A JP 20223191 A JP20223191 A JP 20223191A JP H0810445 B2 JPH0810445 B2 JP H0810445B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- arbitration
- cycle
- priority
- clock
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
【0001】
【産業上の利用分野】本発明は、CPU(中央演算処理
装置)の1つのメモリと(プロセッサを含む)複数の外
部装置間又はこれらの外部装置間の非専有バスを通じた
データ転送を管理するための装置に関し、さらに詳しく
は、このような外部装置間の優先順位を、無駄な調停サ
イクルと大きなバースト・バッファなしでより効率的に
調停し、全帯域幅をデータ転送に利用可能にする手段に
関する。
装置)の1つのメモリと(プロセッサを含む)複数の外
部装置間又はこれらの外部装置間の非専有バスを通じた
データ転送を管理するための装置に関し、さらに詳しく
は、このような外部装置間の優先順位を、無駄な調停サ
イクルと大きなバースト・バッファなしでより効率的に
調停し、全帯域幅をデータ転送に利用可能にする手段に
関する。
【0002】
【従来の技術】1989年11月付の、PS/2ハード
ウェア・インターフェース・テクニカル・リファレンス
のための、IBMマイクロチャネル・アーキテクチュア
補遺(IBM Microchannel Architecture Supplement)
は、現在広く使用されているチャネル・アーキテクチュ
アを記載している。この30−33ページには、バース
ト転送と局所調停、及びバス・マスタ間の優先使用権を
検討している。ここで述べられている方法や、USP.
4785394、USP.4814974に示されたよ
うな、直接メモリ・アクセス(DMA)用チャネル・バ
ス調停のための現在使用されている方法と手段には、勝
ちを決めるための複数の外部装置間の優先順位を調停す
る多くのサイクルが必要である。これは、データ転送の
ために利用可能な時間を減少させる。
ウェア・インターフェース・テクニカル・リファレンス
のための、IBMマイクロチャネル・アーキテクチュア
補遺(IBM Microchannel Architecture Supplement)
は、現在広く使用されているチャネル・アーキテクチュ
アを記載している。この30−33ページには、バース
ト転送と局所調停、及びバス・マスタ間の優先使用権を
検討している。ここで述べられている方法や、USP.
4785394、USP.4814974に示されたよ
うな、直接メモリ・アクセス(DMA)用チャネル・バ
ス調停のための現在使用されている方法と手段には、勝
ちを決めるための複数の外部装置間の優先順位を調停す
る多くのサイクルが必要である。これは、データ転送の
ために利用可能な時間を減少させる。
【0003】
【発明が解決しようとする課題】これまでに提唱されて
きたシステムでは、これらの調停サイクル中にバス制御
の許可はできない。これらの調停サイクルは、帯域幅の
利用可能性を減少させるオーバーヘッドを構成する。こ
のオーバーヘッドを減らすために、現在の解法は、デー
タ転送を背中合せの(すなわち連続的でとぎれのない)
サイクルにまとめることである。しかしこれは、望まし
くないことであるが、大きなメモリ・バッファとその制
御回路の形で追加のハードウェアを必要とする。そし
て、この制御回路の動作は、優先使用が許されるべきよ
り高い優先順位を持つ他のDMA転送装置をオーバーラ
ンさせないように、可変の間隔で割り込みを許容する。
外部装置によるバスのホギングを避けるために、念入り
に作られた公平なアルゴリズムが考案されているが、こ
れらは、論理的な複雑性をさらに追加し、問題を除去す
るのではなく、症状をわずかに和らげるにすぎない。
きたシステムでは、これらの調停サイクル中にバス制御
の許可はできない。これらの調停サイクルは、帯域幅の
利用可能性を減少させるオーバーヘッドを構成する。こ
のオーバーヘッドを減らすために、現在の解法は、デー
タ転送を背中合せの(すなわち連続的でとぎれのない)
サイクルにまとめることである。しかしこれは、望まし
くないことであるが、大きなメモリ・バッファとその制
御回路の形で追加のハードウェアを必要とする。そし
て、この制御回路の動作は、優先使用が許されるべきよ
り高い優先順位を持つ他のDMA転送装置をオーバーラ
ンさせないように、可変の間隔で割り込みを許容する。
外部装置によるバスのホギングを避けるために、念入り
に作られた公平なアルゴリズムが考案されているが、こ
れらは、論理的な複雑性をさらに追加し、問題を除去す
るのではなく、症状をわずかに和らげるにすぎない。
【0004】本発明の目的は、複数の外部装置間のバス
調停を最適化すること、すなわち(1)大型バースト・
バッファと無駄な調停サイクルを除去し、(2)色々な
外部装置からの多重化された連続的データ転送を可能に
し、しかも(3)それぞれの外部装置の優先順位を動的
に変えることのできる、バス調停装置を提供することに
ある。
調停を最適化すること、すなわち(1)大型バースト・
バッファと無駄な調停サイクルを除去し、(2)色々な
外部装置からの多重化された連続的データ転送を可能に
し、しかも(3)それぞれの外部装置の優先順位を動的
に変えることのできる、バス調停装置を提供することに
ある。
【0005】
【課題を解決するための手段】これらの目的は、転送サ
イクルあたり少なくとも2つの非オーバーラップ・クロ
ック(C1、C2)と、調停サイクルあたり少なくとも
1つの転送サイクルを準備することによって達成され
る。各外部装置からの調停優先順位要求は、最初のクロ
ック(C1)の立上りのときにのみ、調停バスに伝送さ
れる。最高優先順位を持つ外部装置の優先順位コード
は、最後のクロック(C2)の終端で決定される。優先
順位コードを固定しても、大きく変更してもよい。
イクルあたり少なくとも2つの非オーバーラップ・クロ
ック(C1、C2)と、調停サイクルあたり少なくとも
1つの転送サイクルを準備することによって達成され
る。各外部装置からの調停優先順位要求は、最初のクロ
ック(C1)の立上りのときにのみ、調停バスに伝送さ
れる。最高優先順位を持つ外部装置の優先順位コード
は、最後のクロック(C2)の終端で決定される。優先
順位コードを固定しても、大きく変更してもよい。
【0006】本発明によればコンピュータ・バス管理装
置が準備され、これにより調停サイクルと待ち時間が除
去される。バス・インターフェース・プロトコルは、デ
ータ・ストリーム・バッファと調停論理が不要となるこ
とによって単純化される。外部装置は、バス・アクセス
が許可される時を事前に知り、より速いパイプライニン
グ動作を可能にする。また、最高の要求中の装置はすべ
ての装置がサービスを受けるまで、常に順次にバス支配
を許可され、長いバースト転送をもはや必要としないた
め、ホギングとフェアネスの問題も自動的に解決され
る。
置が準備され、これにより調停サイクルと待ち時間が除
去される。バス・インターフェース・プロトコルは、デ
ータ・ストリーム・バッファと調停論理が不要となるこ
とによって単純化される。外部装置は、バス・アクセス
が許可される時を事前に知り、より速いパイプライニン
グ動作を可能にする。また、最高の要求中の装置はすべ
ての装置がサービスを受けるまで、常に順次にバス支配
を許可され、長いバースト転送をもはや必要としないた
め、ホギングとフェアネスの問題も自動的に解決され
る。
【0007】本発明は、(a)アドレス・バスと両方向
データ・バスによって、または(b)より速いパイプラ
イニングについては、アドレスと半サイクル周期で多重
化されたデータのための1方向出力バスによって(デー
タ・バスは単に入ってくる1方向バス)、または(c)
単一の非専用両方向バスによって(アドレスは長い転送
の始めに1回だけ送られ、連続データ転送サイクル中
は、新しい不連続アドレスが送られるまで連続して増分
される)によって実現することができる。
データ・バスによって、または(b)より速いパイプラ
イニングについては、アドレスと半サイクル周期で多重
化されたデータのための1方向出力バスによって(デー
タ・バスは単に入ってくる1方向バス)、または(c)
単一の非専用両方向バスによって(アドレスは長い転送
の始めに1回だけ送られ、連続データ転送サイクル中
は、新しい不連続アドレスが送られるまで連続して増分
される)によって実現することができる。
【0008】
【実施例】図1に示すように、本発明を実行するバス管
理装置は、主メモリ11及び13、14のような複数の
外部装置と、システム・バス12を通じて通信する中央
演算処理装置(CPU)10を含む。ここで使用される
「外部装置」という用語は一般に、他のCPU及びディ
スク・ファイルやプリンタなどの周辺装置を網羅するこ
とを意図するものである。発振器15などの信号源が、
各外部装置へ方形波信号OSCを供給する。図示するよ
うに、発振器15はCPU10とは分離しているが、好
ましい場合には、その信号提供機能はCPUによって供
給される。
理装置は、主メモリ11及び13、14のような複数の
外部装置と、システム・バス12を通じて通信する中央
演算処理装置(CPU)10を含む。ここで使用される
「外部装置」という用語は一般に、他のCPU及びディ
スク・ファイルやプリンタなどの周辺装置を網羅するこ
とを意図するものである。発振器15などの信号源が、
各外部装置へ方形波信号OSCを供給する。図示するよ
うに、発振器15はCPU10とは分離しているが、好
ましい場合には、その信号提供機能はCPUによって供
給される。
【0009】本発明の特徴によればバス制御装置または
DMAが要らない、ということに留意されたい。
DMAが要らない、ということに留意されたい。
【0010】図2に示すように、各外部装置13、14
は、1対のインバータ20、21と1対のバッファ・ド
ライバ22、23を含む。発振器15の出力OSCが正
になると、線24に信号が発生する。この信号は、直接
ANDゲート25に送られ、またインバータ20、21
によって反転、再反転されて間接的に前記のANDゲー
トに送られ、時間遅延をもたらす。時間遅延の終わり
に、ANDゲート25から出た信号は反転ORゲート2
6によって反転され、これによってバッファ・ドライバ
22がクロックC1を正にする。一方、ORゲート26
の出力は、ANDゲート27において、インバータ20
からのいくらか遅延した出力とANDにされ、これによ
って反転ORゲート28は信号を反転させ、バッファ・
ドライバ23がクロックC2を正にする。ゲート25、
26とゲート27、28は同様なものである。
は、1対のインバータ20、21と1対のバッファ・ド
ライバ22、23を含む。発振器15の出力OSCが正
になると、線24に信号が発生する。この信号は、直接
ANDゲート25に送られ、またインバータ20、21
によって反転、再反転されて間接的に前記のANDゲー
トに送られ、時間遅延をもたらす。時間遅延の終わり
に、ANDゲート25から出た信号は反転ORゲート2
6によって反転され、これによってバッファ・ドライバ
22がクロックC1を正にする。一方、ORゲート26
の出力は、ANDゲート27において、インバータ20
からのいくらか遅延した出力とANDにされ、これによ
って反転ORゲート28は信号を反転させ、バッファ・
ドライバ23がクロックC2を正にする。ゲート25、
26とゲート27、28は同様なものである。
【0011】それぞれのクロックC1及びC2の正サイ
クルと負サイクルのタイミングを図3に示す。クロック
C1及びC2は位相が約180°異なっている。しかし
ながら、本発明の特徴によれば、インバータ21を通じ
ての遅延のために、クロックC1のサイクル長は、クロ
ックC2のサイクル長よりも僅かに短くて、その結果両
クロック・サイクルが非オーバーラップとなる。すなわ
ち、クロックC1及びC2のアクティブな領域は、相互
に重なることはない。たとえば、発振器15の出力OS
Cのサイクル長を100ナノ秒(ns)と仮定すると、
正クロックC1の位相長は、+OSCのリーディング・
エッジからの2 1/2 nsの遅延とトレーリング・エッ
ジに加えられた1 1/2 nsの遅延によって49nsと
なり、この結果、負クロックC1については51nsの
位相長となる。しかしながら、正クロックC2は、リー
ディング・エッジからの2 1/2 nsの遅延とトレーリ
ング・エッジに加えられた2nsの遅延による49.5
nsという僅かに長い位相長を有し、この結果、負クロ
ックC2については50.5nsの位相長となる。
クルと負サイクルのタイミングを図3に示す。クロック
C1及びC2は位相が約180°異なっている。しかし
ながら、本発明の特徴によれば、インバータ21を通じ
ての遅延のために、クロックC1のサイクル長は、クロ
ックC2のサイクル長よりも僅かに短くて、その結果両
クロック・サイクルが非オーバーラップとなる。すなわ
ち、クロックC1及びC2のアクティブな領域は、相互
に重なることはない。たとえば、発振器15の出力OS
Cのサイクル長を100ナノ秒(ns)と仮定すると、
正クロックC1の位相長は、+OSCのリーディング・
エッジからの2 1/2 nsの遅延とトレーリング・エッ
ジに加えられた1 1/2 nsの遅延によって49nsと
なり、この結果、負クロックC1については51nsの
位相長となる。しかしながら、正クロックC2は、リー
ディング・エッジからの2 1/2 nsの遅延とトレーリ
ング・エッジに加えられた2nsの遅延による49.5
nsという僅かに長い位相長を有し、この結果、負クロ
ックC2については50.5nsの位相長となる。
【0012】破線29、30、31(図2)は、診断テ
ストの目的で提供された接続で、通常は非活動状態であ
り、ここでは完全性を期すために示したものである。線
29における負の信号はクロックC1を抑え、この結果
C2のみが活動状態となる。同様に、線30における負
の信号はクロックC2を抑え、この結果C1のみが活動
状態となる。線31における正の信号は、逆転ORゲー
ト26、28を調整し、クロックC1及びC2の両方を
連続的に正に保持する。
ストの目的で提供された接続で、通常は非活動状態であ
り、ここでは完全性を期すために示したものである。線
29における負の信号はクロックC1を抑え、この結果
C2のみが活動状態となる。同様に、線30における負
の信号はクロックC2を抑え、この結果C1のみが活動
状態となる。線31における正の信号は、逆転ORゲー
ト26、28を調整し、クロックC1及びC2の両方を
連続的に正に保持する。
【0013】本発明の他の特徴によれば、各外部装置1
3、14は、サイクルの早い時期の同じ事前選定された
時間で、すなわち第1クロックC1の立上りで、それが
いつバス・マスタになるべきかを知っている。調停要求
は、コード化された調停バス40(図4)上におけるク
ロックC1の立上りで変化できるのみであり、その後安
定となり、最後のクロックC2の立下りでバス・マスタ
を許可する。
3、14は、サイクルの早い時期の同じ事前選定された
時間で、すなわち第1クロックC1の立上りで、それが
いつバス・マスタになるべきかを知っている。調停要求
は、コード化された調停バス40(図4)上におけるク
ロックC1の立上りで変化できるのみであり、その後安
定となり、最後のクロックC2の立下りでバス・マスタ
を許可する。
【0014】図4では、線AR0、AR1、AR2、A
R3、及び−ロックは、調停バス40に接続されたOR
ドットである。バス12へのアクセスを望むどの外部装
置13、14も、クロックC2によってセットされたラ
ッチ(図示せず)への、その読取りまたは書込み要求を
記録する。この要求は、クロックC1によって刻時され
る自己バス要求極性保持ラッチ41を通される。ラッチ
41は回路42へ行く正の出力部を有する。より高い優
先順位が調停バス40上にない場合には、AR0のレベ
ルは正となり、OR回路42は負の出力を供給するイン
バータとして作用する。この出力は43で反転され、正
のバス要求最高1となる。この要求はインバータ・ドラ
イバ44によって反転され、調停バス40上に負のAR
1レベルとして置かれる。この要求(最高1)はバス要
求最高3と共に通過し、要求中の装置13または14が
バス・マスタとなる。
R3、及び−ロックは、調停バス40に接続されたOR
ドットである。バス12へのアクセスを望むどの外部装
置13、14も、クロックC2によってセットされたラ
ッチ(図示せず)への、その読取りまたは書込み要求を
記録する。この要求は、クロックC1によって刻時され
る自己バス要求極性保持ラッチ41を通される。ラッチ
41は回路42へ行く正の出力部を有する。より高い優
先順位が調停バス40上にない場合には、AR0のレベ
ルは正となり、OR回路42は負の出力を供給するイン
バータとして作用する。この出力は43で反転され、正
のバス要求最高1となる。この要求はインバータ・ドラ
イバ44によって反転され、調停バス40上に負のAR
1レベルとして置かれる。この要求(最高1)はバス要
求最高3と共に通過し、要求中の装置13または14が
バス・マスタとなる。
【0015】もし、調停バス40上の他の装置が、最高
レベルAR0の活動状態を有していれば、バスからOR
インバータ回路42へのAR0の信号は負となり、結果
としては、回路42からの正の出力となり、これは線A
R1及びAR3上のバス要求からのいかなる出力もブロ
ックする。回路42からの正の出力はまた、ANDイン
バータ45が、調停バス40のAR3ブランチへのいか
なる要求の通過もブロックする。
レベルAR0の活動状態を有していれば、バスからOR
インバータ回路42へのAR0の信号は負となり、結果
としては、回路42からの正の出力となり、これは線A
R1及びAR3上のバス要求からのいかなる出力もブロ
ックする。回路42からの正の出力はまた、ANDイン
バータ45が、調停バス40のAR3ブランチへのいか
なる要求の通過もブロックする。
【0016】図4に示すように、優先順位は5(010
1)に固定されている。したがってコード5について
は、4ビット・コードにおける自己優先順位は、ビット
AR1及びAR3であり、AR3は最下位ビットであ
る。
1)に固定されている。したがってコード5について
は、4ビット・コードにおける自己優先順位は、ビット
AR1及びAR3であり、AR3は最下位ビットであ
る。
【0017】AR2である、外部装置からのより高い優
先順位ビットが活動状態である場合には、インバータ4
6において逆転され、ANDインバータ45への入力に
おいて極性が正に変えられる。ANDインバータ45へ
のこれらの入力のいずれか1つが正である場合には、前
記の回路の出力は負となり、このような場合、インバ−
タ・ドライバ47を通じて、AR3に負の出力が現れる
ことはあり得ない。
先順位ビットが活動状態である場合には、インバータ4
6において逆転され、ANDインバータ45への入力に
おいて極性が正に変えられる。ANDインバータ45へ
のこれらの入力のいずれか1つが正である場合には、前
記の回路の出力は負となり、このような場合、インバ−
タ・ドライバ47を通じて、AR3に負の出力が現れる
ことはあり得ない。
【0018】他のどの外部装置からのAR0またはAR
2優先順位要求もない場合には、ANDインバータ45
への両入力は負となる。それから回路45の出力はバス
要求最高3の出力を正にする。この出力はインバータ・
ドライバ47によって逆転され、AR3負活動出力とし
て現れる。ANDインバータ45の出力(この場合はバ
ス要求最高3)は、その自己優先順位のコード化でもあ
り、クロックC2の間に、自己優先順位極性保持ラッチ
48を事前調整する。ラッチ48は、クロックC2の終
りに条件にしたがってラッチする。
2優先順位要求もない場合には、ANDインバータ45
への両入力は負となる。それから回路45の出力はバス
要求最高3の出力を正にする。この出力はインバータ・
ドライバ47によって逆転され、AR3負活動出力とし
て現れる。ANDインバータ45の出力(この場合はバ
ス要求最高3)は、その自己優先順位のコード化でもあ
り、クロックC2の間に、自己優先順位極性保持ラッチ
48を事前調整する。ラッチ48は、クロックC2の終
りに条件にしたがってラッチする。
【0019】本発明の特徴によれば、いったん自己優先
順位ラッチ48がラッチされると、これは、次のサイク
ルを許可するために、続くサイクル上に自己バス許可極
性保持ラッチ49をセットすることができる。自己優先
順位ラッチ48の出力は、ANDゲート50を通過し、
ORインバータ・ゲート51によって反転され、クロッ
クC1の始めに自己バス許可ラッチ49によってラッチ
されることになる。これは、特定の装置に、それがその
サイクルのバス・マスタであるという信号を送る。
順位ラッチ48がラッチされると、これは、次のサイク
ルを許可するために、続くサイクル上に自己バス許可極
性保持ラッチ49をセットすることができる。自己優先
順位ラッチ48の出力は、ANDゲート50を通過し、
ORインバータ・ゲート51によって反転され、クロッ
クC1の始めに自己バス許可ラッチ49によってラッチ
されることになる。これは、特定の装置に、それがその
サイクルのバス・マスタであるという信号を送る。
【0020】この優先順位決定の前にバス・マスタであ
った前の外部装置は、他の1つの外部装置の自己優先順
位ラッチ(48)がラッチされても、そのサイクルを拡
張することがある。これは、前の外部装置がバス12を
解放するまで、次のサイクルを遅延させる。遅延機能
は、任意のロック極性保持ラッチ52からの出力である
ANDゲート50への第2入力によって制御される。ラ
ッチ52は、バス40上の−ロック信号からの前のクロ
ックC2によって、ラッチされていることになる。クロ
ックC2の任意の数のサイクルについて遅延が有り得
る。
った前の外部装置は、他の1つの外部装置の自己優先順
位ラッチ(48)がラッチされても、そのサイクルを拡
張することがある。これは、前の外部装置がバス12を
解放するまで、次のサイクルを遅延させる。遅延機能
は、任意のロック極性保持ラッチ52からの出力である
ANDゲート50への第2入力によって制御される。ラ
ッチ52は、バス40上の−ロック信号からの前のクロ
ックC2によって、ラッチされていることになる。クロ
ックC2の任意の数のサイクルについて遅延が有り得
る。
【0021】拡張サイクルが完成するとすぐに、−ロッ
ク信号は、クロックC1時間に前のバス・マスタによっ
て解放される。これによって、自己バス許可ラッチ49
は、より高い優先順位要求は受信されず、この間現在の
調停優先順位を占有することを条件として、クロックC
2で放出される任意ロック・ラッチ52によって制御さ
れる次のクロックC1で、パイプライン様式で進行する
ことができる。
ク信号は、クロックC1時間に前のバス・マスタによっ
て解放される。これによって、自己バス許可ラッチ49
は、より高い優先順位要求は受信されず、この間現在の
調停優先順位を占有することを条件として、クロックC
2で放出される任意ロック・ラッチ52によって制御さ
れる次のクロックC1で、パイプライン様式で進行する
ことができる。
【0022】ここで、遅いスレーブ・レシーバがあるた
めに、すなわちそれが拡張バースト・モードの実施を望
むために、1つの外部装置が2つまたはそれ以上の拡張
サイクルを取ろうとしている、と想定する。この装置
は、ANDインバータ54を通じて、クロックC2にお
いてその自己ロック極性保持ラッチ53をラッチするこ
とになる。自己拡張要求を、それがANDインバータ5
4にも現れる前に、他のラッチ(図示せず)にクロック
C1によってセットしなければならない。インバータ・
ドライバ55を通るANDインバータ54の同じ出力
は、自己ロック・ラッチ52をセットし、また調停バス
40上で共通−ロック信号を動かす。自己ロック・ラッ
チ53がセットされたままである限り、その正の出力
は、ORインバータ回路51でOR論理処理され、複数
のサイクルすなわち拡張サイクルについて自己バス許可
ラッチ49を保持する。いったん拡張サイクルが完成す
ると、自己バス・ラッチ53は再びクロックC2によっ
てリセットされ、自己バス許可ラッ49はクロックC1
によってリセットされる。これによって、−ロック信号
を消すことができる。外部装置のすべてはいま自由にな
り、連続的なデータ転送を続けることができる。
めに、すなわちそれが拡張バースト・モードの実施を望
むために、1つの外部装置が2つまたはそれ以上の拡張
サイクルを取ろうとしている、と想定する。この装置
は、ANDインバータ54を通じて、クロックC2にお
いてその自己ロック極性保持ラッチ53をラッチするこ
とになる。自己拡張要求を、それがANDインバータ5
4にも現れる前に、他のラッチ(図示せず)にクロック
C1によってセットしなければならない。インバータ・
ドライバ55を通るANDインバータ54の同じ出力
は、自己ロック・ラッチ52をセットし、また調停バス
40上で共通−ロック信号を動かす。自己ロック・ラッ
チ53がセットされたままである限り、その正の出力
は、ORインバータ回路51でOR論理処理され、複数
のサイクルすなわち拡張サイクルについて自己バス許可
ラッチ49を保持する。いったん拡張サイクルが完成す
ると、自己バス・ラッチ53は再びクロックC2によっ
てリセットされ、自己バス許可ラッ49はクロックC1
によってリセットされる。これによって、−ロック信号
を消すことができる。外部装置のすべてはいま自由にな
り、連続的なデータ転送を続けることができる。
【0023】インバータ・ドライバ56、57は内部的
に不活動状態であり、これらの入力は、優先順位コード
0101の生成に関わり合っていないので、接地されて
いる。しかしながら、これらはバス40からの外部入力
によって活動状態のままである。
に不活動状態であり、これらの入力は、優先順位コード
0101の生成に関わり合っていないので、接地されて
いる。しかしながら、これらはバス40からの外部入力
によって活動状態のままである。
【0024】バス12上のデータをゲートするためのパ
イプライン・タイミングは、クロックC2において自己
バス許可ラッチ49からの正の出力を自己許可遅延ラッ
チ58にセットし、クロックC1においてラッチ58の
出力を自己データ転送ラッチ59にセットすることによ
って、得られる。ラッチ59からの出力は、バス12へ
の、またはバス12からのデータをゲートするタイミン
グ信号である。
イプライン・タイミングは、クロックC2において自己
バス許可ラッチ49からの正の出力を自己許可遅延ラッ
チ58にセットし、クロックC1においてラッチ58の
出力を自己データ転送ラッチ59にセットすることによ
って、得られる。ラッチ59からの出力は、バス12へ
の、またはバス12からのデータをゲートするタイミン
グ信号である。
【0025】図5は、図4に破線で囲んだ回路65に代
わる、優先順位コードの大きな変更を可能にする回路を
示す。16までの各優先順位を提供する4ビット優先順
位コードは、初期プログラム・ロード(IPL)時にお
けるような動作の始めに、レジスタ70にセットされ
る。この回路65は4つのインバータ・ドライバ71、
72、73、74を含む。これらのドライバは、オープ
ン・コレクタまたはドット・ドライバである。これら
は、ANDゲート75、76、77、78によってそれ
ぞれ駆動される調停ビットAR0,AR1,AR2,及
びAR3をセットアップする。これらのANDゲート
は、実際には単一回路である2つの複合論理ゲート7
9、80を用いて、最高優先順位を決定する。
わる、優先順位コードの大きな変更を可能にする回路を
示す。16までの各優先順位を提供する4ビット優先順
位コードは、初期プログラム・ロード(IPL)時にお
けるような動作の始めに、レジスタ70にセットされ
る。この回路65は4つのインバータ・ドライバ71、
72、73、74を含む。これらのドライバは、オープ
ン・コレクタまたはドット・ドライバである。これら
は、ANDゲート75、76、77、78によってそれ
ぞれ駆動される調停ビットAR0,AR1,AR2,及
びAR3をセットアップする。これらのANDゲート
は、実際には単一回路である2つの複合論理ゲート7
9、80を用いて、最高優先順位を決定する。
【0026】ゲート79は、2つのANDゲート81、
82と1つの3ウエイORインバータ・ゲート83を含
む。ORインバータ・ゲート83は、より低い要求線A
R1、AR2、及びAR3のすべてを阻止する。ゲート
83はまた、より高い優先順位が調停バス40上で外部
的に活動状態である場合には、自己優先順位回路84を
阻止する。AR0が活動状態であり、レジスタ70の極
性保持ラッチPR0出力が活動状態でない場合には、A
NDゲート81からORインバータ・ゲート83は、A
R1、AR2、及びAR3、及び自己優先順位信号を阻
止する。
82と1つの3ウエイORインバータ・ゲート83を含
む。ORインバータ・ゲート83は、より低い要求線A
R1、AR2、及びAR3のすべてを阻止する。ゲート
83はまた、より高い優先順位が調停バス40上で外部
的に活動状態である場合には、自己優先順位回路84を
阻止する。AR0が活動状態であり、レジスタ70の極
性保持ラッチPR0出力が活動状態でない場合には、A
NDゲート81からORインバータ・ゲート83は、A
R1、AR2、及びAR3、及び自己優先順位信号を阻
止する。
【0027】同様に、ANDゲート82では、もし、A
R1が活動状態であって極性保持ラッチPR1が活動状
態でない場合は、AR1、AR2、AR3、及び自己優
先順位信号が阻止され、このようにして調停は、装置が
サービスを受ける次の装置にならないようにする。
R1が活動状態であって極性保持ラッチPR1が活動状
態でない場合は、AR1、AR2、AR3、及び自己優
先順位信号が阻止され、このようにして調停は、装置が
サービスを受ける次の装置にならないようにする。
【0028】インバータ・ゲート83への最終入力は、
クロックC1によりセットされてデータ転送のために調
停サイクルを要求する、バス要求極性保持ラッチ(図示
せず)の出力である。+バス要求極性保持ラッチ線は、
それが活動状態でない場合は負になる。これは、すべて
のブロック76、77、78、及び84を阻止する。A
NDインバータ84の出力が正になると、それは、これ
が現在、調停を受けており次サイクル列で転送を開始す
ることができる最高優先順位の装置である、ということ
を示す。
クロックC1によりセットされてデータ転送のために調
停サイクルを要求する、バス要求極性保持ラッチ(図示
せず)の出力である。+バス要求極性保持ラッチ線は、
それが活動状態でない場合は負になる。これは、すべて
のブロック76、77、78、及び84を阻止する。A
NDインバータ84の出力が正になると、それは、これ
が現在、調停を受けており次サイクル列で転送を開始す
ることができる最高優先順位の装置である、ということ
を示す。
【0029】複合論理ゲート80は、ANDゲート85
及び86を含み、これらはゲート81及び82と同様に
動作するが、異なるのは、2つのより低い調停バス・ビ
ットAR2及びAR3を取り扱うことである。また、O
Rインバータ87は、より低い2つのビットのための回
路83と同じ機能を持つが、これは+バス要求極性保持
ラッチ(図示せず)の接続を必要としない。それは、そ
の出力は回路83によってすでに制御されており、その
回路の出力は既にすべてのゲート76、77、78、8
4に行っているからである。したがってORインバータ
87の出力は、調停バス40のAR3線上の最下位ビッ
トと、さらにそのラッチのための自己優先順位ゲート8
4を制御するだけである。
及び86を含み、これらはゲート81及び82と同様に
動作するが、異なるのは、2つのより低い調停バス・ビ
ットAR2及びAR3を取り扱うことである。また、O
Rインバータ87は、より低い2つのビットのための回
路83と同じ機能を持つが、これは+バス要求極性保持
ラッチ(図示せず)の接続を必要としない。それは、そ
の出力は回路83によってすでに制御されており、その
回路の出力は既にすべてのゲート76、77、78、8
4に行っているからである。したがってORインバータ
87の出力は、調停バス40のAR3線上の最下位ビッ
トと、さらにそのラッチのための自己優先順位ゲート8
4を制御するだけである。
【0030】調停バス40のAR0線上の最上位ビット
は、最高ビットである。そのビットを駆動するどの装置
も、自動的に最高優先順位を持つ。レジスタ70におけ
るマイクロプロセッサ・セットの優先順位が、特定の装
置が優先順位PR0または活動状態のより高いビットを
有する、ということを示す場合には、やはりクロックC
1によってセットされた任意の−バス要求極性保持ラッ
チ(図示せず)が、調停バス40のAR0線を自動的に
駆動することになる。この場合、このビットは常に活動
状態であり、阻止される必要はない。
は、最高ビットである。そのビットを駆動するどの装置
も、自動的に最高優先順位を持つ。レジスタ70におけ
るマイクロプロセッサ・セットの優先順位が、特定の装
置が優先順位PR0または活動状態のより高いビットを
有する、ということを示す場合には、やはりクロックC
1によってセットされた任意の−バス要求極性保持ラッ
チ(図示せず)が、調停バス40のAR0線を自動的に
駆動することになる。この場合、このビットは常に活動
状態であり、阻止される必要はない。
【0031】図6は、どのような値の周波数もとり得る
フリーランニング発振器15(図1)を用いた、種々の
動作のパイプライニングを示す、タイミング図である。
現在は100nsのOSCサイクルを使用しているが、
将来のものは既に50ns用も計画されている。バス要
求(REQX)は常にクロックC1の開始時に、すなわ
ち発振器サイクルOSCの最初の半分で変更可能であ
る。バス要求は、次のクロックC1までオンのままであ
る。バス許可(GRTX)もクロックC1によってセッ
トされるが、これはバス要求のサイクルに続き、したが
って常に1サイクル後にパイプライン処理される。
フリーランニング発振器15(図1)を用いた、種々の
動作のパイプライニングを示す、タイミング図である。
現在は100nsのOSCサイクルを使用しているが、
将来のものは既に50ns用も計画されている。バス要
求(REQX)は常にクロックC1の開始時に、すなわ
ち発振器サイクルOSCの最初の半分で変更可能であ
る。バス要求は、次のクロックC1までオンのままであ
る。バス許可(GRTX)もクロックC1によってセッ
トされるが、これはバス要求のサイクルに続き、したが
って常に1サイクル後にパイプライン処理される。
【0032】図6の例では、最高のAから最低のHまで
の各優先順位を持つ複数の外部装置が存在する。図6
は、これらの各優先順位が、スレーブがそのそれぞれの
タイミング内でデータを受けることができるように、バ
ースト、または緩慢な非流動スレーブによる遅延に対し
て、いかにして連続サイクルを形成するかを示す。ここ
で使用する用語「スレーブ」は総称的に、バス・マスタ
装置が通信しようと望む任意の装置を参照するものであ
る。
の各優先順位を持つ複数の外部装置が存在する。図6
は、これらの各優先順位が、スレーブがそのそれぞれの
タイミング内でデータを受けることができるように、バ
ースト、または緩慢な非流動スレーブによる遅延に対し
て、いかにして連続サイクルを形成するかを示す。ここ
で使用する用語「スレーブ」は総称的に、バス・マスタ
装置が通信しようと望む任意の装置を参照するものであ
る。
【0033】外部装置がバス12を獲得する度に、それ
は内部的にその(図4の49のような)自己バス許可ラ
ッチをラッチすることになる。このラッチは、調停を獲
得する装置のための現在のサイクルを制御する。この時
に、この外部装置はスレーブと通信するためのサイクル
を担当する。この外部装置は、自己バス許可サイクル中
にバス12上にアドレスを送る。これはまた、それが+
読取り/−書込み信号上の読取りまたは書込み機能の実
施を望んでいるか否かも示す。バス・マスタがバースト
・モードでの動作を望む場合には、すなわち次に高い優
先順位の装置が入ってくることができる前に、サイクル
の短いバーストのために他の装置をロックアウトしよう
と望む場合には、−ロック信号も活動状態となる。1つ
のデータ転送が発生し、それからスレーブがそれが所有
する反復されたアドレスを見出した場合は、スレーブ
は、それがデータを受け取るか送るかに必要な時間を、
拡張しようと望むこともできる。これは、基本バス・サ
イクルの1つまたはそれ以上の増分で、バス・マスタが
使用する図4に示すものと同様な論理を持つ−ロック信
号をセットすることによって、実施できる。各装置から
の応答線は、それがバス12にデータを送ったかまたは
受け取ったかを示す。−ロック信号も、スレーブからの
次のサイクル上の応答となることができ、スレーブがど
の連続サイクルも取ることができないことを示す。
は内部的にその(図4の49のような)自己バス許可ラ
ッチをラッチすることになる。このラッチは、調停を獲
得する装置のための現在のサイクルを制御する。この時
に、この外部装置はスレーブと通信するためのサイクル
を担当する。この外部装置は、自己バス許可サイクル中
にバス12上にアドレスを送る。これはまた、それが+
読取り/−書込み信号上の読取りまたは書込み機能の実
施を望んでいるか否かも示す。バス・マスタがバースト
・モードでの動作を望む場合には、すなわち次に高い優
先順位の装置が入ってくることができる前に、サイクル
の短いバーストのために他の装置をロックアウトしよう
と望む場合には、−ロック信号も活動状態となる。1つ
のデータ転送が発生し、それからスレーブがそれが所有
する反復されたアドレスを見出した場合は、スレーブ
は、それがデータを受け取るか送るかに必要な時間を、
拡張しようと望むこともできる。これは、基本バス・サ
イクルの1つまたはそれ以上の増分で、バス・マスタが
使用する図4に示すものと同様な論理を持つ−ロック信
号をセットすることによって、実施できる。各装置から
の応答線は、それがバス12にデータを送ったかまたは
受け取ったかを示す。−ロック信号も、スレーブからの
次のサイクル上の応答となることができ、スレーブがど
の連続サイクルも取ることができないことを示す。
【0034】図6に示すように、バス要求の後にはバス
許可とバス・マスタによって実施されるアドレス指定が
続き、そしてデータの読取りまたは書込み機能が、パイ
プラインされた動作の第3列として発生する。
許可とバス・マスタによって実施されるアドレス指定が
続き、そしてデータの読取りまたは書込み機能が、パイ
プラインされた動作の第3列として発生する。
【0035】図6は、各種の操作モードでの、スレーブ
P−Wへの、またはスレーブP−Wからの、各種のバス
・マスタA−Hによる読取りと書込みを示す。
P−Wへの、またはスレーブP−Wからの、各種のバス
・マスタA−Hによる読取りと書込みを示す。
【0036】図示するように、本発明はアドレス・バス
と両方向データ・バスによって実施されてきた。しかし
ながら、より速いパイプライニングについては、本発明
を、アドレス及び半サイクル期間で多重化されるデータ
のための一方向出力バスによって、実現することもで
き、データ・バスは単に入力一方向データ・バスとなり
得るだけである。
と両方向データ・バスによって実施されてきた。しかし
ながら、より速いパイプライニングについては、本発明
を、アドレス及び半サイクル期間で多重化されるデータ
のための一方向出力バスによって、実現することもで
き、データ・バスは単に入力一方向データ・バスとなり
得るだけである。
【0037】または、好ましい場合には、本発明を単一
非専用双方向バスによって実現することができる。この
ような場合、アドレスは長い転送の開始時に1回だけ送
られ、そして続くデータ転送サイクル中に、アドレス
は、新しい非連続アドレスが送られるまで、順次増分さ
れることになる。より詳しくは、長い転送の開始時に、
装置は2サイクルのバーストを取り、続くサイクル中の
第1サイクル中にアドレスを送り、第2サイクル中にデ
ータを送る。この場合、アドレス・バスを除くために図
6を変更してもよく、これによって調停バスは多重化さ
れた外部装置のために直接アドレス・ポインタになる。
最高の要求中の装置はすべての装置がサービスを受ける
まで、常に順次にバス支配を許可されるので、長いバー
スト転送をもはや必要としない。
非専用双方向バスによって実現することができる。この
ような場合、アドレスは長い転送の開始時に1回だけ送
られ、そして続くデータ転送サイクル中に、アドレス
は、新しい非連続アドレスが送られるまで、順次増分さ
れることになる。より詳しくは、長い転送の開始時に、
装置は2サイクルのバーストを取り、続くサイクル中の
第1サイクル中にアドレスを送り、第2サイクル中にデ
ータを送る。この場合、アドレス・バスを除くために図
6を変更してもよく、これによって調停バスは多重化さ
れた外部装置のために直接アドレス・ポインタになる。
最高の要求中の装置はすべての装置がサービスを受ける
まで、常に順次にバス支配を許可されるので、長いバー
スト転送をもはや必要としない。
【0038】
【発明の効果】本発明によれば、コンピュータ・バス管
理における調停サイクルと待ち時間が不要となる。バス
・インターフェース・プロトコルは、データ・ストリー
ム・バッファと調停論理が不要となることによって単純
化される。外部装置は、バス・アクセスが許可される時
を事前に知り、より速いパイプライニング動作を可能に
する。
理における調停サイクルと待ち時間が不要となる。バス
・インターフェース・プロトコルは、データ・ストリー
ム・バッファと調停論理が不要となることによって単純
化される。外部装置は、バス・アクセスが許可される時
を事前に知り、より速いパイプライニング動作を可能に
する。
【図1】本発明を組み込むコンピュータ・バス管理装置
のブロック図である。
のブロック図である。
【図2】本発明を実現するための、単一ソースから2つ
の非オーバーラップ・クロック・サイクルを発生させる
各外部装置を伴う回路の、概略線図である。
の非オーバーラップ・クロック・サイクルを発生させる
各外部装置を伴う回路の、概略線図である。
【図3】図2の回路によって生成された非オーバーラッ
プ・クロック・サイクルを示す、タイミング図である。
プ・クロック・サイクルを示す、タイミング図である。
【図4】図示のために“5”(0101)と想定された
固定優先順位にしたがって、前記クロック・サイクル中
の最終サイクルの終りにバス・マスタを許可する調停回
路の、概略線図である。
固定優先順位にしたがって、前記クロック・サイクル中
の最終サイクルの終りにバス・マスタを許可する調停回
路の、概略線図である。
【図5】動的にセットされることのできる優先順位にし
たがって、前記クロック・サイクル中の最終サイクルの
終りにバス・マスタを許可する調停回路を提供するため
の、図4の1部に代替されることのできる、概略線図で
ある。
たがって、前記クロック・サイクル中の最終サイクルの
終りにバス・マスタを許可する調停回路を提供するため
の、図4の1部に代替されることのできる、概略線図で
ある。
【図6】バス要求、バス許可、アドレス、データの転送
及びインターロックをパイプライニングして、連続的な
バーストまたはストリーム読取り/書込み動作を提供す
る様子を図示する、タイミング図である。
及びインターロックをパイプライニングして、連続的な
バーストまたはストリーム読取り/書込み動作を提供す
る様子を図示する、タイミング図である。
10 CPU 11 主メモリ 12 システム・バス 13 主メモリ 14 主メモリ 15 発振器 20 インバータ 21 インバータ 22 バッファ・ドライブ 23 バッファ・ドライブ 25 ANDゲート 26 ORゲート 28 ORゲート 41 自己バス極性保持ラッチ 42 OR逆転回路 45 AND逆転回路 47 インバータ・ドライバ 48 自己優先順位ラッチ 49 自己バス許可ラッチ 50 自己ゲート 52 自己ロック・ラッチ 53 自己ロック・ラッチ 56 インバータ・ドライバ 70 レジスタ 83 OR逆転ゲート 76 ブロック 77 ブロック 78 ブロック
Claims (20)
- 【請求項1】メモリと複数の外部装置との間または複数
の外部装置間で非専用バスを介しての、直接メモリ・ア
クセス・データ転送中に、バス調停を最適化するための
装置であって、前記外部装置の各々は調停優先順位を有
しており、 転送サイクル当り少なくとも2つの相互にアクティブな
領域が重ならない第1のクロック(C1)及び第2のク
ロック(C2)、及び、調停サイクル当り少なくとも1
つの転送サイクルを供給する手段と、 前記第1のクロック(C1)の立上り時にのみ、前記各
外部装置から調停バスに調停優先順位要求を伝送する手
段と、 バス・マスタとなるべき外部装置を指定するために、前
記第2のクロック(C2)の立下り時に最高優先順位を
有する外部装置の優先順位コードを決定する手段と、 指定された前記バス・マスタと前記メモリまたはその他
の外部装置との間で、次に活動状態となるバス・マスタ
が制御を放棄した後の次のサイクル中に、前記非専用バ
スを介してアドレスとデータを転送するための手段 とを含む、バス調停装置。 - 【請求項2】外部装置の優先順位を動的に変更するため
の手段を含む、請求項1に記載のバス調停装置。 - 【請求項3】それぞれの外部装置の優先順位が予め選定
され固定された、請求項1に記載のバス調停装置。 - 【請求項4】バス・マスタ優先順位についてのすべての
要求を同期化するための手段(41、48)を含む、請
求項1に記載のバス調停装置。 - 【請求項5】前記転送手段が、バス要求、次にアドレス
による優先順位許可、それからデータ転送をパイプライ
ニングするための手段(41、48、50、51、4
9、58、59)を含む、請求項1に記載のバス調停装
置。 - 【請求項6】前記転送手段が、非専用バス上の各種外部
装置から多重化された連続順次ストリームでデータを転
送するための手段(59)を含む、請求項1に記載のバ
ス調停装置。 - 【請求項7】前記転送手段が、連続サイクル中に各種バ
ス・マスタから直接メモリ・アクセス・データを転送す
るための手段(59)を含む、請求項1に記載のバス調
停装置。 - 【請求項8】次に活動状態になるバス・マスタがサイク
ル数を拡張し、その間にそれが1つまたは複数の外部装
置と通信するようにする手段(54、53、55、5
2)を含む、請求項1に記載のバス調停装置。 - 【請求項9】前記調停サイクルが、転送サイクル、また
は統合された複数の転送サイクルと長さが同じである、
請求項1に記載のバス調停装置。 - 【請求項10】ある調停サイクルに続く前記の第1クロ
ックの立上りに応答して、前記の外部装置の特定の1つ
に、それが次のサイクルのためのバス・マスタであるべ
きことを通知する手段(48、50、51、49)を含
む、請求項1に記載のバス調停装置。 - 【請求項11】バス・マスタの整列順で次番として指定
されていた外部装置を優先使用させるための手段を含
み、 前記手段が (a)次に活動状態になるバス・マスタが、ロック期間
を初期化することによって、複数の転送サイクルのため
にバス・マスタシップを保持する場合、及び (b)より高い優先順位の外部装置が、前記のロック期
間中に調停を受ける場合に 動作可能となる、請求項1に記載のバス調停装置。 - 【請求項12】非専用バスが1つのアドレス・バスと1
つの両方向データ・バスを含む、請求項1に記載のバス
調停装置。 - 【請求項13】非専用バスが、アドレス及び半サイクル
期間で多重化されたデータを出力するための1方向バ
ス、及び1方向入力するデータ・バスを含む、請求項1
に記載のバス調停装置。 - 【請求項14】非専用バスが、アドレス及びデータのた
めの単一両方向バスであり、アドレスは長い転送の開始
時にのみ送られ、続くデータ転送サイクル中には、アド
レスは、新しい非連続アドレスが送られるまで連続的に
増分されることになる、請求項1に記載のバス調停装
置。 - 【請求項15】メモリと複数の外部装置との間または複
数の外部装置間で非専用バスを介しての、直接メモリ・
アクセス・データ転送中に、バス調停を最適化するため
の方法であって、前記外部装置の各々は調停優先順位を
有しており、 転送サイクル当り少なくとも2つの相互にアクティブな
領域が重ならない第1のクロック(C1)及び第2のク
ロック(C2)、及び、調停サイクル当り少なくとも1
つの転送サイクルを供給するステップと、 前記第1のクロックの立上り時にのみ、各外部装置から
調停バスに調停優先順位要求を伝送するステップと、 バス・マスタとなるべき外部装置を指定するために、前
記第2のクロック(C2)の立下り時に最高優先順位を
有する外部装置の優先順位コードを決定するステップ
と、 指定されたバス・マスタとメモリまたはその他の外部装
置との間で、次に活動状態となるバス・マスタが制御を
終えた後の次のサイクル中に、非専用バスを介してアド
レスとデータを転送するためのステップ を含む、バス調停方法。 - 【請求項16】外部装置の優先順位を動的に変更するた
めのステップを含む、請求項15に記載のバス調停方
法。 - 【請求項17】転送ステップ中に、非専用バス上の各種
外部装置から多重化された連続順次ストリームでデータ
を転送することを含む、請求項15に記載のバス調停方
法。 - 【請求項18】次に活動状態になるバス・マスタがサイ
クル数を拡張し、その間にそれが1つまたは複数の外部
装置と通信できるようにするステップを含む、請求項1
5に記載のバス調停方法。 - 【請求項19】ある調停サイクルに続く前記の第1クロ
ックの立上りに応答して、前記の外部装置の特定の1つ
に、それが次のサイクルのためのバス・マスタであるべ
きことを通知するステップを含む、請求項15に記載の
バス調停方法。 - 【請求項20】バス・マスタの整列順で次番として指定
されていた外部装置を、 (a)次に活動状態になるバス・マスタが、ロック期間
を初期化することによって、複数の転送サイクルのため
にバス・マスタシップを保持する場合、及び (b)より高い優先順位の外部装置が、前記のロック期
間中に調停を受ける場合に、優先使用させるためのステ
ップを含む、請求項15に記載のバス調停方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58634990A | 1990-09-21 | 1990-09-21 | |
US586349 | 1990-09-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04246758A JPH04246758A (ja) | 1992-09-02 |
JPH0810445B2 true JPH0810445B2 (ja) | 1996-01-31 |
Family
ID=24345380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3202231A Expired - Lifetime JPH0810445B2 (ja) | 1990-09-21 | 1991-07-18 | 動的バス調停方法及び装置 |
Country Status (18)
Country | Link |
---|---|
US (1) | US5195185A (ja) |
EP (1) | EP0476990B1 (ja) |
JP (1) | JPH0810445B2 (ja) |
KR (1) | KR950014505B1 (ja) |
CN (1) | CN1037553C (ja) |
AU (1) | AU639589B2 (ja) |
BR (1) | BR9103929A (ja) |
CA (1) | CA2050129C (ja) |
CZ (1) | CZ282214B6 (ja) |
DE (1) | DE69132344T2 (ja) |
FI (1) | FI914429A (ja) |
HU (1) | HU215867B (ja) |
MX (1) | MX173460B (ja) |
NO (1) | NO913707L (ja) |
PL (1) | PL167608B1 (ja) |
PT (1) | PT99006A (ja) |
RU (1) | RU2110838C1 (ja) |
SG (1) | SG42853A1 (ja) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5559962A (en) * | 1989-10-09 | 1996-09-24 | Yamaha Corporation | Data transmission system selecting both source and destination using addressing mechanism |
US5461723A (en) * | 1990-04-05 | 1995-10-24 | Mit Technology Corp. | Dual channel data block transfer bus |
FR2675286B1 (fr) * | 1991-04-15 | 1993-06-18 | Bull Sa | Circuit integre arbitreur de bus mca et utilisations d'un tel circuit. |
US5454082A (en) * | 1991-09-18 | 1995-09-26 | Ncr Corporation | System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus |
JPH05165762A (ja) * | 1991-12-13 | 1993-07-02 | Toshiba Corp | Dmaコントローラ |
DE69319763T2 (de) * | 1992-03-04 | 1999-03-11 | Motorola, Inc., Schaumburg, Ill. | Verfahren und Gerät zur Durchführung eines Busarbitrierungsprotokolls in einem Datenverarbeitungssystem |
DE69320508T2 (de) * | 1992-03-04 | 1999-03-04 | Motorola, Inc., Schaumburg, Ill. | Verfahren und Gerät zur Busarbitrierungsdurchführung mit einem Arbiter in einem Datenverarbeitungssystem |
US5341480A (en) * | 1992-04-09 | 1994-08-23 | Apple Computer, Inc. | Method and apparatus for providing a two conductor serial bus |
JPH05342178A (ja) * | 1992-06-10 | 1993-12-24 | Hitachi Ltd | 調停回路およびそれを用いたデータ処理装置 |
US5313591A (en) * | 1992-06-25 | 1994-05-17 | Hewlett-Packard Company | Computer bus arbitration for N processors requiring only N unidirectional signal leads |
US5596749A (en) * | 1992-09-21 | 1997-01-21 | Texas Instruments Incorporated | Arbitration request sequencer |
US5553310A (en) * | 1992-10-02 | 1996-09-03 | Compaq Computer Corporation | Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems |
US5553248A (en) * | 1992-10-02 | 1996-09-03 | Compaq Computer Corporation | System for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal |
US5535395A (en) * | 1992-10-02 | 1996-07-09 | Compaq Computer Corporation | Prioritization of microprocessors in multiprocessor computer systems |
US5299196A (en) * | 1992-11-12 | 1994-03-29 | International Business Machines Corporation | Distributed address decoding for bus structures |
JPH06282528A (ja) * | 1993-01-29 | 1994-10-07 | Internatl Business Mach Corp <Ibm> | データ転送方法及びそのシステム |
US5546548A (en) * | 1993-03-31 | 1996-08-13 | Intel Corporation | Arbiter and arbitration process for a dynamic and flexible prioritization |
EP0619547A1 (en) * | 1993-04-05 | 1994-10-12 | Motorola, Inc. | A method of requesting data and apparatus therefor |
CA2115731C (en) * | 1993-05-17 | 2000-01-25 | Mikiel Loyal Larson | Dynamically programmable bus arbiter with provisions for historical feedback and error detection and correction |
US5517671A (en) * | 1993-07-30 | 1996-05-14 | Dell Usa, L.P. | System for designating a plurality of I/O devices to a plurality of I/O channels and connecting and buffering the plurality of I/O channels to a single system bus |
US5600839A (en) * | 1993-10-01 | 1997-02-04 | Advanced Micro Devices, Inc. | System and method for controlling assertion of a peripheral bus clock signal through a slave device |
US6163848A (en) * | 1993-09-22 | 2000-12-19 | Advanced Micro Devices, Inc. | System and method for re-starting a peripheral bus clock signal and requesting mastership of a peripheral bus |
US5524215A (en) * | 1993-10-05 | 1996-06-04 | Motorola, Inc. | Bus protocol and method for controlling a data processor |
EP0654743A1 (en) * | 1993-11-19 | 1995-05-24 | International Business Machines Corporation | Computer system having a DSP local bus |
US6026455A (en) * | 1994-02-24 | 2000-02-15 | Intel Corporation | Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system |
US5519838A (en) * | 1994-02-24 | 1996-05-21 | Hewlett-Packard Company | Fast pipelined distributed arbitration scheme |
US5533205A (en) * | 1994-03-30 | 1996-07-02 | International Business Machines Corporation | Method and system for efficient bus allocation in a multimedia computer system |
US5572687A (en) * | 1994-04-22 | 1996-11-05 | The University Of British Columbia | Method and apparatus for priority arbitration among devices in a computer system |
US5526496A (en) * | 1994-04-22 | 1996-06-11 | The University Of British Columbia | Method and apparatus for priority arbitration among devices in a computer system |
US5758106A (en) * | 1994-06-30 | 1998-05-26 | Digital Equipment Corporation | Arbitration unit which requests control of the system bus prior to determining whether such control is required |
US6256694B1 (en) * | 1994-06-30 | 2001-07-03 | Compaq Computer Corporation | Distributed early arbitration |
US5568614A (en) * | 1994-07-29 | 1996-10-22 | International Business Machines Corporation | Data streaming between peer subsystems of a computer system |
US5598542A (en) * | 1994-08-08 | 1997-01-28 | International Business Machines Corporation | Method and apparatus for bus arbitration in a multiple bus information handling system using time slot assignment values |
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 |
US5559969A (en) * | 1994-08-09 | 1996-09-24 | Unisys Corporation | Method and apparatus for efficiently interfacing variable width data streams to a fixed width memory |
US6434638B1 (en) | 1994-12-09 | 2002-08-13 | International Business Machines Corporation | Arbitration protocol for peer-to-peer communication in synchronous systems |
KR0155269B1 (ko) * | 1995-01-16 | 1998-11-16 | 김광호 | 버스 중재방법 및 그 장치 |
JP3320233B2 (ja) * | 1995-02-06 | 2002-09-03 | キヤノン株式会社 | 記録装置 |
US5701313A (en) * | 1995-02-24 | 1997-12-23 | Unisys Corporation | Method and apparatus for removing soft errors from a memory |
US5511164A (en) | 1995-03-01 | 1996-04-23 | Unisys Corporation | Method and apparatus for determining the source and nature of an error within a computer system |
US5740383A (en) * | 1995-12-22 | 1998-04-14 | Cirrus Logic, Inc. | Dynamic arbitration priority |
KR100201325B1 (ko) * | 1996-03-30 | 1999-06-15 | 유기범 | 다중 프로세서 시스템에서 시스템 버스의 클럭속도를 향상시키는 방법 |
US5842025A (en) * | 1996-08-27 | 1998-11-24 | Mmc Networks, Inc. | Arbitration methods and apparatus |
US5822766A (en) * | 1997-01-09 | 1998-10-13 | Unisys Corporation | Main memory interface for high speed data transfer |
US5970253A (en) * | 1997-01-09 | 1999-10-19 | Unisys Corporation | Priority logic for selecting and stacking data |
US5859986A (en) * | 1997-02-20 | 1999-01-12 | International Business Machines Corporation | Bandwidth efficient method and means for resynchronizing a master and slave over a clocked, arbitrated, bidirectional multistate parallel bus using local data recirculation, wait states, and cycle stealing |
US5862353A (en) * | 1997-03-25 | 1999-01-19 | International Business Machines Corporation | Systems and methods for dynamically controlling a bus |
US5996037A (en) * | 1997-06-03 | 1999-11-30 | Lsi Logic Corporation | System and method for arbitrating multi-function access to a system bus |
US6006303A (en) * | 1997-08-28 | 1999-12-21 | Oki Electric Industry Co., Inc. | Priority encoding and decoding for memory architecture |
JP4019333B2 (ja) * | 1998-02-13 | 2007-12-12 | 富士通株式会社 | ヘッドic回路及び記録装置 |
US6047336A (en) * | 1998-03-16 | 2000-04-04 | International Business Machines Corporation | Speculative direct memory access transfer between slave devices and memory |
US6199135B1 (en) | 1998-06-12 | 2001-03-06 | Unisys Corporation | Source synchronous transfer scheme for a high speed memory interface |
US6182112B1 (en) | 1998-06-12 | 2001-01-30 | Unisys Corporation | Method of and apparatus for bandwidth control of transfers via a bi-directional interface |
US6330646B1 (en) * | 1999-01-08 | 2001-12-11 | Intel Corporation | Arbitration mechanism for a computer system having a unified memory architecture |
US6519666B1 (en) | 1999-10-05 | 2003-02-11 | International Business Machines Corporation | Arbitration scheme for optimal performance |
US8834864B2 (en) * | 2003-06-05 | 2014-09-16 | Baxter International Inc. | Methods for repairing and regenerating human dura mater |
KR101034493B1 (ko) * | 2004-01-09 | 2011-05-17 | 삼성전자주식회사 | 화상 변환 장치, 화상 변환을 위한 직접 메모리 액세스장치 및 화상 변환을 지원하는 카메라 인터페이스 |
JP2006155387A (ja) * | 2004-11-30 | 2006-06-15 | Yamaha Corp | コンピュータシステム |
WO2008002297A1 (en) * | 2006-06-27 | 2008-01-03 | Thomson Licensing | Method and apparatus for performing arbitration |
GB2473505B (en) * | 2009-09-15 | 2016-09-14 | Advanced Risc Mach Ltd | A data processing apparatus and a method for setting priority levels for transactions |
US8713277B2 (en) * | 2010-06-01 | 2014-04-29 | Apple Inc. | Critical word forwarding with adaptive prediction |
CN111478840A (zh) * | 2020-04-15 | 2020-07-31 | 联合华芯电子有限公司 | 用于总线系统的双速率仲裁中继设备 |
CN113821470B (zh) * | 2020-06-19 | 2024-09-06 | 杭州中天微系统有限公司 | 总线设备、嵌入式系统和片上系统 |
RU2749911C1 (ru) * | 2020-12-25 | 2021-06-21 | Акционерное Общество "Крафтвэй Корпорэйшн Плс" | Аппаратная реализация механизма использования одной памяти несколькими устройствами |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4481580A (en) * | 1979-11-19 | 1984-11-06 | Sperry Corporation | Distributed data transfer control for parallel processor architectures |
US4453211A (en) * | 1981-04-28 | 1984-06-05 | Formation, Inc. | System bus for an emulated multichannel system |
EP0340347B1 (en) * | 1983-09-22 | 1994-04-06 | Digital Equipment Corporation | Bus arbitration system |
US4967344A (en) * | 1985-03-26 | 1990-10-30 | Codex Corporation | Interconnection network for multiple processors |
US4837677A (en) * | 1985-06-14 | 1989-06-06 | International Business Machines Corporation | Multiple port service expansion adapter for a communications controller |
US4924427A (en) * | 1985-11-15 | 1990-05-08 | Unisys Corporation | Direct memory access controller with direct memory to memory transfers |
US4949301A (en) * | 1986-03-06 | 1990-08-14 | Advanced Micro Devices, Inc. | Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs |
JPS6366654A (ja) * | 1986-09-08 | 1988-03-25 | Matsushita Electric Ind Co Ltd | 同期型バス |
US4947368A (en) * | 1987-05-01 | 1990-08-07 | Digital Equipment Corporation | Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers |
DE3782500T2 (de) * | 1987-12-23 | 1993-05-06 | Ibm | Gemeinsam genutzte speicherschnittstelle fuer datenverarbeitungsanlage. |
US5001625A (en) * | 1988-03-24 | 1991-03-19 | Gould Inc. | Bus structure for overlapped data transfer |
US5016162A (en) * | 1988-03-30 | 1991-05-14 | Data General Corp. | Contention revolution in a digital computer system |
US4987529A (en) * | 1988-08-11 | 1991-01-22 | Ast Research, Inc. | Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters |
US5006982A (en) * | 1988-10-21 | 1991-04-09 | Siemens Ak. | Method of increasing the bandwidth of a packet bus by reordering reply packets |
-
1991
- 1991-07-18 JP JP3202231A patent/JPH0810445B2/ja not_active Expired - Lifetime
- 1991-08-21 CN CN91105822A patent/CN1037553C/zh not_active Expired - Fee Related
- 1991-08-21 KR KR1019910014385A patent/KR950014505B1/ko not_active IP Right Cessation
- 1991-08-21 AU AU82612/91A patent/AU639589B2/en not_active Ceased
- 1991-08-28 CA CA002050129A patent/CA2050129C/en not_active Expired - Fee Related
- 1991-09-12 BR BR919103929A patent/BR9103929A/pt unknown
- 1991-09-18 EP EP91308506A patent/EP0476990B1/en not_active Expired - Lifetime
- 1991-09-18 SG SG1996000146A patent/SG42853A1/en unknown
- 1991-09-18 DE DE69132344T patent/DE69132344T2/de not_active Expired - Fee Related
- 1991-09-19 MX MX9101149A patent/MX173460B/es unknown
- 1991-09-19 PT PT99006A patent/PT99006A/pt not_active Application Discontinuation
- 1991-09-19 PL PL91291778A patent/PL167608B1/pl unknown
- 1991-09-20 HU HU913024A patent/HU215867B/hu unknown
- 1991-09-20 CZ CS912874A patent/CZ282214B6/cs not_active IP Right Cessation
- 1991-09-20 RU SU5001612A patent/RU2110838C1/ru active
- 1991-09-20 NO NO91913707A patent/NO913707L/no unknown
- 1991-09-20 FI FI914429A patent/FI914429A/fi not_active Application Discontinuation
-
1992
- 1992-02-21 US US07/841,227 patent/US5195185A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5195185A (en) | 1993-03-16 |
CA2050129C (en) | 1996-05-14 |
KR950014505B1 (ko) | 1995-12-02 |
AU8261291A (en) | 1992-03-26 |
FI914429A0 (fi) | 1991-09-20 |
NO913707D0 (no) | 1991-09-20 |
NO913707L (no) | 1992-03-23 |
EP0476990B1 (en) | 2000-08-02 |
RU2110838C1 (ru) | 1998-05-10 |
CN1060166A (zh) | 1992-04-08 |
SG42853A1 (en) | 1997-10-17 |
EP0476990A2 (en) | 1992-03-25 |
CA2050129A1 (en) | 1992-03-22 |
MX173460B (es) | 1994-03-04 |
CS287491A3 (en) | 1992-04-15 |
DE69132344D1 (de) | 2000-09-07 |
BR9103929A (pt) | 1992-05-26 |
DE69132344T2 (de) | 2001-02-15 |
PT99006A (pt) | 1993-10-29 |
FI914429A (fi) | 1992-03-22 |
AU639589B2 (en) | 1993-07-29 |
PL291778A1 (en) | 1992-06-01 |
PL167608B1 (pl) | 1995-09-30 |
HU913024D0 (en) | 1992-01-28 |
JPH04246758A (ja) | 1992-09-02 |
HU215867B (hu) | 1999-03-29 |
KR920006858A (ko) | 1992-04-28 |
HUT58931A (en) | 1992-03-30 |
EP0476990A3 (en) | 1993-08-04 |
CN1037553C (zh) | 1998-02-25 |
CZ282214B6 (cs) | 1997-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0810445B2 (ja) | 動的バス調停方法及び装置 | |
US4257095A (en) | System bus arbitration, circuitry and methodology | |
US4270167A (en) | Apparatus and method for cooperative and concurrent coprocessing of digital information | |
JP2821552B2 (ja) | 2経路データ転送装置 | |
US6032211A (en) | Method of mode control in a bus optimized for personal computer data traffic | |
JP2510799B2 (ja) | デ―タ処理装置およびメモリコントロ―ラ | |
US6148357A (en) | Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes | |
US6314484B1 (en) | Computer system with a bus having a segmented structure | |
JPH0449144B2 (ja) | ||
JPH09179816A (ja) | データ処理システム(非対称バス・アービトレーション・プロトコル) | |
US5859986A (en) | Bandwidth efficient method and means for resynchronizing a master and slave over a clocked, arbitrated, bidirectional multistate parallel bus using local data recirculation, wait states, and cycle stealing | |
US3961312A (en) | Cycle interleaving during burst mode operation | |
US5455912A (en) | High speed/low overhead bus arbitration apparatus and method for arbitrating a system bus | |
JPS6290742A (ja) | 中央処理装置の性能を向上させる方法および装置 | |
JPH0823859B2 (ja) | データ処理システム | |
KR100487218B1 (ko) | 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법 | |
JP3240863B2 (ja) | 調停回路 | |
KR100593787B1 (ko) | 통신 버스에서의 차동 스트로빙 방법 및 장치 | |
JP3444933B2 (ja) | バスウェイト機構を備えるデジタルコンピュータ装置 | |
KR0172304B1 (ko) | 피씨아이 브리지 장치 및 방법 | |
JP3266610B2 (ja) | Dma転送方式 | |
JPH0575140B2 (ja) | ||
JPS63184859A (ja) | 共有メモリ転送装置 | |
JPH023852A (ja) | 共通メモリアクセス方式 | |
JPS61267161A (ja) | 多重系デ−タの転送装置 |