JP3002659B2 - Data transfer network - Google Patents

Data transfer network

Info

Publication number
JP3002659B2
JP3002659B2 JP32984797A JP32984797A JP3002659B2 JP 3002659 B2 JP3002659 B2 JP 3002659B2 JP 32984797 A JP32984797 A JP 32984797A JP 32984797 A JP32984797 A JP 32984797A JP 3002659 B2 JP3002659 B2 JP 3002659B2
Authority
JP
Japan
Prior art keywords
switch
packet
network
partial
address
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 - Fee Related
Application number
JP32984797A
Other languages
Japanese (ja)
Other versions
JPH10145430A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP32984797A priority Critical patent/JP3002659B2/en
Publication of JPH10145430A publication Critical patent/JPH10145430A/en
Priority to JP10218793A priority patent/JPH11149460A/en
Application granted granted Critical
Publication of JP3002659B2 publication Critical patent/JP3002659B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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 network for transferring packet data.

【0002】[0002]

【従来の技術】近年LSI技術の進歩により、高速大容
量のプロセッサを多数接続し、並列処理を行うことで、
高性能の並列計算機システムを実現することが可能にな
りつつある。この様なシステムにおいては、プロセッサ
間、プロセッサ・メモリ間等で、大量のデータを授受す
ることが必要であり、例えば図3に示す様なプロセッサ
間を結合するデータ転送ネットワークが必要となる。デ
ータ転送ネットワークの従来の構成方法については、例
えば、黒川他、情報処理Vol.27,(1986年)、N
o.9,特集「並列処理技術」3,1,結合方式、p
p.1005〜1021に詳しく説明されている。
2. Description of the Related Art In recent years, with the advance of LSI technology, a large number of high-speed and large-capacity processors are connected and parallel processing is performed.
It is becoming possible to realize high-performance parallel computer systems. In such a system, it is necessary to exchange a large amount of data between processors, between a processor and a memory, and a data transfer network for connecting processors as shown in FIG. 3, for example. For example, Kurokawa et al., Information Processing Vol. 27, (1986), N.
o.9, Special Feature “Parallel Processing Technology” 3,1, Combination Method, p
p. The details are described in 1005 to 1021.

【0003】データ転送ネットワークとしては、クロス
バスイッチを用いるものや、多段スイッチを用いるもの
が知られているが、この場合、転送すべきデータに転送
先のアドレスを付加したパケットが、データ転送ネット
ワークに送り出され、そのパケットに対して順次バスが
ネットワーク中に生成されていく。
As a data transfer network, those using a crossbar switch and those using a multistage switch are known. In this case, a packet in which data to be transferred is added with a destination address is transmitted to the data transfer network. The packet is sent out, and a bus is sequentially created in the network for the packet.

【0004】[0004]

【発明が解決しようとする課題】データ転送ネットワー
クをクロスバスイッチで構成した場合、ハードウェアが
膨大なものとなり、実現が困難である。従って、多段ス
イッチ方式を用いることが現実的である。上記パケット
において、データの長さは通常数十ビット以上であり、
また、転送先アドレスも、数千台以上のプロセッサを用
いる場合、十数ビット以上必要である。パケットの高速
転送のためにはそのパケットの全ビットを並列に転送す
ることが望ましいことは言うまでもないが、パケットの
全ビットを並列に送れるようにすると、信号線数、スイ
ッチ数が膨大になるため、データ転送路のビット幅d
は、比較的小さなもの(高々10ビット程度以下)とな
らざるを得ない。従って、実用的観点からは、図4に示
すように各パケットをそれぞれ複数のビット数dから成
る複数のサブパケットに分け、各サブパケット内に全ピ
ットは並列に転送し、異なるサブパケットは順次転送す
るという方法が必要である。この場合、データのみなら
ず、転送先アドレスも少なくとも2つ以上の部分アドレ
スに分割することが必要となる。
When the data transfer network is composed of crossbar switches, the hardware becomes enormous and it is difficult to realize the data transfer network. Therefore, it is practical to use a multi-stage switch system. In the above packet, the data length is usually several tens of bits or more,
Also, the transfer destination address needs more than ten and several bits when using several thousand or more processors. It goes without saying that it is desirable to transfer all bits of the packet in parallel for high-speed packet transfer, but if all bits of the packet can be sent in parallel, the number of signal lines and switches becomes enormous. , The bit width d of the data transfer path
Must be relatively small (at most about 10 bits or less). Therefore, from a practical viewpoint, as shown in FIG. 4, each packet is divided into a plurality of sub-packets each having a plurality of bits d, all pits are transferred in parallel in each sub-packet, and different sub-packets are sequentially transferred. We need a way to transfer it. In this case, not only the data but also the transfer destination address needs to be divided into at least two or more partial addresses.

【0005】データ転送ネットワークを構成する多段の
スイッチの各スイッチは、入力されたパケットの行き先
をそのパケット内の転送先アドレスから判断し、適当な
スイッチングを行って、そのパケットを適当な出力端に
出力する。前述の様にデータ及び転送先アドレスを分割
した場合でも、すべての部分アドレスの到着を待つこと
によりこのスイッチングを各スイッチに行わせることが
できる。一旦スイッチングが行われると、転送先アドレ
スの後に順次送られてくるデータ用のサブパケットをパ
イプライン的に次段のスイッチに送ることができる。し
かし、各スイッチのスイッチングが部分アドレスすべて
の到着を待って行われたのでは、転送先アドレスの全ピ
ットを並列に転送する場合に比べ、スイッチング開始時
間が大幅に遅れるという問題がある。
Each switch of the multistage switch constituting the data transfer network determines a destination of an input packet from a transfer destination address in the packet, performs appropriate switching, and sends the packet to an appropriate output terminal. Output. Even if the data and the transfer destination address are divided as described above, each switch can perform this switching by waiting for the arrival of all the partial addresses. Once switching is performed, data subpackets sequentially transmitted after the transfer destination address can be transmitted to the next-stage switch in a pipeline manner. However, if the switching of each switch is performed after all the partial addresses arrive, there is a problem that the switching start time is greatly delayed as compared with the case where all the pits of the transfer destination address are transferred in parallel.

【0006】本発明の目的は、転送先アドレスを複数の
部分アドレスに分割した場合でも各スイッチのスイッチ
ング開始時間を余り遅らせなくてすむデータ転送ネット
ワークを提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a data transfer network which does not delay switching start time of each switch very much even when a transfer destination address is divided into a plurality of partial addresses.

【0007】[0007]

【課題を解決するための手段】このため本発明では、あ
るスイッチがパケットを送出すべき次段のスイッチを確
定するために必要な部分アドレスが、そのスイッチに供
給される部分アドレスをそれぞれ含む複数のサブパケッ
トの内の最初にものに含まれている場合には、そのスイ
ッチは最初のパケットが到着したときにスイッチングを
開始するようにそのスイッチを構成した。さらに望まし
い 様として、次段のスイッチがスイッチングするのに
必要な部分アドレスが先頭のサブパケットに含まれてい
ない場合、前段のスイッチは、その部分アドレスが先頭
のサブパケットに含まれるように部分アドレスをサブパ
ケット間で入れ換れるようにした。
Therefore, according to the present invention, the partial addresses necessary for a switch to determine the next switch to which a packet should be transmitted are determined by a plurality of partial addresses each including the partial address supplied to the switch. If it is included in the first of the sub-packets, it has configured the switch to start switching when the first packet arrives. Even more preferably, if the first subpacket does not include the partial address required for the next-stage switch to switch, the preceding switch switches the partial address so that the partial address is included in the first subpacket. Can be exchanged between subpackets.

【0008】[0008]

【作用】本発明では、上記のような構成をとることによ
り、データ転送ネットワークを構成するスイッチがスイ
ッチングを開始するまでに必要な待ち時間を削減し、高
速なデータ転送ネットワークを実現できる。
According to the present invention, by adopting the above-described configuration, it is possible to reduce the waiting time required for the switches constituting the data transfer network to start switching, thereby realizing a high-speed data transfer network.

【0009】[0009]

【実施例】本発明の実施例の説明の前に、分割アドレス
を用いるが、本発明によるスイッチングの早期化を図ら
ないデータ転送ネットワークの例として本発明者が考え
たものを図5に即して説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Before describing an embodiment of the present invention, FIG. 5 shows an example of a data transfer network which uses the divided address but which does not attempt to speed up switching according to the present invention. Will be explained.

【0010】図5は多段スイッチ構成のデータ転送ネッ
トワーク(以下、単にネットワークとも言う)を示し、
16入力/16出力を有すると仮定する。
FIG. 5 shows a data transfer network (hereinafter, simply referred to as a network) having a multistage switch configuration.
Suppose we have 16 inputs / 16 outputs.

【0011】図5において、S00−S37はネットワ
ークを構成する2入力/2出力のスイッチであり、それ
ぞれのスイッチの上部に付記した〔 〕の中の数字はそ
の番号を示す。
In FIG. 5, S00-S37 are 2-input / 2-output switches constituting a network, and the numbers in parentheses above each switch indicate the number.

【0012】0′〜15′はネットワークの入力ポー
ト、0″〜15″はネットワークの出力ポートである。
出力ポート0″〜15″はそのアドレスを2進数で各々
(0000)〜(1111)と表現する。図6は上記多
段スイッチにおいて、転送先アドレスを分割して転送す
るために、図5のネットワークに用いるスイッチの構成
の一例であり、図6において、I1,I2はスイッチの
入力ポート、O1,O2は出力ポート、E1は出力ポー
ト選択回路、Q1,Q2は出力キュー,Q3,Q4は出力キ
ュー,L1,L2,L3,L4は上記サブパケット中に
含まれる部分アドレスを記憶するためのレジスタ、S
1,S2はセレクタであり、MS1はスイッチの動作に
必要な情報・手順を格納したメモリ、P1はスイッチの
動作を制御するスイッチコントローラである。
0 'to 15' are input ports of the network, and 0 "to 15" are output ports of the network.
The output ports 0 "to 15" express their addresses in binary numbers as (0000) to (1111). FIG. 6 shows an example of the configuration of a switch used in the network of FIG. 5 for dividing and transferring a transfer destination address in the multistage switch. In FIG. 6, I1 and I2 are input ports of the switch and O1 and O2. an output port, E1 is the output port selection circuit, Q 1, Q 2 output queue, Q 3, Q 4 output queues, L1, L2, L3, L4 is for storing partial address included in the sub-packet Register, S
Reference numerals 1 and 2 denote selectors, MS1 is a memory storing information and procedures necessary for switch operation, and P1 is a switch controller for controlling switch operation.

【0013】ここで、簡単のため、ネットワークに与え
られるパケットは、転送先アドレスが4ピット、データ
が4ビットとし、データ転送路のピット幅が2ビットで
あると仮定し、図4に示すように転送先アドレスは部分
アドレスA1,A2に分割され、データD1,D2に分割さ
れているとする。また、このパケットが、図5に太線で
示す様に、入力ポート1′から、出力ポート11″に転
送される場合を考える。11″のアドレスは(101
1)であるので、A1,A2はそれぞれ10,11なるビ
ット列を表わす。このときの図5、図6のデータ転送ネ
ットワークの動作を図7を用いて説明する。図7に示す
様に、図5の
Here, for simplicity, it is assumed that a packet provided to the network has a transfer destination address of 4 pits, data of 4 bits, and a pit width of a data transfer path of 2 bits, as shown in FIG. It is assumed that the transfer destination address is divided into partial addresses A 1 and A 2 and divided into data D 1 and D 2 . It is also assumed that this packet is transferred from the input port 1 'to the output port 11 "as indicated by the bold line in FIG.
Since 1), A 1 and A 2 represent bit strings of 10 and 11, respectively. The operation of the data transfer network of FIGS. 5 and 6 at this time will be described with reference to FIG. As shown in FIG.

〔00〕座標のスイッチS00の入力ポー
トI2に部分アドレスA1,A2,部分データD1,D2
順次入力されるとする。このとき、スイッチS00で
は、第1、第2の部分アドレスA1,A2をそれぞれレジ
スタL3,L4に記憶し、また、部分アドレスA1,A2
部分データD1,D2は順次入力キューに格納する。レジ
スタL3,L4の出力C3,C4(今の場合は部分アド
レスA1,A2に等しい)はそれぞれスイッチ・コントロ
ーラP1に与えられており、スイッチコントローラP1
は、部分アドレスA1,A2がそれぞれレジスタL1,L
2にセットされたときにスイッチ内メモリMS1の内容
とレジスタL3,L4の出力C3,C4に応答して出力
ポート選択回路E1内のセレクタS1,S2の制御情報
M1,M2を作成してこれらに与える。さらに具体的に
は、この場合、スイッチコントローラP1は、図7で*
で示す様な、第1サブパケットの第1ビットが判定ビッ
トであるという判定ビット位置情報J1がメモリMS1
から与えられ出力C3(=A1),C4(=A2)から
なる4ビットのアドレスの内上記判定ビットを取り出
す。今の場合、この値が1であるので、これに基づい
て、E1中のセレクタS2に対して、入力ポートI2か
ら出力ポートO2へ至るパスを生成する様な制御情報M
2を与える。こうして上記サブパケットは順次出力キュ
ーQ3を介して、出力ポートO2から次段のスイッチS
14ヘ送信される。
[00] It is assumed that the partial addresses A 1 and A 2 and the partial data D 1 and D 2 are sequentially input to the input port I2 of the coordinate switch S00. At this time, the switch S00, and stored in the first, second partial address A 1, A 2, respectively register L3, L4, also partial address A 1, A 2
The partial data D 1 and D 2 are sequentially stored in the input queue. Register L3, L4 output of C3, C4 (equivalent to partial address A 1, A 2 is the current case) are respectively provided to the switch controller P1, switch controller P1
Indicates that the partial addresses A 1 and A 2 correspond to the registers L 1 and L 2 respectively.
When set to 2, the control information M1 and M2 of the selectors S1 and S2 in the output port selection circuit E1 are created in response to the contents of the in-switch memory MS1 and the outputs C3 and C4 of the registers L3 and L4. give. More specifically, in this case, the switch controller P1
The determination bit position information J1 indicating that the first bit of the first sub-packet is a determination bit, as shown in FIG.
The determination bits are taken out of a 4-bit address consisting of outputs C3 (= A1) and C4 (= A2). In this case, since this value is 1, control information M for generating a path from the input port I2 to the output port O2 for the selector S2 in E1 based on this value.
Give 2. Thus, the sub-packets are sequentially output from the output port O2 via the output queue Q3 to the next-stage switch S.
Sent to 14

【0014】図5で、スイッチS00内で出力ポートO
2が選択されるため、上記のパケットはスイッチS14
の入力では、図7に示す様に、判定ビット位置が第1サ
ブパケットの第2ビットであるという判定ビット位置情
報J1が、そのスイッチ内のメモリMS1から与えれ、
判定ビット(この場合0)がスイッチS14の入力ポー
トI1から出力ポートO1へ至るパスが生成されパケッ
トはスイッチS24へ送られる。以下、スイッチS24
では判定ビット(この場合1)であり、スイッチS35
では第2サブパケットの第2ビットであって、同様の処
理によって、パケットはネットワークの出力ポート1
1″に転送される。
In FIG. 5, the output port O in the switch S00
2 is selected, the above packet is transmitted to the switch S14.
7, determination bit position information J1 that the determination bit position is the second bit of the first subpacket is given from the memory MS1 in the switch, as shown in FIG.
A path from the input port I1 of the switch S14 to the output port O1 is generated with the determination bit (0 in this case), and the packet is sent to the switch S24. Hereinafter, the switch S24
Is a determination bit (1 in this case), and the switch S35
Is the second bit of the second subpacket, and by the same processing, the packet is output to the output port 1 of the network.
1 ".

【0015】上記動作のタイミング図を図8に示す。図
8において、上記の各サブパケツトは時間Tごとに順次
入力ポートに与えられるとする。また、各スイッチ内の
スイッチコントローラP1、セレクタS1,S2等は充
分高速に動作するとする。図8からわかる様に、図5、
図6のデータ転送ネットワークでは、各スイッチでは2
つの分割アドレスの到着を待ってスイッチングを開始し
ている。このためサブパケット4個の転送時間4Tに加
え、各スイッチでの、二つの分割アドレスの到着待ちの
時間2T×4=8Tが加わるため、ネットワークの転送
所要時間は12T必要である。
FIG. 8 is a timing chart of the above operation. In FIG. 8, each of the above sub-packets is sequentially given to the input port at every time T. It is also assumed that the switch controller P1, the selectors S1, S2, etc. in each switch operate at a sufficiently high speed. As can be seen from FIG.
In the data transfer network of FIG.
Switching is started after the arrival of two divided addresses. For this reason, in addition to the transfer time 4T for four subpackets, a time 2T × 4 = 8T for waiting for the arrival of two divided addresses at each switch is added, so that a network transfer time of 12T is required.

【0016】次に、本発明の実施例を説明する。Next, an embodiment of the present invention will be described.

【0017】図9は本発明による多段スイッチからなる
データ転送ネットワークであり、その構成において、図
5と異なるのはスイッチS00′〜S37′が転送先ア
ドレスを含む全てのサブ・パケットの到着を待つことな
く、第1のサブ・パケット到着後、スイッチングを行
い、パケットを送出すべき次段のスイッチに接続された
出力ポートを確定してサブパケットの送出を開始する点
および第2段目のスイッチS10′〜S17′が、分割
された転送先アドレスを含む複数のサブパケットに対
し、上記分割アドレスを第1のサブパケットと第2のサ
ブパケット間で入れ替えるように構成されている点であ
る。図5,図6で説明した、Network の例では、第1段
目のスイッチS00〜S07、及び第2段目のスイッチ
S10〜S17では、各スイッチでパケットを送出すべ
き次段のスイッチを確定するために必要な部分アドレス
はそれぞれに入力されるパケットの第1サブパケット内
にある第1部分アドレスA1であるが、第3段目、第4
段目のスイッチS20〜S37における、それは、第2
サブパケット内の第2部分アドレスA2である。しか
し、図9の様に、第2段目のスイッチS10′〜S1
7′に入力されたサブパケット列が出力される際に、第
1サブパケットに第2部分アドレスA2、第2サブパケ
ットに第1部分アドレスA1が含まれる様に部分アドレ
スA1,A2を第2段目のスイッチS10′〜S17′で
入れ替えることで、次段のスイッチが、スイッチングに
要する部分アドレスが先頭サブパケットに含まれる。
FIG. 9 shows a data transfer network comprising a multistage switch according to the present invention. In the configuration, the difference from FIG. 5 is that switches S00 'to S37' wait for the arrival of all sub-packets including the transfer destination address. Switching after the arrival of the first sub-packet, determining the output port connected to the next-stage switch to which the packet is to be transmitted, and starting transmission of the sub-packet; Steps S10 'to S17' are such that, for a plurality of subpackets including the divided transfer destination address, the divided addresses are exchanged between the first subpacket and the second subpacket. In the example of Network described with reference to FIGS. 5 and 6, in the switches S00 to S07 in the first stage and the switches S10 to S17 in the second stage, each switch determines the next-stage switch to which a packet is to be transmitted. The required partial address is the first partial address A1 in the first sub-packet of the packet to be input to each of them.
In the switches S20 to S37 of the stage,
This is the second partial address A2 in the subpacket. However, as shown in FIG. 9, the second-stage switches S10 'to S1
When the sub-packet sequence input to 7 'is output, the partial addresses A 1 and A 2 are set such that the first sub-packet includes the second partial address A2 and the second sub-packet includes the first partial address A 1. Are replaced by the second-stage switches S10 'to S17', so that the next sub-switch includes a partial address required for switching in the first subpacket.

【0018】図1は図9の第2段目のスイッチS10′
〜S17′の構成の一例であり、その構成において図6
と異なるのは、入力ポートI1またはI2に対しレジス
タL1,L2またはL3,L4に記憶された部分アドレ
スの内、先に送出すべきものを先に選択するように、レ
ジスタL1,L2の出力C1,C2を選択するセレクタ
S3、及びレジスタL3,L4の出力C3,C4を選択
するセレクタS5,セレクタS3またはS5から出力さ
れた部分アドレス列を入力キューQ1またはQ2格納さ
れた部分データに先立って選択して出力ポート選択回路
E1に与えるためのセレクタS4、またはS6を有する
点、及び、スイッチングコントローラP2は入力ポート
I1またはI2へのパケットの先頭のサブパケットの到
着と同期して、このパケットと並列に与えられるパケッ
トスタート信号PSTR1またはPSTR2に応答して
動作を開始し、パケットの末尾が入力ポートI1または
I2へ到着するのに同期して与えられるパケット終了信
号PEND1またはPEND2に応答して動作を終了す
る点、及びメモリMS2から与えられる判定ビット位置
情報J2はつねに先頭のサブパケット内の部分アドレス
のいずれかのビットを指す点、である。
FIG. 1 shows a second stage switch S10 'of FIG.
6 to S17 ', and FIG.
The difference is that the output C1 of the registers L1 and L2 is selected so that the input port I1 or I2 first selects the partial address stored in the registers L1, L2 or L3, L4 to be transmitted first. , C2, and the selectors S5, which select the outputs C3, C4 of the registers L3, L4, and select the partial address string output from the selector S3 or S5 prior to the partial data stored in the input queue Q1 or Q2. And the selector S4 or S6 for providing the output port selection circuit E1 and the switching controller P2 in parallel with the arrival of the first subpacket of the packet at the input port I1 or I2. The operation starts in response to the packet start signal PSTR1 or PSTR2 given to The point at which the operation ends in response to the packet end signal PEND1 or PEND2 provided in synchronization with the end of the packet arriving at the input port I1 or I2, and the determination bit position information J2 provided from the memory MS2 are always at the head. Point to any bit of the partial address in the subpacket of the sub-packet.

【0019】また、第1段のスイッチS00′〜S0
7′及び第3段、第4段のスイッチS20′〜S37′
は図2に示すように、図1から、サブパットを記憶する
レジスタL1,L3,及びセレクタS3〜S6を省略し
たものである。即ち、これらのスイッチは、サブパケッ
トの入れ替えを行わない点で主に第2段のスイッチS1
0′〜S17′と異なるが、パケットスタート信号PS
TR1,PSTR2,パケット終了信号PEND2に応
答する点では同じである。図5の場合と同様に、図9の
動作説明のため、データ転送路のビット幅が2ビットで
あり、転送先アドレスは2つの部分アドレスA1,A2
らなりデータは2つの部分データD1,D2からなりそれ
ぞれは各々2ビットの長さのサブパケットに含まれる。
図9の太線で示す様に入力ポート1′から出力ポート1
1′に転送される場合を考える。このときの図9のデー
タ転送ネットワークの動作を図10を参照して説明す
る。図10に示す様に、図9の
The first stage switches S00 'to S0
7 'and third and fourth stage switches S20' to S37 '
As shown in FIG. 2, registers L1 and L3 for storing subpads and selectors S3 to S6 are omitted from FIG. That is, these switches are mainly the second-stage switches S1 in that the subpackets are not exchanged.
0 'to S17', but the packet start signal PS
It is the same in that it responds to TR1, PSTR2, and packet end signal PEND2. As in the case of FIG. 5, for explanation of the operation of FIG. 9, the bit width of the data transfer path is 2 bits, the transfer destination address is composed of two partial addresses A 1 and A 2 , and the data is composed of two partial data D. 1, each consist of D 2 is included in each of the 2-bit length of the sub-packet.
As shown by the thick line in FIG.
Consider the case where the data is transferred to 1 '. The operation of the data transfer network of FIG. 9 at this time will be described with reference to FIG. As shown in FIG.

〔00〕の座標のスイッ
チS00′の入力ポートI2に、図5〜図7の場合と同
様の部分アドレスA1,A2と部分データD1,D2が順次
入力されるとする。図9におけるスイッチS00′,S
24′,S53の動作は、図9におけるスイッチS0
0,S24,S35の動作とほぼ同様であるが、異なる
のは各スイッチは最初の部分アドレスの到着時に動作を
開始する点である。すなわち図9の場合、各スイッチか
らのパケットの送出先スイッチを決定するための判定ビ
ット位置は図10に*で示すようにいずれも第1サブパ
ケットの部分アドレス内にあるため、第2サブパケット
の到着を待つことなく、送出先が決まり、送出が開始さ
れる点が異なっている。
The input port I2 of [00] coordinates of switch S00 ', and FIGS. 5 if the same partial address A 1 of 7, A 2 and partial data D 1, D 2 are sequentially inputted. Switches S00 ', S in FIG.
24 'and S53 operate according to switch S0 in FIG.
0, S24, and S35, except that each switch starts operation when the first partial address arrives. That is, in the case of FIG. 9, since the determination bit positions for determining the destination switch of the packet from each switch are all within the partial address of the first sub packet as indicated by * in FIG. The point is that the transmission destination is decided without waiting for the arrival of the transmission, and the transmission is started.

【0020】次に図9におけるスイッチS14′の動作
の一例を図11のタイムチャートを参照して説明する。
スイッチS14′にはスイッチS00′から、部分アド
レスA1,A2,部分データD1,D2、が入力ポートI1
に順次送られる。このとき先頭の部分アドレスの到着と
同期して、かつパケットの転送と並行してパケットスタ
ート信号PSRT1がスイッチコントローラP2に与え
られ、スイッチコントローラP2はスイッチS00′が
以下の動作とするように制御動作を開始する。スイッチ
S14′では、第1のタイミングで第1部分アドレスA
1をレジスタL2に記憶し、続く第2のタイミングでこ
の第1部分アドレスA1をレジスタL1に移動し、かつ
第2部分アドレスA2をレジスタL2に記憶する。ま
た、第3、第4のタイミングでそれぞれ部分データ
1,D2を順次入力キューQ1に格納する。ここで、レ
ジスタL2の内容C2はスイッチコントローラP2に与
えられている。今の場合、第1部分アドレスA1がレジ
スタL2に到着した時点でこの部分アドレスA1がC1
としてスイッチコントローラP2に与えられる。スイッ
チコントローラP2は出力C2の内、メモリMS2から
与えられる判定ビット位置情報J2で示される位置のビ
ットに応答して、出力ポート選択回路E1内のセレクタ
S1,S2の制御情報M1,M2を作成して、これらに
与え、入力ポートI1から出力ポートO1へ至るバスを
生成する。さらにスイッチコントローラP2は、レジス
タL1に記憶された第1の部分アドレスA1、レジスタ
L2に記憶された第2の部分アドレスA2の内、上記第
3のタイミングで、A2を、また、上記第4のタイミン
グでA1を選択する様な制御信号M3をセレクタS3に
与え、これによって部分アドレスA1とA2の順序を入れ
替える。さらに、スイッチコントローラP2は、上記第
3のタイミングでセレクタS3から出力される部分アド
レスA2を、上記第4のタイミングでセレクタS3から
出力される部分アドレスA1をそれぞれ選択し、また、
第5、第6のタイミングで、入力キューQ1に格納され
た部分データD1,D2をそれぞれ選択して、出力ポート
選択回路E1に与える様な制御信号M4をセレクタS4
に与える。選択回路E1の出力はキューQ3に与えら
れ、上記第3、第4、第5、第6のタイミングで、それ
ぞれA2,A1,D1,D2が出力キューQ3に入力・記憶
される。これによって、上記の様に部分アドレスA1
2を入れ替えて作られた転送先アドレスを入力キュー
Q1内に格納されたデータに先立って選択的に出力ポー
ト選択回路E1に与えることができる。
Next, an example of the operation of the switch S14 'in FIG. 9 will be described with reference to the time chart of FIG.
From 'switch S00 to' switch S14, partial address A 1, A 2, partial data D 1, D 2, input ports I1
Are sent in sequence. At this time, a packet start signal PSRT1 is given to the switch controller P2 in synchronization with the arrival of the leading partial address and in parallel with the transfer of the packet, and the switch controller P2 performs a control operation such that the switch S00 'performs the following operation. To start. In the switch S14 ', at the first timing, the first partial address A
Storing 1 in register L2, the first partial address A 1 at the second timing following to move to the register L1, and stores the second partial address A 2 in the register L2. At the third and fourth timings, the partial data D 1 and D 2 are sequentially stored in the input queue Q 1 . Here, the content C2 of the register L2 is given to the switch controller P2. In the present case, this partial address A 1 at the time when the first partial address A 1 arrives in the register L2 is C1
Is given to the switch controller P2. The switch controller P2 creates control information M1 and M2 for the selectors S1 and S2 in the output port selection circuit E1 in response to the bit at the position indicated by the determination bit position information J2 given from the memory MS2 out of the output C2. To generate a bus from the input port I1 to the output port O1. Further switch controller P2 is first partial address A 1 stored in the register L1, second of the partial address A 2 stored in the register L2, at the third timing, the A 2, also, the provides a control signal M3, such as selecting the a 1 in the fourth timing selector S3, thereby interchanging the order of the partial address a 1 and a 2. Furthermore, the switch controller P2 is the partial address A 2 output from the selector S3 in the third timing, select each partial address A 1 output from the selector S3 in the fourth timing, also,
At the fifth and sixth timings, each of the partial data D 1 and D 2 stored in the input queue Q1 is selected, and a control signal M4 for giving to the output port selection circuit E1 is supplied to the selector S4.
Give to. The output of the selection circuit E1 is applied to queue Q3, the third, fourth, fifth, timing of the sixth, respectively A 2, A 1, D 1 , D 2 are input and stored in the output queue Q3 . As a result, the partial addresses A 1 ,
It can be provided to selectively output port selection circuit E1 prior to stored a forwarding address made by replacing the A 2 in the input queue Q1 data.

【0021】図11は図9のスイッチS00′、S2
4′、S35′でアドレス到着待ちの時間が、図5の場
合の半分の時間Tで済む。従って、ネットワークの転送
所要時間は9Tとなり、図5の場合(図8)の12Tと
比べて25%高速化されることがわかる。
FIG. 11 shows the switches S00 'and S2 of FIG.
In 4 'and S35', the time for waiting for the arrival of the address is only half the time T in FIG. 5. Therefore, the required transfer time of the network is 9T, which is 25% faster than 12T in FIG. 5 (FIG. 8).

【0022】なお、スイッチコントローラP2は入力ポ
ートI2から与えられるパケットに対しても同様な処理
を行うことができ、図6の場合と同様に、入力ポートI
1とI2の入力データの優先判断を行うことができる。
スイッチコントローラP2には、出力ポートO1、O2
の各々の出力許可信号OE1,OE2が与えられてお
り、OE1が出力許可状態となったとき、出力制御信号
OC1がスイッチコントローラP2から出力キューQ3
に与えられ、出力キューQ3から、上記部分アドレスA
1,A2,部分データD1,D2が順次出力ポートO1に送
出される。同様に信号OE2が出力許可状態となったと
き、出力制御信号OC2がスイッチコントローラP2か
ら出力キューQ4に与えられる。出力キューQ3,Q4
がデータで満たされ、新しいデータを記憶できない状態
になった場合、それぞれスイッチコントローラP2に接
続されたステータス信号SQ1,SQ2がスイッチコン
トローラP2に与えられる。そこからは通常入力端子I
1、I2の入力許可信号IA1,IA2が出力されてい
るが、上記ステータス信号SQ1,SQ2によって入力
許可信号IA1,IA2は入力禁止状態とされ、新たな
パケットが入力されることを禁止する。図9の構成の場
合、後段のスイッチの入力許可信号IA1(又はIA
2)を、前段のスイッチに出力許可信号OE1(OE
2)として入力することで、送転径路の途中でキューの
あふれによってパケットが失なわれることを防げる。図
1において、レジスタL1,L2,出力キューQ1,Q
3へのデータのセットタイミングの制御は信号T11,
T12,T13,T14により、また、レジスタL3、
L4、出力キューQ2、Q4へデータのセットタイミン
グの制御は信号T21,T22,T23,T24により
行なわれ、これらの信号はスイッチコントローラP2か
ら与えられる。図13は図1のスイッチコントローラP
2の概略構成図である。図において、タイミング供給回
路10A,10Bは、パケットスタースタート信号PS
TR1又はPSTR2に応答してアドレスデコーダ16
A又は16Bを励動し、かつ、タイミングクロックをカ
ウンタ12A又は12Bに与え、パケットの末尾が入力
ポートI1又はI2(図1)に与えられたタイミングに
同期して与えられる。パケット終了信号PEND1に応
答して、カウンタ12A又は12Bおよびタイミングデ
コーダ14A又は14Bをリセットするものである。ア
ドレスデコーダ16A又は16BはレジスタL2はL4
の出力C2又C4の内、メモリMS2から与えられ判定
ビット位置情報J2にて示されるピットを切り出し入力
されたパケットを出力ポートO1,O2のいずれに送る
べきかの信号としてコンフリクト制御22へ送出する。
タイミングデコーダ14A、14Bはカウンタ12A,
12Bのカウント値にそれぞれ応答して、制御信号T1
1〜T13,M3,M4を出力するとともに出力キュー
制御18A又は18Bおよびセレクタ制御24′を起動
するものである。コンフリクト制御22はアドレスデコ
ーダ16A,16Bの出力の間にコンフリクトがないか
をチェックし、なければセレクタ制御24に送る。そこ
でセレクタ制御信号M1,M2を発生させる。コンフリ
クト制御には上記2つの出力の間にコンフリクトがあれ
ばその一方にのみ応答してセレクタ制御24に送る。そ
れとともに、アドレスデコーダ16A,16Bの他方に
対応して設けられた入力制御20A又は20B信号を送
る。入力・制御20A,20Bは新たなパケットの送信
を禁止する信号IA1又はIA2を発生させ、前段のス
イッチに送る。
The switch controller P2 can perform the same processing on the packet supplied from the input port I2. As in the case of FIG.
It is possible to determine the priority of the input data 1 and I2.
The switch controller P2 has output ports O1, O2
Output enable signals OE1 and OE2 are provided, and when OE1 enters the output enable state, the output control signal OC1 is output from the switch controller P2 to the output queue Q3.
From the output queue Q3 and the partial address A
1 , A 2 and partial data D 1 , D 2 are sequentially sent to the output port O1. Similarly, when the signal OE2 is in the output permission state, the output control signal OC2 is provided from the switch controller P2 to the output queue Q4. Output queue Q3, Q4
Are filled with data and new data cannot be stored, status signals SQ1 and SQ2 connected to the switch controller P2 are applied to the switch controller P2. From there, the normal input terminal I
Although the input enable signals IA1 and IA2 of I1 and I2 are output, the input enable signals IA1 and IA2 are disabled by the status signals SQ1 and SQ2, and the input of a new packet is prohibited. In the case of the configuration in FIG. 9, the input enable signal IA1 (or IA)
2) is output to the preceding switch by the output enable signal OE1 (OE).
By inputting as 2), it is possible to prevent packets from being lost due to overflow of the queue in the middle of the transmission path. In FIG. 1, registers L1, L2, output queues Q1, Q
3 is controlled by a signal T11,
Due to T12, T13, T14, the register L3,
Control of the timing of setting data to L4 and output queues Q2 and Q4 is performed by signals T21, T22, T23 and T24, and these signals are provided from switch controller P2. FIG. 13 shows the switch controller P of FIG.
2 is a schematic configuration diagram of FIG. In the figure, timing supply circuits 10A and 10B output a packet star start signal PS.
Address decoder 16 in response to TR1 or PSTR2
A or 16B is excited, and a timing clock is applied to the counter 12A or 12B, and the end of the packet is applied in synchronization with the timing applied to the input port I1 or I2 (FIG. 1). The counter 12A or 12B and the timing decoder 14A or 14B are reset in response to the packet end signal PEND1. In the address decoder 16A or 16B, the register L2 is L4
Out of the output C2 or C4 from the memory MS2, the pit indicated by the determination bit position information J2 is cut out and the input packet is sent to the conflict control 22 as a signal indicating which of the output ports O1 and O2 should be sent. .
The timing decoders 14A and 14B have counters 12A,
In response to each of the 12B count values, the control signal T1
1 to T13, M3, and M4, and activates the output queue control 18A or 18B and the selector control 24 '. The conflict control 22 checks whether there is a conflict between the outputs of the address decoders 16A and 16B. Therefore, selector control signals M1 and M2 are generated. In the conflict control, if there is a conflict between the two outputs, only one of them is sent to the selector control 24 in response. At the same time, an input control 20A or 20B signal provided for the other of the address decoders 16A and 16B is sent. The input / controls 20A and 20B generate a signal IA1 or IA2 for inhibiting transmission of a new packet and send it to the preceding switch.

【0023】出力キュー制御18A、18Bは、出力キ
ューQ3又はQ4を制御する信号T14,OCを生成す
るとともに、パケットスタート信号PSTR1又はPS
T2,パケット終了信号PEND1又はPEND2を、
出力キューQ3又はQ4によるパケットの送信開始およ
びパケットの送信終了に同期して生成し、これらの信号
を次段のスイッチに送出するものである。
The output queue controls 18A and 18B generate signals T14 and OC for controlling the output queue Q3 or Q4, and also generate packet start signals PSTR1 or PSTR.
T2, a packet end signal PEND1 or PEND2
It is generated in synchronization with the start of packet transmission and the end of packet transmission by the output queue Q3 or Q4, and sends these signals to the next-stage switch.

【0024】図12は、図8、図9の回路を用いて図1
1と異なるタイミング制御を行う場合のタイムチャート
を示している。この場合、図11の場合と同様、図8の
回路のスイッチS14′にはスイッチS00′から部分
アドレスA1,A2,部分データD1,D2が入力ポートI
1に順次送られる。スイッチS14′では第1のタイミ
ングで第1部分アドレスA1をレジスタL2に記憶する
とともに、次にデータを送出すべき出力ポートを決定す
る。続く第2のタイミングで、第1部分アドレスをレジ
スタL1に移動し、かつ、第2部分アドレスA2をレジ
スタL2をスルーさせて出力キューQ3に送る。図12
の実施例において、S14′でパケットの転送先を決め
るために処理(解釈)が必要な部分アドレスA1は第1
サブパケットに含まれており、第2サブパケットに含ま
れる部分アドレスA2はS14′で処理(解釈)を必要
としない。従って、上記の様に第2のタイミングでレジ
スタをスルーさせることが可能である。このときのスイ
ッチコントローラP2,セレクタS1,S2,S3,S
4の制御は図11の場合と類似の方法で実現できる。次
に第3、第4のタイミングでそれぞれ部分データD1
2を順次入力キューQ1に格納し、かつ、第3のタイ
ミングでA1、第4のタイミングでD1、第5のタイミン
グでD2をそれぞれ出力キューQ3に送る。これによっ
て、図12では、図11で必要だったS14′における
1T分の待ち時間を短縮する。図12では図11で9T
必要であった転送時間を8Tに短縮し、待ち時間のない
パイプライン動作が実現できる。
FIG. 12 is a circuit diagram of FIG. 1 using the circuits of FIGS.
3 shows a time chart when a timing control different from 1 is performed. In this case, as in the case of FIG. 11, the partial address A 1 , A 2 and the partial data D 1 , D 2 are input to the switch S14 ′ of the circuit of FIG.
1 sequentially. Stores the first partial address A 1 at the first timing in the switch S14 'in the register L2, then determines an output port to be sent the data. At a second timing following the first partial address to move to the register L1, and sends the second partial address A 2 to the output queue Q3 by through the register L2. FIG.
In embodiments, the partial address A 1 necessary processing (interpretation) is to determine the forwarding destination of the packet at S14 'first
Is included in the sub-packet, partial address A 2 in the second subpacket does not require processing (interpretation) in S14 '. Therefore, it is possible to pass through the register at the second timing as described above. At this time, the switch controller P2 and the selectors S1, S2, S3, S
The control of No. 4 can be realized by a method similar to the case of FIG. Next, at the third and fourth timings, the partial data D 1 ,
Stores sequentially input queues Q1 to D 2, and, A 1 at the third timing, D 1 at the fourth timing, sends D 2 to the output queue Q3, respectively in the fifth timing. Thereby, in FIG. 12, the waiting time for 1T in S14 'required in FIG. 11 is reduced. In FIG. 12, 9T in FIG.
The required transfer time is reduced to 8T, and a pipeline operation without waiting time can be realized.

【0025】なお、以上の説明では、簡単のため、上記
部分アドレスA1,A2、部分データD1,D2は一旦出力
キューQ3に順次記憶されるとしたが、初めから出力許
可信号OE1が出力許可状態にあるとき、出力キューQ
3をバイパス、又はスルーして直接、上記第3、第4、
第5、第6のタイミングで出力ポートO1に送出する構
成としても良いことは明らかである。また、部分アドレ
ス列、部分データ列が記憶される出力キューQ3,Q4
を出力ポートの前でなく、入力ポートの後に設けてもよ
く、また、その両方に設けても良いことは明らかであ
る。また、入力キューQ1,Q2出力キューQ3,Q4
はFIFOメモリであって良いが、RAMやレジスタフ
ァイルで構成しても良い。図2でレジスタL3とL4、
レジスタL1とL2は直列接続の構成としているが、セ
レクタを介して第1のサブパケットはレジスタL1(又
はL3)に、第2のサブパケットはレジスタL2(又は
L4)に格納する構成としてもよい。また、この場合、
レジスタL1〜L4は(データ語長が充分ある)RAM
はレジスタファイルの一部分を用いて構成しても良い。
In the above description, for the sake of simplicity, the partial addresses A 1 and A 2 and the partial data D 1 and D 2 are temporarily stored in the output queue Q3 once, but the output permission signal OE1 is initially stored. Is in the output permission state, the output queue Q
3 or 4 directly through the third, fourth,
Obviously, a configuration in which the signal is transmitted to the output port O1 at the fifth and sixth timings may be employed. Also, output queues Q3 and Q4 storing the partial address sequence and the partial data sequence
May be provided after the input port, not before the output port, or both. Also, input queues Q1, Q2 output queues Q3, Q4
May be a FIFO memory, but may be a RAM or a register file. In FIG. 2, registers L3 and L4,
The registers L1 and L2 are connected in series, but the first subpacket may be stored in the register L1 (or L3) and the second subpacket may be stored in the register L2 (or L4) via a selector. . Also, in this case,
Registers L1 to L4 are RAM (the data word length is sufficient)
May be configured using a part of the register file.

【0026】以上の説明から明らかな様に、本発明の効
果はネットワークが大規模で、スイッチの段数が増すほ
ど効果が大となる。これまでの説明でデータ転送路のデ
ータ幅を2ビット、転送先アドレスを4ビット、データ
を4ビットとしたが、転送先アドレスのビット数が、デ
ータ転送路のデータ幅よりも大きければ、任意の値の場
合に本発明が有効であることは明らかである。また、ス
イッチは2入力/2出力のものを用いて説明したが、ス
イッチの構成、ネットワークの構成によらず本発明が有
効であることも明らかである。
As is clear from the above description, the effect of the present invention becomes large as the network is large-scale and the number of switches increases. In the above description, the data width of the data transfer path is 2 bits, the transfer destination address is 4 bits, and the data is 4 bits. However, if the number of bits of the transfer destination address is larger than the data width of the data transfer path, It is clear that the present invention is effective when the value is. In addition, although the description has been given using a 2-input / 2-output switch, it is clear that the present invention is effective regardless of the switch configuration and the network configuration.

【0027】図14は本発明の他の実施例を示す図であ
り、PE11〜PE44はプロセッサであり、各々のプ
ロセッサを接続するデータ転送ネットワークは、スイッ
チEX11〜EX44とX部分ネットワークNX1〜N
X4とY部分ネットワークとから成る。データ転送ネッ
トワークにおいて転送されるパケットは、図4に示した
ものと同じである。但し、転送先部分アドレスA1,A2
はプロセッサPEijのX方向の添字i、Y方向の添字j
に等しく定める。すなわち、プロセッサPEijのアド
レスをXアドレスi、Yアドレスjの組にて表わす。
FIG. 14 is a diagram showing another embodiment of the present invention. PE11 to PE44 are processors, and the data transfer networks connecting the processors are switches EX11 to EX44 and X partial networks NX1 to NX.
It consists of X4 and Y partial networks. The packets transferred in the data transfer network are the same as those shown in FIG. However, transfer destination partial addresses A 1 and A 2
Is a subscript i in the X direction and a subscript j in the Y direction of the processor PE ij
Is set equal to That is, the address of the processor PEij is represented by a set of an X address i and a Y address j.

【0028】図14において、iが同じプロセッサPE
ij(j=1〜4,i=1,2,3,4)および、jが
同じプロセッサPEij(i=1〜4,j=1,2,
3,4)がそれぞれ一つのクラスタに属する。
In FIG. 14, i is the same processor PE
ij (j = 1 to 4, i = 1, 2, 3, 4) and the processor PEij (j = 1 to 4, j = 1, 2,
3, 4) belong to one cluster.

【0029】X部分ネットワークNXi(i=1,2,
3,4)は、iを共通にするクラスタ(Xクラスタと呼
ぶ)のプロセッサPEij(j=1〜4)を相互に結合
し、Y部分ネットワークNYj(j=1,2,3,4)
は、jを共通にするクラスタ(Yクラスタと呼ぶ)に属
するプロセッサPEij(i=1〜4)を相互に結合す
る。これら部分ネットワークNXi,NYjは、図9に
示されたような多段のスイッチにて構成されるネットワ
ークである。後に説明するように、そこに用いる多段ス
イッチの各々は部分アドレスの入れ替えをする必要がな
く、従って、図2のスイッチにて構成できる。スイッチ
EXij(i=1〜4,i=1〜4)は、X部分ネット
ワークNXiとY部分ネットワークNYjとプロセッサ
PEijを相互に結合する3入力/3出力ポートのスイ
ッチである。
An X partial network NXi (i = 1, 2, 2)
3, 4) mutually connect processors PEij (j = 1 to 4) of a cluster (called an X cluster) having a common i, and form a Y partial network NYj (j = 1, 2, 3, 4).
Connects processors PEij (i = 1 to 4) belonging to a cluster having the same j (called a Y cluster). These partial networks NXi and NYj are networks composed of multi-stage switches as shown in FIG. As will be described later, each of the multistage switches used therein does not need to exchange the partial addresses, and can therefore be constituted by the switches of FIG. The switch EXij (i = 1 to 4, i = 1 to 4) is a switch having three input ports and three output ports for mutually connecting the X partial network NXi, the Y partial network NYj, and the processor PEij.

【0030】例えば、部分ネットワークNX1には、プ
ロセッサPE11,PE12,PE13,PE14がそ
れぞれ、スイッチEX11,EX12,EX13,EX
14を介して接続され、NY1には、プロセッサPE1
1,PE21,PE31,PE41がそれぞれレスイッ
チEX11,EX21,EX31,EX41を介して接
続される。
For example, in the partial network NX1, processors PE11, PE12, PE13, and PE14 are provided with switches EX11, EX12, EX13, and EX, respectively.
14 and the processor PE1 is connected to NY1.
1, PE21, PE31, and PE41 are connected via re-switches EX11, EX21, EX31, and EX41, respectively.

【0031】スイッチEXijは図15に示すようにプ
ロセッサPEijとの入力ポートIPij、出力ポート
OPij、部分ネットワークNXiとの入力ポートIX
ij、出力ポートOXij、部分ネットワークNYjと
の入力ポートIYijと出力ポートOYijを有する。
The switch EXij has an input port IPij to the processor PEij, an output port OPij, and an input port IX to the partial network NXi as shown in FIG.
ij, an output port OXij, an input port IYij to the partial network NYj, and an output port OYij.

【0032】なお、スイッチEXijは、後述するよう
に、部分アドレスA1,A2の入れ替えをする必要がある
ため、例えば、図1のスイッチを3入力/3出力に変更
した図16のものを用いる。図16の各部分および、各
信号は図1の同じ英文字または英文字列で始まる符号を
持つ部分および信号と同様である。
Since the switches EXij need to exchange the partial addresses A 1 and A 2 as described later, for example, the switch EXij shown in FIG. 16 in which the switch of FIG. 1 is changed to 3 inputs / 3 outputs is used. Used. Each part and each signal in FIG. 16 are the same as the part and signal having a sign starting with the same English character or English character string in FIG.

【0033】本実施例において、プロセッサPEijと
プロセッサPEkl(1≦i,j,k,l≦4)の間の
データ転送は、後に詳述するように、PEij→EXi
j→NXi→EXil→NYl→EXkl→PEklま
たは、PEij→EXij→NYi→EXkj→NXk
→EXkl→PEklの2つの経路のいずれかを介して
行うことができる。
In the present embodiment, the data transfer between the processor PEij and the processor PEkl (1 ≦ i, j, k, l ≦ 4) is performed as described in detail later, by PEij → EXi
j → NXi → EXil → NYl → EXkl → PEkl or PEij → EXij → NYi → EXkj → NXk
→ EXkl → PEkl via one of two routes.

【0034】以下、図14のネットワークの動作を図1
7〜図19を参照して説明する。
The operation of the network shown in FIG.
This will be described with reference to FIGS.

【0035】あるプロセッサPEijからスイッチEX
ijが入力ポートIPijを介してプロセッサPEkl
宛のパケットを受信した(ステップ130)とする。
From a processor PEij to a switch EX
ij is connected to the processor PEkl via the input port IPij
It is assumed that a packet addressed to the destination is received (step 130).

【0036】このパケットの先頭にある第1,第2部分
アドレスA1,A2は今の場合宛先のプロセッサPEkl
のX方向アドレスk、Y方向アドレスlに等しい。
The first and second partial addresses A 1 and A 2 at the head of this packet are the destination processor PEkl in this case.
X-direction address k and Y-direction address l.

【0037】(1)さて、スイッチEXijは、図17
に示すように、このパケットが第1の条件A1(=k)
=自己のX方向アドレス(i)を満たすかを判定(ステ
ップ132)し、この条件が満たされると、(すなわ
ち、送信先プロセッサPEklと送信元プロセッサPE
ijとが同じXクラスに属する場合)、このパケットが
第2の条件A2=自己のX方向アドレス(j)を満すか
否かを判定(ステップ)134)し、この条件も満され
る場合(すなわち、送信元プロセッサPEijと送信先
プロセッサPEklとが同じ場合)、スイッチEXij
はその出力ポートOPijを介してこのパケットをプロ
セッサPEijに送る(ステップ163)。一方、ステ
ップ134における第2の条件の判定の結果、第2の条
件が満されなかった。場合(すなわち、送信先プロセッ
サPEklがプロセッサPEijと同じXクラスタに属
する他のプロセッサの場合)、部分アドレスA1,A2
入れかえ(ステップ138)、出力端OXijを介し
て、X部分ネットワークNXiに、このパケットを送出
する(ステップ140)。このアドレス入れかえによ
り、送信先プロセッPEklのY方向アドレスlがこの
パケットの先頭に位置する。この結果、X部分ネットワ
ークNXi(=NXk)の各スイッチは、このパケット
の最初のサブパケットが到着し次第、その先頭部分にあ
る部分部分アドレスA2に応答してスイッチングを開始
できる。部分ネットワークNXkはこのパケットをスイ
ッチEXklにそれの入力ポートIXklを介して送出
する。このスイッチEXklは、このパケットを受信す
る(ステップ)と、図18に示すように、そのパケット
の先頭のサブパケットにある部分アドレス(今の場合A
2(=l))がそのスイッチEXkl(=EXil)の
Y方向アドレスlと等しいから判定する(ステップ16
4)。今の場合、これらが等しいという条件が満される
のでスイッチEXklは、その出力ポートOPklを介
してプロセッサPEklにこのパケットを送る(ステッ
プ165)。
(1) By the way, the switch EXij is switched to the state shown in FIG.
As shown in the figure, this packet is the first condition A 1 (= k)
= It is determined whether or not its own X-direction address (i) is satisfied (step 132). If this condition is satisfied, (that is, the destination processor PEkl and the source processor PE
ij belong to the same X class), it is determined whether or not this packet satisfies the second condition A 2 = its own X-direction address (j) (step 134), and if this condition is also satisfied (Ie, when the source processor PEij and the destination processor PEkl are the same), the switch EXij
Sends this packet to its processor PEij via its output port OPij (step 163). On the other hand, as a result of the determination of the second condition in step 134, the second condition was not satisfied. In this case (that is, when the destination processor PEkl is another processor belonging to the same X cluster as the processor PEij), the partial addresses A 1 and A 2 are replaced (step 138), and the X partial network NXi is output via the output end OXij. This packet is transmitted (step 140). By this address exchange, the Y-direction address 1 of the destination processor PEkl is located at the head of this packet. As a result, each switch of the X moiety network NXi (= NXk), first subpacket arrives soon in this packet, it starts switching in response to the partial partial address A 2 in the head portion. The subnetwork NXk sends this packet to the switch EXkl via its input port IXkl. When this switch EXkl receives this packet (step), as shown in FIG. 18, the partial address (A in this case) in the first subpacket of the packet is received.
2 (= 1) is equal to the Y-direction address 1 of the switch EXkl (= EXil) (step 16).
4). In this case, because the condition that they are equal is satisfied, the switch EXkl sends the packet to the processor PEkl via its output port OPkl (step 165).

【0038】こうして、同じXクラスタ内にあるプロセ
ッサ間でパケット伝送が行なわれる。
In this way, packet transmission is performed between processors in the same X cluster.

【0039】(2)図17のステップ132でま第1条
件の判定の結果、第1条件が満たされないことが分かっ
た場合(すなわち、送信先プロセッサPEklと送信元
プロセッサPEijが同じXクラスタに属さない場
合)、第2の条件A2(=l)=自己のY方向アドレス
(j)か否かを判定する(ステップ142)。この判定
の結果、この条件が満された場合(すなわち、プロセッ
サPEklとPEijとは同じXクラスタに属さないが
同じYクラスタに属する場合、スイッチEXijは、こ
のパケットをY部分ネットワークNYjに、出力ポート
OYijを経由して送出する(ステップ144)。
(2) If the result of the determination of the first condition in step 132 of FIG. 17 indicates that the first condition is not satisfied (that is, the destination processor PEkl and the source processor PEij belong to the same X cluster) If not, it is determined whether or not the second condition A 2 (= 1) = self Y-direction address (j) (step 142). As a result of this determination, if this condition is satisfied (ie, if the processors PEkl and PEij do not belong to the same X cluster but belong to the same Y cluster), the switch EXij sends this packet to the Y partial network NYj and outputs the packet to the output port NYj. It is transmitted via OYij (step 144).

【0040】部分ネットワークNYjは、このパケット
の先頭にある部分アドレスA1(=k)と等しいXアド
レスをもつスイッチ(Ekj)にこのポケットを送る。
そのスイッチ(Ekj)では、図19に示すように、こ
のパケットを入力端IYkjより受信する(ステップ1
52)と、このパケットが第2部分アドレスA2=自己
のY方向アドレスと等しいかを判定する(ステップ15
4)。今の場合、この条件は満されるので、スイッチE
kjはそのパケットをそこにつながっているプロセッサ
(PEkj)に出力ポートOPkjを介して送る。こう
して、同じYクラスタに属する2つのプロセッサ間のパ
ケット転送ができる。
The partial network NYj sends this pocket to a switch (Ekj) having an X address equal to the partial address A 1 (= k) at the head of this packet.
The switch (Ekj) receives this packet from the input terminal IYkj as shown in FIG.
52), it is determined whether this packet is equal to the second partial address A 2 = the own Y-direction address (step 15).
4). In this case, since this condition is satisfied, the switch E
kj sends the packet to the connected processor (PEkj) via output port OPkj. Thus, packet transfer between the two processors belonging to the same Y cluster can be performed.

【0041】(3)また、図17のステップ142にお
ける判定の結果が否定的な場合、すなわち、送信先プロ
セッサPEklと送信元プロセッサPEijが同じXク
ラスタにも属さず、又同じYクラスタにも属さない場
合、これらの2つのプロセッサを結ぶ経路は2通りあ
る。すなわち、第1のルートX部分ネットワークにまず
パケットを転送するルートであり、具体的にはPEij
→EXij→NXi→EXil→NY1→EXkl→P
Eklである。このルートではYアドレスが先に決まる
ので以下このルートをY優先ルートとよぶ。第2のルー
トは、Y部分ネットワークにまず、バケットを転送する
ルートであり、具体的にはPEij→EXij→NYj
→EXkj→NXk→EXkl→PEklである。この
ルートではXアドレスが先に決まるので以下、これを優
先ルートと呼ぶ。
(3) If the result of the determination at step 142 in FIG. 17 is negative, that is, the destination processor PEkl and the source processor PEij do not belong to the same X cluster and also belong to the same Y cluster. If not, there are two paths connecting these two processors. That is, it is the route that first forwards the packet to the first route X subnetwork, specifically, PEij
→ EXij → NXi → EXil → NY1 → EXkl → P
Ekl. In this route, since the Y address is determined first, this route is hereinafter referred to as a Y priority route. The second route is a route for transferring a bucket to the Y partial network first, and specifically, PEij → EXij → NYj
→ EXkj → NXk → EXkl → PEkl. In this route, since the X address is determined first, this is hereinafter referred to as a priority route.

【0042】ステップ146ではこれら2つのルートの
いずれかを選択する。
In step 146, one of these two routes is selected.

【0043】この選択はあらかじめ各スイッチEXij
ごとに定めておいてもよい。この場合、ステップ146
は省略される。また、ネットワークの各部分ネットワー
クを通りパケットの量(負荷)を計測し、この負荷が出
来るだけ均一になるように動的に上記の選択をかえても
よい。
This selection is made in advance by each switch EXij
It may be set for each case. In this case, step 146
Is omitted. Alternatively, the amount (load) of packets passing through each partial network of the network may be measured, and the above selection may be dynamically changed so that the load becomes as uniform as possible.

【0044】ステップ146でX優先ルートが選ばれた
場合、ステッチEXijはパケットを出力ポートOYi
jを介して部分ネットワークNYjに送出する(ステッ
プ144)。このパケットを受けて、この部分ネットワ
ークNYjは、そのパケットの先頭にある部分アドレス
1(=k)に等しいXアドレスをもつスイッチEkj
の入力ポートIYkjを介して送出する。このスイッチ
では、図19に示すように、これを受信する(ステップ
152)と、このパケットの第2部分アドレスA2(=
l)=自己のYアドレス(=j)が満されるか否かを判
定する(ステップ154)。今の場合、j≠lと仮定し
ているのでこの判定の結果は否定的となる。このスイッ
チEkjはこのパケットの部分アドレスA1,A2を入れ
か、部分アドレスA2を先頭に移す(ステップ15
8)。その後、このパケットをX部分ネットワークNX
kに、出力ポートOXjkを介して送出する。
If the X priority route is selected in step 146, the stitch EXij sends the packet to the output port OYi.
The packet is sent to the partial network NYj via j (step 144). In response to the packet, the partial network NYj switches the switch Ekj having an X address equal to the partial address A 1 (= k) at the head of the packet.
Via the input port IYkj. As shown in FIG. 19, when this switch receives this (step 152), the second partial address A 2 (=
1) = It is determined whether or not its own Y address (= j) is satisfied (step 154). In this case, since j ≠ l is assumed, the result of this determination is negative. The switch Ekj enters the partial addresses A 1 and A 2 of this packet or moves the partial address A 2 to the head (step 15).
8). Then, the packet is transferred to the X partial network NX.
k via the output port OXjk.

【0045】この部分ネットワークNXkの中の各スイ
ッチは、このパケットの先頭にある部分アドレスA2
到着次第それに応答できる。そうして、この部分ネット
ワークは部分アドレスA2(=l)に等しいY方向アド
レスをもつスイッチEklにこのパケットを送出する。
Each switch in the partial network NXk can respond to the partial address A 2 at the head of the packet as soon as it arrives. The sub-network then sends this packet to the switch Ekl with the Y-direction address equal to the sub-address A 2 (= 1).

【0046】このスイッチEklは、入力ポートIXk
lを介してこのパケットを受信する(ステップ162、
図18)と、このパケットの第1部分アドレスA1自己
のX方向アドレス(=k)に等しいかを判定する。今の
場合、この判定結果は肯定的であるので、このパケット
をスイッチEklはプロセッサPEklに送出する。こ
うして、同じクラスタに属さない2つのプロセッサ間の
パケット転送がX優先ルートによりなされる。
This switch Ekl is connected to the input port IXk
This packet is received via l (step 162,
Determines that Figure 18), or equal to the first partial address A 1 own X-direction address of this packet (= k). In this case, since the determination result is affirmative, the switch Ekl sends the packet to the processor PEkl. In this way, packet transfer between two processors that do not belong to the same cluster is performed by the X priority route.

【0047】なお、ステップ146(図17)で、Y優
先ルートが選ばれた場合、スイッチEXijは、パケッ
ト中の部分アドレスA1,A2を入れかえA2を先頭に移
す(ステップ138)。その後、このパケットをX部分
ネットワークNXiに送出する(ステップ140)。こ
の部分ネットワークNXiはこのパケットを、この部分
アドレスA2(=l)に等しいYアドレスをもつスイッ
チEXilにこのパケットを送出する。
If the Y priority route is selected in step 146 (FIG. 17), the switch EXij replaces the partial addresses A 1 and A 2 in the packet and moves A 2 to the top (step 138). Thereafter, the packet is transmitted to the X partial network NXi (step 140). The partial network NXi sends the packet to the switch EXil having a Y address equal to the partial address A 2 (= 1).

【0048】このスイッチEXilでは図18に示す
と、このバケット受信(ステップ162)した後、A1
(=k)=自己のX方向アドレス(=i)と等しいかを
判定する(ステップ164)。今の場合、この判定結果
は否定的となり、このスイッチは部分アドレスA2,A1
を入れかえ、A1をパケットの先頭に移し(ステップ1
68)、再びこのパケットをY部分ネットワークNYl
に転送する(ステップ170)。この部分ネットワーク
NYlにより、このパケットはこのパケットの第1部分
アドレスA1(=k)に等しいX方向アドレスをもって
スイッチEklにこのパケットを転送する。このスイッ
チEklでは図19のステップ152,154,156
によりこのパケットをそこに接続されたプロセッサPE
klに送出する。こうして、同じクラスタに属さない2
つのプロセッサ間でパケットがY優先ルートによりなさ
れる。
In this switch EXil, as shown in FIG. 18, after receiving the bucket (step 162), A 1
It is determined whether (= k) = it is equal to its own X-direction address (= i) (step 164). In this case, the result of this determination is negative, and the switches are set to the partial addresses A 2 , A 1
The interchanged, transferred to A 1 to the beginning of the packet (Step 1
68) again, this packet is
(Step 170). By means of this partial network NYl, this packet forwards this packet to the switch Ekl with an X-direction address equal to the first partial address A 1 (= k) of this packet. In this switch Ekl, steps 152, 154, and 156 in FIG.
By means of the processor PE connected thereto.
kl. Thus, 2 which does not belong to the same cluster
Packets are routed between the two processors by the Y priority route.

【0049】本実施例のようなネットワークの利点は、
各部分ネットワークの規模が小さくなることにより、実
装が容易となる点にある。そして、上記の様にプロセッ
サがクラスタ化されているため、部分ネットワークNY
jの中では転送先アドレスのうち第1部分アドレスA1
のみ、NXiの中では第2部分アドレスA2のみが必要
となる。本実施例では、スイッチEXij中にA1,A2
の入れ替え手段を有するため、各部分ネットワークNX
i、NXj中で必要な部分アドレスが常に第1サブパケ
ットにあるので、部分ネットワーク中のそれぞれのスイ
ッチは部分アドレスの全ての到着を待つ必要はなく、高
速なデータ転送が可能となる。
The advantages of the network according to the present embodiment are as follows.
The point is that mounting becomes easy by reducing the scale of each partial network. Since the processors are clustered as described above, the partial network NY
j, the first partial address A 1 of the transfer destination addresses
Only, only the second partial address A 2 becomes necessary in NXi. In this embodiment, A 1 and A 2 are provided in the switch EXij.
Of each partial network NX
Since the necessary partial addresses in i and NXj are always present in the first subpacket, each switch in the partial network does not need to wait for all of the partial addresses to arrive, thereby enabling high-speed data transfer.

【0050】図14のネットワークの動作時、次のよう
にかえると更に高速化される。
In the operation of the network shown in FIG. 14, the speed is further increased by changing as follows.

【0051】すなわち、図18においては、m,nを整
数としてそれぞれのスイッチ(EXmn)がX部分ネッ
トワークNXmからパケットを受信したときの判定16
4は、ネットワークNXmから部分アドレスA1の到着
をまって行う必要がある。しかし、すでに述べたよう
に、ネットワークNXnでは、パケットは部分アドレス
2をその先頭に有する。したがって、上記判定164
は部分ネットワークNXmから2つ目のサブパケットが
スイッチEXmnに到着するのをまって始めて可能にな
る。同じ問題は図19の判定154についても生じる。
これらの問題は部分ネットワークNXm、NYn等を以
下のように変更することにより改良される。
That is, in FIG. 18, when each of the switches (EXmn) receives a packet from the X partial network NXm, where m and n are integers, a determination 16 is made.
4, it is necessary to perform the network NXm waiting for the arrival of the partial address A 1. However, as already mentioned, the network NXN, packets carry partial address A 2 at the head. Therefore, the above determination 164
Becomes possible only after the second subpacket from the partial network NXm arrives at the switch EXmn. The same problem occurs for decision 154 in FIG.
These problems can be improved by changing the partial networks NXm, NYn, etc. as follows.

【0052】すなわち、部分ネットワークNXm又はN
Yn等をそれぞれ図20,図21のステップ180A、
180Bとして、示すように、それぞれからパケットを
あるスイッチEXmnに出力する際、そのスイッチに最
も近い部分ネットワーク内スイッチにおいて、パケット
中の部分アドレスA1,A2を入れかえるように構成す
る。これは、図12において説明した方法と同様に実現
できる。
That is, the partial network NXm or N
Yn and the like are respectively represented by Step 180A in FIGS.
As shown in FIG. 18B, when each packet is output to a certain switch EXmn, the partial addresses A 1 and A 2 in the packet are switched in the switch in the partial network closest to the switch. This can be realized in the same manner as the method described with reference to FIG.

【0053】これらの結果X部分ネットワークからNX
mかはパケットに受信したスイッチEXnmの動作は、
図22に示すようになる。図において図18と同じ参照
番号は同じ処理をさす。この図から分かるようにこの改
良された動作では、スイッチEXmnは、部分アドレス
1についての判定処理144を行うのは図18の場合
と同じであるが、すでに述べた改良によりX部分ネット
ワークNXmから送られるパケットの先頭にこの部分ア
ドレスA1が含まれているので、この判定処理144は
この部分アドレスA1が到着し次第開始できる。また、
X部分ネットワークNXmがパケット出力時にアドレス
を入れかえた結果、図18で必要としたアドレス入れか
え図22においては必要としない。
From these results, the NX
The operation of the switch EXnm received in the packet is
As shown in FIG. In the figure, the same reference numerals as those in FIG. 18 denote the same processes. This improved operation as can be seen from this figure, switch EXmn is performed the determination process 144 for partial address A 1 is the same as in FIG. 18, the X moiety network NXm improvements already mentioned since this partial address a 1 top of the packet to be sent is included, the determination processing 144 can be initiated as soon as the arrival of the partial address a 1. Also,
As a result of the X part network NXm changing the address when outputting the packet, the address change required in FIG. 18 is not required in FIG.

【0054】同様にY部分ネットワークNYmからパケ
ットを受信したときのスイッチExmnの動作は、図2
3のようになる。図において図19を同じ参照番号は同
じものをさす。この場合も、図22と図18についての
比較がそのままあてはまる。
Similarly, the operation of the switch Exmn when receiving a packet from the Y partial network NYm is described in FIG.
It looks like 3. In the figure, the same reference numerals in FIG. 19 denote the same parts. Also in this case, the comparison between FIG. 22 and FIG. 18 is directly applicable.

【0055】なお上記の説明で、A1,A2は2ビット、
dは2ビットとしたが、これが任意のビット数であって
も本発明の効果に変わりはない。また、転送先アドレス
を3分割とし、X,Y方向の他にZ方向の様な部分ネッ
トワークを設け、EXijをEXijkの様に4入力ポ
ート/4出力ポートとする、という様に、転送先アドレ
スの分割数を増して良いことも明らかである。
In the above description, A 1 and A 2 are 2 bits,
Although d is 2 bits, the effect of the present invention does not change even if this is an arbitrary number of bits. Further, the transfer destination address is divided into three, a partial network is provided in the Z direction in addition to the X and Y directions, and the EXij is made into 4 input ports / 4 output ports like EXijk. It is also clear that the number of divisions of can be increased.

【0056】図24はそのようなデータ転送ネットワー
クの実施例を示す。図において、NX11,NX12、NX
14、N44等はX方向の部分転送ネットワーク7.1を表
わし、NY11,NY12,NY14、NY44等はY方向の部
分転送ネットワークを表わし、これらは図14と同じも
のである本実施例ではZ方向の部分ネットワークN
11、NZ21、NZ41,NZ14…NZ44等が設けられて
いる。
FIG. 24 shows an embodiment of such a data transfer network. In the figure, NX 11 , NX 12 , NX
14 , N 44, etc. represent partial transfer networks 7.1 in the X direction, NY 11 , NY 12 , NY 14 , NY 44 etc. represent partial transfer networks in the Y direction, which are the same as those in FIG. In the embodiment, the partial network N in the Z direction is used.
Z 11, NZ 21, NZ 41 , NZ 14 ... NZ 44 and the like.

【0057】これら3つの部分ネットワークの交叉点に
スイッチEX111、E141、EX411、EX444等およびプ
ロセッサPE111、PE141、PE411、PE444が設けら
れている。
The switches EX 111 , E 141 , EX 411 , EX 444 and the like and the processors PE 111 , PE 141 , PE 411 , PE 444 are provided at the intersections of these three partial networks.

【0058】図では簡単化のために各部分ネットワーク
を直線で表わし、かつ、スイッチ、プロセッサは一部の
み表わし、かつ、スイッチ、プロセッサは一部のみ表わ
している。
In the figure, for the sake of simplicity, each partial network is represented by a straight line, switches and processors are only partially illustrated, and switches and processors are partially illustrated.

【0059】スイッチEX111は、X方向部分ネットワ
ークNX11、Y方向部分ネットワークNY11、Z方向部
分ネットワークNZ11およびプロセッサPE111のそれ
ぞれに対して入力ポートと出力ポートで接続されてい
る。
[0059] Switch EX 111 is connected at the input and output ports for each of the X-direction partial network NX 11, Y-direction partial network NY 11, Z-direction partial network NZ 11 and processor PE1 11.

【0060】他のプロセッサについても同じである。The same applies to other processors.

【0061】あるプロセッサから他のプロセッサにパケ
ットを転送する場合、パケット内の転送先アドレスをA
1、A2、A3の部分から構成する。それぞれはパケット
送信先のプロセッサをPijkとするとき、それぞれの
X,Y,Z方向座標i,j,kに等しい。
When a packet is transferred from one processor to another processor, the transfer destination address in the packet is set to A
1 , A 2 , and A 3 . Assuming that the packet destination processor is Pijk, each is equal to the respective X, Y, Z direction coordinates i, j, k.

【0062】今、例えば、プロセッサPE111からPE
444にパケットを送出する場合、パケット転送ルートは
いくつかある。たとえば、PE111→EX111→NX11
EX411→NY14→EX441→NZ44→EX444→PE444
はその一つである。
Now, for example, the processors PE 111 to PE
When sending a packet to 444, there are several packet transfer routes. For example, PE 111 → EX 111 → NX 11
EX 411 → NY 14 → EX 441 → NZ 44 → EX 444 → PE 444
Is one of them.

【0063】このルートにしたがってパケットを転送す
る場合の動作は以下のとおりである。
The operation for transferring a packet according to this route is as follows.

【0064】スイッチEX111がこのパケットを部分ネ
ットワークNX11に送出する場合、スイッチEX111
図17の場合と同様に、部分アドレスA1,A2,A3
入れかえることなく、転送する。部分ネットワークNX
11はこのパケットを、アドレスA1に等しいX座標をも
つスイッチEX411に送出する。スイッチEX411はこの
パケット内の部分アドレスA2,A3,A1の内のA2が自
己のY座標と異なるので、Y方向部分ネットワークNY
14に送出する。その際パケット内のアドレスをA2
3、A1の順に入れかえる。このネットワークはパケッ
トをアドレスA2に等しいY座標をもつスイッチEX441
に送出する。
[0064] When the switch EX 111 sends out the packet to the partial network NX 11, switch EX 111 is similar to the case of FIG. 17, partial address A 1, A 2, A 3 without replacing the transfers. Partial network NX
11 this packet, and sends to the switch EX 411 with the X coordinate equal to the address A 1. Since the switch EX 411 is A 2 of the partial address in the packet A 2, A 3, A 1 is different from the self-Y coordinate, Y-direction partial network NY
Send to 14 . At that time, the address in the packet is A 2 ,
Replace A 3 and A 1 in that order. Switch EX 441 this network with equal Y coordinate a packet to the address A 2
To send to.

【0065】スイッチEX441では、この中の部分アド
レスA3が自己のZ座標と異なるので、このパケットを
Z方向部分ネットワークNZ44に送出する。その際、ア
ドレスをA3、A1、A2の順に入れかえる。このネット
ワークはこのパケットをアドレスA3に等しいZ座標を
もつEX44に送出する。これを受けたスイッチEX444
はこのパケットをプロセッサPE444に送出する。
The switch EX 441 sends this packet to the Z-direction partial network NZ 44 because the partial address A 3 in it is different from its own Z coordinate. At this time, the addresses are changed in the order of A 3 , A 1 , and A 2 . The network sends the packet to the EX 44 with equal Z coordinate address A 3. Switch EX 444 which received this
Sends this packet to the processor PE 444 .

【0066】このように本実施例では、図14の場合よ
りも多くのプロセッサがある場合に、それらの間のデー
タ転送を行うことができる。かつ、上述のようなアドレ
ス入れかえを各スイッチEXが行うので部分ネットワー
クが到着したパケットの先頭の部分アドレスに応答して
スイッチできる。
As described above, in this embodiment, when there are more processors than in the case of FIG. 14, data transfer between them can be performed. In addition, since each switch EX performs the above-described switching of the addresses, the switches can be switched in response to the leading partial address of the packet that has arrived at the partial network.

【0067】なお、図22、図23で示したように、ス
イッチ時EX411、EX441でのアドレスの入れかえにか
え、部分ネットワークNX11、NY14、NZ44が、パケ
ット出力時に3アドレス入れかえをする方がより高速な
動作が処理できる。
As shown in FIGS. 22 and 23, the addresses are switched in the EX 411 and EX 441 at the time of switching, and the partial networks NX 11 , NY 14 and NZ 44 change three addresses at the time of packet output. A higher speed operation can be processed.

【0068】図25は本発明の実施例である。PEはプ
ロセッサ、EXはスイッチであり、図に示す如く、プロ
セッサPE100と同様な複数のプロセッサの各々に対
して、スイッチEX100と同様な1個のスイッチが設
けられ、かつ各々のスイッチEXは互いに4近傍のスイ
ッチに入力ポート、出力ポートにより接続されて、網状
のデータ転送ネットワークを構成している。また、図2
6に示すように、スイッチEX100はプロセッサPE
100との間の入力/出力ポートIP100/OP10
0、また4近傍スイッチとの間の入力/出力ポート、I
N100/ON100、IW100/OW100、IS
100/OS100、IE100/OE100を有して
いる。本実施例でも、これまで述べたと同様、プロセッ
サ間を転送されるパケットは、図28の様に、データ転
送路のビット幅dごとに分割されたサブパケットの例か
ら成るパケットとして授受される。本実施例が他の実施
例と異なるのは、上記パケット中の転送先アドレスがd
−1ビット以下のビット数となる様に2分割され、分割
された転送先アドレスの上位の部分をグローバル・アド
レスAG、下位の部分をローカル・アドレスALとして
用いるとともに、AG,ALがそれぞれ上記のサブパケ
ットに格納され、かつ、先頭のサブパケットには、それ
が格納している分割アドレスがAGかALかを示すフラ
グビットLを設けた点である。これで簡単のため、d=
4とし、AG,ALがそれぞれ3ビットとする。図27
に示す様に、AG,AL合計6ビットで表わされる64
個のプロセッサが同図25の様にスイッチで結合されて
おり、かつ、プロセッサは図27の様に、同じグローバ
ル・アドレスを持つもの8個ずつクラスタ化されてい
る。本実施例では、各々のスイッチは、例えば図9、図
16と同様なスイッチを5入力ポート/出力ポートの構
成とした、図30に示す構成を用いることができる。図
30の各部の動作、及び符号の意味は図9の同じ英文字
(列)で始まる符号を持つ各部と同様である。図30の
構成では図9の構成と異なるのは、分割アドレス記憶用
レジスタL12,L22とセレクタS31の間に、上記
フラグビットLのセット回路X21を設けたことであ
る。X21はスイッチコントローラP21からのセット
信号XC21により上記フラグビットLをセットする。
以下スイッチの動作につき述べる。なお、図30で、R
22〜R25で示される部分は、R21で示される部分
と同様の構成であり、簡単なため省略して示してある。
各プロセッサでは、データを始めて送出する際にAGを
先頭サブパケットに入れ、かつ、Lビットを0とする。
各スイッチにおける処理の手順を図29に示す。本実施
例では、Lビットが設けられているため、各スイッチは
L=0である間はローカルアドレスALを参照する必要
がなく、従って、上記の様に分割された転送先アドレス
を含む全てのサブパケットの到着を待つことなく、パケ
ットを送出すべき次段のスイッチを確定することができ
る。パケットが次々と転送されて、目標のプロセッサと
同じグローバルアドレスを持クラスタ中のスイッチに入
ると、該スイッチでは、ローカルアドレスALを含むサ
ブパケットの到着を待ち、図9の場合と同様にALとA
Gを入れ替えて、ローカルアドレスが第1サブパケット
に入るようにするとともに、L=1として次段に送出す
る。以降のスイッチでは、今度はグローバルアドレスを
含む第2サブパケットの到着を待つことなく、パケット
を送出すべき次段のスイッチを確定することができる。
FIG. 25 shows an embodiment of the present invention. PE is a processor, and EX is a switch. As shown in the figure, one switch similar to the switch EX100 is provided for each of a plurality of processors similar to the processor PE100, and each switch EX An input port and an output port are connected to a nearby switch to form a net-like data transfer network. FIG.
As shown in FIG. 6, the switch EX100 is connected to the processor PE.
100 input / output ports IP100 / OP10
Input / output port between 0, and 4 neighbor switches, I
N100 / ON100, IW100 / OW100, IS
100 / OS100 and IE100 / OE100. In this embodiment, as described above, packets transferred between processors are exchanged as packets composed of examples of subpackets divided for each bit width d of the data transfer path as shown in FIG. This embodiment is different from the other embodiments in that the transfer destination address in the packet is d.
The upper part of the divided transfer destination address is used as a global address AG and the lower part is used as a local address AL. It is stored in a sub-packet, and the first sub-packet is provided with a flag bit L indicating whether the division address stored therein is AG or AL. For simplicity, d =
4, and AG and AL each have 3 bits. FIG.
As shown in FIG.
The processors are connected by switches as shown in FIG. 25, and the processors are clustered by eight having the same global address as shown in FIG. In this embodiment, each switch can use the configuration shown in FIG. 30 in which, for example, a switch similar to that shown in FIGS. 9 and 16 has a configuration of 5 input ports / output ports. The operation of each unit in FIG. 30 and the meaning of the reference numerals are the same as those in FIG. 9 having the reference signs starting with the same English characters (strings). The configuration of FIG. 30 differs from the configuration of FIG. 9 in that the set circuit X21 of the flag bit L is provided between the divided address storage registers L12 and L22 and the selector S31. X21 sets the flag bit L according to a set signal XC21 from the switch controller P21.
The operation of the switch will be described below. In FIG. 30, R
Portions indicated by 22 to R25 have the same configuration as the portion indicated by R21, and are omitted for simplicity.
In each processor, when data is transmitted for the first time, AG is included in the first subpacket, and the L bit is set to 0.
FIG. 29 shows the processing procedure in each switch. In this embodiment, since the L bit is provided, each switch does not need to refer to the local address AL while L = 0, and therefore, all switches including the transfer destination address divided as described above are included. The next-stage switch to which the packet should be sent can be determined without waiting for the arrival of the subpacket. When packets are successively transferred and enter a switch in the cluster having the same global address as the target processor, the switch waits for the arrival of a subpacket including the local address AL, and as in FIG. A
G is exchanged so that the local address is included in the first subpacket, and L = 1 is transmitted to the next stage. Subsequent switches can determine the next switch to which the packet should be sent without waiting for the arrival of the second subpacket including the global address.

【0069】図27で各プロセッサは、図示の様なアド
レスを持つと、AG=000,AL=110のプロセッ
サNSから、AG=110,AL=110のプロセッサ
NRへパケットを送る場合を考える。ここで、各々のス
イッチには隣接のプロセッサのローカルアドレスと、隣
接のクラスタのグローバルアドレスが、自己のアドレス
とともに記憶されており、L=0の間はグローバルアド
レスAGと自己のグローバルアドレスを比較し、異なる
場合は、AGと隣接クラスタのグローバルアドレスを比
較して転送方向、出力ポートを決定する。最も単純に
は、グローバルアドレスの差が最も小さくなる方向に送
出すれば良い。このアルゴリズムに従うと、パケットは
図27の様な経路をたどり、NXで示された位置(AG
=110,AL=000)のスイッチに至る。ここでN
Xのスイッチは図9のスイッチの場合と同様にALとA
Gを入れ替え、L=1として次段に送出する。以降は、
ローカルアドレスを隣接プロセッサのローカルアドレス
と比較し、上記と同様のアルゴリズムにより、転送方
向、出力ポートを決定していくことができる。本実施例
で各段のスイッチのうち、AGとALを含んだ2つのサ
ブパケットの到着を待つ必要があるのはNXのスイッチ
のみであり、その他のスイッチでは、転送先アドレスの
到着待ちの時間は、本発明を使わない場合の半分で済
み、特にプロセッサの台数が大きいとき、効果が非常に
大きい。
In FIG. 27, when each processor has an address as shown in the figure, a case is considered where a packet is sent from the processor NS of A G = 000, AL = 110 to the processor NR of A G = 110, AL = 110. . Here, each switch stores the local address of the adjacent processor and the global address of the adjacent cluster together with its own address, and compares the global address AG with its own global address while L = 0. If different, the transfer direction and output port are determined by comparing AG with the global address of the adjacent cluster. In the simplest case, the transmission may be performed in a direction in which the difference between the global addresses is minimized. According to this algorithm, the packet follows the route as shown in FIG. 27, and the position indicated by NX (A G
= 110, AL = 000). Where N
The switch of X is AL and A in the same manner as the switch of FIG.
G is exchanged, and L = 1 is transmitted to the next stage. Later,
The local address is compared with the local address of the adjacent processor, and the transfer direction and the output port can be determined by the same algorithm as described above. In this embodiment, of the switches in each stage, only the NX switch needs to wait for the arrival of two subpackets including A G and AL, and the other switches wait for the arrival of the transfer destination address. The time is half that of the case where the present invention is not used, and the effect is extremely large especially when the number of processors is large.

【0070】上記の説明でAG,ALは各々3ビットと
したが任意のビット数でも本発明の効果に変わりはな
い。
In the above description, A G and AL each have 3 bits. However, the effect of the present invention does not change even if the number of bits is arbitrary.

【0071】また、転送先アドレスは2分割としたが、
分割数を増すとともに、上記Lなるビットをこれに応じ
て複数ビットとしても、本発明の効果に変わりはない。
さらに、データ転送ネットワークのスイッチは4近傍と
接続されているとしたが、任意の個数と接続それていて
も本発明の効果に変わりはない。
Although the transfer destination address is divided into two,
Even if the number of divisions is increased and the L bits are changed to a plurality of bits, the effect of the present invention remains unchanged.
Further, although the switches of the data transfer network are connected to the vicinity of four, even if the switches are connected to an arbitrary number, the effect of the present invention does not change.

【0072】これまでの実施例の説明では、データパケ
ットの行先は、始めの2つ以上のサブパケットに含まれ
る転送先アドレスによって示されるとしてきたが、これ
と等価な、転送先アドレスを示すためのタグ情報であっ
ても良いことは明らかである。この様なタグ情報として
は、例えば、発信プロセッサのアドレスと転送先アドレ
スのExclusive Orをとったもの、等を用いることができ
る。
In the above description of the embodiment, the destination of the data packet is indicated by the transfer destination address contained in the first two or more subpackets. It is clear that the tag information may be used. As such tag information, it is possible to use, for example, an exclusive OR of an address of a transmission processor and a transfer destination address.

【0073】[0073]

【発明の効果】以上本発明によれば、データ転送ネット
ワークの、多段に構成された複数のスイッチの各々の段
で、転送先アドレスを含む複数のサブパケット全ての到
着を待つ必要がないので、高速なデータ転送が可能にな
る。
As described above, according to the present invention, it is not necessary to wait for the arrival of all of the plurality of subpackets including the transfer destination address at each stage of the plurality of switches configured in the multistage in the data transfer network. High-speed data transfer becomes possible.

【0074】また、本発明のデータ転送ネットワークで
は、スイッチ自体が転送経路を選択するので、効率の良
いデータ転送が可能となる。
Further, in the data transfer network of the present invention, the switch itself selects the transfer path, so that efficient data transfer is possible.

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

【図1】図8の装置の第2段のスイッチ(S14’等)
の概略構成図。
FIG. 1 is a second-stage switch (eg, S14 ′) of the device of FIG.
FIG.

【図2】図8の装置の第1、第3又は第4段のスイッチ
(S00’,S24’orS35’)の概略構成図。
FIG. 2 is a schematic configuration diagram of first, third or fourth stage switches (S00 ′, S24 ′ or S35 ′) of the device of FIG. 8;

【図3】本発明によるデータ転送Networkが適用それる
並列計算機システムのブロックを示す図。
FIG. 3 is a diagram showing blocks of a parallel computer system to which a data transfer network according to the present invention is applied.

【図4】本発明のパケットの構造を示す図。FIG. 4 is a diagram showing the structure of a packet according to the present invention.

【図5】本発明と比較するための低速のデータ転送ネッ
トワークの概略構成図。
FIG. 5 is a schematic configuration diagram of a low-speed data transfer network for comparison with the present invention.

【図6】図3のネットワークのスイッチ(Sij)の概
略構成図。
FIG. 6 is a schematic configuration diagram of a switch (Sij) of the network in FIG. 3;

【図7】図3のネットワークのスイッチの動作を説明す
るための図。
FIG. 7 is a diagram for explaining the operation of a switch of the network in FIG. 3;

【図8】図3のネットワークの動作のタイムチャート。FIG. 8 is a time chart of the operation of the network of FIG. 3;

【図9】本発明によるデータ転送ネットワークの概略構
成図。
FIG. 9 is a schematic configuration diagram of a data transfer network according to the present invention.

【図10】図8の装置のスイッチの動作を説明するため
の図。
FIG. 10 is a diagram for explaining the operation of the switch of the device in FIG. 8;

【図11】図8の装置の動作の1例のタイムチャート。FIG. 11 is a time chart showing an example of the operation of the device shown in FIG. 8;

【図12】図8の装置の動作の他の例のタイムチャー
ト。
FIG. 12 is a time chart of another example of the operation of the device in FIG. 8;

【図13】図9のスイッチに用いるスイッチコントロー
ラ(P2)の概略構成図。
FIG. 13 is a schematic configuration diagram of a switch controller (P2) used for the switch of FIG. 9;

【図14】部分ネットワークを用いた、本発明によるデ
ータ転送ネットワークの他の実施例。
FIG. 14 shows another embodiment of the data transfer network according to the present invention using a partial network.

【図15】部分ネットワークを用いた、本発明によるデ
ータ転送ネットワークの他の実施例。
FIG. 15 shows another embodiment of the data transfer network according to the present invention using a partial network.

【図16】図14、図15の装置に用いるスイッチ(E
Xij)の概略構成図。
FIG. 16 shows a switch (E) used in the devices shown in FIGS. 14 and 15;
The schematic block diagram of Xij).

【図17】図16のスイッチ(EXij)が、パケット
をプロセッサから受信したときの動作のフローチャー
ト。
FIG. 17 is a flowchart of the operation when the switch (EXij) in FIG. 16 receives a packet from a processor.

【図18】図16の装置に用いるスイッチ(EXij)
がパケットを部分ネットワークNYから受信したときの
動作のフローチャート。
FIG. 18 shows a switch (EXij) used in the apparatus shown in FIG.
9 is a flowchart of an operation performed when a packet is received from a partial network NY.

【図19】図16の装置に用いるスイッチ(EXij)
がパケットを部分ネットワークNXから受信したときの
動作のフローチャート。
FIG. 19 shows a switch (EXij) used in the apparatus shown in FIG.
9 is a flowchart of an operation performed when a packet is received from a partial network NX.

【図20】図16の装置のX方向部分ネットワーク(N
Xj)の改良された動作のフローチャート。
FIG. 20 shows an X-direction partial network (N
The flowchart of the improved operation of Xj).

【図21】図16の装置のY方向部分ネットワーク(N
Yi)の改良された動作のフローチャート。
FIG. 21 shows a Y-direction partial network (N
10 is a flowchart of the improved operation of Yi).

【図22】図16の装置のスイッチ(EXij)がY方
向部分ネットワーク(NYi)からパケットを受信した
ときの改良された動作のフローチャート。
FIG. 22 is a flowchart of the improved operation when the switch (EXij) of the apparatus of FIG. 16 receives a packet from the Y-direction subnetwork (NYi).

【図23】図16の装置のスイッチ(EXij)がX方
向部分ネットワーク(NXj)からパケットを受信した
ときの改良された動作のフローチャート。
FIG. 23 is a flow chart of the improved operation when the switch (EXij) of the device of FIG. 16 receives a packet from the X-directional subnetwork (NXj).

【図24】3次元の、部分ネットワークを用いたデータ
転送ネットワークの実施例。
FIG. 24 is an embodiment of a data transfer network using a three-dimensional partial network.

【図25】格子結合のネットワークを用いた本発明の他
の実施例。
FIG. 25 shows another embodiment of the present invention using a lattice-coupled network.

【図26】図25のスイッチ(EX100)の入出力ポ
ートを示す図。
FIG. 26 is a diagram showing input / output ports of the switch (EX100) in FIG. 25.

【図27】図25の装置におけるデータ転送ルートを示
す図。
FIG. 27 is a diagram showing a data transfer route in the device of FIG. 25;

【図28】図25の装置に用いるパケットを示す図。FIG. 28 is a diagram showing a packet used in the device of FIG. 25;

【図29】図25の装置のスイッチ(EX)の動作のフ
ローチャート。
FIG. 29 is a flowchart showing the operation of a switch (EX) of the apparatus shown in FIG. 25;

【図30】図25の装置のスイッチ(EX)の概略構成
図。
FIG. 30 is a schematic configuration diagram of a switch (EX) of the device in FIG. 25.

フロントページの続き (72)発明者 田中 輝雄 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 濱中 直樹 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 長島 重夫 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 昭60−232743(JP,A) 特開 昭61−289746(JP,A)Continuing on the front page (72) Inventor Teruo Tanaka 1-280 Higashi Koikekubo, Kokubunji-shi, Tokyo Inside the Central Research Laboratory, Hitachi, Ltd. (72) Inventor Shigeo Nagashima 1-280 Higashi Koigakubo, Kokubunji-shi, Tokyo Inside the Central Research Laboratory, Hitachi, Ltd. (56) References JP-A-60-232743 (JP, A) JP-A-61-289746 (JP, A)

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の入力端と出力端の対を有し、それら
の間でデータを並列に転送可能な第1のネットワーク
と、 複数の入力端と出力端の対を有し、それらの間でデータ
を並列に転送可能な第2のネットワークと、 上記第1のネットワークの上記入力端と上記出力端の対
と、上記第2のネットワークの上記入力端と上記出力端
との対とに接続され、上記第1のネットワークの上記
力端及び上記第2のネットワークの上記出力端の何れか
1つの出力端から転送されたデータを、該転送データに
応じて上記第1のネットワークの上記入力端及び上記第
2のネットワークの上記入力端の何れかの入力端に転送
されるよう制御するスイッチとを有することを特徴とす
るデータ転送ネットワーク。
A first network having a plurality of pairs of input terminals and output terminals and capable of transferring data in parallel between them; a first network having a plurality of pairs of input terminals and output terminals; A second network capable of transferring data in parallel between the first network, a pair of the input terminal and the output terminal of the first network, and a pair of the input terminal and the output terminal of the second network. connected, the output of the first network
The data transferred from the force end, and any one output terminal of the output terminal of the second network, said input of said first network said input terminal and said second network in response to the transfer data data transfer network, characterized in that a switch for controlling to be transferred to one input terminal of the edge.
【請求項2】上記スイッチは、転送データ内の転送アド
レス情報の一部に応答して転送経路を選択するスイッチ
コントローラを有することを特徴とする請求項1に記載
のデータ転送ネットワーク。
2. The data transfer network according to claim 1, wherein said switch has a switch controller for selecting a transfer path in response to a part of transfer address information in transfer data.
【請求項3】上記スイッチは、上記転送先アドレス情報
のどの部分が上記転送経路を決定するためのものである
かを決める情報を保持するメモリを有することを特徴と
する請求項2に記載のデータ転送ネットワーク。
3. The switch according to claim 2, wherein the switch has a memory for storing information for determining which part of the transfer destination address information is for determining the transfer path. Data transfer network.
JP32984797A 1988-07-27 1988-07-27 Data transfer network Expired - Fee Related JP3002659B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP32984797A JP3002659B2 (en) 1988-07-27 1988-07-27 Data transfer network
JP10218793A JPH11149460A (en) 1988-07-27 1998-08-03 Computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32984797A JP3002659B2 (en) 1988-07-27 1988-07-27 Data transfer network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP18560388A Division JP2954220B2 (en) 1987-07-27 1988-07-27 Data transfer network for parallel computers

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP10218793A Division JPH11149460A (en) 1988-07-27 1998-08-03 Computer

Publications (2)

Publication Number Publication Date
JPH10145430A JPH10145430A (en) 1998-05-29
JP3002659B2 true JP3002659B2 (en) 2000-01-24

Family

ID=18225905

Family Applications (2)

Application Number Title Priority Date Filing Date
JP32984797A Expired - Fee Related JP3002659B2 (en) 1988-07-27 1988-07-27 Data transfer network
JP10218793A Pending JPH11149460A (en) 1988-07-27 1998-08-03 Computer

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP10218793A Pending JPH11149460A (en) 1988-07-27 1998-08-03 Computer

Country Status (1)

Country Link
JP (2) JP3002659B2 (en)

Also Published As

Publication number Publication date
JPH11149460A (en) 1999-06-02
JPH10145430A (en) 1998-05-29

Similar Documents

Publication Publication Date Title
US4918686A (en) Data transfer network suitable for use in a parallel computer
US6314487B1 (en) Adaptive routing controller of a crossbar core module used in a crossbar routing switch
US4623996A (en) Packet switched multiple queue NXM switch node and processing method
US4952930A (en) Multipath hierarchical network
US6907041B1 (en) Communications interconnection network with distributed resequencing
EP0198010B1 (en) Packet switched multiport memory nxm switch node and processing method
EP1208676B1 (en) Network switch using network processor
EP0197103B1 (en) Load balancing for packet switching nodes
JPH06314264A (en) Self-routing cross bar switch
JP2533223B2 (en) Multi-stage communication network
WO2001016779A1 (en) Network processor, memory organization and methods
EP1226501A1 (en) Network switch and components and method of operation
JPH088590B2 (en) Packet switching network with multiple packet destinations
WO2001016777A1 (en) Network processor processing complex and methods
EP1222517A1 (en) Vlsi network processor and methods
JPH05342178A (en) Arbitration circuit and data processor using the circuit
KR20010089024A (en) Distributed type input buffer switch system having arbitration latency tolerance and method for processing input data using the same
JP2954220B2 (en) Data transfer network for parallel computers
JP3002659B2 (en) Data transfer network
JPH0830571A (en) Data transfer network
EP0186595B1 (en) Routing technique
EP1360595A2 (en) Scaleable interconnect structure for parallel computing and parallel memory access
JPH07118719B2 (en) Pattern search method and apparatus
JP2853652B2 (en) Packet transmitting method and apparatus in inter-processor communication
Pan et al. Short circuits in buffered multi-stage interconnection networks

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees