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

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

Info

Publication number
JPH02501097A
JPH02501097A JP63504135A JP50413588A JPH02501097A JP H02501097 A JPH02501097 A JP H02501097A JP 63504135 A JP63504135 A JP 63504135A JP 50413588 A JP50413588 A JP 50413588A JP H02501097 A JPH02501097 A JP H02501097A
Authority
JP
Japan
Prior art keywords
node
access
lockout
bus
command
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
JP63504135A
Other languages
English (en)
Other versions
JPH0625985B2 (ja
Inventor
ジレット リチャード ビー ジュニア
ウィリアムズ ダグラス ディー
Original Assignee
ディジタル イクイプメント コーポレーション
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 ディジタル イクイプメント コーポレーション filed Critical ディジタル イクイプメント コーポレーション
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

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

Claims (16)

    【特許請求の範囲】
  1. 1.あるリソースノードに対する、ペンデドバスに接続され前記リソースノード ヘのアクセスを得るためにアクセスコマンドを発生する他のノードのよる適当な アクセスを保証する多重ノードデータ処理システムにおいて、レスポンダノード として機能するリソートノードであって、前記アクセスコマンドを処理する処理 手段及び前記処理手段が前記アクセスコマンドに応答しないようにされるときに リソース否定指示を伝送する手段を含むリソースノードと、コマンダノードとし てそれぞれ機能し且つ前記バスを介して前記リソースノードへ前記アクセスコマ ンドを伝送する手段をそれぞれ含む複数の第2のノードと、前記第2のノードの 1つに接続され所定のロックアウトアサーション基準に従って前記リソース否定 指示に応答してアサートされた状態とアサートされていない状態との間で動作し うるロックアウトインディケータと、前期ロックアウトインディケータを監視し 、且つ前記ロックアウトインディケータが前記アサートされた状態にあるとき所 定のアクセスゲーテイング基準に従って前記コマンダノードからの前記アクセス コマンドの発生を阻止するロックアウトチェック手段とを備えることを特徴とす る多重ノードデータ処理システム。
  2. 2.あるリソースノードに対する、ペンデドバスに接続され前記リソースノード ヘのアクセスを得るためにアクセスコマンドを発生する他のノードによる適当な アクセスを保証する多重ノードデータ処理システムにおいて、レスポンダノード として機能するリソースノードであって、前記アクセスコマンドを処理する処理 手段及び前記処理手段が前記アクセスコマンドに応答しないようにされていると きにリソース否定指示を伝送する手段を含んでいるリソースノードと、コマンダ ノードとしてそれぞれ機能し且つ前記バスを介して前記アクセスコマンドを前記 リソースノードへ伝送する手段をそれぞれ含む複数の第2のノードと、前記第2 のノードの1つにあって前記リソース否定指示に応答して、前記第2のノードか らのアクセスコマンドが所定のロックアウトアサーション基準に従って前記リソ ースノードによる不適当な応答を受信したときロックアウトアクテイベータをア サートする手段と、前記第2のノードの1つに接続され且つ前記ロックアウトア クティベータのアサーションに応答して前記ロックアウトアクティベータがアサ ートされるときのアサートされた状態とアサートされていない状態との間で動作 しうるロックアウトインディケータと、前記ロックアウトインディケータを監視 し且つ前記ロックアウトインディケータが前記アサートされた状態にあるとき所 定のアクセスゲーテイング基準に従って前記コマンダノードからの前記アクセス コマンドの発生を阻止するロックアウトチェック手段とを備えることを特徴とす る多重ノードデータ処理システム。
  3. 3.前記ロックアウトインディケータは、信号ラインを備える請求の範囲第2項 記載のシステム。
  4. 4.前記ロックアウトインディケータ信号ラインは、ワイヤオアド接続を通して 前記第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.前記阻止手段は、前記ロックアウトインディケータに応答するものであリ 、ロックアウトアクテイベータは、リソース否定指示の受信に応答するものであ り、インターロック読取リコマンドを指示する信号が発生される請求の範囲第1 1項記載のシステム。
  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のコマンダノードによ ってロックアウトインディケータをアサートされていない状態からアサートされ る状態へと動作させ、前記コマンダノードの1つによって前記ロックアウトイン ディケータを監視し、前記ロックアウトインディケータが前記アサートされた状 態にあるとき、所定のアクセスゲーテイング基準に従って前記1つのコマンダノ ードによるアクセスコマンドの発生を阻止し、前記第2のコマンダノードが前記 レスポンダノードヘのアクセスを達成した後前記ロックアウトインディケータを リセットすることを特徴とする方法。
  16. 16.前記アクセスコマンドの発生を阻止する段階に続いて、前記レスポンダノ ードにアンロック書込みコマンドを受信し、前記レスポンダノードに第3のアク セスコマンドを受信し、前記レスポンダノードヘのアクセスが達成されたことを 指示するための前記レスポンダノードから応答メッセージを伝送する段階をさら に含む請求の範囲第14項記載の方法。
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 true JPH02501097A (ja) 1990-04-12
JPH0625985B2 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
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
US5168570A (en) * 1989-12-29 1992-12-01 Supercomputer Systems Limited Partnership Method and apparatus for a multiple request toggling priority system
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
JPH05257851A (ja) * 1991-12-30 1993-10-08 Apple Computer Inc データの転送の順序を制御させる装置
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
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
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
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
CA2150024C (en) * 1992-11-25 2001-06-12 Gregory V. Kabenjian 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
US5630140A (en) * 1995-01-23 1997-05-13 Tandem Computers Incorporated Ordered and reliable signal delivery in a distributed multiprocessor
US5577261A (en) * 1995-01-23 1996-11-19 Tandem Computers Incorporated Ordered and reliable maintenance of inter-process relationships 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
US6151655A (en) * 1998-04-30 2000-11-21 International Business Machines Corporation Computer system deadlock request resolution using timed pulses
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
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
EP2449849A4 (en) * 2009-06-29 2013-01-16 Nokia Corp RESOURCES 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

Family Cites Families (45)

* 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
US3993981A (en) * 1975-06-30 1976-11-23 Honeywell Information Systems, Inc. Apparatus for processing data transfer requests in a data processing system
US4000485A (en) * 1975-06-30 1976-12-28 Honeywell Information Systems, Inc. Data processing system providing locked operation of shared resources
JPS5259534A (en) * 1975-11-11 1977-05-17 Panafacom Ltd Data transfer system
US4162529A (en) * 1975-12-04 1979-07-24 Tokyo Shibaura Electric Co., Ltd. Interruption control system in a multiprocessing system
US4400771A (en) * 1975-12-04 1983-08-23 Tokyo Shibaura Electric Co., Ltd. Multi-processor system with programmable memory-access priority control
US4075692A (en) * 1976-01-02 1978-02-21 Data General Corporation Data path configuration for a data processing system
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
JPS59173866A (ja) * 1983-03-24 1984-10-02 Nec Corp ロツク制御方式
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
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
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in 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 マルチプロセッサ制御方式

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH02501097A (ja) 多重プロセッサコンピュータシステムにおけるプロセッサによるシステムリソースに対する適切なアクセスを保証するための方法及び装置
KR910007750B1 (ko) 다중 프로세서 컴퓨터 시스템에서 다중 록 표시자를 실시하기 위한 방법 및 장치
US4858116A (en) Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
JPH01502628A (ja) 多重ロック指示を使用した多重プロセッサコンピュータシステムにおけるトランザクションを開始する方法及び装置
US4979097A (en) Method and apparatus for interconnecting busses in a multibus computer system
EP0358716B1 (en) Node for servicing interrupt request messages on a pended bus
US5428794A (en) Interrupting node for providing interrupt requests to a pended bus
JPH01502623A (ja) 複数のノードによる保留バスへのアクセスを制御するシステム
JPH02503367A (ja) 保留バスを用いて割り込みに応じる装置及び方法
JPH01502627A (ja) ノードがバスへのアクセス権を得るようにする装置及び方法
US5341510A (en) Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor
JPH02500226A (ja) マルチプロセッサコンピュータシステムにおいてシステムリソースへの充分なアクセスを確保するコマンダノード方法及び装置
JPH06110847A (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