JPS63111540A - Data drive type computer - Google Patents

Data drive type computer

Info

Publication number
JPS63111540A
JPS63111540A JP25724086A JP25724086A JPS63111540A JP S63111540 A JPS63111540 A JP S63111540A JP 25724086 A JP25724086 A JP 25724086A JP 25724086 A JP25724086 A JP 25724086A JP S63111540 A JPS63111540 A JP S63111540A
Authority
JP
Japan
Prior art keywords
instruction
arithmetic unit
data
arithmetic
cell
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
JP25724086A
Other languages
Japanese (ja)
Inventor
Morihiro Miyazaki
守弘 宮崎
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP25724086A priority Critical patent/JPS63111540A/en
Publication of JPS63111540A publication Critical patent/JPS63111540A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To shorten the execution waiting time and to eliminate the bottleneck of an arithmetic part by allocating successively the computing elements which are not kept under execution modes by a computing element control part for execution of arithmetic operations in case plural instruction cells designate a single calculator at a time. CONSTITUTION:An arithmetic part 11 contains plural types of calculator blocks and carries out the addition/subtraction and the multiplication/division. A calculator control part 19 consists of an arithmetic part state register whether the calculators are working or not and a control part which allocates the started instruction cell data to the idle calculators. An instruction packet group, if existing in an instruction memory 18, is written into an instruction buffer 14. Each instruction cell starts successively the prepared operand data and sends them to the part 11. When the arithmetic operations are carried out, the multiplication jobs of instruction cells are carried out in parallel based on the control actions of the part 19.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は計算機の動作をデータ駆動により構成したデー
タ駆動型計算機の基本にかかわるものである。
DETAILED DESCRIPTION OF THE INVENTION Field of Industrial Application The present invention relates to the basics of a data-driven computer in which the operation of the computer is data-driven.

従来の技術 近年、処理速度の向上をめざし、ノイマン型の計算機に
かわって、オペランド・データがすべてそろった機械命
令を原理的にはすべて起動でき、プログラムに内在する
すべての並列性を自然な形で引き出しうるデータ駆動型
の計算機が注目されている。
Conventional technology In recent years, with the aim of improving processing speed, in place of the Neumann-type computer, in principle all machine instructions with all operand data can be started, and all the parallelism inherent in programs can be realized in a natural form. Data-driven calculators that can be used to draw data are attracting attention.

しかしながら、オペランド・データがすべてそろった機
械命令を起動する方式となっているため、従来の命令を
順次ブリフェッチするパイプライン方式より処理速度が
劣っている。
However, since this method activates a machine instruction with all operand data, the processing speed is lower than the conventional pipeline method, which sequentially briefetches instructions.

以下図面を参照しながら、上述した従来のデータ駆動型
の計算機の一例について説明する。
An example of the conventional data-driven computer mentioned above will be described below with reference to the drawings.

第2図は従来のデータ駆動型計算機、第4図は2次方程
式の根のデータ・フロー・プログラムの記述例、第5図
は2次方程式の根を求めるデータ・フロー・プログラム
に対するパケット群を示すものである。
Figure 2 shows a conventional data-driven computer, Figure 4 shows an example of writing a data flow program for the roots of a quadratic equation, and Figure 5 shows a packet group for a data flow program that finds the roots of a quadratic equation. It shows.

第2図において、21はn個の演算種類の異なった演算
器からなる演算部である。14は第5図の命令セルがm
個格納された命令バッファである。18はデータ・フロ
ー・プログラム全体を格納する命令メモリである。12
は命令バッファ14内の命令セルの中で分岐命令がある
場合、分岐先の命令セルを判定する判定部である。13
は判定部12の結果をもとに命令バッファ■4内の命令
セルを起動させる制御ネットワーク(CNET)である
。15は演算部21あるいは命令メモリ18からのデー
タを命令バッファ14内の各命令セルに分配する分配ネ
ットワーク(DNET)である、16は命令バッファ1
4内の各命令セルからのデータを調停し演算部21ある
いは命令メモリ18に送る調停ネットワーク(ANET
)である。17は命令バッファ14の命令セルにおいて
、命令メモリ18からの読み出しあるいは命令メモリ1
8へ書き込みの命令がある場合、命令バッファ14内の
命令セルからのアドレスデータを調停し命令メモリ18
に送るメモリコマンドネットワーク(MNET)である
In FIG. 2, reference numeral 21 denotes an arithmetic unit consisting of n arithmetic units of different types of arithmetic operations. 14 is the instruction cell in FIG.
This is an instruction buffer that stores instructions. 18 is an instruction memory that stores the entire data flow program. 12
is a determination unit that determines the branch destination instruction cell when there is a branch instruction among the instruction cells in the instruction buffer 14. 13
is a control network (CNET) that activates the instruction cell in the instruction buffer 4 based on the result of the determination unit 12. 15 is a distribution network (DNET) that distributes data from the calculation unit 21 or the instruction memory 18 to each instruction cell in the instruction buffer 14; 16 is the instruction buffer 1;
An arbitration network (ANET
). Reference numeral 17 denotes an instruction cell of the instruction buffer 14 for reading from the instruction memory 18 or reading from the instruction memory 1.
When there is a write instruction to the instruction memory 18, the address data from the instruction cell in the instruction buffer 14 is arbitrated and the instruction memory 18
It is a memory command network (MNET) that sends to

第3図において、命令セルm内の操作部は、加算(+)
、演算(−)9乗算(×)1割算(1)。
In FIG. 3, the operation section in the instruction cell m is an addition (+)
, operation (-) 9 multiplication (x) 1 division (1).

負値比演算(NEC)、二乗演算(↑)、平方根演算(
SQRT)等の演算を示すコードが格納されている。d
i、d2はデータの移動先を示す命令セルの番号である
。オペランドは被演算データである。
Negative value ratio calculation (NEC), square calculation (↑), square root calculation (
Codes indicating operations such as SQRT) are stored. d
i and d2 are command cell numbers indicating the data movement destination. Operands are operand data.

第4図においては2次方程式ax2+bx+c=0のX
を求める場合のデータフロープログラムの記述を示した
ものである。図中の長方形の枠は第3図の命令セルmに
対応し、枠内の記号は前述の演算を示す。その枠への矢
印のデータは第3図のオペランドに相当する。
In Figure 4, X of the quadratic equation ax2+bx+c=0
This shows the description of a data flow program for finding . The rectangular frame in the figure corresponds to the instruction cell m in FIG. 3, and the symbols within the frame indicate the aforementioned operations. The data of the arrow to that frame corresponds to the operand in FIG.

第5図においては第4図の2次方程式の根を求めるデー
タフロープログラムを第3図の命令セル内の記述に従っ
て示したパケット群である。
FIG. 5 shows a group of packets showing a data flow program for finding the root of the quadratic equation shown in FIG. 4 according to the description in the instruction cell shown in FIG.

以上のように構成されたデータ駆動計算機について、以
下その動作を説明する。
The operation of the data-driven computer configured as described above will be explained below.

まず第5図のパケット群は第2図の命令バッファ14に
格納されているとする。第5図のパケット群で命令セル
0はオペランドとしてすでにa、  Cが格納されてい
るためプログラムの実行開始とともに起動され、第2図
のANET16を通して演算部21内の乗算器に送られ
、そこで乗算が実行される。その結果はDNET15を
通して命令セル2に書き込まれる。この時点で命令セル
2はオペランドが準備されたため、起動され、ANET
16を通して演算部21内の乗算器に送出される。また
命令セルOの起動と並行して命令セル1、命令セル4、
命令セル6が起動され命令の実行が開始されている。こ
のように各命令セルが並行に実行しながら、プログラム
の実行を完了する。(例えば、元岡達m、VLsrコy
ピユータ■、岩波書店、 1984゜PP7O−77) 発明が解決しようとする問題点 しかしながら、上記の構成では命令バッファ14内の複
数の命令セルが同一演算器を指定し起動状態となると、
同一演算器を1個とした演算部21で実行待ちが発生し
、演算部21がボルトネックとなり、データ駆動型計算
機の並列動作の特徴が損なわれるという問題を有してい
る。
First, it is assumed that the packet group shown in FIG. 5 is stored in the instruction buffer 14 shown in FIG. In the packet group shown in FIG. 5, instruction cell 0 already stores a and C as operands, so it is activated when the program starts executing, and is sent to the multiplier in the calculation unit 21 through the ANET 16 shown in FIG. 2, where it is multiplied. is executed. The result is written to the instruction cell 2 through the DNET 15. At this point, instruction cell 2 is activated because the operand is prepared, and ANET
16 to the multiplier in the arithmetic unit 21. In addition, in parallel with the activation of instruction cell O, instruction cell 1, instruction cell 4,
The instruction cell 6 has been activated and execution of instructions has begun. In this way, each instruction cell executes in parallel to complete the program execution. (For example, Motooka Tatsum, VLsr Coy
Computer■, Iwanami Shoten, 1984゜PP7O-77) Problems to be Solved by the Invention However, in the above configuration, when multiple instruction cells in the instruction buffer 14 specify the same arithmetic unit and enter the activated state,
There is a problem in that execution waits occur in the arithmetic unit 21, which has one identical arithmetic unit, and the arithmetic unit 21 becomes a bolt neck, impairing the characteristics of parallel operation of a data-driven computer.

また、大規模な配列データを処理する場合、メモリへの
アクセス手順が同一にもかかわらず、メモリアクセスの
ための命令セルを都度用意しなければならず処理速度の
低下を招く問題を有している。
Furthermore, when processing large-scale array data, even though the memory access procedure is the same, an instruction cell must be prepared each time for memory access, resulting in a reduction in processing speed. There is.

問題点を解決するための手段 上記問題点を解決するために本発明のデータ駆動型計算
機は大きく3つの構成を備えている。まず演算部は、複
数の同一演算を実行する演算器を演算器ブロックとして
、複数種の演算器ブロックより構成されている。次に、
演算部を制御するため、各演算器ブロックの各演算器が
実行中か否かを示す演算部状態レジスタと、起動した命
令セルデータを演算部状態レジスタの読出し結果により
実行中でない演算器に割り当てる制御部からなる演算器
制御部が具備されている。
Means for Solving the Problems In order to solve the above problems, the data-driven computer of the present invention has three main configurations. First, the arithmetic unit is composed of a plurality of types of arithmetic unit blocks, each of which is an arithmetic unit block that executes a plurality of identical operations. next,
In order to control the arithmetic unit, there is an arithmetic unit status register that indicates whether each arithmetic unit in each arithmetic unit block is running or not, and activated instruction cell data is assigned to an arithmetic unit that is not being executed based on the read result of the arithmetic unit status register. An arithmetic unit control section consisting of a control section is provided.

さらに、演算部へ入力されるオペランドの中で、アドレ
スポインタがある場合、そのポインタによりデータの読
みだしと書き込みが可能な構造体メモリが具備されてい
る。
Furthermore, if there is an address pointer among the operands input to the arithmetic unit, a structure memory is provided from which data can be read and written using the pointer.

作用 本発明は上記した構成によって、複数の命令セルが同時
に同一の演算器を指定した場合、命令セルの構造を変更
せずに演算器制御部で実行中でない演算器を順次割り当
て演算実行させることにより実行待ち時間を減少させる
ことが可能となり、前述の問題となった演算部のボルト
ネックを解消でき、処理速度を向上できる。
Effect of the Invention With the above-described configuration, the present invention allows, when a plurality of instruction cells simultaneously designate the same arithmetic unit, the arithmetic unit control section sequentially allocates the arithmetic units that are not currently being executed to execute the arithmetic operation without changing the structure of the instruction cell. This makes it possible to reduce execution waiting time, eliminate the bolt neck in the arithmetic unit that caused the problem mentioned above, and improve processing speed.

また、配列データ処理の場合、メモリアクセスのための
命令セルを都度用意することなく構造体メモリのアドレ
スポインタによりデータのアクセスができるため処理速
度を向上できる。
Furthermore, in the case of array data processing, processing speed can be improved because data can be accessed using the address pointer of the structure memory without preparing an instruction cell for memory access each time.

実施例 以下、本発明の一実施例のデータ駆動型計算機について
図面を参照しながら説明する。
Embodiment Hereinafter, a data-driven computer according to an embodiment of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例におけるデータ駆動型計算機
の構成である。
FIG. 1 shows the configuration of a data-driven computer in an embodiment of the present invention.

第1図において、11は複数の同一演算を実行する演算
器を演算器ブロックとして、複数種の演算器ブロックよ
り構成され、加減算9乗除算等の演算が実行される演算
部である。19は演算部を制御するため、各演算器ブロ
ックの各演算器が実行中か否かを示す演算部状態レジス
タと、起動した命令セルデータを演算部状態レジスタの
読出し結果により実行中でない演算器に割り当てる制御
部からなる演算器制御部である。181は演算部11へ
人力されるオペランドの中で、アドレスポインタがある
場合、そのポインタによりデータの読みだしと書き込み
が可能な構造体メモリである。第6図は、第3図の命令
セル内の記述に従って配列データA、B、C(要素数1
0個)をもとにA (r) =B (1)IC(1)を
要素番号Iが1から10まで実行するプログラムを示し
たパケット群である。
In FIG. 1, reference numeral 11 denotes an arithmetic unit that is composed of a plurality of types of arithmetic unit blocks, each of which is an arithmetic unit block that executes a plurality of identical operations, and that executes operations such as addition, subtraction, nine multiplications, and divisions. In order to control the arithmetic unit, reference numeral 19 includes an arithmetic unit status register that indicates whether each arithmetic unit in each arithmetic unit block is being executed or not, and an arithmetic unit that is not being executed based on the read result of the activated instruction cell data from the arithmetic unit status register. This is an arithmetic unit control unit consisting of a control unit assigned to the Reference numeral 181 denotes a structure memory from which data can be read and written using an address pointer, if one exists among the operands input to the calculation unit 11. FIG. 6 shows array data A, B, C (number of elements: 1) according to the description in the instruction cell of FIG.
A (r) = B (1) This is a packet group showing a program that executes IC(1) with element numbers I from 1 to 10 based on 0 pieces.

図中、Pi(A)は配列Aの要素番号iのアドレスポイ
ンタ値を意味する。
In the figure, Pi(A) means the address pointer value of element number i of array A.

以上のように構成されたデータ駆動計算機について以下
、第1図、第6図を用いてその動作を説明する。
The operation of the data-driven computer configured as described above will be explained below with reference to FIGS. 1 and 6.

まず、第6図の命令パケット群が命令メモリ18に存在
するとする。次に、そのパケット群が命令メモ1月8よ
り命令バッファ14に書き込まれる。各命令セルはオペ
ランドのデータが準備されているため、順次起動し演算
部11に送出される。演算部11では各オペランドにあ
るアドレスポインタにより構造体メモリ181からデー
タを読みだし演算結果を移動先アドレスポインタを基に
構造体メモリ181に書き込む動作を行う。演算を実行
するにあたっては演算器制御部19の制御動作に基づい
て各命令セルの乗算が並列に実行される。
First, it is assumed that the instruction packet group shown in FIG. 6 exists in the instruction memory 18. Next, the packet group is written to the instruction buffer 14 from the instruction memo January 8. Since each instruction cell is prepared with operand data, it is sequentially activated and sent to the arithmetic unit 11. The arithmetic unit 11 reads data from the structure memory 181 using the address pointer in each operand and writes the result of the operation to the structure memory 181 based on the destination address pointer. When performing arithmetic operations, the multiplication of each instruction cell is performed in parallel based on the control operation of the arithmetic unit control section 19.

発明の効果 以上のように本発明によれば、複数の同一演算を実行す
る演算器を演算器ブロックとして、複数種の演算器ブロ
ックより構成された演算部と、演算部を制御するため各
演算器ブロックの各演算器が実行中か否かを示す演算状
態レジスタと起動した命令セルデータを演算部状態レジ
スタの読出し結果により実行中でない演算器に割り当て
る制御部からなる演算器制御部と、演算部へ入力される
オペランドの中で、アドレスポインタがある場合、その
ポインタによりデータの読みだしと書き込みが可能な構
造体メモリを設けることにより以下の効果がある。
Effects of the Invention As described above, according to the present invention, an arithmetic unit that executes a plurality of the same operations is used as an arithmetic unit block, an arithmetic unit constituted by a plurality of types of arithmetic unit blocks, and each arithmetic unit for controlling the arithmetic unit. an arithmetic unit control unit consisting of an arithmetic status register that indicates whether each arithmetic unit in the unit block is in execution; If there is an address pointer among the operands input to the section, the following effects can be obtained by providing a structure memory that can read and write data using the pointer.

複数の命令セルが同時に同一の演算器を指定した場合、
演算器制御部で実行中でない演算器を順次割り当て演算
実行させることにより実行待ち時間を減少させ演算部の
ボルトネックを解消でき、また、配列データ処理の場合
、メモリアクセスのための命令セルを都度用意すること
なく構造体メモリのアドレスポインタによりデータのア
クセスを効率的に実行できるため大規模な配列データの
処理速度を向上できる。
When multiple instruction cells specify the same arithmetic unit at the same time,
By sequentially assigning arithmetic units that are not currently being executed in the arithmetic unit control unit and having them perform operations, execution wait time can be reduced and bolt necks in the arithmetic unit can be eliminated.In addition, in the case of array data processing, instruction cells for memory access can be allocated each time. Since data access can be efficiently executed using the address pointer of the structure memory without preparation, the processing speed of large-scale array data can be improved.

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

第1図は本発明の一実施例におけるデータ駆動型計算機
のブロック図、第2図は従来のデータ駆動型計算機のブ
ロック図、第3図は第1図及び第2図の命令セルの構造
図、第4図は2次方程式ax” +bx+c=OのXを
求める場合のデータフロープログラムの記述を示した模
式図、第5図は第3図の命令セルの内部構造をもとに第
4図のデータフロープログラムを記述したパケット群の
模式図、第6図は、第3図の命令セル内の記述に従って
配列データA、B、C(要素10個)をもとにA (r
) =B (1) IC(I)を要素番号Iが1から1
0まで実行するプログラムを示したパケット群の説明図
である。 11・・・・・・演算部、12・・・・・・判定部、1
3・・・・・・制御ネットワーク(CNET) 、14
・・・・・・命令バッファ、15・・・・・・分配ネッ
トワーク (DNET) 、16・・・・・・調停ネ・
ノドワーク(ANET) 、17・・・・・・メモリコ
マンドネットワーク(MNET) 、18・・・・・・
命令メモリ、19・・・・・・演算器制御部、181・
・・・・・構造体メモリ。 代理人の氏名 弁理士 中尾敏男 はか1名第 2 図 第3図 第4図 X1=(−b+i(b↑2−4aL)ノ/どL第5図 dfd2 第6図 たた゛し。 D(M(M=/、lo fOA(Tン= 8(1)丼C(1) ’E”f−夕70−の1グラム八置さ壬歌え昂のて、P
)う。
FIG. 1 is a block diagram of a data-driven computer according to an embodiment of the present invention, FIG. 2 is a block diagram of a conventional data-driven computer, and FIG. 3 is a structural diagram of the instruction cell shown in FIGS. 1 and 2. , Figure 4 is a schematic diagram showing the description of a data flow program when calculating FIG. 6 is a schematic diagram of a packet group in which a data flow program is written. A (r
) =B (1) IC(I) with element number I from 1 to 1
FIG. 2 is an explanatory diagram of a packet group showing a program to be executed up to 0; 11... Calculation unit, 12... Judgment unit, 1
3... Control network (CNET), 14
...Instruction buffer, 15...Distribution network (DNET), 16...Arbitration network
Nodowork (ANET), 17...Memory Command Network (MNET), 18...
Instruction memory, 19... Arithmetic unit control unit, 181.
...Structure memory. Name of agent: Patent attorney Toshio Nakao Number 2 Figure 3 Figure 4 M = /, lo fOA (T = 8 (1) bowl C (1) 'E" f - evening 70 - 1 gram eight oki sa jinka e no te, P
)cormorant.

Claims (1)

【特許請求の範囲】[Claims] 同一の演算を実行する少なくとも1つ以上の演算器を少
なくとも1種類以上具備した演算部と、前記演算器の実
行中か否かを記憶する演算部状態レジスタと前記演算部
状態レジスタの読出し結果に基づいて被演算データを実
行中でない演算器に割当て実行させる制御部からなる演
算器制御部と、アドレスポインタによりデータのアクセ
スが可能な構造体メモリより構成されたことを特徴とす
るデータ駆動型計算機。
an arithmetic unit including at least one type of at least one arithmetic unit that executes the same arithmetic operation, an arithmetic unit status register that stores whether or not the arithmetic unit is in execution, and a read result of the arithmetic unit status register; A data-driven computer comprising: an arithmetic unit control unit comprising a control unit that allocates and executes operand data to an arithmetic unit that is not currently being executed; and a structure memory in which data can be accessed by an address pointer. .
JP25724086A 1986-10-29 1986-10-29 Data drive type computer Pending JPS63111540A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25724086A JPS63111540A (en) 1986-10-29 1986-10-29 Data drive type computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25724086A JPS63111540A (en) 1986-10-29 1986-10-29 Data drive type computer

Publications (1)

Publication Number Publication Date
JPS63111540A true JPS63111540A (en) 1988-05-16

Family

ID=17303631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25724086A Pending JPS63111540A (en) 1986-10-29 1986-10-29 Data drive type computer

Country Status (1)

Country Link
JP (1) JPS63111540A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0471085A (en) * 1990-07-11 1992-03-05 Sharp Corp Data flow type information processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0471085A (en) * 1990-07-11 1992-03-05 Sharp Corp Data flow type information processor

Similar Documents

Publication Publication Date Title
KR101247407B1 (en) Instruction set architecture-based inter-sequencer communications with a heterogeneous resource
JPH04348451A (en) Parallel computer
KR20080104073A (en) Dynamic loading and unloading for processing unit
JPS6258341A (en) Input and output interruption processing system
KR20030064239A (en) Image processing device and method, and compiler used in image processing device
JPS63111540A (en) Data drive type computer
CN116774968A (en) Efficient matrix multiplication and addition with a set of thread bundles
JPS58225443A (en) High-speed data processor
CN107329818A (en) A kind of task scheduling processing method and device
CN112506853A (en) Reconfigurable processing unit array of zero-buffer flow and zero-buffer flow method
JPS6349845A (en) Data driving type computer
US7523264B1 (en) Apparatus, system, and method for dependent computations of streaming multiprocessors
Hoshino et al. Mesh-connected parallel computer PAX for scientific applications
US7107478B2 (en) Data processing system having a Cartesian Controller
JP2551163B2 (en) Command processing control method
Kaneko et al. Processing element design for a parallel computer
JPS61184643A (en) Starting control system for virtual computer
JPS6049464A (en) Inter-processor communication system of multi-processor computer
JPS62144248A (en) Data drive computer
JPS63213033A (en) Data driving type computer
JP2744152B2 (en) Data driven data processor
JPS63204322A (en) Information processor
JPH01102645A (en) Task level data driving type computer
Paw et al. Domain decomposition procedures for finite element analysis on transputer based parallel computers
JPH0764960A (en) Data flow processor