JPH0713956A - Simd type parallel computer data transfer device - Google Patents

Simd type parallel computer data transfer device

Info

Publication number
JPH0713956A
JPH0713956A JP15715293A JP15715293A JPH0713956A JP H0713956 A JPH0713956 A JP H0713956A JP 15715293 A JP15715293 A JP 15715293A JP 15715293 A JP15715293 A JP 15715293A JP H0713956 A JPH0713956 A JP H0713956A
Authority
JP
Japan
Prior art keywords
data
register
transfer
board
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP15715293A
Other languages
Japanese (ja)
Inventor
Takashi Yoshida
尊 吉田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP15715293A priority Critical patent/JPH0713956A/en
Publication of JPH0713956A publication Critical patent/JPH0713956A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE:To provide a data transfer device whereby adjacent communication is executed at a higher speed in an SIMD type parallel computer at the time when an inter-board latency exists. CONSTITUTION:Respective element processors are provided with a data holding register with the depth of the same number as latency increase by an inter-board data transfer part, a BRD flag indicating whether or not data held by the respective data holding registers is BRD and a data selecting F/F holding information indicating whether or not BRD reaches the most end of the data holding registers. Moreover, a selector selecting data from the data holding register by the value of the data selecting F/F, a counter capable of counting the number obtained by adding the number of the element processor where data in the board passes through and the number of an inter-board register stage and a communication register, are provided.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、並列計算機の要素プロ
セッサ間通信回路に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a communication circuit between element processors of a parallel computer.

【0002】[0002]

【従来の技術】SIMD型並列マシンは、同期的に動作
するため、一斉に同一方向にデータを転送するといった
事が容易に行える。例えばリング状の隣接結合路を、シ
フト転送して数個先のPEにデータを転送するといった
処理が良く行われる。
2. Description of the Related Art Since SIMD type parallel machines operate synchronously, data can be easily transferred all at once in the same direction. For example, a process such as shift-transferring a ring-shaped adjacent coupling path to transfer data to several PEs ahead is often performed.

【0003】図3に要素プロセッサの1次元隣接接合の
図を示す。隣接通信は以下のような動作で転送を行う。
まず各要素プロセッサ内で、データを転送レジスタにセ
ットする。転送レジスタは隣の要素プロセッサの転送レ
ジスタとパイプラインレジスタ状に連結されている。次
に、転送命令で隣の要素プロセッサの転送レジスタにデ
ータを転送する。SIMDであるため、このデータ転送
は各転送レジスタで一斉に行われる。隣の要素プロセッ
サにデータを送る場合は転送命令を1回、離れた要素プ
ロセッサに送る場合は同転送命令を複数回繰り返す。そ
の後、各要素プロセッサで転送レジスタからデータを取
り込む。これらの動作により、1個あるいは複数個先の
要素プロセッサにデータを転送することが出来る。
FIG. 3 shows a diagram of a one-dimensional adjacent joint of the element processor. Adjacent communication is transferred by the following operations.
First, in each element processor, data is set in the transfer register. The transfer register is connected to the transfer register of the adjacent element processor in the form of a pipeline register. Next, the data is transferred to the transfer register of the adjacent element processor by the transfer instruction. Since it is SIMD, this data transfer is performed simultaneously in each transfer register. When data is sent to the adjacent element processor, the transfer instruction is repeated once, and when it is sent to the distant element processor, the transfer instruction is repeated a plurality of times. After that, each element processor fetches data from the transfer register. By these operations, data can be transferred to one or more element processors ahead.

【0004】また、これらSIMD型並列計算機におい
ては、全ての要素プロセッサが等価に扱われる必要があ
るため、ボード内部での要素プロセッサ間の接続と、ボ
ード間にまたがる要素はプロセッサの接合部分は同じも
のを使用している。
Further, in these SIMD type parallel computers, all the element processors must be treated equivalently, so that the connection between the element processors inside the board and the element joining across the boards have the same processor joint part. I'm using one.

【0005】[0005]

【発明が解決しようとする課題】通常、並列計算機では
プロセッサの動作周波数が低いため、隣接通信での動作
周波数は余り時間にならない。すなわちプロセッサの動
作周波数に対して、隣接通信のハード的な速度が十分早
いことになる。しかしながら、近年はプロセッサの動作
周波数が向上しており、SIMD型並列計算機では色々
な問題が出てくる。そのひとつとしては上記に挙げた、
一斉のPE間シフト転送である。同一ボード内では、現
在の技術力でも200〜300MHzで転送は出来そう
である。しかし、並列度の規模が大きくなり、複数ボー
ドでシステムを構成した場合、ボード間の隣接通信は、
同一ボード内での隣接通信よりははるかに負荷が大き
く、ボード内部での転送速度とのアンバランスが出てく
る。
Normally, in a parallel computer, the operating frequency of the processor is low, so the operating frequency in adjacent communication does not take much time. That is, the hardware speed of adjacent communication is sufficiently high with respect to the operating frequency of the processor. However, in recent years, the operating frequency of the processor has been improved, and various problems arise in the SIMD type parallel computer. As one of the above,
This is a simultaneous shift transfer between PEs. Within the same board, it seems possible to transfer at 200-300 MHz even with the current technological capabilities. However, when the scale of parallelism becomes large and the system is composed of multiple boards, the adjacent communication between the boards is
The load is much heavier than the adjacent communication on the same board, and the imbalance with the transfer speed inside the board comes out.

【0006】そのため、ボード間の隣接通信の部分に、
レジスタを挿入し、転送をECL等の高速バッファで行
い、転送速度の差を縮める事が考えられる。この場合、
レジスタが挿入されるため、ボード内の隣接通信のレー
テンシよりも、1あるいは2レーテンシが増える。この
場合、普通にシフト転送を行うと、ボード間のレジスタ
のに最初に入っている意味のない値(以下BRD)が間
に挿入される形になる。また、隣接通信をボード内部の
高速にデータ転送出来るところもボード間転送のレート
に合わせてしまい、間になにもない場合に対して、ボー
ド間1回隔てるごとに1ステージあるいは2ステージの
到達遅れが生じ、とくに連続したシフト動作による長距
離のデータ転送では、転送時間が2倍、3倍にもなって
しまう。
Therefore, in the adjacent communication part between the boards,
It is conceivable to insert a register and perform transfer by a high-speed buffer such as ECL to reduce the difference in transfer speed. in this case,
Since the register is inserted, the latency of 1 or 2 is added to the latency of the adjacent communication in the board. In this case, when the shift transfer is normally performed, the meaningless value (hereinafter referred to as BRD) initially stored in the register between the boards is inserted between them. In addition, the location where high-speed data transfer within the adjacent communication is possible matches the rate of inter-board transfer, and when there is nothing in between, one stage or two stages are reached for each separation between boards. A delay occurs, and particularly in long-distance data transfer by continuous shift operation, the transfer time becomes double or triple.

【0007】そこで、本発明はこのような事情に鑑みて
なされたものであり、その目的とするところは、ボード
間のデータ転送部分が低速であっても、隣接通信動作の
レートを落とすことなくデータ転送を行うことが出来る
データ転送装置の実現を目的とする。
Therefore, the present invention has been made in view of such circumstances, and an object of the present invention is to reduce the rate of adjacent communication operation even if the data transfer portion between boards is low speed. The object is to realize a data transfer device capable of transferring data.

【0008】[0008]

【課題を解決するための手段】上記問題を解決するため
に、本発明では、各要素プロセッサには、ボード間のデ
ータ転送部分によるレーテンシの増加と同数の深さのパ
イプライン状のレジスタ(以下データ保持レジスタと呼
ぶ)と、各データ保持レジスタには保持しているデータ
がBRDかどうかを示すBRDフラグと、BRDがデー
タ保持レジスタの一番端に到達したかどうかの情報を保
持するF/F(以下データ選択用F/Fと呼ぶ)と、デ
ータ選択用F/Fの値により、データ保持レジスタから
データを選択するセレクタと、ボード上のデータの通過
する要素プロセッサ数とボード間のレジスタ段数を合計
した数をカウントする事が可能なカウンタと、通信レジ
スタから構成される。
In order to solve the above problems, according to the present invention, each element processor has a pipeline-like register (hereinafter referred to as a pipeline-like register) having the same depth as the increase in latency due to a data transfer portion between boards. Data holding register), a BRD flag indicating whether or not the data held in each data holding register is BRD, and an F / F that holds information indicating whether or not the BRD has reached the end of the data holding register. F (hereinafter referred to as “data selection F / F”), a selector for selecting data from the data holding register according to the value of the data selection F / F, and the number of element processors through which the data on the board passes and the register between the boards It is composed of a counter capable of counting the total number of stages and a communication register.

【0009】さらに、ボード間接合部に置いて、ボード
内の要素プロセッサ間の通信にかかる時間をp、ボード
間の転送にかかる時間をtとしたとき、送り手側の出力
レジスタと受け手側の入力レジスタの組をt/p組と、
送り手順には周期tでt/p個のp時間ずつずれたクロ
ックを発生するクロック発生回路と、受け手側には前記
クロック発生回路の出力を受けて入力レジスタから取り
出すデータを選択するデータ選択回路から構成される。
Furthermore, when the time required for communication between the element processors in the boards is p and the time required for transfer between the boards is t at the joint between the boards, the output register on the sender side and the receiver side The input register set is t / p set,
In the sending procedure, a clock generation circuit that generates clocks that are shifted by t / p p times in a cycle t, and a data selection circuit that selects the data to be taken out from the input register by receiving the output of the clock generation circuit on the receiving side Composed of.

【0010】さらに、1つのボード上の要素プロセッサ
数がa、ボード間の転送レーテンシがb、データの転送
先がn個隣の要素プロセッサであるとき、転送命令をn
+b×(1+n mod a)個の隣接通信命令を排出
するコンパイラにより、動作する。
Further, when the number of element processors on one board is a, the transfer latency between boards is b, and the data transfer destination is n adjacent element processors, n transfer instructions are issued.
It is operated by a compiler that ejects + b × (1 + n mod a) adjacent communication instructions.

【0011】また、各ボード間転送レジスタと、通信レ
ジスタと、データ保持手段には、転送処理開始時に前記
ボード間転送レジスタに入っていたデータかどうかを識
別する手段と、該識別手段により前記ボード間転送レジ
スタのデータが前記データ保持手段の一番端に到達した
かどうかを認識し、到達したことを保持する状態保持手
段により、前記通信レジスタのデータか、データ保持手
段の最後段のデータかを選択する選択手段をもってい
る。
Further, the inter-board transfer register, the communication register, and the data holding means include means for identifying whether or not the data is in the inter-board transfer register at the start of the transfer process, and the board by the identifying means. Whether the data in the inter-transfer register has reached the end of the data holding means, and whether the data in the communication register or the data in the last stage of the data holding means is recognized by the status holding means that holds the arrival. Has a selection means for selecting.

【0012】また、各ボード間転送レジスタの前記識別
手段をセットし、通信レジスタとデータ保持手段の識別
手段の一部と前記状態保持手段をリセットする機能を持
つ状態設定命令を、上記コンパイラの出力による転送命
令列に挿入する、あるいは前記状態設定命令が転送命令
をかねる場合は、前記転送命令列の一部を前記状態設定
命令におきかえる事により、n>aの場合でも、転送処
理を正常に制御し得る命令列により上記データの選択手
段をソフト的に制御する。
Also, a state setting instruction having a function of setting the identifying means of each inter-board transfer register and resetting a part of the identifying means of the communication register and the data holding means and the state holding means is output from the compiler. In the case where n> a, the transfer process is normally performed by replacing a part of the transfer instruction sequence with the state setting instruction when the state setting instruction also serves as a transfer instruction. The data selection means is software controlled by a controllable instruction sequence.

【0013】また、ボード上のデータの通過する要素プ
ロセッサ数とボード間のレジスタ段数を合計した数をカ
ウントする事が可能なカウント手段により、同カウント
手段がゼロに戻るときあるいは設定された値になったと
きに前記状態保持手段と、データ保持手段の識別手段の
一部をリセットすることにより、n>aの場合でも、デ
ータ選択手段をハード的に制御する制御部をもってい
る。
Further, the counting means capable of counting the total number of the element processors through which the data on the board passes and the number of register stages between the boards is counted by the counting means when the counting means returns to zero or to a set value. In the case of n> a, the control section controls the data selection means by hardware by resetting the state holding means and a part of the identification means of the data holding means.

【0014】さらに、上記ボード内データ転送に使用す
る素子とボード間データ転送に使用する素子において、
駆動力がボード内部の通信用素子<ボード間の通信用素
子となるような、別々の素子を使用する。
Further, in the element used for the in-board data transfer and the element used for the inter-board data transfer,
Separate elements are used so that the driving force is such that the communication element inside the board <the communication element between the boards.

【0015】[0015]

【作用】本発明では、送られてきたデータをボード間の
レーテンシの数と同数の深さのパイプラインレジスタで
あるデータ保持レジスタに保持し、1bitデータ選択
用F/Fの値により、最終的に送られてきたデータを、
転送レジスタの値か、データ保持レジスタ最終段の値か
を選択しする。データ選択用F/Fの動作は、BRDフ
ラグを見て、データ保持レジスタ最終段に入るデータが
BRDならば、データ選択用F/Fをセットする。ま
た、1枚のボード上で転送径路上につらなるPEの台数
+ボード間の転送レーテンシ分だけカウントできるカウ
ンタを設け、隣接通信を1回実行する毎にカウントアッ
プするし、1枚のボード上で転送径路上につらなるPE
の台数+ボード間の転送レーテンシだけカウントアップ
したら、カウンタ自信とデータ選択用F/Fおよび通信
レジスタとデータ保持レジスタのBRDフラグをリセッ
トする。データ選択用F/Fおよび各BRDフラグのリ
セットは、カウンタがある設定値に達した時にリセット
するようにしても良い。あるいは、カウンタを使用せ
ず、リセットを行う命令により、ソフトの制御で適時リ
セットを行っても良い。同リセット命令は、転送命令を
兼ねる事により、カウンタを使用したハードによる制御
と同等の転送性能を出す個とが出来る。一連の転送命令
終了の後、データの選択はF/Fの内容により、データ
保持レジスタ最終段のデータか、転送レジスタのデータ
かを選択して自PEに取り込む。
According to the present invention, the transmitted data is held in the data holding register which is a pipeline register having the same number of depths as the latency between the boards, and the final bit is selected by the F / F value for 1-bit data selection. Data sent to
Select the value of the transfer register or the value of the last stage of the data holding register. The operation of the data selection F / F is to set the data selection F / F when the BRD flag is checked and the data in the final stage of the data holding register is BRD. In addition, a counter that can count only the number of PEs on the transfer path on one board + the transfer latency between the boards is provided to count up each time adjacent communication is executed. PE hung on the transfer path
After counting up the transfer latency between the number of units and the transfer latency between boards, the counter confidence and the data selection F / F, and the BRD flag of the communication register and the data holding register are reset. The data selection F / F and each BRD flag may be reset when the counter reaches a certain set value. Alternatively, instead of using the counter, a reset command may be used to perform a timely reset under software control. The reset instruction also serves as a transfer instruction, so that the transfer performance equivalent to that of hardware control using a counter can be achieved. After the completion of the series of transfer instructions, the data is selected according to the contents of the F / F, either the data at the final stage of the data holding register or the data in the transfer register, and the data is fetched into the PE.

【0016】また、ボード間データ転送では、クロック
生成回路からの立ち上がり時間のずれた低周波数のクロ
ックが各出力レジスタにつながれており、各レジスタは
PEの動作クロックでのp時間毎に順次送られてくるデ
ータをラッチし、データが受け手側レジスタに届くまで
の時間nだけ保持する。クロック生成回路の出力は受け
手側の入力データ選択回路にも送られる。同信号を見
て、入力データ選択回路は、受け手側ボードの通信レジ
スタに転送するデータを、入力レジスタから選択する。
すなわち、動作周波数の低い入力/出力レジスタの複数
の組を、位相ずらして使用する事により、高いスループ
ットを実現する。
In the inter-board data transfer, low-frequency clocks with different rise times from the clock generation circuit are connected to the output registers, and the registers are sequentially sent every p hours of the PE operation clock. The incoming data is latched and held for the time n until the data reaches the receiving side register. The output of the clock generation circuit is also sent to the input data selection circuit on the receiving side. Seeing the signal, the input data selection circuit selects the data to be transferred to the communication register of the receiving side board from the input register.
That is, a high throughput is realized by using a plurality of sets of input / output registers having a low operating frequency while shifting the phases.

【0017】[0017]

【実施例】以下に本発明の一実施例を述べる。EXAMPLE An example of the present invention will be described below.

【0018】まず要素プロセッサ(以下PEと呼ぶ)内
部の構成について述べる。ボード間のデータ転送では、
レーテンシはあるものの、スループットは同一ボード上
での隣接通信のスループットと同等であることを仮定す
る。本実施例では、ボード間の通信機構は、送り手ボー
ド側に転送レジスタを1つ、受け手側に転送レジスタを
1つもち、同レジスタ間は同一ボード上の隣接通信と同
等の転送速度でデータ転送が行えるものとする。例え
ば、要素プロセッサ間はGTL等の小振幅のバッファを
用いて高速転送を行うが、ボード間の配線をGTLでド
ライブするのは苦しいため、ボード間はECLのバッフ
ァを用いる。そうしたとき、ボード間の回路での動作
は、あるクロックで、送り手側PEの通信レジスタか
ら、送り手側のボードの通信レジスタにデータを転送す
る。次のクロックで、送り手側のボードの通信レジスタ
から受け手側のボードの通信レジスタにデータを転送す
る。次のクロックで受け手側のボードの通信レジスタか
ら受け手側PEの通信レジスタにデータを転送する。こ
の場合、ボード間でのデータの転送のレーテンシは2と
なる。ただし、ボード間のデータ転送はパイプライン動
作を行うので、スループットは同一ボード内でのPE通
信と同じである。
First, the internal structure of the element processor (hereinafter referred to as PE) will be described. For data transfer between boards,
Although there is latency, it is assumed that the throughput is equivalent to the throughput of adjacent communication on the same board. In this embodiment, the communication mechanism between the boards has one transfer register on the sender board side and one transfer register on the receiver side, and the data transfer between the registers is the same as that of the adjacent communication on the same board. Transfer shall be possible. For example, high-speed transfer is performed between element processors by using a small-amplitude buffer such as GTL, but it is difficult to drive the wiring between boards by GTL, so an ECL buffer is used between boards. At that time, the operation of the circuit between the boards transfers data from the communication register of the sender side PE to the communication register of the sender side board at a certain clock. At the next clock, data is transferred from the communication register of the sender board to the communication register of the receiver board. At the next clock, data is transferred from the communication register of the receiving side board to the communication register of the receiving side PE. In this case, the latency of data transfer between boards is 2. However, since the data transfer between the boards is a pipeline operation, the throughput is the same as the PE communication in the same board.

【0019】本実施例では、32PEをリング状に1次
元結合した場合を想定する。ボードは4枚からなり、各
ボードには8台のPEが載っているものとする。このと
き、通信のためのレジスタは、各PEの通信レジスタと
ボード間の転送レジスタをあわせて計40個のレジスタ
がリング状に結合されている事になる(図4)。
In this embodiment, it is assumed that 32 PEs are one-dimensionally connected in a ring shape. It is assumed that there are 4 boards, and that 8 PEs are mounted on each board. At this time, as a register for communication, a total of 40 registers including a communication register of each PE and a transfer register between boards are combined in a ring shape (FIG. 4).

【0020】例えば、ボード間のレーテンシを考えない
で良い場合、4つ右隣のPEにデータを転送したい時、
各PEで通信レジスタにデータをセットした後、4回の
右方向転送命令を行うと、通常では図5のように全ての
PEで4つ隣に送られるが、ボード間の転送にレーテン
シがある場合、図6のように、PE4〜7の通信レジス
タにはそれぞれPE0〜3のデータが届いているが、P
E2,3の通信レジスタには、ボード間の転送レジスタ
に入っていた意味のないデータ(BRD)が届いてい
る。また、PE0,1の通信レジスタにはそれぞれPE
30,31のデータが届いており、このデータは2つ左
隣のPRからのデータである。
For example, when it is not necessary to consider the latency between boards, and when data is to be transferred to the PEs on the right of four,
When data is set in the communication register in each PE and a rightward transfer instruction is performed four times, normally all PEs are sent to the next four as shown in FIG. 5, but there is latency in the transfer between boards. In this case, as shown in FIG. 6, although the data of PE0 to PE3 have reached the communication registers of PE4 to PE7 respectively,
The meaningless data (BRD) stored in the transfer register between boards has arrived at the communication registers E2 and E3. Also, PEs are set in the communication registers of PEs 0 and 1, respectively.
The data of 30 and 31 have arrived, and this data is the data from the PR on the left of the two.

【0021】ボード上の通信径路上につらなるPEの数
をa、ボード間のレーテンシをb、通常の場合の転送数
をnとすると、n+b×(1+n mod a)回、転
送すれば、全てのPEに必要なデータ転送ができる。本
実施例では、a=8、b=2である。上記例であるn=
4の場合、ボード間のレーテンシが2の場合は4+2×
(1+4 mod 8)=6で、6回の転送命令を行え
ば、全てのPEに、4つのデータがとどく。n=12で
は、16回の転送命令で届く。
If the number of PEs connected to the communication path on the board is a, the latency between the boards is b, and the number of transfers in a normal case is n, then n + b × (1 + n mod a) times, then all the transfers are performed. Data required for PE can be transferred. In this embodiment, a = 8 and b = 2. In the above example, n =
In case of 4, latency between boards is 2 + 4 + 2 ×
If (1 + 4 mod 8) = 6 and six transfer instructions are issued, four data will reach all PEs. If n = 12, it will arrive with 16 transfer commands.

【0022】しかしながら、n=4の場合、単純に6回
転送命令を実行すると、命令を終了した時点で、PE0
〜3の通信レジスタには4つの隣の正しいデータが入っ
ているが、PE4,5の通信レジスタにはBRDが入っ
ており、PE6,7の転送レジスタには、それぞれPE
0,1のデータが入っている。これは6左隣のPEの値
であり、本来PE6,7が受け取るべきデータではない
(図7)。
However, in the case of n = 4, if the transfer instruction is simply executed 6 times, PE0 is executed when the instruction is completed.
Although the communication registers of ~ 3 contain four pieces of correct data next to each other, the communication registers of PE4, 5 contain BRD, and the transfer registers of PE6, 7 contain PE respectively.
Contains 0 and 1 data. This is the value of PE on the left of 6 and is not the data that PEs 6 and 7 should originally receive (FIG. 7).

【0023】そのため、本特許では、各PEに複数段の
データ保持レジスタを設置し、数クロック前に転送レジ
スタに入ってきたデータを保持し、転送命令が終了し、
常時転送レジスタから値を読み出すときに、転送レジス
タおよびデータ保持レジスタの中から、読み出すデータ
を選択することにより、正常なデータ転送処理を行う回
路を提案する。
Therefore, in this patent, a plurality of stages of data holding registers are installed in each PE, the data that has entered the transfer register several clocks before is held, and the transfer instruction ends,
We propose a circuit that performs normal data transfer processing by selecting the data to be read from the transfer register and the data holding register when reading a value from the constant transfer register.

【0024】本実施例のPE内部の転送部の構成を述べ
る。図1に本実施例のPE内部の転送部のブロック図を
示す。PE内部には、通信レジスタの他に、2クロック
前までの通信レジスタに入ってきたデータを保持するた
めのデータ保持レジスタ2個(データ保持レジスタ0,
1)を設ける。データ保持レジスタは図1に示す通り、
通信レジスタからデータをシフトするパイプライン状に
接続されている。この他、同保持レジスタとともに、保
持しているデータがBRDかどうかを示すBRDフラ
グ、取り出すデータを選択するセレクタ、セレクタの選
択信号となる値を保持する1bitのフリップフロップ
(データ選択用F/F)からなる。さらに、必要な場合
は、同選択F/FおよびBRDフラグをリセットするた
めのカウンタを設ける。カウンタはボード上のPEの数
+ボード間のレーテンシだけカウントできるもので、本
実施例では9までカウントすると0に戻るカウンタであ
る。
The structure of the transfer unit inside the PE of this embodiment will be described. FIG. 1 shows a block diagram of a transfer unit inside the PE of this embodiment. In the PE, in addition to the communication register, two data holding registers (data holding registers 0, 0,
1) is provided. The data holding register is as shown in FIG.
It is connected in a pipeline to shift data from the communication register. In addition to the holding register, a BRD flag indicating whether the held data is BRD, a selector for selecting the data to be taken out, a 1-bit flip-flop (a data selection F / F for holding a value serving as a selection signal of the selector). ) Consists of. Further, if necessary, a counter for resetting the same selection F / F and BRD flag is provided. The counter is capable of counting only the number of PEs on the board + latency between the boards. In this embodiment, the counter returns to 0 after counting up to 9.

【0025】まずn<aの場合を考える。これは、どの
PEも、BRDの組が最大1回しか通らない場合であ
る。BRDの組とは、1つのボード間のレジスタのBR
Dのことで、本実施例では、BRD1組は連続した2つ
のBRDからなる。図8に転送命令6回を終了した時点
での各レジスタの内容を示す。図から分かるとおり、P
E0〜PE3は通信レジスタの値を読み込み、PE4〜
7はデータ保持レジスタ1の値を読み込めば良い。これ
は他のボードでも同様で、ボード内8PEのうち、番号
の若い4個のPEは通信レジスタからデータを読み込
み、番号の大きい4個は保持レジスタ1のデータを読み
込む。
First, consider the case of n <a. This is the case when any PE passes the BRD set only once at most. A set of BRD is a BR of registers between one board.
In the present embodiment, one set of BRDs consists of two consecutive BRDs. FIG. 8 shows the contents of each register at the time when six transfer instructions have been completed. As you can see from the figure, P
E0 to PE3 read the value of the communication register, and PE4 to PE4
7 may read the value of the data holding register 1. This also applies to other boards. Of the 8 PEs in the board, the 4 PEs with the smallest numbers read the data from the communication register, and the 4 PEs with the large numbers read the data from the holding register 1.

【0026】例えば転送回数が1多い場合、すなわちn
=5であって、転送命令回数が7である場合は、図9に
示すように図8の状態が1右にシフトした状態となる。
この場合、PE0〜4が通信レジスタから値を読みだ
し、PE5〜7がデータ保持レジスタ1からデータを読
み出す。
For example, when the number of transfers is one, that is, n
= 5 and the number of transfer instructions is 7, the state of FIG. 8 is shifted to the right by 1 as shown in FIG.
In this case, PE0-4 read the value from the communication register, and PE5-7 read the data from the data holding register 1.

【0027】ここで、セレクタに入れる選択信号である
が、図8,9を見ると、BRDがデータ保持レジスタ1
に達する以前はデータ保持レジスタ1を選択し、BRD
がデータ保持レジスタ1に達した後は、転送レジスタを
選択すれば良い事になる。このため選択信号の機構は1
bitのF/F(データセレクト用F/F)でよく、F
/Fの値をセットするタイミングは、BRDが保持レジ
スタ1にラッチされたと同時にセットされれば良い。こ
れは、データがBRDであるかどうかを示すフラグ(以
下BRDフラグ)をデータにつけて各転送レジスタおよ
びデータ保持レジスタに保持しておけば良い。各PE
で、通信レジスタにデータをセットする際、BRDフラ
グをリセットし、ボード間の転送レジスタのBRDフラ
グをセットする。データセレクト用F/Fのセットはセ
ットが非同期の場合は保持レジスタ1のBRDフラグ
を、同期の場合は保持レジスタ0のBRDフラグを見
る。
Here, regarding the selection signal to be input to the selector, when looking at FIGS. 8 and 9, BRD is the data holding register 1.
Before reaching, the data holding register 1 is selected and BRD
After the data reaches the data holding register 1, the transfer register should be selected. Therefore, the selection signal mechanism is 1
F / F of bit (F / F for data selection) is enough.
The timing of setting the value of / F may be set at the same time when BRD is latched in the holding register 1. To do this, a flag indicating whether the data is BRD (hereinafter referred to as BRD flag) is attached to the data and held in each transfer register and data holding register. Each PE
When the data is set in the communication register, the BRD flag is reset and the BRD flag in the inter-board transfer register is set. The F / F for data selection is set by looking at the BRD flag of the holding register 1 when the set is asynchronous, and by looking at the BRD flag of the holding register 0 when the set is synchronous.

【0028】新たな転送処理を行う場合は、通信レジス
タへのデータのセットと同時にデータセレクト用F/F
をリセットする。保持レジスタ0,1は、データは何で
もよいが、BRDフラグがセットされた状態ではよくな
いので、通信レジスタへのデータのセットと同時にBR
Dフラグをリセットする。同時に、ボード間の転送レジ
スタのBRDフラグをセットする。
When performing a new transfer process, the data selection F / F is performed at the same time when the data is set in the communication register.
To reset. Although the holding registers 0 and 1 may be any data, it is not good when the BRD flag is set. Therefore, BR is set at the same time as the data is set in the communication register.
Reset the D flag. At the same time, the BRD flag of the transfer register between boards is set.

【0029】これらの機構により、n<aの場合は正常
動作する。
With these mechanisms, normal operation is achieved when n <a.

【0030】次にn≧aの場合を考える。Next, consider the case of n ≧ a.

【0031】n=7の時、転送命令が終了した時点、す
なわち転送命令を9回行った時点では、全てのPEは読
み出すレジスタの選択を通信レジスタにしているはずで
ある。ここでnが1増えると、転送回数は3増える事に
なる。n=8で転送命令を終了した場合、すなわち転送
命令を12回行った時点での各PEのレジスタの状態を
図10に示す。図10からも分かるとおり、PE0は通
信レジスタを選択し、PE1〜7は保持レジスタ1を選
択しなければならない。このため、どこかでデータセレ
クト用F/Fをリセットする必要がある。また、9回の
転送命令を終了した時点から、さらに転送を行う場合
は、9回の転送命令が終了の時点がちょうど転送を始め
る初期状態、すなわち、転送レジスタにデータをセット
した状態と同じであるから、9回の転送命令を終了した
時点がさらに転送命令を実行する場合は、各PEの保持
レジスタのBRDもフラグもリセットする必要がある。
When n = 7, at the time when the transfer instruction is completed, that is, when the transfer instruction is performed 9 times, all PEs should have selected the register to be read as the communication register. When n is increased by 1, the number of transfers is increased by 3. FIG. 10 shows the state of the register of each PE when the transfer instruction is completed when n = 8, that is, when the transfer instruction is performed 12 times. As can be seen from FIG. 10, PE0 must select the communication register and PE1 to PE7 must select the holding register 1. Therefore, it is necessary to reset the data selection F / F somewhere. Further, when the transfer is further performed after the transfer command of 9 times is completed, it is the same as the initial state when the transfer command of 9 times is completed, that is, the state where the data is set in the transfer register. Therefore, if the transfer instruction is further executed when the transfer instruction is completed nine times, it is necessary to reset both the BRD and the flag of the holding register of each PE.

【0032】上記セット&リセットを行う方法として、
命令を新たに設ける事が考えられる。例えば、BRDフ
ラグのセットおよびデータセレクト用F/Fのリセット
を行う命令を設けるか、同処理+転送を同時に行う命令
を設ける。コンパイラにより、転送命令9回を実行した
後にセット/リセットの命令を挿入するか、10回目の
転送命令をセット/リセット+転送命令に置き換えるこ
とにより、BRDフラグおよびデータセレクト用F/F
のリセットを行う。この方法によれば、1枚のボード上
に載せるPEの数が変わっても、容易に対応する事が可
能となる。
As a method for performing the above set & reset,
It is conceivable to provide a new command. For example, an instruction to set the BRD flag and reset the F / F for data selection is provided, or an instruction to simultaneously perform the same processing + transfer is provided. The compiler inserts a set / reset instruction after executing the transfer instruction 9 times, or replaces the 10th transfer instruction with a set / reset + transfer instruction, and thereby the BRD flag and the F / F for data selection are selected.
Reset. According to this method, even if the number of PEs mounted on one board is changed, it is possible to easily deal with it.

【0033】リセットするタイミングは、ボード上のP
E数をa、ボード間のレーテンシをbとした時、a+b
の整数倍の転送命令を実行する時である。ただし、一連
の転送処理で実行される隣接転送命令の回数は、 (a+b)×i+b≦転送命令回数<(a+b)×(i
+1) i:整数 となる。上記例では、7PE隣ならば、転送命令9回
で、8PE隣ならば12回の転送命令を行う。つまり、
10回目,11回目の転送を終了した時点で、データを
読み出すことはない。そのため、データ選択用F/Fの
リセットは、(a+b)×iから、(a+b)×i+b
−1番目のどの転送命令の実行時にリセットすればよ
い。ただし、どの命令でリセットを行うかの決定は、ど
のBRDフラグをリセットするかに注意を払う必要があ
る。
The timing for resetting is P on the board.
When the number of E is a and the latency between boards is b, a + b
It is time to execute a transfer instruction that is an integer multiple of. However, the number of adjacent transfer instructions executed in a series of transfer processing is (a + b) × i + b ≦ number of transfer instructions <(a + b) × (i
+1) i: It becomes an integer. In the above example, the transfer instruction is performed 9 times if it is next to 7PE, and 12 times if it is next to 8PE. That is,
No data is read at the time when the 10th and 11th transfers are completed. Therefore, the data selection F / F is reset from (a + b) × i to (a + b) × i + b.
It may be reset when any of the first transfer instructions is executed. However, it is necessary to pay attention to which BRD flag is reset when deciding which instruction is used for resetting.

【0034】(a+b)×iから、(a+b)×i+b
−1番目の各PEのデータ保持レジスタ内のBRD保持
レジスタ内のBRDを考えると、(a+b)×i番目の
時には、有効なBRDはPE0の通信レジスタにしかな
く、データ保持レジスタ内のBRDは全て無効でなけれ
ばならない。(a+b)×i+1番目の時は、PE0の
データ保持レジスタの1段目に有効なBRDか現れる。
そのため、もし(a+b)×i+1番目でセット/リセ
ット処理を行う場合は、データ保持レジスタの2段目以
降のBRDフラグをセットする必要がある。(a+b)
×i+2番目では、データ保持レジスタの3段目以降を
セットする。(a+b)×i+b−2番目では、データ
保持レジスタの最終段のBRDフラグのみをセットすれ
ば良く、(a+b)×i+b−1番目では、BRDフラ
グをリセットする必要はない。
From (a + b) × i, (a + b) × i + b
Considering the BRD in the BRD holding register in the data holding register of each −1st PE, at the time of (a + b) × i th, the valid BRD is only in the communication register of PE0, and the BRD in the data holding register is All must be invalid. At the time of (a + b) × i + 1th, a valid BRD appears in the first stage of the data holding register of PE0.
Therefore, if the (a + b) × i + 1th set / reset processing is performed, it is necessary to set the BRD flag of the second and subsequent stages of the data holding register. (A + b)
In the case of xi + 2, the third and subsequent stages of the data holding register are set. At (a + b) × i + b−2nd, it is sufficient to set only the BRD flag at the final stage of the data holding register, and at (a + b) × i + b−1th, it is not necessary to reset the BRD flag.

【0035】リセット処理を行うためだけに命令数を増
やしたくない場合は、ハード的に転送命令数をカウント
し、自動的にセット/リセット動作を行うことを考え
る。そのために、ハード的にセット/リセット処理を行
うために、各PEにカウンタを設ける。
If it is not desired to increase the number of instructions just for the reset processing, it is considered that the number of transfer instructions is counted by hardware and the set / reset operation is automatically performed. Therefore, a counter is provided in each PE in order to perform the set / reset processing by hardware.

【0036】本実施例での具体的な構成を示す。本実施
例では、1ボード上のPEが8、ボード間のレーテンシ
が2であるので、9までカウント出来るカウンタが有れ
ば良い。9までカウントアップした後は0に戻る。0に
戻るときが10の整数倍の転送命令であるので、この時
データ選択F/Fをリセットし、データ保持レジスタの
BRDフラグをリセットすればよい。
A specific configuration in this embodiment will be shown. In this embodiment, since the PE on one board is 8 and the latency between the boards is 2, it suffices to have a counter capable of counting up to 9. After counting up to 9, it returns to 0. Since the transfer instruction when returning to 0 is an integral multiple of 10, the data selection F / F and the BRD flag of the data holding register may be reset at this time.

【0037】具体例としては、9回目の転送命令が終了
した時点で、BRDはPR6のデータ保持レジスタ1と
PE7のデータ保持レジスタ0,1に存在する。10回
目の転送命令処理時に、データ選択F/Fをリセットす
ると同時にPE7のデータ保持レジスタのBRDのフラ
グをセットすればよい。11回目の転送命令処理時にデ
ータ選択フラグをリセットする場合は、リセットするB
RDフラグがないため、効率的となる。
As a specific example, the BRD exists in the data holding register 1 of the PR6 and the data holding registers 0 and 1 of the PE7 when the ninth transfer instruction is completed. During the tenth transfer instruction processing, the data selection F / F may be reset and the BRD flag of the data holding register of the PE 7 may be set at the same time. To reset the data selection flag during the 11th transfer instruction processing, reset B
It is efficient because there is no RD flag.

【0038】以上の回路を用いる事により、n>aの転
送も可能となる。
By using the above circuit, it becomes possible to transfer n> a.

【0039】上記実施例では、転送方向を右方向を例と
したが、逆方向への転送も同一の回路で処理できる。
In the above embodiment, the rightward transfer direction is taken as an example, but the reverse transfer can also be processed by the same circuit.

【0040】上記実施例で述べた回路での柔軟性を考え
る。具体的には、1ボード内のPEの台数の変化と、ボ
ード間の転送レーテンシの変化への対応である。
Consider the flexibility of the circuit described in the above embodiment. Specifically, it corresponds to the change in the number of PEs in one board and the change in transfer latency between boards.

【0041】まず、1ボード内いのPEの台数の変化に
関して考える。PEの台数が変化した場合に変更が必要
となるのは、カウンタのカウント数と、データ選択F/
Fのリセットタイミングである。これはボード間の転送
レーテンシが変化した場合にも対応が必要なところであ
る。
First, the change in the number of PEs in one board will be considered. When the number of PEs changes, it is necessary to change the number of counters and the data selection F /
This is the reset timing of F. This is where it is necessary to deal with the case where the transfer latency between boards changes.

【0042】カウンタのカウント数、およびデータ選択
F/Fのリセットタイミングを自由に変更できるように
するために、以下の構成で実現する。ある程度の余裕を
持った数までカウントできるリセット付きカウンタと、
カウント数の最大値を保持するカウント数保持レジスタ
と、同カウント数保持レジスタの値とカウンタの値か
ら、カウンタへのリセット信号を生成するカウンタリセ
ット回路と、データ選択F/Fをリセットするタイミン
グを保持するレジスタと、同レジスタとカウンタの値か
ら、データ選択F/Fへのリセット信号を生成するデー
タ選択F/Fリセット信号生成回路で構成する。図11
に構成図を示す。上記2つのレジスタは、プロセッサの
状態レジスタの1つとして扱えば、余分な命令を増やす
ことはない。
In order to be able to freely change the count number of the counter and the reset timing of the data selection F / F, the following configuration is used. With a counter with reset that can count to a number with some margin,
A count number holding register that holds the maximum value of the count number, a counter reset circuit that generates a reset signal to the counter from the value of the count number holding register and the value of the counter, and the timing to reset the data selection F / F It is composed of a register for holding and a data selection F / F reset signal generation circuit for generating a reset signal to the data selection F / F from the value of the register and the counter. Figure 11
The block diagram is shown in. If the above two registers are treated as one of the status registers of the processor, extra instructions will not be added.

【0043】リセットのタイミングをソフトで制御する
場合は、上記カウンタ及びカウンタ制御回路は必要なく
なる。
When the reset timing is controlled by software, the counter and counter control circuit are not necessary.

【0044】次に、ボード間のデータ転送レーテンシの
変化への対応考える。カウンタ、データ選択F/Fのリ
セットタイミングに関する対応は、上記1ボード上のP
E数の変化に対する対応と同じ構成で対処できる。この
他問題となるのは、データ保持レジスタの段数である。
データ保持レジスタの段数は、ボード間データ転送レー
テンシ数に等しい。そのため、レーテンシが変化すれ
ば、それにあわせて段数も変化する必要がある。
Next, consideration will be given to dealing with changes in the data transfer latency between boards. For the counter and the reset timing of the data selection F / F, refer to P on the above 1 board.
It can be dealt with with the same configuration as the response to the change in the E number. Another problem is the number of stages of the data holding register.
The number of stages of the data holding register is equal to the number of inter-board data transfer latencies. Therefore, if the latency changes, the number of stages must change accordingly.

【0045】そこで、上記レーテンシの変化に対応する
ために、予想される最大のレーテンシの数と同じ段数の
データ保持レジスタと、レーテンシの値を保持するレー
テンシ保持レジスタと、同レーテンシ保持レジスタの値
により、前記データ保持レジスタの各出力から1つのデ
ータを選択する保持データセレクタで構成し、データ選
択F/Fで選択されるデータは、保持データセレクタに
より選択されたデータと、転送レジスタのデータのどち
らかを選択するように構成する。図12に構成図を示
す。
Therefore, in order to cope with the above-mentioned change in latency, a data holding register having the same number of stages as the expected maximum latency, a latency holding register holding a latency value, and a value of the latency holding register are used. , A holding data selector that selects one data from each output of the data holding register, and the data selected by the data selection F / F is either the data selected by the holding data selector or the data in the transfer register. Or configure to select. FIG. 12 shows a block diagram.

【0046】レーテンシ数保持レジスタに入っている値
により、複数あるデータ保持レジスタから1つのデータ
及びBRDフラグを選択する。選択されたデータ保持レ
ジスタがそのレーテンシでの最下段のレジスタというこ
とになり、同レジスタの値を転送レジスタのデータとの
選択データとし、BRDフラグはセット信号としてデー
タ選択F/Fに送られる。
According to the value stored in the latency number holding register, one data and BRD flag are selected from a plurality of data holding registers. The selected data holding register is the lowermost register in that latency, the value of the register is used as selection data with the data of the transfer register, and the BRD flag is sent to the data selection F / F as a set signal.

【0047】制御をソフトで行う場合は、上記例から、
カウンタを省くことが出来る。ソフトによる制御を行う
ための制御ソフト生成フロー図を示すと図14の様にな
る。
When performing control by software, from the above example,
You can omit the counter. FIG. 14 shows a control software generation flow chart for performing control by software.

【0048】次に、ボード間のデータ転送機構の実施例
を述べる。図2に本発明の一実施例を示す。上記PE内
部の転送回路の実施例では、ボード間のデータ転送速度
がボード上のPE間の転送速度と同じとした。そのた
め、図2でいえば送り手側は出力レジスタ0と受け手側
入力レジスタ0の一組だけで構成されていた事になる。
本実施例では、ボード間のデータ転送速度がボード上の
PEの転送速度の3倍かかる場合を考える。ボード上の
PE間の転送速度が5nsであり、ボード間が15ns
かかるとする。
Next, an embodiment of the data transfer mechanism between boards will be described. FIG. 2 shows an embodiment of the present invention. In the embodiment of the transfer circuit inside the PE, the data transfer rate between the boards is the same as the transfer rate between the PEs on the board. Therefore, in FIG. 2, the sender side is composed of only one set of the output register 0 and the receiver side input register 0.
In the present embodiment, consider a case where the data transfer rate between boards takes three times the transfer rate of PEs on the board. The transfer rate between PEs on the board is 5 ns, and the transfer rate between boards is 15 ns
Suppose this.

【0049】送り手側ボードに出力レジスタ0,1,2
の3つのレジスタを設け、送り手側ボードのPEからく
るデータを格納するレジスタを、200MHz動作で5
ns毎に出力レジスタ選択回路で選択して、データをセ
ットする。各出力レジスタには1対1対応で受け手側ボ
ード上に入力レジスタ0,1,2が接続されており、レ
ジスタ間の転送は66.67MHz動作の15nsで行
う。クロック生成回路では、5nsずつ位相のずれた3
種類の66.67MHzクロックを生成し、各出力レジ
スタに与えられる。また、同3クロックはそれぞれの出
力レジスタに対応したデータ信号とともに、受け手側ボ
ードに送られ、入力レジスタに与えられる。また、同3
クロック信号は受け手側ボードの入力データ選択回路に
入り、3相のクロックから、どの入力レジスタからデー
タを読み出すかを選択する。図13に、クロック生成回
路からの3つの出力と、3つの出力レジスタの内容と、
受け手側ボードのセレクタからの出力を示す。
Output registers 0, 1, 2 are provided on the sender side board.
3 registers are provided, and the register that stores the data coming from PE on the sender side is
It is selected by the output register selection circuit every ns and data is set. Input registers 0, 1, and 2 are connected to the output registers on the receiving side board in a one-to-one correspondence, and transfer between the registers is performed in 15 ns of 66.67 MHz operation. In the clock generation circuit, the phase shift is 3
A type of 66.67 MHz clock is generated and provided to each output register. Further, the same three clocks are sent to the receiving side board together with the data signal corresponding to each output register, and given to the input register. Also, the same 3
The clock signal enters the input data selection circuit of the receiving side board and selects from which input register the data is read out from the three-phase clock. FIG. 13 shows three outputs from the clock generation circuit and contents of three output registers,
The output from the selector on the receiving board is shown.

【0050】以上のようにして、ボード間の、転送に時
間がかかる場合でも、スループットを高くすることが出
来る。
As described above, the throughput can be increased even when the transfer between the boards takes time.

【0051】[0051]

【発明の効果】以上のように、本発明によれば、ボード
上の通信経路上につらなるPEの数をa、ボード間のレ
ーテンシをb、通常の場合の転送数をnとすると、n+
b×(1+n mod a)回転送すれば、全てのPE
に必要なデータが1ボードでシステムを構築した場合と
同様のスループットで転送できる。
As described above, according to the present invention, if the number of PEs on the communication path on the board is a, the latency between the boards is b, and the transfer number in the normal case is n, then n +
All PEs can be transferred by b × (1 + n mod a) times.
The data required for can be transferred with the same throughput as when a system is constructed with one board.

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

【図1】ボード間レーテンシ2の場合のPE内の通信部
のブロック図。
FIG. 1 is a block diagram of a communication unit in a PE in the case of inter-board latency 2.

【図2】ボード間の転送時間がPEの動クロックの3倍
遅い場合のボード間データ転送部。
FIG. 2 is an inter-board data transfer unit when the inter-board transfer time is 3 times slower than the PE dynamic clock.

【図3】PEの1次元結合例。FIG. 3 shows an example of one-dimensional joining of PEs.

【図4】4ボード32PEの1次元リング結合。FIG. 4 is a one-dimensional ring combination of four boards 32PE.

【図5】32PEの1次元リング結合理想モデルでデー
タを4PE右隣に送った例。
FIG. 5 shows an example in which data is sent to the right next to 4PE in a one-dimensional ring-coupling ideal model of 32PE.

【図6】32PEの1次元リング結合ボード間2レーテ
ンシでデータを4PE右隣に送った例。
FIG. 6 is an example in which data is sent to the right side of 4PE with two latencies between 32PE one-dimensional ring-bonded boards.

【図7】32PEの1次元リング結合ボード間2レーテ
ンシでデータを6PE右隣に送った例。
FIG. 7 shows an example in which data is sent to the right side of 6PE with two latencies between 1D ring-bonded boards of 32PE.

【図8】図1のモデルで6PE右に転送した時のレジス
タの状態図。
FIG. 8 is a state diagram of registers when 6PE is transferred to the right in the model of FIG.

【図9】図1のモデルで7PE右に転送した時のレジス
タの状態図。
FIG. 9 is a state diagram of registers when data is transferred to the 7PE right side in the model of FIG.

【図10】図1のモデルで12PE右に転送した時のレ
ジスタの状態図。
FIG. 10 is a state diagram of registers when data is transferred to the right by 12PE in the model of FIG.

【図11】ボード間レーテンシに柔軟性をもたせたPE
内通信部のカウンタ部のブロック図。
FIG. 11 PE with flexible inter-board latency
The block diagram of the counter part of an internal communication part.

【図12】ボード間レーテンシ最大3までに柔軟性をも
たせたPE内通信部のブロック図。
FIG. 12 is a block diagram of an intra-PE communication unit that has flexibility with a maximum inter-board latency of 3.

【図13】図2でのクロック生成回路からの出力タイミ
ングチャート。
13 is an output timing chart from the clock generation circuit in FIG.

【図14】ソフトによる制御を行うための制御ソフト生
成フロー図。
FIG. 14 is a control software generation flow chart for performing control by software.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ボード間を跨ぐ通信路等でレーテンシ0
での転送が不可能であり、ボード間の通信を行うための
ボード間転送レジスタをもつ並列計算機の隣接通信路に
備えられるデータ転送装置において、 各要素プロセッサには、隣接通信を行うための通信レジ
スタと、同通信レジスタのもつデータを保持する、ボー
ド間のデータ転送に必要なレーテンシと同等の深さのパ
イプラインレジスタ状のデータ保持手段と、複数回のデ
ータ転送命令の後、最終的に受け取るべきデータを、通
信レジスタと、データ保持手段から選択する選択手段と
からなることを特徴とするSIMD型並列計算機データ
転送装置。さらに、1つのボード上の要素プロセッサ数
がa、ボード間の転送レーテンシがb、データの転送先
がn個隣の要素プロセッサであるとき、転送命令をn+
b×(1+n mod a)個の隣接通信命令を排出す
るコンパイラにより、動作する。また、各ボード間転送
レジスタと、通信レジスタと、データ保持手段には、転
送処理開始時に前記ボード間転送レジスタに入っていた
データかどうかを識別する手段と、該識別手段により前
記ボード間転送レジスタのデータが前記データ保持手段
の一番端に到達したかどうかを認識し、到達したことを
保持する状態保持手段により、前記通信レジスタのデー
タか、データ保持手段の最後段のデータかを選択する選
択手段をもっている。また、各ボード間転送レジスタの
前記識別手段をセットし、通信レジスタとデータ保持手
段の識別手段の一部と前記状態保持手段をリセットする
機能を持つ状態設定命令を、上記コンパイラの出力によ
る転送命令列に挿入する、あるいは前記状態設定命令が
転送命令をかねる場合は、前記転送命令列の一部を前記
状態設定命令におきかえる事により、n>aの場合で
も、転送処理を正常に制御し得る命令列により上記デー
タの選択手段をソフト的に制御する。また、ボード上の
データの通過する要素プロセッサ数とボード間のレジス
タ段数を合計した数をカウントする事が可能なカウント
手段により、同カウント手段がゼロに戻るときあるいは
設定された値になったときに前記状態保持手段と、デー
タ保持手段の識別手段の一部をリセットすることによ
り、n>aの場合でも、データ選択手段をハード的に制
御する制御部をもっている。
1. A latency of 0 in a communication path that crosses between boards.
In a data transfer device equipped with an inter-board transfer register for performing inter-board communication that is not installed in the adjacent communication path of a parallel computer, each element processor has a communication function for performing the adjacent communication. After the register and the data held by the communication register, a pipeline register-like data holding means having a depth equivalent to the latency required for data transfer between boards, and finally after a plurality of data transfer instructions A SIMD type parallel computer data transfer device comprising a communication register and a selecting means for selecting data to be received from a data holding means. Further, when the number of element processors on one board is a, the transfer latency between the boards is b, and the data transfer destination is n adjacent element processors, the transfer instruction is n +
It is operated by a compiler that ejects b × (1 + n mod a) adjacent communication instructions. Further, each inter-board transfer register, communication register, and data holding means, means for identifying whether or not the data is in the inter-board transfer register at the start of transfer processing, and the inter-board transfer register by the identifying means. Whether the data of the communication register reaches the end of the data holding means, and the state holding means for holding the arrival of the data selects the data of the communication register or the last data of the data holding means. Has a means of choice. Further, a state setting instruction having a function of setting the identifying means of each inter-board transfer register and resetting a part of the identifying means of the communication register and the data holding means and the state holding means is a transfer instruction by the output of the compiler. When inserting into a column or when the state setting instruction also serves as a transfer instruction, by replacing a part of the transfer instruction sequence with the state setting instruction, the transfer process can be normally controlled even when n> a. The instruction sequence controls the data selecting means by software. Also, when the counting means that can count the total number of element processors through which the data on the board passes and the number of register stages between boards, when the counting means returns to zero or reaches a set value In addition, by resetting the state holding means and a part of the identification means of the data holding means, even if n> a, a control unit for controlling the data selecting means by hardware is provided.
【請求項2】 ボード間を跨ぐ通信路等でレーテンシ0
での転送が不可能であり、ボード間の通信を行うための
ボード間転送レジスタをもつ並列計算機の隣接通信路に
備えられるデータ転送装置において、 ボード内の要素プロセッサ間の通信にかかる時間をp、
ボード間の転送にかかる時間をtとしたときに、送り手
側の出力レジスタと受け手側の入力レジスタの組をt/
p組と、送り手側には周期tでt/p個のp時間ずつず
れたクロックを発生する発生回路と、受け手側には前記
クロック発生回路の出力を受けて入力レジスタから取り
出すデータを選択するデータ選択回路から構成され、動
作時間の入力出力レジスタt/p組をp時間ずつずらし
て動作させることにより、転送レートのtボード間転送
で、スループットがpとなることを特徴とするSIMD
型並列計算機データ転送装置。さらに、上記ボード内デ
ータ転送に使用する素子とボード間データ転送に使用す
る素子において、駆動力がボード内部の通信用素子<ボ
ード間の通信用素子となるような、別々の素子を使用す
る。
2. A latency of 0 in a communication path that crosses boards.
In the data transfer device provided in the adjacent communication path of the parallel computer having the inter-board transfer register for performing inter-board communication, the time required for communication between the element processors in the board is p. ,
When the transfer time between boards is t, the set of output register on the sender side and input register on the receiver side is t /
p sets, a generator for generating t / p clocks with a time difference of t / p in the cycle t on the sender side, and a receiver for selecting data to be taken out from the input register upon receiving the output of the clock generator. SIMD characterized in that the throughput is p in the transfer between t boards of the transfer rate by operating the input / output register t / p set of the operation time by shifting the input / output register t / p set by p hours.
Parallel computer data transfer device. Furthermore, separate elements are used for the elements used for the in-board data transfer and the elements used for the inter-board data transfer such that the driving force is such that the communication element inside the board <the communication element between the boards.
JP15715293A 1993-06-28 1993-06-28 Simd type parallel computer data transfer device Pending JPH0713956A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15715293A JPH0713956A (en) 1993-06-28 1993-06-28 Simd type parallel computer data transfer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15715293A JPH0713956A (en) 1993-06-28 1993-06-28 Simd type parallel computer data transfer device

Publications (1)

Publication Number Publication Date
JPH0713956A true JPH0713956A (en) 1995-01-17

Family

ID=15643320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15715293A Pending JPH0713956A (en) 1993-06-28 1993-06-28 Simd type parallel computer data transfer device

Country Status (1)

Country Link
JP (1) JPH0713956A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2348983A (en) * 1999-04-09 2000-10-18 Pixelfusion Ltd Parallel data processing system
JP2008512762A (en) * 2004-09-09 2008-04-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Interconnection in SIMD processor architecture
US7506136B2 (en) 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
WO2009131007A1 (en) * 2008-04-22 2009-10-29 日本電気株式会社 Simd parallel computer system, simd parallel computing method, and control program
US7627736B2 (en) 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2348983A (en) * 1999-04-09 2000-10-18 Pixelfusion Ltd Parallel data processing system
US7506136B2 (en) 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
US7627736B2 (en) 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements
JP2008512762A (en) * 2004-09-09 2008-04-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Interconnection in SIMD processor architecture
WO2009131007A1 (en) * 2008-04-22 2009-10-29 日本電気株式会社 Simd parallel computer system, simd parallel computing method, and control program

Similar Documents

Publication Publication Date Title
EP0601029B1 (en) Massively parallel computer system including input/output arrangement
Bainbridge et al. Chain: a delay-insensitive chip area interconnect
US6047120A (en) Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
JP2011170868A (en) Pipeline accelerator for improved computing architecture, and related system and method
US5353412A (en) Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
EP0666541A1 (en) Apparatus and method for operating chips synchronously at speeds exceeding the bus speed
US8867573B2 (en) Transferring data between asynchronous clock domains
JPS5916072A (en) Special instruction processor for data processing system
KR19990018174A (en) Serial interface device with register for both sending and receiving
JP2009507415A (en) Asynchronous ripple pipeline
JPH01145778A (en) Image processor having pipeline bus of free flow
WO2004046950A1 (en) Mailbox interface between processors
JPH0713956A (en) Simd type parallel computer data transfer device
JP2003337807A (en) High speed operation method and system for cross bar
JP5370352B2 (en) SIMD type processor array system and data transfer method thereof
EP1107106A2 (en) Delay line for recirculating ALU output data to its input
JPH05274279A (en) Device for parallel processing and device therefor
EP2249255A1 (en) Data transfer apparatus and method, and semiconductor circuit
EP0199757A1 (en) Instruction flow computer.
Liljeberg et al. Self-timed ring architecture for SOC applications
JPH11149444A (en) Device, system and method for controlling data transfer
US7249274B1 (en) System and method for scalable clock gearing mechanism
Nagata et al. B-ternary logic based asynchronous micropipeline
US8677103B1 (en) Asynchronous pipelined data path with data transition
EP0323080A2 (en) Multiprocessor memory access control system