JPH0823859B2 - データ処理システム - Google Patents

データ処理システム

Info

Publication number
JPH0823859B2
JPH0823859B2 JP3199906A JP19990691A JPH0823859B2 JP H0823859 B2 JPH0823859 B2 JP H0823859B2 JP 3199906 A JP3199906 A JP 3199906A JP 19990691 A JP19990691 A JP 19990691A JP H0823859 B2 JPH0823859 B2 JP H0823859B2
Authority
JP
Japan
Prior art keywords
bus
signal
master
bus control
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP3199906A
Other languages
English (en)
Other versions
JPH04230563A (ja
Inventor
ジェラルド・ドナルド・ボルト
ステファン・デール・ハンナ
ロバート・エリック・ボゲルスバーグ
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 JPH04230563A publication Critical patent/JPH04230563A/ja
Publication of JPH0823859B2 publication Critical patent/JPH0823859B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、制御マスタ及び制御ス
レーブを使用する複数の装置(デバイス)によってデー
タ処理システムの諸資源(リソース)を制御することに
係り、更に詳細に説明すれば、種々の速度及び能力を有
する複数の装置のネットワークにおいて、任意の制御マ
スタを任意の制御スレーブと協働させることにより、か
かる資源を適切に利用することに係る。特定の用途にお
いては、本発明は、複数のバス・マスタが一のシステム
・バスへのアクセス及び制御を競合していて、一のアー
ビトレーション・コントローラを通してこれを獲得する
場合に、そのバス制御マスタ及びバス制御スレーブを非
同期的に協働させてデータ転送を行わせることに係る。
【0002】通常、電子計算機システムは、そのプロセ
ッサが有効に機能するために入出力装置にアクセスする
ことを必要とする。最も効率的に動作するためには、こ
れらの装置が中央プロセッサと独立に動作することが必
要である。即ち、中央処理ユニットが入出力装置を制御
していた初期の電子計算機システムとは異なり、最近の
電子計算機は、一部の処理機能を入出力装置内に移し
て、中央プロセッサと入出力装置が同時に且つ独立に動
作することができるように設計されている。しかしなが
ら、かかる入出力装置は、必要に応じて、他の装置及び
中央プロセッサと共有された諸資源をアクセスしなけれ
ばならない。例えば、主メモリは、共有資源であること
が多く、システム・バスを介してアクセスされる。この
場合、複数の中央プロセッサが主メモリに格納されたデ
ータを処理し、また幾つかの装置がシステム外からのデ
ータを主メモリに格納している間に、他の装置が主メモ
リからデータを読出して、これをシステム外で使用(例
えば、計算及び処理結果を印字)することがある。
【0003】中央プロセッサの作業との干渉を低減させ
るために、ダイレクト・メモリ・アクセス(DMA)と
呼ばれる技法を使用して、中央プロセッサの介入を必要
とすることなく、装置がメモリの読出し又は書込みを行
えるようにしている。即ち、装置に予め格納されている
データ用のメモリ・アドレスを使用して、メモリを1サ
イクル以上の期間にわたってアドレスしている間、中央
プロセッサ及び他の装置は、このメモリをアクセスする
ことを禁止される。DMAプロセスは、メモリへのアク
セスを必ずしも規則的又は定期的に必要とせず、しかも
アクセスを行う際に中央システムに非同期的に割込むこ
とから、あたかも割込み手順のように動作するものであ
る。このDMAプロセスは、サイクル・スチールとも呼
ばれる。
【0004】全ての装置がシステム・バスを同時にアク
セスすることはできないが、これは別個の信号を識別す
る方法がないという理由による。従って、全ての装置の
要件を満足するように、資源に対するリクエスト相互間
のアービトレーションを行わなければならない。一のバ
ス・マスタがシステム・バスの制御を獲得すると、その
バス制御マスタは一のバス制御スレーブと協動して、メ
モリにおいて関連する機能(例えば、DMA装置からの
メモリへの書込み又は読出し)を実行する。
【0005】従来技術のバス制御マスタ及びバス制御ス
レーブは、制御信号をサンプリングして、これらの制御
信号を、その前縁部及び後縁部の両縁部でローカル・ク
ロックに同期させるようにしている。これは、タイミン
グ・ハザードや偽信号に対する不正な応答を回避すると
いう点で、安全な接近方法である。
【0006】互いに協働するように設計されたバス制御
マスタ及びバス制御スレーブが限られた数だけ設けられ
ているシステムでは、このようなタイミング・ハザード
は、必ずしも問題とならない。これに対し、このような
バス制御マスタ及びバス制御スレーブが広範囲に変化す
る動作パラメータを有するか、又はこのようなバス制御
マスタ及びバス制御スレーブの個数が制限されていない
場合には、タイミング・ハザードが問題を惹起する。
【0007】バス制御スレーブを選択した信号が不活性
となる場合、当該バス制御スレーブは、これに直ちには
応答しないで、非同期的な選択信号がローカル・クロッ
クと一致するまで、即ち2クロック・サイクルが経過す
るまで、その応答を遅延させる。このようにローカル・
クロックに対して同期化させると、当該バス制御スレー
ブは、その内部にあるシーケンシング論理がローカル・
クロックを外部信号と一致させる動作を完了し且つその
初期状態に戻るまで、次の選択信号に応答するのを禁止
されることになる。
【0008】同様に、バス制御マスタは、以前に選択さ
れたバス制御スレーブからの肯定応答信号が不活性とな
るまで、次のバス制御スレーブを選択する信号の活性化
を遅延させる。このようにすると、以前に選択されたバ
ス制御スレーブからの肯定応答信号が、次の選択信号の
肯定応答として誤って解釈されるのを防止することがで
きる。
【0009】
【発明が解決しようとする課題】前述のように、選択信
号及び肯定応答信号の後縁部を同期化させると、単一の
システム・バスに結合されたバス制御マスタとバス制御
スレーブの間の速度差に起因して生じ得る処の、タイミ
ング・ハザードや異常動作を防止することができる。例
えば、高速のバス制御マスタが低速のバス制御スレーブ
をオーバランする場合、他のバス制御スレーブが実際に
選択されたと想定されるときであっても、バス制御マス
タが低速のバス制御スレーブとリンクされたままに留ま
っていることがあり得る。他方、低速のバス制御マスタ
が以前の肯定応答信号の不活性状態を検出する前に、高
速のバス制御スレーブが、非同期的な選択信号に対する
肯定応答信号を活性化する場合には、(同期化された肯
定応答信号の不活性化が、バス制御のインタロックに従
わなければならないという理由で)偽のバス・エラー表
示が生ずることがあり得る。従って、後縁部及び前縁部
の同期化が必要と考えられていた。
【0010】この問題に対する従来技術の解決方法は、
次の米国特許に記述されている。米国特許第38865
24号には、各々が複数のリクエスト間のアービトレー
ションを行う論理回路を有する処の、複数のバス・マス
タの接続法が開示されている。全ての論理回路に共通の
3本の線から成るバスに接続されたバス・マスタ間で、
優先順位が自己決定されるようになっている。バスの制
御を有するバス・マスタが、アクセス・グラント信号を
送出する。これは、制御中のバス・マスタがそのデータ
転送を完了するまで、他のバス・マスタをロック・アウ
トするために使用される。
【0011】米国特許第3997896号には、バス・
マスタ及びバス・スレーブの間でデータを転送するため
に2サイクルを使用し、第1のサイクルがデータ転送を
開始するためのものであり、第2のサイクルが実際にデ
ータを転送するためのものである方式が開示されてい
る。第1対のバス・マスタ及びバス・スレーブの間のデ
ータ転送の開始と実際のデータ転送の間の遅延を排除す
るために、当該第1対の第1及び第2サイクルの間に、
第2対のバス・マスタ及びバス・スレーブが通信を行う
ことができるようにされている。
【0012】米国特許第4084233号には、種々の
装置とデータを送受するようにプロセッサにより制御さ
れた通信チャネルが開示されている。なお、これらの装
置の全ては、タイミング・ハザードや異常動作を防止す
るため、共通のシステム・クロックに基づいて動作する
ように配設されている。
【0013】米国特許第4106104号には、複数の
装置による一のバスへのアクセスを制御するための、共
通の制御ユニットが開示されている。低い優先順位を有
する装置の転送プロセスは、一層高い優先順位を有する
装置がこのバスを使用することができるように、割り込
み可能となっている。また、これらの装置の幾つかのも
のを共通の制御ユニットの両側に接続することができる
ように、これらの装置と共通の制御ユニットとの接続が
工夫されている。
【0014】米国特許第4148011号には、バスへ
のアクセスを競合する複数の装置へビジー信号を結合す
るようにしたシステムが開示されている。制御論理は、
共通のビジー線を有するそれぞれの装置の間に分散され
る。共通のビジー線は、バスを制御中のバス・マスタが
データを転送している間に、他のバス・マスタをホール
ド・オフすることにより、タイミング・ハザードを回避
するようにしている。
【0015】米国特許第4390969号には、リクエ
スト信号及び肯定応答信号を互いにオーバラップさせな
いように、リターン・ツー・ゼロ方式とも呼ばれる4サ
イクル信号を使用した非同期式データ転送システムが開
示されている。安定性を保証し且つタイミング・ハザー
ドを回避するために、これらの信号の縁部は、回路状態
を安定化させる時間を与える処の、一定の持続時間を持
つパルスを発生する。この従来技術とは対照的に、本発
明では、一定の持続時間を持つパルスによりもたらされ
る遅延のない、ノン・リターン・ツー・ゼロ方式とも呼
ばれる2サイクルを使用している。
【0016】米国特許第4660169号には、バス肯
定応答(グラント)信号が受信される場合に、同期上の
遅延を生ぜしめることなく、一のバス・マスタがバスの
制御を獲得することができるようにした非同期式デイジ
ー・チェーン構成が開示されている。このバス・マスタ
は、当該バス・マスタがバスに対するその必要性を決定
する場合のバス・グラント信号の安定性を保証するた
め、ローカルのバス・リクエスト信号が発行される前の
短い期間にわたって、複数の同期ラッチのセッティング
を遅延させてデイジー・チェーン中の次のバス・マスタ
へ当該バス・グラント信号が転送されるのを防止するよ
うに、当該複数の同期ラッチのセッティングを禁止す
る。もしこのバス・マスタがバスの制御を必要とすれ
ば、当該バス・マスタは、バスの制御を獲得することを
完了し且つ当該バス・マスタが制御を獲得したことをバ
ス・アービタへ通知するのに十分な期間の間、同期ラッ
チのセッティングを継続的に遅延させるようにしてい
る。これに対し、本発明は、かかるラッチのセッティン
グにおける遅延を排除するとともに、バス・マスタの数
が或る限度を超えるときに生ずるようなタイミング上の
問題をも排除するようにしているのである。
【0017】米国特許第4779089号には、複数の
非同期式バス・マスタを有するが、バス・マスタの動作
が非同期のときは同期信号を使用してバスを制御するこ
とにより、前述のタイミング・ハザードを回避するよう
にしたシステムが開示されている。
【0018】米国特許第4803481号には、マスタ
・ユニットとスレーブ・ユニットの間にコール線を設
け、マスタ線及びスレーブ線の論理レベルが同じレベル
にあるときはマスタ・ユニットが通信を行い、これらの
論理レベルが異なるときはスレーブ・ユニットが通信を
行うようにした方式が開示されている。かかる直接通信
の要件は、単一のシステムで使用することができるバス
・マスタ及びバス・スレーブの種類を制限するのみなら
ず、タイミング・ハザードを回避する必要性をも排除す
るものである。
【0019】米国特許第4817037号には、スレー
ブ・マスタが、指定されたバス・マスタに対し、一時的
な通信のために新しいバス・マスタを指定すべきである
ことを指示可能にするプロトコルを使用して、複数のバ
ス・サイクル動作をオーバラップさせるようにしたシス
テムが開示されている。異なる一のバス・マスタとの通
信は、指定されたバス・マスタとの通信の間に行われ
る。これらの動作は、通信プロセスのために使用される
諸信号を同期させる信号により制御される。
【0020】米国特許第4821170号には、少なく
とも2つのシステム・バスを有する複数のホスト・プロ
セッサが開示されている。DMA装置は、バス・アービ
トレーションを制御するとともに、専用マイクロ・プロ
セッサと高速バスとの間でデータを交換するためのリク
エストに応答して、交互的なバス・クロック・サイクル
を割り当てるように作用する。実際には、これらのバス
・クロック・サイクルは、同期動作を与える。
【0021】米国特許第4847750号には、DMA
装置のアドレスを順次に格納するための二重ポートを持
つフレーム・マップ・メモリを使用したデータ獲得法が
開示されている。データは、非順次アドレスを有する種
々の周辺装置から計算機の順次ロケーションへ、またそ
の逆に迅速に転送される。この構成では、システムを使
用する装置の数及び速度の範囲が制限される。
【0022】更に、米国特許第4887262号には、
アービトレーション・フィールド及びデータ・フィール
ドから成るメッセージを使用する非同期式バス・マスタ
が開示されている。しかしながら、これは、その動作が
全体として非同期とはならないように、複数のバス・マ
スタの動作を同期化することに依存するものである。
【0023】
【課題を解決するための手段】本発明のシステムは、バ
ス制御マスタ及びバス制御スレーブの各々のクロックが
互いに独立していて、広範囲の速度で走行するという点
で、全体として非同期となるように設計されている。バ
ス制御マスタ及びバス制御スレーブの数は、制限されな
い。
【0024】本発明によれば、バス制御マスタはバス制
御スレーブを選択して、このバス制御スレーブにより制
御されるシステム・バスをアクセスする。このバス制御
スレーブは、選択信号に応答して、このシステム・バス
へのアクセスを許容するとともに、このシステム・バス
が利用中であることを指示する肯定応答信号を供給す
る。この肯定応答信号はこのシステム・バスの利用が完
了すると直ちに終了するが、バス制御マスタは、それが
安定状態となり且つ前記選択信号を終了させるまで、こ
の肯定応答信号を維持する。バス制御スレーブは、それ
が初期状態となるまで、この選択信号を維持する。
【0025】これらのバス制御マスタ及びバス制御スレ
ーブは互いに非同期に動作するが、それらが安定状態と
なるまで、前記選択信号及び肯定応答信号を維持するこ
とにより、偽信号に対する応答を防止する。
【0026】システムの停止(ハングアップ)を防止す
るために、バス制御マスタは、もし肯定応答信号が受信
されなければ、所定時間後に前記選択信号を終了させ
る。更に、バス制御マスタは、2つ以上のバス制御スレ
ーブが選択される可能性がある場合(例えば、前記選択
信号にパリティ・エラーが存在する場合)には、前記選
択信号を禁止する。
【0027】
【実施例】以下、複数のバス・マスタの1つがシステム
・バスへのアクセスを獲得し且つこれを制御することに
関連して、本発明の実施例を説明する。図1において、
一のバス・マスタは、バス・マスタ・コントローラ10
1と、バス制御マスタ103と、バス制御スレーブ10
5から構成されるものとして図示されている。他のバス
・マスタを構成する2つのバス・マスタ・コントローラ
107及び109も略示されているが、これらに関連す
るバス制御マスタとバス制御スレーブは図示されていな
い。一のバス・リクエスト信号は、直列的に配置したO
Rゲート110〜112を使用して、各バス・マスタ・
コントローラからのリクエスト信号REQを論理和する
ことにより発生される。OR機能の直列的な結合は、既
存の回路を変更する必要なしに、システム中にバス・マ
スタを追加することを容易にする。
【0028】一のバス・グラント信号は、当該デイジー
・チェーンを構成する最初のバス・マスタ・コントロー
ラ101のACK入力端子に結合される。その後、各バ
ス・マスタ・コントローラのPASS出力端子が、次の
バス・マスタ・コントローラのACK入力端子に結合さ
れる。
【0029】一のDMA装置がシステム・バスに対する
アクセスを必要とする場合、バス制御マスタ103は、
バス・マスタ・コントローラ101に対し、リクエスト
信号MRQを供給する。バス・マスタ・コントローラ1
01がシステム・バスを獲得する場合、バス・マスタ・
コントローラ101は、バス制御マスタ103に適当な
制御グランテッド信号を送出する。この制御グランテッ
ド信号は、バス・マスタ・コントローラ101中のロー
カル・クロックに同期され、当該ローカル・クロックを
関連するバス・マスタ・コントローラ101と共有する
バス制御マスタ103に供給される。この同期化された
バス・グラント信号は、他の図においてBG*と表記さ
れており、遠隔の資源からのバス・グラント信号が不活
性となった後に、ローカル・クロック信号により不活性
にされる。
【0030】前述の説明は、バス・アクセスのためのデ
イジー・チェーン式アービタに関するものであるが、シ
ステム・バスの実際の制御に係る以下の説明は、特定の
種類のアクセス・リクエスト・アービタに限定されるも
のではなく、形式の如何に関わらずシステム資源のアー
ビトレーションにも同様に適用可能である。
【0031】バス制御マスタ103及びバス制御スレー
ブ105の詳細については、データを書込むか又はデー
タを読出すために一のDMA装置がメモリをアクセスす
る動作に関連して、これを説明する。
【0032】図2において、バス制御マスタ103は、
DMA装置201をシステム・バス205に結合する。
バス制御スレーブ105は、システム・バス205をメ
モリ207に結合する。通常のシステムでは、多数のバ
ス・マスタ及び多数のシステム資源が存在するが、図2
には1つのバス制御マスタ103及び1つのバス制御ス
レーブ105だけが示してある。
【0033】通常、DMA装置201は、メモリ・アド
レス信号及びアドレスされたロケーションに書込むべき
データ信号を供給する。読出し動作の場合は、メモリ・
アドレス信号が供給され、そしてメモリ207から検索
されたデータ信号がDMA装置201によりラッチされ
る。
【0034】制御グランテッド信号を受信した場合、バ
ス制御マスタ103は、先ず適切なバス制御スレーブ
(この場合はメモリ207のためのバス制御スレーブ1
05)を選択するとともに、DMA装置201からのメ
モリ・アドレス信号をシステム・バス205に置く。バ
ス制御スレーブ105を選択するため、バス制御マスタ
103は、固有のスレーブ・アドレス(装置アドレス)
信号をシステム・バス205に与え且つ当該スレーブ・
アドレス信号が活性であることを指示する信号を供給す
る。システム・バス205に結合されたバス制御スレー
ブ105は、デコーダ211を有している。バス制御ス
レーブ105がその固有のスレーブ・アドレス信号及び
スレーブ・アドレスが活性であることを指示する信号を
受信する場合、デコーダ211は、転送選択信号XSE
Lをバス制御スレーブ105の内部にある状態マシン
(後述)に供給する。
【0035】このXSEL信号は、DMA装置201か
らシステム・バス205上に置かれたメモリ・アドレス
信号が有効であることを指示する。もし一の書込み動作
がDMA装置201により行われているのであれば、D
MA装置201からシステム・バス205上に置かれた
書込みデータ信号も有効である。
【0036】バス制御スレーブ105が、バス制御マス
タ103からのXSEL信号をバス制御スレーブ105
のローカル・クロックに同期させた場合、バス制御スレ
ーブ105はその割り当てられた機能、通常はメモリ2
07における読出し又は書込み動作を実行する。その機
能を完了した場合、バス制御スレーブ105は、転送肯
定応答信号XACKをバス制御マスタ103に返送す
る。このXACK信号を受信する場合、バス制御マスタ
103は、(読出し動作が進行中であれば)システム・
バス205からのデータ信号をラッチする。
【0037】書込み動作中、バス制御スレーブ105
は、システム・バス205からのメモリ・アドレス信号
をメモリ207のアドレス入力端子に結合し、メモリ書
込み信号を活性化し、更にシステム・バス205からの
データ信号をメモリ207のデータ端子に結合する。こ
のデータ信号がメモリ207に転送されたか、又は後の
転送のためにバス制御スレーブ105内でラッチされた
場合、バス制御スレーブ105は、XACK信号を供給
する。前記メモリ・アドレス信号及びデータ信号は、バ
ス制御マスタ103によりDMA装置201からシステ
ム・バス205に結合されるものである。
【0038】読出し動作中、バス制御スレーブ105
は、DMA装置201によりシステム・バス205上に
供給され且つバス制御スレーブ105によりメモリ20
7に結合されたメモリ・アドレス信号によりアドレスさ
れたロケーションにおいて、メモリ207からデータ信
号を検索する。XACK信号は、検索済みのデータ信号
が利用可能であることをバス制御マスタ103に指示す
るものである。この場合、バス制御マスタ103は、シ
ステム・バス205からデータ信号をラッチするか、又
はDMA装置201にこのデータ信号をラッチさせるよ
うに作用する。
【0039】以上のサイクルが完了した後、バス制御マ
スタ103は、次のアドレスに書込むべき他のデータ信
号、即ち1メモリ・ワードのサイズに等しい1組のビッ
トを送出する。なお、前記メモリ・アドレスは、DMA
装置201又はバス制御マスタ103によりインクリメ
ントされるものである。追加的なアービトレーションな
しに連続サイクルを使用することは、バースティングと
呼ばれる。高速のバッフを備えたDMA装置は、通常は
数サイクルのバーストのためにメモリ207をアクセス
して、連続サイクルの間に数個のデータ・ワードの書込
み又は読出しを行う。低速のDMA装置は、通常は1サ
イクルの間にメモリ207をアクセスして、単一ワード
の読出し又は書込みを行う。
【0040】図3には、バス制御スレーブ105を制御
する状態マシンが図式的に示されている。当業者であれ
ば、この図面の内容から、バス制御スレーブ105を構
成することができる筈である。バス制御スレーブ105
の状態マシンで使用される信号は、次の通りである。
【0041】ADRPAR:アドレス信号のパリティが
正しい(ADRPAR′はアドレス信号のパリティ・エ
ラーを表す。)。 BG*:同期化されたバス・グラント信号(この信号の
ソースについては、例えば関連出願の特願平3ー219
409号を参照)。 DATPAR:データのパリティが正しい。 RDOP:読出し動作が実行されている。 WROP:書込み動作が実行されている。 XSEL:活性(活動的)なバス制御マスタ103から
の選択信号であって、これは復号済みのスレーブ・アド
レス及び「スレーブ・アドレス活性」信号により生成さ
れた出力信号である。 XSEL*:バス制御スレーブ105のローカル・クロ
ックに同期された選択信号。
【0042】最後のXSEL*信号は、図4に示されて
いる回路により同期化される。この回路において、XS
EL信号は、デコーダ211から受信されて、インバー
タ403及びANDゲート405に印加される。XSE
L信号が存在しない場合、フリップフロップ401は、
他のフリップフロップ407からのリセット出力信号に
よりリセットされる。XSEL信号がANDゲート40
5に印加される場合、フリップフロップ407のD入力
が付勢され、そしてこのフリップフロップ407は、次
のローカル・クロック信号CLKによりセットされる。
(このCLK信号は、バス制御スレーブ105内でだけ
使用され、システム内の他の全てのクロックとは独立し
ている。)フリップフロップ407をセットすると、X
SEL*信号が発生される。
【0043】図3に示すように、最初の状態は、アイド
ル状態に相当するA状態である。状態マシンは、XSE
L*信号が不活性であるか、又はアドレス・パリティ・
チェック信号が有効でない(ADRPAR′)限り、A
状態に留まる。後者の条件は、アドレス信号がパリティ
・エラーを有する場合、即ちバス制御スレーブ105が
実際に選択されていないか、又はパリティ・エラーのた
めに2つ以上のバス制御スレーブが選択され得る場合に
は、バス制御スレーブ105の状態マシンがA状態から
移行することを禁止する。
【0044】XSEL信号が受信された後の最初のロー
カル・クロック信号により、XSEL*信号が発生さ
れ、またアドレス信号が正しい(ADRPAR)、即ち
パリティ・エラーが存在しない場合、状態マシンはI状
態に移行する。このI状態は、3つの過渡状態の1つへ
の移行を制御する中間状態である。
【0045】もし読出し動作が実行されていて、RDO
P信号が活性であれば、状態マシンは、I状態からR状
態に移行する。このR状態は、読出しデータをシステム
・バス205にゲートした後に、直ちにB状態に移行す
るものである。
【0046】もし書込み動作が実行されているのであれ
ば、状態マシンは、メモリ207へ書込むべきシステム
・バス205からのデータ信号が有効(DATPAR)
であるとき、即ちパリティ・エラーを持たないときに、
W状態に移行する。システム・バス205上のデータ信
号がラッチされた後、状態マシンは直ちにB状態に移行
する。
【0047】もし書込み動作が実行されていて、しかも
システム・バス205上のデータが有効でない(DAT
PAR′)のであれば、状態マシンはE状態に移行す
る。このE状態では、システム・バス205からのデー
タはラッチされないが、データ・パリティ・エラー信号
が発生される。このエラー信号は、必要に応じて診断又
は回復手順を開始させるために、システムが使用するこ
とができる。また、このエラー信号は、活性なバス制御
マスタ103にも供給される。状態マシンは、E状態か
ら直ちにB状態に移行する。
【0048】B状態において、状態マシンは、活性なバ
ス制御マスタ103に供給すべきXACK信号を発生す
る。図8には、前述した諸信号の関係が示されている。
図8の(C)は、システム・バス205上の読出しデー
タ信号を示す。その斜線部分は、システム・バス205
上のデータ信号が有効でないことを指示する。一方、図
8の(E)は、システム・バス205上の読出しデータ
が有効であることを指示するために、B状態で発生され
るXACK信号を示している。
【0049】書込み動作中、XACK信号は、バス制御
マスタ103に対し、書込みデータがシステム・バス2
05からラッチされたことを指示する。データ・エラー
信号は、当該動作が成功しなかったことを指示する。
【0050】バス制御スレーブ105がその動作を完了
した場合、XACK信号が不活性にされる。この場合、
バス制御スレーブ105の状態マシンはB状態に留まる
が、XSEL*信号は活性である。XSEL*信号は、
XSEL信号が不活性にされた後の最初のローカル・ク
ロック信号の時点まで、活性のままに留まる。これは図
4に示されている。XSEL信号が不活性にされる場
合、インバータ403からの出力信号がフリップフロッ
プ401をセットし、かくて当該フリップフロップがA
NDゲート405を禁止する。次のCLK信号が生ずる
場合、フリップフロップ407がリセットされて、XS
EL*信号を終了させる。フリップフロップ401は、
次のCLK信号の前に生ずるような他のXSEL信号
が、XSEL*信号を活性に維持するのを阻止する。図
4の回路は、同じバス制御スレーブ105が他のXSE
L信号に応答し得る前に、図3の状態マシンがA状態に
戻ることを保証する。
【0051】図5には、バス制御マスタ103の状態マ
シンが示されている。その動作はD状態で開始する。な
お、このD状態には、前掲の特願平3ー219409号
に開示されているアービトレーション論理のC状態から
移行するものである。もしXACK*信号が活性であれ
ば、バス制御マスタ103の状態マシンは、D状態に留
まる。バス制御スレーブ105からのXACK信号は、
バス制御スレーブ105が以前のサイクルから依然とし
て活性状態にあることを指示する。
【0052】XACK*信号は、バス制御マスタ103
のローカル・クロックと同期されたXACKである。こ
のローカル・クロックは、他のローカル・クロックと同
様、他の全てのクロックとは独立していて、バス制御マ
スタ103内でだけ使用される。図7の回路は、バス制
御スレーブ105から供給されるXACK信号から、X
ACK*信号を発生するものである。
【0053】バス制御スレーブ105からのXACK信
号は、読出しデータがシステム・バス205上で有効で
あるか、又は書込みデータがシステム・バス205から
ラッチされたことを指示する。バス制御マスタ103で
は、このXACK信号がインバータ703及びANDゲ
ート711に印加される。図7の回路は、フリップフロ
ップ709のセット及びリセット信号がバス制御マスタ
103の状態マシンの幾つかの状態の間にのみゲートさ
れることを除くと、図4の回路と同様に動作する。フリ
ップフロップ709がセットされるのは、状態マシンが
D状態にあり且つフリップフロップ715がセットされ
ている場合である。この場合において、XACK信号が
受信されると、ANDゲート711が活性化され、かく
て次のCLK信号がフリップフロップ715をセットし
て、XACK*信号を発生する。
【0054】XACK信号が不活性にされる場合、バス
制御マスタ103の状態マシンがD状態、F状態又はG
状態にあれば、ANDゲート707を通してフリップフ
ロップ709がリセットされる。これはANDゲート7
11を禁止するから、次のCLK信号はフリップフロッ
プ715をリセットして、XACK*信号を遮断させ
る。バス制御マスタ103の状態マシンに関する以下の
説明から明らかなように、XACK*信号のホールド・
オフは、バス制御マスタ103の状態マシンが安定状態
に戻ることを許容するとともに、この状態マシンが以前
のサイクルからのXACK信号に応答することを阻止す
る。
【0055】図5の状態マシンでは、バス・マスタがバ
ースト・モードで動作しようとするのであれば、即ちバ
ス・マスタが2サイクル以上にわたってシステム・バス
205を制御して幾つかのデータ信号を転送しようとす
るのであれば、LOCK信号がオンに転ぜられる。ま
た、このバースト・モードは、ADRINC信号をセッ
トして、D状態が開始されるときに、データ信号用のア
ドレスをインクリメントさせる。もし当該動作が書込み
機能であれば、WROP信号がPARACT信号を活性
化する。これらの信号はバス制御マスタ103の適正な
動作に対しては補助的なものであって、本発明の一部を
形成するものではない。
【0056】XACK*信号がバースト・モードの間に
不活性にされる場合(単一サイクル動作については、こ
のXACK*信号は既に不活性にされているか、又は全
く活性化されてない)、バス制御マスタ103の状態マ
シンは、待機状態であるE状態に移行する。状態マシン
は、XACK*信号もTMOUT信号も活性でない限
り、E状態に留まる。TMOUT信号は、バス制御マス
タ103がXSEL信号を発生した後の所定期間中にX
ACK信号が受信されないときに、活性化される信号で
ある。これは、XACK信号が受信されないときの(例
えば、アドレス・パリティが正しくないか、バス制御ス
レーブ105が選択されなかったか、又は選択されたバ
ス制御スレーブ105が誤動作しているときの)ロック
・アップを防止する。
【0057】XACK*信号が活性化される場合、TM
OUT信号が活性化されず且つエラーが存在しなければ
(即ち、NOERR信号が活性であれば)、状態マシン
はF状態に移行する。F状態は作動状態であって、ここ
で読出し動作が実行されている場合は、読出しデータが
システム・バス205からラッチされる。
【0058】図6には、XSEL信号を発生する回路が
示されている。もしXACK信号が活性でなければ(正
常状態)、インバータ601は活性な出力信号を供給し
て、ANDゲート603を付勢する。ANDゲート60
3は、バス制御マスタ103の状態マシンがD状態にあ
るとき、フリップフロップ609をセットするように付
勢される。フリップフロップ609がセットされ、そし
てバス制御マスタ103の状態マシンがD状態、E状態
又はH状態にあれば、ANDゲート611がORゲート
607を介して付勢されて、XSEL信号を供給する。
【0059】図8の(A)に示すように、XSEL信号
は、システム・バス205上のメモリ・アドレス信号が
有効であることを指示する。また、書込み動作の場合
は、図8の(D)に示すような書込みデータ信号も有効
である。(既述のように、斜線部分は、データ信号が有
効でないことを指示する。)XACK*信号の不活性化
及びLOCK信号の不在は、バス制御マスタ103の状
態マシンを、前掲の特願平3ー219409号に示した
アービトレーション論理の初期状態であるA状態に移行
させる。
【0060】もしLOCK信号がF状態において活性で
あれば、読出し動作が実行されているときは、状態マシ
ンはD状態に移行し、かくてバス制御マスタ103はア
ービトレーション・プロセスを介することなく次のサイ
クルをとる。もし書込み動作が実行されているのであれ
ば、状態マシンは、過渡的なG状態を介してD状態に移
行する。G状態では、システム・バス205に供給する
のに備えて、書込みデータ信号が先取り(事前取出し)
される。もしADRINC信号が活性であれば、書込み
データ信号用のアドレスがインクリメントされる。
【0061】前述のプロセスは、LOCK信号が活性の
ときに反復される。このLOCK信号は、他のアービト
レーションを禁止するため、外部にある遠隔の資源に供
給される。
【0062】E状態においてXACK*信号が活性であ
る場合は、TMOUT(タイムアウト)信号又はエラー
(ERR)信号が、状態マシンをE状態からH状態に移
行させる。ここで、ERR信号は、バス制御スレーブ1
05からのアドレス・パリティ・エラー信号であるか、
又は書込み動作中にバス制御スレーブ105から供給さ
れるデータ・パリティ・エラー信号である。アドレス・
パリティ・エラー信号は、2つ以上のバス制御スレーブ
が応答したこと、即ちXACK*信号が2つ以上のバス
制御スレーブから受信されたことを意味する場合があ
る。
【0063】もしXACK信号、TMOUT信号及びL
OCK信号の全てが活性であれば、D状態からH状態に
移行することができる。このH状態は、次のサイクルの
アービトレーションが行われるように、LOCK信号を
不活性にする。BG*信号が活性のままに留まる間、バ
ス制御マスタ103の状態マシンは、H状態に留まる。
一方、BG*信号が不活性にされる場合は、バス制御マ
スタ103の状態マシンはF状態に移行し、さらにLO
CK′信号が活性であるため、A状態に移行する。
【0064】図6は、D状態、E状態及びH状態の間
に、XSEL信号が活性のままに留まることを示してい
る。しかし、これは、F状態で遮断される。このこと
は、バス制御スレーブ105に対し、当該動作が完了し
たこと、そしてXACK信号を不活性化すべきことを指
示する。この結果、バス制御マスタ103及びバス制御
スレーブ105がそれらの動作を完了した直後に、シス
テム・バス205を解放することができる。また、XA
CK信号が不活性にされるまで、フリップフロップ60
9のセッティングを延期させることができる。かくて、
バス制御スレーブ105の動作が完了したことを以前の
サイクルからのXACK信号が通知するまでに、バース
ト・モードにおける次のサイクルがXSEL信号を活性
化するのを阻止することができる。
【0065】
【発明の効果】以上説明したように、本発明によれば、
複数のバス制御マスタ及び複数のバス制御スレーブを非
同期式に動作させることが可能になり、また制御信号の
後縁部をローカル・クロック信号に同期させることなし
に、システム・バスを早期に解放することができ、さら
には種々の速度を有する複数のバス制御マスタ及び複数
のバス制御スレーブを同じシステム・バスについて動作
させることができる。
【図面の簡単な説明】
【図1】デイジー・チェーン式資源獲得システムを示す
ブロック図である。
【図2】代表的なバス制御マスタ及びバス制御スレーブ
を示すブロック図である。
【図3】バス制御スレーブの諸機能を順序づけるための
状態マシンの状態図である。
【図4】バス制御スレーブ用の非同期式ロックアウト回
路の論理図である。
【図5】バス制御マスタの諸機能を順序づけるための状
態マシンの状態図である。
【図6】バス制御マスタ用の非同期式XSEL回路の論
理図である。
【図7】バス制御マスタ用の非同期式ロックアウト回路
の論理図である。
【図8】システムの動作中に生ずる幾つかの信号間の関
係を示すグラフである。
【符号の説明】
101、107、109 バス・マスタ・コントローラ 103 バス制御マスタ 105 バス制御スレーブ 201 DMA装置 205 システム・バス 207 メモリ 211 デコーダ 401、407、709、715 フリップフロップ 405、711 ANDゲート 703 インバータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ステファン・デール・ハンナ アメリカ合衆国 アリゾナ州 タクソン エイピーティ−#17101 ノース キャニ オン クレスト ドライブ 6655 (72)発明者 ロバート・エリック・ボゲルスバーグ アメリカ合衆国 コロラド州 ボウルダー ベアー マウンテン ドライブ 1345エ ー (56)参考文献 特開 昭61−110253(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】(1)データを格納するメモリ手段と、 (2)データを供給及び利用するための複数のデータ資
    源手段と、 (3)前記メモリ手段と前記データ資源手段との間でデ
    ータを転送するためのシステム・バス手段と、 (4)前記データ資源手段による前記システム・バス手
    段へのアクセスを制御するための複数のバス・マスタ・
    コントローラ手段とを備え、 前記バス・マスタ・コントローラ手段の各々が、 (4a)当該バス・マスタ・コントローラ手段の内部で
    のみ使用されるローカル・タイミング信号を供給するた
    めのローカル・クロック手段、 (4b)一の前記データ資源手段を前記システム・バス
    手段へ結合するためのバス制御マスタ手段、 (4c)前記バス制御マスタ手段に応答して、前記シス
    テム・バス手段へのアクセスが必要であることを指示す
    る制御要求信号を供給するためのバス要求手段、 (4d)前記システム・バス手段へのアクセスが認容さ
    れたことを表すバス・グラント信号を受け取るための選
    択手段、 (4e)前記バス要求手段及び前記選択手段に応答し
    て、当該バス・マスタ・コントローラ手段が前記ローカ
    ル・タイミング信号によってゲートされるような前記制
    御要求信号を供給しなかった場合は、前記バス・グラン
    ト信号を出力するためのパッシング手段、 (4f)前記ローカル・クロック手段とは異なる独立の
    クロック手段を有し、前記バス制御マスタ手段に応答し
    て、前記システム・バス手段を前記メモリ手段へ結合す
    るとともに、当該バス・マスタ・コントローラ手段が前
    記制御要求信号を供給した場合は、前記バス・グラント
    信号に応答して前記システム・バス手段を制御するため
    のバス制御スレーブ手段を含み、 (5)任意の前記バス要求手段からの制御要求信号を転
    送する単一のバスへ、前記バス要求手段の各々をそれぞ
    れ結合するための手段と、 (6)各バス・マスタ・コントローラ手段の前記パッシ
    ング手段を次のバス・マスタ・コントローラ手段の前記
    選択手段へそれぞれ結合するとともに、前記バス・グラ
    ント信号を受け取るように最初の前記バス・マスタ・コ
    ントローラ手段の前記選択手段を結合するための手段
    と、 (7)前記バス制御スレーブ手段に設けられ、一のデー
    タ転送が完了したことを指示する完了信号を供給するた
    めの信号手段と、 (8)前記バス制御マスタ手段に設けられ、前記ローカ
    ル・クロック手段及び前記完了信号に応答して、当該バ
    ス制御マスタ手段が所定の状態に達するまで、前記シス
    テム・バスの制御の維持を指示する継続信号を活性化す
    るための終了手段と、 を備えたことを特徴とするデータ処理システム。
JP3199906A 1990-09-28 1991-07-16 データ処理システム Expired - Lifetime JPH0823859B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59011890A 1990-09-28 1990-09-28
US590118 1990-09-28

Publications (2)

Publication Number Publication Date
JPH04230563A JPH04230563A (ja) 1992-08-19
JPH0823859B2 true JPH0823859B2 (ja) 1996-03-06

Family

ID=24360947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3199906A Expired - Lifetime JPH0823859B2 (ja) 1990-09-28 1991-07-16 データ処理システム

Country Status (2)

Country Link
US (1) US5377334A (ja)
JP (1) JPH0823859B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994010632A1 (de) * 1992-11-04 1994-05-11 Siemens Aktiengesellschaft Anordnung mit mehreren aktiven und passiven busteilnehmern
US5559453A (en) * 1995-09-28 1996-09-24 International Business Machines Corporation Interlocked restore circuit
US6301553B1 (en) 1996-05-31 2001-10-09 Luc M. Burgun Method and apparatus for removing timing hazards in a circuit design
US5801955A (en) * 1996-05-31 1998-09-01 Mentor Graphics Corporation Method and apparatus for removing timing hazards in a circuit design
US6023743A (en) 1997-06-10 2000-02-08 International Business Machines Corporation System and method for arbitrating interrupts on a daisy chained architected bus
US7266617B1 (en) * 2000-01-18 2007-09-04 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US8683270B2 (en) * 2010-04-29 2014-03-25 Micron Technology, Inc. Signal line to indicate program-fail in memory
FR2959835B1 (fr) * 2010-05-10 2012-06-15 Airbus Operations Sas Systeme de commande de vol et aeronef le comportant

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3886524A (en) * 1973-10-18 1975-05-27 Texas Instruments Inc Asynchronous communication bus
US3997896A (en) * 1975-06-30 1976-12-14 Honeywell Information Systems, Inc. Data processing system providing split bus cycle operation
JPS5259534A (en) * 1975-11-11 1977-05-17 Panafacom Ltd Data transfer system
US4084233A (en) * 1976-05-25 1978-04-11 Honeywell, Inc. Microcomputer apparatus
US4148011A (en) * 1977-06-06 1979-04-03 General Automation, Inc. Asynchronous priority circuit for controlling access to a bus
US4181974A (en) * 1978-01-05 1980-01-01 Honeywell Information Systems, Inc. System providing multiple outstanding information requests
US4384327A (en) * 1978-10-31 1983-05-17 Honeywell Information Systems Inc. Intersystem cycle control logic
US4390969A (en) * 1980-04-21 1983-06-28 Burroughs Corporation Asynchronous data transmission system with state variable memory and handshaking protocol circuits
US4660169A (en) * 1983-07-05 1987-04-21 International Business Machines Corporation Access control to a shared resource in an asynchronous system
JPS61110253A (ja) * 1984-11-05 1986-05-28 Fuji Electric Co Ltd 同期化回路
US4779089A (en) * 1985-11-27 1988-10-18 Tektronix, Inc. Bus arbitration controller
US4847750A (en) * 1986-02-13 1989-07-11 Intelligent Instrumentation, Inc. Peripheral DMA controller for data acquisition system
US4888684A (en) * 1986-03-28 1989-12-19 Tandem Computers Incorporated Multiprocessor bus protocol
US4817037A (en) * 1987-02-13 1989-03-28 International Business Machines Corporation Data processing system with overlap bus cycle operations
US5001624A (en) * 1987-02-13 1991-03-19 Harrell Hoffman Processor controlled DMA controller for transferring instruction and data from memory to coprocessor
NL8700736A (nl) * 1987-03-30 1988-10-17 Philips Nv Een-kanaalsbussysteem voor meermeester gebruik, met bitcelsynchronisatie, en meesterstation voorzien van een bitcelsynchronisatie-element daarvoor.
US4803481A (en) * 1987-03-30 1989-02-07 Peaktronics, Inc. Asynchronous communications system
US4821170A (en) * 1987-04-17 1989-04-11 Tandem Computers Incorporated Input/output system for multiprocessors

Also Published As

Publication number Publication date
JPH04230563A (ja) 1992-08-19
US5377334A (en) 1994-12-27

Similar Documents

Publication Publication Date Title
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
US4050097A (en) Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus
US4257095A (en) System bus arbitration, circuitry and methodology
US4797815A (en) Interleaved synchronous bus access protocol for a shared memory multi-processor system
US6401176B1 (en) Multiple agent use of a multi-ported shared memory
EP0476990A2 (en) Dynamic bus arbitration
EP0358448B1 (en) Computer system with high speed data transfer capabilities
US5293491A (en) Data processing system and memory controller for lock semaphore operations
JPS5930293B2 (ja) デ−タ処理システムにおいて結合された共通バス用ア−キテクチャ
JP2004318901A (ja) データ処理モジュール相互間の高速制御およびデータバスシステム
JPS6112303B2 (ja)
JP2532191B2 (ja) 複式バス・ア―キテクチャを有する計算システムに使用するデ―タ伝送の管理方法
JPH02289017A (ja) コンピユータシステム内でデータ転送方法
EP0872799A2 (en) PCI bus System
US4622630A (en) Data processing system having unique bus control protocol
JPH09179816A (ja) データ処理システム(非対称バス・アービトレーション・プロトコル)
JP2539964B2 (ja) ア―ビトレ―ション・システム
US6314499B1 (en) Non-preemptive memory locking mechanism in a shared resource system
KR900001120B1 (ko) 우선도가 낮은 유니트를 우선도가 높은 위치에 위치시키기 위한 분배된 우선도 회로망 로직을 가진 데이타 처리 시스템
JPH0823859B2 (ja) データ処理システム
JPH0677248B2 (ja) ピン数の少ない高性能バスインターフェイス
US6163831A (en) Minimum refractory period in a multiple agent resource sharing environment
JPH03122745A (ja) Dma制御方式
JPH04134551A (ja) 複数のデータ処理エージェントの間でデータを転送するバスにおいて、第1のエージェントがサービスの必要を第2のエージェントへ知らせる方法
KR100487218B1 (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법