JP3457432B2 - Method of communication between processors and processor used therefor - Google Patents
Method of communication between processors and processor used thereforInfo
- Publication number
- JP3457432B2 JP3457432B2 JP18873495A JP18873495A JP3457432B2 JP 3457432 B2 JP3457432 B2 JP 3457432B2 JP 18873495 A JP18873495 A JP 18873495A JP 18873495 A JP18873495 A JP 18873495A JP 3457432 B2 JP3457432 B2 JP 3457432B2
- Authority
- JP
- Japan
- Prior art keywords
- header
- message
- address
- value
- memory
- 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
Landscapes
- Multi Processors (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、CPU(中央処理ユニ
ット)と、メモリと、受信装置および送信装置を有する
プロセッサ間の通信装置とを備え、プロセッサ間ネット
ワークにより接続される複数のプロセッサの間の通信に
ついての方法および装置に関し、特に、複数のUP(ユ
ーザプロセス)によるメッセージの送信処理要求に対し
て送信処理速度を改善し、かつ、送信処理を安全にでき
るプロセッサ間通信の方法および装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention includes a CPU (Central Processing Unit), a memory, and a communication device between processors having a receiving device and a transmitting device, and between a plurality of processors connected by an interprocessor network. And a device for communication between the processors, and more particularly, to a method and a device for inter-processor communication that can improve the transmission processing speed in response to message transmission processing requests by a plurality of UPs (user processes) and can secure the transmission processing. .
【0002】[0002]
【従来の技術】従来、この種のプロセッサ間通信の方法
および装置では、プロセッサ内にプロセッサ間通信の装
置を備え、この送信装置がCPUによる処理動作のバッ
クアップを受け、複数のプロセッサを接続するネットワ
ークを介してプロセッサ間の通信を行なっている。2. Description of the Related Art Conventionally, in this type of interprocessor communication method and apparatus, a network is provided in which a processor is provided with an interprocessor communication apparatus, and this transmission apparatus receives a backup of processing operation by a CPU and connects a plurality of processors. Communication between the processors is performed via.
【0003】従来のプロセッサ内の通信装置とCPUと
のインタフェースにおいては、通信装置内のコマンドバ
ッファにCPUがコマンドを書き込むことにより、メッ
セージの送信処理を開始するという方法が採られている
ものがある。Some conventional interfaces between a communication device in a processor and a CPU employ a method of starting message transmission processing by the CPU writing a command in a command buffer in the communication device. .
【0004】この方式では、CPUが1つのメッセージ
を送信依頼した後、次に送信依頼を行なう際に、コマン
ドバッファ内のコマンドの処理の終了を知るため、送信
装置内の状態レジスタを読みに行く必要がある。According to this method, when the CPU requests the transmission of one message and then requests the next transmission, in order to know the end of the processing of the command in the command buffer, the status register in the transmitter is read. There is a need.
【0005】また、UP(ユーザプロセス)からのメッ
セージの送信を処理する場合、UPがOSに対してシス
テムコールすることにより、OSがUPに代わってメッ
セージヘッダを作成し、通信装置を使用して通信を行な
う方式がある。Further, when processing a message transmission from UP (user process), the UP makes a system call to the OS so that the OS creates a message header on behalf of the UP and uses the communication device. There is a method of communicating.
【0006】この方式では、UPからOSへのプロセス
切り替え処理が発生し、このプロセス切り替え処理時の
レジスタの待避と回復の処理とがプロセッサ間の通信に
対してオーバヘッドの一要因となる。特に、短いメッセ
ージを多数送信するような場合には、このオーバヘッド
が顕著になり、通信処理に悪影響を及ぼす。In this method, a process switching process from the UP to the OS occurs, and the process of saving the register and the process of recovering the process during the process switching process become one of the overhead factors for the communication between the processors. In particular, when a large number of short messages are transmitted, this overhead becomes significant, which adversely affects communication processing.
【0007】他方、UPがOS同様、メッセージヘッダ
を作成して、通信装置に処理を依頼する場合、作成され
るメッセージヘッダに誤った情報が指定される確率が高
い。On the other hand, when the UP creates a message header and requests the communication device to perform processing, as in the case of the OS, there is a high probability that incorrect information will be specified in the created message header.
【0008】メッセージヘッダには、宛先プロセッサ番
号、ソースアドレス、宛先メモリアドレス等、が含まれ
ており、宛先プロセッサ番号を間違った場合、別のUP
を実行中のプロセッサに間違ったメッセージが届いてし
まう。また、ソースアドレスを間違えた場合、メモリに
マップされていないアドレスからメッセージ本体を読み
出し、バスエラーが発生する。更に、宛先メモリアドレ
スを間違えた場合、OSが使用中のデータを破壊してし
まうなど、システムダウンを引き起こす可能性がある。The message header includes the destination processor number, source address, destination memory address, etc. If the destination processor number is wrong, another UP
Wrong message is delivered to the processor that is running. If the source address is wrong, the message body is read from an address that is not mapped in the memory and a bus error occurs. In addition, if the destination memory address is wrong, the OS may destroy the data being used and the system may be down.
【0009】この問題を解決する手段として、ユーザが
指定する宛先プロセッサ番号、ソースアドレス、宛先メ
モリアドレスの全てを論理値とし、プロセッサ間の通信
装置内にそれぞれの情報に関する論理値から物理値に変
換するテーブルを持つことにより、これらの情報が保護
されている方式がある。As a means for solving this problem, all of the destination processor number, the source address and the destination memory address designated by the user are set to logical values, and the logical values relating to the respective information are converted into physical values in the communication device between the processors. There is a method in which this information is protected by having a table that controls.
【0010】この構成では、送信装置の場合、論理宛先
プロセッサ番号は物理宛先プロセッサ番号に置き換えら
れ、また、論理ソースアドレスは物理ソースアドレスに
変換されて、メッセージ本体が送信される。受信処理の
場合には、メッセージヘッダ内の論理宛先メモリアドレ
スは物理宛先メモリアドレスに変換されてメモリに書き
込まれる。また、処理しようとする際、UPにより指定
された論理値に対応する変換テーブルがない場合、この
処理はエラーとなる。In this configuration, in the case of the transmitting device, the logical destination processor number is replaced with the physical destination processor number, the logical source address is converted into the physical source address, and the message body is transmitted. In the case of reception processing, the logical destination memory address in the message header is converted into the physical destination memory address and written in the memory. Further, when there is no conversion table corresponding to the logical value designated by the UP when the processing is attempted, this processing becomes an error.
【0011】また、1つのプロセッサ上の複数のUPが
プロセッサ間通信する場合には、OSに対しシステムコ
ールを行なうことで、プロセッサ間通信を行なってい
た。この方法では、複数のUPからの要求をOSが受け
ることにより、プロセッサ間通信装置を使用するのはO
Sだけとなるが、システムコールを用いるので、上述の
ようなプロセッサ間通信性能の劣化の問題が起こる。Further, when a plurality of UPs on one processor perform inter-processor communication, a system call is made to the OS to perform inter-processor communication. In this method, when the OS receives requests from a plurality of UPs, it is not possible to use the interprocessor communication device.
Although only S is used, since the system call is used, the above-mentioned problem of deterioration of inter-processor communication performance occurs.
【0012】[0012]
【発明が解決しようとする課題】上述した従来のプロセ
ッサ間通信の方法および装置のうち、通信装置内のコマ
ンドバッファにCPUがコマンドを書き込むことによ
り、メッセージの送信処理を開始する方法では、CPU
が1つのメッセージを送信依頼した後、次の送信依頼を
行なう際、送信装置内の状態レジスタの状態を読みに行
く必要がある。この結果、CPUから送信装置への送信
依頼が連続して行なえない。また、送信依頼による実行
が完了したことを確認するため、送信依頼を行なう前に
送信装置内の状態レジスタへのアクセスが必要になり、
通信処理時間を増加させるという問題点がある。Of the above-described conventional interprocessor communication methods and devices, the method of starting message transmission processing by the CPU writing a command in the command buffer in the communication device is
After requesting transmission of one message, the next transmission request needs to read the status of the status register in the transmitter. As a result, transmission requests from the CPU to the transmission device cannot be made consecutively. Further, in order to confirm that the execution by the transmission request is completed, it is necessary to access the status register in the transmission device before making the transmission request.
There is a problem of increasing the communication processing time.
【0013】また、UPからのメッセージの送信を、プ
ロセッサがOSに対してシステムコールすることによ
り、OSがUPに代わってメッセージヘッダを作成し、
送信する方式では、UPからOSに対するプロセス切り
替え処理が発生する。この結果、このプロセス切り替え
処理に必要なレジスタの退避と回復の処理とによりプロ
セッサ間の通信に対して発生するオーバヘッドがプロセ
ッサ間の通信の性能を劣化させるという問題点がある。The processor makes a system call to the OS to send a message from the UP, and the OS creates a message header on behalf of the UP,
In the transmission method, process switching processing from the UP to the OS occurs. As a result, there is a problem in that the overhead generated for the communication between the processors due to the processing of saving and restoring the registers necessary for this process switching processing deteriorates the communication performance between the processors.
【0014】また、プロセッサ間の通信装置内にそれぞ
れの情報に関する論理値から物理値に変換するテーブル
を持つ構成では、ソースアドレスと宛先メモリアドレス
に関してCPUが取り扱っているページテーブルと同じ
ものが必要になる。この結果、ページテーブル全体を通
信装置内に格納するには大きなメモリが必要になるとい
う問題点がある。更に、CPUが論理アドレスと物理ア
ドレスとのマッピングを変更する毎に、通信装置内のペ
ージテーブルを変更する必要があるので、この結果、発
生するオーバヘッドが非常に大きいという問題点があ
る。Further, in the structure having the table for converting the logical value of each information into the physical value in the communication device between the processors, the same page table handled by the CPU is required for the source address and the destination memory address. Become. As a result, there is a problem that a large memory is required to store the entire page table in the communication device. Further, since the page table in the communication device needs to be changed every time the CPU changes the mapping between the logical address and the physical address, the resulting overhead is very large.
【0015】さらに、複数のUPを1つのプロセッサで
処理する場合には、OSによるシステムコールを使用し
て、OSによるプロセッサ間通信を行なう。しかし、こ
の場合には、上述したようにシステムコール時のプロセ
ス切り替えのオーバヘッドの問題点がある。Further, when a plurality of UPs are processed by one processor, a system call by the OS is used to perform interprocessor communication by the OS. However, in this case, there is a problem of process switching overhead at the time of system call as described above.
【0016】また、2つのUP(UP1とUP2)間で
プロセス切り替えを行なう時点では送信装置に依頼され
た送信処理がすべて完了していない場合が起こる。即
ち、CPUは、UP1からUP2に割り当てが変更され
るが、その時点で、UP1のHB(メッセージヘッダバ
ッファ)には未処理のヘッダが残ったままになっている
場合が起こる。これらのUP1の送信処理はCPUがU
P2に切り替えた後も処理しなければならない。従っ
て、ある時点では、CPUで実行されているUPと、送
信装置で実行されている送信処理依頼を行なったUPが
異なる場合が起こる。At the time of process switching between the two UPs (UP1 and UP2), the transmission processing requested by the transmission device may not be completed. That is, the allocation of the CPU is changed from UP1 to UP2, but at that time, an unprocessed header remains in the HB (message header buffer) of UP1. The CPU executes the UP1 transmission process.
It must be processed even after switching to P2. Therefore, at some point, the UP executed by the CPU may be different from the UP executed by the transmission device and requested for the transmission process.
【0017】本発明の課題は、プロセッサのメモリ上に
メッセージヘッダの書き込み領域を指示する送信装置の
ポインタレジスタと同一の指示値を格納するポインタレ
ジスタコピーを備え、送信処理依頼の際、CPUによ
り、送信装置内のポインタレジスタの代わりに、ポイン
タレジスタコピーが指示する領域にメッセージヘッダの
書き込みを行ない、また、送信装置からアドレスの読み
出しを、メモリ上でラストポインタとポインタレジスタ
のコピーとの指示値が一致した場合だけとし、ユーザプ
ロセスからの送信を、システムコールすることなく直接
処理し、また、ユーザプロセスから送信できるプロセッ
サの場合、ソースアドレス、および、宛先メモリアドレ
スを、OSにより所定の範囲に限定し、ユーザプロセス
からのすべての送信処理依頼の完了を知らせる割り込み
を設けることにより、プロセッサ内で、CPUと通信装
置との間の情報の授受回数を減少させ、ユーザプロセス
からの通信を直接、安全に、かつ、高速にでき、1つの
プロセッサ上で複数のユーザプロセスを処理できるプロ
セッサ間通信の方法および装置を提供することにある。An object of the present invention is to provide a pointer register copy for storing the same instruction value as the pointer register of the transmitting device for instructing the write area of the message header on the memory of the processor. Instead of the pointer register in the transmitter, the message header is written in the area designated by the pointer register copy, and the address is read from the transmitter, and the instruction value of the last pointer and the copy of the pointer register is displayed on the memory. Only when they match, the transmission from the user process is directly processed without making a system call, and in the case of a processor that can be transmitted from the user process, the source address and the destination memory address are limited to a predetermined range by the OS. And all submissions from the user process By providing an interrupt for notifying the completion of the processing request, it is possible to reduce the number of times information is exchanged between the CPU and the communication device in the processor, and the communication from the user process can be performed directly, safely and at high speed. An object of the present invention is to provide an interprocessor communication method and apparatus capable of processing a plurality of user processes on one processor.
【0018】[0018]
【課題を解決するための手段】本発明によるプロセッサ
間通信の方法では、CPUと、メモリと、受信装置およ
び送信装置を有するプロセッサ間の通信装置とを備え、
プロセッサ間ネットワークにより接続される複数のプロ
セッサ間通信の方法において、前記メモリは、前記CP
Uにより送信されるメッセージのヘッダを格納するHB
(メッセージヘッダバッファ)と、該ヘッダの次に書き
込まれるヘッダのアドレスを指示するPR(ポインタレ
ジスタ)と同一の指示値を格納するPRコピーとを備
え、また、前記送信装置は、前記HBに対する前記PR
と、次に処理するヘッダのアドレスを指示するCT(カ
ウンタ)とを備えている。A method for interprocessor communication according to the present invention comprises a CPU, a memory, and a communication device between processors having a receiving device and a transmitting device,
In the method of communication between a plurality of processors connected by an interprocessor network, the memory is the CP
HB containing the header of the message sent by U
(Message header buffer), and a PR copy that stores the same indication value as a PR (pointer register) that indicates the address of the header to be written next to the header, and the transmission device includes the PR copy for the HB. PR
And a CT (counter) for designating the address of the header to be processed next.
【0019】一方、前記CPUは、前記メモリ上にある
PRコピーの指示値により指示されるHBのアドレスに
ヘッダを書き込んだのち、前記PRの指示値と該PRコ
ピーの指示値とを次のヘッダを書き込むアドレスに更新
し、また、前記送信装置は、前記PRの指示値と前記C
Tの指示値との相違により送信処理要求を知った際、該
CTにより指示されるメモリ領域からヘッダを読み出し
てメッセージの送信処理を行ない、該送信処理の終了時
点で、次に処理するヘッダの格納アドレスを指示するよ
うに前記CTを更新し、前記PRの指示値とCTの指示
値とが一致するまで、前記送信処理を行なっている。On the other hand, the CPU writes the header at the address of the HB designated by the PR copy instruction value on the memory, and then writes the PR instruction value and the PR copy instruction value to the next header. Is updated to the address to be written, and the transmission device sets the PR instruction value and the C
When the transmission processing request is known due to the difference from the indicated value of T, the header is read from the memory area designated by the CT and the message transmission processing is performed. At the end of the transmission processing, the header of the next processing is processed. The CT is updated so as to indicate the storage address, and the transmission processing is performed until the PR indicated value and the CT indicated value match.
【0020】また、追加の手段として、前記メモリはH
Bで使用できる最後の領域を指示するLP(ラストポイ
ンタ)を有し、前記CPUは、CPUがヘッダを書き込
む際、メモリ上で該LPの指示値と前記PRコピーの指
示値とを比較し、同一値の場合のみ、前記送信装置のC
Tの指示値を読み出して該LPの指示値を該CTが指示
する前記HBアドレスのアドレスの1つ手前に更新設定
する一方、該更新設定ののち、なお、LPの指示値とP
Rのコピーの指示値とが一致した場合にはヘッダの書き
込みを中止している。As an additional means, the memory is H
B has an LP (last pointer) that points to the last area that can be used in B, and when the CPU writes the header, the CPU compares the LP instruction value with the PR copy instruction value on the memory, Only when the values are the same, C of the transmitting device
The instruction value of T is read and the instruction value of the LP is updated and set immediately before the address of the HB address indicated by the CT. On the other hand, after the update setting, the instruction value of LP and P
When the R copy instruction value matches, the writing of the header is stopped.
【0021】また、更に追加の手段として、前記HB、
PR、CT、PRコピー、および、LPそれぞれがUP
(ユーザプロセス)用およびOS(オペレーティングシ
ステム)用の2組を備え、前記CPU上でUPとOSが
動作する際、前記送信装置は、UP用で前記PRの指示
値と前記CTの指示値とが相違する場合にはUPからの
送信処理依頼と判断する一方、OS用でPRの指示値と
CTの指示値とが相違する場合にはOSからの送信処理
要求依頼と判断し、また、UP用およびOS用両者の指
示値が相違する場合には、OSからの送信依頼と判断し
て送信処理を行なっている。As a further additional means, the HB,
PR, CT, PR copy, and LP are UP
When the UP and the OS operate on the CPU, the transmission device includes two sets (for a user process) and for an OS (operating system), and for the UP, the PR indicated value and the CT indicated value. If it is different, the transmission processing request from the UP is determined, while if the PR instruction value and the CT instruction value for the OS are different, it is determined that the transmission processing request from the OS is requested. If the instruction values for both the OS and the OS are different, it is determined that the OS is a transmission request and the transmission processing is performed.
【0022】上記手段において、前記UPがプロセッサ
間通信を行なう場合、前記送信装置は、前記OSにより
予め設定されたマスク値を有するMKR(マスクレジス
タ)と、前記OSにより予め設定されたオフセット値を
有するOFF(オフセットレジスタ)とを備え、前記U
Pのヘッダにより指定された宛先プロセッサ番号を、前
記マスク値およびオフセット値によって制限された番号
に置き換えて送信処理している。また、前記送信装置
は、前記OSにより予め指定されたビットをSAR(ソ
ースアドレスレジスタ)に有し、前記UPのヘッダによ
り指定された、送信するデータを格納するソースアドレ
スのビットの一部を、該SARに予め指定されたビット
に置き換える一方、前記OSにより予め指定されたビッ
トをDAR(デスティネーションアドレスレジスタ)に
有し、前記UPのヘッダにより指定された、宛先プロセ
ッサのメモリ上の書き込み領域を示す宛先メモリアドレ
スのビットの一部を、該DARに予め指定されたビット
に置き換えて、送信処理している。In the above means, when the UP performs inter-processor communication, the transmitting device sets an MKR (mask register) having a mask value preset by the OS and an offset value preset by the OS. OFF (offset register) having
The destination processor number designated by the P header is replaced with the number limited by the mask value and the offset value, and the transmission processing is performed. Further, the transmission device has bits specified in advance by the OS in a SAR (source address register), and a part of the bits of the source address specified by the header of the UP for storing the data to be transmitted, While replacing the bit specified in advance in the SAR with the bit specified in advance by the OS in the DAR (destination address register), the write area on the memory of the destination processor specified by the header of the UP is set. Transmission processing is performed by replacing some of the bits of the destination memory address shown with the bits specified in advance in the DAR.
【0023】前記手段において、複数のUPが前記プロ
セッサ上で動作している場合、前記OSは、各UPごと
に前記HBをメモリ上に設けている。また、前記OS
は、現在実行しているUPであるUP1を他のあるUP
2に切替える時点で、UP2から参照される前記UP用
PRとCTの論理アドレスを、送信装置内のレジスタで
ある前記UP用PRとCTの物理アドレスではなく、前
記メモリ上に設けた仮PRと仮CTの物理アドレスに変
換されるようにページテーブルを設定し、前記メモリ上
にあるUP2用の退避領域から退避したPRとCTの値
を読み出しメモリ上の仮PRと仮CTに設定し、前記送
信装置内のアイドル割り込み許可ビットに1を書き込
み、UP1用HB内の処理すべき送信処理依頼がすべて
処理されたことを示す前記送信装置からのアイドル割り
込みを待ち、CPUをUP2に割り当てる。前記送信装
置内は、前記UP用PRとCTが同じ値になったときに
CPUに対してアイドル割り込みを起こし、STOPビ
ットを1にし、送信処理を停止する。In the above means, when a plurality of UPs are operating on the processor, the OS provides the HB on the memory for each UP. In addition, the OS
Is currently executing UP1, UP1 to another UP
At the time of switching to 2, the logical addresses of the UP PR and CT referred to by UP2 are not the physical addresses of the UP PR and CT that are registers in the transmission device, but the temporary PR provided on the memory. The page table is set so as to be converted into the physical address of the temporary CT, and the PR and CT values saved from the UP2 save area on the memory are read and set to the temporary PR and temporary CT on the memory. Write 1 to the idle interrupt enable bit in the transmitter, wait for an idle interrupt from the transmitter indicating that all transmission processing requests to be processed in the UP1 HB have been processed, and allocate the CPU to UP2. When the PR for UP and the CT have the same value, the inside of the transmitter causes an idle interrupt to the CPU, sets the STOP bit to 1, and stops the transmission process.
【0024】また、前記OSは、前記送信装置からアイ
ドル割り込みが起こると、前記送信装置内のUP用P
R、CT、SAR、DAR、MKR、OFRの値を前記
メモリ上にあるUP1用の退避領域に格納し、前記メモ
リにあるUP2用の退避領域内のSAR、DAR、MK
R、OFRの値を前記送信装置の各レジスタに設定し、
メモリ上にあるUP2の前記仮PRと前記仮CTの値を
前記送信装置内のUP用PRとCTに設定し、UP2か
ら参照される前記UP用PRとCTの論理アドレスを、
送信装置内のレジスタである前記UP用PRとCTの物
理アドレスに変換されるようにページテーブルを設定
し、前記アイドル割り込み許可ビットを0にし、前記S
TOPビットを0にし前記停止状態を解除し、割り込み
から復帰することにより、前記CPUでのUP2を実行
を継続する。Further, when the idle interrupt occurs from the transmitter, the OS has a P P for UP in the transmitter.
The values of R, CT, SAR, DAR, MKR, and OFR are stored in the save area for UP1 in the memory, and the SAR, DAR, MK in the save area for UP2 in the memory are stored.
The values of R and OFR are set in the registers of the transmitter,
The values of the provisional PR and the provisional CT of UP2 on the memory are set in the UP PR and CT in the transmitter, and the logical addresses of the UP PR and CT referred to by UP2 are
The page table is set so as to be converted into the physical addresses of the UP PR and CT, which are registers in the transmitter, the idle interrupt enable bit is set to 0, and the S
By setting the TOP bit to 0, releasing the stopped state, and returning from the interrupt, the UP2 in the CPU is continuously executed.
【0025】また、本発明によるプロセッサは、プロセ
ッサ間ネットワークにより接続され、プロセッサ間の通
信を行なう複数のプロセッサにおいて、該プロセッサ
は、CPU(中央処理ユニット)と、メモリと、受信装
置および送信装置を有するプロセッサ間の通信装置とを
備えている。 Further, the processor according to the present invention is a processor.
It is connected by the network between the processors and the communication between the processors.
A plurality of processors that perform communication,
Is a CPU (central processing unit), a memory, and a receiver.
And a communication device between processors having a storage device and a transmission device.
I have it.
【0026】メモリは、前記CPUにより送信されるメ
ッセージのヘッダを格納するHB(メッセージバッフ
ァ)と、前記CPUにより該HBに次に書き込まれるヘ
ッダを格納する領域のアドレスを格納するPR(ポイン
タレジスタ)と同一の指示値を格納するPRコピーと、
前記HBで使用できる最後の領域を示すLP(ラストポ
インタ)とを備えている。The memory has an HB (message buffer) for storing a header of a message transmitted by the CPU, and a PR (pointer register) for storing an address of an area for storing a header to be written next to the HB by the CPU. A PR copy that stores the same indication value as
And an LP (last pointer) indicating the last area usable in the HB.
【0027】また、前記送信装置は、該PRと、次に処
理するメッセージのヘッダを前記メモリ上に指示するC
T(カウンタ)と、該PRの指示値と該CTの指示値と
を比較し、相違を検出するRL(比較器)と、該RLに
より相違が検出された場合、送信処理要求と判断し、該
CTにより指示されるメモリ箇所からヘッダを読み出し
てメッセージの送信処理を行ない、該送信処理の終了時
点で、次に処理するヘッダの格納アドレスを指示するよ
うに前記CTを更新し、前記PRの指示値とCTの指示
値とが一致するまで、前記送信処理を行なう送信処理手
段とを備えており、また、前記受信装置は、前記プロセ
ッサ間ネットワークから受けたメッセージのヘッダを格
納するHR(メモリヘッダレジスタ)と、前記メモリ上
に予め用意されたMB(メッセージバッファ)のアドレ
スを格納するBAR(バッファアドレスレジスタ)とを
備え、メッセージを受けた際、ヘッダを該HRに格納す
ると共に、ヘッダ内にある宛先メモリアドレスまたは、
前記BARにより指示されるメモリのアドレスに格納す
る受信処理手段を備えている。Further, the transmitting device indicates on the memory the PR and the header of the message to be processed next on the memory.
T (counter), RL (comparator) that compares the indicated value of the PR and the indicated value of the CT and detects a difference, and if a difference is detected by the RL, it is determined that a transmission processing request is made, The header is read from the memory location designated by the CT to perform message transmission processing, and at the end of the transmission processing, the CT is updated so as to indicate the storage address of the header to be processed next, and the PR Transmission processing means is provided for performing the transmission processing until the instruction value and the instruction value of the CT match, and the receiving device stores the header of the message received from the interprocessor network. A header register) and a BAR (buffer address register) for storing an address of an MB (message buffer) prepared in advance on the memory, When received, stores the header in the HR, the destination memory address in the header or,
Reception processing means for storing in the address of the memory designated by the BAR is provided.
【0028】更に、前記CPUは、前記メモリ上にある
PRコピーにより指示されるHBのアドレスにヘッダを
書き込んだのち、前記PRと前記PRコピーとの指示値
を次のヘッダを書き込むアドレスに更新するPR更新手
段と、該PR更新の際、該PRコピーと前記LPとの指
示値を比較する比較手段と、該比較手段から指示値の一
致を通知された場合、前記送信装置のCTの指示値を読
み出し、前記LPの指示値を該CTの指示値の1つ手前
の値に更新するCT更新手段と、該CT更新の後も、P
RとLPの指示値が同一の場合にはヘッダの書き込みを
中止する中止手段とを備えている。Further, the CPU writes the header at the address of HB designated by the PR copy on the memory, and then updates the designated value of the PR and the PR copy to the address at which the next header is written. PR updating means, a comparing means for comparing the indicated values of the PR copy and the LP at the time of the PR updating, and a CT indicated value of the transmitting device when the comparing means notifies the coincidence of the indicated values. And CT updating means for updating the indicated value of the LP to a value immediately before the indicated value of the CT, and P after the CT update.
When the indicated values of R and LP are the same, a stop unit for stopping the writing of the header is provided.
【0029】また、上記構成に追加して、前記送信装置
は、前記PR、CT、およびRLをUP(ユーザプロセ
ス)用およびOS(オペレーティングシステム)用に2
組備え、かつ、送信するメッセージの種類を格納し、U
P用RLおよびOS用RL両方の出力を受け、前記CP
UでUPおよびOSが動作する際、UP用RLで指示値
の相違が検出された場合にはUPからの送信処理依頼の
発生と判断する一方、OS用RLで指示値の相違が検出
された場合にはOSからの送信処理依頼の発生と判断
し、また、両者が相違する場合には、OSからの送信処
理依頼の発生と判断することによりUPおよびOSの一
方を選択するSQ(シーケンサ)と、該SQから送信処
理依頼の発生を通知された際、該当するCTが指示して
いるメモリのアドレスからヘッダを読み出し、該ヘッダ
内の各情報を該当する各レジスタに格納すると共に、該
当メッセージがUP用かOS用かを示すメッセージの種
別情報を設定して送信処理を行ない、該メッセージの処
理を終了する際、次のメッセージヘッダを指示するよう
に該当するCTの指示値を更新する送信処理手段とを備
えている。Further, in addition to the above configuration, the transmission device provides the PR, CT, and RL for UP (user process) and OS (operating system).
Stores the type of message to be sent and sent,
The output of both the RL for P and the RL for OS is received, and the CP
When UP and OS operate in U, if a difference in the indicated values is detected in the UP RL, it is determined that a transmission processing request has been issued from the UP, while a difference in the indicated values is detected in the OS RL. In this case, it is determined that the transmission processing request from the OS has occurred, and if they are different, it is determined that the transmission processing request from the OS has occurred, and one of UP and OS is selected SQ (sequencer). When the SQ notifies the transmission process request, the header is read from the memory address designated by the corresponding CT, each information in the header is stored in each corresponding register, and the corresponding message is sent. Message type information indicating whether the message is for UP or OS is set and transmission processing is performed, and when the processing of the message is completed, the corresponding CT instruction is used to indicate the next message header. And a transmission processing means for updating the value.
【0030】また、更に追加される構成として、前記ヘ
ッダは、少なくとも、宛先プロセッサを指定する情報
(以後、宛先プロセッサ番号)、メッセージの長さ情報
(以後、メッセージ語数)、メモリに格納されているメ
ッセージ本体の先頭アドレス(以後、ソースアドレ
ス)、メッセージを送る送り先プロセッサのメモリアド
レス(以後、宛先メモリアドレス)、並びに、少なくと
も、メッセージの処理先および書き込み先を区別するメ
ッセージの種類を表す情報(以後、メッセージ種別)を
含んでおり、前記送信装置は、前記PR、CT、RLに
加えて、宛先プロセッサ番号を格納するER(宛先プロ
セッサ番号レジスタ)と、前記ソースアドレスを格納す
るSAR(ソースアドレスレジスタ)と、前記宛先メモ
リアドレスを格納するDAR(宛先アドレスレジスタ)
とを、UP(ユーザプロセス)用およびOS(オペレー
ティングシステム)用に2組備え、かつ、前記SQに加
えて、転送する前記メッセージ語数を格納するLR(メ
ッセージ語数レジスタ)と、前記UPのヘッダ内の宛先
プロセッサ番号を制限するための数値を前記OSにより
格納されるMKR(マスクレジスタ)およびOFR(オ
フセットレジスタ)と、前記UPによる送信処理依頼が
あった場合、UP用の前記HBからヘッダ内の宛先プロ
セッサ番号を読み出し、読み出した該宛先プロセッサ番
号と前記MKRの格納値とを入力する論理積回路と、論
理積回路の出力値と前記OFRの格納値とを入力し、前
記ERに宛先プロセッサ番号として出力する論理和回路
とを備えている。Further, a configuration that is further added, the header includes at least information specifying the destination processor (hereinafter, destination processor number), the length information of the message (hereinafter, message word count), stored in the memory Address of the message body (hereafter, source address), the memory address of the destination processor that sends the message (hereafter, destination memory address), and at least information indicating the message type that distinguishes the message processing destination and the message writing destination ( Thereafter, the transmission device includes a message type), the transmission device includes an ER (destination processor number register) for storing a destination processor number and a SAR (source address) for storing the source address, in addition to the PR, CT, and RL. Register) and D for storing the destination memory address AR (destination address register)
And two sets of a user interface (UP) and an OS (operating system), and in addition to the SQ, an LR (message word number register) for storing the number of message words to be transferred, and a header of the UP. The numerical value for limiting the destination processor number of MKR (mask register) and OFR (offset register) stored by the OS, and the transmission processing request by the UP, when there is a transmission processing request from the UP, the HB in the header The destination processor number is read, the AND circuit for inputting the read destination processor number and the stored value of the MKR, the output value of the AND circuit and the stored value of the OFR are input, and the destination processor number is input to the ER. And a logical sum circuit for outputting as.
【0031】また、上記構成に加えて、UP用の前記S
ARは、UPのメッセージのヘッダ内に含まれるソース
アドレスの一部のビットに置き換えるためにOSにより
予め指定された置換ビットを格納する領域と、該置換ビ
ット以外の部分を格納するUPにより指定されたソース
アドレス部分の領域とを有し、前記送信装置は、UPに
よる送信処理依頼があった場合、前記メモリ内のヘッダ
から読み出されたソースアドレスをUP用のSARに格
納し、メッセージの本体を読み出す際には、UPに指定
されてSARに格納されたソースアドレスに前記置換ビ
ットの数値を組み合わせたアドレスから、メッセージ本
体を読み出して、プロセッサ間ネットワークに送出する
送信処理手段を有している。In addition to the above configuration, the S for UP is added.
The AR is designated by an area for storing a replacement bit previously designated by the OS for replacing a part of the bits of the source address included in the UP message header and the UP for storing a portion other than the replacement bit. And a source address portion area, the transmission device stores the source address read from the header in the memory in the UP SAR when a transmission processing request is made by the UP, and the body of the message. Has a transmission processing means for reading out the message body from an address obtained by combining the source address specified in the UP and stored in the SAR with the numerical value of the replacement bit, and transmitting the message body to the interprocessor network. .
【0032】他方、UP用の前記DARは、UPのメッ
セージのヘッダ内に含まれる宛先メモリアドレスの一部
のビットに置き換えるためOSにより予め指定された置
換ビットを格納する領域と、該置換ビット以外の部分を
格納するUPにより指定された宛先メモリアドレス部分
の領域とを比較し、前記送信装置は、UPによる送信処
理依頼があった場合、前記メモリ内のヘッダから読み出
された宛先メモリアドレスをUP用のDARに格納し、
メッセージをプロセッサ間ネットワークに送出する際に
は、UPに指定されてDARに格納された宛先メモリア
ドレスに前記置換ビットの数値を組み合わせたアドレス
をメッセージの宛先メモリアドレスとして送出する送信
処理手段を有している。On the other hand, the DAR for UP stores an area for storing a replacement bit designated in advance by the OS for replacing with a part of the bits of the destination memory address included in the header of the UP message, and other than the replacement bit. Is compared with the area of the destination memory address portion designated by the UP that stores the portion of, and the transmission device determines the destination memory address read from the header in the memory when the transmission processing request is made by the UP. Store in DAR for UP,
When the message is sent to the interprocessor network, it has transmission processing means for sending an address obtained by combining the destination memory address specified in the UP and stored in the DAR with the numerical value of the replacement bit as the destination memory address of the message. ing.
【0033】さらに、前記SQは、1を書き込むと新た
な送信処理の開始を行なわなくなるSTOPビットと、
アイドル割り込み許可ビットを有し、前記CPUが該ア
イドル割り込み許可ビットに1を書き込むと、SQは、
UP用PRとUP用CTの値が等しくなったときにCP
Uに割り込みを行ない、STOPビットに1を書き込み
停止するアイドル割り込み発生手段を有している。Further, the SQ has a STOP bit that does not start a new transmission process when 1 is written,
If the CPU has an idle interrupt enable bit and the CPU writes 1 to the idle interrupt enable bit, SQ
CP when the values of PR for UP and CT for UP become equal
It has an idle interrupt generation means for interrupting U and writing 1 to the STOP bit to stop.
【0034】[0034]
【作用】上記構成により、CPUと通信装置間との間の
送信処理依頼が、メモリ上のHB(メッセージヘッダバ
ッファ)を介して独立して動作し、実行できる。また、
PRコピーの指示値がLP(ラストポインタ)の指示値
と同じになるまでは、CPUが送信装置の処理の進み具
合を確かめずに送信処理要求の依頼ができる。With the above configuration, the transmission processing request between the CPU and the communication device can be independently operated and executed via the HB (message header buffer) on the memory. Also,
Until the PR copy instruction value becomes the same as the LP (last pointer) instruction value, the CPU can request the transmission processing request without checking the progress of the processing of the transmission device.
【0035】また、UP用とOS用の2つのHB(メッ
セージヘッダバッファ)を用いることにより、各HBを
異なるメモリページ上に設けられるので、UP(ユーザ
プロセス)とOS(オペレーティングシステム)との間
でのメッセージヘッダの破壊等をなくすことができる。
また、UPが直接メッセージヘッダを作成して通信装置
に送信処理を要求することができるので、UPからのプ
ロセッサ間の高速な通信が実現できる。Further, by using two HBs (message header buffers) for UP and OS, each HB can be provided on a different memory page, so that between the UP (user process) and the OS (operating system). It is possible to eliminate the destruction of the message header in.
Further, since the UP can directly create a message header and request the communication device to perform the transmission process, high-speed communication between the processors from the UP can be realized.
【0036】更に、この構成により、プロセッサ間の通
信上、誤りのない指定を必要とする、宛先プロセッサ番
号、ソースアドレス、宛先メモリアドレスに関しても、
少ないハードウェア量で保護されることができ、システ
ムダウンが完全に回避できる。Further, with this configuration, regarding the destination processor number, the source address, and the destination memory address, which require designation without error in communication between the processors,
It can be protected with a small amount of hardware, and system down can be completely avoided.
【0037】また、宛先プロセッサ番号は、OSにより
予め指定されたMKRとOFRとによって、同じプロセ
ッサの集合に制限される。この結果、誤った宛先プロセ
ッサ番号を指定しても、メッセージは、同一のUP内に
届き、他のUPには届くことはない。Further, the destination processor number is limited to the same set of processors by the MKR and OFR designated in advance by the OS. As a result, even if an incorrect destination processor number is specified, the message will reach the same UP and will not reach other UPs.
【0038】また、アドレスレジスタの一部を使用し
て、ソースアドレスと宛先メモリアドレスの一部のビッ
トをOSが指定したビットと置き換えるため、メモリの
一部分しかアクセスすることができない。この結果、メ
モリマップされていないアドレスからの読み出しがな
く、かつ、OSのデータが破壊されることない。Since a part of the address register is used to replace a part of the bits of the source address and the destination memory address with bits specified by the OS, only a part of the memory can be accessed. As a result, there is no reading from an address that is not memory-mapped, and the OS data is not destroyed.
【0039】メモリ上にHBを設けているため、複数の
UPのHBをメモリ上に同時にとることができ、アイド
ル割り込みを用いることにより、OSは、CPUのプロ
セス切り替え時に、送信装置が処理しているUPのすべ
ての送信処理の完了を知ることができる。その時点で、
送信装置内のUP用PR、UP用CT、MKR、OF
R、SAR、DARをこのUPの退避領域に退避し、次
に実行するUPの退避してある値を送信装置内のMK
R、OFR、SAR、DARに設定することにより、U
Pの切り替え処理を行なうことができる。この結果、複
数のUPを1つのプロセッサ上で処理する場合でも、U
Pが直接、プロセッサ間通信装置を使用して、高速かつ
安全な通信を行なうことが可能である。Since the HB is provided on the memory, the HBs of a plurality of UPs can be taken on the memory at the same time. By using the idle interrupt, the OS is processed by the transmitter when the process of the CPU is switched. It is possible to know the completion of all the transmission processes of the UPs that are present. at the time,
PR for UP, CT for UP, MKR, OF in the transmitter
R, SAR, and DAR are saved in the save area of this UP, and the saved value of the UP to be executed next is the MK in the transmitter.
By setting to R, OFR, SAR, DAR, U
The P switching process can be performed. As a result, even if a plurality of UPs are processed on one processor, U
P can directly use the interprocessor communication device to perform high-speed and secure communication.
【0040】[0040]
【実施例】次に、本発明について図を参照して説明す
る。Next, the present invention will be described with reference to the drawings.
【0041】図1は、本発明の一実施例を示す機能ブロ
ック図である。図1に示されるように、複数のプロセッ
サ1は、プロセッサ間ネットワーク2によって接続され
ており、バス10により接続される。CPU11、メモ
リ12、および、通信装置13を備え、通信装置13
は、送信装置15および受信装置16を有している。FIG. 1 is a functional block diagram showing an embodiment of the present invention. As shown in FIG. 1, the plurality of processors 1 are connected by an inter-processor network 2 and are connected by a bus 10. The communication device 13 includes a CPU 11, a memory 12, and a communication device 13.
Has a transmitter 15 and a receiver 16.
【0042】メモリ12は、UP(ユーザプロセス)用
HB(メッセージヘッダバッファ)21、OS(オペレ
ーティングシステム)用HB22、および、MB(メッ
セージバッファ)23を有している。このMB23は、
通常、HB21、22と同様にUP用およびOS用を設
けているが、図1では省略して1つのバッファだけが示
されている。各HB21、22には、メッセージヘッダ
24が、また、メモリ12上にはメッセージの本体25
がそれぞれ格納されている。また、各HB21、22に
対してはメモリ12上に、LP(ラストポインタ)21
1、22およびPR(ポインタレジスタ)コピー21
2、222が設けられている。メモリ12の詳細につい
ては、図2を参照して後述する。The memory 12 has an UP (user process) HB (message header buffer) 21, an OS (operating system) HB 22 and an MB (message buffer) 23. This MB23
Normally, the UP and OS are provided similarly to the HBs 21 and 22, but only one buffer is shown in FIG. Each HB 21, 22 has a message header 24 and a message body 25 on the memory 12.
Are stored respectively. Further, for each HB 21 and 22, LP (last pointer) 21 is stored on the memory 12.
1, 22 and PR (pointer register) copy 21
2, 222 are provided. Details of the memory 12 will be described later with reference to FIG.
【0043】通信装置13の送信装置15は、UP用お
よびOS用にAR(アドレスレジタ)30、40、PR
(ポインタレジスタ)31、41、CT(カウンタ)3
2、42、および、ER(宛先プロセッサ番号レジス
タ)33、43を備え、更に、UP用には、MKR(マ
スクレジスタ)51およびOFR(オフセットレジス
タ)52を備えている。また、送信装置には、UPのH
Bに処理すべきヘッダがない時に割り込みが起こること
を指定するアイドル割り込みビットを備えている。この
詳細については、図5を参照して後述する。The transmission device 15 of the communication device 13 has ARs (address register) 30, 40, PR for UP and OS.
(Pointer register) 31, 41, CT (counter) 3
2, 42, and ER (destination processor number register) 33, 43, and for UP, MKR (mask register) 51 and OFR (offset register) 52. In addition, the transmitting device is
It has an idle interrupt bit that specifies that an interrupt will occur when B has no header to process. The details will be described later with reference to FIG.
【0044】通信装置13の受信装置16は、UP用の
BAR(バッファアドレスレジスタ)61およびOS用
のBAR62、並びにHR(メッセージヘッダレジス
タ)63を備えている。BAR61、62は、受けたメ
ッセージ本体をメモリ12上に格納するMB23におけ
るアドレスを格納する。また、HR63は受けたメッセ
ージヘッダを格納する。The receiving device 16 of the communication device 13 includes a BAR (buffer address register) 61 for UP, a BAR 62 for OS, and an HR (message header register) 63. The BARs 61 and 62 store the address in the MB 23 that stores the received message body in the memory 12. The HR 63 also stores the received message header.
【0045】ここで、図1、図2および図3を併せ参照
してプロセッサ1のメモリ12に格納されるメッセージ
について説明する。The messages stored in the memory 12 of the processor 1 will now be described with reference to FIGS. 1, 2 and 3.
【0046】メッセージはヘッダ24および本体25を
有し、図示されているUP用のメッセージでは、ヘッダ
24はHB21に格納され、本体はメモリ12上に格納
されているものとする。The message has a header 24 and a main body 25. In the illustrated UP message, the header 24 is stored in the HB 21 and the main body is stored in the memory 12.
【0047】図2に示されているように、UP用のHB
21に対して、メモリ12(図1)上には、LP211
と送信装置15のUP用PR31(図1)と同一の内容
を示すPRコピー212とが設けられ、PRコピー21
2により示されるHB21のヘッダ領域に、次のメッセ
ージのヘッダが書き込まれる。LP211はHB21上
で、メッセージヘッダを書き込む最後のヘッダ領域を指
示し、この指示は、CPU11(図1)がメッセージヘ
ッダを書き込む際、PRコピー212の指示と比較され
る。As shown in FIG. 2, HB for UP
21, the memory 211 (FIG. 1) has an LP211
And a PR copy 212 showing the same contents as the UP PR 31 (FIG. 1) of the transmission device 15, are provided.
The header of the next message is written in the header area of the HB 21 indicated by 2. On the HB 21, the LP 211 indicates the last header area to write the message header, and this instruction is compared with the instruction of the PR copy 212 when the CPU 11 (FIG. 1) writes the message header.
【0048】この比較の結果、図2に示されるように、
LP211の指示とPRコピー212の指示とが一致し
た場合、CPU11は、送信装置15のUP用CT32
(図1)から指示値213を読み出し、図3に示される
ように、CT32の指示値213の1つ前のヘッダ領域
を指示するようにLP215を設定すると共に、PRコ
ピー212により指示されているヘッダ領域にメッセー
ジヘッダを書き込み、送信装置15に送信処理を依頼す
る。As a result of this comparison, as shown in FIG.
When the instruction of the LP 211 and the instruction of the PR copy 212 match, the CPU 11 causes the transmitter CT 15 for UP 32.
The instruction value 213 is read from (FIG. 1), and as shown in FIG. 3, the LP 215 is set so as to instruct the header area immediately preceding the instruction value 213 of the CT 32, and the instruction is given by the PR copy 212. The message header is written in the header area, and the transmission device 15 is requested to perform the transmission process.
【0049】CPU11がメッセージヘッダを書き込む
際、図3に示される状態からメッセージヘッダが順次書
き込まれ、PRコピー212の指示値がLP214の指
示値と一致したにも拘らず、送信処理が終了せず、CT
32の指示値213が変化しなかった場合にも、上記の
動作が実行されるが、LP214の指示設定に変化がな
いことになる。このことは、メッセージヘッダの書き込
み領域が満杯状態を意味しているので、この送信処理は
エラーにしている。When the CPU 11 writes the message header, the message header is sequentially written from the state shown in FIG. 3, and the transmission process does not end even though the instruction value of the PR copy 212 matches the instruction value of the LP 214. , CT
Even when the instruction value 213 of 32 does not change, the above operation is executed, but the instruction setting of the LP 214 does not change. This means that the write area of the message header is full, so this transmission process is in error.
【0050】OS用のHB22についても同様である。The same applies to the HB22 for OS.
【0051】次に図2を参照してメッセージのヘッダ2
4の内容について説明する。Next, referring to FIG. 2, the header 2 of the message
The contents of 4 will be described.
【0052】メッセージヘッダ24には、図2に示され
るように、宛先プロセッサ番号241、メッセージ語数
242、ソースアドレス243、宛先メモリアドレス2
44、および、メッセージ種別245が格納されるもの
とする。In the message header 24, as shown in FIG. 2, the destination processor number 241, the message word number 242, the source address 243, the destination memory address 2
44 and the message type 245 are stored.
【0053】メッセージ語数242は転送されるデータ
であるメッセージ本体の長さを示す。ソースアドレス2
43はメッセージ本体25を格納するメモリ12(図
1)の本体25の格納アドレスを示す。宛先メモリアド
レス244には、転送元プロセッサにより転送先プロセ
ッサのメモリアドレスが指定される際に、この指定され
るメモリアドレスが格納される。The message word number 242 indicates the length of the message body which is the data to be transferred. Source address 2
Reference numeral 43 denotes a storage address of the body 25 of the memory 12 (FIG. 1) which stores the message body 25. The destination memory address 244 stores the designated memory address when the memory address of the destination processor is designated by the source processor.
【0054】メッセージ種別245には、メッセージの
種類を示すビットがある。即ち、メッセージ種別245
には、(1)格納先アドレスが、転送元プロセッサによ
り指定された転送先プロセッサのメモリアドレスか、ま
たは、転送先プロセッサにより指定されるアドレス、即
ち、図1に示されたBAR61、62によって指定され
るアドレスかを示す情報、(2)格納するメッセージ
が、UPからのものか、または、OSからのものかを示
す情報、等がある。The message type 245 has a bit indicating the type of message. That is, the message type 245
(1) the storage destination address is the memory address of the transfer destination processor designated by the transfer source processor, or the address designated by the transfer destination processor, that is, the BAR 61, 62 shown in FIG. Information indicating whether the address is an address to be stored, (2) information indicating whether the message to be stored is from the UP or the OS, and the like.
【0055】次に、図4と5を参照して図1の送信装置
15の構成について説明する。[0055] Next, the configuration of the transmission apparatus 15 of FIG. 1 with reference to FIG. 4 and 5.
【0056】送信装置15では、上記、図1を参照して
説明したように、UP(ユーザプロセス)用とOS(オ
ペレーティングシステム)用とのほぼ2組の構成要素が
備えられ、図1で説明した構成要素に対して、RL(比
較器)34、44が加えられ、また、AR(アドレスレ
ジスタ)30、40、には、SAR(ソースアドレスレ
ジスタ)35、45、およびDAR(宛先メモリアドレ
スレジスタ)36、46が設けられている。更に、UP
用には、宛先プロセッサ番号の制限に使用される論理積
回路53および論理和回路54が備えられ、また、U
P、OS共通に、LR(メッセージ語数レジスタ)5
5、SQ(シーケンサ)56、および、MUX(多重変
換装置)57、58が備えられている。As described above with reference to FIG. 1, the transmitter 15 is provided with almost two sets of constituent elements, one for UP (user process) and the other for OS (operating system). RLs (comparators) 34 and 44 are added to the components described above, and ARs (address registers) 30 and 40 include SARs (source address registers) 35 and 45 and DARs (destination memory address registers). ) 36 and 46 are provided. Furthermore, UP
Is provided with an AND circuit 53 and an OR circuit 54 used for limiting the destination processor number, and U
LR (message word number register) 5 for both P and OS
5, SQ (sequencer) 56, and MUXs (multiplexing converters) 57 and 58 are provided.
【0057】また、SQ56には、UP用のHBに処理
すべきヘッダがなくなったことを伝えるためのアイドル
割り込み回路が備えられている。アイドル割り込み回路
には、アイドル割り込みを発生させるかどうかを決める
アイドル割り込みビットがある。Further, the SQ 56 is provided with an idle interrupt circuit for informing the HB for UP that there is no more header to be processed. The idle interrupt circuit has an idle interrupt bit that determines whether or not to generate an idle interrupt.
【0058】RL34、44は、PR31、41とCT
32、42とに格納されている数値を比較し、相違する
際に相違をSQ56に通知する。SAR35、45に
は、メッセージヘッダ24(図2参照)のソースアドレ
ス243が格納され、DAR36、46には、メッセー
ジヘッダ24の宛先メモリアドレス244が格納され
る。また、LR55には、メッセージヘッダ24のメッ
セージ語数242が格納される。SQ56は、RL34
およびRL44の少なくとも一方から、格納指示値の相
違通知を受けた際、この格納指示値の相違通知を受けた
ことを、CPU11から送信装置15が受けた送信処理
依頼と判断し、送信処理を開始する。The RLs 34 and 44 and the PRs 31 and 41 and the CT
The numerical values stored in 32 and 42 are compared, and when there is a difference, the SQ 56 is notified of the difference. The source address 243 of the message header 24 (see FIG. 2) is stored in the SARs 35 and 45, and the destination memory address 244 of the message header 24 is stored in the DARs 36 and 46. Further, the number of message words 242 of the message header 24 is stored in the LR 55. SQ56 is RL34
When the storage instruction value difference notification is received from at least one of the RL 44 and the RL 44, the reception of the storage instruction value difference notification is determined to be a transmission processing request received by the transmission device 15 from the CPU 11, and the transmission processing is started. To do.
【0059】また、SQ56は、RL34、44の両者
から格納指示値の相違を受けた場合、OS用RL44か
らの通知を優先とし、OSからのメッセージ送信処理依
頼と判断して送信処理をする。Further, when the SQ 56 receives a difference in the storage instruction value from both the RLs 34 and 44, the SQ 56 gives priority to the notification from the OS RL 44, and judges that it is a message transmission processing request from the OS and performs the transmission processing.
【0060】次に、図1および図5を併せ参照し、OS
によるメッセージの送信について説明する。Next, referring also to FIG. 1 and FIG.
The transmission of a message by will be described.
【0061】CPU11は、メモリ12のOS用HB2
2上にあるOS用PRコピー222に格納されるアドレ
スにより指示されるヘッダ領域にメッセージのヘッダを
作成格納する。この際、PRコピー222の指示がOS
用LP221の指示と同一の場合、CPU11は、LP
221の更新を行なうと共に、OS用ヘッダをHB22
に書き込む。この手順で、LP221の更新ができない
場合、上述のように、このメッセージヘッダをHB22
に書き込むことはできない。The CPU 11 uses the OS HB2 of the memory 12
2 creates and stores the message header in the header area designated by the address stored in the OS PR copy 222. At this time, the instruction of the PR copy 222 is OS
When the instruction is the same as the instruction for the LP 221 for CPU,
221 is updated and the OS header is set to HB22.
Write in. If the LP 221 cannot be updated by this procedure, this message header is added to the HB22 as described above.
Can not write to.
【0062】CPU11は、OS用メッセージのヘッダ
をHB22に書き込んだ後、メモリ12上のPRコピー
222と、送信装置15内のOS用PR41とのアドレ
スを、次のヘッダを書き込むアドレスに更新して格納す
る。送信装置15のOS用では、RL(比較器)44
が、CPU11により格納されたPR41の格納指示値
をCT42の格納指示値と比較し、格納指示値の相違を
SQ(シーケンサ)56に通知する。SQ56は、この
格納指示値の相違通知を受けたことを、CPU11から
送信装置15が受けた送信処理依頼と判断し、送信処理
を開始する。After writing the header of the OS message to the HB 22, the CPU 11 updates the addresses of the PR copy 222 on the memory 12 and the OS PR 41 in the transmitter 15 to the address to write the next header. Store. For the OS of the transmission device 15, the RL (comparator) 44
Compares the storage instruction value of the PR 41 stored by the CPU 11 with the storage instruction value of the CT 42 and notifies the SQ (sequencer) 56 of the difference in the storage instruction value. The SQ 56 determines that the notification of the difference in the storage instruction value is received as the transmission processing request received by the transmission device 15 from the CPU 11, and starts the transmission processing.
【0063】送信処理では、まず、送信装置15が、O
S用のCT42に格納されているアドレスにより、メモ
リ12のOS用HB22に格納されているメッセージの
ヘッダから、図2に示されると同様の、宛先プロセッサ
番号、メッセージ語数、ソースアドレス、および、メッ
セージ種別を読み出し、さらに、メッセージ種別で送信
側が指定した受信側のメモリアドレスにメッセージ本体
を書き込む場合には、宛先メモリアドレスも読み出す。In the transmission process, first, the transmission device 15 sets the O
With the address stored in the CT 42 for S, from the header of the message stored in the HB 22 for OS of the memory 12, the destination processor number, the number of message words, the source address, and the message similar to those shown in FIG. The type is read out, and when the message body is written in the memory address of the receiving side designated by the transmitting side in the message type, the destination memory address is also read out.
【0064】送信装置15は、読み出した宛先プロセッ
サ番号をOS用のER(宛先プロセッサ番号レジスタ)
43に、メッセージ語数をLR55に、ソースアドレス
をOS用のSAR45に、また、宛先メモリアドレスを
OS用のDAR46に、それぞれ格納した後、MUX5
8でヘッダを改めて構築してプロセッサ間ネットワーク
2に送出する。この場合、送出されるヘッダのメッセー
ジの種別には、OSからのメッセージである情報が加え
られる。The transmitting device 15 uses the read destination processor number as the ER (destination processor number register) for the OS.
43, the number of message words in the LR 55, the source address in the SAR 45 for the OS, and the destination memory address in the DAR 46 for the OS.
At 8, the header is reconstructed and sent to the interprocessor network 2. In this case, information that is a message from the OS is added to the type of the header message that is sent.
【0065】ヘッダの送出に続いて、送信装置15は、
OS用のSAR45に格納されたアドレスによりメモリ
12から、LR55に格納されたメッセージ語数分のメ
ッセージ本体を読み出し、MUX58を介してプロセッ
サ間ネットワーク2に送出してメッセージの送信を終了
する。Following the transmission of the header, the transmitter 15
The message body for the number of message words stored in the LR 55 is read from the memory 12 by the address stored in the SAR 45 for OS, and is sent to the interprocessor network 2 via the MUX 58 to end the message transmission.
【0066】メッセージの送信処理終了により、送信装
置15は、OS用CT42の計数値を次に送出するメッ
セージのヘッダ格納領域を指示する数値に更新する。Upon completion of the message transmission process, the transmission device 15 updates the count value of the CT 42 for OS to a numerical value indicating the header storage area of the message to be transmitted next.
【0067】次に、図1、図2および図4を併せ参照し
て、1つのプロセッサで1つのUPが実行されている場
合を例にとり、UPからのメッセージの転送について説
明する。Next, with reference to FIGS. 1, 2 and 4, the case where one UP is executed by one processor will be described as an example to explain the transfer of a message from the UP.
【0068】OSは、送信装置15の初期設定で、UP
用SAR35の一部のSAR37、および、DAR36
の一部のDAR38にそれぞれ所定のビットを予め設定
するものとする。The OS is set to UP by the initial setting of the transmitter 15.
Part of SAR35 for SAR37 and DAR36
Predetermined bits are preset in some of the DARs 38.
【0069】また、OSは、送信装置15内のMKR
(マスクレジスタ)51およびOFR(オフセットレジ
スタ)52の値を、UP用に割り当てられたプロセッサ
番号の集合を表現するように、予め設定するものとす
る。The OS is the MKR in the transmitter 15.
The values of the (mask register) 51 and the OFR (offset register) 52 are set in advance so as to represent a set of processor numbers assigned for UP.
【0070】まず、前述のOSの場合と同様、CPU1
1は、メモリ12のUP用HB21上にあるUP用PR
コピー212に格納されるアドレスにより指示されるヘ
ッダ領域にメッセージのヘッダを作成格納する。この
際、UP用PRコピー212の指示がUP用LP211
の指示と同一の場合、CPU11は、LP211の更新
を行なうと共に、UP用のヘッダをHB21に書き込
む。この手順で、LP211の更新ができない場合、上
述のように、このメッセージのヘッダを書き込むことが
できない。First, as in the case of the above-mentioned OS, the CPU 1
1 is a PR for UP on the UP HB 21 of the memory 12
The header of the message is created and stored in the header area designated by the address stored in the copy 212. At this time, the instruction for the UP PR copy 212 is the UP LP 211.
If it is the same as the instruction of, the CPU 11 updates the LP 211 and writes the UP header in the HB 21. If the LP 211 cannot be updated by this procedure, the header of this message cannot be written, as described above.
【0071】CPU11は、UP用メッセージのヘッダ
をHB21に書き込んだ後、メモリ12上のPRコピー
212と、送信装置15内のUP用PR31とのアドレ
スを、次のヘッダを書き込むアドレスに更新して格納す
る。送信装置15のUP用側では、RL(比較器)34
が、CPU11により格納されたPR31の格納指示値
をCT32の格納指示値と比較し、格納指示値の相違を
SQ(シーケンサ)56に通知する。SQ56は、この
格納指示値の相違通知をOSからではなく、UPからだ
け受けたことを、CPU11から送信装置15が受けた
UPからの送信処理依頼と判断し、送信処理を開始す
る。After writing the header of the UP message in the HB 21, the CPU 11 updates the addresses of the PR copy 212 on the memory 12 and the UP PR 31 in the transmitter 15 to the address to write the next header. Store. On the UP side of the transmitter 15, the RL (comparator) 34
Compares the storage instruction value of the PR 31 stored by the CPU 11 with the storage instruction value of the CT 32, and notifies the SQ (sequencer) 56 of the difference in the storage instruction value. The SQ 56 determines that the notification of the difference in the storage instruction value is received only from the UP, not from the OS, as the transmission processing request from the UP received by the transmission device 15 from the CPU 11, and starts the transmission processing.
【0072】送信処理では、まず、送信装置15が、U
P用のCT32に格納されているアドレスにより、メモ
リ12のUP用HB21に格納されているメッセージの
ヘッダ24(図2参照)から、宛先プロセッサ番号24
1、メッセージ語数242、ソースアドレス243、お
よび、メッセージ種別245を読み出し、さらに、メッ
セージ種別245で送信側が指定した受信側のメモリア
ドレスにメッセージ本体を書き込む場合には、宛先メモ
リアドレス244も読み出す。ここまでの手順はOSの
場合と同様である。In the transmission processing, first, the transmission device 15 makes the U
From the header 24 (see FIG. 2) of the message stored in the UP HB 21 of the memory 12 to the destination processor number 24 by the address stored in the P CT 32.
1, the number of message words 242, the source address 243, and the message type 245 are read, and when the message body is written to the memory address of the receiving side designated by the transmitting side in the message type 245, the destination memory address 244 is also read. The procedure so far is the same as that of the OS.
【0073】送信装置15は、読み出したメッセージ語
数をLR55に格納するが、UP用のER(宛先プロセ
ッサ番号レジスタ)33には、UP用のメッセージヘッ
ダ24に作成された宛先プロセッサ番号241とMKR
51に格納されている数値とを論理積回路53に入力し
て論理積をとり、この論理積値とOFR52に格納され
ている数値とを論理和回路54に入力して得た論理和値
が格納される。The transmitting device 15 stores the read message word number in the LR 55. The UP ER (destination processor number register) 33 has the destination processor number 241 and the MKR created in the UP message header 24.
The numerical value stored in 51 is input to the logical product circuit 53 to obtain a logical product, and the logical product value obtained by inputting the logical product value and the numerical value stored in the OFR 52 to the logical sum circuit 54 is Is stored.
【0074】また、UP用のメッセージヘッダ24に格
納されたソースアドレス243は、OSによりSAR3
7に予め設定された部分以外の分だけ、UP用のSAR
35に書き込まれる。宛先メモリアドレス244につい
ても、UP用のメッセージヘッダ24に作成された宛先
メモリアドレス244は、OSによりDAR38に予め
設定された部分以外の分だけ、UP用のDAR36に書
き込まれる。更に、メッセージ種別245には、このメ
ッセージがUPからのメッセージであるとの情報が加え
られる。The source address 243 stored in the UP message header 24 is SAR3 by the OS.
SAR for UP only for the part other than the part preset to 7
35. Regarding the destination memory address 244, the destination memory address 244 created in the UP message header 24 is written in the UP DAR 36 except for the portion preset in the DAR 38 by the OS. Furthermore, information that this message is a message from UP is added to the message type 245.
【0075】メモリ12からヘッダ24に含まれる情報
を送信装置15のUP用の各レジスタに格納した後、送
信装置15は、MUX58でヘッダを改めて構築してプ
ロセッサ間ネットワーク2に送出する。送出の際、送出
されるヘッダの宛先メモリアドレスは、今回書き込まれ
たDAR36のアドレス値と、OSにより予め設定され
たDAR38のアドレス値とを組み合わせたアドレスに
形成される。After storing the information contained in the header 24 from the memory 12 in each UP register of the transmitter 15, the transmitter 15 reconstructs the header by the MUX 58 and sends it to the interprocessor network 2. At the time of sending, the destination memory address of the sent header is formed by combining the address value of the DAR 36 written this time and the address value of the DAR 38 preset by the OS.
【0076】ヘッダの送出に続いて、送信装置15は、
UP用のSAR35に格納されたアドレス値と、OSに
より予め設定されたSAR37のアドレス値とを組み合
わせたアドレスによりメモリ12から、LR55に格納
されたメッセージ語数分のメッセージ本体を読み出し、
MUX58を介してプロセッサ間ネットワーク2に送出
してメッセージの送信を終了する。Following the transmission of the header, the transmitter 15
The message body for the number of message words stored in the LR 55 is read from the memory 12 by the address obtained by combining the address value stored in the UP SAR 35 and the address value of the SAR 37 preset by the OS,
The message is sent to the interprocessor network 2 via the MUX 58 and the message transmission is terminated.
【0077】メッセージの送信処理終了により、送信装
置15は、UP用CT32の計数値を次に送出するメッ
セージのヘッダ格納領域を指示する数値に更新する。Upon completion of the message transmission process, the transmission device 15 updates the count value of the CT for UP 32 to a numerical value indicating the header storage area of the message to be transmitted next.
【0078】次に、図1を参照してメッセージの受信に
ついて説明する。Next, the reception of a message will be described with reference to FIG.
【0079】プロセッサ1の受信装置16は、メッセー
ジをプロセッサ間ネットワーク2から受けた際、メッセ
ージのヘッダをHR63に格納する。以下の処理は、ヘ
ッダに含まれるメッセージ種別により相違する。When the receiving device 16 of the processor 1 receives the message from the interprocessor network 2, it stores the header of the message in the HR 63. The following processing differs depending on the message type included in the header.
【0080】まず、OSからのメッセージで、かつ、受
信したプロセッサ1が設けたMB23に書き込む場合、
受信装置16は、受信装置16のOS用BAR62に格
納されているアドレスにより指定された、メモリ12の
MB23のメモリ領域に、受けたメッセージの本体を書
き込む。この結果、BAR62の値は、メッセージ本体
のメッセージ語数分だけ増加した値に更新される。First, when writing a message from the OS to the MB23 provided by the processor 1, which is received,
The receiving device 16 writes the main body of the received message in the memory area of the MB 23 of the memory 12 designated by the address stored in the OS BAR 62 of the receiving device 16. As a result, the value of BAR 62 is updated to a value increased by the number of message words in the message body.
【0081】次に、UPからのメッセージで、かつ、受
信したプロセッサ1が設けたMB23に書き込む場合、
受信装置16は、受信装置16のUP用BAR61に格
納されているアドレスにより指定された、メモリ12の
MB23のメモリ領域に、受けたメッセージの本体を書
き込む。この結果、BAR61の値は、メッセージ本体
のメッセージ語数分だけ増加した値に更新される。Next, when writing a message from the UP and writing it to the MB23 provided by the processor 1,
The reception device 16 writes the main body of the received message in the memory area of the MB 23 of the memory 12 designated by the address stored in the UP BAR 61 of the reception device 16. As a result, the value of BAR61 is updated to a value increased by the number of message words in the message body.
【0082】次に、受けたメッセージ本体を、受けたメ
ッセージヘッダに指示される宛先メモリアドレスに書き
込む場合には、先に受け、HR63に格納されたメッセ
ージヘッダに含まれている宛先メモリアドレスにより指
示されたメモリ12に、受けたメッセージの本体を書き
込む。Next, when writing the received message body to the destination memory address specified in the received message header, the received message body is specified by the destination memory address included in the message header stored in the HR 63 first. The main body of the received message is written in the created memory 12.
【0083】次に図1と図4と図5を併せ参照し、複数
のUPが1つのプロセッサ上で実行される場合のUPの
切り替え方法について説明する。Next, referring to FIG. 1, FIG. 4 and FIG. 5 together, a method of switching UPs when a plurality of UPs are executed on one processor will be described.
【0084】プロセッサ上では、UP1とUP2の2つ
のユーザプロセスが実行されているとする。UP1とU
P2は、メモリ12上に、それぞれのUP用HB21を
持っており、それぞれのHBのヘッダを指示するUP用
PR31、UP用CT32の値、また、OSが予め設定
して制限する、SAR37、DAR38、MKR51、
OFR52の値は、UP1、UP2でそれぞれ異なって
いる。It is assumed that two user processes UP1 and UP2 are executed on the processor. UP1 and U
The P2 has the UP HB21 on the memory 12, and the values of the UP PR31 and the UP CT32 that indicate the header of each HB, and the SAR37 and DAR38 that the OS presets and limits. , MKR51,
The value of OFR52 is different between UP1 and UP2.
【0085】現在、UP1が実行されており、今、プロ
セス切り替えの時刻となり、OSはUP1からUP2へ
のプロセスの切り替えを実行しようとしているとする。It is assumed that UP1 is currently being executed, and now it is time to switch the process, and the OS is trying to switch the process from UP1 to UP2.
【0086】OSは、まず、通常のプロセス切り替えと
同じようにUP1が使用していたCPU内のレジスタ等
をメモリ12上のUP1用の退避領域に退避し、メモリ
12上のUP2の退避領域から、CPUのレジスタ等の
UP2の実行環境の復元を行なう。次に、OSは、UP
2から参照されるPRとCTの論理アドレスを、送信装
置15内のレジスタであるUP用PR31、UP用CT
32の物理アドレスではなく、メモリ12上の仮PRと
仮CTの物理アドレスに変換するようにページテーブル
を設定する。また、OSは、メモリ12上にあるUP2
用の退避領域から退避されていたPRとCTの値を読み
出し、仮PRと仮CTに設定する。そして、OSは、送
信装置15内のSQ(シーケンサ)56内のアイドル割
り込み許可ビット71に1を書き込み、アイドル割り込
み許可とし、UP1が送信装置15に依頼した送信処理
がすべて終った時点でアイドル割り込みが起こるように
する。そして、OSは、CPUをUP2に割り当て、C
PUにおけるプロセス切り替えを終了する。The OS first saves the registers and the like in the CPU used by the UP1 in the save area for the UP1 on the memory 12, and then from the save area of the UP2 on the memory 12, as in the normal process switching. , Restores the UP2 execution environment such as CPU registers. Next, the OS is UP
The PR and CT logical addresses referenced from 2 are used as the UP PR31 and UP CT, which are registers in the transmitter 15.
The page table is set so as to be converted into the physical addresses of the temporary PR and the temporary CT on the memory 12, instead of the 32 physical addresses. In addition, the OS is UP2 on the memory 12.
The values of PR and CT saved from the save area for use are read out and set to the temporary PR and the temporary CT. Then, the OS writes 1 to the idle interrupt enable bit 71 in the SQ (sequencer) 56 in the transmitter 15 to enable the idle interrupt, and when the transmission processing requested by the UP1 to the transmitter 15 is completed, the idle interrupt is completed. To happen. Then, the OS assigns the CPU to UP2, and C
The process switching in PU is completed.
【0087】新しくCPUに割り当てられたUP2が、
送信装置に送信処理を依頼する場合には、上述の通り、
UP2用のHB21にヘッダを書き込み、PRコピーと
仮PRを次のヘッダ領域を指示するように設定してい
く。この時点では、送信装置15は、まだ、UP1のH
B21に残っている送信処理依頼を処理しているので、
UP2が書き込んだヘッダは送信装置15によって処理
されない。UP2 newly assigned to the CPU is
When requesting transmission processing from the transmission device, as described above,
A header is written in the HB 21 for UP2, and PR copy and temporary PR are set so as to indicate the next header area. At this point, the transmitter 15 is still in the H of UP1.
Since the transmission processing request remaining in B21 is being processed,
The header written by UP2 is not processed by the transmitter 15.
【0088】送信装置15内のSQ56は、UP用のR
L(比較器)34からの出力が、UP用のPR(ポイン
タレジスタ)31とUP用のCT(カウンタ)32が等
しくなったことを示した時に、STOPビット72を1
にして新たな送信処理依頼を処理しないようにし、割り
込み発生回路73を用いて、CPU1に対してアイドル
割り込みを発生させる。The SQ 56 in the transmitter 15 is an R for UP.
When the output from the L (comparator) 34 indicates that the PR (pointer register) 31 for UP and the CT (counter) 32 for UP are equal, the STOP bit 72 is set to 1
Then, a new transmission processing request is not processed and an idle interrupt is generated for the CPU 1 by using the interrupt generation circuit 73.
【0089】アイドル割り込み処理ルーチンで、OS
は、いままで送信装置15が実行していたUP1のUP
用PR31、UP用CT32、SAR37、DAR3
8、MKR51、OFR52の値をメモリ12上にある
UP1用の退避領域に退避する。In the idle interrupt processing routine, the OS
Is the UP1 of UP1 that the transmitter 15 has been executing until now.
PR31 for UP, CT32 for UP, SAR37, DAR3
The values of 8, MKR51 and OFR52 are saved in the save area for UP1 on the memory 12.
【0090】次に、OSは、メモリ12上のUP2用退
避領域から値を読み出し、送信装置15内のSAR3
7、DAR38、MKR51、OFR52に書き込む。
そして、メモリ12上にあるUP2の仮PRと仮CTの
値を送信装置15内のUP用PR31とUP用CT32
に書き込み、UP2から参照されるPRとCTの論理ア
ドレスを、送信装置15内のUP用PR31とCT32
の物理アドレスに変換するようにページテーブルを設定
する。最後に、OSは、アイドル割り込みビット71に
0を書き込み、STOPビット72に0を書き込み、送
信装置15が新たな送信処理依頼を処理できるように
し、割り込み処理ルーチンから復帰する。Next, the OS reads the value from the UP2 save area on the memory 12, and the SAR3 in the transmitter 15 is read.
7, DAR38, MKR51, OFR52.
Then, the values of the provisional PR and provisional CT of UP2 on the memory 12 are used as the PR 31 for UP and the CT 32 for UP in the transmitter 15.
And the logical addresses of PR and CT referred to by UP2 are written into UP PR31 and CT32 in the transmitter 15.
Set the page table to translate to the physical address of. Finally, the OS writes 0 to the idle interrupt bit 71 and 0 to the STOP bit 72 to allow the transmitter 15 to process a new transmission processing request, and returns from the interrupt processing routine.
【0091】この時点で、送信装置15もCPU1と同
じプロセスUP2を実行することになる。At this point, the transmitter 15 also executes the same process UP2 as the CPU 1.
【0092】[0092]
【発明の効果】以上説明したように本発明によれば、プ
ロセッサのメモリ上にあるメッセージヘッダバッファに
ポインタレジスタのコピーを備え、このポインタレジス
タコピーがヘッダの書き込み領域を指示する送信装置の
ポインタレジスタと同一の指示値を有している。この結
果、送信処理依頼の際、CPUは、送信装置内のポイン
タレジスタからアドレスの読み出しをせず、メモリ上の
ポインタレジスタのコピーの指示値によりヘッダの書き
込みを行なっている。また、送信装置からのアドレスの
読み出しは、メモリ上でラストポインタの指示値とポイ
ンタレジスタコピーの指示値とが一致した場合だけ必要
である。As described above, according to the present invention, a copy of the pointer register is provided in the message header buffer in the memory of the processor, and the pointer register copy of the transmitter which indicates the write area of the header. Has the same indicated value as. As a result, when requesting the transmission process, the CPU does not read the address from the pointer register in the transmitter, but writes the header according to the instruction value for copying the pointer register on the memory. Further, the reading of the address from the transmitter is necessary only when the instruction value of the last pointer and the instruction value of the pointer register copy match on the memory.
【0093】この構成によって、メモリ上のデータを読
み出す時間より時間が長くかかる送信装置内のポインタ
レジスタ(PR)への読み出しをなくすことができ、更
に、送信装置内のカウンタ(CT)の読み出し頻度を、
メッセージヘッダバッファ内に格納できるヘッダ数分の
一に押えることができるので、通信時の処理速度を改善
し、速くできる。With this configuration, it is possible to eliminate the reading to the pointer register (PR) in the transmitter, which takes longer than the time to read the data on the memory, and further, the frequency of reading the counter (CT) in the transmitter. To
Since the number of headers that can be stored in the message header buffer can be reduced to one, the processing speed during communication can be improved and speeded up.
【0094】また、ユーザプロセスからの送信処理を、
システムコールすることなく、直接処理している。この
結果、プロセス切り替え処理のオーバヘッドがなくな
り、高速なプロセッサ間通信が実現できる。Further, the transmission process from the user process is
It processes directly without making a system call. As a result, the overhead of process switching processing is eliminated, and high-speed interprocessor communication can be realized.
【0095】また、ユーザプロセスから送信できるプロ
セッサの場合、および、ソースアドレス、宛先メモリア
ドレスなど、OSにより予め設定された範囲に限定でき
るため、ユーザプロセスで間違ったメッセージヘッダの
設定があっても、他のユーザが使用中のプロセッサに間
違ってメッセージが送られることが回避でき、また、O
Sが使用中のメモリ領域が壊れされることが防止でき
る。Further, in the case of a processor which can be transmitted from the user process, and because the source address, the destination memory address, etc. can be limited to the range preset by the OS, even if the user process sets an incorrect message header, This prevents other users from accidentally sending messages to the processor they are using, and
It is possible to prevent the memory area used by S from being destroyed.
【0096】更に、論理的な値を使用していないので、
論理値から物理値に変換する処理は不要であり、ユーザ
プロセスが通信する場合でも、OSが行なう送信処理と
同一の処理時間で、送信処理ができる。Furthermore, since no logical value is used,
The process of converting a logical value to a physical value is unnecessary, and even when the user process communicates, the transmission process can be performed in the same processing time as the transmission process performed by the OS.
【0097】また、ユーザプロセスが1つのプロセッサ
に複数ある場合、CPUと送信装置で異なるプロセスが
処理される状態でも、システムコールを用いず、ユーザ
プロセスが直接、安全にプロセッサ間通信を実行するこ
とが可能である。When a plurality of user processes are provided in one processor, even if the CPU and the transmitter process different processes, the user process can directly and safely perform inter-processor communication without using a system call. Is possible.
【図1】本発明の一実施例を示す機能ブロック図であ
る。FIG. 1 is a functional block diagram showing an embodiment of the present invention.
【図2】図1のメモリ部分の一実施例を示す構成説明図
である。2 is a configuration explanatory view showing an embodiment of a memory portion of FIG. 1. FIG.
【図3】図2の別の一実施例を示す構成図である。3 is a configuration diagram showing another embodiment of FIG. 2. FIG.
【図4】図1の送信装置の一実施例を示す機能ブロック
図である。FIG. 4 is a functional block diagram showing an embodiment of the transmission device of FIG.
【図5】図4のシーケンサの一実施例を示す機能ブロッ
ク図である。5 is a functional block diagram showing an embodiment of the sequencer of FIG.
1 プロセッサ
2 プロセッサ間ネットワーク
10 バス
11 CPU(中央処理ユニット)
12 メモリ
13 通信装置
15 送信装置
16 受信装置
21、22 HB(メッセージヘッダバッファ)
23 MB(メッセージバッファ)
24 ヘッダ(メッセージヘッダ)
25 本体(メッセージ本体)
30、40 AR(アドレスレジスタ)
31、41 PR(ポインタレジスタ)
32、42 CT(カウンタ)
33、43 ER(宛先プロセッサ番号レジスタ)
34、44 RL(比較器)
35、45 SAR(ソースアドレスレジスタ)
36、46 DAR(宛先アドレスレジスタ)
51 MKR(マスクレジスタ)
52 OFR(オフセットレジスタ)
53 論理積回路
54 論理和回路
55 LR(メッセージ語数レジスタ)
56 SQ(シーケンサ)
57、58 MUX(多重変換装置)
61、62 BAR(バッファアドレスレジスタ)
63 HR(ヘッダレジスタ)
71 アイドル割り込み許可ビット
72 STOPビット
73 割り込み発生回路
211、221 LP(ラストポインタ)
212、222 PRコピー(ポインタレジスタコピ
ー)
241 宛先プロセッサ番号
242 メッセージ語数
243 ソースアドレス
244 宛先メモリアドレス
245 メッセージ種別1 Processor 2 Interprocessor Network 10 Bus 11 CPU (Central Processing Unit) 12 Memory 13 Communication Device 15 Transmitter 16 Receiver 21, 22 HB (Message Header Buffer) 23 MB (Message Buffer) 24 Header (Message Header) 25 Main Body ( Message body) 30, 40 AR (address register) 31, 41 PR (pointer register) 32, 42 CT (counter) 33, 43 ER (destination processor number register) 34, 44 RL (comparator) 35, 45 SAR (source) Address register) 36, 46 DAR (destination address register) 51 MKR (mask register) 52 OFR (offset register) 53 AND circuit 54 OR circuit 55 LR (message word number register) 56 SQ (sequencer) 7, 58 MUX (multiplex converter) 61, 62 BAR (buffer address register) 63 HR (header register) 71 idle interrupt enable bit 72 STOP bit 73 interrupt generation circuit 211, 221 LP (last pointer) 212, 222 PR copy ( (Pointer register copy) 241 Destination processor number 242 Message word count 243 Source address 244 Destination memory address 245 Message type
Claims (11)
と、受信装置および送信装置を有するプロセッサ間の通
信装置とを備え、プロセッサ間ネットワークにより接続
される複数のプロセッサ間の通信の方法において、 前記メモリは、前記CPUにより送信されるメッセージ
のヘッダを格納するHB(メッセージヘッダバッファ)
と、該ヘッダの次に書き込まれるヘッダのアドレスを指
示するPR(ポインタレジスタ)と同一の指示値を格納
するPRコピーとを備え、また、前記送信装置は、前記
HBに対する前記PRと、次に処理するヘッダのアドレ
スを指示するCT(カウンタ)とを備え、前記メモリ上
に、前記HBで使用できる最後の領域を指示するLP
(ラストポインタ)を有し、 前記CPUは、CPUがヘッダを書き込む際、メモリ上
で該LPの指示値と前記PRコピーの指示値とを比較
し、同一値の場合にのみ、前記送信装置のCTの指示値
を読み出して該LPの指示値を該CTが指示する前記H
Bのアドレスの1つ手前に更新設定する一方、該更新設
定ののち、なお、LPの指示値とPRコピーの指示値と
が一致した場合にはヘッダの書き込みを中止し、一致し
ない場合には 前記メモリ上にあるPRコピーの指示値に
より指示されるHBのアドレスにヘッダを書き込んだの
ち、前記PRの指示値と該PRコピーの指示値とを次の
ヘッダを書き込むアドレスに更新し、 また、前記送信装置は、前記PRの指示値と前記CTの
指示値との相違により送信要求を知った際、該CTによ
り指示されるメモリ領域からヘッダを読み出してメッセ
ージの送信処理を行い、該送信処理の終了時点で、次に
処理するヘッダの格納アドレスを指示するように前記C
Tを更新し、前記PRの指示値とCTの指示値とが一致
するまで、前記送信処理を行なうことを特徴とするプロ
セッサ間通信の方法。1. A method of communication between a plurality of processors, comprising a CPU (Central Processing Unit), a memory, and a communication device between processors having a receiving device and a transmitting device, the method comprising: The memory is an HB (message header buffer) that stores the header of the message transmitted by the CPU.
And a PR copy that stores the same designated value as a PR (pointer register) that designates the address of the header to be written next to the header, and the transmitter transmits the PR for the HB and then the PR copy. and a CT (counter) which indicates an address of the header to be processed, on the memory
LP that indicates the last area that can be used in the HB
(Last pointer) , the CPU has a memory on which a header is written when the CPU writes the header.
Compare the indicated value of the LP with the indicated value of the PR copy
However, only when the values are the same, the CT indication value of the transmitter is
Is read out and the H indicates the indicated value of the LP by the CT.
While updating and setting one address before B address,
After the setting, the indicated value of LP and the indicated value of PR copy
If they match, the writing of the header is stopped
If not , the header is written to the HB address designated by the PR copy designation value on the memory, and then the PR designation value and the PR copy designation value are updated to the address for writing the next header. Further, when the transmission device learns the transmission request due to the difference between the PR indicated value and the CT indicated value, it performs a message transmission process by reading the header from the memory area indicated by the CT. At the end of the transmission process, the C
A method of interprocessor communication, characterized in that T is updated and the transmission processing is performed until the PR indicated value and the CT indicated value match.
T、PRコピー、および、LPそれぞれがUP(ユーザ
プロセス)用およびOS(オペレーティングシステム)
用の2組からなり、前記CPU上でUPとOSが動作す
る際、前記送信装置は、UP用で前記PRの指示値と前
記CTの指示値とが相違する場合にはUPからの送信処
理依頼と判断する一方、OS用でPRの指示値とCTの
指示値とが相違する場合にはOSからの送信処理要求依
頼と判定し、また、UP用およびOS用両者の指示値が
相違する場合には、OSからの送信依頼と判断して送信
処理を行なうことを特徴とするプロセッサ間通信の方
法。2. The HB, PR, C according to claim 1 .
T, PR copy, and LP are for UP (user process) and OS (operating system), respectively
It consists of two sets of use, when the UP and the OS operating on the CPU, the transmitting device, the transmission processing from UP if and the indicated value of the CT with the indicated value of the PR is for UP different On the other hand, when the request value is determined to be a request, if the PR instruction value and the CT instruction value for the OS are different, it is determined that the transmission processing request is from the OS, and the instruction values for both the UP and the OS are different. In this case, the method of inter-processor communication is characterized in that the transmission processing is performed by judging the transmission request from the OS.
間通信を行なう場合、前記送信装置は、前記OSにより
予め設定されたマスク値を有するMKR(マスクレジス
タ)と、前記OSにより予め設定されたオフセット値を
有するOFR(オフセットレジスタ)とを備え、前記U
Pのヘッダにより指定された宛先プロセッサ番号と前記
マスク値との論理積をとり、さらに該論理積とオフセッ
ト値との論理和をとることにより、制限された番号に置
き換えることを特徴とするプロセッサ間通信の方法。3. The transmitter according to claim 2 , wherein when the UP performs inter-processor communication, the transmitter has an MKR (mask register) having a mask value preset by the OS, and the preset by the OS. And an OFR (offset register) having an offset value.
The logical product of the destination processor number designated by the header of P and the mask value is calculated , and the logical product and the offset are calculated.
A method of interprocessor communication characterized by replacing with a restricted number by taking the logical sum of the value and the value .
間通信を行なう場合、前記送信装置は、前記OSにより
予め設定されたビットをSAR(ソースアドレスレジス
タ)に有し、前記UPのヘッダにより指定された、送信
するデータを格納するソースアドレスのビットの一部
を、該SARに予め指定されたビットに置き換えること
を特徴とするプロセッサ間通信の方法。4. The transmitter according to claim 2 , wherein when the UP performs inter-processor communication, the transmitting device has a bit preset in the SAR (source address register) by the OS and designated by the header of the UP. A method for interprocessor communication, characterized in that a part of the bits of the source address storing the data to be transmitted is replaced with a bit designated in advance in the SAR.
間通信を行なう場合、前記送信装置は、前記OSにより
予め設定されたビットをDAR(デスティネーションア
ドレスレジスタ)に有し、前記UPのヘッダにより指定
された、宛先プロセッサのメモリ上の書き込み領域を示
す宛先メモリアドレスのビットの一部を、該DARに予
め指定されたビットに置き換えることを特徴とするプロ
セッサ間通信の方法。5. The transmitter according to claim 2 , wherein when the UP performs inter-processor communication, the transmission device has a bit preset in the OS in a DAR (destination address register) and the header of the UP is used. A method of inter-processor communication, characterized in that a part of bits of a designated destination memory address indicating a writing area on a memory of a destination processor is replaced with a bit designated in advance in the DAR.
れ、他のプロセッサとプロセッサ間通信を行なうプロセ
ッサにおいて、 該プロセッサは、CPU(中央処理ユニット)と、メモ
リと、受信装置および送信装置を有するプロセッサ間の
通信装置とを備え、 また、前記メモリは、前記CPUにより送信されるメッ
セージのヘッダを格納するHB(メッセージヘッダバッ
ファ)と、前記CPUにより該HBに次に書き込まれる
ヘッダを格納する領域のアドレスを格納するPR(ポイ
ンタレジスタ)と同一の指示値を格納するPRコピー
と、前記HBで使用できる最後の領域を示すLP(ラス
トポインタ)とを備え、 また、前記送信装置は、該PRと、次に処理するメッセ
ージのヘッダを前記メモリ上に指示するCT(カウン
タ)と、該PRの指示値と該CTの指示値とを比較し、
相違を検出するRL(比較器)と、該RLにより相違が
検出された場合、送信処理要求と判断し、該CTにより
指示されるメモリ箇所からヘッダを読みだしてメッセー
ジの送信処理を行ない、該送信処理の終了時点で、次に
処理するヘッダの格納アドレスを指示するように前記C
Tを更新し、前記PRの指示値とCTの指示値とが一致
するまで、前記送信処理を行なう送信処理手段とを備
え、 また、前記受信装置は、前記プロセッサ間ネットワーク
から受けたメッセージのヘッダを格納するHR(メッセ
ージヘッダレジスタ)と、前記メモリ上に予め用意され
たMB(メッセージバッファ)のアドレスを格納するB
AR(バッファアドレスレジスタ)とを備え、メッセー
ジを受けた際、ヘッダを該HRに格納すると共に、ヘッ
ダ内にある宛先メモリアドレスまたは、前記BARによ
り指示されるメモリのアドレスに格納する受信処理手段
を備え、 また、前記CPUは、前記メモリ上にあるPRコピーに
より指示されるHBのアドレスにヘッダを書き込んだの
ち、前記PRと前記PRコピーとの指示値を次のヘッダ
を書き込むアドレスに更新するPR更新手段と、該PR
更新の際、該PRコピーと前記LPとの指示値を比較す
る比較手段と、該比較手段から指示値の一致を通知され
た場合、前記送信装置のCTの指示値を読み出し、前記
LPの指示値を該CTの指示値の1つ手前の値に更新す
るCT更新手段と、該CT更新の後も、PRとLPの指
示値が同一の場合にはヘッダの書き込みを中止する中止
手段とを備えることを特徴とするプロセッサ間通信を行
うプロセッサ。6. A processor which is connected by an inter-processor network and performs inter-processor communication with other processors.
In the processor, the processor includes a CPU (central processing unit), a memory, and a communication device between processors having a receiving device and a transmitting device, and the memory is a header of a message transmitted by the CPU. HB (message header buffer) for storing the HB, a PR copy for storing the same indication value as the PR (pointer register) for storing the address of the area for storing the header to be written next to the HB by the CPU, and the HB And a LP (last pointer) indicating the last area that can be used in the PR, the transmitter, the PR, a CT (counter) that indicates a header of a message to be processed next on the memory, and the PR. Comparing the indicated value of the CT and the indicated value of the CT,
An RL (comparator) that detects a difference, and when a difference is detected by the RL, it is determined that a transmission processing request is made, the header is read from the memory location designated by the CT, and the message transmission processing is performed. At the end of the transmission process, the C is used to indicate the storage address of the header to be processed next.
Transmission processing means for performing the transmission processing until T indicated is updated and the indicated value of PR and the indicated value of CT match, and the receiving device includes a header of a message received from the interprocessor network. And an HR (message header register) for storing the address and a B for storing the address of the MB (message buffer) prepared in advance on the memory.
And an AR (buffer address register), which stores a header in the HR when a message is received, and a reception processing unit which stores the header in a destination memory address in the header or an address of a memory designated by the BAR. In addition, the CPU writes a header at an HB address designated by the PR copy in the memory, and then updates the designated value of the PR and the PR copy to the address at which the next header is written. Update means and the PR
At the time of updating, when the comparison means that compares the instruction values of the PR copy and the LP and the comparison of the instruction values are notified from the comparison means, the instruction value of the CT of the transmission device is read and the instruction of the LP is issued. A CT updating means for updating the value to a value immediately before the indicated value of the CT, and a canceling means for stopping the writing of the header when the indicated values of PR and LP are the same even after the CT update. processor for performing communication between processors, characterized in that it comprises.
PR、CT、およびRLをUP(ユーザプロセス)用お
よびOS(オペレーティングシステム)用に2組備え、
かつ、送信するメッセージの種類を格納し、UP用RL
およびOS用RL両者の出力を受け、前記CPUでUP
およびOSが動作する際、UP用RLで指示値の相違が
検出された場合にはUPからの送信処理依頼の発生と判
断する一方、OS用RLで指示値の相違が検出された場
合にはOSからの送信処理依頼の発生と判断し、また、
両者が相違する場合には、OSからの送信処理依頼の発
生と判断することによりUPおよびOSの一方を選択す
るSQ(シーケンサ)と、該SQから送信処理依頼の発
生を通知された際、該当するCTが指示しているメモリ
のアドレスからヘッダを読み出し、該ヘッダ内の各情報
を該当する各レジスタに格納すると共に、該当メッセー
ジがUP用かOS用かを示すメッセージの種別情報を設
定して送信処理を行ない、該メッセージの処理を終了す
る際、次のメッセージヘッダを指示するように該当する
CTの指示値を更新する送信処理手段とを備えることを
特徴とするプロセッサ間通信を行うプロセッサ。7. The transmitter according to claim 6 , wherein the PR, CT, and RL are provided in two sets for UP (user process) and OS (operating system), respectively.
In addition, the type of message to be sent is stored, and the RL for UP is stored.
And outputs both OS RL and UP by the CPU
When the RL for OS detects a difference in the indicated values when the OS and the OS operate, it is determined that a transmission processing request from the UP has occurred, while when a difference in the indicated values is detected in the RL for the OS. It is judged that the transmission processing request from the OS has occurred, and
If the two are different, the SQ (sequencer) that selects one of the UP and the OS by determining that the transmission processing request is generated from the OS, and the SQ (sequencer) that is notified when the transmission processing request is generated from the SQ The header is read from the memory address designated by the CT, the information in the header is stored in the corresponding registers, and the message type information indicating whether the corresponding message is for UP or OS is set. A processor for performing inter-processor communication, comprising: a transmission processing means for performing a transmission process and updating a corresponding CT instruction value to instruct a next message header when the processing of the message is completed.
とも、宛先プロセッサを指定する情報(以後、宛先プロ
セッサ番号)、メッセージの長さ情報(以後、メッセー
ジ語数)、メモリに格納されているメッセージ本体の先
頭アドレス(以後、ソースアドレス)、メッセージを送
る送り先プロセッサのメモリアドレス(以後、宛先メモ
リアドレス)、並びに、少なくとも、メッセージの処理
先および書き込み先を区別するメッセージの種類を表す
情報(以後、メッセージ種別)を含み、 前記送信装置は、前記PR、CT、RLに加えて、宛先
プロセッサ番号を格納するER(宛先プロセッサ番号レ
ジスタ)と、前記ソースアドレスを格納するSAR(ソ
ースアドレスレジスタ)と、前記宛先メモリアドレスを
格納するDAR(宛先アドレスレジスタ)とを、UP
(ユーザプロセス)用およびOS(オペレーティングシ
ステム)用に2組備え、かつ、前記SQに加えて、転送
する前記メッセージ語数を格納するLR(メッセージ語
数レジスタ)と、前記UPのヘッダ内の宛先プロセッサ
番号を制限するための数値を前記OSにより格納される
MKR(マスクレジスタ)およびOFR(オフセットレ
ジスタ)と、前記UPによる送信処理依頼があった場
合、UP用の前記HBからヘッダ内の宛先プロセッサ番
号を読み出し、読み出した該宛先プロセッサ番号と前記
MKRの格納値とを入力する論理積回路と、論理積回路
の出力値と前記OFRの格納値とを入力し、前記ERに
宛先プロセッサ番号として出力する論理和回路とを備え
ることを特徴とするプロセッサ間通信を行うプロセッ
サ。8. The header according to claim 7 , wherein the header is at least information designating a destination processor (hereinafter, destination processor number), message length information (hereinafter, message number), and a message body stored in a memory. Header address (hereinafter, source address), the memory address of the destination processor that sends the message (hereinafter, destination memory address), and at least information indicating the message type that distinguishes the processing destination and the writing destination of the message (hereinafter, the message Type), the transmission device includes, in addition to the PR, CT, and RL, an ER (destination processor number register) that stores a destination processor number, a SAR (source address register) that stores the source address, and DAR (destination address record) that stores the destination memory address Up)
Two sets are provided for (user process) and OS (operating system), and in addition to SQ, LR (message word number register) for storing the number of message words to be transferred, and destination processor number in the header of the UP. The MKR (mask register) and the OFR (offset register) stored by the OS, and the destination processor number in the header from the HB for UP when a transmission processing request is made by the UP. A logical product circuit for inputting the read destination processor number and the stored value of the MKR, and an output value of the logical product circuit and the stored value of the OFR are input and output to the ER as a destination processor number. A processor for performing inter-processor communication characterized by including a sum circuit.
Sa.
は、UPのメッセージのヘッダ内に含まれるソースアド
レスの一部のビットに置き換えるためOSにより予め指
定された置換ビットを格納する領域と、該置換ビット以
外の部分を格納するUPにより指定されたソースアドレ
ス部分の領域とを有し、 前記送信装置は、UPによる送信処理依頼があった場
合、前記メモリ内のヘッダから読み出されたソースアド
レスをUP用のSARに格納し、メッセージの本体を読
み出す際には、UPに指定されてSARに格納されたソ
ースアドレスに前記置換ビットの数値を組み合わせたア
ドレスから、メッセージ本体を読み出して、プロセッサ
間ネットワークに送出する送信処理手段を有することを
特徴とするプロセッサ間通信を行うプロセッサ。9. The SAR for UP according to claim 7 ,
Is an area for storing a replacement bit designated in advance by the OS for replacing a part of bits of the source address included in the header of the UP message, and a source designated by the UP for storing a portion other than the replacement bit. The transmission device stores the source address read from the header in the memory in the UP SAR and reads the body of the message when a transmission processing request is made by the UP. In this case, a transmission processing means for reading out the message body from an address obtained by combining the source address specified in the UP and stored in the SAR with the numerical value of the replacement bit and transmitting the message to the interprocessor network is provided. A processor that performs inter-processor communication.
は、UPのメッセージのヘッダ内に含まれる宛先メモリ
アドレスの一部のビットに置き換えるためOSにより予
め指定された置換ビットを格納する領域と、該置換ビッ
ト以外の部分を格納するUPにより指定された宛先メモ
リアドレス部分の領域とを有し、 前記送信装置は、UPによる送信処理依頼があった場
合、前記メモリ内のヘッダから読み出された宛先メモリ
アドレスをUP用のDARに格納し、メッセージをプロ
セッサ間ネットワークに送出する際には、UPに指定さ
れてDARに格納された宛先メモリアドレスに前記置換
ビットの数値を組み合わせたアドレスをメッセージの宛
先メモリアドレスとして送出する送信処理手段を有する
ことを特徴とするプロセッサ間通信を行うプロセッサ。10. The DAR for UP according to claim 7 .
Is an area for storing a replacement bit previously specified by the OS to replace a part of the bits of the destination memory address included in the header of the UP message, and the UP for storing a part other than the replacement bit. And an area of a destination memory address portion, the transmission device stores the destination memory address read from the header in the memory in the DAR for UP when a transmission processing request is made by the UP, and the message is transmitted. When transmitting to the inter-processor network, it has a transmission processing means for transmitting as the destination memory address of the message an address obtained by combining the destination memory address specified in the UP and stored in the DAR with the numerical value of the replacement bit. A processor that performs inter-processor communication.
き込むと新たな送信処理の開始を行わなくなるSTOP
ビットと、アイドル割り込み許可ビットを有し、前記C
PUが該アイドル割り込み許可ビットに1を書き込む
と、SQは、UP用PRとUP用CTの値が等しくなっ
たときにCPUに割り込みを行ない、STOPビットに
1を書き込み停止するアイドル割り込み発生手段を有す
ることを特徴とするプロセッサ間通信を行うプロセッ
サ。11. The SQ according to claim 7 , wherein the SQ does not start a new transmission process when 1 is written.
Bit and an idle interrupt enable bit,
When the PU writes 1 to the idle interrupt enable bit, the SQ interrupts the CPU when the values of the PR for UP and the CT for UP become equal to each other, and writes an 1 to the STOP bit to stop the idle interrupt generation means. A processor for performing inter-processor communication characterized by having
Sa.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18873495A JP3457432B2 (en) | 1995-02-09 | 1995-07-25 | Method of communication between processors and processor used therefor |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7-21939 | 1995-02-09 | ||
JP2193995 | 1995-02-09 | ||
JP18873495A JP3457432B2 (en) | 1995-02-09 | 1995-07-25 | Method of communication between processors and processor used therefor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000078733A Division JP3424644B2 (en) | 1995-02-09 | 2000-03-21 | Method of communication between processors |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08278952A JPH08278952A (en) | 1996-10-22 |
JP3457432B2 true JP3457432B2 (en) | 2003-10-20 |
Family
ID=26359096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18873495A Expired - Fee Related JP3457432B2 (en) | 1995-02-09 | 1995-07-25 | Method of communication between processors and processor used therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3457432B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005182791A (en) * | 2003-12-12 | 2005-07-07 | Sharp Corp | General purpose embedded processor |
-
1995
- 1995-07-25 JP JP18873495A patent/JP3457432B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08278952A (en) | 1996-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0305068B1 (en) | Controlling asynchronously operating peripherals | |
EP0563623B1 (en) | Communicating messages between processors and a coupling facility | |
FI101432B (en) | Fault-tolerant computer system | |
JPS60160463A (en) | Processor system | |
JPS5935232A (en) | Multiplex communication interface between processor and digital transmission means | |
US5901328A (en) | System for transferring data between main computer multiport memory and external device in parallel system utilizing memory protection scheme and changing memory protection area | |
US5594868A (en) | Processor unit for a parallel processor system discards a received packet when a reception buffer has insufficient space for storing the packet | |
JP3457432B2 (en) | Method of communication between processors and processor used therefor | |
JP3424644B2 (en) | Method of communication between processors | |
JP3137197B2 (en) | Multiprocessor system | |
JP3130892B2 (en) | Redundant system | |
JP3162459B2 (en) | Data processing device | |
JP2992394B2 (en) | Multiprocessor system | |
JP2723245B2 (en) | Facsimile storage and switching equipment | |
JP2000244585A (en) | Bus interface circuit | |
KR100498909B1 (en) | Inter-processor communication redundancy device of exchange system | |
JPH0148574B2 (en) | ||
JPH1011411A (en) | Interruption control system | |
JP2583169B2 (en) | Operation program switching method for communication processing device | |
JPH06242975A (en) | Virtual computer dispatch system of multiple information processing system | |
JP2000353106A (en) | Device and method for transferring data | |
JPH0414378B2 (en) | ||
JPS63233451A (en) | Main memory replacing system | |
JPH09190415A (en) | Inter-processor communication system | |
JPH0524542B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000118 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070801 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080801 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080801 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090801 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090801 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100801 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120801 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130801 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |