JPH0830566A - Communication control equipment loaded into processor element in parallel computer - Google Patents

Communication control equipment loaded into processor element in parallel computer

Info

Publication number
JPH0830566A
JPH0830566A JP6168483A JP16848394A JPH0830566A JP H0830566 A JPH0830566 A JP H0830566A JP 6168483 A JP6168483 A JP 6168483A JP 16848394 A JP16848394 A JP 16848394A JP H0830566 A JPH0830566 A JP H0830566A
Authority
JP
Japan
Prior art keywords
command
data
processor
message
bus interface
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
JP6168483A
Other languages
Japanese (ja)
Other versions
JP3701988B2 (en
Inventor
Nagatake Shiraki
長武 白木
Yoichi Koyanagi
洋一 小柳
Kenji Horie
健志 堀江
Toshiyuki Shimizu
俊幸 清水
Hiroaki Ishihata
宏明 石畑
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 JP16848394A priority Critical patent/JP3701988B2/en
Priority to US08/503,916 priority patent/US5742843A/en
Publication of JPH0830566A publication Critical patent/JPH0830566A/en
Application granted granted Critical
Publication of JP3701988B2 publication Critical patent/JP3701988B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE:To issue a command with a user level in a communication control equipment loaded into a processor element in a parallel computer. CONSTITUTION:When a processor 110 writes a command data sequence in a command entry area in its address space, a bus interface 141 in the communication control equipment 140 determines the sort of a command from the writing address of the command data string. A command is generated by filling the 1st word of the command data string with the command sort and transmitted to a transmission controller 142.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、複数のプロセッサ要素
(PE:Processing Element) が相互結合網(IN:In
terconnection Network)に結合された並列計算機に係わ
り、特に該プロセッサ要素内に実装される通信制御装置
に関する。
BACKGROUND OF THE INVENTION The present invention relates to an interconnection network (IN: In) in which a plurality of processing elements (PEs) are interconnected.
The present invention relates to a parallel computer coupled to a terconnection network), and particularly to a communication control device implemented in the processor element.

【0002】[0002]

【従来の技術】逐次処理方式を基本原理とした汎用大型
計算機の高速化が、ハードウェア技術的にも論理方式的
にも限界に近づくにつれ、複数のプロセッサ要素(以
下、PEと記述する)により並列処理を行う並列計算機
に対するニーズが高まっている。
2. Description of the Related Art As the speeding up of a general-purpose large-scale computer based on the sequential processing method as a basic principle is approaching the limit in terms of hardware technology and logical method, a plurality of processor elements (hereinafter referred to as PE) are used. There is a growing need for parallel computers that perform parallel processing.

【0003】特に科学技術計算分野(流体力学、原子物
理学、分子科学など)におけるシミュレーションでは、
解の信頼性、精度を確保するために膨大な計算量が必要
とされるため、その計算時間の短縮のために特にそのニ
ーズが強い。
Especially in the field of science and technology calculation (fluid dynamics, atomic physics, molecular science, etc.),
Since a huge amount of calculation is required to secure the reliability and accuracy of the solution, there is a strong need for reducing the calculation time.

【0004】図15は、一般的な分散メモリ構成の並列
計算機の全体構成を示すブロック図である。PE70
は、プロセッサ71、該プロセッサ71がアクセスする
メモリ72、該プロセッサ71が他のPE70とメッセ
ージの授受を行うための制御を相互通信網80を介して
行う通信制御装置73を備えている。
FIG. 15 is a block diagram showing the overall configuration of a parallel computer having a general distributed memory configuration. PE70
Includes a processor 71, a memory 72 accessed by the processor 71, and a communication control device 73 that controls the processor 71 for exchanging messages with other PEs 70 via the mutual communication network 80.

【0005】並列計算機では、各PE70内に設けられ
た複数のプロセッサ71が協調して負荷分散や機能分散
などを図りながら処理を進めていくために、プロセッサ
71間の通信が不可欠である。上記構成の並列計算機に
おいては、プロセッサ71間の通信は、相互通信網80
を介したメッセージ交換(message passing)方式により
行われる。
In the parallel computer, the communication between the processors 71 is indispensable because the plurality of processors 71 provided in each PE 70 cooperate with each other to carry out the processing while balancing the load and the function. In the parallel computer having the above configuration, the communication between the processors 71 is performed by the mutual communication network 80.
It is carried out by a message passing method via the.

【0006】並列計算機の性能を高めるためには、この
プロセッサ71間の通信処理を高速に行い、またこの通
信処理とプロセッサ71による計算処理(演算処理)を
並列して行えるようにすることが課題になっている。
In order to improve the performance of the parallel computer, it is necessary to perform the communication processing between the processors 71 at high speed, and to perform the communication processing and the calculation processing (arithmetic processing) by the processor 71 in parallel. It has become.

【0007】一般に、プロセッサ71間のメッセージ通
信は、複数のパラメータを有するコマンドとそれに付随
するデータの授受によって行われる。このようなメッセ
ージ通信には、従来、以下のような方式が採用されてい
た。 プロセッサ71が通信制御装置73内に、コマンド
の種類及び該コマンドに付随する個々のパラメータから
成るコマンドをセットする複数のレジスタを設ける。プ
ロセッサ71は、他PE70のプロセッサ71に送信す
るコマンドの種類及びそのパラメータを個々のレジスタ
にセットした後、通信制御装置73内に設けられた不図
示の送信機構を起動する。これにより、該送信機構は、
上記複数のレジスタに設定されたコマンド及びそのパラ
メータを順次、解釈して送信メッセージを構築し、該メ
ッセージを相互結合網80を介して他の当該PE70に
送信する。 プロセッサ71がメモリ72の所定領域に上記コマ
ンドを書き込む。続いて、プロセッサ71は、通信制御
装置73に上記メモリ72上の所定領域内での上記コマ
ンドの書き込みアドレスを通知し、該通信制御装置73
を起動する。通信制御装置73は、上記と同様にして
送信メッセージを構築し、該メッセージを相互結合網8
0を介して、他の当該PE70に送信する。
Generally, message communication between the processors 71 is performed by exchanging a command having a plurality of parameters and data associated with the command. The following methods have been conventionally used for such message communication. The processor 71 provides, in the communication control device 73, a plurality of registers for setting a command including a command type and individual parameters associated with the command. The processor 71 sets the type of the command to be transmitted to the processor 71 of the other PE 70 and its parameters in the individual registers, and then activates a transmission mechanism (not shown) provided in the communication control device 73. This causes the transmission mechanism to
The command and its parameters set in the plurality of registers are sequentially interpreted to construct a transmission message, and the message is transmitted to the other PE 70 via the mutual connection network 80. The processor 71 writes the above command in a predetermined area of the memory 72. Subsequently, the processor 71 notifies the communication control device 73 of the write address of the command in the predetermined area on the memory 72, and the communication control device 73
To start. The communication control device 73 constructs a transmission message in the same manner as described above, and sends the message to the interconnection network 8.
It is transmitted to the other PE 70 concerned via 0.

【0008】[0008]

【発明が解決しようとする課題】上記の方式では、以
下のような欠点があった。この方式の場合、通信制御装
置73にセットしたレジスタの内容を、該内容が前記送
信機構によって相互結合網80を介して他PE70に送
信されるまで保護しなくてはならない。従って、この
間、ユーザレベルでの上記レジスタへのアクセスを禁止
するために、上記レジスタにコマンドを設定する操作は
システムコールの発行により、システムレベルへ移行し
て行う必要があった。
The above system has the following drawbacks. In the case of this system, the contents of the register set in the communication control device 73 must be protected until the contents are transmitted to the other PE 70 by the transmission mechanism via the mutual coupling network 80. Therefore, during this period, in order to prohibit the access to the register at the user level, the operation of setting a command in the register needs to be performed by issuing a system call to shift to the system level.

【0009】このユーザレベルからシステムレベルへの
移行のために、システムコールが発行されると、カーネ
ルに実行が移り、該カーネルは上記レベル移行処理のた
めに多くのプロセッサ命令を実行する。そして、この命
令の実行のためのプロセッサ71の処理時間がオーバヘ
ッドとなってしまい、システムのスループットを低下さ
せる原因となっていた。
When a system call is issued to shift from the user level to the system level, the execution shifts to the kernel, and the kernel executes many processor instructions for the level shift processing. Then, the processing time of the processor 71 for executing this instruction becomes an overhead, which causes a decrease in system throughput.

【0010】また、この方式では、一通信毎に、通信制
御装置73内のレジスタに1または複数ワードから成る
コマンドを設定しなければならないため、連続して、複
数のメッセージを送信する場合には、直前のメッセージ
の通信処理の終了を待ってから通信制御装置73を起動
しなければならなかった。すなわち、一度にひとつのメ
ッセージの通信処理しか行うことができなかった。ま
た、このような1メッセージを通信する毎に発生する待
ち時間を削減するために、通信制御装置73内に、メッ
セージの通信終了毎にプロセッサ71に割り込みをかけ
る装置を実装することが多い。しかしながら、この割り
込みに伴ってプロセッサ71によって実行される割り込
み処理は、上記レベル移行時の処理と同様に多くのプロ
セッサ命令の実行を必要とするため、その処理時間がオ
ーバヘッドとなるという問題があった。
Further, in this method, since a command consisting of one or a plurality of words must be set in the register in the communication control device 73 for each communication, when a plurality of messages are continuously transmitted. The communication control device 73 had to be activated after waiting for the completion of the communication process of the immediately preceding message. That is, only one message communication process can be performed at a time. In addition, in order to reduce the waiting time that occurs each time one message is communicated, a device that interrupts the processor 71 each time the message communication ends is often installed in the communication control device 73. However, the interrupt process executed by the processor 71 in response to this interrupt requires the execution of many processor instructions similarly to the process at the time of shifting to the level, and there is a problem that the processing time becomes an overhead. .

【0011】一方、後者のの方式では、メモリ72上
の連続領域を利用することにより、複数のコマンドを該
連続領域にセットすることができ、連続するメッセージ
の通信処理を効率良く高速に処理することが可能であ
る。しかし、上記複数のコマンドをセットしたメモリ7
2上の領域を、該メッセージの転送が完了するまで他の
プロセスから保護しておかなくてはならない。この保護
は、ユーザレベルでは不可能であり、上記の方式と同
様にシステムレベルへの移行が必要となり、MMU(Me
mory Management Unit) 等を用いて、上記メモリ領域を
保護しなければならない。したがって、上記の方式と
同様の問題があった。
On the other hand, in the latter method, a plurality of commands can be set in the continuous area by utilizing the continuous area in the memory 72, and the communication processing of continuous messages can be processed efficiently and at high speed. It is possible. However, the memory 7 in which the above multiple commands are set
The area above 2 must be protected from other processes until the transfer of the message is complete. This protection is not possible at the user level, and it is necessary to move to the system level as in the above method, and MMU (Me
It is necessary to protect the above memory area by using the (Mory Management Unit). Therefore, there is a problem similar to the above method.

【0012】また、複数のコマンドについて1または複
数の各パラメータの値の計算、該計算後のコマンドのメ
モリ72への格納、該コマンドの格納アドレスを通信制
御装置73へセット、続いて通信制御装置73を起動す
る、という一連の処理が必要であり、メモリ72へ格納
するパラメータの量が多くなると、上記一連の処理時間
のオーバヘッドが大きくなるという問題があった。
Also, the value of one or a plurality of parameters for a plurality of commands is calculated, the calculated command is stored in the memory 72, the storage address of the command is set in the communication control device 73, and then the communication control device is set. There is a problem that a series of processing of activating 73 is required, and when the amount of parameters stored in the memory 72 increases, the overhead of the above processing time increases.

【0013】本発明は、ユーザレベルでのコマンドの発
行を可能にして、従来、必要であったシステムレベルへ
の移行に伴うオーバヘッドを削減し、連続するメッセー
ジ通信を高速化できるようにすることである。
According to the present invention, it is possible to issue a command at the user level, reduce the overhead involved in the transition to the system level, which has been conventionally required, and speed up continuous message communication. is there.

【0014】また、プロセッサが複数のコマンドの発行
を連続して効率良く発行できるようにすることである。
Another object is to enable the processor to issue a plurality of commands continuously and efficiently.

【0015】[0015]

【課題を解決するための手段】図1は、本発明の原理を
説明する図である。本発明は、複数のプロセッサ要素1
0が相互結合網20を介して結合される並列計算機シス
テムで、各プロセッサ要素10に実装される通信制御装
置30を前提とする。
FIG. 1 is a diagram for explaining the principle of the present invention. The invention comprises a plurality of processor elements 1
A parallel computer system in which 0s are connected via an interconnection network 20 is premised on a communication control device 30 installed in each processor element 10.

【0016】請求項1記載の発明の通信制御装置は、以
下の手段を有する。バスインタフェース31は、プロセ
ッサ要素10内のプロセッサ11による予め定められた
コマンドエントリ領域に対するコマンドデータ列の書き
込みを検出し、上記コマンドデータ列からコマンドを生
成すると共に、自プロセッサ要素10のメモリ12に対
するデータの読み出し/書き込みを制御する。
The communication control device according to the invention of claim 1 has the following means. The bus interface 31 detects writing of a command data string to a predetermined command entry area by the processor 11 in the processor element 10, generates a command from the command data string, and also writes data to the memory 12 of its own processor element 10. Read / write control of.

【0017】送信コントローラ32は、該バスインタフ
ェース31により生成されたコマンドを解釈して、送信
メッセージを構築する。相互結合網インタフェース33
は、該送信コントローラ32によって構築された送信メ
ッセージを前記相互結合網20へ送出すると共に、前記
相互結合網20から自プロセッサ要素10宛のメッセー
ジを受信する。
The transmission controller 32 interprets the command generated by the bus interface 31 and constructs a transmission message. Interconnection network interface 33
Sends a transmission message constructed by the transmission controller 32 to the interconnection network 20 and receives a message addressed to its own processor element 10 from the interconnection network 20.

【0018】受信コントローラ34は、該相互結合網イ
ンタフェース33によって受信されたメッセージを解釈
し、該メッセージによって転送されてきたデータを、前
記バスインタフェース31を介して自プロセッサ要素1
0のメモリ12の指定された領域に格納する。
The reception controller 34 interprets the message received by the interconnection network interface 33, and transfers the data transferred by the message via the bus interface 31 to its own processor element 1.
0 is stored in the designated area of the memory 12.

【0019】請求項2記載の発明は、上記請求項1記載
の発明において、前記受信コントローラ34を、受信し
たメッセージのコマンドにデータの格納先として予め定
められた特別なバッファ領域が指定されていた場合、上
記受信メッセージのデータを、前記バスインタフェース
31を介して該バッファ領域に格納するように構成す
る。
According to a second aspect of the present invention, in the first aspect of the present invention, the reception controller 34 is designated with a special buffer area predetermined as a data storage destination in the command of the received message. In this case, the received message data is stored in the buffer area via the bus interface 31.

【0020】請求項3記載の発明は、上記請求項1記載
の発明において、前記受信コントローラ34を、自プロ
セッサ要素10のメモリ12の内容を他のプロセッサ要
素10へ転送することを要求するコマンドを受信した場
合、該コマンドを前記送信コンコローラ32へ伝達する
ように構成する。
According to a third aspect of the present invention, in the above-described first aspect of the invention, a command requesting the reception controller 34 to transfer the contents of the memory 12 of the own processor element 10 to another processor element 10 is issued. When received, the command is transmitted to the transmission controller 32.

【0021】また、該送信コントローラ32を、上記コ
マンドを受け取ると前記バスインタフェース31を介し
て自プロセッサ要素10のメモリ12から上記コマンド
により要求されたデータを読み出し、該データを送信す
るメッセージを、構築するように構成する。
When the transmission controller 32 receives the above command, it reads the data requested by the above command from the memory 12 of its own processor element 10 via the bus interface 31, and constructs a message for transmitting the data. To configure.

【0022】請求項4記載の発明は、上記請求項1記載
の発明の各要素に加え、さらに、前記バスインタフェー
ス31によって生成されたコマンドが書き込まれるコマ
ンドキュー35を、備えたものである。
The invention according to a fourth aspect comprises, in addition to each element of the invention according to the first aspect, a command queue 35 in which a command generated by the bus interface 31 is written.

【0023】請求項5記載の発明は、上記請求項3記載
の発明の構成において、前記バスインタフェース31
は、前記プロセッサ11によるあるアドレス領域に対す
るアクセスを検出したときは、前記プロセッサ11が他
のプロセッサ要素10のメモリ12をアクセスするリモ
ートアクセスコマンドを生成する機構を備えるように構
成する。該アクセスには、例えば、該メモリ12の参照
や更新などが含まれる。
According to a fifth aspect of the present invention, there is provided the bus interface 31 according to the third aspect of the invention.
When the processor 11 detects an access to a certain address area, the processor 11 includes a mechanism for generating a remote access command for accessing the memory 12 of another processor element 10. The access includes, for example, referring to or updating the memory 12.

【0024】請求項6記載の発明は、上記請求項5記載
の発明の各要素に加え、さらに、前記バスインタフェー
ス31によって生成された前記リモートアクセスコマン
ドが書き込まれるリモートアクセス送信キュー35A
を、備える。
In addition to the elements of the invention described in claim 5, the invention according to claim 6 further includes a remote access transmission queue 35A in which the remote access command generated by the bus interface 31 is written.
Is provided.

【0025】請求項7記載の発明は、上記請求項1記載
の発明の構成において、前記バスインタフェース31
は、前記プロセッサ11がシステムレベルで走行してい
るときに前記コマンドエントリ領域に書き込んだコマン
ドデータ列からシステムモードの通信コマンドを生成
し、前記プロセッサ11がユーザレベルで走行している
ときに前記コマンドエントリ領域に書き込んだコマンド
データ列からユーザモードの通信コマンドを生成する。
According to a seventh aspect of the present invention, there is provided the bus interface 31 according to the first aspect of the invention.
Generates a system mode communication command from the command data string written in the command entry area when the processor 11 is running at the system level, and outputs the command when the processor 11 is running at the user level. A user mode communication command is generated from the command data string written in the entry area.

【0026】請求項8記載の発明は、上記請求項7記載
の発明の各要素に加え、さらに、前記バスインタフェー
ス31によって生成される前記システムモードの通信コ
マンドが書き込まれるシステム送信キュー35Bと、前
記ユーザモードの通信コマンドが書き込まれるユーザ送
信キュー35Cを備える。
In addition to the elements of the invention described in claim 7, the invention described in claim 8 further includes a system transmission queue 35B in which a communication command in the system mode generated by the bus interface 31 is written, and the system transmission queue 35B. It is provided with a user transmission queue 35C to which a user mode communication command is written.

【0027】そして、前記送信コントローラ32は、前
記システム送信キュー35Bまたはユーザ送信キュー3
5Cから送信コマンドを取り出して該通信コマンドを実
行する。
Then, the transmission controller 32 uses the system transmission queue 35B or the user transmission queue 3
The transmission command is extracted from 5C and the communication command is executed.

【0028】請求項9記載の発明は、上記請求項1記載
の発明が備える各要素に加え、さらに、前記送信コント
ローラ32により構築された自プロセッサ要素10内で
処理が完結されるコマンドのメッセージを、前記相互結
合網インタフェース33を介さずに前記受信コントロー
ラ34に転送する転送手段36を、備える。
The ninth aspect of the present invention, in addition to the elements provided in the first aspect of the present invention, further includes a message of a command for which processing is completed in the own processor element 10 constructed by the transmission controller 32. , A transfer means 36 for transferring to the reception controller 34 without passing through the mutual connection network interface 33.

【0029】請求項10記載の発明は、上記請求項3記
載の発明が備える各要素に加え、さらに、前記受信コン
トローラ34が、前記転送手段36を介して受け取っ
た、自プロセッサ要素10のメモリ12のある領域に格
納されているデータの転送を要求する通信コマンドが設
定されたメッセージに対する返信コマンドが、前記受信
コントローラ34によって書き込まれる返信キュー35
Dを、備える。
The present invention as set forth in claim 10 is, in addition to the elements provided in the invention as set forth in claim 3, further, the reception controller 34 receives the memory 12 of its own processor element 10 via the transfer means 36. In the reply queue 35, a reply command to a message for which a communication command requesting the transfer of data stored in a certain area is set is written by the reception controller 34.
D.

【0030】そして、前記送信コントローラ32は、該
返信キューから前記通信コマンドを取り出し、前記バス
インタフェース31を介して前記通信コマンドの実行を
行う。
Then, the transmission controller 32 takes out the communication command from the reply queue and executes the communication command via the bus interface 31.

【0031】請求項11記載の発明は、上記請求項5記
載の発明が備える各要素に加え、さらに、前記受信コン
トローラ34が、前記相互結合網インタフェース33を
介して受け取った、他のプロセッサ要素10から発行さ
れた自プロセッサ要素10のメモリ12の内容の参照を
要求するリモートアクセスコマンドの設定されたメッセ
ージに対する返信コマンドが、前記受信コントローラ3
4によって書き込まれるリモートアクセス返信キュー3
5Eを、備える。
In addition to the elements provided in the invention described in claim 5, the invention described in claim 11 further includes another processor element 10 received by the reception controller 34 via the mutual connection network interface 33. The reply command to the message set by the remote access command for requesting the reference of the contents of the memory 12 of the own processor element 10 issued from
Remote access reply queue 3 written by
5E is provided.

【0032】そして、前記送信コントローラ32は、該
リモートアクセス返信キュー35Eから前記リモートア
クセスコマンドを取り出し、前記バスインタフェース3
1を介して前記リモートアクセスコマンドによって要求
された自プロセッサ要素10のメモリ12の内容を読み
出して、前記他のプロセッサ要素10宛の送信メッセー
ジを構築する。
Then, the transmission controller 32 takes out the remote access command from the remote access reply queue 35E, and the bus interface 3
The content of the memory 12 of the own processor element 10 requested by the remote access command is read via 1 to construct a transmission message addressed to the other processor element 10.

【0033】請求項12記載の発明は、上記請求項1記
載の発明の構成において、前記バスインタフェース31
は、前記プロセッサ11が前記コマンドエントリ領域に
書き込むコマンドデータ列のアドレスによって、コマン
ドの種類を決定する。
According to a twelfth aspect of the invention, there is provided the bus interface 31 according to the first aspect of the invention.
Determines the command type according to the address of the command data string written in the command entry area by the processor 11.

【0034】請求項13記載の発明は、上記請求項12
記載の発明が備える各要素に加え、さらに、前記プロセ
ッサ11が、ユーザレベルで走行しているときに前記コ
マンドデータ列を書き込み可能な前記コマンドエントリ
領域内での領域を制限するメモリ保護手段37を、備え
る。
The invention according to claim 13 is the above-mentioned claim 12.
In addition to the elements included in the described invention, a memory protection unit 37 is further provided for limiting the area in the command entry area in which the processor 11 can write the command data string when running at the user level. , Prepare.

【0035】請求項14記載の発明は、上記請求項1,
4,6,8,10,または11記載の発明の構成におい
て、前記バスインタフェース31は、前記プロセッサ1
1が前記コマンドエントリ領域に対して書き込むコマン
ドの種類に応じて、該コマンドエントリ領域に書き込ま
れるコマンドデータの数を計数して、該コマンドデータ
列の終了を検出する検出手段31Aを、備える。
The invention according to claim 14 is the above-mentioned claim 1,
In the configuration of the invention described in 4, 6, 8, 10 or 11, the bus interface 31 is the processor 1
1 includes a detection unit 31A that counts the number of command data written in the command entry area according to the type of command to be written in the command entry area and detects the end of the command data string.

【0036】請求項15記載の発明は、上記請求項14
記載の発明の構成において、前記バスインタフェース3
1は、前記コマンドデータの計数値を基に、前記コマン
ドデータ列のある部分の正当性をチェックするチェック
手段31Bを、さらに備える。
The invention of claim 15 is the same as that of claim 14
In the configuration of the described invention, the bus interface 3
1 further includes a check unit 31B that checks the validity of a certain portion of the command data string based on the count value of the command data.

【0037】請求項16記載の発明は、上記請求項14
記載の発明において、前記バスインタフェース31は、
前記コマンドデータの計数値を基に、前記コマンドデー
タ列のある部分にシステムで使用される情報を付加する
情報付加手段31Cを、さらに備える。
The invention according to claim 16 is the above-mentioned
In the described invention, the bus interface 31 is
An information adding unit 31C is further provided for adding information used in the system to a certain portion of the command data string based on the count value of the command data.

【0038】[0038]

【作用】請求項1記載の発明においては、バスインタフ
ェース31がプロセッサ要素10内のプロセッサ11に
よる予め定められたコマンドエントリ領域に対するコマ
ンドデータ列の書き込みを検出し、上記コマンドデータ
列からコマンドを生成する。
According to the present invention, the bus interface 31 detects the writing of the command data string to the predetermined command entry area by the processor 11 in the processor element 10 and generates the command from the command data string. .

【0039】そして、送信コントローラ32が、該バス
インタフェース31により生成されたコマンドを解釈し
て、送信メッセージを構築する。相互結合網インタフェ
ース33は、該送信コントローラ32によって構築され
た送信メッセージを前記相互結合網20へ送出する。ま
た、前記相互結合網20から自プロセッサ要素10宛の
メッセージを受信する。
Then, the transmission controller 32 interprets the command generated by the bus interface 31 and constructs a transmission message. The interconnection network interface 33 sends the transmission message constructed by the transmission controller 32 to the interconnection network 20. Also, it receives a message addressed to its own processor element 10 from the interconnection network 20.

【0040】受信コントローラ34は、該相互結合網イ
ンタフェース33によって受信されたメッセージを解釈
し、該メッセージによって転送されてきたデータを、前
記バスインタフェース31を介して自プロセッサ要素1
0のメモリ12の指定された領域に格納する。
The reception controller 34 interprets the message received by the interconnection network interface 33, and transfers the data transferred by the message via the bus interface 31 to its own processor element 1.
0 is stored in the designated area of the memory 12.

【0041】このように、プロセッサ10は、所望のコ
マンドを発行する際、自己のアドレス空間内に特定領域
として設けられるコマンドエントリ領域の上記所望のコ
マンドに対して予め割り当てられたアドレスに該コマン
ドのパラメータ等を書き込めばよい。したがって、上記
コマンドエントリ領域にユーザレベルのコマンドを発行
するためのアドレス領域を割り当てることにより、プロ
セッサがユーザレベルでコマンドを発行することが可能
になる。すなわち、コマンド発行時にシステムレベルへ
移行する必要がなくなるのでオーバーヘッドを削減でき
る。
As described above, when issuing a desired command, the processor 10 sends the command to the address previously assigned to the desired command in the command entry area provided as a specific area in its own address space. You only need to write the parameters. Therefore, by allocating an address area for issuing a user level command to the command entry area, the processor can issue a command at the user level. That is, it is not necessary to shift to the system level when a command is issued, so that the overhead can be reduced.

【0042】請求項2記載の発明では、受信コントロー
ラ34は、受信メッセージのコマンドにデータの格納先
として予め定められた特別なバッファ領域が指定されて
いた場合、上記データを、前記バスインタフェース31
を介して該バッファ領域に格納する。
According to the second aspect of the present invention, the reception controller 34 transfers the data to the bus interface 31 when a special buffer area that is predetermined as a data storage destination is designated in the command of the reception message.
To the buffer area via.

【0043】したがって、メッセージにデータの格納先
アドレスを明示的に設定する必要がなくなり、メッセー
ジパッシング方式でのデータ転送が可能になる。また、
上記データ転送を実現するためのハードウェアを、受信
コントローラ内に設けるようにした場合でも、送受信機
構の大部分を共有することが可能となるため、ハードウ
ェア量の増加を少なく抑えることができる。
Therefore, it is not necessary to explicitly set the data storage destination address in the message, and the data can be transferred by the message passing method. Also,
Even if the hardware for realizing the above-mentioned data transfer is provided in the reception controller, most of the transmission / reception mechanism can be shared, and an increase in the amount of hardware can be suppressed.

【0044】請求項3記載の発明では、自プロセッサ要
素10のメモリ12の内容を他のプロセッサ要素10へ
転送することを要求するコマンドが受信コントローラ3
4により受信されると、該コマンドは、前記送信コント
リーラ32へ伝達される。そして、送信コントローラ3
2は、上記コマンドを受け取ると前記バスインタフェー
ス31を介して自プロセッサ要素10のメモリ12から
上記コマンドにより要求されたデータを読み出し、該デ
ータを送信するメッセージを、構築する。
According to the third aspect of the invention, the command for requesting the transfer of the contents of the memory 12 of the own processor element 10 to another processor element 10 is the reception controller 3
When received by 4, the command is transmitted to the transmission controller 32. And the transmission controller 3
When receiving the above command, the 2 reads out the data requested by the above command from the memory 12 of its own processor element 10 via the bus interface 31, and constructs a message for transmitting the data.

【0045】したがって、返信コマンドの処理を送信コ
ントローラ32により実行でき、ハードウェアの量を削
減できる。請求項4記載の発明では、バスインタフェー
ス31は生成したコマンドを直ちにコマンドキュー35
に書き込むことができるので、複数のコマンドを送信コ
ントローラ32のコマンド処理の終了を待たずに、連続
して発行することが可能となり、処理効率が向上する。
Therefore, the processing of the reply command can be executed by the transmission controller 32, and the amount of hardware can be reduced. In the invention according to claim 4, the bus interface 31 immediately transmits the generated command to the command queue 35.
Since the plurality of commands can be continuously written without waiting for the command processing of the transmission controller 32 to end, the processing efficiency is improved.

【0046】請求項5記載の発明では、プロセッサ11
のアクセス空間内のあるアドレス領域を、リモートアク
セスコマンド生成用の領域として予め割り当てておくこ
とにより、前記バスインタフェース31は、前記プロセ
ッサ11による前記アドレス領域に対するアクセスを検
出して、例えば、ハードウェア機構により前記プロセッ
サ11が他のプロセッサ要素10のメモリ12をアクセ
スするリモートアクセスコマンドを自動的に生成する。
したがって、少量のハードウェアの付加により、リモー
トアクセス機能を実現できる。
According to the fifth aspect of the invention, the processor 11
By previously allocating an address area in the access space of the above as an area for generating a remote access command, the bus interface 31 detects an access to the address area by the processor 11, and, for example, a hardware mechanism is used. Thus, the processor 11 automatically generates a remote access command for accessing the memory 12 of another processor element 10.
Therefore, the remote access function can be realized by adding a small amount of hardware.

【0047】請求項6記載の発明によれば、前記バスイ
ンタフェース31は、生成したリモートアクセスコマン
ドをリモートアクセス送信キュー35Aに書き込む。し
たがって、複数のリモートアクセス通信コマンドを送信
コントローラ32のコマンド処理の終了を待たずに、連
続して発行することが可能になる。
According to the sixth aspect of the invention, the bus interface 31 writes the generated remote access command in the remote access transmission queue 35A. Therefore, it becomes possible to issue a plurality of remote access communication commands continuously without waiting for the completion of the command processing of the transmission controller 32.

【0048】請求項7記載の発明によれば、前記バスイ
ンタフェース31は、前記プロセッサ11がシステムレ
ベルで走行しているときに前記コマンドエントリ領域に
書き込んだコマンドデータ列からシステムモードの通信
コマンドを生成し、前記プロセッサ11がユーザレベル
で走行しているときに前記コマンドエントリ領域に書き
込んだコマンドデータ列からユーザモードの通信コマン
ドを生成する。
According to the seventh aspect of the invention, the bus interface 31 generates a system mode communication command from the command data string written in the command entry area when the processor 11 is running at the system level. Then, a user mode communication command is generated from the command data string written in the command entry area when the processor 11 is running at the user level.

【0049】したがって、プロセッサ11は、システム
モードの通信コマンドとユーザモードの通信コマンドの
発行を、その走行レベルによって制御することができ
る。請求項8記載の発明によれば、前記バスインタフェ
ース31によって、前記システムモード及びユーザモー
ドの通信コマンドが、それぞれシステム送信キュー35
Bと、ユーザ送信キュー35Cに書き込まれる。
Therefore, the processor 11 can control the issuance of the system mode communication command and the user mode communication command according to the running level. According to the invention described in claim 8, the system interface and the user mode communication commands are respectively transmitted by the bus interface 31 to the system transmission queue 35.
B is written in the user transmission queue 35C.

【0050】そして、送信コントローラ32は前記シス
テム送信キュー35Bまたはユーザ送信キュー35Cか
ら通信コマンドを取り出して該通信コマンドを実行す
る。したがって、システム送信キュー35Bとユーザ送
信キューのいずれの方から優先的に通信コマンドを取り
出すかを予め決めておくことにより、システムコマンド
とユーザコマンドの処理に優先順位を付けることができ
る。また、システムコマンドとユーザコマンドは、互い
に別々のキューに格納されるため、プロセッサ11の走
行レベルがユーザがユーザレベルとシステムレベルとの
間で頻繁に切り替わっても、ユーザモードの通信コマン
ドとシステムモードの通信コマンドは当該キューに正し
く格納される。このため、プロセッサ11は上記2つの
通信コマンドを随時、独立に発行することができる。
Then, the transmission controller 32 takes out the communication command from the system transmission queue 35B or the user transmission queue 35C and executes the communication command. Therefore, it is possible to prioritize the processing of the system command and the user command by determining in advance which of the system transmission queue 35B and the user transmission queue the communication command is extracted. Further, since the system command and the user command are stored in separate queues, even if the running level of the processor 11 is frequently switched between the user level and the system level, the communication command in the user mode and the system mode Communication commands are correctly stored in the queue. Therefore, the processor 11 can issue the above two communication commands independently at any time.

【0051】請求項9記載の発明によれば、転送手段3
6により、前記送信コントローラ32により構築された
自プロセッサ要素10内で処理が完結されるコマンドの
メッセージは、前記相互完結網インタフェース33を介
さずに前記受信コントローラ34に転送される。
According to the invention described in claim 9, the transfer means 3
6, the message of the command that the processing is completed in the own processor element 10 constructed by the transmission controller 32 is transferred to the reception controller 34 without passing through the mutual completion network interface 33.

【0052】したがって、自プロセッサ要素内で完結す
る処理を高速に行うことができる。請求項10記載の発
明によれば、自プロセッサ要素10のメモリ12のある
領域に格納されているデータの転送を要求する通信コマ
ンドに対する返信コマンドは、前記受信コントローラ3
4によって返信キュー35Dにかきこまれる。
Therefore, the processing completed within the own processor element can be performed at high speed. According to the invention described in claim 10, the reply command to the communication command requesting the transfer of the data stored in the certain area of the memory 12 of the own processor element 10 is the reception controller 3
4 is sent to the reply queue 35D.

【0053】そして、前記送信コントローラ32は、該
返信キューから前記通信コマンドを取り出し、前記バス
インタフェース31を介して前記通信コマンドの実行を
行う。
Then, the transmission controller 32 takes out the communication command from the reply queue and executes the communication command via the bus interface 31.

【0054】したがって、受信コントローラ34は、上
記返信コマンドを送信コントローラ32の処理の終了を
待たずに、連続して発行することができる。請求項11
記載の発明によれば、前記受信コントローラ34が、前
記相互結合網インタフェース33を介して受け取った、
他のプロセッサ要素10から発行された自プロセッサ要
素10のメモリ12の内容の参照を要求するリモートア
クセスコマンドに対する返信コマンドが、前記受信コン
トローラ34によってリモートアクセス返信キュー35
Eに書き込まれる。
Therefore, the reception controller 34 can continuously issue the reply command without waiting for the completion of the processing of the transmission controller 32. Claim 11
According to the described invention, the reception controller 34 receives via the mutual connection network interface 33,
A reply command to the remote access command issued from another processor element 10 for requesting the reference of the contents of the memory 12 of its own processor element 10 is sent by the reception controller 34 to the remote access reply queue 35.
Written to E.

【0055】そして、送信コントローラ32は、該リモ
ートアクセス返信キュー35Eから前記リモートアクセ
スコマンドを取り出し、前記バスインタフェース31を
介して前記リモートアクセスコマンドによって要求され
た自プロセッサ要素10のメモリ12の内容を読み出し
て、前記他のプロセッサ要素10宛の送信メッセージを
構築する。
Then, the transmission controller 32 takes out the remote access command from the remote access reply queue 35E and reads the content of the memory 12 of the own processor element 10 requested by the remote access command via the bus interface 31. Then, a transmission message addressed to the other processor element 10 is constructed.

【0056】したがって、受信コントローラ34は、相
互結合網インタフェース33を介して受け取った返信メ
ッセージを要求するリモートアクセスコマンドに対する
返信コマンドを、送信コントローラの処理の終了を待た
ずに連続して出力することができる。
Therefore, the reception controller 34 can continuously output the reply command to the remote access command requesting the reply message received via the mutual connection network interface 33 without waiting for the completion of the processing of the transmission controller. it can.

【0057】請求項12記載の発明によれば、前記バス
インタフェース31により、前記プロセッサ11が前記
コマンドエントリ領域に書き込むコマンドデータ列のア
ドレスによって、コマンドの種類が決定される。
According to the twelfth aspect of the invention, the type of command is determined by the bus interface 31 according to the address of the command data string written in the command entry area by the processor 11.

【0058】したがって、コマンドエントリ領域をユー
ザコマンド発行用の領域とシステムコマンド発行用の領
域に分割できる。また、請求項13記載の発明によれ
ば、メモリ保護手段37により、前記プロセッサ11
が、ユーザレベルで走行しているときに前記コマンドデ
ータ列を書き込み可能な前記コマンドエントリ領域内の
領域を、一部の領域に制限することができる。
Therefore, the command entry area can be divided into an area for issuing a user command and an area for issuing a system command. According to the thirteenth aspect of the present invention, the processor 11 is provided with the memory protection means 37.
However, the area in the command entry area in which the command data string can be written while traveling at the user level can be limited to a part of the area.

【0059】したがって、ユーザレベルで発行できるコ
マンドの種類を制限することができる。請求項14記載
の発明によれば、バスインタフェース31は、検出手段
31Aにより、前記プロセッサ11が前記コマンドエン
トリ領域に対して書き込むコマンドの種類に応じて、該
コマンドエントリ領域に書き込まれるコマンドデータの
数を計数して、該コマンドデータ列の終了を検出する。
Therefore, the types of commands that can be issued at the user level can be restricted. According to the fourteenth aspect of the invention, the bus interface 31 detects the number of command data written in the command entry area by the detection means 31A in accordance with the type of the command written in the command entry area by the processor 11. Is counted to detect the end of the command data string.

【0060】したがって、この検出情報を用いることに
より、キューに格納されているまだ未完結のコマンドの
発行を抑えることができる。また、コマンドの種類に応
じて複数のキューが用意されている場合には、完結して
いるコマンドが格納されているキューから完結している
コマンドを取り出して処理すればよいので、余分な待ち
時間を削減でき処理効率が向上する。
Therefore, by using this detection information, it is possible to suppress the issuance of uncompleted commands stored in the queue. Also, if multiple queues are prepared according to the type of command, it is sufficient to retrieve the completed command from the queue that stores the completed command and process it. Can be reduced and the processing efficiency can be improved.

【0061】請求項15記載の発明によれば、バスイン
タフェース31は、チェック手段31Bにより、前記コ
マンドデータの計数値を基に、前記コマンドデータ列の
ある部分の正当性をチェックする。
According to the fifteenth aspect of the present invention, the bus interface 31 uses the checking means 31B to check the validity of a portion of the command data string based on the count value of the command data.

【0062】したがって、不正なコマンドの発行を防止
できる。また、請求項16記載の発明によれば、バスイ
ンタフェース31は、情報付加手段31Cにより、前記
コマンドデータの計数値を基に、前記コマンドデータ列
のある部分にシステムで使用される情報を付加する。
Therefore, the issuance of an illegal command can be prevented. According to the sixteenth aspect of the present invention, the bus interface 31 adds the information used in the system to a certain portion of the command data string based on the count value of the command data by the information adding means 31C. .

【0063】したがって、コマンドデータ列の任意の部
分に種々の情報を埋め込むことができる。
Therefore, various information can be embedded in any part of the command data string.

【0064】[0064]

【実施例】以下、図面を参照しながら本発明の実施例を
説明する。図2は、本発明の一実施例である並列計算機
の相互結合網200に結合されるプロセッサ要素(以
下、PEと表現する)100の全体構成を示すブロック
図である。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 2 is a block diagram showing an overall configuration of a processor element (hereinafter referred to as PE) 100 connected to an interconnection network 200 of a parallel computer which is an embodiment of the present invention.

【0065】PE100は、プロセッサ110と、該プ
ロセッサ110にバス130を介して接続されたメモリ
120と通信制御装置140とから構成されている。プ
ロセッサ110は、自PE100のメモリ120の内容
を他のPE100のメモリ120へ転送する旨を指示す
るコマンドのメッセージを送信する際、自アドレス空間
上に設定された“コマンドエントリ”と呼ばれる領域1
50へコマンドデータ列を書き込む。
The PE 100 is composed of a processor 110, a memory 120 connected to the processor 110 via a bus 130, and a communication control device 140. When the processor 110 transmits a command message instructing to transfer the contents of the memory 120 of its own PE 100 to the memory 120 of another PE 100, the area 1 called “command entry” set in its own address space.
Write the command data string to 50.

【0066】コマンドデータ列は、プロセッサ110に
対してある機能の実行を指示するコマンドを構成するパ
ラメータやデータなどで構成される1ワード以上のデー
タである。上記パラメータには、例えば、〈宛先P
E〉、〈メッセージサイズ〉、〈宛先アドレス〉、〈ソ
ースアドレス〉、〈その他のパラメータ〉、・・・など
がある。
The command data string is one or more words of data composed of parameters and data forming a command for instructing the processor 110 to execute a certain function. The above parameters include, for example, <destination P
E>, <message size>, <destination address>, <source address>, <other parameters>, ...

【0067】図3は、上記コマンドエントリ領域150
の概念を説明する図である。コマンドエントリ領域15
0はプロセッサ110のアドレス空間112上の特定の
領域であり、それぞれのアドレスは、上記自PE100
のメモリ120の内容を他PE100のメモリ120へ
転送する旨を指示する各種コマンドに一対一に対応して
いる。プロセッサ100は、上記各コマンドを他PE1
00のプロセッサ110へ送信する際、そのコマンドに
対して予め割り当てられているコマンドエントリ領域1
50のアドレスに対して、前記コマンドデータ列を書き
込む。
FIG. 3 shows the command entry area 150.
It is a figure explaining the concept of. Command entry area 15
0 is a specific area on the address space 112 of the processor 110, and each address is the above PE 100.
There is a one-to-one correspondence with various commands that instruct to transfer the contents of the memory 120 of the other PE 100 to the memory 120 of another PE 100. The processor 100 sends the above commands to other PE1s.
00 to the processor 110, the command entry area 1 that is pre-allocated to the command
The command data string is written to the address of 50.

【0068】通信制御装置140は、バス130上に出
力された上記コマンドエントリ領域150に対して書き
込みがなされたコマンドデータ列を解釈して、他PE1
00の通信制御装置140が解釈可能な形式にコマンド
送信用のメッセージを構築して、該メッセージを相互結
合網160へ送出する。
The communication control device 140 interprets the command data string written on the command entry area 150 output on the bus 130, and the other PE 1
The communication control device 140 of 00 builds a message for command transmission in a format that can be interpreted and sends the message to the interconnection network 160.

【0069】通信制御装置140は、バスインタフェー
ス141、送信コントローラ142、マルチプレクサ1
43、相互結合網インタフェース144、及び受信コン
トローラ145から成る。
The communication control device 140 includes a bus interface 141, a transmission controller 142 and a multiplexer 1.
43, an interconnection network interface 144, and a reception controller 145.

【0070】バスインタフェース141は、バス130
のアドレスバス上に出力されているアドレス信号を監視
し、該アドレス信号がコマンドエントリ領域150内の
アドレスであれば、バス130のデータバスから上記コ
マンドデータ列を取り出し、これにプロセスID(PI
D)などの情報を付加して送信コントローラ142に伝
達する。また、メモリ120に対してアクセスする機構
も有し、該メモリ120に対するデータの読み出しや書
き込みなどを行う。自PE100のメモリ120の内容
を他PE100のメモリ120へ転送する場合には、上
記メモリアクセス機構によりその転送データを自PE1
00のメモリ120から読み出し、マルチプレクサ14
3に出力する。
The bus interface 141 is the bus 130.
Of the address data output to the command bus of the bus 130, if the address signal is an address in the command entry area 150, the command data string is extracted from the data bus of the bus 130, and the process ID (PI
The information such as D) is added and transmitted to the transmission controller 142. Further, it also has a mechanism for accessing the memory 120, and performs reading and writing of data from the memory 120. When transferring the contents of the memory 120 of the self PE 100 to the memory 120 of another PE 100, the transfer data is transferred to the self PE 1 by the memory access mechanism.
00 from the memory 120, the multiplexer 14
Output to 3.

【0071】送信コントローラ142は、バスインタフ
ェース141から受信するコマンドデータ列を解釈し、
他PE100へコマンドを送信するためのメッセージを
構築する。そして、該メッセージをマルチプレクサ14
3を介して相互結合網インタフェース145へ出力す
る。また、受信したメッセージのコマンドが自PE10
0のメモリ120の内容を他PE100へ転送する旨を
指示するものであった場合、上記メモリ120から該コ
マンドにより指示されたデータを読み出すための要求を
バスインタフェース141に対して出力する。
The transmission controller 142 interprets the command data string received from the bus interface 141,
Construct a message for sending a command to another PE 100. Then, the message is sent to the multiplexer 14
3 to the mutual connection network interface 145. Also, the command of the received message is the PE 10 itself.
When it is instructed to transfer the content of the memory 120 of 0 to another PE 100, a request for reading the data instructed by the command from the memory 120 is output to the bus interface 141.

【0072】マルチプレクサ143は、送信コントロー
ラ142からの制御により、該送信コントローラ142
から入力されるコマンドまたは該送信コントローラ14
2からの上記メモリ読み出し要求に従ってバスインタフ
ェース141から入力送られてくる自PE100のメモ
リ120から読み出されたデータのいずれか一方を相互
結合網インタフェース145へ選択出力することによ
り、他PE100宛の送信メッセージを出力する。
The multiplexer 143 is controlled by the transmission controller 142, and the transmission controller 142 is controlled.
Command input from the transmission controller 14
In accordance with the memory read request from the above-mentioned No. 2, one of the data read from the memory 120 of the self PE 100 which is input and sent from the bus interface 141 is selectively output to the mutual connection network interface 145, thereby transmitting to the other PE 100. Output a message.

【0073】相互結合網インタフェース144は、上記
マルチプレクサ143から入力されるメッセージを相互
結合網160へ送出する。また、該相互結合網160か
ら他のPE100から送信されてくるメッセージを受信
し、これを受信コントローラ145へ出力する。
The interconnection network interface 144 sends the message input from the multiplexer 143 to the interconnection network 160. Also, it receives a message transmitted from another PE 100 from the mutual connection network 160 and outputs it to the reception controller 145.

【0074】受信コントローラ145は、相互結合網イ
ンタフェース144から入力されるメッセージを解釈
し、該メッセージに設定されているコマンドに対応する
処理を行う。そして、例えば、該メッセージによって転
送されてきたデータを自PE100のメモリ120の上
記コマンドにより指定されたアドレスに書き込む。
The reception controller 145 interprets the message input from the mutual connection network interface 144 and performs processing corresponding to the command set in the message. Then, for example, the data transferred by the message is written to the address specified by the above command in the memory 120 of the self PE 100.

【0075】上記構成の本実施例においては、プロセッ
サ110は自己のアドレス空間上のコマンドエントリ領
域150という特殊な領域にコマンドデータ列を書き込
むことにより、システムレベルへ移行することなく、ユ
ーザレベルで上記コマンドデータ列の書き込みを行い他
PE100とメッセージ通信を行うことができる。
In the present embodiment having the above configuration, the processor 110 writes the command data string in a special area called the command entry area 150 in its own address space, so that the processor 110 can execute the above operation at the user level without shifting to the system level. It is possible to write a command data string and perform message communication with another PE 100.

【0076】次に、図4は本発明の他の実施例のPE2
00の全体構成を示すブロック図である。同図におい
て、前述した図2に示す実施例内のブロックと同一のブ
ロックには同一の符号を付与し、詳しい説明は省略す
る。
Next, FIG. 4 shows PE2 of another embodiment of the present invention.
Is a block diagram showing the overall configuration of 00. In the figure, the same blocks as the blocks in the embodiment shown in FIG. 2 described above are designated by the same reference numerals, and detailed description thereof will be omitted.

【0077】本実施例の通信制御装置240は、バスイ
ンタフェース241と送信コントローラ242との間
に、コマンドキュー246を設けている。コマンドキュ
ー246は、バスインタフェース241がコマンドデー
タ列を書き込むキューであり、例えばFIFO(First
In First Out) メモリ(FIFOバッファ)等から成
る。そして、このキュー246に書き込まれたコマンド
データ列はFIFO方式で送信コントローラ242に読
み出される。
The communication control device 240 of this embodiment is provided with a command queue 246 between the bus interface 241 and the transmission controller 242. The command queue 246 is a queue in which the bus interface 241 writes a command data string, and, for example, a FIFO (First
In First Out) A memory (FIFO buffer) and the like. Then, the command data string written in the queue 246 is read out to the transmission controller 242 by the FIFO method.

【0078】本実施例においては、このようにコマンド
キュー246を設けたことにより、バスインタフェース
241は、送信コントローラ242の処理速度に合わせ
ることなく連続してコマンドデータ列を出力することが
でき、処理効率が向上する。
In the present embodiment, by providing the command queue 246 in this way, the bus interface 241 can continuously output the command data string without adjusting to the processing speed of the transmission controller 242. Efficiency is improved.

【0079】図5は本発明のさらに他の実施例のPE3
00の全体構成を示すブロック図である。図5において
も、図2に示す実施例内のブロックと同一のブロックに
は同一の符号を付与している。
FIG. 5 shows PE3 of still another embodiment of the present invention.
Is a block diagram showing the overall configuration of 00. Also in FIG. 5, the same blocks as the blocks in the embodiment shown in FIG. 2 are denoted by the same reference numerals.

【0080】プロセッサ310は、該プロセッサ310
のアドレス空間上のコマンドエントリ領域150内にお
けるシステムレベルでのみのアクセスが許可されている
領域に対するユーザレベルでの不正なアクセスを保護す
るMMU(Memory Management Unit)312を備えてい
る。また、MMU312は、コマンドエントリ領域15
0に対する不正なアクセスを禁止するメモリ保護機能も
備えている。尚、このMMU312はプロセッサ310
とは別のチップであってもよい。
The processor 310 is the processor 310.
An MMU (Memory Management Unit) 312 is provided for protecting unauthorized access at the user level to an area in the command entry area 150 on the address space of which access is permitted only at the system level. The MMU 312 also has a command entry area 15
It also has a memory protection function that prohibits unauthorized access to 0. The MMU 312 is the processor 310.
It may be a chip other than.

【0081】次に、通信制御装置340の構成を説明す
る。バスインタフェース341は、バス130のアドレ
スバス上に出力されるアドレス信号を監視することによ
り、プロセッサ100のコマンドエントリ領域150に
対するコマンドデータ列の書き込みを監視する。そし
て、該書き込みアドレスからコマンドの種類を求め、こ
れを上記コマンドデータ列の第1ワードに設定する。ま
た、プロセスID(PID)を上記コマンドデータ列の
第2ワードに設定する。PIDは、プロセス毎に割り当
てられるユニークな識別子である。複数のプロセスが単
一のシステム内で実行されるとき、各プロセスに割り当
てられる資源はこのPIDで識別され、資源に対するア
クセスの保護機能が実現される。そして、このようにし
て作成したコマンドデータ列をコマンドキュー群346
内の該当するキューに書き込む。
Next, the configuration of the communication control device 340 will be described. The bus interface 341 monitors the writing of the command data string to the command entry area 150 of the processor 100 by monitoring the address signal output on the address bus of the bus 130. Then, the type of command is obtained from the write address, and this is set in the first word of the command data string. Further, the process ID (PID) is set in the second word of the command data string. The PID is a unique identifier assigned to each process. When a plurality of processes are executed in a single system, the resource allocated to each process is identified by this PID, and the protection function of access to the resource is realized. Then, the command data string created in this manner is used as the command queue group 346.
Write to the appropriate queue in.

【0082】コマンドキュー群346は、3本の送信キ
ュー(ユーザ送信キュー346A、システム送信キュー
346B、リモートアクセス送信キュー346C)と2
本の返信キュー(リモートアクセス返信キュー346
F、その他の返信キュー346G)を備えている。
The command queue group 346 includes three transmission queues (user transmission queue 346A, system transmission queue 346B, remote access transmission queue 346C) and two transmission queues.
Book reply queue (remote access reply queue 346
F and other reply queues 346G).

【0083】ユーザ送信キュー346Aは、ユーザレベ
ルで発行される通信コマンド(ユーザモードの通信コマ
ンド)のデータ列を一時的に蓄えるキューである。シス
テム送信キュー346Bは、システムレベルで発行され
る通信コマンド(システムモードの通信コマンド)のデ
ータ列を一時的に蓄えるキューである。
The user transmission queue 346A is a queue for temporarily storing a data string of communication commands (user mode communication commands) issued at the user level. The system transmission queue 346B is a queue that temporarily stores a data string of communication commands (system mode communication commands) issued at the system level.

【0084】プロセッサ310は、プロセスを複数のレ
ベルで実行する。ユーザレベルの処理は、システムレベ
ルの管理下におかれ、システムレベルに比べハードウェ
ア資源に対するアクセスが制限され、システム特権命令
の使用が禁止される。ユーザレベルのプロセスがこれら
の制限事項に違反した場合、例外割り込みが発生し、プ
ロセッサ310はシステムレベルへ移行する。
Processor 310 performs processes at multiple levels. The user level processing is under the control of the system level, the access to the hardware resources is restricted as compared with the system level, and the use of the system privileged instruction is prohibited. If a user level process violates these restrictions, an exception interrupt occurs and processor 310 transitions to the system level.

【0085】リモートアクセス送信キュー346Cは、
自PE300のプロセッサ310が他PE300のメモ
リ120の内容の参照(読み出し)、更新(書き込み)
さらにはデータ交換などのリモートアクセスを実行する
ための通信コマンド(リモートアクセスコマンド)のデ
ータ列を一時的に蓄えるキューである。
The remote access transmission queue 346C is
The processor 310 of the own PE 300 refers to (reads) and updates (writes) the contents of the memory 120 of another PE 300.
Further, it is a queue that temporarily stores a data string of communication commands (remote access commands) for executing remote access such as data exchange.

【0086】リモートアクセス返信キュー346Fは、
他PE300から送信されてくる自PE300のメモリ
120に対するリモートアクセスコマンドに対する返信
コマンドのデータ列を一時的に蓄えるキューである。
The remote access reply queue 346F is
This is a queue that temporarily stores a data string of a reply command to the remote access command for the memory 120 of its own PE 300 transmitted from another PE 300.

【0087】返信キュー346Gは、上記リモートアク
セスコマンド以外の自PE300のメモリ120に対す
るアクセスコマンドに対する返信コマンドのデータ列を
一時的に蓄えるキューである。
The reply queue 346G is a queue for temporarily storing a data string of a reply command for an access command to the memory 120 of the self PE 300 other than the above remote access command.

【0088】上記返信コマンドは、例えば自PE300
に対してメモリ120の内容の参照を要求するコマンド
のメッセージが到着した場合における、その返信のため
のコマンドである。例えば、後述詳しく説明するリモー
トリードコマンドのような他PE400からのリモート
アクセスコマンドに対する返信コマンドは、リモートア
クセス返信キュー346Fに格納される。また、例え
ば、自PE300のメモリ120領域の内容の転送を要
求する通信コマンドに対する返信コマンドは、返信キュ
ー346Gに格納される。
The reply command is, for example, the self PE 300.
Is a command for reply when a message of a command requesting reference to the contents of the memory 120 arrives. For example, a reply command to a remote access command from another PE 400, such as a remote read command described in detail later, is stored in the remote access reply queue 346F. Further, for example, the reply command to the communication command requesting the transfer of the contents of the memory 120 area of the self PE 300 is stored in the reply queue 346G.

【0089】尚、本実施例における“リモートアクセ
ス”という概念は、あるPE300のプロセッサ310
が、他PE300のメモリ120に対して自PE300
のメモリ120と同様にして直接アクセスできる(デー
タの読み出し、書き込みができる)という機能を表す。
そして、リモートアクセスコマンドは、このリモートア
クセス機能を実現するために用いられるコマンドであ
る。
The concept of “remote access” in this embodiment is the processor 310 of a PE 300.
However, for the memory 120 of another PE 300, its own PE 300
Similar to the memory 120, the function of being directly accessible (data can be read and written) is represented.
The remote access command is a command used to realize this remote access function.

【0090】上記コマンドキュー群346内の各キュー
346A〜346Gは不図示のアービタ等によって適切
な優先順位に基づいて選択され、該選択されたキューか
らコマンドデータ列が出力される。
Each of the queues 346A to 346G in the command queue group 346 is selected by an arbiter (not shown) or the like based on an appropriate priority order, and a command data string is output from the selected queue.

【0091】送信コントローラ342は、コマンドキュ
ー群346内の選択されたキューから出力されるコマン
ドデータ列を受け取り、これを解釈する。そして、バス
インタフェース341を介してメモリ120をアクセス
するなどして、マルチプレクサ343を制御して送信メ
ッセージを構築し、これを送信バッファ347に格納さ
せる。すなわち、上記解釈したコマンドデータ列が自P
E300のメモリ120のある領域に格納されているデ
ータの転送を要求するコマンドであった場合には、該デ
ータのメモリ120からの読み出しをバスインタフェー
ス341に要求する。これを受けて、バスインタフェー
ス341がメモリ120から読み出したデータはマルチ
プレクサ343を介して当該コマンドに続いて送信バッ
ファ347に格納され、送信メッセージが構築される。
The transmission controller 342 receives the command data string output from the selected queue in the command queue group 346 and interprets it. Then, by accessing the memory 120 via the bus interface 341, the multiplexer 343 is controlled to construct a transmission message, and the transmission message is stored in the transmission buffer 347. That is, the command data string interpreted above is the self P
When the command is a command requesting the transfer of data stored in a certain area of the memory 120 of the E300, the bus interface 341 is requested to read the data from the memory 120. In response to this, the data read from the memory 120 by the bus interface 341 is stored in the transmission buffer 347 following the command via the multiplexer 343, and a transmission message is constructed.

【0092】送信バッファ347は、このように自PE
300が他PE300へ送信するメッセージ(送信メッ
セージ)または自PE300のメモリ120から読み出
されたデータを含む自PE300宛の送信メッセージな
どを格納する。
The transmission buffer 347 has its own PE in this way.
A message (transmission message) to be transmitted from the other PE 300 to the other PE 300 or a transmission message addressed to the own PE 300 including the data read from the memory 120 of the own PE 300 is stored.

【0093】送信バッファ347は、格納されたメッセ
ージの宛先が自PE300となっている場合、アービタ
348に出力する自PE宛信号を“アクティブ”にす
る。また、送信バッファ347にメッセージが格納され
ている場合には、上記アービタ348に出力するempty
S信号を“非アクティブ”にする。そして、送信バッフ
ァ347に格納されているメッセージが自PE300宛
の場合、該メッセージはマルチプレクサ349に入力デ
ータとして送られる。そして、アービタ348は、上記
自PE宛信号、empty S信号がそれぞれ“アクティ
ブ”、“非アクティブ”となって加わることにより、送
信バッファ347から出力される自PE宛のメッセージ
をマルチプレクサ349から受信コントローラ345に
選択出力させる。一方、送信バッファ347は、他PE
300宛のメッセージについては相互結合網インタフェ
ース344へ出力する。
When the destination of the stored message is the self PE 300, the transmission buffer 347 makes the self PE addressed signal output to the arbiter 348 “active”. When a message is stored in the transmission buffer 347, it is output to the arbiter 348 as empty.
Make the S signal "inactive". Then, when the message stored in the transmission buffer 347 is addressed to the self PE 300, the message is sent to the multiplexer 349 as input data. Then, the arbiter 348 adds the message addressed to its own PE and the empty S signal as “active” and “inactive” respectively, so that the message addressed to its own PE output from the transmission buffer 347 from the multiplexer 349 to the reception controller. Select output to 345. On the other hand, the transmission buffer 347 is the other PE.
The message addressed to 300 is output to the mutual connection network interface 344.

【0094】相互結合網インタフェース344は、送信
バッファ347から入力される他PE300宛のメッセ
ージを相互結合網160へ送出する。また、相互結合網
160から自PE300宛のメッセージを受信し、該メ
ッセージを受信バッファ350に格納する。
The mutual connection network interface 344 sends the message addressed to the other PE 300, which is input from the transmission buffer 347, to the mutual connection network 160. Also, it receives a message addressed to its own PE 300 from the mutual connection network 160 and stores the message in the reception buffer 350.

【0095】受信バッファ350は、相互結合網インタ
フェース344から入力される上記他PE300から相
互結合網200を介して送信されてくる自PE300宛
のメッセージ(受信メッセージ)を格納する。そして、
受信メッセージを格納している間、empty R信号を“非
アクティブ”にしてアービタ348に加える。
The reception buffer 350 stores a message (reception message) addressed to its own PE 300, which is input from the mutual connection network interface 344 and transmitted from the other PE 300 via the mutual connection network 200. And
The empty R signal is "deactivated" and applied to the arbiter 348 while storing the received message.

【0096】アービタ348は、送信バッファ347か
ら入力されるempty S信号並びに自PE宛信号、及び受
信バッファ350から入力されるempty R信号を基に、
送信バッファ347から入力されるメッセージまたは受
信バッファ350から入力される受信メッセージのいず
れか一方をマルチプレクサ349から選択出力させる。
The arbiter 348 receives the empty S signal input from the transmission buffer 347 and the signal addressed to its own PE, and the empty R signal input from the reception buffer 350.
Either the message input from the transmission buffer 347 or the reception message input from the reception buffer 350 is selectively output from the multiplexer 349.

【0097】受信コントローラ345は、マルチプレク
サ349を介して入力される送信バッファ347に格納
された自PE300宛のメッセージまたは受信バッファ
350に格納された他PE300から送信されてきた自
PE300宛のメッセージを解釈する。そして、そのメ
ッセージにメモリ120へのデータ転送を要求するデー
タ転送コマンドが設定されていた場合には、その要求が
なされたデータをバスインタフェース341及びバス1
30を介してメモリ120の該コマンドで指定された領
域へ転送する。一方、返信コマンドを要求するコマンド
が設定されていたメッセージの場合には、該返信コマン
ドを返信キュー346Eまたはリモートアクセス返信キ
ュー346Fに格納する。すなわち、例えば、他PE3
00または自PE300のプロセッサ310が自PE3
00に対してそのメモリ120の内容の参照を要求する
リモートアクセスコマンドが設定されたメッセージであ
れば、その返信コマンドを、リモートアクセス返信キュ
ー346Fに書き込む。また、自PE300のメモリ1
20の内容を自PE300または他PE300のメモリ
120へ転送する旨を要求するリモートアクセスコマン
ド以外のコマンドが設定されたメッセージであれば、そ
の返信のためのコマンドを返信キュー346Gに書き込
む。
The reception controller 345 interprets the message addressed to its own PE 300 stored in the transmission buffer 347 input via the multiplexer 349 or the message addressed to its own PE 300 stored in the reception buffer 350 and transmitted from the other PE 300. To do. When a data transfer command requesting data transfer to the memory 120 is set in the message, the requested data is transferred to the bus interface 341 and the bus 1.
The data is transferred to the area of the memory 120 designated by the command via 30. On the other hand, in the case of the message in which the command requesting the reply command is set, the reply command is stored in the reply queue 346E or the remote access reply queue 346F. That is, for example, another PE3
00 or processor 310 of own PE 300 is own PE 3
If the message is a message for which a remote access command requesting the reference of the contents of the memory 120 to 00 is set, the reply command is written in the remote access reply queue 346F. Also, the memory 1 of own PE 300
If the message has a command other than the remote access command requesting that the contents of 20 be transferred to the memory 120 of the self PE 300 or another PE 300, the command for the reply is written in the reply queue 346G.

【0098】これらのリモートアクセス返信キュー34
6Fまたは返信キュー346Gに格納された返信コマン
ドは、送信コントローラ342に入力される。該送信コ
ントローラ342は、バスインタフェース341を介し
てメモリ120から該返信コマンドによって要求されて
いるデータを読み出し、該データをマルチプレクサ34
3を介して送信バッファ347に書き込み、返信メッセ
ージを構築する。
These remote access reply queues 34
The reply command stored in 6F or the reply queue 346G is input to the transmission controller 342. The transmission controller 342 reads the data requested by the reply command from the memory 120 via the bus interface 341, and the data is transmitted to the multiplexer 34.
3 to write to the transmission buffer 347 to construct a reply message.

【0099】次に、バスインタフェース341の内部構
成を説明する。図6は、バスインタフェース341内の
バス130を監視し、前記ユーザ送信キュー346Aま
たは前記システム送信キュー346Bに格納する通信コ
マンドを生成する部分の回路構成を示す図である。
Next, the internal structure of the bus interface 341 will be described. FIG. 6 is a diagram showing a circuit configuration of a portion that monitors the bus 130 in the bus interface 341 and generates a communication command to be stored in the user transmission queue 346A or the system transmission queue 346B.

【0100】バス130のデータバスは64bit 幅とな
っている。また、アドレスバスは、36bit 幅となって
いる。同図に示す、Bus Write Dataラッチ回路3411
(以下、データラッチ回路3411と表現する)は、プ
ロセッサ310が上記データバス上に出力するデータを
ラッチする。Bus Address ラッチ回路3412(以下、
アドレスラッチ回路3412と表現する)は、プロセッ
サ310が上記アドレスバス上に出力するアドレス信号
をラッチする。プロセッサ310は、64bit幅のデー
タバスの内、第0ビット〜第31ビット(下位ワード)
のバス線または第32ビット〜第63ビット(上位ワー
ド)のバス線のいずれか一方にデータを出力する。この
内、どちらの方にデータを出力するかはアドレスバス上
に出力するアドレス値すなわちコマンドエントリ領域1
50のコマンドデータ列の書き込みアドレスによって決
定される。
The data bus of the bus 130 has a width of 64 bits. The address bus has a width of 36 bits. The Bus Write Data latch circuit 3411 shown in FIG.
The data latch circuit 3411 (hereinafter referred to as the data latch circuit 3411) latches the data output by the processor 310 onto the data bus. Bus Address latch circuit 3412 (hereinafter,
The address latch circuit 3412) latches the address signal output from the processor 310 on the address bus. The processor 310 uses the 0-th bit to the 31st bit (lower word) of the 64-bit width data bus.
Data is output to any one of the bus line of No. 2 or the bus line of 32nd to 63rd bits (upper word). Which of these is to be used to output data depends on the address value output on the address bus, that is, the command entry area 1
It is determined by the write address of the 50 command data string.

【0101】また、バス130上には、プロセッサ31
0がユーザレベルまたはシステムレベルのいずれでプロ
セスを実行しているかを示すSUフラグ信号線が存在す
る。このSUフラグ信号線は、プロセッサ310により
ユーザレベルの時には“0”、システムレベルの時には
“1”に設定される。
Further, on the bus 130, the processor 31
There is a SU flag signal line that indicates whether 0 is executing the process at the user level or the system level. The SU flag signal line is set by the processor 310 to "0" at the user level and to "1" at the system level.

【0102】プロセッサ310は、通信コマンド(ユー
ザ通信コマンドまたはシステム通信コマンド)を発行す
る場合、上述したように自己のアドレス空間上に予め設
定されているコマンドエントリ領域150に対して当該
コマンドのデータ列を書き込む。
When the processor 310 issues a communication command (user communication command or system communication command), the data string of the command is stored in the command entry area 150 preset in its own address space as described above. Write.

【0103】図6は、プロセッサ310がデータバス上
に出力するコマンドデータ列のフォーマットの一例を示
す図である。プロセッサ310は、同図に示す第1ワー
ド(32ビット幅)から第nワードの各コマンドデータ
を、順次データバス上に出力する。
FIG. 6 is a diagram showing an example of a format of a command data string output from the processor 310 on the data bus. The processor 310 sequentially outputs each command data of the first word (32-bit width) to the n-th word shown in the figure onto the data bus.

【0104】第1ワードには、第16ビット〜第31ビ
ットに宛先PEすなわちコマンドの送信先のPE300
の識別情報が設定される。第2ワードには、第0ビット
〜第19ビットにメッセージサイズが設定される。
In the first word, in the 16th to 31st bits, the destination PE, that is, the PE 300 of the command transmission destination, is transmitted.
Identification information is set. The message size is set to the 0th bit to the 19th bit in the second word.

【0105】第3ワード以降には、宛先アドレス、ソー
スアドレス、及びその他のパラメータ1,2,・・・が
設定される。尚、宛先アドレスはメモリ120上のデー
タの転送先アドレス、ソースアドレスはメモリ120上
のデータの転送元のアドレスである。
A destination address, a source address, and other parameters 1, 2, ... Are set in the third and subsequent words. The destination address is a data transfer destination address on the memory 120, and the source address is a data transfer source address on the memory 120.

【0106】バスインタフェース341は、バス130
のアドレスバス上に出力されているアドレスを常時監視
しており、該アドレスがコマンドエントリ領域150内
のアドレスであることを検出すると、バス130のデー
タバスとアドレスバスから、それぞれデータとアドレス
を取り込み、これらをデータラッチ回路3411及びア
ドレスラッチ回路3412にそれぞれラッチする。
The bus interface 341 is the bus 130.
The address output on the address bus of the bus is constantly monitored, and when it is detected that the address is within the command entry area 150, the data and the address are fetched from the data bus and the address bus of the bus 130, respectively. , And the data latch circuit 3411 and the address latch circuit 3412, respectively.

【0107】SUフラグ解析回路3413は、バス13
0上のSUフラグ信号線を参照して、現在、データバス
上に出力されているデータがユーザレベルのコマンドま
たはシステムレベルのコマンドのいずれであるか判断す
る。そして、SUフラグが“1”の時には、アドレスラ
ッチ回路3412にラッチされているアドレス値を参照
して、データラッチ回路3411の上位ワード(第32
ビット〜第63ビット)または下位ワード(第0ビット
〜第31ビット)からコマンドエントリ領域160に書
き込まれたコマンドデータを取り出す。このコマンドデ
ータは、マルチプレクサ3416Sに出力される。
The SU flag analysis circuit 3413 uses the bus 13
By referring to the SU flag signal line on 0, it is determined whether the data currently output on the data bus is a user level command or a system level command. Then, when the SU flag is “1”, the address value latched by the address latch circuit 3412 is referred to, and the upper word (32nd word) of the data latch circuit 3411 is referred to.
The command data written in the command entry area 160 is extracted from the bit to the 63rd bit) or the lower word (the 0th bit to the 31st bit). This command data is output to the multiplexer 3416S.

【0108】SYSCNT回路3414Sは、不図示のバスイ
ンタフェース341全体の動作タイミングを制御するシ
ーケンサから入力されるクロックに従ってシステムレベ
ルの通信コマンドを作成するために必要な計数を行うカ
ウンタであり、初期値として“1”がセットされる。こ
のカウンタ値は、現在、処理中の通信コマンドのワード
位置を示す。
The SYSCNT circuit 3414S is a counter for counting necessary to create a system level communication command according to a clock input from a sequencer for controlling the operation timing of the entire bus interface 341 (not shown), and has an initial value. "1" is set. This counter value indicates the word position of the communication command currently being processed.

【0109】command kind埋め込み回路3415S(以
下、command 回路3415Sと表現する)は、SYSCNT回
路3414Sから“1”のカウント値が入力されると、
データラッチ回路3411から図6に示すコマンドの第
1ワードのデータを取り込み、図7に示すように該デー
タの第0ビット〜第13ビットにアドレスラッチ回路3
412から読み込んだ14ビットのcommand kindデータ
を埋め込む。尚、この" command kind" データは、コマ
ンドの種類を示す7ビットの情報といくつかのフラグか
ら成る。そして、このようにしてcommand kindデータが
設定された通信コマンドの第1ワードをマルチプレクサ
3416Sに出力する。
The command kind embedding circuit 3415S (hereinafter referred to as the command circuit 3415S) receives the count value of "1" from the SYSCNT circuit 3414S.
The data of the first word of the command shown in FIG. 6 is fetched from the data latch circuit 3411, and the address latch circuit 3 is set in the 0th bit to the 13th bit of the data as shown in FIG.
The 14-bit command kind data read from 412 is embedded. The "command kind" data is composed of 7-bit information indicating the kind of command and some flags. Then, the first word of the communication command in which the command kind data is set in this way is output to the multiplexer 3416S.

【0110】マルチプレクサ3461Sは、不図示のア
ービタによって制御され図8に示すコマンドを作成・出
力する。該アービタはSYSCNT3414Sのカウント値情
報を基に、マルチプレクサ3416Sの選択制御を行
う。
The multiplexer 3461S is controlled by an arbiter (not shown) and creates / outputs the command shown in FIG. The arbiter controls the selection of the multiplexer 3416S based on the count value information of the SYSCNT 3414S.

【0111】また、上記command kindデータは、cmdsiz
回路3417Sにも入力・保持される。次に、データラ
ッチ回路3411にコマンドエントリ領域160に書き
込まれた図7に示すシステムレベルの通信コマンドの第
2ワードのデータがラッチされる。このデータは、SU
フラグ解析回路3413を介してPID埋め込み回路3
419Sに入力されると共に、上記cmdsiz回路3417
Sにも入力される。
The command kind data is cmdsiz.
It is also input and held in the circuit 3417S. Next, the data of the second word of the system level communication command shown in FIG. 7 written in the command entry area 160 is latched in the data latch circuit 3411. This data is SU
PID embedding circuit 3 via flag analysis circuit 3413
419S and the cmdsiz circuit 3417 described above.
It is also input to S.

【0112】cmdsiz回路3417Sは、この第2ワード
の第0〜第19ビットに設定されているメッセージサイ
ズ情報と、上記既に入力・保持しているcommand kindデ
ータとからコマンドのデータ長、すなわちコマンドを構
成するデータ列のワード長(コマンドサイズ)を求め
る。
The cmdsiz circuit 3417S determines the data length of the command, that is, the command, from the message size information set in the 0th to 19th bits of the second word and the command kind data already input and held. Find the word length (command size) of the data string to be composed.

【0113】また、データラッチ回路3411に上記シ
ステムレベルの通信コマンドの第2ワードのデータがラ
ッチされることにより、SYSCNT回路3414Sにクロッ
クが加わり、SYSCNT回路3414Sは、“2”にインク
リメントされる。
Further, the data latch circuit 3411 latches the data of the second word of the system level communication command, whereby a clock is applied to the SYSCNT circuit 3414S and the SYSCNT circuit 3414S is incremented to "2".

【0114】このSYSCNT回路3414Sのカウント値
“2”は、SYSLEN回路3418SにLOAD信号として
加わり、SYSLEN回路3418Sはcmdsiz回路3417S
から上記コマンドサイズを入力・保持する。
The count value "2" of the SYSCNT circuit 3414S is added to the SYSLEN circuit 3418S as a LOAD signal, and the SYSLEN circuit 3418S receives the cmdsiz circuit 3417S.
Input and hold the above command size from.

【0115】また、SYSCNT回路3414Sのカウント値
“2”は、PID埋め込み回路3419S(以下、PI
D回路3419Sと表現する)にも入力される。PID
回路3419Sは、この入力が加わるとSUフラグ解析
回路3413を介してデータラッチ回路3411から図
7に示す第2ワードのデータを入力する。そして、この
データの第20ビット〜第31ビットに、不図示のレジ
スタに保持されているPID情報を設定する。そして、
設定後のデータをマルチプレクサ3416Sに出力す
る。プロセッサ310は、プロセス切替が生じた時に、
該切り替えによって新たに実行するプロセスのID(P
ID情報)をレジスタに設定する。
Further, the count value "2" of the SYSCNT circuit 3414S is the same as the PID embedding circuit 3419S (hereinafter referred to as PI
D circuit 3419S). PID
When this input is added, the circuit 3419S inputs the second word data shown in FIG. 7 from the data latch circuit 3411 via the SU flag analysis circuit 3413. Then, the PID information held in the register (not shown) is set in the 20th to 31st bits of this data. And
The set data is output to the multiplexer 3416S. The processor 310, when the process switching occurs,
The process ID (P
ID information) is set in the register.

【0116】上述のようにして、command 回路3415
S、PID回路3419Sによってそれぞれ作成され
た、図8に示すコマンドの第1ワード及び第2ワード目
のデータは、マルチプレクサ3416Sによって、順次
選択出力され、システム送信キュー(System Queue)3
46Bに入力される。
As described above, the command circuit 3415
Data of the first word and the second word of the command shown in FIG. 8 which are respectively created by the S and PID circuits 3419S are sequentially selected and output by the multiplexer 3416S, and the system transmission queue (System Queue) 3
46B is input.

【0117】続いて、データラッチ回路3411にシス
テムレベルの通信コマンドの第3ワード目以降のデータ
が順次ラッチされる。これらのデータは、SUフラグ解
析回路3413を介して、直接、マルチプレクサ341
6Sに入力される。そして、マルチプレクサ3416S
により順次、選択されシステム送信キュー346Bに入
力される。
Then, the data latch circuit 3411 sequentially latches the data from the third word onward of the system level communication command. These data are directly transmitted to the multiplexer 341 via the SU flag analysis circuit 3413.
Input to 6S. And a multiplexer 3416S
Are sequentially selected by and input to the system transmission queue 346B.

【0118】データラッチ回路3411にラッチされる
上記システムレベルの通信コマンドの最後のデータがラ
ッチされ、これがSUフラグ解析回路3413を介して
マルチプレクサ3416Sに入力された時点で、SYSCNT
3414Sのカウント値は、SYSLENと同じ値になる。
When the last data of the system level communication command latched by the data latch circuit 3411 is latched and input to the multiplexer 3416S via the SU flag analysis circuit 3413, the SYSCNT
The count value of 3414S becomes the same value as SYSLEN.

【0119】compare 回路(コンパレータ)3420S
は、SYSCNT回路3414SとSYSLEN回路3418Sの両
者の値が等しくなると、有効値(例えば、“1”)に設
定されたEnd bit データを出力する。このEnd bit デー
タは、SYSCNT回路3414Sに対してプリセット信号と
して加わり、SYSCNT回路3414Sの値は“1”にプリ
セットされる。
Compare circuit (comparator) 3420S
Outputs the End bit data set to a valid value (for example, "1") when the values of both the SYSCNT circuit 3414S and the SYSLEN circuit 3418S become equal. The End bit data is added to the SYSCNT circuit 3414S as a preset signal, and the value of the SYSCNT circuit 3414S is preset to "1".

【0120】以上のようにして、システム送信キュー3
46Bには図8に示すようなフォーマットの通信コマン
ドが書き込まれる。上述した、SYSCNT回路3414S、
command 回路3415S、マルチプレクサ3416S、
cmdsiz回路3417S、SYSLEN回路3418S、PID
回路3419S、及びcompare 回路3420Sから成
る、システム送信キュー346B用の通信コマンドを生
成する回路3410S(システム通信コマンド生成回路
3419S)と同様な回路3410U(ユーザ通信コマ
ンド生成回路3410U)が、ユーザ送信キュー346
Aに書き込むユーザレベルの通信コマンドを生成する装
置として設けられている。この回路3410Uにおい
て、対応するブロックについては、その符号の末尾の英
字を“S”から“U”に変えて示している。
As described above, the system transmission queue 3
A communication command having a format as shown in FIG. 8 is written in 46B. The above-mentioned SYSCNT circuit 3414S,
command circuit 3415S, multiplexer 3416S,
cmdsiz circuit 3417S, SYSLEN circuit 3418S, PID
A circuit 3410U (user communication command generation circuit 3410U) similar to the circuit 3410S (system communication command generation circuit 3419S) for generating a communication command for the system transmission queue 346B, which includes a circuit 3419S and a compare circuit 3420S, has a user transmission queue 346.
It is provided as a device for generating a user level communication command to be written in A. In this circuit 3410U, the corresponding letter of the corresponding block is shown by changing the letter at the end of the code from "S" to "U".

【0121】プロセッサ310がユーザレベルでコマン
ドエントリ領域150に通信コマンドのデータ列を順次
書き込む場合には、バス130上のSUフラグ信号線を
“0”に設定する。これにより、SUフラグ解析部34
13は、データラッチ回路3411にラッチされるプロ
セッサ310の出力したユーザレベルの通信コマンドの
データ列を回路3410Uの方へ出力する。これによ
り、上述した回路3410Sと同様な動作が回路341
0Uによって行われ、該回路3410Uは第1ワードに
アドレスラッチ回路の第12ビット〜第25ビットにラ
ッチされたcommand kindデータを、第2ワードに内部の
レジスタにラッチされた“PID情報”を埋め込んで、
ユーザレベルの通信コマンドを生成する。そして、この
通信コマンドのデータ列をユーザ送信キュー346Aに
入力させる。また、該通信コマンドのデータ列のユーザ
送信キュー346Aへの入力の終了をcompare 回路34
20Uにより検出する(有効値のEnd bit の出力)。
When the processor 310 sequentially writes the data string of the communication command in the command entry area 150 at the user level, the SU flag signal line on the bus 130 is set to "0". As a result, the SU flag analysis unit 34
13 outputs the data string of the user level communication command output from the processor 310, which is latched by the data latch circuit 3411, to the circuit 3410U. As a result, the same operation as the circuit 3410S described above is performed by the circuit 341.
The circuit 3410U embeds the command kind data latched in the 12th to 25th bits of the address latch circuit in the first word and the "PID information" latched in the internal register in the second word. so,
Generate user level communication commands. Then, the data string of this communication command is input to the user transmission queue 346A. Further, the completion of the input of the data string of the communication command to the user transmission queue 346A is compared by the compare circuit 34.
Detected by 20U (end bit output of valid value).

【0122】尚、上記End bit は、上記ユーザレベルま
たはシステムレベルの送信コマンドの各ワードに付加し
てユーザ送信キュー346Aまたはシステム送信キュー
346Bに格納するようにしてもよい。これにより、送
信コントローラ342は各コマンドの終了を容易に検出
できる。また、不図示のカウンタを設け、該カウンタに
より上記送信キュー346Aまたは346Bに格納され
るパケット数を計数するために利用するようにしてもよ
い。
The End bit may be added to each word of the user level or system level transmission command and stored in the user transmission queue 346A or the system transmission queue 346B. This allows the transmission controller 342 to easily detect the end of each command. In addition, a counter (not shown) may be provided and used to count the number of packets stored in the transmission queue 346A or 346B.

【0123】次に、図9は、バスインタフェース341
内に設けられるリモートアクセス送信キュー346Cに
格納されるリモートアクセスの通信コマンドを生成する
装置を簡略化して示した図である。
Next, FIG. 9 shows the bus interface 341.
It is the figure which simplified and showed the apparatus which produces | generates the communication command of the remote access stored in the remote access transmission queue 346C provided inside.

【0124】プロセッサ310は、そのアドレス空間上
の予め定められたアドレス領域(リモートアクセス空
間)にアクセスする。このアクセスにおいて、バス13
0のアドレスバス上に出力する36ビットのアドレス信
号の最上位ビット(MSB)は“0”に設定する。ま
た、該アドレス信号の第25ビット〜第34ビットに
は、上記リモートアクセスコマンドの送信先のPE30
0(宛先PE300)の識別情報rcidを、第0ビット〜
第24ビットには、該宛先PE300のメモリ120上
のアドレスを設定する。したがって、アドレス信号の第
0ビット〜第34ビットによって特定PE300のメモ
リ120の特定アドレスにアクセスできる。
The processor 310 accesses a predetermined address area (remote access space) on the address space. In this access, bus 13
The most significant bit (MSB) of the 36-bit address signal output on the 0 address bus is set to "0". Further, in the 25th bit to the 34th bit of the address signal, the PE 30 which is the destination of the remote access command is transmitted.
The identification information rcid of 0 (destination PE 300) is the 0th bit to
The address on the memory 120 of the destination PE 300 is set in the 24th bit. Therefore, the specific address of the memory 120 of the specific PE 300 can be accessed by the 0th bit to the 34th bit of the address signal.

【0125】リモートアクセスコマンドには、プロセッ
サ310が他PE300のメモリ120の内容の参照、
更新を行う。さらには他PE300のメモリ120の内
容とデータを交換するなどの機能を実現するものがあ
り、これらは、それぞれバス130上のRD信号、WR
信号、及びLDST信号の各信号線によって指定され
る。
For the remote access command, the processor 310 refers to the contents of the memory 120 of another PE 300,
Update. Further, there are those that realize functions such as exchanging data with the contents of the memory 120 of the other PE 300.
It is designated by each signal line of the signal and the LDST signal.

【0126】リモートアクセスコマンド生成回路345
0は、データラッチ回路3411にラッチされるプロセ
ッサ310が上記リモートアクセス空間上のある領域に
対して書き込んだデータ、アドレスラッチ回路にラッチ
される該リモートアクセス空間上のアクセスアドレス、
及びバス130上のRD信号、WR信号、LDST信号
の状態を入力・解析して、内部に設けられた不図示のハ
ードウェアによりプロセッサ310が発行した当該リモ
ートアクセスの通信コマンド(リモートアクセスコマン
ド)を生成する。そして、生成したリモートアクセスコ
マンドをリモートアクセス送信キュー(Remote Access
Que)346Cに書き込む。また、該リモートアクセスコ
マンドの終了をEnd bit により通知する。尚、RD信号
によってリモートリードが、WR信号によってリモート
ライトが、LDST信号によってリモートスワップの各
コマンドが作成される。リモートライトコマンドの場合
には、データラッチ回路3411にラッチされるデータ
の上位ワードも下位ワードも共に有効である。そして、
この場合、リモートアクセス回路3450によってデー
タラッチ回路341から上位ワード、下位ワードの順で
読み出され、リモートアクセス送信キュー346Cへ書
き込まれる。
Remote access command generation circuit 345
0 is data written to a certain area in the remote access space by the processor 310 latched by the data latch circuit 3411, an access address in the remote access space latched by the address latch circuit,
Also, by inputting / analyzing the states of the RD signal, the WR signal, and the LDST signal on the bus 130, the communication command (remote access command) of the remote access issued by the processor 310 by the hardware (not shown) provided inside is transmitted. To generate. Then, the generated remote access command is sent to the remote access transmission queue (Remote Access
Que) Write to 346C. Also, the end of the remote access command is notified by End bit. Remote read commands are created by the RD signal, remote write commands by the WR signal, and remote swap commands by the LDST signal. In the case of the remote write command, both the upper word and the lower word of the data latched by the data latch circuit 3411 are valid. And
In this case, the remote access circuit 3450 reads out the upper word and the lower word in this order from the data latch circuit 341 and writes them in the remote access transmission queue 346C.

【0127】次に、図10は前記図6に示すユーザ通信
コマンド生成回路3410で不正なコマンドが生成(発
行)されないように保護する機構を設けたバスインタフ
ェース341の回路構成を示すブロック図である。同図
において、図6に示すブロックと同一のブロックには同
一の符号を付与しており、詳しい説明は省略する。
Next, FIG. 10 is a block diagram showing a circuit configuration of the bus interface 341 provided with a mechanism for protecting the user communication command generation circuit 3410 shown in FIG. 6 from generating (issuing) an illegal command. . In the figure, the same blocks as those shown in FIG. 6 are designated by the same reference numerals, and detailed description thereof will be omitted.

【0128】本実施例では、Parameter check 回路34
60を新たに付加している。Parameter check 回路34
60は、USRCNT回路3414Uからそのカウント値を入
力し、該カウント値が“1”であるときにcommand 回路
3415Uから該回路が生成したコマンドの第1ワード
のデータを入力する。そして、例えばそのデータの値を
検査し、その値が予め定められた範囲に収まっていない
不正な値である場合には、不正なコマンドが作成された
と判断し、error 信号をバス130を介してプロセッサ
310に出力する。
In this embodiment, the Parameter check circuit 34
60 is newly added. Parameter check circuit 34
The 60 inputs the count value from the USRCNT circuit 3414U, and when the count value is "1", inputs the data of the first word of the command generated by the circuit from the command circuit 3415U. Then, for example, the value of the data is inspected, and if the value is an illegal value that does not fall within a predetermined range, it is determined that an illegal command has been created, and an error signal is sent via the bus 130. Output to the processor 310.

【0129】これにより、プロセッサ310は、上記不
正コマンドが作成されたことに対する当該処理を実行す
る。次に、図11はメッセージパッシング機能により他
PE300宛のデータ転送を実現する受信コントローラ
345の構成例を示す図である。
As a result, the processor 310 executes the processing for the creation of the illegal command. Next, FIG. 11 is a diagram showing a configuration example of the reception controller 345 that realizes data transfer to another PE 300 by the message passing function.

【0130】受信コントローラ345は、上記メッセー
ジパッシング機能でのデータ転送以外に、転送データの
宛先を指定するデータ転送の機能もサポートしている。
図12に、本実施例で使用されるデータ転送等に係わる
コマンドの、フォーマットの例を示す。
The reception controller 345 also supports a data transfer function of designating a destination of transfer data, in addition to the data transfer by the message passing function.
FIG. 12 shows an example of the format of a command related to data transfer used in this embodiment.

【0131】このコマンドの第1ワードの第16ビット
〜第31ビットには宛先PE(Destination PE)の情報
が設定される。この宛先PEには、前記rcidが設定され
る。また、第0ビット〜第6ビットには、メッセージ種
類(Message kind)、AS(Source)、AS(Destination)
から成るコマンド種類を示す前記Command kindデータ一
部の情報が設定される。
Information of the destination PE (Destination PE) is set in the 16th bit to the 31st bit of the first word of this command. The rcid is set to this destination PE. Further, in the 0th bit to the 6th bit, a message kind (Message kind), AS (Source), AS (Destination)
Information of a part of the Command kind data indicating the command kind consisting of is set.

【0132】AS(Source)は、転送データの読み出し場
所を指定する情報が設定されるフィールドであり、2ビ
ットから成る。AS(Destination) は、転送されてくる
データの格納場所を指定する情報が設定されるフィール
ドであり、2ビットから成る。
AS (Source) is a field in which information designating a read location of transfer data is set, and is composed of 2 bits. AS (Destination) is a field in which information designating the storage location of transferred data is set, and is composed of 2 bits.

【0133】このASフィールドには、「00」または
「10」のいずれかの値が設定される。 00:Logical Memory 10:Ring Buffer リングバッファ(Ring Buffer) は、「メッセージパッシ
ング方式」での通信用に設けられた特別なバッファ領域
である。AS(destination) としてリングバッファ(Rin
g Buffer) を指定した場合には、宛先PE300におけ
るメモリ120上の転送先アドレスを指定する必要がな
い。
A value of "00" or "10" is set in this AS field. 00: Logical Memory 10: Ring Buffer A ring buffer (Ring Buffer) is a special buffer area provided for communication in the “message passing method”. Ring buffer (Rin) as AS (destination)
g Buffer), it is not necessary to specify the transfer destination address on the memory 120 in the destination PE 300.

【0134】一方、AS(destination) として“Logica
l Memory”を指定した場合には、宛先PE400に対し
てメモリ120上の転送データの格納アドレスを明示的
に指定する必要がある。
On the other hand, AS (destination) is "Logica
When “l Memory” is designated, it is necessary to explicitly designate the storage address of the transfer data on the memory 120 for the destination PE 400.

【0135】次に、“Message kind”について説明す
る。該Message kindは、その3ビット値によって下記の
ようなコマンドを指定する。
Next, the "Message kind" will be described. The Message kind specifies the following command by its 3-bit value.

【0136】000:PUT 001:GET 010:Remote Write 011:SWAP 100:CSI 101:FOP 111:No Header PUT:自PE300のメモリ120の内容を、他PE
400のメモリ120へ転送するデータ送信コマンド。
000: PUT 001: GET 010: Remote Write 011: SWAP 100: CSI 101: FOP 111: No Header PUT: The contents of the memory 120 of the self PE 300 are stored in another PE.
A data transmission command to be transferred to the memory 120 of 400.

【0137】GET:他PE300のメモリ120の内
容を、自PE400のメモリ120へ転送するまたは自
PE300のプロセッサ310に返すデータ受信コマン
ド(上記リモートリードコマンドに該当する)。
GET: A data reception command (corresponding to the above remote read command) that transfers the contents of the memory 120 of another PE 300 to the memory 120 of its own PE 400 or returns it to the processor 310 of its own PE 300.

【0138】Remote Write:自PE300
のプロセッサ310が、他PE300のメモリ120へ
データを書き込むコマンド(上記リモートライトコマン
ドに該当する)。
Remote Write: Own PE300
Command of the processor 310 of writing data to the memory 120 of another PE 300 (corresponding to the above remote write command).

【0139】SWAP:メモリ内容とデータの交換を行
うコマンド(上記リモートスワップコマンドに該当す
る)。 CSI(Compare and Swap Instruction):メモリ120
から内容を読み出し、これを指定された比較データと比
較する。そして、等しい場合はストアデータを対象メモ
リ120へ書き込む。最初に読み出されたメモリ120
の内容がリターンされる。
SWAP: A command for exchanging data between memory contents and data (corresponding to the above remote swap command). CSI (Compare and Swap Instruction): Memory 120
Read the contents from and compare this with the specified comparison data. If they are equal, the store data is written in the target memory 120. Memory 120 read first
The content of is returned.

【0140】FOP(Fetch and Operation) :メモリ1
20から内容を読み出し、それに対しパラメータで指定
される操作(and,orなどの論理演算)を施す。そ
して、該操作後のデータをメモリ120へ書き込む。最
初に読み込んだメモリ120の内容がリターンされる。
FOP (Fetch and Operation): Memory 1
The content is read from 20, and the operation (logical operation such as and, or) specified by the parameter is performed on the content. Then, the data after the operation is written in the memory 120. The contents of the memory 120 read first are returned.

【0141】No Header:メッセージのヘッダ
(コマンド部分)を作成しない特別なコマンド。データ
のみが送出される。 これらのコマンドの内、GET、Remote Wri
te、及びSWAPがリモートアクセスコマンドに該当
する。但し、GETの場合、受信データをメモリ120
に転送するものは、リモートアクセスコマンドに該当し
ない。
No Header: A special command that does not create a message header (command part). Only data is sent. Among these commands, GET and Remote Wri
te and SWAP correspond to the remote access command. However, in the case of GET, the received data is stored in the memory 120.
What is transferred to is not a remote access command.

【0142】図13は、リングバッファ領域120Bを
利用した「メッセージパッシング方式」によるデータ転
送と、転送データの格納先アドレスa,bを指定するデ
ータ転送方式の違いを説明する図である。
FIG. 13 is a diagram for explaining the difference between the data transfer by the "message passing method" using the ring buffer area 120B and the data transfer method for designating the storage destination addresses a and b of the transfer data.

【0143】同図(a) は、「メッセージパッシング方
式」によるデータ転送方法を説明刷る図である。「メッ
セージパッシング方式」によりデータA、Bを他PE3
00に転送する場合には、同図(a) に示すようにコマン
ドの直後に転送データA、Bが付加されたメッセージA
1,B1を宛先PE300に送信すればよい。すなわ
ち、宛先PE300のメモリ120上での格納アドレス
を指定する必要がない。そして、メッセージA1,B1
のデータA,Bは、到着順にメモリ120上に設けられ
たリングバッファ領域120Bに連続して格納される。
FIG. 14A is a diagram for explaining the data transfer method by the “message passing method”. Data A and B are transferred to other PE3 by "message passing method"
In the case of transfer to 00, message A in which transfer data A and B are added immediately after the command as shown in FIG.
1, B1 may be transmitted to the destination PE 300. That is, it is not necessary to specify the storage address of the destination PE 300 on the memory 120. And the messages A1 and B1
The data A and B are sequentially stored in the ring buffer area 120B provided on the memory 120 in the order of arrival.

【0144】一方、同図(b) に示す「メッセージパッシ
ング方式」によらないデータ転送の場合には、同一のデ
ータA,Bを他PE300に転送する際、メッセージA
2,B2において宛先PE300のメモリ120上での
上記データA、Bの格納アドレスa,bを明示的に指定
する必要がある。上記宛先PE300は、メッセージA
2,B2を受信すると、それらのメッセージA,Bで指
定されている自メモリ120上のアドレスa,bに、デ
ータA,Bを格納する。
On the other hand, in the case of data transfer not according to the "message passing method" shown in FIG. 9B, when transferring the same data A and B to another PE 300, the message A
2 and B2, it is necessary to explicitly specify the storage addresses a and b of the data A and B on the memory 120 of the destination PE 300. The destination PE 300 is the message A
When 2 and B2 are received, the data A and B are stored in the addresses a and b on the own memory 120 designated by the messages A and B.

【0145】図14に、上記リモートリードコマンド、
リモートライトコマンド、及びリモートスワップコマン
ドの各リモートアクセスコマンドを発行するメッセージ
の第1ワード目に設定されるコマンド種類の情報の内容
を示す。
FIG. 14 shows the remote read command,
The contents of the command type information set in the first word of the message for issuing each remote access command of the remote write command and the remote swap command are shown.

【0146】次に、図11に示す受信コントローラ34
5の構成と動作を説明する。コマンド解釈装置3451
は、マルチプレクサ345を介してメッセージを受信す
る。そして、該受信したメッセージの第1ワードのAS
(destination) 情報を参照して、メッセージのデータの
格納先を判断する。そして、該AS(destination) 情報
の値が「00」すなわち“Logical Memory”指定となっ
ているならば、受信メッセージに設定されているデータ
格納アドレスや転送データ数などのパラメータをDMA
コントローラ3452に設定し、該DMAコントローラ
3452を起動する。これにより、DMAコントローラ
3452は、バスインタフェース341を介してメモリ
120上の当該領域に受信メッセージのデータを転送す
る。
Next, the reception controller 34 shown in FIG.
The configuration and operation of No. 5 will be described. Command interpreter 3451
Receives the message via multiplexer 345. And the AS of the first word of the received message
(destination) Determine the storage location of message data by referring to the information. If the value of the AS (destination) information is "00", that is, "Logical Memory" is specified, the parameters such as the data storage address and the transfer data number set in the received message are DMAed.
The controller 3452 is set and the DMA controller 3452 is activated. As a result, the DMA controller 3452 transfers the data of the received message to the relevant area on the memory 120 via the bus interface 341.

【0147】一方、コマンド解釈装置3451は、上記
受信メッセージのAS(destination) 情報の値が「1
0」すなわち“Ring Buffer ”指定となっていれば、リ
ングバッファ管理装置3453に受信メッセージのデー
タの転送を要求する。
On the other hand, the command interpreter 3451 determines that the value of the AS (destination) information of the received message is "1".
If "0", that is, "Ring Buffer" is designated, the ring buffer management device 3453 is requested to transfer the data of the received message.

【0148】該リングバッファ管理装置3453は、メ
モリ120上のリングバッファ領域120Bの次のデー
タの格納アドレスが設定される書き込みポインタ(Writ
e pointer)34531を備えており、シーケンサ345
32により該書き込みポインタ34531の値を更新し
ながら、リングバッファ領域120Bに連続して受信メ
ッセージのデータを転送する。また、リングバッファ管
理装置3453は、読み出しポインタ34533と比較
器34534を備えている。
The ring buffer management device 3453 uses the write pointer (Writ) to which the storage address of the next data in the ring buffer area 120B on the memory 120 is set.
E-pointer) 34531, sequencer 345
While updating the value of the write pointer 34531 by 32, the data of the received message is continuously transferred to the ring buffer area 120B. The ring buffer management device 3453 includes a read pointer 34533 and a comparator 34534.

【0149】読み出しポインタ34533には、上記リ
ングバッファ領域120Bから次に読み出すデータのア
ドレスが設定される。この読み出しポインタ34533
の更新は、プロセッサ310によって行われる。比較器
34534は、上記両ポインタ34531、34532
の値を比較して、両ポインタがリングバッファ領域12
0Bの隣接するアドレスを指定している場合には、リン
グバッファ領域120Bが満杯であることを示すバッフ
ァフル信号をアクティブにしてバスインタフェース34
1に出力する。バスインタフェース341は、該アクテ
ィブとなったバッファフル信号をバス130を介してプ
ロセッサ310に割り込み信号として出力する。
In the read pointer 34533, the address of the data to be read next from the ring buffer area 120B is set. This read pointer 34533
Are updated by the processor 310. The comparator 34534 uses the pointers 34531 and 34532 for both the pointers.
Of the ring buffer area 12 by comparing the values of
When the adjacent address of 0B is designated, the buffer full signal indicating that the ring buffer area 120B is full is activated to activate the bus interface 34.
Output to 1. The bus interface 341 outputs the activated buffer full signal to the processor 310 via the bus 130 as an interrupt signal.

【0150】上記リングバッファ管理装置3453は、
コマンド解釈装置3451やバスインタフェース341
と連携して動作し、その回路規模も小さくして済むた
め、受信コントローラ345全体のハードウェア量の増
加は少なくて済む。
The ring buffer management device 3453 is
Command interpreter 3451 and bus interface 341
Since it operates in cooperation with and the circuit scale thereof can be reduced, the increase in the hardware amount of the entire reception controller 345 can be small.

【0151】本実施例でPE300のプロセッサ310
がリモートアクセスコマンド以外の通信コマンドを発行
するために実行するプログラムの一例を下記に示す。下
記の例は、前記PUTコマンドを発行するプログラムで
ある。
In this embodiment, the processor 310 of the PE 300 is used.
The following shows an example of a program that is executed to issue a communication command other than the remote access command. The following example is a program that issues the PUT command.

【0152】putaddrは、コマンドエントリ領域
150上のPUTコマンドに割り当てられたアドレスで
ある。 put(宛先PE,ソースアドレス,サイズ,宛先アドレス,その他の パラメータ1,その他のパラメータ2・・・) { putaddrに<宛先PE>を書く。
Putaddr is an address assigned to the PUT command on the command entry area 150. put (destination PE, source address, size, destination address, other parameter 1, other parameter 2 ...) {Write <destination PE> in putaddr.

【0153】putaddrに<サイズ>を書く。 putaddrに<宛先アドレス>を書く。 putaddrに<ソースアドレス>を書く。Write <size> in putaddr. Write <destination address> in putaddr. Write <source address> in putaddr.

【0154】 putaddrに<その他パラメータ1>を書く。 putaddrに<その他パラメータ2>を書く。 ・・・ } 尚、上記宛先PEとして自PE300を指定することも
可能である。
Write <other parameter 1> in putaddr. Write <other parameter 2> in putaddr. ...} The own PE 300 can be designated as the destination PE.

【0155】[0155]

【発明の効果】請求項1記載の発明において、プロセッ
サは、所望のコマンドを発行する際、自己のアドレス空
間内に特定領域として設けられるコマンドエントリ領域
の上記所望のコマンドに対して予め割り当てられたアド
レスに該コマンドのパラメータ等を書き込めばよい。し
たがって、上記コマンドエントリ領域にユーザレベルの
コマンドを発行するためのアドレス領域を割り当て、該
コマンドエントリ領域をメモリプロテクト機能により保
護することにより、プロセッサがユーザレベルでコマン
ドを発行することが可能になる。また、これによりコマ
ンド発行時にシステムレベルへ移行する必要がなくなる
のでオーバーヘッドを削減できる。
According to the first aspect of the present invention, when issuing a desired command, the processor is pre-allocated to the desired command in the command entry area provided as a specific area in its own address space. The parameters of the command may be written in the address. Therefore, by allocating an address area for issuing a user level command to the command entry area and protecting the command entry area by the memory protect function, the processor can issue a command at the user level. Further, this eliminates the need to shift to the system level when issuing a command, so that the overhead can be reduced.

【0156】請求項2記載の発明では、受信コントロー
ラは、受信メッセージのコマンドにデータの格納先とし
て予め定められた特別なバッファ領域が指定されていた
場合、上記データを、前記バスインタフェース31を介
して該バッファ領域に格納するので、メッセージにデー
タの格納先を明示的に設定する必要がなくなり、メッセ
ージパッシング方式でのデータ転送が可能になる。ま
た、このデータ転送を実現するためのハードウェアを、
受信コントローラに設けたとしても、送受信機構の大部
分を共有できるためハードウェア量の増加を少なく抑え
ることができる。
According to the second aspect of the present invention, the reception controller sends the above-mentioned data to the command of the received message via the bus interface 31 when a predetermined special buffer area is designated as a storage destination of the data. Since the data is stored in the buffer area according to the above, it is not necessary to explicitly set the data storage destination in the message, and the data can be transferred by the message passing method. In addition, the hardware to realize this data transfer,
Even if it is provided in the reception controller, since most of the transmission / reception mechanism can be shared, an increase in the amount of hardware can be suppressed.

【0157】請求項3記載の発明では、自プロセッサ要
素のメモリ12の内容を他のプロセッサ要素10へ転送
することを要求するコマンドが受信コントローラ34に
より受信されると、該コマンドは、前記送信コントリー
ラ32へ伝達される。
According to the third aspect of the present invention, when a command requesting to transfer the contents of the memory 12 of the own processor element to another processor element 10 is received by the reception controller 34, the command is transmitted to the transmission controller. 32 is transmitted.

【0158】したがって、返信コマンドの処理を送信コ
ントローラ32により実行でき、ハードウェアの量を削
減できる。請求項4記載の発明では、バスインタフェー
ス31は生成したコマンドを直ちにコマンドキュー35
に書き込むことができるので、複数のコマンドを送信コ
ントローラ32のコマンド処理の終了を待たずに、連続
して発行することが可能となり、処理効率が向上する。
Therefore, the processing of the reply command can be executed by the transmission controller 32, and the amount of hardware can be reduced. In the invention according to claim 4, the bus interface 31 immediately transmits the generated command to the command queue 35.
Since the plurality of commands can be continuously written without waiting for the command processing of the transmission controller 32 to end, the processing efficiency is improved.

【0159】請求項5記載の発明では、プロセッサのア
ドレス空間上の一部の領域を、リモートアクセスコマン
ド発行用の領域として予め割り当てておくことにより、
前記バスインタフェース31に設けたハードウェアより
リモートアクセスコマンドを生成できる。したがって、
少量のハードウェアの付加により、リモートアクセス機
能を実現できる。
According to the fifth aspect of the present invention, a part of the area of the address space of the processor is allocated in advance as an area for issuing a remote access command.
Remote access commands can be generated from the hardware provided in the bus interface 31. Therefore,
The remote access function can be realized by adding a small amount of hardware.

【0160】請求項6記載の発明によれば、前記バスイ
ンタフェース31は、生成したリモートアクセスコマン
ドをリモートアクセス送信キュー35Aに書き込む。し
たがって、複数のリモートアクセスコマンドを送信コン
トローラ32のコマンド処理の終了を待たずに、連続し
て発行することが可能になる。
According to the invention described in claim 6, the bus interface 31 writes the generated remote access command in the remote access transmission queue 35A. Therefore, it becomes possible to issue a plurality of remote access commands continuously without waiting for the completion of the command processing of the transmission controller 32.

【0161】請求項7記載の発明によれば、バスインタ
フェースは、前記プロセッサがコマンドエントリ領域に
コマンドデータ列を書き込んだときの走行レベルに従っ
てシステムモードの送信コマンドまたはユーザモードの
送信コマンドを生成する。
According to the seventh aspect of the invention, the bus interface generates a system mode transmission command or a user mode transmission command according to the running level when the processor writes the command data string in the command entry area.

【0162】したがって、プロセッサは、システムモー
ドのコマンドとユーザモードのコマンドの発行を、その
走行レベルによって制御することができる。請求項8記
載の発明によれば、前記バスインタフェースによって、
前記システムモード及びユーザモードの送信コマンド
が、それぞれシステム送信キューと、ユーザ送信キュー
に書き込まれる。
Therefore, the processor can control the issuance of the system mode command and the user mode command according to the running level. According to the invention of claim 8, by the bus interface,
The system mode and user mode transmission commands are written in the system transmission queue and the user transmission queue, respectively.

【0163】したがって、送信コントローラがシステム
送信キューとユーザ送信キューのいずれの方から優先的
に送信コマンドを取り出すかを予め決めておくことによ
り、システムモードの通信コマンドとユーザモードの通
信コマンドの処理に優先順位を付けることができる。ま
た、システムモードの通信コマンドとユーザモードの通
信コマンドは、互いに別々のキューに格納されるため、
プロセッサの走行レベルがユーザがユーザレベルとシス
テムレベルとの間で頻繁に切り替わっても、ユーザモー
ドの通信コマンドとシステムモードの通信コマンドは当
該キューに正しく格納される。このため、プロセッサは
上記2つのコマンドを随時、独立に発行することができ
る。
Therefore, by determining in advance which of the system transmission queue and the user transmission queue the transmission command is to be extracted, the transmission controller can process the system mode communication command and the user mode communication command. Can be prioritized. Also, system mode communication commands and user mode communication commands are stored in separate queues, so
Even if the running level of the processor is frequently switched by the user between the user level and the system level, the user mode communication command and the system mode communication command are correctly stored in the queue. Therefore, the processor can issue the above two commands independently at any time.

【0164】請求項9記載の発明によれば、転送手段に
より、前記送信コントローラにより構築された自プロセ
ッサ要素内で処理が完結されるコマンドのメッセージ
は、前記相互完結網インタフェースを介さずに前記受信
コントローラに転送される。
According to the invention described in claim 9, the message of the command whose processing is completed in the own processor element constructed by the transmission controller by the transfer means is received by the transfer means without passing through the mutual completion network interface. It is transferred to the controller.

【0165】したがって、自プロセッサ要素内で完結す
る処理を高速に行うことができる。請求項10記載の発
明によれば、前記転送手段を介して受信コントローラに
より受け取られる自プロセッサ要素のメモリのある領域
に格納されているデータの転送を要求する通信コマンド
に対する返信コマンドは、前記受信コントローラによっ
て返信キューに書き込まれる。
Therefore, the processing completed within the own processor element can be performed at high speed. According to the tenth aspect of the invention, the reply command to the communication command requesting the transfer of the data stored in the area of the memory of the own processor element received by the receiving controller via the transfer means is the receiving controller. Written to the reply queue.

【0166】したがって、受信コントローラは、上記返
信コマンドを送信コントローラの処理の終了を待たず
に、連続して発行することができる。請求項11記載の
発明によれば、前記受信コントローラが、前記相互結合
網インタフェースを介して受け取ったリモートアクセス
コマンドの設定されたメッセージに対する返信コマンド
が、前記受信コントローラによってリモートアクセス返
信キューに書き込まれる。
Therefore, the receiving controller can continuously issue the reply command without waiting for the completion of the processing of the transmitting controller. According to the eleventh aspect of the invention, the reply command to the message for which the remote access command is set, which is received by the receiving controller via the mutual connection network interface, is written in the remote access reply queue by the receiving controller.

【0167】したがって、受信コントローラは、相互結
合網インタフェースを介して受け取った返信メッセージ
を要するリモートアクセスコマンドに対する返信コマン
ドを、送信コントローラの処理の終了を待たずに連続し
て出力することができる。
Therefore, the receiving controller can continuously output the reply command to the remote access command requiring the reply message received via the mutual connection network interface without waiting for the completion of the processing of the sending controller.

【0168】請求項12記載の発明によれば、前記バス
インタフェースにより、前記プロセッサが前記コマンド
エントリ領域に書き込むコマンドデータ列のアドレスに
よって、コマンドの種類が決定される。
According to the twelfth aspect of the invention, the type of command is determined by the bus interface according to the address of the command data string written in the command entry area by the processor.

【0169】したがって、コマンドエントリ領域をユー
ザコマンド発行用の領域とシステムコマンド発行用の領
域に分割できる。また、請求項13記載の発明によれ
ば、メモリ保護手段により、前記プロセッサが、ユーザ
レベルで走行しているときに前記コマンドデータ列を書
き込み可能な前記コマンドエントリ領域内の領域を、一
部の領域に制限することができる。
Therefore, the command entry area can be divided into an area for issuing a user command and an area for issuing a system command. According to the thirteenth aspect of the present invention, a part of the area in the command entry area in which the processor can write the command data string when running at the user level is protected by the memory protection means. Can be limited to areas.

【0170】したがって、ユーザレベルで発行できるコ
マンドの種類を制限させることができる。請求項14記
載の発明によれば、バスインタフェースは、検出手段に
より、前記プロセッサが前記コマンドエントリ領域に対
して書き込むコマンドの種類に応じて、該コマンドエン
トリ領域に書き込まれるコマンドデータの数を計数し
て、該コマンドデータ列の終了を検出する。
Therefore, the types of commands that can be issued at the user level can be restricted. According to the fourteenth aspect of the present invention, the bus interface counts the number of command data written in the command entry area according to the type of the command written in the command entry area by the processor by the detection means. Then, the end of the command data string is detected.

【0171】したがって、この検出情報を用いることに
より、キューに格納されているまだ未完結のコマンドの
発行を抑えることができる。また、コマンドの種類に応
じて複数のキューが用意されている場合には、完結して
いるコマンドが格納されているキューから完結している
コマンドを取り出して処理すればよいので、余分な待ち
時間を削減でき処理効率が向上する。
Therefore, by using this detection information, it is possible to suppress the issuance of uncompleted commands stored in the queue. Also, if multiple queues are prepared according to the type of command, it is sufficient to retrieve the completed command from the queue that stores the completed command and process it. Can be reduced and the processing efficiency can be improved.

【0172】請求項15記載の発明によれば、バスイン
タフェースは、チェック手段により、前記コマンドデー
タの計数値を基に、前記コマンドデータ列のある部分の
正当性をチェックする。
According to the fifteenth aspect of the invention, the bus interface checks the validity of a portion of the command data string based on the count value of the command data by the checking means.

【0173】したがって、不正なコマンドの発行を防止
できる。また、請求項16記載の発明によれば、バスイ
ンタフェースは、情報付加手段により、前記コマンドデ
ータの計数値を基に、前記コマンドデータ列のある部分
にシステムで使用される情報を付加する。
Therefore, the issuance of an illegal command can be prevented. According to the sixteenth aspect of the invention, the bus interface adds the information used in the system to a certain portion of the command data string based on the count value of the command data by the information adding means.

【0174】したがって、コマンドデータ列の任意の部
分に種々の情報を埋め込むことができる。
Therefore, various information can be embedded in any part of the command data string.

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

【図1】本発明の原理図を説明する図である。FIG. 1 is a diagram illustrating a principle diagram of the present invention.

【図2】本発明の第1の実施例のプロセッサ要素の全体
構成を示すブロック図である。
FIG. 2 is a block diagram showing an overall configuration of a processor element according to the first exemplary embodiment of the present invention.

【図3】コマンドエントリ領域の概念を説明する図であ
る。
FIG. 3 is a diagram illustrating the concept of a command entry area.

【図4】本発明の第2実施例のプロセッサ要素の全体構
成を示すブロック図である。
FIG. 4 is a block diagram showing an overall configuration of a processor element according to a second embodiment of the present invention.

【図5】本発明の第3実施例のプロセッサ要素の全体構
成を示すブロック図である。
FIG. 5 is a block diagram showing an overall configuration of a processor element according to a third embodiment of the present invention.

【図6】上記第3実施例のバスインタフェースにおける
システムコマンド及びユーザコマンドを生成する部分の
回路構成を示すブロック図である。
FIG. 6 is a block diagram showing a circuit configuration of a portion for generating a system command and a user command in the bus interface of the third embodiment.

【図7】上記第3実施例において、プロセッサがデータ
バス上に出力するコマンドデータ列のフォーマットを説
明する図である。
FIG. 7 is a diagram illustrating a format of a command data string output by the processor on the data bus in the third embodiment.

【図8】上記第3実施例においてバスインタフェースに
よって生成されるシステムレベルの通信コマンドのフォ
ーマットを説明する図である。
FIG. 8 is a diagram illustrating a format of a system level communication command generated by a bus interface in the third embodiment.

【図9】上記第3実施例内のバスインタフェースにおけ
るリモートアクセスコマンドを生成する部分の概略構成
を示すブロック図である。
FIG. 9 is a block diagram showing a schematic configuration of a portion for generating a remote access command in the bus interface in the third embodiment.

【図10】パラメータチェック機能が付加されたバスイ
ンタフェースの回路構成を示すブロック図である。
FIG. 10 is a block diagram showing a circuit configuration of a bus interface to which a parameter check function is added.

【図11】上記第3実施例におけるメッセージパッシン
グ方式でのデータ転送機能を備えた受信コントローラの
回路構成を示すブロック図である。
FIG. 11 is a block diagram showing a circuit configuration of a reception controller having a data transfer function in a message passing system in the third embodiment.

【図12】リモートアクセスコマンドのフォーマットを
示す図である。
FIG. 12 is a diagram showing a format of a remote access command.

【図13】メッセージパッシング方式でのデータ転送方
法と、これ以外でのデータ転送方法を説明する図であ
る。
FIG. 13 is a diagram illustrating a data transfer method using a message passing method and a data transfer method other than this.

【図14】リモートリードコマンド、リモートライトコ
マンド、及びリモートスワップコマンドを発行するメッ
セージの第1ワード目に設定されるコマンド種類情報の
内容を示す図である。
FIG. 14 is a diagram showing the contents of command type information set in the first word of a message that issues a remote read command, a remote write command, and a remote swap command.

【図15】並列計算機の全体構成を説明する図である。FIG. 15 is a diagram illustrating an overall configuration of a parallel computer.

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

10 プロセッサ要素 11 プロセッサ 12 メモリ 20 相互通信網 30 通信制御装置 31 バスインタフェース 31A 検出手段 31B チェック手段 31C 情報付加手段 32 送信コントローラ 33 相互結合網インタフェース 34 受信コントローラ 35 コマンドキュー 35A リモートアクセス送信キュー 35B システム送信キュー 35C ユーザ送信キュー 35D 返信キュー 35E リモートアクセス送信キュー 10 processor elements 11 processor 12 memory 20 mutual communication network 30 communication control device 31 bus interface 31A detecting means 31B checking means 31C information adding means 32 transmission controller 33 mutual coupling network interface 34 reception controller 35 command queue 35A remote access transmission queue 35B system transmission Queue 35C User send queue 35D Reply queue 35E Remote access send queue

───────────────────────────────────────────────────── フロントページの続き (72)発明者 清水 俊幸 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 石畑 宏明 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Toshiyuki Shimizu 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Hiroaki Ishihata 1015, Kamikodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサ要素(10)が相互結
合網(20)を介して結合される並列計算機システム
で、各プロセッサ要素(10)に実装される通信制御装
置(30)において、 プロセッサ要素(10)内のプロセッサ(11)による
予め定められたコマンドエントリ領域に対するコマンド
データ列の書き込みを検出し、上記コマンドデータ列か
らコマンドを生成すると共に、自プロセッサ要素(1
0)のメモリ(12)に対するデータの読み出し/書き
込みを制御するバスインタフェース(31)と、 該バスインタフェース(31)により生成されたコマン
ドを解釈して、送信メッセージを構築する送信コントロ
ーラ(32)と、 該送信コントローラ(32)によって構築された送信メ
ッセージを前記相互結合網(20)へ送出すると共に、
前記相互結合網(20)から自プロセッサ要素(10)
宛のメッセージを受信する相互結合網インタフェース
(33)と、 該相互結合網インタフェース(33)によって受信され
たメッセージを解釈し、該メッセージによって転送され
てきたデータを、前記バスインタフェース(31)を介
して自プロセッサ要素(10)のメモリ(12)の指定
された領域に格納する受信コントローラ(34)と、 を備えたことを特徴とする通信制御装置。
1. A parallel computer system in which a plurality of processor elements (10) are connected via an interconnection network (20), in a communication control device (30) mounted in each processor element (10), a processor element The writing of the command data string to the predetermined command entry area by the processor (11) in (10) is detected, the command is generated from the command data string, and the self processor element (1
0) a bus interface (31) for controlling reading / writing of data from / to the memory (12), and a transmission controller (32) for interpreting a command generated by the bus interface (31) and constructing a transmission message. Sending a send message constructed by the send controller (32) to the interconnection network (20),
From the mutual connection network (20) to its own processor element (10)
An interconnection network interface (33) for receiving a message addressed to the interconnection interface, interprets the message received by the interconnection network interface (33), and transfers the data transferred by the message via the bus interface (31). And a reception controller (34) for storing in a designated area of a memory (12) of its own processor element (10).
【請求項2】 前記受信コントローラ(34)は、受信
したメッセージのコマンドにデータの格納先として予め
定められた特別なバッファ領域が指定されていた場合、
上記受信メッセージのデータを、前記バスインタフェー
ス(31)を介して該バッファ領域に格納することを、 特徴とする請求項1記載の通信制御装置。
2. The reception controller (34), when a special buffer area predetermined as a data storage destination is designated in the command of the received message,
The communication control device according to claim 1, wherein the data of the received message is stored in the buffer area via the bus interface (31).
【請求項3】 前記受信コントローラ(34)は、自プ
ロセッサ要素(10)のメモリ(12)の内容を他のプ
ロセッサ要素(10)へ転送することを要求するコマン
ドを受信した場合、該コマンドを前記送信コントローラ
(32)へ伝達し、 該送信コントローラ(32)は、上記コマンドを受け取
ると前記バスインタフェース(31)を介して自プロセ
ッサ要素(10)のメモリ(12)から上記コマンドに
より要求されたデータを読み出し、該データを送信する
メッセージを、構築すること、 を特徴とする請求項1記載の通信制御装置。
3. The reception controller (34), when receiving a command requesting to transfer the contents of the memory (12) of its own processor element (10) to another processor element (10), When transmitted to the transmission controller (32), the transmission controller (32) receives the command and is requested by the command from the memory (12) of its own processor element (10) via the bus interface (31). The communication control apparatus according to claim 1, wherein the data is read and a message for transmitting the data is constructed.
【請求項4】 前記バスインタフェース(31)によっ
て生成されたコマンドが書き込まれるコマンドキュー
(35)を、 さらに備えたことを特徴とする請求項1記載の通信制御
装置。
4. The communication control device according to claim 1, further comprising a command queue (35) in which a command generated by the bus interface (31) is written.
【請求項5】 前記バスインタフェース(31)は、前
記プロセッサ(11)によるあるアドレス領域に対する
アクセスを検出したときは、前記プロセッサ(11)が
他のプロセッサ要素(10)のメモリ(12)をアクセ
スするリモートアクセスコマンドを生成する機構を備え
ること、 を特徴とする請求項3記載の通信制御装置。
5. When the bus interface (31) detects an access to a certain address area by the processor (11), the processor (11) accesses the memory (12) of another processor element (10). The communication control device according to claim 3, further comprising a mechanism for generating a remote access command for performing the communication.
【請求項6】 前記バスインタフェース(31)によっ
て生成された前記リモートアクセスコマンドが書き込ま
れるリモートアクセス送信キュー(35A)を、 さらに備えることを特徴とする請求項5記載の通信制御
装置。
6. The communication control device according to claim 5, further comprising a remote access transmission queue (35A) in which the remote access command generated by the bus interface (31) is written.
【請求項7】 前記バスインタフェース(31)は、前
記プロセッサ(11)がシステムレベルで走行している
ときに前記コマンドエントリ領域に書き込んだコマンド
データ列からシステムモードの通信コマンドを生成し、
前記プロセッサ(11)がユーザレベルで走行している
ときに前記コマンドエントリ領域に書き込んだコマンド
データ列からユーザモードの通信コマンドを生成するこ
と、 を特徴とする請求項1記載の通信制御装置。
7. The bus interface (31) generates a system mode communication command from a command data string written in the command entry area when the processor (11) is running at a system level,
The communication control device according to claim 1, wherein a communication command in a user mode is generated from a command data string written in the command entry area when the processor (11) is running at a user level.
【請求項8】 前記バスインタフェース(31)によっ
て生成される前記システムモードの通信コマンドが書き
込まれるシステム送信キュー(35B)と、前記ユーザ
モードの通信コマンドが書き込まれるユーザ送信キュー
(35C)を、 さらに備え、 前記送信コントローラ(32)は、前記システム送信キ
ュー(35B)またはユーザ送信キュー(35C)から
通信コマンドを取り出して該通信コマンドを実行するこ
と、 を特徴とする請求項7記載の通信制御装置。
8. A system transmission queue (35B) in which the communication command in the system mode generated by the bus interface (31) is written, and a user transmission queue (35C) in which the communication command in the user mode is written. The communication control device according to claim 7, further comprising: the transmission controller (32) extracting a communication command from the system transmission queue (35B) or the user transmission queue (35C) and executing the communication command. .
【請求項9】 前記送信コントローラ(32)により構
築された自プロセッサ要素(10)内で処理が完結され
るコマンドのメッセージを、前記相互結合網インタフェ
ース(33)を介さずに前記受信コントローラ(34)
に転送する転送手段(36)を、 さらに備えたことを特徴とする請求項1記載の通信制御
装置。
9. The reception controller (34) sends a message of a command whose processing is completed in its own processor element (10) constructed by the transmission controller (32) without passing through the mutual connection network interface (33). )
2. The communication control device according to claim 1, further comprising a transfer unit (36) for transferring to the.
【請求項10】 前記受信コントローラ(34)が、前
記転送手段(36)を介して受け取った、自プロセッサ
要素(10)のメモリ(12)のある領域に格納されて
いるデータの転送を要求する通信コマンドの設定された
メッセージに対する返信コマンドが、前記受信コントロ
ーラ(34)によって書き込まれる返信キュー(35
D)を、 さらに備え、 前記送信コントローラ(32)は、該返信キューから前
記通信コマンドを取り出し、前記バスインタフェース
(31)を介して前記通信コマンドの実行を行う、 ことを特徴とする請求項9記載の通信制御装置。
10. The reception controller (34) requests transfer of data received via the transfer means (36) and stored in an area of a memory (12) of its own processor element (10). A reply queue (35) in which a reply command to a message for which a communication command is set is written by the reception controller (34).
D) is further provided, The said transmission controller (32) takes out the said communication command from the said reply queue, and performs the said communication command via the said bus interface (31), The said 9 characterized by the above-mentioned. The communication control device described.
【請求項11】 前記受信コントローラ(34)が、前
記相互結合網インタフェース(33)を介して受け取っ
た、他のプロセッサ要素(10)から発行された自プロ
セッサ要素(10)のメモリ(12)内容の参照を要求
するリモートアクセスコマンドの設定されたメッセージ
に対する返信コマンドが、前記受信コントローラ(3
4)よって書き込まれるリモートアクセス返信キュー
(35E)を、さらに備え、 前記送信コントローラ(32)は、該リモートアクセス
返信キュー(35E)から前記リモートアクセスコマン
ドを取り出し、前記バスインタフェース(31)を介し
て前記リモートアクセスコマンドによって要求された自
プロセッサ要素(10)のメモリ(12)の内容を読み
出して、前記他のプロセッサ要素(10)宛の送信メッ
セージを構築すること、 を特徴とする請求項1記載の通信制御装置。
11. The memory (12) contents of its own processor element (10), issued from another processor element (10), received by the reception controller (34) via the mutual connection network interface (33). The reply command to the message in which the remote access command requesting the reference of
4) A remote access reply queue (35E) written by the above is further provided, and the transmission controller (32) extracts the remote access command from the remote access reply queue (35E), and through the bus interface (31). 2. The content of the memory (12) of the own processor element (10) requested by the remote access command is read to construct a transmission message addressed to the other processor element (10). Communication control device.
【請求項12】 前記バスインタフェース(31)は、
前記プロセッサ(10)が前記コマンドエントリ領域に
書き込むコマンドデータ列のアドレスによって、コマン
ドの種類を決定すること、 を特徴とする請求項1記載の通信制御装置。
12. The bus interface (31) comprises:
The communication control device according to claim 1, wherein the processor (10) determines the type of command according to an address of a command data string written in the command entry area.
【請求項13】 前記プロセッサ(11)が、ユーザレ
ベルで走行しているときに前記コマンドデータ列を書き
込み可能な前記コマンドエントリ領域内での領域を制限
するメモリ保護手段(37)を、 さらに備えることを特徴とする請求項12記載の通信制
御装置。
13. The processor (11) further comprises memory protection means (37) for limiting an area in the command entry area in which the command data string can be written when running at a user level. 13. The communication control device according to claim 12, wherein:
【請求項14】 前記バスインタフェース(31)は、
前記プロセッサ(11)が前記コマンドエントリ領域に
対して書き込むコマンドの種類に応じて、該コマンドエ
ントリ領域に書き込まれるコマンドデータの数を計数し
て、該コマンドデータ列の終了を検出する検出手段(3
1A)を、 備えることを特徴とする請求項1,4,6,8,10,
または11記載の通信制御装置。
14. The bus interface (31) comprises:
A detection unit (3) that detects the end of the command data string by counting the number of command data written in the command entry area according to the type of command written by the processor (11) into the command entry area.
1A) is provided, Claims 1, 4, 6, 8, 10,
Alternatively, the communication control device according to item 11.
【請求項15】 前記バスインタフェース(31)は、
前記コマンドデータの計数値を基に、前記コマンドデー
タ列のある部分の正当性をチェックするチェック手段
(31B)を、 さらに備えることを特徴とする請求項14記載の通信制
御装置。
15. The bus interface (31) comprises:
15. The communication control device according to claim 14, further comprising a check unit (31B) for checking the validity of a portion of the command data string based on the count value of the command data.
【請求項16】 前記バスインタフェース(31)は、
前記コマンドデータの計数値を基に、前記コマンドデー
タ列のある部分にシステムで使用される情報を付加する
情報付加手段(31C)を、 さらに備えることを特徴とする請求項14記載の通信制
御装置。
16. The bus interface (31) comprises:
15. The communication control device according to claim 14, further comprising an information adding unit (31C) for adding information used in the system to a certain portion of the command data string based on the count value of the command data. .
JP16848394A 1994-07-20 1994-07-20 Communication control device implemented in processor element of parallel computer Expired - Fee Related JP3701988B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP16848394A JP3701988B2 (en) 1994-07-20 1994-07-20 Communication control device implemented in processor element of parallel computer
US08/503,916 US5742843A (en) 1994-07-20 1995-07-19 Control system for access between processing elements in a parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16848394A JP3701988B2 (en) 1994-07-20 1994-07-20 Communication control device implemented in processor element of parallel computer

Publications (2)

Publication Number Publication Date
JPH0830566A true JPH0830566A (en) 1996-02-02
JP3701988B2 JP3701988B2 (en) 2005-10-05

Family

ID=15868936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16848394A Expired - Fee Related JP3701988B2 (en) 1994-07-20 1994-07-20 Communication control device implemented in processor element of parallel computer

Country Status (1)

Country Link
JP (1) JP3701988B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342299A (en) * 2001-05-18 2002-11-29 Nec Corp Cluster system, computer and program
JP2009245005A (en) * 2008-03-28 2009-10-22 Fujitsu Ltd Data processor, data processing method and data processing program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342299A (en) * 2001-05-18 2002-11-29 Nec Corp Cluster system, computer and program
JP2009245005A (en) * 2008-03-28 2009-10-22 Fujitsu Ltd Data processor, data processing method and data processing program

Also Published As

Publication number Publication date
JP3701988B2 (en) 2005-10-05

Similar Documents

Publication Publication Date Title
US6125399A (en) Computer system including a plurality of nodes for transferring through a data transfer network messages having distinguishing fields used for distinguishing the messages and controlling receipt thereof
US5742843A (en) Control system for access between processing elements in a parallel computer
US6363438B1 (en) Method of controlling DMA command buffer for holding sequence of DMA commands with head and tail pointers
JP4977159B2 (en) Technology for executing atomic compare and swap instructions using a specific processor
KR100956970B1 (en) System and method for performing masked store operations in a processor
KR100979825B1 (en) Direct memory access transfer buffer processor
US5606703A (en) Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures
US4829425A (en) Memory-based interagent communication mechanism
EP2016499B1 (en) Migrating data that is subject to access by input/output devices
JP2741594B2 (en) Execution device for I / O processor
US20010042210A1 (en) Cryptographic data processing systems, computer program products, and methods of operating same in which a system memory is used to transfer information between a host processor and an adjunct processor
US8255591B2 (en) Method and system for managing cache injection in a multiprocessor system
GB2204974A (en) Programmable i/o sequencer for use in an i/o processor
US8086766B2 (en) Support for non-locking parallel reception of packets belonging to a single memory reception FIFO
JP2004506265A (en) Executing locks in distributed processing systems
JP4130465B2 (en) Technology for executing atomic processing on processors with different memory transfer processing sizes
CN103914333B (en) Multinuclear storage system emulator based on network-on-chip interconnection
US6738837B1 (en) Digital system with split transaction memory access
US6442627B1 (en) Output FIFO data transfer control device
US20070079077A1 (en) System, method, and computer program product for shared memory queue
US7130936B1 (en) System, methods, and computer program product for shared memory queue
JP3701988B2 (en) Communication control device implemented in processor element of parallel computer
JP2736237B2 (en) Remote memory access controller
US7240144B2 (en) Arbitration of data transfer requests
US6665750B1 (en) Input/output device configured for minimizing I/O read operations by copying values to system memory

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050715

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080722

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100722

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100722

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120722

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees