JP2539436B2 - プロセツサ間通信方式 - Google Patents
プロセツサ間通信方式Info
- Publication number
- JP2539436B2 JP2539436B2 JP14145887A JP14145887A JP2539436B2 JP 2539436 B2 JP2539436 B2 JP 2539436B2 JP 14145887 A JP14145887 A JP 14145887A JP 14145887 A JP14145887 A JP 14145887A JP 2539436 B2 JP2539436 B2 JP 2539436B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- processors
- message
- communication
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、疎結合マルチプロセツサシステムの通信方
式に係わり、特にプロセツサ間通信のCPUオーバヘツド
削減に好適なプロセツサ間通信方式に関する。
式に係わり、特にプロセツサ間通信のCPUオーバヘツド
削減に好適なプロセツサ間通信方式に関する。
プロセツサ毎に独立した主記憶を持つ計算機システム
間の通信方式は、特開昭60−84658のようにチヤネル結
合装置により入出力と同様の方法で通信する方式であつ
た。この方法では、通信に要するプロセツサのオーバヘ
ツドが大きくなるため、主記憶とは異なるが、プロセツ
サの命令により直接アクセス可能な記憶装置を複数プロ
セツサ間で共有し、これを通信バツフアとして用いる方
式がある。特開昭58−56063は、システム監視内に共通
メモリを設け、これをプロセツサごとに分割し通信バツ
フアとする。通信は相手プロセツサに対応する通信バツ
フアにメツセージを格納することによつて相手プロセツ
サに割込みを発生させ、メツセージを転送するものであ
る。
間の通信方式は、特開昭60−84658のようにチヤネル結
合装置により入出力と同様の方法で通信する方式であつ
た。この方法では、通信に要するプロセツサのオーバヘ
ツドが大きくなるため、主記憶とは異なるが、プロセツ
サの命令により直接アクセス可能な記憶装置を複数プロ
セツサ間で共有し、これを通信バツフアとして用いる方
式がある。特開昭58−56063は、システム監視内に共通
メモリを設け、これをプロセツサごとに分割し通信バツ
フアとする。通信は相手プロセツサに対応する通信バツ
フアにメツセージを格納することによつて相手プロセツ
サに割込みを発生させ、メツセージを転送するものであ
る。
また、特開昭60−237566に記載のプロセツサ間通信方
式は、プロセツサ間でメモリを共有し、このメモリの一
部をプロセツサ毎に分割し通信バツフアとして予めアド
レスを決めておく。通信は、相手通信バツフアにメツセ
ージを格納し割込みを通知することによつて、自プロセ
ツサの通信バツフアからメツセージを取出すものであつ
た。
式は、プロセツサ間でメモリを共有し、このメモリの一
部をプロセツサ毎に分割し通信バツフアとして予めアド
レスを決めておく。通信は、相手通信バツフアにメツセ
ージを格納し割込みを通知することによつて、自プロセ
ツサの通信バツフアからメツセージを取出すものであつ
た。
上記従来技術は、複数プロセツサに同一のメツセージ
を同時に転送する時の配慮がされておらず、メツセージ
コピーおよび通信割込みを各プロセツサについて行うた
め、通信のオーバヘツドが大きくなるという問題があつ
た。特に、共有記憶装置は主記憶よりもアクセス時間が
大きく、オーバヘツドの要因となる。
を同時に転送する時の配慮がされておらず、メツセージ
コピーおよび通信割込みを各プロセツサについて行うた
め、通信のオーバヘツドが大きくなるという問題があつ
た。特に、共有記憶装置は主記憶よりもアクセス時間が
大きく、オーバヘツドの要因となる。
本発明の目的は、同一メツセージを複数プロセツサに
転送する時のオーバヘツドを低減することにある。
転送する時のオーバヘツドを低減することにある。
上記目的は、次のような通信バツフアアクセス方式お
よび割込み方式により達成される。
よび割込み方式により達成される。
通信バツフアは、共有記憶上にプロセツサごとに設
け、送信時は自プロセツサの通信バツフアにメツセージ
と受信側プロセツサ数を記録し、 複数プロセツサに同時に割込みを発生させプロセツサ
番号を通知する命令を実行する。
け、送信時は自プロセツサの通信バツフアにメツセージ
と受信側プロセツサ数を記録し、 複数プロセツサに同時に割込みを発生させプロセツサ
番号を通知する命令を実行する。
受信プロセツサは、送信プロセツサの通信バツフアか
らメツセージを読み出し、通信バツフア内のプロセツサ
数から1を引き、自プロセツサの番号を格納する。
らメツセージを読み出し、通信バツフア内のプロセツサ
数から1を引き、自プロセツサの番号を格納する。
通信バツフアをプロセツサごとに設け、複数プロセツ
サへの通信時には、自プロセツサの通信バツフアにメツ
セージを格納するため、メツセージの格納オーバヘツド
は小さくなる。
サへの通信時には、自プロセツサの通信バツフアにメツ
セージを格納するため、メツセージの格納オーバヘツド
は小さくなる。
上記割込み命令を利用するのは、1プロセツサづつ割
込みを発生させるよりもオーバヘツドが小さくなるため
である。
込みを発生させるよりもオーバヘツドが小さくなるため
である。
受信プロセツサは、送信プロセツサの番号から通信バ
ツフアのアドレスを知ることができ、メツセージを読み
出すことができる。
ツフアのアドレスを知ることができ、メツセージを読み
出すことができる。
通信バツフア中のプロセツサ数を1づつ引くのは、メ
ツセージが受信プロセツサ全部に読み取られたことを、
この値が0になつたことにより判定するためである。ま
た、障害によりメツセージを読み取れないプロセツサを
認識するために、メツセージを読み取つたプロセツサの
番号を記録しておく。障害が発生したか否かは、一定時
間後も、通信バツフア中のプロセツサ数が0にならず、
プロセツサ番号の登録がないことから障害プロセツサを
特定できる。
ツセージが受信プロセツサ全部に読み取られたことを、
この値が0になつたことにより判定するためである。ま
た、障害によりメツセージを読み取れないプロセツサを
認識するために、メツセージを読み取つたプロセツサの
番号を記録しておく。障害が発生したか否かは、一定時
間後も、通信バツフア中のプロセツサ数が0にならず、
プロセツサ番号の登録がないことから障害プロセツサを
特定できる。
以下、本発明の一実施例を第1図から第5図により説
明する。
明する。
第1図は、本実施例におけるシステム構成を示すもの
である。第1図において、プロセツサa200aからプロセ
ツサc200cは、共有メモリ制御装置300を介して共有メモ
リ400を共有している。また、これらプロセツサは、割
込み制御装置100に接続され、相互に割込みを発生でき
るようになつている。共有メモリには、通信バツフア41
0をプロセツサ対応に設ける。通信バツフアは、メツセ
ージ格納領域411とプロセツサカウンタ412より成る。
である。第1図において、プロセツサa200aからプロセ
ツサc200cは、共有メモリ制御装置300を介して共有メモ
リ400を共有している。また、これらプロセツサは、割
込み制御装置100に接続され、相互に割込みを発生でき
るようになつている。共有メモリには、通信バツフア41
0をプロセツサ対応に設ける。通信バツフアは、メツセ
ージ格納領域411とプロセツサカウンタ412より成る。
プロセツサ間通信は、送信側プロセツサが自通信バツ
フアにメツセージを格納し、相手プロセツサに割込み制
御装置からの割込みを発生させ、相手プロセツサが、メ
ツセージを読むことによつて達成される。
フアにメツセージを格納し、相手プロセツサに割込み制
御装置からの割込みを発生させ、相手プロセツサが、メ
ツセージを読むことによつて達成される。
第2図から第4図は割込み制御装置の機能および動作
を示すものである。
を示すものである。
第2図は、プロセツサが実行する命令を示す。511
は、命令コード、R1(512)は第1オペランドにて汎用
レジスタを指定することを表わし、R2(513)は第2オ
ペランドに汎用レジスタを指定することを表わす。
は、命令コード、R1(512)は第1オペランドにて汎用
レジスタを指定することを表わし、R2(513)は第2オ
ペランドに汎用レジスタを指定することを表わす。
第3図は、割込みを発生させる命令を示すものであ
る。SIGNAL命令コード521のオペランドにA1(522),A2
(523)のレジスタを指定する時、A1には、機能コード
を、A2にはプロセツサ番号を設定する。機能コードとは
ソフトウエアで使用する番号であり、これにより通信バ
ツフアがなくとも、基本的な通信が可能になる。プロセ
ツサ番号は、複数のプロセツサに同時に通信できるよ
う、プロセツサ番号に対応するビツト位置をオンにす
る。この方式により、1台から全プロセツサへの同時割
込みを容易に指定できる。
る。SIGNAL命令コード521のオペランドにA1(522),A2
(523)のレジスタを指定する時、A1には、機能コード
を、A2にはプロセツサ番号を設定する。機能コードとは
ソフトウエアで使用する番号であり、これにより通信バ
ツフアがなくとも、基本的な通信が可能になる。プロセ
ツサ番号は、複数のプロセツサに同時に通信できるよ
う、プロセツサ番号に対応するビツト位置をオンにす
る。この方式により、1台から全プロセツサへの同時割
込みを容易に指定できる。
第4図は、割込み制御装置100の概要を示すものであ
る。あるプロセツサがSIGNAL命令を実行すると、機能コ
ードおよびプロセツサ番号はそれぞれ112,120に格納さ
れる。また、SIGNAL命令を実行したプロセツサの番号は
111に格納される。プロセツサ番号の各ビツトは、論理
積回路130aから130cの入力となり、ビツトがオンである
プロセツサに対して、送信元プロセツサアドレスと機能
コード112が割込みと共にプロセツサに通知される。
る。あるプロセツサがSIGNAL命令を実行すると、機能コ
ードおよびプロセツサ番号はそれぞれ112,120に格納さ
れる。また、SIGNAL命令を実行したプロセツサの番号は
111に格納される。プロセツサ番号の各ビツトは、論理
積回路130aから130cの入力となり、ビツトがオンである
プロセツサに対して、送信元プロセツサアドレスと機能
コード112が割込みと共にプロセツサに通知される。
このようにして、複数プロセツサへの同時割込みが行
われる。
われる。
第5図は、通信方式の流れ図を示すものである。送信
610は、まずプロセツサカウンタ412が0が否かを調べる
611。0でない場合は、前のメツセージがまだすべての
受信プロセツサに読まれていないため消去できない。そ
のため、612にてWAITする。
610は、まずプロセツサカウンタ412が0が否かを調べる
611。0でない場合は、前のメツセージがまだすべての
受信プロセツサに読まれていないため消去できない。そ
のため、612にてWAITする。
プロセツサカウンタが0である場合は、メツセージを
格納し613、相手プロセツサ数をプロセツサカウンタ412
に格納する614。そして、相手プロセツサ番号を指定
し、SIGNAL命令を実行する。
格納し613、相手プロセツサ数をプロセツサカウンタ412
に格納する614。そして、相手プロセツサ番号を指定
し、SIGNAL命令を実行する。
次に受信620の場合を説明する。SIGNAL命令による割
込みが発生すると、前記命令の実行プロセツサの番号が
通信されるため、これから、相手プロセツサの通信バツ
フアアドレスを求める621。次に、メツセージを読み62
2、プロセツサカウンタを1減ずる623。この値が0にな
つたかを判断し623、もし0ならば、送信プロセツサが6
12にてWAITしている可能性があるため、SIGNAL命令を送
信プロセツサに対して実行する625。この時、機能コー
ドに612のWAITに対するPOSTである旨のコードを指定す
る。機能コードを使うのは、通信バツフアを利用すると
デツドロツクが発生する可能性があるからである。
込みが発生すると、前記命令の実行プロセツサの番号が
通信されるため、これから、相手プロセツサの通信バツ
フアアドレスを求める621。次に、メツセージを読み62
2、プロセツサカウンタを1減ずる623。この値が0にな
つたかを判断し623、もし0ならば、送信プロセツサが6
12にてWAITしている可能性があるため、SIGNAL命令を送
信プロセツサに対して実行する625。この時、機能コー
ドに612のWAITに対するPOSTである旨のコードを指定す
る。機能コードを使うのは、通信バツフアを利用すると
デツドロツクが発生する可能性があるからである。
本実施例によれば、任意プロセツサ数への同時割込み
を容易に実現できる。また、通信バツフアか使用できな
い時は、WAITすることによつて他の処理を実行き、プロ
セツサの効率を下げずに済む。さらに、機能コードを用
いることにより、デツドロツクを防止できるという効果
がある。
を容易に実現できる。また、通信バツフアか使用できな
い時は、WAITすることによつて他の処理を実行き、プロ
セツサの効率を下げずに済む。さらに、機能コードを用
いることにより、デツドロツクを防止できるという効果
がある。
本発明によれば、複数プロセツサへの同時割込み、お
よび、通信バツフアに1度だけ、メツセージを格納する
ので、同一メツセージを複数プロセツサに同時に転送す
る時のオーバヘツドを小さくできるという効果がある。
よび、通信バツフアに1度だけ、メツセージを格納する
ので、同一メツセージを複数プロセツサに同時に転送す
る時のオーバヘツドを小さくできるという効果がある。
第1図は本発明の一実施例であるシステムの構成図、第
2図,第3図はプロセツサへの割込み命令を示す図、第
4図は、割込み制御装置の詳細図および第5図は、プロ
セツサ間通信の流れ図を示す図である。 100……割込み制御装置、200……プロセツサ、400……
共有メモリ、410……通信バツフア、411……メツセージ
格納領域、412……プロセツサカウンタ。
2図,第3図はプロセツサへの割込み命令を示す図、第
4図は、割込み制御装置の詳細図および第5図は、プロ
セツサ間通信の流れ図を示す図である。 100……割込み制御装置、200……プロセツサ、400……
共有メモリ、410……通信バツフア、411……メツセージ
格納領域、412……プロセツサカウンタ。
Claims (4)
- 【請求項1】プロセッサから直接アクセスすることの可
能な記憶装置を複数のプロセッサが共有する計算機シス
テムのプロセッサ間通信方式において、メッセージを送
信しようとする送信元プロセッサにより、前記記憶装置
に設けられた通信バッファに送信すべきメッセージ、及
び該メッセージを受信すべきプロセッサ数を設定し、前
記送信元プロセッサから前記メッセージを受信すべき複
数の受信先プロセッサに同時に割込みを発生し、前記受
信先プロセッサの各々では、前記割込みに応じて前記通
信バッファから前記メッセージを読み込み、前記通信バ
ッファに設定された受信すべきプロセッサの数を更新す
ることを特徴とするプロセッサ間通信方式。 - 【請求項2】前記受信先プロセッサの各々は、前記受信
すべきプロセッサ数を更新する際、自プロセッサを識別
するための情報を前記バッファに格納することを特徴と
する特許請求の範囲第1項記載のプロセッサ間通信方
式。 - 【請求項3】前記通信バッファは、前記プロセッサの各
々に対応して設けられており、前記送信元プロセッサ
は、自己に対応する通信バッファに前記メッセージ、及
び前記受信すべきプロセッサ数を格納することを特徴と
する特許請求の範囲第1項または第2項記載のプロセッ
サ間通信方式。 - 【請求項4】前記送信元プロセッサは、前記割込みを発
生する際、自プロセッサを識別するための情報を前記送
信先プロセッサのそれぞれに通知し、前記送信先プロセ
ッサの各々は、通知された情報に基づいて送信元プロセ
ッサを識別し、該送信元プロセッサに対応する前記通信
バッファから前記メッセージを読み込むことを特徴とす
る特許請求の範囲第3項記載のプロセッサ間通信方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14145887A JP2539436B2 (ja) | 1987-06-08 | 1987-06-08 | プロセツサ間通信方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14145887A JP2539436B2 (ja) | 1987-06-08 | 1987-06-08 | プロセツサ間通信方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63305450A JPS63305450A (ja) | 1988-12-13 |
JP2539436B2 true JP2539436B2 (ja) | 1996-10-02 |
Family
ID=15292364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14145887A Expired - Fee Related JP2539436B2 (ja) | 1987-06-08 | 1987-06-08 | プロセツサ間通信方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2539436B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2409303B (en) | 2003-12-18 | 2006-10-18 | Advanced Risc Mach Ltd | Inter-processor communication mechanism |
JP5331898B2 (ja) * | 2009-11-12 | 2013-10-30 | 富士通株式会社 | 並列計算用の通信方法、情報処理装置およびプログラム |
WO2011058639A1 (ja) * | 2009-11-12 | 2011-05-19 | 富士通株式会社 | 通信方法、情報処理装置及びプログラム |
-
1987
- 1987-06-08 JP JP14145887A patent/JP2539436B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPS63305450A (ja) | 1988-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0194462B1 (en) | System bus means for inter-processor communication | |
US20030110336A1 (en) | Method and apparatus for interrupt redirection for arm processors | |
EP1011052A2 (en) | Shared memory type vector processing system and control method thereof | |
JPH01142963A (ja) | バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法 | |
EP0306043B1 (en) | Storage of input/output command timeout and acknowledge responses | |
US5204954A (en) | Remote storage management mechanism and method | |
JPH02230455A (ja) | 外部記憶装置の割込み制御方式 | |
JP2539436B2 (ja) | プロセツサ間通信方式 | |
JPH09198361A (ja) | マルチプロセッサシステム | |
EP0578496B1 (en) | Job execution method in multi-CPU system | |
JPH0666061B2 (ja) | マルチcpu通信装置 | |
KR20020067752A (ko) | 코프로세서 방식의 원칩 비동기 마이크로 프로세서 간의인터페이스 회로 | |
JPH10198644A (ja) | 同期制御方法およびマルチプロセッサシステム | |
JP2636206B2 (ja) | 情報処理システム | |
JPS6061859A (ja) | マイクロコンピュ−タのデ−タ通信方式 | |
JP2001236238A (ja) | 割込処理方法 | |
JP3316739B2 (ja) | 装置間インタフェース制御方式 | |
JPH056333A (ja) | マルチプロセサシステム | |
JP3056169B2 (ja) | データ送受信方式とその方法 | |
JP2856709B2 (ja) | バス間結合システム | |
JPS5834858B2 (ja) | デ−タ交換制御方式 | |
JPH0644190A (ja) | マルチプロセッサ方式 | |
JPH07234850A (ja) | マルチプロセッサの装置と方法 | |
JPS61165160A (ja) | バス制御方式 | |
JPH0346052A (ja) | プロセツサ間通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |