JPH0619855A - Method and device for queueing message - Google Patents

Method and device for queueing message

Info

Publication number
JPH0619855A
JPH0619855A JP17391692A JP17391692A JPH0619855A JP H0619855 A JPH0619855 A JP H0619855A JP 17391692 A JP17391692 A JP 17391692A JP 17391692 A JP17391692 A JP 17391692A JP H0619855 A JPH0619855 A JP H0619855A
Authority
JP
Japan
Prior art keywords
message
buffer
communication device
bus
processor
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.)
Withdrawn
Application number
JP17391692A
Other languages
Japanese (ja)
Inventor
Naoki Matsudaira
直樹 松平
Masanobu Araya
正総 新家
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP17391692A priority Critical patent/JPH0619855A/en
Publication of JPH0619855A publication Critical patent/JPH0619855A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE:To provide method/device for queueing a message, by which communication control at the time of using a message communication function is off- loaded on a message communication controller so as to simplify a procedure and the transfer of the message is ensured on the method/device for queueing the message on the message communication device controlling communication between multiprocessors. CONSTITUTION:When the message is transmitted from a processor in the multiprocessor, a message buffer 1 in the message communication device stores the received message, and queues the buffer for respective destinations for the message communication device which the message indicates. A table 2 stores lists which are enqueued in an arrival order for respective multiprocessor ID of the destinations. A ring buffer 3 stores destination addresses, namely, multiprocessor ID in the arrival order of the message. A transmission means 4 reads the destination address stored in the ring buffer at the time of receiving the messages from the processor, and transmits the message stored in the buffer which is enqueued by the table corresponding to the destination.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、複数のコンピュータを
メッセージ通信装置により接続したマルチプロセッサシ
ステムに係り、さらに詳しくはマルチプロセッサ間の通
信を司るメッセージ通信装置のメッセージのキューイン
グ方法とその装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiprocessor system in which a plurality of computers are connected by a message communication device, and more particularly, to a message queuing method of a message communication device for controlling communication between multiprocessors and its device. .

【0002】[0002]

【従来の技術】データ通信装置の高速化に伴い、複数の
コンピュータを1グループとし、そのグループ間をメッ
セージ通信装置によって接続した所謂マルチプロセッサ
システムが開発された。このようなコンピュータシステ
ムはフロント&プロセッサやフォールトトレラントシス
テム、オンライントランザクションプロセッサ等広い分
野で利用される。
2. Description of the Related Art With the increase in speed of data communication devices, a so-called multiprocessor system has been developed in which a plurality of computers are grouped into one group and the groups are connected by a message communication device. Such computer systems are widely used in front & processors, fault tolerant systems, online transaction processors and the like.

【0003】このようなマルチプロセッサシステムいわ
ゆる分散システムでは、コンピュータの台数に比例した
性能の実現が望ましく、メッセージ通信装置がメッセー
ジを高速に伝送処理することにより距離の延長及びコン
ピュータ台数の増大を可能とする。
In such a multiprocessor system, a so-called distributed system, it is desirable to realize performance proportional to the number of computers, and it is possible to extend the distance and increase the number of computers by the message communication device transmitting and processing the message at high speed. To do.

【0004】図12はマルチプロセッサシステムの構成
図である。コンピュータ101,102、コンピュータ
111,112,コンピュータ121,122はそれぞ
れローカルのプロセッサバス等によってメッセージ通信
装置103,113,123に接続している。
FIG. 12 is a block diagram of a multiprocessor system. The computers 101, 102, the computers 111, 112, and the computers 121, 122 are connected to the message communication devices 103, 113, 123 via local processor buses or the like.

【0005】このメッセージ通信装置103,113,
123は例えばトークンリンク等のネットワークに接続
され、それぞれのコンピュータ101,102,11
1,112,121,122は目的とするコンピュータ
に対し、このメッセージ通信装置103,113,12
3を介しデータを送る。この時の通信においては、メッ
セージ通信装置103,113,123はどのコンピュ
ータから送られたかを記憶する単一のキューを有し、メ
ッセージ通信装置を介した通信をこのキューを用いて行
っている。
The message communication devices 103, 113,
123 is connected to a network such as a token link, and is connected to each of the computers 101, 102, 11
1, 112, 121, 122 are the message communication devices 103, 113, 12 for the target computer.
Send data via 3. In the communication at this time, the message communication devices 103, 113, and 123 have a single queue for storing from which computer the message was sent, and the communication via the message communication device is performed using this queue.

【0006】1つのプロセッサよりメッセージが通信装
置に加わるとバッファに格納され、送信キューに接続さ
れる。そして、メッセージ通信装置は伝送路に対する単
一のキューによって送信している。そして、目的に対応
したメッセージ通信装置、コンピュータでは宛先毎のキ
ューを生成し、宛先毎の到着確認後の制御を行い、メッ
セージを受信したメッセージ通信装置は目的のコンピュ
ータに送出している。
When a message enters a communication device from one processor, it is stored in a buffer and connected to a transmission queue. Then, the message communication device transmits using a single queue for the transmission path. Then, the message communication device or computer corresponding to the purpose generates a queue for each destination, controls after arrival confirmation for each destination, and the message communication device that receives the message sends it to the target computer.

【0007】図13は従来のキューイングの説明図であ
る。メッセージ通信装置103,113,123は先ず
第1番目に発行されたメッセージをバッファアドレスで
管理し、2番目にはそのヘッダ部で次のバッファの格納
アドレスを記憶し、そのヘッダ内に再度次のバッファの
先頭アドレスを格納している。そして、このアドレスに
よって順次バッファの位置が指示され、キューイングさ
れている。
FIG. 13 is an explanatory diagram of conventional queuing. The message communication devices 103, 113, 123 first manage the first issued message by the buffer address, and secondly store the storage address of the next buffer in the header part of the message, and again store the next message in the header. Stores the start address of the buffer. Then, the position of the buffer is sequentially designated by this address and is queued.

【0008】[0008]

【発明が解決しようとする課題】前述した従来の装置に
おいては、図14に示す如く宛先ごとにコンピュータが
管理している。すなわち、メッセージ通信装置はメッセ
ージ通信を行うための装置であって各メッセージ通信装
置間の通信のみを行い、それに接続したコンピュータが
コンピュータごとの通信確認を行っている。しかしなが
ら、コンピュータ毎に到達確認を行う制御では、メッセ
ージ通信装置を用いる必要がある通信を行う場合は不要
な場合と比べて複雑な手順が必要となる。このため、こ
の通信によって制限されて目的の性能がたせず、台数に
比例した処理能力が引き出せないといった問題を有して
いた。
In the above-mentioned conventional apparatus, a computer manages each destination as shown in FIG. That is, the message communication device is a device for performing message communication, and only performs communication between the message communication devices, and a computer connected to the message communication device confirms communication for each computer. However, in the control for confirming the arrival for each computer, a complicated procedure is required when communication that requires the use of the message communication device is performed as compared with the case where the communication is unnecessary. For this reason, there is a problem that the target performance is not achieved due to this communication being limited, and the processing capacity proportional to the number of machines cannot be derived.

【0009】本発明はメッセージ通信機能を用いした際
の通信制御をメッセージ通信制御装置にオフロードして
手順を簡単化し、さらにメッセージの転送を保証するメ
ッセージのキューイング方法とその装置を目的とする。
An object of the present invention is to provide a message queuing method and apparatus for offloading communication control when a message communication function is used to a message communication control device to simplify the procedure and to guarantee message transfer. .

【0010】[0010]

【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。本発明は複数のプロセッサよりなる複数
のマルチプロセッサ間をメッセージ通信によって結合す
るメッセージ通信装置におけるものである。
FIG. 1 is a block diagram showing the principle of the present invention. The present invention relates to a message communication device that couples a plurality of multiprocessors including a plurality of processors by message communication.

【0011】メッセージバッファ1は前記マルチプロセ
ッサ内の前記プロセッサから受信したメッセージを記憶
する。テーブル2は前記メッセージを宛先毎にキューイ
ングし、宛先のマルチプロセッサID毎に到着順にエン
キューしたリストを記憶する。
Message buffer 1 stores messages received from the processors in the multiprocessor. Table 2 stores a list in which the messages are queued for each destination and enqueued in order of arrival for each multiprocessor ID of the destination.

【0012】リングバッファ3は前記メッセージの到着
順に宛先アドレスを記憶する。これは例えばFIFOで
ある。送出手段4は前記リングバッファに格納されてい
る宛先アドレスを読み出して当該宛先に対応するテーブ
ルにエンキューされたバッファに格納されたメッセージ
を送出する。
The ring buffer 3 stores the destination addresses in the order of arrival of the messages. This is a FIFO, for example. The sending means 4 reads the destination address stored in the ring buffer and sends the message stored in the buffer enqueued in the table corresponding to the destination.

【0013】[0013]

【作用】本発明の基本原理は以下の如くである。第1の
工程では、マルチプロセッサ内のプロセッサから受信し
たメッセージをバッファに格納し、送出すべき宛先のマ
ルチプロセッサID毎にリスト構造化してキューイング
する。また、これと同時に第2の工程では、受信した前
記メッセージを到着順に宛先の前記マルチプロセッサI
D対応アドレスでリングバッファに記憶する。そして、
第2の工程で記憶した宛先を読み出して前記第1の工程
でキューイングされたバッファを検索してメッセージを
第3の工程で送出する。
The basic principle of the present invention is as follows. In the first step, a message received from a processor in the multiprocessor is stored in a buffer, and a list structure is formed for each destination multiprocessor ID to be sent and queued. At the same time, in the second step, the received messages are sent to the multiprocessor I of the destination in the order of arrival.
Store in the ring buffer at the address corresponding to D. And
The destination stored in the second step is read, the buffer queued in the first step is searched, and the message is sent in the third step.

【0014】また、本発明の装置の作用は以下の如くで
ある。マルチプロセッサ内の前記プロセッサからメッセ
ージが送信された際には、メッセージ通信装置内のメッ
セージバッファ1はその受信したメッセージを記憶す
る。そして、メッセージが指示するメッセージ通信装置
への宛先毎にそのバッファをキューイングし、宛先のマ
ルチプロセッサID毎に到着順にエンキューしたリスト
をテーブル2は記憶する。それと同時にメッセージの到
着順に宛先アドレスすなわちマルチプロセッサIDをリ
ングバッファ3は記憶する。
The operation of the device of the present invention is as follows. When a message is transmitted from the processor in the multiprocessor, the message buffer 1 in the message communication device stores the received message. Then, the buffer is queued for each destination to the message communication device indicated by the message, and the table 2 stores a list of enqueues in order of arrival for each multiprocessor ID of the destination. At the same time, the ring buffer 3 stores the destination address, that is, the multiprocessor ID in the order of arrival of the messages.

【0015】送信手段4はこれらのメッセージをプロセ
ッサから受信した際には、先ずリングバッファ3に格納
されている宛先アドレスを読み出して、その宛先に対応
するテーブル2にエンキューされたバッファに格納され
たメッセージを送出する。
When the sending means 4 receives these messages from the processor, it first reads the destination address stored in the ring buffer 3 and stores it in the buffer enqueued in the table 2 corresponding to the destination. Send a message.

【0016】この送出に先立ち、コンピュータすなわち
プロセッサはメッセージ通信装置毎すなわちマルチプロ
セッサID毎にプロセッサ内部での管理は必要なくな
り、一括して通信装置内で管理できる。
Prior to this transmission, the computer, that is, the processor does not need to manage the inside of the processor for each message communication device, that is, for each multiprocessor ID, and can collectively manage the communication device.

【0017】[0017]

【実施例】以下、図面を用いて本発明を詳細に説明す
る。 <本発明のキューイング方法>図2はメッセージ通信装
置内に設けられる宛先別テーブル図である。メッセージ
通信装置に送るべきメッセージの宛先T1〜Tnに対応
してそれぞれメッセージ数、先頭バッファアドレス、最
終バッファアドレスを記憶している。
The present invention will be described in detail below with reference to the drawings. <Queuing Method of the Present Invention> FIG. 2 is a diagram of a table for each destination provided in the message communication device. The number of messages, the head buffer address, and the last buffer address are stored in correspondence with the destinations T1 to Tn of the message to be sent to the message communication device.

【0018】送信するメッセージ数はそのメッセージ通
信装置から他のメッセージ通信装置を介した他のコンピ
ュータへの通信においては、メッセージ通信装置より目
的とするメッセージ通信装置の宛先T1に対応してすな
わちマルチプロセッサIDに対応して受信したメッセー
ジ数である。
In the communication from the message communication device to another computer via the other message communication device, the number of messages to be transmitted corresponds to the destination T1 of the target message communication device from the message communication device, that is, the multiprocessor. It is the number of messages received corresponding to the ID.

【0019】第1番目に受信したメッセージが格納され
ているバッファaの先頭アドレスを宛先T1のリスト先
頭バッファアドレスに格納する。尚、本発明の実施例で
は、マルチプロセッサIDとプロセッサIDとで通信が
管理されている。ここでいう宛先T1〜Tnはマルチプ
ロセッサIDを表わしている。そして、宛先T1のリス
ト最終バッファアドレスも同じくメッセージを格納した
バッファaの先頭アドレスとする。続いて送出される前
に次のメッセージがコンピュータより送出されそのメッ
セージ通信装置に加わったときには、バッファa+1に
格納し、そのバッファの先頭アドレスをバッファaのヘ
ッダに格納する。そして、最終バッファアドレスをa+
1の先頭とする。更に、メッセージが受信された時に
は、バッファa+2に格納する。このバッファa+2の
先頭のアドレスをバッファa+1のヘッダ部に格納す
る。そして、バッファa+2の先頭アドレスの宛先T1
のリスト最終バッファアドレスに格納する。この時メッ
セージ数は3である。
The head address of the buffer a in which the first received message is stored is stored in the list head buffer address of the destination T1. In the embodiment of the present invention, communication is managed by the multiprocessor ID and the processor ID. The destinations T1 to Tn here represent multiprocessor IDs. Then, the last buffer address of the list of the destination T1 is also set to the top address of the buffer a in which the message is stored. When the next message is sent from the computer and added to the message communication device before being sent subsequently, it is stored in the buffer a + 1 and the head address of the buffer is stored in the header of the buffer a. And the last buffer address is a +
Set to the beginning of 1. Further, when the message is received, it is stored in the buffer a + 2. The head address of this buffer a + 2 is stored in the header part of the buffer a + 1. Then, the destination T1 of the leading address of the buffer a + 2
Store in the last buffer address of the list. At this time, the number of messages is three.

【0020】以上の動作によって合計3つのメッセージ
が宛先T1に対応して格納される。一方、この時に、同
じくリングバッファにその受信した宛先に関係し順番に
メッセージ数と宛先とを対応してリングバッファに格納
する。
By the above operation, a total of three messages are stored corresponding to the destination T1. On the other hand, at this time, similarly, the number of messages and the destinations are stored in the ring buffer in association with the received destinations in order in the ring buffer.

【0021】図3はリングバッファの構成図である。リ
ングバッファの有効部開始点と有効部終了点と今までの
メッセージ数をテーブルXに格納する。図中の斜線部に
は宛先が格納されるが、その宛先に依存せずにプロセッ
サから入力した順番に格納される。例えば宛先T2、宛
先T3、宛先T1の順でコンピュータからメッセージが
入力した際には、リングバッファ内にはT2,T3,T
1の順に送出すべき宛先が格納される。
FIG. 3 is a block diagram of the ring buffer. The effective part start point and effective part end point of the ring buffer and the number of messages so far are stored in table X. Destinations are stored in the shaded areas in the figure, but are stored in the order input from the processor without depending on the destinations. For example, when messages are input from a computer in the order of destination T2, destination T3, destination T1, T2, T3, T are stored in the ring buffer.
Destinations to be transmitted are stored in the order of 1.

【0022】図4は宛先テーブルとリングバッファの関
係図である。コンピュータからメッセージ通信装置に各
T1宛メッセージ、続いてTn宛メッセージ、さらにT
3宛メッセージと入力したとする。例えばT1宛メッセ
ージは図12における、メッセージ通信装置113宛、
またTn宛はメッセージ通信装置123宛である。この
時、リングバッファZにはT1宛、Tn宛、T1宛の順
にその宛先が格納される。そして、宛先テーブルWには
T1宛メッセージ数とその格納アドレスバッファが到着
順に格納される。すなわちメッセージ,がT1宛メ
ッセージのバッファに、がTn宛に格納される。メッ
セージ通信装置がこのテーブル並びにリングバッファZ
より、先ず送るべき宛先を読み出し、それに対応する宛
先テーブルからメッセージの格納アドレスを読み出し、
メッセージをネットワークに送出する。
FIG. 4 is a relationship diagram between the destination table and the ring buffer. From the computer to the message communication device, messages for each T1, followed by messages for Tn, and then T
Suppose that you have entered a message addressed to 3. For example, the message addressed to T1 is addressed to the message communication device 113 in FIG.
The address of Tn is addressed to the message communication device 123. At this time, the ring buffer Z stores the destinations in the order of T1, Tn, and T1. Then, the number of messages addressed to T1 and the storage address buffers thereof are stored in the destination table W in the order of arrival. That is, the message is stored in the buffer for the message addressed to T1 and the message is stored in the buffer addressed to Tn. The message communication device uses this table and ring buffer Z.
First, read the destination to be sent, read the storage address of the message from the corresponding destination table,
Send the message to the network.

【0023】以上のように送り側のメッセージ通信装置
で受信側のメッセージ通信装置の宛先を管理しているの
で、メッセージ通信装置に接続したコンピュータでの管
理は必要なく、必要とするときにメッセージ通信装置に
送出するだけでよい。
As described above, since the message communication device on the sending side manages the destination of the message communication device on the receiving side, the management by the computer connected to the message communication device is not necessary, and the message communication is required when necessary. Just send it to the device.

【0024】以下では、更にネットワークの詳細なシス
テムを用いて本発明を説明する。 <本発明の第2の実施例>図5は、本発明の実施例のネ
ットワークの構成図である。
In the following, the invention will be described using a more detailed network system. <Second Embodiment of the Present Invention> FIG. 5 is a configuration diagram of a network according to an embodiment of the present invention.

【0025】光ファイバリング206を中心に構成され
るネットワーク201には、複数のノード202(図5
では、#000、#***、#%%%、などの番号で示されている)
が接続される。この側は例えばトークンリングである。
A network 201 constructed around an optical fiber ring 206 has a plurality of nodes 202 (see FIG. 5).
Are indicated by numbers such as # 000, # ***, # %%%, etc.)
Are connected. This side is, for example, a token ring.

【0026】ノード202において、プロセッサバス2
05には複数のプロセッサ204が接続され、プロセッ
サバス205はメッセージ通信装置203すなわちメッ
セージ通信制御モジュールに収容される。メッセージ通
信装置203は、プロセッサバス205を介してプロセ
ッサ204が送信又は受信するメッセージデータを処理
し、また、光ファイバリング206に対して入力又は出
力されるメッセージデータが格納されたフレームを処理
する。このメッセージ通信装置203内のバスの構成
が、本発明に最も関連する。
At node 202, processor bus 2
A plurality of processors 204 are connected to 05, and the processor bus 205 is accommodated in the message communication device 203, that is, the message communication control module. The message communication device 203 processes message data transmitted or received by the processor 204 via the processor bus 205, and also processes a frame in which message data input to or output from the optical fiber ring 206 is stored. The configuration of the bus in the message communication device 203 is most relevant to the present invention.

【0027】次に、図6は、本発明の実施例における図
5のノード202内のメッセージ通信装置203の構成
図である。本発明はこのメッセージ通信間のメッセージ
の管理におけるものである。
Next, FIG. 6 is a configuration diagram of the message communication device 203 in the node 202 of FIG. 5 in the embodiment of the present invention. The present invention is in the management of messages during this messaging.

【0028】実メモリ307は、メッセージデータを一
時保持する通信バッファとしてまた、通信する相手のメ
ッセージ通信装置のアドレスを記憶するテーブルとして
機能する。
The real memory 307 functions as a communication buffer for temporarily holding the message data and as a table for storing the address of the message communication device of the communicating party.

【0029】制御メモリ308は、メッセージの通信に
使用される仮想記憶空間上の各仮想ページアドレス毎
に、その仮想ページアドレスが実メモリ307内の実ペ
ージアドレスに割り付けられている場合にはその実ペー
ジアドレスと、その仮想ページアドレスのページ状態
(通信状態)を示すデータを記憶する。
The control memory 308, for each virtual page address in the virtual storage space used for message communication, if that virtual page address is assigned to the real page address in the real memory 307, the real page address. The address and data indicating the page state (communication state) of the virtual page address are stored.

【0030】プロセッサバスインタフェース312は、
図5のプロセッサバス205を収容すると共に外部バス
301に接続され、図5のプロセッサ204からプロセ
ッサバス205を介して入力されるメッセージデータ等
を、外部バス301及びバーチャルメモリコントローラ
309を介して実メモリ307に出力し、逆に、実メモ
リ307からバーチャルメモリコントローラ309及び
外部バス301を介して入力されるメッセージデータ等
を、プロセッサバス205を介してプロセッサ204に
出力する。
The processor bus interface 312 is
5 is connected to the external bus 301 while accommodating the processor bus 205 shown in FIG. 5, and message data or the like input from the processor 204 shown in FIG. 5 via the processor bus 205 is real memory via the external bus 301 and the virtual memory controller 309. 307 and vice versa, the message data and the like input from the real memory 307 via the virtual memory controller 309 and the external bus 301 are output to the processor 204 via the processor bus 205.

【0031】また、プロセッサバスインタフェース31
2は、外部バス301、バス結合部311及びCPUバ
ス302を介して、CPU313との間で、通信制御デ
ータの授受を行う。尚、通常はバス結合部311は外部
バス301とCPUバス302を接続しておらず、#0又
は#1のプロセッサバスインタフェース312が実メモリ
307との間でメッセージデータ等の授受を行うために
外部バス301をアクセスする動作と、CPU313が
実メモリ307又は制御メモリ308をアクセスするた
めにCPUバス302をアクセスする動作は、独立にか
つ並行して行うことができる。この結果、メッセージ通
信装置203全体のスループットを向上させている。
Further, the processor bus interface 31
2 exchanges communication control data with the CPU 313 via the external bus 301, the bus coupling unit 311, and the CPU bus 302. Normally, the bus coupling unit 311 does not connect the external bus 301 and the CPU bus 302, and the # 0 or # 1 processor bus interface 312 exchanges message data and the like with the real memory 307. The operation of accessing the external bus 301 and the operation of accessing the CPU bus 302 for the CPU 313 to access the real memory 307 or the control memory 308 can be performed independently and in parallel. As a result, the throughput of the entire message communication device 203 is improved.

【0032】図5には明示してないが、図6では、プロ
セッサバス205は、1ノードあたり2本設けられてい
る。従って、プロセッサバスインタフェース312も、
各プロセッサバス205に対応して、#0と#1の2つが設
けられている。そして、#0のプロセッサバスインタフェ
ース312は、制御線319を用いて、#0と#1の各プロ
セッサバスインタフェース312が外部バス301をア
クセスする場合の競合制御を行う。更に、#0のプロセッ
サバスインタフェース312は、制御線321、322
を介して、後述するCPUバスアービタ314及びI/
Oコントローラ315との間でバスの使用に関する制御
データを授受しながら、外部バス301の競合制御を行
って、必要なときには制御線320を介してバス結合部
311の開閉制御を行う。
Although not explicitly shown in FIG. 5, in FIG. 6, two processor buses 205 are provided for each node. Therefore, the processor bus interface 312 also
Two # 0 and # 1 are provided corresponding to each processor bus 205. Then, the # 0 processor bus interface 312 uses the control line 319 to perform contention control when the # 0 and # 1 processor bus interfaces 312 access the external bus 301. Further, the # 0 processor bus interface 312 is connected to the control lines 321 and 322.
Via a CPU bus arbiter 314 and I /
While exchanging control data regarding bus use with the O controller 315, competition control of the external bus 301 is performed, and opening / closing control of the bus coupling unit 311 is performed via the control line 320 when necessary.

【0033】ネットワーク制御回路310は、フレーム
の送信時には、CPU313からCPUバス302、I
/Oコントローラ315、及びネットワーク命令/結果
バス303を介して入力される送信命令に基づいて、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、実メモリ307からバーチャルメ
モリコントローラ309及びネットワークデータ送信バ
ス305を介して送信されるべきメッセージデータを読
み出し、それを含む送信フレームを構築し、それを光フ
ァイバリング206に送出し、その送信結果を、ネット
ワーク命令/結果バス303、I/Oコントローラ31
5、及びCPUバス302を介してCPU313に通知
する。これらのネットワーク通信装置間の通信管理は後
述する。
The network control circuit 310 sends the frame from the CPU 313 to the CPU bus 302, I.
A control memory 308 via a control memory access bus 306 based on a transmission command input via the I / O controller 315 and the network command / result bus 303.
While accessing, read message data to be transmitted from the real memory 307 via the virtual memory controller 309 and the network data transmission bus 305, construct a transmission frame including the message data, and send it to the optical fiber ring 206. The transmission result is sent to the network command / result bus 303 and the I / O controller 31.
5 and the CPU 313 via the CPU bus 302. Communication management between these network communication devices will be described later.

【0034】また、ネットワーク制御回路310は、光
ファイバリング206からのフレームの受信時には、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、その受信フレームを他のノード2
02へ中継する。又は、その受信フレーム内のメッセー
ジデータを取り出し、ネットワークデータ受信バス30
4からバーチャルメモリコントローラ309を介して実
メモリ307に格納し、その受信結果を、ネットワーク
命令/結果バス303、I/Oコントローラ315、及
びCPUバス302を介してCPU313に通知する。
Further, the network control circuit 310 receives the frame from the optical fiber ring 206, and the control memory 308 via the control memory access bus 306.
Access the received frame to another node 2
Relay to 02. Alternatively, the message data in the received frame is extracted and the network data reception bus 30
4 to the real memory 307 via the virtual memory controller 309, and the reception result is notified to the CPU 313 via the network command / result bus 303, the I / O controller 315, and the CPU bus 302.

【0035】CPU313は、CPUバス302に接続
され、動作開始時に、CPUバス302に接続されるE
PROM316からCPUバス302に接続されるプロ
グラムRAM317に書き込まれる制御プログラムに従
って動作する。
The CPU 313 is connected to the CPU bus 302, and is connected to the CPU bus 302 at the start of operation.
It operates according to a control program written from the PROM 316 to the program RAM 317 connected to the CPU bus 302.

【0036】このCPU313は、CPUバス302、
バス結合部311、及び外部バス301を介して、プロ
セッサバスインタフェース312との間で、通信制御デ
ータの授受を行う。
The CPU 313 has a CPU bus 302,
Communication control data is exchanged with the processor bus interface 312 via the bus coupling unit 311 and the external bus 301.

【0037】また、CPU313は、フレームの送信時
には、CPUバス302、I/Oコントローラ315、
及びネットワーク命令/結果バス303を介して、送信
命令をネットワーク制御回路310へ出力し、その後、
ネットワーク制御回路310から、ネットワーク命令/
結果バス303、I/Oコントローラ315、及びCP
Uバス302を介して、送信結果通知を受け取る。逆
に、CPU313は、フレームの受信時には、ネットワ
ーク制御回路310から、ネットワーク命令/結果バス
303、I/Oコントローラ315、及びCPUバス3
02を介して、受信結果通知を受け取る。
Further, the CPU 313, when transmitting a frame, uses the CPU bus 302, the I / O controller 315,
And output a send command to the network control circuit 310 via the network command / result bus 303, and thereafter
From the network control circuit 310, a network command /
Result bus 303, I / O controller 315, and CP
The transmission result notification is received via the U bus 302. Conversely, the CPU 313 receives from the network control circuit 310 the network command / result bus 303, the I / O controller 315, and the CPU bus 3 when receiving a frame.
A reception result notification is received via 02.

【0038】更に、CPU313は、CPUバス302
を介して制御メモリ308内の各仮想ページアドレスの
ページ状態データ(通信状態を示すデータ)をアクセス
すると共に、CPUバス302及びバーチャルメモリコ
ントローラ309を介して制御メモリ308内の各仮想
ページアドレスの実ページアドレスデータ及び実メモリ
307をアクセスする。
Further, the CPU 313 has a CPU bus 302.
The page state data (data indicating the communication state) of each virtual page address in the control memory 308 is accessed via the CPU memory 302 and the virtual page address of each virtual page address in the control memory 308 is accessed via the CPU bus 302 and the virtual memory controller 309. The page address data and the real memory 307 are accessed.

【0039】I/Oコントローラ315は、CPUバス
302に接続され、外部の周辺装置が接続される周辺装
置バス318を収容する。また、I/Oコントローラ3
15は、前述したように、CPUバス302及びネット
ワーク命令/結果バス303を介して、CPU313と
ネットワーク制御回路310との間で授受される送信命
令、送信結果通知又は受信結果通知を中継する。
The I / O controller 315 is connected to the CPU bus 302 and accommodates a peripheral device bus 318 to which external peripheral devices are connected. In addition, I / O controller 3
As described above, the relay unit 15 relays the transmission command, the transmission result notification, or the reception result notification exchanged between the CPU 313 and the network control circuit 310 via the CPU bus 302 and the network command / result bus 303.

【0040】更に、I/Oコントローラ315は、CP
U313が外部バス301をアクセスするアドレスをC
PUバス302に対して指定した場合に、制御線322
を介して#0のプロセッサバスインタフェース312に、
外部バスアクセス要求を出力する。
Further, the I / O controller 315 is a CP
The address that U313 uses to access the external bus 301 is C
When specified for the PU bus 302, the control line 322
To the processor bus interface 312 of # 0 via
Outputs an external bus access request.

【0041】CPUバスアービタ314は、プロセッサ
バスインタフェース312から制御線321を介してC
PUバスアクセス要求(バスグラント要求)を受け取っ
た場合に、CPU313に対して制御線323を介して
バス使用要求(バスグラント要求)を出力し、CPU3
13から制御線323を介してバス使用許可(バスグラ
ントアクノリッジ)を受け取り、それに基づいてCPU
バスアクセス許可(バスグラントアクノリッジ)を制御
線321を介して#0のプロセッサバスインタフェース3
12に返す。
The CPU bus arbiter 314 is a C bus from the processor bus interface 312 via the control line 321.
When the PU bus access request (bus grant request) is received, the bus use request (bus grant request) is output to the CPU 313 via the control line 323, and the CPU 3
13 receives a bus use permission (bus grant acknowledge) from the control line 323 through the control line 323, and based on that, the CPU
Bus access permission (bus grant acknowledge) is sent via the control line 321 to the # 0 processor bus interface 3
Return to 12.

【0042】バーチャルメモリコントローラ309は、
プロセッサバスインタフェース312と実メモリ307
との間で外部バス301を介して授受されるデータ、C
PU313と実メモリ307又は制御メモリ308との
間でCPUバス302を介して授受されるデータ、ネッ
トワーク制御回路310と実メモリ307との間でネッ
トワークデータ受信バス304又はネットワークデータ
送信バス305を介して授受されるデータのスイッチン
グ制御及び競合制御を行う。
The virtual memory controller 309 is
Processor bus interface 312 and real memory 307
Data exchanged with the external bus 301 via the external bus 301, C
Data transmitted and received between the PU 313 and the real memory 307 or the control memory 308 via the CPU bus 302, and between the network control circuit 310 and the real memory 307 via the network data reception bus 304 or the network data transmission bus 305. The switching control and the contention control of the exchanged data are performed.

【0043】以上の構成を有する本発明の実施例の動作
について説明する。 <プロセッサ間通信の全体動作>今、図5及び図6にお
いて、例えば#000のノード202内の1つのプロセッサ
204から、#***のノード202内の他の1つのプロセ
ッサ204にメッセージデータを送信する場合の全体動
作について説明する。
The operation of the embodiment of the present invention having the above configuration will be described. <Overall operation of inter-processor communication> Now, referring to FIGS. 5 and 6, for example, message data is sent from one processor 204 in the node 202 of # 000 to another processor 204 in the node 202 of # ***. The overall operation when transmitting will be described.

【0044】この場合に、#000のノード202内の1つ
のプロセッサ204から送信されるメッセージデータ
は、プロセッサバス205を介してそのノード内のメッ
セージ通信装置203(以下、#000のメッセージ通信装
置203と呼ぶ)の実メモリ307に転送された後に、
#***のノード202内のメッセージ通信装置203(以
下、#***のメッセージ通信装置203と呼ぶ)の実メモ
リ307に送られ、その後、その実メモリ307からプ
ロセッサバス205を介して宛て先のプロセッサ204
に転送される。即ち、各メッセージ通信装置203の実
メモリ307は、通信バッファとして機能する。 <メッセージ通信装置203間の通信方式>ここで、メ
ッセージ通信装置203間のメッセージデータの通信に
は、ネットワーク仮想記憶方式という特別な方式が適用
される。
In this case, the message data transmitted from one processor 204 in the node # 000 is the message communication device 203 in the node (hereinafter, the message communication device 203 in # 000) via the processor bus 205. Call)) to the real memory 307,
It is sent to the real memory 307 of the message communication device 203 in the node 202 of # *** (hereinafter referred to as the message communication device 203 of # ***), and then the destination from the real memory 307 via the processor bus 205. The processor 204
Transferred to. That is, the real memory 307 of each message communication device 203 functions as a communication buffer. <Communication method between message communication apparatuses 203> Here, a special method called a network virtual storage method is applied to communication of message data between the message communication apparatuses 203.

【0045】まず、図5のネットワーク201全体で、
仮想記憶空間が定義される。この仮想記憶空間は、複数
の仮想ページに分割され、メッセージデータの通信はこ
の仮想ページを介して行われる。例えば、仮想記憶空間
は、0000〜FFFFページ(16進数)までの仮想ページア
ドレスに分割される。1つの仮想ページは、メッセージ
データの1単位であるパケットを十分に収容可能な固定
長(例えば8キロバイト長)のデータ長を有する。な
お、以下特に言及しないときは、仮想ページアドレス及
び口述する実ページアドレスは、16進数で表現する。
First, in the entire network 201 of FIG.
A virtual memory space is defined. This virtual storage space is divided into a plurality of virtual pages, and message data is communicated via these virtual pages. For example, the virtual storage space is divided into virtual page addresses of 0000 to FFFF pages (hexadecimal number). One virtual page has a fixed length (for example, 8 kilobyte length) data length that can sufficiently accommodate a packet that is one unit of message data. Unless otherwise specified, the virtual page address and the dictated real page address are represented by hexadecimal numbers.

【0046】次に、この仮想記憶空間の所定ページ数毎
例えば16ページ毎に、ネットワーク201に接続され
る各ノード202のメッセージ通信装置203が割り当
てられる。例えば、0000〜000Fページには#000番目のノ
ード202のメッセージ通信装置203が割り当てら
れ、0010〜001Fページには#001番目のノード202のメ
ッセージ通信装置203が割り当てられ、以下同様にし
て、***0〜***Fページ及び%%%0〜%%%Fページ(3桁の *
及び %はそれぞれ0〜 Fの16進数のうち任意の数)に
は、それぞれ#***番目及び#%%%番目の各ノード202の
メッセージ通信装置203が割り当てられる。
Next, the message communication device 203 of each node 202 connected to the network 201 is allocated every predetermined number of pages of the virtual storage space, for example, every 16 pages. For example, the message communication device 203 of the # 000th node 202 is allocated to the 0000 to 000F page, the message communication device 203 of the # 001th node 202 is allocated to the 0010 to 001F page, and so on. ** 0-*** F page and %%% 0-%%% F page (3 digit *
And% are arbitrary numbers in hexadecimal numbers 0 to F), the message communication device 203 of each node 202 of the # *** th and # %%% th is assigned.

【0047】従って、上述の例では、ネットワーク20
1には、#000〜#FFFまでの最大で3096台のメッセー
ジ通信装置203が接続可能である。一方、各メッセー
ジ通信装置203内の実メモリ307は、それぞれが上
述の仮想ページと同じデータ長を有する複数の実ページ
に分割される。実メモリ307のページ容量は、仮想記
憶空間のページ容量よりはるかに小さくてよく、例えば
64〜256ページ程度でよい。
Therefore, in the above example, the network 20
1, a maximum of 3096 message communication devices 203 from # 000 to #FFF can be connected. On the other hand, the real memory 307 in each message communication device 203 is divided into a plurality of real pages each having the same data length as the above-mentioned virtual page. The page capacity of the real memory 307 may be much smaller than the page capacity of the virtual storage space, and may be, for example, about 64 to 256 pages.

【0048】次に、各メッセージ通信装置203の制御
メモリ308にはそれぞれ、図7に示されるように、全
仮想ページアドレス分の制御データが記憶される。各仮
想ページアドレスの制御データは、図7に示されるよう
に、その仮想ページアドレスに対応付けられる自メッセ
ージ通信装置203内の実メモリ307の実ページアド
レスデータと、その仮想ページアドレスの通信状態を示
すページ状態データとから構成されている。
Next, in the control memory 308 of each message communication device 203, as shown in FIG. 7, control data for all virtual page addresses are stored. As shown in FIG. 7, the control data of each virtual page address indicates the real page address data of the real memory 307 in the own message communication device 203 associated with the virtual page address and the communication state of the virtual page address. And page status data shown.

【0049】そして、初期状態として、各ノード202
内のメッセージ通信装置203の制御メモリ308にお
いて、そのノード202に割り当てられている仮想ペー
ジアドレスには、CPU313のネットワーク用受信制
御機能によって、自メッセージ通信装置203の実メモ
リ307内の任意の空きページに設けられるネットワー
ク用受信バッファの実ページアドレスと、ページ状態と
して受信バッファ割付状態VPが、それぞれ予め書き込ま
れている。なお、ネットワーク用受信制御機能は、CP
U313がプログラムRAM317に記憶された制御プ
ログラムを実行することにより実現される。
Then, as an initial state, each node 202
In the control memory 308 of the message communication device 203 in the internal message communication device 203, the virtual page address assigned to the node 202 is set to an arbitrary empty page in the real memory 307 of the own message communication device 203 by the network reception control function of the CPU 313. The real page address of the network receiving buffer provided in the above and the receiving buffer allocation state VP as the page state are respectively written in advance. The network reception control function is a CP
This is realized by the U313 executing the control program stored in the program RAM 317.

【0050】例えば、#000のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている0000,0001,・・・ ,000Fペー
ジの各仮想ページアドレスには、図7に示されるよう
に、実メモリ307内のs,q,・・・,pの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
For example, # 000 message communication device 203
In the control memory 308 of the own message communication device 2
As shown in FIG. 7, each virtual page address of 0000,0001, ..., 000F pages allocated to the 03 is assigned to each real page of s, q, ..., p in the real memory 307. The address has been written and the page status VP indicating the receive buffer allocation status has been written.

【0051】また、#***のメッセージ通信装置203の
制御メモリ308において、自メッセージ通信装置20
3に割り当てられている***0,***1,・・・ ,***Fページ
の各仮想ページアドレスには、図7に示されるように、
実メモリ307内のv,u,・・・,tの各実ページアドレス
が書き込まれ、受信バッファ割付状態を示すページ状態
VPが書き込まれている。
Also, in the control memory 308 of the message communication device 203 of # ***, the own message communication device 20
As shown in FIG. 7, each virtual page address of **** 0, *** 1, ..., *** F page assigned to
The page status indicating the receive buffer allocation status in which each real page address of v, u, ..., T in the real memory 307 is written.
VP is written.

【0052】同様に、#%%%のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている%%%0,%%%1,・・・ ,%%%Fペー
ジの各仮想ページアドレスには、図7に示されるよう
に、実メモリ307内のy,w,・・・,xの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
Similarly, the message communication device 203 of # %%%
In the control memory 308 of the own message communication device 2
As shown in FIG. 7, the virtual page addresses of the %%% 0, %%% 1, ..., %%% F pages allocated to the 03 are y, w, and y in the real memory 307. , X are written, and the page state VP indicating the receive buffer allocation state is written.

【0053】今、後述する転送動作により、例えば#000
のメッセージ通信装置203の実メモリ307内の、実
ページアドレスがr であるネットワーク用送信バッファ
(後述する)に、#000のノード202内の1つのプロセ
ッサ204からメッセージデータが転送されているもの
とする。
Now, by the transfer operation described later, for example, # 000
Message data is transferred from one processor 204 in the node # 000 202 to a network transmission buffer (to be described later) whose real page address is r in the real memory 307 of the message communication device 203 of FIG. To do.

【0054】CPU313のネットワーク用送信制御機
能は、CPUバス302及びバーチャルメモリコントロ
ーラ309を介して実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析することによって、その
宛て先アドレスに対応するプロセッサ204が収容され
るノード202に割り当てられている仮想ページアドレ
スのうち、ページ状態がバッファ未割付状態NAとなって
いるものを決定する。図7の例では、例えば仮想ページ
アドレス***2が決定される。なお、ネットワーク用送信
制御機能は、CPU313がプログラムRAM317に
記憶された制御プログラムを実行することにより実現さ
れる。
The network transmission control function of the CPU 313 analyzes the destination address part in the header of the message data stored in the network transmission buffer in the real memory 307 via the CPU bus 302 and the virtual memory controller 309. By doing so, the virtual page address assigned to the node 202 in which the processor 204 corresponding to the destination address is accommodated is determined as the one whose page state is the buffer unallocated state NA. In the example of FIG. 7, for example, the virtual page address *** 2 is determined. The network transmission control function is realized by the CPU 313 executing the control program stored in the program RAM 317.

【0055】次に、CPU313のネットワーク用送信
制御機能は、制御メモリ308内の上述の決定した仮想
ページアドレスに、上述のメッセージデータが格納され
ているネットワーク用送信バッファの実ページアドレス
を書き込み、ページ状態を、バッファ未割付状態NAから
送信状態SDに変更する。図7の例では、例えば仮想ペー
ジアドレス***2に実ページアドレスr と送信状態SDが設
定される。
Next, the network transmission control function of the CPU 313 writes the real page address of the network transmission buffer in which the above-mentioned message data is stored in the determined virtual page address in the control memory 308, and the page Change the status from the buffer unallocated status NA to the transmission status SD. In the example of FIG. 7, the real page address r and the transmission state SD are set to the virtual page address *** 2, for example.

【0056】そして、CPU313のネットワーク用送
信制御機能は、I/Oコントローラ315内の送信用F
IFOに、CPUバス302を介して、送信命令と共
に、上述の仮想ページアドレスと、上述のメッセージデ
ータの転送長を書き込む。
The network transmission control function of the CPU 313 is the transmission F function in the I / O controller 315.
The virtual page address and the transfer length of the message data described above are written to the IFO via the CPU bus 302 together with the transmission command.

【0057】ネットワーク制御回路310は、I/Oコ
ントローラ315内の送信用FIFOから、ネットワー
ク命令/結果バス303を介して、上述の送信命令等を
読み出すと、その送信命令に付加されている仮想ページ
アドレスを、制御メモリアクセスバス306を介して制
御メモリ308に指定し、制御メモリ308から上述の
仮想ページアドレスに設定されている実ページアドレス
を読み出してバーチャルメモリコントローラ309内の
DMA転送用レジスタに設定する。
When the network control circuit 310 reads the above-mentioned transmission command or the like from the transmission FIFO in the I / O controller 315 via the network command / result bus 303, the virtual page added to the transmission command. An address is designated to the control memory 308 via the control memory access bus 306, the real page address set in the above-mentioned virtual page address is read from the control memory 308, and set in the DMA transfer register in the virtual memory controller 309. To do.

【0058】そして、ネットワーク制御回路310は、
バーチャルメモリコントローラ309に、送信されるべ
きメッセージデータが含まれる実メモリ307内の上記
実ページアドレスのページデータを、ネットワークデー
タ送信バス305を介してネットワーク制御回路310
にDMA転送させる。
Then, the network control circuit 310 is
The page data of the real page address in the real memory 307 including the message data to be transmitted to the virtual memory controller 309 is transferred to the network control circuit 310 via the network data transmission bus 305.
To DMA transfer.

【0059】ネットワーク制御回路310は、上述のペ
ージデータから送信命令に付加されているメッセージデ
ータの転送長に対応する分のメッセージデータを取り出
し、そのメッセージデータと送信命令に付加されている
仮想ページアドレス及びメッセージデータの転送長を含
む送信フレームを生成し、それを光ファイバリング20
6に送出する。なお、光ファイバリング206のフレー
ム伝送方式としては、トークンリングネットワーク方式
が採用され、ネットワーク制御回路310は、光ファイ
バリング206上を周回するフリートークンを獲得した
場合のみ送信フレームを送出することができる。
The network control circuit 310 extracts message data corresponding to the transfer length of the message data added to the send command from the above page data, and the virtual page address added to the message data and the send command. And a transmission frame including the transfer length of the message data and generating the transmission frame.
Send to 6. The token ring network method is adopted as the frame transmission method of the optical fiber ring 206, and the network control circuit 310 can send a transmission frame only when a free token circulating on the optical fiber ring 206 is acquired. .

【0060】図7の例においては、#000のメッセージ通
信装置203から、仮想ページアドレス***2と実メモリ
307内の実ページアドレスr に格納されているメッセ
ージデータとを含む送信フレームが、光ファイバリング
206に送出される。
In the example of FIG. 7, a transmission frame including the virtual page address *** 2 and the message data stored in the real page address r in the real memory 307 from the message communication device 203 of # 000 is transmitted. It is sent to the optical fiber ring 206.

【0061】上述の送信フレームは、光ファイバリング
206に接続されている他のノード202(図5参照)
に順次転送される。各ノード202内のメッセージ通信
装置203のネットワーク制御回路310は、光ファイ
バリング206から上記送信フレームを取り込むと、そ
の送信フレームに格納されている仮想ページアドレスに
対応するページ状態を制御メモリアクセスバス306を
介して制御メモリ308から読み出し、そのページ状態
が受信バッファ割付状態VPであるか否か、即ち、その仮
想ページアドレスが自ノード202のメッセージ通信装
置203に割り当てられているか否か、又はそのページ
状態が送信状態SDであるか否か、即ち、その送信フレー
ムが自ネットワーク制御回路310が送出したものであ
るか否かを判別する。
The above-mentioned transmission frame is transmitted to another node 202 (see FIG. 5) connected to the optical fiber ring 206.
Are sequentially transferred to. When the network control circuit 310 of the message communication device 203 in each node 202 fetches the transmission frame from the optical fiber ring 206, the page state corresponding to the virtual page address stored in the transmission frame is set to the control memory access bus 306. Read from the control memory 308 via the, and whether the page status is the receive buffer allocation status VP, that is, whether the virtual page address is assigned to the message communication device 203 of the own node 202, or the page It is determined whether or not the state is the transmission state SD, that is, whether or not the transmission frame is transmitted by the own network control circuit 310.

【0062】ネットワーク制御回路310は、送信フレ
ームに格納されている仮想ページアドレスのページ状態
が受信バッファ割付状態VPであると判別した場合には、
送信フレームに格納されているメッセージデータを、以
下のようにして実メモリ307に取り込む。
When the network control circuit 310 determines that the page state of the virtual page address stored in the transmission frame is the reception buffer allocation state VP,
The message data stored in the transmission frame is taken into the real memory 307 as follows.

【0063】即ち、ネットワーク制御回路310は、ま
ず、送信フレームに格納されている仮想ページアドレス
を、制御メモリアクセスバス306を介して制御メモリ
308に指定し、制御メモリ308から上述の仮想ペー
ジアドレスに設定されている実ページアドレスを読み出
してバーチャルメモリコントローラ309内のDMA転
送用レジスタに設定する。そして、ネットワーク制御回
路310は、バーチャルメモリコントローラ309に、
送信フレームに含まれるメッセージデータを、ネットワ
ークデータ受信バス304を介して実メモリ307内の
上述の実ページアドレスにDMA転送させる。
That is, the network control circuit 310 first designates the virtual page address stored in the transmission frame to the control memory 308 via the control memory access bus 306, and the control memory 308 sets the virtual page address to the above virtual page address. The set real page address is read out and set in the DMA transfer register in the virtual memory controller 309. Then, the network control circuit 310 causes the virtual memory controller 309 to
The message data included in the transmission frame is DMA-transferred to the above-mentioned real page address in the real memory 307 via the network data reception bus 304.

【0064】その後、ネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスを、
制御メモリアクセスバス306を介して制御メモリ30
8に指定し、その仮想ページアドレスのページ状態を受
信バッファ割付状態VPから受信完了状態RDに変更する。
After that, the network control circuit 310
The virtual page address stored in the transmission frame is
Control memory 30 via control memory access bus 306
8 is specified, and the page status of the virtual page address is changed from the reception buffer allocation status VP to the reception completion status RD.

【0065】更に、ネットワーク制御回路310は、I
/Oコントローラ315内の受信用FIFOに、ネット
ワーク命令/結果バス303を介して、受信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスとメッセージデータの転送長を書き込む。
Further, the network control circuit 310 is
The virtual page address extracted from the transmission frame and the transfer length of the message data are written into the reception FIFO in the / O controller 315 via the network command / result bus 303 together with the result code indicating the success or failure of the reception.

【0066】最後に、ネットワーク制御回路310は、
光ファイバリング206から受信した上述の送信フレー
ム中の応答領域に受信成功通知を書き込んだ後、その送
信フレームを再び光ファイバリング206に送出する。
Finally, the network control circuit 310
After writing the reception success notification in the response area in the above-mentioned transmission frame received from the optical fiber ring 206, the transmission frame is sent to the optical fiber ring 206 again.

【0067】例えば、図7の例では、#***のメッセージ
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPであると判別することによ
り、その送信フレームに格納されているメッセージデー
タを、制御メモリ308の仮想ページアドレス***2に設
定されている実ページアドレスu を有する実メモリ30
7内のネットワーク用受信バッファに取り込んだ後、制
御メモリ308の仮想ページアドレス***2のページ状態
を受信バッファ割付状態VPから受信完了状態RDに変更す
る。
For example, in the example of FIG. 7, the network control circuit 310 of the message communication device 203 of # *** is # 000.
The message stored in the transmission frame is determined by determining that the page state on the control memory 308 of the virtual page address *** 2 stored in the transmission frame from the node 202 is the reception buffer allocation state VP. The data is transferred to the real memory 30 having the real page address u set to the virtual page address *** 2 of the control memory 308.
After fetching in the network reception buffer in 7, the page state of the virtual page address *** 2 of the control memory 308 is changed from the reception buffer allocation state VP to the reception completion state RD.

【0068】上述の受信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用受信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の受信結果通知を受け取ると、結果コー
ドが受信成功であるならば、受信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
The above-mentioned reception result notification is received by the CPU 313 via the CPU bus 302. That is, CP
The U313 network reception control function uses the reception F in the I / O controller 315 via the CPU bus 302.
When the above reception result notification is received from the IFO and if the result code is successful in reception, the virtual page address which is a part of the reception result notification is designated to the control memory 308 via the CPU bus 302, and the page state Read the real page address.

【0069】上述のページ状態が受信完了状態RDである
ならば、CPU313のネットワーク用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用受信バッファから切り離しプロセッサ用送信待ち
バッファキューに接続する。
If the above-mentioned page state is the reception completion state RD, the network reception control function of the CPU 313 first controls the real memory 307 via the CPU bus 302 and the virtual memory controller 309 to make the above-mentioned real state. Separates the real page specified by the page address from the network receive buffer and connects it to the processor send-wait buffer queue.

【0070】その後、CPU313のネットワーク用受
信制御機能は、CPUバス302及びバーチャルメモリ
コントローラ309を介して実メモリ307を制御し
て、任意の空きページをネットワーク用受信バッファに
接続し、更に、上述の受信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスに、上述の
空きページの実ページアドレスと、ページ状態として受
信バッファ割付状態VPを、それぞれ書き込む。
Thereafter, the network reception control function of the CPU 313 controls the real memory 307 via the CPU bus 302 and the virtual memory controller 309 to connect an arbitrary empty page to the network reception buffer, and further Control memory 3 via CPU bus 302 with a virtual page address that is part of the reception result notification
08 is accessed, and the real page address of the above-mentioned empty page and the reception buffer allocation state VP as the page state are written to the virtual page address.

【0071】これ以後、実メモリ307内のプロセッサ
用送信待ちバッファキューに対する処理は、CPU31
3のネットワーク用受信制御機能から後述するプロセッ
サ用送信制御機能に引き渡される。
Thereafter, the processing for the processor transmission waiting buffer queue in the real memory 307 is performed by the CPU 31.
3 from the network reception control function to the processor transmission control function described later.

【0072】一方、ネットワーク制御回路310は、送
信フレームに格納されている仮想ページアドレスに対応
するページ状態を制御メモリ308から読み出した結
果、そのページ状態が受信バッファ割付状態VPでも送信
状態SDでもないと判別した場合には、その送信フレーム
をそのまま光ファイバリング206に送出する。
On the other hand, the network control circuit 310 reads the page state corresponding to the virtual page address stored in the transmission frame from the control memory 308, and as a result, the page state is neither the reception buffer allocation state VP nor the transmission state SD. If it is determined that the transmission frame is transmitted, the transmission frame is directly transmitted to the optical fiber ring 206.

【0073】例えば、図7の例では、#%%%のメッセージ
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPでも送信状態SDでもないと
判別することにより、その送信フレームをそのまま光フ
ァイバリング206に送出する。
For example, in the example of FIG. 7, the network control circuit 310 of the # %%% message communication device 203 is
By determining that the page state on the control memory 308 of the virtual page address *** 2 stored in the transmission frame from the node 202 of the node 202 is neither the reception buffer allocation state VP nor the transmission state SD, the transmission frame is left as it is. It is sent to the optical fiber ring 206.

【0074】上述のようにして光ファイバリング206
上を順次転送された送信フレームは、最後に送信元のノ
ード202内のメッセージ通信装置203のネットワー
ク制御回路310に戻る。
Optical fiber ring 206 as described above
The transmission frame sequentially transferred above returns to the network control circuit 310 of the message communication device 203 in the node 202 which is the transmission source.

【0075】送信元のネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスに対
応するページ状態を制御メモリ308から読み出した結
果、それが送信状態SDであると判別することによって、
その送信フレームが自ネットワーク制御回路310が送
出した送信フレームであることを判別する。
The network control circuit 310 of the transmission source
As a result of reading out the page state corresponding to the virtual page address stored in the transmission frame from the control memory 308, by determining that it is the transmission state SD,
It is determined that the transmission frame is the transmission frame transmitted by the own network control circuit 310.

【0076】この場合に、ネットワーク制御回路310
は、受信した送信フレームの応答領域に受信成功通知が
書き込まれていることを確認した後に、制御メモリアク
セスバス306を介して、送信フレームに格納されてい
る仮想ページアドレスに対応する制御メモリ308のペ
ージ状態を、送信状態SDから送信完了状態SCに変更す
る。
In this case, the network control circuit 310
After confirming that the reception success notification is written in the response area of the received transmission frame, the control memory 308 of the control memory 308 corresponding to the virtual page address stored in the transmission frame is transmitted via the control memory access bus 306. The page state is changed from the transmission state SD to the transmission completion state SC.

【0077】そして、ネットワーク制御回路310は、
I/Oコントローラ315内の受信用FIFOに、ネッ
トワーク命令/結果バス303を介し、送信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスを書き込む。
Then, the network control circuit 310
The virtual page address extracted from the transmission frame is written to the reception FIFO in the I / O controller 315 via the network command / result bus 303 together with the result code indicating the success or failure of the transmission.

【0078】上述の送信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用送信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の送信結果通知を受け取ると、結果コー
ドが送信成功であるならば、送信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
The above-mentioned transmission result notification is received by the CPU 313 via the CPU bus 302. That is, CP
The network transmission control function of the U313 is performed by the reception F in the I / O controller 315 via the CPU bus 302.
When the above result notification is received from the IFO, if the result code is successful, the virtual page address that is a part of the result notification is specified in the control memory 308 via the CPU bus 302, and the page status is changed. Read the real page address.

【0079】上述のページ状態が送信完了状態SCである
ならば、CPU313のネットワーク用送信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用送信バッファから切り離し空きページとする。
If the above-mentioned page state is the transmission completion state SC, the network transmission control function of the CPU 313 first controls the real memory 307 via the CPU bus 302 and the virtual memory controller 309 to make the above-mentioned real state. The real page specified by the page address is separated from the network send buffer and used as a free page.

【0080】その後、CPU313のネットワーク用送
信制御機能は、上述の送信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスのページ状
態として、バッファ未割付状態NAを書き込む。
After that, the network transmission control function of the CPU 313 controls the control memory 3 via the CPU bus 302 with the virtual page address which is a part of the above-mentioned transmission result notification.
08 is accessed, and the buffer unallocated state NA is written as the page state of the virtual page address.

【0081】以上のように、ネットワーク201(図5
参照)上において、1つの仮想記憶空間が定義され、こ
の空間を構成する固定長のデータ長を有する仮想ページ
が各メッセージ通信装置203に割り当てられる。そし
て、メッセージ通信装置203間のメッセージデータの
通信は、この仮想ページを使用して行われる。この結
果、通常のパケット通信で行われているブロック化制
御、順序制御が不要となる。
As described above, the network 201 (see FIG.
In the above, one virtual storage space is defined, and a virtual page having a fixed data length that constitutes this space is assigned to each message communication device 203. Communication of message data between the message communication devices 203 is performed using this virtual page. As a result, blocking control and sequence control that are performed in normal packet communication are not required.

【0082】また、光ファイバリング206上の各ノー
ド202内のメッセージ通信装置203のネットワーク
制御回路310は、送信フレームを受信すると、その送
信フレームに格納されている仮想ページアドレスで制御
メモリ308上のページ状態をアクセスすることによっ
て、受信した送信フレームを高速に処理することができ
る。
When the network control circuit 310 of the message communication device 203 in each node 202 on the optical fiber ring 206 receives a transmission frame, the network control circuit 310 in the control memory 308 uses the virtual page address stored in the transmission frame. By accessing the page state, the received transmission frame can be processed at high speed.

【0083】加えて、光ファイバリング206上を転送
される送信フレームには応答領域が設けられ、受信側の
ノード202内のメッセージ通信装置203のネットワ
ーク制御回路310は、送信フレームの受信結果を送信
フレームの応答領域に書き込み、それを再び光ファイバ
リング206に送出する。従って、この送信フレームが
光ファイバリング206上を転送され送信元に戻ってく
るまでに、メッセージデータの送信処理が完了すること
になり、受信側から送信元への応答を別のフレームを用
いて通知する必要がない。この結果、通信プロトコルを
簡略なものにすることができ、高速な応答処理が可能と
なる。
In addition, a response area is provided in the transmission frame transferred on the optical fiber ring 206, and the network control circuit 310 of the message communication device 203 in the node 202 on the reception side transmits the reception result of the transmission frame. It writes in the response area of the frame and sends it out again to the optical fiber ring 206. Therefore, by the time this transmission frame is transferred on the optical fiber ring 206 and returned to the transmission source, the message data transmission processing is completed, and the response from the reception side to the transmission source is sent using another frame. No need to notify. As a result, the communication protocol can be simplified and high-speed response processing can be performed.

【0084】更に、メッセージ通信装置203間のメッ
セージデータの通信は、メッセージ通信装置203内の
ネットワーク制御回路310が制御メモリ308をアク
セスしながら実メモリ307を使用して行い、プロセッ
サ204とメッセージ通信装置203間のメッセージデ
ータの通信は、後述するように、メッセージ通信装置2
03内のプロセッサバスインタフェース312が、上述
のネットワーク制御回路310の動作とは独立して、実
メモリ307を使用して行う。更に、実メモリ307上
の実ページアドレスに格納されたメッセージデータと仮
想記憶空間上の仮想ページアドレスとの対応付けは、後
述するように、CPU313がメッセージデータに付加
されたヘッダ内の宛て先アドレスに基づいて行う。従っ
て、プロセッサ204とメッセージ通信装置203間、
メッセージ通信装置203とメッセージ通信装置203
間の処理を効率良く高速に実行することが可能となる。 <送信元におけるプロセッサ204からメッセージ通信
装置203へのメッセージデータの転送動作>次に、送
信元のノード202(図7の例では#000のノード20
2)内の1つのプロセッサ204からそのノード内のメ
ッセージ通信装置203の実メモリ307に、メッセー
ジデータが転送される場合の動作について説明する。
Further, the communication of the message data between the message communication devices 203 is performed using the real memory 307 while the network control circuit 310 in the message communication device 203 accesses the control memory 308, and the communication with the processor 204 and the message communication device 203 is performed. The communication of message data between 203 is performed by the message communication device 2 as described later.
The processor bus interface 312 in 03 uses the real memory 307 independently of the operation of the network control circuit 310 described above. Further, the correspondence between the message data stored in the real page address in the real memory 307 and the virtual page address in the virtual storage space is as described below, in which the CPU 313 sends the destination address in the header added to the message data. Based on. Therefore, between the processor 204 and the message communication device 203,
Message communication device 203 and message communication device 203
It is possible to efficiently perform the processing between them at high speed. <Transfer Operation of Message Data from Processor 204 to Message Communication Device 203 at Source> Next, the source node 202 (in the example of FIG. 7, the node # 000 20)
The operation when the message data is transferred from one processor 204 in 2) to the real memory 307 of the message communication device 203 in the node will be described.

【0085】まず、CPU313のプロセッサ用受信制
御機能は、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307をアクセスする
ことにより、実メモリ307において、プロセッサ用受
信バッファキューに空きバッファキューに接続されてい
る空きバッファを接続する。なお、プロセッサ用受信制
御機能は、CPU313がプログラムRAM317に記
憶された制御プログラムを実行することにより実現され
る機能である。
First, the processor reception control function of the CPU 313 accesses the real memory 307 through the CPU bus 302 and the virtual memory controller 309 to connect the processor reception buffer queue to the free buffer queue in the real memory 307. Connect the free buffer that is being used. The processor reception control function is a function realized by the CPU 313 executing the control program stored in the program RAM 317.

【0086】そして、CPU313のプロセッサ用受信
制御機能は、CPUバス302、バス結合部311、及
び外部バス301を介して、例えば#0のプロセッサバス
インタフェース312を起動すると共に、そのインタフ
ェース312に対して上述のプロセッサ用受信バッファ
キューの先頭アドレスを通知する。
The processor reception control function of the CPU 313 activates, for example, the # 0 processor bus interface 312 via the CPU bus 302, the bus coupling unit 311, and the external bus 301, while The start address of the above-mentioned processor receive buffer queue is notified.

【0087】プロセッサバスインタフェース312は、
プロセッサ204からプロセッサバス205を介して転
送されてきたメッセージデータを受信し、上記先頭アド
レスを受信開始アドレスとしてバッファアドレスを順次
更新しながら、上述の受信されたメッセージデータを、
外部バス301及びバーチャルメモリコントローラ30
9を介して、実メモリ307内のプロセッサ用受信バッ
ファキューに接続された空きバッファに、順次転送す
る。
The processor bus interface 312 is
The message data transferred from the processor 204 via the processor bus 205 is received, and the received message data described above is updated while sequentially updating the buffer address with the start address as the reception start address.
External bus 301 and virtual memory controller 30
9 is sequentially transferred to an empty buffer connected to the processor reception buffer queue in the real memory 307.

【0088】プロセッサバスインタフェース312は、
プロセッサ用受信バッファキューに接続される空きバッ
ファがなくなったり、小さなデータを格納してから特定
時間を経た時には受信を自動的に停止し、その旨を外部
バス301、バス結合部311、及びCPUバス302
を介してCPU313に通知する。
The processor bus interface 312 is
When there is no free buffer connected to the processor receive buffer queue, or when a small amount of data has been stored and a specific time has elapsed, reception is automatically stopped, to that effect, the external bus 301, the bus coupling unit 311, and the CPU bus. 302
To the CPU 313 via.

【0089】CPU313のプロセッサ用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の受信済のバッファをプロセッサ用受信バッファキュ
ーから切り離しネットワーク用送信バッファに接続す
る。このバッファの接続は本発明の実施例における接続
であり、プロセッサから受けた順にリングバッファより
宛先であるメッセージ通信装置の番号#***を読み出し、
その番号#***から、それに対応してエンキューされたバ
ッファを送信用バッファに接続する。これ以後、実メモ
リ307内のネットワーク用送信バッファに対する処理
は、CPU313のプロセッサ用受信制御機能から前述
したネットワーク用送信制御機能に引き渡され、前述し
たメッセージ通信装置203間の通信方式に従って、送
信元のノード202のメッセージ通信装置203(図7
の例では#000のメッセージ通信装置203)内の実メモ
リ307から、宛て先のプロセッサ204が収容される
ノード202のメッセージ通信装置203(図7の例で
は#***のメッセージ通信装置203)内の実メモリ30
7への、メッセージデータの転送動作が実行される。 <受信側におけるメッセージ通信装置203からプロセ
ッサ204へのメッセージデータの転送動作>次に、受
信側のノード202(図7の例では#***のノード20
2)内のメッセージ通信装置203の実メモリ307か
らそのノード202内の1つのプロセッサ204に、メ
ッセージデータが転送される場合の動作について説明す
る。
The processor reception control function of the CPU 313 first controls the real memory 307 via the CPU bus 302 and the virtual memory controller 309 to separate the above-mentioned received buffer from the processor reception buffer queue and transmit it to the network. Connect to a buffer. The connection of this buffer is the connection in the embodiment of the present invention, in which the number # *** of the destination message communication device is read from the ring buffer in the order received from the processor,
From that number # ***, the corresponding enqueued buffer is connected to the send buffer. Thereafter, the processing for the network transmission buffer in the real memory 307 is transferred from the processor reception control function of the CPU 313 to the network transmission control function described above, and the transmission source of the transmission source is transmitted in accordance with the communication method between the message communication devices 203 described above. The message communication device 203 of the node 202 (see FIG. 7)
Of the message communication device 203 of # 000), the message communication device 203 of the node 202 in which the destination processor 204 is accommodated (the message communication device 203 of # *** in the example of FIG. 7) Real memory 30
The message data transfer operation to 7 is executed. <Operation of Transferring Message Data from Message Communication Device 203 to Processor 204 on Receiving Side> Next, the receiving side node 202 (in the example of FIG. 7, the node 20 of # ***)
The operation when the message data is transferred from the real memory 307 of the message communication device 203 in 2) to one processor 204 in the node 202 will be described.

【0090】ネットワーク制御回路310が送信フレー
ムの受信に成功すると、前述したように、CPU313
のネットワーク用受信制御機能が、受信されたメッセー
ジデータを実メモリ307内のプロセッサ用送信待ちバ
ッファキューに接続する。
When the network control circuit 310 succeeds in receiving the transmission frame, the CPU 313 as described above.
The network reception control function of (1) connects the received message data to the processor transmission waiting buffer queue in the real memory 307.

【0091】これに対して、CPU313のプロセッサ
用送信制御機能は、CPUバス302、バス結合部31
1、及び外部バス301を介して、例えば#0のプロセッ
サバスインタフェース312を起動すると共に、そのイ
ンタフェース312に対して上述のプロセッサ用送信待
ちバッファキューの先頭アドレスを通知する。
On the other hand, the processor transmission control function of the CPU 313 includes a CPU bus 302 and a bus coupling unit 31.
For example, the # 0 processor bus interface 312 is activated via 1 and the external bus 301, and the interface 312 is notified of the start address of the above-mentioned processor transmission waiting buffer queue.

【0092】プロセッサバスインタフェース312は、
上記先頭アドレスを送信開始アドレスとしてバッファア
ドレスを順次更新しながら、外部バス301及びバーチ
ャルメモリコントローラ309を介して、実メモリ30
7内のプロセッサ用送信待ちバッファキューに接続され
たバッファに格納されているメッセージデータを順次読
み出して、そのメッセージデータのヘッダ内の宛て先ア
ドレス部を解析しながら、そのメッセージデータをプロ
セッサバス205を介して宛て先のプロセッサ204に
転送する。尚、詳細は後述するが、受信時にも1個のキ
ューで管理するのではなく、各プロセッサ対応でバッフ
ァをキューに接続する。 <メッセージ通信装置間の通信の優先順位>本発明のシ
ステムにおいては、プロセッサIDとマルチプロセッサ
IDとによって通信が管理されている。プロセッサID
はマルチ通信装置内のプロセッサの番号であり、マルチ
プロセッサIDは通信装置の番号である。
The processor bus interface 312 is
While sequentially updating the buffer address with the start address as the transmission start address, the real memory 30 is accessed via the external bus 301 and the virtual memory controller 309.
7 sequentially reads the message data stored in the buffer connected to the processor transmission waiting buffer queue, analyzes the destination address part in the header of the message data, and transfers the message data to the processor bus 205. Via the destination processor 204. As will be described later in detail, the buffer is connected to the queue for each processor instead of being managed by one queue even when receiving. <Priority of Communication between Message Communication Devices> In the system of the present invention, communication is managed by the processor ID and the multiprocessor ID. Processor ID
Is the number of the processor in the multi-communication device, and the multiprocessor ID is the number of the communication device.

【0093】図8は優先順位を有する宛先別テーブル図
表である。図5におけるメッセージ通信装置203の各
ノードのアドレスすなわちマルチプロセッサIDCMP
#0〜CMP#1024 に対応し、テーブルWはそれぞれCM
P#0に送信するハイレベルメッセージ(HMSG数)並
びにそれぞれのCMP#0用の先頭バッファアドレス、更
に最終バッファアドレス、次にCMP#0に送信するロー
レベルメッセージ数(LMSG数)とそれぞれの先頭バ
ッファアドレス、最終バッファアドレスを、そして、C
MP#0に送信するDATA数(DATA)、そしてそれ
ぞれそれに対応する先頭アドレスと最終バッファアドレ
スを記憶する。また、このマルチプロセッサIDCMP
#0の他に順次マルチプロセッサIDCMP#1024 まで前
述と同様に3レベルにおけるすなわちHMSG,LMS
G,DATAに対応するバッファ数と先頭バッファアド
レス、最終バッファアドレスを記憶する。
FIG. 8 is a destination-specific table chart having priorities. Address of each node of the message communication device 203 in FIG. 5, that is, multiprocessor IDCMP
Corresponding to # 0 to CMP # 1024, each table W is CM
The high level message (the number of HMSG) to be sent to P # 0, the head buffer address for each CMP # 0, the final buffer address, the number of the low level messages (the number of LMSG) to be sent to CMP # 0 next, and the head of each Buffer address, last buffer address, and C
The number of DATA (DATA) to be transmitted to MP # 0, and the corresponding start address and end buffer address are stored. In addition, this multiprocessor IDCMP
In addition to # 0, up to multi-processor IDCMP # 1024 in 3 levels as above, namely HMSG, LMS
The number of buffers corresponding to G and DATA, the head buffer address, and the last buffer address are stored.

【0094】図8は先に第1の実施例に示した宛先テー
ブルWを各ノード用#nに対して3個のレベル(HNS
G,LMSG,DATA)を設けたものである。図9は
優先順位を有するリングバッファの構成図である。この
リングバッファは、HMSG,LMSG、DATA数を
合計3種類に対応したレジスタX3と、各宛先を記憶す
るリングバッファZ1〜Z3よりなっている。
FIG. 8 shows the destination table W shown in the first embodiment, which has three levels (HNS) for each node #n.
G, LMSG, DATA). FIG. 9 is a block diagram of a ring buffer having priorities. This ring buffer comprises a register X3 corresponding to a total of three types of HMSG, LMSG, and DATA, and ring buffers Z1 to Z3 for storing each destination.

【0095】各リングバッファZ1〜Z3はそれぞれH
MSG,LMSG、DATA用の各CMP−IDすなわ
ち宛先を記憶するn+1個のバッファである。そして、
そのそれぞれに対応して接続されたバッファ数、次に処
理すべき要素番号、今まで最後に格納した配列の要素番
号をHMSG,LMSG,DATA対応でレジスタX3
−11〜X3−33に記憶している。
Each of the ring buffers Z1 to Z3 is H
There are n + 1 buffers for storing each CMP-ID for MSG, LMSG, and DATA, that is, the destination. And
The number of connected buffers corresponding to each of them, the element number to be processed next, and the element number of the array last stored so far are set in register X3 corresponding to HMSG, LMSG, and DATA.
-11 to X3-33.

【0096】キューに接続されたHMSG用としての数
X3−11、次に処理するHMSG配列の要素番号X3
−12、最後に処理した配列の要素番号X3−13が第
1のレベル(HMSG)に対する。またさらにキューに
接続したLSG数X3−21、次に処理するCMP−I
D配列の要素番号X−22、最後に処理したCMP−I
D配列の要素番号X−23が第2のレベル(LMSG)
の、また次にDATA数X−31、次に処理するCMP
−ID配列の要素番号X3−32、最後に処理したCM
P−ID配列の要素番号S−33が第3のレベル(DA
TA)に対するテーブルである。
Number X3-11 for the HMSG connected to the queue, element number X3 of the HMSG array to be processed next
-12, element number X3-13 of the last processed sequence is for the first level (HMSG). Further, the number of LSGs connected to the queue X3-21, the CMP-I to be processed next
Element number X-22 of D array, last processed CMP-I
Element number X-23 of the D array is at the second level (LMSG)
, Then DATA number X-31, then CMP to be processed
-ID array element number X3-32, the last processed CM
The element number S-33 of the P-ID array is the third level (DA
It is a table for TA).

【0097】また、これに対応してそれぞれHMSG、
LMSG、データ用の各リングバッファZ1〜Z3に重
み付けを設けており、HMSGが一番高いレベルであ
り、送信する場合にこのレベルの配列接続されたHMS
G数を判別し、0以外の時に次に処理するCMP−ID
配列の要素番号X−12から要素番号を求め、その配列
要素の番号に対応する宛先アドレスを求める。そして、
この宛先から図8に示した各宛先の先頭バッファを求
め、それを伝送する。これはHMSGに限らずLMS
G,DATAに関しても同様である。すなわち、HMS
G数が0の時LMSG数を検出し、0でないならLMS
Gに対応する伝送を行い、0である時にはDATAに対
応する伝送を行う。
Correspondingly, HMSG,
Weighting is provided to the LMSG and the ring buffers Z1 to Z3 for data, and the HMSG is the highest level, and when transmitting, the HMS connected at this level is connected.
CMP-ID to determine the number of G and process next when it is other than 0
The element number is obtained from the element number X-12 of the array, and the destination address corresponding to the array element number is obtained. And
From this destination, the head buffer of each destination shown in FIG. 8 is obtained and transmitted. This is not limited to HMSG but LMS
The same applies to G and DATA. That is, HMS
LMSG number is detected when G number is 0, LMS is detected when it is not 0
Transmission corresponding to G is performed, and when 0, transmission corresponding to DATA is performed.

【0098】本発明の実施例においては、先に示したご
とくVMS構造でデータを転送している。この各ノード
すなわち(CMP)は図10に示す如くVMS構造を有
しており、共有仮想記憶空間に直接バッファをマッピン
グし転送している。前述した図8、図9に示すテーブル
は実メモリ307に格納される。そして、図10に示す
如く通信における共有仮想記憶空間に直接マッピングす
るため制御メモリ308にそのバッファと仮想記憶の対
応が記憶されている。1つのバッファを送出するたびに
CPU313がI/Oコントローラ内に設けられたFI
FOに次の転送命令を加え、制御メモリ308の仮想空
間の対応するアドレスを変更する。
In the embodiment of the present invention, data is transferred in the VMS structure as described above. Each node, that is, (CMP) has a VMS structure as shown in FIG. 10, and directly maps and transfers a buffer in the shared virtual memory space. The tables shown in FIGS. 8 and 9 described above are stored in the real memory 307. Then, as shown in FIG. 10, the correspondence between the buffer and the virtual memory is stored in the control memory 308 for direct mapping to the shared virtual memory space in communication. Each time one buffer is sent out, the CPU 313 is provided with the FI provided in the I / O controller.
The next transfer instruction is added to FO to change the corresponding address in the virtual space of the control memory 308.

【0099】以上の動作によって目的のマルチプロセッ
サアドレスいわゆるノード202内のメッセージ通信装
置にデータが転送される。そのメッセージ通信装置はこ
れらのデータを受信した場合には、それぞれノード内に
有するプロセッサのプロセッサIDに対応して同様にキ
ューイングし、図11に示すごとく例えば0〜mまでの
プロセッサを有するならば、それぞれに対応してメッセ
ージ数とリスト先頭バッファアドレス並びにリスト最終
バッファアドレスを設け管理する。この通信は先に示し
たメッセージ通信装置とプロセッサ間の通信によってな
される。尚、リングバッファの要素数は前記メッセージ
を記憶するバッファ数以上であれば通信に問題は生じな
い。
By the above operation, data is transferred to the target multiprocessor address, so-called message communication device in the node 202. When the message communication device receives these data, the message communication device similarly queues corresponding to the processor IDs of the processors in the node, and if it has processors 0 to m, for example, as shown in FIG. , The number of messages, the list head buffer address and the list end buffer address are provided and managed correspondingly. This communication is performed by the communication between the message communication device and the processor described above. Incidentally, if the number of elements of the ring buffer is equal to or larger than the number of buffers for storing the message, there will be no problem in communication.

【0100】以上説明した動作を纏めるならば、先ずメ
ッセージをプロセッサより受信すると宛先を解析しエン
キューし、さらにリングバッファに宛先をエントリす
る。送信ルーチンはリングバッファから宛先を読み出
し、その宛先に対応するリストの最初のバッファを送信
する。この送信処理が正常に終了した時は、該当バッフ
ァを解放し、正常に送信できなかった時には直ちにリト
ライするか或いはそのリストをそのままの状態にしてお
きリングバッファにエントリすることによりメッセージ
の送信順位を確保し、且つリングバッファ内のキューイ
ングメッセージはリストにエンキューされている数と一
致しており、検索が不要なために高速で且つ確実なメッ
セージ伝送を可能としている。
To summarize the operations described above, when a message is first received from the processor, the destination is analyzed and enqueued, and the destination is entered in the ring buffer. The send routine reads the destination from the ring buffer and sends the first buffer in the list corresponding to that destination. When this sending process ends normally, the corresponding buffer is released, and when it cannot be sent normally, it is retried immediately or the list is left as it is and the message is sent to the ring buffer to set the sending order of messages. The number of reserved and queuing messages in the ring buffer is equal to the number enqueued in the list, and no retrieval is required, which enables fast and reliable message transmission.

【0101】[0101]

【発明の効果】以上述べたごとく待ち行列を宛先毎に管
理し、宛先をリングバッファにエントリすることにより
メッセージがある宛先に正常に転送できない場合でも、
全く同様の送信処理を行うのみでメッセージ転送を確実
にでき、単一の待ち行列により制御と比較すると待ち行
列の並べ変えといった複雑処理が不要なため通信制御を
高速化でき、確実で高速な通信を行うことができる。
As described above, even if a message cannot be normally transferred to a destination by managing the queue for each destination and entering the destination in the ring buffer,
Message transfer can be assured only by performing exactly the same transmission processing, and since complicated processing such as queue rearrangement is not necessary compared to control with a single queue, communication control can be speeded up, reliable and high speed communication It can be performed.

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

【図1】本発明の原理ブロック図である。FIG. 1 is a principle block diagram of the present invention.

【図2】メッセージ通信装置の宛先別テーブル図であ
る。
FIG. 2 is a table diagram for each address of the message communication device.

【図3】リングバッファの構成図である。FIG. 3 is a configuration diagram of a ring buffer.

【図4】宛先テーブルとリングバッファの関係図であ
る。
FIG. 4 is a relationship diagram between a destination table and a ring buffer.

【図5】本発明の第2の実施例のネットワークの構成図
である。
FIG. 5 is a configuration diagram of a network according to a second embodiment of this invention.

【図6】本発明の第2の実施例におけるメッセージ通信
装置の構成図である。
FIG. 6 is a configuration diagram of a message communication device according to a second embodiment of the present invention.

【図7】メッセージ通信の説明図である。FIG. 7 is an explanatory diagram of message communication.

【図8】優先順位を有する宛先別テーブル図表である。FIG. 8 is a table chart by destination having priorities.

【図9】優先順位を有するリングバッファの構成図であ
る。
FIG. 9 is a configuration diagram of a ring buffer having priorities.

【図10】VMSとバッファの関係図表である。FIG. 10 is a relationship diagram of VMS and buffer.

【図11】メッセージ通信装置内の受信側のキューの説
明図である。
FIG. 11 is an explanatory diagram of a reception side queue in the message communication device.

【図12】マルチプロセッサシステムの構成図である。FIG. 12 is a configuration diagram of a multiprocessor system.

【図13】従来のキューイングの説明図である。FIG. 13 is an explanatory diagram of conventional queuing.

【図14】従来のメッセージ送出の説明図である。FIG. 14 is an explanatory diagram of conventional message transmission.

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

1 メッセージバッファ 2 テーブル 3 リングバッファ 4 送出手段 1 message buffer 2 table 3 ring buffer 4 sending means

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサより成る複数のマルチ
プロセッサ間をメッセージ通信によって結合するメッセ
ージ通信方式において、 前記マルチプロセッサ内の前記プロセッサから受信した
メッセージをバッファに格納し、送出すべきマルチプロ
セッサID毎にリスト構造化してキューイングする第1
の工程と、 受信した前記メッセージを到着順に宛先アドレスでリン
グバッファに記憶する第2の工程と、 該第2の工程で記憶した宛先を読み出して前記第1の工
程でキューイングされたバッファを読み出してメッセー
ジを送出する第3の工程とより成ることを特徴とするメ
ッセージのキューイング方法。
1. A message communication system in which a plurality of multiprocessors including a plurality of processors are coupled by message communication, wherein a message received from the processor in the multiprocessor is stored in a buffer, and each multiprocessor ID to be sent out. The first to structure and queue the list
And a second step of storing the received messages in a ring buffer in the order of arrival at destination addresses, and reading the destination stored in the second step and reading the buffer queued in the first step. And a message queuing method comprising the step of sending a message.
【請求項2】 複数のプロセッサより成る複数のマルチ
プロセッサ間をメッセージ通信によって結合するメッセ
ージ通信装置において、 マルチプロセッサ内の前記プロセッサから受信したメッ
セージを記憶するメッセージバッファ(1)と、 該メッセージを宛先ごとにキューイングし、宛先のマル
チプロセッサID毎に到着順にエンキューしたリストを
記憶するテーブル(2)と、 前記メッセージの到着順に宛先アドレスを記憶するリン
グバッファ(3)と、 前記リングバッファに格納されている宛先アドレスを読
み出して、当該宛先に対応するテーブルにエンキューさ
れたバッファに格納されたメッセージを送出する送出手
段(4)を設けてなることを特徴とするメッセージキュ
ーイング装置。
2. A message communication device for coupling a plurality of multiprocessors, each of which is composed of a plurality of processors, by message communication, and a message buffer (1) for storing a message received from the processor in the multiprocessor, and the message destination. A table (2) for storing a list of queues for each destination and enqueued for each destination multiprocessor ID in the order of arrival; a ring buffer (3) for storing destination addresses in the order of arrival of the messages; and a ring buffer (3) stored in the ring buffer. A message queuing device, comprising: a sending means (4) for reading a destination address, and sending a message stored in a buffer enqueued in a table corresponding to the destination.
【請求項3】 前記メッセージは複数の送出優先度を有
し、 前記テーブルとリングバッファは前記優先度に対応して
複数設けられたことを特徴とする請求項2記載のメッセ
ージキューイング装置。
3. The message queuing apparatus according to claim 2, wherein the message has a plurality of transmission priorities, and a plurality of the tables and ring buffers are provided corresponding to the priorities.
【請求項4】 前記リングバッファの要素数は前記メッ
セージを記憶するバッファ数以上有することを特徴とす
る請求項2、3記載のメッセージキューイング装置。
4. The message queuing device according to claim 2, wherein the number of elements of the ring buffer is equal to or larger than the number of buffers for storing the message.
【請求項5】 前記リングバッファはFIFOであるこ
とを特徴とする請求項2記載のメッセージキューイング
装置。
5. The message queuing device according to claim 2, wherein the ring buffer is a FIFO.
JP17391692A 1992-07-01 1992-07-01 Method and device for queueing message Withdrawn JPH0619855A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17391692A JPH0619855A (en) 1992-07-01 1992-07-01 Method and device for queueing message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17391692A JPH0619855A (en) 1992-07-01 1992-07-01 Method and device for queueing message

Publications (1)

Publication Number Publication Date
JPH0619855A true JPH0619855A (en) 1994-01-28

Family

ID=15969459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17391692A Withdrawn JPH0619855A (en) 1992-07-01 1992-07-01 Method and device for queueing message

Country Status (1)

Country Link
JP (1) JPH0619855A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002517855A (en) * 1998-06-12 2002-06-18 マイクロソフト コーポレイション Method and computer program product for offloading processing tasks from software to hardware
JP2006238341A (en) * 2005-02-28 2006-09-07 Oki Electric Ind Co Ltd Network switch apparatus and method, wireless access apparatus, and wireless network
JP2022143623A (en) * 2021-03-18 2022-10-03 Necプラットフォームズ株式会社 Arithmetic co-processor, computer system, control method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002517855A (en) * 1998-06-12 2002-06-18 マイクロソフト コーポレイション Method and computer program product for offloading processing tasks from software to hardware
JP2006238341A (en) * 2005-02-28 2006-09-07 Oki Electric Ind Co Ltd Network switch apparatus and method, wireless access apparatus, and wireless network
JP4506506B2 (en) * 2005-02-28 2010-07-21 沖電気工業株式会社 Wireless access device and communication control method
JP2022143623A (en) * 2021-03-18 2022-10-03 Necプラットフォームズ株式会社 Arithmetic co-processor, computer system, control method, and program

Similar Documents

Publication Publication Date Title
US4930069A (en) Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities
US5940612A (en) System and method for queuing of tasks in a multiprocessing system
EP0602773B1 (en) Data communication between processors in multiprocessor systems
US4744023A (en) Processor access control arrangement in a multiprocessor system
US5606703A (en) Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures
JP3365705B2 (en) Distributed data processing system
US5915088A (en) Interprocessor messaging system
JP2003178039A (en) Distributed shared virtual memory and its constituting method
JPH06309252A (en) Interconnection interface
WO1999018510A1 (en) I/o forwarding in a cache coherent shared disk computer system
JPH0944424A (en) Message transmission method between remote information-processing systems
JP2002342299A (en) Cluster system, computer and program
EP0317481B1 (en) Remote storage management mechanism and method
US5446844A (en) Peripheral memory interface controller as a cache for a large data processing system
US5204954A (en) Remote storage management mechanism and method
US6816889B1 (en) Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node
JP3641834B2 (en) Parallel processor system and packet discard method suitable therefor
JPH0619855A (en) Method and device for queueing message
US5432910A (en) Coupling apparatus and method for increasing the connection capability of a communication system
JP2736237B2 (en) Remote memory access controller
JPH064401A (en) Memory access circuit
JPH0678000A (en) Communication equipment
JPH0619857A (en) Data coincidence device between computers
JPH0675883A (en) Message communication equipment
JP2913930B2 (en) Extended storage data transfer method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991005