JPH04246758A - 動的バス調停方法及び装置 - Google Patents
動的バス調停方法及び装置Info
- Publication number
- JPH04246758A JPH04246758A JP3202231A JP20223191A JPH04246758A JP H04246758 A JPH04246758 A JP H04246758A JP 3202231 A JP3202231 A JP 3202231A JP 20223191 A JP20223191 A JP 20223191A JP H04246758 A JPH04246758 A JP H04246758A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- arbitration
- cycle
- priority
- external devices
- 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
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000000630 rising effect Effects 0.000 claims description 7
- 230000002457 bidirectional effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 239000000872 buffer Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000014759 maintenance of location Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
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
-
- 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/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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、CPU(中央演算処理
装置)の1つのメモリと(プロセッサを含む)複数の外
部装置間又はこれらの外部装置間の非専有バスを通じた
データ転送を管理するための装置に関し、さらに詳しく
は、このような外部装置間の優先順位を、無駄な調停サ
イクルと大きなバースト・バッファなしでより効率的に
調停し、全帯域幅をデータ転送に利用可能にする手段に
関する。
装置)の1つのメモリと(プロセッサを含む)複数の外
部装置間又はこれらの外部装置間の非専有バスを通じた
データ転送を管理するための装置に関し、さらに詳しく
は、このような外部装置間の優先順位を、無駄な調停サ
イクルと大きなバースト・バッファなしでより効率的に
調停し、全帯域幅をデータ転送に利用可能にする手段に
関する。
【0002】
【従来の技術】1989年11月付の、PS/2ハード
ウェア・インターフェース・テクニカル・リファレンス
のための、IBMマイクロチャネル・アーキテクチュア
補遺(IBM Microchannel Archi
tecture Supplement)は、現在広く
使用されているチャネル・アーキテクチュアを記載して
いる。この30−33ページには、バースト転送と局所
調停、及びバス・マスタ間の優先使用権を検討している
。ここで述べられている方法や、USP.478539
4、USP.4814974に示されたような、直接メ
モリ・アクセス(DMA)用チャネル・バス調停のため
の現在使用されている方法と手段には、勝ちを決めるた
めの複数の外部装置間の優先順位を調停する多くのサイ
クルが必要である。これは、データ転送のために利用可
能な時間を減少させる。
ウェア・インターフェース・テクニカル・リファレンス
のための、IBMマイクロチャネル・アーキテクチュア
補遺(IBM Microchannel Archi
tecture Supplement)は、現在広く
使用されているチャネル・アーキテクチュアを記載して
いる。この30−33ページには、バースト転送と局所
調停、及びバス・マスタ間の優先使用権を検討している
。ここで述べられている方法や、USP.478539
4、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ゲート26によ
って反転され、これによってバッファ・ドライバ22が
クロックC1を正にする。一方、ORゲート26の出力
は、ANDゲート27において、インバータ20からの
いくらか遅延した出力とANDにされ、これによってO
Rゲート28は信号を反転させ、バッファ・ドライバ2
3がクロックC2を正にする。ゲート25、26とゲー
ト27、28は同様なものである。
は、1対のインバータ20、21と1対のバッファ・ド
ライバ22、23を含む。発振器15の出力OSCが正
になると、線24に信号が発生する。この信号は、直接
ANDゲート25に送られ、またインバータ20、21
によって反転、再反転されて間接的に前記のANDゲー
トに送られ、時間遅延をもたらす。時間遅延の終わりに
、ANDゲート25から出た信号はORゲート26によ
って反転され、これによってバッファ・ドライバ22が
クロックC1を正にする。一方、ORゲート26の出力
は、ANDゲート27において、インバータ20からの
いくらか遅延した出力とANDにされ、これによってO
Rゲート28は信号を反転させ、バッファ・ドライバ2
3がクロックC2を正にする。ゲート25、26とゲー
ト27、28は同様なものである。
【0011】それぞれのクロックC1及びC2の正サイ
クルと負サイクルのタイミングを図3に示す。クロック
C1及びC2は位相が180°異なっている。しかしな
がら、本発明の特徴によれば、インバータ21を通じて
の遅延のために、クロックC1のサイクル長は、クロッ
クC2のサイクル長よりも僅かに短くて、その結果両ク
ロック・サイクルが非重合となる。たとえば、発振器1
5の出力OSCのサイクル長を100ナノ秒(ns)と
仮定すると、正クロックC1の位相長は、+OSCのリ
ーディング・エッジからの2 1/2 nsの遅延とト
レーリング・エッジに加えられた1 1/2 nsの遅
延によって49nsとなり、この結果、負クロックC1
については51nsの位相長となる。しかしながら、正
クロックC2は、リーディング・エッジからの2 1/
2 nsの遅延とトレーリング・エッジに加えられた2
nsの遅延による49.5nsという僅かに長い位相長
を有し、この結果、負クロックC2については50.5
nsの位相長となる。
クルと負サイクルのタイミングを図3に示す。クロック
C1及びC2は位相が180°異なっている。しかしな
がら、本発明の特徴によれば、インバータ21を通じて
の遅延のために、クロックC1のサイクル長は、クロッ
クC2のサイクル長よりも僅かに短くて、その結果両ク
ロック・サイクルが非重合となる。たとえば、発振器1
5の出力OSCのサイクル長を100ナノ秒(ns)と
仮定すると、正クロックC1の位相長は、+OSCのリ
ーディング・エッジからの2 1/2 nsの遅延とト
レーリング・エッジに加えられた1 1/2 nsの遅
延によって49nsとなり、この結果、負クロックC1
については51nsの位相長となる。しかしながら、正
クロックC2は、リーディング・エッジからの2 1/
2 nsの遅延とトレーリング・エッジに加えられた2
nsの遅延による49.5nsという僅かに長い位相長
を有し、この結果、負クロックC2については50.5
nsの位相長となる。
【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ビット・コードにおける自己優先順位は、ビットA
R1及びAR3であり、AR3は最下位ビットである。
1)に固定されている。したがってコード5については
、4ビット・コードにおける自己優先順位は、ビットA
R1及び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からの出力であるA
NDゲート50への第2入力によって制御される。ラッ
チ52は、バス40上の−ロック信号からの前のクロッ
クC2によって、ラッチされていることになる。クロッ
クC2の任意の数のサイクルについて遅延が有り得る。
った前の外部装置は、他の1つの外部装置の自己優先順
位ラッチ(48)がラッチされても、そのサイクルを拡
張することがある。これは、前の外部装置がバス12を
解放するまで、次のサイクルを遅延させる。遅延機能は
、任意のロック極性保持ラッチ52からの出力であるA
NDゲート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インバータ54
にも現れる前に、他のラッチ(図示せず)にクロックC
1によってセットしなければならない。インバータ・ド
ライバ55を通るANDインバータ54の同じ出力は、
自己ロック・ラッチ52をセットし、また調停バス40
上で共通−ロック信号を動かす。自己ロック・ラッチ5
3がセットされたままである限り、その正の出力は、O
Rインバータ回路51でOR論理処理され、複数のサイ
クルすなわち拡張サイクルについて自己バス許可ラッチ
49を保持する。いったん拡張サイクルが完成すると、
自己バス・ラッチ53は再びクロックC2によってリセ
ットされ、自己バス許可ラッ49はクロックC1によっ
てリセットされる。これによって、−ロック信号を消す
ことができる。外部装置のすべてはいま自由になり、連
続的なデータ転送を続けることができる。
めに、すなわちそれが拡張バースト・モードの実施を望
むために、1つの外部装置が2つまたはそれ以上の拡張
サイクルを取ろうとしている、と想定する。この装置は
、ANDインバータ54を通じて、クロックC2におい
てその自己ロック極性保持ラッチ53をラッチすること
になる。自己拡張要求を、それがANDインバータ54
にも現れる前に、他のラッチ(図示せず)にクロックC
1によってセットしなければならない。インバータ・ド
ライバ55を通るANDインバータ54の同じ出力は、
自己ロック・ラッチ52をセットし、また調停バス40
上で共通−ロック信号を動かす。自己ロック・ラッチ5
3がセットされたままである限り、その正の出力は、O
Rインバータ回路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、7
2、73、74を含む。これらのドライバは、オープン
・コレクタまたはドット・ドライバである。これらは、
ANDゲート75、76、77、78によってそれぞれ
駆動される調停ビットAR0,AR1,AR2,及びA
R3をセットアップする。これらのANDゲートは、実
際には単一回路である2つの複合論理ゲート79、80
を用いて、最高優先順位を決定する。
わる、優先順位コードの大きな変更を可能にする回路を
示す。16までの各優先順位を提供する4ビット優先順
位コードは、初期プログラム・ロード(IPL)時にお
けるような動作の始めに、レジスタ70にセットされる
。この回路65は4つのインバータ・ドライバ71、7
2、73、74を含む。これらのドライバは、オープン
・コレクタまたはドット・ドライバである。これらは、
ANDゲート75、76、77、78によってそれぞれ
駆動される調停ビットAR0,AR1,AR2,及びA
R3をセットアップする。これらのANDゲートは、実
際には単一回路である2つの複合論理ゲート79、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 (22)
- 【請求項1】メモリと複数の外部装置との間または複数
の外部装置間で非専用バスを介しての、直接メモリ・ア
クセス・データ転送中に、バス調停を最適化するための
装置であって、前記外部装置の各々は調停優先順位を有
しており、転送サイクル当り少なくとも2つの非オーバ
ーラップ・クロック(C1、C2)と、調停サイクル当
り少なくとも1つの転送サイクルを供給する手段と、前
記クロック中の第1のクロック(C1)の立上り時にの
み、前記各外部装置から調停バスに調停優先順位要求を
伝送する手段と、最高優先順位を有する外部装置の優先
順位コードを決定して、バス・マスタとなるべき外部装
置を指定するために、前記クロック中の最終クロック(
C2)の立下りで動作可能な手段と、指定された前記バ
ス・マスタと前記メモリまたはその他の外部装置との間
で、次に活動状態となるバス・マスタが制御を放棄した
後の次のサイクル中に、前記非専用バスを介してアドレ
スとデータを転送するための手段とを含む、バス調停装
置。 - 【請求項2】少なくとも外部装置のいくつかの優先順位
を大きく変えるための手段を含む、請求項1に記載のバ
ス調停装置。 - 【請求項3】それぞれの外部装置の優先順位が予め選定
され固定された、請求項1に記載のバス調停装置。 - 【請求項4】バス・マスタ優先順位についてのすべての
要求を同期化するための手段(41、48)を含む、請
求項1に記載のバス調停装置。 - 【請求項5】アドレス転送サイクルまたはデータ転送サ
イクルの損失がないような方法で、調停サイクルをパイ
プライニングするための手段(41、48、50、51
、49、58、59)を含む、請求項1に記載のバス調
停装置。 - 【請求項6】前記転送手段が、バス要求、次にアドレス
による優先順位許可、それからデータ転送をパイプライ
ニングするための手段(41、48、50、51、49
、58、59)を含む、請求項1に記載のバス調停装置
。 - 【請求項7】前記転送手段が、非専用バス上の各種外部
装置から多重化された連続順次ストリームでデータを転
送するための手段(59)を含む、請求項1に記載のバ
ス調停装置。 - 【請求項8】前記転送手段が、連続サイクル中に各種バ
ス・マスタから直接メモリ・アクセス・データを転送す
るための手段(59)を含む、請求項1に記載のバス調
停装置。 - 【請求項9】次に活動状態になるバス・マスタがサイク
ル数を拡張し、その間にそれが1つまたは複数の外部装
置と通信するようにする手段(54、53、55、52
)を含む、請求項1に記載のバス調停装置。 - 【請求項10】前記調停サイクルが、転送サイクル、ま
たは統合された複数の転送サイクルと長さが同じである
、請求項1に記載のバス調停装置。 - 【請求項11】ある調停サイクルに続く前記の第1クロ
ックの立上りに応答して、前記の外部装置の特定の1つ
に、それが次のサイクルのためのバス・マスタであるべ
きことを通知する手段(48、50、51、49)を含
む、請求項1に記載のバス調停装置。 - 【請求項12】バス・マスタの整列順で次番として指定
されていた外部装置を優先使用させるための手段を含み
、前記手段が (a)次に活動状態になるバス・マスタが、ロック期間
を初期化することによって、複数の転送サイクルのため
にバス・マスタシップを保持する場合、及び(b)より
高い優先順位の外部装置が、前記のロック期間中に調停
を受ける場合に動作可能となる、請求項1に記載のバス
調停装置。 - 【請求項13】非専用バスが1つのアドレス・バスと1
つの両方向データ・バスを含む、請求項1に記載のバス
調停装置。 - 【請求項14】非専用バスが、アドレス及び半サイクル
期間で多重化されたデータを出力するための1方向バス
、及び1方向入力するデータ・バスを含む、請求項1に
記載のバス調停装置。 - 【請求項15】非専用バスが、アドレス及びデータのた
めの単一両方向バスであり、アドレスは長い転送の開始
時にのみ送られ、続くデータ転送サイクル中には、アド
レスは、新しい非連続アドレスが送られるまで連続的に
増分されることになる、請求項1に記載のバス調停装置
。 - 【請求項16】メモリと複数の外部装置との間または複
数の外部装置間で非専用バスを介しての、直接メモリ・
アクセス・データ転送中に、バス調停を最適化するため
の方法であって、前記外部装置の各々は調停優先順位を
有しており、転送サイクル当り少なくとも2つの非オー
バーラップ・クロックと、調停サイクル当り少なくとも
1つの転送サイクルを供給するステップと、前記クロッ
ク中の第1のクロックの立上り時にのみ、各外部装置か
ら調停バスに調停優先順位要求を伝送するステップと、
前記クロック中の最終のクロックの終りで、最高優先順
位を有する外部装置の優先順位コードを決定して、それ
をバス・マスタとなるべき外部装置として指定するステ
ップと、指定されたバス・マスタとメモリまたはその他
の外部装置との間で、次に活動状態となるバス・マスタ
が制御を終えた後の次のサイクル中に、非専用バスを介
してアドレスとデータを転送するためのステップを含む
、バス調停方法。 - 【請求項17】少なくとも外部装置のいくつかの優先順
位を大きく変えるためのステップを含む、請求項16に
記載のバス調停方法。 - 【請求項18】転送ステップ中に、非専用バス上の各種
外部装置から多重化された連続順次ストリームでデータ
を転送することを含む、請求項16に記載のバス調停方
法。 - 【請求項19】アドレス転送サイクルまたはデータ転送
サイクルの損失がないような方法で、前記調停サイクル
をパイプライニングするためのステップを含む、請求項
16に記載のバス調停方法。 - 【請求項20】次に活動状態になるバス・マスタがサイ
クル数を拡張し、その間にそれが1つまたは複数の外部
装置と通信できるようにするステップを含む、請求項1
6に記載のバス調停方法。 - 【請求項21】ある調停サイクルに続く前記の第1クロ
ックの立上りに応答して、前記の外部装置の特定の1つ
に、それが次のサイクルのためのバス・マスタであるべ
きことを通知するステップを含む、請求項16に記載の
バス調停方法。 - 【請求項22】バス・マスタの整列順で次番として指定
されていた外部装置を、 (a)次に活動状態になるバス・マスタが、ロック期間
を初期化することによって、複数の転送サイクルのため
にバス・マスタシップを保持する場合、及び(b)より
高い優先順位の外部装置が、前記のロック期間中に調停
を受ける場合に、優先使用させるためのステップを含む
、請求項16に記載のバス調停方法。
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 true JPH04246758A (ja) | 1992-09-02 |
JPH0810445B2 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コントローラ |
DE69320508T2 (de) * | 1992-03-04 | 1999-03-04 | Motorola Inc | Verfahren und Gerät zur Busarbitrierungsdurchführung mit einem Arbiter in einem Datenverarbeitungssystem |
DE69319763T2 (de) * | 1992-03-04 | 1999-03-11 | Motorola Inc | Verfahren und Gerät zur Durchführung eines Busarbitrierungsprotokolls 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 |
US5535395A (en) * | 1992-10-02 | 1996-07-09 | Compaq Computer Corporation | Prioritization of microprocessors in multiprocessor 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 |
US5553310A (en) * | 1992-10-02 | 1996-09-03 | Compaq Computer Corporation | Split transactions and pipelined arbitration of microprocessors in multiprocessing 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 |
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 |
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 |
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 |
US5519838A (en) * | 1994-02-24 | 1996-05-21 | Hewlett-Packard Company | Fast pipelined distributed arbitration scheme |
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 |
US5533205A (en) * | 1994-03-30 | 1996-07-02 | International Business Machines Corporation | Method and system for efficient bus allocation in a multimedia 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 |
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 |
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 |
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 |
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 |
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 |
US5970253A (en) * | 1997-01-09 | 1999-10-19 | Unisys Corporation | Priority logic for selecting and stacking data |
US5822766A (en) * | 1997-01-09 | 1998-10-13 | Unisys Corporation | Main memory interface for high speed data transfer |
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 |
US6182112B1 (en) | 1998-06-12 | 2001-01-30 | Unisys Corporation | Method of and apparatus for bandwidth control of transfers via a bi-directional interface |
US6199135B1 (en) | 1998-06-12 | 2001-03-06 | Unisys Corporation | Source synchronous transfer scheme for a high speed memory 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 | コンピュータシステム |
DE602006019005D1 (de) * | 2006-06-27 | 2011-01-27 | Thomson Licensing | Verfahren und vorrichtung zur durchführung der arbitrierung |
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 | 联合华芯电子有限公司 | 用于总线系统的双速率仲裁中继设备 |
CN113821470A (zh) * | 2020-06-19 | 2021-12-21 | 平头哥(上海)半导体技术有限公司 | 总线设备、嵌入式系统和片上系统 |
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 |
EP0321628B1 (en) * | 1987-12-23 | 1992-11-04 | International Business Machines Corporation | Shared memory interface for a data processing system |
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 SG SG1996000146A patent/SG42853A1/en unknown
- 1991-09-18 DE DE69132344T patent/DE69132344T2/de not_active Expired - Fee Related
- 1991-09-18 EP EP91308506A patent/EP0476990B1/en not_active Expired - Lifetime
- 1991-09-19 PT PT99006A patent/PT99006A/pt not_active Application Discontinuation
- 1991-09-19 MX MX9101149A patent/MX173460B/es unknown
- 1991-09-19 PL PL91291778A patent/PL167608B1/pl unknown
- 1991-09-20 CZ CS912874A patent/CZ282214B6/cs not_active IP Right Cessation
- 1991-09-20 NO NO91913707A patent/NO913707L/no unknown
- 1991-09-20 HU HU913024A patent/HU215867B/hu unknown
- 1991-09-20 RU SU5001612A patent/RU2110838C1/ru active
- 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 |
---|---|
PT99006A (pt) | 1993-10-29 |
EP0476990B1 (en) | 2000-08-02 |
HUT58931A (en) | 1992-03-30 |
EP0476990A2 (en) | 1992-03-25 |
EP0476990A3 (en) | 1993-08-04 |
PL167608B1 (pl) | 1995-09-30 |
CA2050129A1 (en) | 1992-03-22 |
CN1037553C (zh) | 1998-02-25 |
NO913707D0 (no) | 1991-09-20 |
CS287491A3 (en) | 1992-04-15 |
FI914429A0 (fi) | 1991-09-20 |
US5195185A (en) | 1993-03-16 |
MX173460B (es) | 1994-03-04 |
CN1060166A (zh) | 1992-04-08 |
CA2050129C (en) | 1996-05-14 |
AU639589B2 (en) | 1993-07-29 |
DE69132344D1 (de) | 2000-09-07 |
PL291778A1 (en) | 1992-06-01 |
HU215867B (hu) | 1999-03-29 |
KR920006858A (ko) | 1992-04-28 |
NO913707L (no) | 1992-03-23 |
FI914429A (fi) | 1992-03-22 |
DE69132344T2 (de) | 2001-02-15 |
RU2110838C1 (ru) | 1998-05-10 |
KR950014505B1 (ko) | 1995-12-02 |
JPH0810445B2 (ja) | 1996-01-31 |
CZ282214B6 (cs) | 1997-06-11 |
HU913024D0 (en) | 1992-01-28 |
SG42853A1 (en) | 1997-10-17 |
BR9103929A (pt) | 1992-05-26 |
AU8261291A (en) | 1992-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2050129C (en) | Dynamic bus arbitration with grant sharing each cycle | |
US5119480A (en) | Bus master interface circuit with transparent preemption of a data transfer operation | |
JP2510799B2 (ja) | デ―タ処理装置およびメモリコントロ―ラ | |
US20010007999A1 (en) | High-throughput interface between a system memory controller and a peripheral device | |
JP3084218B2 (ja) | 通信方法及び同期通信システム | |
US6275890B1 (en) | Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration | |
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 | |
US5255373A (en) | Decreasing average time to access a computer bus by eliminating arbitration delay when the bus is idle | |
US6323755B1 (en) | Dynamic bus locking in a cross bar switch | |
JPS6134182B2 (ja) | ||
US6504854B1 (en) | Multiple frequency communications | |
US5193194A (en) | Concurrent arbitration system and method for bus control | |
JPS6290742A (ja) | 中央処理装置の性能を向上させる方法および装置 | |
US7673091B2 (en) | Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system | |
KR100487218B1 (ko) | 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법 | |
JP3240863B2 (ja) | 調停回路 | |
KR100243868B1 (ko) | 주 전산기에서의 중재로직 방법 | |
JP2699873B2 (ja) | バス制御回路 | |
JPH0754501B2 (ja) | アクセス要求信号処理回路 | |
JPS63184859A (ja) | 共有メモリ転送装置 | |
JPS6341973A (ja) | マルチプロセツサシステム | |
JPH05334221A (ja) | データ転送制御方式 | |
JPH06103230A (ja) | システム・バス調停回路装置 | |
JPH02170256A (ja) | バス制御方法および装置 | |
JPS63285658A (ja) | バス上のデ−タ衝突防止回路 |