JPS58181168A - Autonomous processor array system - Google Patents

Autonomous processor array system

Info

Publication number
JPS58181168A
JPS58181168A JP57064437A JP6443782A JPS58181168A JP S58181168 A JPS58181168 A JP S58181168A JP 57064437 A JP57064437 A JP 57064437A JP 6443782 A JP6443782 A JP 6443782A JP S58181168 A JPS58181168 A JP S58181168A
Authority
JP
Japan
Prior art keywords
data
processor
processors
memory
operand
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.)
Granted
Application number
JP57064437A
Other languages
Japanese (ja)
Other versions
JPS6336544B2 (en
Inventor
Masato Amamiya
雨宮 真人
Tadashi Naruse
正 成瀬
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP57064437A priority Critical patent/JPS58181168A/en
Publication of JPS58181168A publication Critical patent/JPS58181168A/en
Publication of JPS6336544B2 publication Critical patent/JPS6336544B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Abstract

PURPOSE:To operate processors in parallel by the distributed control, by connecting autonomously operating processors into an array by the data driving control and adding a tag to data and operating processors asynchronously. CONSTITUTION:While holding the sequentiality of the data sequence inputted from the same input terminal, plural autonomously operating processors 1 are connected into an array by a data controlling part. The processor 1 consists of a link memory part 2, an execution controlling part 3, and an operating part 4, and input terminals 15 and output terminals 16 are connected to the operating part 4. A first-in first-out queue is provided in the input side of each part of the processor 1, and respective parts are connected into a loop, and the data transfer is performed in the packet form. A tag is added to transfer data, and the selection of an operation in the processor 1 and the selection of an opportunity of the start of this operation, an opportunity of movement to another processor, and a movement destination are performed by the tag itself, and processors 1 are operated asynchronously, and thus, processors 1 are operated in parallel.

Description

【発明の詳細な説明】 本発明は自律型プロセッサアレイ方式に関し、詳しくは
、LSIチップ化された多数のプロセッサを用いて、信
号処理、行列演算処理、ソーティング等、一連のデータ
系列の処理をパイプライン化して処理する場合、各プロ
セッサの動作に自律性を与え、集中的管理の必要性をな
くし、分散制御による動作な可能とする計算機方式に関
するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an autonomous processor array system, and more specifically, the present invention relates to an autonomous processor array system, and more specifically, a series of data series processes such as signal processing, matrix operation processing, and sorting are performed using a large number of LSI chip processors. The present invention relates to a computer system that gives autonomy to the operation of each processor when processing in a line, eliminates the need for centralized management, and enables operation under distributed control.

従来、LSIチップを多数規則的に配列して結合し、時
々刻々人力されるデータストリームを各プロセッサがあ
らかじめ定められた手順に沿って演算を施し、定められ
た隣接プロセッサへ処理結果を転送し、データをいくつ
かのプロセッサを経て処理していくという計算機方式が
知られている。
Conventionally, a large number of LSI chips are arranged and connected in a regular manner, and each processor performs calculations on a data stream manually input from time to time according to a predetermined procedure, and transfers the processing results to a predetermined neighboring processor. A computer method is known in which data is processed through several processors.

第1図及び第2図にその従来の構成例を示す。An example of the conventional configuration is shown in FIGS. 1 and 2.

第1図は積和演算機能y 4− y +a + xをも
ったn IIMIのプロセッサ1を1次元に結合して実
時間フィルタ処理 を実現する例である。又、第2図は積和演算機能C+−
C十aγbをもったプロセッサを六角構造アレイに結合
して、帯行列の演算C=A、x13を実現する例である
。第1図及び第2図の方式は米国カーネギ−メロン大学
のH,T、Kungによって提案されている( I−I
、 T、 Kung ; Let’s I)。sign
Algorithms for VIJS I Sys
tems 、 CMU −C8−79−151、Car
negie −Mellon University、
  1979)。
FIG. 1 is an example in which real-time filter processing is realized by one-dimensionally combining nIIMI processors 1 having a product-sum calculation function y4-y+a+x. Also, Figure 2 shows the product-sum calculation function C+-
This is an example of combining processors with C10aγb into a hexagonal structure array to realize banded matrix operation C=A, x13. The methods shown in Figures 1 and 2 were proposed by H.T. Kung of Carnegie Mellon University in the United States (I-I
, T. Kung; Let's I). sign
Algorithms for VIJS I Sys
tems, CMU-C8-79-151, Car
negie-Mellon University,
1979).

しかし、従来の方式では、各プロセッサを1つの同期信
号によって同期的に実行させねばならないため、固定し
た機能しか実現できない。そのため、各プロセッサは全
アレイの演算目的に合わせて専用的に設計しなければな
らず、柔軟性に欠ける欠点があった。
However, in the conventional system, each processor must be executed synchronously using a single synchronization signal, and therefore only a fixed function can be realized. Therefore, each processor had to be specially designed to suit the calculation purpose of the entire array, resulting in a lack of flexibility.

本発明の目的は、−1−記従来の欠点を除去するため、
各プロセッサに自律性を与えて、各プロセッサの実行を
非同期化し、各プロセッサの分散制御による並列動作を
可能とする自律型プロセッサアレイ方式を提供すること
にある。
The purpose of the present invention is to eliminate the drawbacks of the conventional technology as described in -1-.
An object of the present invention is to provide an autonomous processor array system that gives autonomy to each processor, asynchronously executes the execution of each processor, and enables parallel operation by distributed control of each processor.

上記の目的を達成するため、本発明はデータ駆動制御に
より自律的に動作するプロセッサをアレイ状に結合する
と共に、データにタグを付すことによって各プロセッサ
内での演算の選択とその演算の起動の契機、並びにプロ
セッサから他のプロセッサへの移動契機、移動先プロセ
ッサの選択をデータ自身が行い、これによって各プロセ
ッサを非同期的に動作して、人力されてくるデータ列を
次々とパイプライン的に時系列で処理していくことを特
徴としている。
To achieve the above object, the present invention combines processors that operate autonomously into an array using data-driven control, and tags data to control the selection and activation of operations within each processor. The data itself determines the trigger, the trigger for moving from one processor to another, and the selection of the destination processor, and each processor is thereby operated asynchronously, and data strings input manually are sequentially transferred in a pipeline manner. It is characterized by processing in series.

U下、図示の実施例にもとづき本発明の内容を詳細に説
明する。
Below, the contents of the present invention will be explained in detail based on the illustrated embodiments.

第3図は本発明の一実施例であり、データ駆動で動作す
る自律型プロセッサ1を6隣接に結合した自律型プロセ
ッサアレイの全体構成を示したものである。こ\で、プ
ロセッサlはそれぞれ第4図に示す構成をとる。第4図
において、2はリンクメモリ部、3は実行制御部、4は
演算部で、各部は入力側に先入れ先出しくFIFO:フ
ァースト・イン・ファースト・アウト)キューを持し、
環状に連絡されている。演算部4には、さらに入力端子
5、出力端子6が付随している。これら環状に連絡され
た各部間のデータ転送は、パケット形式で行われる。
FIG. 3 is an embodiment of the present invention, and shows the overall configuration of an autonomous processor array in which six autonomous processors 1 that operate on a data drive are connected adjacently. Here, each processor l has the configuration shown in FIG. In FIG. 4, 2 is a link memory section, 3 is an execution control section, and 4 is an arithmetic section, each section having a first-in, first-out (FIFO) queue on the input side.
connected in a circular manner. The calculation unit 4 is further provided with an input terminal 5 and an output terminal 6. Data transfer between these circularly connected parts is performed in packet format.

第5図はパケットのフィールド構成である。第5図にお
いて、(a)はオペランドパケット(リンクメモリ部2
−実行制御部3)で、7は命令語アドレス、8はオペラ
ンド位置を示すビット、9はオペランドデータで・ある
。(b)と(C)は命令パケット(実行制御部3−演算
部4)で、(b)は1オペランド型の命令バケツ) 、
 (C)は2オペランド型の命令パケットである。こ\
で、10はこのパケットが1オペランド型か2オペラン
ド型かを示すビット、11は畠令コー ド、12はリン
クメモリアドレス、13はオペランドデータ、14は第
1オペランドデータ、15は第2オペランドデータであ
る。(d)は結果パケット(演算部4−リンクメモリ2
)で、16はリンクメモリアドレス、17はオペランド
データである。
FIG. 5 shows the field structure of the packet. In FIG. 5, (a) shows the operand packet (link memory unit 2
- In the execution control unit 3), 7 is an instruction word address, 8 is a bit indicating the operand position, and 9 is operand data. (b) and (C) are instruction packets (execution control unit 3 - calculation unit 4), (b) is a one-operand type instruction bucket),
(C) is a two-operand type instruction packet. child\
10 is a bit indicating whether this packet is a 1-operand type or a 2-operand type, 11 is a Hatarei code, 12 is a link memory address, 13 is operand data, 14 is first operand data, and 15 is second operand data. It is. (d) is the result packet (calculation unit 4 - link memory 2
), 16 is a link memory address, and 17 is operand data.

(e)は人出力バクーットで、フィールド構成は(d)
の結果パケットと同じであり、18はリンクメモリアド
レス、19はオペランドデータである。(a)〜(e)
のフィールド構成中、12.16.18はデータに付す
タグの役割を果し、7は実行制御部内命令メモリのアド
レスを示す。
(e) is the human output Bakut, and the field configuration is (d)
The result packet is the same as the result packet, 18 is the link memory address, and 19 is the operand data. (a)-(e)
In the field configuration, 12, 16, and 18 serve as tags attached to data, and 7 indicates the address of the instruction memory in the execution control unit.

第6図は第4図におけろ実行制御部3の構成例である。FIG. 6 shows an example of the configuration of the execution control section 3 in FIG. 4.

20はfi’IF’oキュー、21は命令メモリ、22
はデータメモリ、23はデコーダ、24はデータメモリ
制御回路、25は命令コード合成回路である。
20 is fi'IF'o queue, 21 is instruction memory, 22
2 is a data memory, 23 is a decoder, 24 is a data memory control circuit, and 25 is an instruction code synthesis circuit.

データメモリ22は線研アドレスのメモリとしても、内
容アクセスの連想メモリとしても機能する。第7図は命
令メモリ21に格納される命令語のフイ−ルド構成であ
る。26 、27 、 :30はそれぞれ第5図の10
 、11 、12と同じである。脂は第1オペランドが
定数か否かを区別−[るビット、2つは第2オペランド
が定数か否かを区別するビットである。第8図はデータ
メモリ22のメモリセルのフィールド構成である。31
はこのメモリセルが使用中か否かを示すビットである。
The data memory 22 functions both as a memory for research addresses and as an associative memory for content access. FIG. 7 shows the field configuration of instruction words stored in the instruction memory 21. 26, 27, :30 are respectively 10 in Figure 5.
, 11 and 12. Two bits distinguish whether the first operand is a constant or not, and two bits distinguish whether the second operand is a constant or not. FIG. 8 shows the field configuration of the memory cells of the data memory 22. 31
is a bit indicating whether or not this memory cell is in use.

32,33.34はそれぞれ第5図の7.8.9と同じ
である。1(e7部は、このメモリセルが使用中か否か
を示すビット31および命令語アドレス32からなり、
連想アクセス時にkeyとして使用される。
32, 33.34 are the same as 7.8.9 in FIG. 5, respectively. 1 (the e7 section consists of a bit 31 indicating whether this memory cell is in use or not and a command address 32,
Used as a key during associative access.

第9図は第4図における演算部4の構成例である。35
はFIFOキュー、36は演算器、37は出力端子制御
回路、38は入力端子制御回路、39は演算器選択回路
、40は演算器出力回路である。
FIG. 9 shows an example of the configuration of the arithmetic unit 4 in FIG. 4. 35
is a FIFO queue, 36 is an arithmetic unit, 37 is an output terminal control circuit, 38 is an input terminal control circuit, 39 is an arithmetic unit selection circuit, and 40 is an arithmetic unit output circuit.

第10図は第4図におけるリンクメモリ部2の構成例で
ある。41はFIFOキュー、42はリンクメモリ制御
回路、43はリンクメモリ(線型アドレス)で゛ある。
FIG. 10 shows an example of the configuration of the link memory section 2 in FIG. 4. 41 is a FIFO queue, 42 is a link memory control circuit, and 43 is a link memory (linear address).

第11図はリンクメモリ43のメモリセルのフィールド
構成である。44 、45はそれぞれ第5図の7,8と
同じである。46は引き続くメモリセルが現在処理中の
パケットと関連するが否がを示すビットである。
FIG. 11 shows the field configuration of the memory cells of the link memory 43. 44 and 45 are the same as 7 and 8 in FIG. 5, respectively. 46 is a bit indicating whether or not the following memory cell is related to the packet currently being processed.

Kuogの考えをデータ駆動方式で実現するにはデータ
系列の処理を必須とする。本方式はデータ系列の順序性
を保存することを特徴とする処理方式である。以下、こ
の自律型プロセッザアレイの動作を説明する。
To realize Kuog's idea in a data-driven manner, processing of data series is essential. This method is a processing method characterized by preserving the order of data series. The operation of this autonomous processor array will be explained below.

第12図は命令語アドレスがどのようにリンクメモリに
格納されるかをデータフローグラフと対応させて示して
いる。第12図中、(a)図はリンクメモIJ 、 (
b)図はデータフローグラフである。乗算の結果は3つ
のアクタ(加算、除算、減算)に送られる。リンクメモ
リにはこれに対応して、それぞれのアクタの命令語アド
レスとオペランド位置(アクタの人力にHした数値)が
格納される。今、結果パケットは乗算の結果を持ってい
るものとすると、そのリンクメモリアドレス16は上記
一連のメモリアドレスのうち先頭アドレスを指す。第1
2図の例では加算アフタに対応するメモリアドレスを指
す。引き続くメモリセルが現在処理中のパケットと関連
するか否かを示すビット46は、値が°°0″′のとき
、次のメモリアドレスもこのパケットと関係することを
示し、値が1″′のとき、次のメモリアドレスはこのパ
ケットと無関係であることを示す。
FIG. 12 shows how instruction word addresses are stored in the link memory in association with a data flow graph. In Figure 12, (a) is the link memo IJ, (
b) The diagram is a data flow graph. The result of the multiplication is sent to three actors (addition, division, subtraction). Correspondingly, the link memory stores the command address and operand position of each actor (the numerical value H multiplied by the actor's human power). Now, assuming that the result packet has the result of multiplication, the link memory address 16 points to the first address of the series of memory addresses. 1st
In the example of FIG. 2, it refers to the memory address corresponding to the addition after. Bit 46, which indicates whether a subsequent memory cell is associated with the packet currently being processed, has a value of °°0'', indicating that the next memory address is also associated with this packet, and a value of 1'''. indicates that the next memory address is unrelated to this packet.

結果パケットはリンクメモリ部2のキュー41へ入れら
れる。リンクメモリ制御回路42ハパケツトをキュー4
1から取り出し、そのリンクメモリアドレス16により
リンクメモリ43を読み出し、オペランドパケットを構
成して実行制御部3へ送り出す。さらに、ビット46を
調べ、その値が”o”ならば次のアドレスを読み出し、
オペランドパケットを構成して実行制御部3へ送り出す
。この操作をビット46の値が1″′になるまで続ける
The result packet is put into the queue 41 of the link memory unit 2. Link memory control circuit 42 queues packets 4
1, read out the link memory 43 using the link memory address 16, form an operand packet, and send it to the execution control unit 3. Furthermore, check bit 46, and if the value is "o", read the next address,
It composes an operand packet and sends it to the execution control unit 3. This operation continues until the value of bit 46 becomes 1''.

実行′制御部3はキュー加からパケットを読み出し、そ
の命令語アドレス7により命令メモリ21から命令コー
ド27を読み出す。この命令が2オペランド型命令のと
きには、この命令語アドレス7をke、としてデータメ
モリ22を連想アクセスする。
The execution control unit 3 reads the packet from the queue and reads the instruction code 27 from the instruction memory 21 according to the instruction address 7 of the packet. When this instruction is a two-operand type instruction, the data memory 22 is accessed associatively by using the instruction word address 7 as ke.

この結果、次のような場合が生じる。As a result, the following cases occur.

(1)同じke、を持っオペランドがない(一方のオペ
ランドが未到着)。
(1) There are no operands with the same ke (one operand has not arrived).

(11)同じに6yを持つオペランドが一つ以上存在す
る。かつ、そのオペランド位置の異なるオペランドが存
在する(両オペランドの到着)。
(11) There is one or more operands that also have 6y. In addition, there are operands with different operand positions (arrival of both operands).

(iii)  同じkeyを持つオペランドが一つ以上
存在する。かつ、そのオペランド位置の異なるオペラン
ドは存在しない(データ系列の衝突)。
(iii) There is one or more operands with the same key. In addition, there are no operands with different operand positions (data series collision).

各々の場合について実行制御部3は次のように動作する
The execution control unit 3 operates as follows in each case.

(1)の場合:データメモリ22の空セル中、アドレス
の最も若いセルに到着オペランドを格納ずろ。
In the case of (1): Store the arriving operand in the cell with the lowest address among the empty cells in the data memory 22.

(11)の場合1同じに、を持っ相手オペランドのうり
、最も若いデータメモリアドレスにあるオペランドと当
該オペランドを組にして品令バケットを作り演算部4に
送る。この時、データメモリ制御回路24は命令コード
中のオペランド属性ビットを調べ、オペランドが定数デ
−夕の場合は、それをオペランドメモリ内に保持してお
く。定数データでない場合は、このメモリセルを解放T
 ル。
In the case of (11), 1 is the same as that of the other operand, and the operand at the lowest data memory address is paired with the operand, a quality bucket is created and sent to the arithmetic unit 4. At this time, the data memory control circuit 24 checks the operand attribute bit in the instruction code, and if the operand is constant data, it holds it in the operand memory. If it is not constant data, release this memory cell T
Le.

011)の場合:同−key、同−オペランド位置を持
つオペランドは、到着順序とそのデータメモリ内格納順
序(アドレス」−昇順)が一致するようにデータメモリ
22に格納する。
In the case of 011): Operands having the same key and the same operand position are stored in the data memory 22 so that their arrival order matches the order in which they are stored in the data memory (address - ascending order).

キュー20より取り出したパケットが1オペランド型の
場合は、命令コード27を伺加して演算部4へ送る。
If the packet taken out from the queue 20 is a one-operand type packet, an instruction code 27 is added and sent to the arithmetic unit 4.

デコーダ23は1オペランド型パケツトと2オペランド
型パケツトの切り分けを行うものである。
The decoder 23 separates packets into one-operand type packets and two-operand type packets.

又、命令コード合成回11Il!+25は命令パケット
を組立て演算部4へ送り出すものである。
Also, instruction code synthesis cycle 11Il! +25 is for sending the instruction packet to the assembling operation section 4.

演算部4は次のように動作する。キュー35から取り出
されたパケットは、その命令コードが他プロセツサへの
転送命令ならば出力端子制御回路37へ送られ、それ辺
、外なら演算器:1へ択回路39へ送られろ。出力端子
制御回路37は他プロセツサへの転送制御を行うもので
ある。演算器選択回路39はパケットの演算器36への
割付を行う。割付方法は飛び越しを許さない巡回画側t
1である。すなわら、演算器の割イ」順序をあらかじめ
定めておき、到着したパケットは到着順に、割付順序に
従って演算器に割t1けられる。もし、割伺ろべき演算
器が演算中の場合は、その7可碑が終了するまで割伺を
待つ。演算器出力回路40も同様に、飛び越しを許さな
い巡回的取出し制御を行う。演算器36は命令コードに
従って演算を行う。
The calculation unit 4 operates as follows. If the instruction code is a transfer instruction to another processor, the packet taken out from the queue 35 is sent to the output terminal control circuit 37; otherwise, it is sent to the arithmetic unit 1 selection circuit 39. The output terminal control circuit 37 controls transfer to other processors. The arithmetic unit selection circuit 39 allocates packets to the arithmetic units 36. The layout method is on the circular image side that does not allow skipping.
It is 1. That is, the order in which the arithmetic units are allocated is determined in advance, and the arriving packets are allocated to the arithmetic units t1 in the order of arrival and in accordance with the allocation order. If the arithmetic unit that should be divided is in operation, the division waits until the completion of that 7-kable monument. Similarly, the arithmetic unit output circuit 40 performs cyclic fetch control that does not allow skipping. The arithmetic unit 36 performs arithmetic operations according to the instruction code.

実行制御部3における上記のデータメモリ制御法と演算
部4における演算器割伺割御および取出制御法により、
データ系列中においてデータの】旦越か起さないことが
保証される。
By the above data memory control method in the execution control section 3 and the arithmetic unit allocation control and retrieval control method in the arithmetic section 4,
It is guaranteed that the data will not be overwritten in the data series.

第13図は本自律型プロセッサアレイでの処理例で、特
に帝行列の乗算 を行う例であイ)。第13図(a)はプロセッサ間のデ
ータ転送関係を示す。第13図(I))はタイプAプロ
セッサに与えろプログラム、第13図(C)はタイプロ
プロセッサに与えるプログラムである。プログラノ、の
意味は、例えば第1:3図(b)の乗算ノードでは、a
とCかもデータが人ってくると、それらの乗算が行われ
、結果を加算ノードへの矢印−にに出力するという意味
を持−)。また、「・」印は分岐を表わす。
FIG. 13 shows an example of processing performed by the present autonomous processor array, in particular an example of multiplication by an imperial matrix. FIG. 13(a) shows the data transfer relationship between processors. FIG. 13(I)) is a program to be applied to a type A processor, and FIG. 13(C) is a program to be applied to a type PRO processor. For example, in the multiplication node in Figure 1:3(b), a
and C means that when data is received, they are multiplied and the result is output to the arrow to the addition node. Moreover, the mark "." represents a branch.

例えば、aから人ってきたデータは、乗算ノードとd双
方に送られる。「0」印は合流を表わす。
For example, data coming from a is sent to both the multiplication node and d. The "0" mark represents confluence.

回は初期値を表わし、値゛0″′を持ったデータが一回
だけ発生する。タイプロプロセッサのプログラムで出力
指定のない端子(例えば、第13図(a)の左下ずみの
プロセッサにおけるaとf)は、第13図(C)から取
り除いて考える。
The times represent the initial values, and data with the value ``0'''' is generated only once.In the TypPro processor program, a terminal with no output designation (for example, the a and f) are removed from FIG. 13(C).

プログラム上で同一端子に入力するデータ系列には全て
同一のリンクメモリアドレスが与えられ、異なる入力端
子から入力されろデータ系列には異なるアドレスが与え
られる。また、異なる処理を求めるデータ系列には前記
いずれとも異なるアドレスが与えられる。従って、一つ
の自律型プロセッサアレイは検数のプログラムを並行し
て実行することができる。
All data series input to the same terminal on a program are given the same link memory address, and data series input from different input terminals are given different addresses. Further, a data series requiring different processing is given an address different from any of the above. Therefore, one autonomous processor array can execute counting programs in parallel.

以上説明したように、本発明のプロセッサアレイ方式で
は、各プロセッサはデータ駆動により、人力されるデー
タ系列の順序性を保すつつ非同期、パイプライン処理を
行うので、各プロセッサを同期制御することなく並列動
作させることができる。
As explained above, in the processor array system of the present invention, each processor is data-driven and performs asynchronous and pipeline processing while maintaining the order of manually input data series, so there is no need to synchronously control each processor. Can be operated in parallel.

さらに、各プロセッサの機能はデータフロープログラム
によって与えられるので、自律型プロセッサは汎用LS
Iチップとして設計製作することができる。また、本自
律型プロセッサアレイは、多数のデータフロープログラ
ムを一台で処理できるので、汎用システムとして動作さ
せることができる。また、各プログラムのデータはリン
クメモリアドレスによって区別されるので、多重処理が
できる。
Furthermore, since the functionality of each processor is provided by a dataflow program, autonomous processors are
It can be designed and manufactured as an I-chip. Furthermore, since this autonomous processor array can process many data flow programs on a single unit, it can be operated as a general-purpose system. Furthermore, since the data of each program is distinguished by the link memory address, multiple processing can be performed.

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

第1図及び第2図は従来方式の一例を示す図、第3図は
本発明方式の一実施例の全体構成図、第4図は第3図の
プロセッサ1の構成図、第5図は第4図の各部間を転送
するパケットのフィールド構成図、第6図は第4図の実
行制御部3の具体的構成図、第7図は第6図の命令メモ
リ21のフィールド構成図、第8図は第6図のデータメ
モリ22のフィールド構成図、第9図は第4図の演算部
4の具体的構成図、第10図は第4図のリンクメモリ部
2の具体的構成図、第11図は第10図のリンクメモリ
43のフィールド構成図、第12図はデータフローグラ
フのアクタとそのリンクメモリ内格納アドレスの関係を
示す図、第13図は本自律型プロセッサアレイ」−にお
ける処理例を示す図である。 ■・・プロセッサ、2・・リンクメモリ部、3・・・実
行kiす細部、4・演算部、5・・・入力端子、6・・
出力端子。 代理人 弁理士 鈴 木   誠 第10図 第12図
1 and 2 are diagrams showing an example of the conventional method, FIG. 3 is an overall configuration diagram of an embodiment of the method of the present invention, FIG. 4 is a configuration diagram of the processor 1 in FIG. 3, and FIG. FIG. 4 is a field configuration diagram of a packet transferred between each unit; FIG. 6 is a specific configuration diagram of the execution control unit 3 in FIG. 4; FIG. 7 is a field configuration diagram of the instruction memory 21 in FIG. 6; 8 is a field configuration diagram of the data memory 22 in FIG. 6, FIG. 9 is a specific configuration diagram of the arithmetic unit 4 in FIG. 4, and FIG. 10 is a specific configuration diagram of the link memory unit 2 in FIG. 4. FIG. 11 is a field configuration diagram of the link memory 43 in FIG. 10, FIG. 12 is a diagram showing the relationship between actors of the data flow graph and their storage addresses in the link memory, and FIG. 13 is a diagram of the present autonomous processor array. FIG. 3 is a diagram showing a processing example. ■... Processor, 2... Link memory section, 3... Execution details, 4. Arithmetic section, 5... Input terminal, 6...
Output terminal. Agent Patent Attorney Makoto SuzukiFigure 10Figure 12

Claims (1)

【特許請求の範囲】[Claims] (1)同一入力端子から入力されるデータ系列の順序性
を保ちつつ、データ駆動制御により自律的に動作する複
数のプロセッサをアレイ状に結合し、かつ、データにタ
グを例して各プロセッサ内での演算の選択とその演算の
起動の契機、並びにプロセッサから他のプロセッサへの
移動契機、移動先プロセッサの選択をデータ自身で行な
い、これによって各プロセッサを非同期的に動作し、人
力されてくるデータ列を次々とパイプライン的に時系列
で処理していくことを性徴とする自律型プロセッサアレ
イ方式。
(1) While maintaining the order of the data series input from the same input terminal, multiple processors that operate autonomously through data-driven control are connected in an array, and data is tagged and stored within each processor. The data itself determines the selection of an operation and the trigger for starting that operation, the trigger for moving from one processor to another, and the selection of the destination processor. An autonomous processor array system whose characteristic is to process data strings one after another in a pipeline-like chronological order.
JP57064437A 1982-04-17 1982-04-17 Autonomous processor array system Granted JPS58181168A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57064437A JPS58181168A (en) 1982-04-17 1982-04-17 Autonomous processor array system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57064437A JPS58181168A (en) 1982-04-17 1982-04-17 Autonomous processor array system

Publications (2)

Publication Number Publication Date
JPS58181168A true JPS58181168A (en) 1983-10-22
JPS6336544B2 JPS6336544B2 (en) 1988-07-20

Family

ID=13258248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57064437A Granted JPS58181168A (en) 1982-04-17 1982-04-17 Autonomous processor array system

Country Status (1)

Country Link
JP (1) JPS58181168A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02240765A (en) * 1989-03-14 1990-09-25 Sanyo Electric Co Ltd Data communication system for computer
JPH04507025A (en) * 1990-05-22 1992-12-03 インターナショナル・ビジネス・マシーンズ・コーポレーション SPIN: Sequential pipeline neurocomputer
US9507541B2 (en) 2012-12-25 2016-11-29 Nec Corporation Computation device, computation method, and medium
JP2021108131A (en) * 2017-04-17 2021-07-29 セレブラス システムズ インク. Data flow trigger task for accelerated deep learning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57146361U (en) * 1981-03-07 1982-09-14

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57146361U (en) * 1981-03-07 1982-09-14

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02240765A (en) * 1989-03-14 1990-09-25 Sanyo Electric Co Ltd Data communication system for computer
JPH04507025A (en) * 1990-05-22 1992-12-03 インターナショナル・ビジネス・マシーンズ・コーポレーション SPIN: Sequential pipeline neurocomputer
US9507541B2 (en) 2012-12-25 2016-11-29 Nec Corporation Computation device, computation method, and medium
JP2021108131A (en) * 2017-04-17 2021-07-29 セレブラス システムズ インク. Data flow trigger task for accelerated deep learning

Also Published As

Publication number Publication date
JPS6336544B2 (en) 1988-07-20

Similar Documents

Publication Publication Date Title
US6230180B1 (en) Digital signal processor configuration including multiplying units coupled to plural accumlators for enhanced parallel mac processing
US5075840A (en) Tightly coupled multiprocessor instruction synchronization
US4675806A (en) Data processing unit utilizing data flow ordered execution
Siegel et al. PASM: A partitionable SIMD/MIMD system for image processing and pattern recognition
US5150470A (en) Data processing system with instruction queue having tags indicating outstanding data status
US7120903B2 (en) Data processing apparatus and method for generating the data of an object program for a parallel operation apparatus
JPS61276032A (en) Information processing device
US20030221086A1 (en) Configurable stream processor apparatus and methods
JPS6057467A (en) Vector data processor
JPS58181168A (en) Autonomous processor array system
JP2632074B2 (en) Data flow type information processing device
JPS6027030A (en) Microprocessor
Vick et al. Adptable Architectures for Supersystems
JP2620519B2 (en) Operation processing system and method
EP1035479A2 (en) System for processing vector data
US5497344A (en) Data flow type information processor
JPS59114677A (en) Vector processor
JPS5969845A (en) Controlling system of data driving
JP2556083B2 (en) Complex arithmetic pipeline circuit
JP2006515446A (en) Data processing system with Cartesian controller that cross-references related applications
JPS62256045A (en) Data driving type computer
JP2522372B2 (en) Data driven computer
Huisken et al. Synthesis of synchronous communication hardware in a multiprocessor architecture
JPH02188887A (en) Packet combining/separating system
CN116594691A (en) Interface, RISC-V extension architecture, processor and system on chip