JPH0217821B2 - - Google Patents

Info

Publication number
JPH0217821B2
JPH0217821B2 JP58050498A JP5049883A JPH0217821B2 JP H0217821 B2 JPH0217821 B2 JP H0217821B2 JP 58050498 A JP58050498 A JP 58050498A JP 5049883 A JP5049883 A JP 5049883A JP H0217821 B2 JPH0217821 B2 JP H0217821B2
Authority
JP
Japan
Prior art keywords
data
packet
processing
processing device
sent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP58050498A
Other languages
Japanese (ja)
Other versions
JPS59176846A (en
Inventor
Akira Maeda
Kazunori Sekido
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP58050498A priority Critical patent/JPS59176846A/en
Publication of JPS59176846A publication Critical patent/JPS59176846A/en
Publication of JPH0217821B2 publication Critical patent/JPH0217821B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、複数台の処理装置と記憶装置からな
る並列データ処理装置における、処理装置と記憶
装置間とのデータ転送方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a data transfer method between a processing device and a storage device in a parallel data processing device including a plurality of processing devices and a storage device.

〔発明の技術的背景とその問題点〕[Technical background of the invention and its problems]

近年、VLSI技術の発展に伴い多数の、VLSIに
より製作された処理装置からなる並列データ処理
装置の構築が容易となつた。これらの装置を構築
する上で最大の問題となる点は、その構成要素で
ある記憶装置部と多数の処理装置をいかに接続す
るかである。これまでの計算機システムなどでよ
く用いられた方式を第1図に示す。同図は、複数
台の処理装置12〜14が記憶制御部11を介し
記憶装置10に接続されている様子を示してい
る。記憶制御部11は、処理装置12〜14から
のアクセフ要求を受けつけ、それらの要求を出し
ている処理装置の1つを選択し記憶装置にアクセ
スせしむる制御をするものである。この方式は、
処理装置の台数が多くなると、記憶制御部11の
構造が複雑で多量のハードウエアが必要であり、
処理装置の台数は高々8台程度が限度であつた。
しかしひとたび第1図に示すような方式で並列デ
ータ処理装置を構築した後、処理装置の台数を増
やすことは、あらかじめ記憶制御部11に処理装
置を接続するポートを余分に用意しておかない限
りほとんど不可能である。このような余分のポー
トを常に用意しておくことはハードウエア資源を
有効に利用したことにならずはなはだ好ましくな
い。さらに各処理装置12〜14は、記憶装置内
に格納されているデータのどの部分を処理すべき
か常に管理しておらねばならず、これらの管理が
通常プログラムで行なわれることから、各処理装
置のプログラムを複雑なものとしている。また処
理装置の台数が故障などの理由で変更された時、
各処理装置内にある、データのアクセスを管理す
るプログラム部分を変更する必要があり、場合に
よつては各処理装置に対するプログラムを再ロー
テイングするなど煩雑な処理が要求されることが
ある。
In recent years, with the development of VLSI technology, it has become easier to construct a parallel data processing device consisting of a large number of processing devices manufactured by VLSI. The biggest problem in constructing these devices is how to connect the storage unit, which is a component thereof, to the large number of processing units. Figure 1 shows a method that has been commonly used in computer systems and the like. This figure shows how a plurality of processing devices 12 to 14 are connected to a storage device 10 via a storage control section 11. The storage control unit 11 receives access requests from the processing devices 12 to 14, selects one of the processing devices issuing those requests, and controls the access to the storage device. This method is
As the number of processing devices increases, the structure of the storage control unit 11 becomes complex and a large amount of hardware is required.
The number of processing devices was limited to about eight at most.
However, once a parallel data processing device is constructed using the method shown in FIG. Almost impossible. Always preparing such extra ports is not an effective use of hardware resources and is extremely undesirable. Furthermore, each processing device 12 to 14 must always manage which part of the data stored in the storage device should be processed, and since this management is usually done by a program, each processing device It makes the program complicated. Also, when the number of processing devices is changed due to a malfunction or other reason,
It is necessary to change the program part in each processing device that manages data access, and in some cases, complicated processing such as rerotating the program for each processing device may be required.

以上に述べたような欠点を克服するため、第2
図に示すように、各処理装置12〜14内にそれ
ぞれレジスタ22〜24を設置し、これらのレジ
スタと記憶装置10の制御部11をリング状に接
続し、記憶装置と各処理装置間のデータ転送を行
なわせしむる方式が考えられる。処理装置の台数
をnとした時、n個のレジスタ22〜24をシフ
トレジスタとして構成し、制御部11はn個のデ
ータを記憶装置から読み出し、転送路20を介し
てシフトレジスタを構成しているレジスタ22〜
24に送出し、各処理装置にデータを受けとら
せ、各処理装置12〜14は受けとつたデータを
処理しその結果を対応するレジスタ22〜24に
それぞれ格納し、その後シフトレジスタ22〜2
4、転送路21を介して制御部11に送り、記憶
装置10に結果を書き込むわけである。この方式
では、処理装置の台数を追加するには、リング状
に接続した経路上にレジスタを1つ追加し、その
レジスタに処理装置を接続すれば良い。前記経路
上にレジスタを追加することは容易であり、処理
装置を任意個数追加することができる。またこの
場合各処理装置の処理手順は、処理装置の台数に
無関係なく対応するレジスタからデータを受けと
り、処理後その結果を該レジスタに格納する手順
で良く、プログラムの変更などは不必要であ。制
御部11や処理装置台数分のデータを送出し、処
理結果も同数受けとるように変更するだけで良
い。しかしながらこの方式の大きな欠点は、全処
理装置にデータを分配している間処理を開始する
ことができず、処理装置が遊んでしまう点であ
る。
In order to overcome the drawbacks mentioned above, the second
As shown in the figure, registers 22 to 24 are installed in each of the processing devices 12 to 14, and these registers and the control unit 11 of the storage device 10 are connected in a ring shape, so that data between the storage device and each processing device is A possible method is to force the transfer to take place. When the number of processing devices is n, the n registers 22 to 24 are configured as a shift register, and the control unit 11 reads n data from the storage device and configures the shift register via the transfer path 20. Register 22~
24, each processing device receives the data, each processing device 12-14 processes the received data and stores the result in the corresponding register 22-24, and then the shift register 22-2
4. The result is sent to the control unit 11 via the transfer path 21 and written into the storage device 10. In this method, in order to increase the number of processing devices, it is sufficient to add one register on a path connected in a ring shape and connect the processing device to that register. It is easy to add registers on the path, and any number of processing devices can be added. Further, in this case, the processing procedure of each processing device may be a procedure of receiving data from a corresponding register regardless of the number of processing devices, and storing the result in the register after processing, and there is no need to change the program. All that is required is to send data for the number of control units 11 and processing devices and to receive the same number of processing results. However, a major drawback of this method is that processing cannot be started while data is being distributed to all processing devices, leaving the processing devices idle.

この様子をもう少し詳しく説明する。今データ
が時間τごとにレジスタ22〜24間を次々と転
送されるものとし、各処理装置は受け取つたデー
タをT時間かかつて処理するとする。この場合n
個のデータを処理するのに要する時間は、n個の
シフトレジスタにデータを送る時間nτと処理時
間Tの和nτ+Tである。処理結果をレジスタ2
2〜24を介して記憶装置の制御部11に送る時
間は、次に処理するn個のデータを各処理装置に
分配する時間を利用することができ上記時間に加
える必要はない。すなわち処理装置12〜14
が、その結果をレジスタ22〜23に格納した時
点で、制御部11から次々と処理すべきデータを
送出するようにすれば良い。このnτ+T時間の
うち処理装置が動作しているのは、T時間のみで
あり、処理装置の台数を増加し、転送時間nτと
処理時間がほぼ同じ程度とすると各処理装置の稼
動率は1/2程度なつてしまう。
Let me explain this situation in a little more detail. It is now assumed that data is transferred one after another between the registers 22 to 24 at intervals of time τ, and that each processing device processes the received data for T times. In this case n
The time required to process these pieces of data is the sum of the time nτ for sending data to n shift registers and the processing time T, nτ+T. Processing results in register 2
The time required to send the data to the control unit 11 of the storage device via channels 2 to 24 can be used to distribute the n pieces of data to be processed next to each processing device, and there is no need to add it to the above time. That is, processing devices 12 to 14
However, when the results are stored in the registers 22 to 23, the control unit 11 may send out the data to be processed one after another. Of this nτ+T time, the processing devices are operating only during the T time.If the number of processing devices is increased and the transfer time nτ and processing time are approximately the same, the operating rate of each processing device will be 1/ I'm about 2 years old.

さらに各データに対する処理時間が異なる場
合、この方式では、最も時間のかかる処理が終了
するまで、データの転送が行なえず、処理装置が
遊ぶ可能性が更に大きくなる。例えば4台の処理
装置が、第3図に示すような処理時間の異なる16
ケのデータのすべてを処理し、記憶装置に返送す
るまでの時間は、4つづつに区切つた4組のデー
タに対し、4τの転送時間、20τの処理時間、さら
に最後の組データに対しては結果を返送する4τの
時間かかり計100τ時間となり、その転送のオーバ
ヘツドは大変大きなものとなつてしまう。
Furthermore, if the processing time for each data is different, in this method, the data cannot be transferred until the processing that takes the longest time is completed, further increasing the possibility that the processing device will idle. For example, four processing devices have different processing times16 as shown in Figure 3.
The time it takes to process all of the data and send it back to the storage device is 4τ transfer time for 4 sets of data, 20τ processing time, and 20τ processing time for the last set of data. It takes 4τ time to send back the result, resulting in a total of 100τ hours, and the overhead of the transfer becomes very large.

〔発明の目的〕[Purpose of the invention]

本発明は以上に鑑みなされたもので、その目的
とするところは、記憶装置と複数台の処理装置を
結合してなる並列データ処理装置において、処理
装置の追加が容易な並列データ処理装置を提供す
ることにある。
The present invention has been made in view of the above, and an object thereof is to provide a parallel data processing device in which a storage device and a plurality of processing devices are combined, in which processing devices can be easily added. It's about doing.

また他の目的とするところは、処理装置の追加
や、故障などにより処理装置の台数に変化が生じ
ても、記憶装置の読み出し、書き込みの制御手
順、各処理装置のデータ送受の制御手順のいずれ
をも変更する必要のない並列データ処理装置を提
供することにある。
Another objective is to ensure that even if the number of processing devices changes due to the addition of processing devices or failures, the control procedures for reading and writing to storage devices and the control procedures for data transmission and reception of each processing device will be maintained. The object of the present invention is to provide a parallel data processing device that does not require any changes.

さらに他の目的は、記憶装置と処理装置間のデ
ータ転送時において、処理装置が処理すべきデー
タを受けとれずに休止しているオーバヘツド時間
を極力少なくした並列データ処理装置を提供する
ことにある。
Still another object is to provide a parallel data processing device that minimizes the overhead time during which the processing device is at rest because it cannot receive data to be processed when transferring data between a storage device and a processing device. .

〔発明の概要〕[Summary of the invention]

本発明は、制御部を有する記憶装置とn台処理
装置をノードとしリング状に結合し、前記ノード
上を、パケツトにより一方向に転送するシステム
において、パケツトは、データを保持しているか
否かを示す識別子と、第1種あるいは第2種のい
ずれのパケツトかを判別する識別子を持たせ、前
記制御部には、1つの第1種のパケツトと、n個
の第2種のパケツトを生成する手段と、これらの
パケツトを生成した時およびリング上のノードか
らパケツトを受けとつた時、そのパケツトが第1
種のパケツトならデータを格納せず空状態としノ
ードに送出し、そのパケツトが第2種のパケツト
なら、前記記憶装置より処理すべきデータを読み
出し前記パケツトに格納しノードに送出する手段
と、さらにノードからパケツトを受け取つた時、
そのパケツトがデータを保持していればそのデー
タを取り出し前記記憶装置に格納する手段をもた
せ、一方、各処理装置にはパケツトを受け取つた
時 (1) そのパケツトにデータが格納されており、そ
の処理装置が処理中あるいは処理を終了したデ
ータを保持していないなら、パケツト内のデー
タを受けとり空状態のパケツトを次のノードに
転送し、 (2) そのパケツトが空状態の場合、その処理装置
が処理中あるいは処理を終了したデータを保持
している時、処理中の場合は処理が完了するの
を待ち、処理結果をパケツトに格納し次のノー
ドへ転送し、 (3) 上記(1)、(2)以外の場合は、そのまま受け取つ
たパケツトを次のノードへ転送する。
The present invention provides a system in which a storage device having a control unit and n processing devices are connected in a ring shape as nodes, and data is transferred in one direction by packets on the nodes. and an identifier for determining whether the packet is of type 1 or type 2, and the control unit generates one packet of type 1 and n packets of type 2. means for generating these packets and when receiving them from a node on the ring.
If the packet is a type 2 packet, it is sent to the node in an empty state without storing any data; if the packet is a type 2 packet, the data to be processed is read from the storage device, stored in the packet, and sent to the node; When a packet is received from a node,
If the packet holds data, it is provided with a means for extracting the data and storing it in the storage device.On the other hand, when each processing device receives the packet, (1) the data is stored in the packet, and the If the processing device does not hold the data that is being processed or has finished processing, it receives the data in the packet and forwards the empty packet to the next node; (2) If the packet is empty, the processing device is holding data that is being processed or has finished processing, and if processing is in progress, waits for the processing to complete, stores the processing result in a packet, and transfers it to the next node, (3) (1) above. , In cases other than (2), the received packet is forwarded to the next node.

手段を持たせたものである。It has the means.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、記憶装置と複数台の処理装置
を結合してなる並列データ処理装置において、各
装置をノードとしてリング状に結合しているた
め、処理装置の追加が非常に単純に行なうことが
でき、また、データを転送する手順が、各装置が
受けとつたパケツトの状態にのみ影響され、処理
装置の台数とは無関係に、データの送受を行なう
ことができ、処理装置の台数が変化しても、その
データ送受の制御手順をなんら変更する必要のな
い結合手段が実現できる。さらにデータの転送お
よびその処理は並列に行なうことができ、データ
の処理時間が異なる場合もデータ転送のオーバヘ
ツドを極力少なくすることができる。
According to the present invention, in a parallel data processing device that combines a storage device and a plurality of processing devices, since each device is connected in a ring shape as a node, adding a processing device can be performed very simply. In addition, the data transfer procedure is affected only by the status of the packets received by each device, and data can be sent and received regardless of the number of processing devices, and the number of processing devices changes. Even if the data transmission/reception is performed, it is possible to realize a coupling means that does not require any change in the data transmission/reception control procedure. Further, data transfer and processing can be performed in parallel, and even when data processing times are different, data transfer overhead can be minimized.

また制御部は送信するデータがどの処理装置で
行なわれるかまた受け取つたデータがどの処理装
置からのものであるのか等を全く知る必要がない
ので極めて簡単な回路構成とすることができる。
Furthermore, since the control section does not need to know at all which processing device transmits data or which processing device receives received data, it can have an extremely simple circuit configuration.

〔発明の実施例〕[Embodiments of the invention]

次に本発明を実施例にもとづき詳細に説明す
る。第4図に全体の構成を示す。10はデータを
格納している記憶装置、11はその制御部であ
り、処理装置12〜14がそれぞれをノードとし
て転送路20,21等によりリング状に結合され
ている。制御部11内の31はデータを記憶装置
10から取り出すためのアドレスカウンタであ
る。32は処理装置から送られてきた結果を10
に格納するためのアドレスカウンタである。3
1,32はいずれも初期設定時において、それぞ
れデータの先頭番地がセツトされ、記憶装置への
アクセス時+1される。34は読み出したデータ
を一時格納するレジスタ、35は処理装置から送
られてきたデータを一時格納するレジスタであ
る。33は、リング上を巡回するパケツトを一時
格納するFIFO(First Fn First Out)構成のレジ
スタである。12〜14はそれぞれ処理装置であ
りn台接続されているものとする。処理装置12
〜14内の42〜44は、パケツトを格納するレ
ジスタであり、45〜47はデータの処理を行な
う部分である。
Next, the present invention will be explained in detail based on examples. Figure 4 shows the overall configuration. 10 is a storage device storing data, 11 is a control unit thereof, and processing devices 12 to 14 are connected in a ring shape by transfer paths 20, 21, etc., each serving as a node. Reference numeral 31 in the control unit 11 is an address counter for fetching data from the storage device 10. 32 is the result sent from the processing device.
This is an address counter for storing data in . 3
For each of 1 and 32, the starting address of data is set at the time of initial setting, and is incremented by 1 when accessing the storage device. 34 is a register that temporarily stores read data, and 35 is a register that temporarily stores data sent from the processing device. 33 is a register having a FIFO (First Fn First Out) configuration that temporarily stores packets circulating on the ring. It is assumed that n units of processing units 12 to 14 are connected. Processing device 12
42 to 44 in 14 are registers for storing packets, and 45 to 47 are parts for processing data.

データを転送する転送路20,21上のデータ
形式は第5図に示すように、データを格納するフ
イールド54の他、転送路上にパケツトが存在す
ると1となるEXISTフイールド51、そのパケ
ツトにデータが存在する時1となるFULLフイー
ルド52、さらにそのパケツトが第1種のパケツ
トである時1になるNフイールド53から構成さ
れているものとする。なお後ほど詳しく説明する
が、パケツトを格納するFIFO33は、第5図に
示したパケツト全体を格納する必要はなく、その
パケツトが第1種のものであるか否かを示すNフ
イールド53の状態のみを憶えておけばよく、
FIFOのデータ幅は1ビツトで済む。
As shown in FIG. 5, the data format on the transfer paths 20 and 21 that transfer data includes, in addition to a field 54 for storing data, an EXIST field 51 that becomes 1 when a packet exists on the transfer path, and an EXIST field 51 that becomes 1 when a packet exists on the transfer path. It is assumed that the field consists of a FULL field 52 which becomes 1 when the packet exists, and an N field 53 which becomes 1 when the packet is the first type packet. As will be explained in detail later, the FIFO 33 for storing packets does not need to store the entire packet shown in FIG. 5, but only the state of the N field 53 indicating whether the packet is of the first type. All you have to do is remember,
The FIFO data width only needs to be 1 bit.

まずはじめに、制御部11がn+1個のパケツ
トを発生する。そのうちの1つは第1種のパケツ
トでn個は第2種のパケツトである。1つのパケ
ツトを第1種とするための(Nフイールドを1に
するための)手順について説明する。なおパケツ
トはノード間をτ時間ごとに移動しその移動は同
期して行なわれるものとする。初期状態において
アドレスカウンタ31には処理すべきデータが格
納されている記憶装置10の先頭番地、32には
処理された処理結果を格納する記憶装置10内の
領域の先頭番地が入つているとする。制御部11
は最初のタイミングでFULLフイードを0(デー
タが格納されていない空状態を示す)、Nフイー
ルド1(第1種のパケツトであることを示す)と
したパケツトを処理装置12へ送る(当然
EXISTフイールドは1になつている)。
First, the control section 11 generates n+1 packets. One of the packets is of the first type, and n packets are of the second type. The procedure for setting one packet as the first type (setting the N field to 1) will be explained. It is assumed that packets move between nodes every τ time, and the movement is performed synchronously. In the initial state, it is assumed that the address counter 31 contains the starting address of the storage device 10 where data to be processed is stored, and the address counter 32 contains the starting address of the area in the storage device 10 that stores the processed processing results. . Control unit 11
At the first timing, the packet is sent to the processing device 12 with the FULL feed set to 0 (indicating an empty state in which no data is stored) and the N field set to 1 (indicating that it is a first type packet).
EXIST field is set to 1).

次にアドレスカウンタ31により、記憶装置1
0からデータを順に読み出し、データフイールド
54にセツトし、FULLフイールドを1、Nフイ
ールドを0(第2種のパケツトを示す)としたパ
ケツトを次々と処理装置へ走る。これらのn個の
パケツトは、各処理装置を順に回り、先頭のパケ
ツト(Nフイールドを1とした第1種のパケツ
ト)は、丁度n+1クロツク目に制御部11に戻
つてくる。制御部11は、この時点でパケツトの
発生を停止すれば、n+1ケのパケツトが発生さ
れたことになる。
Next, the address counter 31 determines whether the storage device 1
The data is sequentially read from 0, set in the data field 54, and the packets with the FULL field set to 1 and the N field set to 0 (indicating the second type of packet) are sent one after another to the processing device. These n packets pass through each processing device in turn, and the first packet (the first type packet with the N field set to 1) returns to the control unit 11 exactly at the (n+1)th clock. If the control unit 11 stops generating packets at this point, n+1 packets will have been generated.

n台の処理装置のそれぞれは、次に示す手順で
パケツトとのデータの受け渡しをする。パケツト
が処理装置に対応するレジスタ42〜44に格納
されたことを、フイールドEXISTにより検出し
た時、次のいずれかの動作をとる。この手順を処
理装置パケツト転送手順と呼ぶことにする。
Each of the n processing devices exchanges data with a packet in the following procedure. When it is detected by the field EXIST that the packet has been stored in the registers 42 to 44 corresponding to the processing device, one of the following actions is taken. This procedure will be referred to as a processing device packet transfer procedure.

(1) そのパケツトがデータを格納していること
が、FULLフイールドが1になつていることに
より検出され、かつその処理装置は、先に送ら
れたデータを処理中でない、あるいは処理を終
了したデータを保持していない(送出し済)場
合は、パケツトからデータを取り出し処理を開
始し、FULLフイールドを0として次のノード
へ送る (2) 受けとつたパケツトのFULLフイールドが1
であるが、その処理装置がすでにデータを保持
(先に受けとつたデータの処理中又はその処理
結果を未だ送出していない)しておれば、その
ままそのパケツトを次のノードへ送る (3) FULLフイールドが0(そのパケツトにはデ
ータが格納されていない)でありかつその処理
装置が保持しているデータがない時、そのまま
そのパケツトを次のノードへ送る (4) FULLフイールドが0でありかつその処理装
置が処理中あるいは処理を終了したデータを保
持しておれば、処理中であれば処理が終了する
のを待ち、処理結果をパケツトに格納し、
FULLフイールドを1とし次のノードへ送る これらの動作をする処理装置の回路例を説明す
る。
(1) It is detected that the packet stores data because the FULL field is set to 1, and the processing device is not processing the previously sent data or has finished processing. If the data is not held (already sent), extract the data from the packet, start processing, set the FULL field to 0, and send it to the next node (2) The FULL field of the received packet will be set to 1.
However, if the processing device is already holding data (processing previously received data or has not yet sent out the processing result), it sends the packet as is to the next node (3) When the FULL field is 0 (no data is stored in the packet) and there is no data held by the processing device, send the packet as is to the next node (4). And if the processing device holds data that is being processed or has finished processing, if it is processing, it waits for the processing to finish, stores the processing result in a packet,
Set the FULL field to 1 and send it to the next node An example of a circuit of a processing device that performs these operations will be explained.

第6図に処理装置12に対応した回路図を示す
がその他の処理装置も同様構成でよい。転送路2
0上の61〜64で示されるEXIST,FULL,
Nフイールドおよびデータはレジスタ42の65
〜68にそれぞれクロツク98に信号が印加され
た時セツトされる。クロツク信号98は、全処理
装置に共通に送られるクロツク97をANDゲー
ド73で制御してつくられる。その制御の方法に
ついては後程詳しく説明する。なお以後しばらく
の間信号線95は1として説明する。70は処理
部45がデータを保持しているかどうかを示すフ
リツプフロツプであり、信号線80により処理部
45がデータを受け取つた時リセツトされ、処理
結果を送り出した時セツトされる。今処理部45
がデータを保持していない、すなわちフリツプフ
ロツプ70はセツトされ、信号線83は1になつ
ているとし、回路の動作を順を追つて説明する。
Although FIG. 6 shows a circuit diagram corresponding to the processing device 12, other processing devices may have a similar configuration. Transfer path 2
EXIST, FULL, indicated by 61 to 64 above 0
N field and data are in register 42, 65
-68 are set when a signal is applied to clock 98, respectively. Clock signal 98 is generated by controlling clock 97, which is commonly sent to all processing units, by AND gate 73. The control method will be explained in detail later. Note that the explanation will be made assuming that the signal line 95 is 1 for a while. A flip-flop 70 indicates whether or not the processing section 45 holds data, and is reset through a signal line 80 when the processing section 45 receives data, and is set when the processing section 45 sends out a processing result. Now processing section 45
The operation of the circuit will be explained step by step assuming that the flip-flop 70 is set and the signal line 83 is set to 1.

信号線83は1になつているのでRゲート7
7、ANDゲート74、Rゲート76の出力は
それぞれ1になり、クロツク信号97はANDゲ
ート73の出力に印加され、転送路20の状態が
レジスタ42に取り込まれる。いまレジスタ42
のフイールド65が0、すなわちEXISTフイー
ルドが0の時、処理部45は信号線82によりパ
ケツトが致着していないことを検出し何もしな
い。このフイールド65が0である状態は、
ANDゲート75を介して信号線91により次報
の処理装置へ伝えられる。
Since the signal line 83 is set to 1, the R gate 7
7, the outputs of the AND gate 74 and the R gate 76 each become 1, the clock signal 97 is applied to the output of the AND gate 73, and the state of the transfer path 20 is taken into the register 42. now register 42
When the field 65 is 0, that is, the EXIST field is 0, the processing section 45 detects that no packet has arrived via the signal line 82 and does nothing. The state where this field 65 is 0 is
The signal is transmitted via the AND gate 75 and the signal line 91 to the next processing device.

つぎにEXISTフイールドが1かつフイールド
66のFULLフイールドが1の場合、すなわちデ
ータを格納しているパケツトが到着した場合(上
記(1))を考える。処理部45は、処理すべきデー
タを保持していないため、データ線85を介し、
レジスタ42の68に格納されたデータを受けと
り、フリツプフロツプ70をリセツトし、処理を
開始する。さらに信号線84を0にし、マルチプ
レクサ71のB入力を選択し、信号線92を0と
し(FULLフイールドを0とし)、データを格納
していないパケツトを転送することを次段の処理
装置に伝える。この時、信号線83は0になつて
も信号線87は1のままであるので、レジスタ4
2の内容はANDゲート75を介し信号線91に
そのまま伝えられる。なお信号線84を0にしマ
ルチプレクサ71のB入力を選択するのは次段の
処理装置がパケツトを受け取るまでの間である。
次段の処理装置がパケツトを受けとつたか否か
は、信号線95により判断できるが、詳細は後ほ
ど説明する。フリツプフロツプ70がリセツト状
態の時(すなわち処理中のデータを保持している
時)、レジスタ42のフイールド65が0になつ
ても(パケツトが存在しなくなつても)、あるい
はフイールド65が1、フイールド66が1とな
つても(データを格納したパケツトが到着して
も:上記(2))、次段の処理装置にレジスタ42の
内容がそのまま伝えられることは、回路図から容
易に判る。
Next, consider the case where the EXIST field is 1 and the FULL field of field 66 is 1, that is, when a packet storing data arrives ((1) above). Since the processing unit 45 does not hold data to be processed, the processing unit 45 uses the data line 85 to
The data stored in register 42 at 68 is received, flip-flop 70 is reset, and processing begins. Further, the signal line 84 is set to 0, the B input of the multiplexer 71 is selected, the signal line 92 is set to 0 (FULL field is set to 0), and the next processing device is informed that the packet containing no data is to be transferred. . At this time, even though the signal line 83 becomes 0, the signal line 87 remains 1, so the register 4
The contents of 2 are directly transmitted to the signal line 91 via the AND gate 75. Note that the signal line 84 is set to 0 and the B input of the multiplexer 71 is selected until the next stage processing device receives the packet.
Whether or not the next-stage processing device has received the packet can be determined from the signal line 95, and the details will be explained later. When flip-flop 70 is in the reset state (i.e., holding data being processed), even if field 65 of register 42 becomes 0 (even if no packet is present), or if field 65 is 1 and field 65 is It is easy to see from the circuit diagram that even if 66 becomes 1 (even if a packet containing data arrives: (2) above), the contents of register 42 are transmitted as they are to the next processing device.

さて次に、このフリツプフロツプ70がリセツ
トの状態の時、空の状態のパケツトが到着した場
合(上記(4))を想定してみる。すなわちレジスタ
42のフイールド65が1、66が0になつた場
合である。この時まだ処理が終つておらずフリツ
プフロツプ70はリセツトのままであるとする
と、Rゲート77の出力は0となり、ANDゲ
ート75の出力は0、さらにRゲート76の出
力は、インバータ78の出力が0であることか
ら、0となり、73の出力は抑制され、クロツク
がレジスタ42に印加されず、その内容は不変と
なる。すなわち次のパケツトを受けとれない状態
になつている。この状態になつていることは前段
の装置に信号線96が0になることにより伝えら
れる。さらにANDゲート75の出力が0になる
ことにより、次段の処理装置へは、EXISTフイ
ールドが0のデータが送られ、パケツトを転送し
ていないことになる。さて、処理部45での処理
が終了したとしよう。この時、フリツプフロツプ
70が信号線80によりセツトされ、データ線8
6に処理結果を載せ、信号線84を1とし、マル
チプレクサ71,72のB入力を選択する。この
時信号線91,92は1となり、次段の処理装置
に、処理結果を格納したパケツトを送ることがで
きる。以上説明したように第6図に示す回路によ
り、先に説明した処理装置パケツト転送手順を実
現することができる。
Next, suppose that an empty packet arrives while the flip-flop 70 is in the reset state ((4) above). That is, this is the case when the field 65 of the register 42 becomes 1 and the field 66 becomes 0. Assuming that the processing has not yet finished and the flip-flop 70 remains reset, the output of the R gate 77 will be 0, the output of the AND gate 75 will be 0, and the output of the R gate 76 will be the output of the inverter 78. Since it is 0, it becomes 0, the output of 73 is suppressed, no clock is applied to register 42, and its contents remain unchanged. In other words, it is in a state where it cannot receive the next packet. This state is notified to the preceding device by the signal line 96 becoming 0. Furthermore, since the output of the AND gate 75 becomes 0, data with an EXIST field of 0 is sent to the next processing device, which means that the packet is not transferred. Now, let us assume that the processing in the processing section 45 has ended. At this time, the flip-flop 70 is set by the signal line 80, and the data line 80 is set.
6 is loaded with the processing result, the signal line 84 is set to 1, and the B inputs of the multiplexers 71 and 72 are selected. At this time, the signal lines 91 and 92 become 1, and the packet storing the processing result can be sent to the next processing device. As described above, the circuit shown in FIG. 6 can realize the processing device packet transfer procedure described above.

以上の説明の中にもでてきたが、パケツトを次
段の装置へ送ることができない場合がある。その
原因には2つ考えられ、1つは上の説明に出てき
たようにFULLフイールドが0の空状態のパケツ
トを受けとつたが、処理がまだ終つていず、パケ
ツトを次に回せない場合(上記(4))であり、他の
1つは、その処理装置自身はパケツトを次に送り
得るが、次段の処理装置がパケツトを受け取つて
くれない場合である。前者の場合の動作は先に説
明したとうりRゲート77の出力が0になるこ
とにより、ANDゲート73の出力を抑圧し、ク
ロツクの印加を禁止し、信号線96により前段の
装置に対しパケツトが受け取れないことを知らせ
ている。後者の場合、次段の処理装置が信号線9
5を0にすることにより、パケツトが受け取れな
いことを知らせてきた場合である。いまレジスタ
42にパケツトが存在しなければ、次段の状態に
かかわらず前段からパケツトを受けとることがで
きる。第6図において、レジスタ42のフイール
ド65が0の場合インバータ78の出力は1とな
りRゲート76の出力は信号線95の状態にか
かわらず1となり、レジスタ42にクロツクが印
加され、パケツトを受け取ることができるように
なつている。次にすでにレジスタ42にパケツト
がある場合を考えてみる。この場合は、インバー
タ78の出力は0であるので、信号95の状態が
そのまま96に伝えられ、前段の装置にパケツト
を受けとれないことを伝えることができる。なお
記憶装置の制御部からも前段の処理装置に対し、
パケツトを受け取れるか否かの信号が出力される
(但し本システムでは制御部はパケツトを格納す
るFIFがあるので常にパケツトが受け取れる状
態になつている)。また本制御部は、次段の処理
装置から送られる、パケツトが受け取り可能か否
かを示す信号に従い、パケツトの送り出しを制御
している。
As mentioned in the above explanation, there are cases where the packet cannot be sent to the next device. There are two possible reasons for this. One is that, as mentioned in the explanation above, an empty packet with a FULL field of 0 has been received, but processing has not yet been completed and the packet cannot be passed on to the next one. The other case is the case (4) above, and the other case is that the processing device itself can send the packet to the next stage, but the next processing device does not receive the packet. In the former case, as explained above, the output of the R gate 77 becomes 0, suppressing the output of the AND gate 73, prohibiting the application of the clock, and transmitting packets to the previous stage device via the signal line 96. It informs you that it cannot be received. In the latter case, the next stage processing device is connected to the signal line 9.
This is a case where it is notified that the packet cannot be received by setting 5 to 0. If there is no packet present in the register 42, the packet can be received from the previous stage regardless of the state of the next stage. In FIG. 6, when the field 65 of the register 42 is 0, the output of the inverter 78 is 1 and the output of the R gate 76 is 1 regardless of the state of the signal line 95, so that the clock is applied to the register 42 and the packet is not received. It is becoming possible to do this. Next, consider the case where there is already a packet in register 42. In this case, since the output of the inverter 78 is 0, the state of the signal 95 is transmitted as is to the signal 96, thereby informing the preceding device that the packet cannot be received. Note that the control unit of the storage device also controls the processing device in the previous stage.
A signal indicating whether or not packets can be received is output (however, in this system, the control unit has a FIF for storing packets, so it is always ready to receive packets). Further, this control section controls the sending of packets in accordance with a signal sent from the next stage processing device indicating whether or not the packet can be received.

次に記憶装置10の制御部の動作を説明する。
その基本的動作は次のような手順でおこなわれ
る。これを制御部パケツト転送手順と呼ぶことに
する。
Next, the operation of the control section of the storage device 10 will be explained.
Its basic operation is performed in the following steps. This will be referred to as the control section packet transfer procedure.

(1) 処理装置からパケツトを受けとり、そのパケ
ツトがデータを格納している時、第4図に示し
たアドレスカウンタ32で示す記憶装置の番地
にそのデータを書き込み、パケツトのNフイー
ルド(第1種のパケツトか否かを示すフイール
ド)をFIF33に格納する。その後アドレス
カウンタ32の内容を+1する (2) 送られてきたパケツトが空ならパケツトのN
フイールドをFIF33にただ格納するだけで
ある (3) 次段の処理装置がパケツトを受けとることが
可能であり、FIF33の先頭のデータをとり
出しその値が0であれば(第1種のパケツトで
ないことを意味する)、アドレスカウンタ31
によりデータを読み出し、パケツトを、FULL
フイールドを1、Nフイールドを0として構成
し、データとともに次段へ送出する。この時ア
ドレスカウンタ31の内容を+1する (4) 次段の処理装置がパケツトを受けとることが
可能であり、FIF33の先頭のデータを取り
出し1であれば(第1種のパケツトであること
を意味する)、FULLフイールドを0、Nフイ
ールドを1とし(データは格納せず)次段の装
置へ送出する。
(1) When a packet is received from the processing device and the packet stores data, the data is written to the address of the storage device indicated by the address counter 32 shown in FIG. A field indicating whether the packet is a packet) is stored in the FIF 33. After that, add 1 to the contents of address counter 32 (2) If the sent packet is empty, add N of the packet.
The field is simply stored in the FIF33 (3) If the next processing device is able to receive the packet, extracts the data at the beginning of the FIF33, and the value is 0 (it is not a type 1 packet). ), address counter 31
Read the data and write the packet as FULL
Configure the field as 1 and the N field as 0, and send it to the next stage along with the data. At this time, the contents of the address counter 31 are incremented by 1 (4) If the next stage processing device is able to receive the packet and takes out the data at the beginning of the FIF 33 and is 1 (meaning it is a first type packet) ), set the FULL field to 0 and the N field to 1 (no data is stored) and send it to the next stage device.

以上の動作を行なう制御部の回路例を第7図に
示す。パケツトが送られてきたか否かは、転送路
上のEXISTフイールド101により判断できる。
101が1なら処理装置からパケツトが送られて
きており、その時FULLフイールド102が1
(上記(1))なら104上のデータをレジスタ35
に取り込み、アドレスカウンタ32を番地として
記憶装置10に書き込めば良い。この時第1種の
パケツトか否かを示すNフイールド103の値を
FIF33に格納する。また送られてきたパケツ
トのFULLフイールド102が0(上記(2))なら
データは送られておらず、Nフイールドの値を
FIF33に取り込むだけでよい。これらの制御
は制御回路100により信号線112,114,
115を介して行なわれる。次段の処理装置がパ
ケツトを受け取れるか否かを示す信号96が1で
あり(パケツトが受け取れることを示す)、かつ
第1種のパケツトか否かを示すFIF33からの
出力が0(上記(3))ならアドレスカウンタ31を
番地として記憶装置10から読み出し、レジスタ
34に格納してあるデータを処理装置に送る。こ
の時転送路20上のEXISTフイールド61を1、
FULLフイールド62を1(パケツトにデータが
格納されていることを示す)、Nフイールド63
を0とする。
FIG. 7 shows an example of a circuit of a control section that performs the above operations. Whether or not a packet has been sent can be determined by the EXIST field 101 on the transfer path.
If 101 is 1, a packet is being sent from the processing device, and at that time FULL field 102 is 1.
((1) above), the data on 104 is transferred to register 35.
, and write it into the storage device 10 using the address counter 32 as the address. At this time, the value of N field 103 indicating whether or not the packet is of type 1 is
Store in FIF33. Also, if the FULL field 102 of the sent packet is 0 ((2) above), no data has been sent, and the value of the N field is
Just import it into FIF33. These controls are carried out by the control circuit 100 through signal lines 112, 114,
115. The signal 96 indicating whether or not the next-stage processing device can receive the packet is 1 (indicating that the packet can be received), and the output from the FIF 33 indicating whether the packet is of the first type is 0 ((3) above). )), the address counter 31 is used as the address to read from the storage device 10, and the data stored in the register 34 is sent to the processing device. At this time, set the EXIST field 61 on the transfer path 20 to 1,
Set FULL field 62 to 1 (indicates that data is stored in the packet), N field 63
Let be 0.

FIF33の出力をそのままフイールド63
に、インバータ107により反転した値をフイー
ルド62に出力することによりフイールド62,
63の制御は簡単に実現できる。またFIF33
からの出力が1(上記(4))の時(第1種のパケツ
トである時)、FULLフイールド62は0、Nフ
イールド63は1となり、データを格納していな
いパケツトを送出したことになる(この場合は記
憶装置10からの読み出しはおこらない)。記憶
装置10からの読み出し、FIF33からのデー
タの取り出しなどは、制御回路100により信号
線112,113,115を介しておこなわれ
る。なお信号95は、前段の処理装置に対しパケ
ツトが受けとれるか否かを示す働きをしている
が、この制御部11にはパケツトを格納するFIF
O33があるので、常にパケツトを受け取ること
ができるので常に1になつている。以上説明した
ように、第6図の回路により、前述の制御部パケ
ツト転送手順を実現することができる。
Field 63 outputs FIF33 as is
Then, by outputting the inverted value by the inverter 107 to the field 62, the field 62,
63 control can be easily realized. Also FIF33
When the output is 1 ((4) above) (when it is a first type packet), the FULL field 62 becomes 0 and the N field 63 becomes 1, meaning that a packet containing no data has been sent. (In this case, reading from the storage device 10 does not occur). Reading from the storage device 10 and taking out data from the FIF 33 are performed by the control circuit 100 via signal lines 112, 113, and 115. Note that the signal 95 has the function of indicating whether or not the packet can be received by the processing device at the previous stage;
Since there is O33, packets can always be received, so it is always 1. As explained above, the circuit shown in FIG. 6 can realize the above-described control section packet transfer procedure.

次にこれまで説明してきたパケツトの転送手順
により、データの送受がどのように行なわれるか
を説明する。簡単のため処理装置を3台としてデ
ータの送受法を中心に説明する。第8図a〜dに
おいて3台の処理装置P1〜P3がブロツク12
0に示されている。記憶装置およびその制御部は
記していないが、その制御部は4つのパケツトを
生成し、記憶装置からデータを読み出し処理装置
に送る。この時4番目のパケツト(第1種のパケ
ツト)はデータを格納しない空の状態で処理装置
に送られる。すなわち3個のデータと、1つの空
きパケツトが組となりブロツク121に示すよう
に順々に送出されるわけである。ブロツク121
における番号は、識別のためデータに付した番号
であり、空欄はデータが格納されていないことを
示している。最初のデータ1がP1に送られた状
態が同図aであり、P1はデータを保持していな
いため、データ1を取り込み処理をはじめる。さ
らにパケツトが送り込まれた空パケツトがP1に
送られた状態を同図bに示す。P1はデータ1を
保持しておりその処理の終るのを待ち結果をこの
空パケツトに格納する。同図bにおいて点線は次
のステツプで行なわれるデータの送受を示してい
る。同図cはさらにパケツトの転送が進んだ状態
である。直前のステツプでデータ4がP1にとり
込まれており、このデータ4を格納していたパケ
ツト(*印で示してある)が空パケツトとしてP
2に送られている。なおハツチングをほどこして
あるのは、処理された結果であることを示してい
る。同図cにおいてP2が処理結果を空パケツト
*に移し、次のステツプでデータ5がP2に取り
込まれる。同図dは同図cより転送が2ステツプ
進んだ様子を示しており、P3で処理されたデー
タ3と、P1で処理されたデータ4とが、それぞ
れ空パケツトに移されるところである。このよう
にして処理すべきデータが各処理装置に順に送り
込まれ、制御部は送り込まれた順序で次々と処理
結果を得ることができる。
Next, a description will be given of how data is sent and received using the packet transfer procedure described above. For the sake of simplicity, the explanation will focus on the data transmission and reception method using three processing devices. In FIGS. 8a to 8d, three processing devices P1 to P3 are connected to block 12.
0. Although the storage device and its control unit are not shown, the control unit generates four packets, reads data from the storage device, and sends it to the processing device. At this time, the fourth packet (first type packet) is sent to the processing device in an empty state in which no data is stored. That is, three pieces of data and one empty packet form a set and are sent out in sequence as shown in block 121. Block 121
The numbers in are numbers attached to data for identification, and a blank column indicates that no data is stored. Figure a shows a state in which the first data 1 is sent to P1, and since P1 does not hold any data, data 1 is fetched and processing is started. Figure b shows a state in which an empty packet to which a further packet has been sent is sent to P1. P1 holds data 1 and waits for the processing to be completed and stores the result in this empty packet. In FIG. 1B, dotted lines indicate data transmission and reception to be performed in the next step. Figure c shows a state in which the packet transfer has further progressed. Data 4 was taken into P1 in the previous step, and the packet that stored this data 4 (indicated by an asterisk) is transferred to P1 as an empty packet.
It has been sent to 2. Note that hatching indicates processed results. In the figure c, P2 transfers the processing result to an empty packet*, and in the next step, data 5 is taken into P2. Figure d shows the state where the transfer has proceeded two steps from the figure c, and data 3 processed in P3 and data 4 processed in P1 are each transferred to empty packets. In this way, the data to be processed is sent to each processing device in sequence, and the control section can obtain processing results one after another in the order in which they are sent.

次に処理装置が4台、データの処理時間が第3
図に示す場合について詳しくそのタイミングを調
べてみる。第9図にその結果が示されている。図
中P1〜P4は処理装置、Cは制御部を示す。また
添字Nは、第1種のパケツトであることを示し、
数字はデータの番号、〇で囲まれているのは、そ
のタイミングで処理装置にデータが取り込まれる
こと、さらに□で囲まれているのは処理結果であ
ることを示している。またeは空パケツトである
ことを示している。さて制御部は最初に第1種の
パケツトを空状態(eN)で送出し、続いて処理す
べきデータをパケツトを生成しながら順々に送り
出す。ステツプ5において制御部に第1種のパケ
ツトが戻つて来ており、5個のパケツトが生成さ
れたのでこの時点でパケツトの生成は停止され
る。図からも明らかなようにステツプ2でP1に
データ1が、ステツプ4でP2にデータ2が、さ
らにステツプ6でP3にデータ3が取り込まれて
いる。またステツプ6では、制御部11は第1種
のパケツト(eN)を、空状態のままP1へ転送し
ている。データ1に対する処理時間は、第3図に
示すように4であり、丁度第6ステツプでその処
理が終了する。すなわち第7ステツプでその結果
が、パケツトに格納されP2へ送られている。P
1はこのステツプ7で送られてきたデータ5を取
り込む、その時空になつたパケツトは第8ステツ
プでP2へ送られる。P2が処理しているデータ
2は、この第8ステツプで処理が終了し、処理結
果を送られてきた空パケツトに格納しP3へ送出
する。第9ステツプでP2は新しいデータ6を受
けとり、空パケツトを第10ステツプでP3へ送
る。第10ステツプで制御部11にデータ1の処理
結果が得られる。第11ステツプで空パケツトを受
けとつたP3は、データ3を処理しているが、そ
の処理は第3図に示すように20ステツプかかるた
めその時点では終了せず、第26ステツプまでその
終了を待つ。したがつて、第26ステツプまでパケ
ツトは停止している。P3は第27ステツプで処理
結果をP4へ送り、次に処理すべきデータ7を受
けとる。P4で処理されているデータ4は、その
処理時間は10ステツプであり、第28ステツプで空
パケツトを受けた時点では処理は終了しており、
直ちに次のステツプでその結果が制御部11へ送
られる。以下同様の手順で処理が進められ、制御
部11から順に送られたデータが、処理されその
順序で処理結果が制御部11に戻されてくる。な
おステツプ11〜26で制御部に2つのパケツトが存
在しているが、処理装置がまだパケツトを受け取
れる状態にならず、その内部(FIFO)に留めて
いるためである。但し、受け取つた処理結果はそ
のとき記憶装置に書き込んでいる。
Next, there are 4 processing devices, and the data processing time is 3rd.
Let's examine the timing in detail for the case shown in the figure. The results are shown in FIG. In the figure, P 1 to P 4 indicate processing devices, and C indicates a control unit. Also, the subscript N indicates that it is a first type packet,
The numbers are data numbers, the circles surrounded by circles indicate that the data will be taken into the processing device at that timing, and those surrounded by squares indicate the processing results. Further, e indicates an empty packet. The control section first sends out the first type of packet in an empty state (e N ), and then sequentially sends out data to be processed while generating packets. At step 5, the first type of packet is returned to the control section, and since five packets have been generated, packet generation is stopped at this point. As is clear from the figure, data 1 is loaded into P1 in step 2, data 2 is loaded into P2 in step 4, and data 3 is loaded into P3 in step 6. Further, in step 6, the control unit 11 transfers the first type packet (e N ) to P1 in an empty state. The processing time for data 1 is 4, as shown in FIG. 3, and the processing ends exactly at the sixth step. That is, in the seventh step, the result is stored in a packet and sent to P2. P
1 takes in the data 5 sent in this step 7, and the time-spaced packet is sent to P2 in the 8th step. The processing of data 2 being processed by P2 is completed in this eighth step, and the processing result is stored in the sent empty packet and sent to P3. In the 9th step, P2 receives new data 6 and sends an empty packet to P3 in the 10th step. In the tenth step, the processing result of data 1 is obtained in the control section 11. P3, which received the empty packet at the 11th step, is processing data 3, but as the processing takes 20 steps as shown in Figure 3, it does not end at that point, and does not wait until the 26th step to complete the process. wait. Therefore, the packet is stopped until the 26th step. P3 sends the processing result to P4 in the 27th step and receives data 7 to be processed next. The processing time for data 4 being processed in P4 is 10 steps, and the processing is complete when an empty packet is received in the 28th step.
The result is immediately sent to the control section 11 in the next step. Thereafter, the processing proceeds in the same manner, and the data sent from the control section 11 is processed in order, and the processing results are returned to the control section 11 in that order. Note that although two packets exist in the control section in steps 11 to 26, this is because the processing device is not yet in a state where it can receive the packets and is holding them internally (FIFO). However, the received processing results are written to the storage device at that time.

第9図から明らかなように、第3図に示す16個
のデータの処理が済み、かつすべての処理結果が
制御部に戻されるまで60ステツプで済んでいる。
これは第2図に関連して述べた処理方式の場合の
100ステツプより大幅に短縮されていることが判
る。
As is clear from FIG. 9, it takes 60 steps to process the 16 pieces of data shown in FIG. 3 and return all the processing results to the control section.
This is true for the processing method described in relation to Figure 2.
It can be seen that it is much shorter than 100 steps.

本発明によれば処理装置をリング状に接続して
いるため、その台数を増加することは非常に容易
であり、さらにデータ転送の手順が、装置台数と
無関係であるため、台数が増加したりあるいは故
障等により減少したとしても、その手順を何ら変
更する必要のない、並列データ処理装置を提供す
ることができる。
According to the present invention, since the processing devices are connected in a ring, it is very easy to increase the number of processing devices, and since the data transfer procedure is independent of the number of devices, the number of processing devices can be increased. Alternatively, it is possible to provide a parallel data processing device in which there is no need to change the procedure at all even if the number decreases due to a failure or the like.

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

第1図、第2図は従来の並列データ処理装置の
ブロツク図である。第3図は、あるデータの処理
時間の一例を示す図、第4図は本発明の一実施例
のブロツク図、第5図はデータ転送の際のデータ
の形式を示す図、第6図は本発明の一実施例で用
いた処理装置を示す図、第7図は、本発明の一実
施例で用いる制御部の詳細ブロツク図、第8図及
び第9図は、データ転送の進行状態を示す図であ
る。 10……記憶装置、11……制御部、12〜1
4……処理装置、31,32……カウンタ、3
4,35……レジスタ、33……FIFO、42〜
44……レジスタ、73〜78……論理ゲート、
71,72……マルチプレクサ。
FIGS. 1 and 2 are block diagrams of conventional parallel data processing devices. FIG. 3 is a diagram showing an example of processing time for certain data, FIG. 4 is a block diagram of an embodiment of the present invention, FIG. 5 is a diagram showing the format of data during data transfer, and FIG. FIG. 7 is a detailed block diagram of a control unit used in an embodiment of the present invention, and FIGS. 8 and 9 show the progress state of data transfer. FIG. 10...Storage device, 11...Control unit, 12-1
4... Processing device, 31, 32... Counter, 3
4, 35...Register, 33...FIFO, 42~
44...Register, 73-78...Logic gate,
71, 72...Multiplexer.

Claims (1)

【特許請求の範囲】 1 制御部を有する記憶装置とn台の処理装置を
ノードとしリング状に結合し、前記ノード上をパ
ケツトにより一方向にデータを転送するシステム
において、 該パケツトには、データを保持しているか否か
を示す識別子と、第1種か第2種かの区別を示す
識別子をもたせ、 前記制御部には、1個の第1種のパケツトとn
個の第2種のパケツトを生成する手段と、これら
のパケツトを生成した時および、リング上のノー
ドからパケツトを受け取つた時、第1種のパケツ
トに対してはデータを保持せしめず空状態とし、
第2種のパケツトに対しては前記記憶装置より読
み出したデータを格納せしめ、リング上のノード
に送出する手段と、さらにノードから送られてき
たパケツトにデータが格納されている時、該デー
タを前記記憶装置に格納する手段を持たせ、 さらに各処理装置には、データを保持している
パケツトを受け取つた時、該処理装置が既にデー
タを保持しているならそのまま、次のノードへ送
出し保持していないなら該パケツト内のデータを
取り込みパケツトを空状態とし次のノードへ送出
する手段と、空状態のパケツトを受けとつた時、
該パケツトがデータを保持していなければそのま
ま次のノードへ、データを保持していれば、該デ
ータに対する処理の終了を待ちその結果を前記受
け取つたパケツトに格納し次のノードに送出する
手段を持たせたことを特徴とする並列データ処理
装置。
[Scope of Claims] 1. In a system in which a storage device having a control unit and n processing devices are connected in a ring shape as nodes, and data is transferred in one direction by packets on the nodes, the packets contain data. and an identifier indicating whether the packet is of the first type or the second type.
means for generating packets of the second type; when these packets are generated and when the packets are received from a node on the ring, the packets of the first type are left in an empty state without holding any data; ,
For the second type of packet, there is a means for storing the data read from the storage device and sending it to a node on the ring, and further, when data is stored in a packet sent from a node, a means for storing the data. The storage device is provided with means for storing the data, and each processing device is provided with a means for storing data, and further, when receiving a packet holding data, if the processing device already holds the data, it is sent as is to the next node. If the packet is not held, the data in the packet is taken in, the packet is made empty, and the packet is sent to the next node, and when the empty packet is received,
If the packet does not hold data, it is sent as is to the next node, and if it does hold data, it waits for the completion of processing on the data, stores the result in the received packet, and sends it to the next node. A parallel data processing device characterized by:
JP58050498A 1983-03-28 1983-03-28 Parallel data processor Granted JPS59176846A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58050498A JPS59176846A (en) 1983-03-28 1983-03-28 Parallel data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58050498A JPS59176846A (en) 1983-03-28 1983-03-28 Parallel data processor

Publications (2)

Publication Number Publication Date
JPS59176846A JPS59176846A (en) 1984-10-06
JPH0217821B2 true JPH0217821B2 (en) 1990-04-23

Family

ID=12860601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58050498A Granted JPS59176846A (en) 1983-03-28 1983-03-28 Parallel data processor

Country Status (1)

Country Link
JP (1) JPS59176846A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0465423U (en) * 1990-10-19 1992-06-08

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61131062A (en) * 1984-10-30 1986-06-18 Mitsubishi Electric Corp Multiprocessor system
JPS61107460A (en) * 1984-10-30 1986-05-26 Mitsubishi Electric Corp Multiprocessor system
JP2781550B2 (en) * 1985-05-10 1998-07-30 株式会社日立製作所 Parallel processing computer
JP3137117B2 (en) * 1987-03-27 2001-02-19 将容 曽和 High-speed processing computer
JP2634919B2 (en) * 1990-02-05 1997-07-30 松下電器産業株式会社 Multiprocessor device
JP2012038262A (en) * 2010-08-11 2012-02-23 Fujitsu Ltd Cache memory and data processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0465423U (en) * 1990-10-19 1992-06-08

Also Published As

Publication number Publication date
JPS59176846A (en) 1984-10-06

Similar Documents

Publication Publication Date Title
US6085303A (en) Seralized race-free virtual barrier network
CN109933438B (en) High-speed shared memory data receiving and transmitting system
US6996659B2 (en) Generic bridge core
US5392442A (en) Data-driven processor having an output unit for providing only operand data in a predetermined order
JPH06164574A (en) Data communication device/method
JPS63168732A (en) Non-locking queue mechanism
US5495619A (en) Apparatus providing addressable storage locations as virtual links and storing predefined destination information for any messages transmitted on virtual links at these locations
JP3797491B2 (en) Data interface and high-speed communication system using the same
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
US6131114A (en) System for interchanging data between data processor units having processors interconnected by a common bus
US5117489A (en) Data-driven processor having an internal tag-generating system for generating a distinct tagged information and assembling with un-tagged information of an input/output data packet
JPH0217821B2 (en)
US5848297A (en) Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
US5442631A (en) Communication control device
US4053947A (en) Method and apparatus for executing sequential data processing instructions in function units of a computer
RU175049U9 (en) COMMUNICATION INTERFACE DEVICE SpaceWire
JP2013196509A (en) Information processor and control method of the same
JPS5852264B2 (en) Multi-unit system
JP3031591B2 (en) Access arbitration method
JP2000112912A (en) Processing system for test and copy against remote memory in distributed memory-type parallel computer
JPH064401A (en) Memory access circuit
KR100323910B1 (en) Data interface and high-speed communication system using the same
JPS598845B2 (en) Channel control method
JPH06119284A (en) Data transfer device and multiprocessor system
SU934465A1 (en) Input-ouput processor