JPS62500549A - マルチプロセッサ・システムにおけるマルチプロセッサの動作を順序付ける方法および装置 - Google Patents

マルチプロセッサ・システムにおけるマルチプロセッサの動作を順序付ける方法および装置

Info

Publication number
JPS62500549A
JPS62500549A JP60504882A JP50488285A JPS62500549A JP S62500549 A JPS62500549 A JP S62500549A JP 60504882 A JP60504882 A JP 60504882A JP 50488285 A JP50488285 A JP 50488285A JP S62500549 A JPS62500549 A JP S62500549A
Authority
JP
Japan
Prior art keywords
processor
processors
operations
arbiter
link
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
JP60504882A
Other languages
English (en)
Other versions
JP2575356B2 (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 JPS62500549A publication Critical patent/JPS62500549A/ja
Application granted granted Critical
Publication of JP2575356B2 publication Critical patent/JP2575356B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/825Indexing scheme relating to error detection, to error correction, and to monitoring the problem or solution involving locking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

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

Description

【発明の詳細な説明】 マルチプロセッサ・システムにおけるマルチプロセッサの動作を順序付ける方法 および装置技術分野 本発明は、各プロセッサが少なくとも1つの処理素子と、他のプロセッサの主記 憶の内容を複製する主記憶と、前記処理素子と主記憶を相互接続するバスと、該 バスに接続されたバス゛・アクセス・アーピンと、通信全行うべくバスおよび他 のプロセッサのリンクに接続されたリンクを含む1対の非同期的に動作するプロ セッサより成るデュアル・プロセッサ・システムに関する。
発明の背景 マルチ処理環境にあっては、複数個のプロセスは時分割ベースの場合には単一プ ロセッサ上で、あるいは複数個のプロセッサ上で同時に処理が実行される。しば しばこのような環境中にある複数個のプロセスは記憶装置中に記憶された情報の 如き資源の使用を共有する。共有された資源へのアクセスが1時にただ1つのプ ロセスのみによって実行されることを保証するため、任意の時点においてただ1 つのプロセスが資源にアクセスすることを許容し、その時に他のプロセスが資源 にアクセスすることをロックアウトする何らかのロック機構を使用しなければな らない。共有された情報の場合には、情報は一般に記憶装置中に記憶されており 、従って、ロック機構は共有された情報が記憶されている記憶装置、または記憶 装置の少なくとも該当部分て対するアクセスを制御しなければならない。
らその上で読み出しおよびクリア動作、テストおよびセット動作、読み出し一修 正一書込み動作、あるいは自動読み出し一修正一書き込み機能を実行する他の形 の記憶装置の動作が実行されるレジスタ、または専用のメモリ・ロケーションと して実現されている。自動読み出し一修正一書き込み機能はその実行期間中には 動作の読み出しおよび書き込み部分において他のレジスタまたはメモリ参照が許 容さnていない機能である。
システムの信頼性を増し、メモリ・アクセスのためのプロセッサ間の競合を減少 させるため、ある種のマルチプロセッサ・システムは複製された、そして多分更 に高価な方法としては模写された記憶装置全使用している。
例えば、共同処理を行うシステムは通常2つの同時に活性状態となる独立なプロ セッサを含んでおシ、各プロセッサは他のプロセッサのメモリの内容を複製する それ自身の記憶装置を有している。模写された記憶装置を有するマルチプロセッ サ・システムでは、′信号機方式“の概念は読み出し一修正一書き込み動作の如 きロック動作がすべての模写さf′した記憶装置中で同時に行われるよう拡張さ れている。何故ならばそのようなシステム中の1つのプロセッサがそn自身の記 憶装置上でのみロック動作を実行する場合ては、該プロセッサは他のプロセッサ に信号機方式によって保護された情報がロックされていることを知らせることが 出来ないからである。そして1つのプロセッサがすべての模写された記憶装置全 ロックするが、同時にはそれが行われない場合には、一般に1つ以上のプロセッ サがそれ自身の記憶装置をロックし、次いで他の記憶装置をロックしようと試み て、その内の 少なくとも1部が既に他のプロセッサによってロックされている ことを見出す可能性が存在する。デッドロックとして知られるこの状態が生じる といずれのプロセッサもロックによって保護されている情報にアクセス出来なく なる。
デッドロック問題は解決出来るが、ロック動作をすべての模写さnfcメモリ中 で同時に生起させるという要求はシステムの特性面で大きな欠点を有している。
何故すらば動作を同時に実行するのに必要な(記憶装置にアクセスするのに要求 さ扛る通信バスの如き)種々の資源は複数個のプロセッサ中で整理されているが 、これらプロセッサの他の処理活動は実効的に中止しなければならず、必要な資 源がすべてのプロセッサ中で確保され、すべてのプロセッサ中でロック動作が実 行され、整理された資源が解放されるまでこれらプロセッサの他の処理活動は継 続することは出来ない。すべてのプロセッサ中におけるロック動作の実行をこの ように同期させるために浪費される時間量はマルチプロセッサ・システムの処理 のスループット全大幅に損うことがある。このような観点から、このような同期 に対する要求は望ましくない。
発明の要旨 問題点は本発明に従うデュアル・プロセッサ・システムにおいて解決さnた。即 ち各プロセッサは処理素子からバスを介して主記憶ロック動作を受信し、該ロッ ク動作を他のプロセッサのリンクに転送し、他のプロセッサのリンクによって転 送されたロック動作を受信し、主記憶上で転送された動作全実行するべくバスに アクセスするリンク中に含−1flた手段と;主記憶上における転送されf?: 、動作の実行全検出する手段と;処理素子に対するアービタ・バス・アクセスか ら主記憶のロック動作全実行させることを要求する処理素子と関連する手段と; アービタと関連し、要求に応動して他のプロセッサのアーとりに対する要求を通 知する手段と;アービタと関連し、他のプロセッサのアーとりからの要求の通知 に応動して、その以前に通知されたアクノリジメントに続いて転送さnた動作の 実行を検出する手段による検出が行わnるときのみに7クノリジメントを通知す る手段と;アービタと関連し、他のプロセッサのアービタからの7クノリジメン トの通知て応動して、その以前て通知されたアクノリジメントに続いて転送され た動作の実行を検出する手段による検出が行われるときのみに要求されたバス・ アクセスを許可する手段とを含んでいる。本発明に従い、そのプロセッサが互い に非同期的に動作するマルチフロセッサ・システムはマルチプロセッサ動作、例 えば模写された資源のロック動作の順序付けを行う方法を実行する装置を含んで いる。該装置Vi1つ以上のプロセッサ上で実行されるべき動作が1つのプロセ ッサ上で実行されることて応動してこれら1つ以上のプロセッサに対しその実行 を知らせる装置と、この知らせに応動して1つ以上のプロセッサの各プロセッサ 上で1つのプロセッサ上で実行された動作が実行される前に1つ以上のプロセッ サの各プロセッサ上で該実行された動作と類似の動作が実行されることは禁止す るが、類似していない動作の実行は許容する装置を含んでいる。同時に実行され た類似の動作量の優先度は各プロセッサ上のアービトレイションにより解決され 、プロセッサ間の優先度は優先権割当てによシ解決される。
知らせを行う装置は該知らせを行う装置が丁度その実行に応動した動作と類似の 動作が1つ以上のプロセッサの少なくとも1つの上で既に実行されているかどう かを決定し、禁止を行う手段は類似の動作が既【実行されているという決定に応 動して、既に実行されている類似の動作が各プロセッサ上で実行されるまで、1 つ以上のプロセッサの各プロセッサ上における前記知らせを行う手段によって応 動された動作の更なる実行を禁止し、類似の動作が既に実行されていないという 決定に応動じて、実行されている動作が各プロセッサ上で実行されるまで、1つ 以上のプロセッサの各プロセッサ上で類似の動作を更に実行すること全禁止する 。1つ以上のプロセッサの各々は、1つ以上のプロセッサの他のプロセッサ中で 模写されている例えば共有記憶装置の如きそれ自身が使用する資源を含んでおシ 、実行される動作は原子的な読み・出し一修正一書き込み動作の如き模写さnた 資源をロックする動作である。
以上述べて来た如きマルチプロセッサ・システムにあっては、他の類似の動作の 実行順序が重大な意味金有する例えば共有の模写された資源をロックする動作の 如き動作は他の類似の動作からの干渉を受ける恐れ無しに、複数個のプロセッサ の各々の上で異なる時点において実行されることが許容される。何故ならばシス テムは複数個のこれら動作を各プロセッサ上で同じ順序で実行することを保証す るからである。ある1つの動作と類似していない他の動作はプロセッサ上で実行 されることが禁止されることはなく、該プロセッサはその上で実行される1つの 動作を待機し、前記1つの動作はシステムの他のプロセッサ上で実行過程中にあ ってよい。
実行された動作と類似の種類の動作は同じ動作であっても良いし異なる動作であ っても良い。例えば、書き込み、読み出し一修正一書き込み、およびテストなら びにセット動作の如き記憶ロケーションの内容を変更し得るすべての動作は類似 の動作であると考えて良い。あるいは、同じ動作の複数の実例が類似の動作であ ると考えても良い。例えば、複数個のプロセッサまたはプロセッサ・ユニットの 各々による読み出し一修正一書き込み動作を実行する各々の試みが同じ動作の1 つの実例を構成し得る。この応用用途にあっては、非同期動作とは、複数個のプ ロセッサ上で実行されねばならない動作がこれらプロセッサ上で同時に実行され る必要がなく、他のプロセッサ上では他の動作が行われているようにむしろ各プ ロセッサ上である異なる時刻において実行され得ること全意味する。
本発明の1実施例に従い、互いに非同期的に動作する複数個のプロセッサを有す る処理システムは、少なくとも第1および第2のプロセッサ上で実行されるべき 動作を第1のプロセッサ上で開始する装置と、該装置と共同動作して開始された 動作が少なくとも第1および第2のプロセッサ上で実行されることが許容される かどうかを決定する装置と、動作が実行されることが許容されているという決定 に応動して開始された動作を各プロセッサ上で実行する前に開始された動作と類 似の第2の動作を実行することを禁止し、かつ各プロセッサ上で類似していない 動作の実行は許容する装置とを含んでいる。プロセッサの各々は禁止装置によっ て開始された動作の実行が禁止されていない場合には開始された動作を実行する 装置を含んでいる。
開始装置は動作を要求する第1の信号(例えばプロセッサ内要求)を発生する装 置と第2の信号(例えばプロセッサ内許可)の受信に応動じて動作を実行する装 置を含んでいる。禁止装置は少なくとも第1および第2のプロセッサの各プロセ ッサと関連し、第3の信号(例えばプロセッサ間要求)の受信に応動して、開始 された動作と類似の動作を関連するプロセッサ上で実行した後にプロセッサの第 4の信号全送信する手段により以前の第4の信号が送信さnるときにのみ第4の 信号C例えばプロセッサ間許可)を送信する装置を含んでいる。そして決定ケ行 う装置は少なくとも第1および第2のプロセッサの1つのプロセッサと関連し、 第1の信号の受信て応動じて少なくとも第1および第2のプロセッサの他のプロ セッサの第4の信号を送信する装置に第3の信号を送信する装置を含んでおシ、 また少なくとも第1および第2のプロセッサの他のプロセッサの第4の信号を送 信する装置からの第4の信号の受信に応動して、開始された動作と類似の動作が 1つのプロセッサ上で実行された後で1つのプロセッサの第4の信号を送信する 装置が以前の第4の信号を送信するときのみ第2の信号全作動装置に送信する装 置を含んでいる。
信号機方式の原子的読み出し一修正一書き込み動作の如き1つ以上のプロセッサ が関与する動作はマルチプロセッサ・システムの複数個のプロセッサ上で非同期 的に実行され得るから、複数個のプロセッサ上における動作の同期的実行および 完了を待機するために個々のプロセッサの殆んどの処理活動を停止させる必要は ない。むしろ個々のプロセッサの処理活動は、あるプロセッサがある時点におい て他のプロセッサもまた後刻実行しなければならない動作を実行していようとい まいと、それとは無関係て継続される。このように資源ロック機構が、システム の処理スループットに影響を与えることなく、共有の模写さnたメモリを有する 非同期式マルチプロセッサシステムで提供さnる。
本発明のこれらおよび他の利点および特徴は付図を参照した本発明の図示の実施 例に関する以下の記述がら明第1図は本発明の一実施例である処理システムのブ ロック図、 第2図は第1図のシステムのプロセッサ間リンクのブロック図、 第3Aおよび3B図は第1図のプロセッサ間リンクの2つのタイプの読み出し一 修正一書き込みトランズアクションの機能線図、 第4図は第1図のシステムのシステム・バス・アービタのブロック図、 第5図は第4図のシステム・バス・アービタの読み出し一修正一書き込み制御装 置の状態図である。
詳細な説明 第1図を参照すると、コプロセッサ・システム100が示されている。コプロセ ッサ・システム100は互いに独立して非同期的に動作する1対のプロセッサ1 01および111より成るマルチプロセッサ・システムである。一般にプロセッ サ101および111は共に活性状態にあり、各プロセッサ101および111 は他のプロセッサとは独立にタスクを実行している。プロセッサ101および1 11の両方で行わねばならない操作の実行はこれら2つのプロセッサで同期して は実行されず、一般に各々のプロセッサで異なる時刻に実行される。
プロセッサ101および111は独立ではあるが、各プロセッサはそれ自身が使 用するために主記憶ユニット(MSU) I Q 2および112を夫々有して いる。これら主記憶ユニット102および112は一般に他方の主記憶ユニット の内容を複製所有している。汎用動作モードにあっては、1方の主記憶ユニット の内容が変化すると他方の主記憶ユニットの内容も変化され、それてよってその 内容は複製さnた状態に保持される。この動作モードは更新モードと呼ばれる。
この記憶内容の複製化てよりプロセッサ101および111のいずれかが障害を 起こすか、または1方のプロセッサがサービスの提供を中止するときにすべての システム・タクスの実行を残りのプロセッサが引き継ぐことが出来る。第2の動 作モード期間中、主記憶ユニット102および112の内容は互いに他の内容を 複製することを中止してよい。第2のモードは例えば障害を起こした1方のプロ セッサに対して保守動作が実行さnるときの如く例外的な場合にのみ実行さ扛る 。
このようなシステムの例が1984年6月22日付のティー・ビー・ビショップ 等の「再構成可能なデュアル・プロセッサ・システム」と題する米国特許願第8 23,481号(出願人は本出願の出願人に同じ)に述べられている。
本出願では“0“および“l“なる記号は2つのプロセッサ101および111 とその構成素子を識別するのに使用する。これは説明全労りやすくするための命 名法であって、′0側“および“1側“の名称は何ら特別の性質を有するもので はない。本出願にあってはプロセッサ101とプロセッサ111は同一である。
前述の主記憶ユニット(MSUO) 102の外にプロセッサ0101は少なく とも1つの処理ユニットを含んでいる。少なくとも1つの処理ユニットとしてプ ロセッサ0101の中央処理部として動作する1つまたはそれ以上の処理素子( PEO)1 g 3が含まれている。またプロセッサ0101と外部との間の通 信を行う入出力アダプタ(IOAO) 104の如き他の知的装置も含まれてい る。プロセッサ0101中に含まれている処理ユニットの具体的な数および型は 本発明とは直接関係がない。
処理ユニット103および104はシステム・バス(SBO)105によってM SU 102に接続されている。
5B0105の機能はプロセッサ0101の種々のユニットの間の情報を伝達す ることである。5BOI 05は時分割多重バスである。バスSB0105に接 続されているユニットによる5BOI 05へのアクセスおよび各バス・タイム スロット期間中における1つのユニットから他のユニットへのバス105e介し ての情報の転送はやはりバス5BO105に接続さ扛ているシステム・バス・ア ービタ(SBAO)106 Kよシ制御される。
プロセッサ間リンク(ILO) 107もt念5BO105に接続さね、ている 。ILOl 07はプロセッサ0101のユニットがプロセッサ1111のユニ ットと通信すること全許容する機能を実行する。詳細に述べると、ILO107 はMSU0102およびMSUI 112の内容を同−T、ipるように保持す る手段でらり、かつプロセッサ0101の処理ユニットがプロセッサ1111の MSUI 112で実行されるべきメモリ動作を要求する手段でもある。
前述の如く、プロセッサ101および111は本発明[4つては同一である。従 って、プロセッサ1111は主記憶ユニット(MSUI)112、少なくとも1 つの処理素子(PEI)113、オプショナルな入出力アダプタ(IOAI)1 14、システA −t<ス(SBI) 115、システム・バス・アービタ(S BAI) 116およびプロセッサ間リンク(ILI)117e含んでいるが、 これらの装置はプロセッサ0101と関連して議論した装置と同一である。
2つのプロセッサ101と111の間での通信を実行するためて、プロセッサ間 リンク107および117は非同期プロセッサ間バス(IPB) 120によっ て相互接続されている。プロセッサ間バス120はリンク107と117の間の 情報の転送を許容する。
2つのプロセッサ101および111のシステム・バス・アービタ106および 116はアービタ間チャネル(IAC)121によって通信を行うべく相互接続 されている。通常のシステム・バス・アクセス調停機能を実行する外に、アービ タ106および116はアービタ間チャネル121と共に2つのプロセッサ10 1および111で実行されるべきシステム100中の動作の実行を制御する複合 装置150に形成している。この複合装置150の種々の素子は、両方のプロセ ッサに対しいずれのプロセッサで前記動作を実行すべきかを知らせ、前記動作が いずれかのプロセッサで実行されているかどうかを決定し、複数個の前記動作が 一方のプロセッサで実行されたとの異なる順序で他方のプロセッサで実行される ことを妨げる。詳細に述べると、アーとり間チャネル121は一方のアービタが 他方のアービタに対し1方のアービタのプロセッサの処理ユニットが両方のプロ セッサの主記憶ユニット上で実行されねばならない読み出し一修正一書き込み( PMW)動作を何時開始するかを知らせ、同様な動作が他のプロセッサによって 実行されているかどうかを決定する。各アービタはIAC121e介して他のア ービタと共同動作することにより1つのRMW動作75(1方のプロセッサ上で 実行されているとき、この1方のRMW動作が関連するプロセッサ上で実行され るまで両方のプロセッサに向けられた他のRMW動作をその関連するプロセッサ 上で実行することを妨げる。しかし、この期間中に他の動作を実行することは許 容されている。これらの機能を実行する複合装置150の動作はアービタ106 および116の構造および機能を考察する際に更に詳細に述べる。
システム・バス105および115のプロトコルを考aするためシステム・バス ・アービタ106に接続されているシステム・バス105よ構成るバスおよび信 号線を示す第4図を参照する。システム・バス105は高速度、同期式、時分割 多重、トランスアクションに基づくバスでおる。各バス・タイム・スロット期間 中、アービタ106はバス105を介してのプロセッサ0101の1つのユニッ トから他のユニットへの情報の転送全制御する。次のタイムスロットは2つの全 く異なるユニット間で情報を転送するのて使用され得る。着信ユニットから何か 全要求している発信ユニットは着信ユニットが要求を考慮している間はバス10 5’を保持しない。その代りに発信ユニットはバス・タイム・スロットを使用し て要求全行い、着信ユニットはその後のバス・タイム・スロットを使用して要求 て応答する。要求タイムスロットと応答タイムスロットの間のタイムスロットは 他のトランスアクションに使用し得る。
1つのユニットから他のユニットへの情報の転送はトランスアクションと呼ばれ る。トランスアクションは完了するのに1つ以上のバス・タイムスロットを要求 する場合がちる。例えば、1つのユニットが他のユニットへのマルチワード・デ ータの転送を行いたいと希望すると、アービタ106はすべてのワードを転送す るのに必要なだけの連続したタイムスロットを発信ユニットに割当てる。
4 アドレスおよびデータの転送て加えて、システム・バス105はトランスア クションと関係する。ユニットを識別するために発信および着信コードを伝送す る。トランスアクションはまたトランスアクションの型および大きさk 示スコ マンド・フィールドを含んでいる。
システム・バス105はシステム・バス105’!r使用し得る各ユニットに対 しシステム・バス要求(sBREQ)およびシステム・バス許可(SBGRAN Tl線を含んでいる。
更に、システム・バス105は両方のプロセッサ101および111上で実行さ れねばならない読み出し一修正一書き込み(RMW)動作を開始させ得る各ユニ ットに対する読み出し一修正一書き込み要求(RMWREQ)線を含んでイル。
t< ス105 ノ5BREQ XRMwREQ オヨび5BGRANT信号線 はアービタ106に接続さ扛ている。
以下で明らかとなるように、プロセッサ101および111が更新モードにない とき、即ち主記憶ユニ′ント102および112の内容が同一に保持されていな いときにのみ実行される。プロセッサ102および112カニ更新モードに6る か否かはシステム・I(ス105のS BUD信号線の状態で示される。
システム・バス105の使用を望むユニットはそのユニット専用のS B RE Q線を使用する。ユニットがRMW動作をプロセッサ101および111の両方 で実行させるためにシステム・バス105を使用したい場合にも、該ユニットは 同様にその専用RMREQ線を使用する。要求を出しているユニットに次のバス ・タイムスロットが与えらnなかった場@ては、その要求線は活性状態に留まる 。そして該ユニットはアービタ106がシステム・バス許可信号を該ユニットに 発する壕でバスへのアクセスは禁止され、従ってRMW動作を行うことは出来な い。
ユニットがアービタ106から5BGRANT信号を受信すると、該ユニットは その5BREQ線を反転させ、更にそのRMREQ線が使用されている場合には RMREQ線も反転させる。次にこのユニットはトランスアクションを構成する アドレス、データ、発信地コード、目的地コードおよびコマンドをシステム・バ ス105の5BAD。
SBD、 5BSC,5BDCおよびSBCバス上に夫々加え、システム・バス 105の“バスが妥当であることを示す信号(SBV)線および″コマンドが妥 当であることを示す信号(SBCV)”線を活性化する。
システム・バス103上に出力された情報がバス105によってシステム・バス 105i’il:接続された他のすべてのユニットに伝達されると、各ユニット は、それが使用中でない限り、着信地コード(そしてリンク107ならびにアー ビタ10fliの場合にはコマンド・フィールド)を調べて、自分自身が現在の トランスアクションの目的地であるかどうかを検査する。もし使用中でないユニ ットが目的地であると、該ユニットはシステム・バス105上に存在する情報を ラッチし、次いでその専用のシステム・バス・アクノリジ(SBACK) a全 使用してシステム・バス・アクノリジ信号をアービタ106に加える。使用中の ユニットはその代りにその専用BUST信号線を使用状態に保持する。
アービタ106は着信地コードおよびコマンド・フィールドを調べることにより どのユニットがトランスアクションの着信地であるかを知シ、各々の着信地ユニ ットのBUST信号線を調べる。すべての着信地が使用中であると、アービタ1 06はシステム・バス105のビジー・アポート(SBBA)信号線を使用して 該トランスアクション全7ポートする。発信ユニットがこのビジー・アボート信 号全受信すると、該ユニットは再びその5BREQat使用してそれ以後のタイ ムスロットでシステム・バスを要求する。
アービタ106?含むユニットは発信ユニットによってシステム・バス105上 に出力さnたコマンド情報を調べることによりトランスアクションがいくつのタ イムスロットを占有しているかを知る。複数タイムスロット・トランスアクショ ンの場合、アービタ106はトランスアクションの各タイムスロットに対し要求 を出しているユニットの5BGRANT iK:信号を加える。同様に着信ユニ ットは複数タイムスロット・トランズアクションの各タイムスロット期間中その 5BACK信号線に信号を加える。しかし、発信ユニットはトランズアクション の各タイムスロット期間中その要求線に信号を加えない。
第4図に示すアービタ106を更に詳細に議論する前に、プロセッサ間リンク1 07および117の動作について述べることにする。リンク107のブロック図 が第2図に示されている。リンク117の構造および動作はリンク107のそれ と同じでおる。リンク107は5つの主要な機能ブロックに分れている。即ちシ ステム・バス、インタフェース(SRIO) 200 、プロセッサ間バス・イ ンタフェース(IBIO)201、入力ジョブ待行列(IJQO)202、出力 ショブ待行列(OJQO)203、およびプロセッサ間バス・アービタ(IBA O)204である。
システム・バス・インタフェース200はシステム・バス105に接続されてお シ、該インタフェース200はリンク107がシステム・バス105のプロトコ ルに従っているかどうかを確認する。リンク107が使用中でない場合には、シ ステム・バス・インタフェース200は常時システム・バス105をモニタし、 リンク107をその着信地とするトランズアクションを探索する。システム・バ ス・インタフェース200Hシステム働バス105上で潜在的トランズアクショ ン要求を受信し、コマンド、発信地コード、着信地コー1:およびアドレスの形 態で他のプロセッサ111への情報転送を行う。この要求はトランズアクション を開始したプロセッサ101中の発信ユニットから来る。
システム・バス・インタフェース200はシステム・バス105上に現在送出さ れているトランズアクションの着信地コードおよびコマンドを調べて、該トラン ズアクションがリンク107に向けられているものか否か、即ちリンク107が 該トランズアクションの着信地の1つであるか否かを決定する。トランズアクシ ョンの着信地としてのリンク107の指定は明示的でも暗示的でも良い。リンク が着信地コード中で指定されている場合、即ち着信地コードのEXTERNAL ビットがセットさnている場合にはリンク107は明示的着信地でおる。これに よりリンク107は着信地コード中で指定されたプロセッサ1111のユニット への転送を行う。トランズアクションが主記憶ユニット102を着信地として指 定し、動作が書き込み、即ちBMWでろシ、5BUD線が“システムは現在更新 モードにある“ことを示す場合、リンク107は暗示的着信地である。リンク1 07Hそれがトランズアクションの発信地の場合、−着信地とはならない。
リンク107が着信地である場合、システム・バス・インタフェース200はト ランズアクション情報全ラッチする。5BIO200は発信地および着信地コー ド発生回路を含んでお9、該回路はプロセッサ1111のリンク117が使用す るべくトランズアクションの発信地および着信地コードを修正する。この回路は 発信地コード中のEXTERNALビットをセットし、着信地コード中のEXT ERNALビット全クリアする。この回路Vi−iた、受信さnたトランズアク ションが主記憶に対する読み出し一昨正一書き込み動作であり、かつ指定が暗示 的である場合、発信地コードを“ リンク“に変更する。
次にシステム・バス200はトランズアクション情報金人カジョブ待行列202 に転送する。
入力ジョブ待行列202はプロセッサ間バス・インタフェース201に対する仕 事を保持する。該待行列202は複数個(この例では16)のエントリ(1つの エントリは1つのシステム・バス・タイムスロットて対応)を保持する容量を有 している。入力ジョブ待行列202が14またはそれ以上のエントリを含んでい る場合には、システム・バス・インタフェース200はアービタ106に対しビ ジーであることを知らせる。これはこれ以上トランズアクション・パッケージを 受信することが出来ないこと全意味する。他のユニットがリンク107をその着 信地の1つとして有するトランズアクションを開始すると、アービタ106ij そのトランズアクション全アボートする。これは入力ジョブ待行列202が少な くとも3つの占有されていないエントリ・スペースを有する状態1で空になるま で継続され、入力ジョブ待行列202がこの状態まで空になると、システム・バ ス・インタフェース200はビジー・インデイケーション全反転させる。
入力ジョブ待行列202がプロセッサ間バス・インタフェース202に対する仕 事を保持している間、出力ジョブ待行列203はリンク117によってリンク1 07に伝送され、システム・バス・インタフェース200によってシステム・バ ス105に送出されることを待機している情報全保持する。その容量は3エント リである。
しかし、1時に1つ以上のシステム・バス・トランズアクションを保持すること は許容されていない。
リンク107が他のリンク117からその出力ジョブ待行列202中にトランズ アクションを受信した後、システム・バス・インタフェース200Uリンクの5 BREQ信号線に信号を加える。リンク107はRMWREQ信号線を有してい ない。何故ならばリンク107は2つのプロセッサ101および111と関連す るRMW動作は開始させないからである。リンク107はプロセッサ0101上 において元に他方のプロセッサ1111上で開始されたRMW動作の内プロセッ サOK%有の部分を単に開始させる。アービタ106が5BGRANT信号に応 動するとき、システム・バス・インタフェース200は出力ジョブ待行列203 から発信地コード、着信地コード、コマンド・フィールド、アドレスおよびデー タ全システム・バス105に加える。他方の側のリンク117はアービタ106 がリンク107の5BREQに許可を与え、出力ジョブ待行列203の第1のコ ントリがシステム・バス105全弁して成功裡に伝送される1でリンク107に よって他のトランズアクションをリンク107の出力ジョブ待行列203にコピ ーすることは許容さnていない。
リンク107がトランズアクション金送信している着信地がビジーである場合に は、アービタ106はBUSYABORT信号線に信号を加えることによシトラ ンズアクション全アボートする。このことが起こると、システム・バス・インタ フェース200はリンクの5BREQ導線に再び信号を加え、トランズアクショ ンを再び試みる。リンク107のシステム・バス・インタフェース200が着信 地ユニットてトランズアクションを成功裡に転送すると、着信地ユニットはシス テム・バス105の専用の5BACK線に信号を加えてそのことをアービタ10 6に知らせる。
プロセッサ間バス・アービタ204はリンク107の1部であり、リンク107 と117のいすnがプロセッサ間バス120の制御権を有しているかを決定する 。アービタ204はプロセッサ間バス120の使用に関する複数個の要求の調整 を行う。アービタ204はシステム・バス105からリンク107に入って来る プロセッサ1111のリンク117に向けられたトランズアクション・パッケー ジと、プロセッサ間バス120を介してリンク107中に入って来るリンク11 7からのトランズアクションの調整を行わねばならない。
アービタ204はリンク107と117のいずれがプロセット間バス120の制 御権を有しているかを決定する固定優先度法を使用している。各々のリンクのア ービタは関連するプロセッサの処理素子からその中に入って来ているリンク・ア イデンティフィケーション/スレーブ(LrDS )信号線を有している。LI DS信号線は1方のリンクをマスク、他方のリンクをスレーブと指定する信号線 である。リンク107および117の両方が同時にプロセッサ間バス120の使 用全要求すると、マスクと指定されたリンクは、現在プロセッサ間バス・トラン ズアクションが進行中でない場合には、スレーブと指定されたリンクよシプロセ ッサ間バス120の使用に関する優先権を有している。トランズアクションが進 行中の場合には、現在のトランズアクション・パッケージを送信していないリン クにはそのトランズアクション・/マツケージを送信した後にプロセッサ間バス 120の使用権が与えられる。これにより2つのリンク107と117の間でプ ロセッサ間バス120が交互に使用されることになる。
プロセッサ間バス120はトランズアクション・ノで′ノケージに基づいて調整 される。即ち一度一方の1ノンクにバス120の使用許可が与えられると、その IJリンクすべてのパッケージの転送を完了するまでt< ス120 ノ告IJ 御を行う。パッケージは1つのシステム・ノ(ス・トランズアクション中に含ま れているすべての情報’を含んでいる。他方のリンクからパッケージ全体を受信 すると、受信を行っているリンクはそのプロセッサ上でトランズアクションに開 始するべくそのプロセッサのシステム・バスの使用全要求する。
プロセッサ間バス・インタフェース201はリンク107がプロセッサ間バス1 20の非同期プロトコルに従っていることを確認する働きをする。インタフェー ス201はプロセッサ間バス120上の情報を送信し、バス120を介して情報 を受信し、プロセッサ間バス制御信号を発生し、かつそnに応動する。
システム・バス105からのトランズアクションがシステム・バス・インタフェ ース200によって受信され、処理されて入力ジョブ待行列207中に加えらル ると、プロセッサ・バス・インタフェース201はプロセッサ間バス120のリ ンクのパッケージ要求(PREQO)導線に信号を加えて他方の側のリンク11 7に対し送信すべきトランズアクション・パッケージを有していることを知らせ る。リンク117のプロセッサ間バス・アービタがプロセッサ間バス120の制 御権をリンク107が有すべきであると決定すると、リンク117はプロセッサ 間バス120のパッケージ・アクノリジ(PACKI)導線ニ信号を加える。リ ンク107のプロセッサ間バス・インタフェース201がPACK 1信号を受 信すると、該インタフェース201は1つの入力ジョブ待行列エントリを形成す るアドレス、データ、発信地コード、着信地コードおよびコマンドをバス120 のrLAD、ILD、 ILSC,ILDCおよびILCバス上に夫々加え、バ ス120のプロセッサ間バスが有効であることを示す信号(IBVl線に信号金 加える。リンク117のプロセッサ間バス・インタフェースがIBM信号を受信 すると、該インタフェースは)<ス120からの情報をラッチし、該情報をそれ 自身の出力ジョブ待行列に転送する。次にリンク117のプロセッサ間バス・イ ンタフェースはプロセッサ間バス・アクノリジ信号(IBACK ) kリンク 107に送信し、情報が受信されたことを示す。
トランズアクション・パッケージが1つ以上の待行列エントリを占有する場合に は、IBV / IBACK信号l\信号lエンドシェイクエントリの転送に対 して繰返される。
リンク107のプロセッサ・バス・インタフェース201がトランズアクション の最後のエントリを送信するとき、該インタフェースはプロセッサ間バス120 のプロセッサ間リンク・パッケージ完了(ILPC)信号線およびBV信号線に 信号を加える。リンク107がノでツケージの最後のエントリを受信すると、該 リンク107は最後のIBACK e返送する。リンク107が最後のrBAc K i受信すると、該リンク107はそのPREQO要求信号を取り除く。リン ク117はパッケージ要求が取り除力)れたことを知ると、該リンク117はP ACK 1信号を取り除く。霊ノンク107がその人力ジョブ待行列202中に 他のトランズアクション・パッケージを有していると、該1ノンク107は以前 のパッケージからのPACK 1信号力;反転された後にPREQO線に再び信 号を加える。
リンクが他のリンクから完全なトランズアクション・パッケージを受信すると、 該リンクはそのトランズアクションをそれ自身のシステム・バス上で開始する。
プロセッサ間リンクの主たる機能はプロセッサ間の転送を許容すること、詳細に 述べると1つのプロセッサ中の処理ユニットから他のプロセッサ中の主記憶装置 への転送を許容することである。この機能の必要性はその情報が両方のプロセッ サによって共有、即ち参照される主記憶装置中に記憶された情報の複製化の結果 として生じる。1つのプロセッサが複製された記憶装置中の共有情報を変更した い場合には、該プロセッサは信号によって情報全ロックし、1方のプロセッサが 情報の更新をしている期間中に他方のプロセッサがその情報を参照しないように しなければならない。記憶装置は複製化されているので、プロセッサはそれ自身 の主記憶装置だけでなく他方の側の複製化さnた主記憶装置もロックしなければ ならない。
主記憶装置中の情報の種々のブロックのロックおよびロックの解除は対象となっ ている情報のブロックと関連する主記憶装置の信号手段に対して読み出し一修正 一書き込み(RMW)動作全実行することにより実現さnる。この信号手段は各 主記憶装置の予め指定された記憶ロケーションである。その名が示すように、R MW動作は記憶ロケーションの内容の読み出し、読み出された内容の修正、およ び修正された内容の記憶ロケーション中への書き戻しより成る。記憶ロケーショ ンの元の修正されない内容はまた応答として要求を発しているユニットに送信さ れる。要求を発しているユニットはその応答を調べ、信号手段が成功裡にロック されたが、または信号手段が現在地のユニットによってロックされているかを決 定する。
RMW動作はトランズアクションのコマンド・フィールド中のRMWインストラ クションを受信することに応動して主記憶装置回路により主記憶装置中において 実行される。RMW動作は主記憶装置の実行回路がRM動作の実行期間中細の主 記憶装置の動作の実行を許容しないという意味で単独的て実行される。
プロセッサ0101の処理ユニットは着信地コード中のEXTERNALビット を送出し、主記憶装置をトランズアクションの着信地であると指定することによ シプロセッサ1111の主記憶装置112を明示的【ロックしてよい。
このことは着信地は主記憶112のみであって主記憶装置102ではないことを 示す。このようなRMW動作はプロセッサ111の主記憶装置112上において のみ実行される。これはシステム100が更新モードにないときにのみ実行され る。
プロセッサ0101の処理ユニットはまた、システム100が更新モードにある ときEXTERNALビットを送出することなく主記憶装置をトランズアクショ ンの着信地として指定することにより暗示的に主記憶装置112全ロツクしても 良い。これは両方の主記憶装置102および112が着信地であることを示す。
このよってして内部および外部主記憶装置の両方に対する転送は処理ユニットの 単一の要求から生じ、RMW動作は両方のプロセッサ101および111の主記 憶装置102および112上で実行される。他方のプロセッサに送信される記憶 装置に対する動作は発信側のプロセッサ中でのメモリ動作と同時刻には一般には 実行されない。
他方のプロセッサの主記憶装置のみに向けられた読み出し一修正一書き込み動作 (外部動作)と両方の主記憶装置に向けられた読み出し一修正一書き込み動作( 更新動作)との間には重要な差異がある。前者の場合ては、発信地処理ユニット は他方のプロセッサの主記憶装置からの応答を期待している。しかし後者の場合 には、発信処理ユニットは他方のプロセッサの外部の主記憶装置からの応答を期 待していない。何故ならば該発信処理ユニットはそれ自身のプロセッサの内部の 主記憶装置から応答全受信するからである。従ってリンク107および117は 外部の主記憶装置から更新用の読み出し一修正一書き込み動作への応答が発信処 理ユニットに達するのを阻止する手段を提供している。
これらリンクがこの結果を達成する手段が第3 A、 3B図に示さnている。
これらの図が示すように、この手法は更新動作の場合、リンクを読み出し一修正 一書き込み動作の発信地として指定すること全依存するが、発信処理ユニットは EXTERNAL動作の場合発信地として指定される。
第3A図は更新読み出し一修正一書き込み動作のトランズアクションを示す。プ ロセッサ0101の処理ユニット103または104がRMW要求の発信地であ ると仮定すると、リンク107は発信地コード中の内部処理ユニット103また は104を指定し、着信地コード中の内部主記憶ユニット102を指定するトラ ンズアクションを受信する。主記憶装置102はこのトランズアクションて応動 してそれ自身上でBMW動作全実行するだけでなく、リンク107は該リンク1 07がトランズアクションの暗示的着信地であることを認識する。先に議論した 如く、リンク107のシステム・バス・インタフェース200は内部リンクを示 す受信されたトランズアクションの発信地コードを変更する。リンク117はプ ロセッサ1111から見ると内部にある(プロセッサ1111にはリンク107 がプロセッサ間バス120を介して修正されたトランズアクションを送出する) 。リンク117は該トランズアクションを変更を加えることなく主記憶ユニット 112に加える。主記憶ユニット112ばそれ自身の上で要求されたRMW動作 を実行し、内部主記憶ユニットをトランズアクションの発信地として、内部リン クを着信地として同定する応答トランズアクションをシステム・バス115上に 送出することにより RMW動作の実行に対するアクノリジとする。主記憶ユニ ット112から見ると該ユニット112は内部主記憶ユニットであり、リンク1 17は内部リンクである。
トランズアクションの着信地であることが分ると、リンク117はリンク107 に応答トランズアクションを送出せず、単に該トランズアクションを棄却する。
このようにして、プロセッサ1111の主記憶ユニット112からの応答はプロ セッサ0101の発信地処理ユニット103または104に到達することが阻止 される。
外部の読み出し一修正一書き込み動作のトランズアクションは第3B図に示され ている。再びプロセッサ0101の処理ユニット103または104がRMW要 求の発信地であるものと仮定すると、リンク107は発信地コード中の内部処理 ユニット103または104を示し、目的地コード中の外部主記憶ユニット11 2を示すトランズアクションを受信する。外部主記憶ユニット112が指示され ているので、主記憶102でなくリンク107のみがこのトランズアクションて 応動する。リンク107のシステム・バス・インタフェース・ユニット200は リンク107がトランズアクションの着信地であることを認識し、該ユニット2 00はトランズアクションの発信地コードを変更して外部処理ユニットを規定し 、着信地コード全変更して内部主記憶ユニットを規定する。
第3A図の例におけると同じように、内部および外部なる用語はリンク107が プロセッサ間バス120を介して修正されたトランズアクションを送出する相手 先であるプロセッサ1111から見ていることを表わしている。リンク117は 変更を加えることなくトランズアクションを主記憶ユニット112に通過させる 。主記憶ユニット112は要求されたRMW動作を実行し、内部主記憶ユニット 112をトランズアクションの発信地として同定し、外部処理ユニット103ま たは104を着信地として同定する応答トランズアクション全システム・バス1 15上に送出することにより該要求されたBMW動作に対するアクノリジメント とする。リンク117は自身がトランズアクションの着信地であることを認識す る。
リンク117のシステム・バス・インタフェースはトランズアクションを受信し 、その発信地コードを変更して外部主記憶ユニットを規定し、着信地コードを変 更して内部処理ユニットを規定する。この場会、内部および外部なる用語はリン ク117がプロセッサ間バス120を介して修正されたトランズアクションを送 出する相手先であるプロセッサ0101から見ていることを表わしている。リン ク107は次にトランズアクションを変更を加えることなく着信地処理ユニット 103または104に送信する。
次に第4図て示すシステム・バス・アービタ(SBAO)106について考察す る。アービタ106および116は同一であシ、従ってアービタ106に関する 議論はアービタ116にもあてはまる。バス・アービタは当業者にあっては周知 であり、従って本発明の理解に必要なアービタ106の部分のみ全第4図て示し 、それに関して以下で議論する。
アービタ106Vi通常のアービトレイション回路(ARB)300全含んでい る。システム・バスの使用が可能なプロセッサ0101の複数個のユニットのシ ステム・バス要求(5BREQ )線はシステム・ハス要求制御(S BREQ CTRL)回路301i通してアービトレイション回路300に接続されている 。システム・バス許可(5BGRANT )線はアービタ106から出て行く線 であり、各々バスの使用が可能なユニットの1つに加えられている。5BGRA NT線はまたシステム・バス要求制御回路301に接続されている。更新RMW 動作を開始させることが可能なプロセッサ0101のユニットの読み出し一修正 一書き込みのプロセッサ内要求(R鼎旺Q )線はシステム・バス要求制御回路 301およびOR回路3030入力に接続されている。ユニット要求(UREQ  )と呼ばれるOR回路303の出力は混成読み出し一修正一書き込みのプロセ ッサ内要求を表わす。該出力は読み出し一修正一書き込み制御(RMWCTRL  )回路302に加えられている。GOと呼ば江るRMWCTRL回路302の 出力は混成読み出し一修正一書き込みのプロセッサ内許可1[わす。該出力は要 求制御回路301のシステム・バスならびKOR回路303の禁止(DIS)入 力に接続されている。
OR回路303はその入力に現nる信号全論理的に組脅わせて単一の混成信号と する。回路303はこの混成信号を選択的にその出力に提供する。該回路303 のゲート機能はRMWC’I’RL回路302からのGo信号線およびアービタ 106のW開始検出器305からのRMWST信号線によって制御されている。
これらの信号線は回路303の禁止(DIS)およびエネイブル(EN)入力に 夫々接続されている。RMWCTRL 302によってGO倍信号発生されるま で、回路303はエネイブル状態にあり、混成信号i UREQ信号線上にゲー トして出力する。RMWCTRL回路によるGo信号線の活性化によシ回路30 3は禁止され、該回路303はその出力から混成信号が出て行くのを阻止し、U REQ信号線を否定状態に保持する。検出器305によるRMWST信号線の活 性化により回路303は再びエネイブルされる。
RMWST信号は、BMW開始検出器305がリンク107以外のプロセッサ0 101のユニットが更新BMW動作を成功裡に開始したことを検出したときに該 RMW開始検出器305により発生される。RM′w開始検出器305はSBC バスをモニタし、動作がRMWであるかどうか全決定する。該検出器305は更 に5BCDバスをモニタして、動作の着信地が主記憶ユニット102であるかど うかを決定し、リンク107のS BGRANT導線をモニタしてリンク107 がトランズアクションの発信地でないことを確認する。該検出器305はまた5 BBA信号をモニタしてバス・トランズアクションが未だアポートされておらす 成功裡に進行中であることを確認する。これらの条件がすべて満足されると、R MW開始検出器305はRMWST信号線を活性化する。
システム・バス要求制御回路301はゲート回路である。RMWCTRL 30 2によってGO倍信号発生されるまで、回路301けRMWREQ倍信号また発 生しているユニット(7) 5BREQ信号を阻止してアートトレイジョン回路 300に達しないようにする。従って、GO倍信号与えられる前に、アートトレ イジョン回路300はシステム・バス要求の調整全行い、更新RMw動作の実行 を望まないユニットに対してのみシステム・バスの使用を許可する。
OR回路によるUREQ信号線の活性化によりRMWCTRL回路3021d更 新RMW動作の実行要求が保留状態であることを知り、該回路302はRMw動 作を進行させてよいと決定したときCCO信号線にパルスを発生する。Go倍信 号受信すると5BREQCTRL回路301はすべての保留中の5BREQ信号 をアートトレイジョン回路300に通過させる。このようにしてGO倍信号与え られると、アートトレイジョン回路300はRMW動作の実行を望む処理ユニッ トのシステム・バス要求を含むすべてのシステム・バス要求間の調整全行う。ア ートトレイジョン回路300が5BGRANT線を活性化することKより更新R MW動作の実行を望んでいる処理ユニットにプロセッサ間システム・バスの使用 全許可し、該処理ユニットが該更新RMW動作全成功裡に実行開始すると、RM W開始検出器305はRMWST線にパルスを送出する。RMWST信号全受信 すると5BREQCTRL回路301は現在tiそ(7) RMtVREQ線全 活性化しているユニットの5BREQ信号を再び阻止してアートトレイジョン回 路300に達しないようにする。
RMWCTRL回路302は更新RMW動作の実行時点を制御する。詳細に述べ ると、いずれかのプロセッサ中で開始された更新RMW動作が、他の更新RMW 動作の実行が許容する前に、両方のプロセッサ上で実行されることを確認するの がRMWCTRL回路302の仕事である。1つの開始された更新RMW動作と 同時に、または引き続いて開始される他の更新BMW動作は、1つの更新RM′ w動作が実行されるまでは実行が禁止される。このため、R厚CTRL回路30 2はアービタ間通信チャネル(IAC)121によって他のシステム・バス・ア ービタ116の同様なRMWCTRL回路に接続されている。
アービタ間チャネル121は4本の信号線より成る。
RMWCTRL回路302ば0側アービタ要求(AREQOJ線を活性化するこ とにより読み出し一修正一書き込みのプロセッサ間要求を発生し、アービタ11 6に対して該回路302が更新RMW動作の実行を許可したいと望んでいること を知らせる。アービタ116のRMWCTRL回路?′i1側アービタ・アクノ リジメント(AACKI )線を活性化することにより読み出し一修正一書き込 みのプロセッサ間許可を発生し、その黙認を通知する。同様にして、アー1:’  911617) RMWCTRL回路は1側アーヒタ要求(AREQI )線 でアービタ106 ノRMWCTRL回路302 gifル更新RMW動作全通 告し、RMWCTRL回路302はO側アービタ・アクノリジメント(AACK O)信号線上でその黙認全通知する。
RMWCTRL回路302の動作は第5図の状態図てよって規定される。プロセ ッサ0101または他のアービタ11Gからの更新BMW動作要求が保留中でな い場合には、RMWCTRL回路302はI DLE状態500にある。回路3 02は電源クリア(PWCL )信号を活性化する初期化信号、即ちシステム・ リセットに応動して、または誤り停止(ER3T)信号を生じさせるプロセッサ 0101中の致命的な誤りの生起に応動して、回路302はIDLE状態500 に入る。IDLE状態500にあっては、回路302のすべての出力信号線は否 定状態VCある。UREQ・入力信号が否定状態にあってプロセッサ0101の いず汎のユニットも更新RMW動作を要求していることを示し、AREQI信号 線が否定状態にあって他方のプロセッサにおいて更新RMW動作が開始されてい ないことを示し、かつAACKI信号線が否定状態にあって他のアービタ116 がアービタ106に更新RMW動作の実行許可を与えていないことを示す限υ、 回路302はIDLE状態500に留する。
IDLE状態500では回路302け他のアービタ116に対するアービタ要求 は発していないので、回路302がアービタ116からアービタ・アクノリジメ ント信号を受信すると、回路302はERROR状態507に入ってアービタ対 アービタ通信で誤υが生じたことを知らせる。その後、回路302はIDLE状 態500に戻る。
UREQ信号の受信はプロセッサ0101のユニットの・内の少なくとも1つが 更新RMW動作を要求していることを回路302に示し、それによって回路30 2は状態501に入る。この状態501にあっては、回路302はAREQO信 号線を活性化し、他のアービタ116に対し更新RMW動作の実行を許容したい と望んでいることを知らせる。次に回路302はアービタ116からのアービタ ・アクノリジメント信号の受信を待機する。−回路302けプロセッサO’10 1のLIDS信号線に接続されておシ、それによってアービタ106がマスタで あるかスレーブであるかを、即ち、2つの7−ビタ106および116の内のい ずれがアーとり間通信の優先権を有しているかを決定する。LIDS信号線によ ってアービタ106がマスタ・アービタであるとされると、回路302はアービ タ116からのアービタ要求には応答せず、アービタ116からアービタ・7ク ノリジメントを受信するまで状態501に留する。
しかし、アービタ106がスレーブであるとされ、回路302がアービタ116 からアービタ要求を受信すると、回路302は状態501を離れて状態503に 入り、該状態において回路302ばAACKQ線にパルス全加えることによりア ービタ116にアービタ・アクノリジメントを発生し、アービタ116がまず最 初て更新RMW動作を進行させることを許容する。回路302のアービタ116 に対するアービタ要求は保留状態に留まる。
状態501から状態503に入ってもスレーブ回路302は未だアービタ116 からアービタ・アクノリジメントを受信していない(即ちAACKI線は活性化 さnていない)。従って回路302は状態503を離れて状態505に入り、ア ービタ116からアービタ・アクノリジメント全受信することを待機する。しか し、プロセッサ1111が更新RMW動作を開始することを許容するためにアー ビタ116に対しアービタ・アクノリジメント全与えると、回路302はプロセ ッサ1111のリンク117が更新RMwトランズアクションをリンク107に 転送し、リンク107が予め定められた時間内に主記憶102上で更新RMW動 作全実行することを期待する。プロセッサ0101の主記憶ユニット102上に おけるRMWI−ランズアクションの実行がうまくいったことはRMW到来検出 器304によ、9 RMWARR信号線(第4図)の活性化によって回路302 に通知される。従って状態505に6つでは回路302は予め定められた時間期 間の計時を開始すると共にRMwARRおよびAACKI信号の受信を待機する 。
第4図を一時的に参照すると、RMWARR信号はRMW到来検出器304がリ ンク107から主記憶ユニット102に更新RMW動作が成功裡て到来したこと を検出したときて該検出器304により発生される。検出器304は5BUD線 をモニタし、システム100が更新モードにあるかどうか全決定する。該検出器 304は更にSBCバス全モニタし、動作がRMWであるかどうかを決定し、5 BSCバス全モニタしてRMW動作がリンク107から来たがどうか決定し、5 BDCバスをモニタして、動作の着信地が主記憶ユニット102であるかどうか を決定し、主記憶ユニット102の5BACK線をモニタして、バス・トランズ アクションが主記憶ユニット102に成功裡に到着したかどうか全決定する。検 出器304がこれらの条件すべてが満足されていることを見出すと、検出器30 4はRMWARR信号線を活性化する。
再び第5図に戻ると、そのアービタ要求が尚保留中のときに、スレーブ回路30 2が予め定められた時間が経過する前に状態505においてRMWARR信号を 受信すると、該回路302はリンク107が主記憶102上においてプロセッサ 1111から受信したRMW トランズアクションを成功裡て実行したことを知 る。従って、回路302は再び状態501に入シ、その保留中の7−ビタ要求に 対するアービタ・アクノリジメントの受信を待機する。状態501においては回 路302は前述の如く動作する。
スリーブ回路302が、予め定められた時間が経過前でかつそのアービタ要求が 尚保留中のときに状態505においてRMWARR信号を受信しないと、該回路 302はRMw遅延到着誤り状態506に入り、システムに対しRMW動作動作 トラアズアクションンク107によって時間的に間に合って成功裡に実行されな かったこと全知らぜる。状態506から回路302はIDLE状態500に入る 。しかしスレーブ回路302は未だGO信号線を活性化していないので、URE Q信号線は尚活性状態にある。このようにして回路302はAREQO線を再び 活性化し、再び状態501に入ってAACKI信号の受信を待機する。
スレーブ回路302が状態505においてAACKI信号とRMWARR信号の 両方を受信すると、該回路は状態502に入ってGO倍信号活性化し、それによ ってそのプロセッサのRMW動作を、進行させる。
最後に、スレーブ回路302は状態505においてAACKI信号を受信するが RMWARR信号を受信しないと、該回路302は状態504に入る。この状態 において、回路302は予め定められた時間期間の計時を継続し、かつR1#A RR信号を待機する。
状態504において、回路302がRMWARR信号を受信すること力〈予め定 められた時間期間が経過すると、回路302は状態506に入り、そこで前述し た動作を実行する。L、かじ、予め定められた時間期間が経過する前に回路30 2がRMWARR信号を受信すると、回路302は状態504を離れて状態50 2に入り、GO倍信号発生してそのプロセッサの更新RMW動作全進行させる。
状態502およびその後の状態における回路302の動作てついては以下で述べ る。
スレーブ回路302が状態503から状態505および504を通って状態50 2に遷移する条件を考察すると、正規状態、即ち非誤り状態にあっては、回路3 02Iri RMWARR信号Mによって知らされるプロセッサ0101ておけ る更新RMW動作の成功裡の実行に続いて回路302によってAACKO信号が 発生されるときKのみGo信号全発生することが分る。
状態501の考察に戻ると、回路302が状態501にある間、アービタ116 からのアービタ・アクノリジメントの受信は回路302に対し要求されたRMW 動作を進行させてよいことを知らせる。こnはアービタがLIDS信号線によっ てマスクまたはスレーブのいずnK指定されていても言えることである。これに 応動して回路302は状態502に入り、該状態において回路・302はGo信 −ビタ要求が保留中でない場合、回路302は再びI DLE状態500に入る 。Go線の活性化により回路303はUREQ線を否定し、従って回路302は I DCE状態て留まる。
回路302が状態502にあるとき、回路302がアービタ116からのアービ タ要求を受信すると、該回路302は状態503に入シ、アービタ116に対す るアービタ・アクノリジメント全発生し、更新RMW動作を進めること全許容す る。
状態503に入った後、回路302はアービタ116からアービタ・アクノリジ メントを受信し、従って回路302は状態503を離nて状態504に入る。状 態504において回路302はRMW動作動作トラアズアクションロセッサ01 01上で成功裡に実行されるのに許容される予め定められた時間期間の計時を開 始する。状態504およびその後の状態ておける回路302の動作については既 知述べた。
回路302がマスクとしてであれ、スレーブとしてであれ状態503から状態5 04全通して状態502に遷移する条件を考察すると、正規の状態にあっては、 プロセッサ0101上におけるRMw′!JJ作の成功裡の実行に続いて回路3 02によってAACKQ信号が発生されるときにのみ回路302はGO信号全発 生する。
次に回路302がI DLE状態500にある間にアービタ要求を受信したとき の回路302の動作について考える。
回路302がUREQ信号の受信と同時K AREQI信号を受信すると、回路 302はUREQに優先度を与え、A、REQIを無視して前述した仕方でUR EQ信号に応動する。
回路302がAREQ 1信号のみ全受信すると、該回路3021−j IDL E状態500全離flテ、状態5031C入シ、該状態において該回路302は そのアービタ・アクノリジメント線にパルス全送出し、プロセッサ1111がB MW動作を進行させることを許容する。
回路302が状態503にあるときにUREQ信号を受信すると、該回路302 はそのアービタ要求線を活性化し、その後スレーブ回路302に対して前述した と同じ仕方で状態503に進む。
回路302がそのアービタ要求を活性していない場合でさえも、回路302が状 態503においてアービタ・アクノリジメント全受信すると、誤りが指示さ扛、 回路302i’!状態507に入ってシステムに対しアービタ対アービタの通信 誤りが生じたことを知らせる。次に回路302は再びIDLE状態500に入る 。
回路302が状態503においてUREQもAACKI信号も受信しないと、該 回路302は状態505に入シ、RWARR信号の受信のために許容さnた予め 定められた時間期間を計時する。
回路302が状態505に6る期間中K UREQ信号を受信すると、該回路3 02はそのアービタ要求線全活性化し、その後スレーブ回路に対して前述した仕 方で状態505に進む。
回路302がたとえそのアービタ要求を活性化しない場合でさえも、回路302 は状態505においてアービタ・アクノリジメントを受信すると、誤シが指示さ れ、回路302は状態507に入ってシステムに対しアービタ対アービタ通信で 誤りが生じたことを知らせる。回路302は状態507から前述の如(IDLE 状態500に再び入る。
状態505において回路302がRMWARR信号のみ全受信すると、該回路3 02ばr DLE状態500に入る。
しかし、該回路302がアービタ116からRMWARR信号と7−ビタ要求の 両方を受信すると、該回路302は状態503に再び入り、アービタ116にア ービタ・アクノリジメントを発生する。状態503において、回路302は最初 に状態503を仮定した場合てつぃて述べたのと同じ仕方で動作する。
最後に、状態504において予め定められた時間期間が経過する前にアービタ3 02がRMWARR信号を受信しない場合には、該回路302は状態506に入 って、システムに対しRMWの遅延到着誤りを知らせる。状態506において、 回路302は以前に述べたのと同様に動作する。
回路302が状態500から状態503に、そして状態505を介して再び元に 戻る遷移を行う条件を考察すると、正規の状態ではRMWARR信号線によって 知らさ江るプロセッサ0101上ておけるRMW動作の成功裡の実行て続いて回 路302によって以前のAACKO信号が発生される場合てのみ回路302はA A、CKO信号を発生することが分る。
もちろん、前述の図示の実施例に対し種々の変更が出来ることは明らかである。
例えば更新モードで実行されるテストおよびセット動作、あるいは外部RMW動 作さえも修正および変更が可能である。RM′w制御機構はシステム・バス・ア ービタ中に含める必要はなく別個て実現しても良い。更に前述の方法はデュアル ・プロセッサ・システムに応用が制限されるものではなく、任意個数のプロセッ サを有するマルチプロセッサ・システムで有利に使用することが出来る。このよ うな変更および修正は本発明の精神および範囲を逸脱することなく、またその付 随する利点を損うことなく実行することが出来る。従ってこのような変更および 修正は別記の請求範囲に含まれるものである。
−〇 〇口 hセ の− 国際調査報告 一一一^や−a+IMN& pc’r/us [15102053

Claims (9)

    【特許請求の範囲】
  1. 1.デユアル・プロセツサ・システムにおいて:該デユアル・プロセツサ・シス テムは1対の非同期的に動作するプロセツサを含み; 各プロセツサは; 少なくとも1つの処理素子と; 他のプロセツサの主記憶の内容を複製した主記憶と;前記処理素子と前記主記憶 を相互接続するバスと、該バスに接続されたバス・アクセス・アービタと;通信 を行うべくバスおよび他のプロセツサのリンクに接続されたリンクを含み; 各プロセツサは: 処理素子からバスを介して主記憶ロツク動作を受信し、該ロツク動作を他のプロ セツサのリンクに転送し、他のプロセツサのリンクに転送されたロツク動作を受 信し、バスにアクセスして主記憶上で転送された動作を実行するリンク中に含ま れる手段と;転送された動作の主記憶上における実行を検出する手段と; 処理素子に対するアービタ・バス・アクセスから主記憶のロツク動作の実行を要 求する処理素子と関連する手段と; アービタと関連し、要求に応動して他のプロセツサのアービタに対する要求を知 らせる手段と;アービタと関連し、他のプロセツサのアービタからの要求通知に 応動してその以前に通知されたアクノリジメントの後に転送された動作の実行を 検出する手段による検出が続く場合にのみアクノリジメントを通知する手段と; アービタと関連し、他のプロセツサのアービタからのアクノリジメントの通知に 応動して、その以前に通知されたアクノリジメントの後に転送された動作の実行 を検出する手段による検出が続く場合にのみ要求されたパス・アクセスを許可す る手段を含むことを特徴とするデユアル・プロセツサ・システム。
  2. 2.請求の範囲第1項記載のシステムにおいてロツク動作は主記憶によつて自動 的に実行される読み出し−修正−書き込み動作であることを特徴とするシステム 。
  3. 3.請求の範囲第1項記載のシステムにおいて更に主記憶上でロツク動作を実行 した処理素子の1つおよびリンクに応答を送信する主記憶中に含まれる手段を含 むことを特徴とするシステム。
  4. 4.請求の範囲第3項記載のシステムにおいて、ロツク動作は第1および第2の 型のロツク動作の1つであり;リンクは: 送られて来た応答を受信することに応動して第1の型のロツク動作に対する応答 を棄却し、他のプロセツサのリンクに対する第2の型のロツク動作に対する応答 を転送する手段と; 他のプロセツサのリンクによつて転送された応答を受信することに応動してロツ ク動作を実行した処理素子に対する転送された応答を送信する手段とを含むこと を特徴とするシステム。
  5. 5.互いに非同期的に動作する複数個のプロセツサを有する処理システム中にお ける動作を順序付ける方法であつて、該方法は: 1つ以上のプロセツサ上で実行されるべき動作を1つのプロセツサ上で実行し; 1つ以上のプロセツサに動作の実行を通知し;同様な動作の実行を禁止すると同 時に、実行されている動作が1つ以上のプロセツサ上で実行されるまで1つ以上 のプロセツサの各々において同様でない動作の実行を許容する階程より成ること を特徴とする方法。
  6. 6.請求の範囲第5項記載の方法において、通知を行う階程は; 1つの動作の実行に応動して、同様の動作が1つ以上のプロセツサの内の少なく とも1つの上で実行されているかどうかを決定する階程を含み;同様の動作の実 行を禁止する階程は: 1つの動作の更なる実行を禁止すると共に、同様の動作が実行されているという 決定に応動して、1つ以上のプロセツサの各プロセツサ上で同様の動作が実行さ れるまで1つ以上のプロセツサの各プロセツサ上で同様でない動作を実行するこ とを許容し;同様な動作の実行を禁止すると共に、同様の動作が実用されていな いという決定に応動して、実行されている動作が1つ以上のプロセツサの各プロ セツサ上で実行されるまで1つ以上のプロセツサの各プロセツサ上で同様でない 動作の実行を許容する階程を含むことを特徴とする方法。
  7. 7.互いに非同期的に動作する複数個のプロセツサを有する処理システム中にお けるある種の動作を順序付ける方法であつて、該方法は: 複数個のプロセツサの内の第1のプロセツサ上で、複数個のプロセツサの内の少 なくとも第1および第2のプロセツサ上で実行すべき動作を開始させ;動作の開 始に応動して開始された動作が少なくとも第1および第2のプロセツサ上で実行 されることが許容されているかどうかを決定し; 開始された動作の如き第2の動作を禁止し、それと同時に動作の実行が許容され ているという決定に応動して少なくとも第1および第2のプロセツサの各プロセ ツサ上で開始された動作が実行されるまで少なくとも第1および第2のプロセツ サの各プロセツサ上で同様でない動作を実行を許容する階程より成る方法。
  8. 8.請求の範囲第7項記載の方法において、更に開始された動作が実行されるこ とを禁止し、それと同時に動作を実行することが許容されていないという決定に 応動して開始された動作の如き第2の動作が少なくとも第1および第2のプロセ ツサ上で実行されるまで同様でない動作の実行を許容する階程を含むことを特徴 とする方法。
  9. 9.請求の範囲第7項記載の方法において、更に動作を実行することが許容され ているという決定に応動して少なくとも第1および第2のプロセツサ上で開始さ れた動作を実行する階程を含むことを特徴とする方法。
JP60504882A 1984-10-17 1985-10-17 マルチプロセッサ・システムにおけるマルチプロセッサの動作を順序付ける方法および装置 Expired - Lifetime JP2575356B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66196784A 1984-10-17 1984-10-17
US661967 1984-10-17

Publications (2)

Publication Number Publication Date
JPS62500549A true JPS62500549A (ja) 1987-03-05
JP2575356B2 JP2575356B2 (ja) 1997-01-22

Family

ID=24655833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60504882A Expired - Lifetime JP2575356B2 (ja) 1984-10-17 1985-10-17 マルチプロセッサ・システムにおけるマルチプロセッサの動作を順序付ける方法および装置

Country Status (7)

Country Link
US (1) US4805106A (ja)
EP (1) EP0196331B1 (ja)
JP (1) JP2575356B2 (ja)
KR (1) KR930008685B1 (ja)
CA (1) CA1239227A (ja)
DE (1) DE3585323D1 (ja)
WO (1) WO1986002475A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
DE3688136T2 (de) * 1986-04-04 1993-10-07 Ibm Verfahren zum Testen und Setzen von Daten in einen Datensatz auf einer Platte in eine atomaren Ein/Ausgabeoperation.
US5202971A (en) * 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US4958273A (en) * 1987-08-26 1990-09-18 International Business Machines Corporation Multiprocessor system architecture with high availability
JP2749819B2 (ja) * 1987-10-26 1998-05-13 松下電工株式会社 共有メモリ制御方式
IT1223142B (it) * 1987-11-17 1990-09-12 Honeywell Bull Spa Sistema multiprocessore di elaborazione con multiplazione di dati globali
US4933901A (en) * 1988-01-11 1990-06-12 Texas Instruments Incorporated Method for assigning priority to read and write requests received closely in time
US4979105A (en) * 1988-07-19 1990-12-18 International Business Machines Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system
US5175861A (en) * 1988-10-14 1992-12-29 Nec Corporation Lock processing system
US4928222A (en) * 1988-10-31 1990-05-22 International Business Machines Corporation Enhanced semaphore architecture
IT1227711B (it) * 1988-11-18 1991-05-06 Caluso Torino Sistema multiprocessore di elaborazione dati a risorse distribuite condivise e prevenzione di stallo.
IT1227360B (it) * 1988-11-18 1991-04-08 Honeywell Bull Spa Sistema multiprocessore di elaborazione dati con replicazione di dati globali.
DE3917715A1 (de) * 1989-05-31 1990-12-06 Teldix Gmbh Rechnersystem
JP3206914B2 (ja) * 1989-11-09 2001-09-10 インターナショナル、ビジネス、マシーンズ、コーポレーション 多重プロセッサ・システム
JP2665813B2 (ja) * 1990-02-23 1997-10-22 三菱電機株式会社 記憶制御装置
US5263150A (en) * 1990-04-20 1993-11-16 Chai I Fan Computer system employing asynchronous computer network through common memory
US5669002A (en) * 1990-06-28 1997-09-16 Digital Equipment Corp. Multi-processor resource locking mechanism with a lock register corresponding to each resource stored in common memory
JP2511588B2 (ja) * 1990-09-03 1996-06-26 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ処理ネットワ―ク、ロックを獲得させる方法及び直列化装置
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5428783A (en) * 1990-11-28 1995-06-27 Motorola, Inc. Lan based loosely coupled large grain parallel processing method
US5293491A (en) * 1990-12-28 1994-03-08 International Business Machines Corp. Data processing system and memory controller for lock semaphore operations
US5434970A (en) * 1991-02-14 1995-07-18 Cray Research, Inc. System for distributed multiprocessor communication
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
US5269005A (en) * 1991-09-17 1993-12-07 Ncr Corporation Method and apparatus for transferring data within a computer system
US5339427A (en) * 1992-03-30 1994-08-16 International Business Machines Corporation Method and apparatus for distributed locking of shared data, employing a central coupling facility
JP2531903B2 (ja) * 1992-06-22 1996-09-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュ―タ・システムおよびシステム拡張装置
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
US5418966A (en) * 1992-10-16 1995-05-23 International Business Machines Corporation Updating replicated objects in a plurality of memory partitions
US5455914A (en) * 1993-07-23 1995-10-03 Unisys Corporation Tie-breaking control circuit for bus modules which share command execution
US5721943A (en) * 1993-10-14 1998-02-24 International Business Machines Corporation Negotiable locks for concurrent access of control data by multiple programs
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
US5893160A (en) * 1996-04-08 1999-04-06 Sun Microsystems, Inc. Deterministic distributed multi-cache coherence method and system
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6052797A (en) * 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US5983326A (en) * 1996-07-01 1999-11-09 Sun Microsystems, Inc. Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode
KR100334305B1 (ko) * 1997-03-21 2002-05-03 가나이 쓰토무 전자 장치, 전자 장치 사용 방법, 및 전자 장치 시스템
US6041376A (en) * 1997-04-24 2000-03-21 Sequent Computer Systems, Inc. Distributed shared memory system having a first node that prevents other nodes from accessing requested data until a processor on the first node controls the requested data
US6078981A (en) * 1997-12-29 2000-06-20 Intel Corporation Transaction stall technique to prevent livelock in multiple-processor systems
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
JP3481485B2 (ja) * 1999-01-28 2003-12-22 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム
US6453375B1 (en) * 1999-03-23 2002-09-17 Intel Corporation Method and apparatus for obtaining coherent accesses with posted writes from multiple software drivers
US6275915B1 (en) 1999-04-09 2001-08-14 Avaya Technology Corp. Selective memory duplication arrangement
TR199902280A2 (xx) * 1999-09-17 2001-02-21 Netaş Northem Electric Telecommuni̇cation A.Ş. Eş zamanlama devresi.
US6523076B1 (en) * 1999-11-08 2003-02-18 International Business Machines Corporation Method and apparatus for synchronizing multiple bus arbiters on separate chips to give simultaneous grants for the purpose of breaking livelocks
US6370625B1 (en) * 1999-12-29 2002-04-09 Intel Corporation Method and apparatus for lock synchronization in a microprocessor system
US7454753B2 (en) * 2001-06-27 2008-11-18 International Business Machines Corporation Semaphore management subsystem for use with multi-thread processor systems
US7089555B2 (en) * 2001-06-27 2006-08-08 International Business Machines Corporation Ordered semaphore management subsystem
US7143414B2 (en) * 2001-09-26 2006-11-28 International Business Machines Corporation Method and apparatus for locking multiple semaphores
US7406690B2 (en) * 2001-09-26 2008-07-29 International Business Machines Corporation Flow lookahead in an ordered semaphore management subsystem
JP3615219B2 (ja) * 2002-10-29 2005-02-02 株式会社フォークス システムコントローラ、コントロールシステムおよびシステムコントロール方法
US7610200B2 (en) * 2004-08-30 2009-10-27 Lsi Corporation System and method for controlling sound data
JP5105713B2 (ja) * 2005-03-30 2012-12-26 日本電気株式会社 情報処理装置
KR100709385B1 (ko) * 2006-07-19 2007-04-24 주식회사 케이 썸 씨앤 에프 컴퓨터 시스템

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3623014A (en) * 1969-08-25 1971-11-23 Control Data Corp Computer communications system
AT316662B (de) * 1970-11-17 1974-07-25 Siemens Ag Schaltungsanordnung für Fernmelde-, insbesondere Fernsprechvermittlungsanlage, die durch mindestens zwei Rechner zentral gesteuert werden
BE790654A (fr) * 1971-10-28 1973-04-27 Siemens Ag Systeme de traitement avec des unites de systeme
US4015426A (en) * 1972-11-20 1977-04-05 Nippondenso Co., Ltd. Fuel control system
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
US4257099A (en) * 1975-10-14 1981-03-17 Texas Instruments Incorporated Communication bus coupler
US4187538A (en) * 1977-06-13 1980-02-05 Honeywell Inc. Read request selection system for redundant storage
US4363094A (en) * 1977-12-29 1982-12-07 M/A-COM DDC, Inc. Communications processor
US4205373A (en) * 1978-05-22 1980-05-27 Ncr Corporation System and method for accessing memory connected to different bus and requesting subsystem
US4370708A (en) * 1978-10-31 1983-01-25 Honeywell Information Systems Inc. Logic system for selectively reconfiguring an intersystem communication link
US4400775A (en) * 1980-02-28 1983-08-23 Tokyo Shibaura Denki Kabushiki Kaisha Shared system for shared information at main memory level in computer complex
US4371928A (en) * 1980-04-15 1983-02-01 Honeywell Information Systems Inc. Interface for controlling information transfers between main data processing systems units and a central subsystem
US4363096A (en) * 1980-06-26 1982-12-07 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
US4374414A (en) * 1980-06-26 1983-02-15 Gte Automatic Electric Labs Inc. Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
JPS58140862A (ja) * 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4562535A (en) * 1982-04-05 1985-12-31 Texas Instruments Incorporated Self-configuring digital processor system with global system
US4466098A (en) * 1982-06-11 1984-08-14 Siemens Corporation Cross channel circuit for an electronic system having two or more redundant computers
US4545015A (en) * 1982-12-27 1985-10-01 Pitney Bowes Inc. Word processing system with foreground/background capability
JPS59142799A (ja) * 1983-02-04 1984-08-16 Hitachi Ltd バツクアツプ用蓄電装置付二重化記憶装置
US4594657A (en) * 1983-04-22 1986-06-10 Motorola, Inc. Semaphore for memory shared by two asynchronous microcomputers
US4636942A (en) * 1983-04-25 1987-01-13 Cray Research, Inc. Computer vector multiprocessing control
US4580243A (en) * 1983-09-14 1986-04-01 Gte Automatic Electric Incorporated Circuit for duplex synchronization of asynchronous signals
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
US4608688A (en) * 1983-12-27 1986-08-26 At&T Bell Laboratories Processing system tolerant of loss of access to secondary storage

Also Published As

Publication number Publication date
CA1239227A (en) 1988-07-12
US4805106A (en) 1989-02-14
JP2575356B2 (ja) 1997-01-22
DE3585323D1 (de) 1992-03-12
EP0196331B1 (en) 1992-01-29
KR880700353A (ko) 1988-02-22
EP0196331A1 (en) 1986-10-08
WO1986002475A1 (en) 1986-04-24
KR930008685B1 (ko) 1993-09-11

Similar Documents

Publication Publication Date Title
JPS62500549A (ja) マルチプロセッサ・システムにおけるマルチプロセッサの動作を順序付ける方法および装置
US5673399A (en) System and method for enhancement of system bus to mezzanine bus transactions
US6014709A (en) Message flow protocol for avoiding deadlocks
US5694556A (en) Data processing system including buffering mechanism for inbound and outbound reads and posted writes
US5191649A (en) Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
US5761445A (en) Dual domain data processing network with cross-linking data queues and selective priority arbitration logic
EP0801352B1 (en) Data processing system
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
EP0358716A1 (en) NODE FOR SUPPORTING INTERRUPTION REQUEST MESSAGES ON A BUS ON HOLD.
US5353414A (en) Bus lock control apparatus capable of controlling without stopping bus arbiters
JP3626292B2 (ja) バスインタフェース制御方式
JP3345102B2 (ja) 結合したモジュールをリセットする方法及びこの方法を用いるシステム
JPS63286949A (ja) バス制御方式
JP2825889B2 (ja) マルチプロセッサシステムにおけるデッドロック回避回路
JP2976417B2 (ja) マルチプロセッサシステム
JP2504552B2 (ja) マルチプロセッサコンピュ―タシステムにおいてシステムリソ―スへの充分なアクセスを確保するコマンダノ―ド方法及び装置
JPH05314061A (ja) バス・インタフェース制御方式
JPH0427584B2 (ja)
JPH04659A (ja) コンピュータ・ボード
JPS5975354A (ja) プロセッサ装置
JPH0651910A (ja) 二重化バス装置
JPH0512219A (ja) プロセス転送方式
JPS61221954A (ja) アクセス制御方式
JPH08314870A (ja) データ処理装置
JPS6224828B2 (ja)