JPH09269936A - Remote reading processing method and device therefor - Google Patents

Remote reading processing method and device therefor

Info

Publication number
JPH09269936A
JPH09269936A JP8103674A JP10367496A JPH09269936A JP H09269936 A JPH09269936 A JP H09269936A JP 8103674 A JP8103674 A JP 8103674A JP 10367496 A JP10367496 A JP 10367496A JP H09269936 A JPH09269936 A JP H09269936A
Authority
JP
Japan
Prior art keywords
remote
processor
read
header
remote read
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
JP8103674A
Other languages
Japanese (ja)
Other versions
JP2924783B2 (en
Inventor
Takeshi Kano
健 加納
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP8103674A priority Critical patent/JP2924783B2/en
Publication of JPH09269936A publication Critical patent/JPH09269936A/en
Application granted granted Critical
Publication of JP2924783B2 publication Critical patent/JP2924783B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To speed up remote reading and to eliminate the interruption of a user program in a destination processor. SOLUTION: A user process traveling on CPU 111 of a processor A writes the request header 170 of remote reading into a header queue 120 and waits for the writing of a remote reading completion notice into a log buffer 127. A transmission device 113 generates the header of remote writing from the header 170, generates a remote read packet 171 having the header in a packet main body and sends it to a processor B. The reception device 214 of the processor B writes the header 270 of remote writing in the received packet 171 into a header queue 221. A transmission device 213 processes the header 270 of remote writing, generates the packets 271 and 274 of a series of remote writing and transmits them to the processor A. A reception device 114 data in the received packets 271 and 274 into a memory 112 and finally writes a remote reading completion notice into the log buffer 127.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、CPU(中央処理
ユニット)とメモリと受信装置と送信装置とを備えた複
数のプロセッサがプロセッサ間ネットワークを通じて相
互に接続されたシステムにおけるプロセッサ間通信に関
し、特に、或るプロセッサが他のプロセッサのメモリ上
のデータを読み出す処理であるリモートリードを、高速
に行うためのリモートリード処理方法およびその装置に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to inter-processor communication in a system in which a plurality of processors each having a CPU (Central Processing Unit), a memory, a receiving device and a transmitting device are connected to each other through an inter-processor network. The present invention relates to a remote read processing method and device for performing remote read at a high speed, which is a process in which a processor reads data on a memory of another processor.

【0002】[0002]

【従来の技術】従来、この種のリモートリードは、OS
(オペレーティング・システム)が行うシステムコール
として実現されており、実際の処理はOS間のメッセー
ジ通信によって処理されていた。また、システムコール
の中では、OSは、宛先プロセッサのOSへのメッセー
ジとして、リモートリードを要求する。以下、図4を参
照して従来技術を説明する。
2. Description of the Related Art Conventionally, this type of remote lead has
It was realized as a system call made by (operating system), and the actual processing was performed by message communication between OSs. In the system call, the OS requests remote read as a message to the OS of the destination processor. The conventional technique will be described below with reference to FIG.

【0003】図4において、プロセッサA101のCP
U111で走っているユーザプログラムからシステムコ
ールremote−readが実行されると、CPU1
11の制御はOSに切り替わり、OSが、データを読み
出す宛先プロセッサのOSへのメッセージとして、リモ
ートリードのメッセージのパーセルヘッダ160をメモ
リ112上のパーセルヘッダキュー120に作成する。
このリモートリードのメッセージのパーセルヘッダ16
0には、このパーセルヘッダ160から生成されるパケ
ット161中に示すように、メッセージの宛先プロセッ
サ番号162,リモートリードであることを示すメッセ
ージの種類163,読み出しワード数164,読み出し
アドレス165,読み出したデータを転送する宛先であ
る自プロセッサ番号(書き込みプロセッサ番号)16
6,読み出したデータの書き込みアドレス167等が含
まれる。そして、CPU111上のOSは送信装置11
3に対して、このリモートリードのメッセージのパーセ
ルの送信を要求する。送信装置113は、メモリ112
上のパーセルヘッダキュー120からこのパーセルヘッ
ダ160を読み出し、リモートリードのメッセージのパ
ケット161を生成し、図示しないプロセッサ間ネット
ワークを通じてプロセッサB201に送り出す。
In FIG. 4, the CP of the processor A101
When the system call remote-read is executed from the user program running in U111, the CPU1
The control of 11 is switched to the OS, and the OS creates the parcel header 160 of the remote read message in the parcel header queue 120 on the memory 112 as a message to the OS of the destination processor that reads the data.
Parcel header 16 of this remote read message
In 0, as shown in the packet 161, which is generated from the parcel header 160, the destination processor number 162 of the message, the message type 163 indicating the remote read, the number of read words 164, the read address 165, and the read are performed. Own processor number (write processor number) 16 to which data is transferred
6, the write address 167 of the read data is included. The OS on the CPU 111 is the transmitter 11
3 is requested to transmit the parcel of this remote read message. The transmitting device 113 has a memory 112.
The parcel header 160 is read from the upper parcel header queue 120, a packet 161 of a remote read message is generated, and the packet 161 is sent to the processor B201 through an interprocessor network (not shown).

【0004】リモートリードのメッセージのパケット1
61を受け取ったプロセッサB201の受信装置214
は、リモートリードのメッセージをメモリ212上のメ
ッセージバッファ228に書き込み、CPU211に対
し割り込みを発生し、OSにメッセージの処理を要求す
る。OSは、メモリ212上のメッセージバッファ22
8から、リモートリードのメッセージを読み出し、読み
出しアドレス165をソースアドレスとし、書き込みア
ドレス167をデスティネーションアドレスとするプロ
セッサA101宛のリモートライトパーセルヘッダ26
0と、プロセッサA101のOSへのリモートリード完
了のメッセージのパーセルヘッダ261とをメモリ21
2上のパーセルヘッダキュー220に作成し、送信装置
213に対して送信要求を発する。
Packet 1 of remote read message
Receiving device 214 of processor B201 that received 61
Writes a remote read message in the message buffer 228 on the memory 212, generates an interrupt to the CPU 211, and requests the OS to process the message. The OS is the message buffer 22 on the memory 212.
The remote read parcel header 26 addressed to the processor A 101 having the read address 165 as the source address and the write address 167 as the destination address.
0 and the parcel header 261 of the remote read completion message to the OS of the processor A 101 are stored in the memory 21.
No. 2 is created in the parcel header queue 220, and a transmission request is issued to the transmission device 213.

【0005】プロセッサB201の送信装置213は、
OSからの送信要求を受け取ると、パーセルヘッダキュ
ー220内のリモートライトのパーセルヘッダ260を
読み出し、処理を行う。リモートライトのパーセルヘッ
ダ260は送信装置213によって、複数のリモートラ
イトパケット262となり、図示しないプロセッサ間ネ
ットワークを通じてプロセッサA101に送られる。そ
の後、送信装置213はパーセルヘッダキュー220内
のリモートリード完了のメッセージヘッダ261を読み
出して処理することにより、リモートリードの完了を伝
えるメッセージのパケット265をプロセッサA101
のOSに送る。
The transmitter 213 of the processor B201 is
Upon receiving the transmission request from the OS, the remote write parcel header 260 in the parcel header queue 220 is read out and processed. The remote write parcel header 260 becomes a plurality of remote write packets 262 by the transmitting device 213 and is sent to the processor A 101 through the inter-processor network (not shown). After that, the transmission device 213 reads the remote read completion message header 261 in the parcel header queue 220 and processes it to process the packet 265 of the message to notify the completion of the remote read to the processor A101.
Send to OS.

【0006】プロセッサA101の受信装置114は、
プロセッサB201からのリモートライトパケット26
2を受け取ると、そのパケット本体264をデスティネ
ーションアドレス263で指定されたメモリ112上の
アドレスに書き込む。また受信装置114は、その後に
続く、OSへのメッセージを受け取ると、メモリ112
上のメッセージバッファ128に書き込み、CPU11
1に対し割り込みを発生させる。OSは、メッセージを
読み出し、リモートリードの完了を知り、システムコー
ルから抜け出し、制御をユーザプログラムに移す。
The receiver 114 of the processor A101 is
Remote write packet 26 from processor B201
When 2 is received, the packet body 264 is written to the address on the memory 112 designated by the destination address 263. When the receiving device 114 receives the subsequent message to the OS, the receiving device 114 receives the message from the memory 112.
Write to upper message buffer 128, CPU11
Generate an interrupt for 1. The OS reads the message, knows the completion of the remote read, exits the system call, and transfers control to the user program.

【0007】[0007]

【発明が解決しようとする課題】リモートリードは、読
み出したデータが次の処理に必要な場合が多く、いかに
速く処理するかで、プログラム全体の性能が左右され
る。従って、できるだけ速く処理しなければならない
が、上述した従来技術では、以下の点が問題である。
In remote read, read data is often necessary for the next processing, and the speed of processing the remote read affects the performance of the entire program. Therefore, the processing must be performed as quickly as possible, but the following problems are problems in the above-described conventional technology.

【0008】第1の問題点は、リモートリードを行った
プロセッサでのリモートリード要求を行うまでの処理時
間が長くかかることである。その理由は、リモートリー
ドがOS間のメッセージによって実現されているため、
リモートリードを行う場合、システムコールを行う必要
があり、ユーザプログラムからOSへのコンテクストス
イッチが発生し、処理に時間がかかるからである。
The first problem is that it takes a long processing time until a remote read request is issued by the processor that has performed the remote read. The reason is that remote read is realized by messages between OSs,
This is because when performing remote read, it is necessary to make a system call, a context switch from the user program to the OS occurs, and processing takes time.

【0009】第2の問題点は、リモートリードを依頼さ
れたプロセッサで、その処理時間が長くかかることであ
る。その理由は、リモートリードの要求はOS間のメッ
セージという形で伝えられるため、ユーザのプログラム
を実行していたCPUをOSに切り替えるための、コン
テクストスイッチの時間が必要となり、処理に時間がか
かるからである。
The second problem is that it takes a long processing time for a processor requested for remote read. The reason for this is that the remote read request is transmitted in the form of a message between OSs, and therefore it requires context switch time to switch the CPU that was executing the user's program to the OS, and processing takes time. Is.

【0010】第3の問題点は、リモートリードを要求さ
れたプロセッサでのユーザプログラムの実行時間が長く
なるということである。その理由は、リモートリードの
要求はOS間のメッセージという形で伝えられ、ユーザ
のプログラムを実行していたCPUをOSに切り替える
ため、ユーザプログラムが中断されるからである。
The third problem is that the execution time of the user program in the processor requested for remote reading becomes long. The reason is that the remote read request is transmitted in the form of a message between OSs, and the CPU that was executing the user's program is switched to the OS, so the user program is interrupted.

【0011】即ち、従来技術では、リモートリードを行
う場合、システムコールを行うためにユーザプログラム
からOSへのコンテクストスイッチが発生して依頼側プ
ロセッサでの処理に時間がかかり、また、OS間のメッ
セージによってリモートリードが依頼されるために宛先
プロセッサでもOSへのコンテクストの切り替えが必要
となって処理に時間がかかり、さらにそのとき、宛先プ
ロセッサでのユーザプログラムが中断されるという問題
がある。
That is, in the prior art, when a remote read is performed, a context switch from the user program to the OS occurs due to the system call, and it takes time for the requesting processor to process the message. Since a remote read is requested by, the destination processor also needs to switch the context to the OS, which requires a long processing time, and at that time, the user program in the destination processor is interrupted.

【0012】そこで本発明の目的は、リモートリードを
要求したプロセッサ及び要求されたプロセッサでのユー
ザプログラムからOSへのコンテクストスイッチを無く
し、プログラム全体の性能を左右するリモートリードを
高速に処理し得るようにすることにある。
Therefore, an object of the present invention is to eliminate the processor requesting remote read and the context switch from the user program to the OS in the requested processor to enable high-speed processing of remote read which influences the performance of the entire program. Is to

【0013】また、本発明の別の目的は、リモートリー
ドを要求されたプロセッサのCPUでのユーザプログラ
ムの実行を中断しないようにして、ユーザプログラムの
実行時間が長引かないようにすることにある。
Another object of the present invention is to prevent the execution of the user program from being prolonged by not interrupting the execution of the user program in the CPU of the processor for which remote read is requested.

【0014】[0014]

【課題を解決するための手段】本発明のリモートリード
処理方法は、CPUとメモリと送信装置と受信装置とを
備えた複数のプロセッサがプロセッサ間ネットワークを
介して接続されたシステムにおいて、或るプロセッサの
CPU上で走行しているユーザプロセスが別のプロセッ
サのメモリに格納されたデータをリードするリモートリ
ード処理方法において、リモートリード元プロセッサに
おいて、前記ユーザプロセスが、読み出しプロセッサ番
号,読み出しワード数,読み出しアドレスおよび書き込
みアドレスを含むリモートリードパーセルヘッダを、自
プロセッサのメモリ上のパーセルヘッダキューに書き込
んで自プロセッサの送信装置に送信を依頼した後、自プ
ロセッサのメモリ上のログバッファをポーリングしてリ
モートリードの完了を待つステップと、リモートリード
元プロセッサにおいて、送信を依頼された前記送信装置
が、自プロセッサのメモリ上のパーセルヘッダキューか
らリモートリードパーセルヘッダを読み出し、宛先プロ
セッサ番号に自プロセッサ番号を、ワード数に前記読み
出しワード数を、ソースアドレスに前記読み出しアドレ
スを、デスティネーションアドレスに前記書き込みアド
レスを、それぞれ設定したリモートライトパーセルヘッ
ダをパケット本体として持つリモートリードパケットを
生成して、プロセッサ間ネットワークを介して宛先のプ
ロセッサに送信するステップと、リモートリード先プロ
セッサにおいて、プロセッサ間ネットワークを介してリ
モートリードパケットを受信したプロセッサの受信装置
が、受信したリモートリードパケットのパケット本体で
あるリモートライトパーセルヘッダを、自プロセッサの
メモリ上のパーセルヘッダキューに書き込んで自プロセ
ッサの送信装置に送信を依頼するステップと、リモート
リード先プロセッサにおいて、送信を依頼された前記送
信装置が、自プロセッサのメモリ上のパーセルヘッダキ
ューからリモートライトパーセルヘッダを読み出して処
理し、一連のリモートライトのパケットを生成してプロ
セッサ間ネットワークを介してリモートリード元プロセ
ッサに送信するステップと、リモートリード元プロセッ
サにおいて、プロセッサ間ネットワークを介してリモー
トリードに対する応答である一連のリモートライトのパ
ケットを受信した受信装置が、受信したリモートライト
のパケットの本体に含まれるデータを自プロセッサのメ
モリに格納すると共に最後のパケットの受信時に自プロ
セッサのメモリ上のログバッファにリモートリードが完
了した旨を書き込むステップとを含むことを特徴とす
る。
A remote read processing method of the present invention is a processor in a system in which a plurality of processors each having a CPU, a memory, a transmitter and a receiver are connected via an interprocessor network. In a remote read processing method in which a user process running on the CPU reads data stored in the memory of another processor, in the remote read source processor, the user process reads the read processor number, the read word number, and the read. Write the remote read parcel header containing the address and write address to the parcel header queue on the memory of the local processor and request the transmitter of the local processor to send it, and then poll the log buffer on the memory of the local processor for remote read. End of In the remote read source processor, the transmission device requested to transmit reads the remote read parcel header from the parcel header queue on the memory of the self processor, and sets the self processor number to the destination processor number and the word number. A remote read packet having a remote write parcel header in which the read word number, the source address, the read address, the destination address, the write address, and the set remote write parcel header are respectively generated, and the destination is set via the interprocessor network. Of the remote read destination processor, and the remote read destination processor receives the remote read packet via the interprocessor network, and the receiving device of the processor receives the remote read packet. Writing the remote write parcel header, which is the packet body, of the packet to the parcel header queue on the memory of the self-processor and requesting the transmission device of the self-processor to perform transmission; and the transmission device requested to be transmitted at the remote read destination processor. Reads the remote write parcel header from the parcel header queue in the memory of its own processor, processes it, generates a series of remote write packets, and sends them to the remote read source processor via the interprocessor network. In the former processor, the receiving device, which has received a series of remote write packets as a response to the remote read via the interprocessor network, transmits the data contained in the body of the received remote write packet to its own processor. Memory and storing the fact that the remote read is completed in the log buffer on the memory of the processor itself when the last packet is received.

【0015】また、本発明のリモートリード処理装置
は、リモートリード元プロセッサのCPU上で走行して
いるユーザプロセスが前記プロセッサとプロセッサ間ネ
ットワークを介して接続されたリモートリード先プロセ
ッサのメモリに格納されたデータをリードする際の処理
を司るリモートリード処理装置において、リモートリー
ド元プロセッサに設けられ、前記ユーザプロセスが、読
み出しプロセッサ番号,読み出しワード数,読み出しア
ドレスおよび書き込みアドレスを含むリモートリードの
パーセルヘッダを自プロセッサのメモリ上のパーセルヘ
ッダキューに書き込んだ後に出した送信の依頼を受け
て、そのリモートリードのパーセルヘッダを読み出し、
宛先プロセッサ番号に自プロセッサ番号を、ワード数に
前記読み出しワード数を、ソースアドレスに前記読み出
しアドレスを、デスティネーションアドレスに前記書き
込みアドレスを、それぞれ設定したリモートライトパー
セルヘッダをパケット本体として持つリモートリードパ
ケットを、プロセッサ間ネットワークを介してリモート
リード先プロセッサに送信するリモートリード元送信装
置と、リモートリード先プロセッサに設けられ、受信し
たリモートリードパケットのパケット本体であるリモー
トライトパーセルヘッダを、自プロセッサのメモリ上の
パーセルヘッダキューに書き込んで送信を依頼するリモ
ートリード先受信装置と、リモートリード先プロセッサ
に設けられ、前記リモートリード先受信装置からの送信
の依頼を受けて、前記パーセルヘッダキューからリモー
トライトパーセルヘッダを読み出して処理し、一連のリ
モートライトのパケットを生成してプロセッサ間ネット
ワークを介してリモートリード元プロセッサに送信する
リモートリード先送信装置と、リモートリード元プロセ
ッサに設けられ、受信したリモートライトのパケットの
本体に含まれるデータを自プロセッサのメモリに格納す
ると共に最後のパケットの受信時に自プロセッサのメモ
リ上のログバッファにリモートリードが完了した旨を書
き込むリモートリード元受信装置とを備えることを特徴
とする。
In the remote read processing device of the present invention, the user process running on the CPU of the remote read source processor is stored in the memory of the remote read destination processor connected to the processor via the interprocessor network. In the remote read processing device that controls the processing for reading the read data, the user process is provided in the remote read source processor and the user process includes a remote read parcel header including a read processor number, a read word number, a read address, and a write address. In response to the transmission request issued after writing to the parcel header queue on the memory of the local processor, read the parcel header of the remote read,
A remote read packet having a remote write parcel header in which a destination processor number is its own processor number, a word number is the read word number, a source address is the read address, and a destination address is the write address. To the remote read destination processor via the inter-processor network, and the remote write parcel header, which is provided in the remote read destination processor and is the packet body of the received remote read packet, in its own memory. A remote read destination receiver that writes to the above parcel header queue and requests transmission, and is provided in a remote read destination processor, and receives a transmission request from the remote read destination receiver, The remote read destination transmission device that reads and processes the remote write parcel header from the parcel header queue, generates a series of remote write packets, and sends them to the remote read source processor via the interprocessor network, and the remote read source processor. A remote read source that is provided and stores the data contained in the body of the received remote write packet in the memory of the local processor and writes the fact that the remote read is completed to the log buffer on the memory of the local processor when the last packet is received. And a receiver.

【0016】上述した構成のリモートリード処理装置に
あっては、リモートリード元プロセッサのユーザプロセ
スが、読み出しプロセッサ番号,読み出しワード数,読
み出しアドレスおよび書き込みアドレスを含むリモート
リードパーセルヘッダを自プロセッサのメモリ上のパー
セルヘッダキューに書き込んだ後に通常用ヘッダキュー
オフセットレジスタの更新等によって送信を依頼する
と、そのリモートリード元プロセッサの送信装置が、こ
の送信の依頼を受けて、そのリモートリードパーセルヘ
ッダを読み出し、宛先プロセッサ番号に自プロセッサ番
号を、ワード数に前記読み出しワード数を、ソースアド
レスに前記読み出しアドレスを、デスティネーションア
ドレスに前記書き込みアドレスを、それぞれ設定したリ
モートライトパーセルヘッダをパケット本体として持つ
リモートリードパケットを、プロセッサ間ネットワーク
を介してリモートリード先プロセッサに送信する。次
に、リモートリード先プロセッサに設けられたリモート
リード先受信装置が、受信したリモートリードパケット
のパケット本体であるリモートライトパーセルヘッダ
を、自プロセッサのメモリ上のパーセルヘッダキューに
書き込んで、リモートリード用ヘッダキューオフセット
レジスタの更新等によってリモートリード先送信装置に
送信を依頼し、このリモートリード先送信装置が、パー
セルヘッダキューからリモートライトパーセルヘッダを
読み出して処理し、一連のリモートライトのパケットを
生成してプロセッサ間ネットワークを介してリモートリ
ード元プロセッサに送信する。そして、リモートリード
元プロセッサ上に設けられたリモートリード元受信装置
が、受信したリモートライトのパケットの本体に含まれ
るデータを自プロセッサのメモリに格納すると共に最後
のパケットの受信時に自プロセッサのメモリ上のログバ
ッファにリモートリードが完了した旨を書き込み、ユー
ザプロセスにリモートリードの完了を通知する。
In the remote read processing device having the above-mentioned configuration, the user process of the remote read source processor places the remote read parcel header including the read processor number, the read word number, the read address and the write address on the memory of its own processor. When the transmission is requested by updating the normal header queue offset register after writing to the parcel header queue of, the transmitter of the remote read source processor receives the request for transmission, reads the remote read parcel header, and sends it to the destination. The processor number is its own processor number, the word number is the read word number, the source address is the read address, and the destination address is the write address. The remote read packet with a header as a packet body, and transmits to the remote read destination processor via the interprocessor network. Next, the remote read destination receiving device provided in the remote read destination processor writes the remote write parcel header, which is the packet body of the received remote read packet, into the parcel header queue on the memory of its own processor for remote read. A request is sent to the remote read destination transmission device by updating the header queue offset register, etc., and this remote read destination transmission device reads the remote write parcel header from the parcel header queue and processes it to generate a series of remote write packets. To the remote read source processor via the interprocessor network. Then, the remote read source receiving device provided on the remote read source processor stores the data contained in the main body of the received remote write packet in the memory of its own processor, and at the time of receiving the last packet, the data in the memory of its own processor. It writes that the remote read is completed in the log buffer of and notifies the user process of the completion of the remote read.

【0017】[0017]

【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Next, an example of an embodiment of the present invention will be described in detail with reference to the drawings.

【0018】図1は、本発明の一実施例のブロック図で
ある。図1に示されるように、複数のプロセッサ1は、
プロセッサ間ネットワーク2によって接続されている。
また各々のプロセッサ1は、CPU11と、メモリ12
と、送信装置13と、受信装置14と、これらを接続す
るバス10とを有している。なお、送信装置13と受信
装置14とでプロセッサ間通信装置が構成される。
FIG. 1 is a block diagram of an embodiment of the present invention. As shown in FIG. 1, the plurality of processors 1 are
They are connected by the inter-processor network 2.
Each processor 1 includes a CPU 11 and a memory 12.
It has a transmitting device 13, a receiving device 14, and a bus 10 connecting them. The transmitter 13 and the receiver 14 constitute an interprocessor communication device.

【0019】メモリ12上には通常用パーセルヘッダキ
ュー20とリモートリード用パーセルヘッダキュー21
の2つのパーセルヘッダキューが設けられている。リモ
ートリード用パーセルヘッダキュー21はリモートリー
ドの結果を送り返すのに用いられ、通常用パーセルヘッ
ダキュー20はそれ以外のパーセルの送信に用いられ
る。
On the memory 12, a normal parcel header queue 20 and a remote read parcel header queue 21.
2 parcel header queues are provided. The remote read parcel header queue 21 is used to send back the remote read result, and the normal parcel header queue 20 is used to send other parcels.

【0020】送信装置13内には、通常用パーセルヘッ
ダキュー20を指す通常用ヘッダキューベースアドレス
レジスタ30および通常用ヘッダキューオフセットレジ
スタ32がある。通常用パーセルヘッダキュー20は通
常用ヘッダキュー20の先頭位置を示し、通常用ヘッダ
キューオフセットレジスタ32は通常用ヘッダキュー2
0内でのパーセルヘッダの書き込み位置を先頭からの相
対アドレスで示す。また、通常用ヘッダキュー20中に
未処理のパーセルヘッダが存在しない状態で通常用ヘッ
ダキューオフセットレジスタ32の値と等しい値を保持
する通常用ヘッダキューオフセットレジスタ31があ
る。更に、通常用ヘッダキューオフセットレジスタ32
の値と通常用ヘッダキューオフセットレジスタ31の値
とを比較する比較器33が設けられており、その比較結
果はシーケンサ37に入力される。また、上記の通常用
ヘッダキューオフセットレジスタ31の値のコピー25
が、通常用パーセルヘッダキュー20のベースアドレス
24(通常用ヘッダキューベースアドレスレジスタ30
の値と等価)と共にメモリ12上に格納されている。ま
た、通常用パーセルヘッダキュー20のどこまでが空き
なのかを示す(但し、どこまでが空きかは正確には通常
用ヘッダキューオフセットレジスタ32の値で決まる)
通常用ラストポインタ26もメモリ12上に格納されて
おり、CPU11はこれらの値を用いて通常用パーセル
ヘッダキュー20にパーセルヘッダ22を書き込む。
Within the transmitter 13, there is a normal header queue base address register 30 and a normal header queue offset register 32 that point to the normal parcel header queue 20. The normal parcel header queue 20 indicates the head position of the normal header queue 20, and the normal header queue offset register 32 indicates the normal header queue 2.
The write position of the parcel header within 0 is indicated by a relative address from the beginning. Further, there is a normal header queue offset register 31 that holds a value equal to the value of the normal header queue offset register 32 in a state where there is no unprocessed parcel header in the normal header queue 20. Further, the normal header queue offset register 32
Is provided with a comparator 33 for comparing the value of 1 with the value of the header queue offset register 31 for normal use, and the comparison result is input to the sequencer 37. Also, a copy 25 of the value of the above-mentioned normal header queue offset register 31
However, the base address 24 of the normal parcel header queue 20 (the normal header queue base address register 30
(Equivalent to the value of) and stored in the memory 12. It also indicates how much space is left in the normal parcel header queue 20 (however, exactly how much is free is determined by the value in the normal header queue offset register 32).
The normal last pointer 26 is also stored in the memory 12, and the CPU 11 writes the parcel header 22 in the normal parcel header queue 20 using these values.

【0021】通常用パーセルヘッダキュー20と同じよ
うに、リモートリード用パーセルヘッダキュー21に
も、それ用の下記のようなレジスタがある。先ず、受信
装置14には、リモートリード用ヘッダキューベースア
ドレスレジスタ50及びリモートリード用ヘッダキュー
オフセットレジスタ51がある。リモートリード用ヘッ
ダキューベースアドレスレジスタ50はリモートリード
用パーセルヘッダキュー21の先頭を指し、リモートリ
ード用ヘッダキューオフセットレジスタ51はリモート
リード用パーセルヘッダキュー21の書き込み位置をそ
の先頭からの相対アドレスで示す。これらは、受信装置
14がリモートリードの結果を送るためのパーセルヘッ
ダ22をリモートリード用パーセルヘッダキュー21に
書き込む時に用いられる。また、受信装置14は、リモ
ートリード用パーセルヘッダキュー21の空きの最後を
示す(但し、どこまでが空きかは正確にはリモートリー
ド用ヘッダキューオフセットレジスタ35の値で決ま
る)リモートリード用ラストポインタ52も装備してい
る。上述のリモートリード用ヘッダキューオフセットレ
ジスタ51とリモートリード用ラストポインタ52の値
は、比較器53によって比較され、その比較結果がシー
ケンサ55に入力されている。他方、送信装置13に
は、リモートリード用ヘッダキューベースアドレスレジ
スタ50およびリモートリード用ヘッダキューオフセッ
トレジスタ51と同様のリモートリード用ヘッダキュー
ベースアドレスレジスタ34およびリモートリード用ヘ
ッダキューオフセットレジスタ35があり、双方のリモ
ートリード用ヘッダキューオフセットレジスタ51,3
5の値を比較する比較器36を備えている。また、リモ
ートリード用ヘッダキューオフセットレジスタ35の値
は受信装置14内のデクリメンタ(−1回路)54で1
引かれ、リモートリード用ラストポインタ52に設定で
きるようになっている。
Similar to the normal parcel header queue 20, the remote read parcel header queue 21 also has the following registers for it. First, the receiving device 14 has a remote read header queue base address register 50 and a remote read header queue offset register 51. The remote read header queue base address register 50 points to the beginning of the remote read parcel header queue 21, and the remote read header queue offset register 51 indicates the write position of the remote read parcel header queue 21 as a relative address from the beginning. . These are used when the receiving device 14 writes the parcel header 22 for sending the remote read result in the remote read parcel header queue 21. Further, the receiving device 14 indicates the end of the empty space of the remote read parcel header queue 21 (however, the exact space is determined by the value of the remote read header queue offset register 35) and the remote read last pointer 52. Is also equipped. The values of the remote read header queue offset register 51 and the remote read last pointer 52 are compared by the comparator 53, and the comparison result is input to the sequencer 55. On the other hand, the transmission device 13 has a remote read header queue base address register 34 and a remote read header queue offset register 35 similar to the remote read header queue base address register 50 and the remote read header queue offset register 51. Both remote read header queue offset registers 51, 3
A comparator 36 for comparing the values of 5 is provided. The value of the remote read header queue offset register 35 is set to 1 by the decrementer (-1 circuit) 54 in the receiving device 14.
The remote read last pointer 52 can be set.

【0022】送信装置13は、また、メモリ12上の2
つのパーセルヘッダキュー20,21から読み出したパ
ーセルヘッダ22を格納するパーセルヘッダレジスタ3
8を備えている。このパーセルヘッダレジスタ38に
は、リモートリードのパーセルヘッダの処理に必要なリ
モートライトのパーセルヘッダの1ワード目39が予め
格納されている。更に、送信装置13は、パーセルヘッ
ダ22に書かれたソースアドレスが論理アドレスなの
で、それを物理アドレスに変換するためのTLB40を
備えている。
The transmitting device 13 also includes the memory 2 on the memory 12.
Parcel header register 3 for storing parcel headers 22 read from one parcel header queue 20, 21
8 is provided. The parcel header register 38 stores in advance the first word 39 of the remote write parcel header required for processing the remote read parcel header. Further, since the source address written in the parcel header 22 is a logical address, the transmitting device 13 is provided with the TLB 40 for converting it into a physical address.

【0023】受信装置14は、また、プロセッサ間ネッ
トワーク2から送られてきたパケットを一時格納するF
IFOメモリ56と、そのパケットのヘッダ部分を格納
するパケットヘッダレジスタ57を備えている。また、
受信装置14は、送られてきたパケットの書き込みアド
レスを論理アドレスから物理アドレスに変換するための
TLB58を備えている。
The receiver 14 also stores the packet sent from the interprocessor network 2 temporarily.
An IFO memory 56 and a packet header register 57 for storing the header portion of the packet are provided. Also,
The receiving device 14 includes a TLB 58 for converting the write address of the transmitted packet from a logical address to a physical address.

【0024】更に、メモリ12上には、受信装置14が
受信したリモートリードの返答のパケットの最後のパケ
ットの到着をユーザプロセスに知らせるためのログバッ
ファ27が設けられており、受信装置14には、このロ
グバッファ27の書き込みアドレスを保持するログバッ
ファアドレスレジスタ59がある。
Further, the memory 12 is provided with a log buffer 27 for notifying the user process of the arrival of the last packet of the remote read response packets received by the receiving device 14, and the receiving device 14 has the log buffer 27. There is a log buffer address register 59 that holds the write address of this log buffer 27.

【0025】図3は各種パーセルヘッダとそれから生成
されるパケットの構成を例示している。
FIG. 3 exemplifies the structure of various parcel headers and the packets generated from them.

【0026】このうち、図3(a)は、一般のパーセル
ヘッダ300とパケット305の構成を示している。パ
ーセルヘッダ300は4ワードで構成される。1ワード
目301には、パーセルの種類や宛先のプロセッサ番
号,宛先プロセッサでの書き込みアドレス(デスティネ
ーションアドレス)が指定されているかどうかなどが指
定される。2ワード目302には、このパーセルで転送
するワード数が指定される。プロセッサ間ネットワーク
2を転送されるパケットは、プロセッサ間ネットワーク
2のハードウェアの制限で大きさが限られているので、
一般に、ここに指定されたワード数を転送するために
は、複数のパケットが用いられる。3ワード目303に
は、転送するデータが格納してあるメモリ12の先頭ア
ドレス(ソースアドレス)が指定される。4ワード目3
04には、宛先プロセッサでの書き込みアドレスである
デスティネーションアドレスが指定される。1ワード目
301で書き込みアドレスを送り側が指定しないことが
書かれた場合には、4ワード目304は使われない。す
なわち、送信装置13で4ワード目304の値は無視さ
れる。
Of these, FIG. 3A shows the structure of a general parcel header 300 and a packet 305. The parcel header 300 is composed of 4 words. In the first word 301, the type of parcel, the processor number of the destination, whether the write address (destination address) in the destination processor is designated, and the like are designated. In the second word 302, the number of words to be transferred by this parcel is designated. Since the size of the packet transferred through the interprocessor network 2 is limited due to the hardware limitation of the interprocessor network 2,
In general, multiple packets are used to transfer the number of words specified here. In the third word 303, the start address (source address) of the memory 12 in which the data to be transferred is stored is designated. 4th word 3
In 04, a destination address which is a write address in the destination processor is designated. If it is written in the first word 301 that the sender does not specify the write address, the fourth word 304 is not used. That is, the value of the fourth word 304 is ignored by the transmitting device 13.

【0027】このパーセルヘッダ300が送信装置13
で処理され、複数のパケット305となって、プロセッ
サ間ネットワーク2に送出される。パケット305の1
ワード目306には、パーセルヘッダ300の1ワード
目301とほぼ同じ情報が格納される。つまり、パケッ
トの種類や宛先プロセッサ番号,書き込みアドレスの選
択などである。その他に、宛先プロセッサでの受信が終
了した時点で、ログバッファ27に受信終了したことを
書き込むかどうかも指定される。2ワード目307に
は、パケット本体のワード数が指定される。3ワード目
308には、デスティネーションアドレスが格納され
る。もし、宛先プロセッサでの書き込みアドレスを受信
側が決定する場合には、パケットヘッダの3ワード目3
08は存在しない。これらパケットヘッダの後ろには、
パケットの本体309である転送されるデータが続く。
This parcel header 300 is transmitted by the transmitter 13.
Are processed into a plurality of packets 305 and sent to the interprocessor network 2. Packet 1 of 305
The word 306 stores almost the same information as the first word 301 of the parcel header 300. In other words, the type of packet, destination processor number, selection of write address, etc. In addition, it is also designated whether or not to write the completion of reception in the log buffer 27 when the reception by the destination processor is completed. In the second word 307, the number of words in the packet body is designated. The destination address is stored in the third word 308. If the receiving side determines the write address in the destination processor, the third word of the packet header 3
08 does not exist. After these packet headers,
Followed by the data to be transferred, which is the body 309 of the packet.

【0028】図3(b)は、リモートライトのパーセル
ヘッダ310とパケット315の形式を説明している。
リモートライトのパーセルヘッダ310の1ワード目3
11には、リモートライトのパーセルであることと宛先
プロセッサ番号,デスティネーションアドレスがあるこ
となどが指定されている。2ワード目312には転送す
るワード数が指定され、3ワード目313,4ワード目
314には、転送するデータのメモリ12上の格納アド
レスであるソースアドレスと、宛先プロセッサでの書き
込みアドレスであるデスティネーションアドレスとが指
定される。
FIG. 3B illustrates the format of the remote write parcel header 310 and packet 315.
Remote write parcel header 310 first word 3
In 11, it is specified that it is a remote write parcel, that there is a destination processor number, and that there is a destination address. The number of words to be transferred is specified in the second word 312, and the source address, which is the storage address of the data to be transferred on the memory 12, and the write address in the destination processor are specified in the third word 313 and the fourth word 314. The destination address and is specified.

【0029】リモートライトのパーセルヘッダ310か
ら生成されるパケット315では、リモートライトのパ
ケットであることと宛先プロセッサ番号,デスティネー
ションが付加されていることと、ログバッファ27にロ
グを残すかどうかを指定するビットが1ワード目316
に指定され、2ワード目317にはパケット本体のワー
ド数が、3ワード目318にはデスティネーションアド
レスが、それぞれ指定される。そして、その後にパケッ
ト本体319である転送するデータが続く。
In the packet 315 generated from the remote write parcel header 310, it is specified that the packet is a remote write, the destination processor number and the destination are added, and whether to leave a log in the log buffer 27. The bit to do is the first word 316
The number of words in the packet body is designated in the second word 317, and the destination address is designated in the third word 318. Then, the packet body 319 is followed by the data to be transferred.

【0030】図3(c)は、リモートリードのパーセル
ヘッダ320とパケット325とを説明している。リモ
ートリードのパーセルヘッダ320の1ワード目321
には、リモートリードのパーセルヘッダであることと、
宛先のプロセッサ番号とが格納される。2ワード目32
2にはリモートリードで読み出すワード数が、3ワード
目323には宛先プロセッサでの読み出しアドレスが、
4ワード目324にはリモートリードの結果を書き込む
アドレスが、それぞれ格納されている。
FIG. 3C illustrates a remote read parcel header 320 and a packet 325. Remote read parcel header 320 first word 321
Is the remote read parcel header and
The destination processor number is stored. Second word 32
2 is the number of words read by remote read, and the third word 323 is the read address of the destination processor.
In the fourth word 324, an address to write the remote read result is stored.

【0031】送信装置13は、リモートリードのパーセ
ルヘッダ320の場合には、通常のパーセルヘッダとは
異なった処理をして、リモートリードのパケット325
を作成する。リモートリードのパケット325は、1ワ
ード目326に、リモートリードのパケットであること
と、宛先プロセッサ番号とが格納される。2ワード目3
27には、リモートリードのパーセルヘッダ320の2
ワード目322の値ではなく、パケット本体のワード数
である4が格納される。3ワード目以降のパケット本体
にあたる部分には、リモートライトのパーセルヘッダ3
28を構成する4ワードが格納される。すなわち、3ワ
ード目329には、リモートライトのパーセルヘッダと
宛先である自分のプロセッサ番号とが、4ワード目33
0には、パーセルヘッダ320の2ワード目322で指
定されていたリモートリードで読み出すワード数が、5
ワード目331には、パーセルヘッダ320の3ワード
目323で指定されていた宛先プロセッサでの読み出し
アドレスがソースアドレスとして、6ワード目332に
は、パーセルヘッダ320の4ワード目324で指定さ
れていたリモートリードの結果を書き込むアドレスがデ
スティネーションアドレスとして、それぞれ格納され
る。リモートリードのパケット325は、その読み出し
ワード数にかかわらず、パケットワード数が4の1つの
パケットとなる。
In the case of the remote read parcel header 320, the transmitting device 13 performs processing different from that of the normal parcel header, and the remote read packet 325.
Create In the remote read packet 325, the first word 326 stores the remote read packet and the destination processor number. 2nd word 3
27 includes 2 of the parcel header 320 of the remote lead.
Instead of the value of the word 322, 4 which is the number of words in the packet body is stored. Remote write parcel header 3 in the part of the packet body after the 3rd word
The four words that make up 28 are stored. That is, the third word 329 contains the remote write parcel header and the processor number of the destination, which is the fourth word 33.
In 0, the number of words read by the remote read designated by the second word 322 of the parcel header 320 is 5
The read address in the destination processor, which was specified in the third word 323 of the parcel header 320, was specified as the source address in the word 331, and was specified in the fourth word 324 of the parcel header 320 in the sixth word 332. The address where the remote read result is written is stored as the destination address. The remote read packet 325 is one packet having a packet word number of 4 regardless of the read word number.

【0032】図2は本実施例におけるリモートリードの
動作説明図であり、プロセッサA101のユーザプログ
ラムがプロセッサB201のメモリ212上のデータ2
29をリモートリードする場合を説明している。以下、
その動作について各図を参照しながら説明する。
FIG. 2 is a diagram for explaining the operation of remote read in this embodiment. The user program of the processor A101 is the data 2 on the memory 212 of the processor B201.
The case where 29 is remotely read is described. Less than,
The operation will be described with reference to the drawings.

【0033】図2において、プロセッサA101で動作
しているユーザプログラムが、通信ライブラリ関数re
mote−readを実行したとする。通信ライブラリ
関数remote−readの引数には、読み出しプロ
セッサ番号,読み出しワード数,宛先プロセッサでの読
み出しアドレス,読み出した結果を書き込むアドレスが
指定される。通信ライブラリはメモリ112上の通常用
ヘッダキューベースアドレスレジスタ24の値と通常用
ヘッダキューオフセットレジスタ31のコピー25の値
とを組み合わせてパーセルヘッダを書き込むアドレスを
計算し、そのアドレスにリモートリードのパーセルヘッ
ダ170を書き込み、送信装置113内の通常用ヘッダ
キューオフセットレジスタ31を1ヘッダ分更新する。
それと同時にメモリ112上の通常用ヘッダキューオフ
セットレジスタ31のコピー25も1ヘッダ分更新す
る。その後、通信ライブラリは、メモリ112上のログ
バッファ127をポーリングし、リモートリードの結果
が書き込まれるのを待つ。ここで、ユーザプログラムお
よび通信ライブラリがユーザプロセスを構成している。
In FIG. 2, the user program running on the processor A101 is a communication library function re.
It is assumed that the mote-read is executed. As the arguments of the communication library function remote-read, the read processor number, the number of read words, the read address in the destination processor, and the address to write the read result are specified. The communication library calculates the address to write the parcel header by combining the value of the normal header queue base address register 24 on the memory 112 and the value of the copy 25 of the normal header queue offset register 31, and calculates the remote read parcel at that address. The header 170 is written and the normal header queue offset register 31 in the transmitter 113 is updated by one header.
At the same time, the copy 25 of the normal header queue offset register 31 on the memory 112 is also updated by one header. After that, the communication library polls the log buffer 127 on the memory 112 and waits for the result of the remote read to be written. Here, the user program and the communication library constitute a user process.

【0034】なお、パーセルヘッダ170の書き込み
時、通信ライブラリは、通常用ヘッダキューオフセット
のコピー25と通常用ラストポインタ26の値とを比較
し、一致していれば、通常用ヘッダキューオフセットレ
ジスタ32の値を通常用ラストポインタ26に設定し直
して再度比較を行い、それでも一致していれば、通常用
パーセルヘッダキュー120がほぼ満杯なので、その旨
をOSに伝える。一致していなければ、通常用パーセル
ヘッダキュー120に空きが十分にあるので、処理を続
ける。
At the time of writing the parcel header 170, the communication library compares the copy 25 of the normal header queue offset with the value of the normal last pointer 26, and if they match, the normal header queue offset register 32. Value is reset to the normal last pointer 26 and the comparison is performed again. If the values still match, the normal parcel header queue 120 is almost full, and this is notified to the OS. If they do not match, there is sufficient space in the normal parcel header queue 120, and the processing is continued.

【0035】一方、プロセッサA101の送信装置11
3では、通常用ヘッダキューオフセットレジスタ31の
値と通常用ヘッダキューオフセットレジスタ32の値と
が比較器33で比較されているが、上述のように通信ラ
イブラリが通常用ヘッダキューオフセットレジスタ31
を1ヘッダ分更新すると、両者の値が異なるものとな
り、その旨が比較器33からシーケンサ37に伝えられ
る。これにより、シーケンサ37は自送信装置に送信が
依頼されたことを認識し、パーセルの送信処理を開始す
る。
On the other hand, the transmitter 11 of the processor A101
In 3, the value of the normal header queue offset register 31 and the value of the normal header queue offset register 32 are compared by the comparator 33. As described above, the communication library uses the normal header queue offset register 31.
Is updated by one header, the two values become different, and the fact is notified from the comparator 33 to the sequencer 37. As a result, the sequencer 37 recognizes that its own transmission device has been requested to transmit, and starts parcel transmission processing.

【0036】まず、シーケンサ37は、通常用ヘッダキ
ューアドレスベースレジスタ30および通常用ヘッダキ
ューオフセットレジスタ32の値が指すメモリ112の
アドレスから4ワードのパーセルヘッダ170を読み出
し、パーセルヘッダレジスタ38に格納する。次に、こ
のパーセルヘッダ170の1ワード目(図3(c)の3
21に相当)に書かれたパーセルの種類を検査し、この
パーセルヘッダ170がリモートリードのパーセルヘッ
ダであることを認識する。そして、パーセルヘッダの1
ワード目321をリモートリードのパケットの1ワード
目172に変換し、プロセッサ間ネットワーク2に送
る。そして、パケット長である4ワードをリモートリー
ドのパケットの2ワード目173としてプロセッサ間ネ
ットワーク2に送る。次に、予めパーセルヘッダレジス
タ38に格納されていたリモートライトのパケットヘッ
ダの1ワード目39に自分のプロセッサ番号を組み込み
リモートリードのパケットの3ワード目174としてプ
ロセッサ間ネットワーク2に送る。その後、パーセルヘ
ッダレジスタ38に格納したリモートリードのパーセル
ヘッダの2ワード目322から4ワード目324を、リ
モートリードのパケットの4ワード目175から6ワー
ド目177として、プロセッサ間ネットワーク2に送
る。以上で、プロセッサA101でのリモートリードの
パーセルの送出処理が完了する。なお、送信装置13は
通常用ヘッダキュー20中の1つのパーセルヘッダ22
を処理し終える毎に通常用ヘッダキューオフセットレジ
スタ32を1ヘッダ分増やす。この結果、通常用ヘッダ
キュー20の空き領域が増えるが、メモリ12に対する
アクセス頻度の増加を避けるため、通常用ヘッダキュー
オフセットレジスタ32の更新毎に通常用ラストポイン
タ26を更新することは行わない。
First, the sequencer 37 reads a 4-word parcel header 170 from the address of the memory 112 indicated by the values of the normal header queue address base register 30 and the normal header queue offset register 32, and stores it in the parcel header register 38. . Next, the first word of the parcel header 170 (3 in FIG. 3C)
(Corresponding to No. 21), and recognizes that this parcel header 170 is a remote read parcel header. And 1 in the parcel header
The word 321 is converted into the first word 172 of the packet of the remote read and sent to the interprocessor network 2. Then, the packet length of 4 words is sent to the interprocessor network 2 as the second word 173 of the remote read packet. Then, the processor number is incorporated in the first word 39 of the remote write packet header stored in advance in the parcel header register 38 and sent to the interprocessor network 2 as the third word 174 of the remote read packet. Thereafter, the second word 322 to the fourth word 324 of the remote read parcel header stored in the parcel header register 38 are sent to the interprocessor network 2 as the fourth word 175 to the sixth word 177 of the remote read packet. This completes the remote read parcel sending process in the processor A101. It should be noted that the transmitting device 13 uses one parcel header 22 in the normal header queue 20.
Each time the processing is completed, the normal header queue offset register 32 is increased by one header. As a result, the free area of the normal header queue 20 increases, but in order to avoid an increase in access frequency to the memory 12, the normal last pointer 26 is not updated every time the normal header queue offset register 32 is updated.

【0037】プロセッサB201に到着したプロセッサ
A101からのリモートリードのパケット171は、プ
ロセッサB201の受信装置214内のFIFOメモリ
56に格納される。FIFOメモリ56からパケットの
到着を知らされたシーケンサ55は、パケットの1ワー
ド目172と2ワード目173とをFIFOメモリ56
から読み出し、パケットヘッダレジスタ57に格納す
る。シーケンサ55はパケットの1ワード目172を検
査して、これがリモートリードのパケット171である
ことを認識する。そして、パケットの3ワード目以降に
続く4ワードのパケット本体の部分であるリモートライ
トのパーセルヘッダ270を、リモートリード用ヘッダ
キューベースアドレスレジスタ50とヘッダキューオフ
セットレジスタ51との組み合わせで計算できるメモリ
212上のリモートリード用パーセルヘッダキュー22
1のアドレスに書き込む。そして、リモートリード用ヘ
ッダキューオフセットレジスタ51を1ヘッダ分増や
す。これで、プロセッサB201の受信装置214での
リモートリードのパケット171の処理は完了する。
The remote read packet 171 from the processor A 101 arriving at the processor B 201 is stored in the FIFO memory 56 in the receiving device 214 of the processor B 201. The sequencer 55 notified of the arrival of the packet from the FIFO memory 56 stores the first word 172 and the second word 173 of the packet in the FIFO memory 56.
Read out from and stored in the packet header register 57. The sequencer 55 inspects the first word 172 of the packet and recognizes that this is the remote read packet 171. Then, the remote write parcel header 270, which is the portion of the packet body of 4 words following the 3rd word of the packet, can be calculated by the combination of the remote read header queue base address register 50 and the header queue offset register 51. Top remote read parcel header queue 22
Write to address 1. Then, the remote read header queue offset register 51 is increased by one header. This completes the processing of the remote read packet 171 in the receiver 214 of the processor B201.

【0038】ここで、4ワードのリモートリードのパケ
ット171の本体(リモートライトのパーセルヘッダ)
270を書き込むときに、リモートリード用ヘッダキュ
ーオフセットレジスタ51の値と、リモートリード用の
ラストポインタ52の値とが同じであることが比較器5
3で判定されている場合には、シーケンサ55は、送信
装置213のリモートリード用ヘッダキューオフセット
レジスタ35の値から−1回路54で1引いた値を最新
のラストポインタとしてリモートリード用ラストポイン
タ52に設定し、比較器53の判定結果を再度調べる。
もし、更新しても比較結果が変わらない場合には、リモ
ートリード用パーセルヘッダキュー221がほぼ満杯で
あることを表しているため、CPU211に対して割り
込みを起こし、例外処理を依頼する。
Here, the body of the packet 171 of remote read of 4 words (parcel header of remote write)
When writing 270, the value of the remote read header queue offset register 51 and the value of the remote read last pointer 52 are the same.
If it is determined in step 3, the sequencer 55 sets the value obtained by subtracting 1 in the −1 circuit 54 from the value of the remote read header queue offset register 35 of the transmission device 213 as the latest last pointer 52 for remote read. Then, the judgment result of the comparator 53 is checked again.
If the comparison result does not change even after updating, it indicates that the remote read parcel header queue 221 is almost full, and therefore an interrupt is generated to the CPU 211 to request exception processing.

【0039】さて、上述のように受信装置214内のリ
モートリード用ヘッダキューオフセットレジスタ51が
更新されると、リモートリード用ヘッダキューオフセッ
トレジスタ51の値と送信装置213内のリモートリー
ド用ヘッダキューオフセットレジスタ35の値とが相違
することになり、比較器36から不一致である旨の比較
結果がシーケンサ37に伝えられ、シーケンサ37は送
信が依頼されたことを認識する。シーケンサ37は、リ
モートリード用ヘッダキューベースアドレスレジスタ3
4およびリモートリード用ヘッダキューオフセットレジ
スタ35の値で指定されたメモリ212上のリモートリ
ード用パーセルヘッダキュー221からパーセルヘッダ
270を読み出し、パーセルヘッダレジスタ38に格納
する。次にシーケンサ37はパーセルヘッダ270の1
ワード目を検査し、これがリモートリード用パーセルヘ
ッダキュー221にあった、リモートライトのパーセル
ヘッダ270であることを認識する。そして、シーケン
サ37は通常のリモートライトのパーセルヘッダと同じ
ようにパーセルを処理する。すなわち、リモートライト
のパケットヘッダを作成して、パーセルヘッダ270の
3ワード目のソースアドレスで示されたメモリ212の
アドレスから2ワード目で示されたワード数を、4ワー
ド目で示されたデスティネーションアドレスに書き込む
リモートライトの複数のパケット271,…,274を
作成し、プロセッサ間ネットワーク2に送出する。ただ
し、通常のリモートライトと異なるのは、最後のパケッ
ト274の1ワード目には、このパケットの受信終了後
に、ログバッファ127にログを書き込むことを指定す
ることである。なお、送信装置13は1つのパーセルヘ
ッダ270を処理し終えるごとに、リモートリード用ヘ
ッダキューオフセットレジスタ35の値を1ヘッダ分だ
け増加する。
When the remote read header queue offset register 51 in the receiver 214 is updated as described above, the value of the remote read header queue offset register 51 and the remote read header queue offset in the transmitter 213 are updated. Since the value of the register 35 is different from that of the register 35, the comparator 36 informs the sequencer 37 of the comparison result indicating the non-coincidence, and the sequencer 37 recognizes that the transmission is requested. The sequencer 37 uses the header queue base address register 3 for remote read.
4 and the value of the remote read header queue offset register 35, the parcel header 270 is read from the remote read parcel header queue 221 on the memory 212 and stored in the parcel header register 38. Next, the sequencer 37 uses 1 of the parcel header 270.
The word number is checked to recognize that this is the remote write parcel header 270 in the remote read parcel header queue 221. The sequencer 37 then processes the parcel in the same way as a normal remote write parcel header. That is, a remote write packet header is created, and from the address of the memory 212 indicated by the source address of the third word of the parcel header 270, the word number indicated by the second word is changed to the destination number indicated by the fourth word. , 274 of remote write to be written in the Nation address are created and sent to the interprocessor network 2. However, what is different from the normal remote write is that the first word of the last packet 274 is designated to write a log in the log buffer 127 after the reception of this packet is completed. It should be noted that the transmission device 13 increments the value of the remote read header queue offset register 35 by one header each time it finishes processing one parcel header 270.

【0040】プロセッサB201の送信装置213から
送られたリモートライトのパケット271,…,274
は、プロセッサA101の受信装置114で受信され
る。受信装置114は、各リモートライトのパケットを
処理し、送られてきたデータ273をパケットヘッダに
指定されたデスティネーションアドレス272に書き込
んでいく。最後のパケット274の処理では、パケット
本体を書き込んだ後、受信装置114内のログバッファ
アドレスレジスタ59で指されるメモリ112上のログ
バッファ127に受信が終了したこと(リモートリード
が完了したこと)を書き込み、ログバッファアドレスレ
ジスタ59の値を1増やす。
Remote write packets 271, ..., 274 sent from the transmitter 213 of the processor B201
Is received by the receiver 114 of the processor A101. The reception device 114 processes each remote write packet and writes the sent data 273 to the destination address 272 specified in the packet header. In the final processing of the packet 274, after the packet body is written, the reception is completed in the log buffer 127 on the memory 112 pointed to by the log buffer address register 59 in the reception device 114 (that the remote read is completed). Is written and the value of the log buffer address register 59 is incremented by 1.

【0041】プロセッサA101の通信ライブラリは、
メモリ112上のログバッファ127にリモートリード
の完了が書き込まれたことを確認して、そのライブラリ
呼び出しを抜けて、CPU111の制御をユーザプログ
ラムに渡す。
The communication library of the processor A101 is
After confirming that the remote read completion is written in the log buffer 127 on the memory 112, the library call is exited and the control of the CPU 111 is passed to the user program.

【0042】[0042]

【発明の効果】以上説明したように本発明によれば下記
のような効果を得ることができる。
As described above, according to the present invention, the following effects can be obtained.

【0043】第1の効果は、リモートリードに要する時
間を短縮することができる。その理由は、リモートリー
ドの処理をOSのシステムコールではなく、ユーザプロ
セス(ユーザプログラム及びそれが呼び出した通信ライ
ブラリ)が行うため、呼び出し時にコンテクストスイッ
チをする必要がないからである。また、宛先プロセッサ
においても、CPUを介さないで、受信装置と送信装置
だけで処理されるため、CPUに割り込みを起こす必要
がなく、従来技術で問題であった宛先プロセッサでの割
り込みによるオーバヘッドがなくなるからである。つま
り、上記2箇所でのオーバヘッドがなくなることによ
り、リモートリードに要する時間が短縮される。
The first effect is that the time required for remote reading can be shortened. The reason is that the remote read process is performed by the user process (the user program and the communication library called by the user process), not by the OS system call, and therefore the context switch need not be performed at the time of calling. Further, even in the destination processor, the processing is performed only by the receiving device and the transmitting device without passing through the CPU, so that it is not necessary to cause an interrupt to the CPU, and the overhead due to the interrupt in the destination processor, which is a problem in the conventional technology, is eliminated. Because. That is, since the overhead at the above two locations is eliminated, the time required for remote read is shortened.

【0044】第2の効果は、リモートリードによって、
宛先プロセッサでの本来の処理が中断されないことであ
る。その理由は、宛先プロセッサの受信装置が、送られ
てきたリモートリードのパケットを解釈し、その本体と
して送られたリモートライトのパケットを直接メモリ上
のパケットヘッダキューに書き込み、送信装置に対して
処理を要求するからである。宛先プロセッサでのリモー
トリード処理には、CPUを一切必要としないため、宛
先プロセッサでの本来の処理が中断されることはない。
The second effect is by the remote lead.
The original processing at the destination processor is not interrupted. The reason is that the receiver of the destination processor interprets the remote read packet sent, writes the remote write packet sent as its body directly to the packet header queue on the memory, and processes it for the transmitter. Because it demands. The remote read process in the destination processor does not require any CPU, so the original process in the destination processor is not interrupted.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例の構成を示すブロック図であ
る。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

【図2】本発明の一実施例のリモートリードの動作説明
図である。
FIG. 2 is an operation explanatory diagram of the remote read according to the embodiment of the present invention.

【図3】各種パーセルヘッダとそれから生成されるパケ
ットの構成例を示す図である。
FIG. 3 is a diagram showing a configuration example of various parcel headers and a packet generated from them.

【図4】従来技術のブロック図である。FIG. 4 is a block diagram of a conventional technique.

【符号の説明】[Explanation of symbols]

1…プロセッサ 2…プロセッサ間ネットワーク 10…バス 11…CPU(中央処理ユニット) 12…メモリ 13…送信装置 14…受信装置 20…通常用パーセルヘッダキュー 21…リモートリード用パーセルヘッダキュー 22…パーセルヘッダ 23…パーセル本体 24…通常用ヘッダキューベースアドレスレジスタ 25…通常用ヘッダキューオフセットレジスタのコピー 26…通常用ラストポインタ 27…ログバッファ 30…通常用ヘッダキューベースアドレスレジスタ 31…通常用ヘッダキューオフセットレジスタ 32…通常用ヘッダキューオフセットレジスタ 33…通常用ヘッダキューオフセットレジスタ31,3
2の値を比較する比較器 34…リモートリード用ヘッダキューベースアドレスレ
ジスタ 35…リモートリード用ヘッダキューオフセットレジス
タ 36…リモートリード用ヘッダキューオフセットレジス
タ35,51の値を比較する比較器 37…送信装置のシーケンサ 38…パーセルヘッダレジスタ 39…リモートリードパーセルヘッダの1ワード目 40…送信装置のTLB 50…リモートリード用ヘッダキューベースアドレスレ
ジスタ 51…リモートリード用ヘッダキューオフセットレジス
タ 52…リモートリード用ラストポインタ 53…リモートリード用ヘッダキューオフセットレジス
タの値とリモートリード用ラストポインタの値を比較す
る比較器 54…デクリメンタ(−1回路) 55…受信装置のシーケンサ 56…FIFOメモリ 57…パケットヘッダレジスタ 58…受信装置のTLB 59…ログバッファアドレスレジスタ 101…プロセッサA 111…プロセッサAのCPU 112…プロセッサAのメモリ 113…プロセッサAの送信装置 114…プロセッサAの受信装置 120…プロセッサAの通常用パーセルヘッダキュー 127…プロセッサAのログバッファ 128…プロセッサAのメッセージバッファ 160…リモートリードのメッセージのパーセルヘッダ 161…リモートリードのメッセージのパケット 162…宛先プロセッサ番号;プロセッサB 163…メッセージの種類;リモートリード 164…リモートリードで読み出すワード数 165…リモートリードで読み出す先頭アドレス 166…リモートリードの結果を返すプロセッサ番号;
プロセッサA 167…リモートリードの結果を書き込むメモリアドレ
ス 170…リモートリードパーセルヘッダ 171…リモートリードパケット 172…リモートリードパケットの1ワード目 173…リモートリードパケットの2ワード目;パケッ
トワード数4ワード 174…リモートリードパケットの3ワード目;リモー
トライトパケットの1ワード目 175…リモートリードパケットの4ワード目 176…リモートリードパケットの5ワード目 177…リモートリードパケットの6ワード目 201…プロセッサB 211…プロセッサBのCPU 212…プロセッサBのメモリ 213…プロセッサBの送信装置 214…プロセッサBの受信装置 220…プロセッサBの通常用パーセルヘッダキュー 221…プロセッサBのリモートリード用パーセルヘッ
ダキュー 228…プロセッサBのメッセージバッファ 260…リモートライトパーセルヘッダ 261…リモートリード完了メッセージのパーセルヘッ
ダ 262…リモートライトパケット 263…リモートライトパケットのデスティネーション
アドレス 264…リモートライトパケットの本体(データ) 265…リモートリード完了メッセージのパケット 270…リードライトパーセルヘッダ 271…リモートリードの結果を送るリモートライトパ
ケット 272…リモートライトパケットに指定されたデスティ
ネーションアドレス 273…リモートライトパケットの本体(データ) 274…リモートリードの結果を送る最後のリモートラ
イトパケット 300…一般のパーセルヘッダ 301…一般のパーセルヘッダの1ワード目 302…一般のパーセルヘッダの2ワード目 303…一般のパーセルヘッダの3ワード目 304…一般のパーセルヘッダの4ワード目 305…一般のパケット 306…一般のパケットの1ワード目 307…一般のパケットの2ワード目 308…一般のパケットの3ワード目 309…一般のパケットのパケット本体 310…リモートライトのパーセルヘッダ 311…リモートライトのパーセルヘッダの1ワード目 312…リモートライトのパーセルヘッダの2ワード目 313…リモートライトのパーセルヘッダの3ワード目 314…リモートライトのパーセルヘッダの4ワード目 315…リモートライトのパケット 316…リモートライトのパケットの1ワード目 317…リモートライトのパケットの2ワード目 318…リモートライトのパケットの3ワード目 319…リモートライトのパケットの本体 320…リモートリードのパーセルヘッダ 321…リモートリードのパーセルヘッダの1ワード目 322…リモートリードのパーセルヘッダの2ワード目 323…リモートリードのパーセルヘッダの3ワード目 324…リモートリードのパーセルヘッダの4ワード目 325…リモートリードのパケット 326…リモートリードパケットの1ワード目 327…リモートリードパケットの2ワード目 328…リモートライトのパーセルヘッダ 329…リモートリードパケットの3ワード目 330…リモートリードパケットの4ワード目 331…リモートリードパケットの5ワード目 332…リモートリードパケットの6ワード目
DESCRIPTION OF SYMBOLS 1 ... Processor 2 ... Inter-processor network 10 ... Bus 11 ... CPU (Central Processing Unit) 12 ... Memory 13 ... Transmitter 14 ... Receiver 20 ... Normal parcel header queue 21 ... Remote read parcel header queue 22 ... Parcel header 23 ... Parcel body 24 ... Normal header queue base address register 25 ... Copy of normal header queue offset register 26 ... Normal last pointer 27 ... Log buffer 30 ... Normal header queue base address register 31 ... Normal header queue offset register 32 ... normal header queue offset register 33 ... normal header queue offset registers 31, 3
Comparator 34 for comparing the values of 2 ... Header queue base address register for remote read 35 ... Header queue offset register for remote read 36 ... Comparator for comparing the values of header queue offset registers 35, 51 for remote read 37 ... Transmitting device Sequencer 38 ... Parcel header register 39 ... First word of remote read parcel header 40 ... TLB of transmitter 50 ... Header queue base address register for remote read 51 ... Header queue offset register for remote read 52 ... Last pointer for remote read 53 ... comparator 54 for comparing the value of the remote read header queue offset register with the value of the remote read last pointer 54 ... decrementer (-1 circuit) 55 ... receiver sequencer 56 ... FIFO Memory 57 ... Packet header register 58 ... Receiving device TLB 59 ... Log buffer address register 101 ... Processor A 111 ... Processor A CPU 112 ... Processor A memory 113 ... Processor A transmitting device 114 ... Processor A receiving device 120 ... Normal parcel header queue 127 of processor A ... Log buffer of processor A 128 ... Message buffer of processor A 160 ... Parcel header of remote read message 161 ... Packet of remote read message 162 ... Destination processor number; Processor B 163 ... Message Type; remote read 164 ... number of words read by remote read 165 ... start address read by remote read 166 ... processor number that returns remote read result;
Processor A 167 ... Memory address for writing remote read result 170 ... Remote read parcel header 171 ... Remote read packet 172 ... First word of remote read packet 173 ... Second word of remote read packet; Number of packet words 4 words 174 ... Remote 3rd word of read packet; 1st word of remote write packet 175 ... 4th word of remote read packet 176 ... 5th word of remote read packet 177 ... 6th word of remote read packet 201 ... Processor B 211 ... Processor B CPU 212 ... Memory of processor B 213 ... Transmission device of processor B 214 ... Reception device of processor B 220 ... Parcel header queue 221 for normal use of processor B 221 ... Remote processing of processor B Parcel header queue for reading 228 ... Message buffer of processor B 260 ... Remote write parcel header 261 ... Parcel header of remote read completion message 262 ... Remote write packet 263 ... Destination address of remote write packet 264 ... Main body of remote write packet (data ) 265 ... Remote read completion message packet 270 ... Read / write parcel header 271 ... Remote write packet for sending remote read result 272 ... Destination address specified in remote write packet 273 ... Remote write packet body (data) 274 ... Last remote write packet for sending remote read result 300 ... General parcel header 301 ... General parcel 1st word 302 ... 2nd word of general parcel header 303 ... 3rd word of general parcel header 304 ... 4th word of general parcel header 305 ... General packet 306 ... 1st word of general packet 307 ... 2nd word of general packet 308 ... 3rd word of general packet 309 ... Packet body of general packet 310 ... Parcel header of remote write 311 ... 1st word of parcel header of remote write 312 ... Parcel header of remote write Second word 313 ... Remote write parcel header third word 314 ... Remote write parcel header fourth word 315 ... Remote write packet 316 ... Remote write packet first word 317 ... Remote write packet 2 Word 3 8 ... 3rd word of remote write packet 319 ... Remote write packet body 320 ... Remote read parcel header 321 ... Remote read parcel header 1st word 322 ... Remote read parcel header 2nd word 323 ... Remote 3rd word of read parcel header 324 ... 4th word of remote read parcel header 325 ... Remote read packet 326 ... 1st word of remote read packet 327 ... 2nd word of remote read packet 328 ... Remote write parcel header 329 ... 3rd word of remote read packet 330 ... 4th word of remote read packet 331 ... 5th word of remote read packet 332 ... 6th word of remote read packet

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 CPUとメモリと送信装置と受信装置と
を備えた複数のプロセッサがプロセッサ間ネットワーク
を介して接続されたシステムにおいて、或るプロセッサ
のCPU上で走行しているユーザプロセスが別のプロセ
ッサのメモリに格納されたデータをリードするリモート
リード処理方法において、 リモートリード元プロセッサにおいて、前記ユーザプロ
セスが、読み出しプロセッサ番号,読み出しワード数,
読み出しアドレスおよび書き込みアドレスを含むリモー
トリードパーセルヘッダを、自プロセッサのメモリ上の
パーセルヘッダキューに書き込んで自プロセッサの送信
装置に送信を依頼した後、自プロセッサのメモリ上のロ
グバッファをポーリングしてリモートリードの完了を待
つステップと、 リモートリード元プロセッサにおいて、送信を依頼され
た前記送信装置が、自プロセッサのメモリ上のパーセル
ヘッダキューからリモートリードパーセルヘッダを読み
出し、宛先プロセッサ番号に自プロセッサ番号を、ワー
ド数に前記読み出しワード数を、ソースアドレスに前記
読み出しアドレスを、デスティネーションアドレスに前
記書き込みアドレスを、それぞれ設定したリモートライ
トパーセルヘッダをパケット本体として持つリモートリ
ードパケットを生成して、プロセッサ間ネットワークを
介して宛先のプロセッサに送信するステップと、 リモートリード先プロセッサにおいて、プロセッサ間ネ
ットワークを介してリモートリードパケットを受信した
プロセッサの受信装置が、受信したリモートリードパケ
ットのパケット本体であるリモートライトパーセルヘッ
ダを、自プロセッサのメモリ上のパーセルヘッダキュー
に書き込んで自プロセッサの送信装置に送信を依頼する
ステップと、 リモートリード先プロセッサにおいて、送信を依頼され
た前記送信装置が、自プロセッサのメモリ上のパーセル
ヘッダキューからリモートライトパーセルヘッダを読み
出して処理し、一連のリモートライトのパケットを生成
してプロセッサ間ネットワークを介してリモートリード
元プロセッサに送信するステップと、 リモートリード元プロセッサにおいて、プロセッサ間ネ
ットワークを介してリモートリードに対する応答である
一連のリモートライトのパケットを受信した受信装置
が、受信したリモートライトのパケットの本体に含まれ
るデータを自プロセッサのメモリに格納すると共に最後
のパケットの受信時に自プロセッサのメモリ上のログバ
ッファにリモートリードが完了した旨を書き込むステッ
プとを含むことを特徴とするリモートリード処理方法。
1. In a system in which a plurality of processors each having a CPU, a memory, a transmitting device and a receiving device are connected via an inter-processor network, a user process running on the CPU of a certain processor is different. In a remote read processing method for reading data stored in a memory of a processor, in the remote read source processor, the user process includes a read processor number, a read word number,
After writing the remote read parcel header containing the read address and write address to the parcel header queue in the memory of the local processor and requesting the transmitter of the local processor to send it, the log buffer in the memory of the local processor is polled for remote In the step of waiting for the completion of read, in the remote read source processor, the transmission device requested to transmit reads the remote read parcel header from the parcel header queue on the memory of the self processor, and the self processor number as the destination processor number, A remote read having a remote write parcel header as a packet body in which the read word count is set as the number of words, the read address is set as the source address, and the write address is set as the destination address. Of the remote read packet to the destination processor via the interprocessor network, and the receiving device of the processor that has received the remote read packet via the interprocessor network at the remote read destination processor receives the remote read packet. Writing the remote write parcel header, which is the packet body of the packet, to the parcel header queue on the memory of the own processor and requesting the transmitter of the own processor to send the packet; and the transmission requested by the remote read destination processor. The device reads the remote write parcel header from the parcel header queue in the memory of its own processor, processes it, generates a series of remote write packets, and processes the remote read source processor via the interprocessor network. In the remote read source processor, the receiving device that receives a series of remote write packets, which is a response to the remote read via the inter-processor network, receives the data contained in the body of the received remote write packet. Storing in the memory of the processor itself and writing the fact that the remote read is completed to the log buffer on the memory of the processor when the last packet is received.
【請求項2】 前記ユーザプロセスは、自プロセッサの
メモリ上のパーセルヘッダキューにリモートリードパー
セルヘッダを書き込んだ後、そのパーセルヘッダキュー
の書き込み位置を示す通常用ヘッダキューオフセットレ
ジスタの値を1ヘッダ分更新することで送信の依頼を行
い、前記リモートリード元プロセッサの送信装置は、前
記通常用ヘッダキューオフセットレジスタの値が更新さ
れたことを検出することにより送信の依頼があったこと
を認識し、 前記リモートリード先プロセッサの受信装置は、自プロ
セッサのメモリ上のパーセルヘッダキューにリモートラ
イトパーセルヘッダを書き込んだ後、そのパーセルヘッ
ダキューの書き込み位置を示すリモートリード用ヘッダ
キューオフセットレジスタの値を1ヘッダ分更新するこ
とで送信の依頼を行い、前記リモートリード先プロセッ
サの送信装置は、前記リモートリード用ヘッダキューオ
フセットレジスタの値が更新されたことを検出すること
より送信の依頼があったことを認識することを特徴とす
る請求項1記載のリモートリード処理方法。
2. The user process writes a remote read parcel header into the parcel header queue on the memory of its own processor, and then sets the value of the normal header queue offset register indicating the write position of the parcel header queue for one header. By requesting transmission by updating, the transmission device of the remote read source processor recognizes that there is a request for transmission by detecting that the value of the normal header queue offset register has been updated, The receiving device of the remote read destination processor writes the remote write parcel header to the parcel header queue on the memory of its own processor, and then sets the value of the remote read header queue offset register indicating the write position of the parcel header queue to 1 header. Sent by updating the minutes And the transmission device of the remote read destination processor recognizes that there is a transmission request by detecting that the value of the remote read header queue offset register has been updated. The remote read processing method according to claim 1.
【請求項3】 リモートリード元プロセッサのCPU上
で走行しているユーザプロセスが前記プロセッサとプロ
セッサ間ネットワークを介して接続されたリモートリー
ド先プロセッサのメモリに格納されたデータをリードす
る際の処理を司るリモートリード処理装置において、 リモートリード元プロセッサに設けられ、前記ユーザプ
ロセスが、読み出しプロセッサ番号,読み出しワード
数,読み出しアドレスおよび書き込みアドレスを含むリ
モートリードのパーセルヘッダを自プロセッサのメモリ
上のパーセルヘッダキューに書き込んだ後に出した送信
の依頼を受けて、そのリモートリードのパーセルヘッダ
を読み出し、宛先プロセッサ番号に自プロセッサ番号
を、ワード数に前記読み出しワード数を、ソースアドレ
スに前記読み出しアドレスを、デスティネーションアド
レスに前記書き込みアドレスを、それぞれ設定したリモ
ートライトパーセルヘッダをパケット本体として持つリ
モートリードパケットを、プロセッサ間ネットワークを
介してリモートリード先プロセッサに送信するリモート
リード元送信装置と、 リモートリード先プロセッサに設けられ、受信したリモ
ートリードパケットのパケット本体であるリモートライ
トパーセルヘッダを、自プロセッサのメモリ上のパーセ
ルヘッダキューに書き込んで送信を依頼するリモートリ
ード先受信装置と、 リモートリード先プロセッサに設けられ、前記リモート
リード先受信装置からの送信の依頼を受けて、前記パー
セルヘッダキューからリモートライトパーセルヘッダを
読み出して処理し、一連のリモートライトのパケットを
生成してプロセッサ間ネットワークを介してリモートリ
ード元プロセッサに送信するリモートリード先送信装置
と、 リモートリード元プロセッサに設けられ、受信したリモ
ートライトのパケットの本体に含まれるデータを自プロ
セッサのメモリに格納すると共に最後のパケットの受信
時に自プロセッサのメモリ上のログバッファにリモート
リードが完了した旨を書き込むリモートリード元受信装
置とを備えることを特徴とするリモートリード処理装
置。
3. A process when a user process running on a CPU of a remote read source processor reads data stored in a memory of a remote read destination processor connected to the processor via an interprocessor network. In the remote read processing device under the control of the remote read source processor, the user process stores a remote read parcel header including a read processor number, a read word number, a read address and a write address in a parcel header queue on its own memory. In response to the transmission request issued after writing to, the remote read parcel header is read, the destination processor number is the own processor number, the word number is the read word number, and the source address is the read address. And a remote read source transmission device that transmits a remote read packet having the write address as the destination address and the remote write parcel header set as the packet body to the remote read destination processor via the interprocessor network, and the remote read source. The remote read destination receiving device, which is provided in the destination processor, writes the remote write parcel header, which is the packet body of the received remote read packet, to the parcel header queue on the memory of the local processor and requests the transmission, and the remote read destination processor. The remote read destination receiving device is provided with a transmission request, reads a remote write parcel header from the parcel header queue, processes the packet, and processes a series of remote write packets. A remote read destination transmission device that is configured to transmit the data to the remote read source processor via the interprocessor network, and the data included in the main body of the received remote write packet provided in the remote read source processor and stored in the memory of the local processor. In addition, the remote read processing device further comprises a remote read source receiving device that writes the fact that the remote read is completed to the log buffer on the memory of its own processor when the last packet is received.
【請求項4】 前記リモートリード元送信装置は、 リモートリードパーセルヘッダを書き込むパーセルヘッ
ダキューの書き込み位置を示し、リモートリードパーセ
ルヘッダの書き込み後にユーザプロセスによって1ヘッ
ダ分更新される通常用ヘッダキューオフセットレジスタ
と、 該通常用ヘッダキューオフセットレジスタの値が更新さ
れることで送信を依頼されたことを認識する手段とを備
え、 前記リモートリード先受信装置は、 自プロセッサのメモリ上のパーセルヘッダキューにリモ
ートライトパーセルヘッダを書き込んだ後、そのパーセ
ルヘッダキューの次書き込み位置を示すリモートリード
用ヘッダキューオフセットレジスタの値を1ヘッダ分更
新することで送信の依頼を行う手段を備え、 前記リモートリード先送信装置は、 前記リモートリード用ヘッダキューオフセットレジスタ
の値が更新されることで送信を依頼されたことを認識す
る手段を備えることを特徴とする請求項3記載のリモー
トリード処理装置。
4. The normal read header queue offset register, wherein the remote read source transmitter indicates a write position of a parcel header queue for writing a remote read parcel header, and is updated by one header by a user process after writing the remote read parcel header. And a means for recognizing that the transmission has been requested by updating the value of the normal header queue offset register, the remote read destination receiving device is remote to the parcel header queue on the memory of its own processor. After writing the write parcel header, the remote read destination transmission device further comprises means for requesting transmission by updating the value of the remote read header queue offset register indicating the next write position of the parcel header queue by one header. Is the 4. The remote read processing device according to claim 3, further comprising means for recognizing that the transmission has been requested by updating the value of the header queue offset register for mote read.
JP8103674A 1996-03-30 1996-03-30 Remote read processing method and device Expired - Fee Related JP2924783B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8103674A JP2924783B2 (en) 1996-03-30 1996-03-30 Remote read processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8103674A JP2924783B2 (en) 1996-03-30 1996-03-30 Remote read processing method and device

Publications (2)

Publication Number Publication Date
JPH09269936A true JPH09269936A (en) 1997-10-14
JP2924783B2 JP2924783B2 (en) 1999-07-26

Family

ID=14360348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8103674A Expired - Fee Related JP2924783B2 (en) 1996-03-30 1996-03-30 Remote read processing method and device

Country Status (1)

Country Link
JP (1) JP2924783B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316748A (en) * 1998-02-06 1999-11-16 Ncr Internatl Inc Data transfer method in parallel processing computer system
JP2010508591A (en) * 2006-10-26 2010-03-18 リード・コーク・エス Network interface card used for parallel computing systems
JP2013214168A (en) * 2012-03-30 2013-10-17 Fujitsu Ltd Information processing apparatus, arithmetic unit and information transfer method
JP2017010319A (en) * 2015-06-23 2017-01-12 富士通株式会社 Arithmetic processing device, information processing device, and information processing device control method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316748A (en) * 1998-02-06 1999-11-16 Ncr Internatl Inc Data transfer method in parallel processing computer system
JP2010508591A (en) * 2006-10-26 2010-03-18 リード・コーク・エス Network interface card used for parallel computing systems
JP2013214168A (en) * 2012-03-30 2013-10-17 Fujitsu Ltd Information processing apparatus, arithmetic unit and information transfer method
US9003082B2 (en) 2012-03-30 2015-04-07 Fujitsu Limited Information processing apparatus, arithmetic device, and information transferring method
JP2017010319A (en) * 2015-06-23 2017-01-12 富士通株式会社 Arithmetic processing device, information processing device, and information processing device control method

Also Published As

Publication number Publication date
JP2924783B2 (en) 1999-07-26

Similar Documents

Publication Publication Date Title
US5752078A (en) System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
EP0674276B1 (en) A computer system
US5557744A (en) Multiprocessor system including a transfer queue and an interrupt processing unit for controlling data transfer between a plurality of processors
US5625846A (en) Transfer request queue control system using flags to indicate transfer request queue validity and whether to use round-robin system for dequeuing the corresponding queues
JPH06309252A (en) Interconnection interface
JPH03130863A (en) Control-element transfer system
JPH06202883A (en) Equipment for communication between processes and method therefor
JPH0824320B2 (en) Method and device for buffer chaining in communication control device
JPH0816540A (en) Message communication system for parallel computer
US7788437B2 (en) Computer system with network interface retransmit
KR19980079670A (en) Device for flexible control of interrupts in multiprocessor systems
JP3639319B2 (en) Parallel computer system, data transfer control method, and transmission / reception control device
JP3641834B2 (en) Parallel processor system and packet discard method suitable therefor
US5961614A (en) System for data transfer through an I/O device using a memory access controller which receives and stores indication of a data status signal
JP2924783B2 (en) Remote read processing method and device
JP3189269B2 (en) Network printer
US6098105A (en) Source and destination initiated interrupt method for message arrival notification
EP0578496A2 (en) Job execution method in multi-CPU system
JPH08202566A (en) Inter-processor communication system
JP3115801B2 (en) Parallel computer system
JP3058010B2 (en) Method and apparatus for communication between processors
JPH03127154A (en) Transfer control system
JP2001325212A (en) Method and device for transmitting data block from source processor to destination processor in multiprocessor system
JP3799741B2 (en) Bus controller
JPS6298444A (en) Data communication system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090507

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100507

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110507

Year of fee payment: 12

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110507

Year of fee payment: 12

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120507

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120507

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130507

Year of fee payment: 14

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140507

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees