JPS63305450A - Inter-processor communication system - Google Patents

Inter-processor communication system

Info

Publication number
JPS63305450A
JPS63305450A JP14145887A JP14145887A JPS63305450A JP S63305450 A JPS63305450 A JP S63305450A JP 14145887 A JP14145887 A JP 14145887A JP 14145887 A JP14145887 A JP 14145887A JP S63305450 A JPS63305450 A JP S63305450A
Authority
JP
Japan
Prior art keywords
processor
message
processors
communication
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.)
Granted
Application number
JP14145887A
Other languages
Japanese (ja)
Other versions
JP2539436B2 (en
Inventor
Hisashi Katada
片田 久
Katsumi Takeda
竹田 克己
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP14145887A priority Critical patent/JP2539436B2/en
Publication of JPS63305450A publication Critical patent/JPS63305450A/en
Application granted granted Critical
Publication of JP2539436B2 publication Critical patent/JP2539436B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/161Computing 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)

Abstract

PURPOSE:To reduce overhead at the time of simultaneous transfer of the same message to plural processors by storing a message and the number of receiving processors at the tie of transmission, and at the time of reception, reading out the message and then updating a processor counter. CONSTITUTION:Communication buffers 410 are formed in a common memory 400 correspondingly to respective processors 200a-200c. At the time of transmission, a message and the number of receiving processors are recorded in the communication buffer 410 of a self processor, an interruption is simultaneously generated in plural processors and an instruction for informing processor numbers is executed. The receiving processor reads out a message from the communication buffer 410 of the transmitting processor, subtracts '1' from the number of processors stored in the buffer 410 and stores the processor No. of the self processor. Since the communication buffer 410 is formed in each processor, and at the time of communication to plural processors, a message is stored in the communication buffer of the self-processor, message storage overhead can be reduced.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、疎結合マルチプロセッサシステムの通信方式
に係わり、特にプロセッサ間通信のCPUオーバヘッド
削減に好適なプロセッサ間通信方式〔従来の技術〕 プロセッサ毎に独立した主記憶を持つ計算機システム間
の通信方式は、特開昭60−84658のようにチャネ
ル結合装置により入出力と同様の方法で通信する方式で
あった。この方法では1通信に要するプロセッサのオー
バヘッドが大きくなるため。
DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] The present invention relates to a communication method for a loosely coupled multiprocessor system, and in particular, an inter-processor communication method suitable for reducing CPU overhead in inter-processor communication [Prior art] Processor The communication method between computer systems each having an independent main memory was to communicate using a channel coupling device in the same way as input/output, as in Japanese Patent Laid-Open No. 60-84658. This method requires a large processor overhead for one communication.

主記憶とは異なるが、プロセッサの命令により直接アク
セス可能な記憶装置を複数プロセッサ間で共有し、これ
を通信バッファとして用いる方式がある。特開昭58−
56063は、システム監視内に共通メモリを設け、こ
れをプロセッサごとに分割し通信バッファとする。通信
は相手プロセッサに対応する通信バッファにメツセージ
を格納することによって相手プロセッサに割込みを発生
させ、メッセージを転送するものである。
Although different from main memory, there is a method in which a storage device that can be directly accessed by processor instructions is shared among multiple processors and used as a communication buffer. Japanese Patent Application Publication No. 1983-
56063 provides a common memory within the system monitor, and divides this memory for each processor to use as a communication buffer. Communication involves storing a message in a communication buffer corresponding to the other processor, causing an interrupt to the other processor, and transferring the message.

また、特開昭60−237566に記載のプロセッサ間
通信方式は、プロセッサ間でメモリを共有し、このメモ
リの一部をプロセッサ毎に分割し通信バッファとして予
めアドレスを決めておく1通信は、相手通信バッファに
メツセージを格納し割込みを通知することによって、自
プロセッサの通信バッファからメツセージを取出すもの
であった。
In addition, in the inter-processor communication method described in JP-A-60-237566, a memory is shared between processors, and a part of this memory is divided for each processor and used as a communication buffer with a predetermined address. The message was retrieved from the communication buffer of its own processor by storing the message in the communication buffer and notifying an interrupt.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来技術は、複数プロセッサに同一のメツセージを
同時に転送する時の配慮がされておらず。
The above-mentioned conventional technology does not take into consideration the case where the same message is simultaneously transferred to multiple processors.

メツセージコピーおよび通信割込みを各プロセッサにつ
いて行うため、通信のオーバヘッドが大きくなるという
問題があった。特に、共有記憶装置は主記憶よりもアク
セス時間が大きく、オーバヘッドの要因となる。
Since message copying and communication interrupts are performed for each processor, there is a problem in that communication overhead becomes large. In particular, shared storage devices take longer to access than main storage, which causes overhead.

本発明の目的は、同一メツセージを複数プロセッサに転
送する時のオーバヘッドを低減することにある。
An object of the present invention is to reduce the overhead when transferring the same message to multiple processors.

〔問題点を解決するための手段〕 上記目的は、次のような通信バッファアクセス方式およ
び割込み方式により達成される。
[Means for Solving the Problems] The above object is achieved by the following communication buffer access method and interrupt method.

通信バッファは、共有記憶上にプロセッサごとに設け、
送信時は自プロセッサの通信バッファにメツセージと受
信側プロセッサ数を記録し、複数プロセッサに同時に割
込みを発生させプロセッサ番号を通知する命令を実行す
る。
A communication buffer is provided for each processor on shared memory,
When sending, it records the message and the number of receiving processors in its own processor's communication buffer, and executes an instruction to simultaneously generate interrupts to multiple processors and notify them of their processor numbers.

受信プロセッサは、送信プロセッサの通信バッファから
メツセージを読み出し、通信バッファ内のプロセッサ数
から1を引き、自プロセッサの番号を格納する。
The receiving processor reads the message from the communication buffer of the transmitting processor, subtracts 1 from the number of processors in the communication buffer, and stores the number of its own processor.

〔作用〕[Effect]

通信バッファをプロセッサごとに設け、複数プロセッサ
への通信時には、自プロセッサの通信バッファにメツセ
ージを格納するため、メツセージの格納オーバヘッドは
小さくなる。
A communication buffer is provided for each processor, and when communicating with multiple processors, the message is stored in the communication buffer of the processor itself, so the message storage overhead is reduced.

上記割込み命令を利用するのは、1プロセツサづつ割込
みを発生させるよりもオーバヘッドが小さくなるためで
ある。
The reason why the above-mentioned interrupt instructions are used is that the overhead is smaller than when interrupts are generated for each processor.

受信プロセッサは、送信プロセッサの番号から通信バッ
ファのアドレスを知ることができ、メツセージを読み出
すことができる。
The receiving processor can know the address of the communication buffer from the number of the transmitting processor and can read the message.

通信バッファ中のプロセッサ数を1づつ引くのは、メツ
セージが受信プロセッサ全部に読み取られたことを、こ
の値が0になったことにより判定するためである。また
、障害によりメツセージを読み取れないプロセッサを!
!識するために、メツセージを読み取ったプロセッサの
番号を記録しておく。障害が発生したか否かは、一定時
間後も、通信バッファ中のプロセッサ数がOにならず、
プロセッサ番号の登録がないことから障害プロセッサを
特定できる。
The reason why the number of processors in the communication buffer is subtracted by 1 is to determine that the message has been read by all receiving processors when this value becomes 0. Also, a processor that cannot read messages due to a failure!
! To identify the message, record the number of the processor that read the message. Whether a failure has occurred or not is determined by the fact that the number of processors in the communication buffer does not reach O even after a certain period of time.
The faulty processor can be identified because the processor number is not registered.

〔実施例〕〔Example〕

以下1本発明の一実施例を第1図から第5図により説明
する。
An embodiment of the present invention will be described below with reference to FIGS. 1 to 5.

第1図は、本実施例におけるシステム構成を示すもので
ある。第1図において、プロセッサa200aからプロ
セッサc200cは、共有メモリ制御装置300を介し
て共有メモリ400を共有している。また、これらプロ
セッサは1割込み制御装置100に接続され、相互に割
込みを発生できるようになっている。共有メモリには、
通信バッファ410をプロセッサ対応に設ける0通信バ
ッファは、メツセージ格納領域411とプロセッサカウ
ンタ412より成る。
FIG. 1 shows the system configuration in this embodiment. In FIG. 1, processors a 200a to c 200c share a shared memory 400 via a shared memory control device 300. Further, these processors are connected to one interrupt control device 100 so that they can mutually generate interrupts. The shared memory has
The communication buffer 410 provided corresponding to the processor consists of a message storage area 411 and a processor counter 412.

プロセッサ間通信は、送信側プロセッサが自通信バッフ
ァにメツセージを格納し、相手プロセッサに割込み制御
装置からの割込みを発生させ、相手プロセッサが、メツ
セージを読むことによって達成される。
Inter-processor communication is achieved by the sending processor storing a message in its own communication buffer, causing the other processor to generate an interrupt from an interrupt control device, and the other processor reading the message.

第2図から第4図は割込み制御装置の機能および動作を
示すものである。
2 to 4 show the functions and operations of the interrupt control device.

第2図は、プロセッサが実行する命令を示す6511は
、命令コード、R1(512)は第1オペランドにて汎
用レジスタを指定することを表わし、R2(513)は
第2オペランドに汎用レジスタを指定することを表わす
In Figure 2, 6511 indicates an instruction to be executed by the processor, the instruction code, R1 (512) indicates that the first operand specifies a general-purpose register, and R2 (513) indicates that the second operand specifies a general-purpose register. It means to do something.

第3図は、割込みを発生させる命令を示すものである。FIG. 3 shows an instruction for generating an interrupt.

5IGNAL命令コード521のオペランドにAl (
52?、)、A、2 (523)のレジスタを指定する
時、Atには、機能コードを、A2にはプロセッサ番号
を設定する。機能コードとはソフトウェアで使用する番
号であり、これにより通信バッファがなくとも、基本的
な通信が可能になる。
5IGNAL instruction code 521 operand is Al (
52? , ), A,2 (523), the function code is set in At and the processor number is set in A2. A function code is a number used by software, and allows basic communication even without a communication buffer.

プロセッサ番号は、複数のプロセッサに同時に通信でき
るよう、プロセッサ番号に対応するビット位置をオンに
する。この方式により、1台から全プロセッサへの同時
割込みを容易に指定できる。
The processor number turns on the bit position corresponding to the processor number so that multiple processors can be communicated to simultaneously. This method makes it easy to specify simultaneous interrupts from one processor to all processors.

第4図は、割込み制御装置100の概要を示すものであ
る。あるプロセッサが5IGNAL命令を実行すると、
機能コードおよびプロセッサ番号はそれぞれ112,1
20に格納される。また、5IGNAL命令を実行した
プロセッサの番号は111に格納される。プロセッサ番
号の各ビットは、論理積回路130aから130cの入
力となり、ビットがオンであるプロセッサに対して、送
信元プロセッサアドレスと機能コード112が割込みと
共にプロセッサに通知される。
FIG. 4 shows an overview of the interrupt control device 100. When a processor executes the 5IGNAL instruction,
Function code and processor number are 112 and 1 respectively
20. Further, the number of the processor that executed the 5IGNAL instruction is stored in 111. Each bit of the processor number becomes an input to AND circuits 130a to 130c, and for processors whose bits are on, the source processor address and function code 112 are notified to the processor along with an interrupt.

このようにして、複数プロセッサへの同時割込みが行わ
れる。
In this way, simultaneous interrupts to multiple processors are performed.

第5図は、通信方式の流れ図を示すものである。FIG. 5 shows a flowchart of the communication method.

送信610は、まずプロセッサカウンタ412が0か否
かを調べる611.0でない場合は、前のメツセージが
まだすべての受信プロセッサに読まれていないため消去
できない、そのため、612にてWAITする。
The transmission 610 first checks whether the processor counter 412 is 0 or not 611. If it is not 0, the previous message cannot be deleted because it has not been read by all receiving processors yet, so a WAIT is performed at 612.

プロセッサカウンタがOである場合は、メツセージを格
納し613、相手プロセッサ数をプロセッサカウンタ4
12に格納する614゜そして、相手プロセッサ番号を
指定し、 5IGNAL命令を実行する。
If the processor counter is O, the message is stored 613, and the number of partner processors is stored in the processor counter 4.
12 614° Then, specify the target processor number and execute the 5IGNAL command.

次に受信620の場合を説明する。 5IGNAI、命
令による割込みが発生すると、前記命令の実行プロセッ
サの番号が通信されるため、これから、相手プロセッサ
の通信バッファアドレスを求める621゜次に、メツセ
ージを読み622、プロセッサカウンタを1減する62
3゜この値が0になったかを判断し623、もし0なら
ば、送信プロセッサが612にてWA I T してい
る可能性があるため、5IGNAL命令を送信プロセッ
サに対して実行する625、この時、機能コードに61
2のWAITに対するPO8Tである旨のコードを指定
する。
Next, the case of reception 620 will be explained. 5IGNAI, when an interrupt occurs due to an instruction, the number of the processor executing the instruction is communicated, so the communication buffer address of the other processor is determined from this 621° Next, the message is read 622 and the processor counter is decremented by 1 62
3. Determine whether this value has become 0 (623). If it is 0, the transmitting processor may be WAIT at 612, so execute the 5IGNAL command to the transmitting processor (625). When the function code is 61
Specify a code indicating that it is PO8T for WAIT 2.

機能コードを使うのは、通信バッファを利用するとデッ
ドロックが発生する可能性があるからである。
The reason for using function codes is that using communication buffers can lead to deadlock.

本実施例によれば、任意プロセッサ数への同時割込みを
容易に実現できる。また1通信バッファが使用できない
時は、WAITすることによって他の処理を実行き、プ
ロセッサの効率を下げずに済む、さらに、機能コードを
用いることにより、デッドロックを防止できるという効
果がある。
According to this embodiment, simultaneous interrupts to any number of processors can be easily realized. Furthermore, when one communication buffer cannot be used, WAIT allows other processing to be executed without lowering the efficiency of the processor.Furthermore, by using function codes, deadlock can be prevented.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、複数プロセッサへの同時割込み、およ
び、通信バッファに1度だけ、メツセージを格納するの
で、同一メツセージを複数プロセッサに同時に転送する
時のオーバヘッドを小さくできるという効果がある。
According to the present invention, since a message is simultaneously interrupted to multiple processors and stored in the communication buffer only once, it is possible to reduce the overhead when transferring the same message to multiple processors at the same time.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例であるシステムの構成図、第
2図、第3図はプロセッサへの割込み命令を示す図、第
4図は1割込み制御装置の詳細図および第5図は、プロ
セッサ間通信の流れ図を示す図である。 100・・・割込み制御装置、200・・・プロセッサ
。 400・・・共有メモリ、410・・・通信バッファ、
411・・・メツセージ格納領域、412・・・プロセ
ッサカウンタ。
FIG. 1 is a block diagram of a system that is an embodiment of the present invention, FIGS. 2 and 3 are diagrams showing interrupt instructions to the processor, FIG. 4 is a detailed diagram of one interrupt control device, and FIG. , is a diagram showing a flowchart of inter-processor communication. 100... Interrupt control device, 200... Processor. 400... shared memory, 410... communication buffer,
411...Message storage area, 412...Processor counter.

Claims (1)

【特許請求の範囲】 1、プロセッサからの命令により直接アクセス可能な記
憶装置を複数プロセッサが共有する計算機システムにお
いて、複数のプロセッサに同時に割込みを発生させ、送
信元のプロセッサ番号を通知する命令を有し、上記記憶
装置にプロセッサごとに通信バッファを設け、上記通信
バッファにメッセージ格納領域とプロセッサカウンタ領
域を設け、送信時には、メッセージと受信プロセッサ数
を通信バッファに格納し、受信時には、メッセージ読み
取り後、プロセッサカウンタを更新することを特徴とす
るプロセッサ間通信方式。 2、受信プロセッサが上記メッセージを読み取った後、
当該受信プロセッサの識別子を前記通信バッファに格納
することを特徴とする特許請求の範囲第1項記載のプロ
セッサ間通信方式。
[Claims] 1. In a computer system in which multiple processors share a storage device that can be directly accessed by instructions from the processors, the present invention has an instruction that simultaneously generates interrupts to multiple processors and notifies them of the processor number of the sender. , a communication buffer is provided for each processor in the storage device, a message storage area and a processor counter area are provided in the communication buffer, and at the time of transmission, the message and the number of receiving processors are stored in the communication buffer, and at the time of reception, after reading the message, the processor An inter-processor communication method characterized by updating a counter. 2. After the receiving processor reads the above message,
2. The inter-processor communication system according to claim 1, wherein an identifier of the receiving processor is stored in the communication buffer.
JP14145887A 1987-06-08 1987-06-08 Communication method between processors Expired - Fee Related JP2539436B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14145887A JP2539436B2 (en) 1987-06-08 1987-06-08 Communication method between processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14145887A JP2539436B2 (en) 1987-06-08 1987-06-08 Communication method between processors

Publications (2)

Publication Number Publication Date
JPS63305450A true JPS63305450A (en) 1988-12-13
JP2539436B2 JP2539436B2 (en) 1996-10-02

Family

ID=15292364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14145887A Expired - Fee Related JP2539436B2 (en) 1987-06-08 1987-06-08 Communication method between processors

Country Status (1)

Country Link
JP (1) JP2539436B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599998B2 (en) 2003-12-18 2009-10-06 Arm Limited Message handling communication between a source processor core and destination processor cores
WO2011058639A1 (en) * 2009-11-12 2011-05-19 富士通株式会社 Communication method, information processing device, and program
WO2011058640A1 (en) * 2009-11-12 2011-05-19 富士通株式会社 Communication method, information processor, and program for parallel computation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599998B2 (en) 2003-12-18 2009-10-06 Arm Limited Message handling communication between a source processor core and destination processor cores
WO2011058639A1 (en) * 2009-11-12 2011-05-19 富士通株式会社 Communication method, information processing device, and program
WO2011058640A1 (en) * 2009-11-12 2011-05-19 富士通株式会社 Communication method, information processor, and program for parallel computation
JP5331898B2 (en) * 2009-11-12 2013-10-30 富士通株式会社 Communication method, information processing apparatus, and program for parallel computation
JP5331897B2 (en) * 2009-11-12 2013-10-30 富士通株式会社 COMMUNICATION METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM

Also Published As

Publication number Publication date
JP2539436B2 (en) 1996-10-02

Similar Documents

Publication Publication Date Title
US5047917A (en) Apparatus for intrasystem communications within a binary n-cube including buffer lock bit
JP3807250B2 (en) Cluster system, computer and program
US6415332B1 (en) Method for handling of asynchronous message packet in a multi-node threaded computing environment
US11341087B2 (en) Single-chip multi-processor communication
US6385659B1 (en) Handling of asynchronous message packet in a multi-node threaded computing environment
JPS63305450A (en) Inter-processor communication system
EP0267974B1 (en) Control interface for transferring data between a data processing unit and input/output devices
JP4592944B2 (en) CPU interface circuit
JPS61165170A (en) Bus controlling system
JPS6126706B2 (en)
JPS63118949A (en) Information processor
JPS6182244A (en) Inter-task data transmitting and receiving system
JPH09269936A (en) Remote reading processing method and device therefor
JP3421492B2 (en) Bus stack monitoring method
JP2856709B2 (en) Bus coupling system
JPH0256662A (en) Memory protecting system
JPH103463A (en) Inter-processor communication method
JPS62156756A (en) Floating interruption processing method
JPS626329A (en) Data transfer circuit
JP2965133B2 (en) Processor system
JP3056169B2 (en) Data transmission / reception method and method
JPH0346052A (en) Inter-processor communication method
JPH0338764A (en) Information processor
JPH0414378B2 (en)
JPH0342762A (en) Inter-processor communication method for multiprocessor system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees