JPH0773151A - プロセッサ間通信方法 - Google Patents

プロセッサ間通信方法

Info

Publication number
JPH0773151A
JPH0773151A JP15962093A JP15962093A JPH0773151A JP H0773151 A JPH0773151 A JP H0773151A JP 15962093 A JP15962093 A JP 15962093A JP 15962093 A JP15962093 A JP 15962093A JP H0773151 A JPH0773151 A JP H0773151A
Authority
JP
Japan
Prior art keywords
processor
processors
request
communication
message
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
JP15962093A
Other languages
English (en)
Inventor
Masanobu Nakajima
正信 中島
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP15962093A priority Critical patent/JPH0773151A/ja
Publication of JPH0773151A publication Critical patent/JPH0773151A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 マルチプロセッサシステムにおいて、同一の
処理要求を複数のプロセッサに送信する場合、処理要求
を1回行うだけで要求する全てのプロセッサに処理要求
を行うことができるようにする。 【構成】 プロセッサ101〜104のうちの処理要求
元のプロセッサが送信するメッセージの中にプロセッサ
101〜104のうちの複数の処理要求先のプロセッサ
を示すアドレスを挿入する。システムコントローラ10
0がそのメッセージの内容を見て、要求先の全てのプロ
セッサに共有メモリ1内の通信バッファを介してメッセ
ージを送信する。 【効果】 複数の要求先に各々処理要求を出す必要がな
く、通信の効率化をはかることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、システムコントロー
ラにより複数のプロセッサを管理するようにしたマルチ
プロセッサシステムにおけるプロセッサ間通信方法に関
するものである。
【0002】
【従来の技術】一般にマルチプロセッサシステムの目的
は、システムの機能を分割し、各機能をそれぞれ専用の
プロセッサに負わせることによって高速処理を行なわせ
ることにある。このようなマルチプロセッサシステムに
おいては、プロセッサ間の通信は必須であり、プロセッ
サ間通信をいかに効率的に行なうかがマルチプロセッサ
システムの課題でもある。
【0003】図7は例えば特公昭62−39789号公
報に示された従来のプロセッサ間通信方法を示すブロッ
ク図であり、図において、1は共有メモリ、2はユーザ
タスク処理を行うと共に各プロセッサを制御するジョブ
プロセッサ、3はファイルコントロールプロセッサ、4
はI/Oコントロールプロセッサ、5はコミュニケーシ
ョンコントロールプロセッサ、6は各部を接続する高速
バス、7はファイルコントロールプロセッサ3に接続さ
れた入出力装置、8はI/Oコントロールプロセッサ4
に接続されたリングバス、9はリングバス8に接続され
た各種の入出力装置、10は通信回線、11は通信回線
10を通じてコミュニュケーションコントロールプロセ
ッサ5と通信を行う他システムである。
【0004】図8は共有メモリ1の構成及びプロセッサ
間通信の動作を示すブロック図であり、図において、2
2は通信バッファ、23はデバイス制御テーブル、24
はI/Oコントロールプロセッサ4用のプロセッサ間通
信待行列ポインタ、25はジョブプロセッサ2用のプロ
セッサ間通信待行列ポインタである。
【0005】次に動作について説明する。図7におい
て、リングバス8を介して各種入出力装置9が接続され
ているが、ここでは、割込み処理や各種入出力装置9を
駆動するためのI/Oコントロールプロセッサ4とジョ
ブプロセッサ2間の入出力方法について説明する。図8
はこの場合のプロセッサ間通信の概要を示す動作関連図
で、図中実線の矢印はデータの流れを示し、破線の矢印
は制御信号の流れを示している。
【0006】ユーザタスクの処理を行なうジョブプロセ
ッサ2では、ユーザタスクから発行された入出力要求マ
クロ命令によって、図8のP1で示すように入出力実行
に必要な制御情報を通信バッファ22に作成後、その通
信バッファ22をI/Oコントロールプロセッサ4用の
プロセッサ間通信待行列ポインタ24に接続する。次に
P2で示すようにI/Oコントロールプロセッサ4に対
してプロセッサ間連絡割込みをかける。この後、ユーザ
タスクはプログラム処理と入出力実行処理との同期をと
るために入出力実行終了待ちとなり、他のタスクに制御
が移る。
【0007】I/Oコントロールプロセッサ4は、P2
のジョブプロセッサ2からのプロセッサ間連絡割込みを
受け取ると、I/Oコントロールプロセッサ4用のプロ
セッサ間通信待行列ポインタ24に接続されている通信
バッファ22から要求されたI/Oデバイス番号を取り
出す。そして、デバイス制御テーブル23によって各種
入出力装置9が使用中か否かを調べる。各種入出力装置
9が空いていれば、P3で示すように通信バッファ22
に格納されている制御情報から各種入出力装置9に対し
て転送すべき入出力動作指令や入出力装置動作用のデー
タを作成して、P4のように各種入出力装置9に対して
起動指令を出力する。
【0008】各種入出力装置9は、入出力動作が完了す
ると、P5のようにI/Oコントロールプロセッサ4に
対して入出力終了報告を返送する。I/Oコントロール
プロセッサ4では、各種入出力装置9からのP5の入出
力終了報告を受けて、P6,P7で示すように入出力結
果を通信バッファ22のジョブプロセッサ2のプロセッ
サ間通信待行列ポインタ25に接続し、また、ジョブプ
ロセッサ2に対してP8のようにプロセッサ間通信連絡
割込みをかける。
【0009】I/Oコントロールプロセッサ4からのプ
ロセッサ間連絡割込みをうけたジョブプロセッサ2で
は、P9で示すように自プロセッサへのプロセッサ間通
信待行列ポインタ25に接続されている通信バッファ2
2を待行列から削除し、入出力処理結果を入出力要求マ
クロ命令発行タスクにリターンコードとして返し、タス
クの入出力実行終了待状態を解除する。この動作によっ
て一連のI/O入出力実行制御が完結する。
【0010】
【発明が解決しようとする課題】従来のプロセッサ間通
信方法は以上のように構成されているので、処理要求を
送信するプロセッサが送信先に対応する待行列ポインタ
に接続するようにしているため、同一処理要求の送り先
が複数存在する場合は、送信元のプロセッサがそれを判
断して、その数だけ送り先プロセッサに対応した待行列
ポインタに接続しなければならない。すなわち、同一の
処理要求を複数のプロセッサに送信する場合は、送信先
の数だけ処理要求を出す必要があり、このため効率的な
マルチプロセッサシステムの構成ができないなどの問題
点があった。
【0011】この発明は上記のような問題点を解消する
ためになされたもので、同一の処理要求を複数のプロセ
ッサに送信する場合に、処理要求を1回行うだけで、要
求する全てのプロセッサに処理要求がなされるようにし
た効率的なプロセッサ間通信方法を得ることを目的とす
る。
【0012】
【課題を解決するための手段】この発明に係るプロセッ
サ間通信方法は、同一の処理要求を複数のプロセッサに
送信する場合にその処理要求の中に複数の要求先のプロ
セッサを示すアドレスを挿入しておくようにしたもので
ある。
【0013】
【作用】この発明におけるプロセッサ間通信方法は、シ
ステムコントローラが要求元からの処理要求の中に含ま
れる要求先プロセッサのアドレスを調べ、要求先が複数
あるときは、その全てのプロセッサに処理要求を通知す
る。
【0014】
【実施例】
実施例1.以下、この発明の一実施例を図について説明
する。図1はこの発明の一実施例が適用されるマルチプ
ロセッサシステムを示すブロック図、図2は共有メモリ
1上におけるプロセッサ間通信のデータの待行列への接
続方法の一例を示すブロック図である。図1において、
1は共有メモリ、6は高速バス、100はシステムコン
トローラ、101〜104はプロセッサ(以下CPUと
いう)、110はI/Oコントローラ、111,112
はI/Oコントローラ110に接続された入出力装置で
ある。
【0015】図2において、22aは第1の通信バッフ
ァ、22bは第2の通信バッファ、22cは第3の通信
バッファ、24aは第1の待行列ポインタ、24bは第
2の待行列ポインタ、24cは第3の待行列ポインタ、
26a,26b,26cはメイルボックスである。
【0016】次に動作について説明する。本実施例にお
いては、説明を簡単にするために、プロセッサの数を4
台に限定した例について説明する。図1に示すような、
高速バス6にシステムコントローラ100、第1〜第4
のCPU101〜104、共有メモリ1、I/Oコント
ローラ110が接続されたシステムにおいて、第1〜第
4のCPU101〜104の間でのプロセッサ間通信方
法は以下のように行なわれる。
【0017】すなわち、システムコントローラ100は
全体の制御を行なうもので、CPU101〜104への
仕事の分担、例えば、入出力装置111,112からの
プログラム読込みと、そのプログラムをCPU101〜
104へロードする機能を有する。いま、第1のCPU
101へは仕事A、第2のCPU102へは仕事B、第
3のCPU103へは仕事C、第4のCPU104へは
仕事Dを与えているものとする。
【0018】ここで、仕事AはI/Oコントローラ11
0からの入力データを処理して結果を仕事Bと仕事Cへ
渡し、仕事Bと仕事Cは仕事Aからの入力データを処理
して結果を仕事Dへ渡し、仕事Dは仕事Bおよび仕事C
からの入力データを処理して結果をI/Oコントローラ
110へ渡すものとする。
【0019】システムコントローラ100はCPU10
1〜104からの要求により、共有メモリ1内に処理要
求の待行列を生成する。処理要求元のCPUは、メイル
ボックスの生成をシステムコントローラ100に依頼
し、処理要求先のCPUは、それぞれメイルボックス2
6a〜26cに関する待行列の生成を各々システムコン
トローラ100に依頼する。いま、処理要求元である第
1のCPU101,第2のCPU102および第3のC
PU103よりメイルボックス生成の依頼が行なわれ、
また、処理要求先である第2のCPU102、第3のC
PU103および第4のCPU104より前記メイルボ
ックス26a〜26cに関する待行列の生成の依頼が行
なわれたとする。
【0020】システムコントローラ100の働きによ
り、共有メモリ1内にメイルボックス26a,26b,
26c、これらのメイルボックスに対応する第1,第2
および第3の待行列ポインタ24a,24b,24cが
生成される(待行列構成工程)。
【0021】また、システムコントローラ100は処理
要求(メッセージ)の送信および受信を行なわせる機能
を有する。すなわち、システムコントローラ100はC
PU101〜104からのメッセージ送信要求を受ける
と、そのメッセージを共有メモリ1内の通信バッファ2
2a〜22cに格納する(格納工程)。そしてCPU1
01〜104からの受信要求を受けると、通信バッファ
22a〜22cの内容を取り出し、CPU101〜10
4に与える(伝達工程)。
【0022】次に、動作について、実際のプロセッサ間
通信方法を図2を参照して説明する。第1のCPU10
1上の仕事AがI/Oコントローラ110からの入力デ
ータを処理し、その結果を第2のCPU102および第
3のCPU103へ渡すためにシステムコントローラ1
00に対しメッセージを送信要求する。このとき、第1
のCPU101はメッセージの中に処理要求先である第
2のCPU102と第3のCPU103の論理アドレス
を挿入する(アドレス挿入工程)。そこで、システムコ
ントローラ100は、処理要求先のシステムのアドレス
を調べて、そのメッセージを第1の待行列ポインタ24
aの第1の通信バッファ22aおよび第2の待行列ポイ
ンタ24bの第2の通信バッファ22bに格納する。
【0023】次に、第2のCPU102上の仕事Bがメ
ッセージ受信要求をシステムコントローラ100に対し
て行うと、システムコントローラ100は、第1の待行
列ポインタ24aの第1の通信バッファ22aからメッ
セージを取り出して第2のCPU102へ渡す。メッセ
ージを受け取った第2のCPU102では、仕事Bが上
記メッセージを基に処理を行い、その結果を第4のCP
U104へ渡すためにシステムコントローラ100に対
しメッセージを送信要求する。同様に第3のCPU10
3上の仕事Cもシステムコントローラ100に対してメ
ッセージ受信要求を出してメッセージを受信し、そのメ
ッセージを基に処理を行い、その結果を第4のCPU1
04へ渡すために、システムコントローラ100に対し
てメッセージを送信要求する。
【0024】システムコントローラ100は、第2のC
PU102からのメッセージあるいは第3のCPU10
3からのメッセージを第4のCPU104上の仕事Dへ
渡すために第3の待行列ポインタ24cの第3の通信バ
ッファ22cに格納する。
【0025】次に第4のCPU104の仕事Dがメッセ
ージ受信要求をシステムコントローラ100に対して行
うと、システムコントローラ100は第3の待行列ポイ
ンタ24cの第3の通信バッファ22cからメッセージ
を取り出して、第4のCPU104へ渡す。メッセージ
を受けた第4のCPU104では、仕事Dが上記メッセ
ージを基に処理を行い、その結果をI/Oコントローラ
110へ出力し、続けて第2のCPU102あるいは第
3のCPU103からのメッセージを待つ。
【0026】上述した動作において、システムコントロ
ーラ100は図3に示すような順序で動作する。先ず、
他のCPUからの割込みを検知すると(ステップST
1)、その割込みの種類がどのような要求であるかを判
断する(ステップST2)。その結果、処理要求元のC
PUから処理要求先のCPUへの送信要求であれば、送
信メッセージ中の要求先アドレスを調査し(ステップS
T3)、該当する全ての送信メッセージを待行列にキュ
ーイングする(ステップST4)とともに、処理要求元
CPUに対して当該処理の終了を通知する(ステップS
T5)。
【0027】ステップST2において、割込みが処理要
求先からの受信要求であれば、待行列からメッセージを
取り出し、当該処理要求先のCPUに通知する(ステッ
プST6)。システムコントローラ100は上記処理を
繰り返す。
【0028】このようにして、第1のCPU101から
第2のCPU102および第3のCPU103、第2の
CPU102および第3のCPU103から第4のCP
U104への通信が行われる。
【0029】図4はメッセージにおけるデータフォーマ
ットの一例を示すもので、要求先の複数のCPUのアド
レスと、データ容量を示すデータ数と、データとから成
る。データの部分はデータでも命令でもよく、この部分
はシステムによって自由に決定される。また、CPUア
ドレスの「0」には送信しないものとする。
【0030】図5は待行列ポインタの生成される様子を
示すもので、図5(a)の初期状態では各メイルボック
ス26a,26b,26cには、例えば1,2,3等の
メイルボックス番号が入っている。また、各待行列ポイ
ンタ24a,24b,24cはキューの先頭ポインタを
示しているが、初期状態ではキューイングされているキ
ューがないため、自分自身を示している。
【0031】この状態でメイルボックス26aに対して
待行列の依頼があると、図5(b)に示すように要求先
と対応する第1の通信バッファ22aにメッセージが格
納されると共に、この第1の通信バッファ22aのアド
レスが第1の待行列ポインタ24aに入る。また、通信
バッファ22aのポインタとして第1の待行列ポインタ
24aのアドレスが入る。このようにして順次キューイ
ングが行われ、待行列が生成される。
【0032】実施例2.なお、上記実施例1において
は、複数の処理要求先を指定するときに、処理要求メッ
セージの中に処理要求先アドレスを格納するように構成
したが、これをメイルボックス26a,26b,26c
内に格納するように構成してもよい。図6はその場合の
処理の流れを示す。図6においては、処理要求先のアド
レスをメイルボックス26a間を調べて決定する(ステ
ップST3a)以外の動作は、上記実施例1と同様であ
る。
【0033】
【発明の効果】以上のように、この発明によれば、処理
要求元のプロセッサからの処理要求の中に要求先プロセ
ッサのアドレスを挿入するように構成したので、同一処
理要求を同時に複数のプロセッサに送信する場合、1回
の送信要求で実行することができる。特に同一のデータ
を複数のプロセッサで同一の処理を行い、その結果を比
較するというようなシステムを構成する場合には、プロ
セッサ間の通信効率が向上するという効果がある。
【図面の簡単な説明】
【図1】この発明の一実施例が適用されるマルチプロセ
ッサシステムを示すブロック図である。
【図2】プロセッサ間通信のデータの待行列への接続方
法の一例を説明するためのブロック図である。
【図3】システムの動作を説明するためのフローチャー
ト図である。
【図4】メッセージのデータフォーマットを示す構成図
である。
【図5】待行列が生成される様子を示すブロック図であ
る。
【図6】システムの他の動作を説明するためのフローチ
ャート図である。
【図7】従来のプロセッサ間通信方法が適用されるマル
チプロセッサシステムを示すブロック図である。
【図8】従来方法を説明するための動作及び関連部分を
示すブロック図である。
【符号の説明】
1 共有メモリ 100 システムコントローラ 101〜104 プロセッサ 22a〜22c 通信バッファ 24a〜24c 待行列ポインタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサをシステムコントロー
    ラにより管理する管理工程と、待行列ポインタにより複
    数の通信バッファを順次接続して待行列に構成する待行
    列構成工程と、上記システムコントローラと上記複数の
    プロセッサとによりその内容を参照及び更新する共有メ
    モリに設けられた前記複数の通信バッファに、処理要求
    の要求元プロセッサから要求先プロセッサに伝える処理
    要求の内容を格納する格納工程と、上記要求元プロセッ
    サからの処理要求を上記通信バッファを介して上記要求
    先プロセッサに伝達する伝達工程と、上記要求元プロセ
    ッサが同一の処理要求を複数の要求先プロセッサに伝達
    する際に上記処理要求の中に上記複数の要求先プロセッ
    サのアドレスを挿入するアドレス挿入工程とを備えたプ
    ロセッサ間通信方法。
JP15962093A 1993-06-29 1993-06-29 プロセッサ間通信方法 Pending JPH0773151A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15962093A JPH0773151A (ja) 1993-06-29 1993-06-29 プロセッサ間通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15962093A JPH0773151A (ja) 1993-06-29 1993-06-29 プロセッサ間通信方法

Publications (1)

Publication Number Publication Date
JPH0773151A true JPH0773151A (ja) 1995-03-17

Family

ID=15697703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15962093A Pending JPH0773151A (ja) 1993-06-29 1993-06-29 プロセッサ間通信方法

Country Status (1)

Country Link
JP (1) JPH0773151A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4492778B2 (ja) * 2001-08-30 2010-06-30 豊和工業株式会社 モニタリングシステムにおける通信システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4492778B2 (ja) * 2001-08-30 2010-06-30 豊和工業株式会社 モニタリングシステムにおける通信システム

Similar Documents

Publication Publication Date Title
US5701495A (en) Scalable system interrupt structure for a multi-processing system
JP3208397B2 (ja) 制御要素転送システム
US7234004B2 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
US11341087B2 (en) Single-chip multi-processor communication
JP2007079789A (ja) 計算機システム及びイベント処理方法
EP0644489A2 (en) Method and apparatus for signalling interrupt information in a data processing system
US6061757A (en) Handling interrupts by returning and requeuing currently executing interrupts for later resubmission when the currently executing interrupts are of lower priority than newly generated pending interrupts
JPH0773151A (ja) プロセッサ間通信方法
JP2007052673A (ja) ジョブ管理システム、ジョブ管理方法、及びジョブ管理プログラム
JPH08202566A (ja) プロセス間通信システム
EP0376003A2 (en) Multiprocessing system with interprocessor communications facility
US20090019259A1 (en) Multiprocessing method and multiprocessor system
JP2539436B2 (ja) プロセツサ間通信方式
JPH07325779A (ja) 入出力制御装置
JPH1196108A (ja) 計算機システム及びバス制御装置
JPH0448368A (ja) プロセッサ間通信方式
US7111301B1 (en) Request and completion queue load balancing
JP2005025693A (ja) ベクトル処理装置およびベクトルロード方法
JPH05265955A (ja) 計算機システムとジョブ実行方法
JPH03148747A (ja) プロセッサ間通信方式
JPH04660A (ja) プロセツサ間通信方法
JPH05108582A (ja) 計算機システム
JPH0437947A (ja) プロセッサ間通信方式
JPH056333A (ja) マルチプロセサシステム
JPH0573507A (ja) 電子計算機間メツセージ交信時の救済装置