JPH0625985B2 - 多重プロセッサコンピュータシステムにおけるプロセッサによるシステムリソースに対する適切なアクセスを保証するための方法及び装置 - Google Patents

多重プロセッサコンピュータシステムにおけるプロセッサによるシステムリソースに対する適切なアクセスを保証するための方法及び装置

Info

Publication number
JPH0625985B2
JPH0625985B2 JP63504135A JP50413588A JPH0625985B2 JP H0625985 B2 JPH0625985 B2 JP H0625985B2 JP 63504135 A JP63504135 A JP 63504135A JP 50413588 A JP50413588 A JP 50413588A JP H0625985 B2 JPH0625985 B2 JP H0625985B2
Authority
JP
Japan
Prior art keywords
node
access
lockout
bus
commander
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 - Fee Related
Application number
JP63504135A
Other languages
English (en)
Other versions
JPH02501097A (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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02501097A publication Critical patent/JPH02501097A/ja
Publication of JPH0625985B2 publication Critical patent/JPH0625985B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

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

Description

【発明の詳細な説明】 発明の背景 本発明は、コンピュータシステムに関し、より詳細に述
べるならば、バスによって相互接続された多重プロセッ
サを有し且つ1つのリソースに対してアクセスコマンド
を開始させることのできるコンピュータシステムに関す
る。
現代のコンビュータシステムは、総合的な計算能力を高
くするために共通バスによって相互接続される多重プロ
セッサ、メモリリソースおよび入出力(I/O)装置を
有している。このような構成により、1秒当り数百万の
命令を実行しうる非常に強力なシステムが与えられる。
しかしながら、多重プロセッサを相互接続すると、それ
ら多重プロセッサがメモリまたは入出力リソースに同時
にアクセスを試みるという問題が生ずる。例えば、いく
つかのプロセッサがそれぞれ読取り−変更−書込み(R
MW)を試みるときに問題が生ずる。あるRMW動作に
おいては、1つのプロセッサがあるメモリロケートョン
からデータを検索し、そのデータに対してある演算を行
い、その変更されたデータを元のメモリロケーションへ
書き込む。1つのプロセッサが1つのメモリロケーショ
ンに対するRMW動作を試み、且つもう1つのプロセッ
サが最初のプロセッサのRMW動作の読取り動作とその
RMW動作の書込み部分との間の時間期間に同じメモリ
ロケーションに対してRMW動作を試みるような場合
に、システムの完全性に影響するような予期しえない結
果が起りうる。
多重プロセッサが同じメモリロケーションに対してRM
W動作を行なうのを防止する1つの方法は、インターロ
ック読取コマンドの如き排他的アクセスコマンドを与え
ることである。この方法は、ロックビットの如きロック
インディケータを使用するものであり、そのロックビッ
ドは、RMW動作の読取り部分が実行されるときにセッ
トされ、そのRMW動作の書込み部分が完了した後にリ
セットされる。そのロックビットがセットされるときメ
モリのあるロケーションに対して第2のプロセッサがR
MW動作を開始させようとするとき、そのメモリはロッ
ク状態情報を戻すようにさせられる。そのロック状態情
報は、その第2のインターロック読取りコマンドがその
メモリによって受け入られていないことをそのプロセッ
サに指示する。
インターロック読取り動作は、RMW動作を実行しよう
としている多重プロセッサによって生ずる問題を軽減す
る。各プロセッサは例えば、ラウンドロビンアルゴリズ
ムを使用した仲裁プロセスによってインターロック読取
り動作に対してバスへの公平なアクセスが許される。し
かしながら、機能上依然として問題がある。例えば、あ
る特定のバストラフィック状態のもとでは、ある特定の
プロセッサがロックされたメモリロケーションに繰り返
し遭遇することがあり、適時にメモリリソースへの必要
なアクセスを得ることができないことがありうる。この
ような問題は、メモリモジュール全体に対してでなく、
メモリモジュールのある部分にそれぞれ関連付けた多重
のロックビットをそのメモリモジュールに対して設ける
ことによって減少させられる。このような多重ロックビ
ットは、メモリモジュールに対するインターロックされ
た読取り動作をよりきめこまかく行ない、インターロッ
ク読取り動作後メモリのより小さな部分を結合する。多
重ロックビットを含むシステムは、米国特許出願449
54号明細書に記載されている。
このような解決方法によれば、RMW動作の成功割合が
より高くされ、システムの効率が改善される。しかし、
ある条件のものでは、選択されたプロセッサは、依然と
してメモリアクセスの問題にぶつかる。バス仲裁は、シ
ステムバスへの公平なアクセスをそのようなノードに許
すことによってシステムバスへの適切なアクセスを得る
助けをする。しかし、ある特定の状態のもとでは、その
ような公平なバイアクセスでは、メモリ自身への適切な
アクセスを保証していない。例えば、同時にインターロ
ック読取りコマンドを実行する2又はそれ以上のプロセ
ッサは、他のノードからのインターロック読取りコマン
ドと同期され得て、ある特定のプロセッサはメモリが他
のノードによってロックされた時にメモリコマンドを与
えるだけで、それらのプロセッサはメモリリソースへの
アクセスを実効的に否定される。
多重プロセッサシステムにおいてシステムリソースが長
い間否定される別の場合としては、入出力アダプタがそ
のような要求に答えうるよりも速い割合で多重プロセッ
サが入出力バスにアクセスしようとする時である。この
場合には、入出力アダプタの入力キューは、すぐに満た
されてしまい、その結果、その後に入出力バスにアクセ
スを試みるプロセッサに対して非承認指示がなされてし
まう。
前述の説明では、プロセッサノード、メモリノード及び
入出力ノードを使用するコンピュータシステムの動作に
ついて強調しているのであるが、このようなシステムの
より一般的な説明では、コマンダノード、すなわち、バ
スのトランザクションを開始させるノード及びレスポン
ダノード、すなわち、コマンダノードによって開始され
るトランザクションに応答するノードである。種々な時
間にて、単一の装置は、コマンダノードとして機能した
り、レスポンダノードとして機能したりしうる。
発明の概要 本発明の目的は、すべてのプロセッサがシステムリソー
スへ適当にアクセスできるような多重プロセッサシステ
ムを提供することである。
本発明の別の目的は、すべてのプロセッサがメモリリソ
ースへのアクセスを保証されているインターロック読取
りコマンドを有する多重プロセッサシステムを提供する
ことである。
本発明の更に別の目的は、プロセッサが繰り返しロック
応答メッセージのためにメモリヘのアクセスを否定され
るときにインターロック読み取りコマンドが禁止される
多重プロセッサシステムを提供することである。
本発明の付加的な目的および効果は、次の記載にて部分
的に説明されており、且つその記載から部分的に明らか
であり、また、本発明を実施することによって分ろう。
本発明の目的及び効果は、請求の範囲に特に記載された
装置及び組み合わせによって実現され達成される。
本発明は、プロセッサによって受信されるリソース否定
指示に応答して、そのリソースがそのリソース否定指示
を受けたプロセッサへ適当なサービスを与えうるまで、
システムリソースに付加的な要求をするコマンドの発生
を制限することによって、従来技術の問題点及び欠点を
克服する。
本発明の目的を達成するため、本発明に従えば、あるリ
ソースノードへの排他的なアクセスを、バスに接続され
た他のノードによって保証し、そのリソースノードへの
アクセスを得るアクセスコマンドを発生する多重ノード
データ処理システムが提供される。このシステムは、レ
スポンダノードとして機能するリソースノードを備え
る。そのリソースは、アクセスコマンドを処理する手段
と、この処理手段がアクセスコマンドに応答しないよう
にさせられるときリソース否定指示を送信する手段とを
含んでいる。また、そのシステムは、各々コマンダノー
ドとして機能し、且つ、バスを介してリソースノードへ
アクセスコマンドを受信する手段を含む複数のノードを
備える。
更に、そのシステムは、コマンダノードの1つに接続さ
れ且つアサートされた状態とアサートされていない状態
との間で所定のロックアウトアサーション基準に従って
リソース否定指示に応答して動作するロックアウトイン
ディケータと、ロックアウトインディケータを監視し、
且つロックアウトインディケータがアサートされた状態
にあるときに所定のアクセスゲート基準に従ってリソー
スノードへのアクセスコマンドの発生を阻止するロック
アウトチェック手段とを備える。
本明細書に組み入れられその一部を構成している添付図
面は、本発明の一実施例を例示しており、本明細書の記
載と一緒になって本発明の原理を説明している。
図面の簡単な説明 第1図は、本発明を実施するデータ処理システムのブロ
ック線図、 第2図は、第1図のデータ処理システムにおいてバスに
結合されたノードのブロック線図、 第3図は、第1図のデータ処理システムに使用されるタ
イミング信号を示す代表的なタイミング線図、 第4図は、第1図及び第2図のノードに使用されるデー
タインターフェイス61のブロック線図、 第5図は、第1図のデータ処理システムにおけるアービ
タのブロック線図、 第6図は、インターロック読取りトランザクション中に
第1図のシステムバスに現われる信号を示すタイミング
線図、 第7図は、第1図のデータ処理システムのプロセッサノ
ードのブロック線図、 第8図は、第1図のデータ処理システムのメモリノード
のブロック線図、 第9図は、第8図はのプロセッサノードのロックアウト
チェック回路のブロック線図、 第10図は、本発明を例示する一連のアクセス共通トラ
ンザクションの例を示す図である。
好ましい実施例の詳細な説明 次に、本発明の好ましい実施例について、添付図面に例
示された例について詳細に説明する。
A.システム全体の説明 第1図は、本発明によるデータ処理システム20の一例
を示している。システム20の中心部はシステムバス2
5であり、これは、多数のプロセッサと、メモリサブシ
ステムと、I/Oシステムとの間で通信を行なうことの
できる同期バスである。システムバス25を介しての通
信は、周期的なバスサイクルを用いて同期的に行なわれ
る。システムバス25に対する典型的なマバスサイクル
タイムは、64nSである。
第1図において、システムバス25は、2つのプロセッ
サ31及び35と、メモリ39と、1つのI/Oインタ
ーフェイス41と、1つのI/Oユニット51とに接続
される。I/Oユニット53は、I/Oバス45及びI
/Oユニットインターフェイス41によりシステムバス
25に接続される。
データ処理システム20の好ましい実施例では、中央ア
ービタ(仲裁回路)28もシステムバス25に接続され
ている。アービタ28は、幾つかのタイミング及びバス
仲裁信号をシステムバス25上の他の装置へ直接供給
し、ある信号をこれらの装置とで共有する。
第1図に示されたものは、現在好ましいと考えられるも
のであり、必ずしも本発明をこれに限定するものではな
い。例えば、I/Oユニット53はシステムバス25に
直接接続することができるし、アービタ28は、本発明
について述べるように動作しなくてもよい。
本発明を説明する上で使用する用語として、プロセッサ
31及び35、メモリ39、I/Oインターフェイス4
1、及びI/O装置51は、全て「ノード」と称する。
「ノード」とは、システムバス25に接続されるハード
ウェア装置と定義する。
本発明を説明するのに用いる用語によれば、「信号」又
は「ライン」は、物理的な配線の名称を指すものとして
交換可能に用いられる。「データ」又は「レベル」とい
う用語は、信号又はラインがとることのできる値を指す
ものとして用いられる。
ノードは、システムバス25を介して他のノードとの転
送を実行する。「転送」は、共通の送信器及び共通のア
ービタを分担する1つ以上の連続サイクルである。例え
ば、あるノードがシステムバス25上の別のノードから
情報を得るために開始する読み取り動作においては、第
1のノードから第2のノードへコマンドを転送した後
に、ある程度の時間が経ってから、第2のノードから第
1のノードへ1つ以上の戻りデータを転送することが必
要である。
「トランザクション」は、システムバス25において実
行される完全な論理的タスクとして定められ、2つ以上
の転送を含むことができる。例えば、コマンド転送に続
いて1つ以上の戻りデータ転送を行う読み取り動作は1
つのトランザクションである。システムバス25の好ま
しい実施例では、許容できるトランザクションが種々の
データ長さの転送をサポートし、これは、読み取り、書
き込み(マスクされた)、インターロック読み取り、ロ
ック解除書き込み及び割り込み動作を含む。インターロ
ック読み取りと、通常の即ち非インターロック読み取り
との相違は、特定位置に対するインターロック読み取り
の場合にその位置に記憶された情報を検索しそしてその
後のインターロック読み取りコマンドによってアクセス
をその記憶された情報に制限することである。アクセス
の制限は、ロック機構をセットすることによって行なわ
れる。その後のロック解除書き込みコマンドは、その指
定の位置に情報を記憶し、そしてその位置においてロッ
ク機構をリセットすることによりその記憶された情報へ
のアクセスを復帰する。従って、インターロック読み取
り/ロック解除書き込み動作は、ある種の読み取り−変
更−書き込み動作である。
システムバス25は「保留された」バスであるから、他
のノードが応答を待機して浪費してしまうバスサイクル
を使用できるようにすることにより、バスリソースを効
率良く使用するよう促す。保留されたバスにおいては、
1つのノードがトランザクションを開始した後に、その
トランザクションが完了する前に他のノードがバスにア
クセスすることができる。従って、そのトランザクショ
ンを開始するノードは、全トランザクション時間中バス
を束縛するのではない。これに対し、非保留バスの場合
には、全トランザクション中バスが拘束される。例え
ば、システムバス25においては、ノードが読み取りト
ランザクションを開始しそしてコマンドの転送を行なっ
た後に、そのコマンド転送が向けられるノードは、その
要求されたデータを直ちに返送することができない。従
って、コマンド転送と、読み取りトランザクションの戻
りデータ転送との間にバス25のサイクルを使用するこ
とができる。システムバス25は他のノードがこれらの
サイクルを使用できるようにする。
システムバス25を使用する場合に、各ノードは、情報
の転送を行うために異なった役割を果たすことができ
る。これらの役割の1つが「コマンダ」であり、これは
現在処理中のトランザクションを開始したノードとして
定義される。例えば、書き込み又は読み取り動作におい
ては、コマンダは、書き込み又は読み取り動作を要求し
たノードであり、これは、必ずしもデータを送信もしく
は受信するノードでなくてもよい。システムバス25の
好ましいプロトコルにおいては、ノードは、たとえ別の
ノードがトランザクションのあるサイクル中にシステム
バス25の所有権をもったとしても全トランザクション
を通じてコマンダとして保持される。例えば、あるノー
ドは、読み取りトランザクションのコマンド転送に応答
してデータ転送中にシステムバス25の制御権をもつ
が、このノードはバスのコマンダとはならない。むし
ろ、このノードは「レスポンダ」と称する。
レスポンダはコマンダに応答する。例えば、コマンダが
ノードAからノードBにデータを書き込むための書き込
み動作を開始した場合には、ノードBがレスポンダとな
る。更に、データ処理システム20においては、ノード
が同時にコマンダ及びレスポンダとなることがある。
送信器及び受信器は、個々の転送中にノードがとる役割
を果たす。「送信器」は、転送中にシステムバス25に
出される情報のソースであるノードとして定義される。
「受信器」は、送信器の相補的なものであり、転送中に
システムバス25に出された情報を受信するノードとし
て定義される。例えば、読み取りトランザクション中
に、コマンダは、最初、コマンドの転送中に送信器とな
りそして戻りデータの転送中に受信器となる。
システムバス25に接続されたノードがシステムバス2
5上で送信器になろうとする場合には、そのノードが中
央のアービタ28とその特定ノードとの間に接続された
2本の要求ラインCMD REQ(コマンド要求)及び
RES REQ(レスポンダ要求)の一方を肯定する。
一般に、ノードは、そのCMD REQラインを用いて
コマンダとなることを要求しそしてシステムバス25を
介してトランザクションを開始し、そしてノードは、そ
のRES REQラインを用いてレスポンダとなってデ
ータ又はメッセージをコマンダへ返送する。一般に、中
央アービタ28は、どのノードがバスへのアクセスを要
求しているか(即ち、どの要求ラインが肯定されたか)
を検出する。次いで、アービタは、肯定された要求ライ
ンの1つに応答して、優先順位アルゴリズムに基づいて
バス25への対応するノードアクセスを許可する。好ま
しい実施例では、アービタ28は、2つの独立した円形
の待ち行列を維持し、即ち、その一方の待ち行列はコマ
ンダ要求に対するものでありそしてもう一方はレスポン
ダ要求に対するものである。好ましくは、レスポンダ要
求はコマンダ要求よりも優先順位が高く、コマンダ要求
の前に処理される。
コマンダ要求ライン及びレスポンダ要求ラインは仲裁信
号であると考えられる。第1図に示すように、仲裁信号
は、中央アービタ28から各ノードへ送られるポイント
−ポイントの条件に応じた許可信号と、マルチバスサイ
クル転送を実行するシステムバス拡張信号と、例えば、
メモリのようなノードがシステムバス上のトラヒックを
瞬間的に維持できなくなったときに新たなバストランザ
クションの開始を制御するシステムバス抑制信号とを含
む。
システムバス25を構成することのできる他の形式の信
号は、情報転送信号、応答信号、制御信号コンソール/
フロントパネル信号、及び幾つかの種々の信号を含む。
情報転送信号は、データ信号、現在サイクル中にシステ
ムバスで行なわれるファンクションを表わすファンクシ
ョン信号、コマンダを識別する識別子信号、及びパリテ
ィ信号を含む。反応信号は、一般に、データ転送の状態
を送信器に通知するための受信器からの確認信号を含
む。
制御信号は、クロック信号と、低いライン電圧又は低い
DC電圧を示す信号のような警報信号と、初期化中に使
用されるリセット信号と、ノード欠陥信号と、バスのア
イドリングサイクル中に用いられる欠陥信号と、エラー
欠陥信号とを含む。コンソール/フロントパネル信号
は、直列データをシステムコンソールに送信したりそこ
から受信したりするための信号と、始動時にブートプロ
セッサの特性を制御するためのブート信号と、システム
バス25上のプロセッサの消去可能なPROMを変更で
きるようにする信号と、フロントパネルのRUN LI
GHTを制御する信号と、あるノードのクロック論理回
路にバッテリ電力を供給する信号とを含む。その他の信
号としては、スペア信号に加えて、各ノードがその識別
コードを定めることができきるようにする識別信号を含
む。
第2図は、システムバス25に接続されたノード6例の
一列を示している。ノード60は、プロセッサであって
もよいし、メモリであってもよいし、I/Oユニットで
あってもよいし、I/Oインターフェイスであってもよ
い。第2図に示す例では、ノード60は、ノードに特定
の論理回路65と、ノードバス67と、データインター
フェイス61及びクロックデコーダ63を含むシステム
バスインターフェイス64とを備えている。データイン
ターフェイス61、クロックデコーダ63及びノードバ
ス67は、システムバス25に接続されたノードのため
の標準的な要素であるのが好ましい。ノードに特定の論
理回路65は、システムバスインターフェイス64とは
異なった集積回路を用いており、好ましくは、ノードの
特定の機能を実行するようにユーザによって指定された
回路に加えて、ノードバス67にインターフェイスする
標準的な回路を含んでいる。一般に、データインターフ
ェイス61は、ノード60とシステムバス25との間の
主たる論理的及び電気的なインターフェイスであり、ク
ロックデコーダ63は中央で発生されるクロック信号に
基づいてノード60へタイミング信号を供給し、ノード
バス67はデータインターフェイス61とノードに特定
の論理回路65との間の高速インターフェイスをなす。
第2図に示されたノード60及びシステムバスインター
フェイス64の好ましい実施例では、クロックデコーダ
63は、システムバス25を経て送られるべき信号を形
成するための制御回路を含んでおり、中央アービタ28
から受け取ったクロック信号を処理して、ノードに特定
な論理回路65及びデータインターフェイス61のため
のタイミング信号を得るようにする。クロックデコーダ
63によって得られたタイミング信号は中央で発生され
たクロック信号を用いているので、ノード60は、シス
テムバス25と同期して作動する。
第3図は、1つのバスサイクル、クロックデコーダ63
によって受け取ったクロック信号、及びクロックデコー
ダ63によって発生される幾つかのタイミング信号を示
すタイミング図である。クロックデコーダ63によって
受け取られるクロック信号は、第3図に示すように、T
ime H信号、Time L信号及びPhase信号
を含む。Time H及びTime Lは、基本的なク
ロック信号の逆数であり、そしてPhase信号は、基
本的なクロック信号を3で分割することによって得られ
る。クロックデコーダ63によって発生されたタイミン
グ信号は、C12、C23、C34、C45、C56及
びC61を含み、これらは全て第3図に示されている。
データインターフェイス61によって要求されバイサイ
クル当たり一度生じるこれらのタイミング信号は、デー
タインターフェイス61に送られ、そしてデータインタ
ーフェイス61に送られたタイミング信号と等価なもの
を含む1組のタイミング信号がバッファされて、ノード
に特定の論理回路65に送られる。バッファ動作の目的
は、ノードに特定の論理回路65がタイミング信号を不
適切にロードすることによってシステムバスインタヘー
フェイス64の動作に悪影響を及ぼさないようにするこ
とである。クロック63は、クロック信号を使用して、
各バスサイクルごとに6つのサブサイクルを形成し、そ
してこれらのサブサイクルを使用して、6つのタイミン
グ信号CXYを形成する。但し、X及びYは、1つのタ
イミング信号を形成するように合成される2つの隣接す
るサブサイクルを表わしている。
システムバスの各ノードは、そのクロックデコーダ63
によって発生されたそれ自身の対応する1組のタイミン
グ信号を有している。通常、対応する信号は、システム
全体を通じて各ノードごとに全く同じ時間に生じるが、
クロックデコーダ63と多数のノードの他の回路との間
の変動により対応する信号間にタイミング変動を招く。
これらのタイミング変動は、一般に「クロックスキュ
ー」として知られている。
第4図は、データインターフェイス61の好ましい実施
例を示している。データインターフェイス61は、ノー
ドバス67の各ラインとシステムバス25の各ラインと
の間に両方向性の高速インターフェイスを与えるための
一時的な記憶回路及びバス駆動回路の両方を含んでい
る。第4図に示すように、データインターフェイス61
は、ノードバス67からシステムバス25への通信路を
形成するために記憶要素70及び72とシステムバスド
ライバ74とを備えているのが好ましい。又、データイ
ンターフェイス61は、システムバス25からノードバ
ス67への通信路を形成するために記憶要素80及びノ
ードバスドライバ82も備えている。データインターフ
ェイス61の説明で用いたように、「記憶要素」という
用語は、一般に、透過ラッチやマスター/スレーブ記憶
要素のような双安定性の記憶装置を指すものであって、
特定の手段を指すものではない。当業者であれば、どの
形式の記憶要素が適当であるか明らかであろう。
第4図に示すように、記憶要素70は、その入力がノー
ドバス67からデータを受け取るように接続されそして
その出力が記憶要素72の入力に接続される。記憶要素
72の出力は、システムバスドライバ74の入力に接続
され、そしてその出力はシステムバス25に接続され
る。記憶要素70及び72は、クロックデコーダ63に
よって発生されたタイミング信号から導出されるノード
バス制御信号76及び78によって各々制御される。記
憶要素70及び72は、ノードバス67からシステムバ
ス25へデータをパイプライン動作するための2段の一
時的な記憶手段を形成する。種々の個数の記憶段を使用
することもできる。
システムバスドライバ74は、システムバスドライバイ
ネーブル信号79によって制御される。システムバスド
ライバイネーブル信号79の状態により、システムバス
ドライバ74の入力は、その出力に接続されて記憶要素
72の出力のデータをシステムバス25に転送するか、
又はその出力からデカップルされる。システムバスドラ
イブイネーブル信号79がシステムバスドライバ74の
入力と出力をデカップルするときには、システムバスド
ライバ74がシステムバス25に高インピーダンスを与
える。又、システムバスドライブイネーブル79は、シ
ステムバス25から受け取ったクロック信号と、ノード
に特定の論理回路65から受け取った制御信号とに基づ
いてクロックデコーダ63によって発生される。
記憶要素80は、その入力端子がシステムバス25に接
続されそしてその出力端子がノードバスドライバ82の
入力に接続される。ノードバスドライバ82の出力はノ
ードバス67に接続されて戻される。好ましくは、透過
ラッチである記憶要素80は、クロックデコーダ63に
よって発生されたタイミング信号から導出されるシステ
ムバス制御信号85によって制御される。ノードバスド
ライブ信号87は、システムバスドライブ信号79がシ
ステムバスドライバ74を制御するのと同様にノードバ
スドライバ82を制御する。従って、ノードバスドライ
バ信号87に応答して、ノードバスドライバ82はその
入力をその出力に接続するかその入力をその出力からデ
カップルし、ノードバス67に高インピーダンスを与え
る。
システムバス25を経ていかににデータが転送されるか
を説明するために、システムバスドライブイネーブル信
号79と制御信号85との間の関係を理解することが重
要である。ここに示す実施例では、この関係が第3図に
示されている。システムバスドライブイネーブル信号7
9は、通常、バスサイクルの始めから終りまで導出され
る。新たなデータは、バスサイクルにおいてドライバ伝
播及びバス安定時間が経過した後のある時間にシステム
バス25から受け取られるようになる。好ましい実施例
においては、記憶要素80は透過ラッチである。制御信
号85は、クロックC45と論理的に透過である。バス
のタイミングは、制御信号85が否定される若干前にシ
ステムバス25のデータが受け取られるように確保す
る。記憶要素80は、制御信号85を否定する前の少な
くとも設定時間に安定していて且つ制御信号85を否定
した後の保持時間中安定したまゝであるバスデータを記
憶する。
ノードバス67は、ノードに特定の論理回路65とシス
テムバス25との間でデータインターフェイス61によ
り両方向性のデータ転送を行なうことのできる非常に高
速度のデータバスであるのが好ましい。第2図に示され
たノード60の好ましい実施例では、ノードバス67
は、システムバスインターフェイス64とノードに特定
の論理回路65との間の点/点接続を形成する相互接続
手段である。然し乍ら、本発明によれば、このような点
/点相互接続は必要とされない。
第5図は、システムバス25に接続された中央アービタ
28の好ましい実施例を示している。中央アービタ28
は、システムバス25のためのクロック信号を発生する
と共に、システムバス25上のノードに対するバスの所
有者関係を許可する。中央アービタ28は、仲裁回路9
0と、クロック回路95と、発振器97とを備えている
のが好ましい。発振器97は、基本的なクロック信号を
発生する。クロック95は、仲裁回路90のタイミング
信号と、システムバス25上でタイミングをとるための
基本的なTime H、Time L及びPhaseク
ロック信号とを発生する。仲裁回路90は、コマンダ及
びレスポンダの要求信号を受け取り、システムバス25
にアクセスしようとしているノード間の競合の仲裁を果
たし、そしてコマンダ及びレスポンダの要求に対する上
記待ち行列を維持する。又、仲裁回路90は、幾つかの
制御信号をクロック95へ供給する。
B.インターロック動作の説明 簡単に前述したように、種々な多数のトランザクション
がバス25にて許される。各場合において、そのトラン
ザクションは、1つのノードから別のノードへの1つ又
はそれ以上の別々の転送からなっている。レスポンダノ
ードが1つの又はそれ以上のバスサイクル中にコマンド
転送を首尾よく受けるときには、そのレスポンダノード
は、その転送の各サイクルの後その第2のバスサイクル
の始めで確認信号を発生する。このような確認信号は、
元の転送に含まれたコマンドが首尾よく実行されたこと
を指示しないで、その転送が所望のレスポンダノードの
入力キューに首尾よく置かれたことを指示するだけであ
る。本発明に適切なトランザクションについて、以下に
簡単に説明する。
アドレススペースのある領域を管理するレスポンダノー
ドにおける特定のロケーションからコマンダノードへ4
バイト、8バイト、16バイト又は32バイトブロック
のデータを移動させるのに読取りトランザクションが使
用される。好ましい実施例では、メモリ及び入出力オペ
レーションが共通のアドレススペースに当てられる。レ
スポンダノードは、メモリノードであったり、プロセッ
サノードであったり、入出力ノードであったりしうる。
インターロック読取りトランザクションは、読取りトラ
ンザクションに類似している。しかしながら、インター
ロック読取りトランザクションの正確な作用は、レスポ
ンダノードのロックタグの状態に依存している。ロック
タグは、アドレススペースにおけるロケーション又はロ
ケーションの群ヘアクセスを阻止する。ロックタグの作
用は、金属性のブラックボード端に発生するようなシス
テム20のアドレススペースを見ることによって理解さ
れうる。もし、インターロック読取りトランザクション
において特定されたアドレススペースのロケーションが
すでにロックタグでカバーされているならば、すなわ
ち、その特定のアドレススペースがロックされているな
らば、そのレスポンダノードは、ロックされた応答メッ
セージでもってそのインターロック読取り要求に応答
し、データは戻されない。これは、コマンダに対して、
そのインターロック読取りコマンドにおいて特定された
アドレススペースのロケーションがアクセスしえないこ
とを意味している。このロックされた応答メッセージ
は、そのレスポンダノードがそのインターロック読取り
コマンドを処理した後且つそのレスポンダノードがバス
25へのアクセスを得ることができた後、そのコマンダ
へ送信される。従って、そのコマンダは、そのインター
ロック読取りトランザションのコマンド転送の後、特定
されていない時間にロックされた応答メッセージを受け
る。
その特定されたロケーションがロックされていない場
合、すなわち、ロックタグを関連付けられていない場
合、そのインターロック読取コマンドにおいて特定され
たアドレスに記憶された情報は、そのインターロック読
取コマンドを発生したコマンダノードへ応答メッセージ
にて戻される。レスポンダノードは、また、インターロ
ック読取りコマンドにて特定されらたアドレススペース
におけるロケーションにロックタグを付け次のインター
ロック読取りコマンドに対するアドレススペースにおけ
る特定されたロケーションへのアクセスを否定する。
アンロック書き込みトランザクションは、インターロッ
ク読取りトランザクションに対して相補的なものであ
る。コマンダノードが読取り−変更−書き込みオペレー
ションにおいてその読取りを首尾よく完了してロケーシ
ョンを変更するとき、そのコマンダノードはインターロ
ック読取りコマンドによって一時的にロックされたアド
レススペースのロケーションをアンロックしなければな
らない。そのコマンダは、適当に変更されたデータを特
定されたロケーションへ書き込むためにアドレススペー
スの特定されたロケーションに対するアンロック書き込
みトランザクションを実行することにより、このオペレ
ーションを完遂する。レスポンダノードは、そのアドレ
ススペースをアンロックして要求されたデータを書き込
むことによってそのアンロック書込みコマンドを処理す
る。
インターロック読取りコマンド転送中にバス25を介し
て伝送されるメッセージは、64本のデータラインのデ
ータを含む。そのデータは、4ビットコマンドフィール
ド、例えば、メモリ39からプロセッサノード31へ転
送されるべきワード数を指定する2ビット長フィールド
及びデータが読み取られるべきメモリ39のアドレスロ
ケーションを指定する30ビットアドレスフィールドを
含んでいる。インターロック読取りコマンド中情報を搬
送するシステムバス25のその他のラインは、コマンド
転送を指示する4ビットファンクションコードを搬送す
る4つのファンクションラインと、インターロック読取
りコマンドを開始させたコマンドノードを識別する6ビ
ットコードを搬送する6つのIDラインと、3つのパリ
ティラインとを含む。
簡単に前述したように、システムバス25は、トランス
ミッタによるバスに与えられた情報の首尾よい受信を指
示するためにレシーバによって使用される応答信号を含
む。好ましい実施例では、応答信号は、3つの同一のワ
イヤードORコンファーメーション(CNF)ラインを
含む。3つのラインが設けられているのは、特に、入出
力レジスタへの書込み又はインターロックコマンドの場
合において、レスポンダが各コマンドに応答してどのよ
うなことをなしたかを正確にコマンダが知ることが、バ
ストランザクションを完全なものとするために非常に重
要であるからである。従って、レシーバは、3つのCN
Fラインのすべてをアサートすることによって確認(A
CK)コンファーメーションを送るか、3のCNFライ
ンのすべてをアサートしないことによって非確認(NA
CK)コンファーメーションを送るかする。3つのCN
Fラインのすべてが同じロジックレベルにてレシーバに
よって受信されない場合に真のCNF状態を決定するた
めにレシーバにエラー修正論理回路が設けられている。
ACKコンファーメーションは、レスポンダがコマンド
転送の1サイクルから情報を受け入れたこと又はコマン
ダのが応答メッセージの1つのサイクルから情報を受け
入れたことを指示する。ACKコンファメーション指示
をする読取コマンド転送サイクルは、レスポンダがある
時間後に読取り応答メッセッセージを戻すことを指示す
る。
CNFラインにて戻されたNACKコンファーメーショ
ンは、コマンド転送のそのバスサイクルからどのレシー
バも情報を受け入れていないことを指示する。これは、
次の3つの理由でありうる。(1)パリティエラーがシ
ステムバス25に生じた、(2)例えば、レシーバの入
力キューがフルであるときそのレシーバがコマンドを一
時的に受入れることができなかった、又は(3)その特
定されたアドレスに対応するレスポンダノードがない。
あるバスサイクルに対応するコンファーメーション指示
は、そのバスサイクルの次のサイクルの始めでレシーバ
ノードによってCNFラインに与えられる。
インターロック読取りトランザクションの一例について
第6図を参照して説明する。第6図の上部の水平軸は、
バス25に関する相続くバスサイクルを示している。第
6図の左側に沿って縦に並べられたレーベルは、バス2
5に含まれるライン群を示しており、すなわち、ファン
クションライン、データライン、IDライン、コンファ
ーメーションライン及び仲裁ラインを示している。第6
図の水平軸及び垂直軸によって構成されるマトリック中
のエントリーは、特定されたバスサイクル中特定された
バスラインに現われるデータの種類を記述している。
バスサイクル0では、第1のコマンダノード、例えば、
第1図のノード31が、アービタ28へのCMD RE
Q仲裁要求ライン(アービタ28に接続され第1図に示
されたポイント−ポイントラインの1つ)をアサートす
る。こうして、第6図は、サイクル1でシステムバス2
5の仲裁ラインに存在するcmdn#1要求を示す。よ
り高い優先順位のその他のノードがどれもバスへのアク
セスを同時に要求していないと仮定すると、プロセッサ
31は、サイクル1でバスアクセスを得て、メッセージ
をシステムバス25へ伝送する。
サイクル1中、バス25のファンクションラインに置か
れた情報は、そのバスのその情報が、コマンド(cm
d)情報であることを示す。バス25のデータラインに
与えられたデータは、その現在のトランザクションをイ
ンターロック読取りトランザクションとして識別し且つ
データがプロセッサ31へ戻されるべきメモリ39のア
ドレスを指定するコマンド及びアドレス(c/a)デ−
タからなる。バスサイクル1中IDラインは、現在バス
25にて伝送しているプロセッサ(コマンダ/cmd
n)ノード31の識別コードを含む。
バスサイクル2中、現在のインターロック読取りトラン
ザクションに関連してバス25にはなにも情報が与えら
れない。
インターロック読取りトランザクションの開始後2つの
サイクル(すなわち、所定時間)でバスサイクル3の始
めで、メモリノード39は、バスサイクル1中に伝送さ
れたコマンド転送メモリ39が首尾よく受けたならば、
バス25のコンファーメーションラインにてACKコン
ファーメーションを伝送する。その時、メモリ39は、
メモリ39の入力キューにコマンドメッセージを置く。
バスサイクル3の終りは、インターロック読取りトラン
ザクションにおける最初の転送の終りを形成している。
バス25に関してペンデドトランザクションであるた
め、要求された情報がメモリ39からプロセッサ31へ
戻される時間は正確には決まらない。その応答時間は、
その要求を処理するのにメモリ39によって必要とされ
る時間長及びその他のノードによって発生されるバス2
5の付加的なトラフィックをシステムバス25が処理す
るのに必要な時間量に依存している。インターロック読
取りトランザクションの2つの転送の間の時間が定まら
ないことは、第6図においてバスサイクル3及び4の間
の点線によって示されている。このようにして、バスサ
イクル4からバスサイクル7に亘って生ずるその後の情
報が第6図に示されているが、これらは、単にインター
ロック読取りトランザクションに含まれるタイミングの
特定の例に過ぎず、このようなトランザクションの第2
の転送がバス25の次のサイクルにて生じうることを理
解されたい。
メモリ39は、その入力キューからそのインターロック
読取り転送メッセージを順に除去し、その転送に含まれ
るアドレス情報を検査するようにしてそのインターロッ
ク読取りコマンドを処理する。その情報は、ロックタグ
に記憶されたアドレス値と比較され、この点は、後で、
より完全に説明する。その記憶されたアドレス値とイン
ターロック読取り転送のアドレス情報とが一致するなら
ば、これは、所望のアドレスロケーションが前のインタ
ーロック読取りコマンドによってロックされていたこと
の指示である。この時、メモリ39は、メモリノード3
9の出力キューにおいて、応答メッセージに必要とされ
る他の情報と共に、ロックされたファンクションコード
を含むロツクされた応答メッセージを発生する。
ロックタグに記憶されたアドレス値とインターロック読
取り転送アドレス情報との比較がヒットを生じないなら
ば、すなわち、転送されたアドレスがどの記憶されたア
ドレスとも対応しないならば、メモリノード39は、フ
ァンクションラインのためのグッド読取りデータ(gr
do)コードの如き正当な読取り応答ノード、データラ
インのための特定されたアドレスロケーションの内容及
びIDラインのためのインターロック読取りコマンドを
開始させたコマンダノードのコマンダ識別コードからな
る応答メッセージを構成する。この応答メッセージは、
メモリノード39の出力キューへロードされる。
メモリ39がインターロック読取りトランザクションを
処理し、後でより完全に説明する仕方でその出力キュー
内に応答メッセージを発生したとき、メモリ39は、ア
ービタ28に対してそのRES REQ要求ライン(第
1図に示した別のポイント−ポイントライン)をアサー
トする。こうして、仲裁ラインは、バスサイクル4に
て、第6図に示されるようなレスポンダ要求(res
p)指示を搬送する。この時により高い優先順位を有す
る他のノードがないと仮定すると、アービタ28は、バ
スサイクル5中にメモリ39がバス25へアクセスする
のを許す。メモリ39は、システムバス25のファンク
ションラインのグッド読取りデータ(grdo)信号、
プロセッサ31からメモリ39への初期転送のアドレス
フィールドによて指定されたメモリロケーションからシ
ステムバス25のデータラインを介してのデータの8バ
イト(すなわち、64ビット)及び始めにインターロッ
ク読取り要求を発したコマンダ(すなわち、プロセッサ
31)と戻りデータとを関連付けるバス25のIDライ
ンへのプロセッサ31のIDを含む応答メッセージを伝
送する。
バスサイクル6中、このインターロック読取りトランザ
クションに関連したシステムバス25には、トラフィッ
クは現われない。最後に、このインターロック読取りト
ランザクションは、プロセッサ31がACKコンファー
メーションをバス25のコンファーメーションラインへ
伝送するときバスサイクル7にて終了する。
メモリの同じ特定されたロケーションに対する第2のイ
ンターロック読取りトランザクションの結果として、第
6図のサイクル8−15に示されるようにバス25にデ
ータが現われる。サイクル8で、第2のコマンダ(cm
dn#2)がアービタ28へのコマンダ要求を開始させ
る。バスサイクル9−12の結果として、サイクル1−
4と同一のトラフィックがバス25に生ずる。しかし、
メモリ39は、受信したインターロツク読取りコマンド
を処理するとき、ロックタグに記憶されたアドレス値と
インターロック読取りコマンドを共に伝送されたアドレ
スとの間の一致を見る。従って、例えば、サイクル13
で、バス25のファンクションラインにLoc応答が与
えられる。ラバスサイクル14及び15は、サイクル6
及び7と同一である。
C.プロセッサ31の説明 第7図を参照するに、プロセッサ31のノード特定論理
回路65の特定の素子のより詳細なブロック線図が示さ
れている。プロセッサノード31は、すべてのノードが
そうであるように、バスインターフェイス回路64を含
んでいる。プロセッサノード31は、またプロセッサ論
理回路202を含んでいる。プロセッサ論理回路202
は、当業者にはよく知られた方法にてソフトウエアを実
行するのに必要な中央処理ユニット(CPU)回路を含
んでいる。プロセッサ論理回路202は、また、システ
ムバス25を通しての伝送を制御し且つ必要なアプリケ
ーション機能を実行するのにシステム20によって必要
とされるコマンド及びアドレス情報を発生する。
プロセッサノード31は、バスインターフェイス回路6
4から受信されたシステムバス25のファンション、デ
ータ、ID及びパリティラインの情報を監視して当業分
野にてよく知られた方法でそれらの信号のパリティチェ
ックを行なうパリティエラーチェック回路204を含ん
でいる。パリティエラーが検出されると、信号ライン2
06にパリティーエラー指示が発生される。
IDラインの情報は、取付けキャビネットにおけるプロ
セッサ31の位置によって決定されるバックプレーンの
ハードワイヤド接続210からプロセッサ31の識別コ
ードを供給されるコンパレータ回路207によって監視
される。そのコンパレータ207からの比較結果は、パ
リティエラー信号ライン206の情報と共に、確認コン
ファーメーション発生器208へ供給される。パリティ
エラーが検出されず且つ応答メッセージについてバス2
5を介して受信されたIDコードがプロセッサ31のI
Dコードと一致するならば、ACK指示が、プロセッサ
31へ向けられた応答転送の各サイクル後の第2のバス
サイクルの始めで、確認指示発生器208によってバス
25のCNFラインを通して伝送される。
バス25のファンクション及びデータラインの情報は、
バスインターフェイス64を通して、応答デコーダ21
2へ供給される。デコーダ212は、バス25を通して
のメッセージがプロセッサ31に対してのものであると
き、コンパレータ207によって可能化される。これ
は、コンパレータ207からの正の比較結果によって決
定される。もし、デコーダ212がコレンパレータ20
7によって可能化されるならば、デコーダ212は、シ
ステムバス25のファンクションラインからファンクシ
ョンコードを引き出し、特定のファンクシヨンコードの
場合、適当な動作のためプロセッサ論理回路202へバ
ス25のデータラインからコマンド及びデータ情報を供
給する。
本発明によれば、プロセッサは、リソース否定指示に応
答して、所定のロックアウトアサーション基準にしたが
ってプロセッサからのアクセスコマンドがリソースノー
ドからの不適当な応答を受けるとき、ロックアウトアク
ティベータをアサートする手段を含む。ここに示す実施
例では、この手段は、否定検出回路213を備える。ロ
ック検出器213は、バス25のファンクションライン
から応答デコーダ212によって引き出されたファンク
ション情報に応答して、デコーダ212によってデコー
ドされるメモリ39(第1図)からの応答メッセージに
てロックされた応答コードが受信されるときロックアウ
トアクティベータ215をアサートする。このロツクア
ウトアクティベータ215は、このロックアウトアクテ
ィベータ21ががアサートされるときにプロセッサ31
がロックアウトインディケータ240をアサートするよ
うに、ドライバ255へ供給される。
本発明によれば、プロセッサは、また、バスを介してア
クセスコマンドをメモリへ伝送する手段を含んでいる。
この実施例では、送信手段は、コマンド発生器214を
備える。プロセッサ31がバス25にてトランザクショ
ンを開始したいとき、コマンド、アドレス及びデータ情
報が、接続210から供給されるプロセッサ31のID
と共に、コマンド発生器214へ供給される。コマンド
発生器214は、コマンドメッセージを準備し、プロセ
ッサ31のためのコマンダ要求(CMD REQ)仲裁
ライン216をアサートする。
後でより詳細に説明するようにロックアウトチェック回
路250によって条件付けされたCMD REQライン
216のゲート付きのものであるライン216gは、コ
マンダメッセージを伝送するためにプロセッサ31がバ
ス25へのアクセスを望んでいることを、アービタ28
(第7図には示していない)に指示する。仲裁システム
を使用して、アービタ28は、元のインターロック読取
り転送後特定されていない時間してプロセッサ31への
バスアクセスを許す。
アクセスが許されるとき、コマンド発生器214は、バ
スインターフェイス64がコマンドメッセージをコマン
ド発生器214からシステムバス25へ伝送するように
させる。
インターロック読取りコマンドが向けられるレスポンダ
ノードは、インターロック読取り転送の後2サイクルし
て確認コンファーメーションを発生する。第7図に示す
ように、コマンダ発生器は、CNFラインを監視して、
システムバス25を介してプロセッサ31によって伝送
されるコマンド転送の後2バスサイクルしてCNFバス
ラインにACKコンファーメーションが存在するかを検
出する。ACKコンファーメーションの存在が検出され
ないときは、適当な修正動作がなされる。この修正動作
は、この好ましい実施例では、前のコマンドを再伝送す
ることからなる。この転送が完了するとき、レスポンダ
ノードは、インターロック読取りコマンドを処理し、シ
ステムバス25に応答メッセージを戻す。システムバス
25のトラフィック及びキュー長さによる不確定さのた
め、レスポンダノードは、そのコマンド転送後特定され
ない時間して応答メッセージを発生する。
システム20は、ワイヤードORラインを含むロックア
ウトインディケータ240を含む。ロックアウトインデ
イケータ240は、システム20のプロセッサによるイ
ンターロック読取りコマンドの発生を制限するようにア
サートされるとき作動しうる。この好ましい実施例で
は、ロックアウトインディケータ240は、すべてのノ
ードに接続される。しかしながら、本発明は、ロックア
ウトインディケータ240がすべてのノードに接続され
ることを必要としていない。
本発明によれば、プロセッサは、ロックアウトテンデイ
ケータを監視し且つロックアウトインディケータがアサ
ートされた状態にあるとき所定のアクセスゲーティング
基準に従ってプロセッサによるアクセスコマンドの発生
を阻止するロックアウトチェック手段を含む。好ましく
は、ロックアウトチェックアウト手段は、所定のアクセ
スゲーティング基準に従ってプロセッサがバスへのアク
セス要求をしないようにするための手段を備える。この
実施例では、ロックアウトチェック手段は、ロックアウ
トチェック回路250を備える。ロックアウトチェック
回路250は、プロセッサ31がバス25へのアクセス
を許されるときにアサートされるパスインターフェイス
64からのラインである許可信号252を受信する。ロ
ックアウトチェック回路250は、また、プロセッサ論
理回路202からのインターロック読取りコマンド指示
254を受け、ロックアウト検出器213からロックア
ウトアクティベータ215を受け、ロックアウトインデ
ィケータ240から信号を受ける。ロックアウトチェッ
ク回路250は、ロックアウトインディケータ240が
アサートされる特定の状態のもとで、ロックアウトチェ
ック回路250がアービタ28に対するライン216g
のCMD REQレベルの発生を抑制してプロセッサ3
1がインターロック読取り転送を発生しないように、ロ
ックアウトインディケータ240の状態を監視する。
別の実施例では、ロックアウトチェック手段は、プログ
ラマブル論理アレイによって構成される状態マシンに組
み込まれうる。
D.メモリ39の説明 第8図は、レスポンダノードとして機能しうるメモリ3
9のブロック線図を示している。第8図に示されるよう
に、メモリ39は、コマンドデコード及びアドレス及び
パリティチェック回路300を含む。回路300は、バ
スファンクション、アドレス及びアイデンティファイヤ
ーラインに接続され、周知の方法でパリティチェックを
行なう。回路300は、また、レジスタ302から供給
されるメモリ39によって与えられるアドレススペース
のリミットとバスアドレスラインの情報とを比較して、
この比較結果をアドレス一致ライン301に供給する。
バス25を介して受信されるアドレス情報がメモリ39
によって与えられるアドレススペースの範囲内にあり且
つパリティエラーが生じなかった場合には、回路300
に接続された確認発生器304がメモリ39に対する転
送の伝送サイクルの後の第2のサイクルの始めで3つの
CNFラインのすべてをアサートすることによってAC
Kコンファーメーションを発生する。
メモリ39は、バスインターフェイスユニット64を介
してバス25を通しての転送から受信されるメッセージ
(ファンクション、ID及びデータ情報からなる)を記
憶するための入力キュー306を含む。入力キュー30
6は、バス25を通して高速度で受信されたこの種のメ
ッセージが、メモリ39の比較的に遅い論理回路による
そのメッセージに対する動作がなされるまで、記憶され
るようにする。入力キュー306は、バス25のメッセ
ージのデータフィールドに現われるアドレス情報がアド
レス一致信号301のレベルによって決定されるメモリ
39に対するアドレススペースのリミット内にあると
き、バス25からのメッセージを記憶するように可能化
される。
入力キュー306の出力は、入力キュー306に記憶さ
れたメッセージからアドレス及びコマンド情報を引き出
すデコーダ308へ供給される。デコーダ308は、種
々なコマンドをデコードするため多重の指示を供給し一
組の並列な信号ラインにアドレス情報を与えるのである
が、デコーダ306のアドレス及びコマンド出力は、第
8図では、簡単化するために、それぞれ一束とされたラ
イン309及び311として示されている。
本発明によれば、メモリは、アクセスコマンドを処理
し、且つ好ましくは、排他的アクセスコマンドを処理す
る手段を備える。この実施例では、このような処理手段
は、ロックコントローラ310及びメモリイアレイ31
2を備える。ロックコントローラ310は、1987年
5月1日に出願された前述の米国特許出願第44954
号(D87−073/DEC136)明細書により完全
に説明されており、その明細書の記載は引用により本明
細書中に組み入れられているものである。アドレス及び
コマンド情報は、インターロック読取り及びアンロック
書込みコマンドを処理する助けをするロックコントロー
ラ310へ供給される。デコーダ308からのアドレス
及びコマンド情報は、メモリアレイ312へも供給され
る。メモリアレイ312は、読取り及び書込みコマンド
へ応答して、デコーダ308から受信されるアドレス情
報によって特定されるアレイ312のロケーションから
データを読み出し且つそのロケーションへデータを書き
込む。当業分野にてよく知られるように、情報は、アレ
イ312へ供給される読み取り及び書込みコマンドによ
って特定されうるアドレスによって識別される複数の別
々のロケーションにてメモリアレイ312に記憶され
る。
コントローラ310からのロック状態信号314及びメ
モリアレイ312からのメモリデータは、出力応答メッ
セージを発生する応答発生器316へ供給される。発生
器316から応答メッセージは、メモリ39が前に説明
した仲裁プロセスによってバスへのアクセスを得るま
で、出力キュー318へ供給され記憶される。
本発明によれば、メモリは、処理手段がアクセスコマン
ドに応答しないようにされるとき、リソース否定指示を
伝送する手段を含んでいる。この実施例では、送信手段
は、メモリ39において、応答発生器316及び出力キ
ュー318を備える。応答発生器316は、メモリ31
2から受信されるデータ、コントローラ310から受信
されるロック状態信号314のレベル及びデコーダ30
8から受信されるコマンド及びID情報に基づいて応答
メッセージを準備する。発生器316によって準備され
た応答メッセージは、メモリ39が要求されたデータを
供給することを許されているか否かに依存して2つの種
類のうちのどちらかである。応答されているコマンドが
非インターロック読取りコマンドであるか、又は、その
コマンドがインターロック読取りコマンドであってロッ
ク状態信号314がアサートされていないならば、応答
発生器316は、メモリ312における特定されたロケ
ーションの要求された内容を含む第1の型のメッセージ
を準備する。しかしながら、コマンドがインターロック
読取りコマンドでありロック状態ライン314がアサー
トされているならば、応答発生器316は、インターロ
ック読取りコマンドの特定されたアドレスがロックされ
た状態にあるり且つそのために要求されたデータが受信
されたインターロツク読取りコマンドに応答してメモリ
39によって伝送される応答メッセージとして与えられ
ないことを指示するファンクションラインのためロック
されたコードと共に第2の型のメッセージを準備する。
発生器316が応答メッセージを編集したとき、それは
出力キュー318へ供給される。出力キュー318は、
メモリ39がバス25へのアクセスを望んでいることを
バスインターフェイス64に警告する。応答メッセージ
は、このようなアクセスが得られるまで、特定されない
時間の間出力キュー318に記憶される。
メモリ39がバス25へのアクセスを許されるとき、出
力キユー318に含まれた応答メッセージは、そのコマ
ンドを初めに発生したコマンダノードへの伝送のためシ
ステムバス25に与えられる。メモリ39がコマンダノ
ードによって初めに伝送されたコマンドの実行をメモリ
39がいつ完了するかが知られず、且つ、ロック状態情
報又は要求されたデータを与えるためメモリ39がいつ
バス25へのアクセスを得るか確かでないので、そのイ
ンターロック読取りコマンドに対応するロック状態情報
が元のインターロック読取りコマンドの開始後特定され
ない時間にてコマンダノードのバス25のファンクショ
ンラインに現われる。
E.ロックアウトチェック回路250及びロック検出器
213の説明 本発明によれば、プロセッサは、リソース否定指示に応
答して、そのプロセッサからのアクセスコマンドが所定
のロックアウトアサーション基準に従ってメモリによる
不適当な応答を受けたとき、ロックアウトアクティベー
タをアサートするための手段を含む。本発明の別の特徴
によれば、プロセッサは、リソース否定指示に応答し
て、そのプロセッサからのアクセスコマンドが所定のロ
ックアウトアサーション基準に従ってメモリによる不適
当な応答を受けたときにロックアウトアクティベータを
アサートする手段を備える。この実施例では、このよう
なアサート手段は、ロックされた応答に応答する否定検
出器回路213を備える。このロックされた応答は、好
ましい実施例では、リソース否定指示を構成している。
第9図は、否定検出器回路213及びロックアウトチェ
ック回路250のブロック線図を示している。
デコーダ212は、ロックされた応答又は正当な読取り
データ応答の存在をそれぞれ示す制御ライン403及び
404を供給する。ロックされた応答信号403は、好
ましい実施例では、セット−リセット記憶素子である否
定回路213のセット端子に供給される。その記憶素子
のリセット端子は、正当な読取りデータ応答信号404
へ接続されている。記憶素子213の出力は、ロックさ
れた応答がバス25を通してプロセッサ31によって受
信されるときはいつでも、ロックアウトインディケータ
240が否定検出器回路213によってアサートされる
ように、ドライバ255へ供給されるロックアウトアク
ティベータ215を構成する。
プロセッサ31による単一のロックされた応答の受信に
より、所定のロックアウトアサーション基準が満たされ
る。すなわち、単一のロックされた応答は、プロセッサ
31がメモリ39への適当なアクセスを達成又は維持し
ていないことの指示としてプロセッサ31によって解決
される。本発明は、好ましい実施例に使用された特定に
ロックアウトアサーション基準に限定されるものではな
く、その他の基準を使用することができる。例えば、プ
ロセッサ31が複数のロックされた応答、例えば、3つ
のロックされた応答を受けるときにロックアウトインデ
ィケータ240が単にセットされるように記憶素子21
3の代りにカウンタが使用されうる。また、プロセッサ
31が所定の時間より長い時間の間ロックされた応答を
受けるか、又は、プロセッサ31が所定の時間より長い
時間の間正当なデータ応答を受けないかするとき、ロッ
クアウトインディケータ240がセットされるように、
否定検出器回路としてタイマが設けられてもよい。
ロックアウトアクティベータ215は、ロックアウトチ
ェック回路250にも接続されている。ロックアウトチ
ェック回路250は、3入力アンドゲート408を含
む。アンドゲート408への第1の入力は、ロックアウ
トインディケータ240である。アンドゲート408へ
の第2の入力は、ロックアウトアクティベータ215の
反転レベルである。アンドゲート408への第3の入力
は、プロセッサ論理回路202からのインターロック読
取りライン254である。プロセッサ論理回路202の
アサーションは、インターロック読取りトランザクショ
ンが現在プロセッサ論理回路202によって要求されて
いることを指示する。
アンドゲート408の出力は、2入力アンドゲート41
0へ反転した形にて供給される抑制インディケータを構
成する。
アンドゲート410の他の入力は、コマンド発生器21
4からのCMD REQ(コマンダ要求)ライン216
デアル。アンドゲート410の出力は、記憶素子414
のセット端子へ供給される。記憶素子414のリセット
端子は、アサートされるとき、プロセッサ31がバス2
5へのアクセスを有することを指示するバスインターフ
ェィス64(第7図)から供給される許可信号252に
よって供給される。
否定検出器213及びロックアウトチェック回路250
は、ロックアウトインディケータ240と共に、ノード
31を含むプロセッサノードによるメモリ39への適当
なアクセスを保証するための方法及び装置を与える。ロ
ックされた応答がインターロック読取りコマンドに応答
してプロセッサ31によってメモリ39から受信される
とき、これは、プロセッサ31がメモリ39の一部分へ
アクセスすることが否定されたことの指示である。ロッ
クアウトインディケータ240をセットすることによっ
て、プロセッサ31は、その他の処理ノードによる新し
いロックアウト読取りコマンドの発生を制限するように
させうる。詳細に述べると、プロセッサ31がロックさ
れた応答を受信し、その後にロックアウトインディケー
タ240をアサーションするとき、ロックアウトインデ
ィケータ240のアサーション前にインターロック読取
りコマンドに対してすでにバスアクセスを要求していな
かったロックアウトインディケータ240に接続された
プロセッサノードは、どれも新しいインターロック読取
りコマンドを発生することを許されない。これは、アン
ドゲート408によるCMD REQラインの抑制によ
って達成される。このような抑制は、好ましい実施例の
所定しのアクセスゲーティング基準を構成する次の条件
が存在する場合に生ずる。インターロック読取り動作が
プロセッサによって要求されていること(すわち、ライ
ン254がアサートされている)、(2)このノードに
対するロックアウトアクティベータ215が現在アサー
トされていること、及び(3)ロッアウトインディケー
タ240がアサートされていること。
勿論、その他のアクセスデーティング基準を与えること
もできる。例えば、CMD REQラインの抑制は、所
定の時間より長い時間の間正当な読取りデータ応答をプ
ロセッサ31が取得することができないことを条件とし
てもよい。
否定検出器回路213とロックアウト回路250との両
方がロックコマンダノードに存在している必要はない。
すなわち、ロックアウトインデケータ240をセットす
るコマンダノードを設けるが、アクセスコマンド又はア
クセス否定コマンドの発生を阻止しないことがのぞまれ
る場合がある。
多重ノードシステムに対する本発明の好ましい実施例の
動作の一例を第10図に示しいる。第10図は、システ
ム20に類似したシステムにおける4つのプロセッサノ
ード、特に、ノード15、7、6及び2の特性を例示し
ている。これらノードは、首尾よいインターロック読取
りトランザクション及びアンロック書込みトランザクシ
ヨンからなるインータロックシーケンスを使用して読取
り−変更−書込みオペレーションを実行する。最も左側
の欄は、バス25における仲裁トランザクション番号を
示している。第10図の左側の続く3つの欄は、それぞ
れ、このトランザクション中にコマンダであるノード、
そのノードによってバスに与えられるコマンド情報の種
類及びそのノードコマンドに応答してメモリ39によっ
て戻される応答メッセージを示している。第10図のそ
の次の欄は、所定の時間点でロックアウトインディケー
タ240をアサートしているノードを示している。1
5、7、6及び2と番号付された欄は、各時間の終りで
の各ノード15、7、6及び2の状態を示している。第
10図のノードの番号付けは、キャビネットにおけるそ
れらノードの物理的位置を示しているもので、図面中の
参照番号によるものではない。
第10図、すなわち、第10図の最上列に示されたトラ
ンザクション#1の開始前に、ノード15、7及び6
は、すべてインターロック読取りトランザクション発生
状態にある。すなわち、これらのノードの各々は、メモ
リ39の同じロケーションへのアクセスを得ようとして
いる。ノードでは、アイドル状態にある。
トランザクション#1において、ノード15は、バス2
5へのアクセスを得て、そのバスにインターロック読取
り要求を与える。ノード15がメモリ39における特定
されたロケーションへのアクセスを得る最初のものであ
るから、このようなロケーションは、アンロックされ、
メモリ39は、バス25のファンクションラインに正当
な読取りデータ(GRD)応答を戻す。その時ではどの
ノードもロックアウトインディケータ240をアサート
していない。ノード15が正当な読取りデータ応答を受
けていたので、それは、アンロック書込み発生状態へ進
む。ノード7及び6は、インターロック読取りトランザ
クション発生状態のままである。
第10図のトランザクション#2において、ノード7
は、バスへのアクセスを得て、同じメモリロケーション
に対してインターロック読取りトランザクションを開始
させる。ノード15が前にそのロケーションにアクセス
しておりメモリ39にそのロケーションをロックさせて
いたので、メモリ39は、バス25のファンクションラ
インにロックされた(LOC)応答メッセージを戻す。
ノード7がいまロックされた応答をうけていたので、ノ
ード7は、第10図の第3番目の列に示されるようにロ
ックアウトインディケータ240をアサートする。ノー
ド7及び6は、インターロック読取りトランザクション
発生状態のまである。ノード2は、アイドル状態のまま
である。
トランザクション#3では、ノード6は、バスへのアク
セスを得て、メモリ39の同じロケーションへのインタ
ーロック読取りトランザクションを開始させる。このロ
ケーションはノード15の最初のインターロック読取り
動作によってなおもロックされているので、ノード6
は、バス25のファンクションラインのロックされた応
答を受ける。ノード6は、又、ロックアウトインディケ
ータ240をアサートする。この時、ノード7及び6の
両方がロックアウトインディケータ240をアサートし
ている。ノード15は、アンロックされた書込み発生状
態のままである。何故ならば、それはまだバス25への
アクセスを得ることができないからである。同様に、ノ
ード7及び6は、それらが首尾よくインターロック読取
りトランザクションを完了することができなかったの
で、インターロック読取りトランザクション発生状態の
ままである。
トランザクション#4では、ノード15はバスのアクセ
スを得て、アンロック書込みトランザクションを実行し
て、そのインターロックシーケンスを完了する。第10
図に示されるように、応答メッセージは必要とされてい
ない。ノード7及び6の両者は、未処理のインターロッ
ク読取り要求を有するので、それらは、ロックアウトイ
ンディケータ240をアサートし続ける。ノード15
は、アイドル状態に戻り、ノード7及び6は、インター
ロック読取り発生状態のままである。トランザクション
#4では、ノード2がインターロック読取りトランザク
ションを開始させると決定したと仮定する。しかしなが
ら、これらの動作がノード7によるロックアウトインデ
ィケータ240のアサーション前に開始されていなかっ
たので、ノード2は、トランザクション発生状態に入ら
ず、インターロック読取り待機状態(IRW)に入る。
トランザクション#5では、ノード7はバスへのアクセ
スを得て、インターロック読取りトランザクションを開
始させる。メモリの特定されたロケーションがノード1
5の前のアンロックされた書込みトランザクションによ
ってアンロックされていたので、ノード7は、その特定
されたメモリロケーションに含まれた情報へのアクセス
を得ることができ、メモリ39は、バス25のファンク
ションラインに正当な読取りデータ応答メッセージを与
える。ノード7はそのデータを首尾よく得ていたので、
ノード7は、もはやロックアウトインディケータ240
をアサートせず、アンロック書込み状態に移る。ノード
7の首尾よいインターロック読取りトランザクションに
より、メモリ39がその特定されたロケーション及びメ
モリのロックビットをセットするようにさせられる。ノ
ード6は、ロックアウトインディケータ240をアサー
トし続ける。ノード15は、アイドル状態のままであ
る。ノード6は、インターロック読取り発生状態のまま
で、ノード2は、インターロック読取り待機状態のまま
である。
トランザクション#6では、ノード6は、バス25への
アクセスを得て、インターロック読取りトランザクショ
ンを開始させる。しかしながら、メモリの特定されたロ
ケーションは、ノード7のすぐ前にインターロツク読取
りトランザクションのためにロックされている。こうし
て、メモリ39は、バス25のファンクションラインに
てノード6へロックされた応答を戻す。従って、ノード
6は、ロックアウトインディケータ240をアサートし
続ける。この時、ノード15は、別のインターロック読
取りトランザクションを開始させることを試みることに
決定している。しかし、このトランザクションの開始は
ロックアウトインディケータ240のアサーション前に
はなされなかったので、ノード15は、インターロック
読取り待機状態とされる。読取り−変更−書込み動作の
読取り及び変更動作を完了しているノード7は、このと
き、アンロック書込み発生状態にある。ノード6は、イ
ンターロック読取り発生状態のままであり、ノード2で
はインターロック読取り待機状態のままである。
トランザクション#7では、ノード7は、バス25への
アクセスを得て、アンロック書込みトランザクションを
実行し、そのインターロックシーケンスを完了する。応
答メセージは戻されない。ノード6はなおも首尾よくイ
ンターロック読取りトランザクションを完了していない
ので、ノード6は、ロックアウトインディケータ240
をアサートし続ける。ノード15は、インターロック読取
り待機状態のままであり、ノード7は、読取り−変更−
書込み動作のすべての相を首尾よく完了しており、アイ
ドル状態に入る。ノード6は、インターロック読取り発
生状態のままであり、ノード2では、インターロック読
取り待機状態のままである。メモリ39の特定されたロ
ケーションのロックビットはリセットされる。
第10図のトランザクション#8では、ノード6は、バ
ス25へのアクセスを得て、インターロック読取りトラ
ンザクションを開始させる。メモリの特定されたロケー
ションが前のトランザクションにおけるノード7のアン
ロック書込みトランザクションのために、このときアン
ロックされているので、ノード6は、首尾よく特定され
たロケーションへのアクセスを得ることができ、メモリ
39は、正当な読取りデータ応答メッセージを戻す。イ
ンターロック読取りトランザクションを試みていたすべ
てのノードがそれらのトランザクションを首尾よく完了
したので、どのノードもロックアウトインディケータ2
40をアサートしていない。このようにして、ノード1
5及び2は、インターロック読取り待機状態からインタ
ーロック読取り発生状態へと移ることができる。その
時、ノード6は、アンロック書込み発生状態に入る。
第10図のトランザクション#9で、ノード6は、バス
25へのアクセスを得て、アンロック書込みトランザク
ションを実行し、アイドル状態へ戻る。応答メッセージ
はなにも戻されない。ロックされた応答を受けていたノ
ードがないので、この時にロックアウトインディケータ
240をアサートしているノードはない。ノード15、
7及び2のすべては前のトランザクションと同じ状態の
ままである。
メモリノードがインターロックオペレーションのためリ
ソース否定指示を戻すようなインターロック読取り/ア
ンロック書込みトランザクションに関して本発明を詳述
したのであるが、本発明は、このような場合に限定され
るものではない。本発明は、その他の型のリソースへの
適当なアクセスを保証するような場合にも適用しうるも
のである。例えば、本発明は、メモリノードの入力キュ
ーへの適当なアクセスを保証するのに適用されうる。メ
モリ入力キューのフルのためにメモリへのアクセスコマ
ンドが拒否されたプロセッサノードへ非確認指示が戻さ
れるので、そのような非確認メッセージはリソース否定
指示を構成する。従って、ロックアウトインディケータ
240は、プロセッサノードがメモリの入力キューによ
る処理を必要とする更に別のアクセスコマンドを発生し
ないように適当な条件のもとで禁止されうるように、非
確認指示を伝送し且つ受信する手段及びロックアウトチ
ェック手段と組み合わせて使用されうる。こうして、メ
モリの要求は、メモリノードがその入力キューにおける
バックロッグを減ずることができるような時間まで減ぜ
られうる。
インターロック読取りアンロック/書込みオペレーショ
ンに関して前述したのと同じようにして、本発明は、す
べてのノードによるメモリノード入力キューリソースへ
の適当なアクセスを保証することができる。同様に、ア
ダプタ41(第1図)における入力キューへの適当なア
クセスは、本発明の原理を使用して保証されうる。ま
た、本発明は、入力コントローラ及びプロセッサの如き
ノードにおける制御/状態レジスタへの適当なアクセス
を保証するのに適用されうる。
本発明の精神又は範囲から逸脱せずに本発明の装置及び
方法には種々な変形態様がなされうることは当業者には
明らかであろう。本発明は、請求の範囲内に入るこのよ
うな変形態様をカバーするものである。
フロントページの続き (56)参考文献 特開 昭59−173866(JP,A)

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】リソースノードへのアクセスを得るために
    アクセスコマンドを発生する他のノードによる前記リソ
    ースノードへの適切なアクセスを保証するための多重ノ
    ードデータ処理システムにおいて、このシステムが、 保留バス、 前記バスに結合されており、レスポンダノードとして機
    能し、 前記アクセスコマンドを処理する手段、及び前記処理手
    段が前記アクセスコマンドに応答することが阻止される
    時にリソース否定指示を送信するための手段を含むリソ
    ースノード、 各々が、前記保留バスに結合しており、コマンダノード
    として機能し、前記保留バスを介して前記アクセスコマ
    ンドを前記リソースノードに送信するためのコマンド送
    信手段を含む複数の第2ノード、 前記第2のノードの少なくとも一つに接続されており、
    前記リソース否定指示に応答して、少なくとも一つのリ
    ソース否定指示の受信の後に、所定のロックアウトアサ
    ーション基準に基づいて否アサート状態からアサート状
    態へと遷移するロックアウトインディケータ、及び 前記ロックアウトインディケータが前記アサート状態に
    設定された後、前記第2のノードが前記アクセスコマン
    ドの発生の開始を試みる時に、所定のアクセスゲーティ
    ング基準に従って、前記第2のノードの少なくとも一つ
    によって、前記ロックアウトインディケータを監視し且
    つ前記アクセスコマンドの発生を阻止するロックアウト
    チェック手段からなるシステム。
  2. 【請求項2】リソースノードへのアクセスを得るために
    アクセスコマンドを発生する他のノードによる前記リソ
    ースノードへの適切なアクセスを保証するための多重ノ
    ードデータ処理システムであり、このシステムが、 保証バス、 前記保留バスに結合され、レスポンダノードとして機能
    し、 前記アクセスコマンドを処理する手段、前記処理手段が
    前記アクセスコマンドに応答することが阻止される時リ
    ソース否定指示を送信するための指示手段を含むリソー
    スノード、 各々、前記保留バスに結合しており、コマンダノードと
    して機能し、前記保留バスを介して前記アクセスコマン
    ダを前記リソースノードに送信するためのコマンド送信
    手段を含む複数の第2ノード、 前記第2のノードの少なくとも一つ内にあって、前記リ
    ソース否定指示に応答し、前記第2のノードのアクセス
    コマンドが前記リソースノードからの不適切な応答を受
    け取った時に、所定のロックアウトアサーション基準に
    従って、ロックアウトアクティベータをアサートするた
    めのアサーション手段、 前記第2のノードの少なくとも一つに接続しており、前
    記リソース否定指示に応答して、少なくとも一つのリソ
    ース否定指示の受信の後に、前記所定のロックアウト基
    準に従って、否アサート状態からアサートされた状態へ
    と遷移するロックアウトインディケータ、及び 前記ロックアウトインディケータが前記アサート状態に
    設定された後、前記第2のノードが前記アクセスコマン
    ドの発生の開始を試みる時に、所定のアクセスゲーティ
    ング基準に従って、前記第2のノードの少なくとも一つ
    によって、前記ロックアウトインディケータを監視し且
    つ前記アクセスコマンドの発生を阻止するロックアウト
    チェック手段からなるシステム。
  3. 【請求項3】前記ロックアウトインディケータが信号ラ
    インを備える請求項2記載のシステム。
  4. 【請求項4】前記ロックアウトインディケータの信号ラ
    インがワイヤードOR接続を介して前記第2のノードの
    各々に接続されている請求項3記載のシステム。
  5. 【請求項5】前記所定のロックアウトアサーション基準
    は、単一のリソース否定指示の受信により満たされる請
    求項2記載のシステム。
  6. 【請求項6】前記所定のロックアウトアサーション基準
    は、複数のリソース否定指示の受信により満たされる請
    求項2記載のシステム。
  7. 【請求項7】前記所定のロックアウトアサーション基準
    は、所定の時間期間よりも長い時間期間に亘るリソース
    否定指示の受信により満たされる請求項2記載のシステ
    ム。
  8. 【請求項8】前記所定のロックアウトアサーション基準
    は、所定の時間期間より長い時間期間に亘って前記第2
    のノードの前記1つが前記リソースへのアクセスを得ら
    れないことにより満たされる請求項2記載のシステム。
  9. 【請求項9】アクセスコマンドを処理する前記手段は、
    排他的アクセスコマンドを処理する手段を備えており、
    アクセスコマンドを伝送する前記手段は、排他的アクセ
    スコマンドを伝送する手段を備える請求項2記載のシス
    テム。
  10. 【請求項10】前記排他的アクセスコマンドは、インタ
    ーロック読取りコマンドを備え、前記リソース否定指示
    はロックされた応答を備える請求項9記載のシステム。
  11. 【請求項11】前記ロックアウトチェック手段は、前記
    所定のアクセスゲーティング基準に従って前記第2のノ
    ードの1つが前記バスへのアクセスを要求しないように
    する阻止手段を備える請求項9記載のシステム。
  12. 【請求項12】前記阻止手段は、前記ロックアウトイン
    ディケータ、リソース否定指示の受信に応答する前記ロ
    ックアウトアクティベータ、及びインターロック読取り
    コマンドが発生されるべきことを指示する信号の発生に
    応答する請求項11記載のシステム。
  13. 【請求項13】多重ノードデータ処理システムにおいて
    複数のコマンダノードがレスポンダノードに適切にアク
    セスすることを保証するための方法であり、前記コマン
    ダノードは、各々、その後の排他的アクセスコマンドを
    発生する他のコマンダノードによる前記レスポンダノー
    ドへのアクセスを制限する排他的アクセスコマンドを発
    生するための手段を含んでいる方法において、 前記コマンダノードの第1のものからの第1の排他的ア
    クセスコマンドを前記レスポンダノードで受信し、 前記コマンダノードの第2のものからの第2の排他的ア
    クセスコマンドを前記レスポンダノードで受信し、 前記第2に受信された排他的アクセスコマンドに応答し
    て、前記レスポンダノードから前記第2のコマンダノー
    ドへロックされた応答を送信し、 所定のロックアウトアサーション基準に従って前記ロッ
    クされた応答の受信の後に、前記第2のコマンダノード
    によって、ロックアウトインディケータを否アサート状
    態からアサート状態へ作動し、 前記コマンダノードの第3のものによって前記ロックア
    ウトインディケータを監視し、 前記ロックアウトインディケータを監視し、 前記ロックアウトインディケータが前記アサートされた
    状態にあるときに所定のアクセスゲーティング基準に従
    って、前記第3のコマンダーノードによる排他的アクセ
    スコマンドの発生を阻止し、そして 前記第2のコマンダノードが前記レスポンダノードへの
    アクセスを達成した後前記ロックアウトインディケータ
    をリセットする各工程からなる方法。
  14. 【請求項14】前記コマンダノードの前記第1のものか
    らの前記第1の排他的アクセスコマンドに応答する工程
    が、レスポンダ内のロック機構をセットして、前記第1
    の排他的アクセスコマンドの受取りを示すことにより行
    われる請求項13記載の方法。
  15. 【請求項15】多重ノードデータ処理システムにおいて
    複数のコマンダノードによるレスポンダノードへの適切
    なアクセスを保証し、前記コマンダノードが各々アクセ
    スコマンドを前記レスポンダノードへ発生するための手
    段を含む方法において、 前記コマンダノードの第1のものから第1のアクセスコ
    マンドを前記レスポンダノードで受信し、 前記コマンダノードの第2のものから第2のアクセスコ
    マンドを前記レスポンダノードで受信し、 前記第2に受信されたコマンドに応答して、前記レスポ
    ンダノードから前記第2のコマンダノードへリソース否
    定指示を送信し、 所定のロックアウトアサーション基準に従って、前記リ
    ソース否定指示を受信した後に、ロックアウトインディ
    ケータを前記第2のコマンダノードによって否アサート
    状態からアサート状態に作動し、 前記コマンダノードの第3のものによって前記ロックア
    ウトインディケータを監視し、 前記ロックアウトインディケータが前記アサートされた
    状態にある時所定のアクセスゲート基準に従ってアクセ
    スコマンドの前記コマンダノードの第3のものによる発
    生を阻止し、そして 前記第2のコマンダノードが前記レスポンダノードへの
    アクセスを達成した後前記ロックアウトインディケータ
    をリセットする方法。
  16. 【請求項16】前記発生を阻止する工程の次に、前記レ
    スポンダノードで前記コマンダノードの前記第1のもの
    からのアンロック書込みコマンドを受信し、前記レスポ
    ンダノードで前記コマンダノードの前記第3のものから
    の第3のアクセスコマンドを受信し、前記レスポンダノ
    ードへのアクセスの達成を示す応答メッセージを前記レ
    スポンダノードから送信する付加的工程を備えることを
    特徴とする請求項15記載の方法。
JP63504135A 1987-05-01 1988-04-27 多重プロセッサコンピュータシステムにおけるプロセッサによるシステムリソースに対する適切なアクセスを保証するための方法及び装置 Expired - Fee Related JPH0625985B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US44,952 1987-05-01
US07/044,952 US4937733A (en) 1987-05-01 1987-05-01 Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
PCT/US1988/001298 WO1988008570A1 (en) 1987-05-01 1988-04-27 Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system

Publications (2)

Publication Number Publication Date
JPH02501097A JPH02501097A (ja) 1990-04-12
JPH0625985B2 true JPH0625985B2 (ja) 1994-04-06

Family

ID=21935208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63504135A Expired - Fee Related JPH0625985B2 (ja) 1987-05-01 1988-04-27 多重プロセッサコンピュータシステムにおけるプロセッサによるシステムリソースに対する適切なアクセスを保証するための方法及び装置

Country Status (8)

Country Link
US (1) US4937733A (ja)
EP (1) EP0357685B1 (ja)
JP (1) JPH0625985B2 (ja)
KR (1) KR930000634B1 (ja)
AU (1) AU1721388A (ja)
CA (1) CA1309504C (ja)
DE (1) DE3887886T2 (ja)
WO (1) WO1988008570A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129089A (en) * 1987-12-18 1992-07-07 Digital Equipment Corporation Distributed interlock apparatus and distributed interlock management method
US5003464A (en) * 1988-05-23 1991-03-26 Bell Communications Research, Inc. Methods and apparatus for efficient resource allocation
US5175861A (en) * 1988-10-14 1992-12-29 Nec Corporation Lock processing system
US5175837A (en) * 1989-02-03 1992-12-29 Digital Equipment Corporation Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits
JPH0394321A (ja) * 1989-06-21 1991-04-19 Hitachi Ltd アクセス制御方法
US5377332A (en) * 1989-10-02 1994-12-27 Data General Corporation Bus arbitration algorithm and apparatus
JPH0664567B2 (ja) * 1989-12-25 1994-08-22 株式会社日立製作所 多重プロセッサシステム
US5239629A (en) * 1989-12-29 1993-08-24 Supercomputer Systems Limited Partnership Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system
US5168570A (en) * 1989-12-29 1992-12-01 Supercomputer Systems Limited Partnership Method and apparatus for a multiple request toggling priority system
US5193187A (en) * 1989-12-29 1993-03-09 Supercomputer Systems Limited Partnership Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5276847A (en) * 1990-02-14 1994-01-04 Intel Corporation Method for locking and unlocking a computer address
JP2665813B2 (ja) * 1990-02-23 1997-10-22 三菱電機株式会社 記憶制御装置
DE4009685C2 (de) * 1990-03-26 1994-10-20 Siemens Nixdorf Inf Syst Verfahren für einen Initialisierungsvorgang in einem Multiprozessorsystem
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
JPH0451335A (ja) * 1990-06-20 1992-02-19 Oki Electric Ind Co Ltd データベース処理装置
AU633724B2 (en) * 1990-06-29 1993-02-04 Digital Equipment Corporation Interlock queueing
US5191653A (en) * 1990-12-28 1993-03-02 Apple Computer, Inc. Io adapter for system and io buses having different protocols and speeds
JPH0827755B2 (ja) * 1991-02-15 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データの単位を高速度でアクセスする方法
US5319785A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Polling of I/O device status comparison performed in the polled I/O device
US5454082A (en) * 1991-09-18 1995-09-26 Ncr Corporation System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus
US5410677A (en) * 1991-12-30 1995-04-25 Apple Computer, Inc. Apparatus for translating data formats starting at an arbitrary byte position
US5848297A (en) * 1991-12-30 1998-12-08 Apple Computer, Inc. Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
US5640599A (en) * 1991-12-30 1997-06-17 Apple Computer, Inc. Interconnect system initiating data transfer over launch bus at source's clock speed and transfering data over data path at receiver's clock speed
JPH05257851A (ja) * 1991-12-30 1993-10-08 Apple Computer Inc データの転送の順序を制御させる装置
US5887196A (en) * 1991-12-30 1999-03-23 Apple Computer, Inc. System for receiving a control signal from a device for selecting its associated clock signal for controlling the transferring of information via a buffer
US5412788A (en) * 1992-04-16 1995-05-02 Digital Equipment Corporation Memory bank management and arbitration in multiprocessor computer system
US5301283A (en) * 1992-04-16 1994-04-05 Digital Equipment Corporation Dynamic arbitration for system bus control in multiprocessor data processing system
US5428796A (en) * 1992-08-26 1995-06-27 International Business Machines Corporation System and method for regulating access to direct access storage devices in data processing systems
US5469575A (en) * 1992-10-16 1995-11-21 International Business Machines Corporation Determining a winner of a race in a data processing system
AU666999B2 (en) * 1992-11-25 1996-02-29 Samsung Electronics Co., Ltd. Pipelined data ordering system
US5666515A (en) * 1993-02-18 1997-09-09 Unisys Corporation Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address
US5613139A (en) * 1994-05-11 1997-03-18 International Business Machines Corporation Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message
US5577261A (en) * 1995-01-23 1996-11-19 Tandem Computers Incorporated Ordered and reliable maintenance of inter-process relationships in a distributed multiprocessor
US5630140A (en) * 1995-01-23 1997-05-13 Tandem Computers Incorporated Ordered and reliable signal delivery in a distributed multiprocessor
US5761670A (en) * 1995-12-08 1998-06-02 Sun Microsystems, Inc. System and method for space efficient object locking using global and local locks
US5732226A (en) * 1996-04-08 1998-03-24 Vlsi Technology, Inc. Apparatus for granting either a CPU data bus or a memory data bus or a memory data bus access to a PCI bus
US6560682B1 (en) * 1997-10-03 2003-05-06 Intel Corporation System and method for terminating lock-step sequences in a multiprocessor system
US6078981A (en) * 1997-12-29 2000-06-20 Intel Corporation Transaction stall technique to prevent livelock in multiple-processor systems
US6115770A (en) * 1998-03-25 2000-09-05 Lsi Logic Corporation System and method for coordinating competing register accesses by multiple buses
US6073182A (en) * 1998-04-30 2000-06-06 International Business Machines Corporation Method of resolving deadlocks between competing requests in a multiprocessor using global hang pulse logic
US6151655A (en) * 1998-04-30 2000-11-21 International Business Machines Corporation Computer system deadlock request resolution using timed pulses
US6490662B1 (en) * 2000-04-29 2002-12-03 Hewlett-Packard Company System and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module
US6587963B1 (en) * 2000-05-12 2003-07-01 International Business Machines Corporation Method for performing hierarchical hang detection in a computer system
US8122297B2 (en) * 2007-10-18 2012-02-21 International Business Machines Corporation Method and apparatus for parallel and serial data transfer
WO2011001210A1 (en) * 2009-06-29 2011-01-06 Nokia Corporation Resource allocation
US9053227B2 (en) * 2012-03-09 2015-06-09 Microsoft Technology Licensing, Llc Concurrent assertion
US10394636B2 (en) 2017-08-02 2019-08-27 International Business Machines Corporation Techniques for managing a hang condition in a data processing system with shared memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59173866A (ja) * 1983-03-24 1984-10-02 Nec Corp ロツク制御方式

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3398405A (en) * 1965-06-07 1968-08-20 Burroughs Corp Digital computer with memory lock operation
FR1587102A (ja) * 1967-10-03 1970-03-13
US3528061A (en) * 1968-07-05 1970-09-08 Ibm Interlock arrangement
US3701109A (en) * 1970-11-09 1972-10-24 Bell Telephone Labor Inc Priority access system
US3761883A (en) * 1972-01-20 1973-09-25 Ibm Storage protect key array for a multiprocessing system
US3997875A (en) * 1973-01-08 1976-12-14 U.S. Philips Corporation Computer configuration with claim cycles
US3916384A (en) * 1973-06-15 1975-10-28 Gte Automatic Electric Lab Inc Communication switching system computer memory control arrangement
US3947324A (en) * 1975-04-21 1976-03-30 G. D. Searle And Co. Method for isolating high purity peroxidase
GB1536853A (en) * 1975-05-01 1978-12-20 Plessey Co Ltd Data processing read and hold facility
US4000485A (en) * 1975-06-30 1976-12-28 Honeywell Information Systems, Inc. Data processing system providing locked operation of shared resources
US3993981A (en) * 1975-06-30 1976-11-23 Honeywell Information Systems, Inc. Apparatus for processing data transfer requests in a data processing system
JPS5259534A (en) * 1975-11-11 1977-05-17 Panafacom Ltd Data transfer system
US4400771A (en) * 1975-12-04 1983-08-23 Tokyo Shibaura Electric Co., Ltd. Multi-processor system with programmable memory-access priority control
US4162529A (en) * 1975-12-04 1979-07-24 Tokyo Shibaura Electric Co., Ltd. Interruption control system in a multiprocessing system
US4079454A (en) * 1976-01-02 1978-03-14 Data General Corporation Data processing system using read-only-memory arrays to provide operation in a plurality of operating states
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle
US4096561A (en) * 1976-10-04 1978-06-20 Honeywell Information Systems Inc. Apparatus for the multiple detection of interferences
US4099243A (en) * 1977-01-18 1978-07-04 Honeywell Information Systems Inc. Memory block protection apparatus
US4148011A (en) * 1977-06-06 1979-04-03 General Automation, Inc. Asynchronous priority circuit for controlling access to a bus
JPS596415B2 (ja) * 1977-10-28 1984-02-10 株式会社日立製作所 多重情報処理システム
US4296466A (en) * 1978-01-23 1981-10-20 Data General Corporation Data processing system including a separate input/output processor with micro-interrupt request apparatus
US4229791A (en) * 1978-10-25 1980-10-21 Digital Equipment Corporation Distributed arbitration circuitry for data processing system
US4488217A (en) * 1979-03-12 1984-12-11 Digital Equipment Corporation Data processing system with lock-unlock instruction facility
US4313161A (en) * 1979-11-13 1982-01-26 International Business Machines Corporation Shared storage for multiple processor systems
JPS56121126A (en) * 1980-02-26 1981-09-22 Toshiba Corp Priority level assigning circuit
US4373183A (en) * 1980-08-20 1983-02-08 Ibm Corporation Bus interface units sharing a common bus using distributed control for allocation of the bus
US4402040A (en) * 1980-09-24 1983-08-30 Raytheon Company Distributed bus arbitration method and apparatus
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4423384A (en) * 1981-12-21 1983-12-27 Motorola, Inc. Asynchronous multi-port arbiter
US4480307A (en) * 1982-01-04 1984-10-30 Intel Corporation Interface for use between a memory and components of a module switching apparatus
JPS58140862A (ja) * 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
GB2117939A (en) * 1982-03-29 1983-10-19 Ncr Co Data communication network and method of communication
US4490785A (en) * 1982-05-07 1984-12-25 Digital Equipment Corporation Dual path bus structure for computer interconnection
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US4698753A (en) * 1982-11-09 1987-10-06 Texas Instruments Incorporated Multiprocessor interface device
US4568930A (en) * 1983-01-21 1986-02-04 E-Systems, Inc. Multinodal data communication network
US4543628A (en) * 1983-01-28 1985-09-24 Digital Equipment Corporation Bus for data processing system with fault cycle operation
US4587609A (en) * 1983-07-01 1986-05-06 Honeywell Information Systems Inc. Lockout operation among asynchronous accessers of a shared computer system resource
US4660169A (en) * 1983-07-05 1987-04-21 International Business Machines Corporation Access control to a shared resource in an asynchronous system
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
AU564271B2 (en) * 1983-09-22 1987-08-06 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in a digital computer system
US4626843A (en) * 1983-09-27 1986-12-02 Trw Inc. Multi-master communication bus system with parallel bus request arbitration
US4594590A (en) * 1983-11-04 1986-06-10 Control Data Corporation Demand driven access mechanism
JPS60107170A (ja) * 1983-11-15 1985-06-12 Nec Corp マルチプロセッサ制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59173866A (ja) * 1983-03-24 1984-10-02 Nec Corp ロツク制御方式

Also Published As

Publication number Publication date
DE3887886T2 (de) 1994-09-29
DE3887886D1 (de) 1994-03-24
EP0357685A1 (en) 1990-03-14
JPH02501097A (ja) 1990-04-12
KR930000634B1 (ko) 1993-01-28
EP0357685B1 (en) 1994-02-16
US4937733A (en) 1990-06-26
CA1309504C (en) 1992-10-27
WO1988008570A1 (en) 1988-11-03
AU1721388A (en) 1988-12-02
KR890702119A (ko) 1989-12-22

Similar Documents

Publication Publication Date Title
JPH0625985B2 (ja) 多重プロセッサコンピュータシステムにおけるプロセッサによるシステムリソースに対する適切なアクセスを保証するための方法及び装置
EP0358703B1 (en) Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
US4949239A (en) System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
EP0370018B1 (en) Apparatus and method for determining access to a bus
EP0358716B1 (en) Node for servicing interrupt request messages on a pended bus
KR930000992B1 (ko) 멀티 프로세서 컴퓨터 시스템상의 인터록 판독 트랜잭션을 개시하기 위한 방법 및 장치
EP0346398B1 (en) Apparatus and method for a node to obtain access to a bus
US5111424A (en) Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer
JP2539021B2 (ja) 保留バスに割り込み要求を送る割り込み要求発生ノ―ド
EP0358725B1 (en) Apparatus and method for servicing interrupts utilizing a pended bus
US5034883A (en) Lockhead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
US5341510A (en) Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor
JP2504552B2 (ja) マルチプロセッサコンピュ―タシステムにおいてシステムリソ―スへの充分なアクセスを確保するコマンダノ―ド方法及び装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees