JPH0991262A - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JPH0991262A
JPH0991262A JP7264661A JP26466195A JPH0991262A JP H0991262 A JPH0991262 A JP H0991262A JP 7264661 A JP7264661 A JP 7264661A JP 26466195 A JP26466195 A JP 26466195A JP H0991262 A JPH0991262 A JP H0991262A
Authority
JP
Japan
Prior art keywords
node
data
instruction
command
field
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.)
Pending
Application number
JP7264661A
Other languages
Japanese (ja)
Inventor
Tetsuo Kawada
哲郎 河田
Norihiko Kuroishi
範彦 黒石
Kenichi Kawachi
賢一 河内
Nobuaki Miyagawa
宣明 宮川
Reiji Aihara
玲二 相原
Mitsumasa Koyanagi
光正 小柳
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP7264661A priority Critical patent/JPH0991262A/en
Publication of JPH0991262A publication Critical patent/JPH0991262A/en
Pending legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide the system architecture and VLSI chip architecture which realize a high communication performance and a low cost at the time of constituting a distributed memory type multiprocessor system by burying the communication function of a ring bus form in a VLSI chip constituting a processor element. SOLUTION: In the multiprocessor system which has a ring type communication network and performs communication in the master slave form, each of processor elements 13a, 17, and 12a is provided with a node ID register, which sets a node ID to each node, and an ID setting flag. When the ID setting flag is reset, the node ID added to a node ID setting instruction is set to the node ID register and the ID setting flag is set to perform such control processing that the node ID setting instruction is not transmitted to nodes below; and when the ID setting flag is set, the control processing is performed to transmit the node ID setting instruction to nodes on the downstream side.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、リングバス形式の
通信ネットワークを用いた分散メモリ型のマルチプロセ
ッサシステムに関し、特に、マルチプロセッサシステム
を構成する要素のプロセッサエレメントを、プロセッサ
間通信,データ転送,同期,並列演算などの処理機構を
有するVLSI(大規模半導体集積回路)チップで構成
し、高い通信機能と低コスト性を実現するVLSIチッ
プアーキテクチャを有するマルチプロセッサシステムに
関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed memory type multiprocessor system using a ring bus type communication network. In particular, the processor elements constituting the multiprocessor system are used for interprocessor communication, data transfer, The present invention relates to a multiprocessor system having a VLSI chip architecture configured with a VLSI (Large Scale Semiconductor Integrated Circuit) chip having a processing mechanism such as synchronization and parallel operation and realizing a high communication function and low cost.

【0002】[0002]

【従来の技術】従来から、マルチプロセッサシステムを
構成する場合の問題点の1つとして、プロセッサ間通信
やデータ転送の性能と経済性とのトレードオフがあげら
れる。すなわち、プロセッサ間通信やデータ転送の性能
を高めるためには、通信ネットワークが複雑化し、コス
トの上昇をもたらす。また、逆に、コストを押えるため
には、プロセッサ間通信やデータ転送の性能が悪くなっ
てしまう。
2. Description of the Related Art Conventionally, as one of the problems in constructing a multiprocessor system, there is a trade-off between performance and economical efficiency of communication between processors and data transfer. That is, in order to improve the performance of inter-processor communication and data transfer, the communication network becomes complicated and the cost increases. On the contrary, in order to suppress the cost, the performance of inter-processor communication and data transfer is deteriorated.

【0003】前者の例として、全てのプロセッサが1対
1の専用バスで結合された完全結合ネットワークでは、
データ転送は高速であるが、プロセッサ数Nに対して、
通信ネットワークは、O(N^2)の規模となり、コス
トの上昇をもたらす。また、後者の例では、通信ネット
ワークとして共有バスを用いた場合、コストは低くなる
が、データ転送の幅が小さくなり、通信性能は悪くな
る。
As an example of the former, in a fully coupled network in which all processors are coupled by a 1: 1 dedicated bus,
Data transfer is fast, but for N processors,
The communication network has a scale of O (N ^ 2), which causes an increase in cost. In the latter example, when a shared bus is used as the communication network, the cost is low, but the width of data transfer is small and the communication performance is poor.

【0004】このため、例えば、通信性能を比較的高く
保ったまま、コストを押えるための1つのアプローチと
して、VLSI製造技術を利用して、プロセッサ間通信
に係わる全ての機能を単一のVLSIチップとして製造
することや、通信機能をプロセッサと同一のVLSIチ
ップ上に製造する試みがある。
For this reason, for example, as one approach to keep costs low while maintaining relatively high communication performance, VLSI manufacturing technology is used to implement all functions related to interprocessor communication in a single VLSI chip. There is an attempt to manufacture the same as that of the processor or to manufacture the communication function on the same VLSI chip as the processor.

【0005】しかし、従来においては、分散メモリを有
するMIMD(multiple instruction multiple data s
tream)型マルチプロセッサシステムにおいて、VLS
I製造技術による通信機能の実現性を考慮して、コスト
性能比の高いアーキテクチャの提案がなされていなかっ
た。
However, in the past, MIMD (multiple instruction multiple data
tream type multiprocessor system, VLS
Considering the feasibility of the communication function by the I manufacturing technology, no proposal of an architecture having a high cost performance ratio has been made.

【0006】これらの技術に関係すると思われる従来技
術の一例をあげれば、例えば、特開昭62−18850
号公報で提案されている「リングネットワークの同報通
信制御方式」または特開平4−156655号公報で提
案されている「プロセッサ間通信方式」がある。これら
の通信制御方式または通信方式においては、リング状に
接続された通信ネットワークを介したデータ転送に専用
の小容量のデータバッファを用いる。このため、通信相
手のノードの状態によっては、データ転送を開始するこ
とができなかったり、また、通信相手となるノードの状
態を予め知っておくことが必要となり、ノード状態に関
するデータ転送のために、余分な通信トラフィックが増
えたり、ノード状態を監視するための専用の信号線が必
要となるなどの問題があった。
An example of the prior art which seems to be related to these techniques is, for example, Japanese Patent Laid-Open No. 62-18850.
There is a "broadcast communication control system for ring network" proposed in Japanese Patent Laid-Open Publication No. Hei 4-156655 and an "interprocessor communication system" proposed in Japanese Patent Laid-Open No. 4-156655. In these communication control methods or communication methods, a small capacity data buffer dedicated to data transfer via a communication network connected in a ring is used. Therefore, depending on the state of the node of the communication partner, data transfer cannot be started, and it is necessary to know the state of the node that is the communication partner in advance. However, there are problems that extra communication traffic increases and a dedicated signal line for monitoring the node status is required.

【0007】また、別の一例をあげれば、特開昭62−
145348号公報で提案されている「識別番号設定方
式」があげられるが、この識別番号設定方式では、演算
回路や信号線の専用化が避られず、非常の多くの数のプ
ロセッサエレメントから成るマルチプロセッサシステム
を構成する上での経済性が損なわれる。
Another example is Japanese Patent Laid-Open No. 62-62.
The "identification number setting method" proposed in Japanese Patent No. 145348 can be mentioned. However, in this identification number setting method, it is inevitable to dedicate an arithmetic circuit and a signal line, and a multi-processor consisting of an extremely large number of processor elements is used. The economics of constructing a processor system are impaired.

【0008】[0008]

【発明が解決しようとする課題】ところで、このような
専用回路は、通信機能とプロセッサとが一体化された場
合には、汎用の演算器で代替することができる。したが
って、本発明の目的は、リングバス形状の通信機能をプ
ロセッサエレメントを構成するVLSIチップの中に埋
め込むことにより、分散メモリ型マルチプロセッサシス
テムを構築する場合において、高い通信性能と低コスト
性を実現するシステムアーキテクチャおよびVLSIチ
ップアーキテクチャを提供することにある。
By the way, such a dedicated circuit can be replaced with a general-purpose arithmetic unit when the communication function and the processor are integrated. Therefore, an object of the present invention is to realize high communication performance and low cost when a distributed memory type multiprocessor system is constructed by embedding a ring bus type communication function in a VLSI chip that constitutes a processor element. System architecture and VLSI chip architecture.

【0009】[0009]

【課題を解決するための手段】上述のような目的を達成
するため、本発明のマルチプロセッサシステムは、第1
の特徴として、プロセッサエレメントを有する複数のノ
ードがリングバス形式の通信ネットワークを介して接続
され、マスター・スレーブ形式でノード間のデータ通信
を行い、各ノードのプロセッサエレメントにおいてデー
タ処理を行うマルチプロセッサシステムにおいて、各々
のプロセッサエレメントが、各ノード毎に設けられるノ
ードIDを設定するノードIDレジスタ(44)と、各
ノード毎に設けられるノードIDが設定されたか否かを
示すID設定フラグを格納するID設定フラグレジスタ
(43)と、該ID設定フラグをシステムのリセット時
にリセットするリセット手段(27)と、マスターノー
ドとスレーブノードとの区別を設定するノード種別設定
手段(43)と、前記ノード種別設定手段がマスターノ
ードに設定された場合に、それぞれに異なるノードID
を設定するノードID設定命令を発行する命令発行手段
(27)と、前記ノード種別設定手段がスレーブノード
に設定された場合に、前記ID設定フラグがリセットさ
れている場合に、前記ノードID設定命令に付加されて
いるノードIDを前記ノードIDレジスタに設定し、前
記ID設定フラグをセットし、前記ノードID設定命令
を下流のノードに伝えない制御処理を行い、前記ID設
定フラグが設定されている場合には、前記ノードID設
定命令を下流のノードに伝える制御処理を行う制御手段
(27)とを備えることを特徴とする。
In order to achieve the above-mentioned object, the multiprocessor system of the present invention comprises a first
A multiprocessor system in which a plurality of nodes having processor elements are connected via a ring bus type communication network, data communication is performed between the nodes in a master / slave format, and the processor elements of each node perform data processing. In, each processor element stores a node ID register (44) for setting a node ID provided for each node, and an ID for storing an ID setting flag indicating whether or not the node ID provided for each node is set. A setting flag register (43), a reset means (27) for resetting the ID setting flag when the system is reset, a node type setting means (43) for setting a distinction between a master node and a slave node, and the node type setting Means set to masternode In the case, a different node ID to each
An instruction issuing means (27) for issuing a node ID setting instruction for setting a node ID setting instruction, and the node ID setting instruction when the ID setting flag is reset when the node type setting means is set to a slave node. The node ID added to the node ID is set in the node ID register, the ID setting flag is set, a control process for not transmitting the node ID setting command to a downstream node is performed, and the ID setting flag is set. In this case, a control means (27) for performing control processing for transmitting the node ID setting command to a downstream node is provided.

【0010】また、第2の特徴として、本発明のマルチ
プロセッサシステムは、同じく、プロセッサエレメント
を有する複数のノードがリングバス形式の通信ネットワ
ークを介して接続され、マスター・スレーブ形式でノー
ド間のデータ通信を行い、各ノードのプロセッサエレメ
ントにおいてデータ処理を行うマルチプロセッサシステ
ムにおいて、各々のプロセッサエレメントが、プロセッ
サ間通信のために割り当てられた命令コードを入力しそ
の内容をデコードしプロセッサ間通信に必要な制御信号
を生成する制御回路(27)と、該制御信号に基づいて
パケット形式で転送される1つあるいは複数からなるデ
ータのヘッダ部を組み立てるヘッダ部生成回路(38)
と、ノード内部のデータを一時的に蓄える出力バッファ
(32)と、リングバスからのデータ入力と前記ヘッダ
部生成回路の出力と前記出力バッファからのデータの3
者を入力してその1つを選択するマルチプレクサ(2
9)と、該マルチプレクサの出力を1クロック遅延させ
次のノードへ出力するラッチ回路(30)とを備えるこ
とを特徴とする。
A second feature of the multiprocessor system of the present invention is that a plurality of nodes having processor elements are similarly connected via a ring bus type communication network, and data between the nodes are master / slave type. In a multiprocessor system that performs communication and performs data processing in the processor element of each node, each processor element inputs an instruction code assigned for interprocessor communication, decodes the content, and is required for interprocessor communication. A control circuit (27) for generating a control signal, and a header part generation circuit (38) for assembling a header part of one or a plurality of data transferred in packet format based on the control signal.
An output buffer (32) for temporarily storing the data inside the node, a data input from the ring bus, an output of the header part generation circuit, and data from the output buffer.
Multiplexer (2
9) and a latch circuit (30) for delaying the output of the multiplexer by one clock and outputting it to the next node.

【0011】また、本発明のマルチプロセッサシステム
は、第3の特徴として、同じく、プロセッサエレメント
を有する複数のノードがリングバス形式の通信ネットワ
ークを介して接続され、マスター・スレーブ形式でノー
ド間のデータ通信を行い、各ノードのプロセッサエレメ
ントにおいてデータ処理を行うマルチプロセッサシステ
ムにおいて、各ノードのプロセッサエレメントを介して
伝搬される専用の割込み信号線と、前記割込み信号線に
より各ノードのプロセッサエレメントが通常のデータ通
信よりも優先度の高い割り込みを他プロセッサエレメン
トに伝える通信制御処理手段(27)とを備えることを
特徴とする。
As a third feature of the multiprocessor system of the present invention, similarly, a plurality of nodes having processor elements are connected via a ring bus type communication network, and data between the nodes is transmitted in a master / slave type. In a multiprocessor system that performs communication and performs data processing in the processor element of each node, a dedicated interrupt signal line propagated through the processor element of each node and the processor element of each node are And a communication control processing means (27) for transmitting an interrupt having a higher priority than data communication to another processor element.

【0012】また、第4の特徴として、本発明のマルチ
プロセッサシステムは、同じく、プロセッサエレメント
を有する複数のノードがリングバス形式の通信ネットワ
ークを介して接続され、マスター・スレーブ形式でノー
ド間のデータ通信を行い、各ノードのプロセッサエレメ
ントにおいてデータ処理を行うマルチプロセッサシステ
ムにおいて、ノード間のデータ転送に係る制御データを
記述するディスクリプタを格納する記憶手段と、前記デ
ィスクリプタへのポインタを設定するポインタレジスタ
群と、データ転送を処理する毎に該ポインタレジスタに
設定されたポインタを更新する更新手段とを備える特徴
とする。
As a fourth feature, in the multiprocessor system of the present invention, a plurality of nodes having processor elements are similarly connected via a ring bus type communication network, and data between the nodes are master / slave type. In a multiprocessor system that performs communication and performs data processing in the processor element of each node, a storage unit that stores a descriptor that describes control data related to data transfer between nodes, and a pointer register group that sets a pointer to the descriptor And an updating means for updating the pointer set in the pointer register every time data transfer is processed.

【0013】また、この場合において、本発明のマルチ
プロセッサシステムでは、第5の特徴として、前記ディ
スクリプタが、次ディスクリプタへのポインタと、送受
信データが格納されるメモリブロックへのポインタと、
データ長とを含むことを特徴とする。
Further, in this case, in the multiprocessor system of the present invention, as a fifth feature, the descriptor is a pointer to a next descriptor, and a pointer to a memory block in which transmission / reception data is stored.
And a data length.

【0014】また、第6の特徴として、ここでの本発明
のマルチプロセッサシステムは、各々のプロセッサエレ
メントが、前記ノード種別設定手段に外部入力信号が与
えられることにより、マスターノードまたはスレーブノ
ードのプロセッサエレメントとして機能させることを特
徴とする。その場合、第7の特徴としては、スレーブノ
ードとして機能するプロセッサエレメントは、リセット
解除後に、待機モードに入り、マスターノードのプロセ
ッサエレメントから送信される割り込み信号により、再
起動されることを特徴とする。また、第8の特徴とし
て、スレーブノードとして機能するプロセッサエレメン
トは、リセット解除後の待機モードにおいて、リングバ
スを介して送信されるプログラムまたはデータを、ロー
カルメモリに格納することを特徴とする。
As a sixth characteristic, in the multiprocessor system of the present invention, each processor element is a processor of a master node or a slave node when an external input signal is given to the node type setting means. It is characterized in that it functions as an element. In that case, the seventh feature is that the processor element functioning as a slave node enters a standby mode after reset release and is restarted by an interrupt signal transmitted from the processor element of the master node. . An eighth characteristic is that the processor element functioning as a slave node stores the program or data transmitted via the ring bus in the local memory in the standby mode after reset release.

【0015】このような様々な特徴を有する本発明のマ
ルチプロセッサシステムによれば、コスト性能比の良い
マルチプロセッサシステムの構築が容易に可能となる。
具体的に説明すると、リング形状の通信ネットワークを
有し、マスタ・スレーブ形式により通信を行うマルチプ
ロセッサシステムにおいて、各々のプロセッサエレメン
トに、各ノード毎にノードIDを設定するノードIDレ
ジスタと、ID設定フラグを設けることにより、専用の
演算回路や信号線を必要とすることなく、ID設定フラ
グを用いて効率的にノードIDを設定するとことが可能
になる。
According to the multiprocessor system of the present invention having such various characteristics, it is possible to easily construct a multiprocessor system having a good cost performance ratio.
More specifically, in a multiprocessor system having a ring-shaped communication network and performing communication in a master / slave format, a node ID register for setting a node ID for each node in each processor element, and an ID setting By providing the flag, it becomes possible to efficiently set the node ID using the ID setting flag without requiring a dedicated arithmetic circuit or a signal line.

【0016】また、ID設定フラグは、システムのリセ
ット時にリセットされ、マスターノードのプロセッサエ
レメントが、ノードIDを設定するためのノードID設
定命令を用いて、それぞれ異なるノードIDを付加した
ノードID設定命令をスレーブノードの個数分だけ当該
ノードID設定命令を発行する。スレーブノードのプロ
セッサエレメントは、ノードID設定命令を受け取った
時、ID設定フラグがリセットされている場合には、
ノードID設定命令に付加されているノードIDをノー
ドIDレジスタに設定し、前記ID設定フラグをセッ
トし、前記命令を下流ノードに伝えない。また、スレ
ーブノードのプロセッサエレメントは、ID設定フラグ
が設定されている場合には、ノードID設定命令を下
流のノードに伝えるだけで何もしない。このような各ノ
ードのプロセッサエレメントの動作により、各ノードの
プロセッサエレメントにおいて、効率的にノードIDを
設定するとことが可能になる。
Further, the ID setting flag is reset when the system is reset, and the processor element of the master node uses the node ID setting command for setting the node ID to add different node IDs. Are issued as many node ID setting commands as the number of slave nodes. The processor element of the slave node receives the node ID setting instruction, and when the ID setting flag is reset,
The node ID added to the node ID setting command is set in the node ID register, the ID setting flag is set, and the command is not transmitted to the downstream node. Further, when the ID setting flag is set, the processor element of the slave node simply transmits the node ID setting command to the downstream node and does nothing. By the operation of the processor element of each node as described above, it becomes possible to efficiently set the node ID in the processor element of each node.

【0017】また、マルチプロセッサシステムを構成す
る各々のノードのプロセッサエレメントは、パケット形
式のバスデータ通信命令のヘッダ部を生成するへッダ部
生成回路と、ノード内部のデータを一時的に蓄える出力
バッファと、リングバスデータ入力とへッダ部生成回路
の出力とデータ出力バッファの3者を入力して1つの選
択するマルチプレクサと、マルチプレクサの出力を1ク
ロック遅延させ、次ノードのへの出力とするラッチ回路
とを備えており、これらの回路要素により、リングバス
により接続された各々のノードにおいて、データ転送す
る場合に、ノード当たりのデータの伝搬を1クロックサ
イクルで行うことができ、このため、同期方式よりデー
タ転送を行うことができ、高速にノード間のデータ通信
が可能になる。
Further, the processor element of each node constituting the multiprocessor system includes a header section generating circuit for generating a header section of a packet-type bus data communication command, and an output for temporarily storing data inside the node. The buffer, the ring bus data input, the output of the header part generation circuit, and the data output buffer are input to select one multiplexer, and the output of the multiplexer is delayed by one clock and output to the next node. And a latch circuit for performing data transfer at each node connected by the ring bus, the data can be propagated per node in one clock cycle. Data can be transferred by the synchronous method, and data communication between nodes can be performed at high speed.

【0018】また、ここでのマルチプロセッサシステム
においては、各プロセッサエレメントを介して伝搬され
る専用の割り込み信号線を備えており、この割り込み信
号線を用いることにより、通常の通信よりも優先度の高
い割り込みとして、他ノードのプロセッサエレメントに
順次に伝えるように動作する。これにより、システムに
異常事態が発生した場合にも、効率的な対処が可能とな
る。
Further, the multiprocessor system here is provided with a dedicated interrupt signal line propagated through each processor element, and by using this interrupt signal line, the priority is given to the normal communication. As a high interrupt, it operates so as to sequentially notify the processor elements of other nodes. As a result, even when an abnormal situation occurs in the system, it is possible to efficiently deal with it.

【0019】また、各ノードの間のデータ転送のため、
データ転送の制御データを記述しているディスクリプタ
へのポインタを設定するポインタレジスタ群と、データ
転送を処理する毎にこれらのポインタレジスタに設定さ
れたポインタを更新する更新手段を備えており、ここで
のデータ転送に係わるディスクリプタが、次ディスクリ
プタへのポインタと、送受信データが格納されるメモリ
ブロックへのポインタと、送受信データが格納されるメ
モリブロックへのポインタと、データ長とを保持してい
る。このため、ここでの更新手段により、ポインタを更
新するのみで、ディスクリプタの状態を伝えられ、この
ため、効率的なデータ転送が高速に行える。
Further, for data transfer between the nodes,
It is provided with a pointer register group that sets pointers to descriptors that describe control data for data transfer, and update means that updates the pointers set in these pointer registers each time data transfer is processed. The descriptor relating to the data transfer holds the pointer to the next descriptor, the pointer to the memory block in which the transmission / reception data is stored, the pointer to the memory block in which the transmission / reception data is stored, and the data length. For this reason, the updating means here can inform the state of the descriptor only by updating the pointer, so that efficient data transfer can be performed at high speed.

【0020】また、ここでのマルチプロセッサシステム
を構成する各々のプロセッサエレメントの回路構成は、
マスターノード用とスレーブノード用とでそれぞれに専
用の回路構成とすることなく、共通の回路構成として、
VLSI(大規模半導体集積回路)チップにより構成
し、ソフトウェア処理によりマスターノード用またはス
レーブノード用として動作する。このため、ノード種別
設定手段を設け、その設定に応じて、つまり、外部入力
信号により、マスターノード用のプロセッサエレメント
として機能するか、スレーブノード用のプロセッサエレ
メントとして機能するかを識別できるようにする。マス
ターノード用のプロセッサエレメントとして機能する場
合に、初期状態のシステムリセット解除後、ノードID
設定命令を発行する。スレーブノード用のプロセッサエ
レメントとして機能する場合には、初期状態のシステム
リセット解除後、待機モードに入り、マスターノード用
のプロセッサエレメントから送信されるプログラム等の
データによって、ローカルメモリを初期化した後、割込
み信号により再起動される。
The circuit configuration of each processor element constituting the multiprocessor system here is as follows.
Instead of having a dedicated circuit configuration for each of the master node and the slave node, as a common circuit configuration,
It is configured by a VLSI (Large Scale Semiconductor Integrated Circuit) chip and operates as a master node or a slave node by software processing. For this reason, a node type setting means is provided, and it is possible to discriminate whether to function as a processor element for a master node or a processor element for a slave node according to the setting, that is, by an external input signal. . When functioning as a processor element for the master node, after releasing the initial system reset, the node ID
Issue a setting command. When functioning as a processor element for a slave node, after releasing the system reset in the initial state, it enters the standby mode, and after initializing the local memory by data such as a program transmitted from the processor element for the master node, It is restarted by an interrupt signal.

【0021】[0021]

【発明の実施の形態】以下、本発明を実施する形態につ
いて、具体的に図面を参照して説明する。図1は、本発
明を一態様で実施するマルチプロセッサシステムの全体
の構成を示すブロック図である。図1において、10は
リングバス、11はマスターノード、12は第1番目の
スレーブノード、13は第n番目のスレーブノード、1
4はホストインターフェイスバス、15はバス交換器、
16はホストコンピュータ、17はプロセッサエレメン
ト、18はローカルメモリ、19はインターフェイス回
路、20は周辺回路である。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the overall configuration of a multiprocessor system that implements the present invention in one aspect. In FIG. 1, 10 is a ring bus, 11 is a master node, 12 is a first slave node, 13 is an nth slave node, and 1
4 is a host interface bus, 15 is a bus exchanger,
Reference numeral 16 is a host computer, 17 is a processor element, 18 is a local memory, 19 is an interface circuit, and 20 is a peripheral circuit.

【0022】リングバス10は、1方向のみにデータの
情報が伝達されるバスである。ここでのリングバス10
に対して、マスタノード11およびスレーブノード(1
2,13)の(N+1)個のノードがリング状につなが
る。マスターノード11のノード番号を“0”とし、各
ノードのノード番号は、リングバス10のバスデータ出
力方向の1つ先のノードのノード番号が、リングバスの
バスデータ入力方向の1つ手前のノードのノード番号に
“1”を加えた値となっている。すなわち、マスターノ
ード11を起点のノード(ノード番号“0”)として、
N個のノードのノード番号は、1,2,3,…,(N−
2),(N−1),Nとなる。
The ring bus 10 is a bus through which data information is transmitted only in one direction. Ring bus 10 here
To the master node 11 and the slave node (1
2, 13) (N + 1) nodes are connected in a ring shape. The node number of the master node 11 is set to “0”, and the node number of each node is one node ahead of the ring bus 10 in the bus data output direction and one node ahead of the ring bus in the bus data input direction. It is a value obtained by adding "1" to the node number of the node. That is, with the master node 11 as the starting node (node number “0”),
The node numbers of the N nodes are 1, 2, 3, ..., (N-
2), (N-1), N.

【0023】マスターノード11は、リングバス10に
よる通信を制御するノードであり、基本的な動作モード
においては、マスターノード11に属するプロセッサエ
レメント17のみが、リングバス通信命令を発行でき
る。また、マスターノード11のプロセッサエレメント
17に接続されているローカルバスには、ローカルメモ
リ18,インターフェイス回路19,周辺回路20が接
続されている。
The master node 11 is a node that controls communication by the ring bus 10. In the basic operation mode, only the processor element 17 belonging to the master node 11 can issue a ring bus communication command. A local memory 18, an interface circuit 19, and a peripheral circuit 20 are connected to the local bus connected to the processor element 17 of the master node 11.

【0024】個々のスレーブノード12〜スレーブノー
ド13は、リングバス通信命令を解釈して実行する。各
々のスレーブノード(12,13)は、プロセッサエレ
メント(12a,13a)およびローカルメモリ(12
b,13b)を備えており、該ローカルバスにより、プ
ロセッサエレント(12a,13a)とローカルメモリ
(12b,13b)とが結合される。スレーブノードの
ローカルバスには、ローカルメモリのみが接続される。
これに対して、マスターノード11のローカルバスに
は、前述したように、ローカルメモリ18が接続される
と共に、インターフェイス回路19,周辺回路20が接
続されており、このインターフェイス回路19に、バス
交換器15を介して、ホストコンピュータ16が接続さ
れる。これによって、ホストコンピュータ16は、バス
交換器15,ホストインターフェイスバス14,インタ
ーフェイス回路19を介して、マスターノード11のロ
ーカルメモリ18に対するデータの読み出しおよび書き
込みが行われる。
The individual slave nodes 12 to 13 interpret and execute the ring bus communication command. Each slave node (12, 13) includes a processor element (12a, 13a) and a local memory (12).
b, 13b), the processor element (12a, 13a) and the local memory (12b, 13b) are coupled by the local bus. Only the local memory is connected to the local bus of the slave node.
On the other hand, as described above, the local memory 18 is connected to the local bus of the master node 11, and the interface circuit 19 and the peripheral circuit 20 are also connected to the interface circuit 19. A host computer 16 is connected via 15. As a result, the host computer 16 reads and writes data from and to the local memory 18 of the master node 11 via the bus switch 15, the host interface bus 14, and the interface circuit 19.

【0025】マスターノード11およびその他のスレー
ブノード(12,13)における各々のプロセッサエレ
メント(17,12a,13a)の内部の回路構成は、
全て同じ構成となっており、マスターノード用とスレー
ブノード用とでそれぞれに専用の回路構成とすることな
く、VLSI(半導体集積回路装置)チップにより構成
される。次に、このようなプロセッサエレメントの内部
の回路構成について説明する。
The internal circuit configuration of each processor element (17, 12a, 13a) in the master node 11 and other slave nodes (12, 13) is as follows.
All have the same configuration, and are configured by VLSI (semiconductor integrated circuit device) chips without having dedicated circuit configurations for the master node and the slave node. Next, the internal circuit configuration of such a processor element will be described.

【0026】図2は、プロセッサエレメントの内部構成
を示すブロック図である。図2において、17はプロセ
ッサエレメント、21はリングバスインターフェイスユ
ニット(RBIU)、22は内部データバス、23は整
数演算ユニット(IAU)、24は浮動小数点演算ユニ
ット(FAU)、25は命令キャッシュユニット(IC
U)、26はメモリインターフェイスユニット(MI
U)である。
FIG. 2 is a block diagram showing the internal structure of the processor element. In FIG. 2, 17 is a processor element, 21 is a ring bus interface unit (RBIU), 22 is an internal data bus, 23 is an integer arithmetic unit (IAU), 24 is a floating point arithmetic unit (FAU), and 25 is an instruction cache unit ( IC
U) and 26 are memory interface units (MI
U).

【0027】リングバスインターフェイスユニット21
は、リングバスによるバス通信の制御処理を行い、バス
通信命令の発行,解釈,制御,実行を行う。主な外部イ
ンターフェイス信号の信号線として、リングバス入力、
リングバス出力,バス通信命令入力(バスコマンド入
力,トークン入力,パリティ入力),バス通信命令出力
(バスコマンド出力,トークン出力,パリティ出力),
割り込み入力,割り込み出力,バスウェイト入力,バス
ウェイト出力の各々の信号線が設けられており、これら
の入力線および出力線が隣の他のプロセッサエレメント
のリングバスインターフェイスユニットの対応の信号線
と直列に接続される。また、後述するように、リングバ
スインターフェイスユニット21には、プロセッサ間通
信のために割り当てられた命令コードを入力しその内容
をデコードしプロセッサ間通信に必要な制御信号を生成
する制御回路を含んでいる。リングバスインターフェイ
スユニット21の主な内部インターフェイスは、内部デ
ータバス22である。内部データバス22には、整数演
算ユニット(IAU)23,浮動小数点演算ユニット
(FAU)24,命令キャッシュユニット(ICU)2
5,メモリインターフェイスユニット(MIU)26が
接続され、これらとリングバスインターフェイスユニッ
ト21との間のデータ伝送が行われる。
Ring bus interface unit 21
Performs bus communication control processing by the ring bus, and issues, interprets, controls, and executes bus communication commands. As a signal line for the main external interface signals, a ring bus input,
Ring bus output, bus communication command input (bus command input, token input, parity input), bus communication command output (bus command output, token output, parity output),
Signal lines for interrupt input, interrupt output, bus wait input, and bus wait output are provided, and these input lines and output lines are connected in series with the corresponding signal lines of the ring bus interface unit of another adjacent processor element. Connected to. Further, as will be described later, the ring bus interface unit 21 includes a control circuit that inputs an instruction code assigned for inter-processor communication, decodes the content of the instruction code, and generates a control signal necessary for inter-processor communication. There is. The main internal interface of the ring bus interface unit 21 is the internal data bus 22. The internal data bus 22 has an integer arithmetic unit (IAU) 23, a floating point arithmetic unit (FAU) 24, and an instruction cache unit (ICU) 2.
5, the memory interface unit (MIU) 26 is connected, and data transmission between these and the ring bus interface unit 21 is performed.

【0028】整数演算ユニット23は、算術演算ユニッ
ト(ALU)、レジスタファイルなどを含み、整数演算
の制御処理を行う。この整数演算ユニット23は、命令
キャッシュユニット25に命令アドレスを出力し、命令
キャッシュユニット25から入力される命令を解釈して
実行する命令処理機構を含んでいる。
The integer arithmetic unit 23 includes an arithmetic operation unit (ALU), a register file, etc., and controls the integer arithmetic operation. The integer arithmetic unit 23 includes an instruction processing mechanism that outputs an instruction address to the instruction cache unit 25 and interprets and executes an instruction input from the instruction cache unit 25.

【0029】浮動小数点演算ユニット24は、浮動小数
点加減算器,浮動小数点乗算器,浮動小数点レジスタフ
ァイルを含んでおり、浮動小数点演算の処理制御を行
う。この演算処理の制御は、浮動小数点演算ユニット2
4が、命令キャッシュユニット25から入力される命令
を解釈し、その内容に従って、浮動小数点演算の処理を
実行する。
The floating point arithmetic unit 24 includes a floating point adder / subtractor, a floating point multiplier, and a floating point register file, and controls processing of floating point arithmetic. This arithmetic processing is controlled by the floating point arithmetic unit 2
4 interprets the instruction input from the instruction cache unit 25, and executes the floating point arithmetic processing according to the content.

【0030】命令キャッシュユニット25は、整数演算
ユニット23から命令アドレスを入力し、内部キャッシ
ュメモリに対応する命令があれば(キャッシュヒッ
ト)、それを出力する。また、内部キャッシュメモリに
対応する命令がない場合には(キャッシュミス)、メモ
リインターフェイスユニット26を通じて外部メモリ
(ローカルメモリ)から必要な命令を含むデータブロッ
クを入力し、入力したデータブロックのデータから整数
演算ユニット23に対する命令を出力する。
The instruction cache unit 25 inputs the instruction address from the integer arithmetic unit 23, and if there is an instruction corresponding to the internal cache memory (cache hit), outputs it. If there is no instruction corresponding to the internal cache memory (cache miss), the data block including the necessary instruction is input from the external memory (local memory) through the memory interface unit 26, and the integer of the data of the input data block is input. It outputs a command to the arithmetic unit 23.

【0031】メモリインターフェイスユニット26は、
プロセッサエレメント17の外部に接続される外部メモ
リ(ローカルメモリ)との間でのデータの読み出し、書
き込みを行う制御処理を行う。ここでのメモリに対する
データの読み出しおよび書き込みの制御処理は、次のよ
うなタスク〜タスクの4種類のタスクとして、メモ
リインターフェイス処理を実行する。すなわち、 タスク:整数演算ユニット23のデコードするロード
/ストア命令に必要な処理を行うタスク。 タスク:浮動小数点演算ユニット24の内部に外部メ
モリからのデータを連続的に格納し、また、逆に、浮動
小数点演算ユニット24から外部メモリにデータを連続
的に格納するタスク。 タスク:命令キャッシュユニット25のキャッシュミ
スに必要な処理(外部メモリから必要な命令を含むブロ
ックを入力し、入力したブロックのデータから命令を出
力する処理)を行うタスク。 タスク:リングバスインターフェイスユニット21を
介してリングバスから入力されるデータを外部メモリに
書き込む。また、逆にリングバスインターフェイスユニ
ット21を介してリングバスへ出力されるデータを外部
メモリから読み出すタスク。
The memory interface unit 26 includes
Control processing for reading and writing data from and to an external memory (local memory) connected to the outside of the processor element 17 is performed. The control processing of reading and writing data to the memory here executes the memory interface processing as the following four types of tasks. That is, task: a task that performs a process necessary for a load / store instruction to be decoded by the integer arithmetic unit 23. Task: A task of continuously storing data from an external memory inside the floating point arithmetic unit 24, and conversely, continuously storing data from the floating point arithmetic unit 24 to the external memory. Task: A task that performs a process required for a cache miss in the instruction cache unit 25 (a process of inputting a block including a necessary instruction from an external memory and outputting an instruction from the data of the input block). Task: Write the data input from the ring bus via the ring bus interface unit 21 to the external memory. Conversely, the task of reading the data output to the ring bus via the ring bus interface unit 21 from the external memory.

【0032】これらの4種類のタスクの関するメモリイ
ンターフェイスユニット26と、整数演算ユニット2
3,浮動小数点演算ユニット24,命令キャッシュユニ
ット25,リングバスインターフェイスユニット21と
の間のデータ転送は、すベて内部データバス22を介し
て行われる。従って、リングバスネットワークを介した
データ転送は、内部の演算ユニット(23,24)の処
理とは完全に独立して行うことができる。また、ネット
ワーク間のデータ転送は、内部データバス22やメモリ
インターフェイスユニット26を占有することになるた
め、他の演算ユニットとの競合が起こる。その場合、ネ
ットワーク間のデータ転送の処理の方に優先権が与えら
れるので、この間、他の演算ユニットがこれらのリソー
スを要求した場合には待たされる。
The memory interface unit 26 relating to these four types of tasks and the integer arithmetic unit 2
3, data transfer among the floating point arithmetic unit 24, the instruction cache unit 25, and the ring bus interface unit 21 is all performed via the internal data bus 22. Therefore, the data transfer via the ring bus network can be performed completely independently of the processing of the internal arithmetic unit (23, 24). Further, the data transfer between the networks occupies the internal data bus 22 and the memory interface unit 26, so that competition with other arithmetic units occurs. In that case, the priority is given to the process of data transfer between the networks, so that during this period, if another computing unit requests these resources, it is kept waiting.

【0033】図3は、プロセッサエレメントの各ユニッ
トのレジスタにおいて保持されるデータの種類を示す図
である。図2に示すプロセッサエレメントを構成する各
ユニットのブロックに対応して、リングバスインターフ
ェイスユニット21,整数演算ユニット23,浮動小数
点演算ユニット24,命令キャッシュユニット25,メ
モリインターフェイスユニット26におけるそれぞれの
内部レジスタが示されている。
FIG. 3 is a diagram showing the types of data held in the registers of each unit of the processor element. The internal registers of the ring bus interface unit 21, the integer arithmetic unit 23, the floating point arithmetic unit 24, the instruction cache unit 25, and the memory interface unit 26 correspond to the blocks of the respective units constituting the processor element shown in FIG. It is shown.

【0034】図3に示すように、リングバスインターフ
ェイスユニット21には、入力バッファレジスタ(IB
R)、出力FIFOメモリ(OFR)、ノードIDレジ
スタ(NIDR)、グループIDレジスタ(GID
R)、Test&Setフラグレジスタ(TSFR)、
Test&Setコマンドレジスタ(TSCR)、イン
タラプトベクトルレジスタ(INTVSR)、リングバ
スインターフェイスユニットコントロール/ステイタス
レジスタ(RCSR)が含まれている。
As shown in FIG. 3, the ring bus interface unit 21 includes an input buffer register (IB
R), output FIFO memory (OFR), node ID register (NIDR), group ID register (GID
R), Test & Set flag register (TSFR),
It includes a Test & Set command register (TSCR), interrupt vector register (INTVSR), and ring bus interface unit control / status register (RCSR).

【0035】また、整数演算ユニット23には、汎用レ
ジスタ(R0〜R31)、整数演算ユニットコントロー
ル/ステイタスレジスタ(ICSR)、トラップアドレ
スレジスタ(TRAR)が含まれている。浮動小数点演
算ユニット24には、浮動小数点レジスタ(FR0〜F
R15)、浮動小数点ベクトルステイタスレジスタ(F
VSR)、浮動小数点FIFOメモリ(FFIFO(3
2))、浮動小数点演算ユニットコントロール/ステイタ
スレジスタ(FCSR)が含まれている。
Further, the integer arithmetic unit 23 includes a general-purpose register (R0 to R31), an integer arithmetic unit control / status register (ICSR), and a trap address register (TRAR). The floating point arithmetic unit 24 includes floating point registers (FR0-F).
R15), floating point vector status register (F
VSR), floating point FIFO memory (FFFIFO (3
2)), Floating point unit control / status register (FCSR) is included.

【0036】また、命令キャッシュユニット25には、
キャッシュメモリ(CM)、タグメモリ(TM)が含ま
れている。そして、メモリインターフェイスユニット2
2には、リングバス命令ポインタ(CMDP)、SEN
D令令ポインタ(SENDRP)、RTRV命令ポイン
タ(RTRVRP)、メモリブロックポインタ(MEM
BP)、メモリカウンタ(MCNT)、メモリインター
フェイスユニットコントロール/ステイタスレジスタ
(MCSR)のレジスタ群が含まれている。これらのレ
ジスタを用いて、データが一時的に格納され、このプロ
セッサエレメントにおけるデータ処理が進められる。
The instruction cache unit 25 also includes
A cache memory (CM) and a tag memory (TM) are included. And the memory interface unit 2
2 is a ring bus instruction pointer (CMDP), SEN
D command pointer (SENDRP), RTRV instruction pointer (RTRVRP), memory block pointer (MEM)
BP), a memory counter (MCNT), and a memory interface unit control / status register (MCSR). Data is temporarily stored using these registers, and data processing in this processor element proceeds.

【0037】図4は、リングバスインターフェイスユニ
ットの内部の回路構成を示すブロック図であり、リング
バスインターフェイスユニットにおけるリングバスに対
するデータの流れを主として示している。図4におい
て、22は内部データバスであり、図3に示す内部デー
タバス22に接続される。27はリングバスインターフ
ェイスユニット制御回路(RBIU制御回路)、28は
リングバスデータ入力の信号線、29はマルチプレク
サ、30はラッチ回路、31はリングバスデータ出力の
信号線である。また、32は出力FIFOメモリ、33
は入力FIFOメモリ、35は比較器、36はリングバ
スデータ入力方向の外部入出力制御信号群、37はリン
グバスデータ出力方向の外部入出力制御信号群、38は
へッダ部生成回路である。39は他ユニット(IAU,
FAU,ICU,MIU)から入力される制御信号群、
40は他ユニットへ出力される制御信号群、41は当該
リングバスインターフェイスユニット(RBIU)の内
部制御信号群、42はレジスタファイル、43はリング
バスインターフェイスユニットコントロール/ステイタ
スレジスタ(RCSR)、44はノードIDレジスタ
(NIDR)、45はグループIDレジスタ(GID
R)である。
FIG. 4 is a block diagram showing the internal circuit configuration of the ring bus interface unit, mainly showing the flow of data to the ring bus in the ring bus interface unit. In FIG. 4, reference numeral 22 denotes an internal data bus, which is connected to the internal data bus 22 shown in FIG. 27 is a ring bus interface unit control circuit (RBIU control circuit), 28 is a ring bus data input signal line, 29 is a multiplexer, 30 is a latch circuit, and 31 is a ring bus data output signal line. Further, 32 is an output FIFO memory, 33
Is an input FIFO memory, 35 is a comparator, 36 is an external input / output control signal group in the ring bus data input direction, 37 is an external input / output control signal group in the ring bus data output direction, and 38 is a header section generation circuit. . 39 is another unit (IAU,
FAU, ICU, MIU) input control signal group,
40 is a control signal group output to another unit, 41 is an internal control signal group of the ring bus interface unit (RBIU), 42 is a register file, 43 is a ring bus interface unit control / status register (RCSR), and 44 is a node. ID register (NIDR), 45 is a group ID register (GID
R).

【0038】ここでのリングバスインターフェイスユニ
ットの動作を説明する前に、まず、リングバスインター
フェイスユニット/ステイタスレジスタ(RCSR)4
3による制御機能について説明する。図5は、リングバ
スインターフェイスユニットコントロール/ステイタス
レジスタ(RCSR)のビット構成を示す図である。リ
ングバスインターフェイスユニットコントロール/ステ
イタスレジスタ(RCSR)の各ビットの持つ意味は、
プロセッサエレメントを構成するプロセッサアーキテク
チャとして、次のように定められている。 第0ビット(MODE0);現在、Mode0の動作モ
ードである。 第1ビット(MODE1);現在、Mode1の動作モ
ードである。 第2ビット(MODE2);現在、Mode2の動作モ
ードである。 第3ビット(MODEX);現在、ModeXの動作モ
ードである。 第4ビット(IFE);入力FIFOメモリが空であ
る。 第5ビット(OFE);出力FIFOメモリが空であ
る。 第6ビット(OFF);出力FIFOメモリが一杯であ
る。 第7ビット(AND);各プロセッサエレメントの対応
のビット(状態ビット)のAND演算を行う。 第8ビット(OR);各プロセッサエレメントの対応の
ビット(状態ビット)のOR演算を行う。 第9ビット(CFF);TEST/TESTR/RTR
V/RTRVAの各命令のコマンドパケットの復帰を示
す。 第10ビット(STATF);STATコマンドが実行
中であることを示している。 第11ビット(NID);ノードIDがセットされてい
る状態であることを示す。 第12ビット(KPTK);トークンの要求を示す。 第13ビット(AN);アクティブノードであることを
示す。 第14ビット(MN);マスターノードであることを示
す。 第15ビット(INTC);リングバス命令ポインタ
(CMDP)に対応する割り込み発生フラグである。 第16ビット(INTCM);リングバス命令ポインタ
(CMDP)に対応する割り込みマスクフラグである。 第17ビット(INTS);SEND命令ポインタ(S
ENDRP)に対応する割り込み発生フラグである。 第18ビット(INTSM);SEND命令ポインタ
(SENDRP)に対応する割り込みマスクフラグであ
る。 第19ビット(INTR);データ回収命令ポインタ
(RTRVRP)に対応する割り込み発生フラグであ
る。 第20ビット(INTRM);データ回収命令ポインタ
(RTRVRP)に対応する割り込みマスクフラグであ
る。
Before explaining the operation of the ring bus interface unit here, first, the ring bus interface unit / status register (RCSR) 4
The control function of 3 will be described. FIG. 5 is a diagram showing a bit configuration of the ring bus interface unit control / status register (RCSR). The meaning of each bit of the ring bus interface unit control / status register (RCSR) is as follows:
The following is defined as the processor architecture that constitutes the processor element. 0th bit (MODE0): Currently, the operation mode of Mode0. First bit (MODE1): Currently, the operation mode of Mode1. Second bit (MODE2): Currently, the operation mode of Mode2. Third bit (MODEX): Currently, the operation mode of ModeX. 4th bit (IFE); Input FIFO memory is empty. Fifth bit (OFE); Output FIFO memory is empty. 6th bit (OFF); Output FIFO memory is full. 7th bit (AND): AND operation of the corresponding bit (state bit) of each processor element is performed. Eighth bit (OR): The corresponding bit (state bit) of each processor element is ORed. 9th bit (CFF); TEST / TESTR / RTR
The return of the command packet of each instruction of V / RTRVA is shown. 10th bit (STATF); indicates that the STAT command is being executed. 11th bit (NID): Indicates that the node ID is set. 12th bit (KPTK): Indicates a token request. 13th bit (AN): Indicates that it is an active node. 14th bit (MN): Indicates the master node. Fifteenth bit (INTC): It is an interrupt generation flag corresponding to the ring bus instruction pointer (CMDP). 16th bit (INTCM): An interrupt mask flag corresponding to the ring bus instruction pointer (CMDP). 17th bit (INTS); SEND instruction pointer (S
This is an interrupt generation flag corresponding to ENDRP). 18th bit (INTSM): This is an interrupt mask flag corresponding to the SEND instruction pointer (SENDRP). 19th bit (INTR): An interrupt generation flag corresponding to the data recovery instruction pointer (RTRVRP). 20th bit (INTRM): An interrupt mask flag corresponding to the data recovery instruction pointer (RTRVRP).

【0039】リングバスインターフェイスユニットコン
トロール/ステイタスレジスタ(RCSR)は、リング
バスインターフェイスユニットのレジスタファイル(4
2:図4)に備えられ、これらのビット内容より、リン
グバスインターフェイスユニットの制御動作が行われ
る。このビット構成において、第0ビット〜第3ビット
は、リングバスインターフェイスユニット(RBIU)
が動作する各々の動作モードを表し、常に、これらのう
ちの1ビットだけがセットされている。リセット時に
は、第0ビットのみが“1”にセットされて、第1ビッ
ト〜第3ビットはリセットされる。また、第4ビット〜
第6ビットは、入出力バッファ(入力FIFOメモリ,
出力FIFOメモリ)のステイタスを表示するビットで
ある。第7ビット〜第8ビットは、STAT命令に関す
るステイタスビットであり、第9ビットは、TEST/
TESTR/RTRV/RTRVA命令の各命令の処理
が完了したことを表すステイタスビットである。また、
第10ビットは、STAT命令(状態検査命令)の処理
結果として得られる第7ビット〜第8ビットのステイタ
スが有効であることを示すステイタスビットである。
The ring bus interface unit control / status register (RCSR) is a register file (4) for the ring bus interface unit.
2: provided in FIG. 4), and the control operation of the ring bus interface unit is performed based on these bit contents. In this bit configuration, the 0th bit to the 3rd bit are the ring bus interface unit (RBIU).
Represents the respective operating mode in which it operates, and only one of these is always set. At reset, only the 0th bit is set to "1" and the 1st to 3rd bits are reset. Also, the 4th bit ~
The sixth bit is an input / output buffer (input FIFO memory,
This bit indicates the status of the output FIFO memory). Bits 7 to 8 are status bits relating to the STAT instruction, and bit 9 is TEST /
This is a status bit indicating that the processing of each instruction of the TESTR / RTRV / RTRVA instruction is completed. Also,
The 10th bit is a status bit indicating that the status of the 7th bit to the 8th bit obtained as the processing result of the STAT instruction (state check instruction) is valid.

【0040】また、第11ビットは、ノードIDレジス
タの内容の有効/無効を示すステイタスビットであり、
プロセッサエレメントのチップのリセット時に、このビ
ットもリセットされる。第12ビット〜第13ビット
は、次に説明するMode1の動作モードにおいて用いら
れる通信要求のステイタスビットであり、第12ビット
は、トークンを要求している状態を表し、すなわち、通
信命令の発行を要求している状態を表している。また、
第13ビットは、トークンを自ノードが持っている状態
を表している。
The eleventh bit is a status bit indicating whether the contents of the node ID register are valid or invalid.
This bit is also reset when the processor element chip is reset. The 12th to 13th bits are status bits of a communication request used in the operation mode of Mode 1 described below, and the 12th bit represents a state in which a token is requested, that is, the issuance of a communication command. It represents the requested state. Also,
The thirteenth bit represents the state where the own node has the token.

【0041】第14ビットは、自ノードがマスターノー
ドであるか、または、スレーブノードであるかを表すス
テイタスビットであり、つまり、自ノードのプロセッサ
エレメントがマスターノードしての動作をするか、また
は、スレーブノードとして動作するかを表している。こ
の第14ビットは、外部入力信号によりセットされ、そ
のままこのビットの値に反映される。電源につながれて
いる場合(“1”にセットされている場合)は、マスタ
ーノードの動作を行い、グランドにつながれている場合
(“0”にセットされている場合)は、スレーブノード
の動作を行う。
The 14th bit is a status bit indicating whether the own node is the master node or the slave node, that is, the processor element of the own node operates as the master node, or , And whether it operates as a slave node. The 14th bit is set by the external input signal and is reflected as it is in the value of this bit. When connected to the power supply (when set to "1"), the master node operates. When connected to ground (when set to "0"), operates the slave node. To do.

【0042】また、第15ビット〜第16ビットは、次
に説明するリングバス命令(CMD命令,CMDA命
令)の処理が完了したとき、命令発行ノードにおいてセ
ットされる割り込みビットと、割り込みを有効化/無効
化するマスクビットである。また、第17ビット〜第1
8ビットは、次に説明する転送命令(SEND命令,S
ENDA命令)の処理が完了したとき、命令発行ノード
においてセットされる割り込みビットと、割り込みを有
効化/無効化するマスクビットである。また、第19ビ
ット〜第20ビットは、次に説明するデータ回収命令
(RTRV命令,RTRVA命令)の処理が完了したと
き、命令発行ノードにおいてセットされる割り込みビッ
トと、割り込みを有効化/無効化するマスクビットであ
る。
The fifteenth to sixteenth bits enable an interrupt bit set in the instruction issue node and the interrupt when the processing of a ring bus instruction (CMD instruction, CMDA instruction) described below is completed. / Mask bit to be invalidated. Also, the 17th bit to the 1st
8 bits are used for transfer instructions (SEND instruction, S
The interrupt bit is set in the instruction issue node when the processing of the (ENDA instruction) is completed, and the mask bit for enabling / disabling the interrupt. The 19th to 20th bits are interrupt bits set in the instruction issuing node and enable / disable of the interrupt when the processing of the data recovery instruction (RTRV instruction, RTRVA instruction) described below is completed. This is the mask bit to be used.

【0043】次に、本実施例のマルチプロセッサシステ
ムにおいて、プロセッサ間通信により、データ通信を行
うリングバスインターフェイス機能について説明する。
この場合、マルチプロセッサシステムにおいては、4つ
の動作モード(Mode0,Mode1,Mode2,ModeX)
によって、プロセッサ間のデータ通信を行う他に、他の
プロセッサエレメントのステイタスチェック機能、他の
プロセッサへの割り込み機能が備えられている。
Next, the ring bus interface function for performing data communication by interprocessor communication in the multiprocessor system of this embodiment will be described.
In this case, in a multiprocessor system, four operation modes (Mode0, Mode1, Mode2, ModeX)
In addition to performing data communication between processors, a status check function for other processor elements and an interrupt function for another processor are provided.

【0044】データ転送における転送モードは、Mode
0,Mode1,Mode2,ModeXの4つの動作モードの
いずれかで行われる。Mode0の動作モードは、マスタ
ーノードが複数のスレーブノードに対して、リングバス
上の全てのデータ転送を管理・制御するデータ転送モー
ドである。したがって、この場合には、マスターノード
の制御によりデータ転送が行われる。Mode1の動作モ
ードは、リングバス上につながるノード(プロセッサエ
レメント)の中で、トークンを持つ1つのアクティブノ
ード(プロセッサエレメント)がその他のパッシブノー
ドに対してリングバス上の全てのデータ転送を管理・制
御するデータ転送モードである。したがって、この場合
には、トークンを有する1つのノード(アクティブノー
ドのプロセッサエレメント)によってデータ転送が制御
される。
The transfer mode in data transfer is Mode
The operation is performed in any one of four operation modes of 0, Mode1, Mode2 and ModeX. The operation mode of Mode 0 is a data transfer mode in which the master node manages and controls all data transfers on the ring bus to a plurality of slave nodes. Therefore, in this case, data transfer is performed under the control of the master node. The operation mode of Mode 1 is that among nodes (processor elements) connected on the ring bus, one active node (processor element) having a token manages all data transfer on the ring bus with respect to other passive nodes. This is the data transfer mode to control. Therefore, in this case, the data transfer is controlled by one node having the token (the processor element of the active node).

【0045】また、Mode2の動作モードは、リングバ
スで前後につながれた2つのノードの組み合せが、それ
ぞれ独自にデータ転送を行うモードである。したがっ
て、この場合には、各々のノードの制御により個別にデ
ータ転送が行われる。また、ModeXの動作モードは、
対故障モードである。ノードの機能に故障が発見された
場合に設定されるモードである。ModeXの動作モード
に設定されている(ModeXの状態にある)ノードは、
リングバス全体としての機能を損なわないように、常に
データをそのまま受け渡す。つまり、この場合のMode
Xの動作モードに設定されているノードは、リングバス
上に存在しないことと同じになる。
The operation mode of Mode 2 is a mode in which a combination of two nodes connected to the front and rear by a ring bus independently transfers data. Therefore, in this case, data transfer is individually performed under the control of each node. In addition, the operation mode of ModeX is
It is a failure mode. This mode is set when a failure is found in the function of the node. Nodes that are set to ModeX operation mode (in ModeX state)
Always pass the data as it is so as not to impair the function of the entire ring bus. In other words, Mode in this case
A node set to the X operation mode is the same as not existing on the ring bus.

【0046】次に、このような動作モードで用いられる
リングバス命令について特明する。次にリングバス命令
の一覧を示す。 SEND : データ転送命令 SENDA : アドレス付データ転送命令 RTRV : データ回収命令 RTRVA : アドレス付データ回収命令 MODE0 : Mode0へのモード切り替え命令 MODE1 : Mode1へのモード切り替え命令 MODE2 : Mode2へのモード切り替え命令 MODEX : ModeXへのモード切り替え命令 SETNID: ノードID設定命令 SETGID: グループID設定命令 STAT : ステイタス回収命令 RESNID: ノードIDリセット命令 TESTS : Test&Set命令 TESTR : Test&Reset命令 INTH : ハードウェアインタラプト命令 INTS : ソフトウェアインタラプト命令 BNOP : BUSNOP命令(ノーオペレーショ
ン命令)
Next, the ring bus instruction used in such an operation mode will be specified. The following is a list of ring bus instructions. SEND: Data transfer command SENDA: Data transfer command with address RTRV: Data recovery command RTRVA: Data recovery command with address MODE0: Mode switching command to Mode0 MODE1: Mode switching command to MODE1 MODE2: Mode switching command to MODE2: MODEX: Mode switching command to ModeX SETNID: Node ID setting command SETGID: Group ID setting command STAT: Status recovery command RESNID: Node ID reset command TESTS: Test & Set command TESTR: Test & Reset command INTH: Hardware interrupt command INTS B: NOP command: Software interrupt command BUSNOP instruction (no operation instruction)

【0047】これらのリングバス命令は、整数演算ユニ
ッット(IAU)23の命令セットの内に割り当てられ
ており、整数演算ユニッット23がこれらのリングバス
命令を受け付けて、読み込みデコードして解析し、各々
の演算制御信号を送出する。つまり、整数演算ユニッッ
ト23がリングバス命令を入力してデコードすると、制
御信号群39の信号線を通じて、リングバスインターフ
ェイスユニット制御回路27に伝えられるので、リング
バスインターフェイスユニット制御回路27では、その
リングバス命令の対応の制御動作を行う。
These ring bus instructions are assigned within the instruction set of the integer arithmetic unit (IAU) 23, and the integer arithmetic unit 23 accepts these ring bus instructions, reads, decodes and analyzes them. The calculation control signal of is transmitted. That is, when the integer arithmetic unit 23 inputs and decodes the ring bus instruction, it is transmitted to the ring bus interface unit control circuit 27 through the signal line of the control signal group 39. Performs the control operation corresponding to the instruction.

【0048】Mode0およびMode1の動作モードにおい
て、リングバス命令を発行できるのは、前述したよう
に、マスターノード(あるいはアクティブノード)だけ
であり、スレーブノード(あるいはパッシブノード)
は、命令を受け取って解釈し実行するだけである。ただ
し、INTH命令(ハードウェア割り込み)は、スレー
ブノード(あるいはパッシブノード)において発行可能
である。このINTH命令によるハードウェア割り込み
は、割り込み信号線により各ノードのプロセッサエレメ
ントに伝えられる。
In the operation modes of Mode 0 and Mode 1, as described above, only the master node (or active node) can issue the ring bus instruction, and the slave node (or passive node).
Only receives, interprets and executes instructions. However, the INTH instruction (hardware interrupt) can be issued in the slave node (or passive node). The hardware interrupt due to this INTH instruction is transmitted to the processor element of each node by an interrupt signal line.

【0049】Mode2の動作モードにおいては、全ての
ノードは、INTH命令以外の命令を発行できない。リ
ングバス命令のパケットフォーマットのデータ構造の例
を、図6に示している。図6は、SEND命令のパケッ
トフォーマットを示す図である。図6において、100
はSEND命令のパケットフォーマット、100aは命
令フィールド、100bはデータ長フィールド、100
cはソースフィールド、100dはディスティネーショ
ンフィールドである。また、100eはダミーパケッ
ト、100fはデータパケットをそれぞれ示している。
In the operation mode of Mode2, all nodes cannot issue any instruction other than the INTH instruction. An example of the data structure of the packet format of the ring bus instruction is shown in FIG. FIG. 6 is a diagram showing a packet format of the SEND instruction. In FIG. 6, 100
Is a packet format of the SEND command, 100a is a command field, 100b is a data length field, 100
c is a source field and 100d is a destination field. Further, reference numeral 100e indicates a dummy packet, and reference numeral 100f indicates a data packet.

【0050】図6に示すように、リングバス命令のパケ
ットフォーマット100は、64ビットのパケットの1
個乃至複数個から構成されており、その内容は、命令パ
ケット(ヘッダ部)およびそれに続くデータパケット
(データ部)から構成されている。これらの命令パケッ
トおよびデータパケットの各パケットが1クロック当た
り1個づつ、単独で、あるいは連続してリングバス上を
伝搬してゆき、各ノードに当該リングバス命令の命令パ
ケットおよびデータパケットのパケットフォーマットの
全体が伝えられる。この場合、例えば、図4に示すよう
に、1つのノードを通過するため、リングバスデータ入
力28からリングバスデータ出力31まで伝搬される場
合に、ラッチ回路70を介して同期がとられて伝達され
るので、1クロックサイクルの遅延が生ずる。従って、
1ノード当たり1クロックサイクルの遅延を伴って、命
令パケットおよびデータパケットは、リングバス上の各
ノードを伝搬してゆく。図6に示すようなリングバス命
令のパケットフォーマットのデータパケット(リングバ
ス命令)は、リングバス上を一巡し、命令を発行したノ
ードまで伝えられて、そこで伝搬は止められる。
As shown in FIG. 6, the packet format 100 of the ring bus instruction is 1 for 64-bit packets.
It is composed of one or more pieces, and the content thereof is composed of an instruction packet (header section) and a data packet (data section) following it. Each of these instruction packets and data packets, one packet per clock, propagates individually or continuously on the ring bus, and the packet format of the instruction packet and the data packet of the ring bus instruction to each node. The whole is told. In this case, for example, as shown in FIG. 4, since the signal passes through one node, when it propagates from the ring bus data input 28 to the ring bus data output 31, it is transmitted in synchronization via the latch circuit 70. Therefore, a delay of one clock cycle occurs. Therefore,
Instruction and data packets propagate through each node on the ring bus with a delay of one clock cycle per node. A data packet (ring bus instruction) in the packet format of the ring bus instruction as shown in FIG. 6 goes around the ring bus to the node that issued the instruction, and the propagation is stopped there.

【0051】リングバス上の各ノードのノードアドレス
は、ノードIDとグループIDにより設定される。ノー
ドIDは“0”〜“32767”(15ビットの2進
数)の範囲で、各ノードIDが一意となるように設定さ
れ、グループIDは“0”〜“14”(15ビットの各
々のビット位置)の範囲で各ノードに設定される。
The node address of each node on the ring bus is set by the node ID and the group ID. The node ID is set so that each node ID is unique within the range of "0" to "32767" (15-bit binary number), and the group ID is "0" to "14" (each of 15 bits). It is set to each node within the range of (position).

【0052】このため、リングバス命令の中の命令パケ
ット中のソースIDフィールド(以下srcフィールド
と称する)100cには、パケットを発行したノードの
ノードID(15ビットの2進数)の値がそのまま格納
される。また、送信する相手先を指定するディスティネ
ーションノードIDフィールド(以下destフィール
ドと称する)100dの指定には、単一ノード指定(ユ
ニキャスト)、複数ノード指定(マルチキャスト)、全
ノード指定(ブロードキャスト)があり、それぞれの指
定に応じて、ノードIDまたはグループIDの値が設定
される。
Therefore, the value of the node ID (15-bit binary number) of the node that issued the packet is stored as it is in the source ID field (hereinafter referred to as src field) 100c in the instruction packet of the ring bus instruction. To be done. In addition, the destination node ID field (hereinafter referred to as the "dest field") 100d that designates the destination of transmission includes single node designation (unicast), multiple node designation (multicast), and all node designation (broadcast). Yes, the value of the node ID or the group ID is set according to each designation.

【0053】単一ノード指定の場合は、destフィー
ルド100dには、指定するノードのノードIDがその
まま設定される。この場合、destフィールドのMS
B(第15ビット)が“0”であり、第0ビットから第
14ビットに、指定する相手ノードのノードIDの値
が、そのまま格納される。また、複数ノード指定の場合
には、destフィールド100dのMSB(第15ビ
ット)が“1”とされ、第0ビットから第14ビットの
ビット位置において、グループIDに対応する位置に設
定された“1”のビットが、そのグループIDを指定し
ていることになる。例えば、destフィールド100
dに設定されたビット表現のアドレス“1000000
000000101”の指定では、MSB(第15ビッ
ト)が“1”であり、複数ノード指定(マルチキャス
ト)の指示がなされたことであり、その第0ビットから
第14ビットのビット位置から、グループIDが“0”
または“2”のノードを選択することを意味している。
このように、destフィールド100dに設定された
ビット位置により、それぞれのノードを指定する。した
がって、ここでは、全ノード指定(ブロードキャスト)
の場合には、第0ビットから第15ビットの全てを
“1”として、全てのノードの指定を指示するようにし
ている。次に、個々のリングバス命令について、その命
令が実行される場合の動作例について説明する。
When a single node is designated, the node ID of the designated node is directly set in the dest field 100d. In this case, the MS of the dest field
B (15th bit) is "0", and the value of the node ID of the designated partner node is stored as it is in the 0th bit to the 14th bit. In the case of designation of a plurality of nodes, the MSB (15th bit) of the dest field 100d is set to "1", and the bit position from the 0th bit to the 14th bit is set to the position corresponding to the group ID. The 1 "bit specifies the group ID. For example, the dest field 100
The address of the bit expression set in d is "1000000."
In the designation of "000000101", the MSB (15th bit) is "1", and the designation of multiple nodes (multicast) is made. From the 0th bit to the 14th bit, the group ID is "0"
Or it means selecting the node of "2".
In this way, each node is designated by the bit position set in the dest field 100d. Therefore, here, all nodes are designated (broadcast).
In this case, all the 0th to 15th bits are set to "1" to instruct designation of all nodes. Next, for each ring bus instruction, an operation example when the instruction is executed will be described.

【0054】SEND命令(データ転送命令) 前述した図6に当該SEND命令のパケットフォーマッ
トのデータ構造が示されており、図6を参照して説明す
る。SEND命令を実行するマスターノードあるいはア
クティブノードのプロセッサエレントにおいては、リン
グバスインターフェイスユニット21から、SEND命
令のパケットフォーマット100に従って、転送するデ
ータを送出する。
SEND Command (Data Transfer Command) FIG. 6 described above shows the data structure of the packet format of the SEND command, which will be described with reference to FIG. In the processor element of the master node or the active node that executes the SEND instruction, the ring bus interface unit 21 sends the data to be transferred according to the packet format 100 of the SEND instruction.

【0055】この場合、SEND命令のパケットフォー
マット100において、最初の命令パケットの命令フィ
ールド100aに格納する命令コードは、整数演算ユニ
ット23から受け取って格納する。また、発信元を示す
srcフィールド100cのノードIDの値としては、
ノードIDレジスタ(NIDR)44の値が格納され
る。そして、データ長フィールド(以下lenフィール
ドと称する)100b,destフィールド100d,
およびデータパケット100fに、それぞれ格納する値
は、次に説明するようなデータ構造に従ってメモリアク
セスを行って、データ読み出し処理を行い、ローカルメ
モリから読み出して格納する。また、命令パケット(1
00a〜100d)とデータパケット100fとの間
は、データ読み出しのタイミング調整に応じてダミーパ
ケット100eが挿入される。このSEND命令のパケ
ットフォーマット100においては、2つのダミーパケ
ットが挿入されている。
In this case, in the packet format 100 of the SEND instruction, the instruction code stored in the instruction field 100a of the first instruction packet is received from the integer arithmetic unit 23 and stored. Also, as the value of the node ID of the src field 100c indicating the transmission source,
The value of the node ID register (NIDR) 44 is stored. The data length field (hereinafter referred to as the len field) 100b, the dest field 100d,
The values to be stored in the data packet 100f and the data packet 100f are read out from the local memory and stored by performing memory access according to the data structure described below. In addition, the instruction packet (1
00a to 100d) and the data packet 100f, a dummy packet 100e is inserted according to the timing adjustment of data reading. In the packet format 100 of this SEND command, two dummy packets are inserted.

【0056】図7は、SEND命令実行時に用いられる
データ読み出しのためのデータ構造を説明する図であ
る。図7に示すように、リングバス命令ポインタ(CM
DP)47には、この場合のデータ読み出しのためのデ
ータ構造へのポインタが予め設定されている。メモリイ
ンターフェイスユニット(MIU)26は、リングバス
命令ポインタ(CMDP)47の内容をメモリアドレス
として出力することにより、ローカルメモリ中に格納さ
れているディスクリプタブロック(desc)120を
アクセスする。ディスクリプタブロック(desc)1
20には、図7に示すように、ディスクリプタポインタ
フィールド(desp)120a,メモリブロックポイ
ンタフィールド(memp)120b,データ長フィー
ルド(len)120d,および、送信先アドレスフィ
ールド(dest)120fが設けられている。各フィ
ールドにデータを格納するように64ビットのパケット
2つに対応する領域が割り当てられるが、使用されない
領域は未使用領域120c,120eとして残される。
FIG. 7 is a diagram for explaining the data structure for reading data used when executing the SEND instruction. As shown in FIG. 7, a ring bus instruction pointer (CM
In the DP) 47, a pointer to a data structure for reading data in this case is set in advance. The memory interface unit (MIU) 26 accesses the descriptor block (desc) 120 stored in the local memory by outputting the content of the ring bus instruction pointer (CMDP) 47 as a memory address. Descriptor block (desc) 1
7, the descriptor pointer field (desp) 120a, the memory block pointer field (mem) 120b, the data length field (len) 120d, and the destination address field (dest) 120f are provided in FIG. There is. Areas corresponding to two 64-bit packets are allocated to store data in each field, but unused areas are left as unused areas 120c and 120e.

【0057】ディスクリプタポインタフィールド(de
sp)120aには、データが継続する場合の次のディ
スクリプタポインタの先頭アドレスが設定される。次の
SEND命令のために、リングバス命令ポインタ(CM
DP)47には、当該ディスクリプタポインタ(des
p)120aの値が入れられる。メモリブロックポイン
タフィールド(memp)120bには、転送すベきデ
ータ領域121の先頭アドレスが設定される。当該メモ
リブロックポインタフィールド(memp)120bの
値は、メモリインタフェースユニット(MIU)26の
レジスタ群のメモリブロックポインタ(MEMBP)に
書き込まれ、データの読み出しの際、当該メモリブロッ
クポインタ(MEMBP)のデータ値が、インクリメン
トされながら、アドレスとして出力される。
Descriptor pointer field (de
sp) 120a is set to the start address of the next descriptor pointer when data continues. For the next SEND instruction, the ring bus instruction pointer (CM
The DP) 47 contains the descriptor pointer (des).
p) The value of 120a is entered. The start address of the data area 121 to be transferred is set in the memory block pointer field (mem) 120b. The value of the memory block pointer field (mem) 120b is written in the memory block pointer (MEMBP) of the register group of the memory interface unit (MIU) 26, and when reading the data, the data value of the memory block pointer (MEMBP). Is output as an address while being incremented.

【0058】データ長フィールド(len)120dに
は、SEND命令のパケットフォーマット100のle
nフィールド100bに格納されるデータ長が設定され
る。また、この場合に、データ長は、メモリインタフェ
ースユニット(MIU)26のレジスタ群のメモリカウ
ンタ(MCNT)に設定されて、転送すべきデータ領域
121のデータの数を数えるために用いられる。また、
送信先アドレスフィールド(dest)120fには、
SEND命令のパケットフォーマット100のdest
フィールド100dに設定される送信先アドレスが設定
される。
In the data length field (len) 120d, le of the packet format 100 of the SEND instruction is set.
The data length stored in the n field 100b is set. Further, in this case, the data length is set in the memory counter (MCNT) of the register group of the memory interface unit (MIU) 26 and is used to count the number of data in the data area 121 to be transferred. Also,
In the destination address field (dest) 120f,
DEST of packet format 100 of SEND instruction
The destination address set in the field 100d is set.

【0059】このようなデータ構造によるメモリアクセ
スから読み出され、転送されるデータは、ローカルメモ
リからローカルバス、メモリインターフェイスユニット
(MIU)26、内部データバス22を通って、リング
バスインターフェイスユニット21に送られ、リングバ
ス上に送出される。リングバスインターフェイスユニッ
ト21においては、図4に示すように、内部データバス
22を通じて読み出されたデータは、出力FIFOメモ
リ32に蓄えられ、マルチプレクサ29,ラッチ回路3
0を介して、リングバスデータ出力31の信号線から出
力される。この場合のデータ転送タイミングは、図8に
示されている。
The data read and transferred from the memory access having such a data structure is transferred from the local memory to the ring bus interface unit 21 through the local bus, the memory interface unit (MIU) 26 and the internal data bus 22. Sent and sent out on the ring bus. In the ring bus interface unit 21, as shown in FIG. 4, the data read through the internal data bus 22 is stored in the output FIFO memory 32, and the multiplexer 29 and the latch circuit 3 are stored.
It is output from the signal line of the ring bus data output 31 via 0. The data transfer timing in this case is shown in FIG.

【0060】図8は、SEND命令によるデータ送信の
データ転送タイミングを説明するイミングチャートであ
る。つまり、図8に示すように、SEND命令が発行さ
れる場合は、第1クロックにおいて、コマンド出力信号
によって、リングバス命令の発行が指示され、そのクロ
ックのタイミングで、リングバスデータ出力として、以
降にパケットフォーマットのパケットが順次に出力され
る。リングバスデータ出力には、まず、命令パケット
(Header)が送出され、続いてデータパケットが送出さ
れる。その場合において、転送されるベきデータの読み
出しが開始され、ローカルメモリからローカルバス、内
部データバスを介してデータが読み出されるが、第2ク
ロックにおいて、転送データ(第1番目のデータパケッ
ト)がローカルバスに載せられ、続く、第3クロックに
おいて、転送データ(第1番目のデータパケット)が内
部データバスに載せられる。そして、転送データ(第1
番目のデータパケット)が、リングバスデータ出力とし
て送出されるのは、第4クロックになってからである。
このため、ここでは、2つのダミーパケット(Dummy)
が、命令パケット(Header)の後に続いて送出され、第
4クロック以降に、第1番目のデータパケットが送出さ
れる。
FIG. 8 is an iming chart for explaining the data transfer timing of data transmission by the SEND instruction. That is, as shown in FIG. 8, when the SEND instruction is issued, at the first clock, the issue of the ring bus instruction is instructed by the command output signal, and at the timing of the clock, as the ring bus data output, Packets in the packet format are sequentially output to. A command packet (Header) is first transmitted to the ring bus data output, and then a data packet is transmitted. In that case, the reading of the data to be transferred is started, and the data is read from the local memory via the local bus and the internal data bus. However, at the second clock, the transfer data (first data packet) The transfer data (first data packet) is placed on the internal data bus at the third clock that follows. Then, the transfer data (first
The fourth data packet) is sent out as the ring bus data output only after the fourth clock.
Therefore, here, two dummy packets (Dummy)
Are transmitted subsequently to the command packet (Header), and the first data packet is transmitted after the fourth clock.

【0061】次に、このようなSEND命令のパケット
を受け取ったスレーブノードあるいはパッシブノードに
おけるデータ受信動作について説明する。スレーブノー
ドあるいはパッシブノードのプロセッサエレメントにお
いては、リングバスインターフェイスユニット21にお
いて、図4に示すように、リングバスデータ入力28か
らSEND命令のパケットを受け取るので、比較器35
により、パケットフォーマット100のdestフィー
ルド100dのノードアドレスの値と、ノードIDレジ
スタ(NIDR)44またはグループIDレジスタ45
に設定されたノードアドレスの値とを比較する。この場
合、比較器35は、destフィールド100dのMS
B(第15ビット)が“0”であれば、destフィー
ルド100dのノードアドレスの値と、ノードIDレジ
スタ(NIDR)44との比較を行い、また、dest
フィールド100dのMSB(第15ビット)が“1”
であれば、destフィールド100dのノードアドレ
スの値と、グループIDレジスタ(GIDR)45との
ビット位置での比較を行う。
Next, the data receiving operation in the slave node or the passive node which receives the packet of the SEND command will be described. In the processor element of the slave node or the passive node, the ring bus interface unit 21 receives the SEND command packet from the ring bus data input 28, as shown in FIG.
The value of the node address in the dest field 100d of the packet format 100 and the node ID register (NIDR) 44 or the group ID register 45
The value of the node address set in is compared. In this case, the comparator 35 uses the MS of the dest field 100d.
If B (15th bit) is "0", the value of the node address in the dest field 100d is compared with the node ID register (NIDR) 44, and dest
MSB (15th bit) of field 100d is "1"
If so, the value of the node address of the dest field 100d is compared with the group ID register (GIDR) 45 at the bit position.

【0062】この比較演算の結果、もし、ノードアドレ
スのアドレス条件が一致すれば、当該SEND命令の命
令パケットに続くデータパケットは、リングバスデータ
入力28から入力されて、入力FIFOメモリ33に格
納される。また、ノードアドレスのアドレス条件が一致
しない場合には、リングバスデータ入力28から入力さ
れた命令パケットおよびデータパケットは、マルチプレ
クサ29、ラッチ回路30、リングバスデータ出力31
を介して、そのまま出力される。
As a result of this comparison operation, if the address conditions of the node address match, the data packet following the command packet of the SEND command is input from the ring bus data input 28 and stored in the input FIFO memory 33. It When the address conditions of the node address do not match, the instruction packet and the data packet input from the ring bus data input 28 are the multiplexer 29, the latch circuit 30, and the ring bus data output 31.
It is output as it is via.

【0063】なお、ノードアドレスのアドレス条件が一
致する場合には、リングバスデータ入力28から入力さ
れた命令パケットおよびデータパケットを、次のノード
に出力することはしない(このルールは以下に説明する
全ての命令に適用される)。入力FIFOメモリ33に
格納されたデータパケットは、前述の場合と同様なデー
タ構造によるメモリアクセス手法に従って、内部データ
バス22,ローカルバスを経て、ローカルメモリの所定
のアドレスに格納される。
When the address conditions of the node address match, the instruction packet and the data packet input from the ring bus data input 28 are not output to the next node (this rule will be described below. Applies to all orders). The data packet stored in the input FIFO memory 33 is stored at a predetermined address in the local memory via the internal data bus 22 and the local bus according to the memory access method based on the data structure similar to that described above.

【0064】図9は、SEND命令実行時に用いられる
データ格納のためのデータ構造を説明する図である。図
9に示すように、この場合のディスクリプタブロックの
データ構造によるメモリアクセスにおいては、SEND
命令ポインタ(SENDRP)48には、このデータ構
造へのポインタが予め設定されている。メモリインタフ
ェースユニット(MIU)26は、SEND命令ポイン
タ(SENDRP)48をメモリアドレスとして出力す
ることにより、ローカルメモリ中のディスクリプタブロ
ック(desc)122をアクセスする。この場合のデ
ィスクリプタブロック(desc)122には、図9に
示すように、ディスクリプタポインタフィールド(de
sp)122a,メモリブロックポインタフィールド
(memp)122b,データ長フィールド(len)
122d,および、送信元アドレスフィールド(sr
c)122eが設けられている。各フィールドにデータ
を格納するように64ビットのパケット2つに対応する
領域が割り当てられるが、使用されない領域は未使用領
域122c,122fとして残される。
FIG. 9 is a diagram for explaining the data structure for storing data used when the SEND instruction is executed. As shown in FIG. 9, in the memory access by the data structure of the descriptor block in this case, SEND
A pointer to this data structure is preset in the instruction pointer (SENDRP) 48. The memory interface unit (MIU) 26 accesses the descriptor block (desc) 122 in the local memory by outputting the SEND instruction pointer (SENDRP) 48 as a memory address. In the descriptor block (desc) 122 in this case, as shown in FIG. 9, the descriptor pointer field (de
sp) 122a, memory block pointer field (mem) 122b, data length field (len)
122d and the source address field (sr
c) 122e is provided. Areas corresponding to two 64-bit packets are allocated so as to store data in each field, but unused areas are left as unused areas 122c and 122f.

【0065】ディスクリプタポインタフィールド(de
sp)122aには、次のディスクリプタポインタの先
頭アドレスが設定される。次のSEND命令のために、
SEND命令ポインタ(SENDRP)48には、当該
ディスクリプタポインタ(desp)122aの値が入
れられる。メモリブロックポインタフィールド(mem
p)122bには、送られてきたデータを格納すベきデ
ータ領域123の先頭アドレスが設定される。当該メモ
リブロックポインタフィールド(memp)122bの
値は、メモリインターフェイスユニット26のレジスタ
群のメモリブロックポインタ(MEMBP)に書き込ま
れ、データ書込みの際、当該メモリブロックポインタ
(MEMBP)の値がインクリメントしながら、アドレ
スとして出力される。データ長フィールド(len)1
22dには、送られてきたSEND命令のパケットフォ
ーマット100のlenフィールド100bが書き込ま
れる。また、このデータ長フィールド(len)122
dの値は、メモリインターフェイスユニット26のレジ
スタ群のメモリカウンタ(MCNT)に設定されて、デ
ータ領域123のデータの数を数えるために用いられ
る。なお、この場合の送信元アドレスフィールド(sr
c)122eには、パケットフォーマット100のsr
cフィールド100cに入れられた送信元アドレスが設
定される。
Descriptor pointer field (de
sp) 122a is set with the start address of the next descriptor pointer. For the next SEND command,
The value of the descriptor pointer (desp) 122a is stored in the SEND instruction pointer (SENDRP) 48. Memory block pointer field (mem
p) 122b, the start address of the data area 123 for storing the transmitted data is set. The value of the memory block pointer field (mem) 122b is written in the memory block pointer (MEMBP) of the register group of the memory interface unit 26, and when the data is written, the value of the memory block pointer (MEMBP) is incremented, It is output as an address. Data length field (len) 1
The len field 100b of the packet format 100 of the sent SEND instruction is written in 22d. Further, this data length field (len) 122
The value of d is set in the memory counter (MCNT) of the register group of the memory interface unit 26 and used to count the number of data in the data area 123. In this case, the source address field (sr
c) 122e contains sr of packet format 100
The source address entered in the c field 100c is set.

【0066】このデータ構造によるメモリアクセスによ
って書き込まれるデータは、入力FIFOメモリ33
(図4),内部データバス22,ローカルバスを通して
ローカルメモリに転送される。この場合のデータ転送タ
イミングが、図10に示されている。図10は、SEN
D命令によるデータ受信処理のデータ取り込みタイミン
グを説明するタイミングチャートである。図10に示す
ように、SEND命令のパケットによるデータ転送を受
け付けて、受信処理を開始する場合、命令パケットのノ
ードアドレスのアドレス条件が一致すると、データパケ
ットを順次に受信して入力FIFOメモリ33に一時的
に格納する。
The data written by the memory access according to this data structure is the input FIFO memory 33.
(FIG. 4), transferred to the local memory through the internal data bus 22 and the local bus. The data transfer timing in this case is shown in FIG. Figure 10 shows SEN
7 is a timing chart illustrating a data fetching timing of a data receiving process by a D command. As shown in FIG. 10, when the data transfer by the packet of the SEND command is accepted and the reception process is started, if the address conditions of the node address of the command packet match, the data packets are sequentially received and are input to the input FIFO memory 33. Store temporarily.

【0067】この場合において、リングバスデータ入力
から、データが入力されてから内部データバスに転送さ
れるまでの間に、9クロックサイクル遅れている理由
は、受信ノードのプロセッサエレメントにおいて、内部
データバス22の使用のための使用権を得て、ディスク
リプタブロック(desc)122を読み出し、各レジ
スタにデータ書込み制御のためのデータを設定する処理
を終える時間として、9クロックサイクルのサイクル数
を要するからである。ここでの9クロックサイクルの遅
れ時間は、データパケットが入力FIFOメモリ33に
格納されて吸収される。
In this case, the reason why there is a delay of 9 clock cycles between the input of data from the ring bus and the transfer of the data from the input to the internal data bus is that the processor element of the receiving node uses the internal data bus. It is necessary to obtain the right to use 22 to read the descriptor block (desc) 122 and set the data for controlling the data writing in each register, which requires 9 clock cycles. is there. The delay time of 9 clock cycles is absorbed by the data packet stored in the input FIFO memory 33.

【0068】SENDA命令(アドレス付きデータ転送
命令) 図11は、SENDA命令のパケットフォーマットを示
す図である。図11において、101はSENDA命令
のパケットフォーマット、101aは命令フィールド、
101bはデータ長フィールド、101cはソースフィ
ールド、101dはディスティネーションフィールド、
101eはアドレスフィールドである。また、101f
はダミーパケット、101gはデータパケットをそれぞ
れ示している。ここでのSENDA命令のパケットフォ
ーマット101は、前述のSEND命令のパケットフォ
ーマット100の各フィールドに加えて、更にアドレス
フィールド101eが付加されている。
SENDA instruction (data transfer with address
Command) FIG. 11 is a diagram showing a packet format of a SENDA command. In FIG. 11, 101 is the packet format of the SENDA command, 101a is the command field,
101b is a data length field, 101c is a source field, 101d is a destination field,
101e is an address field. Also 101f
Indicates a dummy packet and 101g indicates a data packet. In the packet format 101 of the SENDA command here, in addition to the fields of the packet format 100 of the SEND command described above, an address field 101e is further added.

【0069】このようなSENDA命令を実行するマス
ターノードあるいはアクティブノードにおいては、その
プロセッサエレレメントのリングバスインターフェイス
ユニット(RBIU)21において、図11に示すよう
なSENDA命令のパケットフォーマット101に従っ
て、命令パケットによるアドレスの付加と共に、データ
パケットにより転送するデータを送出する。
In the master node or the active node which executes such a SENDA instruction, the ring bus interface unit (RBIU) 21 of the processor element, in accordance with the packet format 101 of the SENDA instruction as shown in FIG. Along with the addition of the address by, the data to be transferred is transmitted by the data packet.

【0070】この場合、SENDA命令のパケットフォ
ーマット101においては、前述の場合と同様に、最初
の命令パケットの命令フィールド101aに格納する命
令コードは、整数演算ユニット23から受け取って格納
する。また、発信元を示すノードIDを格納するソース
フィールド(以下srcフィールドと称する)101c
のノードIDの値としては、ノードIDレジスタ(NI
DR)44の値が格納される。データ長を格納するデー
タ長フィールド(以下lenフィールドと称する)10
1b,送信先を格納するディスティネーションフィール
ド(以下destフィールドと称する)101d,デー
タパケット101fに格納する値は、次に説明するよう
なデータ構造によりメモリアクセスを行い、データ読み
出し処理を行い、ローカルメモリから読み出して格納す
る。また、命令パケット(100a〜100e)とデー
タパケット101gとの間は、データ読み出しのタイミ
ング調整に応じてダミーパケット101fが挿入され
る。ここでは、1つのダミーパケットが挿入される。
In this case, in the packet format 101 of the SENDA instruction, the instruction code stored in the instruction field 101a of the first instruction packet is received from the integer arithmetic unit 23 and stored, as in the case described above. In addition, a source field (hereinafter referred to as src field) 101c that stores a node ID indicating a transmission source.
The node ID value of the node ID register (NI
The value of (DR) 44 is stored. A data length field (hereinafter referred to as a len field) 10 for storing the data length
1b, a destination field (hereinafter referred to as a "dest field") 101d for storing a destination, and a value to be stored in a data packet 101f are memory-accessed by a data structure as described below, data read processing is performed, and a local memory is used. Read from and store. A dummy packet 101f is inserted between the instruction packet (100a to 100e) and the data packet 101g according to the timing adjustment of data reading. Here, one dummy packet is inserted.

【0071】SENDA命令によるデータ転送の動作
は、基本的には、SEND命令の場合と同様であるが、
その相違点は、データの送り先のメモリアドレスを格納
するアドレスフィールド101eが、命令パケットに付
加されており、そのメモリアドレスに係る処理が加わる
ことである。図12は、SENDA命令の実行時に用い
られるメモリアクセスのためのデータ構造を示す図であ
る。図12を参照して、この場合のメモリアクセスにつ
いて説明する。
The operation of data transfer by the SENDA instruction is basically the same as that of the SEND instruction.
The difference is that the address field 101e for storing the memory address of the data transmission destination is added to the instruction packet, and the processing related to the memory address is added. FIG. 12 is a diagram showing a data structure for memory access used when the SENDA instruction is executed. Memory access in this case will be described with reference to FIG.

【0072】リングバス命令ポインタ(CMDP)47
には、このデータ構造へのポインタが予め設定される。
メモリインターフェイスユニット(MIU)26は、リ
ングバス命令ポインタ(CMDP)47をメモリアドレ
スとして出力することにより、ローカルメモリの中に格
納されているディスクリタポインタブロック(des
c)124をアクセスする。
Ring Bus Instruction Pointer (CMDP) 47
In, a pointer to this data structure is preset.
The memory interface unit (MIU) 26 outputs the ring bus instruction pointer (CMDP) 47 as a memory address, so as to output the disc pointer pointer block (des) stored in the local memory.
c) Access 124.

【0073】ディスクリタポインタブロック(des
c)124の構造は、データの送り先のメモリアドレス
を格納するアドレスフィールド124gが付加されてい
ることを除いて、前述した図7のディスクリタポインタ
ブロック(desc)120と同様である。すなわち、
図12に示すように、ディスクリプタブロック(des
c)124には、ディスクリプタポインタフィールド
(desp)124a,メモリブロックポインタフィー
ルド(memp)124b,データ長フィールド(le
n)124d,送信先アドレスフィールド(dest)
124f,およびアドレスフィールド(addr)12
4gが設けられている。この場合、各フィールドにデー
タを格納するように64ビットのパケット3つに対応す
る領域が割り当てられる。また、ここにおいても、使用
されない領域は,未使用領域124c,124eとして
残される。
Discrete pointer block (des
The structure of c) 124 is the same as that of the above-mentioned discriter pointer block (desc) 120 of FIG. 7 except that an address field 124g for storing the memory address of the data destination is added. That is,
As shown in FIG. 12, the descriptor block (des
c) 124 has a descriptor pointer field (desp) 124a, a memory block pointer field (mem) 124b, and a data length field (le).
n) 124d, destination address field (dest)
124f, and address field (addr) 12
4g is provided. In this case, areas corresponding to three 64-bit packets are allocated so as to store data in each field. Also in this case, unused areas are left as unused areas 124c and 124e.

【0074】ディスクリプタポインタフィールド(de
sp)124aには、データが継続する場合の次のディ
スクリプタポインタの先頭アドレスが設定される。次の
SENDA命令のために、リングバス命令ポインタ(C
MDP)47には、当該ディスクリプタポインタ(de
sp)124aの値が入れられる。メモリブロックポイ
ンタフィールド(memp)124bには、転送すベき
データ領域125の先頭アドレスが設定される。当該メ
モリブロックポインタフィールド(memp)124b
の値は、メモリインタフェースユニット(MIU)26
のレジスタ群のメモリブロックポインタ(MEMBP)
に書き込まれ、データの読み出しの際、当該メモリブロ
ックポインタ(MEMBP)のデータ値が、インクリメ
ントされながら、アドレスとして出力される。
Descriptor pointer field (de
sp) 124a is set with the start address of the next descriptor pointer when data continues. For the next SENDA instruction, the ring bus instruction pointer (C
The MDP 47 contains the descriptor pointer (de
sp) The value of 124a is entered. The start address of the data area 125 to be transferred is set in the memory block pointer field (mem) 124b. The memory block pointer field (mem) 124b
Value of the memory interface unit (MIU) 26
Register block memory block pointer (MEMBP)
When the data is read, the data value of the memory block pointer (MEMBP) is output as an address while being incremented.

【0075】また、データ長フィールド(len)12
4dには、パケットフォーマット101のlenフィー
ルド101bに格納されるデータ長が設定される。ま
た、この場合に、データ長は、メモリインタフェースユ
ニット(MIU)26のレジスタ群のメモリカウンタ
(MCNT)に設定されて、転送すべきデータ領域12
5のデータの数を数えるために用いられる。送信先アド
レスフィールド(dest)124fには、パケットフ
ォーマット101のdestフィールド101dに設定
される送信先アドレスが設定される。アドレスフィール
ド(addr)124gには、データの送り先のメモリ
アドレスを格納するアドレスフィールド101eの値が
格納される。
The data length field (len) 12
In 4d, the data length stored in the len field 101b of the packet format 101 is set. In this case, the data length is set in the memory counter (MCNT) of the register group of the memory interface unit (MIU) 26, and the data area 12 to be transferred is set.
Used to count the number of 5 data. In the transmission destination address field (dest) 124f, the transmission destination address set in the dest field 101d of the packet format 101 is set. The address field (addr) 124g stores the value of the address field 101e that stores the memory address of the data destination.

【0076】このようなデータ構造によるメモリアクセ
スから読み出され、転送されるデータは、前述のSEN
D命令の場合と同様に、ローカルメモリからローカルバ
ス、メモリインターフェイスユニット(MIU)26、
そして、内部データバス22を通って、リングバスイン
ターフェイスユニット21に送られ、リングバス上に送
出される。リングバスインターフェイスユニット21に
おいては、図4に示すように、内部データバス22を通
じて読み出されたデータは、出力FIFOメモリ32に
蓄えられ、マルチプレクサ29,ラッチ回路30を介し
て、リングバスデータ出力31の信号線から出力され
る。この場合のデータ転送タイミングが、図13に示さ
れている。
The data read and transferred from the memory access having such a data structure is the SEN described above.
As in the case of the D instruction, the local memory to the local bus, the memory interface unit (MIU) 26,
Then, it is sent to the ring bus interface unit 21 through the internal data bus 22 and sent out on the ring bus. In the ring bus interface unit 21, as shown in FIG. 4, the data read through the internal data bus 22 is stored in the output FIFO memory 32, and the ring bus data output 31 through the multiplexer 29 and the latch circuit 30. Is output from the signal line of. The data transfer timing in this case is shown in FIG.

【0077】図13は、SENDA命令によるデータ送
信のデータ転送タイミングを説明するタイミングチャー
トである。この場合、図13に示すように、SENDA
命令が発行される場合は、第1クロックにおいて、コマ
ンド出力信号によって、リングバス命令の発行が指示さ
れ、そのクロックのタイミングで、リングバスデータ出
力として、以降にパケットフォーマットのパケットが順
次に出力される。ここでは、リングバス命令の命令パケ
ットにアドレスが付加されるため、2つの命令パケット
(Header1, Header2)が送出される。このため、リン
グバスデータ出力には、まず、第1番目の命令パケット
(Header1)が送出され、続いて、第2番目の命令パケ
ット(Header3)が送出される。そして、データパケッ
トが送出される。この場合にも、転送されるベきデータ
の読み出しが開始され、ローカルメモリからローカルバ
ス、内部データバスを介してデータが読み出されるが、
第2クロックにおいて、転送データ(第1番目のパケッ
ト)がローカルバスに載せられるので、続く、第3クロ
ックにおいて、転送データ(第1番目のパケット)が内
部データバスに載せられる。したがって、第1番目のパ
ケットの転送データが、リングバスデータ出力に送出さ
れるタイミングは、第4クロックになってからである。
このため、ここでは、1つのダミーパケット(Dummy)
が、命令パケット(Header1,Header2)の後に続いて
送出され、第4クロック以降に、第1番目のデータパケ
ットが送出される。
FIG. 13 is a timing chart for explaining the data transfer timing of data transmission by the SENDA instruction. In this case, as shown in FIG.
When an instruction is issued, at the first clock, the command output signal instructs the issuance of a ring bus instruction, and at the timing of that clock, packets of the packet format are sequentially output as ring bus data output. It Here, since an address is added to the command packet of the ring bus command, two command packets (Header1, Header2) are sent. Therefore, first, the first command packet (Header 1) is sent to the ring bus data output, and then the second command packet (Header 3) is sent. Then, the data packet is transmitted. Also in this case, the reading of the data to be transferred is started, and the data is read from the local memory via the local bus and the internal data bus.
Since the transfer data (first packet) is loaded on the local bus at the second clock, the transfer data (first packet) is loaded on the internal data bus at the subsequent third clock. Therefore, the transfer data of the first packet is sent to the ring bus data output only after the fourth clock.
Therefore, here, one dummy packet (Dummy)
Are transmitted subsequently to the instruction packet (Header1, Header2), and the first data packet is transmitted after the fourth clock.

【0078】次に、このようなSENDA命令のパケッ
トを受け取ったスレーブノードあるいはパッシブノード
におけるデータ受信動作について説明する。スレーブノ
ードあるいはパッシブノードのプロセッサエレメントに
おいては、リングバスインターフェイスユニット21に
おいて、前述の図4に示すように、リングバスデータ入
力28からSENDA命令のパケットを受け取るので、
比較器35により、パケットフォーマット101のde
stフィールド101dのノードアドレスの値と、ノー
ドIDレジスタ(NIDR)44またはグループIDレ
ジスタ45に設定されたノードアドレスの値とを比較す
る。この場合において、比較器35は、destフィー
ルド101dのMSB(第15ビット)が“0”であれ
ば、destフィールド101dのノードアドレスの値
と、ノードIDレジスタ(NIDR)44との比較を行
う。destフィールド101dのMSB(第15ビッ
ト)が“1”であれば、destフィールド101dの
ノードアドレスの値と、グループIDレジスタ(GID
R)45とのビット位置での比較を行う。
Next, the data receiving operation in the slave node or the passive node which receives the packet of the SENDA command will be described. In the processor element of the slave node or the passive node, the ring bus interface unit 21 receives the SENDA command packet from the ring bus data input 28 as shown in FIG.
By the comparator 35, the packet format 101 de
The value of the node address in the st field 101d is compared with the value of the node address set in the node ID register (NIDR) 44 or the group ID register 45. In this case, if the MSB (15th bit) of the dest field 101d is “0”, the comparator 35 compares the value of the node address of the dest field 101d with the node ID register (NIDR) 44. If the MSB (15th bit) of the dest field 101d is "1", the value of the node address of the dest field 101d and the group ID register (GID
R) 45 is compared at the bit position.

【0079】比較演算の結果、もし、ノードアドレスの
アドレス条件が一致すれば、当該SENDA命令のパケ
ットのデータパケットは、リングバスデータ入力28か
ら入力されて、入力FIFOメモリ33に格納される。
また、ノードアドレスのアドレス条件が一致しない場合
には、リングバスデータ入力28から入力されたパケッ
トは、マルチプレクサ29、ラッチ回路30、リングバ
スデータ出力31を介して、そのまま出力される。
If the address condition of the node address matches as a result of the comparison operation, the data packet of the packet of the SENDA instruction is input from the ring bus data input 28 and stored in the input FIFO memory 33.
When the address conditions of the node addresses do not match, the packet input from the ring bus data input 28 is output as it is via the multiplexer 29, the latch circuit 30, and the ring bus data output 31.

【0080】この場合、SENDA命令を受け取ったス
レーブノードあるいはパッシブノードは、アドレスが条
件が合致すれば、データパケットを入力FIFOメモリ
33に格納し、データパケットをローカルメモリに書き
込む処理を行うが、SENDA命令を受け取ったスレー
ブノードあるいはパッシブノードは、データのメモリへ
の格納のために、前述のようなデータ構造は用いない。
In this case, the slave node or passive node receiving the SENDA command stores the data packet in the input FIFO memory 33 and writes the data packet in the local memory if the address meets the condition. The slave node or passive node that receives the instruction does not use the above-mentioned data structure for storing the data in the memory.

【0081】つまり、SENDA命令では、データを格
納するためのアドレスが付加されているので、命令パケ
ットの中のaddrフィールド101eのアドレスを、
直接にメモリインタフェースユニット(MIU)26の
メモリブロックポインタ(MEMBP)に書き込み、ま
た、命令パケットのlenフィールド101bのデータ
長を、メモリカウンタ(MCNT)に入れて、ローカル
メモリに書き込むデータの数を数えるために用いる。書
き込まれるデータは、入力FIFOメモリ33(図
4),内部データバス22,ローカルバスを通してロー
カルメモリに転送される。この場合のデータ転送タイミ
ングが、図14に示されている。
That is, in the SENDA command, since the address for storing the data is added, the address of the addr field 101e in the command packet is
Write directly to the memory block pointer (MEMBP) of the memory interface unit (MIU) 26, and put the data length of the len field 101b of the instruction packet into the memory counter (MCNT) to count the number of data to be written to the local memory. Used for. The data to be written is transferred to the local memory through the input FIFO memory 33 (FIG. 4), the internal data bus 22, and the local bus. The data transfer timing in this case is shown in FIG.

【0082】図14は、SENDA命令による受信ノー
ドにおける内部データ転送タイミングを示すタイミング
チャートである。図14に示すように、SENDA命令
のパケットによるデータ転送を受け付けて、受信処理を
開始する場合、命令パケットのノードアドレスのアドレ
ス条件が一致すると、データパケットを順次に受信して
入力FIFOメモリ33に一時的に格納する。
FIG. 14 is a timing chart showing the internal data transfer timing at the receiving node according to the SENDA instruction. As shown in FIG. 14, when the data transfer by the packet of the SENDA command is accepted and the reception process is started, if the address conditions of the node address of the command packet match, the data packets are sequentially received and are input to the input FIFO memory 33. Store temporarily.

【0083】この場合において、リングバスデータ入力
から、データが入力されてから内部データバスに転送さ
れるまでの間に、9クロックサイクル遅れている理由
は、受信ノードのプロセッサエレメントにおいて、内部
データバス22の使用のための使用権を得て、前述のよ
うに、アドレスおよびデータ長をそれぞれのレジスタに
設定し、データ書込み制御のための処理を終えるのに、
それだけのサイクル数を要するからである。この9クロ
ックサイクルの遅れ時間は、データパケットが入力FI
FOメモリ33に格納されて吸収される。
In this case, the reason why there is a delay of 9 clock cycles between the input of the ring bus data and the transfer of the data from the input to the internal data bus is that the processor element of the receiving node uses the internal data bus. In order to obtain the right to use 22 to set the address and data length in the respective registers and finish the process for controlling the data write, as described above,
This is because that number of cycles is required. The delay time of this 9 clock cycle is as follows:
It is stored in the FO memory 33 and absorbed.

【0084】RTRV(データ回収命令) 図15は、RTRV命令のパケットフォーマットを示す
図である。図15において、102はRTRV命令のパ
ケットフォーマット、102aは命令フィールド、10
2bはデータ長フィールド(以下lenフィールドと称
する)、102cはソースフィールド(以下srcフィ
ールドと称する)、102dはディスティネーションフ
ィールド(以下destフィールドと称する)である。
また、102eはダミーパケット、102fはデータパ
ケットをそれぞれ示している。
RTRV (Data Collection Command) FIG. 15 is a diagram showing a packet format of the RTRV command. In FIG. 15, 102 is the packet format of the RTRV command, 102a is the command field, 10
2b is a data length field (hereinafter referred to as len field), 102c is a source field (hereinafter referred to as src field), and 102d is a destination field (hereinafter referred to as dest field).
Further, 102e indicates a dummy packet, and 102f indicates a data packet.

【0085】RTRV命令を実行するマスターノードあ
るいはアクティブノードのプロセッサエレメントは、そ
のリングバスインターフェイスユニット(RBIU)に
おいて、図15に示すパケットフォーマット102に従
って、RTRV命令のパケットを送出する。ただし、こ
のリングバス命令を実行する場合、RTRV命令を発行
するノードは、RTRV命令のパケットフォーマット1
02の命令フィールド102a,lenフィールド10
2b,srcフィールド102c,destフィールド
102dから成る最初の64ビットの命令パケットのみ
を送出する。また、この場合のlenフィールド102
bおよびdestフィールド102dに格納するデータ
長およびノードIDの値は、前述した図7に示されるよ
うなデータ構造と同様なデータ構造によりメモリアクセ
スを行い、SEND命令のメモリアクセスのためのデー
タ構造と同様のデータ構造から読み出される。RTRV
命令は、単一ノード指定(ユニキャスト)のみに有効で
ある。
The processor element of the master node or the active node which executes the RTRV instruction sends the packet of the RTRV instruction in its ring bus interface unit (RBIU) according to the packet format 102 shown in FIG. However, when executing this ring bus instruction, the node issuing the RTRV instruction is the packet format 1 of the RTRV instruction.
02 instruction field 102a, len field 10
2b, the src field 102c, and the first 64-bit instruction packet including the dest field 102d are transmitted. Also, the len field 102 in this case
The data length and the value of the node ID stored in the b and dest fields 102d are used for the memory access by the data structure similar to the data structure as shown in FIG. It is read from a similar data structure. RTRV
The instruction is valid only for single node specification (unicast).

【0086】リングバス上において、RTRV命令の命
令パケットを受け取ったスレーブノードあるいはパッシ
ブノードは、そのプロセッサエメレントのリングバスイ
ンターフェイスユニット21において、図4に示すよう
に、リングバスデータ入力28からRTRV命令の命令
パケットを受け取るので、比較器35により、パケット
フォーマット102のdestフィールド102dのノ
ードアドレスの値と、ノードIDレジスタ(NIDR)
44またはグループIDレジスタ45に設定されたノー
ドアドレスの値とを比較する。なお、この場合は、単一
ノード指定(ユニキャスト)のみが有効であり、実質的
にはノードIDの比較のみが行われる。
On the ring bus, the slave node or passive node which has received the instruction packet of the RTRV instruction receives the RTRV instruction from the ring bus data input 28 in the processor-emulated ring bus interface unit 21 as shown in FIG. Is received, the value of the node address in the dest field 102d of the packet format 102 and the node ID register (NIDR) are received by the comparator 35.
44 or the value of the node address set in the group ID register 45 is compared. In this case, only the single node designation (unicast) is effective, and substantially only the node IDs are compared.

【0087】もし、ノードIDの比較により、ノードア
ドレスの条件が合致すれば、当該ノードが転送データを
送信する処理を行うので、前述のSEND命令の動作と
同様に、図9に示されるように、SEND命令ポインタ
(SENDRP)48からリンクされるデータ構造と同
様のデータ構造を用いてメモリアクセスを行い、ローカ
ルメモリからデータを読み出し、リングバス上に転送デ
ータを送出する処理を行う。ただし、このRTRV命令
による動作において、メモリアクセスのためのデータ構
造の先頭アドレスを格納するレジスタが、RTRV命令
を受け取るノードの場合は、メモリインターフェイスユ
ニット26のレジスタ群のRTRV命令ポインタ(RT
RVRP)となる。つまり、図9において、SEND命
令ポインタ(SENDRP)48のデータに替えて、R
TRV命令ポインタ(RTRVRP)のデータが用いら
れ、同様なデータ構造によりメモリアクセスが行われ
る。
If the node address conditions are matched by comparing the node IDs, the node performs the process of transmitting the transfer data. Therefore, as shown in FIG. 9, similar to the operation of the SEND instruction described above. , SEND instruction pointer (SENDRP) 48 is used to perform memory access using the same data structure as the data structure linked to the SEND instruction pointer (SENDRP) 48, read data from the local memory, and send transfer data to the ring bus. However, in the operation by this RTRV instruction, when the register storing the start address of the data structure for memory access is the node that receives the RTRV instruction, the RTRV instruction pointer (RT
RVRP). That is, in FIG. 9, instead of the data of the SEND instruction pointer (SENDRP) 48, R
The data of the TRV instruction pointer (RTRVRP) is used, and the memory access is performed by the similar data structure.

【0088】この場合、メモリインタフェースユニット
(MIU)26は、RTRV命令ポインタ(RTRVR
P)の値をメモリアドレスとして出力することにより、
ローカルメモリ中のディスクリプタブロック(des
c)122をアクセスする。ディスクリプタブロック
(desc)122には、ディスクリプタポインタフィ
ールド(desp)122a,メモリブロックポインタ
フィールド(memp)122b,データ長フィールド
(len)122d,および、送信元アドレスフィール
ド(src)122eが設けられる。
In this case, the memory interface unit (MIU) 26 uses the RTRV instruction pointer (RTRVR).
By outputting the value of P) as a memory address,
Descriptor block (des) in local memory
c) Access 122. The descriptor block (desc) 122 is provided with a descriptor pointer field (desp) 122a, a memory block pointer field (mem) 122b, a data length field (len) 122d, and a transmission source address field (src) 122e.

【0089】RTRV命令の命令パケットを受信したノ
ードにおいて、そのデータの読み出しは、次のように行
われる。受け取った命令パケットの中のlenフィール
ド102bのデータ長は、メモリインターフェイスユニ
ット26において、RTRV命令ポインタによりアクセ
スされるディスクリプタのデータ長フィールド(122
d)に書き込まれ、更に、メモリカウンタ(MCNT)
に書き込まれて、読み出すデータの数を数えるために用
いられる。また、命令パケット中のsrcフィールド1
02cは、RTRV命令用ディスクリプタブロック(d
esc)122の送信元アドレスフィールド(src)
122eに書き込まれる。データはディスクリプタブロ
ックタブロック(desc)122のメモリブロックポ
インタフィールド(memp)122bが指示するアド
レスを先頭として読み出され、内部データバス22,出
力FIFOメモリ32,マルチプレクサ29,ラッチ回
路30,リングバスデータ出力31の経路を経て、リン
グバス上に送出される。
At the node which has received the command packet of the RTRV command, the data reading is performed as follows. The data length of the len field 102b in the received instruction packet is the data length field (122) of the descriptor accessed by the RTRV instruction pointer in the memory interface unit 26.
It is written in d), and further, memory counter (MCNT)
Is used to count the number of data written to and read from. Also, the src field 1 in the instruction packet
02c is a descriptor block for the RTRV instruction (d
esc) 122 source address field (src)
It is written in 122e. Data is read starting from the address designated by the memory block pointer field (mem) 122b of the descriptor block block (desc) 122, and the internal data bus 22, the output FIFO memory 32, the multiplexer 29, the latch circuit 30, and the ring bus data are read. It is sent out on the ring bus via the route of the output 31.

【0090】この場合のRTRV命令を受信したスレー
ブノードまたはパッシブノードにおけるデータ読み出し
のタイミングが、図16に示されている。図16は、R
TRV命令によるデータ送信のデータ転送タイミングを
説明するタイミングチャートである。図16に示すよう
に、RTRV命令の命令パケット(Header)を、リング
バスデータ入力により、コマンド入力信号と共に受け取
ると、次のクロックサイクルにおいて、当該ノードから
転送データを送出するため、同じくRTRV命令の命令
パケット(Header)をリングバスデータ出力として、コ
マンド出力信号と共に送出する。そして、データパケッ
トを送出できるタイミングになるまで、リングバスデー
タ出力として、ダミーパケット(Dummy)を連続して送
出する。この間、当該ノードのプロセッサエレメントで
は、内部データバス22の使用のための使用権を得て、
ローカルメモリのメモリアクセスのためのディスクリプ
タ(desc)122に対する処理を終えるのに、9ク
ロックサイクルの時間を要する。この処理時間の経過
後、読み出された第1番目のデータがローカルバスに載
せられ、続いて、次のクロックサイクルにおいて、読み
出された第1番目のデータが、メモリインターフェイス
ユニット26から内部データバスに載せられ、次のクロ
ックサイクルにおいて、リングバスインターフェイスユ
ニット21からリンクバスデータ出力として送出され
る。この間、リングバスインターフェイスユニット21
においては、ダミーパケット(Dummy)を連続して送出
する。
FIG. 16 shows the data read timing in the slave node or the passive node which has received the RTRV instruction in this case. Figure 16 shows R
7 is a timing chart illustrating a data transfer timing of data transmission according to a TRV command. As shown in FIG. 16, when the instruction packet (Header) of the RTRV instruction is received together with the command input signal by the ring bus data input, the transfer data is sent from the node in the next clock cycle. The command packet (Header) is sent as ring bus data output together with the command output signal. Then, the dummy packets (Dummy) are continuously transmitted as ring bus data output until the timing at which the data packets can be transmitted. During this time, the processor element of the node obtains the right to use the internal data bus 22,
It takes 9 clock cycles to complete the process for the descriptor (desc) 122 for memory access of the local memory. After the elapse of this processing time, the read first data is loaded on the local bus, and subsequently, in the next clock cycle, the read first data is transferred from the memory interface unit 26 to the internal data. It is put on the bus and sent out as a link bus data output from the ring bus interface unit 21 in the next clock cycle. During this time, the ring bus interface unit 21
In, the dummy packet (Dummy) is continuously transmitted.

【0091】このようにして、RTRV命令に対して
は、該当ノードから転送データがリングバス上に送出さ
れる処理が行われる。一方、RTRV命令を発行したマ
スターノードあるいはアクチィブノードにおいては、R
TRV命令がリングバス上を一巡して戻ったきた時に、
前述した図7に示されるように、リングバス命令ポイン
タ(CMDP)47によるメモリアクセスで用いるデー
タ構造に従って、転送されてくるデータパケットを入力
し、当該データをローカルメモリに書き込む。
In this way, in response to the RTRV instruction, the transfer data is sent from the corresponding node onto the ring bus. On the other hand, in the master node or active node that issued the RTRV command, R
When the TRV command makes a round trip on the ring bus and returns,
As shown in FIG. 7, the transferred data packet is input according to the data structure used in the memory access by the ring bus instruction pointer (CMDP) 47, and the data is written in the local memory.

【0092】図17は、RTRV命令による転送データ
を受信したノードにおけるデータ書き込みのタイミング
を示すタイミングチャートである。図17を参照して、
ここでのRTRV命令による転送データを受信したマス
ターノードまたはアクティブノードにおけるデータ書き
込みのタイミングを説明する。前述したように、図7に
示すデータ構造によるメモリアクセスによって書き込ま
れるデータは、入力FIFOメモリ33(図4),内部
データバス22,ローカルバスを通してローカルメモリ
に転送されるが、RTRV命令では、当該命令パケット
によるデータ転送を受け付けて、受信処理を開始する。
この場合にも、前述したように、転送データを送出する
該当ノードにおいて、データの読み出しまでに9クロッ
クサイクルの時間を必要とし、更に、読み出されたデー
タがリングバス上に載せられまでに2クロックサイクル
の時間を要するので、ダミーパケットを経て、11クロ
ックサイクルの後にデータパケットが転送されてくる。
FIG. 17 is a timing chart showing the timing of data writing in the node which has received the transfer data according to the RTRV instruction. Referring to FIG.
Here, the timing of data writing in the master node or the active node that has received the transfer data according to the RTRV command will be described. As described above, the data written by the memory access according to the data structure shown in FIG. 7 is transferred to the local memory through the input FIFO memory 33 (FIG. 4), the internal data bus 22, and the local bus. The data transfer by the command packet is accepted and the reception process is started.
Also in this case, as described above, it takes 9 clock cycles to read the data in the corresponding node that sends the transfer data, and further, it takes 2 clocks before the read data is loaded on the ring bus. Since it takes a clock cycle time, the data packet is transferred after 11 clock cycles through the dummy packet.

【0093】したがって、RTRV命令の命令パケット
(Header)によるデータ転送を受けて、ダミーパケット
の受信し、11クロックサイクルの後に、第1番目のデ
ータパケットを受信する。受信したデータパケットは、
順次に入力FIFOメモリ33に一時的に格納し、内部
データバス,メモリインターフェイスユニット,ローカ
ルバスを経て、ローカルメモリに書き込まれる。
Therefore, the dummy packet is received in response to the data transfer by the command packet (Header) of the RTRV command, and the first data packet is received after 11 clock cycles. The received data packet is
The data is sequentially stored temporarily in the input FIFO memory 33, and written in the local memory via the internal data bus, the memory interface unit and the local bus.

【0094】RTRVA命令(アドレス付データ回収命
令) 図18は、RTRVA命令のパケットフォーマットを示
す図である。図18において、103はRTRVA命令
のパケットフォーマット、103aは命令フィールド、
103bはデータ長フィールド、103cはソースフィ
ールド、103dはディスティネーションフィールド、
103eはアドレスフィールドである。また、103f
はダミーパケット、103gはデータパケットをそれぞ
れ示している。ここでのRTRVA命令のパケットフォ
ーマット103は、前述のRTRV命令のパケットフォ
ーマット102の各フィールドに加えて、更にアドレス
フィールド103eが付加されている。
RTRVA instruction (data with address recovery instruction
Decree) Figure 18 is a diagram showing a packet format of RTRVA instructions. In FIG. 18, 103 is the packet format of the RTRVA command, 103a is the command field,
103b is a data length field, 103c is a source field, 103d is a destination field,
103e is an address field. Also, 103f
Indicates a dummy packet, and 103g indicates a data packet. The packet format 103 of the RTRVA command here has an address field 103e added to each field of the packet format 102 of the RTRV command described above.

【0095】RTRVA命令を実行するマスターノード
あるいはのアクティブノードは、そのプロセッサエレメ
ントのリングバスインターフェイス(RBIU)21か
ら、図18に示すようなRTRVA命令のパケットフォ
ーマット103に従って、RTRVA命令の命令パケッ
トのデータを送出する。この場合においても、RTRV
命令の動作と同様に、RTRVA命令を発行するノード
は、RTRVA命令のパケットフォーマット103にお
いて、その命令フィールド103a,データ長フィール
ド(以下lenフィールドと称する)103b,ソース
フィールド(以下srcフィールドと称する)103
c,ディスティネーシュンフィールド(以下destフ
ィールドと称する)103d,アドレスフィールド(以
下addrフィールドと称する)103eから成る最初
の64ビットの2つの命令パケットのデータのみを送出
する。この場合のlenフィールド103b,dest
フィールド103d,およびaddrフィールド103
eに格納するデータ長,ノードID,アドレスの値は、
前述した図12に示されるようなデータ構造と同様なデ
ータ構造によりメモリアクセスを行い、SENDA命令
のメモリアクセスのためのデータ構造と同様のデータ構
造から読み出される。RTRVA命令は、単一ノード指
定(ユニキャスト)のみ有効である。
The master node or the active node which executes the RTRVA instruction receives the data of the instruction packet of the RTRVA instruction from the ring bus interface (RBIU) 21 of the processor element according to the packet format 103 of the RTRVA instruction as shown in FIG. Is sent. Even in this case, RTRV
Similar to the operation of the instruction, the node issuing the RTRVA instruction has the instruction field 103a, the data length field (hereinafter referred to as the len field) 103b, and the source field (hereinafter referred to as the src field) 103 in the packet format 103 of the RTRVA instruction.
c, the destination field (hereinafter referred to as the "dest field") 103d, and the address field (hereinafter referred to as the "addr field") 103e. The len field 103b, dest in this case
Field 103d, and addr field 103
The data length, node ID, and address values stored in e are
Memory access is performed by a data structure similar to the data structure as shown in FIG. 12 described above, and data is read from the same data structure as the data structure for memory access of the SENDA instruction. The RTRVA instruction is valid only for single node designation (unicast).

【0096】このRTRVA命令によるデータ転送の動
作は、基本的には、前述したRTRV動作と同様であ
り、その相異点は、当該命令にメモリアクセスのための
アドレスが命令パケットに付加されていることであり、
そのためのメモリアドレスに係る処理が加わることであ
る。
The data transfer operation by this RTRVA instruction is basically the same as the above-mentioned RTRV operation, and the difference is that an address for memory access is added to the instruction packet in the instruction. Is that
That is, processing related to the memory address is added.

【0097】次に、RTRVA命令を受け取ったスレー
ブノードあるいはパッシブノードの動作を説明する。リ
ングバス上において、RTRVA命令の命令パケット
(Header1)を受け取ったスレーブノードあるいはパッ
シブノードは、そのプロセッサエメレントのリングバス
インターフェイスユニット21において、図4に示すよ
うに、リングバスデータ入力28からRTRVA命令の
第1番目の命令パケット(Header1)を受け取り、図4
に示すように、比較器35により、パケットフォーマッ
ト103のdestフィールド103dのノードアドレ
スの値と、ノードIDレジスタ(NIDR)44または
グループIDレジスタ45に設定されたノードアドレス
の値とを比較する。なお、この場合は、単一ノード指定
(ユニキャスト)のみが有効であるので、実質的にはノ
ードIDの比較のみが行われる。
Next, the operation of the slave node or passive node that has received the RTRVA command will be described. On the ring bus, the slave node or the passive node that has received the instruction packet (Header 1) of the RTRVA instruction receives the RTRVA instruction from the ring bus data input 28 in the processor-emulated ring bus interface unit 21 as shown in FIG. Of the first instruction packet (Header1) of FIG.
As shown in, the comparator 35 compares the value of the node address in the dest field 103d of the packet format 103 with the value of the node address set in the node ID register (NIDR) 44 or the group ID register 45. In this case, since only the single node designation (unicast) is effective, only the node IDs are practically compared.

【0098】ノードIDの比較により、ノードアドレス
の条件が合致すれば、当該ノードが転送データを送信す
る処理を行うので、前述のSENDA命令の動作と同様
に、第2番目の命令パケット(Header2)によるアドレ
スを用いて、メモリアクセスを行って、ローカルメモリ
からデータを読み出し、リングバス上に転送データを送
出する処理を行う。すなわち、アドレスの条件が合致す
れば、命令パケット中のlenフィールド103bのデ
ータ長と、addrフィールド103eのアドレスを用
いて、ローカルメモリからデータを読み出して、リング
バス上に送出する。lenフィールド103bのデータ
長の値は、メモリカウンタ(MCNT)に書き込まれ
て、読み出すデータの数を数えるために利用される。a
ddrフィールド103eは、メモリブロックポインタ
(MEMBP)に書き込まれる。
By comparing the node IDs, if the condition of the node address is met, the process for transmitting the transfer data is performed by the node, so that the second command packet (Header 2) is sent as in the operation of the SENDA command. The address is used to perform memory access, read data from the local memory, and transfer data to the ring bus. That is, if the address conditions are met, the data length of the len field 103b in the instruction packet and the address of the addr field 103e are used to read the data from the local memory and send it to the ring bus. The value of the data length of the len field 103b is written in the memory counter (MCNT) and is used to count the number of data to be read. a
The ddr field 103e is written in the memory block pointer (MEMBP).

【0099】ローカルメモリから読み出されたデータ
は、内部データバス22,出力FIFOメモリ32,マ
ルチプレクサ29,ラッチ回路30,リングバスデータ
出力31の経路により出力される。RTRVA命令を受
信したスレーブノードまたはパッシブノードにおけるデ
ータ読み出しのタイミングを、図19に示している。
The data read from the local memory is output through the path of the internal data bus 22, the output FIFO memory 32, the multiplexer 29, the latch circuit 30, and the ring bus data output 31. FIG. 19 shows the timing of data reading in the slave node or passive node that has received the RTRVA command.

【0100】図19は、RTRVA命令によるデータ送
信のデータ転送タイミングを説明するタイミングチャー
トである。図19に示すように、RTRVA命令の第1
番目の命令パケット(Header1)を、リングバスデータ
入力により、コマンド入力信号と共に受け取ると、次の
クロックサイクルにおいて、当該ノードから転送データ
を送出するため、同じくRTRVA命令の命令パケット
(Header1)をリングバスデータ出力として、コマンド
出力信号と共に送出する。また、この場合、続いて、ア
ドレスを含む第2番目の命令パケット(Header2)が、
リングバスデータ入力により受けるので、1つのクロッ
クサイクルだけ遅れて、当該ノードから同じくRTRV
A命令の第2番目の命令パケット(Header2)をリング
バスデータ出力として送出される。
FIG. 19 is a timing chart for explaining the data transfer timing of data transmission by the RTRVA instruction. As shown in FIG. 19, the first of the RTRVA instructions
When the second command packet (Header1) is received together with the command input signal by ring bus data input, the transfer data is sent from the node in the next clock cycle. The data output is sent together with the command output signal. In this case, the second command packet (Header2) including the address is
Since it is received by the ring bus data input, it is delayed by one clock cycle and the RTRV
The second command packet (Header 2) of the A command is sent as ring bus data output.

【0101】そして続いてデータパケットを送出できる
タイミングになるまで、リングバスデータ出力として、
ダミーパケット(Dummy)を連続して送出する。この
間、当該ノードのプロセッサエレメントでは、内部デー
タバス22の使用のための使用権を得て、ローカルメモ
リのメモリアクセスのためのアドレス設定に対する処理
を終えるのに、9クロックサイクルの時間を要する。こ
の処理時間の経過後、読み出された第1番目のデータが
ローカルバスに載せられ、続いて、次のクロックサイク
ルにおいて、読み出された第1番目のデータが、メモリ
インターフェイスユニット26から内部データバスに載
せられ、次のクロックサイクルにおいて、リングバスイ
ンターフェイスユニット21からリンクバスデータ出力
として送出される。この間、リングバスインターフェイ
スユニット21においては、ダミーパケット(Dummy)
を連続して送出されるので、この場合には、9つのダミ
ーパケットが送出される。
Then, until the timing at which the data packet can be transmitted subsequently, the ring bus data output,
Dummy packets are sent continuously. Meanwhile, in the processor element of the node, it takes 9 clock cycles to obtain the right to use the internal data bus 22 and finish the processing for the address setting for the memory access of the local memory. After the elapse of this processing time, the read first data is loaded on the local bus, and subsequently, in the next clock cycle, the read first data is transferred from the memory interface unit 26 to the internal data. It is put on the bus and sent out as a link bus data output from the ring bus interface unit 21 in the next clock cycle. During this time, in the ring bus interface unit 21, a dummy packet (Dummy)
Are continuously transmitted, in this case, nine dummy packets are transmitted.

【0102】このようにして、RTRVA命令に対して
は、該当ノードから転送データがリングバス上に送出さ
れる処理が行われる。一方、RTRVA命令を発行した
マスターノードあるいはアクチィブノードにおいては、
RTRVA命令がリングバス上を一巡して戻ったきた時
に、前述した図12に示されるように、リングバス命令
ポインタ(CMDP)47からディスクリプタブロック
を用いるデータ構造に従ってメモリアクセスを行い、転
送されてくるデータパケットを入力し、当該データをロ
ーカルメモリに書き込む。
Thus, in response to the RTRVA instruction, the transfer data is sent from the corresponding node onto the ring bus. On the other hand, in the master node or active node that issued the RTRVA command,
When the RTRVA instruction makes a round on the ring bus and returns, as shown in FIG. 12, the ring bus instruction pointer (CMDP) 47 makes a memory access according to the data structure using the descriptor block and is transferred. Input a data packet and write the data to local memory.

【0103】図20は、RTRVA命令による転送デー
タを受信したノードにおけるデータ書き込みのタイミン
グを示すタイミングチャートである。図20を参照し
て、ここでのRTRVA命令による転送データを受信し
たマスターノードまたはアクティブノードにおけるデー
タ書き込みのタイミングを説明する。前述したように、
図12に示すデータ構造によるメモリアクセスによって
書き込まれるデータは、入力FIFOメモリ33(図
4),内部データバス22,ローカルバスを通してロー
カルメモリに転送されるが、この場合には、RTRVA
命令の命令パケットによるデータ転送を受け付けて、受
信処理を開始する。前述したように、転送データを送出
する該当ノードにおいて、RTRVA命令を受けて、デ
ータの読み出しまでに9クロックサイクルの時間を必要
とし、更に、読み出されたデータがリングバス上に載せ
られるまでに2クロックサイクルの時間を要するので、
命令パケットから9個のダミーパケットを経て、11ク
ロックサイクルの後にデータパケットが送られてくる。
FIG. 20 is a timing chart showing the timing of data writing in the node that has received the transfer data according to the RTRVA instruction. With reference to FIG. 20, the timing of data writing in the master node or the active node that has received the transfer data according to the RTRVA instruction will be described. As previously mentioned,
The data written by the memory access according to the data structure shown in FIG. 12 is transferred to the local memory through the input FIFO memory 33 (FIG. 4), the internal data bus 22, and the local bus. In this case, the RTRVA is used.
The data transfer by the command packet of the command is accepted, and the receiving process is started. As described above, it takes 9 clock cycles to read the data at the corresponding node that sends the transfer data after receiving the RTRVA instruction, and before the read data is loaded on the ring bus. Since it takes 2 clock cycles,
A data packet is sent after 11 clock cycles from the instruction packet through 9 dummy packets.

【0104】したがって、RTRVA命令の命令パケッ
ト(Header1,Header2)によるデータ転送を受けて、
9個のダミーパケットの受信の後に、つまり、命令パケ
ットの受信始の後、11クロックサイクルの後に、第1
番目のデータパケットを受信する。受信したデータパケ
ットは、順次に入力FIFOメモリ33に一時的な格納
され、内部データバス,メモリインターフェイスユニッ
ト,ローカルバスを経て、ローカルメモリに書き込まれ
る。
Therefore, in response to the data transfer by the command packet (Header1, Header2) of the RTRVA command,
After receiving 9 dummy packets, that is, 11 clock cycles after the start of receiving the instruction packet, the first
Receive the th data packet. The received data packet is sequentially temporarily stored in the input FIFO memory 33, and is written in the local memory via the internal data bus, the memory interface unit and the local bus.

【0105】MODE0命令,MODE1命令,MOD
E2命令,MODEX命令(Mode0,Mode1,Mode
2,ModeXへのモード切替え命令) 次に、モード切替え命令などのその他のリングバス命令
について説明する。図21は、MODE0命令およびM
ODE1命令のパケットフォーマットを示す図である。
また、図22は、MODE2命令のパケットフォーマッ
トを示す図であり、図23は、MODE3命令のパケッ
トフォーマットを示す図である。これらのモード切替え
命令が実行されると、リングバスに接続された全てのノ
ードあるいは指定されたノードが、指定されたモードに
切り替えられる。
MODE0 instruction, MODE1 instruction, MOD
E2 instruction, MODEX instruction (Mode 0, Mode 1, Mode
2, mode switching instruction to ModeX) Next, other ring bus instructions such as a mode switching instruction will be described. FIG. 21 shows the MODE0 instruction and M
It is a figure which shows the packet format of an ODE1 command.
22 is a diagram showing the packet format of the MODE2 instruction, and FIG. 23 is a diagram showing the packet format of the MODE3 instruction. When these mode switching instructions are executed, all the nodes connected to the ring bus or the designated nodes are switched to the designated mode.

【0106】これらのモード切り替え命令のパケットフ
ォーマット(104,105,106)においては、図
21,図22,および図23に示されるように、命令パ
ケットの中の命令フィールド(104a,105a,1
06a)により、切り替える動作モードの種類を指定
し、ディスティネーションフィールド(104d,10
5d,106d)によって、動作モードを切り替えるノ
ードを指定する。また、ソースフィールド(104c,
105c,106c)により、命令の発行元のノードI
Dを指定しておく。
In the packet formats (104, 105, 106) of these mode switching commands, as shown in FIGS. 21, 22, and 23, the command fields (104a, 105a, 1) in the command packet are used.
06a) designates the type of operation mode to be switched, and the destination field (104d, 10
5d, 106d) designates the node for switching the operation mode. Also, the source field (104c,
105c, 106c), the node I that issued the instruction
Specify D.

【0107】これらのモード切り替え命令パケットをリ
ングバス上に送出した場合、指定された該当のノードに
おいては、現在のモードが、リングバスインターフェイ
スユニットコントロール/ステイタスレジスタ(RCS
R)43における第0ビット〜第3ビットのMode0,
Mode1,Mode2,ModeXのフラグビットに反映され
ているので、その内容に応じて、これらのフラグビット
をモード切り替え命令パケットの指定に従って切り替え
る。なお、Mode2の動作モードからの他の動作モード
に切り替える場合、これらのモード切り替え命令によっ
ては、動作モードが切り替えられないので、INTH命
令(ハードウェア割り込み命令)により行われる。つま
り、Mode2では、INTH命令以外のリンクバス命令
を受け付けないからである。
When these mode switching command packets are sent out on the ring bus, the current mode at the designated corresponding node is the ring bus interface unit control / status register (RCS).
R) Mode 0 of the 0th bit to the 3rd bit in R, 43,
Since the flag bits of Mode1, Mode2, and ModeX are reflected, these flag bits are switched according to the contents of the mode switching instruction packet. When switching from the operation mode of Mode 2 to another operation mode, since the operation mode cannot be switched by these mode switching instructions, the INTH instruction (hardware interrupt instruction) is used. That is, Mode 2 does not accept any link bus instruction other than the INTH instruction.

【0108】SETNID命令(ノードID設定命令) 図24は、SETNID命令のパケットフォーマットを
示す図である。図24において、107はSETNID
命令のパケットフォーマット、107aは命令フィール
ド、107bは設定ノードIDフィールド(nid)、
107cはソースフィールド(src)、107dはデ
ィスティネーションフィールド(BROADCAST)
である。
SETNID Command (Node ID Setting Command) FIG. 24 is a diagram showing a packet format of the SETNID command. In FIG. 24, 107 is SETNID
Command packet format, 107a is command field, 107b is set node ID field (nid),
107c is a source field (src), 107d is a destination field (BROADCAST)
It is.

【0109】リンクバス構成のマルチプロセッサシステ
ムにおいては、リセット直後、各スレーブノードのプロ
セッサエレメントには、それぞれのノードIDが付与さ
れておらず、また、リングバスインターフェイスユニッ
トコントロール/ステイタスレジスタ(RCSR)43
の第11ビットのNIDフラグビットは“0”になって
いる。この場合、マスターノードが、SETNID命令
を実行することにより、1命令に付き、1つのスレーブ
ノードのノードIDを設定する。マスターノードの整数
演算ユニット(IAU)23は、SETNID命令を、
設定するノードIDをオペランドとして、設定ノードI
Dフィールド(nid)107bに設定して、当該SE
TNID命令を実行する。
In the multiprocessor system having the link bus structure, immediately after reset, the node ID is not given to the processor element of each slave node, and the ring bus interface unit control / status register (RCSR) 43 is used.
The NID flag bit of the eleventh bit is "0". In this case, the master node executes the SETNID command to set the node ID of one slave node per command. The integer arithmetic unit (IAU) 23 of the master node executes the SETNID command,
Setting node I as an operand, setting node I
Set in the D field (nid) 107b and set the SE
Execute the TNID instruction.

【0110】スレーブノードに設定するノードIDは、
SETNID命令のパケットフォーマット107の設定
ノードフィールド(nid)107bに入れられて送出
されるので、SETNID命令を受け取ったスレーブノ
ードは、当該ノードのリングバスインターフェイスユニ
ットコントロール/ステイタスレジスタ(RCSR)4
3の第11ビットのNIDフラグビットを調ベ、NID
フラグビットが“0”であれば、当該SETNID命令
の設定ノードフィールド(nid)107bの値を、ノ
ードIDレジスタ(NIDR)44に書き込み、その
後、NIDフラグビットを“1”として、当該SETN
ID命令を次ノード以降に出力しない。また、既にNI
Dフラグビットが“1”であれば、SETNID命令に
対しては、何もしないで、当該SETNID命令をその
まま次ノードに送出する。
The node ID set in the slave node is
Since the SETNID command is transmitted after being put in the set node field (nid) 107b of the packet format 107, the slave node receiving the SETNID command receives the ring bus interface unit control / status register (RCSR) 4 of the node.
Check the NID flag bit of the 11th bit of No. 3, NID
If the flag bit is "0", the value of the setting node field (nid) 107b of the SETNID instruction is written in the node ID register (NIDR) 44, and then the NID flag bit is set to "1" to set the SETN.
The ID command is not output to the subsequent nodes. Also, already NI
If the D flag bit is "1", nothing is done to the SETNID instruction and the SETNID instruction is sent to the next node as it is.

【0111】RESNID命令(ノードIDリセット命
令) 図25は、RESNID命令のパケットフォーマットを
示す図である。図25において、108はSETNID
命令のパケットフォーマット、108aは命令フィール
ド、108cはソースフィールド(src)、108d
はディスティネーションフィールド(dest)であ
る。RESNID命令は、リングバス構成のマルチプロ
セッサシステムにおいて、該当ノードのノードIDを再
設定する場合に用いられる。このリングバス命令を受け
取り、アドレス条件が一致したノードは、当該ノードの
リングバスインターフェイスユニットコントロール/ス
テイタスレジスタ(RCSR)43の第11ビットのN
IDフラグビットをリセットする。つまり、NIDフラ
グビットを“0”とする。これにより、このスレーブノ
ードにおいては、前述したSETNID命令により、新
たにノードIDを設定することができるようになる。
RESNID command (node ID reset command
Decree) Figure 25 is a diagram showing a packet format of RESNID instructions. In FIG. 25, 108 is SETNID
Command packet format, 108a is command field, 108c is source field (src), 108d
Is a destination field (dest). The RESNID instruction is used to reset the node ID of the corresponding node in the multiprocessor system having the ring bus. The node which has received the ring bus instruction and has the matched address condition is the Nth bit of the 11th bit of the ring bus interface unit control / status register (RCSR) 43 of the node.
Reset the ID flag bit. That is, the NID flag bit is set to "0". As a result, in this slave node, a new node ID can be set by the above-mentioned SETNID command.

【0112】SETGID命令(グループID設定命
令) 図26は、SETGID命令のパケットフォーマットを
示す図である。図26において、109はSETGID
命令のパケットフォーマット、109aは命令フィール
ド、109bは設定グループノードIDフィールド(g
id)、109cはソースフィールド(src)、10
9dはディスティネーションフィールド(dest)で
ある。
SETGID command (group ID setting command
Decree) Figure 26 is a diagram showing a packet format of SETGID instructions. In FIG. 26, 109 is SETGID
Command packet format, 109a is command field, 109b is setting group node ID field (g
id), 109c is the source field (src), 10c
9d is a destination field (dest).

【0113】リンクバス構成のマルチプロセッサシステ
ムにおいては、それぞれの処理の対象のスレーブノード
(プロセッサエレメント)を同時に複数個指定するた
め、ノードIDに加えてグループIDを設定できるよう
なシステムアキーテクチャを採用している。このための
グループIDの設定は、SETGID命令を用いて設定
する。スレーブノードにおいては、図26に示すような
SETGID命令を受け取ると、ディスティネーション
フィールド(dest)109dによって指定するノー
ドIDに従ってノードアドレスの条件が一致したノード
は、当該SETGID命令109の設定グループノード
IDフィールド(gid)109bの内容を、グループ
IDレジスタ(GIDR)45に設定する。
In the multiprocessor system having the link bus structure, since a plurality of slave nodes (processor elements) to be processed are designated at the same time, the system architecture that can set the group ID in addition to the node ID is adopted. are doing. The group ID for this purpose is set using the SETGID command. In the slave node, when the SETGID command as shown in FIG. 26 is received, the node whose node address condition matches according to the node ID specified by the destination field (dest) 109d is the set group node ID field of the SETGID command 109. The content of (gid) 109b is set in the group ID register (GIDR) 45.

【0114】STAT命令(ステイタス命令) 図27は、STAT命令のパケットフォーマットを示す
図である。図27において、110はSTAT命令のパ
ケットフォーマット、110aは命令フィールド、11
0bは状態ビットフィールド(st)、110cはソー
スフィールド(src)、110dはディスティネーシ
ョンフィールド(dest)である。このSTAT命令
は、指定されたノードにおける状態ビットと、当該ST
AT命令の状態ビットフィールド(st)110bの状
態ビットとの間で、AND論理演算またはOR論理演算
を行い、各ノードにおける状態ビットを検査するリング
バス命令である。
STAT Command (Status Command) FIG. 27 is a diagram showing a packet format of the STAT command. In FIG. 27, 110 is the packet format of the STAT command, 110 a is the command field, and 11
0b is a status bit field (st), 110c is a source field (src), and 110d is a destination field (dest). This STAT instruction is the status bit at the designated node and the ST
This is a ring bus instruction that performs an AND logical operation or an OR logical operation with the status bit of the status bit field (st) 110b of the AT instruction to check the status bit in each node.

【0115】マスターノードあるいはアクティブノード
は、STAT命令を発行する際、このSTAT命令のパ
ケットフォーマット110の状態ビットフィールド(s
t)110bの初期値として、AND論理演算のための
ANDビットを“1”とし、OR論理演算のためのOR
ビットを“0”として、STAT命令を送出する。この
STAT命令をリングバスから受けたスレーブノードま
たはパッシブノードにおいては、ディスティネーション
フィールド(dest)110dのノードIDによるア
ドレス条件が合致したノードは、状態ビットフィールド
(st)110bのANDビットと、当該ノードのリン
グバスインターフェイスユニットコントロール/ステイ
タスレジスタ(RCSR)43の第7ビットのANDフ
ラグビットとの論理AND演算を実行する。また、状態
ビットフィールド(st)110bのORビットと、当
該ノードのリングバスインターフェイスユニットコント
ロール/ステイタスレジスタ(RCSR)43の第8ビ
ットのORフラグビットとの論理OR演算を実行する。
そして、その演算結果を再び、状態ビットフィールド
(st)110bに入れ、当該STAT命令を次のノー
ドに送出する。STAT命令を受けても、アドレス条件
が合致しないノードは、何もせず、当該STAT命令を
そのまま次のノードに送出する。
When issuing a STAT command, the master node or the active node issues a status bit field (s) of the packet format 110 of this STAT command.
t) As an initial value of 110b, the AND bit for AND logical operation is set to "1", and OR for OR logical operation is set.
The STAT command is sent with the bit set to "0". In the slave node or the passive node that receives this STAT command from the ring bus, the node whose address condition matches the node ID of the destination field (dest) 110d is the AND bit of the status bit field (st) 110b and the node concerned. The logical AND operation with the AND flag bit of the 7th bit of the ring bus interface unit control / status register (RCSR) 43 of FIG. Also, the logical OR operation of the OR bit of the status bit field (st) 110b and the OR flag bit of the 8th bit of the ring bus interface unit control / status register (RCSR) 43 of the node is executed.
Then, the calculation result is put into the status bit field (st) 110b again, and the STAT instruction is sent to the next node. Even if the STAT command is received, the node whose address condition does not match does nothing and sends the STAT command as it is to the next node.

【0116】STAT命令を発行したマスターノードあ
るいはアクティブノードは、戻ってきたSTAT命令の
状態ビットフィールド(st)110bを、当該ノード
のリングバスインターフェイスユニットコントロール/
ステイタスレジスタ(RCSR)43の第7ビットのA
NDフラグビット,第8ビットのORフラグビットに反
映させて、該当ノードの状態を得る。この場合、各々の
ノードの状態を検査するためのSTAT命令のリングバ
ス上への送出は、整数演算ユニット(IAU)23か
ら、STAT命令を1回実行してから、STAT命令を
終らせるためのBNOP命令を実行するまで、毎サイク
ル毎にSTAT命令を発行する。
The master node or the active node which issued the STAT command sets the status bit field (st) 110b of the returned STAT command to the ring bus interface unit control / control of the node.
A of 7th bit of status register (RCSR) 43
The state of the corresponding node is obtained by reflecting it in the ND flag bit and the 8th OR flag bit. In this case, the STAT instruction for inspecting the state of each node is sent to the ring bus by executing the STAT instruction once from the integer arithmetic unit (IAU) 23 and then ending the STAT instruction. The STAT instruction is issued every cycle until the BNOP instruction is executed.

【0117】TESTS命令/TESTR命令(Test
&Set/Test&Reset命令) 図28は、TESTS命令のパケットフォーマットを示
す図である。図28において、111はTESTS命令
のパケットフォーマット、111aは命令フィールド、
111bはマスクビットフィールド(mask)、11
1cはソースフィールド(src)、111dはディス
ティネーションフィールド(dest)をそれぞれ示し
ている。また、図29は、TESTR命令のパケットフ
ォーマットを示す図であり、図29において、112は
TESTR命令のパケットフォーマットを示し、112
aは命令フィールド、112bはマスクビットフィール
ド(mask)、112cはソースフィールド(sr
c)、112dはディスティネーションフィールド(d
est)をそれぞれ示している。
TESTS instruction / TESTR instruction (Test
& Set / Test & Reset command) FIG. 28 is a diagram showing a packet format of a TESTS command. In FIG. 28, 111 is a TESTS command packet format, 111a is a command field,
111b is a mask bit field (mask), 11
Reference numeral 1c indicates a source field (src), and 111d indicates a destination field (dest). 29 is a diagram showing a packet format of the TESTR instruction, and in FIG. 29, 112 shows a packet format of the TESTR instruction, and 112
a is an instruction field, 112b is a mask bit field (mask), 112c is a source field (sr
c) and 112d are destination fields (d
est) are each shown.

【0118】マスターノードあるいはアクティブノード
が、TESTS命令またはTESTR命令を発行する
際、TESTS命令のパケットフォーマット111のマ
スクビットフィールド111bまたはTESTR命令の
パケットフォーマット112のマスクビットフィールド
112bの初期値が、整数演算ユニット(IAU)23
が命令を実行する時のオペランドして与えられ、TES
TS命令のディスティネーションフィールド111dま
たはTESTR命令のディスティネーションフィールド
112dに、対象ノードのノードIDの値が設定され
る。これらの値は、内部データバス22,出力FIFO
メモリ32などを通じて出力され、リングバスインター
フェイスユニット21から、TESTS命令またはTE
STR命令として出力される。
When the master node or the active node issues the TESTS command or the TESTR command, the initial value of the mask bit field 111b of the packet format 111 of the TESTS command or the mask bit field 112b of the packet format 112 of the TESTS command is an integer operation. Unit (IAU) 23
Is given as an operand when executing an instruction, and TES
The value of the node ID of the target node is set in the destination field 111d of the TS instruction or the destination field 112d of the TESTR instruction. These values are stored in the internal data bus 22, output FIFO.
It is output through the memory 32 or the like, and the TESTS instruction or TE is output from the ring bus interface unit 21.
It is output as a STR command.

【0119】これらのTESTS命令またはTESTR
命令の命令パケットを受けて、ノードIDのアドレス条
件が合致したスレーブノード(あるいはパッシブノー
ド)は、次の動作を行う。つまり、TESTS命令の場
合には、入力されたマスクビットフィールド111bが
“1”のビットについてのみ、Test&Setフラグレジ
スタ(TSFR)46の対応するビットをマスクビット
フィールド111bの対応するビットに入れて、同時
に、Test&Setフラグレジスタ(TSFR)46のビ
ットを“1”とする。また、TESTR命令の場合に
は、入力されたマスクビットフィールド112bが
“1”のビットについてのみ、Test&Setフラグレジ
スタ(TSFR)46の対応するビットをマスクビット
フィールド111bの対応するビットに入れて、同時
に、Test&Setフラグレジスタ(TSFR)46のビ
ットを“0”とする。これにより、Test&Setフラグ
レジスタ(TSFR)46の対応するビットの状態を検
査し、その内容に応じてフラグをセット/リセットでき
る。
These TESTS instructions or TESTRs
Upon receiving the instruction packet of the instruction, the slave node (or the passive node) having the address condition of the node ID matched performs the following operation. That is, in the case of the TESTS instruction, only for the bit for which the input mask bit field 111b is "1", the corresponding bit of the Test & Set flag register (TSFR) 46 is put in the corresponding bit of the mask bit field 111b, and at the same time. , The bit of the Test & Set flag register (TSFR) 46 is set to "1". Further, in the case of the TESTR instruction, only for the bit for which the input mask bit field 112b is "1", the corresponding bit of the Test & Set flag register (TSFR) 46 is put into the corresponding bit of the mask bit field 111b, and at the same time. , And the bit of the Test & Set flag register (TSFR) 46 is set to “0”. As a result, the state of the corresponding bit of the Test & Set flag register (TSFR) 46 can be inspected, and the flag can be set / reset according to its contents.

【0120】INTH命令(ハードウェア割り込み命
令) 図30は、INTH命令のパケットフォーマットを示す
図である。図30において、113はINTH命令のパ
ケットフォーマット、113aは命令フィールド、11
3bはベクトルフィールド(vector)、113c
はソースフィールド(src)、113dはディスティ
ネーションフィールド(BROADCAST)をそれぞ
れ示している。INTH命令は、全てのノードが発行す
ることができる。このINTH命令は、次の2つの目的
で用いられる。
INTH instruction (hardware interrupt command
Decree) Figure 30 is a diagram showing a packet format of INTH instructions. In FIG. 30, 113 is the packet format of the INTH instruction, 113a is the instruction field, 11
3b is a vector field (vector), 113c
Indicates a source field (src), and 113d indicates a destination field (BROADCAST). The INTH instruction can be issued by all nodes. This INTH instruction is used for the following two purposes.

【0121】その1つの目的は、Mode2の動作モード
からMode0の動作モードへのモード切り替えである。
Mode2の動作モードでは、INTH命令以外のリング
バス命令は無効とされ、全てのリングバスデータ入力2
8からの入力は、データと見做される。そこで、特別の
信号であるリングバスデータ入力方向の外部入出力制御
信号群36の中のリンググバス割り込み入力を用いて、
INTH命令の入力されるタイミングを転送し、Mode
2の動作モードにおける通常のデータ転送と区別し、こ
れにより、Mode2の動作モードからMode0の動作モー
ドへのモード切り替えを行う。
One of the purposes is the mode switching from the Mode 2 operation mode to the Mode 0 operation mode.
In the operation mode of Mode2, ring bus instructions other than the INTH instruction are invalidated, and all ring bus data input 2
Input from 8 is considered data. Therefore, by using the ring bus interrupt input in the external input / output control signal group 36 in the ring bus data input direction which is a special signal,
Transfers the input timing of the INTH command and
This is distinguished from the normal data transfer in the operation mode of No. 2, whereby the mode switching from the operation mode of Mode2 to the operation mode of Mode0 is performed.

【0122】INTH命令の他の1つの目的は、スレー
ブノードで発生した演算例外等の例外の発生の状態をマ
スターノードや他のスレーブノードに対して伝えること
である。割り込み発生要因は、ベクタデータとして、I
NTH命令のパケットフォーマット113のベクトルフ
ィールド(vector)113bに設定して伝えられ
る。この場合のINTH命令は、他のリングバス命令よ
りも優先権を持ち、実行中の他の転送データのパケット
との同期はとられない。なお、割り込み発生要因は、I
NTH命令のベクトルフィールド(vector)11
3bに入れられて伝えられるので、割り込みを受け付け
たノードは、当該割り込み発生要因に応じての処理を行
う。
Another purpose of the INTH instruction is to inform the master node and other slave nodes of the state of occurrence of an exception such as an operation exception that has occurred in the slave node. The interrupt generation factor is I as vector data.
It is set and transmitted in the vector field (vector) 113b of the packet format 113 of the NTH command. In this case, the INTH instruction has priority over other ring bus instructions and is not synchronized with the packet of other transfer data being executed. The interrupt generation factor is I
Vector field (vector) of NTH command 11
Since it is transmitted by being put in 3b, the node that accepts the interrupt performs processing according to the interrupt generation factor.

【0123】INTS命令(ソフトウェア割り込み命
令) 図31は、INTS命令のパケットフォーマットを示す
図である。図31において、114はINTS命令のパ
ケットフォーマット、114aは命令フィールド、11
4bはベクトルフィールド(vector)、114c
はソースフィールド(src)、114dはディスティ
ネーションフィールド(dest)をそれぞれ示してい
る。
INTS instruction (software interrupt command
Decree) Figure 31 is a diagram showing a packet format of INTS instructions. In FIG. 31, 114 is a packet format of the INTS command, 114a is a command field, and 11a.
4b is a vector field (vector), 114c
Indicates a source field (src), and 114d indicates a destination field (dest).

【0124】INTS命令は、マスターノードあるいは
アクティブノードが、スレーブノードあるいはハッシブ
ノードにソフトウェア的な手続き(処理プログラム)に
よりイベントの発生を知らせるための割り込み処理とし
て用いられる。このイベントの種類は、割り込み発生要
因を示すベクタデータとして、INTS命令のベクトル
フィールド(vector)114bに入れられて伝え
られる。
The INTS instruction is used as an interrupt process for the master node or the active node to notify the slave node or the hash node of the occurrence of an event by a software-like procedure (processing program). The type of this event is transmitted as vector data indicating an interrupt generation factor by being put in the vector field (vector) 114b of the INTS instruction.

【0125】BNOP命令(バスノーオペレーション命
令) 図32は、BNOP命令のパケットフォーマットを示す
図である。図32において、115はBNOP命令のパ
ケットフォーマット、115aは命令フィールド、11
5cはソースフィールド(src)、115dはディス
ティネーションフィールド(dest)をそれぞれ示し
ている。BNOP命令は、マスターノードあるいはアク
ティブノードが、Mode1の動作モードにおいて、トー
クンをリリースするため、また、STAT命令を終らせ
るために用いられる。
BNOP instruction (bus no operation command
Decree) Figure 32 is a diagram showing a packet format of BNOP instructions. In FIG. 32, 115 is the packet format of the BNOP command, 115a is the command field, and 11
Reference numeral 5c indicates a source field (src), and 115d indicates a destination field (dest). The BNOP instruction is used by the master node or the active node to release the token and terminate the STAT instruction in the operation mode of Mode 1.

【0126】次に、システムの初期動作について、図1
を用いて説明する。ホストコンピュータ16は、バス交
換器15,インターフェイス回路19を介して、マスタ
ーノード11におけるローカルメモリ18に、プログラ
ムおよびデータをダウンロードする。この間、マスター
ノード11のプロセッサエレメント17,スレーブノー
ド12〜13のプロセッサエレメント12a〜13a
は、共通のリセット信号により、リセットしておく。
Next, regarding the initial operation of the system, FIG.
This will be described with reference to FIG. The host computer 16 downloads the program and data to the local memory 18 in the master node 11 via the bus switch 15 and the interface circuit 19. During this period, the processor element 17 of the master node 11 and the processor elements 12a to 13a of the slave nodes 12 to 13
Are reset by a common reset signal.

【0127】ホストコンピュータ16から、マスターノ
ード11のローカルメモリ18へのプログラムおよび初
期データのダウンロードが終了した時点で、プロセッサ
エレメント(17,12a,13a)に対するリセット
信号を解除する。このとき、リセット解除と同時に、マ
スターノード11のプロセッサエレメント17は、ロー
カルメモリ18から命令をフェッチして、プログラムの
実行を開始する。スレーブノード12,13のプロセッ
サエレメント12a,13aは、リセット信号が解除さ
れても、命令のフェッチとプログラムの実行は行わな
い。なぜならば、スレーブノード12,13のローカル
メモリ12b,13bは、初期化されていないからであ
る。
When the program and initial data have been downloaded from the host computer 16 to the local memory 18 of the master node 11, the reset signal for the processor elements (17, 12a, 13a) is released. At this time, at the same time when the reset is released, the processor element 17 of the master node 11 fetches an instruction from the local memory 18 and starts executing the program. The processor elements 12a and 13a of the slave nodes 12 and 13 do not fetch an instruction and execute a program even if the reset signal is released. This is because the local memories 12b and 13b of the slave nodes 12 and 13 have not been initialized.

【0128】スレーブノード12,13のプロセッサエ
レメント12a,13aは、命令のフェッチ,デコー
ド,実行などを行わない待機状態に入る。この状態にお
いて、図2に示すように、プロセッサエレメントの構成
要素の整数演算ユニット(IAU)23,浮動小数点演
算ユニット(FAU)24,命令キャッシュユニット
(ICU)25は何もしないが、リングバスインターフ
ェイスユニット(RBIU)21およびメモリインター
フェイスユニット(MIU)26は動作可能となってい
る。つまり、リングバスを介して与えられる命令の実行
は可能であり、リングバス命令の実行のみが行われる状
態にある。
The processor elements 12a and 13a of the slave nodes 12 and 13 enter a standby state in which they do not fetch, decode or execute instructions. In this state, as shown in FIG. 2, the integer arithmetic unit (IAU) 23, the floating point arithmetic unit (FAU) 24, and the instruction cache unit (ICU) 25, which are the constituent elements of the processor element, do nothing but the ring bus interface. The unit (RBIU) 21 and the memory interface unit (MIU) 26 are operable. That is, the instruction given via the ring bus can be executed, and only the ring bus instruction is executed.

【0129】したがって、この状態において、マスター
ノード11のプロセッサエレメント17は、スレーブノ
ード12,13のプロセッサエレメント12a,13a
を起動するために、次の3つの手続きの処理を行う。 1)まず、SETNID命令を用いて、全てのスレーブ
ノードのノードIDを設定する。 2)次に、設定したノードIDによりスレーブノードを
特定し、SETGID命令を用いて、全てのスレーブノ
ードのグループIDを設定する。 3)次に、SENDA命令を用いて、全てのスレーブノ
ードのローカルメモリにプログラムおよび初期データを
ダウンロードする。なお、プログラムおよび初期データ
が全てのスレーブノードについて同一である場合は、全
ノード指定(ブロードキャスト)によりSENDA命令
を送る。その他の場合には、先に設定しているノードI
DまたはグループIDを用いてスレーブノードを特定
し、SENDA命令をユニキャスト指定またはマルチキ
ャスト指定により送出する。
Therefore, in this state, the processor element 17 of the master node 11 has the processor elements 12a and 13a of the slave nodes 12 and 13, respectively.
In order to activate, the following three procedures are processed. 1) First, the SETNID command is used to set the node IDs of all slave nodes. 2) Next, the slave node is specified by the set node ID, and the group IDs of all the slave nodes are set by using the SETGID command. 3) Next, use the SENDA instruction to download the program and initial data to the local memory of all slave nodes. If the program and the initial data are the same for all slave nodes, the SENDA command is sent by all node designation (broadcast). In other cases, the previously set node I
The slave node is specified using D or the group ID, and the SENDA command is transmitted by unicast designation or multicast designation.

【0130】以上に、説明したように、マスターノード
のプロセッサエレメントとスレーブノードのプロセッサ
エレメントでは、その処理機能に違いがあるが、ほとん
ど同様であり、2つのプロセッサエレメントは、同一の
VLSIとして設計および製造することができる。これ
により、複数ノードから構成されるマルチプロセッサシ
ステムを構築する場合のコストの低減が計られる。
As described above, the processor elements of the master node and the processor elements of the slave nodes have almost the same processing function, but they are almost the same, and the two processor elements are designed and designed as the same VLSI. It can be manufactured. As a result, the cost can be reduced when constructing a multiprocessor system including a plurality of nodes.

【0131】そこで、1つのプロセッサエレメントは、
マスターノードのプロセッサエレメントと、スレーブノ
ードのプロセッサエレメントの2つの処理機能を兼ね備
えるて構成する。個々のプロセッサエレメントが、どち
らのエレメントとして動作するかは、MNフラグビット
の設定値により定めるので、外部入力信号のMN信号に
より決めるようにする。つまり、MN信号が電源レベル
ならば、マスターノードのプロセッサエレメントとして
機能し、グランドレベルならば、スレーブノードのプロ
セッサエレメントして機能するように構成される。
Therefore, one processor element is
The processor element of the master node and the processor element of the slave node have two processing functions. Which element each processor element operates as is determined by the set value of the MN flag bit, and therefore is determined by the MN signal of the external input signal. That is, if the MN signal is at the power supply level, it functions as a processor element of the master node, and if it is at the ground level, it functions as a processor element of the slave node.

【0132】[0132]

【発明の効果】以上、説明したように、本発明のマルチ
プロセッサシステムによれば、リングバス形状の通信ネ
ットワークを有し、マスター/スレーブ方式でデータ通
信を行うマルチプロセッサシステムを構成する場合に、
各ノード毎にノードID設定用のレジスタと、ノードI
D設定ビットと、ノードID設定用の命令の一連の処理
機構とを備えることにより、専用の演算回路や信号線を
必要としないで、効率的に、マルチプロセッサシステム
の各ノードに対するノードIDの設定方法が可能とな
る。
As described above, according to the multiprocessor system of the present invention, when a multiprocessor system having a ring bus type communication network and performing data communication in a master / slave system is configured,
A node ID setting register for each node and a node I
By providing a D setting bit and a series of processing units for a node ID setting instruction, setting a node ID for each node of a multiprocessor system efficiently without requiring a dedicated arithmetic circuit or signal line. Method becomes possible.

【0133】また、マルチプロセッサシステムを構成す
る要素のノードのプロセッサエレメントは、パケットフ
ォーマットのバス通信命令(リングバス命令)のヘッダ
部を生成するヘッダ部生成回路と、ノード内部のデータ
を一時的に蓄える出力バッファと、リングバスデータ入
力,ヘッダ部生成回路の出力,およびデータ出力バッフ
ァの出力の3者を入力し1つを選択するマルチプレクサ
と、マルチプレクサの出力を1クロック遅延させ次のノ
ードへの出力とするラッチ回路とを備えることにより、
リングバス上をリングバス命令またはデータなどを転送
する場合に、ノード当たりのデータの伝搬を1クロック
サイクルで同期して行うことができ、データ転送上のボ
トルネックが生ずることなく、より高速なデータ通信が
可能となった。
Further, the processor element of the node, which is an element constituting the multiprocessor system, temporarily stores data in the node and a header section generating circuit which generates a header section of a bus communication command (ring bus command) of a packet format. An output buffer for storing, a multiplexer for inputting the three inputs of the ring bus data input, the output of the header section generation circuit, and the output of the data output buffer, and selecting one, and delaying the output of the multiplexer by one clock to the next node By providing a latch circuit for output,
When transferring ring bus instructions or data on the ring bus, data can be propagated per node synchronously in one clock cycle, and a faster data transfer without bottleneck in data transfer. Communication is now possible.

【0134】また、本発明のマルチプロセッサシステム
においては、各プロセッサを介して伝搬される専用の割
り込み信号線を備えられており、通常の通信よりも、優
先度の高い割り込みを他ノードのプロセッサに伝えるよ
うにしている。これにより、システムに異常事態が発生
した場合に効率的な対処が可能となった。
Further, the multiprocessor system of the present invention is provided with a dedicated interrupt signal line propagated through each processor, so that an interrupt having a higher priority than a normal communication is sent to the processor of another node. I try to tell you. As a result, it is possible to efficiently deal with an abnormal situation in the system.

【0135】また、ノードのプロセッサエレメントに、
データ転送に係わるディスクリプタブロックへのポイン
タを設定するポイントレジスタ群と、データ転送を処理
する毎に、これらのポインタレジスタに設定されたポイ
ンタを更新する手段を備え、データ転送に係わるディス
クプタブロックに、次ディスクリプタブロックへのポイ
ンタと、送受信データが格納されるメモリブロックへの
ポインタと、データ長とを格納するフィールドを備える
ことにより、高速で効率的にデータ転送が可能になっ
た。
Further, in the processor element of the node,
Pointer groups for setting pointers to descriptor blocks related to data transfer, and means for updating the pointers set in these pointer registers each time data transfer is processed are provided, and descriptor blocks related to data transfer are By providing the pointer to the next descriptor block, the pointer to the memory block in which the transmission / reception data is stored, and the field for storing the data length, it is possible to transfer data at high speed and efficiently.

【0136】また、本発明のマルチプロセッサシステム
を構成する要素(プロセッサエレメント)を半導体集積
回路装置により構成し、半導体集積回路装置に対し外部
入力信号によりマスタプロセッサか、スレーブプロセッ
サかを識別して動作させるように構成する。この場合、
スレーブプロセッサがリセット解除後、待機モードに入
り、マスタープロセッサから送信されるプログラム等の
データで、ローカルメモリを初期化した後に、割り込み
により、再起動されるように構成したことにより、マス
タープロセッサとスレーブプロセッサのVLSI製造技
術を用いた設計を共通に行うことが可能となり、ひいて
は、マルチプロセッサシステムの設計における経済効率
が高まる。
Further, the elements (processor elements) constituting the multiprocessor system of the present invention are constituted by the semiconductor integrated circuit device, and the semiconductor integrated circuit device is operated by discriminating between the master processor and the slave processor by an external input signal. Configure to allow. in this case,
After the slave processor enters the standby mode after the reset is released and the local memory is initialized by the data such as the program sent from the master processor, it is configured to be restarted by the interrupt. It becomes possible to commonly perform the design using the VLSI manufacturing technology of the processors, which in turn improves the economic efficiency in the design of the multiprocessor system.

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

【図1】 図1は本発明を一態様で実施するマルチプロ
セッサシステムの全体の構成を示すブロック図、
FIG. 1 is a block diagram showing the overall configuration of a multiprocessor system that implements the present invention in one aspect;

【図2】 図2はプロセッサエレメントの内部構成を示
すブロック図、
FIG. 2 is a block diagram showing an internal configuration of a processor element,

【図3】 図3はプロセッサエレメントの各ユニットの
レジスタにおいて保持されるデータの種類を示す図、
FIG. 3 is a diagram showing types of data held in a register of each unit of a processor element;

【図4】 図4はリングバスインターフェイスユニット
の内部の回路構成を示すブロック図、
FIG. 4 is a block diagram showing an internal circuit configuration of a ring bus interface unit,

【図5】 図5はリングバスインターフェイスユニット
コントロール/ステイタスレジスタ(RCSR)のビッ
ト構成を示す図、
FIG. 5 is a diagram showing a bit configuration of a ring bus interface unit control / status register (RCSR);

【図6】 図6はSEND命令のパケットフォーマット
を示す図、
FIG. 6 is a diagram showing a packet format of a SEND instruction,

【図7】 図7はSEND命令実行時に用いられるデー
タ読み出しのためのデータ構造を説明する図、
FIG. 7 is a diagram for explaining a data structure for reading data used when executing a SEND instruction;

【図8】 図8はSEND命令によるデータ送信のデー
タ転送タイミングを説明するイミングチャート、
FIG. 8 is an iming chart for explaining a data transfer timing of data transmission by a SEND instruction,

【図9】 図9はSEND命令実行時に用いられるデー
タ格納のためのデータ構造を説明する図、
FIG. 9 is a diagram illustrating a data structure for storing data used when a SEND instruction is executed;

【図10】 図10はSEND命令によるデータ受信処
理のデータ取り込みタイミングを説明するタイミングチ
ャート、
FIG. 10 is a timing chart for explaining the data acquisition timing of the data reception processing by the SEND command,

【図11】 図11はSENDA命令のパケットフォー
マットを示す図、
FIG. 11 is a diagram showing a packet format of a SENDA instruction,

【図12】 図12はSENDA命令の実行時に用いら
れるメモリアクセスのためのデータ構造を示す図、
FIG. 12 is a diagram showing a data structure for memory access used when executing a SENDA instruction;

【図13】 図13はSENDA命令によるデータ送信
のデータ転送タイミングを説明するタイミングチャー
ト、
FIG. 13 is a timing chart explaining data transfer timing of data transmission by a SENDA instruction,

【図14】 図14はSENDA命令による受信ノード
における内部データ転送タイミングを示すタイミングチ
ャート、
FIG. 14 is a timing chart showing internal data transfer timing in a receiving node according to a SENDA instruction,

【図15】 図15はRTRV命令のパケットフォーマ
ットを示す図、
FIG. 15 is a diagram showing a packet format of an RTRV command,

【図16】 図16はRTRV命令によるデータ送信の
データ転送タイミングを説明するタイミングチャート、
FIG. 16 is a timing chart for explaining the data transfer timing of data transmission by the RTRV instruction,

【図17】 図17はRTRV命令による転送データを
受信したノードにおけるデータ書き込みのタイミングを
示すタイミングチャート、
FIG. 17 is a timing chart showing the timing of data writing in the node that has received the transfer data according to the RTRV instruction.

【図18】 図18はRTRVA命令のパケットフォー
マットを示す図、
FIG. 18 is a diagram showing a packet format of an RTRVA command,

【図19】 図19はRTRVA命令によるデータ送信
のデータ転送タイミングを説明するタイミングチャー
ト、
FIG. 19 is a timing chart for explaining the data transfer timing of the data transmission by the RTRVA instruction,

【図20】 図20はRTRVA命令による転送データ
を受信したノードにおけるデータ書き込みのタイミング
を示すタイミングチャート、
FIG. 20 is a timing chart showing the timing of data writing in the node that has received the transfer data according to the RTRVA instruction.

【図21】 図21はMODE0命令およびMODE1
命令のパケットフォーマットを示す図、
FIG. 21 shows a MODE0 instruction and a MODE1 instruction.
Diagram showing packet format of instruction,

【図22】 図22はMODE2命令のパケットフォー
マットを示す図、
FIG. 22 is a diagram showing a packet format of a MODE2 instruction,

【図23】 図23はMODE3命令のパケットフォー
マットを示す図、
FIG. 23 is a diagram showing a packet format of a MODE3 instruction,

【図24】 図24はSETNID命令のパケットフォ
ーマットを示す図、
FIG. 24 is a diagram showing a packet format of a SETNID command,

【図25】 図25はRESNID命令のパケットフォ
ーマットを示す図、
FIG. 25 is a diagram showing a packet format of a RESNID command;

【図26】 図26はSETGID命令のパケットフォ
ーマットを示す図、
FIG. 26 is a diagram showing a packet format of a SETGID command,

【図27】 図27はSTAT命令のパケットフォーマ
ットを示す図、
FIG. 27 is a diagram showing a packet format of a STAT command,

【図28】 図28はTESTS命令のパケットフォー
マットを示す図、
FIG. 28 is a diagram showing a packet format of a TESTS command,

【図29】 図29はTESTR命令のパケットフォー
マットを示す図、
FIG. 29 is a diagram showing a packet format of a TESTR instruction,

【図30】 図30はINTH命令のパケットフォーマ
ットを示す図、
FIG. 30 is a diagram showing a packet format of an INTH command,

【図31】 図31はINTS命令のパケットフォーマ
ットを示す図、
FIG. 31 is a diagram showing a packet format of an INTS command,

【図32】 図32はBNOP命令のパケットフォーマ
ットを示す図。
FIG. 32 is a diagram showing a packet format of a BNOP instruction.

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

10…リングバス、11…マスターノード、12…第1
番目のスレーブノード、13…第n番目のスレーブノー
ド、14…ホストインターフェイスバス、15…バス交
換器、16…ホストコンピュータ、17…プロセッサエ
レメント、18…ローカルメモリ、19…インターフェ
イス回路、20…周辺回路、21…リングバスインター
フェイスユニット(RBIU)、22…内部データバ
ス、23…整数演算ユニット(IAU)、24…浮動小
数点演算ユニット(FAU)、25…命令キャッシュユ
ニット(ICU)、26…メモリインターフェイスユニ
ット(MIU)、27…リングバスインターフェイスユ
ニット制御回路、28…リングバスデータ入力の信号
線、29…マルチプレクサ、30…ラッチ回路、31…
リングバスデータ出力の信号線、32…出力FIFOメ
モリ、33…入力FIFOメモリ、35…比較器、36
…リングバスデータ入力方向の外部入出力制御信号群、
37…リングバスデータ出力方向の外部入出力制御信号
群、38…へッダ部生成回路、39…他ユニットから入
力される制御信号群、40…他ユニットへ出力される制
御信号群、41…内部制御信号群、42…レジスタファ
イル、43…リングバスインターフェイスユニットコン
トロール/ステイタスレジスタ(RCSR)、44…ノ
ードIDレジスタ(NIDR)、45…グループIDレ
ジスタ(GIDR)、47…リングバス命令ポインタ
(CMDP)、48…SEND命令ポインタ(SEND
RP)、100…SEND命令のパケットフォーマッ
ト、100a…命令フィールド、100b…データ長フ
ィールド、100c…ソースフィールド、100d…デ
ィスティネーションフィールド、100e…ダミーパケ
ット、100f…データパケット、101…SENDA
命令のパケットフォーマット、101a…命令フィール
ド、101b…データ長フィールド、101c…ソース
フィールド、101d…ディスティネーションフィール
ド、101e…アドレスフィールド、101f…ダミー
パケット、101g…データパケット、102…RTR
V命令のパケットフォーマット、102a…命令フィー
ルド、102b…データ長フィールド、102c…ソー
スフィールド、102d…ディスティネーションフィー
ルド、102e…ダミーパケット、102f…データパ
ケット、103…RTRVA命令のパケットフォーマッ
ト、103a…命令フィールド、103b…データ長フ
ィールド、103c…ソースフィールド、103d…デ
ィスティネーションフィールド、103e…アドレスフ
ィールド、103f…ダミーパケット、103g…デー
タパケット、107…SETNID命令のパケットフォ
ーマット、107a…命令フィールド、107b…設定
ノードIDフィールド、107c…ソースフィールド、
107d…ディスティネーションフィールド、108…
SETNID命令のパケットフォーマット、108a…
命令フィールド、108c…ソースフィールド、108
d…ディスティネーションフィールド、109…SET
GID命令のパケットフォーマット、109a…命令フ
ィールド、109b…設定グループノードIDフィール
ド、109c…ソースフィールド、109d…ディステ
ィネーションフィールド、110…STAT命令のパケ
ットフォーマット、110a…命令フィールド、110
b…状態ビットフィールド、110c…ソースフィール
ド、110d…ディスティネーションフィールド、11
1…TESTS命令のパケットフォーマット、111a
…命令フィールド、111b…マスクビットフィール
ド、111c…ソースフィールド、111d…ディステ
ィネーションフィールド、112…TESTR命令のパ
ケットフォーマット、112a…命令フィールド、11
2b…マスクビットフィールド、112c…ソースフィ
ールド、112d…ディスティネーションフィールド、
113…INTH命令のパケットフォーマット、113
a…命令フィールド、113b…ベクトルフィールド、
113c…ソースフィールド、113d…ディスティネ
ーションフィールド、114…INTS命令のパケット
フォーマット、114a…命令フィールド、114b…
ベクトルフィールド、114c…ソースフィールド、1
14d…ディスティネーションフィールド、115…B
NOP命令のパケットフォーマット、115a…命令フ
ィールド、115c…ソースフィールド、115d…デ
ィスティネーションフィールド、120…ディスクリプ
タブロック、120a…ディスクリプタポインタフィー
ルド、120b…メモリブロックポインタフィールド、
120c…未使用領域、120d…データ長フィール
ド、120e…未使用領域、120f…送信先アドレス
フィールド、121…データ領域、122…ディスクリ
プタブロック、122a…ディスクリプタポインタフィ
ールド、122b…メモリブロックポインタフィール
ド、122c…未使用領域、122d…データ長フィー
ルド、122e…送信元アドレスフィールド、122f
…未使用領域、123…データ領域、124…ディスク
リプタブロック、124a…ディスクリプタポインタフ
ィールド、124b…メモリブロックポインタフィール
ド、124c…未使用領域、124d…データ長フィー
ルド、124e…未使用領域、124f…送信先アドレ
スフィールド、124g…アドレスフィールド、125
…データ領域。
10 ... Ring bus, 11 ... Master node, 12 ... First
Th slave node, 13 ... Nth slave node, 14 ... Host interface bus, 15 ... Bus exchanger, 16 ... Host computer, 17 ... Processor element, 18 ... Local memory, 19 ... Interface circuit, 20 ... Peripheral circuit , 21 ... Ring bus interface unit (RBIU), 22 ... Internal data bus, 23 ... Integer arithmetic unit (IAU), 24 ... Floating point arithmetic unit (FAU), 25 ... Instruction cache unit (ICU), 26 ... Memory interface unit (MIU), 27 ... Ring bus interface unit control circuit, 28 ... Ring bus data input signal line, 29 ... Multiplexer, 30 ... Latch circuit, 31 ...
Ring bus data output signal line, 32 ... Output FIFO memory, 33 ... Input FIFO memory, 35 ... Comparator, 36
... External input / output control signal group for ring bus data input direction,
37 ... External input / output control signal group in ring bus data output direction, 38 ... Header section generating circuit, 39 ... Control signal group input from other unit, 40 ... Control signal group output to other unit, 41 ... Internal control signal group, 42 ... Register file, 43 ... Ring bus interface unit control / status register (RCSR), 44 ... Node ID register (NIDR), 45 ... Group ID register (GIDR), 47 ... Ring bus instruction pointer (CMDP) ), 48 ... SEND instruction pointer (SEND
RP), 100 ... Packet format of SEND instruction, 100a ... Instruction field, 100b ... Data length field, 100c ... Source field, 100d ... Destination field, 100e ... Dummy packet, 100f ... Data packet, 101 ... SENDA
Command packet format, 101a ... Command field, 101b ... Data length field, 101c ... Source field, 101d ... Destination field, 101e ... Address field, 101f ... Dummy packet, 101g ... Data packet, 102 ... RTR
V command packet format, 102a ... Command field, 102b ... Data length field, 102c ... Source field, 102d ... Destination field, 102e ... Dummy packet, 102f ... Data packet, 103 ... RTRVA command packet format, 103a ... Command field , 103b ... Data length field, 103c ... Source field, 103d ... Destination field, 103e ... Address field, 103f ... Dummy packet, 103g ... Data packet, 107 ... SETNID command packet format, 107a ... Command field, 107b ... Setting node ID field, 107c ... Source field,
107d ... Destination field, 108 ...
Packet format of SETNID command, 108a ...
Command field, 108c ... Source field, 108
d ... Destination field, 109 ... SET
GID command packet format, 109a ... Command field, 109b ... Setting group node ID field, 109c ... Source field, 109d ... Destination field, 110 ... STAT command packet format, 110a ... Command field, 110
b ... Status bit field, 110c ... Source field, 110d ... Destination field, 11
1 ... TESTS command packet format, 111a
Command field, 111b ... mask bit field, 111c ... source field, 111d ... destination field, 112 ... packet format of TESTR command, 112a ... command field, 11
2b ... mask bit field, 112c ... source field, 112d ... destination field,
113 ... packet format of INTH command, 113
a ... instruction field, 113b ... vector field,
113c ... Source field, 113d ... Destination field, 114 ... INTS command packet format, 114a ... Command field, 114b ...
Vector field, 114c ... Source field, 1
14d ... Destination field, 115 ... B
Packet format of NOP command, 115a ... Command field, 115c ... Source field, 115d ... Destination field, 120 ... Descriptor block, 120a ... Descriptor pointer field, 120b ... Memory block pointer field,
120c ... Unused area, 120d ... Data length field, 120e ... Unused area, 120f ... Destination address field, 121 ... Data area, 122 ... Descriptor block, 122a ... Descriptor pointer field, 122b ... Memory block pointer field, 122c ... Unused area, 122d ... Data length field, 122e ... Source address field, 122f
... unused area, 123 ... data area, 124 ... descriptor block, 124a ... descriptor pointer field, 124b ... memory block pointer field, 124c ... unused area, 124d ... data length field, 124e ... unused area, 124f ... destination Address field, 124g ... Address field, 125
… Data area.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 宮川 宣明 神奈川県海老名市本郷2274番地 富士ゼロ ックス株式会社内 (72)発明者 相原 玲二 広島県東広島市鏡山一丁目4−2 広島大 学内 (72)発明者 小柳 光正 宮城県仙台市青葉区新巻字青葉 東北大学 内 ─────────────────────────────────────────────────── ─── Continuation of front page (72) Nobuaki Miyagawa 2274 Hongo, Ebina City, Kanagawa Prefecture Fuji Xerox Co., Ltd. (72) Reiji Aihara 1-2-2, Kagamiyama, Higashihiroshima City, Hiroshima Prefecture Hiroshima University (72 ) Inventor Mitsumasa Koyanagi, Aoba-ku, Sendai-shi, Miyagi New winding letter Aoba, Tohoku University

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 プロセッサエレメントを有する複数のノ
ードがリングバス形式の通信ネットワークを介して接続
され、マスター・スレーブ形式でノード間のデータ通信
を行い、各ノードのプロセッサエレメントにおいてデー
タ処理を行うマルチプロセッサシステムにおいて、各々
のプロセッサエレメントが、 各ノード毎に設けられるノードIDを設定するノードI
Dレジスタと、 各ノード毎に設けられるノードIDが設定されたか否か
を示すID設定フラグを格納するID設定フラグレジス
タと、 該ID設定フラグをシステムのリセット時にリセットす
るリセット手段と、 マスターノードとスレーブノードとの区別を設定するノ
ード種別設定手段と、 前記ノード種別設定手段がマスターノードに設定された
場合に、それぞれに異なるノードIDを設定するノード
ID設定命令を発行する命令発行手段と、 前記ノード種別設定手段がスレーブノードに設定された
場合に、前記ID設定フラグがリセットされている場合
に、前記ノードID設定命令に付加されているノードI
Dを前記ノードIDレジスタに設定し、前記ID設定フ
ラグをセットし、前記ノードID設定命令を下流のノー
ドに伝えない制御処理を行い、前記ID設定フラグが設
定されている場合には、前記ノードID設定命令を下流
のノードに伝える制御処理を行う制御手段とを備えるこ
とを特徴とするマルチプロセッサシステム。
1. A multiprocessor in which a plurality of nodes having processor elements are connected via a ring bus type communication network, data communication between nodes is performed in a master / slave type, and data processing is performed in the processor elements of each node. In the system, each processor element sets a node ID for setting a node ID provided for each node.
A D register, an ID setting flag register for each node, which stores an ID setting flag indicating whether or not a node ID has been set, a reset means for resetting the ID setting flag when the system is reset, and a master node. Node type setting means for setting a distinction from a slave node; command issuing means for issuing a node ID setting instruction for setting a different node ID when the node type setting means is set as a master node; When the node type setting means is set to the slave node and the ID setting flag is reset, the node I added to the node ID setting command
D is set in the node ID register, the ID setting flag is set, control processing is performed to prevent the node ID setting command from being transmitted to a downstream node, and if the ID setting flag is set, the node A multiprocessor system comprising: a control unit that performs a control process of transmitting an ID setting command to a downstream node.
【請求項2】 プロセッサエレメントを有する複数のノ
ードがリングバス形式の通信ネットワークを介して接続
され、マスター・スレーブ形式でノード間のデータ通信
を行い、各ノードのプロセッサエレメントにおいてデー
タ処理を行うマルチプロセッサシステムにおいて、各々
のプロセッサエレメントが、 プロセッサ間通信のために割り当てられた命令コードを
入力しその内容をデコードしプロセッサ間通信に必要な
制御信号を生成する制御回路と、 該制御信号に基づいてパケット形式で転送される1つあ
るいは複数からなるデータのヘッダ部を組み立てるヘッ
ダ部生成回路と、 ノード内部のデータを一時的に蓄える出力バッファと、 リングバスからのデータ入力と前記ヘッダ部生成回路の
出力と前記出力バッファからのデータの3者を入力して
その1つを選択するマルチプレクサと、 該マルチプレクサの出力を1クロック遅延させ次のノー
ドへ出力するラッチ回路とを備えることを特徴とするマ
ルチプロセッサシステム。
2. A multiprocessor in which a plurality of nodes having processor elements are connected via a ring bus type communication network, data communication is performed between the nodes in a master / slave type, and data processing is performed in the processor element of each node. In the system, each processor element inputs a command code assigned for interprocessor communication, decodes the content of the control code, and generates a control signal necessary for interprocessor communication, and a packet based on the control signal. Header part generation circuit that assembles the header part of one or more data transferred in a format, output buffer that temporarily stores the data inside the node, data input from the ring bus and output of the header part generation circuit And the data from the output buffer Multiprocessor system characterized in that it comprises a multiplexer for selecting one of them by force, and a latch circuit for outputting to the next node by one clock delay the output of the multiplexer.
【請求項3】 プロセッサエレメントを有する複数のノ
ードがリングバス形式の通信ネットワークを介して接続
され、マスター・スレーブ形式でノード間のデータ通信
を行い、各ノードのプロセッサエレメントにおいてデー
タ処理を行うマルチプロセッサシステムにおいて、 各ノードのプロセッサエレメントを介して伝搬される専
用の割込み信号線と、 前記割込み信号線により各ノードのプロセッサエレメン
トが通常のデータ通信よりも優先度の高い割り込みを他
プロセッサエレメントに伝える通信制御処理手段とを備
えることを特徴とするマルチプロセッサシステム。
3. A multiprocessor in which a plurality of nodes having processor elements are connected via a ring bus type communication network, data communication is performed between the nodes in a master / slave type, and data processing is performed in the processor elements of each node. In the system, a dedicated interrupt signal line propagated through the processor element of each node, and communication by which the processor element of each node transmits an interrupt having a higher priority than normal data communication to another processor element by the interrupt signal line A multiprocessor system comprising: control processing means.
【請求項4】 プロセッサエレメントを有する複数のノ
ードがリングバス形式の通信ネットワークを介して接続
され、マスター・スレーブ形式でノード間のデータ通信
を行い、各ノードのプロセッサエレメントにおいてデー
タ処理を行うマルチプロセッサシステムにおいて、 ノード間のデータ転送に係る制御データを記述するディ
スクリプタを格納する記憶手段と、 前記ディスクリプタへのポインタを設定するポインタレ
ジスタ群と、 データ転送を処理する毎に該ポインタレジスタに設定さ
れたポインタを更新する更新手段とを備える特徴とする
マルチプロセッサシステム。
4. A multiprocessor in which a plurality of nodes having processor elements are connected via a ring bus type communication network, data communication is performed between the nodes in a master / slave type, and data processing is performed in the processor element of each node. In the system, a storage unit that stores a descriptor that describes control data related to data transfer between nodes, a pointer register group that sets a pointer to the descriptor, and a pointer register that is set in the pointer register every time data transfer is processed. A multiprocessor system comprising: an updating unit for updating a pointer.
【請求項5】 請求項4に記載のマルチプロセッサシス
テムにおいて、 前記ディスクリプタは、次ディスクリプタへのポインタ
と、送受信データが格納されるメモリブロックへのポイ
ンタと、データ長とを含むことを特徴とするマルチプロ
セッサシステム。
5. The multiprocessor system according to claim 4, wherein the descriptor includes a pointer to a next descriptor, a pointer to a memory block in which transmission / reception data is stored, and a data length. Multiprocessor system.
【請求項6】 プロセッサエレメントを有する複数のノ
ードがリングバス形式の通信ネットワークを介して接続
され、マスター・スレーブ形式でノード間のデータ通信
を行い、各ノードのプロセッサエレメントにおいてデー
タ処理を行うマルチプロセッサシステムにおいて、 各々のプロセッサエレメントは、前記ノード種別設定手
段に外部入力信号が与えられることにより、マスターノ
ードまたはスレーブノードのプロセッサエレメントとし
て機能させることを特徴とするマルチプロセッサシステ
ム。
6. A multiprocessor in which a plurality of nodes having processor elements are connected via a ring bus type communication network, data communication is performed between the nodes in a master / slave type, and data processing is performed in the processor element of each node. In the system, each processor element functions as a processor element of a master node or a slave node when an external input signal is given to the node type setting means.
【請求項7】 請求項6に記載のマルチプロセッサシス
テムにおいて、 スレーブノードとして機能するプロセッサエレメント
は、リセット解除後に、待機モードに入り、マスターノ
ードのプロセッサエレメントから送信される割り込み信
号により、再起動されることを特徴とするマルチプロセ
ッサシステム。
7. The multiprocessor system according to claim 6, wherein the processor element functioning as a slave node enters a standby mode after reset release, and is restarted by an interrupt signal transmitted from the processor element of the master node. A multiprocessor system characterized by the following.
【請求項8】 請求項7に記載のマルチプロセッサシス
テムにおいて、 スレーブノードとして機能するプロセッサエレメント
は、リセット解除後の待機モードにおいて、リングバス
を介して送信されるプログラムまたはデータを、ローカ
ルメモリに格納することを特徴とするマルチプロセッサ
システム。
8. The multiprocessor system according to claim 7, wherein the processor element functioning as a slave node stores a program or data transmitted via the ring bus in a local memory in a standby mode after reset release. A multiprocessor system characterized by:
JP7264661A 1995-09-20 1995-09-20 Multiprocessor system Pending JPH0991262A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7264661A JPH0991262A (en) 1995-09-20 1995-09-20 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7264661A JPH0991262A (en) 1995-09-20 1995-09-20 Multiprocessor system

Publications (1)

Publication Number Publication Date
JPH0991262A true JPH0991262A (en) 1997-04-04

Family

ID=17406457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7264661A Pending JPH0991262A (en) 1995-09-20 1995-09-20 Multiprocessor system

Country Status (1)

Country Link
JP (1) JPH0991262A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005776A (en) * 1999-04-29 2001-01-12 Canon Inc Bus architecture and information processor using the same
WO2004003773A1 (en) * 2002-06-28 2004-01-08 Mitsubishi Denki Kabushiki Kaisha Identification code assigning apparatus and method
JP2005346669A (en) * 2004-06-07 2005-12-15 Canon Inc Data transfer method, data transfer device, program, and storage medium
JP2010244512A (en) * 2009-03-17 2010-10-28 Canon Inc Data processing device, and data processing method or program
JP2011022714A (en) * 2009-07-14 2011-02-03 Canon Inc Data processing apparatus
JP2012008976A (en) * 2010-06-28 2012-01-12 Canon Inc Data processor, data processing method, and program
US8774234B2 (en) 2009-06-25 2014-07-08 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and computer-readable storage medium
JP2022526929A (en) * 2019-03-27 2022-05-27 グラフコアー リミテッド Network computer with multiple built-in rings
JP2022545115A (en) * 2019-08-22 2022-10-25 グーグル エルエルシー Initialize on-chip operation

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005776A (en) * 1999-04-29 2001-01-12 Canon Inc Bus architecture and information processor using the same
WO2004003773A1 (en) * 2002-06-28 2004-01-08 Mitsubishi Denki Kabushiki Kaisha Identification code assigning apparatus and method
JP2005346669A (en) * 2004-06-07 2005-12-15 Canon Inc Data transfer method, data transfer device, program, and storage medium
KR100769612B1 (en) * 2004-06-07 2007-10-23 캐논 가부시끼가이샤 Data transfer method and data transfer device
JP2010244512A (en) * 2009-03-17 2010-10-28 Canon Inc Data processing device, and data processing method or program
US9225547B2 (en) 2009-03-17 2015-12-29 Canon Kabushiki Kaisha Apparatus, method, and medium for controlling transmission of data
US20140254601A1 (en) * 2009-06-25 2014-09-11 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and computer-readable storage medium
US8774234B2 (en) 2009-06-25 2014-07-08 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and computer-readable storage medium
US8995476B2 (en) * 2009-06-25 2015-03-31 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and computer-readable storage medium
JP2011022714A (en) * 2009-07-14 2011-02-03 Canon Inc Data processing apparatus
US9239811B2 (en) 2009-07-14 2016-01-19 Canon Kabushiki Kaisha Data processing apparatus and data processing method
JP2012008976A (en) * 2010-06-28 2012-01-12 Canon Inc Data processor, data processing method, and program
US9053225B2 (en) 2010-06-28 2015-06-09 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and storage medium
JP2022526929A (en) * 2019-03-27 2022-05-27 グラフコアー リミテッド Network computer with multiple built-in rings
JP2022527066A (en) * 2019-03-27 2022-05-30 グラフコアー リミテッド Incorporation of rings in circular computer networks
JP2022545115A (en) * 2019-08-22 2022-10-25 グーグル エルエルシー Initialize on-chip operation

Similar Documents

Publication Publication Date Title
US8489858B2 (en) Methods and apparatus for scalable array processor interrupt detection and response
US6594713B1 (en) Hub interface unit and application unit interfaces for expanded direct memory access processor
US7840914B1 (en) Distributing computations in a parallel processing environment
US6865663B2 (en) Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode
US20070255894A1 (en) Vector processor
US20070234009A1 (en) Processor having a dedicated hash unit integrated within
JPH0773149A (en) System and method for data processing
US20040205719A1 (en) Hop method for stepping parallel hardware threads
JPH0635877A (en) Array-processor
WO2012068494A2 (en) Context switch method and apparatus
WO2001016715A9 (en) Branch instructions in a multithreaded parallel processing system
US20190138492A1 (en) Memory Network Processor
US11816485B2 (en) Nested loop control
US6735690B1 (en) Specifying different type generalized event and action pair in a processor
US5497496A (en) Superscalar processor controlling fetching of instructions based upon number of empty instructions registers detected for each cycle
JPH0991262A (en) Multiprocessor system
US20220365787A1 (en) Event handling in pipeline execute stages
EP1083487A2 (en) Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
Taylor et al. The raw prototype design document
US20230359385A1 (en) Quick clearing of registers
JP3841967B2 (en) Microprocessor
JPH03201031A (en) Information processor
US7127589B2 (en) Data processor
US20050033938A1 (en) Network processing system, core language processor and method of executing a sequence of instructions in a stored program
JPH10502756A (en) Chunk chains for vector processors