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
Application number
JP3202231A
Other languages
English (en)
Other versions
JPH0810445B2 (ja
Inventor
George B Marenin
ジョージ・ボホスラフ・マレーニン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04246758A publication Critical patent/JPH04246758A/ja
Publication of JPH0810445B2 publication Critical patent/JPH0810445B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

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つのメモリと(プロセッサを含む)複数の外
部装置間又はこれらの外部装置間の非専有バスを通じた
データ転送を管理するための装置に関し、さらに詳しく
は、このような外部装置間の優先順位を、無駄な調停サ
イクルと大きなバースト・バッファなしでより効率的に
調停し、全帯域幅をデータ転送に利用可能にする手段に
関する。
【0002】
【従来の技術】1989年11月付の、PS/2ハード
ウェア・インターフェース・テクニカル・リファレンス
のための、IBMマイクロチャネル・アーキテクチュア
補遺(IBM Microchannel Archi
tecture Supplement)は、現在広く
使用されているチャネル・アーキテクチュアを記載して
いる。この30−33ページには、バースト転送と局所
調停、及びバス・マスタ間の優先使用権を検討している
。ここで述べられている方法や、USP.478539
4、USP.4814974に示されたような、直接メ
モリ・アクセス(DMA)用チャネル・バス調停のため
の現在使用されている方法と手段には、勝ちを決めるた
めの複数の外部装置間の優先順位を調停する多くのサイ
クルが必要である。これは、データ転送のために利用可
能な時間を減少させる。
【0003】
【発明が解決しようとする課題】これまでに提唱されて
きたシステムでは、これらの調停サイクル中にバス制御
の許可はできない。これらの調停サイクルは、帯域幅の
利用可能性を減少させるオーバーヘッドを構成する。こ
のオーバーヘッドを減らすために、現在の解法は、デー
タ転送を背中合せの(すなわち連続的でとぎれのない)
サイクルにまとめることである。しかしこれは、望まし
くないことであるが、大きなメモリ・バッファとその制
御回路の形で追加のハードウェアを必要とする。そして
、この制御回路の動作は、優先使用が許されるべきより
高い優先順位を持つ他のDMA転送装置をオーバーラン
させないように、可変の間隔で割り込みを許容する。 外部装置によるバスのホギングを避けるために、念入り
に作られた公平なアルゴリズムが考案されているが、こ
れらは、論理的な複雑性をさらに追加し、問題を除去す
るのではなく、症状をわずかに和らげるにすぎない。
【0004】本発明の目的は、複数の外部装置間のバス
調停を最適化すること、すなわち(1)大型バースト・
バッファと無駄な調停サイクルを除去し、(2)色々な
外部装置からの多重化された連続的データ転送を可能に
し、しかも(3)それぞれの外部装置の優先順位を動的
に変えることのできる、バス調停装置を提供することに
ある。
【0005】
【課題を解決するための手段】これらの目的は、転送サ
イクルあたり少なくとも2つの非オーバーラップ・クロ
ック(C1、C2)と、調停サイクルあたり少なくとも
1つの転送サイクルを準備することによって達成される
。各外部装置からの調停優先順位要求は、最初のクロッ
ク(C1)の立上りのときにのみ、調停バスに伝送され
る。最高優先順位を持つ外部装置の優先順位コードは、
最後のクロック(C2)の終端で決定される。優先順位
コードを固定しても、大きく変更してもよい。
【0006】本発明によればコンピュータ・バス管理装
置が準備され、これにより調停サイクルと待ち時間が除
去される。バス・インターフェース・プロトコルは、デ
ータ・ストリーム・バッファと調停論理が不要となるこ
とによって単純化される。外部装置は、バス・アクセス
が許可される時を事前に知り、より速いパイプライニン
グ動作を可能にする。また、最高の要求中の装置はすべ
ての装置がサービスを受けるまで、常に順次にバス支配
を許可され、長いバースト転送をもはや必要としないた
め、ホギングとフェアネスの問題も自動的に解決される
【0007】本発明は、(a)アドレス・バスと両方向
データ・バスによって、または(b)より速いパイプラ
イニングについては、アドレスと半サイクル周期で多重
化されたデータのための1方向出力バスによって(デー
タ・バスは単に入ってくる1方向バス)、または(c)
単一の非専用両方向バスによって(アドレスは長い転送
の始めに1回だけ送られ、連続データ転送サイクル中は
、新しい不連続アドレスが送られるまで連続して増分さ
れる)によって実現することができる。
【0008】
【実施例】図1に示すように、本発明を実行するバス管
理装置は、主メモリ11及び13、14のような複数の
外部装置と、システム・バス12を通じて通信する中央
演算処理装置(CPU)10を含む。ここで使用される
「外部装置」という用語は一般に、他のCPU及びディ
スク・ファイルやプリンタなどの周辺装置を網羅するこ
とを意図するものである。発振器15などの信号源が、
各外部装置へ方形波信号OSCを供給する。図示するよ
うに、発振器15はCPU10とは分離しているが、好
ましい場合には、その信号提供機能はCPUによって供
給される。
【0009】本発明の特徴によればバス制御装置または
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は同様なものである。
【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の位相長となる。
【0012】破線29、30、31(図2)は、診断テ
ストの目的で提供された接続で、通常は非活動状態であ
り、ここでは完全性を期すために示したものである。線
29における負の信号はクロックC1を抑え、この結果
C2のみが活動状態となる。同様に、線30における負
の信号はクロックC2を抑え、この結果C1のみが活動
状態となる。線31における正の信号は、逆転ORゲー
ト26、28を調整し、クロックC1及びC2の両方を
連続的に正に保持する。
【0013】本発明の他の特徴によれば、各外部装置1
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が
バス・マスタとなる。
【0015】もし、調停バス40上の他の装置が、最高
レベルAR0の活動状態を有していれば、バスからOR
インバータ回路42へのAR0の信号は負となり、結果
としては、回路42からの正の出力となり、これは線A
R1及びAR3上のバス要求からのいかなる出力もブロ
ックする。回路42からの正の出力はまた、ANDイン
バータ45が、調停バス40のAR3ブランチへのいか
なる要求の通過もブロックする。
【0016】図4に示すように、優先順位は5(010
1)に固定されている。したがってコード5については
、4ビット・コードにおける自己優先順位は、ビットA
R1及びAR3であり、AR3は最下位ビットである。
【0017】AR2である、外部装置からのより高い優
先順位ビットが活動状態である場合には、インバータ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の終
りに条件にしたがってラッチする。
【0019】本発明の特徴によれば、いったん自己優先
順位ラッチ48がラッチされると、これは、次のサイク
ルを許可するために、続くサイクル上に自己バス許可極
性保持ラッチ49をセットすることができる。自己優先
順位ラッチ48の出力は、ANDゲート50を通過し、
ORインバータ・ゲート51によって反転され、クロッ
クC1の始めに自己バス許可ラッチ49によってラッチ
されることになる。これは、特定の装置に、それがその
サイクルのバス・マスタであるという信号を送る。
【0020】この優先順位決定の前にバス・マスタであ
った前の外部装置は、他の1つの外部装置の自己優先順
位ラッチ(48)がラッチされても、そのサイクルを拡
張することがある。これは、前の外部装置がバス12を
解放するまで、次のサイクルを遅延させる。遅延機能は
、任意のロック極性保持ラッチ52からの出力であるA
NDゲート50への第2入力によって制御される。ラッ
チ52は、バス40上の−ロック信号からの前のクロッ
クC2によって、ラッチされていることになる。クロッ
クC2の任意の数のサイクルについて遅延が有り得る。
【0021】拡張サイクルが完成するとすぐに、−ロッ
ク信号は、クロック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によっ
てリセットされる。これによって、−ロック信号を消す
ことができる。外部装置のすべてはいま自由になり、連
続的なデータ転送を続けることができる。
【0023】インバータ・ドライバ56、57は内部的
に不活動状態であり、これらの入力は、優先順位コード
0101の生成に関わり合っていないので、接地されて
いる。しかしながら、これらはバス40からの外部入力
によって活動状態のままである。
【0024】バス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
を用いて、最高優先順位を決定する。
【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、及び自己優先順位信号を阻
止する。
【0027】同様に、ANDゲート82では、もし、A
R1が活動状態であって極性保持ラッチPR1が活動状
態でない場合は、AR1、AR2、AR3、及び自己優
先順位信号が阻止され、このようにして調停は、装置が
サービスを受ける次の装置にならないようにする。
【0028】インバータ・ゲート83への最終入力は、
クロック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を制御するだけである。
【0030】調停バス40のAR0線上の最上位ビット
は、最高ビットである。そのビットを駆動するどの装置
も、自動的に最高優先順位を持つ。レジスタ70におけ
るマイクロプロセッサ・セットの優先順位が、特定の装
置が優先順位PR0または活動状態のより高いビットを
有する、ということを示す場合には、やはりクロックC
1によってセットされた任意の−バス要求極性保持ラッ
チ(図示せず)が、調停バス40のAR0線を自動的に
駆動することになる。この場合、このビットは常に活動
状態であり、阻止される必要はない。
【0031】図6は、どのような値の周波数もとり得る
フリーランニング発振器15(図1)を用いた、種々の
動作のパイプライニングを示す、タイミング図である。 現在は100nsのOSCサイクルを使用しているが、
将来のものは既に50ns用も計画されている。バス要
求(REQX)は常にクロックC1の開始時に、すなわ
ち発振器サイクルOSCの最初の半分で変更可能である
。バス要求は、次のクロックC1までオンのままである
。バス許可(GRTX)もクロックC1によってセット
されるが、これはバス要求のサイクルに続き、したがっ
て常に1サイクル後にパイプライン処理される。
【0032】図6の例では、最高のAから最低のHまで
の各優先順位を持つ複数の外部装置が存在する。図6は
、これらの各優先順位が、スレーブがそのそれぞれのタ
イミング内でデータを受けることができるように、バー
スト、または緩慢な非流動スレーブによる遅延に対して
、いかにして連続サイクルを形成するかを示す。ここで
使用する用語「スレーブ」は総称的に、バス・マスタ装
置が通信しようと望む任意の装置を参照するものである
【0033】外部装置がバス12を獲得する度に、それ
は内部的にその(図4の49のような)自己バス許可ラ
ッチをラッチすることになる。このラッチは、調停を獲
得する装置のための現在のサイクルを制御する。この時
に、この外部装置はスレーブと通信するためのサイクル
を担当する。この外部装置は、自己バス許可サイクル中
にバス12上にアドレスを送る。これはまた、それが+
読取り/−書込み信号上の読取りまたは書込み機能の実
施を望んでいるか否かも示す。バス・マスタがバースト
・モードでの動作を望む場合には、すなわち次に高い優
先順位の装置が入ってくることができる前に、サイクル
の短いバーストのために他の装置をロックアウトしよう
と望む場合には、−ロック信号も活動状態となる。1つ
のデータ転送が発生し、それからスレーブがそれが所有
する反復されたアドレスを見出した場合は、スレーブは
、それがデータを受け取るか送るかに必要な時間を、拡
張しようと望むこともできる。これは、基本バス・サイ
クルの1つまたはそれ以上の増分で、バス・マスタが使
用する図4に示すものと同様な論理を持つ−ロック信号
をセットすることによって、実施できる。各装置からの
応答線は、それがバス12にデータを送ったかまたは受
け取ったかを示す。−ロック信号も、スレーブからの次
のサイクル上の応答となることができ、スレーブがどの
連続サイクルも取ることができないことを示す。
【0034】図6に示すように、バス要求の後にはバス
許可とバス・マスタによって実施されるアドレス指定が
続き、そしてデータの読取りまたは書込み機能が、パイ
プラインされた動作の第3列として発生する。
【0035】図6は、各種の操作モードでの、スレーブ
P−Wへの、またはスレーブP−Wからの、各種のバス
・マスタA−Hによる読取りと書込みを示す。
【0036】図示するように、本発明はアドレス・バス
と両方向データ・バスによって実施されてきた。しかし
ながら、より速いパイプライニングについては、本発明
を、アドレス及び半サイクル期間で多重化されるデータ
のための一方向出力バスによって、実現することもでき
、データ・バスは単に入力一方向データ・バスとなり得
るだけである。
【0037】または、好ましい場合には、本発明を単一
非専用双方向バスによって実現することができる。この
ような場合、アドレスは長い転送の開始時に1回だけ送
られ、そして続くデータ転送サイクル中に、アドレスは
、新しい非連続アドレスが送られるまで、順次増分され
ることになる。より詳しくは、長い転送の開始時に、装
置は2サイクルのバーストを取り、続くサイクル中の第
1サイクル中にアドレスを送り、第2サイクル中にデー
タを送る。この場合、アドレス・バスを除くために図6
を変更してもよく、これによって調停バスは多重化され
た外部装置のために直接アドレス・ポインタになる。 最高の要求中の装置はすべての装置がサービスを受ける
まで、常に順次にバス支配を許可されるので、長いバー
スト転送をもはや必要としない。
【0038】
【発明の効果】本発明によれば、コンピュータ・バス管
理における調停サイクルと待ち時間が不要となる。バス
・インターフェース・プロトコルは、データ・ストリー
ム・バッファと調停論理が不要となることによって単純
化される。外部装置は、バス・アクセスが許可される時
を事前に知り、より速いパイプライニング動作を可能に
する。
【図面の簡単な説明】
【図1】本発明を組み込むコンピュータ・バス管理装置
のブロック図である。
【図2】本発明を実現するための、単一ソースから2つ
の非オーバーラップ・クロック・サイクルを発生させる
各外部装置を伴う回路の、概略線図である。
【図3】図2の回路によって生成された非オーバーラッ
プ・クロック・サイクルを示す、タイミング図である。
【図4】図示のために“5”(0101)と想定された
固定優先順位にしたがって、前記クロック・サイクル中
の最終サイクルの終りにバス・マスタを許可する調停回
路の、概略線図である。
【図5】動的にセットされることのできる優先順位にし
たがって、前記クロック・サイクル中の最終サイクルの
終りにバス・マスタを許可する調停回路を提供するため
の、図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. 【請求項1】メモリと複数の外部装置との間または複数
    の外部装置間で非専用バスを介しての、直接メモリ・ア
    クセス・データ転送中に、バス調停を最適化するための
    装置であって、前記外部装置の各々は調停優先順位を有
    しており、転送サイクル当り少なくとも2つの非オーバ
    ーラップ・クロック(C1、C2)と、調停サイクル当
    り少なくとも1つの転送サイクルを供給する手段と、前
    記クロック中の第1のクロック(C1)の立上り時にの
    み、前記各外部装置から調停バスに調停優先順位要求を
    伝送する手段と、最高優先順位を有する外部装置の優先
    順位コードを決定して、バス・マスタとなるべき外部装
    置を指定するために、前記クロック中の最終クロック(
    C2)の立下りで動作可能な手段と、指定された前記バ
    ス・マスタと前記メモリまたはその他の外部装置との間
    で、次に活動状態となるバス・マスタが制御を放棄した
    後の次のサイクル中に、前記非専用バスを介してアドレ
    スとデータを転送するための手段とを含む、バス調停装
    置。
  2. 【請求項2】少なくとも外部装置のいくつかの優先順位
    を大きく変えるための手段を含む、請求項1に記載のバ
    ス調停装置。
  3. 【請求項3】それぞれの外部装置の優先順位が予め選定
    され固定された、請求項1に記載のバス調停装置。
  4. 【請求項4】バス・マスタ優先順位についてのすべての
    要求を同期化するための手段(41、48)を含む、請
    求項1に記載のバス調停装置。
  5. 【請求項5】アドレス転送サイクルまたはデータ転送サ
    イクルの損失がないような方法で、調停サイクルをパイ
    プライニングするための手段(41、48、50、51
    、49、58、59)を含む、請求項1に記載のバス調
    停装置。
  6. 【請求項6】前記転送手段が、バス要求、次にアドレス
    による優先順位許可、それからデータ転送をパイプライ
    ニングするための手段(41、48、50、51、49
    、58、59)を含む、請求項1に記載のバス調停装置
  7. 【請求項7】前記転送手段が、非専用バス上の各種外部
    装置から多重化された連続順次ストリームでデータを転
    送するための手段(59)を含む、請求項1に記載のバ
    ス調停装置。
  8. 【請求項8】前記転送手段が、連続サイクル中に各種バ
    ス・マスタから直接メモリ・アクセス・データを転送す
    るための手段(59)を含む、請求項1に記載のバス調
    停装置。
  9. 【請求項9】次に活動状態になるバス・マスタがサイク
    ル数を拡張し、その間にそれが1つまたは複数の外部装
    置と通信するようにする手段(54、53、55、52
    )を含む、請求項1に記載のバス調停装置。
  10. 【請求項10】前記調停サイクルが、転送サイクル、ま
    たは統合された複数の転送サイクルと長さが同じである
    、請求項1に記載のバス調停装置。
  11. 【請求項11】ある調停サイクルに続く前記の第1クロ
    ックの立上りに応答して、前記の外部装置の特定の1つ
    に、それが次のサイクルのためのバス・マスタであるべ
    きことを通知する手段(48、50、51、49)を含
    む、請求項1に記載のバス調停装置。
  12. 【請求項12】バス・マスタの整列順で次番として指定
    されていた外部装置を優先使用させるための手段を含み
    、前記手段が (a)次に活動状態になるバス・マスタが、ロック期間
    を初期化することによって、複数の転送サイクルのため
    にバス・マスタシップを保持する場合、及び(b)より
    高い優先順位の外部装置が、前記のロック期間中に調停
    を受ける場合に動作可能となる、請求項1に記載のバス
    調停装置。
  13. 【請求項13】非専用バスが1つのアドレス・バスと1
    つの両方向データ・バスを含む、請求項1に記載のバス
    調停装置。
  14. 【請求項14】非専用バスが、アドレス及び半サイクル
    期間で多重化されたデータを出力するための1方向バス
    、及び1方向入力するデータ・バスを含む、請求項1に
    記載のバス調停装置。
  15. 【請求項15】非専用バスが、アドレス及びデータのた
    めの単一両方向バスであり、アドレスは長い転送の開始
    時にのみ送られ、続くデータ転送サイクル中には、アド
    レスは、新しい非連続アドレスが送られるまで連続的に
    増分されることになる、請求項1に記載のバス調停装置
  16. 【請求項16】メモリと複数の外部装置との間または複
    数の外部装置間で非専用バスを介しての、直接メモリ・
    アクセス・データ転送中に、バス調停を最適化するため
    の方法であって、前記外部装置の各々は調停優先順位を
    有しており、転送サイクル当り少なくとも2つの非オー
    バーラップ・クロックと、調停サイクル当り少なくとも
    1つの転送サイクルを供給するステップと、前記クロッ
    ク中の第1のクロックの立上り時にのみ、各外部装置か
    ら調停バスに調停優先順位要求を伝送するステップと、
    前記クロック中の最終のクロックの終りで、最高優先順
    位を有する外部装置の優先順位コードを決定して、それ
    をバス・マスタとなるべき外部装置として指定するステ
    ップと、指定されたバス・マスタとメモリまたはその他
    の外部装置との間で、次に活動状態となるバス・マスタ
    が制御を終えた後の次のサイクル中に、非専用バスを介
    してアドレスとデータを転送するためのステップを含む
    、バス調停方法。
  17. 【請求項17】少なくとも外部装置のいくつかの優先順
    位を大きく変えるためのステップを含む、請求項16に
    記載のバス調停方法。
  18. 【請求項18】転送ステップ中に、非専用バス上の各種
    外部装置から多重化された連続順次ストリームでデータ
    を転送することを含む、請求項16に記載のバス調停方
    法。
  19. 【請求項19】アドレス転送サイクルまたはデータ転送
    サイクルの損失がないような方法で、前記調停サイクル
    をパイプライニングするためのステップを含む、請求項
    16に記載のバス調停方法。
  20. 【請求項20】次に活動状態になるバス・マスタがサイ
    クル数を拡張し、その間にそれが1つまたは複数の外部
    装置と通信できるようにするステップを含む、請求項1
    6に記載のバス調停方法。
  21. 【請求項21】ある調停サイクルに続く前記の第1クロ
    ックの立上りに応答して、前記の外部装置の特定の1つ
    に、それが次のサイクルのためのバス・マスタであるべ
    きことを通知するステップを含む、請求項16に記載の
    バス調停方法。
  22. 【請求項22】バス・マスタの整列順で次番として指定
    されていた外部装置を、 (a)次に活動状態になるバス・マスタが、ロック期間
    を初期化することによって、複数の転送サイクルのため
    にバス・マスタシップを保持する場合、及び(b)より
    高い優先順位の外部装置が、前記のロック期間中に調停
    を受ける場合に、優先使用させるためのステップを含む
    、請求項16に記載のバス調停方法。
JP3202231A 1990-09-21 1991-07-18 動的バス調停方法及び装置 Expired - Lifetime JPH0810445B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) バス上のデ−タ衝突防止回路