JPH04232559A - システムのプロセッサ間対話方法及び該方法を実施するためのシステム - Google Patents

システムのプロセッサ間対話方法及び該方法を実施するためのシステム

Info

Publication number
JPH04232559A
JPH04232559A JP3161061A JP16106191A JPH04232559A JP H04232559 A JPH04232559 A JP H04232559A JP 3161061 A JP3161061 A JP 3161061A JP 16106191 A JP16106191 A JP 16106191A JP H04232559 A JPH04232559 A JP H04232559A
Authority
JP
Japan
Prior art keywords
processor
cpu
circuit
message
requests
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.)
Pending
Application number
JP3161061A
Other languages
English (en)
Inventor
Jean-Claude Cassonnet
ジャン−クロード カソネ
Jean-Louis Fressineau
ジャン−ルイ フレシヌー
Georges Lecourtier
ルクルティエ ジョルジュ
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.)
Bull SAS
Original Assignee
Bull SAS
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 Bull SAS filed Critical Bull SAS
Publication of JPH04232559A publication Critical patent/JPH04232559A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサタイ
プの情報処理システムに関し、さらに詳細には、そのよ
うなシステムのプロセッサ間の対話方法、ならびにこの
方法を使用するシステムに関する。
【0002】
【従来の技術】マルチプロセッサシステムにおいては、
プロセッサは、オペレーションの一貫性を確実にするた
め、多くの状況下で互いに通信できければならない。そ
のために、どのような2プロセッサ間でも対話を可能に
する手段が備えられる。このとき対話を始める〔発信人
〕プロセッサが、別の〔受信人〕プロセッサにリクエス
トを出し、この〔受信人〕プロセッサは、〔発信人〕プ
ロセッサにリクエストを認識したことを示す肯定応答を
送る。次に、受けたリクエストに応答して、〔受信人〕
プロセッサは一般に、リウエストを受ける前に実行して
いたオペレーションに割込みをする。プロセッサ間のこ
の対話のために、割込み機構として一般に知られるもの
を使用することができる。
【0003】プロセッサ間の対話は、システムの動作中
に多くの状況下で起こる。これらの可能性の一組を、2
つのカテゴリ:〔発信人〕プロセッサが特定の〔受信人
〕プロセッサにリクエストを発する選択的リクエストと
、システムの1つのプロセッサがシステムの他のプロセ
ッサ全てに対し同時にリクエストを発するス指定する全
体的リクエストに区分することができる。
【0004】一般に、特定のオペレーションの実行の最
中に〔発信人〕プロセッサによりリクエストが送られ、
そのオペレーションの達成は、〔受信人〕プロセッサか
ら肯定応答の受信を条件付とする。その結果、リクエス
トを送ることを要求する動作は、受信した肯定応答を監
視する段階を含む。
【0005】
【発明が解決しようとする課題】このために、これまで
の方法は、対応する肯定応答の受信を監視するために、
各リクエストごとに実行中のオペレーションに割込みす
ることを含む。この方法は、最も単純であり、〔受信人
〕プロセッサによる受入れ順序が、対応するリクエスト
が送られた順序と同じでなければならない場合に役に立
つ。しかし、〔受信人〕プロセッサのこのような同期は
不必要であることが非常に多い。唯一重要なことは、〔
受信人〕プロセッサが各リクエストを実際に受入れたこ
とである。この場合、上述した従来の方法はシステムの
性能面で最適ではない。実際には、リクエストを送った
時点から肯定応答を受ける時点までの時間は、比較的長
い可能性がある。その理由は、〔受信人〕プロセッサは
、リクエストが送られたときに、割込みできない長いオ
ペレーションを実行中の場合があるからである。このオ
ペレーションが完全に終了した後、初めてリクエストは
受け入れられ、肯定応答を送ることができる。この期間
の間中、〔発信人〕プロセッサは待機状態にある。しか
し、あらゆるオペレーションに対する複数のリクエスト
の数が制限されれば、(これは、システム中のプロセッ
サ数自体が制限される場合である)システム性能の低下
を抑えられる。これに対して、多数のプロセッサを含む
システムにおいては、性能の低下は、特に、複数のプロ
セッサにプロセスを分散する処理(「ディスパッチング
」と呼ばれる)を含むオペレーションの場合、無視でき
ない。このようなオペレーションはプロセッサの数が多
ければ多いほど頻繁に起こる。
【0006】そこで、本発明の目的は、〔受信人〕プロ
セッサがリクエストが受け入れる順序によって何ら制約
を必要としないオペレーションの最中に送られた多数の
リクエストを発するプロセッサの待機時間を最小限に短
縮する、システムのプロセッサ間の対話方法を提供する
ことにより、上記問題点を解決することである。
【0007】
【課題を解決するための手段】そのため、本発明による
ならば、マルチプロセッサ情報処理システムのプロセッ
サ間の対話方法であって、上記プロセッサの1つが、他
の1つのプロセッサに宛てたリクエストの送信を起動す
るオペレーションを実行したとき、上記対話が行われ、
各〔受信人〕プロセッサは、〔発信人〕プロセッサに対
して、上記リクエストを受け入れたという肯定応答信号
を送る対話方法において、リクエストが〔受信人〕プロ
セッサにより受け入れられる順序に関していかなる制約
を要必要としないあらゆるオペレーションは、上記オペ
レーションの最中にリクエストの送信によりもたらされ
る肯定応答の〔発信人〕プロセッサによる受信を考慮に
入れることなく実行し、上記オペレーションの最中に、
該オペレーションを実行しているプロセッサによって送
られるべきまたは送らなければならないリクエストの総
数を計算し、〔発信人〕プロセッサが受けた肯定応答の
数を数え、上記オペレーションは、上記リクエストの総
数と受けた肯定応答の数とが等しいとき、終了すること
を特徴とする方法が提供される。
【0008】上記した本発明による対話方法は、マルチ
プロセッサシステム中に備えられる他の交換機構と簡単
に統合可能であることが望ましい。従って、本発明の方
法の第2の特徴では、リクエストおよび肯定応答は、メ
ッセージタイプの表示を含むメッセージの形態を取り、
特に肯定応答に関する場合には、プロセッサによる肯定
応答の受信は、該プロセッサに宛てられたメッセージが
送られたこと、該メッセージが肯定応答であることの検
出を含む。
【0009】一般に、プロセッサは、多くの場合、マイ
クロプログラム制御される処理手段と、受けたメッセー
ジを記憶することができる個別インターフェース回路を
備える。従って、処理と肯定応答カウント動作とを並行
することにより、上記の能力を使用することが重要であ
る。このために、また本発明の方法のさらに追加的な特
徴では、プロセッサが受けた肯定応答の数のカウントは
、該プロセッサの処理手段により対応する肯定応答メッ
セージの読取りとは無関係に行われ、受けた肯定応答の
数は、上記処理手段に宛てられて該処理手段により受け
られた最後のメッセージ中に永続的に置かれ、最後のメ
ッセージの読取り後、リクエスト数と肯定応答数とが等
しいことを処理手段が監視する。
【0010】受けたメッセージの読取りは、ゼロリセッ
トにより達成されることが多い。さらに、システム中へ
の本発明の方法の統合を容易にするために、本発明の別
の特徴において、処理手段による最後のメッセージの読
取りは、この読取りの間に新しい肯定応答が到達しなか
ったことを条件に、肯定応答数のゼロリセットを起こす
。読取りが行われると、リクエスト数から肯定応答数が
減算され、このように計算された新しいリクエスト数が
ゼロと等しくなるとき、リクエスト数と肯定応答数が等
しくなる。
【0011】最後に、同時に数個のプロセッサにより数
件の対話が発生することを防がなければならない。その
ため、また、本発明の別の特徴では、この方法は、複数
のリクエストの送信を起動することのできるオペレーシ
ョンのプロセッサによる実行は、少なくとも1つのシス
テムラッチの「フリー」状態が確認された後に初めて許
可される。その場合、上記ラッチが「ビジィ」状態であ
ると見做して、上記オペレーションを実際の実行が進め
られ、オペレーションが完了した時点で、上記ラッチは
「フリー」にされる。
【0012】本発明はまた、上記した本発明の方法を実
施することのできる情報処理システムを提供する。本発
明による情報処理システムは、プロセッサにそれぞれ付
属するインターフェース回路と、インターフェース回路
を互いに接続するバスリンクとを介して対話をすること
ができる複数のプロセッサを含み、これらプロセッサの
少なくとも1つが、少なくとも1つの他のプロセッサに
宛てたリクエストの送信を起動するオペレーションを実
行するための手段を含み、各〔受信人〕プロセッサが、
当該〔受信人〕プロセッサに宛てられたリクエストを受
け入れたことを知らせる肯定応答を〔発信人〕プロセッ
サに送るように構成された情報処理システムであって、
上記リクエスト〔発信人〕プロセッサが、上記オペレー
ションの最中に送る予定のまたは送らなければならない
リクエスの総数を決定できる第1カウント手段と、肯定
応答が受信されるたびに作動される第2カウント手段と
、リクエスト数と受信された肯定応答の数が等しいこと
を検出するための比較手段とを含み、〔受信人〕プロセ
ッサによるリクエストの受け入れ順序に関して制約なし
に対話を要求する各オペレーションについて、上記の等
しいことの検出により、〔発信人〕プロセッサが上記オ
ペレーションの実行を完了することを許可することを特
徴とする情報処理システムが提供される。
【0013】その他の特徴および、本発明を用いる特に
カウント手段を作成するための実施例の詳細は後に説明
する。
【0014】
【作用】本発明に従う方法およびシステムは、オペレー
ションが複数のリクエストを要求するたび、リクエスト
が選択的か全体的かに関係なく、複数のアプリケーショ
ンを有することができる。本発明は、システムの実行プ
ロセッサ間の対話だけではなく、実行プロセッサと入力
/出力プロセッサ間の交換を行うため使用することがで
きる。
【0015】アプリケーションの第一の例として、複数
のプロセッサの内の1つにより実行される「CLEAR
」命令によって開始されて、一組のプロセッサのキャッ
シュレジスタの内容を消すオペレーションについて述べ
ることができる。このオペレーションは、キャッシュレ
ジスタの内容を消すために、他のプロセッサに命令を与
える全体的リクエストの送信を必要とする。本発明に従
えば、リクエストの送信はオペレーションの開始時に行
われる。次に、〔発信人〕プロセッサは、その〔発信人
〕プロセッサ自体のキャッシュレジスタの消去を実施し
、そのとき初めて〔受信人〕プロセッサがリクエストを
実際に受けたかどうかを確認する。
【0016】本発明のもう1つの特に重要なアプリケー
ションは、既に述べたようにディスパッチングに関する
。この問題は、1986年5月20日発行されたアメリ
カ合衆国特許第 4,590,550号(ヨーロッパ特
許EP−B1−30504号に対応)の主題であり、こ
の特許を本明細書において参照する。
【0017】上記特許の機構の詳細を全てここで繰り返
すことはしないが、実行しなければならないプロセスの
選択において変更を生じさせることのできるイベントに
よって、ディスパッチングのオペレーションが開始する
ことをここで注意されたい。このSELECTオペレー
ションは、特に、実行の準備ができたプロセスの優先順
位に応じて、システムのプロセッサに対するプロセスの
割当てを決定する。
【0018】イベントの一例として、セマフォのオペレ
ーションPまたはVを引用することができる。それらオ
ペレーションは、実行中のプロセスに割込みを起こし、
あるいは待機状態にあるプロセスを再び作動させること
ができる。PおよびVのセマフォのオペレーションにつ
いては、1983年2月15日発行のアメリカ合衆国特
許第4,374,409号(フランス国特許第 2,2
53,420号に対応)に記載されている。セマフォに
ついては、1983年7月26日発行のアメリカ合衆国
特許第 4,395,757号(フランス国特許第 2
,253,418号に対応)に記載されている。
【0019】これらの特許では、キューQ/PR/RD
Yのシステムにおける、レディプロセスの存在が述べら
れている。これらプロセスのうち、いくつかはアクティ
ブ、即ち、プロセッサの1つで実行中であり、その他は
待機中、即ち実行する用意はできているが、プロセッサ
がそれらに割り当てられるのを待機しているところであ
る。
【0020】従って、SELECTオペレーションの最
中に、キューQ/PR/RDYが検査され、割り当てる
べきプロセスがなくなる、あるいは使用可能なプロセッ
サがなくなるまで、プロセッサが、優先順位に従ってプ
ロセスに割り当てられる。
【0021】SELECTオペレーションの最中に、リ
クエストが選択された各プロセッサに送られ、プロセス
がプロセッサに割り当てられたことを知らせる。このリ
クエストを受け入れると、〔受信人〕プロセッサは、S
ELECTオペレーションを実行しているプロセッサに
肯定応答を送る。
【0022】SELECTオペレーションは、本発明に
従い対話方法を使用することができる。
【0023】本発明をこのオペレーションに適用する重
要性は、プロセッサおよび対応するプロセスの選択がか
なり長いオペレーションの全体にわたって広げることが
できることを留意すれば認められるであろう。これは、
特にシステムが特定のプロセッサに所与のプロセスを割
り当てるため設けられる場合に該当する。この場合、選
択オペレーションは、制約付きのケースを処理する、即
ち、特定のプロセッサに割り当てられたプロセスを特定
し、次に選択された各プロセスごとに、第1カウント手
段をインクリメントし、選択したプロセッサにリクエス
トを送る第1段階と、制約なしのケースを処理する、即
ち、割り当てるべき残りのプロセスを決定して、次に選
択された各プロセスごとに、第1カウント手段をインク
リメントし、その識別をスタック中にロードする第2段
階と、上記スタックを空にし、その最中に、スタックか
ら取り出された各プロセスごとに、1つのリクエストを
使用可能な状態にある1つのプロセッサに送る第3段階
とを含む。
【0024】本発明をディスパッチングに適用するため
の他の特徴を以下の説明によりさらに詳しく説明する。
【0025】
【実施例】図1に示すシステムは、情報処理システムの
中央サブシステムとして知られるものを具備している。 このシステムは、相互に、かつ中央メモリMUおよび入
/出力ユニットIOUの両方と通信可能なようにシステ
ムバスSBに接続された複数のプロセッサCPU、CP
Ui を備える。入/出力ユニットIOUにより、中央
サブシステムは、周辺サブシステム(図示せず)と通信
することができる。
【0026】中央メモリMUは、インターフェース回路
SCUによってシステムバスSBに接続される複数のメ
モリモジュールまたはボードによって構成される。イン
ターフェース回路SCUは、メモリ制御装置およびシス
テムバスSBの制御装置の両方として働く。従来の方法
では、システムバスSBは、データバスDTS、アドレ
スバスADS、ならびに命令および制御ラインCDSか
ら構成される。
【0027】各プロセッサCPUは、マイクロプログラ
ム制御の処理手段CPと、システムバスSBとインター
フェースするためのキャッシュメモリCAとを主に有し
ている。キャッシュメモリCAは、メモリ回路DAT(
データバスDTSに接続される)と、制御装置DIR(
アドレスバスADSおよび制御ラインCDSの両方に接
続される)とから構成される。処理手段CPは、複数の
機能ユニットEAD、BDP、EPPを含むが、これら
ユニットにはそれぞれ特定の機能が割り当てられる。 特に、ユニットEADは、アドレスラインADにより制
御装置DIRに接続されたアドレス指定ユニットである
。さらにユニットEAD、BDP、EPPは、内部デー
タバスDTによりメモリ回路DATに、また内部指令お
よび制御ラインCDにより制御装置DIRに接続されて
いる。
【0028】制御装置DIRは、アドレスラインADR
および制御ラインCDRを介してメモリ回路DATの読
取りおよび書込み動作を制御する。制御装置DIRはま
た、メモリMUとメモリ回路DATとの間のデータ転送
を行うため、中央メモリMUの読取りおよび書込み動作
を制御するようにも機能する。最後に、図示された実施
例では、制御装置DIRは、プロセッサCPUと他のプ
ロセッサCPUi あるいは入/出力ユニットIOUと
の間のメッセージ(例えば、リクエストおよび肯定応答
)を交換する働きをするインターフェース回路も含んで
いる。
【0029】プロセッサ間のメッセージ交換以外につい
ては、図1に示したシステムは従来のシステムと同様に
ように機能する。従って、知られている機能について説
明する必要はないので、以下の説明においては、本発明
に直接関わる特徴だけを述べることにする。
【0030】以下に説明する実施例は、メッセージを伝
送するため制御装置DIRの特殊な回路により実現され
る。これら回路は図2を参照に説明する。
【0031】図示した実施例では、メッセージは、イン
ターフェースDIRと処理手段CPとの間で交換され、
更に、その他のプロセッサへは、アドレスバスADおよ
びADSによってそれぞれ転送される。プロセッサCP
Uと他のプロセッサとの間のメッセージの転送には、制
御装置DIRの送信回路EMと受信回路RMを使用する
。これら送信回路EMと受信回路RMは、図示していな
いクロックにより送られる同期化信号CK1およびCK
2により定義される2相で機能する。
【0032】送信回路EMは制御部を含む。その制御部
は、主に復号ならびに送信制御のための回路1を備える
。その回路1の入力は、増幅しそしてレジスタにラッチ
の後(参照番号1および2は、レジスタがCK1および
CK2によりそれぞれ同期化されていることを示す)、
制御ラインCDの或るものからの信号CP−CMDを受
ける。回路1は、制御ラインCDSの1つを通して、バ
ス制御装置SCUにバスシステムリクエスト信号RQA
B(これは増幅後に送られる)を送る。回路1は、制御
SCU中で開始する許可信号ABENを、ラインCDS
の1つを介して且つ増幅した後に、受信する。 回路1は、クロックCK2で同期化されるレジスタを介
して、増幅器3の入力に与えられる指令信号CMDを送
る。その増幅器3の出力は制御ラインCDSに接続され
る。増幅器3は信号ABENにより制御される。
【0033】送信回路EMは更に、(メッセージを転送
するために使用される)アドレス転送部を有している。 このアドレス転送部は、マルチプレクサ2とレジスタを
備える。マルチプレクサ2の入力の一方は、増幅器を介
してバスADに接続されている。マルチプレクサ2の他
方の入力は、中央メモリMUをアドレス指定する従来の
機能を遂行する制御装置DIRにより使用されるアドレ
スレジスタに、接続されている。マルチプレクサ2の出
力は、CK2で同期化されるレジスタと、ラインSBA
Heと信号RQABにより制御される増幅器4とを介し
て、アドレスバスADSに接続される。
【0034】送信回路EMは次のように機能する。処理
手段CPが別のプロセッサCPUi にメッセージを送
らなければならないとき、入力レジスタ(図示せず)が
占有されていることを示す信号をチェックすることによ
り、処理手段CPはインターフェースDIRが使用可能
であるかどうかを最初に確認する。使用可能な場合、処
理手段CPは、所与の2進プロフィルで指令CP−CM
Dを構成し、バスADにメッセージを出力する。後述す
るように、メッセージは、〔受信人〕プロセッサの数の
表示も含んでいる。2つのクロックCK2、CK1の後
、指令CP−CMDが回路1により復号され、回路1は
リクエスト信号RQABを出力する。このリクエスト信
号RQABは、バス制御装置SCUが受信し、バス制御
装置SCUは、これに応答して、バスSBが使用可能と
なったとき、許可信号ABENを送る。この許可信号A
BENが発せられると、増幅器3および4が有効化され
ると共に、回路1をゼロにリセットする。その結果、信
号CMDとSBAHeはラインCDSおよびバスADS
上にそれぞれ出力される。これらの信号は〔発信人〕プ
ロセッサを含むプロセッサのインターフェースの受信回
路の入力に現れる。
【0035】受信時の機能を説明する前に、受信回路C
Dを説明すべきであろう。送信回路の場合と同様に、受
信回路が指令部を含み、この指令部は検出回路5を備え
る。検出回路5は、増幅器と、CK1で同期化されるレ
ジスタとを介して、制御ラインCDS上に送られた信号
CMDおよびABACを受ける。信号CMDは、既に定
義した指令信号であり、これはあらゆるプロセッサ中に
おいて発生することができる。信号ABACはアドレス
バスがビジィであることを示す信号であり、バス制御装
置SCUが発生し、各プロセッサが受ける。
【0036】検出回路5は、複数の出力を備えたデコー
ダを含み、各出力は信号CMDの特殊な2進プロフィル
に対応する。特に、信号CMDがメッセージ送信に対応
するとき、出力INTは有効化される。
【0037】受信回路RMのメッセージ伝送部は、CK
1で同期化される入力レジスタ6を含み、該レジスタの
入力は、ラインSBAHと増幅器とを介してアドレスバ
スADSに接続されている。レジスタ6の出力EVRi
nは、インクリメント回路7の書込み入力に接続される
。 インクリメント回路7の出力EVRi は、縦続接続さ
れ且つクロック信号CK2、CK1、CK2でそれぞれ
同期化される3つのレジスタ8、9、10からなる一組
のレジスタセットの入力に接続される。レジスタ9の出
力EVRO は、インクリメント回路7の第2入力に接
続される。レジスタ10の出力は、マルチプレクサ11
と、CK1およびCK2によりそれぞれ同期化される2
つのレジスタと、増幅器とを介して内部アドレスバスA
Dに接続される。
【0038】更に、受信回路RMは、プロセッサの処理
手段CPを備える信号交換のための制御部を含む。この
制御部は、デコーダ12を備え、デコーダ12は、その
入力に、レジスタ8の出力EVRの一部TAGを受ける
。TAGは、メッセージの一領域に対応し、その値が、
受信したメッセージのカテゴリを表す。CK1およびC
K2により同期化される2つのフリップ−フロップと1
つの増幅器とを介して、デコーダ12の出力は信号RQ
−EVPを供給する。この信号信号RQ−EVPは、内
部指令ラインCDの1つに与えられる。信号RQ−EV
Pは、予め定めた論理状態により、プロセッサに向けて
宛てられたメッセージが待機中であることを知らせる。 ラインCDの別の1つが読取り指令信号LEVを送り、
この信号は、増幅の後、インクリメント回路7の制御入
力と、クロック信号CK2により有効化される同期ゲー
ト13を介してレジスタ10のクロック入力とに与えら
れる。
【0039】受信回路RMは次のように機能する。メッ
セージが前述の送信機構に従いアドレスラインADS上
に出力されると、バス制御装置SCUは、信号ABAC
を所定の論理値にする。信号ABACは検出回路5を有
効化し、その検出回路5は制御信号CMDの復号を行う
。制御信号CMDの論理プロフィルがメッセージの送信
に対応すれば、検出回路5はその出力INTを予め定め
た論理状態に置く。この信号がインクリメント回路7の
機能を有効化し、レジスタ6に存在するメッセージの解
析を行う。レジスタ6に存在するメッセージが当該プロ
セッサに宛てられたものであれば、このメッセージはレ
ジスタ8に転送される。メッセージの存在は、デコーダ
12により再び検出され、デコーダ12は待機メッセー
ジの存在を示す信号RQ−EVPを供給する。
【0040】処理手段CPが信号RQ−EVPを受け入
れると、クロックCK1のフェイズで読取り指令信号L
EVを送り、次のクロックCK2のフェイズでレジスタ
10にメッセージをロードする。信号LEVは、インク
リメント回路7を制御して、レジスタ8を0にリセット
する。次のクロックCK2のフェイズで、メッセージは
出力レジスタ1にあり、処理手段CPで読み取ることが
できる。
【0041】回路7の機能の実施例は図4〜8を参照に
して詳しく説明するが、その前にメッセージフォーマッ
トについて具体的な情報を提供することが適切であろう
【0042】図3は、非限定的な例を用いて、16個の
プロセッサを有するシステムのために本発明で使用でき
る1つのメッセージフォーマットを示す。メッセージは
、0〜31まで番号付けされた32ビットの幅を有し、
次の意味を持つ多数のフィールドに細分される。フィー
ルドSNB(ビット0)は、問題のメッセージ用のプロ
セッサが属するシステムの番号に対応する。このフィー
ルドは、システムを2つの独立したサブシステムとして
作動させることができるように与えられる。フィールド
TAG(ビット1〜7)はメッセージカテゴリを定義す
るため確保されている。このフィールドにより、特に、
メッセージがプロセッサに宛てられているかどうか、ま
た、メッセージが別のプロセッサ中または入/出力制御
装置もしくはバス制御装置を発せらたかどうかを示すこ
とができる。フィールドG(ビット8)は、メッセージ
が全体的リクエスト、即ち、システムの全プロセッサに
向けて宛てられたものかどうかを示す働きをする。フィ
ールドTYPE(ビット9〜11)はリクエストを識別
する働きをする。即ち、受信プロセッサにより実施すべ
き動作の識別を含む。フィールドDCPN(ビット12
〜15)はメッセージが宛てられたプロセッサの番号を
含む。フィールドPARAM(ビット16〜23)は他
のメッセージフィールドの或るもの拡張用に確保されて
いるフィールドである。フィールドSCPN(ビット2
4〜27)は〔発信人〕プロセッサの番号を含む。フィ
ールドCHW(ビット28〜31) は受信した肯定応
答の数を含むために確保されているフィールドである。
【0043】図4は、さらに詳しく、書込みおよびイン
クリメント回路7、レジスタ6、8および9、ならびに
デコーダ12を示している。明確化のため、レジスタ6
、8および9の各々は、2つの部分、6A−6B、8A
−8Bおよび9A−9Bにそれぞれ細分され、文字Bは
フィールドCHWに、文字Aはメッセージの残りに対応
する。更に図面において、回路に関係する各フィールド
には、それぞれ「in」または「o」が下添字を付して
、入力レジスタ6またはレジスタ9で出力されたことを
示している。
【0044】レジスタ6の入力SBAHがバスADSに
接続されていることは既に述べた。しかし、バスADS
が転送するデータがメッセージであるとき、フィールド
CHWに対応するビット28〜31は重要ではない。そ
の結果、レジスタ6の部分6Bはメッセージ処理に使用
されない。
【0045】回路7は、書込み回路7Aと、インクリメ
ント回路7Bと、受信したメッセージの解析用の解析回
路7Cとから構成される。解析回路7Cの第1の入力は
、レジスタ6の出力ラインに接続され、これはフィール
ドSNB、DCPN、TAGおよびTYPEに対応する
。解析回路7Cの第2入力は、フィールドSNBおよび
DCPNに対応するレジスタ9の出力ラインに接続され
る。解析回路7Cの機能は、前述の検出回路5が発する
信号INTにより有効化される。解析回路7Cは、書込
み回路7Aに接続されて書込み指令信号を出力する第1
出力EVTを有する。解析回路7Cの第2出力は、イン
クリメント回路7Bに与えられるインクリメント指示信
号を送る。
【0046】書込み回路7Aの第1入力は、レジスタ6
のフィールドTAG、PARAMおよびSCPNに対応
する出力ラインを受ける。第2入力は、レジスタ9が発
するフィールドSNB、DCPN、TAG、PARAM
およびSPNを受ける。書込み回路7Aも読取り指令信
号LEVを受ける。書込み回路7Aの出力は、レジスタ
8の部分8Aの入力に与えられる。
【0047】インクリメント回路7Bの1つの入力は、
フィールドCHWに対応するレジスタ9の部分9Bの出
力に接続される。インクリメント回路7Bは更に、イン
クリメント信号INCおよび読取り指令信号LEVを受
信する。その出力はレジスタ8の部分8Bの入力に接続
される。
【0048】フィールドTAGに対応するレジスタ8の
出力ラインは、デコーダ12の入力に接続され、デコー
ダ12の出力は、CK1により同期化されて信号RQ−
EVP−1を出力するフリップフロップの入力に接続さ
れる。
【0049】図4の回路は次のように機能する。メッセ
ージがクロックCK1のフェイズでレジスタ6中にロー
ドされたら、メッセージの存在が信号INTにより表示
される。解析回路7Cは、それぞれレジスタ6およびレ
ジスタ9中のフィールドSNBおよびDCPNを比較す
ることにより、このメッセージが本当に当該プロセッサ
に宛てられているかどうかを検出する。フィールドTA
GおよびGをデコードすることにより、リクエストが当
該プロセッサに宛てられているかどうかも検出する。そ
うであれば、信号EVTをアクティブにする。フィール
ドTYPEに応じて、解析回路7Cはこのメッセージが
肯定応答であるかどうかを決定し、肯定応答である場合
、インクリメント指令信号INCをアクティブにする。
【0050】書込み指令信号EVTと読取り指令信号L
EVがインアクティブ状態である場合には、書込み回路
7Aがレジスタ9の部分9Aの内容をレジスタ8の部分
8A中にコピーする。
【0051】信号EVTとLEVが同時にアクティブ状
態であれば、書込み回路7Aがレジスタ6の部分6Aの
内容をレジスタ8の部分8A中にコピーする。
【0052】信号LEVがアクティブ状態であり、信号
EVTがインアクティブ状態であれば、書込み回路7A
がレジスタ8の部分8Aをゼロにリセットする。
【0053】インクリメント信号INCがアクティブ状
態で、読取り信号LEVがインアクティブ状態のとき、
インクリメント回路7Bが、1だけ増分した部分9Bの
内容を部分8B中にコピーする。
【0054】信号INCとLEVが同時にインアクティ
ブ状態であるとき、インクリメント回路7Bが部分9B
の内容を部分8Bにコピーする。
【0055】信号INCとLEVが同時にアクティブ状
態であるとき、インクリメント回路7Bは、部分8Bの
最下位ビットを1にし、他のビット全てをゼロにリセッ
トする。
【0056】説明した実施例では、フィールドTAGは
、メッセージがプロセッサ間の通信に対応するとき、そ
のビットの1つが1である。これにより、デコーダ12
は単純なORゲートにより実現することができ、その出
力は、レジスタ8Aに含まれるメッセージがリクエスト
もしくは肯定応答であるとき1に設定される。
【0057】図5から図8は、回路7の様々なサブアセ
ンブリを示す。これらの図に示す各2進信号は、論理値
1を取るとき、アクティブであるとする。
【0058】図5は、受けたメッセージの解析回路7C
を示す。解析回路7Cは、受けたメッセージおよびレジ
スタ9にそれぞれ含まれるシステム番号SNBinとS
NBo を比較するための第1比較器15を備える。第
2比較器16は、受けたメッセージおよびレジスタ9に
それぞれ含まれるプロセッサ番号DCPNinとDCP
No を比較する。これらの番号が合致すれば、比較器
15および16の出力H1およびH2は値1を取る。第
1のデコーダ17は、受けたメッセージのフィールドT
AGおよびGを受け、これらフィールドのビットの1つ
が1であるとき、値1の出力信号H3を出力し、レジス
タ6に含まれる情報が、当該プロセッサが受け入れなけ
ればならないメッセージであることを知らせる。第2の
デコーダ18は、受けたメッセージのフィールドTYP
Eを受け、このフィールドの値が肯定応答を表すとき値
1の信号H4を出力する。
【0059】第1ANDゲート19は、信号H1および
INTを入力で受け、第2ANDゲート20の入力に接
続される出力を有し、第2ANDゲート20の第2入力
は信号H2を受ける。従って、ANDゲート20の出力
H6の論理状態は、受けたメッセージが実際に当該プロ
セッサに宛てられたものであるかどうかを示す。第3A
NDゲート21は、信号H6およびH3を受けて、信号
EVTを出力する。この信号EVTは、信号EVTが値
1を取るとき、レジスタ6に存在するメッセージが当該
プロセッサに宛てられたものであり、当該プロセッサが
実際に受信回路のものであることを示す。
【0060】最後に、信号EVTおよびH4はANDゲ
ート22の入力に与えられ、その出力信号INCは、受
けたメッセージが肯定応答であるかどうかを表している
【0061】図6および7は、書込み回路7Aを実現す
ることのできる基本セルを示し、各基本セルはメッセー
ジの1ビットに割り当てられる。これらの基本セルは、
対応ビットが入力レジスタ6からロードできるかどうか
、もしくはレジスタ9に対応するビットの単純なコピー
が行われるかどうかに応じて、2つのタイプに分けられ
る。
【0062】図6の回路は、第1のケースに対応する。 即ち、フィールドTAG、PARAM、SCPNのビッ
トに関する。これらフィールドの各ビットは、それぞれ
レジスタ9またはレジスタ6で発せられるかどうかに応
じて、下添字「o」または「in」を付した文字Xで示
した。対応する出力ビットはXi で示す。図6のセル
は、信号EVTおよびビットXinを受ける第1AND
ゲートを備えている。第2のANDゲートは、信号LE
V* とビットXo とを受ける。信号LEV* は、
信号LEVの反転信号である。これらANDゲートの2
つの出力は、ORゲートの入力に与えられ、ORゲート
の出力はビットXi を与える。図6の回路が実際に図
4の説明で意図された機能を達成することを確認するの
は容易である。LEV=1およびEVT=0のとき、X
i =0である。LEV=0およびEVT=0のとき、
Xi =Xo である。LEV=1およびEVT=1の
とき、Xi =Xinである。LEV=0およびEVT
=1の場合は情報の累算に対応する。
【0063】図7のセルは、フィールドSNDおよびD
CPNのビットにのみ関し、これらのフィールドのコピ
ーをレジスタ8中で常時に実行することを可能にする。 これらのフィールドは、(単純化のため図面には示して
いない)維持回路を用いてシステムの初期化時に通常ロ
ードされる。
【0064】上に説明してきた書込み回路の実施例が、
いくつかのメッセージフィールドの意味および使用に関
して行われる選択と部分的に関連することに留意しなけ
ればならない。特に、読取り指令LEVが不在である場
合、この図面に示した回路により、受けたメッセージに
含まれる他の情報と共にレジスタ9中に存在するある情
報の累算を実行することができる。例えば、フィールド
PARAMの各2進位置は、その位置が1のとき、〔受
信人〕プロセッサにより実行されるべき所与の機能に対
応する。
【0065】図8は、インクリメント回路7Bの実施例
を示す。これは、レジスタ9のフィールドCHWの4つ
のビットe0、e1、e2、e3ならびにインクリメン
ト信号INCを受ける。回路23は、INC=0とき、
値CHWo を表すビットf0、f1、f2、f3を出
力し、INC=1のとき、値CHWo +1を表すビッ
トf0、f1、f2、f3を出力する。インクリメント
回路7Bは、フィールドCHWに対応し、部分8Bの入
力に与えられるビットs0、s1、s2、s3を出力す
る。 ビットs1、s2、s3は各々1つのANDゲートを介
して送られる。ANDゲートの一方の入力はそれぞれ信
号f1、f2、f3を受け、他方の入力が信号LEV*
 を受ける。ビットs0は、図6の回路と同じ複雑な論
理ゲートにより送られる。この回路の第1ANDゲート
は信号LEV* および信号f0を受けると共に、第2
ANDゲートは信号LEVおよび信号INCを受ける。
【0066】作動中に、LEV=0のとき、ビットs0
、s1、s2、s3はそれぞれ信号f0、f1、f2、
f3を再現する。LEV=1のとき、ビットs0、s1
、s2、s3は0にされる。このとき、INC=0なら
ばビットs0が0にされる。反対に、INC=1ならば
s0は1にされる。
【0067】勿論、以上説明してきた実施例には、本発
明の範囲を越えることなく、変更もしくは修正も加える
ことができる。特に、フィールドCHWは、16個以上
のプロセッサを備えるシステムにおいては5ビット以上
を含むことができ、その結果、インクリメント回路は修
正される。
【0068】ここで、マルチプロセッサシステム中でデ
ィスパッチング機構を使用するのに本発明の方法をどの
ように利用することができるかについて説明する。しか
し、最初に、この機構の使用を可能にする手段に関して
いくつかの説明を与えなければならない。これらの手段
は、プロセッサの1つまたは複数の処理ユニット内に主
に置かれる。これらの処理ユニットは、1989年12
月21日出願された名称「命令の先取り実行方法による
複数のマイクロプログラムユニットを備えたプロセッサ
」のフランス国特許出願第89 16952号に記載さ
れているようなマイクロプログラム制御形式でよい。
【0069】この形式のプロセッサは、一組のマイクロ
プログラム(ファームウエア)を実行することができる
少なくとも1つの制御ブロックを備える。この制御ブロ
ックは、マイクロプログラムメモリをアドレス指定する
マイクロシーケンサを含み、その各出力ワードは、プロ
セッサの所与のリソース(オペレータ、レジスタ等)に
作用する1つのマイクロ命令を構成する。
【0070】ファームウエアの一部は、プロセッサによ
り実行することができる命令を解釈する働きをする。一
般に「システムファームウエア」と呼ばれるファームウ
エアの残りは、各々システム管理オペレーションを実行
する所与数のモジュールから構成されている。ディスパ
ッチングを実施するモジュールはこのシステムファーム
ウエア中に位置する。「イベントポーラ」EVPとして
知られるもう1つの主なモジュールは、システムが考慮
に入れることのできるイベントを表すインジケータの所
与数に応じて実行すべきモジュールを選択する役割を果
たす。イベントポーラEVPは、制御ブロックのハード
ウエア部分によりアクセスされる。このハードウエア部
分は、このようなイベントを検出するため信号RQ−E
VPに応答して、マイクロプログラムメモリのアドレス
を強制的に予め定めた値AD−EVPにし、モジュール
EVPへのジャンプを行う。
【0071】図9は、ディスパッチングを起動されるプ
ロセッサの機能を概略的に示す。左から右に向かって、
この図面はプロセッサの4つの部分:命令解釈ファーム
ウエアINST  FW、ハードウエアHW、システム
ファームウエアSYST  FWおよびインターフェー
スDIRを示す。オペレーションは、上から下へと行わ
れる。始めに、プロセッサが、ディスパッチングのため
にリセットを起動する命令In を実行の最中であるこ
とを前提とする。これは、CONTESTインジケータ
を1に設定することにより達成される(CONTEST
:=1)。このインジケータは、実際にはファームウエ
アのために確保されたレジスタR−EVTの1つの中の
フリップフロップの論理状態に対応する。並行して、例
えば、外部から発せられたイベントEVTは、インター
フェースDIRを介して生成することができる。内部イ
ベントと同様に、これら外部イベントは生成されたイベ
ントを表すインジケータの位置を決定する。
【0072】このようなイベントの出現は、制御ブロッ
クのマイクロシーケンサMSにより受けられる信号RQ
−EVP中に翻訳される。プロセッサが割込み可能な状
態になるとすぐ、ここでは命令INST−ENDの終わ
りに、マイクロシーケンサMSは、割込み管理部(割込
みポーラ)EVPにジャンプAD−EVPをおく。この
要素は、予め定められた優先順序でイベントレジスタR
−EVTを調べることにより、既に記録される全てのイ
ベントを分析する。割込み管理部EVPが、処理すべき
イベント、例えば、コンテストインジケータの状態1を
検出するとすぐに、割込み管理部EVPは、マイクロシ
ーケンサMSを制御して、ディスパッチングを実行する
ためSELECTモジュールのAD−SELECT入力
点でマイクロプログラムメモリをアドレス指定するよう
に指令する。
【0073】次にSELECTモジュールは、レディプ
ロセスQ/PR/QDYのキューの分析を行い、優先順
位、キュー中のプロセスの到着順位、ならびにプロセッ
サの状態およびプロセスに付帯する制約に応じて、選択
されたプロセッサCPIi 、CPIj に宛てた対応
するリクエストEXECi 、EXECj を送り、こ
れらプロセッサにコンテキストの変更を実行しなければ
ならない、即ち、SELECTモジュールにより決定さ
れるもう1つのプロセスを行うための状態をとらねばな
らないことを知らせる。
【0074】〔受信人〕プロセッサがリクエストEXE
Ci を受け入れると、それに応答して肯定応答を送る
が、これら肯定応答は前述の方法に従いインターフェー
スDIRの受信回路中でカウントされる。その実行の終
わりに、SELECTモジュールは、読取り指令信号L
EVを送り、送られたリクエストEXECi の数をそ
の値と比較することにより、受信回路のレジスタ10を
調べる。これらのオペレーションは図10を参照にして
詳しく説明することにする。
【0075】SELECTモジュールの最後の段階は、
CONTESTインジケータを0にリセットすることか
ら成る(CONTEST:=0)。マイクロシーケンサ
MSは次に割込み管理部EVTの入力にジャンプして戻
り、該割込み管理部はイベントレジスタR−EVTを再
分析する。他のイベントが通知される、例えばプロセッ
サがリクエストEXECをそれ自体に送った場合に、割
込み管理部EVPは、「チェンジ−オブ−コンテキスト
」モジュールEXECのAD−EXEC入力点にジャン
プを指令する。このモジュールによる実行が終わると、
インジケータR−EXECは0にリセットされ(R−E
XEC=0)、マイクロシーケンサは割込み管理部EV
Pの入力に再びジャンプする。割込み管理部が処理すべ
き他のイベントを検出しない場合(R−EVT=0)に
は、マイクロシーケンサMSは次の命令In+1 を実
行するためのマイクロプログラムの入力点にジャンプす
る。なお、命令In+1 が、プロセッサにより実行さ
れる新しいプロセスのキュー中の最初の命令に対応する
ことは明らかである。
【0076】図10は、図9に類似した図であるが、リ
クエストを開始するプロセッサCPUならびに〔受信人
〕プロセッサCPUi の1つにより実施される各オペ
レーションをさらに具体的に示す。
【0077】この図では、左右それぞれに、問題の2つ
のプロセッサの処理手段CPおよびCPi を示すと共
に、中央部分は、対応するインターフェースDIRおよ
びDIRi ならびにシステムバスSBを表す。
【0078】前と同様、SELECTモジュールの実行
は割込み管理部によってプロセッサCPU中で起こる。 この実行は、記憶すべき多数のアクセスを含み、2つの
主要な段階に分けることができる。第1の段階は、制約
がある場合には制約付きのプロセス、第2段階は、他の
場合のプロセス、即ち、あらゆるプロセッサにより実行
することができるプロセスを行う。さらに、SELEC
Tオペレーションは送らなければならないリクエストE
XECi の合計数を数える。
【0079】予め定めたプロセッサCPUi に予め定
めたプロセスの割り当てを知らせなければならない毎に
、SELECTモジュールはSENDオペレーションを
実施するが、通常SENDオペレーションは問題のプロ
セッサにリクエストEXECi を送って終わる。すで
に説明したように、このリクエストはメッセージの形態
を取り、〔発信人〕プロセッサからインターフェースD
IRを介して転送する。このとき、このメッセージはシ
ステムバスSBのアドレスライン上に伝送され、最終的
にプロセッサの全インターフェースDIRi により受
信される。〔受信人〕プロセッサのフィールドDCPN
のため、〔受信人〕プロセッサのインターフェースDI
Ri はメッセージをそのレジスタ中にロードし、信号
RQ−EVPにより処理手段CPi に知らせる。
【0080】図9の説明で既に説明したように、信号R
Q−EVPは、命令の実行の終わりに、割込み管理部の
呼出しを起動し、この割込み管理部はイベントレジスタ
R−EVTを調べる。特に、管理部EVPは、通知され
たリクエストの信号LEVにより読取りを行う。そのと
き、管理部EVPは、リクエストがモジュールEXEC
の実行要求であることを検出する。マイクロシーケンサ
は、このモジュールの入力AD−EXECにジャンプす
ると同時に、肯定応答メッセージACKi の送信が前
述の方法に従って実施される。その結果、特にリクエス
トEXECi を発したプロセッサの肯定応答カウンタ
CHWは1ユニットだけインクリメントする(カウンタ
がその時点で調べられていないと仮定する)。次いで、
プロセッサCPUi は、アメリカ合衆国特許第4,5
90,550号においてなされた説明に従いモジュール
EXECの実行を始める。このオペレーションは、プロ
セッサに割り当てられるメイルボックスを調べることを
含む。ここに、SENDオペレーション中に、〔発信人
〕プロセッサが受信プロセッサに必要な全ての指示、特
に、実行すべき新たなプロセスの識別または番号NJP
を書き込んでいる。
【0081】CPUi は、その内容の更新および変更
のすべてを完了したとき、インジケータR−EXECを
0にリセットし(R−EXEC:=0)、割込み管理部
の入力にジャンプして戻り、他のイベントを考慮に入れ
るべきか否かを確認する。
【0082】リクエストEXECi を送った後、〔発
信人〕プロセッサCPUは、他のプロセッサで行われる
オペレーションとは関係なく、特に肯定応答ACKi 
を受けるために待機することなく、SELECTモジュ
ールを実行し続ける。SELECTオペレーションがま
さに完了しようとするとき、言い換えれば、各実行を待
機している各プロセスがプロセッサに割り当てられたと
き、あるいは各プロセッサが1つのプロセスに割り当て
られるとき、SELECTモジュールはWAIT−AC
Kオペレーションを実行する。このオペレーションは、
カウンタCHWの状態を調べ、その値と、他のプロセッ
サに送られたリクエスト数を示すファームウエアカウン
タCFWの値とを比較することから成る。これらの数が
合致すると、SELECTオペレーションは完了する。 そして、CONTESTインジケータは0にリセットさ
れ、プロセッサは割込み管理部の入力にジャンプする。 反対に、受けた肯定応答の数が送ったリクエストの数よ
り少ない場合には、ファームウエアカウンタは、既に受
けたリクエスト数(カウンタCHWの状態)だけデクリ
メントし、SELECTモジュールは待機ループに置か
れて、定期的にカウンタCHWを参照する。待機は、2
つのカウンタが等しくなるまで続く。勿論、この待機ル
ープは、予め定められた待機期間の終わりで例外オペレ
ーションを起動する監視機構を備える。
【0083】SELECTおよびEXECオペレーショ
ンは、所与数のデータを処理することを要求する。これ
について図11および12を参照にして説明することに
する。
【0084】図11は、システム制御ブロックSCBと
呼ばれるシステムのために確保されたメモリ領域を表す
。 この領域は、特にSELECTモジュールによって使用
される。ブロックSCBは中でも次の要素を含む。レデ
ィプロセスQ/PR/RDYのキューを保護するための
ラッチRDYLK、対話ラッチMPDL、セマフォ保護
ラッチSEMLK、システム中に構成された制約付きプ
ロセス数のインジケータCST、有効プロセッサのマス
クVLD−CPU−MSK、有効プロセッサ数のインジ
ケータVLD−CPU−CK。
【0085】上に説明してきたラッチは、マルチプロセ
ッサシステムでは、システム全体に共通の所与の対応す
るリソースが、一度に数個のプロセッサにより変更され
ることを防ぐ。このようにして、これらリソースの1つ
へのアクセスの前に、プロセッサは、まず、ラッチ上の
「テストアンドセット」として知られる個別オペレーシ
ョンを行う。このオペレーションは、ラッチを読み取り
、それがフリーである(例えば、0である)場合にはビ
ジィ状態(例えば、1)に置くことから成る。反対に、
ラッチがビジィであれば、リソースへのアクセスは禁止
される。
【0086】そこで、ラッチRDYLKおよびSEML
Kにより、キューQ/PR/RDYならびに、オペレー
ションPおよびVに関連するセマフォをそれぞれ保護す
ることができる。
【0087】同様に、ラッチMPDLは、プロセッサ間
の対話に関するあらゆるオペレーションの前にテストさ
れる。従って、SELECTオペレーションは、このラ
ッチがテストされるまで開始することはできない。この
ラッチがフリーであれば、このラッチは、ビジィ状態に
置かれ、SELECTオペレーションが実行される。勿
論、オペレーションが終わるとラッチは再びフリーにさ
れる。
【0088】制約CST付きのプロセス数は、SELE
CTモジュールにより行われるQ/PR/RDYファイ
ルの分析を容易にする働きをするデータである。
【0089】マスクVLD−CPU−MSKは、リクエ
ストが宛てられたプロセッサを選択する働きをする。こ
のマスクは有効プロセッサの構成を表す。各2進位置は
1つのプロセッサに対応し、この位置が1にあれば、対
応するプロセッサは有効である。
【0090】有効プロセッサVLD−CPU−CTの数
はマスクVLD−CPU−MSK中で「1」にあるビッ
ト数に等しい。この数は、制約付きのプロセスがない(
CST=0)とき、Q/PR/RDYの分析深さを得る
ためSELECTにより使用される。CSTが0ではな
い場合には、分析深さは特定のSELECTアルゴリズ
ムにより得ることができる。
【0091】図12は、プロセッサ制御ブロックCPC
Bとして知られ、リクエストEXECi を発する〔発
信人〕プロセッサとこれらリクエストの〔受信人〕プロ
セッサ間の情報交換用のメイルボックスとして役立つプ
ロセッサに対応するメモリ領域を示す。
【0092】ブロックCPCBは、プロセッサ番号を含
む1つのフィールドCPNと、プロセッサの状態を示す
1つのフィールドCPSと、プロセッサ中で実行中のプ
ロセスの数を含む1つのフィールドCJPと、ファイル
Q/PR/RDY中の上記プロセスのリンクのアドレス
を示す1つのフィールドCPLDと、プロセッサが実行
しなければならない新しいプロセスの数を示す1つのフ
ィールドNJPと、このプロセスのリンクのアドレスを
示す1つのフィールドNPLDとを含む。
【0093】ブロックCPCBは、インジケータDCL
Kも含み、その論理状態は、メイルボックスが塞がって
いる、即ちビジィか否かを示す。
【0094】ブロックCPCBは次のように使用される
。予め定めたプロセスNJPが予め定めたプロセッサC
PNにより実行されなければならないことをSELEC
Tオペレーションが決定すると、この予め定めたプロセ
ッサのブロックCPCBにアクセスし、インジケータD
CLK上で「テストアンドセット」オペレーションを行
う。DCLTがフリーであれば、ブロックCPCBはD
CLKを塞がった状態に置き、新しいプロセスの数なら
びに対応するポインタNPLDを記入する。
【0095】対応するEXECオペレーションを実施す
るとき、選択されたプロセッサCPNは、そのブロック
CPCBにアクセスし、実行すべきプロセスの数NJP
を考慮に入れる。これに対し、EXECオペレーション
が完了すると、インジケータDCLKをフリーの状態に
戻す。このラッチにより、SELECTオペレーション
を実行するプロセッサは、送信オペレーションによりリ
クエストが送られる前に、〔受信人〕プロセッサがEX
ECオペレーションをまだ実行中ではないことを確認す
ることができる。このため、SELECTオペレーショ
ンは、これらリクエストを実際に送信できるかできない
かを考慮に入れることなく、上記した第1および第2段
階の間にリクエスト数を計算するように構成することが
できる。SENDオペレーションが実行されるその時点
で、対応するリクエストを送ることが不可能である(メ
イルボックスが塞がっている)ことが判明した場合には
、少ない肯定応答を待つことを考慮に入れるために、リ
クエスト数は1単位だけ減少する。
【図面の簡単な説明】
【図1】本発明を実施するための情報処理システムの中
央サブシステムを示す。
【図2】プロセッサが他のプロセッサと通信することを
可能にするシステムのプロセッサのインテーフェース回
路を示す。
【図3】プロセッサ間の対話のためのメッセージフォー
マットを示す。
【図4】図2のインターフェースの受信回路の一部を示
す。
【図5】図4の回路の実施例の詳細を示す。
【図6】図4の回路の実施例の詳細を示す。
【図7】図4の回路の実施例の詳細を示す。
【図8】図4の回路の実施例の詳細を示す。
【図9】ディスパッチングオペレーションの実行の様子
を概略的に示す。
【図10】ディスパッチングオペレーションの実行の様
子を概略的に示す。
【図11】ディスパッチングを行うために使用される主
要システムのリソースを示す。
【図12】ディスパッチングを行うために使用される主
要システムのリソースを示す。
【符号の説明】
CPU  プロセッサ MU  中央メモリ IOU  入力/出力ユニット SB  システムバス SCU  インターフェース回路 CP  処理手段 CA  キャッシュメモリ DAT  メモリ回路 DIR  制御回路 EAP、BDP、EPP  機能ユニットAD  アド
レスライン DT  内部データパス CD  制御ライン 1  回路 2、11  マルチプレクサ 3、4  増幅器 5  検出回路 6  入力レジスタ 8、9、10  レジスタ 12  デコーダ

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】マルチプロセッサ情報処理システムのプロ
    セッサ(CPU、CPUi )間の対話方法であって、
    上記プロセッサの1つ(CPU)が少なくとも1つの他
    のプロセッサ(CPUi )に宛てたリクエスト(EX
    ECi )の送信(SEND)を起動するオペレーショ
    ン(SELECT)を実行したとき、上記対話が行われ
    、各〔受信人〕プロセッサ(CPUi )は、〔発信人
    〕プロセッサ(CPU)に上記リクエストを受け入れた
    という肯定応答(ACKi )信号を送る、プロセッサ
    間対話方法において、リクエスト(EXECi )が〔
    受信人〕プロセッサにより受け入れられる順序に関して
    いかなる制約も必要としないあらゆるオペレーション(
    SELECT)については、上記オペレーションの実行
    は、上記オペレーションの最中にリクエストの送信によ
    りもたらされる肯定応答(ACKi )の〔発信人〕プ
    ロセッサ(CPU)による受信を考慮に入れることなく
    実行し、上記オペレーションの最中に、該オペレーショ
    ンを実行しているプロセッサが送る予定の、あるいは送
    らなければならないリクエスト(EXECi )の総数
    (CFW)を計算し、〔発信人〕プロセッサ(CPU)
    が受けた肯定応答の数(CHW)をカウントし、上記オ
    ペレーションは、上記リクエストの総数(CFW)と、
    受けた肯定応答の数(CHW)が等しいとの条件のとき
    に、終了することを特徴とするプロセッサ間対話方法。
  2. 【請求項2】上記リクエストおよび肯定応答が、メッセ
    ージタイプ(TAG、G、TYPE)の表示を含むメッ
    セージの形態を取り、特に肯定応答に関する場合には、
    プロセッサ(CPU)による肯定応答の受信は、該プロ
    セッサ(CPU)に宛てられたメッセージが送られたこ
    と、そのメッセージが肯定応答であることの検出を含む
    ことを特徴とする請求項1記載の方法。
  3. 【請求項3】プロセッサ(CPU)が受けた肯定応答の
    数(CHW)のカウントは、該プロセッサ(CPU)の
    処理手段(CP)により、対応する肯定応答メッセージ
    の読取りとは独立して実施し、受けた肯定応答の数(C
    HW)は、上記処理手段(CP)に宛てられて受信され
    た最後のメッセージ中に恒久的に置き、最後のメッセー
    ジの読取り後、リクエスト数(CFW)と肯定応答数(
    CHW)とが等しいことを処理手段(CP)が監視する
    ことを特徴とする請求項2記載の方法。
  4. 【請求項4】上記処理手段による最後のメッセージの読
    取りは、この読取りの際に新しい肯定応答が到達しなか
    ったとき、肯定応答数(CHW)のゼロリセットを起動
    し、この読取りの後、リクエスト数(CFW)から肯定
    応答数(CHW)を減算し、このように減算された新し
    いリクエスト数(CFW)がゼロと等しくなると、リク
    エスト数(CFW)と肯定応答数(CHW)が等しいと
    することを特徴とする請求項3記載の方法。
  5. 【請求項5】複数のリクエストの送信を起動することの
    できるオペレーションのプロセッサ(CPU)による実
    行は、少なくとも1つのシステムラッチ(MDPL)の
    「フリー」状態が検出された後初めて許可され、許可さ
    れた場合には、上記ラッチ(MDPL)を「ビジィ」状
    態に設定して、上記オペレーションの実行を進め、該オ
    ペレーションが完了した時点で、上記ラッチは「フリー
    」にされることを特徴とする請求項1〜4のいずれか一
    項に記載の方法。
  6. 【請求項6】各プロセッサとそれぞれ付属するインター
    フェース回路(DIR)と、該インターフェース回路を
    互いに接続するリンク(SB)とを介して対話を可能に
    する複数のプロセッサ(CPU、CPUi )を含む情
    報処理システムであって、上記プロセッサの少なくとも
    1つ(CPU)が、少なくとも1つの他のプロセッサ(
    CPUi )に宛てたリクエスト(EXECi )の送
    信を起動するオペレーション(SELECT)を実行す
    るための手段を含み、各〔受信人〕プロセッサ(CPU
    i )が、肯定応答(ACKi )を〔発信人〕プロセ
    ッサ(CPU)に送ることにより、該〔受信人〕プロセ
    ッサに宛てられたリクエストを受け入れたことを知らせ
    る情報処理システムであって、上記リクエスト〔発信人
    〕プロセッサが、上記オペレーション中に送る予定の、
    または送らなければならないリクエストの総数(VFW
    )を決定できる第1カウント手段(BDP)と、肯定応
    答が受信されるたびに作動される第2カウント手段(7
    B、7C)と、リクエスト数(CFW)と受信された肯
    定応答の数(CHW)が等しいことを検出するための比
    較手段(BDP)とを含み、〔受信人〕プロセッサによ
    るリクエストの受け入れ順序に関して制約なしの対話を
    要求する各オペレーションについては、上記の等しいこ
    との検出により、〔発信人〕プロセッサ(CPU)が上
    記オペレーションの実行を完了することを許可すること
    を特徴とするシステム。
  7. 【請求項7】上記リクエスト(EXECi )および肯
    定応答(ACKi )が、メッセージの宛先およびメッ
    セージが肯定応答であるかどうかを示すことのできる識
    別フィールド(TAG、G、TYPE)を特に含むメッ
    セージタイプであり、各プロセッサ(CPU)が、該プ
    ロセッサ(CPU)のインターフェース回路(DIR)
    に接続される処理手段(CP)を含み、上記インターフ
    ェース回路(DIR)は、受けたメッセージを記憶する
    ための手段(8、9)を備え、該記憶手段(8、9)は
    、読取りにより上記処理手段(CP)にアクセス可能で
    あり、上記インターフェース回路(DIR)は更に、上
    記記憶手段(8、9)の書込み回路(7A)と、受けた
    メッセージの解析回路(7C)とを備え、該解析回路(
    7C)は、受けたメッセージが実際に対応するプロセッ
    サ(CPU)に宛てられたものであるかどうかを検出し
    、その場合、上記解析回路(7C)は、上記書込み回路
    (7A)を制御して、受けたメッセージを上記記憶手段
    (8、9)にロードし、上記第2カウント手段(7B、
    7C)は、インクリメント回路(7B)を含んでおり、
    上記解析回路(7C)はさらに受けたメッセージが肯定
    応答であるかどうかを検出し、その場合上記インクリメ
    ント回路(7B)に指令するように構成されており、上
    記インターフェース回路(DIR)は、処理手段(CP
    )に、対応するプロセッサ(CPU)に宛てられたメッ
    セージが上記記憶手段(8、9)で使用可能であること
    を知らせる通知回路(12)を含み、上記第1カウント
    手段(BDP)が上記処理手段(CP)の一部であるこ
    とを特徴とする請求項6記載のシステム。
  8. 【請求項8】上記記憶手段(8、9)が、上記インクリ
    メント回路(7B)により供給された、受けた肯定応答
    の数(CHW)を含むために確保された部位(8B、9
    B)を含むことを特徴とする請求項7記載の方法。
  9. 【請求項9】上記書込み回路(7A)が、プロセッサ(
    CPU)に宛てられた新しい肯定応答を受けていないと
    き、処理手段(CP)による読取りの後、上記記憶手段
    (8、9)をゼロにリセットするように構成されており
    、上記第1カウント手段は、各読み取りの後に、上記確
    保された部位(8B、9B)に含まれる値だけ上記リク
    エストの上記数(CFW)をデクリメントすることを特
    徴とする請求項8記載のシステム。
  10. 【請求項10】上記記憶手段(8、9)が、上記書込み
    回路(7A)の出力に入力が接続された第1レジスタ(
    8)と、該第1レジスタ(8)の出力に入力が接続され
    た第2レジスタ(9)とを備え、該第2レジスタ(9)
    の特定のフィールド(9B)は上記インクリメント回路
    (7B)の入力に接続され、該インクリメント回路(7
    B)の出力は、上記第1レジスタ(8)の対応するフィ
    ールド(8B)の入力に接続され、上記インクリメント
    回路(7B)は、当該プロセッサ(CPU)に宛てられ
    た肯定応答の受信が解析回路(7C)により検出される
    とき、1単位インクリメントされた上記特定のフィール
    ド(9B)の内容と等しい値を出力し、あるいは、ゼロ
    リセットをするときには、値ゼロを出力することを特徴
    とする請求項9記載のシステム。
  11. 【請求項11】上記処理手段(CP)が少なくとも1つ
    のマイクロプログラム制御のユニット(BDP)を含み
    、上記オペレーション(SELCT)は、このマイクロ
    プログラム制御のユニットにより実行されるマイクロプ
    ログラムに対応し、上記第1カウント手段は、上記マイ
    クロプログラムによって実現されるファームウエアとし
    て知られるマイクロプログラム制御のカウントアルゴリ
    ズムにより実現され、上記確保部位(8B、9B)の読
    み取りにより、該確保部位(8B、9B)の内容に等し
    い値だけファームウエアカウンタをデクリメントするこ
    とを特徴とする請求項9または10のいずれか一項に記
    載のシステム。
  12. 【請求項12】上記マイクロプログラムの実行が、少な
    くとも1つのシステムラッチ(MDPL)の「フリー」
    状態が検出された後初めて許可され、許可された場合に
    は、該マイクロプログラムの実行前に上記ラッチ(MD
    PL)を「ビジィ」状態に設定し、該マイクロプログラ
    ムの実行が完了した時点で上記ラッチを「フリー」にす
    ることを特徴とする請求項11記載のシステム。
  13. 【請求項13】受信された肯定応答の数(CHW)の読
    取りは、上記ラッチ(MPDL)を「フリー」にする前
    に、上記マイクロプログラムの終了時にプログラムされ
    ていることを特徴とする請求項12記載のシステム。
  14. 【請求項14】システムのプロセッサ(CPU、CPU
    i )へプロセス(JP)の分散させる方法であって、
    実行予定のプロセスの選択に変更を起こすことができる
    イベントに応答して、上記プロセッサの1つで選択オペ
    レーション(SELECT)を起動し、実行の用意がで
    きたプロセスの優先順位に応じてシステムのプロセッサ
    へのプロセスの割当てを決定し、 上記選択オペレーション(SELECT)の最中に、各
    選択プロセッサ(CPUi )に対して、実行のため割
    り当てられたプロセスの識別を知らせるリクエスト(E
    XECi )を送り、そして、肯定応答(ACKi)を
    送ることにより〔受信人〕プロセッサに応答させ、該方
    法が、上記選択オペレーションを実施するために、請求
    項1〜5のいずれか一項に記載の対話方法を用いること
    を特徴とする方法。
  15. 【請求項15】上記選択オペレーションが、制約付きの
    ケースを処理する、即ち特定のプロセッサ(CPUi 
    )に割り当てられたプロセス(NJP)を特定し、次に
    選択された各プロセス(CPUi )について、第1カ
    ウント手段(BDP)をインクリメントし、リクエスト
    (EXECi )を選択したプロセッサ(CPUi )
    に送る第1段階と、制約なしのケースを処理する、即ち
    割り当てるべき残りのプロセスを決定し、次に選択され
    た各プロセスについて、第1カウント手段(BDP)を
    インクリメントし、その識別をスタック中にロードする
    第2段階と、上記スタックを空にし、その最中に、スタ
    ックから取り出された各プロセスについて、1つのリク
    エスト(EXECi )を使用可能な状態にあるプロセ
    ッサに送る第3段階とを含むことを特徴とする請求項1
    4記載の方法。
  16. 【請求項16】上記リクエスト(EXECi ) の数
    (CFW)が、このリクエスト(EXECi )を実効
    的に送る可能性を考慮することなく、上記第1および第
    2段階の最中で計算され、第1まはた第3段階の時点で
    リクエスト(EXECi )を実際に送ることが不可能
    な場合に、リクエストの数(CFW)が、1単位だけデ
    クリメントすることを特徴とする請求項15記載の方法
JP3161061A 1990-06-05 1991-06-05 システムのプロセッサ間対話方法及び該方法を実施するためのシステム Pending JPH04232559A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9006948 1990-06-05
FR9006948A FR2662830B1 (fr) 1990-06-05 1990-06-05 Procede de dialogue entre les processeurs d'un systeme, systeme pour sa mise en óoeuvre et utilisation pour la repartition des processus aux processeurs.

Publications (1)

Publication Number Publication Date
JPH04232559A true JPH04232559A (ja) 1992-08-20

Family

ID=9397269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3161061A Pending JPH04232559A (ja) 1990-06-05 1991-06-05 システムのプロセッサ間対話方法及び該方法を実施するためのシステム

Country Status (7)

Country Link
US (1) US5367693A (ja)
EP (1) EP0463901B1 (ja)
JP (1) JPH04232559A (ja)
CA (1) CA2043829C (ja)
DE (1) DE69127592T2 (ja)
ES (1) ES2107445T3 (ja)
FR (1) FR2662830B1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2561759B2 (ja) * 1991-03-29 1996-12-11 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサシステムおよびそのメッセージ送受信制御装置
US5574922A (en) * 1994-06-17 1996-11-12 Apple Computer, Inc. Processor with sequences of processor instructions for locked memory updates
FR2759472B1 (fr) * 1997-02-12 1999-05-07 Thomson Csf Registre semaphore rapide a fonctionnement securise sans protocole de bus specifique
TWI434926B (zh) * 2006-12-11 2014-04-21 Alcon Res Ltd 眼用組成物中聚氧化乙烯-聚氧化丁烯(peo-pbo)嵌段共聚物之使用

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6090454A (ja) * 1983-10-24 1985-05-21 Nec Corp ブロツク転送方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4181974A (en) * 1978-01-05 1980-01-01 Honeywell Information Systems, Inc. System providing multiple outstanding information requests
US4412303A (en) * 1979-11-26 1983-10-25 Burroughs Corporation Array processor architecture
FR2471631B1 (fr) * 1979-12-11 1986-02-21 Cii Honeywell Bull Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information
US4453211A (en) * 1981-04-28 1984-06-05 Formation, Inc. System bus for an emulated multichannel system
US4574284A (en) * 1983-01-26 1986-03-04 Trw Inc. Communication bus interface unit
US4719622A (en) * 1985-03-15 1988-01-12 Wang Laboratories, Inc. System bus means for inter-processor communication
US4783730A (en) * 1986-09-19 1988-11-08 Datapoint Corporation Input/output control technique utilizing multilevel memory structure for processor and I/O communication
JPS63318828A (ja) * 1987-06-22 1988-12-27 Hitachi Ltd 同報通信方式
JPH077375B2 (ja) * 1988-06-17 1995-01-30 日本電気株式会社 バス制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6090454A (ja) * 1983-10-24 1985-05-21 Nec Corp ブロツク転送方式

Also Published As

Publication number Publication date
CA2043829A1 (fr) 1991-12-06
FR2662830B1 (fr) 1992-08-28
DE69127592D1 (de) 1997-10-16
FR2662830A1 (fr) 1991-12-06
EP0463901B1 (fr) 1997-09-10
DE69127592T2 (de) 1998-03-12
EP0463901A1 (fr) 1992-01-02
ES2107445T3 (es) 1997-12-01
CA2043829C (fr) 1996-12-03
US5367693A (en) 1994-11-22

Similar Documents

Publication Publication Date Title
US4511960A (en) Data processing system auto address development logic for multiword fetch
US4503495A (en) Data processing system common bus utilization detection logic
US6460107B1 (en) Integrated real-time performance monitoring facility
US4181974A (en) System providing multiple outstanding information requests
US7234004B2 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
JPH02168341A (ja) データ処理システム
EP0275157B1 (en) Direct memory access controlled system
US4979099A (en) Quasi-fair arbitration scheme with default owner speedup
US20190121659A1 (en) Housekeeping virtual processor overcommit for real time virtualization
JPS63128457A (ja) 制御装置および入出力装置へのアクセスを制御する方法
US5371857A (en) Input/output interruption control system for a virtual machine
EP0013740B1 (en) Data processing apparatus having a system reset capability
US7124224B2 (en) Method and apparatus for shared resource management in a multiprocessing system
US4393459A (en) Status reporting with ancillary data
US4245299A (en) System providing adaptive response in information requesting unit
JPH04232559A (ja) システムのプロセッサ間対話方法及び該方法を実施するためのシステム
US20080263545A1 (en) Signal delivery to a process in a process group
JPS595331A (ja) 磁気デイスク・サブシステムにおける待ち合せ方式
EP0375900A2 (en) Computer system
JP2716055B2 (ja) ベクトル処理装置の制御方式
JP3033509B2 (ja) トランザクションの遅延リカバリ方式、遅延リカバリ方法および遅延リカバリプログラムを記録した記録媒体
JPS601656B2 (ja) 緩衝記憶回路
JPH02291039A (ja) メモリ制御システム
JPS584365B2 (ja) リセツト制御システム
JPH0724044B2 (ja) Dmaアクセスが可能なコンピユータ・システム