[go: up one dir, main page]

JP2954220B2 - Data transfer network for parallel computers - Google Patents

Data transfer network for parallel computers

Info

Publication number
JP2954220B2
JP2954220B2 JP18560388A JP18560388A JP2954220B2 JP 2954220 B2 JP2954220 B2 JP 2954220B2 JP 18560388 A JP18560388 A JP 18560388A JP 18560388 A JP18560388 A JP 18560388A JP 2954220 B2 JP2954220 B2 JP 2954220B2
Authority
JP
Japan
Prior art keywords
partial
switch
data
network
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
JP18560388A
Other languages
Japanese (ja)
Other versions
JPH01105642A (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 JP18560388A priority Critical patent/JP2954220B2/en
Publication of JPH01105642A publication Critical patent/JPH01105642A/en
Application granted granted Critical
Publication of JP2954220B2 publication Critical patent/JP2954220B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はパケット形式のデータを転送する、データ転
送ネットワークに関する。
Description: TECHNICAL FIELD The present invention relates to a data transfer network for transferring packet data.

〔従来の技術〕[Conventional technology]

近年LSI技術の進歩により、高速大容量のプロセッサ
を多数接続し、並列処理を行なうことで、高性能の並列
計算機システムを実現することが可能になりつつある。
この様なシステムにおいては、プロセッサ間、プロセッ
サ・メモリ間等で、大量のデータを授受することが必要
であり、例えば第2A図に示す様なプロセッサ間を結合す
るデータ転送ネットワークが必要となる。データ転送ネ
ットワークの従来の構成方法については、例えば、黒川
他、情報処理Vol.27,(1986年)、No.9,特集「並列処理
技術」3.1,結合方式、pp.1005〜1021に詳しく説明され
ている。
In recent years, advances in LSI technology have made it possible to realize a high-performance parallel computer system by connecting a large number of high-speed and large-capacity processors and performing parallel processing.
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. 2A is required. The conventional method of configuring a data transfer network is described in detail in, for example, Kurokawa et al., Information Processing Vol. 27, (1986), No. 9, Special Issue on “Parallel Processing Technology” 3.1, Coupling Method, pp. 1005-1021. Have been.

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

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

データ転送ネットワークをクロスバスイッチで構成し
た場合、ハードウェアが膨大なものとなり、実現が困難
である。従って、多段スイッチ方式を用いることが現実
的である。上記パケットにおいて、データの長さは通常
数十ビット以上であり、また、転送先アドレスも、数千
台以上のプロセッサを用いる場合、十数ビット以上必要
である。パケットの高速転送のためにはそのパケットの
全ビットを並列に転送することが望ましいことは言うま
でもないが、パケットの全ビットを並列に送れるように
すると、信号線数、スイッチ数が膨大になるため、デー
タ転送路のビット幅dは、比較的小さなもの(高々10ビ
ット程度以下)とならざるを得ない。従って、実用的観
点からは、第2B図に示すように各パケットをそれぞれ複
数のビット数dから成る複数のサブパケットに分け、各
サブパケット内の全ビットは並列に転送し、異なるサブ
パケットは順次転送するという方法が必要である。この
場合、データのみならず、転送先アドレスも少なくとも
2つ以上の部分アドレスに分割することが必要となる。
When the data transfer network is configured by a crossbar switch, the hardware becomes enormous, which is difficult to realize. Therefore, it is practical to use a multi-stage switch system. In the above-mentioned packet, the data length is usually several tens of bits or more, and the transfer destination address is required to be ten or more 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 point of view, as shown in FIG. 2B, each packet is divided into a plurality of subpackets each having a plurality of bits d, all bits in each subpacket are transferred in parallel, and different subpackets are A method of sequentially transferring is required. 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.

データ転送ネットワークを構成する多段のスイッチの
各スイッチは、入力されたパケットの行き先をそのパケ
ット内の転送先アドレスから判断し、適当なスイッチン
グを行なって、そのパケットを適当な出力端に出力す
る。前述の様にデータ及び転送先アドレスを分割した場
合でも、すべての部分アドレスの到着を待つことにより
このスイッチングを各スイッチに行なわせることができ
る。一旦スイッチングが行なわれると、転送先アドレス
の後に順序送られてくるデータ用のサブパケットはパイ
プライン的に次段のスイッチに送ることができる。しか
し、各スイッチのスイッチングが部分アドレスすべての
到着を待って行なわれたのでは、転送先アドレスの全ビ
ットを並列に転送する場合に比べ、スイッチング開始時
間が大幅に遅れるという問題がある。
Each switch of the multistage switch constituting the data transfer network determines the destination of the input packet from the destination address in the packet, performs appropriate switching, and outputs the packet to an appropriate output terminal. Even when the data and the transfer destination address are divided as described above, this switching can be performed by each switch by waiting for the arrival of all the partial addresses. Once the switching is performed, the 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 bits of the transfer destination address are transferred in parallel.

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

〔問題点を解決するための手段〕[Means for solving the problem]

このため本発明では、あるスイッチがパケットを送出
すべき次段のスイッチを確定するために必要な部分アド
レスが、そのスイッチに供給される部分アドレスをそれ
ぞれ含む複数のサブバケットの内の最初のものに含まれ
ている場合には、そのスイッチは最初のパケットが到着
したときにスイッチングを開始するようにそのスイッチ
を構成した。さらに望ましい態様として、次段のスイッ
チがスイッチングするのに必要な部分アドレスが先頭の
サブパケットに含まれていない場合、前段のスイッチ
は、その部分アドレスが先頭のサブパケットに含まれる
ように部分アドレスをサブパケット間で入れ換えるよう
にした。
For this reason, in the present invention, the partial address required to determine the next switch to which a switch should send a packet is the first of a plurality of sub-buckets each including the partial address supplied to the switch. If so, the switch is configured to start switching when the first packet arrives. As a further desirable mode, when the partial address necessary for the next-stage switch to perform switching is not included in the first subpacket, the preceding switch switches the partial address so that the partial address is included in the first subpacket. Was changed between subpackets.

〔作用〕[Action]

本発明では、上記のような構成をとることにより、デ
ータ転送ネットワークを構成するスイッチがスイッチン
グを開始するまでに必要な待ち時間を削減し、高速なデ
ータ転送ネットワークを実現できる。
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.

〔実施例〕〔Example〕

本発明の実施例の説明の前に、分割アドレスを用いる
が、本発明によるスイッチングの早期化を図らないデー
タ転送ネットワークの例として本発明者が考えたものを
第3図に即して説明する。
Prior to the description of the embodiment of the present invention, an example of a data transfer network that uses a divided address but does not attempt to speed up switching according to the present invention will be described with reference to FIG. .

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

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

0′〜15′はネットワークの入力ポート、0″〜15″
はネットワークの出力ポートである。出力ポート0″〜
15″はそのアドレスを2進数で各々(0000)〜(1111)
と表現する。第4図は上記多段スイッチにおいて、転送
先アドレスを分割して転送するために、第3図のネット
ワークに用いるスイッチの構成の一例であり、第4図に
おいて、11,12はスイッチの入力ポート、O1,O2は出力ポ
ート、E1は出力ポート選択回路、Q1,Q2は入力キュー、Q
3,Q4は出力キュー、L1,L2,L3,L4は上記サブパケット中
に含まれる部分アドレスを記憶するためのレジスタ、S
1,S2はセレクタであり、MS1はスイッチの動作に必要な
情報・手順を格納したメモリ、P1はスイッチの動作を制
御するスイッチコントローラである。
0 'to 15' are network input ports, 0 "to 15"
Is the output port of the network. Output port 0 "~
15 ″ is the address in binary notation (0000) to (1111)
Is expressed as FIG. 4 shows an example of the configuration of a switch used in the network of FIG. 3 for dividing and transferring a transfer destination address in the multistage switch. In FIG. 4, reference numerals 11 and 12 denote input ports of the switch, O1, O2 output port, E1 is the output port selection circuit, Q 1, Q 2 is input queue, Q
3 , Q 4 are output queues, L 1, L 2, L 3, L 4 are registers for storing the partial addresses included in the above subpacket, 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.

ここで、簡単のため、ネットワークに与えられるパケ
ットは、転送先アドレスが4ビット、データが4ビット
とし、データ転送路のビット幅が2ビットであると仮定
し、第2B図に示すように転送先アドレスは部分アドレス
A1,A2に分割され、データD1,D2に分割されているとす
る。また、このパケットが、第3図に太線で示す様に、
入力ポート1′から、出力ポート11″に転送される場合
を考える。11″のアドレスは(1011)であるので、A1,A
2はそれぞれ10,11なるビット列を表わす。このときの第
3図、第4図のデータ転送ネットワークの動作を第5図
を用いて説明する。第5図に示す様に、第3図の[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,L2にセットされたと
きにスイッチ内メモリMS1の内容とレジスタタL3,L4の出
力C3,C4に応答して出力ポート選択回路E1内のセレクタS
1,S2の制御情報M1,M2を作成してこれらに与える。さら
に具体的には、この場合、スイッチコントローラP1は、
第5図で*で示す様な、第1サブパケットの第1ビット
が判定ビットであるという判定ビット位置情報J1がメモ
リMS1から与えられ出力C3(=A1)、C4(=A2)からな
る4ビットのアドレスの内上記判定ビットを取り出す。
今の場合、この値が1であるので、これに基づいて、E1
中のセレクタS2に対し、入力ポートI2から出力ポートO2
へ至るパスを生成する様な制御情報M2を与える。こうし
て上記サブパケットは順次出力キューQ3を介して、出力
ポートO2から次段のスイッチS14へ送信される。
Here, for simplicity, it is assumed that a packet given to the network has a transfer destination address of 4 bits, data of 4 bits, and a bit width of a data transfer path of 2 bits, and transfers the packet as shown in FIG. 2B. Destination address is partial address
It is assumed that the data is divided into A 1 and A 2 and divided into data D 1 and D 2 . Also, as shown by the bold line in FIG.
Consider a case where the data is transferred from the input port 1 'to the output port 11 ". Since the address of 11" is (1011), A 1 , A
2 represents a bit string of 10, 11 respectively. The operation of the data transfer network of FIGS. 3 and 4 at this time will be described with reference to FIG. As shown in FIG. 5, [00] in FIG.
The partial address A 1 ,
It is assumed that A 2 and partial data D 1 and D 2 are sequentially input. At this time, in the switch S00, the first and second partial addresses A 1 and A 2
Are stored in registers L3 and L4, respectively, and the partial addresses A 1 and A 2 and the partial data D 1 and D 2 are sequentially stored in the input queue.
Output C3, C4 of registers L3, L4 (partial address in this case
A 1 , A 2 ) are switch controller P1 respectively
The switch controller P1 responds to the contents of the in-switch memory MS1 and the outputs C3 and C4 of the registers L3 and L4 when the partial addresses A 1 and A 2 are set in the registers L1 and L2, respectively. Selector S in output port selection circuit E1
1, control information M1 and M2 for S2 are created and given to them. More specifically, in this case, the switch controller P1
Determination bit position information J1 indicating that the first bit of the first subpacket is a determination bit as indicated by * in FIG. 5 is provided from the memory MS1 and consists of outputs C3 (= A1) and C4 (= A2). The above-mentioned judgment bit is taken out of the bit address.
In this case, since this value is 1, based on this, E1
For the middle selector S2, input port I2 to output port O2
Control information M2 for generating a path leading to. Thus, the sub-packets are sequentially transmitted from the output port O2 to the next-stage switch S14 via the output queue Q3.

第3図で、スイッチS00内で出力ポートO2が選択され
るめ、上記のパケットはスイッチS14の入力では、第5
図に示す様に、判定ビット位置が第1サブパケットの第
2ビットであるという判定ビット位置情報J1が、そのス
イッチ内のメモリMS1から与えられ、判定ビット(この
場合0)がスイッチS14の入力ポートI1から出力ポートO
1へ至るパスが生成されパケットはスイッチS24へ送られ
る。以下、スイッチS24では判定ビット(この場合1)
であり、スイッチS35では第2サブパケットの第2ビッ
ト(この場合1)であって、同様の処理によって、パケ
ットはネットワークの出力ポート11″に転送される。
In FIG. 3, the output port O2 is selected in the switch S00.
As shown in the figure, 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, and the determination bit (0 in this case) is input to the switch S14. Port I1 to output port O
A path to 1 is generated, and the packet is sent to the switch S24. Hereinafter, the determination bit (1 in this case) in the switch S24
In the switch S35, the second bit (1 in this case) of the second subpacket, and the packet is transferred to the output port 11 ″ of the network by the same processing.

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

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

第7図は本発明による多段スイッチからなるデータ転
送ネットワークであり、その構成において、第3図と異
なるのはスイッチS00′〜S37′が転送先アドレスを含む
全てのサブ・バケットの到着を待つことなく、第1のサ
ブ・パケット到着後、スイッチングを行い、パケットを
送出すべき次段のスイッチに接続された出力ポートを確
定してサブパケットの送出を開始する点および第2段目
のスイッチS10′〜S17′が、分割された転送先アドレス
を含む複数のサブパケットに対し、上記分割アドレスを
第1のサブパケットと第2のサブパケット間で入れ替え
るように構成されている点である。第3図、第4図で説
明した、Networkの例では、第1段目のスイッチS00〜S0
7、及び第2段目のスイッチS10〜S17では、各スイッチ
でパケットを送出すべき次段のスイッチを確定するため
に必要な部分アドレスはそれぞれ入力されるパケットの
第1サブパケット内にある第1部分アドレスA1である
が、第3段目、第4段目のスイッチS20〜S37における、
それは、第2サブパケット内の第2部分アドレスA2であ
る。しかし、第7図の様に、第2段目のスイッチS10′
〜S17′に入力されたサブパケット列が出力される際
に、第1サブパケットに第2部分アドレスA2、第2サブ
パケットに第1部分アドレスA1が含まれる様に部分アド
レスA1,A2を第2段目のスイッチS10′〜S17′で入れ替
えることで、次段のスイッチが、スイッチングに要する
部分アドレスが先頭サブパケットに含まれる様にする。
FIG. 7 shows a data transfer network comprising a multi-stage switch according to the present invention, which differs from FIG. 3 in that switches S00 'to S37' wait for arrival of all sub-buckets including a transfer destination address. However, after the first sub-packet arrives, switching is performed, the output port connected to the next-stage switch to which the packet is to be transmitted is determined, and the transmission of the sub-packet is started. 'To S17' are such that, for a plurality of subpackets including the divided transfer destination address, the above-mentioned divided addresses are exchanged between the first subpacket and the second subpacket. In the example of Network described with reference to FIGS. 3 and 4, the switches S00 to S0 in the first stage are used.
7 and the second-stage switches S10 to S17, the partial addresses necessary to determine the next-stage switch to which each switch should send a packet have a partial address in the first sub-packet of the input packet. One partial address A1, but in the switches S20 to S37 of the third and fourth stages,
It is the second partial address A2 in the second subpacket. However, as shown in FIG. 7, the second stage switch S10 '
When the sub-packet string input to ~S17 'is outputted, the second partial address A2 to the first sub-packet, partial address A 1 as the first partial address A 1 is included in the second sub-packet, A By replacing 2 with the second-stage switches S10 'to S17', the next-stage switch causes the partial address required for switching to be included in the first subpacket.

第1A図は第7図の第2段目のスイッチS10′〜S17′の
構成の一例であり、その構成において第4図と異なるの
は、入力ポートI1またはI2に対しレジスタL1,L2またはL
3,L4に記憶された部分アドレスの内、先に送出すべきも
のを先に選択するように、レジスタL1,L2の出力C1,C2を
選択するセレクタS3、及びレジスタL3,L4の出力C3,C4を
選択するセレクタS5,セレクタS3またはS5から出力され
た部分アドレス列を入力キューQ1またはQ2に格納された
部分データに先立って選択して出力ポート選択回路E1に
与えるたのセレクタS4、またはS6を有する点、及び、ス
イッチングコントローラP2は入力ポートI1またはI2への
パケットの先頭のサブパケットの到着と同期して、この
パケットと並列に与えられるパケットスタート信号PSTR
1またはPSTR2に応答して動作を開始し、パケットの末尾
が入力ポートI1またはI2へ到着するのに同期して与えら
れるパケット終了信号PEND1またはPEND2に応答して動作
を終了する点、及びメモリMS2から与えられる判定ビッ
ト位置情報J2はつねに先頭のサブパケット内の部分アド
レスのいずれかのビットを指す点、である。
FIG. 1A is an example of the configuration of the switches S10 'to S17' in the second stage of FIG. 7. The difference from FIG. 4 in the configuration is that the input ports I1 or I2 are provided with registers L1, L2 or L1.
A selector S3 for selecting the outputs C1 and C2 of the registers L1 and L2, and an output C3 and L3 for the registers L3 and L4 so as to first select the one to be transmitted first among the partial addresses stored in L4. The selector S4 or S6 that selects the partial address string output from the selector S5 that selects C4 and 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 gives it to the output port selection circuit E1 And the switching controller P2 synchronizes with the arrival of the first subpacket of the packet at the input port I1 or I2, and outputs a packet start signal PSTR provided in parallel with this packet.
1 or PSTR2, the operation is started, and the operation is ended in response to the packet end signal PEND1 or PEND2 given in synchronization with the end of the packet arriving at the input port I1 or I2. Is always pointed to any bit of the partial address in the first subpacket.

また、第1段のスイッチS00′〜S07′及び第3段、第
4段のスイッチS20′〜S37′は第1B図に示すように、第
1A図から、サブパケットを記憶するレジスタL1,L3,及び
セレクタS3〜S6を省略したものである。即ち、これらの
スイッチは、サブパケットの入れ替えを行なわない点で
主に第2段のスイッチS10′〜S17′と異なるが、パケッ
トスタート信号PSTR1,PSTR2,パケット終了信号PEND2に
応答する点では同じである。第3図の場合と同様に、第
7図の動作説明のため、データ転送路のビット幅が2ビ
ットであり、転送先アドレスは2つの部分アドレスA1,A
2からなりデータは2つの部分データD1,D2からなりそれ
ぞれは各々2ビットの長さのサブパケットに含まれる。
第7図の太線で示す様に入力ポート1′から出力ポート
11′に転送される場合を考える。このときの第7図のデ
ータ転送ネットワークの動作を第8図を参照して説明す
る。第8図に示す様に、第7図の[00]の座標のスイッ
チS00′の入力ポートI2に、第3図〜第5図の場合と同
様の部分アドレスA1,A2と部分データD1,D2が順次入力さ
れるとする。第7図におけるスイッチS00′、S24′、S3
5′の動作は、第7図におけるスイッチS00、S24、S35の
動作とほぼ同様であるが、異なるのは各スイッチは最初
の部分アドレスの到着時に動作を開始する点習ある。す
なわち第7図の場合、各スイッチからのパケットの送出
先スイッチを決定するための判定ビット位置は第8図に
*で示すようにいずれも第1サブパケットの部分アドレ
ス内にあるため、第2サブパケットの到着を待つことな
く、送出先が決まり、送出が開始される点が異なってい
る。
As shown in FIG. 1B, the first-stage switches S00 'to S07' and the third and fourth-stage switches S20 'to S37'
In FIG. 1A, registers L1 and L3 for storing subpackets and selectors S3 to S6 are omitted. That is, these switches are different from the second-stage switches S10 'to S17' mainly in that they do not exchange subpackets, but they are the same in that they respond to the packet start signals PSTR1, PSTR2 and the packet end signal PEND2. is there. As in the case of FIG. 3, the bit width of the data transfer path is 2 bits and the transfer destination address is two partial addresses A 1 , A for explanation of the operation of FIG.
The data consisting of two pieces of data consists of two pieces of partial data D 1 and D 2 , each of which is included in a subpacket having a length of 2 bits.
As shown by the bold line in FIG. 7, input port 1 'to output port
Consider the case of forwarding to 11 '. The operation of the data transfer network of FIG. 7 at this time will be described with reference to FIG. As shown in FIG. 8, the same partial addresses A 1 and A 2 and partial data D as in FIGS. 3 to 5 are applied to the input port I2 of the switch S00 'at the coordinates [00] in FIG. 1 and D 2 are sequentially input. Switches S00 ', S24', S3 in FIG.
The operation of 5 'is almost the same as the operation of the switches S00, S24 and S35 in FIG. 7, except that each switch starts operation when the first partial address arrives. That is, in the case of FIG. 7, 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 difference is that the transmission destination is determined and transmission is started without waiting for the arrival of the subpacket.

次に第7図におけるスイッチS14′の動作の一例を第9
A図のタイムチャートを参照して説明する。スイッチS1
4′にはスイッチS00′から、部分アドレスA1,A2、部分
データD1,D2が入力ポートI1に順次送られる。このとき
先頭の部分アドレスの到着と同期して、かつパケットの
転送と平行してパケットスタート信号PSRT1がスイッチ
コントローラP2に与えられ、スイッチコントローラP2は
スイッチS00′が以下の動作とするように制御動作を開
始する。スイッチS14′では、第1のタイミングで第1
部分アドレスA1をレジスタL2に記憶し、続く第2のタイ
ミングでこの第1部分アドレスA1をレジスタL1に移動
し、かつ第2部分アドレスA2をレジスタL2に記憶する。
また、第3、第4のタイミングでそれぞれ部分データ
D1,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,A2を入れ替えて作られた転送先アドレスを入力キ
ューQ1内に格納されたデータに先立って選択的に出力ポ
ート選択回路E1に与えることができる。
Next, an example of the operation of the switch S14 'in FIG.
This will be described with reference to the time chart in FIG. Switch S1
The partial addresses A 1 and A 2 and the partial data D 1 and D 2 are sequentially sent to the input port I1 from the switch S00 ′ to 4 ′. 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 packet transfer, and the switch controller P2 performs a control operation so that the switch S00 'performs the following operation. To start. At the switch S14 ', the first timing
Storing partial address A 1 in the register L2, and moves the first partial address A 1 in the register L1 at a second timing that follows, 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 is applied to the switch controller P2 as C1 when the first partial address A 1 arrives in register L2. 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 path from the input port I1 to the output port O1. Furthermore, the switch controller P2 is
Of the first partial address A 1 stored in the register L 1 and the second partial address A 2 stored in the register L 2 ,
In the timing, the A 2, also in the fourth timing
Given such control signal M3 selects A 1 to the 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, selecting a partial address A 1 output from the selector S3 respectively in the fourth timing, The fifth At the sixth timing, the partial data D 1 and D 2 stored in the input queue Q1 are respectively selected, and a control signal M4 to be supplied to the output port selection circuit E1 is supplied to the selector S4. The output of the selection circuit E1 is given to the output queue Q3, and A 2 , A 1 , D 1 , and D 2 are input and stored in the output queue Q3 at the third, fourth, fifth, and sixth timings, respectively. You. As a result, the transfer destination address generated by replacing the partial addresses A 1 and A 2 as described above can be selectively given to the output port selection circuit E1 prior to the data stored in the input queue Q1.

第9A図は第7図のスイッチS00′、S24′、S35′でア
ドレス到着待ちの時間が、第3図の場合の半分の時間T
で済む。従って、ネットワークの転送所要時間は9Tとな
り、第3図の場合(第6図)の12Tと比べて25%高速化
されることがわかる。
FIG. 9A shows that the time required for the address arrival at the switches S00 ', S24' and S35 'in FIG. 7 is half the time T in the case of FIG.
Only needs to be done. Therefore, the transfer time of the network is 9T, which is 25% faster than 12T in the case of FIG. 3 (FIG. 6).

なお、スイッチコントローラP2は入力ポートI2から与
えられるパケットに対しても同様な処理を行なうことが
でき、第4図の場合と同様に、入力ポートI1とI2の入力
データの優先判断を行うことができる。スイッチコント
ローラP2には、出力ポートO1、O2の各々の出力許可信号
OE1,OE2が与えられており、OE1が出力許可状態となった
とき、出力制御信号OC1がスイッチコントローラP2から
出力キューQ3に与えられ、出力キューQ3から、上記部分
アドレスA1,A2,部分データD1,D2が順次出力ポートO1に
送出される。同様に信号OE2が出力許可状態となったと
き、出力制御信号OC2がスイッチコントローラP2から出
力キューQ4に与えられる。出力キューQ3,Q4がデータで
満たされ、新しいデータを記憶できない状態になった場
合、それぞれスイッチコントローラP2に接続されたステ
ータス信号SQ1,SQ2がスイッチコントローラP2に与えら
れる。そこからは通常入力端子I1、I2の入力許可信号IA
1,IA2が出力されているが、上記ステータス信号SQ1,SQ2
によって入力許可信号IA1,IA2は入力禁止状態とされ、
新たなパケットが入力されることを禁止する。第7図の
構成の場合、後段のスイッチの入力許可信号IA1(又はI
A2)を、前段のスイッチに出力許可信号OE1(OE2)とし
て入力することで、転送経路の途中でキューのあふれに
よってパケットが失なわれることを妨げる。第1A図にお
いて、レジスタL1,L2,出力キューQ1,Q3へのデータのセ
ットタイミングの制御は信号T11,T12,T13,T14により、
また、レジスタL3、L4、出力キューQ2、Q4へデータのセ
ットタイミングの制御は信号T21,T22,T23,T24により行
なわれ、これらの信号はスイッチコントローラP2から与
えられる。第10図は第1A図のスイッチコントローラP2の
概略構成図である。図において、タイミング供給回路10
A,10Bは、パケットスタースタート信号PSTR1又はPSTR2
に応答してアドレスデコーダ16A又は16Bを起動し、か
つ、タイミングクロックをカウンタ12A又は12Bに与え、
パケットの末尾が入力ポートI1又はI2(第1A図)に与え
られたタイミングに同期して与えられる。パケット終了
信号PEND1に応答して、カウンタ12A又は12Bおよびタイ
ミングデコーダ14A又は14Bをリセットするものである。
アドレスデコーダ16A又は16BはレジスタL2又はL4の出力
C2又はC4の内、メモリMS2から与えられる判定ビット位
置情報J2にて示されるビットを切り出し入力されたパケ
ットを出力ポートO1,O2のいずれに送るべきかの信号と
してコンフリクト制御22へ送出する。タイミングデコー
ダ14A、14Bはカウンタ12A,12Bのカウント値にそれぞれ
応答して、制御信号T11〜T13,M3,M4を出力するとともに
出力キュー制御18A又は18Bおよびセレクタ制御24′を起
動するものである。コンフリクト制御22はアドレスデコ
ーダ16A,16Bの出力の間にコンフリクトがないかをチェ
ックし、なければセレクタ制御24に送る。そこでセレク
タ制御信号M1,M2を発生させる。コンフリクト制御には
上記2つの出力の間にコンフリクトがあればその一方に
のみ応答してセレクタ制御24に送る。それとともに、ア
ドレスデコータ16A,16Bの他方に対応して設けられた入
力制御20A又は20B信号を送る。入力・制御20A,20Bは新
たなパケットの送信を禁止する信号IA1又はIA2を発生
マ、前段のスイッチに送る。
Note that the switch controller P2 can perform the same processing on the packet supplied from the input port I2, and can determine the priority of the input data of the input ports I1 and I2 as in the case of FIG. it can. The switch controller P2 has an output enable signal for each of the output ports O1 and O2.
When OE1 and OE2 are given and OE1 is in the output permission state, the output control signal OC1 is given from the switch controller P2 to the output queue Q3, and from the output queue Q3, the partial addresses A 1 , A 2 , The data D 1 and 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. When the output queues Q3 and Q4 are filled with data and cannot store new data, status signals SQ1 and SQ2 connected to the switch controller P2 are given to the switch controller P2. From there, the input enable signal IA of the normal input terminals I1 and I2
1, IA2 is output, but the above status signals SQ1, SQ2
As a result, the input enable signals IA1 and IA2 are set to the input disabled state,
Prohibits new packets from being input. In the case of the configuration shown in FIG. 7, the input enable signal IA1 (or I
By inputting A2) to the preceding switch as the output permission signal OE1 (OE2), it is possible to prevent packets from being lost due to overflow of the queue in the middle of the transfer path. In FIG. 1A, the control of the timing of setting the data in the registers L1, L2 and the output queues Q1, Q3 is controlled by signals T11, T12, T13, T14.
The timing of setting data in the registers L3 and L4 and the output queues Q2 and Q4 is controlled by signals T21, T22, T23 and T24, and these signals are given from the switch controller P2. FIG. 10 is a schematic configuration diagram of the switch controller P2 of FIG. 1A. In the figure, a timing supply circuit 10
A and 10B are packet star start signals PSTR1 or PSTR2
Activate the address decoder 16A or 16B in response to, and provide a timing clock to the counter 12A or 12B,
The end of the packet is given in synchronization with the timing given to the input port I1 or I2 (FIG. 1A). The counter 12A or 12B and the timing decoder 14A or 14B are reset in response to the packet end signal PEND1.
Address decoder 16A or 16B outputs register L2 or L4
Of C2 or C4, the bit indicated by the determination bit position information J2 provided from the memory MS2 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 output control signals T11 to T13, M3 and M4 and activate the output queue control 18A or 18B and the selector control 24 'in response to the count values of the counters 12A and 12B, respectively. 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, it sends an input control 20A or 20B signal provided corresponding to the other of the address decoders 16A and 16B. 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.

出力キュー制御18A、18Bは、出力キューQ3又はQ4を制
御する信号T14,OCを生成するとともに、パケットスター
ト信号PSTR1又はPSTR2,パケット終了信号PEND1又はPEND
2を、出力キュー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 a packet start signal PSTR1 or PSTR2 and a packet end signal PEND1 or PEND.
2 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.

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

なお、以上の説明では、簡単のため、上記部分アドレ
スA1,A2、部分データD1,D2は一旦出力キューQ3に順次記
憶されるとしたが、初めから出力許可信号OE1が出力許
可状態にあるとき、出力キューQ3をバイパス、又はスル
ーして直後、上記第3、第4、第5、第6のタイミング
で出力ポートO1に送出する構成としても良いことは明ら
かである。また、部分アドレス列、部分データ列が記憶
される出力キューQ3,Q4を出力ポートの前でなく、入力
ポートの後に設けてもよく、また、その両方に設けても
良いことは明らかである。また、入力キューQ1,Q2出力
キューQ3,Q4はFIFOメモリであっても良いが、RAMやレジ
スタファイルで構成しても良い。第1B図でレジスタ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, but the output enable signal OE1 is output enabled from the beginning. In this state, it is obvious that the output queue Q3 may be bypassed or passed through and sent immediately to the output port O1 at the third, fourth, fifth, and sixth timings. It is also apparent that the output queues Q3 and Q4 for storing the partial address sequence and the partial data sequence may be provided after the input port, not before the output port, or may be provided on both of them. The input queues Q1 and Q2 and the output queues Q3 and Q4 may be FIFO memories, or may be configured by RAMs or register files. In Figure 1B, register L3
L4 and the registers L1 and L2 are connected in series, but the first sub-packet is connected to the register L1 (or
L3), the second subpacket may be stored in the register L2 (or L4). In this case, the register
In L1 to L4, the RAM (having a sufficient data word length) may be constituted by using a part of the register file.

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

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

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

X部分ネットワークNXi(i=1,2,3,4)は、iを共通
にするクラスタ(Xクラスタと呼ぶ)のプロセッサPEij
(j=1〜4)を相互に結合し、Y部分ネットワークNY
j(j=1,2,3,4)は、jを共通にするクラスタ(Yクラ
スタと呼ぶ)に属するプロセッサPEij(i=1〜4)の
相互に結合する。これら部分ネットワークNXi,NYjは、
第7図に示されたような、多段のスイッチにて構成され
るネットワークである。後に説明するように、そこに用
いる多段スイッチの各々は部分アドレスの入れ替えをす
る必要がなく、従って、第1B図のスイッチにて構成でき
る。スイッチEXij(j=1〜4,i=1〜4)は、X部分
ネットワークNXiとY部分ネットワークNYjとプロセッサ
PEijを相互に結合する3入力/3出力ポートのスイッチで
ある。
The X partial network NXi (i = 1, 2, 3, 4) is a processor PEij of a cluster (called an X cluster) sharing i.
(J = 1 to 4) are connected to each other, and the Y subnetwork NY
j (j = 1, 2, 3, 4) is mutually connected to the processors PEij (i = 1 to 4) belonging to a cluster sharing j (called a Y cluster). These partial networks NXi, NYj
This is a network 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 therefore can be constituted by the switches shown in FIG. 1B. The switches EXij (j = 1 to 4, i = 1 to 4) are connected to the X partial network NXi, the Y partial network NYj and the processor.
This is a three-input / 3-output port switch that mutually connects PEij.

例えば、部分ネットワークNX1には、プロセッサPE11,
PE12,PE13,PE14がそれぞれ、スイッチEX11,EX12,EX13,E
X14を介して接続され、NY1には、プロセッサPE11,PE21,
PE31,PE41がそれぞれスイッチEX11,EX21,EX31,EX41を介
して接続される。
For example, the partial network NX1 has processors PE11,
PE12, PE13, PE14 are switches EX11, EX12, EX13, E, respectively.
Connected via X14, NY1 has processors PE11, PE21,
PE31 and PE41 are connected via switches EX11, EX21, EX31 and EX41, respectively.

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

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

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

以下、第11A図のネットワークの動作を第13A〜13C図
を参照して説明する。
Hereinafter, the operation of the network in FIG. 11A will be described with reference to FIGS. 13A to 13C.

あるプロセッサPEijからスイッチEXijが入力ポートIP
ijを介してプロセッサPEkl宛のパケットを受信した(ス
テップ130)とする。
Switch EXij is input port IP from a processor PEij
It is assumed that a packet addressed to the processor PEkl has been received via ij (step 130).

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

(1)さて、ステップEXijは、第13A図に示すように、
このパケットが第1の条件A1(=k)=自己のX方向ア
ドレス(i)を満すかを判定(ステップ132)し、この
条件が満されると、(すなわち、送信先プロセッサPEkl
と送信元プロセサPEijとが同じXクラスタに属する場
合)、このパケットが第2の条件A2=自己のX方向アド
レス(j)を満すか否かを判定(ステップ134)し、こ
の条件も満される場合(すなわち、送信元プロセッサPE
ijと送信先プロセッサPEklとが同じ場合)、スイッチEX
ijはその出力ポートOPijを介してこのパケットをプロセ
ッサPEijに送る(ステップ163)。一方、ステップ134に
おける第2の条件の判定の結果、第2の条件が満されな
かった。場合(すなわち、送信先プロセッサPEklが、プ
ロセッサPEijと同じXクラスタに属する他のプロセッサ
の場合)、部分アドレスA1,A2を入れかえ(ステップ13
8)、出力端OXijを介して、X部分ネットワークNXiに、
このパケットを送出する(ステップ140)。このアドレ
ス入れかえにより、送信先プロセッサPEklのY方向アド
レスlがこのパケットの先頭に位置する。この結果、X
部分ネットワークNXi(=NXk)の各スイッチは、このパ
ケットの最初のサブパケットが到着し次第、その先頭部
分にある部分部分アドレスA2に応答してスイッチングを
開始できる。部分ネットワークNXkはこのパケットをス
イッチEXklにそれの入力ポートIXklを介して送出する。
このスイッチEXklは、このパケットを受信する(ステッ
プ)と、第13B図に示すように、そのパケットの先端の
サブパケットにある部分アドレス(今の場合A2(=
l))がそのスイッチEXkl(=EXij)のY方向のアドレ
スlと等しいから判定する(ステップ164)。今の場
合、これらが等しいという条件が満されるのでスイッチ
EXklは、その出力ポートOPklを介してプロセッサPEklに
このパケットを送る(ステップ166)。
(1) Now, step EXij, as shown in FIG. 13A,
It is determined whether this packet satisfies the first condition A 1 (= k) = its own X-direction address (i) (step 132), and if this condition is satisfied (ie, the destination processor PEkl)
And the source processor PEij belong to the same X cluster), it is determined whether or not this packet satisfies the second condition A 2 = its own X-direction address (j) (step 134). (Ie the source processor PE
ij and destination processor PEkl are the same), switch EX
ij sends this packet to 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 13).
8), through the output end OXij, to the X partial network NXi,
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, X
Each switch of the partial network NXi (= NXk), the 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.
Upon receiving this packet (step), the switch EXkl, as shown in FIG. 13B, receives a partial address (A 2 (=
1)) is equal to the address 1 in the Y direction of the switch EXkl (= EXij) (step 164). In this case, the condition that they are equal is satisfied, so the switch
EXkl sends this packet to processor PEkl via its output port OPkl (step 166).

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

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

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

(3)また、第13A図のステップ142における判定の結果
が否定的な場合、すなわち、送信先プロセッサPEklと送
信元プロセッサPEijが同じXクラスタにも属さず、又同
じYクラスタにも属さない場合、これらの2つのプロセ
ッサを結ぶ経路は2通りある。すなわち、第1のルート
X部分ネットワークにまずパケットを転送するルートで
あり、具体的にはPEij→EXij→NXi→EXil→NYl→EXkl→
PEklである。このルートではYアドレスが先に決まるの
で以下このルートをY優先ルートとよぶ。第2のルート
は、Y部分ネットワークにまず、パケットを転送するル
ートであり、具体的にはPEij→EXij→NYj→EXkj→NXk→
EXkl→PEklである。このルートではXアドレスが先に決
まるので以下、これを優先ルートと呼ぶ。
(3) When the result of the determination in step 142 of FIG. 13A is negative, that is, when the destination processor PEkl and the source processor PEij do not belong to the same X cluster and do not belong to the same Y cluster. , There are two paths connecting these two processors. That is, the first route is a route for first transferring a packet to the first partial network X. Specifically, PEij → EXij → NXi → EXil → NYl → EXkl →
PEkl. 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 first transferring a packet to the Y partial network, 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.

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

この選択的はあらかじめ各スイッチEXijごとに定めて
おいてもよい。この場合、ステップ146は省略される。
また、ネットワークの各部分ネットワークを通りパケッ
トの量(負荷)を計測し、この負荷が出来るだ均一にな
るように動的に上記の選択をかえてもよい。
This selection may be determined in advance for each switch EXij. 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.

ステップ146でX優先ルートが選がれた場合、スイッ
チEXijはパケットを出力ポートOYijを介して部分ネット
ワークNYjに送出する(スイッチ144)。このパケットを
受けて、この部分ネットワークNYjは、そのパケットの
先頭にある部分アドレスA1(=k)に等しいXアドレス
をもつスイッチEkjの入力ポートIYkjを介して送出す
る。このスイッチでは、第13C図に示すように、これを
受信する(ステップ152)と、このパケットの第2部分
アドレスA2(=l)=自己のYアドレス(=j)が満さ
れるか否かを判定する(ステップ154)。今の場合、j
≠lと仮定しているのでこの判定の結果は否定的とな
る。このステップEkjはこのパケットの部分アドレスA1,
A2を入れかえ、部分アドレスA2を先頭に移す(ステップ
158)。その後、パケットをX部分ネットワークNXkに、
出力ポートOXkjを介して送出する。
When the X priority route is selected in step 146, the switch EXij sends the packet to the partial network NYj via the output port OYij (switch 144). In response to this packet, the partial network NYj sends out the packet via the input port IYkj of the switch Ekj having the X address equal to the partial address A 1 (= k) at the head of the packet. When the switch receives the packet (step 152), as shown in FIG. 13C, it determines whether the second partial address A 2 (= 1) = Y address (= j) of the switch is satisfied, as shown in FIG. 13C. Is determined (step 154). In this case, j
Since ≠ l is assumed, the result of this determination is negative. In this step Ekj, the partial addresses A 1 ,
Swapping the A 2, transfer the partial address A 2 at the beginning (step
158). After that, the packet is sent to the X partial network NXk.
Send out via output port OXkj.

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

このスイッチEklは、入力ポートIXklを介してこのパ
ケットを受信する(ステップ162、第13B図)と、このパ
ケットの第1部分アドレスA1自己のXアドレス(=k)
に等しいかを判定する。今の場合、この判定結果は肯定
的であるので、このパケットをスイッチEklはプロセッ
サPEklに送出する。こうして、同じクラスタに属さない
2つのプロセッサ間のパケット転送がX優先ルートによ
りなされる。
The switch Ekl via the input port IXkl receives this packet (step 162, FIG. 13B) and the first partial address A 1 own X address of this packet (= k)
Is determined to be equal to In this case, since this determination result is affirmative, the switch Ekl sends this 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.

なお、ステップ146(第13A図)で、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. 13A), 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).

このスイッチEXilでは、第13B図に示すと、このパケ
ット受信(ステップ162)した後、A1(=k)=自己の
X方向アドレス(=i)と等しいかを判定する(ステッ
プ164)。今の場合、この判定結果は否定的となり、こ
のスイッチは部分アドレスA2,A1を入れかえ、A1をパケ
ットの先頭に移し(ステップ168)、再びこのパケット
をY部分ネットワークNYlに転送する(ステップ170)。
この部分ネットワークNYlにより、このパケットはこの
パケットの第1部分アドレスA1(=k)に等しいX方向
アドレスをもってスイッチEklにこのパケットを転送す
る。このスイッチEklでは第13C図のステップ152,154,15
6によりこのパケットをそこに接続されたプロセッサPEk
lに送出する。こうして、同じクラスタに属さない2つ
のプロセッサ間でパケットがY優先ルートによりなされ
る。
In FIG. 13B, after receiving this packet (step 162), the switch EXil determines whether A 1 (= k) is equal to its own X-direction address (= i) (step 164). In this case, the result of this determination is negative, the switch replaces the partial addresses A 2 and A 1 , moves A 1 to the beginning of the packet (step 168), and forwards the packet again to the Y partial network NYl ( Step 170).
This partial network Nyl, the packet forwards the packet to the first partial address A 1 (= k) to have the same X-direction address switch Ekl of this packet. In this switch Ekl, steps 152, 154, 15 in FIG.
The processor PEk connected to this packet by 6
send to l. Thus, a packet is routed between two processors that do not belong to the same cluster by the Y priority route.

本実施例のようなネットワークの利点は、各部分ネッ
トワークの規模が小さくなることにより、実装が容易と
なる点にある。そして、上記の様にプロセッサがクラス
タ化されているため、部分ネットワークNYjの中では転
送先アドレスのうち第1部分アドレスA1のみ、NXiの中
では第2部分アドレスA2のみが必要となる。本実施例で
は、ステップEXij中にA1,A2の入れ替え手段を有するた
め、各部分ネットワークNXi、NXj中で必要な部分アドレ
スが常に第1サブパケットにあるので、部分ネットワー
ク中のそれぞれのスイッチは部分アドレスの全ての到着
を待つ必要はなく、高速なデータ転送が可能となる。
An advantage of the network as in the present embodiment is that the scale of each partial network is reduced, thereby facilitating the implementation. The processor as described above because it is clustered, in among the partial network NYj only the first partial address A 1 of the transfer destination address, only the second partial address A 2 becomes necessary in NXi. In this embodiment, since the means for replacing A 1 and A 2 is provided in step EXij, the necessary partial addresses in each of the partial networks NXi and NXj are always in the first subpacket. It is not necessary to wait for all partial addresses to arrive, and high-speed data transfer becomes possible.

第11A図のネットワークの動作時、次のようにかえる
と更に高速化される。
In the operation of the network of FIG. 11A, the speed can be further increased by changing as follows.

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

すなわち、部分ネットワークNXm又はNYn等をそれぞれ
第14A図、第14B図のステップ180A、180Bとして、示すよ
うに、それぞれからパケットをあるスイッチEXmnに出力
する際、そのスイッチに最も近い部分ネットワーク内ス
イッチにおいて、パケット中の部分アドレスA1,A2を入
れかえるように構成する。これは、第9B図において説明
した方法と同様に実現できる。
That is, as shown in FIGS.14A and 180B of the partial network NXm or NYn, respectively, as steps 180A and 180B in FIG. 14B, when outputting a packet from each to a certain switch EXmn, a switch in a partial network closest to the switch is output. , So that the partial addresses A 1 and A 2 in the packet are interchanged. This can be achieved in a manner similar to the method described in FIG. 9B.

これらの結果X部分ネットワークからNXmかはパケッ
トに受信したスイッEXmnの動作は、第14C図に示すよう
になる。図において第13B図と同じ参照番号は同じ処理
をさす。この図から分るようにこの改良された動作で
は、スイッチEXmnは、部分アドレスA1についての判定処
理144を行うのは第13B図の場合と同じであるが、すでに
述べた改良によりX部分ネットワークNXmから送られる
パケットの先頭にこの部分アドレスA1が含まれているの
で、この判定処理144はこの部分アドレスA1が到着し次
第開始できる。また、X部分ネットワークNXmがパケッ
ト出力時にアドレスを入れかえた結果、第13B図で必要
としたアドレス入れかえ第14C図においては必要としな
い。
As a result, the operation of the switch EXmn received from the X partial network in the NXm packet is as shown in FIG. 14C. In the figure, the same reference numerals as those in FIG. 13B 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. 13B, X partial network improvements already mentioned since the beginning of the packet sent from NXm contain this partial address a 1, the determination processing 144 can be initiated as soon as the arrival of the partial address a 1. Further, as a result of the X-subnetwork NXm changing the address at the time of packet output, the address change required in FIG. 13B is not required in FIG. 14C.

同様にY部分ネットワークNYmからパケットを受信し
たときのスイッチEXmnの動作は、第14D図のようにな
る。図において第13C図を同じ参照番号は同じものをさ
す。この場合も、第14C図と第13B図についての比較がそ
のままあてはまる。
Similarly, the operation of the switch EXmn when receiving a packet from the Y partial network NYm is as shown in FIG. 14D. In the figures, the same reference numerals in FIG. 13C denote the same parts. Also in this case, the comparison between FIG. 14C and FIG. 13B is directly applicable.

なお上記の説明で、A1,A2は2ビット、dは2ビット
としたが、これが任意のビット数であっても本発明の効
果に変わりはない。また、転送先アドレスを3分割と
し、X,Y方向の他にZ方向の様な部分ネットワークを設
け、EXijをEXijkの様に4入力ポート/4出力ポートとす
る、という様に、転送先アドレスの分割数を増して良い
ことも明らかである。
Although A 1 and A 2 are 2 bits and d is 2 bits in the above description, the effect of the present invention does not change even if this is an arbitrary number of bits. Also, 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 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.

第15図はそのようなデータ転送ネットワークの実施例
を示す。図において、EX11、NX12、NX14、N44等はX方
向の部分転送ネットワーク7.1を表わし、NY11、NY12、N
Y14、NY44等はY方向の部分転送ネットワークを表わ
し、これらは、第11A図と同じものである本実施例では
Z方向の部分ネットワークNZ11、NZ21、NZ41、NZ14…NZ
44等が設けれている。
FIG. 15 shows an embodiment of such a data transfer network. In the figure, EX 11 , NX 12 , NX 14 , N 44 etc. represent the partial transfer network 7.1 in the X direction, NY 11 , NY 12 , N
Y 14, NY 44 etc. represents the Y direction partial transfer network, these are partial network NZ 11 in this embodiment is the same as the first 11A Figure Z direction, NZ 21, NZ 41, NZ 14 ... NZ
There are 44 etc.

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

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

スイッチEX111は、X方向部分ネットワークNX11、Y
方向部分ネットワークNY11、Z方向部分ネットワークNZ
11およびプロセッサPE111のそれぞれに対して入力ポー
トと出力ポートで接続されている。
The switch EX 111 is connected to the X direction partial network NX 11 , Y
Direction partial network NY 11 , Z direction partial network NZ
11 and the processor PE1 11 are connected to each other through an input port and an output port.

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

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

今、例えば、プロセッサPE111からPE444にパケットを
送出する場合、パケットの転送ルートはいくつかある。
Now, for example, when transmitting a packet from the processor PE 111 to the PE 444, there are several packet transfer routes.

たとえば、 PE111→EX111→NX11→EX411→NY14→EX441→NZ44→EX
444→PE444はその一つである。
For example, PE 111 → EX 111 → NX 11 → EX 411 → NY 14 → EX 441 → NZ 44 → EX
444 → PE 444 is one of them.

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

スイッチEX111がこのパケットを部分ネットワークNX
11に送出する場合、スイッチEX111は第13A図の場合と同
様に、部分アドレスA1,A2,A3を入れかえることなく、転
送する。部分ネットワークNX11はこのパケットを、アド
レスA1に等しいX座標をもつスイッチEX411に送出す
る。スイッチEX411はこのパケット内の部分アドレスA2,
A3,A1の内のA2が自己のY座標と異なるので、Y方向部
分ネットワークNY14に送出する。その際パケット内のア
ドレスをA2、A3、A1の順に入れかえる。このネットワー
クはパケットをアドレスA2に等しいY座標をもつスイッ
チEX441に送出する。
Switch EX 111 passes this packet to partial network NX.
If sent to 11, the switch EX 111 as in the case of FIG. 13A, without replacing the partial address A 1, A 2, A 3 , and transfers. Partial network NX 11 is the packet and sends it to the switch EX 411 with the X coordinate equal to the address A 1. The switch EX 411 sets the partial address A 2 ,
Because A 2 of the A 3, A 1 is different from the self-Y coordinates, and sends the Y direction subnetwork NY 14. At that time, the addresses in the packet are changed in the order of A 2 , A 3 , and A 1 . The network sends to the switch EX 441 with equal Y coordinate a packet to the address A 2.

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

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

なお、第14C、14D図で示したように、スイッチ時EX
411、EX441でのアドレスの入れかえにかえ、部分ネット
ワークNX11、NY14、NZ44が、パケット出力時に3アドレ
ス入れかえをする方がより高速な動作が処理できる。
In addition, as shown in FIGS.
Instead of replacing the addresses in the 411 and EX 441 , the partial network NX 11 , NY 14 and NZ 44 can perform a higher-speed operation by replacing three addresses when outputting a packet.

第16A図は本発明の他の実施例である。PEはプロセッ
サ、EXはスイッチであり、図に示す如く、プロセッサPE
100と同様な複数のプロセッサの各々に対して、スイッ
チEX100と同様な1個のスイッチが設けられ、かつ各々
のスイッチEXは互いに4近傍のスイッチに入力ポート、
出力ポートにより接続されて、網状のデータ転送ネット
ワークを構成している。また、第16B図に示すように、
スイッチEX100はプロセッサPE100との間の入力/出力ポ
ートIP100/OP100、また4近傍スイッチとの間の入力/
出力ポート、IN100/ON100、IW100/OW100、IS100/OS10
0、IE100/OE100を有している。本実施例でも、これまで
述べたと同様、プロセッサ間を転送されるパケットは、
第18図の様に、データ転送路のビット幅dごとに分割さ
れたサブパケットの例から成るパケットとして授受され
る。本実施例が他の実施例と異なるのは、上記パケット
中の転送先アドレスがd−1ビット以下のビット数とな
る様に2分割され、分割された転送先アドレスの上位の
部分をグローバル・アドレスAG、下位の部分をローカル
・アドレスALとして用いるとともに、AG,ALが、それ送
り上部のサブパケットに格納され、かつ、先頭のサブパ
ケットには、それが格納している分割アドレスがAGかAL
かを示すフラグビットLを設けた点である。これで簡単
のため、d=4とし、AG,ALがそれぞれ3ビットとす
る。第17図に示す様に、AG,AL合計6ビットで表わされ
る64個のプロセッサが同図第16A図の様にスイッチで結
合されており、かつ、プロセッサは第17図の様に、同じ
グローバル・アドレスを持つもの8個ずつクラスタ化さ
れている。本実施例では、各々スイッチは、例えば第7A
図、第12図と同様なスイッチを5入力ポート/出力ポー
トの構成とした、第20図に示す構成を用いることができ
る。第20図の各部の動作、及び符号の意味は、第7A図の
同じ英文字(列)で始まる符号を持つ各部と同様であ
る。第20図の構成では第7A図の構成と異なるのは、分割
アドレス記憶用レジスタL12,L22とセレクタS31の間に、
上記フラグビットLのセット回路X21を設けたことであ
る。X21はスイッチコントローラP21からのセット信号XC
21により上記フラグビットLをセットする。以下スイッ
チの動作について述べる。なお、第20図で、R22〜R25で
示される部分は、R21で示される部分と同様の構成であ
り、簡単のため省略して示してある。各プロセッサで
は、データを始めて送出する際にAGを先頭サブパケット
に入れ、かつ、Lビットを0とする。各スイッチにおけ
る処理の手順を第19図に示す。本実施例では、Lビット
が設けられているため、各スイッチはL=0である間は
ローカルアドレスALを参照する必要がなく、従って、上
記の様に分割された転送先アドレスを含む全てのサブパ
ケットの到着を待つことなく、パケットを送出すべき次
段のスイッチを確定することができる。パケットが次々
と転送されて、目標のプロセッサと同じグローバルアド
レスを持クラスタ中のスイッチに入ると、該スイッチで
は、ローカルアドレスALを含むサブパケットの到着を待
ち、第7A図の場合と同様にALとAGを入れ替えて、ローカ
ルアドレスが第1サブパケットに入るようにするととも
に、L=1として次段に送出する。以降のスイッチで
は、今度はグローバルアドレスを含む第2サブパケット
の到着を待つことなく、パケットを送出すべき次段のス
イッチを確定することができる。
FIG. 16A shows another embodiment of the present invention. PE is a processor, EX is a switch, and as shown in the figure, the processor PE
For each of a plurality of processors similar to 100, one switch similar to the switch EX100 is provided, and each switch EX has an input port connected to four switches close to each other,
They are connected by output ports to form a net-like data transfer network. Also, as shown in FIG. 16B,
The switch EX100 has an input / output port IP100 / OP100 with the processor PE100 and an input / output port with the 4-neighbor switch.
Output port, IN100 / ON100, IW100 / OW100, IS100 / OS10
0, IE100 / OE100. Also in this embodiment, as described above, the packet transferred between the processors is:
As shown in FIG. 18, the packet is transmitted and received as a packet including an example of a subpacket divided for each bit width d of the data transfer path. This embodiment is different from the other embodiments in that the transfer destination address in the packet is divided into two so that the number of bits is d-1 bits or less, and the upper part of the divided transfer destination address is globally divided. The address A G , the lower part is used as the local address A L , and A G , A L are stored in the upper sub-packet, and the first sub-packet contains the division stored therein. Address is A G or A L
This is the point that a flag bit L indicating whether or not the above is provided. For simplicity, d = 4, and A G and A L each have 3 bits. As shown in FIG. 17, 64 processors represented by a total of 6 bits of A G and A L are connected by a switch as shown in FIG. 16A, and the processors are arranged as shown in FIG. Eight clusters having the same global address are clustered. In this embodiment, each switch is, for example, a 7A
The configuration shown in FIG. 20 in which a switch similar to that shown in FIG. 12 and FIG. 12 has a configuration of 5 input ports / output ports can be used. The operation of each part in FIG. 20 and the meaning of the reference numerals are the same as those in FIG. 7A having the reference signs starting with the same alphabetic character (string). The configuration of FIG. 20 differs from the configuration of FIG. 7A in that the divided address storage registers L12 and L22 and the selector S31
That is, the setting circuit X21 for setting the flag bit L is provided. X21 is the set signal XC from the switch controller P21
21 sets the flag bit L. The operation of the switch will be described below. In FIG. 20, the portions indicated by R22 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 put in the first subpacket, and the L bit is set to 0. FIG. 19 shows the processing procedure in each switch. In this embodiment, since the L bits are provided, each switch does not need to refer to the local address A L while a L = 0, therefore, everything including the divided transfer destination address as above Without waiting for the sub-packet to arrive, the next-stage switch to which the packet should be sent can be determined. 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 containing the local address A L , as in FIG. 7A. A.sub.L and A.sub.G are exchanged so that the local address is included in the first subpacket, and is transmitted to the next stage as L = 1. 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.

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

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

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

これまでの実施例の説明では、データパケットの先行
は、始めの2つ以上のサブパケットに含まれる転送先ア
ドレスによって示されるとしてきたが、これと等価な、
転送先アドレスを示すためのタグ情報であっても良いこ
とは明らかである。この様なタグ情報としては、例え
ば、発信プロセッサのアドレスと転送先アドレスのExcl
usive Orをとったもの、等を用いることができる。
In the description of the embodiments above, the preceding of the data packet has been indicated by the transfer destination address included in the first two or more subpackets, but the equivalent is as follows.
Obviously, the tag information for indicating the transfer destination address may be used. Such tag information includes, for example, the Excl. Of the address of the transmitting processor and the transfer destination address.
Usive Or can be used.

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

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

第1A図は、第6図の装置の第2段のスイッチ(S14′
等)の概略構成図、 第1B図は、第6図の装置の第1、第3又は第4段のスイ
ッチ(S00′,S24′orS35′)の概略構成図、 第2A図は、本発明によるデータ転送Networkが適用され
る並列計算機システムのブロックを示す図、 第2B図は、本発明のパケットの構造を示す図、 第3図は、本発明と比較するための低速のデータ転送ネ
ットワークの概略構成図、 第4図は、第2図のネットワークのスイッチ(Sij)の
概略構成図、 第5図は第2図のネットワークのスイッチの動作を説明
するための図、 第6図は、第2図のネットワークの動銅タイムチャー
ト、 第7図は、本発明によるデータ転送ネットワークの概略
構成図、 第8図は、第6図の装置のスイッチの動作を説明するた
めの図、 第9A図は、第6図の装置の動作の1例のタイムチャー
ト、 第9B図は、第6図の装置の動作の他の例のタイムチャー
ト、 第10図は、第7図のスイッチに用いるスイッチコントロ
ーラ(P2)の概略構成図、 第11図は、部分ネットワークを用いた、本発明によるデ
ータ転送ネットワークの他の実施例、 第12図は、第11図の装置に用いるスイッチ(EXij)の概
略構成図、 第13A図は、第12図のスイッチ(EXij)が、パケットを
プロセッサから受信したときの動作のフローチャート、 第13B図は、第12図の装置に用いるスイッチ(EXij)が
パケットを部分ネットワークNYから受信したときの動作
のフローチャート、 第13C図は、第12図の装置に用いるスイッチ(EXij)が
パケットを部分ネットワークNXから受信したときの動作
のフローチャート、 第14A図は、第12図の装置のX方向部分ネットワーク(N
Xj)の改良された動作のフローチャート、 第14B図は、第12図の装置のY方向部分ネットワーク(N
Yi)の改良された動作のフローチャート、 第14C図は、第12図の装置のスイッチ(EXij)がY方向
部分ネットワーク(NYi)からパケットを受信したとき
の改良された動作のフローチャート、 第14D図は、第12図の装置のスイッチ(EXij)がX方向
部分ネットワーク(NXj)からパケットを受信したとき
の改良された動作のフローチャート、 第15図は、3次元の、部分ネットワークを用いたデータ
転送ネットワークの実施例、 第16A図は、格子結合のネットワークを用いた本発明の
他の実施例、 第16B図は、第16A図のスイッチ(EX100)の入出力ポー
トを示す図、 第17図は、第16A図の装置におけるデータ転送ルートを
示す図、 第18図は、第16A図の装置に用いるパケットを示す図、 第19図は、第16A図の装置のスイッチ(EX)の動作のフ
ローチャート、 第20図は、第16A図の装置のスイッチ(EX)の概略構成
図である。
FIG. 1A shows a second stage switch (S14 ') of the apparatus of FIG.
FIG. 1B is a schematic diagram of the first, third or fourth stage switches (S00 ', S24' or S35 ') of the apparatus of FIG. 6, and FIG. 2A is the present invention. FIG. 2B is a diagram showing a structure of a packet of the present invention, FIG. 2B is a diagram showing a structure of a packet of the present invention, and FIG. 3 is a diagram of a low-speed data transfer network for comparison with the present invention. FIG. 4 is a schematic configuration diagram of a switch (Sij) of the network of FIG. 2, FIG. 5 is a diagram for explaining the operation of the switch of the network of FIG. 2, and FIG. FIG. 7 is a schematic diagram of the data transfer network according to the present invention, FIG. 8 is a diagram for explaining the operation of the switch of the device of FIG. 6, FIG. 9A. FIG. 9B is a time chart of an example of the operation of the apparatus shown in FIG. 6, and FIG. 6 is a time chart of another example of the operation of the device of FIG. 6, FIG. 10 is a schematic configuration diagram of a switch controller (P2) used for the switch of FIG. 7, and FIG. Another embodiment of the data transfer network, FIG. 12 is a schematic configuration diagram of a switch (EXij) used in the apparatus of FIG. 11, and FIG. 13A is a switch (EXij) of FIG. 13B is a flowchart of the operation when the switch (EXij) used in the device of FIG. 12 receives a packet from the partial network NY, and FIG. 13C is used for the device of FIG. FIG. 14A is a flowchart of the operation when the switch (EXij) receives a packet from the partial network NX. FIG.
Xj) Improved operation flow chart, FIG. 14B shows the Y-direction sub-network (N
FIG. 14C is a flowchart of the improved operation when the switch (EXij) of the apparatus of FIG. 12 receives a packet from the Y-direction partial network (NYi); FIG. 14D 12 is a flowchart of an improved operation when the switch (EXij) of the apparatus of FIG. 12 receives a packet from the X-direction partial network (NXj). FIG. 15 is a three-dimensional data transfer using the partial network. 16A is another embodiment of the present invention using a lattice-coupled network. FIG. 16B is a diagram showing input / output ports of the switch (EX100) in FIG. 16A. 16A is a diagram showing a data transfer route in the device of FIG. 16A. FIG. 18 is a diagram showing a packet used in the device of FIG. 16A. FIG. 19 is a flowchart of the operation of the switch (EX) of the device of FIG. 16A. , FIG. 20, FIG. 16B is a schematic configuration diagram of a switch (EX) of the device in FIG. 16A.

フロントページの続き (72)発明者 田中 輝男 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 濱中 直樹 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 長島 重夫 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 昭60−232743(JP,A) 特開 昭61−289746(JP,A) 特表 昭59−501038(JP,A)Continuing from 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) Special table sho 59-501038 (JP, A)

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のプロセッサを接続し、それら相互の
間でデータを転送するためのデータ転送ネットワークに
おいて、 複数のスイッチが多段に接続され、各段のスイッチは前
段の複数のスイッチと後段の複数のスイッチにそれぞれ
接続され、 各々のスイッチは、前段のスイッチからパケットを受信
する手段を有し、パケットは送り先プロセッサのアドレ
スと送達されるべきデータとを含み、 上記送り先プロセッサのアドレスは複数ビットから構成
される複数の部分アドレスを有し、上記データは複数ビ
ットから構成される複数の部分データを有し、 上記受信手段は、上記複数の部分アドレスの個々の部分
アドレスはそのすべてのビットを並列に受信し、上記複
数の部分データの個々の部分データはそのすべてのビッ
トを並列に受信し、かつ複数の部分アドレス、複数の部
分データを逐次的に受信し、 さらに、各々のスイッチは、 上記受信手段と次段の複数のスイッチの間に接続された
経路選択手段を有し、該経路選択手段は、受信された複
数の部分アドレスの個々の部分アドレスはそのすべての
ビットを並列に転送し、また複数の部分データの個々の
部分データはそのすべてのビットを並列に転送し、かつ
複数の部分アドレス、複数の部分データを次段の複数の
スイッチのうち選択された1つに逐次的に転送し、 さらに、各々のスイッチは、 上記受信手段と経路選択手段に接続された制御手段を有
し、該制御手段は、上記受信された複数の部分アドレス
のうちの予め定められた1つの中の1または複数のビッ
トに応動して上記経路選択手段を制御し、 上記複数のプロセッサは、そのアドレスを構成する上記
複数の部分アドレスの各々のビット数で指定できる数ご
とにクラスタ化され、 データ転送ネットワークは、該クラスタ化されたプロセ
ッサをクラスタ内で相互に接続し、上記多段に構成され
た複数のスイッチで構成される部分ネットワークを有
し、 該部分ネットワークの少なくとも一部のスイッチに含ま
れる上記制御手段は、パケットの最初の部分アドレスの
到着に応動して残りの少なくとも1つ以上の部分アドレ
スが到着する前に、該最初の部分アドレスの中の予め定
められた1または複数のビットをデコードして、上記制
御手段に接続された上記経路選択手段を制御し、 上記複数のプロセッサの任意の1つのプロセッサは、そ
のアドレスを構成する上記複数の部分アドレスの数と同
じ数の複数の部分ネットワークに、部分ネットワークの
いずれにも含まれない他の上記スイッチを介して接続さ
れ、 該スイッチは、部分アドレスの数+1の入力ポートと部
分アドレスの数+1の出力ポートを有し、該入力ポート
の1つは上記1つのプロセッサに接続され、該入力ポー
トの他のものは上記複数の部分ネットワークの各々にそ
れぞれ接続され、該出力ポートの1つは上記1つのプロ
セッサに接続され、該出力ポートの他のものは上記複数
の部分ネットワークの各々にそれぞれ接続されて各々の
入力ポートと各々の出力ポート間でパケットの転送を行
い、 上記複数の部分ネットワークに接続され、部分ネットワ
ークのいずれにも含まれないスイッチは、受信された複
数の部分アドレスの転送順序を変更するための手段を有
し、 パケットがある部分ネットワークから他の部分ネットワ
ークに転送されるときに、 該スイッチの転送順序変更手段は、次段のスイッチの制
御手段がその経路選択手段を制御するに必要な部分アド
レスを、受信したすべての部分アドレスのなかで最初に
転送することを特徴とするデータ転送ネットワーク。
In a data transfer network for connecting a plurality of processors and transferring data between them, a plurality of switches are connected in multiple stages, and a switch in each stage is connected to a plurality of switches in a preceding stage and a switch in a subsequent stage. Each connected to a plurality of switches, each switch having means for receiving a packet from a preceding switch, the packet including an address of a destination processor and data to be delivered, wherein the address of the destination processor is a plurality of bits. And the data has a plurality of partial data composed of a plurality of bits, and the receiving means sets each of the partial addresses of the plurality of partial addresses to have all the bits. Receive in parallel, the individual partial data of the plurality of partial data receive all its bits in parallel, or Receiving a plurality of partial addresses and a plurality of partial data sequentially, and further comprising: each switch has a path selecting means connected between the receiving means and a plurality of switches at the next stage. The means may include that each individual partial address of the received plurality of partial addresses transfers all of its bits in parallel, and that each individual partial data of the plurality of partial data transfers all of its bits in parallel; A partial address and a plurality of partial data are sequentially transferred to a selected one of a plurality of switches at the next stage, and each switch has a control unit connected to the reception unit and the path selection unit. The control means controls the path selection means in response to one or more bits of a predetermined one of the plurality of received partial addresses, and the plurality of processors Clustered by the number of bits of each of the plurality of partial addresses constituting the address, the data transfer network interconnects the clustered processors in a cluster, and comprises The control means included in at least a part of switches of the partial network includes at least one or more remaining switches in response to the arrival of the first partial address of the packet. Before the partial address arrives, decodes one or more predetermined bits in the first partial address to control the path selecting means connected to the control means, and Any one of the processors may have the same number of partial nets as the number of the partial addresses constituting the address. Connected to the network via another of the above switches not included in any of the partial networks, the switch having an input port of the number of partial addresses +1 and an output port of the number of partial addresses +1; One of the input ports is connected to the one processor, the other of the input ports is connected to each of the plurality of sub-networks, one of the output ports is connected to the one processor, and the output port is The other is connected to each of the plurality of partial networks and transfers packets between each input port and each output port, and is connected to the plurality of partial networks and included in any of the partial networks. The switch that does not have a means for changing the transfer order of the received partial addresses, and When transferred from the work to another partial network, the transfer order changing means of the switch replaces the partial addresses necessary for the control means of the next-stage switch to control the path selecting means with all the received partial addresses. A data transfer network characterized by the first transfer among them.
【請求項2】複数のプロセッサを接続し、それら相互の
間でデータを転送するためのデータ転送ネットワークに
おいて、 複数のスイッチが多段に接続され、各段のスイッチは前
段の複数のスイッチと後段の複数のスイッチにそれぞれ
接続され、 各々のスイッチは、前段のスイッチからパケットを受信
する手段を有し、パケットは送り先プロセッサのアドレ
スと送達されるべきデータとを含み、 上記送り先プロセッサのアドレスは複数のビットから構
成される複数の部分アドレスを有し、上記データは複数
ビットから構成される複数の部分データを有し、 上記受信手段は、上記複数の部分アドレスの個々の部分
アドレスはそのすべてのビットを並列に受信し、上記複
数の部分データの個々の部分データはそのすべてのビッ
トを並列に受信し、かつ複数の部分アドレス、複数の部
分データを逐次的に受信し、 さらに、各々のスイッチは、 上記受信手段と次段の複数のスイッチの間に接続された
経路選択手段を有し、該経路選択手段は、受信された複
数の部分アドレスの個々の部分アドレスはそのすべての
ビットを並列に転送し、また複数の部分データの個々の
部分データはそのすべてのビットを並列に転送し、かつ
複数の部分アドレス、複数の部分データを次段の複数の
スイッチのうち選択された1つに選択的に転送し、 さらに、各々のスイッチは、 上記受信手段と経路選択手段に接続された制御手段を有
し、該制御手段は、上記受信された複数の部分アドレス
のうちの予め定められた1つの中の1または複数のビッ
トに応動して上記経路選択手段を制御し、 上記複数のプロセッサは、そのアドレスを構成する上記
複数の部分アドレスの各々のビット数で指定できる数ご
とにクラスタ化され、 データ転送ネットワークは、該クラスタ化されたプロセ
ッサをクラスタ内で相互に接続し、上記他段に構成され
た複数のスイッチで構成される部分ネットワークを有
し、 上記複数のプロセッサの任意の1つのプロセッサは、そ
のアドレスを構成する上記複数の部分アドレスの数と同
じ数の複数の部分ネットワークに、部分ネットワークの
いずれにも含まれない他の上部分ネットワークのいずれ
にも含まれない他の上記スイッチを介して接続され、 該スイッチは、部分アドレスの数+1の入力ポートと部
分アドレスの数+1の出力ポートを有し、該入力ポート
の1つは上記1つのプロセッサに接続され、該入力ポー
トの他のものは上記複数の部分ネットワークの各々にそ
れぞれ接続され、該出力ポートの1つは上記1つのプロ
セッサに接続され、該出力ポートの他のものは上記複数
の部分ネットワークの各々にそれぞれ接続されて各々の
入力ポートと各々の出力ポート間でパケットの転送を行
い、 上記複数の部分ネットワークに接続され、部分ネットワ
ークのいずれにも含まれないスイッチに含まれる上記制
御手段は、パケットの最初の部分アドレスの到着に応動
して残りの少なくとも1つ以上の部分アドレスが到着す
る前に、該最後の部分アドレスの中の予め定められた1
または複数のビットのデコードして、上記制御手段に接
続された上記経路選択手段を制御し、 上記複数の部分ネットワークのスイッチのうち、少なく
とも一部のスイッチに含まれる上記制御手段は、パケッ
トの最初の部分アドレスの到着に応動して残りの少なく
とも1つ以上の部分アドレスが到着する前に、該最初の
部分アドレスの中の予め定められた1または複数のビッ
トをデコードして、上記制御手段に接続された上記経路
選択手段を制御し、 上記複数の部分ネットワークのスイッチのうち、上記他
の特定のスイッチは受信された複数の部分アドレスの転
送順序を変更するための手段を有し、 該スイッチの転送順序変更手段は、次段のスイッチの制
御手段がその経路選択手段を制御するに必要な部分アド
レスを、受信したすべての部分アドレスのなかで最初に
転送することを特徴とするデータ転送ネットワーク。
2. In a data transfer network for connecting a plurality of processors and transferring data between them, a plurality of switches are connected in multiple stages, and a switch in each stage is connected to a plurality of switches in a preceding stage and a switch in a subsequent stage. Each connected to a plurality of switches, each switch having means for receiving a packet from a preceding switch, the packet including an address of a destination processor and data to be delivered, wherein the address of the destination processor is a plurality of switches. A plurality of partial addresses composed of bits, the data has a plurality of partial data composed of a plurality of bits, and the receiving means includes: Are received in parallel, and each partial data of the plurality of partial data receives all its bits in parallel, And a plurality of partial addresses and a plurality of partial data are sequentially received. Further, each switch has a path selecting means connected between the receiving means and a plurality of switches at the next stage. The means may include that each individual partial address of the received plurality of partial addresses transfers all of its bits in parallel, and that each individual partial data of the plurality of partial data transfers all of its bits in parallel; A partial address and a plurality of partial data are selectively transferred to a selected one of a plurality of switches at the next stage, and each switch has a control unit connected to the reception unit and the path selection unit. The control means controls the path selection means in response to one or more bits of one of the plurality of received partial addresses, and controls the plurality of processors. Are clustered by a number that can be specified by the number of bits of each of the plurality of partial addresses constituting the address, and the data transfer network interconnects the clustered processors in a cluster, And an arbitrary one of the plurality of processors is connected to a plurality of partial networks having the same number as the number of the plurality of partial addresses constituting the address. , Connected through another of the above switches not included in any of the upper sub-networks not included in any of the sub-networks, the switch comprising an input port of the number of the partial addresses + 1 and the number of the input of the partial addresses + 1 One of the input ports is connected to the one processor, and the other of the input ports is One of the output ports is connected to each of the plurality of sub-networks, one of the output ports is connected to the one processor, and the other one of the output ports is respectively connected to each of the plurality of sub-networks and has a respective input. A packet is transferred between a port and each output port, and the control means included in a switch connected to the plurality of partial networks and not included in any of the partial networks determines whether or not the first partial address of the packet arrives. In response, before the remaining at least one or more partial addresses arrive, a predetermined one of the last partial addresses is determined.
Or decoding a plurality of bits to control the path selection means connected to the control means, wherein the control means included in at least some of the switches of the plurality of sub-networks includes: In response to the arrival of the partial address, before the remaining at least one or more partial addresses arrive, one or more predetermined bits in the first partial address are decoded, and Controlling the connected path selection means, wherein the other specific switch among the switches of the plurality of partial networks has means for changing a transfer order of the received plurality of partial addresses; The transfer order changing means of the above-mentioned means switches the partial address necessary for the control means of the next-stage switch to control the path selecting means to all the received partial addresses. Data transfer network, characterized in that the first transfer among the dress.
【請求項3】それぞれ入力端と出力端とを有する複数の
プロセッサと、上記複数のプロセッサのためのデータ転
送用ネットワークとを有する並列計算機であって、 上記データ転送用ネットワークは、 それぞれ入力端及び出力端の対を複数有し、それらの間
でデータを並列に転送可能な複数の部分ネットワークを
具備してなる第1及び第2の部分ネットワーク群と、 上記複数のプロセッサの各プロセッサに対応して設けら
れた複数のスイッチとを有し、 上記複数のスイッチのそれぞれは、対応するプロセッサ
の上記入力端及び上記出力端と、上記第1の部分ネット
ワーク群に属する1つの部分ネットワークの上記入力端
及び出力端の対と、上記第2の部分ネットワーク群に属
する1つの部分ネットワークの上記入力端及び出力端の
対とに接続され、上記対応するプロセッサの上記入力
端、上記第1の部分ネットワーク群に属する1つの部分
ネットワークの上記入力端、及び上記第2の部分ネット
ワーク群に属する1つの部分ネットワークの上記入力端
の何れか一つの入力端から転送されたデータを、該デー
タに応じて上記対応するプロセッサの上記出力端、上記
第1の部分ネットワーク群に属する1つの部分ネットワ
ークの上記出力端、及び上記第2の部分ネットワーク群
に属する1つの部分ネットワークの上記出力端の何れか
の出力端に転送するよう制御し、 上記第1及び第2の部分ネットワーク群の上記複数の部
分ネットワークのそれぞれは、上記複数の入力端及び出
力端の対を、上記複数のスイッチを介することなく相互
に結合するデータ転送経路を有することを特徴とする並
列計算機。
3. A parallel computer comprising: a plurality of processors each having an input terminal and an output terminal; and a data transfer network for the plurality of processors, wherein the data transfer network comprises an input terminal and a data transfer network. A first and a second sub-network group having a plurality of pairs of output terminals and having a plurality of sub-networks capable of transferring data in parallel between them; Each of the plurality of switches is provided with the input terminal and the output terminal of a corresponding processor, and the input terminal of one of the partial networks belonging to the first partial network group. And a pair of output terminals and a pair of the input terminal and the output terminal of one sub-network belonging to the second sub-network group. One of the input terminal of the corresponding processor, the input terminal of one of the partial networks belonging to the first partial network group, and the input terminal of one of the partial networks belonging to the second partial network group The data transferred from one input terminal is transmitted to the output terminal of the corresponding processor, the output terminal of one partial network belonging to the first partial network group, and the second partial network according to the data. Controlling the transfer to any one of the output terminals of one of the sub-networks belonging to the group, wherein each of the plurality of sub-networks of the first and second sub-network groups includes the plurality of input terminals and A pair of output terminals having a data transfer path that couples each other without passing through the plurality of switches. Parallel computer.
【請求項4】それぞれ入力端と出力端とを有する複数の
プロセッサと、上記複数のプロセッサのためのデータ転
送用ネットワークとを有する並列計算機であって、 上記データ転送用ネットワークは、 それぞれ入力端及び出力端の対を複数有し、それらの間
でデータを並列に転送可能な第1及び第2の部分ネット
ワークと、 上記複数のプロセッサに対応して設けられた複数のスイ
ッチとを有し、 上記複数のスイッチそれぞれは、上記プロセッサの上記
入力端及び上記出力端と、上記第1の部分ネットワーク
の上記入力端及び出力端の対と、上記第2の部分ネット
ワークの上記入力端及び出力端の対とに接続され、上記
プロセッサの上記入力端、上記第1の部分ネットワーク
の上記入力端、及び上記第2の部分ネットワークの上記
入力端の何れか一つの入力端から転送されたデータを、
該データに応じて上記プロセッサの上記出力端、上記第
1の部分ネットワークの上記出力端、及び上記第2の部
分ネットワークの上記出力端の何れかの出力端に転送す
るよう制御し、 上記第1及び第2の部分ネットワークはそれぞれ、上記
複数の入力端及び出力端の対を、上記複数のスイッチを
介することなく相互に結合するデータ転送経路を有する
ことを特徴とする並列計算機。
4. A parallel computer comprising: a plurality of processors each having an input terminal and an output terminal; and a data transfer network for the plurality of processors, wherein the data transfer network includes an input terminal and a data transfer network. A first and a second partial network having a plurality of pairs of output terminals and capable of transferring data in parallel between them, and a plurality of switches provided corresponding to the plurality of processors; Each of the plurality of switches includes the input terminal and the output terminal of the processor, the pair of the input terminal and the output terminal of the first partial network, and the pair of the input terminal and the output terminal of the second partial network. Any of the input of the processor, the input of the first sub-network, and the input of the second sub-network. Data transferred from one input terminal
Controlling the data to be transferred to any one of the output terminal of the processor, the output terminal of the first partial network, and the output terminal of the second partial network according to the data; And a second partial network having a data transfer path that couples the plurality of pairs of input terminals and output terminals to each other without passing through the plurality of switches.
【請求項5】それぞれ入力端と出力端とを有する複数の
プロセッサと、上記複数のプロセッサのためのデータ転
送用ネットワークとを有する並列計算機であって、 上記データ転送用ネットワークは、 X、Y、及びZ方向の3次元状に設けられ、それぞれ入
力端及び出力端の対を複数有し、それらの間でデータを
並列に転送可能な複数の部分ネットワークと、 上記複数のプロセッサに対応して設けられた複数のスイ
ッチとを有し、 上記複数のスイッチのぞれぞれは、上記プロセッサの上
記入力端及び上記出力端と、上記複数の部分ネットワー
クの各部分ネットワークの上記入力端及び出力端の対と
に接続され、上記プロセッサの上記入力端、上記複雑の
部分ネットワークの各部分ネットワークの上記入力端の
何れか一つの入力端から転送されたデータを、該データ
に応じて上記プロセッサの上記出力端、上記複数の部分
ネットワークの各部分ネットワークの上記出力端の何れ
かの出力端に転送するよう制御し、 上記複数の部分ネットワークはそれぞれ、上記複数の入
力端及び出力端の対を、上記複数のスイッチを介するこ
となく相互に結合するデータ転送経路を有することを特
徴とする並列計算機。
5. A parallel computer comprising: a plurality of processors each having an input terminal and an output terminal; and a data transfer network for the plurality of processors, wherein the data transfer network comprises X, Y, And a plurality of partial networks that are provided in a three-dimensional manner in the Z direction and have a plurality of pairs of input terminals and output terminals, respectively, and that can transfer data in parallel between them, and are provided corresponding to the plurality of processors. A plurality of switches, each of the plurality of switches being connected to the input terminal and the output terminal of the processor and the input terminal and the output terminal of each of the partial networks of the plurality of partial networks. Connected to a pair, and transferred from any one of the input terminal of the processor and the input terminal of each of the partial networks of the complex partial network. Control the data to be transferred to the output end of the processor in accordance with the data, to one of the output ends of the output ends of the respective partial networks of the plurality of partial networks. A parallel computer having a data transfer path that couples the plurality of pairs of input terminals and output terminals to each other without passing through the plurality of switches.
【請求項6】上記スイッチは、転送データ内の転送先ア
ドレス情報の一部に応答して転送経路を選択するスイッ
チコントローラを有することを特徴とする特許請求の範
囲第3項乃至第5項の何れかに記載の並列計算機。
6. The switch according to claim 3, wherein said switch has a switch controller for selecting a transfer path in response to a part of transfer destination address information in transfer data. A parallel computer according to any of the above.
【請求項7】上記スイッチは、上記転送先アドレス情報
のどの部分が上記転送経路を決定するためのものである
かを決める情報を保持するメモリを有することを特徴と
する特許請求の範囲第6項に記載の並列計算機。
7. The switch according to claim 6, wherein said switch has a memory for storing information for determining which part of said transfer destination address information is for determining said transfer path. A parallel computer according to the item.
JP18560388A 1987-07-27 1988-07-27 Data transfer network for parallel computers Expired - Fee Related JP2954220B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (3)

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

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP32984797A Division JP3002659B2 (en) 1988-07-27 1988-07-27 Data transfer network
JP7186831A Division JPH0830571A (en) 1995-07-24 1995-07-24 Data transfer network

Publications (2)

Publication Number Publication Date
JPH01105642A JPH01105642A (en) 1989-04-24
JP2954220B2 true JP2954220B2 (en) 1999-09-27

Family

ID=26503127

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2954220B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107590A (en) * 2004-10-04 2006-04-20 Nec Electronics Corp Semiconductor integrated circuit device and its test method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161156A (en) * 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
JP5521559B2 (en) * 2010-01-07 2014-06-18 日本電気株式会社 Parallel computing network device and control method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4494230A (en) * 1982-06-25 1985-01-15 At&T Bell Laboratories Fast packet switching system
JPS60232743A (en) * 1984-05-01 1985-11-19 Agency Of Ind Science & Technol Switching network
US4742511A (en) * 1985-06-13 1988-05-03 Texas Instruments Incorporated Method and apparatus for routing packets in a multinode computer interconnect network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107590A (en) * 2004-10-04 2006-04-20 Nec Electronics Corp Semiconductor integrated circuit device and its test method

Also Published As

Publication number Publication date
JPH01105642A (en) 1989-04-24

Similar Documents

Publication Publication Date Title
US4918686A (en) Data transfer network suitable for use in a parallel computer
EP1226501B1 (en) Network switch and components and method of operation
EP1208676B1 (en) Network switch using network processor
KR100468800B1 (en) Network processor
US5559970A (en) Crossbar switch for multi-processor, multi-memory system for resolving port and bank contention through the use of aligners, routers, and serializers
KR100334922B1 (en) Efficient output-request packet switch and method
US4952930A (en) Multipath hierarchical network
US7403536B2 (en) Method and system for resequencing data packets switched through a parallel packet switch
JPH0638607B2 (en) Packet switched multi-port memory NxM switch node and processing method
JPH0856230A (en) Switching system
EP0138952A4 (en) A self-routing switching network.
WO2001016682A1 (en) Vlsi network processor and methods
WO2001016777A1 (en) Network processor processing complex and methods
JPH10512737A (en) Switching device, method and apparatus
US6757284B1 (en) Method and apparatus for pipeline sorting of ordered streams of data items
JP2954220B2 (en) Data transfer network for parallel computers
EP1360595A2 (en) Scaleable interconnect structure for parallel computing and parallel memory access
JP3002659B2 (en) Data transfer network
EP0186595B1 (en) Routing technique
JPH0830571A (en) Data transfer network
KR960027840A (en) Terabit class packet exchange apparatus and method
JPH05191411A (en) Method and apparatus for searching pattern
JP2853652B2 (en) Packet transmitting method and apparatus in inter-processor communication
KR100378588B1 (en) Asynchronous transfer mode switch and cell format
Pan et al. Short circuits in buffered multi-stage interconnection networks

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070716

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees