JPH0642236B2 - コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置 - Google Patents

コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置

Info

Publication number
JPH0642236B2
JPH0642236B2 JP63504036A JP50403688A JPH0642236B2 JP H0642236 B2 JPH0642236 B2 JP H0642236B2 JP 63504036 A JP63504036 A JP 63504036A JP 50403688 A JP50403688 A JP 50403688A JP H0642236 B2 JPH0642236 B2 JP H0642236B2
Authority
JP
Japan
Prior art keywords
node
lock
bus
address
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.)
Expired - Lifetime
Application number
JP63504036A
Other languages
English (en)
Other versions
JPH02500783A (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 JPH02500783A publication Critical patent/JPH02500783A/ja
Publication of JPH0642236B2 publication Critical patent/JPH0642236B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • 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

Description

【発明の詳細な説明】 先行技術 本発明は、コンピュータシステムに係り、より詳細に
は、保留(ペンデッド)バスによって相互接続された多
数ののプロセッサを有するコンピュータシステムに係
る。
近代的なコンピュータシステムは、高い全計算能力を得
るために共通のバスによって相互接続された多数のプロ
セッサ、メモリリソース及び入力/出力(I/O)装置
を有している。このような構造では、1秒当たりに数百
万の命令を実行することのできる非常に強力なシステム
を形成することができる。然し乍ら、多数のプロセッサ
を相互接続する場合、読み取り−変更−書き込み(RM
W)動作として知られている命令シーケンスを実行する
必要があるときに問題が生じる。RMW動作において
は、1つのプロセッサがメモリ位置からデータを検索
し、このデータに基づいて演算を実行し、そしてその変
更されたデータを元のメモリ位置へ書き込む。1つのプ
ロセッサが1つのメモリ位置に対してRMW動作を開始
しそしてその第1のプロセッサのRMW動作の「読み取
り」動作とそのRMW動作の「書き込み」動作との間の
時間中にその同じメモリ位置に対して第2のプロセッサ
がRMW動作を試みた場合には、データの完全性に影響
を及ぼす予想できない結果が生じることがある。
多数のプロセッサが同じメモリ位置に対してRMW動作
を実行しなすようにする1つの方法は、「インターロッ
ク読み取り」機能を設けることである。これは、ロック
ビットのような「ロック」インジケータを使用するもの
であり、このロックビットは、RMW動作の「読み取
り」部分が実行されるときにセットされそしてRMW動
作の「書き込み」部分が完了した後にリセットされる。
ロックビットがセットされたときにメモリの位置に対し
てRMW動作を開始しようと試みる第2のプロセッサ
は、この第2プロセッサがそのインターロック読み取り
コマンドを発生した所定数のバスサイクル後に、「ビジ
ー」或いは「再トライ」確認によってメモリがロック状
態情報を返送するようにさせる。ビジー確認は、第2の
インターロック読み取りコマンドがメモリによって受け
入れられなかったことをプロセッサに指示する。
インターロック読み取り動作は、多数のプロセッサの各
々がRMW動作を実行しようと試みることによって生じ
る問題を軽減する。これらのプロセッサは、例えば、ラ
ウンド・ロビンアルゴリズムを用いる仲裁プロセッサに
より、このようなインターロック読み取り動作に対しバ
スへの公平なアクセスが許可される。然し乍ら、性能上
の障害が依然として生じる。例えば、あるバストラフィ
ック条件のもとでは、特定のプロセッサが、ロックされ
たメモリ位置に繰り返し遭遇し、メモリリソースへの必
要なアクセスを適時に得ることができない。このような
問題は、1つのメモリノードに多数のロックビットを設
け、各ロックビットが全メモリノードではなくてメモリ
ノードの一部分に関連するようにさせることにより軽減
することができる。このような多数のロックビットは、
メモリノードに対するインターロック読み取り動作のよ
り微細な「粒度」を与え、これは、インターロックされ
た読み取り動作の後にメモリの小さな部分を結合する。
この解決策は、RMW動作の成功率を高めることがで
き、これにより、システムのスループットを改善するこ
とができる。然し乍ら、公知の保留バスマルチプロセッ
サシステムにおいて多ロックビットを実行する場合、ロ
ック状態情報を検出及び送信するための回路が受け入れ
られないほど複雑なものとなる。
前記の説明では、プロセッサノード、メモリノード及び
I/Oノードを用いたコンピュータシステムの動作を強
調したが、バス上のトランザクションを開始するノード
であるコマンダノード、及びコマンダノードによって開
始されたトランザクションに応答するノードであるレス
ポンダノードについて、このシステムを更に詳細に説明
する。種々の時間に、1つの装置は、コマンダノード又
はレスポンダノードのいずれかとして機能することがで
きる。
各々の異なった特性を有する多数のバスを介して装置が
相互接続されたコンピュータシステムを提供することが
所望される。然し乍ら、ロック状態情報が最初のインタ
ーロックされた読み取りコマンドに対して固定時間関係
で送信されるようなインターロック読み取り動作を用い
た公知の保留バスシステムにおいてこれを行なうことは
極めて困難である。
発明の要旨 そこで、本発明の目的は、ロック状態情報を送信するた
めの多数のロックビット及び簡単な回路を有するマルチ
プロセッサシステムのレスポンダノードを提供すること
である。
本発明の更に別の目的は、ロック状態情報が最初のイン
ターロック読み取りコマンドに対して固定時間関係で転
送されないようなインターロック読み取り動作を有する
マルチプロセッサ保留バスコンピュータシステムのレス
ポンダノードを提供することである。
本発明の更に別の目的及び効果は、その一部分が以下の
説明に記載されておりそしてその一部分が以下の説明か
ら明らかであり、或いは本発明を実施することによって
学び取ることができよう。本発明の目的及び効果は、請
求の範囲に特に指摘した手段及びその組合せによって実
現及び達成することができよう。
本発明は、インターロック読み取りコマンド後の所定時
間に確認情報を発生しそしてインターロック読み取りメ
ッセージ後の特定しない時間にロック状態メッセージを
発生するレスポンダノードを提供することによって公知
の問題点及び欠点を解消する。
本発明の原理によれば、保留バスにおいて排他的な読み
取り−変更−書き込み動作を実行する装置が提供され、
上記動作は、保留バスにおける1組の別々のトランザク
ションを有し、そしてこのトランザクションは、指定の
位置に記憶された情報を検索するためのインターロック
読み取りコマンドであって、その後のインターロック読
み取りコマンドによるアクセスをその記憶された情報に
限定するようなインターロック読み取りコマンドと、そ
の指定の位置に情報を記憶しそしてその記憶された情報
に対するアクセスを復帰させるアンロック書き込みコマ
ンドとを含むものである。この装置は、コマンダノード
からのインターロック読み取りコマンドを受け取る手段
と、情報を記憶するための指定の位置を含む記憶手段
と、該記憶手段に関連されそしてアンロック状態とロッ
ク状態との間で作動して、アンロック状態にあるときに
記憶手段へのアクセスを許しそしてロック状態にあると
きに記憶手段へのアクセスを拒絶するためのロック手段
と、インターロック読み取りコマンドに応答して、上記
ロック手段の状態を指示するロック状態指示を発生する
と共に、上記ロック手段をアンロック状態からロック状
態に切り換えるためのインターロック読み取りコマンド
手段と、アンロック書き込みコマンドに応答して、指定
の位置に変更された情報を記憶すると共に、上記ロック
手段をロック状態からアンロック状態に切り換えるため
のアンロック書き込みコマンド手段と、インターロック
読み取りコマンドを発生したコマンダノードへ、インタ
ーロック読み取りコマンドに続く特定しない時間に、ロ
ック手段の状態を含むロック状態メッセージを送信する
ための状態応答手段とを具備している。
本明細書に組み込まれてその一部分を形成する添付図面
は、本発明の一実施例を示すもので、これを参照して、
本発明の原理を説明する。
図面の簡単な説明 第1図は、本発明によるデータ処理システムのブロック
図、 第2図は、第1図のデータ処理システムのノードを示す
ブロック図、 第3図は、第1図のデータ処理システムに用いるタイミ
ング信号を示すタイミング図、 第4図は、第2図のノードにおけるデータインターフェ
イス61のブロック図、 第5図は、第1図のデータ処理システムにおける仲裁回
路のブロック図、 第6図は、インタロック読み取りトランザクション中の
第1図のシステムバスに現われる信号を示すタイミング
図、 第7図は、第1図のデータ処理システムのプロセッサノ
ードのブロック図、 第8図は、第1図のデータ処理システムにおけるメモリ
ノードのブロック図、そして第9図は、第8図のメモリ
ノードのロック制御器のブロック図である。
実施例 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及び33、メモリ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に接続されたノード60の
一例を示している。ノード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は、シス
テムバス65と同期して作動する。
第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図に示
されている。システムバスドライブイネーブル信号79
は、通常、バスサイクルの始めから終りまで導出され
る。新たなデータは、バスサイクルにおいてドライバ伝
播及びバス安定時間が経過した後のある時間にシステム
バス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は、仲裁回路71のタイミング
信号と、システムバス25上でタイミングをとるための
基本的なTime H、Time L及びPhaseク
ロック信号とを発生する。仲裁回路71は、コマンダ及
びレスポンダの要求信号を受け取り、システムバス25
にアクセスしようとしてるノード間の競合の仲裁を果た
し、そしてコマンダ及びレスポンダの要求に対する上記
待ち行列を維持する。又、仲裁回路71は、幾つかの制
御信号をクロック95へ供給する。
B.インターロック動作の説明 上記したように、バス25上では多数の種々の形式のト
ランザクションを行なうことができる。各々の場合に、
トランザクションは、あるノードから別のノードへ1つ
以上の別々の転送を行なうことより成る。レスポンダノ
ードは、1つ以上のバスサイクル中にコマンド転送を首
尾良く受け取ると、各転送サイクル後の第2のバスサイ
クルの始めに確認情報を発生する。このような確認信号
は、元の転送に含まれたコマンドが首尾良く実行された
ことを指示するものでなく、所望のレスポンダノードの
入力待ち行列に転送が首尾良く入れられたことだけを指
示するものである。本発明に関連したトランザクション
を以下に簡単に述べる。
読み取りトランザクションは、アドレススペースの領域
を管理しているレスポンダノードの特定位置からコマン
ダノードへ4バイト、8バイト、16バイト又は32バ
イトのブロックでデータを移動するのに用いられる。好
ましい実施例においては、メモリ及びI/O動作はコマ
ンドアドレススペースを参照するものである。レスポン
ダノードは、メモリノードであるか、プロセッサノード
であるか又はI/Oノードである。
インターロック読み取りトランザクションは読み取りト
ランザクションに類似している。しかしながら、インタ
ーロック読み取りトランザクションの正確な作用は、以
下に詳細に述べるように、レスポンダノードのロックタ
グの状態に基づくものである。ロックタグは、アドレス
スペースの位置又は位置のグループへのアクセスを阻止
する。ロックタグの作用は、金属性の“ブラックボー
ド”にわたって現れるようにシステム20のアドレスス
ペースを目に見えるようにすることにより理解できる。
ロックタグはアドレススペース“ブラックボード”上の
位置又は位置のグループの上部に取り外し可能に配置さ
れた磁気タグと同様に動作する。インターロック読み取
りトランザクションで指定されたアドレススペースの位
置が既にロックタグで覆われている場合、即ちその指定
のアドレススペースが“ロック”された場合には、レス
ポンダノードが“ロックされた”応答メッセージでその
インターロック読み取り要求に応答し、データは返送さ
れない。これは、インターロック読み取りりコマンドに
指定されたアドレススペース内の位置にアクセスできな
いことをコマンダに指示する。このロックされた応答メ
ッセージは、レスポンダノードがインターロック読み取
りコマンドに応じた後であって且つレスポンダノードが
バス25へ再びアクセスできるようになった後にコマン
ダへ送られる。従って、コマンダは、インターロック読
み取りトランザクションのコマンド転送の後の指定され
ない時間にロックされた応答メッセージを受け取る。
指定の位置がロックされない場合、即ちロックタグに関
連されない場合には、インターロック読み取りコマンド
に指定されたアドレスに記憶された情報がそのインター
ロック読み取りコマンドを発生したコマンドノードへ応
答メッセージとして返送される。又、レスポンダノード
は、インターロック読み取りコマンドに指定されたアド
レススペース内の位置へロックタグを取り付け、これに
より、その後インターロック読み取りコマンドに対しア
ドレススペース内の指定の位置へのアクセスを拒絶す
る。
アンロック書き込みトランザクションは、インターロッ
ク読み取りトランザクションを捕捉するものである。コ
マンダノードが読み取り−変更−書き込み動作において
読み取り及び変更位置を首尾良く完了すると、インター
ロック読み取りコマンドによって一時的にロックされて
いるアドレススペース内の位置をアンロックしなければ
ならない。コマンダは、アドレススペース内の指定の位
置に対してアンロック書き込みトランザクションを行な
って、適当に変更されたデータをその指定位置に書き込
むことにより、この動作を完了する。レスポンダノード
は、アドレススペースをアンロックして必要なデータを
書き込むことによりアンロック書き込みコマンドを処理
する。次いで、以下に述べるように、ロックタグがクリ
アされる。
インターロック読み取りコマンド転送中にバス25を経
て送られるメッセージは、64本のデータライン上にデ
ータを含んでいる。このデータは、4ビットのコマンド
フィールドと、例えば、メモリ39からプロセッサノー
ド31へ転送されるべきワードの数を指定する2ビット
長さフィールドと、データを読み取ることが所望される
メモリ39内のアドレス位置を指定する30ビットのア
ドレスフィールドとを含む。インターロック読み取りコ
マンド中に情報を搬送するシステムバス25の他のライ
ンは、コマンド転送を指示する4ビットファンクション
コードを搬送する4本のファンクションラインと、イン
ターロック読み取りコマンドを開始したコマンドノード
を識別する6ビットコードを搬送する6本のIDライン
と、3本のパリティラインとを含んでいる。
上記で簡単に述べたように、システムバス25は、送信
器によってバスに出された情報が首尾良く受け取られた
ことを指示するために受信器によって使用される応答信
号を含んでいる。好ましい実施例においては、これらの
応答信号は、3本の同じワイヤ・オアド確認(CNF)
ラインを含んでいる。これら3本のラインが設けられる
理由は、特に、インターロックコマンド又はI/Oレジ
スタへの書き込みの場合に各コマンドに応答してレスポ
ンダが何をするかをコマンダが正確に知ることがバスト
ランザクションの完全性にとって非常に重要だからであ
る。それ故、受信側は、3本のCNFライン全部をアサ
ートすることにより確認(ACK)指示を送るか又は3
本のCNFライン全部をアサートしないことにより非確
認(NACK)信号を送る。3本のCNFライン全部が
同じ論理レベルで受信側によって受け取られない場合に
真のCNF状態を決定するためにエラー修正論理が受信
側に設けられている。
ACK確認は、レスポンダが1サイクルのコマンド転送
から情報を受け入れたことを指示するか又はコマンダが
1サイクルの応答メッセージから情報を受け入れたこと
を指示する。ACK確認指示を生じる読み取りコマンド
転送サイクルは、レスポンダが読み取り応答メッセージ
をある程度後に返送することを指示する。
CNFラインに返送されるNACK確認は、コマンド転
送のそのバスサイクルから情報を受け入れた受信器がな
いことを指示する。これには3つの理由が考えられる。
即ち、(1)システムバス25にパリティエラーが生じ
た。(2)例えば受信器の入力待ち行列がいっぱいであ
るときに受信器がコマンドを一時的に受け入れることが
できない。或いは(3)指定のアドレスに対応するレス
ポンダノードがない。
バスサイクルに対応する確認の指示は、バスサイクルの
サイクルが終わった後の第2サイクルの始めに受信ノー
ドによってCNFラインに送られる。
第6図を参照し、インターロック読み取りトランザクシ
ョンの一例について説明する。第6図の上部に示された
水平の軸は、バス25上の次々のバスサイクルを指示し
ている。第6図の左側に沿って垂直に現れるラベルは、
バス25に含まれたラインのグループ、即ちファンクシ
ョンライン、データライン、IDライン、確認ライン及
び仲裁ラインを指示している。第6図の水平及び垂直軸
によって形成されたマトリックスの入力は、特定のバス
サイクル中に特定のバスラインに現れるデータの形式を
示している。
バスサイクル0において、第1図の第1のコマンダノー
ド、例えばノード31は、アービタ28に至るそのCM
D REQ仲裁要求ライン(第1図に示されてアービタ
28に接続されたポイント−ポイントラインの1つ)を
アサートする。従って、第6図は、サイクル1において
システムバス25の仲裁ラインに現れる“cmdr #
1”要求を示す。それより優先順位の高い他のノードが
同時にバスへアクセス要求を出していないと仮定すれ
ば、プロセッサ31はサイクル1にバスアクセスを経そ
してシステムバス25にメッセージを送信する。
サイクル1の間に、バス25のファンクションラインに
送られる情報は、そのバス上の情報がコマンド(cm
d)情報であることを指示する。バス25のデータライ
ンに送られるデータは、現在のトランザクションをイン
ターロック読み取りトランザクションとして識別すると
共に、プロセッサ31にデータを返送すべきメモリ39
内のアドレスを指定するコマンド及びアドレス(c/
a)データで構成される。バスサイクル1中に、IDラ
インは、バス25に現在送信しているプロセッサ(co
mmander/cmdr)ノード31の識別コードを
含んでいる。
バスサイクル2の間に、現在のインターロック読み取り
トランザクションに関連してバスに送られる情報はな
い。
インターロック読み取りトランザクションが始まった2
サイクル(即ち、所定時間)後であるバスサイクル3の
始めに、メモリノード39はバスサイクル1の間に送ら
れたコマンド転送によって受け取ったACK確認信号を
送信する。次いで、メモリ39は、コマンドメッセージ
をメモリ39の入力待ち行列に入れる。
バスサイクル3の終わりは、インターロック読み取りト
ランザクションにおける第1の転送の終わりとなる。バ
ス25におけるトランザクションの性質は保留されたも
のであるため、要求された情報がメモリ39からプロセ
ッサ31へ返送される時を正確に定めることができな
い。応答時間は、要求を処理するためにメモリ39によ
って必要とされる時間の長さと、他のノードによってバ
ス25に発生された更に別のトラフィックを処理するた
めにシステムバス25に対して必要とされる時間の長さ
とに基づくものである。インターロック読み取りトラン
ザクションの2つの転送間の時間が特定されないことが
第6図においてバスサイクル3と4との間の点線で示さ
れている。従って、その後の情報はバスサイクル4ない
し7に生じるように第6図に示されているが、これはイ
ンターロック読み取りトランザクションに含まれるタイ
ミングの特定例に過ぎずそしてこのようなトランザクシ
ョンの第2の転送をバス25次のサイクルに行なえるこ
とを理解されたい。
メモリ39は、インターロック読み取り転送メッセージ
をその入力待ち行列から順次に取り出しそしてその転送
に含まれるアドレス情報を検査することによりインター
ロック読み取りコマンドを処理する。この情報は、以下
で詳細に述べるようにロックタグに記憶されたアドレス
値と比較される。記憶されたアドレス値と、インターロ
ック読み取り転送のアドレス情報との間に一致がある場
合には、所望のアドレス位置がその手前のインターロッ
ク読み取りコマンドによってロックされていることを指
示する。次いで、メモリ39は、“ロックされた”ファ
ンクションコードを含むロックされた応答メッセージ
を、応答メッセージに必要とされる他の情報と共に、メ
モリモード39の出力待ち行列に発生する。
ロックタグに記憶されたアドレス値とインターロック読
み取り転送アドレス情報との比較によって“ヒット”が
生じない場合、即ち転送されたアドレスがいずれの記憶
されたアドレスにも対応しない場合にはメモリノード3
9は、ファンクションラインに対する“良好な読み取り
データ”(grd0)コード、データラインに対して指
定されたアドレス位置の内容、及びIDラインに対する
インターロック読み取りコマンドを開始したコマンダノ
ードのコマンダ識別ノードのような有効読み取り応答ノ
ードよりなる応答メッセージを構成する。この応答メッ
セージはメモリノード39の出力待ち行列にロードされ
る。
メモリ39がインターロック読み取りトランザクション
を処理しそして以下で詳細に述べるようにその出力待ち
行列に応答メッセージを発生すると、メモリ39はアー
ビタ28に至るそのRES REQ要求ライン(第1図
に示された別のポイント−ポイントライン)をアサート
する。従って、仲裁ラインは、バスサイクル4において
第6図に示すようにレスポンダ要求(resp)指示を
搬送する。このときにそれより高い優先順位をもった他
のノードがないと仮定すれば、アービタ28はバスサイ
クル5の間にバス25へのメモリ39のアクセスを許可
する。メモリ39は、“良好な読み取りデータ”(gr
d0)信号を含む応答メッセージをシステムバス25の
ファンクションラインに送信し、プロセッサ31からメ
モリ39への初期転送のアドレスフィールドによって指
定されたメモリ位置からシステムバス25のデータライ
ンを経て8バイト(即ち、64ビット)のデータを送信
し、そしてプロセッサ31のIDをバス25のIDライ
ンに送信して、インターロック読み取り要求を最初に発
生したコマンダ(即ち、プロセッサ31)に返送データ
を関連づけさせる。
バスサイクル6の間には、このインターロック読み取り
トランザクションに関連したシステムバス25にトラフ
ィックが現れない。更に、プロセッサ31がバス25の
確認ラインにACK確認情報を送信するときに、バスサ
イクル7においてインターロック読み取りトランザクシ
ョンが完了する。
メモリ内の同じ指定位置への第2のインターロック読み
取りトランザクションにより、第6図のサイクル8−1
5に示すようにバス25にデータが現れる。サイクル8
において、第2のコマンダ(cmdr#2)がアービタ
28にコマンダ要求を開始する。バスサイクル9−12
において、サイクル1−4と同じトラフィックがバス2
5上に生じる。しかしながら、メモリ39は、受け取っ
たインターロック読み取りコマンドを処理する際に、ロ
ックタグに記憶されたアドレス値とインターロック読み
取りコマンドと共に送信されたアドレスとの一致を見つ
ける。従って、LOC応答は、例えば、サイクル13に
おいてバス25のファンクションラインに現れる。バス
サイクル14及び15は、サイクル5及び7と同じであ
る。
C.プロセッサ31の説明 第7図には、プロセッサ31内のノードに特定のロジッ
ク65の幾つかの要素の詳細なブロック図が示されてい
る。プロセッサノード31は、全てのノードにおいてそ
うであるように、バスインターフェイス回路64を備え
ている。又、プロセッサノード31はプロセッサロジッ
ク202を備えている。第7図に示すように、プロセッ
サロジック202は、当業者に良く知られたようにソウ
トウエアを実行するのに必要な中央処理ユニット(CP
U)回路を備えている。又、プロセッサロジック202
は、必要なアプリケーションファンクションを実行する
と共にシステムバス25上の転送を制御するためにシス
テム20によって要求されたコマンド及びアドレス情報
を発生する。
又、プロセッサノード31はパリティエラーチェック回
路204を備えており、この回路は、バスインターフェ
イス回路64から受け取ったシステムバス25のファン
クション、データ、ID及びパリティライン上の情報を
監視し、良く知られたようにこれらの信号に対してパリ
ティチェックを行なう。パリティエラーが検出される
と、パリティエラーの指示が信号ライン206に発生さ
れる。
IDライン上の情報は比較回路208によって監視さ
れ、この回路208は、取り付けキャビネット内のプロ
セッサ31に位置によって決定されるバックプレーンに
おいて固定布線接続部210からプロセッサ31の識別
コードが供給される。比較器207からの比較結果は、
パリティエラー信号ライン206上の情報と共に、確認
情報発送器208へ送られる。パリティエラーが検出さ
れずそして応答メッセージに対してバス25を経て受け
取ったIDコードがプロセッサ31のIDコードに一致
しない場合には、プロセッサ31に向けられた応答転送
の各サイクルが終わった後の第2のバスサイクルの始め
に確認指示発生器204によりバス25のCNFライン
にACK確認情報が送られる。
バス25のファンクション及びデータラインの情報はバ
スインターフェイス64を経て応答デコーダ212へ送
られる。デコーダ212は、バス25上のメッセージが
プロセッサ31に対するものであるときに比較器207
によってイネーブルされる。これは、比較器207から
の肯定の比較結果によって決定される。デコーダ212
が比較器207によってイネーブルされると、デコーダ
212は、システムバス25のファンクションラインか
らファンクションコードを抽出し、そしてあるファンク
ションコードに対しバス25のデータラインからプロセ
ッサロジック202へコマンド及びデータ情報を送って
適当に処理する。
プロセッサ31がバス25上のトランザクションを開始
しようとするときには、コマンド、アドレス及びデータ
情報が、接続部210から送られたこのノードのIDと
共に、コマンド発生器214へ供給される。コマンド発
生器214はコマンド転送メッセージを用意し、ノード
CMD REQ仲裁ライン216をアサートして、プロ
セッサ31がコマンダメッセージを送信するためにバス
25への所望していることをアービタ28(第7図には
示さず)を指示する。仲裁システムを用いてアービタ2
8は、元のインターロック読み取り転送の後の否定され
ない時間にプロセッサ31に対するバスアクセスを許可
する。
アクセスが許可されると、コマンド発生器214は、バ
スインターフェイス64がコマンド発生器214からシ
ステムバス25へコマンドメッセージを送信するように
させる。
インターロック読み取りコマンドが送られるレスポンダ
ノードは、インターロック読み取りコマンド転送の2サ
イクル後にACK確認情報を発生する。第7図に特に示
すように、コマンド発生器214は、プロセッサ31に
よりシステムバス25を経て送られるコマンド転送の各
サイクルの厳密に2つのバスサイクル後に、CNFバス
ライン上のACK情報の存在を検出するためにCNFラ
インを監視する。ACK情報の存在が検出されないと、
適当な修正動作が行なわれ、これは、好ましい実施例で
は、その手前のコマンドを再送信することよりなる。転
送が完了すると、レスポンダノードがインターロック読
み取りコマンドを処理し、応答メッセージをシステムバ
ス25に返送する。システムバス25上のトラフィック
による不確定さと待ち行列の長さとにより、レスポンダ
ノードが、コマンド転送での指定されない時間に応答メ
ッセージを発生する。
D.メモリ39の説明 第8図は、レスポンダノードとして働くメモリ39のブ
ロック図である。第8図に示すように、メモリ39は、
コマンドコード/アドレス/パリティチェック回路30
0を備えている。この回路300は、バスファンクショ
ン、アドレス及びIDラインに接続され、良く知られた
やり方でパリティチェックを行なう。又、回路300
は、バスアドレスライン上の情報を、レジスタ302か
ら送られてメモリ39によって処理されるアドレススペ
ースの限界と比較し、この比較結果をアドレス合致ライ
ン301に供給する。バス25を経て受け取ったアドレ
ス情報がメモリ39によって処理されるアドレススペー
スの範囲内にある場合及びパリティエラーが生じない場
合には、回路300に接続された確認信号発生器304
が、メモリ39を行き先とする転送の送信サイクルの後
の第2サイクルの始めに3つ全部のCNFラインをアサ
ートすることによってACK確認信号を発生する。
本発明によれば、メモリは、コマンダノードからのイン
ターロック読み取りコマンドを受け取る手段を備えてい
る。好ましくは、メモリは、インターロック読み取りコ
マンドの開始に続く所定の時間にACK確認信号をコマ
ンダノードへ送信する手段を含む。このような手段は、
コマンダメッセージに続く所定数のバスサイクルの後に
ACK確認指示をプロセッサノードへ送信するための確
認手段を備えているのが更に好ましい。ここで実施され
るように、このような手段は、バスインターフェイス6
4と、入力待ち行列306と、回路300と、アドレス
レジスタ回路302と、確認指示発生器304と、メモ
リ39内のCNFラインとを備えている。入力待ち行列
306は、バス25を経て高い速度で受け取ったメッセ
ージを、メモリ39の比較的速度の遅いロジックがこれ
に作用できるようになるまで記憶できるようにする。入
力待ち行列306は、バス25上のメッセージに現れる
アドレス情報がアドレス一致信号301によって決定さ
れたメモリ39のアドレススペースの範囲内に入るとき
に、バス25からのメッセージを記憶できるようにされ
る。
本発明によれば、メモリは、入力待ち行列から記憶され
たメッセージを取り出すと共にそのメッセージからイン
ターロック読み取り及びアンロック書き込みコマンドを
発生するためのコマンドデコーダ手段を備えている。こ
こで実施するように、このような手段はデコーダ308
を備えている。入力待ち行列306の出力はデコーダ3
08に送られ、該デコーダは、入力待ち行列306に記
憶されたメッセージからアドレス及びコマンド情報を取
り出す。デコーダ308は、種々のコマンドをデコード
するために多数の指示を供給しそして1組の並列な信号
ライン上にアドレス情報を供給するが、デコーダ306
のアドレス及びコマンド出力は、図示明瞭化のために束
ねられたライン309及び311として第8図に各々示
されている。
本発明によれば、メモリ39は、情報を記憶するための
記憶手段を備えている。ここに実施するように、記憶手
段は、メモリアレイ312を含んでいる。良く知られて
いるように、情報は、アレイ312に送られた読み取り
及び書き込みコマンドによって指定できるアドレスで識
別されたメモリアレイ312内の複数の個別の位置に記
憶される。
本発明によれば、メモリ39は、記憶手段に組み合わさ
れてアンロック状態とロック状態との間で作動できるロ
ック手段を備えており、このロック手段は、アンロック
状態にあるときには記憶手段にアクセスすることがで
き、そしてロック状態にあるときには記憶手段へのアク
セスが拒絶される。好ましくは、ロック手段にはロック
制御手段があって、これは、デコーダ手段からのインタ
ーロック読み取りコマンド及びアドレスデータに応答
し、インターロック読み取りアドレスがロック記憶レジ
スタに既に現われない場合にはロック記憶レジスタにイ
ンターロック読み取りアドレスデータを入力し、そして
ロック状態においてはロック記憶レジスタに記憶された
データに対応するメモリアレイのアドレス位置を記憶す
る。ロック制御手段は、デコーダ手段からのアンロック
書き込み制御及びアドレスデータに応答し、アンロック
状態においてロック記憶レジスタに記憶されたアンロッ
ク書き込みデータに対応するメモリアレイのアドレス位
置を入力し、そしてロック制御手段は、インターロック
読み取り制御データに応答し、インターロック読み取り
アドレスデータによって指定されたメモリアレイアドレ
ス位置の状態に対応するロック状態信号を発生する。ロ
ック制御信号は、応答メッセージがプロセッサノードに
よって首尾良く受け取られない場合にメモリアレイのア
ドレス位置をアンロック状態に復帰させる手段を備えて
いるのが好ましい。ここで実施するように、このような
手段は、ロック制御器310を備えている。
又、本発明では、プロセッサノードの1つからのインタ
ーロック読み取りコマンドに応答して、ロック手段の状
態を指示するロック状態指示を発生すると共にロック手
段をアンロック状態からロック状態へ切り換え、そして
更に、アンロック書き込みコマンドに応答して、変更さ
れた情報を指定の位置に記憶すると共にロック手段をロ
ック状態からアンロック状態に切り換えるためのコマン
ド手段も含まれている。ここに実施するように、コマン
ド手段は、ロック制御器310及びメモリアレイ312
を備えている。
アドレス及びコマンド情報はロック制御器310へ送ら
れ、該制御器は以下で詳細に述べるロック機構を有して
いる。デコーダ308からのアドレス及びコマンド情報
は、メモリアレイ312にも送られる。メモリアレイ3
12は、読み取り及び書き込みコマンドに応答し、デコ
ーダ308から受け取ったアドレス情報により指定され
たアレイ312内の位置からデータを読み取ったりそこ
にデータを書き込んだりする。
本発明によれば、メモリ39は、インターロック読み取
りコマンドの開始に続く指定の時間に、インターロック
読み取りコマンドを発生したプロセッサノードへ、ロッ
ク状態指示を含むロック状態メッセージを送信するため
の状態応答手段を備えている。応答発生器は、ロック手
段がアンロック状態にあるときに指定の位置の内容を含
む第1メッセージ形式と、ロック手段がロック状態にあ
るときに指定位置を利用できないことを示す第2メッセ
ージ形式とを発生する応答手段を備えているのが好まし
い。ここに実施するように、状態応答手段は、応答発生
器316及び出力待ち行列318を備えている。
制御器310からのロック状態信号314及びメモリア
レイ312からのメモリデータは応答発生器316に供
給され、この発生器は以下で詳細に述べる出力応答メッ
セージを発生する。発生器312からの応答メッセージ
は、メモリ39が前記した仲裁プロセスによってバスへ
のアクセスを得るまで出力待ち行列318に記憶のため
に送られる。
応答発生器316は、メモリ312から受け取ったデー
タと、制御器310から受け取ったロック状態信号31
4と、デコーダ308から受け取ったコマンド及びID
情報とを作成する。発生器316によって作成された応
答メッセージは、メモリ39が要求されたデータを供給
できるかどうかによって2つの形式のいずれかである。
応答しているコマンドが非インターロック読み取りコマ
ンドである場合、又はコマンドがインターロック読み取
りコマンドであってロック状態信号314がアサートさ
れない場合には、応答発生器316は、メモリ312内
の指定の位置の要求された内容を含む第1形式のメッセ
ージを作成する。然し乍ら、コマンドがインターロック
読み取りコマンドでありそしてロック状態ライン314
がアサートされた場合には、応答発生器316は、“ロ
ック”コードを含む第2形式のメッセージをファンクシ
ョンライン上に発生し、インターロック読み取りコマン
ドの指定のアドレスがロック状態にありそして受け取っ
たインターロック読み取りコマンドに応答してメモリ3
9により送られた応答メッセージに要求データが与えら
れないことを指示する。
本発明によれば、メモリ39は出力待ち行列手段を含
み、この手段は、応答発生器316からの応答メッセー
ジを記憶すると共に、プロセッサ31による対応コマン
ドの開始に続く不定の時間にバス25へのアクセスを得
た後にその記憶された応答メッセージをプロセッサノー
ド31へ送信する。ここに実施例するように、この手段
は、出力待ち行列318を含む。発生器316が応答メ
ッセージをコンパイルすると、それが出力待ち行列31
8へ送られる。出力待ち行列318は、メモリ39がバ
ス25へのアクセスを所望することをバスインターフェ
イス64に知らせる。応答メッセージは、このようなア
クセスが得られる間で不安の時間中出力待ち行列318
に記憶される。
メモリ39がバス25へのアクセスを許可されると、出
力待ち行列318に含まれた応答メッセージがシステム
バス25に出され、そのコマンドを最初に発生したコマ
ンダノードに送信する。メモリ39がコマンダノードに
よって最初に送信されたコマンドの実行をいつ完了する
かは分からずそしてメモリ39がいつバス25をアクセ
スして要求されたデータ又はロック状態情報を与えるか
も分からないので、インターロック読み取りコマンドに
対応するロック状態情報は、元のインターロック読み取
りコマンドの開始に続く不定の時間にコマンダノードに
おいてバス25のファンクションラインに現われる。
コマンダノードが成功裡なインターロック読み取りコマ
ンドの後にレスポンダノードによって発生された応答メ
ッセージを受け取り損なった場合には、コマンダノード
は確認指示を発生しない。レスポンダノードがその応答
メッセージからのACK確認を受け取り損なったときに
は、そのインターロック読み取りコマンドによってセッ
トされたロックビットをクリアする。
本発明によれば、メモリ39は、第1及び第2の形式の
応答メッセージを選択的に発生する手段を備えており、
第1形式のデータメッセージは、ロック手段がアンロッ
ク状態にあるときに記憶された情報を含みそして第2形
式のデータメッセージは、ロック手段がロック状態にあ
るときに情報が利用できないことを指示する。ここに実
施するように、このような手段は、ロック状態ライン3
14、応答発生器316、デコーダ308及びロック制
御器310を含んでいる。
E.ロック制御器310の説明 第9図には、ロック制御器310が詳細に示されてい
る。本発明によれば、ロック手段は、インターロック読
み取りコマンドを阻止すべきメモリアレイ39内のアド
レスに対応する選択されたアドレスを受け取るためのロ
ックタグ手段を備えている。ここに実施するように、ロ
ックタグ手段は、ロジック制御器352b、352c及
び352dを備えており、これは、ロジック制御器35
oと共にロック制御器312を構成する。特定の用途に
基づいて、より多くの又は少数のロックタグを設けられ
ることを理解されたい。ロックタグ352a−dは、構
造及び動作が同じである。明瞭化のために、詳細な回路
はロックタグ352についてのみ示されている。
各ロックタグ352a−dは、システム20のアドレス
スペース内の位置に対応する値を記憶するための記憶レ
ジスタ354を備えている。レジスタ354は、これに
記憶された値が現われる出力端子356を備えている。
レジスタ354は、イネーブル端子358と、アドレス
ライン309に接続された入力端子360とを備えてい
る。イネーブル端子358を作動すると、レジスタ35
4はアドレスライン309に現われる信号をロードす
る。
レジスタの出力端子356は、比較器368の1つの入
力端子366に接続される。比較器366は、アドレス
ライン309に接続された別の入力端子370を有して
いる。比較器366の出力端子372は“一致”信号を
構成し、これは2入力アンドゲート374の一方の入力
端子に送られる。アンドゲート374の他方の入力端子
は、コマンドライン311のアンロック書き込みライン
380に接続される。アンドゲート374の出力端子は
ライン382のリセット端子に接続される。ラッチ38
2の出力端子はLOCK信号を構成し、これは2入力ア
ンドゲート386の一方の入力端子387に送られる。
アンドゲート386の他方の入力端子は比較器368の
一致信号出力に接続される。アンドゲート386の出力
は、アドレスラインに現われるアドレスがロックタグ3
52aによって“ロック”されることを指示する“ヒッ
ト”信号を構成する。
ロックタグ352aの最後の部品は4入力アンドゲート
388である。アンドゲート388の一方の入力は、メ
モリノード39によって現在処理されているコマンドが
インターロック読み取りコマンドであることを指示する
コマンドライン311のライン390に接続される。ア
ンドゲート388の第2入力はクロック信号389に接
続され、ロックタグ352aの動作を適切にゲートする
と共に競合状態を防止する。アンドゲート388の第3
入力は、以下で述べるロジック制御器350の「割当」
端子に接続される。アンドゲート388の第4入力は、
反転ロック状態信号314に接続される。アンドゲート
388の出力端子は、レジスタ354のイネーブル入力
358と、ラッチ382のセット端子とに接続される。
ロジック制御器350は、アイドルロックタグを選択す
るための選択エンコーダとして働くロックタグ割当回路
392を備えている。割当回路392は、ロックタグ3
52a−dからのロックビットの状態によりどのロック
タグが自由であるかを判断し、そして選択されたロック
タグの「割当」信号を高めることによってロック機能を
与えるように利用可能なロックタグの1つを指定する。
全てのロックタグが現在指定されている場合には、「全
てビジー」の出力信号が5入力オアゲート394の1つ
の入力に送られる。オアゲート394の他の入力は、ロ
ックタグ352a−dの各“ヒット”信号によって供給
される。
インターロック読み取りコマンドを処理するためのロッ
ク制御器310の動作について以下に説明する。アドレ
スライン309のアドレス値は、レジスタ354に記憶
されたアドレス値と常時比較される。レジスタ354に
記憶されたアドレス値がいずれもアドレスライン309
に現われるアドレス値に等しくない場合には、一致信号
がアサートされず、“ヒット”信号もアサートされな
い。又、回路392の“全てビジー”の信号がアサート
されていないとすると、オアゲート394の入力がアク
ティブにならず、ロック状態ライン314がセットされ
ない。次いで、メモリアレイ312(第3図)は、指定
位置の内容を応答発生器316に供給する。ロック状態
ライン314がアサートされないと、応答発生器316
は、“良好な読み取りデータ”コードが応答メッセージ
のビットにおいてセットされる第1形式の応答メッセー
ジを発生し、これは、最終的に、バス25のファンクシ
ョンラインを経て、それらを要求したコマンダノードに
送信される。
ここでロック状態ライン314の反転値がアンドゲート
388に送られる。回路392は、ロックタグ352a
−dの割当信号の1つを供給する。インターロック読み
取りが処理されているので、インターロック読み取りラ
イン390がデコーダ308(第8図)によってセット
される。従って、クロック信号389が作用されたとき
には、ロックタグ352aのアンドゲート388が作動
されて、レジスタ354をイネーブルする。アドレスラ
イン309に現われるアドレス値は、ロックタグ352
aのレジスタ354に記憶される。又、アンドゲート3
88が作動されると、ラッチ382がセットされ、これ
により、ロックタグ352aの384のロックビットが
アサートされる。ここで、ロックタグ352のレジスタ
354に含まれた指定位置へのアクセスは、次のインタ
ーロックコマンドに対して拒絶される。
ロック位置に対する次のインターロック読み取りコマン
ドは、次のような動作を生じさせる。アドレスライン3
09に現われるアドレス値は、ロックタグ352aのレ
ジスタ354に記憶された値に等しい。従って、ロック
タグ352aの端子372の一致信号がセットされる。
ロックタグ352aに対する端子384のロックビット
は、手前のインターロック読み取り動作からセットされ
るので、アンドゲート386の両方の入力がここでアク
ティブとなり、ロックタグ352aのビット信号をアサ
ートさせる。これは、次いで、オアゲート394を作動
させ、ロック状態ライン314を作動する。ロック状態
ライン314を作動すると、応答発生器316(第8
図)は、メッセージのファンクションビットに基づいて
LOCKED応答ビットがセットされる第2形式の応答
メッセージを発生するようにされる。
ロックビットをクリアするためのアンロック書き込みコ
マンドの作用について説明する。既にロックされている
位置に対するアンロック書き込みコマンドは、アドレス
ライン309に現われる値がロックタグのレジスタ35
4に記憶された値に等しくなるようにする。例えば、ロ
ックタグ352aによってロックされた位置をアンロッ
クするためにアンロック書き込みコマンドが送られたも
のと仮定する。アドレス値がアドレスライン309に現
われると、比較器368の出力により一致信号がセット
される。アンロック書き込みライン391はこのとき高
レベルであるから、アンドゲート374が作動され、ラ
ッチ382が出力端子384のロックビット信号をリセ
ットする。アンドゲート386は不作動化され、ロック
タグ352aのアクティブなヒット信号をオアゲート3
94の入力端子から取り出す。アンロック書き込みコマ
ンドで送られるデータは、次いで、メモリ内の指定の位
置に書き込まれる。
プロセッサに送られたロック状態メッセージをインター
ロック読み取りコマンド後の不定の時間にシステムバス
を経てデータ転送として供給することにより、本発明で
は、転送の確認とロック状態送信の機能を分離すること
ができ、これにより、所定の時間に又は専用のロック状
態ラインを経てロック状態情報を送信しなければならな
い場合に必要とされた高い経費及び複雑さを伴うことな
く多数のロックビットを使用することができる。又、こ
れは、システムに接続されたノードからシステムバスと
は別のバス及びアダプタを経てロック状態情報を得られ
るようにする。
前記の説明全体にわたり、ロックされたメモリ又はアド
レススペースは「位置」によって指定するとされた。各
アドレス記憶レジスタはある範囲のアドレスを構成し、
単一のインターロック読み取りコマンド又はアンロック
書き込みコマンドにより単に1つの位置ではなくてある
範囲のアドレス位置を各々ロック及びアンロックするこ
とができる。
本発明の精神又は範囲から逸脱することなく本発明のイ
ンターフェイス回路又はインターフェイスにおいて種々
の変更や修正がなされ得ることが当業者に明らかであろ
う。本発明は、請求の範囲内に入るこのような変更や修
正及びそれらの等効物を網羅するものとする。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−107977(JP,A) 特開 昭60−10384(JP,A) 特開 昭59−180767(JP,A) 特開 昭53−105139(JP,A) 特開 昭50−81646(JP,A) 特開 昭59−106021(JP,A)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】保留バスと、 上記保留バスに結合した複数のコマンダノードと少なく
    とも一つのレスポンダノードとからなる装置であり、上
    記レスポンダノードが、 上記複数のコマンダノードの選択された一つからインタ
    ーロック読み取りコマンドメッセージを受け取る手段
    と、 指定の位置を含み、情報を記憶するための記憶手段と、 上記記憶手段に組み合わされ、アンロック状態とロック
    状態との間で作動して、アンロック状態にあるときには
    上記記憶手段へのアクセスを許すと共に、ロック状態に
    あるときは上記記憶手段へのアクセスを拒絶するための
    ロック手段と、 上記インターロック読み取りコマンドメッセージの送信
    に続いて所定の時間経過した時に、上記複数のコマンダ
    ノードの内の上記選択された一つに、上記インターロッ
    ク読み取りコマンドメッセージが首尾よく受け取られた
    ことを指示するコマンド確認を送信することにより、上
    記インターロック読み取りコマンドメッセージの受け取
    りを確認し、且つ上記インターロック読み取りコマンド
    メッセージを発生した上記複数のコマンダノードの内の
    上記選択された一つ以外のノードが上記保留バスにアク
    セスすることを許すための確認手段と、 上記インターロック読み取りコマンドメッセージに応答
    し、上記ロック手段の状態を示すロック状態信号を発生
    すると共に、上記ロック手段をアンロック状態からロッ
    ク状態へ切り換え、アンロック書き込みコマンドに応答
    して、上記指定の位置に変更された情報を記憶すると共
    に、上記ロック手段をロック状態からアンロック状態に
    切り換えるためのコマンド手段と、 上記インターロック読み取りコマンドメッセージの開始
    に続いて不定の時間経過した時に、上記インターロック
    読み取りコマンドメッセージを発生した上記複数のコマ
    ンダノードの上記選択された一つへ、上記ロック手段の
    状態に対応する応答メッセージを送信するための状態応
    答手段とを具備することを特徴とする装置。
  2. 【請求項2】上記インターロック読み取りコマンドの開
    始に続いて所定の時間経過した時に、上記インターロッ
    ク読み取りコマンドメッセージの受け取りを指示するA
    CK確認を上記コマンダノードへ送信する手段を具備す
    る請求項1に記載の装置。
  3. 【請求項3】上記状態応答手段は、第1及び第2形式の
    応答メッセージを選択的に発生する手段であって、上記
    応答メッセージの上記第1形式は上記ロック手段が上記
    アンロック状態にあるときの上記記憶された情報を含
    み、上記応答メッセージの第2形は上記ロック手段が上
    記ロック状態にあるときの上記情報を使用できないこと
    を示している手段を備える請求項1に記載の装置。
  4. 【請求項4】インターロック読み取り及びアンロック書
    き込みコマンドメッセージの各々の送信に続いて所定数
    のバスサイクルが経過した時に、保留バスに結合された
    複数のコマンダノードの内の一つにコマンド確認を送信
    することにより、上記インターロック読み取り及びアン
    ロック書き込みコマンドメッセージの受信を確認するた
    めの確認手段と、 上記確認手段によって確認された上記インターロック読
    み取りコマンドメッセージ及びアンロック書き込みコマ
    ンドメッセージを上記複数のコマンダノードの上記一つ
    から受け取るための入力待ち行列手段と、 上記入力待ち行列手段内の上記インターロック読み取り
    及びアンロック書き込みコマンドメッセージからコマン
    ドを取り出し、そして上記コマンドからインターロック
    読み取り及びアンロック書き込みコマンド及びアドレス
    データを発生するためのコマンドデコーダ手段と、 各々対応するアドレス値を有する複数のアドレス位置を
    有し、指定の位置を含み、且つ上記デコーダ手段からの
    制御及びアドレスデータに応答して、情報を記憶及び検
    索するためのメモリアレイと、 上記メモリアレイにおけるアドレス位置に対応するメモ
    リアドレスを記憶するための記憶位置を有するロック記
    憶レジスタと、 上記デコーダ手段からの上記インターロック読み取りコ
    マンド及びアドレスデータに応答し、上記インターロッ
    ク読み取りアドレスが上記ロック記憶レジスタに現在記
    憶されていない場合に上記インターロック読み取りアド
    レスデータを上記ロック記憶レジスタに入れ、そして上
    記ロック記憶レジスタに記憶された上記インターロック
    読み取りアドレスデータに対応するメモリアレイアドレ
    ス位置をロック状態に入れるためのロック制御手段であ
    って、このロック制御手段は、上記デコータ手段からの
    アンロック書き込み制御及びアドレスデータに応答し
    て、上記ロック記憶レジスタに記憶された上記アンロッ
    ク書き込みデータに対応するメモリアレイアドレス位置
    をアンロック状態にし、更に、上記インターロック読み
    取り制御データに応答して、上記インターロック読み取
    りアドレスデータにより指定されたメモリアレイのアド
    レス位置の状態に応答するロック状態信号を発生するよ
    うなロック制御手段と、 上記ロック状態信号に応答し、上記指定のアドレスがア
    ンロック状態にある場合には上記入力待ち行列から受け
    取ったコマンドメッセージのアドレスデータにより指定
    されたメモリアドレスの内容を含む応答メッセージを発
    生すると共に、上記指定されたアドレスがロック状態に
    ある場合にはロック応答を含む応答メッセージを発生す
    るための発生手段と、 上記発生手段からの応答メッセージを記憶すると共に、
    上記保留バスへのアクセスを得た後、上記複数のコマン
    ダノードの上記一つであって、上記応答メッセージの対
    応するものの発生を引き起こしたコマンダノードによる
    コマンドメッセージの送信に続いて不定の時間経過した
    時に、上記複数のコマンダノードの上記一つに上記記憶
    された応答メッセージを送信するための出力待ち行列手
    段とを具備することを特徴とする装置。
  5. 【請求項5】上記ロック制御手段は、上記応答メッセー
    ジが上記コマンダノードの上記一つによって首尾良く受
    け取られない場合に上記メモリアレイのアドレス位置を
    アンロック状態に復帰する手段を備えた請求項4に記載
    の装置。
JP63504036A 1987-05-01 1988-04-25 コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置 Expired - Lifetime JPH0642236B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/044,466 US4949239A (en) 1987-05-01 1987-05-01 System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
US44,466 1987-05-01
PCT/US1988/001299 WO1988008584A1 (en) 1987-05-01 1988-04-25 Method and apparatus for implementing multiple lock indicators in a multiprocessor computer system

Publications (2)

Publication Number Publication Date
JPH02500783A JPH02500783A (ja) 1990-03-15
JPH0642236B2 true JPH0642236B2 (ja) 1994-06-01

Family

ID=21932544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63504036A Expired - Lifetime JPH0642236B2 (ja) 1987-05-01 1988-04-25 コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置

Country Status (8)

Country Link
US (1) US4949239A (ja)
EP (1) EP0344216B1 (ja)
JP (1) JPH0642236B2 (ja)
KR (1) KR910007750B1 (ja)
AU (1) AU600830B2 (ja)
CA (1) CA1304828C (ja)
DE (1) DE3882977T2 (ja)
WO (1) WO1988008584A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1227711B (it) * 1988-11-18 1991-05-06 Caluso Torino Sistema multiprocessore di elaborazione dati a risorse distribuite condivise e prevenzione di stallo.
US5142676A (en) * 1988-12-28 1992-08-25 Gte Laboratories Incorporated Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory
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
US5182809A (en) * 1989-05-31 1993-01-26 International Business Machines Corporation Dual bus microcomputer system with programmable control of lock function
JPH0387958A (ja) * 1989-06-30 1991-04-12 Nec Corp バスロツク制御方式
US5101479A (en) * 1989-07-21 1992-03-31 Clearpoint Research Corporation Bus device for generating and responding to slave response codes
US5353416A (en) * 1989-10-25 1994-10-04 Zenith Data Systems Corporation CPU lock logic for corrected operation with a posted write array
US5136714A (en) * 1989-12-04 1992-08-04 International Business Machines Corporation Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system
US5499356A (en) * 1989-12-29 1996-03-12 Cray Research, Inc. Method and apparatus for a multiprocessor resource lockout instruction
US5381536A (en) * 1989-12-29 1995-01-10 Cray Research, Inc. Method and apparatus for separate mark and wait instructions for processors having multiple memory ports
US5168570A (en) * 1989-12-29 1992-12-01 Supercomputer Systems Limited Partnership Method and apparatus for a multiple request toggling priority system
US5276847A (en) * 1990-02-14 1994-01-04 Intel Corporation Method for locking and unlocking a computer address
US5269005A (en) * 1991-09-17 1993-12-07 Ncr Corporation Method and apparatus for transferring data within a computer system
US5359715A (en) * 1991-09-16 1994-10-25 Ncr Corporation Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces
US5430860A (en) * 1991-09-17 1995-07-04 International Business Machines Inc. Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence
US5491799A (en) * 1992-01-02 1996-02-13 Amdahl Corporation Communication interface for uniform communication among hardware and software units of a computer system
JP3515142B2 (ja) * 1992-06-11 2004-04-05 セイコーエプソン株式会社 データ転送制御装置
GB2273586A (en) * 1992-12-21 1994-06-22 Hanover Restricting access to shared memory during updates.
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
US5574862A (en) * 1993-04-14 1996-11-12 Radius Inc. Multiprocessing system with distributed input/output management
JP3360933B2 (ja) * 1994-06-01 2003-01-07 富士通株式会社 情報処理システムにおける記憶制御方法および記憶制御装置
US5594875A (en) * 1994-07-01 1997-01-14 Digital Equipment Corporation Method and apparatus to provide pended transaction on a non-pended system bus
US5701422A (en) * 1995-12-13 1997-12-23 Ncr Corporation Method for ensuring cycle ordering requirements within a hierarchical bus system including split-transaction buses
US5872980A (en) * 1996-01-25 1999-02-16 International Business Machines Corporation Semaphore access control buffer and method for accelerated semaphore operations
EP0887741B1 (en) 1997-06-27 2005-04-13 Bull S.A. Interface bridge between a system bus and a local bus for controlling at least one slave device, such as a ROM memory
US6611891B1 (en) 1998-11-23 2003-08-26 Advanced Micro Devices, Inc. Computer resource configuration mechanism across a multi-pipe communication link
US6421751B1 (en) * 1998-11-23 2002-07-16 Advanced Micro Devices, Inc. Detecting a no-tags-free condition in a computer system having multiple outstanding transactions
US6397225B1 (en) * 1998-12-23 2002-05-28 Advanced Micro Devices, Inc. Messaging system with protocol independent message format
US6529983B1 (en) 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US6681341B1 (en) 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
US6892237B1 (en) 2000-03-28 2005-05-10 Cisco Technology, Inc. Method and apparatus for high-speed parsing of network messages
US6505269B1 (en) 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US6922745B2 (en) * 2002-05-02 2005-07-26 Intel Corporation Method and apparatus for handling locks
JP4576323B2 (ja) * 2004-12-10 2010-11-04 富士通株式会社 データ転送装置およびデータ転送方法
US7315910B2 (en) * 2005-06-16 2008-01-01 Oracle International Corporation Techniques for handling lock-related inconsistencies
US8994533B2 (en) * 2006-11-30 2015-03-31 Patent Navigation, Inc. Conditional RFID
US8001328B2 (en) * 2008-01-29 2011-08-16 International Business Machines Corporation Method and process for expediting the return of line exclusivity to a given processor through enhanced inter-node communications
US9560134B1 (en) * 2012-06-27 2017-01-31 Netapp, Inc. Storage array side write locking
US20170111286A1 (en) * 2015-10-15 2017-04-20 Kabushiki Kaisha Toshiba Storage system that includes a plurality of routing circuits and a plurality of node modules connected thereto

Family Cites Families (43)

* 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
US3528061A (en) * 1968-07-05 1970-09-08 Ibm Interlock arrangement
FR2056894A1 (ja) * 1969-07-31 1971-05-07 Cii
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
JPS5319501B2 (ja) * 1973-11-21 1978-06-21
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
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
US4099243A (en) * 1977-01-18 1978-07-04 Honeywell Information Systems Inc. Memory block protection apparatus
JPS53105139A (en) * 1977-02-24 1978-09-13 Nec Corp Dynamic main memory controller
US4115854A (en) * 1977-03-28 1978-09-19 International Business Machines Corporation Channel bus controller
US4161778A (en) * 1977-07-19 1979-07-17 Honeywell Information Systems, Inc. Synchronization control system for firmware access of high data rate transfer 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
US4384322A (en) * 1978-10-31 1983-05-17 Honeywell Information Systems Inc. Asynchronous multi-communication bus sequence
DE3009530A1 (de) * 1979-03-12 1980-09-25 Digital Equipment Corp Datenverarbeitungssystem
US4315310A (en) * 1979-09-28 1982-02-09 Intel Corporation Input/output data processing system
US4313161A (en) * 1979-11-13 1982-01-26 International Business Machines Corporation Shared storage for multiple processor systems
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4407016A (en) * 1981-02-18 1983-09-27 Intel Corporation Microprocessor providing an interface between a peripheral subsystem and an object-oriented data processor
JPS58107977A (ja) * 1981-12-22 1983-06-27 Toshiba Corp 記憶装置へのアクセス方式
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 相互排他方式
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
JPS59106021A (ja) * 1982-12-10 1984-06-19 Oki Electric Ind Co Ltd バス構成方式
US4543628A (en) * 1983-01-28 1985-09-24 Digital Equipment Corporation Bus for data processing system with fault cycle operation
US4891749A (en) * 1983-03-28 1990-01-02 International Business Machines Corporation Multiprocessor storage serialization apparatus
JPS6010384A (ja) * 1983-06-29 1985-01-19 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
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
US4763249A (en) * 1983-09-22 1988-08-09 Digital Equipment Corporation Bus device for use in a computer system having a synchronous bus
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
JPS60107170A (ja) * 1983-11-15 1985-06-12 Nec Corp マルチプロセッサ制御方式
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
US4709326A (en) * 1984-06-29 1987-11-24 International Business Machines Corporation General locking/synchronization facility with canonical states and mapping of processors

Also Published As

Publication number Publication date
AU600830B2 (en) 1990-08-23
JPH02500783A (ja) 1990-03-15
EP0344216A1 (en) 1989-12-06
AU1716888A (en) 1988-12-02
KR890702145A (ko) 1989-12-23
CA1304828C (en) 1992-07-07
DE3882977D1 (de) 1993-09-09
KR910007750B1 (ko) 1991-09-30
US4949239A (en) 1990-08-14
EP0344216B1 (en) 1993-08-04
WO1988008584A1 (en) 1988-11-03
DE3882977T2 (de) 1994-03-24

Similar Documents

Publication Publication Date Title
JPH0642236B2 (ja) コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置
EP0358703B1 (en) Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
EP0370018B1 (en) Apparatus and method for determining access to a bus
US4937733A (en) Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
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
US5111424A (en) Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer
EP0346398B1 (en) Apparatus and method for a node to obtain access to a bus
US4941083A (en) Method and apparatus for initiating interlock read transactions on a multiprocessor computer system
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) マルチプロセッサコンピュ―タシステムにおいてシステムリソ―スへの充分なアクセスを確保するコマンダノ―ド方法及び装置