JPH0469762A - Data distribution control system in parallel computers - Google Patents

Data distribution control system in parallel computers

Info

Publication number
JPH0469762A
JPH0469762A JP2182075A JP18207590A JPH0469762A JP H0469762 A JPH0469762 A JP H0469762A JP 2182075 A JP2182075 A JP 2182075A JP 18207590 A JP18207590 A JP 18207590A JP H0469762 A JPH0469762 A JP H0469762A
Authority
JP
Japan
Prior art keywords
data
processor
receiving
counter
common bus
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
JP2182075A
Other languages
Japanese (ja)
Inventor
Sadayuki Kato
定幸 加藤
Hiroaki Ishihata
宏明 石畑
Kenji Horie
堀江 健志
Satoshi Inano
聡 稲野
Toshiyuki Shimizu
俊幸 清水
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2182075A priority Critical patent/JPH0469762A/en
Priority to AU80276/91A priority patent/AU630299B2/en
Priority to US07/727,932 priority patent/US5832215A/en
Publication of JPH0469762A publication Critical patent/JPH0469762A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE:To execute the data distribution processing at a high speed by providing a means for sending out continuously all data to a common bus having a broadcast function to all processors, and a circuit for selecting automatically necessary data by a receiving side processor, based on receiving count information set in advance from the data sent out onto the common bus. CONSTITUTION:Each processor PO, ... has a broadcast function for sending data to all processors by using a common bus 10. At the time of distributing array data, etc., to each processor P1, ..., the processor PO sends out continuously all the data onto the common bus 10 from a transmitting buffer 12 by a data transmitting means 11. Each processor P1, ... for receiving distributed data has a data receiving means 13 by a hardware for selecting receiving data, based on receiving count information set in advance from in the data sent out onto the common bus 10. In such a way, it becomes possible to receive only different necessary data at every processor, and the data distribution processing is executed at a high speed.

Description

【発明の詳細な説明】 〔概要〕 並列計算機において複数のプロセッサに異なるデータを
送る並列計算機におけるデータ分配制御方式に関し データ分配処理を、受信側プロセッサで自動的に必要な
データを選択する回路を持つことにより高速化すること
を目的とし。
[Detailed Description of the Invention] [Summary] Regarding a data distribution control method in a parallel computer that sends different data to a plurality of processors in a parallel computer, the present invention has a circuit that automatically selects necessary data in the receiving processor for data distribution processing. The purpose is to speed up the process.

全プロセッサへの放送機能を持つ共通バスに全データを
連続して送り出すデータ送信手段と、各プロセッサが共
通バス上に送り出されたデータの中から5あらかしめ設
定された受信カランI・情報に基づいて、受け取るデー
タを選択するハードウェアによるデータ受信手段とを備
えるように構成する。
A data transmission means that continuously sends out all data to a common bus that has a broadcasting function to all processors, and a data transmission means that each processor selects from among the data sent out on the common bus based on five preset reception channels I and information. and hardware data receiving means for selecting data to be received.

〔産業上の利用分野〕[Industrial application field]

本発明は1並列計算機において複数のプロセッサに異な
るデータを送る並列計算機におけるデータ分配制御方式
に関する。
The present invention relates to a data distribution control method in a parallel computer that sends different data to a plurality of processors in one parallel computer.

並列計算機においては、1つの計算処理をプロセッサの
数に応して分割し、それぞれを異なるブIコセッザに割
り当てて実行する。この計算の割り当てのときには、各
プロセッサに対して、その担当する計算に応して異なる
データを与えなくてはならない。このデータの分配を高
速化する技術が必要とされている。
In a parallel computer, one calculation process is divided according to the number of processors, and each is assigned to a different processor for execution. When allocating this calculation, different data must be given to each processor depending on the calculation it is responsible for. Techniques are needed to speed up the distribution of this data.

〔従来の技術] 並列計算機では、プロセッサ上のデータ通信を行うため
に、全ブIコセノザを接続する共通ハスを設けている。
[Prior Art] In a parallel computer, a common hub is provided to connect all the processors in order to perform data communication on the processor.

共通ハスにおいては1通常、ずべてのプロセ。In the common lotus, 1 is usually the entire process.

ザに同じデータを送るブロードキャスト(放送)の機能
と、特定の11コセッザ間で通信を行う機能が、ハード
ウェアで実現されている。しがし、従来、各プロセッサ
に対して異なるデータを自動的に分配する転送方式は、
ハードウェアでは実現されていなかった。
The broadcast function that sends the same data to all users and the function that communicates between specific 11 users are realized in hardware. However, conventional transfer methods that automatically distribute different data to each processor are
This was not realized in hardware.

第9図は、並列計算機におけるデータ分配の例を示して
いる。
FIG. 9 shows an example of data distribution in a parallel computer.

並列計算機では1例えば、2次元配列のデータD A、
 T Aを、第9図(イ)〜(ハ)に示すように種々の
範囲でブロック状に分割して、各プロセッサP1〜Pn
に分配し、それぞれのプロセッサで処理さセることが必
要になることが多い。
In a parallel computer, for example, two-dimensional array data D A,
TA is divided into blocks in various ranges as shown in FIG. 9(a) to (c), and each processor P1 to Pn
It is often necessary to distribute the data to multiple processors and process it on each processor.

共通ハスを用いて、この例のようなデータ転送を行う場
合に、データを送り出す側のブロセソリ゛で、各プロセ
ッサに送るデータを選び9個別にプロセンサ間通信で送
るか、または送り側ではブロードキャストでデータを送
り、受信側のプロセッサで、その中からラフ1−ウェア
によりデータを選択する処理を行っていた。
When performing data transfer as in this example using a common bus, the processor on the data sending side selects the data to be sent to each processor 9 and sends it individually through interprocessor communication, or the sending side uses broadcasting. Data is sent, and the processor on the receiving side selects the data from the data using rough 1-ware.

(発明が解決しようとする課題] 従来の方式では、データの分配を、送信側または受信側
のプロセッサ上で動作するソフトウェアによって実現し
ていたので、転送の処理に多くの時間が要するという問
題があった。特に、送信側がデータを選択して送る場合
には、第9図(イ)に示すように2部分的に重なり合う
データを複数のプロセッサに分配するときに2同じデー
タを繰り返し共通バストに載せることになり1時間がか
かることがあった。
(Problems to be Solved by the Invention) In the conventional system, data distribution was realized by software running on a processor on the sending or receiving side, which caused the problem that it took a lot of time to process the transfer. In particular, when the sender selects and sends data, as shown in Figure 9 (a), when distributing two partially overlapping data to multiple processors, the same data is repeatedly sent to a common bus. Sometimes it took an hour to upload it.

データの分配処理がハードウェア化されていなかったの
は、データの転送方式に様々なバリエーションがあり、
これまでハードウェアでは対処できないと考えられてい
たからである。そのため個々のアプリケーションソフI
・ウェアで対応することが必要とされていた。
The reason why data distribution processing has not been implemented in hardware is because there are many variations in data transfer methods.
This is because until now it was thought that this problem could not be handled by hardware. Therefore, each application software
・It was necessary to respond with clothing.

本発明は上記問題点の解決を図り、データ分配処理を、
受信側プロセッサで自動的に必要なデータを選択する回
路を持つことにより、高速化することを1」的としてい
る。
The present invention aims to solve the above problems and improves data distribution processing by
The goal is to increase speed by having a circuit that automatically selects necessary data in the receiving processor.

(課題を解決するための手段] 第1図は本発明の構成例を示す。(Means for solving problems) FIG. 1 shows an example of the configuration of the present invention.

第1図において、PO,Pl、、P2.・・・は並列言
]算機を構成するプロセッサ、10ば全プロセッサを接
続する共通ハス、11は分配するデータを送信するデー
タ送信手段、】2ばF I FOバッファで構成される
送信バッファ、13は分配されたデータを受信するデー
タ受信手段、14はF I FOバンファで構成される
受信バッファ、15は受iJ取るデータを選択する受信
制御回路、16は中央処理装置(CPU)、17はメモ
リを表す。
In FIG. 1, PO, Pl, , P2. . . . is a parallel word] a processor constituting the computer; 10 is a common hash connecting all the processors; 11 is a data transmission means for transmitting data to be distributed; 2 is a transmission buffer composed of an FIFO buffer; 13 is a data receiving means for receiving the distributed data; 14 is a receiving buffer composed of an FIFO buffer; 15 is a receiving control circuit for selecting data to be received; 16 is a central processing unit (CPU); Represents memory.

各プロセッサ■)0.・・・は、共通ハス10を用いて
、全プl=1セソザへデータを送る放送機能を持つ。
Each processor■)0. . . . has a broadcasting function that uses the common lotus 10 to send data to all Pl=1 sesozas.

第1図に示す例では、ブロセッリ”■)0がデータ送信
を行い、他のブロセッ4JP1 、・・・がそのデータ
を受信するように表しているが、各プロセッサを対称的
に構成し、プロセノリ゛PO以外のプロセンタが送信元
になるようにすることも可能である。
In the example shown in Fig. 1, the Brosserie "■)0 transmits data, and the other Brosseries 4JP1,... It is also possible for a program center other than the PO to be the sender.

プロセッサPOは、配列データなどを各プロセッサPI
、・・・に分配するときに、データ送信手段11により
、送信バッファ12から共通バス10]−に全データを
連続して送り出す。
Processor PO sends array data etc. to each processor PI.
.

分配されるデータを受信する各プロセッサPI。Each processor PI that receives data to be distributed.

・・・は、共通ハス1.0上に送り出されたデータの中
から、あらかじめ設定された受信カウント情報に基づい
て、受け取るデータを選択するバーI・ウェアによるデ
ータ受信手段13を持つ。
. . . has a data receiving means 13 based on bar I/ware that selects data to be received from among the data sent out on the common lotus 1.0 based on preset reception count information.

データ受信手段13ば、プロセッサPOから送られた連
続した全データの中から、何番目のデータが必要である
かを示す事前に設定された情報により、必要なデータを
選択して、受信バッファ14にそのデータを受け取る。
The data receiving means 13 selects necessary data based on preset information indicating which data is required from among all consecutive data sent from the processor PO, and selects the necessary data and sends it to the receiving buffer 13. receive that data.

データ受信手段13ば1例えばFIFOハンファで構成
される受信バッファ14と、1組または複数組の受信制
御回路15とからなる。
The data receiving means 13 consists of a receiving buffer 14 constructed of, for example, a FIFO buffer, and one or more sets of receiving control circuits 15.

受信制御回路15は、共通ハス10上に送り出されたデ
ータの中から受け取るデータと捨て去るデータとをカウ
ントする複数のカウント制御回路と、そのカウント制御
回路を制御し、カウント制御回路の出力によって受信バ
ッファ14に対する書き込み信号を出力するシーケンス
制御を行う制御回路とを持つ。
The reception control circuit 15 includes a plurality of count control circuits that count received data and discarded data from among the data sent out on the common lotus 10, controls the count control circuits, and controls the reception buffer by the output of the count control circuit. and a control circuit that performs sequence control to output write signals to 14.

〔作用] 本発明ば1デ一タ分配処理の受信側プロセッサでの処理
を、データ受信手段13としてハードウェア化すること
により1高遠に分配動作を行うものである。
[Function] According to the present invention, the processing of one-data distribution processing in the receiving processor is implemented in hardware as the data receiving means 13, thereby performing one-level distribution operation.

データ受信手段13は、データを選別する受信制御回路
15を持つ。受信制御回路15は、データを受信する側
のプロセッサの入力ポートに設置され5あらかじめ設定
されたパラメータに従って受信するデータを選別する。
The data receiving means 13 has a reception control circuit 15 that selects data. The reception control circuit 15 is installed at the input port of the processor on the data receiving side, and selects the data to be received according to preset parameters.

このパラメータを受信側の各プロセッサP1.・・・が
、送信側のプロセッサPOの指示により、またはあらか
じめ用意された手順により、それぞれ設定することによ
って各プロセッサごとに異なる必要なデータだけを受け
取ることが可能になる。
This parameter is applied to each processor P1 on the receiving side. . . . are set according to an instruction from the transmitting processor PO or according to a pre-prepared procedure, thereby making it possible to receive only necessary data that differs from processor to processor.

[実施例] 第2図は本発明の一実施例を説明するための受信データ
の例、第3図は本発明の一実施例に係るプロセッサ間イ
ンクフェースの例1第4図は本発明による受信部の構成
例、第5図は第4図に示すカウント制御回路の構成例、
第6図は第4図に示すシーケンサの制御手順説明図、第
7図は本発明の一実施例による動作例、第8図は本発明
による受信部の他の構成例を示す。
[Example] Fig. 2 is an example of received data for explaining an embodiment of the present invention, Fig. 3 is an example 1 of an ink interface between processors according to an embodiment of the present invention, and Fig. 4 is an example of an ink interface according to the present invention. An example of the configuration of the receiving section, FIG. 5 is an example of the configuration of the count control circuit shown in FIG. 4,
FIG. 6 is an explanatory diagram of the control procedure of the sequencer shown in FIG. 4, FIG. 7 shows an operation example according to an embodiment of the present invention, and FIG. 8 shows another example of the configuration of the receiving section according to the present invention.

第1図に示すプロセンサPOが1例えば第2図に示す2
次元配列データDATAのうち、第2図(イ)に斜線で
示す部分のデータを、プロセッサP1に分配し、第2図
(ロ)に斜線で示す部分のデータを、プロセッサP2に
分配するものとする。
The prosensor PO shown in FIG. 1 is 1, for example 2 shown in FIG. 2.
Of the dimensional array data DATA, the data in the shaded part in FIG. 2 (a) is distributed to the processor P1, and the data in the shaded part in FIG. 2 (b) is distributed to the processor P2. do.

受信側のプロセッサP1.P2ば、あらかしめ受信制御
回路15にデータの受信スケジュールを設定する。この
受信スケジュール情報は、第2図(イ)に示す受信デー
タの場合、1次元的な情報であり、第2図(ロ)に示す
受信データの場合。
Receiving side processor P1. At P2, a data reception schedule is set in the preliminary reception control circuit 15. This reception schedule information is one-dimensional information in the case of the received data shown in FIG. 2(a), and is one-dimensional information in the case of the received data shown in FIG. 2(b).

2次元的な情報である。次のように定められる。This is two-dimensional information. It is defined as follows.

y○ (XO):最初に捨てるデータのワード数yl 
 (xl):受け取るデータのワード数y2 (x2)
:次にデータの受け取りを再開するまでに捨てるデータ
のワード数 総受信数  :実際に受け取る全1フード数なお、第2
図(ロ)に示すようなデータの受信の場合、Xのカウン
ト条件とyのカウント条件とが共に満足する場合に、受
l′J取るデータと判定される。
y○ (XO): Number of words yl of data to be discarded first
(xl): Number of words of received data y2 (x2)
: Number of words of data to be discarded before restarting data reception Total number of received data : Total number of 1 food items actually received
In the case of receiving data as shown in Figure (b), if both the X count condition and the y count condition are satisfied, it is determined that the data is to be received.

プロセッサP1が、第2図に示す配列の全データを、共
通ハス10を通して各プロセッサPIP2へ送ると、各
プロセッサP1..P2の受信制御回路15では、共通
ハス10」二のデータ転送を監視しながら自分がデータ
を取り込むべきかどうかを判定する。
When the processor P1 sends all the data in the array shown in FIG. 2 to each processor PIP2 through the common lotus 10, each processor P1. .. The reception control circuit 15 of P2 determines whether it should take in data while monitoring the data transfer of the common lotus 10''2.

受信制御回路15ば、yO−y2(xO〜x2)および
総受信数などの受信カウント情報から、自分がデータを
取り込む順番になると、受信ハッファ工4に対して、書
き込み信号wrを送る。またプロセッサPOがデータを
送り出すたびに、カウンタの制御を行い1次のデータを
受信するかどうかの判定に用いる。
The reception control circuit 15 sends a write signal wr to the reception buffer 4 when it is its turn to take in data based on reception count information such as yO-y2 (xO to x2) and the total number of receptions. Furthermore, each time the processor PO sends out data, it controls a counter and uses it to determine whether or not to receive primary data.

プロセッサ・POば、受信側のすべてのプロセッサが以
下のいずれかの状態を満たしたときに、データを共通ハ
ス10に送り出す。
The processor/PO sends data to the common lotus 10 when all processors on the receiving side satisfy one of the following conditions.

i)次のデータが自分の受信するデータのときで。i) When the next data is the data you want to receive.

受信バッファ14に空きがあるとき5 11)次のデータを受信しないとき。5 when there is space in the reception buffer 14 11) When the next data is not received.

ハンドシェークreadyは、受信側のプロセッサが上
記の条件1または条件iiを満たしているかどうかを判
定するだめの信号である。
The handshake ready is a signal for the receiving processor to determine whether the above condition 1 or condition ii is satisfied.

ハンドシェークs endは、プロセッサPOがデータ
を送り出していることを伝える信号である。
Handshake s end is a signal that tells the processor PO that it is sending data.

第3図(イ)は、そのインタフェースの例を示し、第3
図(ロ)は、第3図(イ)に示すインクフェースの動作
タイムチャートを示している。
Figure 3 (a) shows an example of the interface.
Figure (B) shows an operation time chart of the ink face shown in Figure 3 (A).

送信するプロセッサPOは、受信するすべてのプロセッ
サP1〜P3の出力するレディ信号readyl〜3が
“1″になって、かつ転送するデータを持っているとき
に、データを送り出す。
The transmitting processor PO transmits data when the ready signals readyl-3 output by all the receiving processors P1-P3 are "1" and have data to be transferred.

第3図(ロ)に示すAのタイミングでは、すべてのレデ
ィ信号が”1”になったので、データが送り出され、そ
の後、信号readylが“0”になると、データの転
送が中断される。Bでは。
At timing A shown in FIG. 3(b), all ready signals become "1", so data is sent out, and then, when the signal readyl becomes "0", data transfer is interrupted. In B.

再び信号r、 e a d y Iが1゛になったので
 データの転送が行われる。この例では、B以降にどの
信号readyl〜3も“0“にならないので。
Since the signals r and e a dy I become 1 again, data transfer is performed. In this example, none of the signals readyl~3 after B becomes "0".

次のCのタイミングでもデータが送られる。Data is also sent at the next timing C.

プロセッサPOに送るべきデータがなくなると信号re
ady1〜3が′0゛にならな(でもデータの送信はス
トップする。
When there is no more data to send to the processor PO, the signal re
ady1-3 should become '0' (but data transmission will stop.

第1図に示すデータ送信手段11は、ブロードキャスト
を行う回路などの周知技術の応用によって容易に構成で
きるので、ここでの説明はこの程度にとどめる。
Since the data transmitting means 11 shown in FIG. 1 can be easily constructed by applying well-known technology such as a circuit for broadcasting, the explanation here will be limited to this extent.

データ受信手段13の受信部は2例えば第4図に示すよ
うに構成される。
The receiving section of the data receiving means 13 is constructed as shown in FIG. 4, for example.

第4図において、SOはシーケンサ、TO〜T3はカウ
ント制御回路、C0−C5はカウンタ。
In FIG. 4, SO is a sequencer, TO to T3 are count control circuits, and C0 to C5 are counters.

RO−R3はパラメータ設定用のレジスタ、A1゜A2
ばアンド回路、Nlばフッ1−回路、OR1はオア回路
を表す。
RO-R3 is a register for parameter setting, A1゜A2
N1 represents an AND circuit, N1 represents an AND circuit, and OR1 represents an OR circuit.

また rdyは受信バッファ14に空きがあって書き込
み可能であることを示す信号、wrは受信バッファ14
への書き込み信号、endはカウント終了を示ず信号、
1nitはカウンタの初期化を指示する信号、cntは
カウント制御信号。
Further, rdy is a signal indicating that there is space in the reception buffer 14 and writing is possible, and wr is a signal indicating that there is space in the reception buffer 14.
A write signal to , end is a signal that does not indicate the end of counting,
1nit is a signal instructing to initialize the counter, and cnt is a count control signal.

getは次のデータの受け取り条件が満足したことを示
す信号を表す。
get represents a signal indicating that the conditions for receiving the next data are satisfied.

例えば第2図(イ)に示すデータを受信する場合、受信
するプロセッサのCPUは、あらかしめレジスタROに
yOO値(10)を、レジスタR1にylの値(10)
を、レジスタR2にy2の値(20)を、レジスタR3
に受信するデータの総数(30)を設定する。
For example, when receiving the data shown in FIG. 2(A), the CPU of the receiving processor stores the value yOO (10) in the rough register RO and the value yl (10) in the register R1.
, the value of y2 (20) in register R2, and register R3
Set the total number of data to be received (30).

カウント制御回路TO〜T3は、シーケンサSOからの
初期化信号1nitO後、カウンタごとのカウント制御
信号cntにより各カウンタCO〜C3のカウントを進
めていく。各カウンタCO〜C3が2対応するレジスタ
RO〜R3に設定された値だけカウントすると、シーケ
ンサSOにカウント終了信号endを送る。
After the initialization signal 1nitO is received from the sequencer SO, the count control circuits TO to T3 advance the counts of the respective counters CO to C3 using the count control signal cnt for each counter. When each of the counters CO to C3 counts the value set in the corresponding register RO to R3, it sends a count end signal end to the sequencer SO.

カウンタCOは、始めにデータを受信するまで転送を待
つワード数をカランI・シ、カウンタC1は、連続して
受け取るデータのワード数をカウントシ、カウンタC2
は、カウンタC1に設定された分のデータを受信した後
に1次に受信を再開するまで転送を待つワード数をカラ
ンI・シ1 カウンタC3は、自分が実際に受信するデ
ータの総数をカランI・する。
Counter CO counts the number of words to wait for transfer until the first data is received. Counter C1 counts the number of words of data that are consecutively received. Counter C2 counts the number of words to wait for transfer until the first data is received.
Counter C3 is the number of words to wait for transfer until restarting reception after receiving the data set in counter C1. ·do.

シーケンサSOは、データの送信信号s endとクロ
ック(図示省略)とによって動作し、カウント制御回路
TO−T3の出力によって5次のデータが受け取るデー
タであると判定できたとき信号getを°“1パにする
。この信号getと送倍信号s endが1″のとき、
共通バス10上のデータを受信バッファ14に取り込む
ことを指示する書き込み信号wrを出力する。
The sequencer SO operates based on a data transmission signal s end and a clock (not shown), and sets the signal get to ``1'' when it is determined that the 5th order data is received data based on the output of the count control circuit TO-T3. When this signal get and the multiplication signal s end are 1'',
It outputs a write signal wr instructing to take in the data on the common bus 10 into the reception buffer 14.

信号getが“O゛′であるか、または信号getが1
°゛で受信ハンファ14に空きがあるとき。
The signal get is “O゛′” or the signal get is 1
When there is space in the receiving Hanwha 14 at °.

レディ信号reaclyを゛】″にする。Set the ready signal REACLY to "]".

なお、カウント制御回路TOは、第5図(イ)に示すよ
うに、カウンタCOをダウンカウンタにより構成するこ
とも、第5図(ロ)に示すように。
In the count control circuit TO, the counter CO may be configured as a down counter as shown in FIG. 5(a), or as shown in FIG. 5(b).

カウンタCOをアップカウンタにより構成することも可
能である。
It is also possible to configure counter CO by an up counter.

第5図(イ)の場合、初期化信号1nitにより、レジ
スタROの内容をカウンタCOにロードし、カラン(・
制御信号cutにより、カウンタCOの内容を−1する
。カウンタCOの値が「0」になったならば、終了信号
endを1゛にする。
In the case of FIG. 5(A), the contents of the register RO are loaded into the counter CO by the initialization signal 1nit, and the counter CO is loaded with the contents of the register RO (
The contents of the counter CO are incremented by 1 in response to the control signal cut. When the value of the counter CO becomes "0", the end signal end is set to 1.

第5図(ロ)の場合、初期化信号1nitにより、カウ
ンタCoを「0」にクリアする。カウント制御信号cn
tにより、カウンタCOの内容を1−1する。カウンタ
COの値とレジスタROの値とを、比較器50により比
較し2等しいときに終了信号endを°”1”にする。
In the case of FIG. 5(b), the counter Co is cleared to "0" by the initialization signal 1nit. Count control signal cn
The contents of the counter CO are incremented by 1 by t. The value of the counter CO and the value of the register RO are compared by the comparator 50, and when they are equal to 2, the end signal end is set to "1".

他のカウント制御回路T1〜T3についても同様に構成
できる。
The other count control circuits T1 to T3 can be similarly configured.

シーケンサSOば1次のように制御する。The sequencer SO is controlled as follows.

(a)  まず、カウンタCOのカウントを進める。(a) First, count the counter CO.

カウントが終了すると1次へ移る。When the count ends, the process moves to the first stage.

(b)  受信バッファ14に、これから送られてくる
データを取り込むように指令を出し、同時にカウンタC
1のカランI・を始める。カウントが終了するまで、デ
ータの受信を続ける。
(b) Issue a command to the reception buffer 14 to receive the data that will be sent from now on, and at the same time set the counter C.
Start the 1st callan I. Continue receiving data until the count ends.

(C)  カウンタC1のカウントが終わると、カウン
タC2のカウントを始める。カウンタc2のカラン1−
が終わると、カウンタC1を初期化し。
(C) When the counter C1 finishes counting, the counter C2 starts counting. Callan 1- of counter c2
When this is completed, the counter C1 is initialized.

(1))へ戻って、転送データの受信を再開する。Return to (1)) and resume receiving the transfer data.

カウンタC3は、プロセッサがデータを受信するたびに
カウントを続け、カウントが終了すると。
Counter C3 continues counting each time the processor receives data, and when the count ends.

(b)から(C)の繰り返しを止めて5受信処理を終了
する。
The repetition of steps (b) to (C) is stopped and the 5 reception process is completed.

第6図は1以上のシーケンサSoによる制御手順の具体
例を示している。
FIG. 6 shows a specific example of a control procedure by one or more sequencers So.

■ カウンタCO,CI、C3を初期化する。■ Initialize counters CO, CI, and C3.

■ データの送信信号5cndが“1°°になったら、
以下の受信処理をスタートする。なお、最初の送信信号
5endは、受信側プロセッサに転送のスタートを知ら
せるだげであるので、信号getは“′0“′のままと
し、受信バッファ14にデータを取り込まない。
■ When the data transmission signal 5cnd reaches “1°°,
Start the following reception process. Note that since the first transmission signal 5end only informs the receiving processor of the start of transfer, the signal get is left as "'0"' and no data is taken into the receiving buffer 14.

■ カウンタC3のカラン1−が終了したかどうかを判
定し、V!:了したならば受信処理を終了する。
■ Determine whether or not the call 1- of counter C3 has ended, and check V! : If completed, the reception process ends.

■ カウンタCOのカウントが終了したかどうかを判定
し、終了したならば■の制御へ移る。
(2) Determine whether or not the counter CO has finished counting, and if so, proceed to control (2).

■ カウンタCOのカウントが終了していなければ、信
号s endによりデータがきたことを通知されたとき
に、信号getを“′Oパのままとし、そのデータを捨
てる。カウンタCOのカウントのみを行い、■の制御へ
戻る。
■ If the counter CO has not finished counting, when it is notified by the signal s end that data has arrived, the signal get remains "'O" and the data is discarded. Only the counter CO counts. , Return to the control of ■.

■ カウンタCOのカラン[・が終了したならば。■ If the counter CO's click [・ is finished.

カウンタC2の初期化を行う。カウンタC1のカランI
・を開始するにあたって、信号geLを′“l”°にす
る。
Initialize the counter C2. Callan I of counter C1
・To start, the signal geL is set to 'l'°.

■ カウンタC3のカウントが終了したかどうかを判定
し2終了したならば受信処理を終了する。
(2) Determine whether or not the counter C3 has finished counting, and if it has finished counting, terminate the reception process.

■ カウンタC1のカウントが糸冬了したかどうかを判
定し、終了したならば[相]の制御へ移る。
(2) Determine whether or not the count of the counter C1 has finished, and if it has finished, move to [phase] control.

■ カウンタC1のカウントが終了していなければ、デ
ータがきたら、そのデータを受信バッファ14に書き込
み、カウンタC3とカウンタC1のカウントを行う。そ
して■〜■を繰り返す。
(2) If the counter C1 has not finished counting, when data arrives, the data is written to the reception buffer 14, and the counters C3 and C1 are counted. Then repeat ■~■.

[相] カウンタC1のカウントが終了したならば信号
getを0゛′に戻し、カウンタC1を初期化する。
[Phase] When the count of the counter C1 is completed, the signal get is returned to 0'' and the counter C1 is initialized.

■ カウンタC3のカウントが終了したかどうかを判定
し、終了したならば受信処理を終了する。
(2) Determine whether or not the counter C3 has finished counting, and if so, end the reception process.

Q カウンタC2のカウントが終了したかどうかを判定
し、終了したならば■の制御へ移る。
Q: Determine whether or not the counter C2 has finished counting, and if it has finished counting, move to the control shown in (2).

[相] カウンタC2のカウントが終了していなければ
、信号5endによりデータがきたことを通知されたと
きに、そのデータを捨て、カウンタC2のカウントのみ
を行い■の制御へ戻る。
[Phase] If the count of the counter C2 is not completed, when the arrival of data is notified by the signal 5end, the data is discarded, only the count of the counter C2 is performed, and the process returns to the control of (2).

なお、−ト記■、(Ii))におげろカウンタC2,C
Iの初期化は、必ずしもこのタイミングでなくてもよく
2次の動作例のよ・うに、オーバランプさせてもよい。
In addition, in (Ii)), the counters C2 and C
The initialization of I does not necessarily have to occur at this timing, and may be performed overlapping as in the second operation example.

第7図に示ずタイムチャー1・は、R初に2ワードのデ
ータを読め飛ばし1次に3ワードのデータを受け取って
2ワーI・のデータを読み飛ばず処理を2回繰り返し、
全部で6ワードのデータを受け取る動作の例を示してい
る。
In time chart 1, not shown in FIG. 7, R first reads 2 words of data, receives 3 words of data first, and repeats the process twice without skipping 2 words of data.
An example of an operation in which a total of 6 words of data is received is shown.

CPUは、第4図に示ずカラン1〜制御回路T。The CPU is not shown in FIG.

〜T3のレジスタRO−4?3に、それぞれパラメータ
として、2. 3.2.6の値を設定する。
2. to register RO-4?3 of T3 as parameters, respectively. 3. Set the value of 2.6.

toのタイミングで、信号s endがきたのでスター
トする。実際にデータを受信し、受信バッファ14に書
き込むのは、信号s endと信号getが°′1゛に
なって、信号wrが“1゛となるときである。
At the timing of "to", the signal "send" came, so it started. Data is actually received and written into the reception buffer 14 when the signals send and get become '1' and the signal wr becomes '1'.

プロセッサPOが、連続して送信したデータAB、C,
・・・のうぢ、このプロセッサが受信するデータは、*
の伺いたデータC,D、E、Iイ、■Jである。データ
Jを受け取ると、tlのタイミングでカウンタC3のカ
ランI・値が「0」になるので、受信を終了する。
The data AB, C, which the processor PO consecutively transmitted
...The data that this processor receives is *
The data I asked for are C, D, E, I, and ■J. When the data J is received, the count I value of the counter C3 becomes "0" at the timing tl, so the reception ends.

例えば第2図(0)に示すような、2次元以上の配列の
中のブロック状のデータ(2次元配列では矩形領域のデ
ータ)を受信する場合、第4図に示す受信制御回路15
と同様なものを、各次元に対応させて用意することQこ
より、同様に選択的に受信することが可能である。
For example, when receiving block-shaped data in a two-dimensional or more array (rectangular area data in a two-dimensional array) as shown in FIG. 2(0), the reception control circuit 15 shown in FIG.
By preparing something similar to Q for each dimension, it is possible to receive the information selectively in the same way.

第8図は、n次元のブロック状のデータを受信可能とし
た受信部の構成例を示している。
FIG. 8 shows an example of the configuration of a receiving section that is capable of receiving n-dimensional block data.

受信制御回路15−1〜15−nば、各々、第4図に示
した受信制御回路15と、はぼ同様な構造になっている
。例えば、第2図(ロ)に示す全データDATAのうち
、斜線が施されたデータだけを受iJ取る場合、受信制
御回路15−1がy方向のカウント制御を行い、受信制
御回路15−2がχ方向のカウント制御を行・う。他の
受信制御回路15−n等は1すべて受信可の状態(g 
c t n−“’1”)とする。
Each of the reception control circuits 15-1 to 15-n has a similar structure to the reception control circuit 15 shown in FIG. For example, when receiving only the shaded data among all the data DATA shown in FIG. 2(b), the reception control circuit 15-1 performs count control in the y direction, performs count control in the χ direction. The other reception control circuits 15-n, etc. are all in a receivable state (g
c t n−“'1”).

受信制御回路15−鳳 15−2の双方が受信可と判断
したときに、信号getl、get2のアンド回路A3
による論理積と、信号5endとにより、受信バッファ
14の書き込み信号wrを発生させる。
When both reception control circuits 15-15-2 determine that reception is possible, AND circuit A3 of signals getl and get2
The write signal wr of the reception buffer 14 is generated by the AND of the signal 5end and the signal 5end.

各受信制御回路15−1〜15−nば シーケンサSO
によるカウンタの初期化のタイミングが異なるほかは同
様に動作するので1個々についての詳しい説明は省略す
る。
Each reception control circuit 15-1 to 15-n Sequencer SO
Since the operations are the same except that the timing of initializing the counter is different, a detailed explanation of each one will be omitted.

第8図に示すように、受信料?i1回路15−1〜15
−nを複数個を設けることにより、多次元配列の一部分
を切り出して、各プロセッサに分配するときにも、簡単
な制御により、受信側でそのデータを収集できることに
なる。
As shown in Figure 8, the reception fee? i1 circuit 15-1 to 15
By providing a plurality of -n, even when a part of the multidimensional array is cut out and distributed to each processor, the data can be collected on the receiving side with simple control.

[発明の効果] 以」−説明したように1本発明によれば、送信側のプロ
セッサは、一連のデータを部分的に他のプロセッサ・に
分配するときに、そのまま連続してデータを送り出せば
よく、また受信側では、自プロセッザに必要なデータだ
けをハードウェアにより自動的に選択して受信するので
1高速なデータの分配が可能となる。データを送受信す
るためのソフトウェアは、最初にパラメータを初期設定
するだけでよいので、処理負担が小ざい。
[Effects of the Invention] As explained above, according to the present invention, when a transmitting processor partially distributes a series of data to other processors, it is possible to transmit the data continuously. In addition, on the receiving side, only the data necessary for its own processor is automatically selected and received by hardware, making it possible to distribute data at high speed. Since the software for transmitting and receiving data only needs to initialize the parameters, the processing load is small.

また、複数のプロセッリーが部分的に重複したデータを
受&J取る場合にも、送信するプロセッサは。
Also, when multiple processors receive and receive partially overlapping data, which processor sends the same data.

1回の連続したデータの送信を行うだけでよい。Only one continuous data transmission is required.

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

第1図は本発明の構成例。 第2図は本発明の一実施例を説明するだめの受信データ
の例 第3図は本発明の一実施例に係るプロセッサ間インタフ
ェースの例 第4図は本発明による受信部の構成側 梁5図は第4図に示すカウント制御回路の構成例 第6図は第4図に示すシーケンサの制御手順説明図。 第7図は本発明の一実施例による動作側梁8図GJ本発
明による受信部の他の構成側梁9Vは本発明の詳細な説
明するためのデータ分配の例を示す。 図中、PO,PI、−=はプI’lf=ソt、  10
は共通ハス、11はデータ送信手段、12は送信バッフ
ァ、I3はテ〜り受信手段、14ば受信バッファ、15
は受信制御回路、16はCPU、]、、7はメモリを表
す。
FIG. 1 shows a configuration example of the present invention. FIG. 2 is an example of received data for explaining an embodiment of the present invention. FIG. 3 is an example of an inter-processor interface according to an embodiment of the present invention. FIG. 4 is a configuration of a receiving section according to the present invention. This figure is an example of the configuration of the count control circuit shown in FIG. 4. FIG. 6 is an explanatory diagram of the control procedure of the sequencer shown in FIG. 4. FIG. 7 shows an operational side beam 8G according to an embodiment of the present invention, and a side beam 9V showing another configuration of the receiving section according to the present invention shows an example of data distribution for explaining the present invention in detail. In the figure, PO, PI, -= means puI'lf=sot, 10
11 is a data transmitting means, 12 is a transmitting buffer, I3 is a data receiving means, 14 is a receiving buffer, 15
is a reception control circuit, 16 is a CPU, ], 7 is a memory.

Claims (1)

【特許請求の範囲】 1)複数のプロセッサ(P0、P1、…)から構成され
る並列計算機において複数のプロセッサに異なるデータ
を送る並列計算機におけるデータ分配制御方式であって
、 全プロセッサへの放送機能を持つ共通バス(10)に全
データを連続して送り出すデータ送信手段(11)と、 各プロセッサが共通バス上に送り出されたデータの中か
ら、あらかじめ設定された受信カウント情報に基づいて
、受け取るデータを選択するハードウェアによるデータ
受信手段(13)と を備えたことを特徴とする並列計算機におけるデータ分
配制御方式。 2)前記データ受信手段(13)は、 共通バス上に送り出されたデータの中から受け取るデー
タと捨て去るデータとをカウントする複数のカウント制
御回路と、 カウント制御回路を制御し、カウント制御回路の出力に
よって受信バッファに対する書き込みを指示する信号を
生成する制御回路と からなる1組または複数組の受信制御回路(15)を備
えたことを特徴とする請求項1記載の並列計算機におけ
るデータ分配制御方式。
[Scope of Claims] 1) A data distribution control method in a parallel computer configured with a plurality of processors (P0, P1,...) that sends different data to the plurality of processors, the system comprising: a broadcasting function to all the processors; a data transmitting means (11) for continuously transmitting all data to a common bus (10) having a common bus; 1. A data distribution control method in a parallel computer, comprising a data receiving means (13) using hardware for selecting data. 2) The data receiving means (13) includes a plurality of count control circuits that count received data and discarded data from among the data sent out on the common bus, and controls the count control circuit and outputs the output of the count control circuit. 2. The data distribution control system in a parallel computer according to claim 1, further comprising one or more sets of reception control circuits (15) comprising a control circuit that generates a signal instructing writing to the reception buffer by a control circuit.
JP2182075A 1990-07-10 1990-07-10 Data distribution control system in parallel computers Pending JPH0469762A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2182075A JPH0469762A (en) 1990-07-10 1990-07-10 Data distribution control system in parallel computers
AU80276/91A AU630299B2 (en) 1990-07-10 1991-07-08 A data gathering/scattering system in a parallel computer
US07/727,932 US5832215A (en) 1990-07-10 1991-07-10 Data gathering/scattering system for a plurality of processors in a parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2182075A JPH0469762A (en) 1990-07-10 1990-07-10 Data distribution control system in parallel computers

Publications (1)

Publication Number Publication Date
JPH0469762A true JPH0469762A (en) 1992-03-04

Family

ID=16111913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2182075A Pending JPH0469762A (en) 1990-07-10 1990-07-10 Data distribution control system in parallel computers

Country Status (1)

Country Link
JP (1) JPH0469762A (en)

Similar Documents

Publication Publication Date Title
US4888684A (en) Multiprocessor bus protocol
US4261034A (en) Remote distributed interrupt control for computer peripherals
US5473762A (en) Method and system for pipelining bus requests
JPH036534B2 (en)
JPH04312160A (en) Multiprocessor system and its message transmission and reception controller
US5600822A (en) Resource allocation synchronization in a parallel processing system
JPH0469762A (en) Data distribution control system in parallel computers
US4740910A (en) Multiprocessor system
CN114153573A (en) Multitasking method based on single thread pool and related device
JP2002189705A (en) Multiprocessor arrangement
JPS6143369A (en) Multi-processor system
JP3399776B2 (en) Computer and method for transferring peripheral device control data in computer
JPH09288608A (en) File sharing controller in distributed processing system
JP2573332B2 (en) Data transfer control method
JP2855326B2 (en) Computer system
JPS6236580B2 (en)
TW202113593A (en) Operating method for serially-connected computation chips and computing system thereof
JPS6124739B2 (en)
JPH0587646U (en) Multi data transmission device
NL8800737A (en) CHANNEL ARBITRATION COMPUTER SYSTEM FOR DIRECT MEMORY ADDRESSING.
JPS63286958A (en) Multi-processor system
JPS6243754A (en) Control system for shared resources in data communication network
JPH054708B2 (en)
JP2002196068A (en) Radar signal processing device and its method
JPS63286957A (en) Synchronization system for parallel system