JPH07175752A - バスプロトコルおよび方法 - Google Patents

バスプロトコルおよび方法

Info

Publication number
JPH07175752A
JPH07175752A JP6264573A JP26457394A JPH07175752A JP H07175752 A JPH07175752 A JP H07175752A JP 6264573 A JP6264573 A JP 6264573A JP 26457394 A JP26457394 A JP 26457394A JP H07175752 A JPH07175752 A JP H07175752A
Authority
JP
Japan
Prior art keywords
bus
circuit
master
control signal
ownership
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
JP6264573A
Other languages
English (en)
Other versions
JP3917672B2 (ja
Inventor
James G Gay
ジェイムズ・ジー・ゲイ
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH07175752A publication Critical patent/JPH07175752A/ja
Application granted granted Critical
Publication of JP3917672B2 publication Critical patent/JP3917672B2/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/38Information transfer, e.g. on bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • 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
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

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)【要約】 【目的】 データプロセッサにおいてバスを必要とする
バスマスタに適切にバスを割当てできるバスプロトコル
を実現可能にする。 【構成】 バスプロトコルはバス転送終了(BTT*)
およびバス承認放棄(BGR*)を示すための信号を使
用する。BTT*信号はバスマスタによってバス転送が
完了しかつバスの所有権が他のバスマスタに転送できる
ことを示す。BGR*信号はバスマスタへの入力であ
る。BGR*が肯定された時、バスアービタは現在のバ
スマスタに対し、ロックにかかわりなく、バス承認信号
の肯定解除後に、できるだけ早くバスが放棄されるべき
ことを通知している。BGR*が肯定解除されれば、バ
スアービタは現在のバスマスタにバスが都合の良い時間
に放棄できることを通知している。一般に、BGR*は
係属中のバスの所有権の転送の緊急性を示すビットであ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的にはデータプロ
セッサに関し、かつより特定的には、データプロセッサ
が他の回路と通信できるようにするバスプロトコルに関
する。
【0002】
【従来の技術】バスプロトコル(bus protoc
ol)の性能は集積回路および/または集積回路システ
ムの総合的な性能に直接影響を与える。知られたバスプ
ロトコルは同期バスシステムにおいて現在のマスタが一
連のバック−バック(背中合せ:back−back)
でロックされた転送シーケンスを行なっている場合にバ
スの所有権を他のマスタに転送できるポイントを外部バ
ス調停装置(アービタ:arbiter)が必ずしも決
定できるとは限らないという問題を有する。ロックされ
た転送の発生は、一般的には、知られたシステムにおい
ては現在のマスタが前記転送または転送のシーケンスが
原子的(atomic:すなわち分割できないこと)で
あると考えていることを示すロック(LOCK)信号に
よって表示される。しかしながら、もしマスタがいくつ
かの一連のこれらの原子的なロックされたシーケンスを
バック−バックで有しており、かつもし外部アービタが
これらの原子的なシーケンスの当接(abutment
s)に気が付くことができれば、外部アービタがバスの
所有権をマスタから取り上げかつそれを前記シーケンス
の間の境界でより必要とするマスタに与えることが完全
に許容されるであろう。
【0003】知られたバスプロトコルはバスマスタが長
い一連のバック−バックロックされた転送を行なってい
る時間の間における他のバスマスタの窮乏(starv
ation)を防ぐことができない。図4は、介在する
バスクロックなしに2つの連続するロックされたシーケ
ンスを行なっている同期バスの動作を示す。図4から、
外部アービタは介在するバスロックを持たない単一の、
数多くの転送のロックされたシーケンス、および複数の
シーケンスの間での差を決定できないことが分かる。こ
れはアービタが他のバスマスタにバスを所有させる必要
があるが中断なしにリンクされたロックシーケンスのロ
ックされた性質を保存する必要がある場合に問題であ
る。ロックされたシーケンスの中断がないことを保証す
るためには、アービタは現在バスを使用しているマスタ
に対しBG(バス承認)を否定する前に前記LOCK信
号が否定されるのを待つことを強要される。前記LOC
K信号はシーケンスの間では否定されないから、現在の
マスタはバック−バックロックされたシーケンスを走行
させることにより効果的にバスを独占することができ
る。
【0004】知られたバスプロトコルは前記LOCK信
号がロックされたシーケンスにおける最後の転送の終了
によって肯定されることを要求することに注意を要す
る。LOCK信号はロックされたシーケンス内では全て
の転送に対して肯定された状態に留まらなければならな
いが、それはスレイブ(slave)がいずれの転送に
ついても転送リトライの必要性を通知するかも知れない
からである。
【0005】
【発明が解決しようとする課題】1つの知られたバスプ
ロトコルは上に述べた問題をロックされたシーケンスの
間で1つまたは2つのデッドクロック(dead cl
ocks)を加えることによって解決しようと試みてい
る。これらのデッドクロックは結局ロックされたシーケ
ンスを破ることになるか、あるいは性能を低下させかつ
緊急の要求を有する他のマスタに対するバスの潜伏性
(latency)を増大させるという望ましくない副
作用を持つことが発見された。上に述べた問題をさらに
解決するために、バスプロトコルは最後にロックされた
バスサイクルのステータスの表示子(LOCKE)を導
入して前記アービタがロックされたシーケンスの最後の
転送の間におけるマスタへのBGの否定および該転送と
のオーバラップ調停を可能にしている。しかしながら、
前記外部バスアービタがバス処理のロックされた完全性
を保つためにBGを非同期的に再び肯定しなければなら
ない場合がバスサイクルのリトライの間に存在する。図
5はこのような場合を示す。図5においては、バスアー
ビタはそれが前記LOCKEが肯定されかつBR(バス
要求)が否定されているのを見たときにバスサイクル2
(BC2)においてBGを否定することに注目すべきで
ある。しかしながら、転送のリトライは通知され(TR
Aが肯定される)かつロックされたシーケンスの破壊を
防止するために外部バスアービタは非同期的にBGを再
肯定しなければならない。これは上に述べた問題を解決
する外部バスアービタの設計を非常に困難にするが、そ
れは前記リトライ信号(TRA)もまた非常に高速度で
サンプルされなければならないからである。これは非常
に高いプロセッサのクロック周波数ではほとんど不可能
でありかつ総合的に同期的な設計にとってもほとんど不
可能であろう。
【0006】知られたオーバラップしたバス調停プロト
コルはまた第2のマスタがバスマスタの内部の非同期
の、セルフタイム化された、またはチックをベースとし
た(tick based)論理に頼ることなくバスを
使用し始める間に、現在のバスマスタによるバスの保有
の終了を表示する問題を有する。この問題を処理するた
めの知られたプロトコルはバスビジー(Bus Bus
y)プロトコルである。該バスビジー(BB)プロトコ
ルを使用すると非常に高いバス周波数では問題が発生す
る。図1は、知られたシステムにおける前記バスビジー
プロトコルの動作を示す。通常1つのシステムにおい
て、主(primary)マスタのバスビジー(PM_
BB*)および代替(alternate)バスマスタ
のバスビジー(AM_BB*)信号は一緒に結ばれかつ
抵抗によってVddにプルアップされるが、これらの信
号はここではバスの支配の転送時間におけるバスビジー
信号の競合の可能性を示すために分離されている。図1
のシステムはチックをベースとした内部クロックを使用
しかつ上に述べた問題をデッドチック(dead ti
ck)によるターンオンおよびターンオフ時間を分離す
ることにより解決しようと試みる。チック(tick)
は全クロック期間または周期の1部である。前記デッド
チック方法は低いバス周波数ではうまく動作するが、高
いバス周波数ではうまく動作せず、それはバス化された
またはバスに接続された(bused)バスビジー信号
のより狭いチック時間およびRC定数のためである。
【0007】したがって、本発明の目的は、上述の従来
の技術における問題を解決し、高いバス周波数において
も適確なバス動作を可能にするバス調停プロトコルを実
現することにある。
【0008】
【課題を解決するための手段および作用】上に述べた従
来技術の不都合は本発明によって克服されかつ他の利点
も得られる。1つの形態では、本発明はバス転送を制御
するためのバスプロトコル方法からなる。該方法は、第
1の制御信号を肯定する(assert)ことによりマ
スタ回路にバスの所有権を承認することによって開始さ
れる。第2の制御信号の肯定に応答して、データが前記
マスタ回路と該マスタ回路の外部の装置との間で転送さ
れる。第3の制御信号が前記マスタ回路に送られる。該
第3の制御信号はマスタ回路に該マスタ回路のバスの所
有権が現在のバスサイクルの終りに放棄されるべきか、
あるいは前記第1の制御信号が否定されて該マスタ回路
にバスの所有権が放棄されるべきであることを指示した
場合にマスタ回路の自由裁量で終了すべきかを示す。第
4の制御信号が肯定されてマスタ回路の外部に前記マス
タ回路がそのバスの所有権を終了したことを指示する。
該第4の制御信号は前記第3の制御信号および前記第1
の制御信号の状態によって決定される時間に肯定され
る。
【0009】他の形態では、本発明は第1の回路がバス
を通して第2の回路にインタフェースできるようにする
ためのバスプロトコルを構成する。回路が前記第1の回
路からの出力として第1の制御信号を提供しバスの所有
権が要求されていることを指示する。受信のための回路
が第1の回路への入力として該第1の回路がバスの所有
権を承認されるか否かを示すために使用される第2の制
御信号を受け入れる。提供するための回路が第3の制御
信号を第1の回路からの出力として発生し、この場合該
第3の制御信号は第1の回路がバスの所有権を放棄する
用意ができている場合にのみ肯定される。
【0010】さらに他の形態では、本発明は制御信号を
受信するための回路を使用してバスを介して第1の回路
が第2の回路へとインタフェースできるようにするバス
プロトコルを構成し、この場合前記制御信号は第1の回
路への入力である。該制御信号は第1の回路が該第1の
回路によって行なわれている現在のバスサイクルの終り
にバスの所有権を放棄しなければならないことを示すた
めに第1の論理状態にセットされる。前記制御信号は前
記第1の回路が前記第1の回路によって決定される都合
の良い時間にバスの所有権を放棄すべきであることを示
すために第2の論理状態にセットされる。
【0011】
【実施例】本発明は図面と共に以下の詳細な説明を参照
することによりさらに明瞭に理解できるであろう。
【0012】図示の簡単化および明瞭化のために図面に
示された各要素は必ずしも同一尺度で描かれていないこ
とが理解できるであろう。例えば、前記要素のいくつか
の寸法は明瞭化のため他の要素に対し誇張されている。
さらに、適切であると考えられる場合には、参照数字は
対応するまたは類似の要素を示すために各図面の間で反
復されている。
【0013】ここに教示されたバスを動作させるバスプ
ロトコルおよび方法はバスマスタの内部の非同期の、セ
ルフタイム化された(self−timed)、または
チックをベースとした(tick based)論理に
頼ることなく第2のマスタがバスを使用し始めている間
に現在のバスマスタによるバスの保有の終了を示すオー
バラップしたバス調整システム(overlapped
bus arbitration system)に
おける問題を解決する。図1は、知られたバスプロトコ
ルおよび方法のタイミング図を示す。図1は、次のよう
に省略して表現された信号を示している。すなわち、C
LK=クロック;TS*=転送開始;R/W*=読出し
/書込み;アドレスおよび属性(Address &
Attributes)=アドレスビットおよびバス属
性ビット;D[31:0]=データビット;TA*=転
送アクノレッジ;PM_BR*=主マスタ(prima
ry master)バス要求;PM_BG*=主マス
タバス承認;PM_BB*=主マスタバスビジー;AM
_BB*=代替マスタ(alternate mast
er)バスビジー;AM_BR*=代替マスタバス要
求;そしてAM_BG*=代替マスタバス承認、であ
る。この場合、*記号は信号がアクティブローの信号で
あることを示す信号名である。
【0014】図1は、非常に高いバス周波数では図1に
おけるバスビジー(BB*)信号を使用する従来技術の
プロトコルにおいて問題が生じることを示している。通
常1つのシステムにおいて、主バスマスタのバスビジー
(PM_BB*)および代替バスマスタのバスビジー
(AM_BB*)信号は一緒に結ばれかつ抵抗によって
Vddにプルアップされるが、図1ではバスの所有権の
転送時間におけるバスビジー(BB*)信号の競合の可
能性を示すために図1ではこれらの信号は別々に示され
ている。主マスタはチックをベースとした内部クロック
を使用しかつ前記BB*競合問題をデッドチック(de
ad tick)により前記バスビジー信号(BB*)
のターンオンおよびターンオフ時間を分離することによ
り解決しようと試みる。これは低いバス周波数ではうま
く動作するが、高いバス周波数ではうまく動作せず、そ
れは送信されたバスビジー(BB*)信号のより狭いチ
ック時間およびRC定数のためである。図1において、
領域Aおよび領域Bは時間的に、より高い周波数におい
て、1つのBB*信号(PM_BB*またはAM_BB
*)が論理“1”をドライブしており、一方他のBB*
信号が論理“0”をドライブしている領域を示す。この
バス競合は都合の良いものではない。
【0015】図2は、本発明に係わるバス保有終了(B
us Tenure Terminated:BTT
*)プロトコルの動作を示す。通常、主バスマスタのバ
ス保有終了(PM_BTT*)および代替バスマスタの
バス保有終了(AM_BTT*)信号は一緒に結ばれか
つ抵抗によってVdd(電源電圧)にプルアップされる
が、図1ではこれらの信号はバス所有権の転送時間にバ
ス保有終了信号の競合の可能性が生じないことを示すた
めに分離されている。さらに、前記バス保有終了(BT
T*)信号のタイミングはシステムクロックと完全に同
期することができ、バスマスタの内部の非同期の、セル
フタイム化されたまたはチックをベースとした論理の必
要性を除去している。
【0016】図2を参照すると、「バスサイクル(bu
s cycle)」および「転送サイクル(trans
fer cycle)」は、前記転送開始(TS*)が
肯定されるクロックエッジから前記最終転送の最後の終
了アクノレッジ信号(TA*,TEA*またはTRA
*)がサンプルされるクロックエッジまでの1つの完全
なバス動作サイクルを表わしている。1つのバスサイク
ル内でデータのゼロからいくつかまでの転送が生じ得
る。用語「転送(transfer)」はそれ自体でデ
ータがプロセッサに転送されるかあるいはプロセッサか
ら転送される場合における単一のクロック期間または周
期(period)を意味する。
【0017】図2において、CLKはシステムクロック
を示す。前記TS*信号は転送開始信号である。該転送
開始(TS*)信号は前記主マスタ(primary
master)によってアドレス線が安定になるクロッ
クサイクルの間に肯定され、かつ引き続くクロックサイ
クルにおいて否定される。前記TS*信号は前記主マス
タがバスの所有権を持っている場合に前記主マスタのた
めのバスサイクルの開始を示す。前記TS*信号は、他
の機能にもサービスできるが、システム内のバスの支配
権についての内部状態情報を維持するために主マスタが
バスマスタでない場合に前記主マスタによって調べられ
る。バスによってバスサイクルを行なうことができる全
てのマスタは一緒にバスでつながれた(bused)そ
れらのTS*信号を持たなければならない。主マスタが
バスマスタでない場合、TS*は通常該主マスタによっ
てトライステート化される。
【0018】図2において、前記R/W*信号は主マス
タがバスの所有権を有する場合に該主マスタによってド
ライブされる。該R/W*信号は引き続くデータの転送
の方向(外部からマスタへの読取り、またはマスタの外
部への書込み)を示す。該R/W*信号は読取りバスサ
イクルの間にハイに肯定され、かつ書込みバスサイクル
の間にローに肯定される。68060がバスマスタでな
い場合、この信号はトライステート化される。
【0019】図2において、信号TA*(または、転送
エラーアクノレッジ[TEA*]または転送リトライア
クノレッジ[TRA*]のような等価な信号)はバスサ
イクルの終りを示すために使用される。特に、主マスタ
がバスマスタである場合(すなわち、主マスタがバスの
所有権を有する場合)、前記TA*信号は、バスに結合
された、現在のスレイブにより前記バスサイクルにおい
て転送されるべきデータが有効でありかつバスの読取り
動作の間にサンプルされる用意ができているクロックに
おいて肯定される。あるいは、前記TA*信号は主マス
タから転送されたデータがバスの書込み動作の間にスレ
イブによって受け入れられる前記クロックにおいて現在
のスレイブにより肯定される。主マスタが前記転送を転
送アクノレッジ(TA*)と共に首尾よく受け入れるた
めには、TRA*およびTEA*は共にTA*が肯定さ
れているときに否定されなければならない。言い替えれ
ば、リトライおよびエラーバス転送信号は前記TA*信
号に対し優先権を持つ。
【0020】図2において、前記D[31:0]信号は
現在の処理のためのデータを伝達する双方向信号であ
る。バーストバスサイクルの間に、データ線はバースト
要求全体の全ての部分を転送するために時間多重され
る。図2においては、アドレス信号は前記主マスタがバ
スの所有権を有する場合に該主マスタによって出力され
る。該アドレスビットはバス転送の第1の項目のアドレ
スを示すために使用される。
【0021】図2において、バスサイクルの属性(at
tribute)信号はバス上でどのようなタイプの転
送が行なわれているかを示すために使用される。例え
ば、これらの信号は16ビットのムーブ(move)ま
たは32ビットのムーブを示すことができる。ユーザま
たはスーパバイザモードのアクセスを特定することがで
きる。キャッシュを適切に制御することができる。メモ
リ管理ユニットをアクセスすることができる。データ転
送サイズを決定できる。転送されたロングワードの中の
バイト選択を行なうことができる。バスロックを決定で
きる。一般に、数多くの転送属性機能および信号が技術
的に存在しかつ図2において任意のもの/全てを使用で
きる。
【0022】図2における前記PM_BR*信号は主マ
スタまたは主プロセッサのためのバス要求信号である。
該PM_BR*信号は主マスタから外部バスアービタに
送られかつ任意の時間に肯定または否定できる。PM_
BR*はバスを使用する必要性を指示するために主マス
タによって肯定され、かつ主マスタがもはやバスを必要
としなくなるまで肯定状態に保持される。この肯定時間
は主マスタがバスマスタである時間(すなわち、バスの
所有権を持っている時間)並びに主マスタがバスマスタ
でない時間(すなわち、バスの所有権を持たない時間)
を含む。
【0023】また、主マスタによるバスの使用の必要性
はバスアービタがバスを前記PM_BG*信号を介して
主マスタのプロセッサに承認できる前に内部状態の変化
により消散し得ることに注目すべきである。これはPM
_BR*がこれまでにある期間の間肯定されかつ次にP
M_BG*が外部バスアービタによって肯定できる前に
否定された場合に当てはまる。したがって、外部バスア
ービタは主マスタがバスの使用を要求するが、バスアー
ビタがPM_BG*を主マスタに対し肯定したとき、決
してバスの支配権を引き継がない場合を扱わなければな
らない。この場合は主マスタがPM_BR*を否定しか
つPM_BG*が外部バスアービタによって肯定された
後に次のクロックエッジにおいてTS*を肯定しないこ
とに注目することによって検出できる。これはPM_B
G*が主マスタに対して肯定されかつ主マスタが依然と
してPM_BR*を肯定しているが未だTS*を肯定し
ていない場合ではないことに注目すべきである。主マス
タによりそれがPM_BG*を受信した後に、PM_B
R*が肯定された状態に留まっている場合にTS*の肯
定の遅れが生じるのは命令バス要求動作を先取りするオ
ペランドバス動作によって引き起こされる特別の内部状
態による。この場合、主マスタは依然としてPM_BR
*が肯定された状態に留まっている限りバスを使用する
ことを意図している。
【0024】図2は、PM_BG*信号を示している。
このPM_BG*信号は外部アービタによって主マスタ
に与えられ現在のマスタが現在のバスサイクルを終了し
て制御信号によりバスを放棄するや否や、主マスタがバ
スを制御することを示すバス承認信号である。バスを放
棄するための制御信号は以下に説明する。PM_BG*
がアービタによって否定されたとき、主マスタは、バス
サイクルのロックされたシーケンスがBGR*(Bus
Grant Relinquish:バス承認放棄)
が否定された状態で(BGR*信号は後にかつ引き続く
図面においてさらに説明する)進行していない限り、現
在のバスサイクルが完了するや否や制御信号を介してバ
スを放棄する。バスサイクルのロックされたシーケンス
がBGR*が否定された状態で進行している場合、主マ
スタは原子ロックされた(atomic locke
d)バスサイクルのシーケンスを完了しかつ次にそれが
PM_BTT*(転送終了制御信号)を肯定しかつPM
_BB*(図2には示されていないが図1には示されて
いるバスビジー信号)を否定することによりバスを放棄
したことを表示する。一般に、前記PM_BTT*信号
のみがバスサイクルの終了を決定するのに必要とされ、
かつPM_BB*はプロセッサファミリーの互換性のた
めに与えられる。
【0025】前記BGR*信号は図2には示されていな
いが、それは信号BTT*が強調されているからであ
る。BGR*信号はここでは簡単に説明し後に詳細に説
明する。BGR*信号の簡単な説明はここでは図2にお
けるBG*信号の動作をより良く理解するために与えら
れる。BGR*(バス承認放棄制御)信号は主マスタの
プロセッサに対しPM_BG*が否定されたときにバス
の所有権を放棄する必要性の程度を示すPM_BG*の
ためのクォリファイア(qualifier)である。
該BGR*信号はBG*が否定されている場合に原子ロ
ックされたバスシーケンスの間に主マスタがどのように
ふるまうかに影響を与える。BGR*の肯定は主マスタ
に対し、該主マスタが一連のバスサイクルが一緒にロッ
クされることを意図している場合でも、BG*が否定さ
れたときは主マスタによるバスの所有権は現在のバスサ
イクルの最後の転送に応じて放棄されるべきことを表示
する。BG*が否定されている場合にBGR*が否定さ
れると主マスタに対し原子シーケンスの崩壊が生じない
ことを保証するために全シリーズのロックされたバスサ
イクルが終了した後にのみロックされたバス状態(LO
CK*制御信号が肯定された状態[図示せず])の下で
主マスタのバス所有権が放棄されるべきことを表示す
る。
【0026】言い換えれば、BGR*が肯定された場
合、主マスタは、いったんPM_BG*が否定される
と、ロックされたシーケンス、その他にかかわらずでき
るだけ早くバスを離れるべきである。否定されているB
GR*信号はバス終了の緊急性をより少ないものとして
示し、かつ主マスタは最終的に適切な終了時間が生じる
までバス上で転送を続けることができる。
【0027】図2にはPM_BTT*信号が示されてい
る。該PM_BTT*信号は1クロック周期の間肯定さ
れてシステムの他のマスタに対し外部アービタがPM_
BG*をプロセッサに対し否定した後に、主マスタがそ
のバス保有を放棄したことを示す。PM_BTT*信号
はその肯定の後にただちに1クロック周期の間否定され
るよう駆動される。その他の全ての時間においてはPM
_BTT*はトライステート化されている。図2はどの
ようにして主マスタおよび代替マスタが出力ピンをドラ
イブするかを示していることに注目することが重要であ
る。図2における出力ピンのいくつかは一緒に結合して
1つの統合された信号を形成することができる。例え
ば、PM_BTT*は通常AM_BTT*およびシステ
ムの任意の他のBTT*ピンに結合される。主マスタは
それがバスマスタでない時に内部状態を維持しかつそれ
がバスの支配権を引き継ぐことができる時を追跡するた
めに前記PM_BTT*を入力としてサンプルするのみ
である。バスマスタはシステムの全ての他の代替マスタ
に対し主マスタがバスの所有権を終了しつつあることを
示すためにPM_BTT*をドライブする。したがっ
て、プロセッサに対するBTT*信号はしばしば他のマ
スタがバスの所有権をあきらめつつあることを通知する
ための入力であり、あるいはBTT*はプロセッサによ
ってバスのその所有権を終了しつつあることを示すため
の出力として使用することができる。
【0028】この内部状態情報を適切に維持するため
に、バス上の全てのマスタはそれらのTS*信号が一緒
にバスでつながれて主マスタおよび任意の他のバスマス
タが結合されたTS*−BTT*対を追跡できるように
しなければならない。例えば、もしBTT*信号がその
後にTS*信号が肯定されずに発生すれば、バスは現在
の持ち主から解放される。もしBTT*信号がその後に
TS*信号が肯定されて発生すれば、バスは他のマスタ
によって使用中である(すなわち、所有されている)。
したがって、バスの状態を判定するためには前記信号T
S*およびBTT*の双方を監視することが重要であ
る。
【0029】図2のプロトコルにおいては、主マスタは
図1のプロセッサに対して両立性ある信号を提供するた
めにBB*信号(図2には示されていない)を提供する
ことになる。しかしながら、好ましい形態においては、
図2のBTT*信号およびプロトコルが使用されるべき
か、あるいは図1のBB*信号およびプロトコルが使用
されるべきかであり、両方ではない。前記BTT*信号
はバスの競合(contention)が少なくより大
きな柔軟性を提供し、かつしたがってより好ましい。使
用されていない信号、好ましくはBB*、は抵抗によっ
て否定状態に常にプルアップされるべきである。本明細
書に述べられているように、BTT*プロトコルは最大
バス速度および高い動作周波数において前記BB*プロ
トコルよりも高い性能を達成する。
【0030】図2においては、AM_BTT*信号、A
M_BR*信号、およびAM_BG*信号は、それぞ
れ、PM_BTT*,PM_BR*,およびPM_BG
*と同様に機能する。唯一の差は、1つのグループの信
号が主マスタに対して機能し、一方他のグループの信号
が代替マスタに対して機能することである。
【0031】図2において、前記BTT*(バス保有終
了)プロトコルの概念は図1のBB*プロトコルと異な
っている。BTT*プロトコルは常にはバスの使用の表
示を与えず、単にマスタがバスを使用するのを終了した
時間を知らせる(flags)。BTT*信号は全ての
他のマスタがバスを引き継いでも大丈夫であることを検
出する必要がある。したがって、BTT*はマスタがバ
スを使用している全ての時間にトライステート化されか
つ1クロック周期の間肯定され、1クロック周期の間否
定され、かつ次に再び他のバスの終了時点までトライス
テート化される。バスを使用するのを待機しているマス
タは単に前のマスタがバスの使用を終了したことを知る
ためにBTT*の1クロック分の肯定を検出するのみで
良い。BTT*は、図1のBB*信号と異なり、1クロ
ック全体の間同期してハイにドライブすることができ、
もし信号がちょうどトライステート化された場合には生
じ得る長いRC遅延を防止することができる。図2にお
いて、1つのマスタがBTT*を否定状態にドライブし
ていた時とBTT*を肯定し始めている他のマスタに対
しBTT*をトライステート化する時間との間には常に
少なくとも1クロックがあり、したがって図1のBB*
と異なり競合を防止できる。
【0032】一般に、BTT*プロトコルの概念はバス
マスタの内部の非同期の、セルフタイム化された、また
はチックをベースとした論理に頼ることなく、同期バス
構造に対し真のオーバラップしたバス調停が行なわれる
ことを可能にする。BTT*プロトコルは非常に高い周
波数で前記BB*プロトコルが持っている競合の問題を
解決する。
【0033】図3は、図2のBTT*プロトコルを実現
するために使用できるシステムを示す。図3は相互接続
としていくつかの実線(solid lines)を示
している。図3の点線(dashed lines)の
相互接続は図3の各要素の相互接続機構の変形または相
互接続機構への付加を示している。図3は、全てある方
式で相互接続された、主マスタ(primary ma
ster)10、代替マスタ(alternate m
aster)12、およびバスアービタ(bus ar
biter)14を有する。図3は制御バス、データバ
ス、およびアドレスバスを示している。制御バスは任意
の2つまたはそれ以上の制御信号を相互接続し、任意の
2つまたはそれ以上の制御信号を導くことなどが可能で
ある。信号BR*,BGR*,BG*,LOCK*,L
OCKE*は、これらの信号は図3においては制御バス
に接続されたものとして示されていないが、任意選択的
に制御バスに接続することができる。図3においては、
各バスは各々のバスマスタに対する個々の要求/承認線
を使用して中央バスアービタ14により調停される。調
停プロトコル(すなわち、どのプロセッサがバスの所有
権を持つべきか)はバス転送活動と同時に動作すること
ができ、それによってバスの所有権の転送が大きな性能
上の不利益(penalty)なしに行なうことができ
る。
【0034】図3は、バスアービタ/コントローラを備
えたマルチ−マスタシステムにおいてバス調停信号がど
のように導かれるかを示すブロック図の1例を示してい
る。図3は、主マスタのバス要求(PM_BR*)入力
および代替マスタのバス要求(AM_BR*)入力を示
している。BR*信号はバスアービタ14に接続されて
いる。PM_BGR*(バス承認放棄)およびAM_B
GR*(バス承認放棄)はアービタ14に接続されてい
るものとして示されている。PM_BG*(バス承認)
およびAM_BG*(バス承認)はアービタ14に接続
されているものとして示されている。LOCK*および
LOCKE*信号はマスタ10および12によって出力
されかつアービタ14に接続されている。制御信号BT
T*(バス転送終了),TS*(転送開始),およびB
B*(バスビジー)はマスタ10と12との間に接続さ
れかつ制御バスに接続されている。データ線は各マスタ
10および12からデータバスへと接続され、かつアド
レス線は各マスタ10および12からアドレスバスへと
接続されている。R/W*(読取り/書込み),TA*
(転送アクノレッジ),TEA*(転送エラーアクノレ
ッジ),TRA*(転送リトライアクノレッジ),およ
び任意の他のバス制御信号のような、全ての他の制御信
号は図3に示されるように制御バスに接続されている。
TS*はプロセッサがバスマスタでない場合にバスの支
配権についての内部状態を維持するために調べられるこ
とに注意を要する。バス上でバスサイクルを行なうこと
ができる全てのマスタはそれらのTS*信号が好ましい
形式で一緒にバス化され/接続され(bused/co
nnected)なければならない。
【0035】図3は、図3の各要素に対する全てのクロ
ック(単数または複数)を発生するクロック発生回路1
6を示している。単一のあるいは複数のクロックのいず
れを使用しても良い。
【0036】図3のシステム内での調停は現在のバスの
所有権および、それは早く終了しすぎることもあるかも
しれないが、バスサイクル(転送開始[TS*]から最
終転送終了[TA*またはTRA*またはTEA*]ま
で)が分割できない原子エンティティ(atomic
entity)であるという概念に基いている。ここで
用いられている「バス」はデータバス、アドレスバス、
および所有権を割り当てることができる任意の制御信号
の内の1つまたはそれ以上を意味する。もしバスが現在
主マスタ10によって所有されていれば、該バスは主マ
スタがBTT*を肯定した時(あるいは、BB*を否定
した時)最終バスサイクルの完了後にのみ他のマスタ
(すなわち、代替マスタ)によって所有され得る。
【0037】もし前記バスが現在主マスタ10によって
所有されていなければ、主マスタ10はそれがバスを必
要とするやいなやそのBR*信号を肯定する。バスアー
ビタ14からBG*の肯定が受信されかつバス化された
BTT*の1クロック周期の肯定が検出され(あるい
は、BB*の否定が立上りクロックエッジで検出さ
れ)、前のマスタ(例えば、システム内の他のマスタで
も良いが、代替マスタ12)がその保有を終了してバス
を放棄したことを示すやいなやバスの支配が得られる。
BG*が受信された時主マスタ10が依然としてバスを
使用する必要性を有していれば、主マスタ10はバスの
支配権を取り、TS*を肯定しかつバスサイクルを開始
する。内部状態のため、もし主マスタ10がもはやその
特定の時点でバスを使用する必要がなくなった場合、主
マスタ10はそのBR*信号を否定する。主マスタ10
はバスが1つのバスサイクルの間のみ必要であればそれ
がTS*信号を肯定するのと同時にそのBR*信号を否
定する。BR*は主マスタ10によって1つより多くの
バスサイクルが必要であればより長い時間の間保持され
る。
【0038】前記BTT*信号(あるいはBB*)はシ
ステムの全ての代替マスタに接続され主マスタ10によ
るバス保有の終了を通知する。BTT*信号は主マスタ
10によりそれがBG*の否定によりバスへの所有権を
失いかつバスの使用を終了させる用意ができた後に肯定
される。主マスタ10がバスの所有権を失った時に最終
バスサイクルの最終終了アクノレッジメントの後に、主
マスタ10は1クロック周期の間BTT*を肯定し、1
クロック周期の間BTT*を否定し、かつ次にBTT*
をトライステート化する(図2を参照)。もし外部バス
アービタ14が代替マスタ(例えば、代替マスタ12)
に対しその代替マスタへのBG*の肯定によりバスを承
認すれば、その代替マスタは、BTT*プロトコルを使
用して、該代替マスタが主マスタ10からのBTT*の
肯定を検出したすぐ次のクロックエッジでバスサイクル
をスタートすることができる。
【0039】現在のバスがバスサイクルをスタートしつ
つあるのと同時に前のマスタは否定されたBTT*をド
ライブしていても良く、それは現在のマスタは依然とし
てそのBTT*信号がトライステート化されているから
である(図2を参照)。前記代替マスタはそれが保有を
終了するまでこのプロトコルにおいてはBTT*をドラ
イブしないから、全てのマスタのBTT*信号を一緒に
接続することによる衝突はない(すなわち、バスビジー
(BB*)プロトコルに対し図1に示されるような競合
はない)。また、図3のマスタ10および12はあるい
は、BB*調停プロトコルは図1に示されるものとやや
タイミングの相違を有するが、BB*調停プロトコルを
提供することができる。該BB*プロトコルは改善され
たBTT*プロトコルを持たないより古いシステムまた
はプロセッサと容易に両立性をもたせるために提供され
る。
【0040】前記BB*プロトコルを使用するプロセッ
サがバスの使用を終了した時、BB*はある期間の間否
定されてドライブされかつ次にトライステート化されな
ければならない。上に述べた、BTT*プロトコルを使
用することによりBB*プロトコルよりも高速度のバス
環境でより良く動作するが、それはBTT*をドライブ
する(肯定、否定、またはトライステート)方法はクロ
ックと同期させることができるからである。バスアービ
タはBB*プロトコルのシステムからBTT*プロトコ
ルのシステムへと移る場合に変更する必要はなく、それ
はバスアービタはBB*プロトコルのシステムにおける
BB*信号またはBTT*プロトコルシステムにおける
BTT*をサンプルする必要がなく、バスの所有権を決
定するためにBR*,BG*および任意選択的にLOC
K*を使用する必要性があるのみであるからである。い
ずれのマスタもバスの所有権を引き継ぐための適切な時
間を決定するのにBB*またはBTT*およびTS*を
サンプルするのみで良い。
【0041】主マスタ10がそれが全ての必要なバスサ
イクルを終了した後に暗黙的な(implict)バス
の所有権を有する場合には、BTT*はBG*が否定さ
れかつ主マスタ10がバスから追いやられるまでトライ
ステート状態に留まる(あるいは、BB*が肯定された
状態に留まる)。この場合、主マスタがBG*の否定を
検出したすぐ次のクロック期間に主マスタはBTT*を
1クロック期間の間肯定する(あるいは、単一クロック
(CLK)期間の間BB*を否定する)。主マスタ10
がバスを与えられているが決して実際にはTS*を肯定
してそれを使用しない暗黙的なバス所有権の場合には、
主マスタ10はBG*が否定された時BTT*を肯定し
ない(あるいは、BB*を肯定しかつ次にBB*を否定
する)。
【0042】BTT*プロトコルを使用するシステムに
おいては、バスが引き継がれる適切な時間を決定するた
めにBTT*の遷移がマスタによって追跡されなければ
ならない。BG*の否定の前における、間における、お
よび後におけるBTT*の遷移はまたバス承認(BG
*)がマスタとともに固定されておらず、かついずれの
マスタもバスをいくらかの時間の間使用していない場合
にあるマスタによって記録される必要があるかもしれな
い。そのような場合には、いずれかのマスタが前のマス
タがより早くバスの使用を終了したことを示し直ちにバ
スの制御を得ることができることを意味する状態情報を
保つことを要求される。好ましい形態では、主マスタ1
0が内部的にこの情報を維持する。
【0043】RSTI*(外部リセットピン)の否定に
より、かつ肯定されたBG*により開始される、外部リ
セットの後は、主マスタ10は、RSTI*の否定と主
マスタ10がバスサイクルを開始する用意ができている
クロックサイクルとの間の時間の間における他のマスタ
によるTS*の肯定がなければ、バスの支配を引き継ぎ
かつバス活動のスタートを始めるために他のマスタ(す
なわち、代替マスタ)によるBTT*の肯定を待たな
い。もし他のマスタ(すなわち、代替マスタ)がこの合
間にバス活動を開始すれば(TS*が肯定される)、主
マスタ10がバス承認表示(BG*の肯定)を受信する
ことができても、主マスタ10はそれがバスの支配権/
所有権を引き継ぎぐ前に他のマスタによってBTT*が
肯定されるのを待つことになる。
【0044】BG*がアービタ14によって否定された
時、主マスタ10はバスサイクルのロックされたシーケ
ンスが否定されたBGR*とともに進行している場合を
除き現在のバスサイクルが完了するとただちにバスを放
棄する。この場合、主マスタ10は原子ロックされたバ
スサイクルのシーケンスを完了し、アドレスおよび他の
バスサイクルの属性がアイドルになっている時にクロッ
クの間の1クロック周期の間LOCK*を否定ドライブ
し、かつ次のクロック周期で、LOCK*をトライステ
ート化しかつBTT*を肯定することによりバスを放棄
する(図6を参照)。前記BGR*信号はBG*が否定
されている時にバスの所有権を放棄する必要性の程度を
主マスタ10に示すBG*のためのクォリファイア(q
ualifier)である。BGR*は主としてBG*
が否定されている時に原子ロックされたシーケンスの間
に主マスタ10がどのようにふるまうかに影響を与え
る。
【0045】図3の主マスタ10は主マスタ10からバ
スの所有権が除去できるようにしかつ、たとえプロセッ
サがバスサイクルのロックされたシーケンスを示してい
ても、他のバスマスタに対しそれがBG*の否定を検出
すればバスの所有権を承認できる調停プロトコルを有す
る。LOCK*信号は主マスタ10によってプロセッサ
が現在の次のバスサイクルが一緒にロックされる(すな
わち、分離できない)ようにすることを意図しているこ
とを示すが、これは前記BGR*信号のシステムバスの
アービタの制御により強制されるかあるいはオーバライ
ドされるようにすることができる。外部バスアービタ1
4によるBG*の否定とともにBGR*の肯定により、
プロセッサが原子バスサイクルのロックされたシーケン
スを行なっていても現在のバスサイクルが終了するやい
なや該プロセッサがバスを離れるよう強制する。主マス
タ10がロックされたバスサイクルのシーケンスを行な
っている場合にBGR*およびBG*の双方が否定され
れば、主マスタ10は原子ロックされたバスサイクルの
組全体を終了しかつ次に原子ロックされたバスサイクル
のそのユニットの完了時にバスを放棄し、したがって原
子シーケンスの崩壊は生じない。主マスタ10は1組の
バック−バック原子ロックされたバスサイクルを行なっ
ているかも知れず、外部バスアービタ14がその当接
(abutment)を検出してBG*を否定する安全
な時間を決定することはできないことに注意を要する
(図4を参照)。これはBGR*が否定されている場合
に避けられる。BGR*が否定されている場合、主マス
タ10は現在の組の原子ロックされたバスサイクルの最
後のバスサイクルを終了し、かつ次にバスを放棄し、し
たがってそのユニットの原子ロックされたバスサイクル
の妨害を防止するが全てのバック−バック原子ロックさ
れたバスサイクルが行なわれる前にバスを解放する。し
たがって、バスの利用可能性が改善される。
【0046】前記BGR*プロトコルの代わりとして、
主マスタ10はファミリの互換性のためにLOCKE*
信号を保持することができる。主マスタ10は外部アー
ビタがバス上にバック−バックロックされたシーケンス
の間の境界を検出できるようにするためバスサイクルの
ロックされたシーケンスの最後のバスサイクルの間にL
OCKE*信号を使用するプロセッサのファミリの一部
である。前記プロセッサのファミリにおいて1つのプロ
セッサによって使用される外部アービタはロックされた
シーケンスを破壊することなしにBG*を除去しかつ調
停がロックされたシーケンスにおける最後の転送とオー
バラップできるようにするため安全な時間を決定するた
めに前記LOCKE*ステータス信号を使用することが
できる。しかしながら、LOCKE*が肯定されかつB
G*が否定されたロックされたシーケンスの最後のバス
サイクルの間におけるリトライアクノレッジ終了(TR
A*)は前記ロックされたシーケンスの分割またはイン
タラプトを防止するためバスサイクルが終了する前に外
部バスアービタにおける非同期論理がBG*を再肯定す
ることを必要とする。BGR*プロトコルを使用するこ
とによって主マスタ10にそれ自身でバスの所有権を放
棄する適切な時間を決定させることによりこの問題を除
去することができ、かつ外部バスアービタの設計を単純
化することができる。
【0047】ロックされたシーケンスは通常コンペアア
ンドスワップ(compare and swap:C
AS)命令、のような命令、任意選択的にはムーブコン
トロール(move control:MOVEC)命
令、およびテストアンドセット(test and s
et:TAS)命令のような命令に対して必要とされ
る。バスサイクルのロックされたシーケンスに対して
は、主マスタ10はLOCK*ならびに第1のバスサイ
クルのTS*を肯定し、かつ前記TASおよびCAS命
令の実行の間、メモリのテーブルワーク(tablew
alks)における履歴情報の更新時に、そしてバス制
御レジスタにおけるLOCKビットをセットしかつ後に
リセットするMOVEC命令の実行後における最後のバ
スサイクルの最後の転送の最終的な終了アクノレッジメ
ントに続きLOCK*を否定する。アービタ14がLO
CK*およびBGR*に関してどのように設計されてい
るかに応じて、LOCK*およびLOCKE*信号を使
用することはロックされたシーケンスの間にオーバラッ
プされたバス調停を防止する効果を持つことができる。
ロックされたシーケンスの持続期間にわたりLOCK*
を肯定状態に保つことにより、該シーケンスの最後のバ
スサイクルがリトライされかつ依然としてロック状態を
維持するようにすることができる。
【0048】前記プロセッサのファミリにおける他のプ
ロセッサと同様に、主マスタ10は前の使用の後にバス
が依然として所有されているがアイドルである時間の間
に前記アドレスおよび属性ライン上の最後のバスサイク
ルから情報を保持しかつドライブし続ける。しかしなが
ら、前記ファミリの他のプロセッサと異なり、暗黙的な
バスの所有権の場合に、プロセッサ10がバスを承認さ
れているがいまだサイクルを行なっていない場合、該プ
ロセッサは前記アドレスおよび属性ラインをドライブせ
ずかつそれらのラインはバスサイクルが実際に開始され
るまでトライステート化された状態に留まっている。
【0049】前記BGR*信号を使用することは外部バ
スアービタが同期バスシステムにおいて現在のマスタが
一連のバック−バックロックされた転送シーケンスを行
なっている場合にバスの所有権が他のマスタに転送され
るポイントを決定できないという問題を解決する。ロッ
クされた転送の発生は一般的には現在のマスタが前記転
送または転送のシーケンスが原子的(すなわち、分離で
きない)であると考えていることを示すLOCK*信号
により示される。しかしながら、もし現在のマスタがい
くつかのシリーズのこれらの原子的にロックされたシー
ケンスをバック−バックとして有していれば、かつもし
外部アービタがこれらの原子シーケンスの当接(abu
tments)に気が付くことができれば、外部アービ
タが前記マスタからバスの所有権を取り上げかつそれを
前記シーケンスの間の境界でより必要性の高いマスタに
与えることが完全に許容されるであろう。
【0050】前記BGR*信号はこの付加された機能を
可能にする。したがって、前記BGR*信号は現在のバ
スマスタが長いシリーズのバック−バックロックされた
転送を行なっている時間の間に他のバスマスタの窮乏状
態(starvation)を防止するために使用でき
る。図4は、バスクロックの介在なしに2つの引き続く
ロックされたシーケンスを行なう知られた同期バスプロ
トコルの動作を示す。図4から、外部アービタは単一の
ロックされたシーケンス、数多くの転送ロックされたシ
ーケンス、またはバスクロックの介在がない複数のシー
ケンスの間の差を決定できないことがわかる。この独立
のロックされたシーケンスの当接の決定ができないこと
はアービタが他のバスマスタにバスを持たせる必要があ
るが、中断なしにリンクされたロックシーケンスのロッ
クされた性質を保存する必要がある場合に問題である。
【0051】前記ロックされたシーケンスの崩壊がない
ことを保証するために、バスアービタは現在バスを使用
しているマスタに対しBG*(バス承認)を否定する前
にLOCK*の否定を待つことを強制される。LOCK
*はシーケンスの間で否定されないから、現在のマスタ
はバック−バックロックされたシーケンスを行なうこと
により効果的にバスを独占することができる。図4のバ
スプロトコルはロックされたシーケンスにおいて最後の
転送の終了を通してLOCK*が肯定されることを必要
とすることに注目すべきである。前記LOCK*信号は
ロックされたシーケンス内で全ての転送に対し肯定され
た状態に保たれなければならないが、それはスレイブ装
置がいずれのバス転送に対してもリトライを転送する必
要性を通知できるからである。
【0052】上に述べた決定の問題はまた主プロセッサ
10のプロセッサの先行するファミリにおいても存在し
た。先行するファミリのプロセッサに対する考えられた
可能な解決方法はロックされたシーケンスの間に1つま
たは2つのデッドクロックを加えることであったが、こ
れらはロックされたシーケンスを破壊するかあるいは性
能を低下させかつ緊急の要求を有する他のマスタに対す
るバスの潜伏性(latency)を増大するという望
ましくない副作用を有することになることがわかった。
前記決定の問題を解決するために、従前のプロセッサは
ロックされたシーケンスの最後の転送および該転送にと
もなうオーバラップ調停の間にアービタがBG*を前記
マスタに対して否定できるようにするためそれらの設計
に最後にロックされたバスサイクルのステータス表示子
(LOCKE*信号)を加えた。しかしながら、バス処
理のロックされた完全性を保持するために外部バスアー
ビタが非同期的にBG*を再肯定しなければならない場
合がバスサイクルのリトライの間に存在する。
【0053】図5は、この場合を示す。図5において、
バスアービタはそれがLOCKE*が肯定されておりか
つBR*(バス要求)が否定されていることを見た時バ
スサイクル2(BC2)においてBG*を否定すること
に注意を要する。しかしながら、転送リトライはスレイ
ブ装置によって通知される(TRA*が肯定される)。
ロックされたシーケンスの破壊を防止するために、外部
バスアービタは非同期的にBG*を再肯定しなければな
らない。これらはこの問題を解決する外部バスアービタ
の設計を非常に困難にするが、それは前記転送リトライ
信号(TRA*)もまたいまやサンプルされなければな
らないからである。これは非常に高い周波数においては
ほとんど不可能である。
【0054】主マスタ10は上に述べた問題をバス承認
放棄(BGR*)入力を提供することにより(LOCK
E*出力の必要性なしに)内部的に解決し、それによっ
て主マスタ10がバスをあきらめるべき場合に該主マス
タ10がそれ自体で決定できるようにする。図6におい
て、BGR*入力は主マスタ10に対しバスの放棄の必
要性の程度を通知する。もしBGR*が外部アービタが
BG*を否定した時間の間またはその時間の後に(図6
のバスサイクル5(BC5)を参照)肯定されれば、主
マスタ10は現在のサイクルがバスサイクルのロックさ
れたシーケンスの一部であっても現在のバスサイクルの
終りにバスを無条件に放棄することになる。したがって
前記ロックはBGR*信号の状態により破られる。もし
外部バスアービタがBG*を否定した時に(図6のバス
サイクル2および3(BC2/BC3)を参照)BGR
*が否定されれば、主マスタ10は全ロックシーケンス
の首尾良い完了まで待機し、したがってロックされたシ
ーケンスの原子性(atomicity)を保証しかつ
転送リトライ条件(TRA*)に関する上に述べた問題
を防止する。
【0055】図6は、BGR*に関する主マスタ10の
動作を示す。外部アービタ14はバスを代替マスタに承
認し、BGR*が主マスタ10に対し否定される。した
がって、主マスタ10はそれがバスを放棄する前にその
一連のロックされたバスサイクルBC1,BC2,およ
びBC3(バスサイクル1,2および3)を終了する。
バスサイクル5(BC5)において、主マスタ10は再
びロックされたバスサイクルのシーケンスを行なってい
るが、この場合はBGR*は主マスタ10に対し肯定さ
れておりかつBG*は否定されている。したがって、主
マスタ10は現在のバスサイクルの終りにただちにバス
を放棄し、ロックされた転送シーケンスを獲得する。
【0056】本発明が特定の実施例に関して図示されか
つ説明されたが、当業者にはさらに他の修正および改善
が可能であろう。例えば、ここに述べた制御ビットは他
の名称を持つが同じ基本的な機能を果すものとすること
ができる。バス、アドレスバス、データバス、制御信号
バスの大きさ、および他の値は設計に応じて変えること
ができる。任意の数のマスタ、Nマスタ、をバスアービ
タ14に接続することができ、この場合Nは正の整数で
ある。他の形態では、BGR*信号はシステムにおける
他のマスタによる出力として供給することができかつバ
スアービタ14の排他的な出力でないようにすることが
できる。したがって、本発明は示された特定の形式に限
定されるものではなく、かつ添付の特許請求の範囲にお
いて本発明の精神および範囲から離れることのない全て
の修正をカバーすることを考えていることが理解される
べきである。
【0057】
【発明の効果】一般に、前記BGR*プロトコルは外部
バスアービタにおいて必要とされている非同期論理の問
題を総合的に解決する。さらに、BGR*プロトコルは
システムにおける各々のマスタがバスの所有権を決定す
るために2つの異なるバス承認入力の状態をサンプルす
る必要性なしに必要とされる非同期論理の問題を解決す
る。2信号バス承認方法(米国特許第5,127,08
9)はバスマスタの内部の不必要なオーバヘッドおよび
単にバスの所有権を決定するためにシステムにおける各
バスマスタに対しアービタから他の信号を導く不必要な
オーバヘッドを有し、かつ外部バスアービタの設計を複
雑にする。BGR*プロトコルにおいては、各々のバス
マスタに独立に結合された個々のバス承認信号BG*が
バスの所有権を決定するために使用でき、一方バス承認
放棄(BGR*)信号がBG*が否定された時バス承認
(BG*)信号の意義および優先度を修正する。このプ
ロトコル/方法はまたより単純な外部バスアービタの設
計を生み出す。
【0058】要するに、ここに教示されたプロトコルは
いったんBG*が否定されると、マイクロプロセッサに
対しバスの所有権の放棄の緊急性を示すBGR*信号を
提供する。もしBGR*がBG*が否定された時に肯定
されれば、バスコントローラ/アービタ14は主マスタ
10に対し主マスタ10がバスの所有権を、ロックされ
たバスシーケンスにかかわらず、できるだけ早く放棄し
なければならないことを示している。もしBGR*がB
G*が主マスタ10に対し否定された時に否定されれ
ば、主マスタ10はバスを放棄するのに最も適した時間
を決定する。通常、最も適切な時間は、もしバスサイク
ルがロックされていなければ、次のバス転送の後であ
り、あるいは完全なロックされた転送シーケンスの終了
時である。
【0059】ここに教示されたプロトコルはまた他のマ
スタに対し最後にバスの所有権を持ったマスタがそのバ
スの所有権を終了しつつあることを示すBTT*信号を
提供する。BTT*は、ここに述べられているように、
知られたBB*プロトコルのような、他のプロトコルよ
りも優れている。該BTT*信号はバス調停の間におけ
るバスデータの競合を生じ得る連続的に肯定されるBB
*信号と異なり一連の/単一の転送の最終バスサイクル
が完了した時にのみ肯定される。
【図面の簡単な説明】
【図1】バス保有の終了を示すために使用される伝統的
なバスプロトコルを示すタイミング図である。
【図2】本発明に係わるバス保有の終了を示すために使
用されるバスプロトコルを示すタイミング図である。
【図3】図2のバスプロトコルを実現するために使用さ
れるシステムを示すブロック図である。
【図4】バスの所有権の終了が困難でありかつマスタが
バスを独占できる従来のバスプロトコルを示すタイミン
グ図である。
【図5】ロックされたバス転送を適切にリトライするた
めに非同期バス承認(BG*)制御が必要とされる他の
知られたバスプロトコルを示すタイミング図である。
【図6】本発明に係わるバスプロトコルを示すタイミン
グ図である。
【符号の説明】
10 主マスタ 12 代替マスタ 14 バスアービタ 16 クロック発生器

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 バスコントローラによるバス転送を制御
    するためのバスプロトコル方法であって、 バスコントローラからの第1の制御信号を肯定すること
    によりマスタ回路にバスの所有権を承認する段階、 バス転送が開始されるべきことを示す第2の制御信号の
    肯定に応答して前記マスタ回路と前記マスタ回路の外部
    の装置との間でデータを転送する段階、 前記バスコントローラから前記マスタ回路に第3の制御
    信号を送信する段階であって、該第3の制御信号は前記
    マスタ回路に対し前記マスタ回路のバス所有権が前記第
    1の制御信号が肯定解除された時に現在のバスサイクル
    の終了時に放棄されるべきであるか、あるいは前記第1
    の制御信号が肯定解除された時に前記マスタ回路の裁量
    により終了されるべきであることを指示するもの、 前記マスタ回路に対し前記バスの所有権が放棄されるべ
    きことを指示するために前記第1の制御信号を肯定解除
    する段階、そして前記マスタ回路の外部に第4の制御信
    号を肯定することにより前記マスタ回路がそのバスの所
    有権を終了したことを通信する段階であって、前記第4
    の制御信号は前記マスタ回路によって肯定され、前記第
    4の制御信号は前記第3の制御信号および前記第1の制
    御信号の状態によって決定される時間に肯定されるも
    の、 を具備することを特徴とするバスコントローラによるバ
    ス転送を制御するためのバスプロトコル方法。
  2. 【請求項2】 バスを介して第1の回路が第2の回路に
    インタフェースできるようにするためのバスプロトコル
    を有するデータ処理システムであって、 前記バスの所有権が要求されていることを示すために前
    記第1の回路からの出力として第1の制御信号を提供す
    るための回路、 前記第1の回路が前記バスの所有権を承認されるか否か
    を示すために使用される第2の制御信号を前記第1の回
    路への入力として受信するための回路、そして前記第1
    の回路からの出力として第3の制御信号を提供するため
    の回路であって、該第3の制御信号は前記第1の回路が
    前記バスの所有権を放棄する用意ができている場合にの
    み肯定されるもの、 を具備することを特徴とするバスを介して第1の回路が
    第2の回路にインタフェースできるようにするためのバ
    スプロトコルを有するデータ処理システム。
  3. 【請求項3】 バスを介して第1の回路が第2の回路へ
    とインタフェースできるようにするためのバスプロトコ
    ルであって、 前記バスの所有権が要求されていることを示すために前
    記第1の回路からの出力として第1の制御信号を提供す
    るための手段、 前記第1の回路がバスの所有権を承認されるか否かを示
    すために使用される第2の制御信号を前記第1の回路へ
    の入力として受信するための手段、そして前記第1の回
    路への入力として第3の制御信号を受信するための手段
    であって、前記第3の制御信号は前記第1の回路が前記
    第1の回路によって行なわれている現在のバスサイクル
    の終りにバスの所有権を放棄しなければならないことを
    示すために第1の論理状態にセットされ、かつ前記第3
    の制御信号は前記第1の回路が前記第1の回路によって
    決定される都合の良い時間にバスの所有権を放棄すべき
    ことを示すために第2の論理状態にセットされるもの、 を具備することを特徴とするバスを介して第1の回路が
    第2の回路へとインタフェースできるようにするための
    バスプロトコル。
  4. 【請求項4】 バスを介して第1の回路が第2の回路へ
    とインタフェースできるようにするためのバスプロトコ
    ルであって、 前記バスの所有権が要求されていることを示すために前
    記第1の回路からの出力として第1の制御信号を提供す
    るための手段、 前記第1の回路が前記バスの所有権を承認されるか否か
    を示すために使用される第2の制御信号を前記第1の回
    路への入力として受信するための手段、 前記第1の回路への入力として第3の制御信号を受信す
    るための手段であって、該第3の制御信号は前記第1の
    回路が前記第1の回路によって行なわれている現在のバ
    スサイクルの終りにバスの所有権を放棄しなければなら
    ないことを示すために第1の論理状態にセットされ、か
    つ前記第3の制御信号は前記第1の回路が前記第1の回
    路によって決定される都合の良い時間にバスの所有権を
    放棄すべきことを示すために第2の論理状態にセットさ
    れるもの、そして前記第1の回路からの出力として第4
    の制御信号を提供するための手段であって、前記第4の
    制御信号は前記第1の回路が前記バスの所有権を放棄す
    る用意ができている場合にのみ肯定されるもの、 を具備することを特徴とするバスを介して第1の回路が
    第2の回路へとインタフェースできるようにするための
    バスプロトコル。
  5. 【請求項5】 バスを介して第1の回路が第2の回路へ
    とインタフェースできるようにするためのバスプロトコ
    ル方法であって、 前記第1の回路が前記バスの所有権を要求していること
    を示すために前記第1の回路から第1の制御信号出力を
    提供する段階、 前記第1の回路が前記バスの所有権を承認されるか否か
    を示すために使用される第2の制御信号を前記第1の回
    路へと提供する段階、そして前記第1の回路から第3の
    制御信号出力を提供する段階であって、該第3の制御信
    号はバスサイクルの完了後に肯定され、前記バスサイク
    ルは前記第1の回路によって開始されており、前記第3
    の制御信号は前記第1の回路によって前記第1の回路が
    バスの所有権を放棄する用意ができている場合にのみ肯
    定されかつ前記第3の制御信号は前記バスサイクルが行
    なわれている場合にトライステート化されているもの、 を具備することを特徴とするバスを介して第1の回路が
    第2の回路へとインタフェースできるようにするための
    バスプロトコル方法。
JP26457394A 1993-10-05 1994-10-04 バスプロトコルおよび方法 Expired - Lifetime JP3917672B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/133,413 1993-10-05
US08/133,413 US5524215A (en) 1993-10-05 1993-10-05 Bus protocol and method for controlling a data processor

Publications (2)

Publication Number Publication Date
JPH07175752A true JPH07175752A (ja) 1995-07-14
JP3917672B2 JP3917672B2 (ja) 2007-05-23

Family

ID=22458503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26457394A Expired - Lifetime JP3917672B2 (ja) 1993-10-05 1994-10-04 バスプロトコルおよび方法

Country Status (3)

Country Link
US (1) US5524215A (ja)
JP (1) JP3917672B2 (ja)
KR (1) KR100330294B1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586272A (en) * 1993-10-28 1996-12-17 Digital Equipment Corporation Asynchronous data transfers among a plurality of computer devices
US5634138A (en) * 1995-06-07 1997-05-27 Emulex Corporation Burst broadcasting on a peripheral component interconnect bus
US5991819A (en) * 1996-12-03 1999-11-23 Intel Corporation Dual-ported memory controller which maintains cache coherency using a memory line status table
US6073199A (en) * 1997-10-06 2000-06-06 Cisco Technology, Inc. History-based bus arbitration with hidden re-arbitration during wait cycles
US6317801B1 (en) * 1998-07-27 2001-11-13 Intel Corporation System for post-driving and pre-driving bus agents on a terminated data bus
US6249823B1 (en) * 1998-10-30 2001-06-19 Telefonaktiebolaget Lm Ericsson (Publ) System for bus master changeover with a dummy cycle on a data bus
US6976108B2 (en) * 2001-01-31 2005-12-13 Samsung Electronics Co., Ltd. System on a chip having a system bus, an external bus, and a bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities
US7493618B2 (en) * 2003-09-19 2009-02-17 International Business Machines Corporation Fault tolerant mutual exclusion locks for shared memory systems
US7350002B2 (en) * 2004-12-09 2008-03-25 Agere Systems, Inc. Round-robin bus protocol
US20080270658A1 (en) * 2007-04-27 2008-10-30 Matsushita Electric Industrial Co., Ltd. Processor system, bus controlling method, and semiconductor device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4602327A (en) * 1983-07-28 1986-07-22 Motorola, Inc. Bus master capable of relinquishing bus on request and retrying bus cycle
US4789926A (en) * 1985-08-06 1988-12-06 International Business Machines Corporation Digital data processing arbitration system
US5088028A (en) * 1989-04-07 1992-02-11 Tektronix, Inc. Lock converting bus-to-bus interface system
US5127089A (en) * 1989-07-03 1992-06-30 Motorola, Inc. Synchronous bus lock mechanism permitting bus arbiter to change bus master during a plurality of successive locked operand transfer sequences after completion of current sequence
JPH0810445B2 (ja) * 1990-09-21 1996-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的バス調停方法及び装置
US5325535A (en) * 1991-06-21 1994-06-28 Compaq Computer Corp. Lock signal extension and interruption apparatus
JP3466212B2 (ja) * 1991-09-17 2003-11-10 インテル・コーポレーション コンピュータシステム
US5301282A (en) * 1991-10-15 1994-04-05 International Business Machines Corp. Controlling bus allocation using arbitration hold
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
US5398244A (en) * 1993-07-16 1995-03-14 Intel Corporation Method and apparatus for reduced latency in hold bus cycles

Also Published As

Publication number Publication date
KR950012237A (ko) 1995-05-16
US5524215A (en) 1996-06-04
KR100330294B1 (ko) 2002-08-21
JP3917672B2 (ja) 2007-05-23

Similar Documents

Publication Publication Date Title
JP3526920B2 (ja) コンピュータシステム、ならびに周辺バスクロック信号を制御するためのシステムおよび方法
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
JP4010476B2 (ja) 可変優先順位およびフェアネスを使用する、機能強化されたバス・アービタ
US6094700A (en) Serial bus system for sending multiple frames of unique data
US5991833A (en) Computer system with bridge logic that reduces interference to CPU cycles during secondary bus transactions
US5692216A (en) Direct memory access controller having programmable timing
US5611058A (en) System and method for transferring information between multiple buses
US6070215A (en) Computer system with improved transition to low power operation
KR100742718B1 (ko) 컴퓨터 시스템의 제1 및 제2버스사이에 연결된 투명브리지, 이를 포함하는 시스템 및 컴퓨터 시스템의 제1 및 제2 버스의 브리징 방법
CA2026737C (en) Bus master interface circuit with transparent preemption of a data transfer controller
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
JPH0652096A (ja) データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置
US6598104B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
JPH08227392A (ja) 待ち時間及びシャドー・タイマを有するバス・システム
US5949981A (en) Deadlock avoidance in a bridge between a split transaction bus and a single envelope bus
US6304923B1 (en) Method for prioritizing data transfer request by comparing a latency identifier value received from an I/O device with a predetermined range of values
JPH08255124A (ja) データ処理システムおよび方法
US5951667A (en) Method and apparatus for connecting expansion buses to a peripheral component interconnect bus
US4896266A (en) Bus activity sequence controller
JP3917672B2 (ja) バスプロトコルおよび方法
US6266718B1 (en) Apparatus for controlling data transfer operations between a memory and devices having respective latencies
US5930487A (en) PCI bus master with cascaded PCI arbitration
US6026455A (en) Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system
JPH04230563A (ja) データ処理システム
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040406

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050126

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050705

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060912

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070209

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100216

Year of fee payment: 3

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D03

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100216

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140216

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term