[go: up one dir, main page]

JP3209630B2 - Data transfer device and multiprocessor system - Google Patents

Data transfer device and multiprocessor system

Info

Publication number
JP3209630B2
JP3209630B2 JP02297194A JP2297194A JP3209630B2 JP 3209630 B2 JP3209630 B2 JP 3209630B2 JP 02297194 A JP02297194 A JP 02297194A JP 2297194 A JP2297194 A JP 2297194A JP 3209630 B2 JP3209630 B2 JP 3209630B2
Authority
JP
Japan
Prior art keywords
address
data transfer
additional
updating
multiprocessor system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP02297194A
Other languages
Japanese (ja)
Other versions
JPH076125A (en
Inventor
順二 西川
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP02297194A priority Critical patent/JP3209630B2/en
Publication of JPH076125A publication Critical patent/JPH076125A/en
Application granted granted Critical
Publication of JP3209630B2 publication Critical patent/JP3209630B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、多数のプロセッサを用
いて並列に処理を行うマルチプロセッサシステムにおい
てプロセッサ間のデータ転送やプロセッサと外部とのデ
ータの授受を行うためのデータ転送装置に関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer apparatus for transferring data between processors and transferring data between the processors and the outside in a multiprocessor system in which a plurality of processors perform parallel processing. is there.

【0002】[0002]

【従来の技術】近年、情報処理の大規模化が進み、性能
の高い計算機システムが必要とされている。並列計算機
は、多数のプロセッサに処理を分担させることによって
性能向上を図ったものである。一般に並列処理では、複
数のプロセッサにおける処理の進行に伴って、プロセッ
サ間のデータ転送が必要となる。このようなプロセッサ
間の通信を行うため、各種の相互結合網(データ転送ネ
ットワーク)が提案されている。この中でも、クロスバ
型のネットワークは完全結合網であり、1回のデータ転
送で任意のプロセッサ間の通信を実現できる。
2. Description of the Related Art In recent years, the scale of information processing has been increased, and a computer system with high performance has been required. The parallel computer is designed to improve performance by sharing processing among many processors. In general, in parallel processing, data transfer between processors is required as the processing in a plurality of processors progresses. In order to perform such communication between processors, various interconnection networks (data transfer networks) have been proposed. Among them, the crossbar network is a complete connection network, and communication between arbitrary processors can be realized by one data transfer.

【0003】図22に、複数のプロセッサエレメント
(PE)の間をクロスバ型のネットワークで接続した従
来のマルチプロセッサシステムの構成を示す。同図にお
いて、50は送信側のプロセッサエレメント、55は受
信側のプロセッサエレメント、60は送信側データ転送
制御装置、65は受信側データ転送制御装置、70はデ
ータ転送チャネル(結合ノード)としてのバッファユニ
ットである。
FIG. 22 shows a configuration of a conventional multiprocessor system in which a plurality of processor elements (PEs) are connected by a crossbar network. In the figure, reference numeral 50 denotes a transmitting processor element, 55 denotes a receiving processor element, 60 denotes a transmitting data transfer control device, 65 denotes a receiving data transfer control device, and 70 denotes a buffer as a data transfer channel (connection node). Unit.

【0004】図22のように論理的に表されるクロスバ
型のネットワークを実際のハードウエアでどのように実
現するかは、各々の並列計算機によって異なる。また、
処理の進行に従ってネットワークをアクセスする手順も
その処理内容によって異なる。図23は、各バッファユ
ニット70を先入れ先出し方式のFIFOバッファ71
とした例を示すものである。送信側のプロセッサエレメ
ント50は、FIFOバッファ71に空きのある間はデ
ータをそのチャネルに送出できる。受信側のプロセッサ
エレメント55は、空でないFIFOバッファ71から
データを読み込む。したがって、結合ノードを単なるス
イッチで構成する場合とは違って、ネットワーク全体の
結合状態を設定する必要はない。
[0004] How a crossbar network logically represented as shown in FIG. 22 is realized by actual hardware differs depending on each parallel computer. Also,
The procedure for accessing the network as the processing progresses also differs depending on the processing content. FIG. 23 shows a FIFO buffer 71 of the first-in first-out type in which each buffer unit 70 is provided.
FIG. The processor element 50 on the transmission side can send data to the channel while the FIFO buffer 71 is empty. The receiving processor element 55 reads data from the non-empty FIFO buffer 71. Therefore, it is not necessary to set the connection state of the entire network, unlike the case where the connection node is constituted by a simple switch.

【0005】図22及び図23に示す構成においてデー
タ転送先を指定するためのバッファユニットアドレス
(チャネル番号)の生成例を図24及び図25に示す。
図24は、送信側データ転送制御装置60に内蔵された
従来のアドレス生成回路の構成を示すものである。図2
4において、アドレス生成回路61は、nビットポイン
タ62と+1加算器63とを備えている。この構成によ
れば、送信側プロセッサエレメント50から受信側プロ
セッサエレメント55へデータを送るとき、nビットポ
インタ62に保持するバッファユニットアドレスAをデ
ータの転送ごとにアドレス更新要求信号CNTでインク
リメントすることにより、図25に示すようにデータ転
送先のチャネル番号を順次指定することができる。これ
を「バースト転送」と呼ぶ。このデータ転送方法は、チ
ャネルの指定に余分な時間を必要とせず、CNT信号と
してパルスを与えるだけでよいため、データ転送レート
が高い。
FIGS. 24 and 25 show examples of generation of a buffer unit address (channel number) for designating a data transfer destination in the configuration shown in FIGS. 22 and 23.
FIG. 24 shows a configuration of a conventional address generation circuit built in the transmission-side data transfer control device 60. FIG.
In 4, the address generation circuit 61 includes an n-bit pointer 62 and a +1 adder 63. According to this configuration, when data is sent from the transmitting processor element 50 to the receiving processor element 55, the buffer unit address A held in the n-bit pointer 62 is incremented by the address update request signal CNT every time data is transferred. 25, the channel number of the data transfer destination can be sequentially designated. This is called "burst transfer". This data transfer method does not require extra time for channel designation and only needs to provide a pulse as a CNT signal, so that the data transfer rate is high.

【0006】[0006]

【発明が解決しようとする課題】上記従来のデータ転送
装置における図24のようなアドレス生成回路61の構
成では、例えばnビットポインタ62が2ビットなら
0,1,2,3,0,1,2,3,…のように、2のn
乗のサイズをカウントするだけであり、アドレスの変化
範囲が固定され、かつシーケンシャルなアドレス生成に
制限される。
In the configuration of the address generation circuit 61 as shown in FIG. 24 in the conventional data transfer apparatus, for example, if the n-bit pointer 62 is 2 bits, 0, 1, 2, 3, 0, 1, 1 2, 3, ..., 2
Only the size of the power is counted, the range of change of the address is fixed, and limited to sequential address generation.

【0007】このような理由からサイズが固定されたデ
−タ転送ネットワークを用いたマルチプロセッサシステ
ムでは、ネットワークのサイズを処理内容に合わせる最
適化ができないため、並列化の効率が落ちる。また、プ
ロセッサエレメントをグループ化し、グループごとに目
的の異なるデータ転送を行いたい場合、バースト転送を
採用できないために、低転送レートの他のデータ転送方
法をとらざるを得ないという問題点を有している。
For this reason, in a multiprocessor system using a data transfer network having a fixed size, the efficiency of parallelization decreases because the size of the network cannot be optimized according to the processing contents. In addition, when processor elements are grouped and it is desired to perform different data transfer for each group, burst transfer cannot be employed, so that another data transfer method having a low transfer rate must be used. ing.

【0008】また、上記のようにシーケンシャルなアド
レスしか生成できないデ−タ転送ネットワークを用いた
マルチプロセッサシステムでは、例えば3次元の配列デ
ータを効率良く処理できないという問題がある。マルチ
プロセッサシステムにおいてデータの分散・収集を行う
場合、とびとびのアドレス値がしばしば出現するからで
ある。
Further, in a multiprocessor system using a data transfer network capable of generating only sequential addresses as described above, there is a problem that, for example, three-dimensional array data cannot be efficiently processed. This is because, when data is distributed and collected in a multiprocessor system, discrete address values often appear.

【0009】本発明の目的は、プログラマブルなアドレ
ス生成機構の採用によってマルチプロセッサシステムの
処理効率を高めることにある。
An object of the present invention is to increase the processing efficiency of a multiprocessor system by employing a programmable address generation mechanism.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、バッファユニットアドレスの上限及び下
限を規制したり、その増分を変更したりできるようにし
たものである。
In order to achieve the above object, the present invention restricts the upper and lower limits of a buffer unit address and changes the increment thereof.

【0011】[0011]

【作用】本発明によれば、バッファユニットアドレスの
上下限の規制によりネットワークが分割可能となるの
で、マルチプロセッサシステムの処理効率が高められ
る。アドレス変化範囲の限定により、プロセッサエレメ
ント間のデータ転送と、プロセッサエレメントとデータ
入出力装置との間のデータ転送とを任意に選択すること
も可能となる。
According to the present invention, the network can be divided by the upper and lower limits of the buffer unit address, so that the processing efficiency of the multiprocessor system can be improved. By limiting the address change range, it is possible to arbitrarily select data transfer between the processor elements and data transfer between the processor elements and the data input / output device.

【0012】また、増分の変更により、とびとびのアド
レス値を簡単かつ高速に生成できることとなるので、3
次元以上のデータ構造に適したネットワークの転送先ア
ドレス又は転送元アドレスの効率的な生成が可能とな
る。
Also, by changing the increment, discrete address values can be generated easily and at high speed.
It is possible to efficiently generate a transfer destination address or a transfer source address of a network suitable for a data structure of dimensions or more.

【0013】[0013]

【実施例】以下、図面を参照しながら本発明の実施例に
ついて説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0014】(実施例1)図1は、本発明の実施例に係
るデータ転送装置の構成を示す図である。データ転送制
御装置10とK個のバッファユニット(BU)20と
は、データ転送バス16によって相互に接続されてい
る。データ転送制御装置10は、アドレスレジスタ1
2、アドレスカウンタ13、比較器14、ネットワーク
インターフェース6、内部バス15及びそれらを制御す
るためのアドレス制御回路11を備えている。このうち
アドレスレジスタ12、アドレスカウンタ13及び比較
器14は、アドレス生成回路7を構成するものである。
R/Wはプロセッサエレメント(不図示)からアドレス
レジスタ12へのアドレス設定を制御するためのレジス
タ設定信号、SET,CNTはアドレスカウンタ13へ
のアドレス設定信号及びアドレス更新要求信号、Cは比
較器14からの一致信号、Aはデータ転送バス16へ送
出されるバッファユニットアドレスである。
(Embodiment 1) FIG. 1 is a diagram showing a configuration of a data transfer apparatus according to an embodiment of the present invention. The data transfer control device 10 and the K buffer units (BU) 20 are interconnected by a data transfer bus 16. The data transfer control device 10 includes an address register 1
2, an address counter 13, a comparator 14, a network interface 6, an internal bus 15, and an address control circuit 11 for controlling them. The address register 12, the address counter 13, and the comparator 14 constitute the address generation circuit 7.
R / W is a register setting signal for controlling address setting from a processor element (not shown) to the address register 12, SET and CNT are address setting signals and address update request signals to the address counter 13, and C is a comparator 14 A is a buffer unit address sent to the data transfer bus 16.

【0015】図2は、アドレス生成回路7の詳細内部構
成を示した図である。アドレスレジスタ12は、初期ア
ドレス、下限アドレス、上限アドレスの3つのアドレス
を保持する。アドレスカウンタ13は、+1加算器17
と、セレクタ18と、アドレスラッチ19とを備えてい
る。セレクタ18は、アドレスレジスタ12からの初期
アドレス及び下限アドレスと、+1加算器17でインク
リメントした後のアドレスとの3つのアドレスの中から
1つをアドレス設定信号SETに応じて選択するもので
ある。セレクタ18の出力をアドレスラッチ19に入力
し、その保持値Aを各バッファユニット20へのアドレ
ス出力とする。また、アドレスラッチ19の出力Aとア
ドレスレジスタ12からの上限アドレスとを比較器14
に入力する。比較器14は、これら2つの値を比較し、
比較結果を一致信号Cとしてアドレス制御回路11へ返
す。
FIG. 2 is a diagram showing a detailed internal configuration of the address generation circuit 7. As shown in FIG. The address register 12 holds three addresses: an initial address, a lower limit address, and an upper limit address. The address counter 13 includes a +1 adder 17
, A selector 18 and an address latch 19. The selector 18 selects one of the three addresses of the initial address and the lower limit address from the address register 12 and the address after being incremented by the +1 adder 17 in accordance with the address setting signal SET. The output of the selector 18 is input to the address latch 19, and the held value A is used as an address output to each buffer unit 20. The output A of the address latch 19 and the upper limit address from the address register 12 are compared by the comparator 14.
To enter. Comparator 14 compares these two values,
The comparison result is returned to the address control circuit 11 as a match signal C.

【0016】次に、以上の構成のデータ転送装置の動作
について説明する。図3にアドレス設定の例を示す。ま
ずアドレスレジスタ12の初期アドレス(例えば17)
がセレクタ18で選択されて、アドレスラッチ19に格
納され、バッファユニットアドレスAが初期アドレスに
設定される。そして、このアドレスAで指定されるバッ
ファユニット20に対して、データ転送を行う。次に、
セレクタ18を+1加算器17の出力に切り換え、デー
タの転送ごとにアドレスラッチ19にアドレス更新要求
信号CNTを与えることにより、該アドレスラッチ19
の保持アドレスは順次インクリメントされる。データを
次々とバッファユニット20へ転送するとき、CNT信
号にてアドレスを順次変化させ、バースト転送を行うの
である。アドレスラッチ19の保持アドレスが上限アド
レス(例えば25)に到達した場合には、比較器14か
ら一致信号Cが出力される。このとき、アドレス設定信
号SETによりセレクタ18を下限アドレス(例えば1
0)に切り換え、アドレスラッチ19に下限アドレスを
格納する。これにより、上限アドレスに係るデータ転送
後に、アドレスラッチ19の保持アドレスが下限アドレ
スに戻る。このようにして、図3に示すように、初期ア
ドレスから始めて、下限アドレスと上限アドレスとの間
を順次変化するアドレス生成を行う。
Next, the operation of the data transfer device having the above configuration will be described. FIG. 3 shows an example of address setting. First, the initial address of the address register 12 (for example, 17)
Is selected by the selector 18 and stored in the address latch 19, and the buffer unit address A is set as the initial address. Then, data transfer is performed to the buffer unit 20 specified by the address A. next,
The selector 18 is switched to the output of the +1 adder 17, and the address update request signal CNT is applied to the address latch 19 every time data is transferred.
Are sequentially incremented. When transferring data to the buffer unit 20 one after another, the address is sequentially changed by the CNT signal and burst transfer is performed. When the address held by the address latch 19 reaches the upper limit address (for example, 25), the comparator 14 outputs a match signal C. At this time, the selector 18 is set to the lower limit address (for example, 1) by the address setting signal SET.
0), and the lower limit address is stored in the address latch 19. As a result, the address held in the address latch 19 returns to the lower limit address after data transfer related to the upper limit address. In this manner, as shown in FIG. 3, starting from the initial address, address generation is performed that sequentially changes between the lower limit address and the upper limit address.

【0017】以上のとおり本データ転送装置によれば、
バッファユニットアドレスの上下限を指定して順にアク
セスするアドレス生成回路7を備えることにより、デー
タ転送先としてのK個のバッファユニット20のうちの
一部(1つのグループ)に対するバースト転送が可能に
なる。また、異なるグループのバッファユニットに対し
ては、アドレスレジスタ12中のアドレスを書き換える
ことによって、そのグループに属するバッファユニット
との間のデータ転送を行うことができ、転送先の切り換
えが容易になる。
As described above, according to the present data transfer device,
Providing the address generation circuit 7 for sequentially accessing the buffer unit by specifying the upper and lower limits of the buffer unit address enables burst transfer to a part (one group) of the K buffer units 20 as data transfer destinations. . In addition, by rewriting the address in the address register 12 for the buffer units in different groups, data can be transferred between the buffer units belonging to the group and the transfer destination can be easily switched.

【0018】なお、図4に示すように、アドレスレジス
タ12に、制御レジスタ9からの選択信号SELにより
スイッチングされるアドレス切換回路8を付加してもよ
い。K個のバッファユニット20をいくつかにグループ
分けをし、グループごとの複数組の初期、下限及び上限
アドレスをアドレスレジスタ12に格納しておき、その
中の1組を選択することにより、データ転送の対象とな
るバッファユニットを容易に切り換えることができる。
As shown in FIG. 4, an address switching circuit 8 which is switched by a selection signal SEL from the control register 9 may be added to the address register 12. The K buffer units 20 are divided into several groups, and a plurality of sets of initial, lower limit and upper limit addresses for each group are stored in the address register 12, and one of the sets is selected to perform data transfer. Can be easily switched.

【0019】また、アドレス更新要求信号CNTは、デ
ータを複数個送るごとに発生してもよく、これによりパ
ケット転送への対応が可能となる。アドレスカウンタ1
3には+1加算器17を用いたが、これを−1加算器に
すれば上限から下限に向かってアドレスを順次減少させ
るバースト転送も可能となる。
The address update request signal CNT may be generated every time a plurality of data are sent, thereby making it possible to respond to packet transfer. Address counter 1
Although the +1 adder 17 is used for 3, a burst transfer in which the address is sequentially reduced from the upper limit to the lower limit can be performed by using a -1 adder.

【0020】次に、上記データ転送装置を利用したマル
チプロセッサシステムの構成を、図5を参照しながら説
明する。図5において、5×8(=40)個のバッファ
ユニット(BU)20と、図1に示す構成を備えた5+
8(=13)個のデータ転送制御装置10とを並べてク
ロスバ型のデータ転送ネットワークが構成されている。
5本のロウバス16aは、各々プロセッサエレメント
(PE)30の第1のデータ転送ポート31に接続され
る。また、8本のコラムバス16bは、各々プロセッサ
エレメント30の第2のデータ転送ポート32と、I/
O装置40とに接続される。
Next, the configuration of a multiprocessor system using the data transfer device will be described with reference to FIG. In FIG. 5, 5 × 8 (= 40) buffer units (BU) 20 and 5+
Eight (= 13) data transfer control devices 10 are arranged side by side to form a crossbar type data transfer network.
Each of the five row buses 16a is connected to a first data transfer port 31 of a processor element (PE) 30. The eight column buses 16b are connected to the second data transfer port 32 of the processor element 30,
It is connected to the O device 40.

【0021】ロウバス16aとコラムバス16bとの交
点に位置する1つのバッファユニット(BU)20の構
成を図6に示す。ロウバス16aとコラムバス16bと
にそれぞれ接続された2つのポート22,23と、FI
FOメモリ21との接続は、双方向にデータを転送する
経路を持つ。
FIG. 6 shows the configuration of one buffer unit (BU) 20 located at the intersection of the row bus 16a and the column bus 16b. Two ports 22, 23 connected to the row bus 16a and the column bus 16b, respectively;
The connection to the FO memory 21 has a path for transferring data in both directions.

【0022】次に、この構成のマルチプロセッサシステ
ムにおけるデータ転送動作について説明する。プロセッ
サエレメント30は、アドレスレジスタ12(図1,
2)で指定される範囲のバッファユニット20にデータ
を転送する。各プロセッサエレメント30が0から4ま
でのアドレスを生成する場合には、5個のプロセッサエ
レメント30の間で相互にデータ転送を行う。アドレス
の設定をプロセッサエレメント30のグループごとに変
えると、設定したアドレス範囲のグループ内で相互にデ
ータ転送を行う。例えば、2個のプロセッサエレメント
(PE0,1)は下限アドレスを0に、上限アドレスを
1に設定し、残り3個のプロセッサエレメント(PE
2,3,4)は下限アドレスを2に、上限アドレスを4
に設定する。このとき、プロセッサエレメント30は2
つのグループに分割されて、それぞれのグループ内での
相互のデータ転送が実行される。各プロセッサエレメン
ト(PE0〜4)が下限アドレスを5に、上限アドレス
を7に設定し、3個のI/O装置40が下限アドレスを
0に、上限アドレスを4に設定すれば、プロセッサエレ
メント30とI/O装置40との間でのデータ転送が可
能になる。
Next, a data transfer operation in the multiprocessor system having this configuration will be described. The processor element 30 stores the address register 12 (FIG. 1,
The data is transferred to the buffer unit 20 in the range specified in 2). When each processor element 30 generates an address from 0 to 4, data is mutually transferred between the five processor elements 30. When the address setting is changed for each group of the processor elements 30, data transfer is performed between the groups within the set address range. For example, two processor elements (PE0, 1) set the lower limit address to 0, the upper limit address to 1, and the remaining three processor elements (PE0, 1).
(2,3,4) sets the lower limit address to 2 and the upper limit address to 4
Set to. At this time, the processor element 30
It is divided into two groups, and mutual data transfer within each group is performed. If each processor element (PE0-4) sets the lower limit address to 5 and the upper limit address to 7, and the three I / O devices 40 set the lower limit address to 0 and the upper limit address to 4, the processor element 30 , And data transfer between the I / O device 40 becomes possible.

【0023】このようなアドレス生成により、プロセッ
サエレメント数やI/O装置の個数を任意に追加拡張す
ることが可能となり、データ転送先の変更はアドレスの
範囲をソフトウエアで変更するだけで済む。また、図6
に示すバッファユニット20により、双方向のデータ転
送を実行することができる。
By such address generation, the number of processor elements and the number of I / O devices can be arbitrarily added and extended, and the data transfer destination can be changed only by changing the address range by software. FIG.
The bidirectional data transfer can be executed by the buffer unit 20 shown in FIG.

【0024】以上のとおり、本マルチプロセッサシステ
ムによれば、アドレス範囲を指定して順にアクセスする
アドレス生成回路7(図1)を備えることにより、プロ
セッサエレメント30をグループ化し、そのグループご
とに相互のデータ転送を実行することができる。したが
って、処理内容に応じてデータ転送ネットワークを最適
な大きさに分割して効率良く並列処理を行うことができ
る。また、プロセッサエレメント30とI/O装置40
との間のデータ転送も容易に実行できる。しかも、アド
レス範囲で指定するので、ネットワークの拡張が容易で
ある。
As described above, according to the present multiprocessor system, the processor elements 30 are grouped by providing the address generation circuit 7 (FIG. 1) for sequentially accessing by designating the address range, and the mutual Data transfer can be performed. Therefore, the data transfer network can be divided into optimal sizes according to the processing contents, and parallel processing can be performed efficiently. Further, the processor element 30 and the I / O device 40
Data transfer to and from can also be easily performed. In addition, since the address is specified in the address range, network expansion is easy.

【0025】なお、8本のロウバス16aと5本のコラ
ムバス16bとを設け、8本のうちの3本のロウバス1
6aの各々にデータ転送制御装置10を介してI/O装
置40を接続してもよい。ロウバス16aの本数とコラ
ムバス16bの本数との双方をプロセッサエレメント3
0の数より大きくした構成も可能であり、この場合には
プロセッサエレメント30の2つのポート31,32の
いずれでもI/O装置40との間のデータ転送が可能と
なる。
Note that eight row buses 16a and five column buses 16b are provided, and three of the eight row buses 1a are provided.
An I / O device 40 may be connected to each of the devices 6a via the data transfer control device 10. Both the number of row buses 16a and the number of column buses 16b are assigned to the processor element 3
A configuration in which the number is larger than 0 is also possible. In this case, data transfer between the I / O device 40 and the two ports 31 and 32 of the processor element 30 is possible.

【0026】図7に示すデータ転送制御装置10は、内
部バス15を共通バス41に接続するための共通バスイ
ンターフェース42を図1の構成に付加したものであ
る。図8に示すように、例えば3個のデータ転送制御装
置10を1本の共通バス41に接続し、該共通バス41
に5個のI/O装置40をつなぐことができる。図8の
構成によれば、ネットワークのバッファユニットを拡張
することなしにI/O装置の拡張が容易となる。
The data transfer control device 10 shown in FIG. 7 is obtained by adding a common bus interface 42 for connecting the internal bus 15 to the common bus 41 to the configuration shown in FIG. As shown in FIG. 8, for example, three data transfer control devices 10 are connected to one common bus 41, and the common bus 41
Can be connected to five I / O devices 40. According to the configuration of FIG. 8, the expansion of the I / O device becomes easy without expanding the buffer unit of the network.

【0027】(実施例2)次に、マルチプロセッサシス
テムに用いられるデータ転送制御装置中のアドレス生成
回路の他の例を図9に示す。図9のアドレス生成回路の
アドレスカウンタ13は、2個の+1加算器17a,1
7bと、上位セレクタ18aと、下位セレクタ18b
と、2ビットの上位アドレスラッチ19aと、2ビット
の下位アドレスラッチ19bとを備えている。上位セレ
クタ18aは、SET1信号に応じて、アドレスレジス
タ12の初期アドレスの上位2ビット、アドレスレジス
タ12の下限アドレスの上位2ビット及び+1加算器1
7aの出力の中から1つを選んで上位アドレスラッチ1
9aに与える。一方、下位セレクタ18bは、SET2
信号に応じて、アドレスレジスタ12の初期アドレスの
下位2ビット、アドレスレジスタ12の下限アドレスの
下位2ビット及び+1加算器17bの出力の中から1つ
を選んで下位アドレスラッチ19bに与える。しかも、
上位アドレスラッチ19aと下位アドレスラッチ19b
とは、CNT1信号とCNT2信号によって、独立に更
新される。上位アドレスラッチ19aの出力A1と下位
アドレスラッチ19bの出力A2とは、合成されて4ビ
ットのバッファユニットアドレスAとなる。
(Embodiment 2) FIG. 9 shows another example of an address generation circuit in a data transfer control device used in a multiprocessor system. The address counter 13 of the address generation circuit of FIG. 9 includes two +1 adders 17a, 1
7b, the upper selector 18a, and the lower selector 18b
And a 2-bit upper address latch 19a and a 2-bit lower address latch 19b. The high-order selector 18a, in response to the SET1 signal, outputs the high-order 2 bits of the initial address of the address register 12, the high-order 2 bits of the low-order address of the address register 12, and the +1 adder 1
7a is selected from the output of the upper address latch 1
Give to 9a. On the other hand, the lower selector 18 b
According to the signal, one of the lower 2 bits of the initial address of the address register 12, the lower 2 bits of the lower limit address of the address register 12, and the output of the +1 adder 17b is selected and supplied to the lower address latch 19b. Moreover,
Upper address latch 19a and lower address latch 19b
Is independently updated by the CNT1 signal and the CNT2 signal. The output A1 of the upper address latch 19a and the output A2 of the lower address latch 19b are combined to form a 4-bit buffer unit address A.

【0028】次に、図9のアドレス生成回路による3次
元の配列に対するプロセッサ間のデータ転送動作につい
て、図10〜図16に従って説明する。プロセッサエレ
メント30の総数はn×nとし、nは2の累乗の定数で
ある。以下の説明ではn=4とする。
Next, the data transfer operation between processors in a three-dimensional array by the address generation circuit of FIG. 9 will be described with reference to FIGS. The total number of processor elements 30 is n × n, where n is a constant of a power of two. In the following description, n = 4.

【0029】図10にプロセッサエレメント30の数が
16の場合のマルチプロセッサシステムの例を示す。1
6個のプロセッサエレメント30は、16×16個のバ
ッファユニット20にロウバス16a及びコラムバス1
6bを通じて接続される。流体解析などの数値演算にお
ける並列処理では、流体の状態を表す3次元の配列デー
タを各プロセッサエレメント30に分配し、プロセッサ
エレメント30の間で相互にデータを交換しながら並列
演算を進めていく。
FIG. 10 shows an example of a multiprocessor system when the number of processor elements 30 is 16. 1
The six processor elements 30 store 16 × 16 buffer units 20 in the row bus 16 a and the column bus 1.
6b. In parallel processing in numerical calculation such as fluid analysis, three-dimensional array data representing the state of a fluid is distributed to each processor element 30, and parallel processing is performed while exchanging data between the processor elements 30.

【0030】3次元配列データを16個のプロセッサエ
レメント30に分割して並列処理する場合のデータの分
割方法について説明する。
A description will be given of a method of dividing data when the three-dimensional array data is divided into 16 processor elements 30 and processed in parallel.

【0031】図11(a)に示すように、4×4×4の
3次元配列をA(1:4,1:4,1:4)と表すこと
とする。この3次元配列Aを16個の1次元配列に分割
する場合、3通りの分割方法が可能である。図11
(b)はX方向の分割A(1:4,/1:4,1:4
/)を、図11(c)はY方向の分割A(1:4/,
1:4,/1:4)を、図11(d)はZ方向の分割A
(/1:4,1:4/,1:4)を各々表している。い
ずれの場合にも、16個の1次元配列が1個ずつ、図1
0中の16個のプロセッサエレメント30に割り当てら
れる。
As shown in FIG. 11A, a 4 × 4 × 4 three-dimensional array is represented by A (1: 4, 1: 4, 1: 4). When dividing the three-dimensional array A into 16 one-dimensional arrays, three types of division methods are possible. FIG.
(B) is a division A (1: 4, / 1: 4,1: 4) in the X direction.
/ (), And FIG. 11 (c) shows a division A (1: 4 /,
1: 4, / 1: 4), and FIG.
(/ 1: 4, 1: 4 /, 1: 4). In each case, one of the 16 one-dimensional arrays is shown in FIG.
It is assigned to 16 processor elements 30 in 0.

【0032】X方向の分割の場合には、図12に示すよ
うな2次元配置の仮想プロセッサエレメントアレイ30
aが想定される。例えば、仮想プロセッサエレメントア
レイ30aのうちの/4,1/には、1次元配列A
(1:4,/4,1/)が割り当てられる。図10中の
実際のプロセッサエレメント30(すなわち物理プロセ
ッサエレメント)は1次元の並びであるから、図13に
従って仮想プロセッサエレメントを更に物理プロセッサ
エレメント30bに割り当てる必要がある。図13は、
仮想プロセッサエレメントの番号と物理プロセッサエレ
メントの番号との対応を示す。X方向の分割A(1:
4,/J,K/)(J=1:4、K=1:4)の場合の
仮想プロセッサエレメントの番号/J,K/は、L=
(J−1)×4+K−1(1≦J,K≦4)とすると
き、物理プロセッサエレメントの番号Lに割り当てられ
る。
In the case of division in the X direction, the virtual processor element array 30 having a two-dimensional arrangement as shown in FIG.
a is assumed. For example, / 4, 1 / of the virtual processor element array 30a has a one-dimensional array A
(1: 4, / 4,1 /) is assigned. Since the actual processor elements 30 (that is, physical processor elements) in FIG. 10 are one-dimensionally arranged, it is necessary to further allocate a virtual processor element to the physical processor element 30b according to FIG. FIG.
The correspondence between the number of the virtual processor element and the number of the physical processor element is shown. Division A in the X direction (1:
4, / J, K /) (J = 1: 4, K = 1: 4), the number / J, K / of the virtual processor element is L =
When (J−1) × 4 + K−1 (1 ≦ J, K ≦ 4), it is assigned to the number L of the physical processor element.

【0033】以上のように割り当てられた3次元配列を
並列処理する際、1個のプロセッサエレメント30(3
0b)内の1次元配列に対する1回の演算のみでは、空
間領域全体の状態の変化を求めることはできない。3次
元空間領域全体の演算を行うためには、分割方向を順次
変化させて演算を行う必要がある。例えば、偏微分方程
式を差分法で解く場合のADI(Alternatin
g Direction Implicit)法は、こ
のような演算方法である。
When the three-dimensional array allocated as described above is processed in parallel, one processor element 30 (3
The change in the state of the entire space area cannot be obtained by only one operation on the one-dimensional array in 0b). In order to perform the operation on the entire three-dimensional space area, it is necessary to perform the operation while sequentially changing the division direction. For example, when a partial differential equation is solved by a difference method, ADI (Alterninin) is used.
The g Direction Implicit method is such an operation method.

【0034】図14は、X方向の分割からY方向の分割
への切り換えの場合のプロセッサエレメント30(30
b)の間のデータ転送の様子を示す。Y方向の分割A
(I/,1:4,/K)(I=1:4、K=1:4)の
場合の仮想プロセッサエレメントの番号/K,I/は、
M=(K−1)×4+I−1(1≦I,K≦4)とする
とき、物理プロセッサエレメントの番号Mに割り当てら
れる。
FIG. 14 shows a processor element 30 (30) for switching from division in the X direction to division in the Y direction.
The state of data transfer during b) is shown. Division A in Y direction
In the case of (I /, 1: 4, / K) (I = 1: 4, K = 1: 4), the virtual processor element numbers / K, I / are
When M = (K−1) × 4 + I−1 (1 ≦ I, K ≦ 4), it is assigned to the number M of the physical processor element.

【0035】まず、X方向に分割された1次元配列を各
々持った16個のプロセッサエレメント30(30b)
から、データ転送制御装置10及びロウバス16aを介
してバッファユニット20へデータを転送する動作につ
いて説明する。例えば番号1の物理プロセッサエレメン
ト30bが保持している1次元配列A(1:4,/1,
2/)は、4個の要素A(1,/1,2/)、A(2,
/1,2/)、A(3,/1,2/)、A(4,/1,
2/)からなる。このとき、番号1の物理プロセッサエ
レメント30bに接続されたデータ転送制御装置10の
アドレス生成回路(図9)は、上位アドレスラッチ19
aの内容を1に固定しながら下位アドレスラッチ19b
のみの順次更新によって、バッファユニットアドレスA
として4、5、6、7を順次生成する。これにより、1
次元配列A(1:4,/1,2/)の4個の要素が4個
のバッファユニット20に分散配置される。他の番号の
物理プロセッサエレメント30bからバッファユニット
20へのデータ転送も同様の態様で実行される結果、3
次元配列A(1:4,1:4,1:4)の全ての要素デ
ータが64個のバッファユニット20に分散配置され
る。
First, 16 processor elements 30 (30b) each having a one-dimensional array divided in the X direction
The operation of transferring data to the buffer unit 20 via the data transfer control device 10 and the row bus 16a will now be described. For example, the one-dimensional array A (1: 4, / 1, 1) held by the physical processor element 30b of number 1
2 /) are four elements A (1, / 1,2 /), A (2,
/ 1,2 /), A (3,1 / 1,2 /), A (4,1 / 1,
2 /). At this time, the address generation circuit (FIG. 9) of the data transfer control device 10 connected to the physical processor element 30b of No. 1
lower address latch 19b while fixing the content of a to 1
The buffer unit address A
4, 5, 6, and 7 are sequentially generated. This gives 1
The four elements of the dimensional array A (1: 4, / 1,2 /) are distributed and arranged in the four buffer units 20. Data transfer from the physical processor element 30b of another number to the buffer unit 20 is performed in a similar manner.
All the element data of the dimensional array A (1: 4, 1: 4, 1: 4) are distributed and arranged in 64 buffer units 20.

【0036】次に、各々1個の要素データを持った64
個のバッファユニット20から、データ転送制御装置1
0及びコラムバス16bを介して16個のプロセッサエ
レメント30(30b)へデータを転送する動作につい
て説明する。図15は、Y方向に分割された1次元配列
A(1/,1:4,/2)が割り当てられる番号4の物
理プロセッサエレメント30bへのデータ転送の様子を
示す。この番号4の物理プロセッサエレメント30bへ
転送すべき1次元配列は、番号1の物理プロセッサエレ
メント30bから転送されてきた要素データA(1,/
1,2/)と、番号5の物理プロセッサエレメント30
bから転送されてきた要素データA(1,/2,2/)
と、番号9の物理プロセッサエレメント30bから転送
されてきた要素データA(1,/3,2/)と、番号1
3の物理プロセッサエレメント30bから転送されてき
た要素データA(1,/4,2/)とからなる。したが
って、番号4の物理プロセッサエレメント30bに接続
されたデータ転送制御装置10のアドレス生成回路(図
9)は、下位アドレスラッチ19bの内容を1に固定し
ながら上位アドレスラッチ19aのみの順次更新によっ
て、図16に示すように、バッファユニットアドレスA
として1、5、9、13を順次生成する。これにより、
4個のバッファユニット20に分散配置されていた要素
データが番号4の物理プロセッサエレメント30bに収
集される。バッファユニット20から他の番号の物理プ
ロセッサエレメント30bへのデータ転送も同様の態様
で実行される結果、3次元配列A(1:4,1:4,
1:4)がY方向に分割された状態で16個の物理プロ
セッサエレメント30bに分散配置される。
Next, 64 elements each having one element data
From the buffer units 20, the data transfer control device 1
The operation of transferring data to the 16 processor elements 30 (30b) via 0 and the column bus 16b will be described. FIG. 15 shows a state of data transfer to the physical processor element 30b of number 4 to which the one-dimensional array A (1 /, 1: 4, / 2) divided in the Y direction is assigned. The one-dimensional array to be transferred to the physical processor element 30b of number 4 is the element data A (1, //) transferred from the physical processor element 30b of number 1.
1, 2 /) and the physical processor element 30 of number 5
element data A transferred from b (1, / 2,2 /)
And element data A (1, / 3,2 /) transferred from the physical processor element 30b of number 9 and number 1
And the element data A (1, / 4,2 /) transferred from the third physical processor element 30b. Therefore, the address generation circuit (FIG. 9) of the data transfer control device 10 connected to the physical processor element 30b of No. 4 fixes the contents of the lower address latch 19b to 1 while sequentially updating only the upper address latch 19a. As shown in FIG.
1, 5, 9, and 13 are sequentially generated. This allows
The element data distributed and arranged in the four buffer units 20 is collected in the physical processor element 30b of No. 4. The data transfer from the buffer unit 20 to the physical processor element 30b of another number is executed in the same manner, and as a result, the three-dimensional array A (1: 4, 1: 4,
1: 4) are distributed to the 16 physical processor elements 30b while being divided in the Y direction.

【0037】以上のとおり、図9のアドレス生成回路に
よれば、アドレスを上位と下位に分割することにより、
マルチプロセッサシステムにおける3次元配列の分割方
向の変更をバースト転送で実現でき、高速なデータ転送
が可能となる。
As described above, according to the address generation circuit of FIG. 9, by dividing an address into upper and lower parts,
The change of the dividing direction of the three-dimensional array in the multiprocessor system can be realized by burst transfer, and high-speed data transfer is possible.

【0038】なお、取り扱うべき配列の大きさがプロセ
ッサエレメント30(30b)の個数よりも大きい場合
には、1つの物理プロセッサエレメント30bが2個以
上の仮想プロセッサエレメントを分担する。このとき、
プロセッサエレメント30(30b)間のデータ転送
は、図9のアドレス生成回路を繰り返し使用することで
実行できる。
When the size of the array to be handled is larger than the number of processor elements 30 (30b), one physical processor element 30b shares two or more virtual processor elements. At this time,
Data transfer between the processor elements 30 (30b) can be performed by repeatedly using the address generation circuit of FIG.

【0039】(実施例3)図10のマルチプロセッサシ
ステムでは、プロセッサエレメント30の総数の平方根
nが2の累乗であったので、図9のアドレス生成回路中
の上位アドレスラッチ19aの出力を上位ビットに、下
位アドレスラッチ19bの出力を下位ビットに各々割り
当てることでバッファユニットアドレスAとすることが
できた。
(Embodiment 3) In the multiprocessor system of FIG. 10, since the square root n of the total number of the processor elements 30 is a power of 2, the output of the upper address latch 19a in the address generation circuit of FIG. The buffer unit address A can be obtained by assigning the output of the lower address latch 19b to the lower bits.

【0040】次に、プロセッサエレメントの総数の平方
根nが2の累乗でない場合にも適用可能なアドレス生成
回路の例を、図17を用いて説明する。図17のアドレ
ス生成回路のアドレスカウンタ13は、第1の加算器1
7cと、+1加算器17bと、上位セレクタ18aと、
下位セレクタ18bと、4ビットの上位アドレスラッチ
19aと、2ビットの下位アドレスラッチ19bと、第
2の加算器43とを備えている。アドレスレジスタ12
は、初期、下限及び上限アドレスに加えて、増分アドレ
スを保持する。第1の加算器17cは、上位アドレスラ
ッチ19aの出力A1とアドレスレジスタ12からの増
分アドレスとの加算結果を出力する。第2の加算器43
は、上位アドレスラッチ19aの出力A1と下位アドレ
スラッチ19bの出力A2との加算結果を、バッファユ
ニットアドレスAとして出力する。そして、第2の加算
器43の出力Aとアドレスレジスタ12からの上限アド
レスとを第1の比較器14に入力し、下位アドレスラッ
チ19bの出力A2とアドレスレジスタ12からの増分
アドレスとを第2の比較器14bに入力する。第1及び
第2の比較器14,14bは、各々一致信号C,Cbを
出力する。
Next, an example of an address generation circuit applicable to a case where the square root n of the total number of processor elements is not a power of 2 will be described with reference to FIG. The address counter 13 of the address generation circuit of FIG.
7c, a +1 adder 17b, an upper selector 18a,
A lower selector 18b, a 4-bit upper address latch 19a, a 2-bit lower address latch 19b, and a second adder 43 are provided. Address register 12
Holds the increment address in addition to the initial, lower and upper addresses. The first adder 17c outputs the result of addition of the output A1 of the upper address latch 19a and the increment address from the address register 12. Second adder 43
Outputs the result of addition of the output A1 of the upper address latch 19a and the output A2 of the lower address latch 19b as a buffer unit address A. Then, the output A of the second adder 43 and the upper limit address from the address register 12 are input to the first comparator 14, and the output A2 of the lower address latch 19b and the increment address from the address register 12 are input to the second comparator 14. To the comparator 14b. The first and second comparators 14 and 14b output coincidence signals C and Cb, respectively.

【0041】例えば、アドレス6、7、8の3個のバッ
ファユニット20へのデータ転送の場合には、アドレス
レジスタ12の中の増分アドレスを3に設定し、上位ア
ドレスラッチ19aの内容を6に固定しながら下位アド
レスラッチ19bの内容を0、1、2と1ずつ変化させ
る。また、図18に示すように、アドレス1、4、7、
10、13の5個のバッファユニット20からのデータ
転送のためのアドレス生成の場合には、アドレスレジス
タ12の中の増分アドレスを3に設定し、下位アドレス
ラッチ19bの内容を1に固定しながら上位アドレスラ
ッチ19aの内容を0、3、6、9、12と3ずつ変化
させる。
For example, in the case of data transfer to the three buffer units 20 at addresses 6, 7, and 8, the increment address in the address register 12 is set to 3 and the contents of the upper address latch 19a are set to 6. The contents of the lower address latch 19b are changed by 0, 1, 2 and 1 while being fixed. As shown in FIG. 18, addresses 1, 4, 7,.
In the case of generating addresses for data transfer from the five buffer units 20 of 10 and 13, the increment address in the address register 12 is set to 3 while the contents of the lower address latch 19b are fixed to 1. The contents of the upper address latch 19a are changed by 0, 3, 6, 9, 12, and 3 at a time.

【0042】以上のとおり、図17のアドレス生成回路
によれば、アドレスに関する2つの加算器17c,43
を設けることにより、プロセッサエレメントの総数の平
方根が2の累乗でない場合でも高速のバースト転送を実
現できる。
As described above, according to the address generation circuit of FIG. 17, the two adders 17c and 43 related to the address are used.
Is provided, high-speed burst transfer can be realized even when the square root of the total number of processor elements is not a power of 2.

【0043】(実施例4)次に、プロセッサエレメント
の2次元配置を備えたマルチプロセッサシステムの例を
説明する。図19は、同システム中のバッファユニット
の部分のみを示したものであり、図5のバッファユニッ
ト20の構成を5組重ねた構成(5×8×5構成)であ
る。5×5本のロウバスと5×5本のコラムバスには、
5×5個のプロセッサエレメントを接続する。残り5×
3本のコラムバスには、5×3個のI/O装置を接続す
る。
(Embodiment 4) Next, an example of a multiprocessor system having a two-dimensional arrangement of processor elements will be described. FIG. 19 shows only the buffer unit in the same system, and has a configuration (5 × 8 × 5 configuration) in which five sets of the buffer unit 20 in FIG. 5 are stacked. 5 × 5 row bus and 5 × 5 column bus
5 × 5 processor elements are connected. 5x remaining
5 × 3 I / O devices are connected to the three column buses.

【0044】図20に、第s面(0≦s≦4)の5×8
個のバッファユニット20を介したプロセッサエレメン
ト間の接続関係と、プロセッサエレメントとI/O装置
との接続関係とを示す。本システムでは、第s面内の5
個のプロセッサエレメント(0,s)〜(4,s)の各
々の第1のポートが、第s面のロウバス16a、データ
転送制御装置10、バッファユニット20及びコラムバ
ス16bを介して、5つの面のプロセッサエレメント
(s,0)〜(s,4)の各々の第2のポートに接続さ
れる。また、第s面内の3個のI/O装置(s,0)、
(s,1)、(s,2)は、同一面内のバッファユニッ
ト20を介してプロセッサエレメントに接続される。
FIG. 20 shows the 5 × 8 of the s-th surface (0 ≦ s ≦ 4).
The connection relationship between the processor elements via the buffer units 20 and the connection relationship between the processor elements and the I / O devices are shown. In this system, 5 in the s plane
The first ports of each of the processor elements (0, s) to (4, s) are connected to the five buses via the row bus 16a, the data transfer control device 10, the buffer unit 20, and the column bus 16b on the s-th surface. It is connected to the second port of each of the processor elements (s, 0) to (s, 4) on the surface. Also, three I / O devices (s, 0) in the s-th plane,
(S, 1) and (s, 2) are connected to the processor element via the buffer unit 20 in the same plane.

【0045】以上の構成のマルチプロセッサシステムで
も、プロセッサエレメント間のデータ転送と、プロセッ
サエレメントとI/O装置との間のデータ転送とを行う
ことができる。プロセッサエレメントの総数をn×n
(上記の例の場合は5×5=25)とすると、プロセッ
サエレメント間のデータ転送に必要なバッファユニット
の総数はn×n×n(上記の例の場合は5×5×5=1
25)となり、従来のクロスバ結合で必要となるバッフ
ァユニットの総数n×n×n×n(例えば5×5×5×
5=625)よりもかなり少ない数でシステムを実現す
ることが可能となる。また、I/O装置も容易に接続す
ることができる。
In the multiprocessor system having the above configuration, data transfer between the processor elements and data transfer between the processor elements and the I / O device can be performed. The total number of processor elements is n × n
(5 × 5 = 25 in the above example), the total number of buffer units necessary for data transfer between the processor elements is n × n × n (5 × 5 × 5 = 1 in the above example).
25), and the total number of buffer units n × n × n × n (for example, 5 × 5 × 5 ×
5 = 625). Also, I / O devices can be easily connected.

【0046】次に、図8に示すようなI/O装置のため
の共通バスを図19及び図20に示すマルチプロセッサ
システムに導入した例を説明する。図21に示すよう
に、I/O装置の接続に係る5×3本のコラムバスの番
号を(s,t)(0≦s≦4かつ0≦t≦2)とし、第
1群のコラムバス(0,0)〜(4,0)に第1の共通
バス41aを、第2群のコラムバス(0,1)〜(4,
1)に第2の共通バス41bを、第3群のコラムバス
(0,2)〜(4,2)に第3の共通バス41cをそれ
ぞれ接続する。そして、これら3本の共通バス41a,
41b,41cの各々に1個のI/O装置(I/O0
I/O1 ,I/O2 )40を接続する。例えば、I/O
0 は第1の共通バス41aを介して全ての面の全てのロ
ウバスに接続されるので、全てのプロセッサエレメント
は、ロウバスを経由してI/O0 との間でデータ転送を
行うことができる。I/O1 及びI/O2 についても同
様である。また、各共通バス41a,41b,41cに
は独立にI/O装置を拡張することができ、必要に応じ
てこれに追加接続するだけでよい。
Next, an example in which a common bus for the I / O device as shown in FIG. 8 is introduced into the multiprocessor system shown in FIGS. 19 and 20 will be described. As shown in FIG. 21, the number of 5 × 3 column buses related to the connection of the I / O device is (s, t) (0 ≦ s ≦ 4 and 0 ≦ t ≦ 2), The first common bus 41a is connected to the buses (0,0) to (4,0), and the second group of column buses (0,1) to (4,0).
The first common bus 41b is connected to 1), and the third common bus 41c is connected to the third group of column buses (0, 2) to (4, 2). Then, these three common buses 41a,
41b, 41c, one I / O device (I / O 0 ,
I / O 1 , I / O 2 ) 40 are connected. For example, I / O
Since 0 is connected to all row buses on all surfaces via the first common bus 41a, all processor elements can perform data transfer with I / O 0 via the row bus. . The same applies to I / O 1 and I / O 2 . Further, an I / O device can be independently extended for each of the common buses 41a, 41b and 41c, and additional connection to the I / O device is only required if necessary.

【0047】以上のとおり、図21に示すようなI/O
装置のための共通バスを導入することによって、全ての
プロセッサエレメントで1つのI/O装置を共有するこ
とができる。また、バスをグループ分けしたので、1本
の共通バスの上のI/O装置に故障が生じた場合には、
他の共通バス上のI/O装置によるデータ入出力が可能
であり、故障の影響を少なくすることができる。
As described above, the I / O as shown in FIG.
By introducing a common bus for the devices, one I / O device can be shared by all processor elements. Also, since the buses are grouped, if a failure occurs in an I / O device on one common bus,
Data input / output by I / O devices on another common bus is possible, and the influence of a failure can be reduced.

【0048】[0048]

【発明の効果】以上説明してきたとおり、本発明によれ
ば、バッファユニットアドレスの変化範囲を任意に限定
できるようにしたので、データ転送先又はデータ転送先
のグループ化が可能となり、ひいては並列化の効率を高
めることができる。また、バッファユニットアドレスの
限定により、プロセッサエレメント間の任意のデータ転
送と、プロセッサエレメントとデータ入出力装置との間
の任意のデータ転送とを選択できる。
As described above, according to the present invention, the change range of the buffer unit address can be arbitrarily limited, so that the data transfer destinations or the data transfer destinations can be grouped, and the parallelization can be achieved. Efficiency can be increased. Further, by limiting the buffer unit address, any data transfer between the processor elements and any data transfer between the processor elements and the data input / output device can be selected.

【0049】また、とびとびのアドレス値を簡単かつ高
速に生成できるようにしたので、3次元以上のデータ構
造に適したネットワークを実現できる。
Further, since discrete address values can be generated easily and at high speed, a network suitable for a data structure of three or more dimensions can be realized.

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

【図1】本発明の実施例に係るデータ転送装置の構成図
である。
FIG. 1 is a configuration diagram of a data transfer device according to an embodiment of the present invention.

【図2】図1中のアドレス生成回路の構成図である。FIG. 2 is a configuration diagram of an address generation circuit in FIG. 1;

【図3】図2のアドレス生成回路によるバッファユニッ
トアドレスの生成例を示す図である。
FIG. 3 is a diagram illustrating an example of generation of a buffer unit address by the address generation circuit of FIG. 2;

【図4】図2のアドレス生成回路の変形例を示す構成図
である。
FIG. 4 is a configuration diagram showing a modification of the address generation circuit of FIG. 2;

【図5】図1の構成を利用したマルチプロセッサシステ
ムの構成図である。
FIG. 5 is a configuration diagram of a multiprocessor system using the configuration of FIG. 1;

【図6】図5中の1個のバッファユニットの構成図であ
る。
6 is a configuration diagram of one buffer unit in FIG. 5;

【図7】図1中のデータ転送制御装置の変形例を示す構
成図である。
FIG. 7 is a configuration diagram showing a modification of the data transfer control device in FIG. 1;

【図8】図7のデータ転送制御装置を利用したマルチプ
ロセッサシステムの構成図である。
FIG. 8 is a configuration diagram of a multiprocessor system using the data transfer control device of FIG. 7;

【図9】図2のアドレス生成回路の他の変形例を示す構
成図である。
FIG. 9 is a configuration diagram illustrating another modification of the address generation circuit of FIG. 2;

【図10】図9のアドレス生成回路の構成をデータ転送
制御装置に用いたマルチプロセッサシステムの構成図で
ある。
10 is a configuration diagram of a multiprocessor system using the configuration of the address generation circuit of FIG. 9 in a data transfer control device.

【図11】(a)は図10のマルチプロセッサシステム
が処理すべき3次元配列を、(b)は該3次元配列のX
方向の分割を、(c)は該3次元配列のY方向の分割
を、(d)は該3次元配列のZ方向の分割をそれぞれ示
す図である。
11A is a diagram illustrating a three-dimensional array to be processed by the multiprocessor system of FIG. 10; FIG.
FIG. 4C is a diagram illustrating division in the direction, FIG. 4C is a diagram illustrating division in the Y direction of the three-dimensional array, and FIG.

【図12】図10のマルチプロセッサシステムで図11
(a)の3次元配列を処理する場合の仮想プロセッサエ
レメントの2次元配置を示す図である。
FIG. 12 shows the multiprocessor system of FIG. 10;
FIG. 7A is a diagram illustrating a two-dimensional arrangement of virtual processor elements when processing the three-dimensional array of FIG.

【図13】物理プロセッサエレメントの番号と図12中
の仮想プロセッサエレメントの番号との対応を示す図で
ある。
FIG. 13 is a diagram showing the correspondence between physical processor element numbers and virtual processor element numbers in FIG. 12;

【図14】図10のマルチプロセッサシステムにおける
データの分散・収集の様子を示す概念図である。
FIG. 14 is a conceptual diagram showing a state of distribution and collection of data in the multiprocessor system of FIG.

【図15】図14における1つのプロセッサエレメント
によるデータ収集の詳細を示す概念図である。
FIG. 15 is a conceptual diagram showing details of data collection by one processor element in FIG. 14;

【図16】図9のアドレス生成回路によるバッファユニ
ットアドレスの生成例を示す図である。
16 is a diagram illustrating an example of generation of a buffer unit address by the address generation circuit of FIG. 9;

【図17】図2のアドレス生成回路の更に他の変形例を
示す構成図である。
FIG. 17 is a configuration diagram showing still another modification of the address generation circuit of FIG. 2;

【図18】図17のアドレス生成回路によるバッファユ
ニットアドレスの生成例を示す図である。
18 is a diagram illustrating an example of generation of a buffer unit address by the address generation circuit of FIG. 17;

【図19】図5中のバッファユニットの2次元配置を3
次元配置に拡張した例を示す構成図である。
FIG. 19 shows a two-dimensional arrangement of the buffer units in FIG.
It is a block diagram showing the example extended to the dimensional arrangement.

【図20】図19の3次元配置されたバッファユニット
を用いたマルチプロセッサシステムにおける第s面のバ
ッファユニットの接続を示す図である。
20 is a diagram illustrating connection of the buffer units on the s-th surface in a multiprocessor system using the buffer units arranged three-dimensionally in FIG. 19;

【図21】図19及び図20に示すマルチプロセッサシ
ステムに図8と同様の共通バスを導入した例を示す図で
ある。
FIG. 21 is a diagram showing an example in which a common bus similar to that of FIG. 8 is introduced into the multiprocessor system shown in FIGS. 19 and 20.

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

【図23】図22中の1個のバッファユニットの構成図
である。
FIG. 23 is a configuration diagram of one buffer unit in FIG. 22;

【図24】図22中の送信側データ転送制御装置が内蔵
しているアドレス生成回路の構成図である。
24 is a configuration diagram of an address generation circuit built in the transmission-side data transfer control device in FIG. 22;

【図25】図24のアドレス生成回路によるバッファユ
ニットアドレス(チャネル番号)の生成例を示す図であ
る。
FIG. 25 is a diagram illustrating an example of generation of a buffer unit address (channel number) by the address generation circuit of FIG. 24;

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

6 ネットワークインターフェース 7 アドレス生成回路 8 アドレス切換回路 9 制御レジスタ 10 データ転送制御装置 11 アドレス制御回路(制御手段) 12 アドレスレジスタ(記憶手段) 13 アドレスカウンタ(更新手段) 14 比較器(比較手段) 14b 比較器 15 内部バス 16 データ転送バス 17,17a,17b +1加算器 17c 加算器 18 セレクタ 18a 上位セレクタ 18b 下位セレクタ 19 アドレスラッチ 19a 上位アドレスラッチ 19b 下位アドレスラッチ 20 バッファユニット 21 FIFOメモリ 30 プロセッサエレメント 16a ロウバス(第1のデータ転送バス) 16b コラムバス(第2のデータ転送バス) 40 I/O装置(データ入出力装置) 41,41a〜41c 共通バス 42 共通バスインターフェース 43 加算器 A バッファユニットアドレス(チャネル番号) C 一致信号 CNT アドレス更新要求信号 SET アドレス設定信号 Reference Signs List 6 network interface 7 address generation circuit 8 address switching circuit 9 control register 10 data transfer control device 11 address control circuit (control means) 12 address register (storage means) 13 address counter (update means) 14 comparator (comparison means) 14b comparison Device 15 Internal bus 16 Data transfer bus 17, 17a, 17b +1 Adder 17c Adder 18 Selector 18a Upper selector 18b Lower selector 19 Address latch 19a Upper address latch 19b Lower address latch 20 Buffer unit 21 FIFO memory 30 Processor element 16a Row bus ( 16b Column bus (second data transfer bus) 40 I / O device (data input / output device) 41, 41a to 41c Common bus 42 Common bus Interface 43 Adder A Buffer unit address (channel number) C Match signal CNT Address update request signal SET Address setting signal

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 13/14,13/28,13/36 G06F 15/16,15/173 H04L 11/20 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 13 / 14,13 / 28,13 / 36 G06F 15 / 16,15 / 173 H04L 11/20

Claims (29)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 共通のデータ転送バスに接続された複数
のバッファユニットと、該複数のバッファユニットの中
から任意の数のバッファユニットを順次選択するための
バッファユニットアドレスを連続的に出力しかつ該バッ
ファユニットアドレスにより選択されたバッファユニッ
トとの間の前記データ転送バスを通じたデータ転送の制
御を司るデータ転送制御装置とを備えたデータ転送装置
であって、 前記データ転送制御装置は、 前記バッファユニットアドレスの範囲を指定する第1及
び第2のアドレスを保持するための記憶手段と、 前記記憶手段から与えられる第1のアドレスを保持し、
該保持した第1のアドレスを順次更新しながら前記バッ
ファユニットアドレスとして出力するための更新手段
と、 前記更新手段から出力されるバッファユニットアドレス
と前記記憶手段から与えられる第2のアドレスとが一致
したときに一致信号を出力するための比較手段と、 前記更新手段にアドレス更新を実行させるように該更新
手段にアドレス更新要求信号を順次与え、かつ前記比較
手段から一致信号の出力を受けたときには前記記憶手段
が保持している第1のアドレスを前記更新手段に設定す
るように該更新手段にアドレス設定信号を与えるための
制御手段とを備えたことを特徴とするデータ転送装置。
A buffer unit connected to a common data transfer bus; and a buffer unit address for sequentially selecting an arbitrary number of buffer units from the plurality of buffer units. A data transfer control device for controlling data transfer between the buffer unit selected by the buffer unit address and the data transfer bus, the data transfer control device comprising: Storage means for holding first and second addresses that specify a range of unit addresses; and holding the first address given from the storage means.
Updating means for outputting as the buffer unit address while sequentially updating the held first address; and a buffer unit address output from the updating means coincides with a second address provided from the storage means. A comparing means for outputting a coincidence signal, and sequentially applying an address update request signal to the updating means so as to cause the updating means to execute an address update, and receiving the coincidence signal from the comparing means. A data transfer device, comprising: a control unit for giving an address setting signal to the updating unit so as to set the first address held in the storage unit to the updating unit.
【請求項2】 請求項1記載のデータ転送装置におい
て、 前記記憶手段は、前記第1及び第2のアドレスとは異な
る第3のアドレスを初期アドレスとして更に保持する機
能を備え、 前記制御手段は、前記記憶手段が保持している初期アド
レスを前記更新手段へのアドレス更新要求信号の出力に
先立って該更新手段に設定する機能を更に備えたことを
特徴とするデータ転送装置。
2. The data transfer device according to claim 1, wherein the storage unit has a function of further holding a third address different from the first and second addresses as an initial address. A data transfer apparatus further comprising a function of setting an initial address held by the storage means in the updating means before outputting an address update request signal to the updating means.
【請求項3】 請求項1記載のデータ転送装置におい
て、 前記更新手段は、前記保持した第1のアドレスの上位部
分と下位部分とを独立に更新する機能を備えたことを特
徴とするデータ転送装置。
3. The data transfer device according to claim 1, wherein said updating means has a function of independently updating an upper part and a lower part of said held first address. apparatus.
【請求項4】 請求項1記載のデータ転送装置におい
て、 前記更新手段は、前記保持した第1のアドレスに増分ア
ドレスを加算するための手段を備えたことを特徴とする
データ転送装置。
4. The data transfer apparatus according to claim 1, wherein said updating means includes means for adding an increment address to said held first address.
【請求項5】 請求項1記載のデータ転送装置におい
て、 前記データ転送制御装置は、少なくとも1個の他のデー
タ転送装置のデータ転送制御装置と少なくとも1個のデ
ータ入出力装置とに共通接続される共通バスと前記デー
タ転送バスとの間に介在した共通バスインターフェース
手段を更に備えたことを特徴とするデータ転送装置。
5. The data transfer device according to claim 1, wherein the data transfer control device is commonly connected to a data transfer control device of at least one other data transfer device and at least one data input / output device. And a common bus interface means interposed between the common bus and the data transfer bus.
【請求項6】 座標(x,y)、x,y=0〜N−1
(N≧2)、で表現される2次元の格子点に配置された
2 個のバッファユニットと、 各々前記N2 個のバッファユニットのうちx方向に並ん
だN個のバッファユニットに共通接続されたN本の第1
のデータ転送バスと、 各々前記N2 個のバッファユニットのうちy方向に並ん
だN個のバッファユニットに共通接続されたN本の第2
のデータ転送バスと、 前記第1及び第2のデータ転送バスの各々の端部に接続
された2N個のデータ転送制御装置と、 前記2N個のデータ転送制御装置のうち前記第1のデー
タ転送バスの端部に接続されたN個のデータ転送制御装
置の中の1つに結線された第1のデータ転送ポートと、
前記2N個のデータ転送制御装置のうち前記第2のデー
タ転送バスの端部に接続されたN個のデータ転送制御装
置の中の1つに結線された第2のデータ転送ポートとを
それぞれ有するN個のプロセッサエレメントとを備え、 前記2N個のデータ転送制御装置の各々は、 前記N2 個のバッファユニットのうち該データ転送制御
装置に共通接続されたN個のバッファユニットの中から
任意の数のバッファユニットを順次選択するためのバッ
ファユニットアドレスの範囲を指定する第1及び第2の
アドレスを保持するための記憶手段と、 前記記憶手段から与えられる第1のアドレスを保持し、
該保持した第1のアドレスを順次更新しながら前記バッ
ファユニットアドレスとして出力するための更新手段
と、 前記更新手段から出力されるバッファユニットアドレス
と前記記憶手段から与えられる第2のアドレスとが一致
したときに一致信号を出力するための比較手段と、 前記更新手段にアドレス更新を実行させるように該更新
手段にアドレス更新要求信号を順次与え、かつ前記比較
手段から一致信号の出力を受けたときには前記記憶手段
が保持している第1のアドレスを前記更新手段に設定す
るように該更新手段にアドレス設定信号を与えるための
制御手段とを備えたことを特徴とするマルチプロセッサ
システム。
6. Coordinates (x, y), x, y = 0 to N-1
(N ≧ 2), N 2 buffer units arranged at two-dimensional lattice points represented by the following, and each of the N 2 buffer units is commonly connected to N buffer units arranged in the x direction. N first
And N second buffer units commonly connected to N buffer units arranged in the y direction among the N 2 buffer units, respectively.
A data transfer bus, 2N data transfer controllers connected to respective ends of the first and second data transfer buses, and the first data transfer of the 2N data transfer controllers A first data transfer port connected to one of the N data transfer controllers connected to an end of the bus;
A second data transfer port connected to one of the N data transfer controllers connected to the end of the second data transfer bus among the 2N data transfer controllers; and a N number of processor elements, wherein each of the 2N data transfer control device, any from among the N buffer units which are commonly connected to the data transfer control device of the N 2 pieces of buffer units Storage means for holding first and second addresses specifying a range of buffer unit addresses for sequentially selecting a number of buffer units; holding first addresses provided from the storage means;
Updating means for outputting as the buffer unit address while sequentially updating the held first address; and a buffer unit address output from the updating means coincides with a second address provided from the storage means. A comparing means for outputting a coincidence signal, and sequentially applying an address update request signal to the updating means so as to cause the updating means to execute an address update, and receiving the coincidence signal from the comparing means. Control means for providing an address setting signal to the updating means so as to set the first address held by the storage means in the updating means.
【請求項7】 請求項6記載のマルチプロセッサシステ
ムにおいて、 前記記憶手段は、前記第1及び第2のアドレスとは異な
る第3のアドレスを初期アドレスとして更に保持する機
能を備え、 前記制御手段は、前記記憶手段が保持している初期アド
レスを前記更新手段へのアドレス更新要求信号の出力に
先立って該更新手段に設定する機能を更に備えたことを
特徴とするマルチプロセッサシステム。
7. The multiprocessor system according to claim 6, wherein said storage means has a function of further holding a third address different from said first and second addresses as an initial address, and said control means A multi-processor system further comprising a function of setting an initial address held by the storage means in the updating means prior to outputting an address update request signal to the updating means.
【請求項8】 請求項6記載のマルチプロセッサシステ
ムにおいて、 前記更新手段は、前記保持した第1のアドレスの上位部
分と下位部分とを独立に更新する機能を備えたことを特
徴とするマルチプロセッサシステム。
8. The multiprocessor system according to claim 6, wherein said updating means has a function of independently updating an upper part and a lower part of said held first address. system.
【請求項9】 請求項6記載のマルチプロセッサシステ
ムにおいて、 前記更新手段は、前記保持した第1のアドレスに増分ア
ドレスを加算するための手段を備えたことを特徴とする
マルチプロセッサシステム。
9. The multiprocessor system according to claim 6, wherein said updating means includes means for adding an increment address to said held first address.
【請求項10】 請求項6記載のマルチプロセッサシス
テムにおいて、 前記N本の第1又は第2のデータ転送バスの各々にK個
(K≧1)ずつ接続されたN×K個の付加バッファユニ
ットと、 各々前記N×K個の付加バッファユニットのうちy方向
又はx方向に並んだN個の付加バッファユニットに共通
接続されたK本の第3のデータ転送バスと、 前記第3のデータ転送バスの各々の端部に接続されたK
個の付加データ転送制御装置とを更に備えたことを特徴
とするマルチプロセッサシステム。
10. The multiprocessor system according to claim 6, wherein N (K ≧ 1) additional buffer units are connected to each of said N first or second data transfer buses. And K third data transfer buses commonly connected to N additional buffer units arranged in the y direction or the x direction of the N × K additional buffer units, respectively, and the third data transfer K connected to each end of the bus
A multiprocessor system further comprising a plurality of additional data transfer control devices.
【請求項11】 請求項10記載のマルチプロセッサシ
ステムにおいて、 前記K個の付加データ転送制御装置に接続された少なく
とも1個のデータ入出力装置を更に備えたことを特徴と
するマルチプロセッサシステム。
11. The multiprocessor system according to claim 10, further comprising at least one data input / output device connected to said K additional data transfer control devices.
【請求項12】 請求項10記載のマルチプロセッサシ
ステムにおいて、 前記K個の付加データ転送制御装置を分割してなるL個
(L≧2)の付加データ転送制御装置群の各々に接続さ
れたL本の共通バスと、 前記L本の共通バスの各々に少なくとも1個ずつ接続さ
れたM個(M≧L)のデータ入出力装置とを更に備えた
ことを特徴とするマルチプロセッサシステム。
12. The multiprocessor system according to claim 10, wherein L is connected to each of L (L ≧ 2) additional data transfer control device groups obtained by dividing the K additional data transfer control devices. A multiprocessor system further comprising: a plurality of common buses; and M (M ≧ L) data input / output devices connected to at least one of the L common buses.
【請求項13】 請求項10記載のマルチプロセッサシ
ステムにおいて、 前記K個の付加データ転送制御装置の各々は、 前記N×K個の付加バッファユニットのうち該付加デー
タ転送制御装置に共通接続されたN個のバッファユニッ
トの中から任意の数の付加バッファユニットを順次選択
するためのバッファユニットアドレスの範囲を指定する
第1及び第2のアドレスを保持するための付加記憶手段
と、 前記付加記憶手段から与えられる第1のアドレスを保持
し、該保持した第1のアドレスを順次更新しながら前記
バッファユニットアドレスとして出力するための付加更
新手段と、 前記付加更新手段から出力されるバッファユニットアド
レスと前記付加記憶手段から与えられる第2のアドレス
とが一致したときに一致信号を出力するための付加比較
手段と、 前記付加更新手段にアドレス更新を実行させるように該
付加更新手段にアドレス更新要求信号を順次与え、かつ
前記付加比較手段から一致信号の出力を受けたときには
前記付加記憶手段が保持している第1のアドレスを前記
付加更新手段に設定するように該付加更新手段にアドレ
ス設定信号を与えるための付加制御手段とを備えたこと
を特徴とするマルチプロセッサシステム。
13. The multiprocessor system according to claim 10, wherein each of the K additional data transfer control devices is commonly connected to the additional data transfer control device among the N × K additional buffer units. Additional storage means for storing first and second addresses for specifying a buffer unit address range for sequentially selecting an arbitrary number of additional buffer units from the N buffer units; and the additional storage means. And an additional updating means for holding the first address given from the buffer unit and outputting the buffered address as the buffer unit address while sequentially updating the held first address; and a buffer unit address output from the additional updating means. An adder for outputting a match signal when the second address provided from the additional storage means matches; An adding / comparing means, an address updating request signal is sequentially given to the additional updating means so as to cause the additional updating means to execute an address update, and the additional storing means holds the output when a matching signal is output from the additional comparing means. A multi-processor system comprising an additional control means for giving an address setting signal to the additional updating means so as to set the first address in the additional updating means.
【請求項14】 請求項13記載のマルチプロセッサシ
ステムにおいて、 前記付加記憶手段は、前記第1及び第2のアドレスとは
異なる第3のアドレスを初期アドレスとして更に保持す
る機能を備え、 前記付加制御手段は、前記付加記憶手段が保持している
初期アドレスを前記付加更新手段へのアドレス更新要求
信号の出力に先立って該付加更新手段に設定する機能を
更に備えたことを特徴とするマルチプロセッサシステ
ム。
14. The multiprocessor system according to claim 13, wherein said additional storage means has a function of further holding a third address different from said first and second addresses as an initial address, Means for setting the initial address held by the additional storage means in the additional update means prior to outputting an address update request signal to the additional update means, the multiprocessor system further comprising: .
【請求項15】 請求項13記載のマルチプロセッサシ
ステムにおいて、 前記付加更新手段は、前記保持した第1のアドレスの上
位部分と下位部分とを独立に更新する機能を備えたこと
を特徴とするマルチプロセッサシステム。
15. The multiprocessor system according to claim 13, wherein said additional updating means has a function of independently updating an upper part and a lower part of said held first address. Processor system.
【請求項16】 請求項13記載のマルチプロセッサシ
ステムにおいて、 前記付加更新手段は、前記保持した第1のアドレスに増
分アドレスを加算するための手段を備えたことを特徴と
するマルチプロセッサシステム。
16. The multiprocessor system according to claim 13, wherein said additional updating means includes means for adding an increment address to said held first address.
【請求項17】 請求項13記載のマルチプロセッサシ
ステムにおいて、 前記K個の付加データ転送制御装置の各々は、 少なくとも1個の他の付加データ転送制御装置と少なく
とも1個のデータ入出力装置とに共通接続される共通バ
スと前記第3のデータ転送バスのうちの1本との間に介
在した共通バスインターフェース手段を更に備えたこと
を特徴とするマルチプロセッサシステム。
17. The multiprocessor system according to claim 13, wherein each of the K additional data transfer control devices includes at least one other additional data transfer control device and at least one data input / output device. A multiprocessor system further comprising common bus interface means interposed between a common bus connected in common and one of the third data transfer buses.
【請求項18】 座標(x,y,z)、x,y,z=0
〜N−1(N≧2)、で表現される3次元の格子点に配
置されたN3 個のバッファユニットと、 各々前記N3 個のバッファユニットのうちx方向に並ん
だN個のバッファユニットに共通接続されたN2 本の第
1のデータ転送バスと、 各々前記N3 個のバッファユニットのうちy方向に並ん
だN個のバッファユニットに共通接続されたN2 本の第
2のデータ転送バスと、 前記第1及び第2のデータ転送バスの各々の端部に接続
された2N2 個のデータ転送制御装置と、 前記2N2 個のデータ転送制御装置のうち前記第1のデ
ータ転送バスの端部に接続されたN2 個のデータ転送制
御装置の中の1つに結線された第1のデータ転送ポート
と、前記2N2 個のデータ転送制御装置のうち前記第2
のデータ転送バスの端部に接続されたN2 個のデータ転
送制御装置の中の1つに結線された第2のデータ転送ポ
ートとをそれぞれ有するN2 個のプロセッサエレメント
とを備え、 前記2N2 個のデータ転送制御装置の各々は、 前記N3 個のバッファユニットのうち該データ転送制御
装置に共通接続されたN個のバッファユニットの中から
任意の数のバッファユニットを順次選択するためのバッ
ファユニットアドレスの範囲を指定する第1及び第2の
アドレスを保持するための記憶手段と、 前記記憶手段から与えられる第1のアドレスを保持し、
該保持した第1のアドレスを順次更新しながら前記バッ
ファユニットアドレスとして出力するための更新手段
と、 前記更新手段から出力されるバッファユニットアドレス
と前記記憶手段から与えられる第2のアドレスとが一致
したときに一致信号を出力するための比較手段と、 前記更新手段にアドレス更新を実行させるように該更新
手段にアドレス更新要求信号を順次与え、かつ前記比較
手段から一致信号の出力を受けたときには前記記憶手段
が保持している第1のアドレスを前記更新手段に設定す
るように該更新手段にアドレス設定信号を与えるための
制御手段とを備えたことを特徴とするマルチプロセッサ
システム。
18. Coordinates (x, y, z), x, y, z = 0
~N-1 (N ≧ 2) , in a 3-dimensional of N 3 pcs arranged at a lattice point buffer unit represented, N number of buffers, each arranged in the x direction among the N 3 pieces of buffer units first data transfer bus of N 2 present, which are commonly connected to the unit, each said N 3 pieces of the N aligned in the y direction in the buffer unit buffer unit commonly connected N 2 pieces of the second in a data transfer bus, the first and the 2N 2 pieces of the data transfer control device connected to each end portion of the second data transfer bus, said first data of said 2N 2 pieces of the data transfer control device A first data transfer port connected to one of the N 2 data transfer controllers connected to the end of the transfer bus; and a second data transfer port of the 2N 2 data transfer controllers.
And a N 2 pieces of processor elements each having one to a second data transfer ports connected in the connected N 2 pieces of the data transfer control device to the end of the data transfer bus, said 2N each of the two data transfer control device, the N 3 pieces of buffer units the data transfer control device to the commonly connected the N from the buffer unit any number of buffer units sequentially selected to for Storage means for holding first and second addresses specifying a range of buffer unit addresses; holding first addresses provided from the storage means;
Updating means for outputting as the buffer unit address while sequentially updating the held first address; and a buffer unit address output from the updating means coincides with a second address provided from the storage means. A comparing means for outputting a coincidence signal, and sequentially applying an address update request signal to the updating means so as to cause the updating means to execute an address update, and receiving the coincidence signal from the comparing means. Control means for providing an address setting signal to the updating means so as to set the first address held by the storage means in the updating means.
【請求項19】 請求項18記載のマルチプロセッサシ
ステムにおいて、 前記記憶手段は、前記第1及び第2のアドレスとは異な
る第3のアドレスを初期アドレスとして更に保持する機
能を備え、 前記制御手段は、前記記憶手段が保持している初期アド
レスを前記更新手段へのアドレス更新要求信号の出力に
先立って該更新手段に設定する機能を更に備えたことを
特徴とするマルチプロセッサシステム。
19. The multiprocessor system according to claim 18, wherein said storage means has a function of further holding a third address different from said first and second addresses as an initial address, and said control means A multi-processor system further comprising a function of setting an initial address held by the storage means in the updating means prior to outputting an address update request signal to the updating means.
【請求項20】 請求項18記載のマルチプロセッサシ
ステムにおいて、 前記更新手段は、前記保持した第1のアドレスの上位部
分と下位部分とを独立に更新する機能を備えたことを特
徴とするマルチプロセッサシステム。
20. The multiprocessor system according to claim 18, wherein said updating means has a function of independently updating an upper part and a lower part of said held first address. system.
【請求項21】 請求項18記載のマルチプロセッサシ
ステムにおいて、 前記更新手段は、前記保持した第1のアドレスに増分ア
ドレスを加算するための手段を備えたことを特徴とする
マルチプロセッサシステム。
21. The multiprocessor system according to claim 18, wherein said updating means includes means for adding an increment address to said held first address.
【請求項22】 請求項18記載のマルチプロセッサシ
ステムにおいて、 前記N2 本の第1又は第2のデータ転送バスの各々にK
個(K≧1)ずつ接続されたN2 ×K個の付加バッファ
ユニットと、 各々前記N2 ×K個の付加バッファユニットのうちy方
向又はx方向に並んだN個の付加バッファユニットに共
通接続されたN×K本の第3のデータ転送バスと、 前記第3のデータ転送バスの各々の端部に接続されたN
×K個の付加データ転送制御装置とを更に備えたことを
特徴とするマルチプロセッサシステム。
22. The multiprocessor system according to claim 18, wherein each of said N 2 first or second data transfer buses has K
N (K ≧ 1) connected N 2 × K additional buffer units, and each of the N 2 × K additional buffer units is common to N additional buffer units arranged in the y direction or the x direction. N × K third data transfer buses connected to each other; and N × K third data transfer buses connected to respective ends of the third data transfer buses.
A multiprocessor system further comprising × K additional data transfer control devices.
【請求項23】 請求項22記載のマルチプロセッサシ
ステムにおいて、 前記N×K個の付加データ転送制御装置に接続された少
なくとも1個のデータ入出力装置を更に備えたことを特
徴とするマルチプロセッサシステム。
23. The multiprocessor system according to claim 22, further comprising at least one data input / output device connected to said N × K additional data transfer control devices. .
【請求項24】 請求項22記載のマルチプロセッサシ
ステムにおいて、 前記N×K個の付加データ転送制御装置を分割してなる
L個(L≧2)の付加データ転送制御装置群の各々に接
続されたL本の共通バスと、前記L本の共通バスの各々
に少なくとも1個ずつ接続されたM個(M≧L)のデー
タ入出力装置とを更に備えたことを特徴とするマルチプ
ロセッサシステム。
24. The multiprocessor system according to claim 22, wherein said N × K additional data transfer control devices are connected to each of L (L ≧ 2) additional data transfer control device groups. A multiprocessor system further comprising: L common buses; and M (M ≧ L) data input / output devices connected to at least one of each of the L common buses.
【請求項25】 請求項22記載のマルチプロセッサシ
ステムにおいて、 前記N×K個の付加データ転送制御装置の各々は、 前記N2 ×K個の付加バッファユニットのうち該付加デ
ータ転送制御装置に共通接続されたN個のバッファユニ
ットの中から任意の数の付加バッファユニットを順次選
択するためのバッファユニットアドレスの範囲を指定す
る第1及び第2のアドレスを保持するための付加記憶手
段と、 前記付加記憶手段から与えられる第1のアドレスを保持
し、該保持した第1のアドレスを順次更新しながら前記
バッファユニットアドレスとして出力するための付加更
新手段と、 前記付加更新手段から出力されるバッファユニットアド
レスと前記付加記憶手段から与えられる第2のアドレス
とが一致したときに一致信号を出力するための付加比較
手段と、 前記付加更新手段にアドレス更新を実行させるように該
付加更新手段にアドレス更新要求信号を順次与え、かつ
前記付加比較手段から一致信号の出力を受けたときには
前記付加記憶手段が保持している第1のアドレスを前記
付加更新手段に設定するように該付加更新手段にアドレ
ス設定信号を与えるための付加制御手段とを備えたこと
を特徴とするマルチプロセッサシステム。
25. The multiprocessor system according to claim 22, wherein each of the N × K additional data transfer control devices is common to the additional data transfer control devices among the N 2 × K additional buffer units. Additional storage means for holding first and second addresses specifying a buffer unit address range for sequentially selecting an arbitrary number of additional buffer units from the connected N buffer units; and Additional update means for holding a first address given from the additional storage means and outputting the buffered address as the buffer unit address while sequentially updating the held first address; and a buffer unit output from the additional update means A match signal is output when the address matches the second address given from the additional storage means. An additional comparing means, an address updating request signal is sequentially given to the additional updating means so as to cause the additional updating means to execute an address update, and when an additional signal is output from the additional comparing means, the additional storing means A multi-processor system comprising: an additional control unit that supplies an address setting signal to the additional updating unit so as to set the held first address in the additional updating unit.
【請求項26】 請求項25記載のマルチプロセッサシ
ステムにおいて、 前記付加記憶手段は、前記第1及び第2のアドレスとは
異なる第3のアドレスを初期アドレスとして更に保持す
る機能を備え、 前記付加制御手段は、前記付加記憶手段が保持している
初期アドレスを前記付加更新手段へのアドレス更新要求
信号の出力に先立って該付加更新手段に設定する機能を
更に備えたことを特徴とするマルチプロセッサシステ
ム。
26. The multiprocessor system according to claim 25, wherein said additional storage means has a function of further holding a third address different from said first and second addresses as an initial address, Means for setting the initial address held by the additional storage means in the additional update means prior to outputting an address update request signal to the additional update means, the multiprocessor system further comprising: .
【請求項27】 請求項25記載のマルチプロセッサシ
ステムにおいて、 前記付加更新手段は、前記保持した第1のアドレスの上
位部分と下位部分とを独立に更新する機能を備えたこと
を特徴とするマルチプロセッサシステム。
27. The multiprocessor system according to claim 25, wherein said additional updating means has a function of independently updating an upper part and a lower part of said held first address. Processor system.
【請求項28】 請求項25記載のマルチプロセッサシ
ステムにおいて、 前記付加更新手段は、前記保持した第1のアドレスに増
分アドレスを加算するための手段を備えたことを特徴と
するマルチプロセッサシステム。
28. The multiprocessor system according to claim 25, wherein said additional updating means includes means for adding an increment address to said held first address.
【請求項29】 請求項25記載のマルチプロセッサシ
ステムにおいて、 前記N×K個の付加データ転送制御装置の各々は、 少なくとも1個の他の付加データ転送制御装置と少なく
とも1個のデータ入出力装置とに共通接続される共通バ
スと前記第3のデータ転送バスのうちの1本との間に介
在した共通バスインターフェース手段を更に備えたこと
を特徴とするマルチプロセッサシステム。
29. The multiprocessor system according to claim 25, wherein each of said N × K additional data transfer control devices includes at least one other additional data transfer control device and at least one data input / output device. A multi-processor system, further comprising common bus interface means interposed between a common bus commonly connected to the third data transfer bus and one of the third data transfer buses.
JP02297194A 1993-03-09 1994-02-22 Data transfer device and multiprocessor system Expired - Lifetime JP3209630B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02297194A JP3209630B2 (en) 1993-03-09 1994-02-22 Data transfer device and multiprocessor system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-47606 1993-03-09
JP4760693 1993-03-09
JP02297194A JP3209630B2 (en) 1993-03-09 1994-02-22 Data transfer device and multiprocessor system

Publications (2)

Publication Number Publication Date
JPH076125A JPH076125A (en) 1995-01-10
JP3209630B2 true JP3209630B2 (en) 2001-09-17

Family

ID=26360266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02297194A Expired - Lifetime JP3209630B2 (en) 1993-03-09 1994-02-22 Data transfer device and multiprocessor system

Country Status (1)

Country Link
JP (1) JP3209630B2 (en)

Also Published As

Publication number Publication date
JPH076125A (en) 1995-01-10

Similar Documents

Publication Publication Date Title
US4833468A (en) Layered network
JP3899085B2 (en) Network equipment
KR0150072B1 (en) Memory data path controller in parallel processing computer system
EP0460599B1 (en) Massively parallel processor including queue-based message delivery system
Dally Performance analysis of k-ary n-cube interconnection networks
EP0198010B1 (en) Packet switched multiport memory nxm switch node and processing method
EP0018755B1 (en) Digital communication networks employing speed independent switches
US5247694A (en) System and method for generating communications arrangements for routing data in a massively parallel processing system
US4918686A (en) Data transfer network suitable for use in a parallel computer
EP0942377A1 (en) Method for performing all-to-all communication in parallel computers
US4251879A (en) Speed independent arbiter switch for digital communication networks
JPH0589066A (en) Multidimensional parallel processing system
US5297255A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
US5432909A (en) Method and apparatus for redistributing multiple distributed data sets in a ring connected multiprocessor
US7155588B1 (en) Memory fence with background lock release
US5513364A (en) Data transfer device and multiprocessor system
Trahan et al. Optimally scaling permutation routing on reconfigurable linear arrays with optical buses
JP3209630B2 (en) Data transfer device and multiprocessor system
JP2875448B2 (en) Data transfer device and multiprocessor system
Lai Performing permutations on interconnection networks by regularly changing switch states
US4223391A (en) Parallel access alignment network with barrel switch implementation for d-ordered vector elements
EP1322078A2 (en) Method for determining combination of data for transfer and combination determining circuit
EP0323080A2 (en) Multiprocessor memory access control system
JP3112208B2 (en) Matrix network circuit
Braun et al. On optimizing diameter and average distance of directed interconnected networks

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010626

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

Free format text: PAYMENT UNTIL: 20070713

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080713

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9