JPH06266681A - バス・オペレーションの不可分シーケンスを保存する方法,バス・インターフェイスおよびコンピュータ装置 - Google Patents

バス・オペレーションの不可分シーケンスを保存する方法,バス・インターフェイスおよびコンピュータ装置

Info

Publication number
JPH06266681A
JPH06266681A JP4281111A JP28111192A JPH06266681A JP H06266681 A JPH06266681 A JP H06266681A JP 4281111 A JP4281111 A JP 4281111A JP 28111192 A JP28111192 A JP 28111192A JP H06266681 A JPH06266681 A JP H06266681A
Authority
JP
Japan
Prior art keywords
bus
master
slave
interface
remote
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
JP4281111A
Other languages
English (en)
Other versions
JP3388549B2 (ja
Inventor
Charles E Narad
チャールズ・イー・ナラド
Neil Macavoy
ネイル・マカヴォイ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH06266681A publication Critical patent/JPH06266681A/ja
Application granted granted Critical
Publication of JP3388549B2 publication Critical patent/JP3388549B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 遠隔バスにおけるバス・オペレーションの不
可分シーケンスを保存する。 【構成】 遠隔バス上のスレーブをアクセスするマスタ
により発せられた命令と同時に、ロック仲裁信号が引き
続く各バス間インターフェイスへ送られる。アドレス信
号、制御信号、データ信号、ロック仲裁器信号が、スレ
ーブ・バスへ対するバス間インターフェイスを含む引き
続く介在バス間インターフェイスでバッファされる。ス
レーブ・バス間インターフェイスにより受けられたロッ
ク仲裁器信号はバス・スレーブ・バス間インターフェイ
ス内のロック仲裁器レジスタをセットする。ターゲット
・スレーブが一度アクセスされてロック仲裁器レジスタ
をセットすると、遠隔バスで動作している別のマスタが
その遠隔バスを用いること、または遠隔バス間インター
フェイスへ接続することが阻止される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は全体として複数バス・複
数プロセッサ・コンピュータ装置に関するものである。
とくに、本発明は、ステップの不可分シーケンスが終わ
る前に介在バスが開放されても、アクセッシング・マス
タから離れているバスで動作している装置にステップの
不可分シーケンスを保存できるようなバス仲裁に関する
ものである。
【0002】
【従来の技術】コンピュータ装置は、一般にバスとして
知られている双方向データ経路をしばしば使用する。装
置が互いに通信することができるように、バスは種々の
内部周辺装置および外部周辺装置を相互に接続できるよ
うにする。より大型のコンピュータ装置またはより複雑
なコンピュータ装置においては、2つ以上のプロセッサ
を含む多数の装置を相互に接続するために多数のバスを
使用できる。バスへ接続される装置は、装置が別の装置
を制御するか、装置が別の装置により制御されるかに応
じて、一般に「マスタ」または「スレーブ」と呼ばれ
る。多数のバスを含むコンピュータ装置においては、ど
の装置がバスをアクセスおよび制御することを許されて
いるか、およびどの装置が別の装置より先の優先順位を
有するかを判定するための機構を設ける必要がある。マ
スタによるバス、従ってそのバスへ接続されているスレ
ーブ装置、のアクセスを制御する機構はバス仲裁として
一般に知られている。仲裁はハードウェアまたはソフト
ウェアにより行うことができ、多数のマスタが1つの資
源の使用を共用することを可能にする。バス仲裁はハー
ドウェア実現を用いる仲裁器により一般に行われ、バス
をアクセスするための要求をバスへ接続されている全て
のマスタ装置から受ける。仲裁器は、要求しているどの
マスタが、特定のバスを使用するために次のアクセス・
サイクルを利用するのを認めるためのアルゴリスムを利
用する。固定された優先権によるが総当たり戦による。
【0003】時には、マスタが不可分の数のトランザク
ションに対するバスの所有権または制御を保持すること
により、他のマスタがバスをアクセスおよび使用するこ
とを阻止し、不可分のステップ列の終了を延期する必要
がある。不可分のステップ列またはトランザクション列
は「アトミック」シーケンスまたは「ロックされた」シ
ーケンスと一般に呼ばれる。アトミック・シーケンス
は、順次実行せねばならないステップまたはトランザク
ションを、バスをアクセスする他のマスタにより割り込
まれること無しに、実際に順次実行されるようにするた
めにしばしば用いられる。たとえば、ソフトウェア・セ
マフォにおいては、セマフォの所有権はマスタによりあ
るメモリ場所の内容を読み出し、それの値をテストし、
それから変更された内容をそのメモリ場所へ書き戻すこ
とにより、得られる。別のマスタが同じメモリ場所から
読み出すことを許され、最初にセマフォをアサートして
いるマスタにより得られたのと同じセマフォを得る試み
を行うとすると、セマフォの所有権を無効にできる。し
たがって、ステップのアトミック・シーケンスまたはロ
ックされたシーケンスは、ロックの所有権をアサートす
るマスタが、ロック機能を実行するレジスタをアクセス
および制御することを許し、その間に別のマスタがレジ
スタをアクセスすることを妨げる。
【0004】要求があった時にバスを直ちにアクセスす
ることをマスタが許されないようにして仲裁器をロック
する、というメカニズムにより、アトミック・シーケン
スは実現される。仲裁は2つのやり方の1つでロックで
きる。第1のやり方は、バスに対するアクセスがアトミ
ック・シーケンスを含み、仲裁器がバスに他の任意のマ
スタを許さない、ことを仲裁器が認識する場合である。
仲裁をロックする第2のやり方は、仲裁器がバスにマス
タをアクセスすることを許すが、現在制御しているマス
タが、バスが使用中であることを示すある信号を保持
し、制御するマスタがその信号を発生するまで、アクセ
スする他のマスタがバスを実際に制御できないようなも
のである。第2のケースにおいては、新しいバス・アク
セス許可を受けるマスタは、現在のマスタにより制御さ
れるバス使用中信号が消滅させられるまで、待たねばな
らない。バス使用中信号が消滅させられた後は、アクセ
スしているマスタはバスの制御をアサートできる。第1
のケースまたは第2のケースのいずれにしても、現在制
御しているマスタがバスにおけるそれのトランザクショ
ンを終わり、その後でバスの制御を放棄し、バス使用中
信号が消失するまで待たねばならない。現在のマスタ・
トランザクションが長いとすると、アクセスしているマ
スタは待たねばならず、それによりコンピュータ装置の
全体の性能が低下する。
【0005】
【発明が解決しようとする課題】後で詳しく述べるよう
に、本発明は、アトミック・シーケンスを企てているマ
スタへ中間バスすなわち介在するバスをロックしたまま
にすることを求めることなしに、遠隔バスでそのアトミ
ック・シーケンスを処理して、装置の性能を向上できる
ように、ロッキングの仲裁を許す方法および回路を提供
するものである。更に、本発明は、アトミック・シーケ
ンスを危うくする危険なしに、遠隔バスでそれらのアト
ミック・シーケンスを処理できることを可能にするもの
である。遠隔バスに目標を定められたアトミック・シー
ケンスの安全を確保するために、異なるバスで動作する
マスタとスレーブの間のデータまたは信号の相関性が保
存される。
【0006】
【課題を解決するための手段】遠隔バスにおいて、アト
ミック・シーケンスを保存するために仲裁をロックする
ための方法および装置を開示する。多数のバス間インタ
ーフェイスが、プロトコルを翻訳し、ターゲット・バス
に達するまでアトミック・トランザクションを任意の数
の介在バスを経て送り、介在バスが解放される場合で
も、ターゲット・バスまたはターゲット装置に原子数
(atomicity)を維持する。現在好適なよう
に、第1のバスにおけるマスタは、トランザクションが
アトミック・シーケンスの始めである信号と一緒にアク
セス命令を発する。それから第1のバス間インターフェ
イスが第2のバスにおいてトランザクションを開始し、
第2のバスの所有権および制御を得ると、トランザクシ
ョンを第2のバス間インターフェイスへ送る。第2のバ
ス間インターフェイスへ送られたアクセス命令は、トラ
ンザクションがアトミック・シーケンスの始めであると
いう信号も含む。また、仲裁を第3のターゲット・バス
にロックするために信号が第2のバス間インターフェイ
スへ送られる。第3のバスへのアクセスが長い待ち時間
のものであるとすると、第2のバス間インターフェイス
は「切り離し、後で再試行する」ために介在する第2の
バスへ命令する。それから「切り離し、後で再試行す
る」命令を第1のバスへ送って、マスタに第1のバスを
放棄させ、後で再試行させる。第3のターゲット・バス
に対するアクセスが短時間であるとすると、そのような
切り離しおよび再試行信号は第2のバスへは送られな
い。第3のターゲット・バスに対する要求を受けると、
第2のバス間インターフェイスは、ターゲット・バスで
動作しているターゲット装置に対するトランザクション
要求を出して、第3のターゲット・バスについての仲裁
のロックも行う。第2のバス間インターフェイスが切り
離しおよび再試行信号を出した場合には、第1のバスと
第2のバスは、それらのバスで動作しているマスタと一
緒に、それらのバス、またはそれらのバスで動作してい
るスレーブを用いることを要求できる。遠隔の第3バス
に目標とされたアトミック・シーケンスの開始により、
第2のバス間インターフェイス内の仲裁器を、アトミッ
ク・シーケンスをアサートしているアクセスするマスタ
が、ターゲット・バスで動作しているターゲット装置へ
再び接続され、アクセスするマスタのために意図された
データを検索するまで、ロックされたままにする。マス
タによる遠隔バス上のターゲット装置のアクセスがアト
ミック・シーケンスにおける最後のトランザクションで
あるとすると、アクセスするマスタは「ロック解除仲
裁」指令をトランザクションとともに出す。ターゲット
装置に対する最後のオペレーションが終わると、第2の
バス間インターフェイスが、第3のバスをロックしてい
る内部仲裁器を解放し、終了状態を第2のバスと第3の
バスを介して、アクセスするマスタへ送る。したがっ
て、介在するバスを開放でき、アトミック・シーケンス
の一部でないトランザクションをそこで実行できるとし
ても、遠隔バスと遠隔装置における原子数(atomi
city)が維持される。
【0007】
【実施例】アトミック・シーケンスを保存するために遠
隔バスにおける仲裁をロッキングするための方法と装置
を開示する。以下の説明においては、本発明を完全に理
解できるようにするために、特定の数、特定の時間、お
よび特定の信号等について述べる。しかし、それらの特
定の詳細なしに本発明を実施できることが当業者には明
らかであろう。他の場合には、本発明を不必要にあいま
いにしないようにするために、周知の回路および装置は
ブロック図の態様で示す。
【0008】以下の説明においては、スレーブへの1つ
のバスで、または別のバスで動作するマスタによるアク
セスを制御するために用いられるバス間インターフェイ
スを参照する。バス間インターフェイスは一般に知られ
ている任意の構造のものにできるが、「多数プロセッサ
・コンピュータ装置においてデータの非干渉性を阻止す
るためのバス間インターフェイス(A Bus−to−
Bus Interfacs for Prevent
ing Data IncoherenceIn a
Multiple Processor Comput
er System)」という名称の未決の米国特許出
願第 号により教示されているバス間インタ
ーフェイスを、本発明の好適な実施例で使用することを
とくに意図するものである。上記バス間インターフェイ
スは内部バス・プロトコル変換ハードウェアで構成さ
れ、ハードウェア仲裁方法論を実現するものである。本
発明に使用することを意図するバス間インターフェイス
の代表的な例が、アメリカ合衆国 カリフォルニア州
マウンテン・ビュー(Mountain View)所
在のサン・マイクロシステムズ社(Sun Micro
system,Inc.)により製造されており、サン
・マイクロシステムズMBus,SBusおよび商業用
の標準VMEbusディスパッチ装置を相互に接続す
る。
【0009】まず、本発明を実現するバス間インターフ
ェイスのブロック図が示されている図1を参照する。図
1において、第1のバスMが多数のマスタと多数のスレ
ーブを相互に接続する。第2のバスSがいくつかのスレ
ーブ装置を相互に接続する。第1のバス・インターフェ
イス10がバスMをバスSへ接続して、バス・プロトコ
ルをバスMからバスSへおよびバスSからバスMへ翻訳
する。バス間インターフェイス10は、前記未決の米国
特許出願に詳しく記載されているように、バスMで動作
しているマスタがバスSで動作しているスレーブを識別
できるようにするために、マスタ−スレーブ・ディレク
トリ・ハードウェアも含む。図1には、バスVで動作し
ているいくつかのマスタおよびスレーブを相互に接続す
る第3のバスVも示されている。バスSはバスVへ第2
のバス間インターフェイス20により接続される。バス
間インターフェイス20は、バスSとバスVの間の通信
のためのバス・プロトコル変換ハードウェアと、バスS
アクセス認識ハードウェアも含む。バス仲裁は周知であ
るから、バス仲裁についての詳細についての説明は省略
する。バス仲裁についての詳細については、ブリッグス
(F.Briggs)およびフヮン(K.Hwang)
著「コンピュータ・アーキテクチャおよび並列処理(C
omputer Architecture and
Parallel Processing)」(198
4)を参照されたい。
【0010】バス間インターフェイス10,20は、前
記未決の米国特許出願に記載されている「放棄および再
試行」機能も含む。簡単にいえば、「放棄および再試
行」機能は、再実行および再実行−肯定応答としても知
られているものであって、ターゲット装置が現時占有さ
れていて、バスを放棄し、後でアクセスを再試行するた
めに現在アクセスできない時に、バス間インターフェイ
ス10と20にマスタとバスをアクセスすることを指令
させる。再実行および再実行−肯定応答は、長い待ち時
間のタスクの終了中装置全体の性能が低下しないよう
に、アクセスするマスタが介在するバスを自由にさせ
る。マスタによりスレーブをアクセスし、それに続い
て、スレーブの終了中マスタを切り離し、それからマス
タによりスレーブへ再接続して、スレーブからデータを
検索する技術が「スプリット・サイクル」としばしば呼
ばれる。
【0011】図1における各バスへは、別のバスからの
スレーブとしてアクセスされた時に、バスで動作してい
る各スレーブと同様に、独特のアドレスまたはアドレス
範囲が割当てられる。アドレス・スペースによる装置の
識別は周知であるから、ここでは説明しない。バスで動
作しているマスタが、そのバスまたは別の遠隔バスで動
作しているスレーブをアクセスすることを試みると、マ
スタはターゲット装置またはバスのアドレスを含むアク
セス指令を発する。また、アクセスするマスタは「ロッ
ク仲裁」信号を発生できる。この信号は、アドレス・フ
ェーズ中に、ターゲット装置が接続されているバスへ送
られて、以後の命令がアトミック・オペレーション・シ
ーケンスまたはロックされたオペレーション・シーケン
スの始めであることを示す。好適な実施例においては、
ロック仲裁信号は、第1のバス間インターフェイス10
と第2のバス間インターフェイスの間を専用線12を介
して送られる。しかし、ロック仲裁信号は、システム・
バス内の共用されている任意のデータ経路信号を介して
等しく送ることができる。もっとも、用いられる特定の
バス・プロトコルが信号をサポートするという条件の下
においてである。ロック仲裁信号はバス間インターフェ
イス20にそれの仲裁器をロックすることを指令し、ま
たは仲裁器を含んでいなければ、バスVの所有権がひと
たび得られると、アサートされたバス使用中(「BBS
Y」)信号を保持することを指示する。バス間インター
フェイス20をアクセスする時は、バス間インターフェ
イス10により発せられたアドレス・サイクルにロック
仲裁がアサートされる。更に、好適な実施例において
は、バスMへ出されたロック仲裁は、最後のトランザク
ション以外のトランザクションごとではなく、アトミッ
ク・シーケンスのトランザクションごとにアサートされ
る。通常は、アトミック・シーケンスの最後の命令で
「ロック仲裁」信号を送らないことにより、アトミック
・シーケンスの終わりをマスタは信号する。しかし、サ
ン・マイクロシステムズ(Sun Microsyst
ems)MBusを参照すると、ロック仲裁信号が、最
後のトランザクションを含めた全てのトランザクション
に対してアサートされる。好適な実施例はアトミック・
シーケンスを書き込みが続く読み出しへ制約する。した
がって、ロック仲裁指令を有する読み出しオペレーショ
ンが仲裁器をロックさせる。同様に、ロック仲裁による
書き込みオペレーションは、書き込みオペレーションが
終わった後で、最後のターゲット・バス(この場合には
バスV)上の仲裁を解除するための指令として認識され
る。それからバス間インターフェイス10はバスMの仲
裁器のロックを解除し、バスMを他のマスタで使用でき
るようにする。また、全てのトランザクション要求は、
アドレスと、トランザクション型と、トランザクション
・サイズと、データ(書き込みオペレーションのために
求められるならば)とのための信号を含む。
【0012】次に、バス間インターフェイス20のブロ
ック図が示されている図2を参照する。図2において、
バス間インターフェイス20は、バスSとバスVのため
の仲裁モジュールと戻りモジュールを含むことが示され
ている。バス間インターフェイス20はバスSに対する
戻りを発生できるが、この実施例においては、バスVは
戻り機構自体を有しない。バスSのプロトコル・モジュ
ールとバスVのプロトコル・モジュール、およびプロト
コル変換モジュールはバス間インターフェイス20にも
含まれる。書き込みバッファ25は、マスタがバス間イ
ンターフェイス20をアクセスしている間に、そのマス
タにより発生されたデータと状態信号を受け、それらを
記憶する。マスタがそのアクセス・サイクルとデータを
出すと、切り離すことを指令される。そうすると書き込
みバッファ25は、トランザクションを終了するために
必要な全ての信号と全ての条件を保持する。ロック仲裁
器レジスタ30は、バス間インターフェイス10から専
用ワイヤ12を介して送られたロック仲裁信号を受け
る。バス間インターフェイス10とは異なり、バス間イ
ンターフェイス20は、バスVでマスタを動作させるた
めのマスタ識別情報と、バスMまたはバスSでマスタを
アクセスするための「スレーブ使用中」信号とを供給す
るマスタ−スレーブ・ディレクトリを有しない。その代
わりに、バス間インターフェイス10はバス間インター
フェイス20に代わって機能を行う。すなわち、ほとん
どの目的に対して、バス間インターフェイス20は、バ
ス間インターフェイス10にとっては全て別のSスレー
ブであるように見える。バス間インターフェイス20
は、各バスに関連する双方向アドレス線と、データ入力
線と、データ出力線も有する。バスSのマスタはバスV
をアクセスできないから、ディレクトリは不必要であ
る。
【0013】次に、図1と図2を参照して遠隔バス・ロ
ッキング機構の動作を説明する。バスMで動作している
マスタが、バスVで動作しているターゲット・スレーブ
へ命令を発することを求めると、マスタは、ターゲット
・スレーブと、転送されるデータのサイズと、書き込み
動作であればデータと、および続行するトランザクショ
ンがアトミック・シーケンスであるかどうかを識別する
アドレスとともに、それのアクセス指令を発する。続行
するトランザクションがアトミック・シーケンスである
とすると、ロック仲裁信号がアサートされる。バスMは
マスタのアクセス・サイクルを受け、バスMをマスタに
対して許可する。バス間インターフェイス10は、それ
へ接続されているバスで動作している有効な装置へ割り
当てられたものとしてアサートされたターゲット・アド
レスを認識する。それから、バス間インターフェイス1
0はバスSの制御のために仲裁する。インターフェイス
10は上記指令と、データと、状態信号とを全て捕らえ
る。バスS仲裁器がバス間インターフェイス10に対す
るバスSの制御を許可したとすると、インターフェイス
10は、第2のバス間インターフェイス20に保持され
ているアドレスとトランザクションを発する。バス間イ
ンターフェイス20はバスVへアクセスを送り、それら
がアクセスされているかどうかをそのバスにおけるスレ
ーブが判定することを許す。バス間インターフェイス2
0はトランザクション・アドレス、型、データおよび状
態信号を書き込みバッファ25に格納する。また、バス
間インターフェイス10は、バス間インターフェイス2
0に含まれているロック仲裁レジスタ30へロック仲裁
信号を、それの専用線12を介して送り、後続のトラン
ザクション・シーケンスがアトミック・シーケンスであ
ることを指示する。ロック仲裁レジスタがロックされる
と、バスVの制御がバス間インターフェイス20によっ
てのみ維持されるように、バスVの仲裁がロックされ
る。すなわち、ロック仲裁レジスタ30がセットされて
いる限りは、他の装置はバスVにおけるマスタとして動
作できない。したがって、たとえば、バスVのマスタM
3 40はどのようなバスVスレーブのアクセスからの
排除され、バスVスレーブで動作している装置のためで
あることを意図された不可分のトランザクション・ステ
ップは不可分のまま維持されることを確実にされる。特
定のトランザクション・シーケンスがある所定の時間を
超過したとすると、バス間インターフェイス20は、バ
スSを放棄して、後でアクセスを再試行することをアク
セスしているマスタへ指令する。この説明におけるよう
に、アクセスしているマスタがバス間インターフェイス
であるとすると、戻り指令はバス間インターフェイス1
0にバスSの制御を放棄させ、再実行信号をバスMを介
してアクセスしているマスタへ出させる。他の関連する
トランザクション・データとともにロック仲裁信号をマ
スタが発生できるものとすると、バスSおよびバスMの
場合におけるよう介在するバスが他のマスタが代わりに
用いるために解放されたとしても、アトミック・シーケ
ンスは遠隔バスで許される。バスSおよびバスMのよう
な介在バスを自由にすることにより、スレーブ・アクセ
スのための待ち時間を命令サイクルの何十倍、何百倍ま
たはおそらく何千倍にも延長できるコンピュータ装置の
全体の性能を著しく向上できる。
【0014】ここで、遠隔バスにおける仲裁のロックを
示す流れ図が示されている図3を参照する。図3〜図5
において、アクセスしているマスタM1から発せられた
命令の制御が、バスVスレーブ装置に達するまで、バス
間インターフェイス10と20へ順次送られることがわ
かる。
【0015】前記未決の米国特許出願「多数プロセッサ
・コンピュータ装置におけるデータの非干渉性を阻止す
るためのバス間インターフェイス」に関連して述べたよ
うに、再実行指令および再試行サイクルはこの分野にお
いて周知であるから、詳しい説明は不要である。しか
し、マスタとして動作しているバス間インターフェイス
10または20を含むマスタが、アクセスしたスレーブ
からひとたび切り離されると、そのスレーブへ再び接続
して、データまたは信号をそのスレーブから検索するた
めに、マスタは再試行サイクルにおいて自身で再アサー
トせねばならない。再実行指令に関連してスレーブまた
はバスから切り離されるどのようなマスタも、後で、そ
れの特定の再実行および再実行肯定応答命令に従って、
そのスレーブのアクセスおよびそのスレーブへの接続を
再び試みる。要するに、バス間インターフェイス20は
バス自体が回路スイッチ・バスとして動作するように構
成されているとしても、トランザクションが開始されて
からある時間後にトランザクション肯定応答が戻され
る、というパケット・スイッチ・バスのようにして動作
する。通常は、トランザクションが終了して、アクセス
している装置がトランザクション肯定応答信号を受ける
まで、回路スイッチ・バスはバス上に留まる。本発明に
関しての説明のために、バス間インターフェイス10と
20を、インターフェイス10と20を含むアクセスす
るマスタが、早く始まって、その間にマスタが再実行す
ることを指定されたトランザクションを終わらせるため
に、再試行サイクルを実行することにより再接続を開始
せねばならない、という仮定の下に、パケット・スイッ
チ・バスとして動作すると考えることができる。
【0016】本発明をより良く理解するために、下記の
例はマスタと、バス・インターフェイスと、遠隔スレー
ブとの間の、アトミック・シーケンス中における指令と
データの転送について述べるものである。図8〜17に
関しては、マスタM1が遠隔バスVにおいけるスレーブ
V1のためのアクセス要求を発する、と仮定する。説明
のために、書き込みが続く読み出しのアトミック・シー
ケンスについて説明する。マスタM1はバスMの使用の
ための要求を発する。バスを使用できるとバスMの仲裁
器が判定すると、それはマスタM1に対して許可を出
す。図8に示すように、それからマスタM1は、バスV
で動作しているスレーブV1に目標を定められた読み出
し指令を発し、それとともにそのアクセスがロックされ
たシーケンスの一部であることをバスMへ指示する。バ
スMへアクセスが発せられると、バス間インターフェイ
ス10は、そのアクセスがバスS上の装置へ向けられた
ことを認め、バスS仲裁器からバスSに対してアクセス
することを要求する。バスSを使用できないとすると、
バス間インターフェイス10は戻り指令をマスタM1へ
発する。しかし、バスSを使用できるならば、バス間イ
ンターフェイス10はマスタとしてバスSの制御を許可
され、したがってバス間インターフェイス20をアクセ
スする(図9)。バスSを制御するバス間インターフェ
イスはバス間インターフェイス20に対するアクセスを
実行して、読み出し命令を、アドレスおよびデータのサ
イズとともに指示する。同時に、バス間インターフェイ
ス10から専用線12を介して送られたロック仲裁信号
は、バス間インターフェイス10内のロック仲裁レジス
タをセットさせる(図10)。ロック仲裁レジスタ30
がセットされ、バス間インターフェイス20がバスVの
制御を得ると、バスVにおける他のマスタ装置はバスV
をアクセスできないから、そのロックが解除されるまで
は、バスVで動作している装置をアクセスできない。読
み出しアクセスの認識に続いて、バス間インターフェイ
ス20はバスV上の意図したスレーブに対するアクセス
を発する。バス間インターフェイス20はスレーブV1
へ接続され(図11)、読み出し指令がスレーブV1へ
発せられる。アクセスが、許されている最長許容時間を
超過したとすると、バス間インターフェイス20は再実
行することをバス間インターフェイス20へ指令する。
そうすると、バス間インターフェイス20はスレーブV
1に対するアクセスを自動的に継続する。バス間インタ
ーフェイス20のロック仲裁レジスタ30はセットされ
ているから、バスVにおける装置をアクセスすることを
企てる他の装置は排除される。バス間インターフェイス
20は、問題のトランザクション、この場合は読み出
し、を終了することを求められている限りは、バスV、
したがってスレーブV1へ接続されたままである。読み
出しが終わると、読み出し動作中に検索されたデータを
受けるために、マスタM1がスレーブV1へ再び接続さ
れるまで、スレーブV1は待つ。
【0017】スレーブによる読み出しが終了と、読み出
されたデータの検索を求めているマスタM1の再接続と
の間に、他の装置は自由にされたバスMとバスSを使用
できる。たとえば、マスタM2はバスS上のスレーブを
制御できる(図12)。アクセスするマスタは、スレー
ブV1を最初にアクセスするマスタM1に関連して前記
したステップの全てを介して、接続を再び行わねばなら
ない。戻りに続いてマスタM1が切り離され、スレーブ
Vがアクセスを行っている間は、バス間インターフェイ
ス10は、バスM上の他のマスタがバスVをアクセスす
ることを阻止する。とくに、バスV仲裁におけるロック
はバスV上の他のマスタがバスVを用いることを阻止す
る。
【0018】ここで、書き込みが続くアトミック読み出
しの例の第2の半分についての説明を続けると、マスタ
M1は今は書き込み命令を、スレーブV1のために意図
したデータとともに発する。上記のように、最初の動作
を終了するために、マスタM1はバスM1の制御を既に
行っている(図10)。それからマスタM1はロックさ
れている順序で次のオペレーションをバスMへ送り、そ
れからバス間インターフェイス10へ、次にバスSへ、
更にバス間インターフェイス20へ送る(図14)。各
送りは、書き込み命令とデータのサイズおよびデータ自
体をプラスしたものを送るたびに行われる。ロック仲裁
信号は書き込み指令とともに送られる。もっとも、書き
込みはアトミック・シーケンスの最後のオペレーション
である。上の説明から、バス間インターフェイス20は
このアトミック・シーケンス全体にわたってバスVの制
御を保持していることを思い起こされたい。バスV仲裁
器はロックされたままで、他のマスタがバスVをアクセ
スすることを阻止する。バスV仲裁器をロックしても、
バスMまたはバスSにおけるターゲット装置の変更は阻
止しない。バス間インターフェイス20へ再び接続され
ているマスタM1は、意図するデータをインターフェイ
ス20の書き込みバッファ25へ順次書き込む。
【0019】スレーブV1へ書き込むべきデータをアド
レスおよびサイズ情報とともに記憶しているバス間イン
ターフェイス20は、書き込みバッファ25からのデー
タをスレーブ装置V1へ書き込む。書き込み指令が実行
された後で、書き込み指令はアトミック・シーケンスの
最後のオペレーションであったから、バス間インターフ
ェイス20はロック仲裁レジスタ30のロックを解除
し、その後でスレーブV1と一緒にバスVを解放する
(図15)。書き込みは最後のアトミック・アクセス・
トランザクションであって、ロック仲裁信号が伴うが、
バス仲裁器は書き込みを最後のステップとして認識し、
したがって書き込みに続いてバスV仲裁器のロックを解
除することを思い出されたい。バスVを解除したら、バ
ス間インターフェイス20はBBSY信号のアサートを
解除することにより、別のマスタがバスVの制御を行う
ことをバスV仲裁器を介して許す。仲裁器に組合わされ
る状態マシンがあるから、バス間インターフェイス10
によりバス間インターフェイス20へ送られたロック仲
裁信号は、アクセスするマスタに対するバスVの仲裁判
定許可制御に含まれることに注目すべきである。セット
された状態マシンは、バスの解放のために必要な諸条件
が満たされるまで、セット状態を維持する。バスVを解
放するための条件の1つは、S−Vバス間インターフェ
イス20が遠隔のマスタからのバス要求に従ってインタ
ーフェイス20がバスVをロックする、という条件をサ
ンプルしなかったことである。S−Vバス間インターフ
ェイス20が、遠隔マスタにより発せられたロック仲裁
要求をサンプルしなかったとすると、バスV仲裁器はバ
スを他の装置へ割り当てず、状態マシンはロック仲裁が
セットされるという条件を保持する。したがって、バス
Vへ接続されている装置に対して係属中のデータ要求が
存在しないとしても、ロック仲裁信号を仲裁器が保持し
ている結果として、バスVはバス間インターフェイス2
0へロックされたままである。最後に、M−Sバス間イ
ンターフェイス10によりS−Vバス間インターフェイ
ス20は解放され(図16)、それに続いてマスタM1
がバス間インターフェイス10を解放する(図17)。
【0020】以上、アトミック・シーケンスを保存する
ために遠隔バスの仲裁をロックするための方法および装
置について説明した。アトミック・シーケンスの終了す
ると、本発明を用いる多数バス・コンピュータ装置内の
介在バスを、ロックされている遠隔バスの原子数(at
omicity)に影響を及ぼすことなしに、解放でき
る。
【図面の簡単な説明】
【図1】図1は遠隔バスにおいてロッキング仲裁を実現
する多数のバス間インターフェイスのブロック図であ
る。
【図2】バス間インターフェイスの内部の面をブロック
態様で示す。
【図3】本発明の遠隔バス・ロッキング仲裁法の流れ図
を示す。
【図4】本発明の遠隔バス・ロッキング仲裁法の流れ図
を示す。
【図5】本発明の遠隔バス・ロッキング仲裁法の流れ図
を示す。
【図6】本発明の遠隔バス・ロッキング仲裁法の流れ図
を示す。
【図7】本発明の遠隔バス・ロッキング仲裁法の流れ図
を示す。
【図8】介在するバスが自由にされているアトミック・
アクセス・オペレーションの例を示す。
【図9】介在するバスが自由にされているアトミック・
アクセス・オペレーションの例を示す。
【図10】介在するバスが自由にされているアトミック
・アクセス・オペレーションの例を示す。
【図11】介在するバスが自由にされているアトミック
・アクセス・オペレーションの例を示す。
【図12】介在するバスが自由にされているアトミック
・アクセス・オペレーションの例を示す。
【図13】介在するバスが自由にされているアトミック
・アクセス・オペレーションの例を示す。
【図14】介在するバスが自由にされているアトミック
・アクセス・オペレーションの例を示す。
【図15】介在するバスが自由にされているアトミック
・アクセス・オペレーションの例を示す。
【図16】介在するバスが自由にされているアトミック
・アクセス・オペレーションの例を示す。
【図17】介在するバスが自由にされているアトミック
・アクセス・オペレーションの例を示す。
【符号の説明】
10,20 バス間インターフェイス 25 書込みバッファ 30 ロック仲裁レジスタ 40 マスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ネイル・マカヴォイ アメリカ合衆国 94062 カリフォルニア 州・レッドウッド シティ・キャニオン ロード・644

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 オペレーション指令を含むスレーブ・ア
    クセス信号をターゲット・スレーブへ向けてアクセッシ
    ング・マスタにより発生する過程と、 前記アクセッシング・マスタを多数のバスへ相互に結合
    する過程と、 前記スレーブ・アクセス信号を複数のバス間インターフ
    ェイスで受け、記憶する過程と、 遠隔のバス間インターフェイスを遠隔バスを介してター
    ゲット・スレーブへ結合する過程と、 前記ターゲット・スレーブをアクセスするために前記ア
    クセス・マスタによってのみ使用するために前記遠隔バ
    スを保持する過程と、 前記バスと、前記遠隔バス間インターフェイスへ前記ア
    クセッシング・マスタを接続するバス間インターフェイ
    スとを放棄する過程と、を備える、複数プロセッサ・コ
    ンピュータ装置内の遠隔バスにおけるバス・オペレーシ
    ョンの不可分シーケンスを保存する方法。
  2. 【請求項2】 バス・オペレーションの不可分シーケン
    スの第1のオペレーションを含むスレーブ・アクセス信
    号を発生するアクセッシング・マスタと、 前記アクセッシング・マスタへ相互に結合される多数の
    バスと、 それら多数のバスを相互に結合する遠隔のバス間インタ
    ーフェイスを含み、前記スレーブ・アクセス信号を受け
    て、記憶する複数のバス間インターフェイスと、 遠隔バスを介して前記遠隔バス間インターフェイスへ結
    合されるターゲット・スレーブと、を備え、このターゲ
    ット・スレーブがバス・オペレーションの前記不可分シ
    ーケンスの前記第1のオペレーションを受けた際に、前
    記遠隔バス間インターフェイスは放棄および再試行信号
    を発生して、前記アクセッシング・マスタと、前記バス
    と、前記バス間インターフェイスとを前記遠隔バス間イ
    ンターフェイスから順次切り離す、複数プロセッサ・コ
    ンピュータ装置内の遠隔バスにおけるバス・オペレーシ
    ョンの不可分シーケンスを保存するバス・インターフェ
    イス。
  3. 【請求項3】 複数のバス間インターフェイスを介して
    スレーブ・バスへ相互に接続されるマスタ・バスと、こ
    のマスタ・バスへ結合されているアクセッシング・マス
    タにより発生されたバス・オペレーションの不可分シー
    ケンスを遠隔バスに保存するためのバス間インターフェ
    イス装置とを備え、前記バス・オペレーションの不可分
    シーケンスは前記スレーブ・バスへ結合されているター
    ゲット・スレーブにより実行するコンピュータ装置にお
    いて、 オペレーション指令、および前記アクセッシング・マス
    タにより発生されたロック仲裁信号を含むスレーブ・ア
    クセス信号を受け、その信号を記憶するために前記マス
    タ・バスへ結合される第1のバス間インターフェイス
    と、 前記スレーブ・バスと少なくとも1つの介在バスを介し
    て前記ターゲット・スレーブへ結合されるロック仲裁器
    レジスタを含み、前記ロック仲裁信号を含むスレーブ・
    アクセス信号を受け、その信号を記憶する第2のバス間
    インターフェイスと、を備え、前記ターゲット・スレー
    ブがバス・オペレーションの前記不可分シーケンスの前
    記第1のオペレーションを受けた時に、前記第2のバス
    間インターフェイスは放棄および再試行信号を発生し
    て、前記アクセッシング・マスタと、前記バスと、前記
    マスタ・バス間インターフェイスとを前記第2のバス間
    インターフェイスから順次切り離すコンピュータ装置。
JP28111192A 1991-09-27 1992-09-28 バス・オペレーションの不可分シーケンスを保存する方法,バス・インターフェイスおよびコンピュータ装置 Expired - Fee Related JP3388549B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US76683491A 1991-09-27 1991-09-27
US766834 1991-09-27

Publications (2)

Publication Number Publication Date
JPH06266681A true JPH06266681A (ja) 1994-09-22
JP3388549B2 JP3388549B2 (ja) 2003-03-24

Family

ID=25077663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28111192A Expired - Fee Related JP3388549B2 (ja) 1991-09-27 1992-09-28 バス・オペレーションの不可分シーケンスを保存する方法,バス・インターフェイスおよびコンピュータ装置

Country Status (5)

Country Link
US (1) US5572734A (ja)
EP (1) EP0535822B1 (ja)
JP (1) JP3388549B2 (ja)
KR (1) KR100192529B1 (ja)
DE (1) DE69223304T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015508193A (ja) * 2012-01-23 2015-03-16 クアルコム,インコーポレイテッド バスデッドロックを回避するためのトランザクション順序付け

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CZ289034B6 (cs) * 1993-07-16 2001-10-17 D2B Systems Company Ltd. Způsob jednokanálové komunikace ve vícestanicovém komunikačním sběrnicovém systému a zařízení pro jeho provádění
US5835742A (en) * 1994-06-14 1998-11-10 Apple Computer, Inc. System and method for executing indivisible memory operations in multiple processor computer systems with multiple busses
FR2726383A1 (fr) * 1994-10-26 1996-05-03 Trt Telecom Radio Electr Systeme de traitement d'informations comportant au moins deux processeurs
JPH0981507A (ja) * 1995-09-08 1997-03-28 Toshiba Corp コンピュータシステム
US5943483A (en) * 1995-12-11 1999-08-24 Lsi Logic Corporation Method and apparatus for controlling access to a bus in a data processing system
US5737545A (en) * 1996-05-21 1998-04-07 Vlsi Technology, Inc. Computer bus mastery system and method having a lock mechanism
US6323755B1 (en) 1998-08-19 2001-11-27 International Business Machines Corporation Dynamic bus locking in a cross bar switch
US6275890B1 (en) 1998-08-19 2001-08-14 International Business Machines Corporation Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration
US6895456B2 (en) * 1998-12-01 2005-05-17 Hewlett-Packard Development Company, L.P. System supporting multicast master cycles between different busses in a computer system
US6381663B1 (en) 1999-03-26 2002-04-30 Hewlett-Packard Company Mechanism for implementing bus locking with a mixed architecture
KR100338954B1 (ko) * 1999-12-30 2002-05-31 박종섭 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법
US6587964B1 (en) * 2000-02-18 2003-07-01 Hewlett-Packard Development Company, L.P. Transparent software emulation as an alternative to hardware bus lock
KR100716950B1 (ko) * 2000-08-11 2007-05-10 삼성전자주식회사 버스 시스템
US6658510B1 (en) 2000-10-18 2003-12-02 International Business Machines Corporation Software method to retry access to peripherals that can cause bus timeouts during momentary busy periods
US6754753B2 (en) * 2001-04-27 2004-06-22 International Business Machines Corporation Atomic ownership change operation for input/output (I/O) bridge device in clustered computer system
US6832280B2 (en) * 2001-08-10 2004-12-14 Freescale Semiconductor, Inc. Data processing system having an adaptive priority controller
US7856346B2 (en) * 2002-05-10 2010-12-21 Arm Limited Emulating multiple bus used within a data processing system
US7007122B2 (en) * 2002-11-27 2006-02-28 Lsi Logic Corporation Method for pre-emptive arbitration
US7594053B2 (en) * 2003-12-12 2009-09-22 Alcatel-Lucent Usa Inc. Adaptive object level locking
WO2005103934A1 (en) * 2004-04-26 2005-11-03 Koninklijke Philips Electronics N.V. Integrated circuit and method for issuing transactions
US7305510B2 (en) * 2004-06-25 2007-12-04 Via Technologies, Inc. Multiple master buses and slave buses transmitting simultaneously
US20080059674A1 (en) * 2006-09-01 2008-03-06 Jiaxiang Shi Apparatus and method for chained arbitration of a plurality of inputs
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
US8549630B2 (en) * 2010-03-05 2013-10-01 The Regents Of The University Of California Trojan-resistant bus architecture and methods
KR102285749B1 (ko) * 2014-11-10 2021-08-05 삼성전자주식회사 세마포어 기능을 갖는 시스템 온 칩 및 그것의 세마포어 구현 방법
KR102649020B1 (ko) 2021-10-08 2024-03-18 한국수력원자력 주식회사 원자력발전소 연계 수소생산시스템 및 운용방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2494010B1 (fr) * 1980-11-07 1986-09-19 Thomson Csf Mat Tel Dispositif d'arbitration decentralisee de plusieurs unites de traitement d'un systeme multiprocesseur
US4586128A (en) * 1983-04-14 1986-04-29 Burroughs Corporation Arbitrator circuit and technique for use in a digital computing system having multiple bus controllers
US4787033A (en) * 1983-09-22 1988-11-22 Digital Equipment Corporation Arbitration mechanism for assigning control of a communications path in a digital computer system
US4633394A (en) * 1984-04-24 1986-12-30 International Business Machines Corp. Distributed arbitration for multiple processors
US4760521A (en) * 1985-11-18 1988-07-26 White Consolidated Industries, Inc. Arbitration system using centralized and decentralized arbitrators to access local memories in a multi-processor controlled machine tool
US4785394A (en) * 1986-09-19 1988-11-15 Datapoint Corporation Fair arbitration technique for a split transaction bus in a multiprocessor computer system
JPS63284660A (ja) * 1987-05-16 1988-11-21 Nec Corp プロセッサ間通信方式
US5168568A (en) * 1989-02-06 1992-12-01 Compaq Computer Corporation Delaying arbitration of bus access in digital computers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015508193A (ja) * 2012-01-23 2015-03-16 クアルコム,インコーポレイテッド バスデッドロックを回避するためのトランザクション順序付け

Also Published As

Publication number Publication date
DE69223304T2 (de) 1998-06-18
EP0535822B1 (en) 1997-11-26
KR100192529B1 (ko) 1999-06-15
DE69223304D1 (de) 1998-01-08
KR930006556A (ko) 1993-04-21
JP3388549B2 (ja) 2003-03-24
EP0535822A1 (en) 1993-04-07
US5572734A (en) 1996-11-05

Similar Documents

Publication Publication Date Title
JP3388549B2 (ja) バス・オペレーションの不可分シーケンスを保存する方法,バス・インターフェイスおよびコンピュータ装置
US5611058A (en) System and method for transferring information between multiple buses
US8082378B1 (en) Master and slave side arbitrators associated with programmable chip system components
KR910007750B1 (ko) 다중 프로세서 컴퓨터 시스템에서 다중 록 표시자를 실시하기 위한 방법 및 장치
US5068781A (en) Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
US5621897A (en) Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
US6490642B1 (en) Locked read/write on separate address/data bus using write barrier
US6018792A (en) Apparatus for performing a low latency memory read with concurrent snoop
US5283870A (en) Method and apparatus for avoiding processor deadly embrace in a multiprocessor system
JP3466212B2 (ja) コンピュータシステム
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
US5469435A (en) Bus deadlock avoidance during master split-transactions
US6012118A (en) Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus
US5708794A (en) Multi-purpose usage of transaction backoff and bus architecture supporting same
JP2574976B2 (ja) 中央アービタをスレーブアービタに変換する方法およびシステム
WO1996013774A1 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US6604159B1 (en) Data release to reduce latency in on-chip system bus
US5991855A (en) Low latency memory read with concurrent pipe lined snoops
EP1187029B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
US5708783A (en) Data bus arbiter for pipelined transactions on a split bus
JP2004185610A (ja) メモリ複製オペレーション時の不正確なキャッシュ・ライン保護機構
KR20040051608A (ko) 컴퓨터 시스템 및 컴퓨터 시스템의 작동 방법
US5815676A (en) Address bus arbiter for pipelined transactions on a split bus
JPH06266657A (ja) 情報処理装置
JPS63286949A (ja) バス制御方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees