JPH03222057A - データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法 - Google Patents

データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法

Info

Publication number
JPH03222057A
JPH03222057A JP2333432A JP33343290A JPH03222057A JP H03222057 A JPH03222057 A JP H03222057A JP 2333432 A JP2333432 A JP 2333432A JP 33343290 A JP33343290 A JP 33343290A JP H03222057 A JPH03222057 A JP H03222057A
Authority
JP
Japan
Prior art keywords
instruction
synchronization
control
processing
processing unit
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
JP2333432A
Other languages
English (en)
Other versions
JPH07101410B2 (ja
Inventor
Diane L Knipfer
ダイアン、レーシー、ニプファー
Lynn A Mcmahon
リン、アレン、マクマホン
Charlotte B Metzger
シャーロット、ベネット、メッツガー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH03222057A publication Critical patent/JPH03222057A/ja
Publication of JPH07101410B2 publication Critical patent/JPH07101410B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/458Synchronisation, e.g. post-wait, barriers, locks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、多数の処理装置か主記憶装置へのインターフ
ェイスを共用するようなデータ処理ネットワークに関す
るものであり、更に詳しくいえば、そのようなネットワ
ークにおいてハードウェアとマイクロコード直列化機構
を試験する方法に関するものである。
従来技術および課題 データ処理における現在の傾向は、主記憶装置に対する
共通のインターフェイスを共用する多数の処理装置をま
すます用いるコンピュータアーキテクチャである。多重
プロセッサネットワークは、主記憶装置において共用さ
れるオブジェクトを保護するために直列化手段を典型的
に採用する。いいかえると、2つまたはそれ以上のプロ
セッサか主記憶装置内のデータの共用されている区域を
アクセスすることを同時に要求したとすると、1つまた
は複数の直列化手段が衝突を解決し、要求している1つ
のプロセッサにアクセスを許可する。
直列化機構の信頼性を確認するために直列化機構を試験
することは望ましいことであり、かつ必要であるか、そ
の試験は主記憶装置か共用するオブジェクトに対して、
1クロ・へクサイクル内で重なり合う衝突する要求を求
める。これは稀にランダムに起る状況であって、強制す
ることは困難である。
プロセッサ間の衝突を強制する一般的な考えが知られて
いる。たとえば、アイビーエム・テクニカル・ディスク
ロージャー・プルテン(IBM Technicare
 Diselosul Bulietin)第17巻第
6号(1974年11月号)には構内装置および遠隔装
置と呼ばれる2つの処理装置を同期させる方法が開示さ
れている。構内プロセッサと遠隔プロセッサか次の命令
を同時に実行するように、同しクロックサイクル中にそ
れらの処理装置を「零」状態に置くことへ向って、構内
プロセッサと遠隔プロセッサは異なる命令を実行する。
両方のプロセッサか同し記憶場所を求めているとすると
、ただ1つのプロセッサにアクセスを許可するためにロ
ック機構か構成される。
処理装置を同期させるために種々の手段か知られている
か、ロックその他の直列化機構の試験に関連しては必要
ではない。たとえば、米国特許第4.41.2,303
号明細書には、プロセッサのアレイと、メモリジュール
と、プロセッサとメモリジュールを接続するネ・ットワ
ークと、データベースメモリ制御器を有するデータベー
スメモリとを含む装置が開示されている。その装置はプ
ロセッサ並列動作を希望する時にプロセッサを同期させ
る統合器も含む。
米国特許第4,783,736号明細書にはインターリ
ブされている複数の記憶素子へ並列に接続されている多
数のプロセッサを管理する装置が開示されている。この
装置においては、アクセスの衝突を避けるために、メモ
リアクセスパターンかパターンの希望のオフセットを確
実にするために構成される。種々のマスタ装置とスレー
ブ装置か種々のコードの下で動作する。
それらの同期手段と前記試験のやり方はある状況の下で
はおのおの満足できるか、多数の処理装置を同期させ、
主記憶装置内の共用されるオブジェクトに対して、プロ
セッサ間で繰返えすことかできる衝突を行うためにこの
同期を利用するために、大きな需要か残っている。
発明の概要および解決課題 本発明の目的は、多数のプロセッサを保留(実行してい
ない)状態に置き、それから全てのプロセッサを保留状
態から同時に解放するための手段を得ることである。
本発明の別の目的は、プロセッサか命令を実行する順序
とは無関係に、保留状態を達成することに向って、同一
に動作する多数のプロセッサにより実行されるコンピュ
ータプログラム同期命令を得ることである。
本発明の別の目的は、全てのプロセッサ同期に続いて、
1つまたは複数の選択したプロセッサを選択的に遅延さ
せる手段を得ることである。
本発明の更に別の目的は、同期命令か実行されるたびに
、選択した長さ、たとえば1クロツクサイクルだけ、長
くするために、1つまたは複数の選択されたプロセッサ
に関連する遅延を長くする手段を得ることである。
それらの目的およびその他の目的を達成するために、ビ
ット符号化されたデータを取扱うためにコンピュータ命
令を実行する複数の処理装置と、ビット符号化されたデ
ータを受けて、それを送る共用資源と、処理装置と共用
資源の間でビット符号化されたデータを送るためにプロ
セッサと共用資源へ接続されるインターフェイスとを含
むデータ処理ネットワークにおいて用いられる同期方法
が得られる。そのネットワークは、処理装置の間で共用
資源を制御するために競争を処理装置の間に分解する直
列化手段も含む。
このネットワークに関連して、直列化手段が正しく機能
していることを確認する方法が得られる。
この方法は、次の過程を含む。
(a)同期すべき処理の数を決定するために限度を指定
する過程、 (b)以後のコンピュータプログラム命令を実行するこ
とを処理装置が一時的に阻止されるような状態である保
留状態にある処理装置(スレーブ装置と呼ばれる)の数
が前記限度より1少い時まで、各処理装置を保留状態に
置く過程と、 (e)マスタ装置と呼ばれる残りの1つの処理装置を用
いてそれ自体を保留状態にし、それからそれ自体とスレ
ーブ装置を保留状態から同時に解放し、それと同時に全
ての処理装置、マスタとスレーブ、がコンピュータプロ
グラム命令の実行開始を可能にする過程。
希望によっては、この方法は、マスタ装置が全ての処理
装置を保留状態から解放した後で、少なくとも1つの処
理装置を他の処理装置に対しである選択した時間だけ遅
延させる別の過程を含むことができる。この遅延は、遅
延させられる処理装置が保留状態から解放させた後、お
よび合図をする前に行われる。
本発明は全てのプロセッサを正確に同じ時刻に保留状態
から解放させるために、全てのプロセッサへ同時信号を
供給する。本発明の好適な実施例においては、クラスロ
ックとして知られている特定の直列化機構がこの同期方
法において採用される。特定のクラスロックに関連する
主記憶装置内の共用オブジェクトアクセスしようとする
時に、いずれかの処理装置によりクラスロックを要求で
きる。「クラスロック」という用語は、ロック機構が主
記憶装置を全体として保護せず、また主記憶装置内の特
定のデータ語も保護せず、それよりも主記憶装置のある
クラスすなわちクラスロックは上記方法の過程(c)を
実行するために利用される。更に詳しくいえば、含まれ
ているブロックの間に1列になって続いているために特
定のプロセッサがマスタ装置になると、マスタ装置は限
度と同数の複数のロックの制御を要求して、制御を行う
。ロックを得た後で、マスタ装置は同期メツセージを全
てのスレーブ装置へ供給する。各スレーブ装置は、同期
メツセージを受けた時に、確認応答メツセージをマスタ
装置へ送り返えし、マスタ装置により現在制御されてい
る一意に関連する1つのロックの制御を要求する。
全てのスレーブ装置からの確認応答メツセージの受取り
に応答して、マスタ装置は残りの1つのロックを要求す
ることにより、それ自体をスレーブ装置とともにホール
ドオフ状態にする。それからマスタ装置は複数のロック
の制御を解除することにより、ロックを制御することを
処理装置に同時に許可する。ロックの制御が解除される
と処理装置か次のコンピュータプログラム命令を実行す
ることか処理装置へ知らされる。そのような命令1つが
各プロセッサに組合わされる。
全てのプロセッサは同一の「次の命令」を実行せず、お
よび実際に各プロセッサは異なる命令を実行するから、
本発明の方法は下記の別の過程を含むことかできる。
全ての処理装置の合図の後で、第2の1つの装置による
共用資源のアクセスの前に、第1の1つの処理装置によ
る共用資源のアクセスが行われたことを観察する過程と
、 ロックの制御の前記解除の後で、かつ各処理装置がそれ
の次の1つのコンピュータプログラム命令の実行を開始
する前に、第1の装置のみに関連する遅延を間に入れ、
以前の全ての過程を再び行い、それから第1の処理装置
と第2の処理装置による共用資源へのアクセスを観察す
る過程と、第2のプロセッサが再び共用資源へのアクセ
スを行う前に第1のプロセッサが共用資源へのアクセス
を行った・ことを検出されたとすると、第1のプロセッ
サに対する遅延を増大させて、この過程の1つ前の過程
を再び行う過程と、 第1の処理装置の前に第2の処理装置が共用資源へのア
クセスを再び行ったことか観察されるまでこれを繰返え
す過程。
したがって、2つのプロセッサが異なる命令流を実行し
ているとすると、長くなる遅延特徴が最締約にプロセッ
サに同じクロックサイクルでアクセスを競合させて、直
列化機構の試験を効果的に行うようにする。
この方法は、命令を同期命令として識別するための第1
のフィールドと、主記憶装置内の同期制御ブロックの場
所を識別する第2のフィールドとを含む複数のデータフ
ィールドを有する32ビット語に従って実行することが
好ましい。制御ブロックは、限度を指定する第1の制御
フィールドと、制御ブロックとの同期命令を実行した処
理装置の数の現在のカウントを維持するための第2の制
御フィールドと、どの処理装置が制御ブロックとの同期
命令を実行したかを識別するための第3の制御フィール
ドとを含む複数のフィールドを有する32ビット語でも
ある。
長くなる遅延特徴に関連して、同期命令は、遅延の存在
と非存在を示すフィールドと、同期命令が実行されるた
びに遅延フィールド内の値を大きくするかどうかを決定
するフィールドとを更に含む。
本発明の顕著な特徴は、同期命令の1つの過程にしたか
って、同期すべきプロセッサよりも多い命令流か存在し
ても、プロセッサの数が限度を自動的に決定することで
ある。全ての処理装置は同格として扱われ、1つまたは
複数のプロセッサをマスタとして予め決定しておく必要
はない。それよりも、同期命令を実行する最後のプロセ
ッサへマスタ状態が動的に割当てられる。遅延特徴は、
それか一定であるか、増大するものであるかを問わず、
各1つのプロセッサに一意に組合わされる。
最後に、全てのプロセッサは同じ同期命令を実行し、た
とえばマスタ装置により実行される命令のような、特殊
な命令の必要はない。したがって、本発明の同期方法は
、単独で、または−意に割当てられた固定遅延または増
大する遅延との組合わせて、主記憶装置内の共用資源オ
ブジェクトをプロセッサの間で競合させることを容易に
して、直列化機構の完全で徹底的な試練を容易にするも
のである。
実施例 本発明の理解を容易にするために、この実施例の説明を
、本発明の構成と動作を説明するために用いるいくつか
の用語についての簡単な説明から始める。
IMP+命令二マイクロコードにおけるアセンブリレベ
ルのコンピュータプログラム命令である。処理装置はデ
ータに対する論理オペレーション、たとえば記憶、加算
、文字移動等の機能、の実行において1MP+命令を順
次実行する。
水平マイクロコード(HMC)  : 1MP+命令を
通訳する、すなわち、1MP+命令を一連のより簡単な
過程へ分解するマイクロコード。このHMC命令は制御
語とも呼ばれ、ハードウェアの状態を支配する。
ハードウェア・クラス・ロック:それらのロックは主記
憶装置のフェッチを直列にし、処理装置の間で記憶する
。各制御語(HMC)はロック制御フィールドを有し、
それによりプロセッサは10個までのロックの任意の組
合わせを制御できる。
クラス・ロック機能: HMCはクラス・ロックに関連
する次の3つの機能を指定する。
(1)プロセッサによりすでに保持されている1組のロ
ックへロックを加える。
(2)プロセッサにより現在保持されている1つのロッ
クまたは全てのロックをリセットする。
(3)現在の全てのロックを含めてロックをセットし、
それに続いて、選択されたロックを加える。
クラス・ロック・ホールドオフ:特定の処理装置が1つ
のクラス・ロックを制御すると、同じロックを要求して
いる別のプロセッサはそのロックを制御できずにホール
ドオフ状態に置かれる。その状態においては、要求して
いるプロセッサはそれ以上の)1MC命令は実行しない
。要求されているロックを利用・できるようになるまで
ホールドオフは続けられる。要求されているロックを利
用できるようになるまでホールドオフは続けられる。要
求されているロックは、制御しているプロセッサが未解
決の記憶またはその他の活動を終って、要求されている
ロックをリセットすることによりそのロックを有するこ
とを許可する。
保留状態:処理装置がそれ以上の1MP+命令を実行せ
ず、同期を待っているような状態。
プロセッサ相互通信レジスタ(pH?)  :PIRは
プロセッサの共用オブジェクト(主記憶装置ではなくて
プロセッサに常駐している)であり、それを介してプロ
セッサはメツセージを他のプロセッサへ送ることができ
、かつそれを介して他のプロセッサは確認応答メツセー
ジで応答できる。各プロセッサはPIR内のそれのそれ
ぞれのビットをリセットすることにより応答を行う。
次に図面を参照する。第1図には、ビット符号化された
データに対して各種のオペレーションを記憶し、実行す
るための情報処理ネットワーク16が示されている。こ
の例におけるネットワークは18.20.22で示され
ている3つの処理装置を含む。
しかし、より多くの、またはより少ない処理装置を用い
ることもできる。プロセッサ18は制御記憶装置24を
含む。この制御記憶装置に水平マイクロコードか常駐す
る。プロセッサ18はプロセッサ相互通信レジスタ(P
IR)のレジスタセグメント26と、汎用1MP+レジ
スタ27とも含む。プロセッサ20と22は類似し、水
平マイクロコードを含んでいるそれぞれの制御記憶装置
28.30と、PI)?のそれぞれのレジスタセグメン
ト32.34、と、1MP+レジスタ33.35とを含
む。処理装置は、ビット符号化されたデータを主記憶装
置またはネットワーク16の他の部分へ送り、ネットワ
ークの他の区域からデータを受け、そのようなデータ送
信を行うための指令を発生するために必要な回路も含む
。このネットワークの処理装置の構成は多数の処理装置
を含むことができることを理解すべきである。
インターフェイス36が処理装置を主記憶装置38へ接
続する。この主記憶装置38はビット符号化されたデー
タを記憶するためのメモリアレイ40と、1MP+命令
を記憶するプログラム命令記憶装置42とを含む。主記
憶装置38は多数の個々のメモリカードで構成すること
が好ましい。各メモリカードはそれ自体のメモリアレイ
と、それ自体の命令記憶セグメントとを有する。それら
のセグメントは協同して1MP+命令を供給する。
インターフェイス36は複数の別々のバス(図示せす)
を並列に含むことができる。各バスは全ての処理装置と
、主記憶装置のメモリカードとの全てにより共通に共用
される。たとえば、作業データ(ネットワークのユーザ
ーに最も直接に関係する情報)が作業用データバスを介
して送られる。
指令/アドレスバスが、作業用データの送信を制御する
情報を送る。この情報は、作業用データを記憶または検
索すべき主記憶装置38のアドレスについての情報を含
む。作業用データとして作業用データの状態を送るため
のバスがデータバスを介して送られる。データ線44.
46.48が処理装置工8.20.22をインターフェ
イス3Bへ接続する。データ線50がインターフェイス
を主記憶装置へ接続するが、多数のメモリカードの場合
には、各カードはインターフェイスへのそのような自身
のデータ線を有する。PI)?線52.54.56がP
JRセグメント26.32.34をインターフェイスに
組合わせて、各処理装置が他の処理装置と通信できるよ
うにする。
ビット符号化されたデータが入力から瞬時に計算された
ように見えるならば、そのデータについてのオペレーシ
ョンは「原子」である。主記憶装置に関連して、あるオ
ペレーションのソースオペランドが主記憶装置38から
フェッチされる時から、オペレーションの結果が主記憶
装置へ戻されて記憶される時まで、そのソースオペラン
ド変化することを許されないとすると、そのオペレーシ
ョンは原子のように見える。そうすると、記憶されてい
る結果は記憶時には入力に対して正しい。多数の処理装
置を有するネットワークにおいては、主記憶装置をアク
セスするためにプロセッサの間の衝突の試みが検出され
て、実行中のオペレーションが終るまで遅らされるとす
ると、オペレーションを確実にアトミックとすることが
できる。しかも、原子オペレーションの数が最小に保た
れるならば、ネットワーク16の性能は向上させられる
したがって、はとんどの1MP+命令はそれ自体は原子
ではない。むしろ、選択された1MP+命令は、主fc
!憶装置38内の同種の共用オブジェクトに対して作用
する他の命令に対してのみ原子である。したがって、そ
のような命令を含む1MP+命令は「比較的に原子命令
」と見なされる。そのようなオペレーションに対しては
、オペレーションが最初に入力を参照する時とオペレー
ションがそれの結果を記憶する時の間のセット中の別の
オペレーションにより人力は変化させられない。共用オ
ブジェクトはオブジェクトクラスに分けられる。各オブ
ジェクトクラスは1つのクラスロックにより保護される
上記を記憶して、本発明の同期試験を、処理装置18.
20.22の活動が時間線58とともに示されている第
2図を参照して一般的に説明できる。
前記のように、直列化機構に固有の1つの困難は、その
ような機構が求められて正しく機能するような状況と、
機構がまったく要求されないような状況とに対しては、
試験結果が同一であるように見えることである。という
のは潜在的に競合するオペレーションが重畳しないから
である。この困難を克服するために、本発明の試験は各
プロセッサにMPSYNCと名づけられた同期命令を実
行させる。そのMPSYNC命令は2つまたはそれ以上
のIMPI命令流を互いに1クロックサイクル以内で同
期させるために用いられる。各命令流は1つの処理装置
に組合わされる。
プロセッサ18と20に対してそれぞれ60と62に示
されているように、各処理装置かMPSYNC命令を実
行すると、各処理装置が以後の1MP+命令を実行する
ことを一時的に停止するような保留状態にさせられる。
MPSYNC命令を最後に実行する処理装置を除く全て
の処理装置は保留状態をとり、スレーブ装置と見なされ
る。MPSYNC命令を最後に実行する処理装置はマス
タ装置である。64に示されているように、処理装置2
2はこの命令を最後に実行するからマスタ装置になる。
マスタ状態はプロセッサが同期命令を実行する順序のみ
に依存するから、処理装置18.20.22のうちのい
ずれもマスタとなることができたことを理解すべきであ
る。どの処理装置もマスタ装置になるように予め定めら
れることはない。
マスタ装置がMPSYNC命令をひとたび実行すると、
それは全てのスレーブ装置と通信してそれの命令流の実
行を続ける。その時に各プロセッサにおける水平マイク
ロコードは「オペレーションの終り」(ENDOP)命
令を、実行する。同期されたENOOP命令は6流れに
おける次の命令の実行を、「再開」場所66.68.7
0の整列として示されている、同じクロックサイクル上
で開始させ、またはENDOP命令を、後で説明する遅
延特徴に関連して、指定された量だけずらすことができ
る。
MPSYNC命令を実行する命令流の数が処理装置の数
より多い、たとえば、第1図と第2図に関連して4つま
たはそれ以上の命令流、状況へ自動的に調整する場合に
は、その同期試験は特定のノ\−ドウエア機構とは独立
している。この場合には、プロセッサの数に等しい数の
命令流だけが同期させられる。これによって、全ての処
理装置がスレーブ状態をとって、マスタの役をするもの
がないことによる行きづまりが阻止される。残りの命令
流中の同期命令は非同期命令として実行され、以後の命
令は、図に「超過」と示されている線72により示され
ているように、試験される直列化機構によるのではなく
、プロセッサに対する競合により直列化される。同期試
験はハードウェアから更に独立し、同期すべき命令流の
限度はネットワーク中のプロセッサの数より少ない数に
セットできる。
また、これは、スレーブ状態に入る全ての命令流による
行きづまりを阻止する。
第3図は、マスタ装置がMPSYNC命令を実行する最
後の処理装置であることを「学習コした時からの事象と
、全ての処理装置の間の活動状態の統合させられた仮定
とを非常に詳しく示す。スレーブ装置が保留状態にあっ
てマスタ装置からメツセージを待っていると、マスタ装
置はハードウェア・クラスロック・を得る。求められて
いるロックの数は含まれている処理装置の数(マスタと
全てのスレーブの和)に等しい。各処理装置はクラスロ
ックの1つに一意に組合わされる。求められている数の
ロックをマスタ装置がひとたび制御すると、そのマスタ
装置は同期メツセージをプロセッサ相互通信レジスタ(
PIR)を介して全てのスレーブ装置へ送り、それから
スレーブ装置からの確認応答を持つ。
各スレーブ装置は、同期メッセージを受けた時に、確認
応答メツセージでPIRを介して応答し、かつそれ自身
のクラスロックの制御も要求する。
その要求は要求しているスレーブ装置をクラスロック・
ホールドオフ状態に置く。というのは、要求されている
ロックはマスタ装置により現在制御されるからである。
マスタ装置は、全てのスレーブ装置から確認応答メツセ
ージを受けると、それの全てのロックをリセットする指
令を発する。次のクロックサイクルにおいては、装置の
ハードウェアかその指令に応じてロックをリセットでき
る前に、マスタ装置はそれ自身のロックを再び要求する
。このためにマスタ装置はスレーブ装置とともにクラス
ロック・ホールドオフ状態にされる。ネットワークハー
ドウェアか全てのロックを実際にリセットすると、全て
のロックは同期時刻74において処理装置に許可される
。第3図は各プロセッサに対する同期時刻の後の遅延を
示す。この遅延は各処理装置に対して個々に選択され、
かつ零にてきる。いずれにしても、各処理装置はそれに
関連するクラスロックを、希望によっては遅延させて、
リセットし、ENDOP命令を実行し、それから次のク
ロックサイクルにおいてそれの命令流中の次の命令の実
行を開始する。
同期を行うために、含まれている全てのプロセッサはM
PSYNC命令を、主記憶装置38に含まれている共用
同期制御ブロック76で実行する。この制御ブロック7
6は複数のそのようなブロックの1つであるが、与えら
れた同期点に対してそのようなブロックを1つ使用でき
る。全ての命令流が制御ブロックをひとたび用いると、
それを再び初期化(再使用)できる。各プロセッサは、
MPSYNC命令に遭遇すると、(1〉制御ロック76
を更新して、同期を待っていることを指示し、(2〉制
御ブロックカウントフィールド92を検査し、待ってい
るプロセッサの数を決定し、(3〉制御ブロックを検査
して、同期させるべき命令流の数(制御ブロックにおい
て指定された数およびプロセッサの数より少ない)を決
定する。
MPSYNC命令のフォーマットと同期ブロックのフォ
ーマットが第4図と第5図にそれぞれ示されている。水
平マイクロコード使用のためにのみ留保されている主記
憶装置の区域78に常駐するフラッグビットか、同期試
験を行う時に論理エヘセットされ、通常の動作、非試験
状態中に用いられる「正常なJ 1MP+命令とは反対
に、DPCODEフィールド80(ビット0〜7)が通
訳されて同期命令を指定する。rlJと記されているフ
ィールド82は遅延特徴に関連するものである。このフ
ィールドの最初のビット(ビット位置8)は、長くなる
遅延か求められるならば、セットされる。rRJと記さ
れているフィールド84は「1」フィールドに関連して
用いられる。rRJフィールド中の4ビツトオペランド
は半語IMPIレジスタ、すなわち、プロセッサ18.
20.22内の、長くなる遅延特徴内に組込むべきであ
るサイクル数を含んでいる、レジスタ27.33.35
のうちの1つ、を指定する。フィールド82が長くなる
遅延を要求するためにセットされなかったとすると、フ
ィールド84は無視される。rBJおよび「C」と記さ
れている最後のフィールド86と88は、主記憶装置3
8内の4バイト同期制御ブロック76を指定する。4ビ
ツトrBJフイールドは6バイトの1MP+ペースレジ
スタを選択し、rDJフィールドは12ビツトの変位を
示す。
制御ブロックの場所は変位と、ペースレジスタの内容と
の和により指定される。
同期制御ブロックは、同期させる命令流の数を指定する
ための限度(LMT)フィールド90を含む。
とくに、限度は命令流の数を同期マイナス1に等しくす
るためにセットされる。その限度がプロセッサの数マイ
ナスlより大きいとすると、MPSYNC命令の実行時
に、水平マイクロコードはこのフィールド内の値をプロ
セッサの数マイナスlに自動的に置き換える。
制御ブロック76で同期命令を実行した命令流の数の現
在のカウントを維持するために、カウント(cNT)フ
ィールド92が水平マイクロコードにより用いられる。
このフィールド内のカウント(ビッ18〜15)は、最
初の命令流がMPSYNC命令を実行できる前に、零へ
初期化せねばならない。
rMPJと記されているフィールド94は、どの処理装
置が制御ブロック76により同期命令を実行したかを記
憶しておくために用いられる。このフィールド内の各ビ
ット (20〜23)は1つのプロセッサに組合わされ
る。各プロセッサが同期命令を実行するにつれて、UP
フィールド内のそれに関連するビットがセットされて、
どのプロセッサが同期命令を実行したかを観察する手段
を提供する。最後のマスタ処理装置はこのフィールドを
用いて全てのスレーブ処理装置を識別する。マスタ装置
が必要な数のクラスロックを得た後でそれらのスレーブ
装置へ同期メツセージが送られる。最初の命令流がMP
SYNC命令を実行できる前に、MPフィールドを零へ
初期化せねばならない。残りのフィールド9Bと98は
用いられない。
第6〜9図は、4つのプロセッサ0〜3て実行される同
期方法の更に詳細を理解するために有用な流れ図の部分
である。命令は第6図におけるrAJて開始されて、主
記憶装置内の区域78におけるフラッグビットを探す。
リセットフラッグビットは、MPSYNC命令てはなく
て正常な動作1MP+命令を示し、100において示さ
れるように「試験」は終わる。
フラッグビット同期命令を示すとすると、プロセッサは
全てのプロセッサクラスロックの制御を要求する。また
、プロセッサ相互通信レジスタと同期制御ブロックを保
護するためのセマフォとして機能するために、プロセッ
サは水平マイクロコード・クラスロック(これは任意の
プロセッサに関連するクラスロックの1つではない)の
制御を要求する。
PIRが使用中であると(別のプロセッサにより制御さ
れる)、全てのロックはリセットされ、入来するどのメ
ツセージも取扱われ、命令が再び始まる。PI)?が使
用中でなければ、プロセッサの数がIJITフィールド
90内の数と比較する。プロセッサの数マイナス1が、
現在LMTフィールドの中にある数より少ないとすると
、プロセッサの数マイナス1に等しくするためにその数
を減少する向きに調節する。
次の過程は、制御ブロック76内のカウントフィールド
と限度との内容の比較を基にした選択102(第7図)
である。カウントフィールド内の値と限度フィールド内
の値が等しいことは、処理装置がマスタであることを示
す。フィールド92内のカウントは増加させられ、マス
タ装置は同期メツセージをプロセッサ相互通信レジスタ
(PIR)を介して全てのスレーブ装置へ送り、水平マ
イクロコードロックは104においてリセットされ、マ
スタ装置は全てのスレーブ装置からの確認応答を待つ。
次に、同期命令の「1」フィールド82が長くなる遅延
に対してサンプルされ、示されたとするならば、命令の
rRJフィールド84により指定された1MP+レジス
タ内の遅延値が長くされる。マスタ装置は全てのロック
をリセットし、それからそれ自身の関連するロックをセ
ットする。これに関連して選択されたクラスロックは、
第7図の138.140.142.144で示されるよ
うに、その装置に一意に組合わされるものである。同期
時には、要求されているクラスロックの制御か全てのプ
ロセッサに対して同時に許可される。同期時の後で、マ
スタ装置はそれのクラスロックをリセットし、遅延が指
定されたとすると、マスタ装置は現在の遅延値により決
定されてrNJだけ遅らされる。
それから、マスタ装置はENDOP命令を実行して命令
流の実行を続ける。
カウントフィールド92内の値が限度フィールド90内
の値をこえると、超過命令流機能が示される。
全てのロックはリセットされ、ENDOPが発生され、
命令流が続く。
106に示すように、カウント値が限度値より小さいと
すると、処理装置はスレーブである。HMCロックを除
く全てのロックがリセットされる。それから、カウント
フィールドが1だけ増加させられ、命令を実行している
プロセッサに関連するビットが制御ブロック76のMP
フィールド94においてセットされる。それから、水平
マイクロコード(HMC)クラスロックがリセットされ
る。
次に、プロセッサは実行を待つ。1が生ずると、HMC
クラスロックがセットされる。次の判定107(第8図
)は、多重プロセッサ(MP)メツセージ例外が検出さ
れるかどうかである。これにより、メツセージが別のプ
ロセッサからPIRを介して送られたことを示す。もし
検出されないとすると、MPメツセージ例外ではなくて
I/O例外が示され、プロセッサはそれのスレーブ状態
を取消さねばならない。カウンタは10Bにおいて減少
させられ、現在のプロセッサに関連するビットは制御ブ
ロックのMPフィールド94においてリセットされ、I
/Oメツセ一ジ例外が取扱われる。同期命令は再び開始
され、102においてスレーブ/マスタ/超過選択が再
び行われる。I10メツセージ例外の取扱い中に別のプ
ロセッサがMPSYNC命令を実行したとすると、おそ
らく異なる結果が生ずる。
107における判定へ戻って、MPメツセージ例外か検
出されたとすると、それを同期メツセージに関連させる
ことができ、またはてきない。もしできないとすると、
プロセッサはそれのスレーブ状態を取消さねばならない
。I/Oにおいてカウントフィールド「N」が減少させ
られ、MPフィールド内の現在のプロセッサのビットが
リセットされ、HMCクラスロックがリセットされる。
MPメツセージ例外は取扱われ、I/Oメツセ一ジ例外
について先に述べたように、同期命令が再開される。
MPメツセージ例外が同期命令に関連するものとすると
、同期命令を現在実行している装置(スレーブ装置に関
連して、長くなる遅延に対して「1」フィールドが試験
される。rRJフィールド84により示されている1M
P+レジスタ内の遅延値は、長くなる遅延の場合に長く
させられる。HMCクラスロックはリセットされ、スレ
ーブ装置は確認応答をマスタ装置へ供給し、スレーブ装
置はそれのクラスロックの制御を要求する。選択された
クラスロックは、112、114.116.118にそ
れぞれ示すように、その装置に一意に関連づけられるも
のである。このクラスロックはマスタ装置により現在制
御され、したがってスレーブ装置をホールドオフ状態に
置く。ロックの制御がスレーブに対して許可されると、
全てのプロセッサは同期させられる。それからスレーブ
装置はそれのクラスロックをリセットする。次に、もし
存在するならば、遅延は、関連する「1」フィールドの
内容と遅延値に従って間にはさまれ、その後でENDO
P命令が実行されて命令流の実行を続ける。
ENDOP命令が続く同期時刻が、全ての処理装置に対
して「次のJ 1MP+命令を同時に開始する。そのよ
うな次の命令が同一であるならば、それらの命令は共用
オブジェクトに対する競合まで同一のコースをとって走
るから、遅延は不要である。しかし、同一の命令の状況
は起らないことがあり、少なくとも1つの処理装置の流
れに所定の遅延を挿入して競合させることを必要とする
。しかし、競合させるために必要な遅延を予め定めるこ
とは困難である。したがって、上記長くなる遅延特徴を
用いて、選択された2つの処理装置の間で競合が確実に
強制されるようにできる。
処理装置18と20が主記憶装置38内の共用オブジェ
クトまたは場所120に対してr EM−QUEUEJ
機能とr DE−QUEUEJ機能を試みていると仮定
する。各場合にENDOPの後の次の命令としてその機
能を行う。共用オブジェクトは主記憶装置38内の語、
または全てのプロセッサが「同時に見ることができる」
ものであれば何でも、とすることができる。
処理装置18は共用オブジェクトに対してアクセスし、
それの機能を最初に実行する、すなわち、競合がない、
と更に仮定する。競合させるために、遅延が(上記「1
」フィールドとrRJフィールドを用いて)、処理装置
t8に関連する命令流中に導入される。長くなる遅延に
対しては、lクロックサイクルのような選択された値が
、rRJフィールドのより指定された1MP+レジスタ
へ加え合わされる。それから、命令流が繰返し実行され
て、同期命令の各実行ごとに遅延を1クロツクサイクル
だけ長くする。最後には、プロセッサ18ではなくてプ
ロセッサ20がオブジェクトを最初にアクセスする。し
たがって、プロセッサ18と20は強制された競合の点
を介して相対的にスキニーさせられる。
同期メツセージと確認応答メツセージに関連して、それ
らのメツセージは共用主記憶装置を介して処理装置によ
り供給できるから、プロセッサ相互通信レジスタは重要
ではないことに注目すべきである。しかし、それらのメ
ツセージに対してPIRを供給し、使用すると、インタ
ーフェイスバスにおけるオーバーヘッドがかなり減少し
、この理由からこれは大きな利点である。
同期機構が正しく機能することはそれは用いて検査でき
、妨害する井原子IMP+命令を同期させる。
第10と第11図は、命令流の同期の失敗と、同期の成
功をそれぞれ示す結果を示す。各場合に、データバイト
122は、クロックサイクルtoにおいて8ビット位置
が全てリセットされて、全部論理0を有する。クロック
サイクルtlにおいては、プロセッサ18はMPSYN
C命令を実行する。同期機構が、マスタ装置からの同期
命令を待つのではなくて、失敗したとすると、プロセッ
サ1Bはそれの命令流を続けて、サイクルt2中にデー
タバイトにおけるORバイト直接(OB + )命令の
実行を開始する。OBI命令は3つの過程、すなわち、
t2において主記憶装置からデータをフェッチする過程
と、t3におけるプロセッサによるOR操作を行う過程
と、次にt4と15において主記憶装置に結果(124
に示されている)を記憶する過程とを含む。(主記憶装
置に対するアクセスの競合はサイクルt4中に記憶を開
始させることがあるが、次のサイクルt5まては完成さ
れない。) OB+命令は原子ではない。共用データの
同時アクセスを阻止するためには直列化は行われない。
プロセッサ20はサイクルt6の間にMPSYNC命令
を実行し、サイクルt7〜tlOの間にOB+命令を実
行する。126に示されているように、最後の結果は、
最初のビット位置と最後のビット位置に論理1を含む。
これとは対照的に(第11図)、同期法が正しく機能す
ると、プロセッサ18は前と同様にタロツクサイクルt
iにおいてMPSYNC命令を実行するが、保留状態を
とってマスタ装置からの同期信号を待つ。この場合には
、プロセッサ20はサイクルt4においてMPSYNC
命令を実行して、同期命令を供給するから、両方のプロ
セッサはクロックサイクルt5の間にそれぞれのOB+
命令を開始する。両方のプロセッサはクロックサイクル
t5中に同じデータをフェッチし、クロックサイクルt
B中にOR操作を行い、クロックサイクルtフ中に結果
の記憶を開始する。
128に示されている、プロセッサ18の結果の記憶は
サイクルt8に終る。プロセッサ20の記憶は主記憶装
置に対する競合により遅らされるから、サイクルt9ま
では終わらない。結果としてのバイト130はそれの最
後の位置だけに論理1を有して、プロセッサ18かそれ
の記憶動作を終る前に、プロセッサ20がデータに対し
てフェッチ動作を行うことを許された、すなわち、同期
に成功したことを反映する。
3つ以上のプロセッサに対しては、各命令流は異なるビ
ットをハイド 122にセットする。OB+命令か直列
に生じたとすると、結果データは、第1O図に示すよう
に、セットされたビットの累積である。同期に成功した
とすると、全ての命令流はバイト 122を同時にフェ
ッチして、他のプロセッサからの活動からの結果を累積
することなしに、データを更新し、新しいデータを主記
憶装置へ書込む。主記憶装置への最後の書き戻しに対応
する命令流は、先行する命令流により記憶されている結
果をなくす。結果は第11図に示されている。
直列化機構を試験するためにMPSYNC命令が用いら
れると、OB+命令は比較的に原子的な命令で置換され
る。第10図に示されているように、全てのプロセッサ
の累積結果を示す結果データは出し委直列化を示す。第
11図に示すように、非累積的な結果は直列化の失敗を
示す。
したがって、多数のプロセッサによりMPSYNC命令
を使用すると、多数の命令の同期を可能にして、プロセ
ッサの直列化機構が正しく機能していること、および水
平マイクロコードか直列化機構を正しく利用することを
検査する。必要かあれば、プロセッサの数マイナス1に
限度値をセットする自動調整構成のために、同期試験は
、利用できるブロセノサの数とは独立に行うことができ
る。遅延か長くなる構成では、試験は各種の機能の正確
な経路長とは独立である。更に、第10図と第11図に
関連して説明した試験により、クラスロック自体を試験
で用いたとしても、ハードウェアクラスか正しく実現さ
れることを検査するために同期命令を確実に使用できる
ようにされる。
【図面の簡単な説明】
第1図は多数の処理装置か共通インターフェイスを介し
て主記憶装置を共用する情報処理装置の略図、第2図は
第1図に示す装置の多数のプロセッサの本発明に従う同
期化を示すタイミング図、第3図は同期化を詳しく示す
タイミング図、第4図はプロセッサの同期に用いられる
32ビット同期命令のフォーマットを示し、第5図は同
期に用いられる32ビット同期制御ブロックフォーマッ
トを示し、第6〜9図は同期命令を詳しく示す流れ図の
一部、第10図および第11図は本発明に従って強制さ
れる共用主記憶装置に対する競合の失敗した結果と真の
結果とをそれぞれ示す。 16・・・情報処理ネットワーク、18.20,22・
・・プロセッサ、24.28.30・・・制御記憶装置
、26.32.34・・・プロセッサ相互通信レジスタ
、33.35・・・1MP+レジスタ、38・・・主記
憶装置、40・・・メモリアレイ。

Claims (1)

  1. 【特許請求の範囲】 1、ビット符号化されたデータを取扱うためにコンピュ
    ータプログラム命令を実行する複数の処理装置と、ビッ
    ト符号化されたデータを受けて、それを送る共用資源と
    、処理装置と共用資源の間でビット符号化されたデータ
    を送るためにプロセッサと共用資源へ接続されるインタ
    ーフェイスと、処理装置の間で共用資源を制御するため
    に競争を処理装置の間に分解する直列化手段とを含むデ
    ータ処理ネットワーク装置において直列化手段が正しく
    機能していることを確認する方法において、 (a)同期すべき処理の数を決定するために限度を指定
    する過程と、 (b)以後のコンピュータプログラム命令を実行するこ
    とを処理装置が一時的に阻止されるような状態である保
    留状態にある処理装置(スレーブ装置と呼ばれる)の数
    が前記限度より1少ない時まで、各処理装置を保留状態
    に置く過程と、 (c)保留状態になくて、マスタ装置と呼ばれる残りの
    1つの処理装置を用いてスレーブ装置を保留状態に維持
    し、それ自体を保留状態にし、それからそれ自体とスレ
    ーブ装置を保留状態から同時に解放し、それと同時に各
    処理装置がコンピュータプログラム命令の実行開始を可
    能にする過程と、を備え、1つのコンピュータプログラ
    ム命令は各処理装置に組合わされる、データ処理ネット
    ワークにおいて直列化手段が正しく機能していることを
    確認する方法。 2、請求項1記載の方法において、直列化手段は複数の
    ハードウェアロックを含み、過程(c)は、 (d)マスタ処理装置を用いて前記限度に等しいロック
    の数の制御を行う過程と、 (e)マスタ装置がロックを得た後で、マスタ装置を用
    いて同期メッセージを全てのスレーブ装置へ供給する過
    程と、 (f)同期メッセージの受取りに応じて各スレーブ装置
    に確認応答メッセージをマスタ装置へ送り返えさせ、現
    在マスタ装置の制御の下にある一意に関連する1つのロ
    ックの制御を要求させる過程と、 (g)全てのスレーブ装置からの確認応答メッセージの
    受取りに応答して残りの要求されていない1つの前記ロ
    ックをマスタ装置に要求させることにより、それに組合
    わされている1つのロックの制御をおのおの要求してい
    るスレーブ装置とともにマスタ処理装置を保留状態に置
    く過程と、 (h)マスタ装置に複数のロックの制御を解放させるこ
    とにより、処理装置に組合わされているロックの制御を
    同時に許可し、各処理装置にそれに組合わされているロ
    ックの制御を許可したことに応答して各処理装置にそれ
    の次の1つのコンピュータプログラム命令の実行を開始
    することを合図する過程と、 を含む方法。 3、請求項2記載の方法において、 制御の前記解除の後で、処理装置の最初の1つがそれの
    次の1つのコンピュータプログラム命令の実行を開始す
    る前に、前記最初の1つの処理装置を残りの処理装置に
    対して第1の選択した時間だけ遅延させる別の過程、 を含む方法。 4、請求項3記載の方法において、 最初の1つの処理装置を遅延させる前記過程は、制御の
    前記解除の後で、処理装置の少なくとも別の1つのおの
    おのがそれの次の1つのコンピュータプログラム命令の
    実行を開始する前に、前記各別の処理装置を他の処理装
    置に対して関連する選択した時間だけ遅延させることを
    含む方法。 5、請求項2記載の方法において、 (i)次のコンピュータプログラム命令の前記実行の後
    で、第2の1つの処理装置による共用資源のアクセスの
    前に、第1の1つの処理装置による共用資源のアクセス
    が行われたことを観察する過程と、 (j)ロックの制御の前記解除の後で、かつ各処理装置
    がそれの次の1つのコンピュータプログラム命令の実行
    を開始する前に、第1の装置のみに関連する遅延を間に
    入れ、過程(b)〜(h)を再び行い、それから第1の
    処理装置と第2の処理装置による共用資源へのアクセス
    を観察する過程と、 (k)第2のプロセッサが再び共用資源へのアクセスを
    行う前に第1のプロセッサが共用資源へのアクセスを行
    ったことを検出されたとすると、第1のプロセッサに対
    する遅延を増大させて、過程(j)を再び行う過程と、 第1の処理装置の前に第2の処理装置が共用資源へのア
    クセスを再び行ったことが観察されるまで過程(k)を
    繰返す過程と、 を更に含む方法。 6、請求項5記載の方法において、 前記ネットワークは、全ての処理装置を相互に接続する
    相互通信レジスタ手段を更に含み、同期メッセージを供
    給する過程は、マスタ装置から相互通信レジスタ手段へ
    同期メッセージを供給する過程を含む方法。 7、請求項6記載の方法において、 前記相互通信レジスタ手段は複数のレジスタセグメント
    で構成され、1つのセグメントが各処理装置に組合わさ
    れ、同期メッセージを供給する過程は、各スレーブ装置
    に組合わされているレジスタセグメントへ同期メッセー
    ジを供給する過程を含む方法。 8、請求項7記載の方法において、 各スレーブ装置に確認応答メッセージをマスタ装置へ送
    り返えさせる前記過程は、各スレーブ装置にそれに組合
    わされている1つのレベルセグメントの内容をリセット
    させる過程を含む方法。 9、請求項2記載の方法において、 限度を指定する過程は、限度に対して提案された数が構
    成中のプロセッサの数に少なくとも等しいかどうかを判
    定する過程と、もし等しければ、限度を処理装置の数よ
    り1だけ少なくする過程とを含む方法。 10、請求項2記載の方法において、 コンピュータプログラム命令は、主記憶装置に常駐する
    アセンブリレベル命令流と、アセンブリレベル命令流を
    制御語へ分解するために各処理装置内に常駐する水平マ
    イクロコードとを含み、各制御語はロックを制御するた
    め、またはロックの制御を解除するための機能フィール
    ドを含み、各処理装置は、選択したロックを制御する前
    に、選択したロックに対する要求を他の全ての処理装置
    に対して行い、各処理装置は、他の1つの処理装置によ
    り現在制御されているロックを要求する時は、常にホー
    ルドオフ状態にされ、 各スレーブ装置に一意に組合わされる1つのロックの制
    御を要求させる前記過程と、マスタ装置に残りの要求さ
    れていない1つのロックを要求させる過程とは、スレー
    ブ装置とマスタ装置をそれぞれホールドオフ状態にする
    ことを含む、 方法。 11、請求項10記載の方法において、 前記合図する過程は、処理装置に常駐する水平マイクロ
    コード中の関連する制御語を基にして、オペレーション
    終了信号を各処理装置へ供給することを含む方法。 12、請求項2記載の方法において、 プロセッサ構成は、処理装置の間にメッセージを送るた
    めのプロセッサ相互通信レジスタを更に含み、過程(e
    )と(f)はそれらのメッセージを相互通信レジスタを
    介して送ることを含む方法。 13、請求項5記載の方法において、 過程(a)〜(h)を、命令を同期命令として識別する
    ための第1のフィールドと、主記憶装置内の同期制御ブ
    ロックの場所を識別する第2のフィールドとを含む複数
    のデータフィールドを有する32ビット語に従って実行
    する方法。 14、請求項13記載の方法において、 同期制御ブロックは、限度を指定する第1の制御フィー
    ルドと、制御ブロックとの同期命令を実行した処理装置
    の数の現在のカウントを維持するための第2の制御フィ
    ールドと、どの処理装置が制御ブロックとの同期命令を
    実行したかを識別するための第3の制御フィールドとを
    含む複数のフィールドを有する32ビット語である方法
    。 15、請求項14記載の方法において、 前記同期命令は、遅延の存在または非存在を示す第3の
    フィールドと、同期命令が実行されるたびに増加させら
    れる遅延の値を示す第4のフィールドとを更に含む方法
    。 16、請求項6記載の方法において、同期メッセージに
    応答して、各スレーブ装置に確認応答メッセージをマス
    タ装置へ送り返えさせる過程は、例外を検出し、その例
    外が多重プロセッサメッセージ例外か、I/O例外かを
    判定する過程と、I/O例外であるとの判定に応答して
    各スレーブ装置のスレーブ状態を取消す過程と、 を含む方法。 17、請求項16記載の方法において、 多重プロセッサメッセージ例外に応答して、あるメッセ
    ージが同期メッセージであるかどうか判定する過程と、 そのメッセージが同期メッセージでないとの判定に応答
    して、各スレーブ装置のスレーブ状態を取扱いし、ある
    いは、そのメッセージが同期メッセージであるとの判定
    に応答して、各スレーブ装置に確認応答メッセージを供
    給させる過程と、を更に含む方法。
JP2333432A 1990-01-17 1990-11-29 データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法 Expired - Lifetime JPH07101410B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US46653890A 1990-01-17 1990-01-17
US466538 1990-01-17

Publications (2)

Publication Number Publication Date
JPH03222057A true JPH03222057A (ja) 1991-10-01
JPH07101410B2 JPH07101410B2 (ja) 1995-11-01

Family

ID=23852143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2333432A Expired - Lifetime JPH07101410B2 (ja) 1990-01-17 1990-11-29 データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法

Country Status (4)

Country Link
US (1) US5307483A (ja)
EP (1) EP0438021B1 (ja)
JP (1) JPH07101410B2 (ja)
DE (1) DE69022709T2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0475282B1 (en) * 1990-09-14 1998-12-16 Hitachi, Ltd. Synchronous method and apparatus for processors
US5442772A (en) * 1991-03-29 1995-08-15 International Business Machines Corporation Common breakpoint in virtual time logic simulation for parallel processors
US5423044A (en) * 1992-06-16 1995-06-06 International Business Machines Corporation Shared, distributed lock manager for loosely coupled processing systems
JPH06110846A (ja) * 1992-09-25 1994-04-22 Fujitsu Ltd 排他制御方式
US5522029A (en) * 1993-04-23 1996-05-28 International Business Machines Corporation Fault tolerant rendezvous and semaphore for multiple parallel processors
TW353732B (en) * 1994-03-31 1999-03-01 Ibm Processing system and method of operation
US5550973A (en) * 1995-03-15 1996-08-27 International Business Machines Corporation System and method for failure recovery in a shared resource system having a moving write lock
JPH10149285A (ja) * 1996-11-18 1998-06-02 Hitachi Ltd 命令実行制御方法および情報処理装置
US6295601B1 (en) * 1997-05-30 2001-09-25 Sun Micro Systems, Inc. System and method using partial trap barrier instruction to provide trap barrier class-based selective stall of instruction processing pipeline
GB9804111D0 (en) * 1998-02-27 1998-04-22 Lucas Ind Plc Distributed data processing system
US6088791A (en) * 1998-04-30 2000-07-11 International Business Machines Corporation Computer processor system for implementing the ESA/390 STOSM and STNSM instructions without serialization or artificially extending processor execution time
US6088792A (en) * 1998-04-30 2000-07-11 International Business Machines Corporation Avoiding processor serialization after an S/390 SPKA instruction
US6542985B1 (en) * 1999-09-23 2003-04-01 Unisys Corporation Event counter
US6823355B1 (en) 2000-05-31 2004-11-23 International Business Machines Corporation Synchronous replication of transactions in a distributed system
US7178137B1 (en) 2001-04-05 2007-02-13 Network Appliance, Inc. Automatic verification of scheduling domain consistency
US7694302B1 (en) * 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
US8171480B2 (en) * 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US8347293B2 (en) * 2005-10-20 2013-01-01 Network Appliance, Inc. Mutual exclusion domains to perform file system processes on stripes
US8627331B1 (en) 2010-04-30 2014-01-07 Netapp, Inc. Multi-level parallelism of process execution in a mutual exclusion domain of a processing system
US8688880B2 (en) * 2010-06-23 2014-04-01 International Business Machines Corporation Centralized serialization of requests in a multiprocessor system
CN102880585B (zh) * 2012-09-28 2015-05-06 无锡江南计算技术研究所 用于具有多个处理器核心的处理器系统的同步器
US8972767B2 (en) * 2012-11-16 2015-03-03 Oracle International Corporation Method and apparatus for synchronizing the time reference of a dynamically activated processor to the system time reference
US10783165B2 (en) 2017-05-17 2020-09-22 International Business Machines Corporation Synchronizing multiple devices
KR20200031625A (ko) * 2017-06-22 2020-03-24 아이씨에이티 엘엘씨 고성능 프로세서
GB2569274B (en) * 2017-10-20 2020-07-15 Graphcore Ltd Synchronization amongst processor tiles
GB2569273B (en) * 2017-10-20 2020-01-01 Graphcore Ltd Synchronization in a multi-tile processing arrangement
US12021861B2 (en) * 2021-01-04 2024-06-25 Bank Of America Corporation Identity verification through multisystem cooperation

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810119A (en) * 1971-05-04 1974-05-07 Us Navy Processor synchronization scheme
FR2253418A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4409653A (en) * 1978-07-31 1983-10-11 Motorola, Inc. Method of performing a clear and wait operation with a single instruction
US4344133A (en) * 1978-07-31 1982-08-10 Motorola, Inc. Method for synchronizing hardware and software
US4412303A (en) * 1979-11-26 1983-10-25 Burroughs Corporation Array processor architecture
US4891749A (en) * 1983-03-28 1990-01-02 International Business Machines Corporation Multiprocessor storage serialization apparatus
JPS6079460A (ja) * 1983-10-07 1985-05-07 Nec Corp 密結合多重演算装置における制御方式
US4709326A (en) * 1984-06-29 1987-11-24 International Business Machines Corporation General locking/synchronization facility with canonical states and mapping of processors
US4783736A (en) * 1985-07-22 1988-11-08 Alliant Computer Systems Corporation Digital computer with multisection cache
US4809169A (en) * 1986-04-23 1989-02-28 Advanced Micro Devices, Inc. Parallel, multiple coprocessor computer architecture having plural execution modes
US4809168A (en) * 1986-10-17 1989-02-28 International Business Machines Corporation Passive serialization in a multitasking environment
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
US4926320A (en) * 1987-04-07 1990-05-15 Nec Corporation Information processing system having microprogram-controlled type arithmetic processing unit
JP2519798B2 (ja) * 1989-05-30 1996-07-31 富士通株式会社 多重プロセッサシステムにおけるシリアライズ機能の検証方式

Also Published As

Publication number Publication date
EP0438021B1 (en) 1995-09-27
EP0438021A2 (en) 1991-07-24
EP0438021A3 (en) 1991-12-04
US5307483A (en) 1994-04-26
JPH07101410B2 (ja) 1995-11-01
DE69022709D1 (de) 1995-11-02
DE69022709T2 (de) 1996-05-02

Similar Documents

Publication Publication Date Title
JPH03222057A (ja) データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法
US5613139A (en) Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message
US6578033B1 (en) System and method for accessing a shared computer resource using a lock featuring different spin speeds corresponding to multiple states
JP2511588B2 (ja) デ―タ処理ネットワ―ク、ロックを獲得させる方法及び直列化装置
US7065765B2 (en) Serializing event handling in a threaded system with no wait states
US4209839A (en) Shared synchronous memory multiprocessing arrangement
US6502209B1 (en) Chip with debug capability
US20030061394A1 (en) High performance synchronization of accesses by threads to shared resources
EP0431326A2 (en) Inter-processor interrupts in an n-element multi-processor
US6076126A (en) Software locking mechanism for locking shared resources in a data processing system
US6473821B1 (en) Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems
JPH032958A (ja) 多重プロセッサシステムにおけるシリアライズ機能の検証方式
US6516403B1 (en) System for synchronizing use of critical sections by multiple processors using the corresponding flag bits in the communication registers and access control register
JPS6048790B2 (ja) デ−タ処理システムのいくつかの装置間におけるデ−タの相続く転送相を重畳するための装置
EP0291907B1 (en) Interprocessor communication system in information processing system enabling communication between execution processor units during communication between other processor units
JP2877095B2 (ja) マルチプロセッサシステム
JP2780623B2 (ja) 情報処理装置
JPH10111857A (ja) マルチプロセッサ
JPH1078940A (ja) マルチノード情報処理システムにおけるチケット分配方法
JP2008511890A (ja) アトミック・オペレーションを用いて情報単位を変更する方法及び装置
US5455914A (en) Tie-breaking control circuit for bus modules which share command execution
JP2699873B2 (ja) バス制御回路
JPS592051B2 (ja) 相互排他要求選択装置
JP2922342B2 (ja) 割込み制御装置
US7155580B2 (en) Information processing apparatus and method of controlling memory thereof