JPH02240784A - Data driven data processor - Google Patents

Data driven data processor

Info

Publication number
JPH02240784A
JPH02240784A JP1063092A JP6309289A JPH02240784A JP H02240784 A JPH02240784 A JP H02240784A JP 1063092 A JP1063092 A JP 1063092A JP 6309289 A JP6309289 A JP 6309289A JP H02240784 A JPH02240784 A JP H02240784A
Authority
JP
Japan
Prior art keywords
data
vector
instruction
arithmetic
unit
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
JP1063092A
Other languages
Japanese (ja)
Other versions
JP2542922B2 (en
Inventor
Hiroki Miura
三浦 宏喜
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP1063092A priority Critical patent/JP2542922B2/en
Publication of JPH02240784A publication Critical patent/JPH02240784A/en
Priority to US08/551,694 priority patent/US5689647A/en
Application granted granted Critical
Publication of JP2542922B2 publication Critical patent/JP2542922B2/en
Priority to US08/754,870 priority patent/US5926643A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE:To execute the processing at a high speed by executing a vector processing for performing repeatedly the same processing to each element data of vector data in a vector storage unit by a control of a vector instruction control unit. CONSTITUTION:When a vector instruction packet for instructing a vector instruction is inputted to an instruction executing unit EXE, a vector processing for performing repeatedly the same processing to each element data of vector data in a vector storage unit PS is executed by a control of a vector instruction control unit NC. Accordingly, a vector arithmetic mechanism is led into the instruction executing unit EXE, and a vector arithmetic instruction can be executed locally to array data stored in the vector storage unit PS. In such a way, the vector arithmetic processing can be simplified and can be executed at a high speed.

Description

【発明の詳細な説明】 (イ)産業上の利用分野 本発明は、データフローグラフをプログラムとして実行
するデータフロー計算機の如きデータ駆動型データ処理
装置に関する。
DETAILED DESCRIPTION OF THE INVENTION (a) Field of Industrial Application The present invention relates to a data-driven data processing device such as a dataflow computer that executes a dataflow graph as a program.

(ロ)従来の技術 近年、実用的な並列処理計算機の実現に向けて研究が進
められており、本願発明者は、既にデータ駆動計算機と
その言語処理系ソフトウェアの開発、及びそれらの評価
を終了している。
(b) Conventional technology In recent years, research has been progressing toward the realization of practical parallel processing computers, and the inventor has already completed the development and evaluation of a data-driven computer and its language processing software. are doing.

(田中他: 「データ駆動計算機SPMの試作」、情報
処理学会第36図会国大会講演論文集7B−5゜ 西用他: 「データ駆動計算機SPMのコンパイラ」、
同7B−6゜ 田中他= 「データ駆動計算機SPMの性能評価(1)
」情j/fi処理学会第37図会国大会講演論文集lN
−4゜ 岡本他: 「データ駆動計算機S P Mの性能評価(
2)」同lN−5゜〕 一般に、データ駆動計算機は、種々の命令がデータの流
れを示すアークによって接続されるデータフローグラフ
をプログラムとして実行するものであり、言い替えれば
、「処理可能なデータから処理を実行していく」という
ような非ノイマン型の思想に従い簡単な実行規則によっ
て演算処理が行なわれる。
(Tanaka et al.: "Prototype of data-driven computer SPM", Information Processing Society of Japan Figure 36 National Conference Proceedings 7B-5゜Nishiyo et al.: "Compiler for data-driven computer SPM",
7B-6゜Tanaka et al. = “Performance evaluation of data-driven computer SPM (1)
"Information J/FI Processing Society Figure 37 National Conference Lecture Proceedings lN
-4゜Okamoto et al.: “Performance evaluation of data-driven computer SPM (
2)'' same lN-5゜] In general, a data-driven computer executes as a program a data flow graph in which various instructions are connected by arcs indicating the flow of data. Arithmetic processing is performed using simple execution rules in accordance with the non-Neumann philosophy of "executing processing from the beginning."

斯様なデータ駆動計算機は、主としてデータ対検出機構
、演算処理機構、プログラム記憶機構の三つの構成要素
からなり、その実行処理の概略は以下のとおりである。
Such a data-driven computer mainly consists of three components: a data pair detection mechanism, an arithmetic processing mechanism, and a program storage mechanism, and the outline of its execution processing is as follows.

まず、データ駆動型計算機ではパケットと呼ばれるーま
とまりのデータ集合を単位として使用しており、該パケ
ットは処理対象データ、データフローグラフの接続情報
(ノード番号)並びに命令コードなどから構成される。
First, a data-driven computer uses a set of data called a packet as a unit, and the packet is composed of data to be processed, connection information (node number) of a data flow graph, instruction code, and the like.

このデータ対検出機構では演算が可能なオペランドパケ
ットの組を検出して出力する。そして検出されたオペラ
ンドパケットの組は演算処理機構で処理される。この結
果パケットはプログラム記憶機構で新たなノード番号を
付与されデータ対検出機構に送られる。斯る処理を繰り
返し続けることにより一連の処理が実行される。
This data pair detection mechanism detects and outputs a set of operand packets that can be operated on. The detected set of operand packets is then processed by the arithmetic processing unit. The resulting packet is assigned a new node number in the program storage and sent to the data pair detection mechanism. By continuing to repeat this process, a series of processes is executed.

本願出願人は、上述の如きデータ駆動計算機に於て、特
にそのプロセゾサアーキテクチャに種々の改良を加えた
高並列データ駆動計算機EDDEN (Enhance
d  Data  Driven  ENgine)の
開発を進めている。二のEDDENでは、1チツプのい
l08LSIによ1て実現する要素プロセッサを、最大
1024台接続した大規模データ駆動計算機の稼働を目
指し、また、PE数台の小規模システム、PE数十台の
中規模システムなど柔軟な構成がとれるようにし、信号
処理、画像処理、グラフィックス、各種シミュレーショ
ン、CADなどの広範な分野に適応させることが目標と
なっている。
The applicant of this application has developed a highly parallel data-driven computer EDDEN (Enhancement), which is a data-driven computer as described above, in particular, which has various improvements made to its processor architecture.
d Data Driven ENGine). In the second EDDEN, we aim to operate a large-scale data-driven computer that connects up to 1024 element processors realized by 1-chip 108LSI, and also a small-scale system with several PEs, and a small-scale system with several dozen PEs. The goal is to enable a flexible configuration such as a medium-sized system, and to adapt it to a wide range of fields such as signal processing, image processing, graphics, various simulations, and CAD.

(ハ)発明が解決しようとする課題 上述のデータ駆動計算機のようなデータ処理装置に於て
は、非定形的な演算処理には適していても、その本来の
メカニズムから、ベクトル内積計算などの定形的な単純
計算のくり返し処理に対して処理速度低下部、性能の低
下は避けられなかった。
(c) Problems to be Solved by the Invention Although data processing devices such as the data-driven computer mentioned above are suitable for non-formal arithmetic processing, due to their original mechanism, they cannot handle calculations such as vector inner product calculations. Due to the repeated processing of regular, simple calculations, a decrease in processing speed and performance was unavoidable.

従って1本発明はベクトル演算処理に於ける性能低下を
補なって、高速処理を可能とできるデータ駆動型データ
処理装置、及びデータ処理方法を提供するものである。
Accordingly, one object of the present invention is to provide a data-driven data processing device and a data processing method that can compensate for the performance degradation in vector arithmetic processing and enable high-speed processing.

(ニ)課題を解決するための手段 本発明のデータ駆動型データ処理装置は、論理、算術演
算命令などの命令実行を行なう命令実行ユニットと、該
命令実行ユニットに後続されてベクトル命令の実行制御
を行なうベクトル命令制御ユニットと、ベクトルデータ
が格納されるベクトル記憶ユニットを含み、前記命令実
行ユニットにベクトル命令を指示するベクトル命令パケ
ットが入力された時、前記ベクトル命令制御ユニットの
制御により、前記ベクトル記憶ユニット内のベクトルデ
ータの各要素データに対して、同一の処理を繰り返し施
すベクトル処理を実行するものである。さらに本発明装
置によれば、命令実行ユニット内の演算器でスカラー演
算、あるいはベクトル演算を実行する。
(d) Means for Solving the Problems The data-driven data processing device of the present invention includes an instruction execution unit that executes instructions such as logic and arithmetic operation instructions, and a unit that controls the execution of vector instructions following the instruction execution unit. and a vector storage unit in which vector data is stored, and when a vector instruction packet instructing a vector instruction is input to the instruction execution unit, the vector instruction control unit Vector processing is performed in which the same processing is repeatedly performed on each element data of vector data in a storage unit. Further, according to the device of the present invention, the arithmetic unit in the instruction execution unit executes a scalar operation or a vector operation.

さらに、本発明のデータ駆動型データ処理装置のデータ
処理方法は、前記命令実行ユニットに、2項演算のため
の2つのペランドデータを含む2項演算命令パケット、
単項演算のための単一のオペランドデータを含む単項演
算命令パケットなどのスカラー演算命令パケットが入力
された時、該命令実行ユニットは、前記オペランドデー
タに対する所定の演算処理を前記命令実行ユニット内の
演算器を用いて実行し、得られた演算結果データを格納
した結果パケットを出力するものである。
Further, in the data processing method of the data-driven data processing device of the present invention, the instruction execution unit includes a binary operation instruction packet containing two operand data for a binary operation;
When a scalar operation instruction packet such as a unary operation instruction packet containing single operand data for a unary operation is input, the instruction execution unit performs a predetermined operation process on the operand data in the operation within the instruction execution unit. It is executed using a device and outputs a result packet storing the obtained calculation result data.

(ホ)作用 本発明のデータ駆動型データ処理装置によれば、命令実
行ユニットにベクトル演算機構を導入し、ベクトル記憶
ユニットに格納された配列データに対して局所的にベク
トル演算命令を実行できるので、ベクトル演算処理の簡
素化、高速化が図れる。
(e) Effect: According to the data-driven data processing device of the present invention, a vector operation mechanism is introduced into the instruction execution unit, and vector operation instructions can be locally executed on array data stored in the vector storage unit. , it is possible to simplify and speed up vector calculation processing.

又、本発明のデータ処理方法によれば、通常のスカラー
データの演算処理とベクトルデータ演算処理とが、命令
実行ユニット内の演算器を時分割で共用するので、即ち
、演算器はベクトル演算処理の空き時間でスカラー演算
処理を実行でき、換言すると、スカラー演算処理の空き
時間でベクトル演算処理を実行できるので、演算パイプ
ラインの充足率の向上が図れる。
Furthermore, according to the data processing method of the present invention, the arithmetic unit in the instruction execution unit is shared in time-sharing for normal scalar data arithmetic processing and vector data arithmetic processing. In other words, vector arithmetic processing can be performed in the free time of scalar arithmetic processing, thereby improving the sufficiency rate of the arithmetic pipeline.

(へ)実施例 第1図に本発明実施例としての高並列データ駆動計算機
のシステムを示し、第2図に要素プロセッサの構成を示
す。
(f) Embodiment FIG. 1 shows a highly parallel data-driven computer system as an embodiment of the present invention, and FIG. 2 shows the configuration of element processors.

まず第2図の要素プロセッサ(PE)は、基本的にはプ
ログラム記憶(PS)、発火制御・カラー管理部(FC
CM)、命令実行部(EXE)、及びキューメモリ(Q
)が巡回パイプライン(リング)構造に接続された構成
としている。
First, the element processor (PE) shown in Fig. 2 basically consists of a program storage (PS), a firing control/color management section (FC
CM), instruction execution unit (EXE), and queue memory (Q
) are connected in a circular pipeline (ring) structure.

プログラム記憶(ps)はノード番号の更新、定数付与
、及び結果のコピーを行う。発火制御・カラー管理部(
FCCM)は、2段階の待ち合わせ記憶方式で発火制御
及びカラーの獲得・解放の管理を行う。命令実行部(E
XE)は、浮動小数点・整数演算、条件判定、分岐、簡
易定数発生などの命令、及びそれらの複合命令を実行す
る。
The program storage (ps) updates node numbers, assigns constants, and copies results. Ignition control/color management department (
FCCM) performs firing control and management of color acquisition and release using a two-stage queue storage method. Instruction execution unit (E
XE) executes instructions such as floating point/integer operations, conditional judgment, branching, and simple constant generation, and composite instructions thereof.

(Q)はリング上でのあらゆるデータ流変動を吸収する
緩衝記憶である。緩衝記憶が必要となるのは、■コピー
、■リングへの強制的入力、■リングからの出力遅延、
■F CCMにおける待ちリストのサーチ、などが生じ
た時である。本要素プロセッサ(PE)にはキュー(Q
)のデータ滞在量に応じて■〜■の動作モードを動的に
変更する機能を付加し、これによって並列度の制御を行
う。また、キューCQ)がやむなくオーバーフローした
時には外部データメモリ(E D M )上に外部キュ
ーを形成してこれを吸収し、プログラム実行の継続を図
る。
(Q) is a buffer that absorbs any data flow fluctuations on the ring. Buffer storage is required for ■copying, ■forced input to the ring, ■output delay from the ring,
(2) This is when a search of the waiting list in FCCM occurs. This element processor (PE) has a queue (Q
) is added with a function to dynamically change the operation mode of ■ to ■ according to the data retention amount, thereby controlling the degree of parallelism. Furthermore, when the queue (CQ) inevitably overflows, an external queue is created on the external data memory (E D M ) to absorb the overflow and continue program execution.

ネットワーク制御部(NC)は、東西南北4系統の通信
ポートを保持し、最大1024プロセンサ(PE)のト
ーラス結合網に基づくルーティング制御を行う。ベクト
ル演算制御部(VC)は、ベクトル演算関連命令、及び
通常のメモリアクセス哨令の実行制御を行う。該制御部
(VC)と、入力制御部(IC)及び出力制御部(QC
)の間には構造体くベクトル)通信用のバイパス線を設
ける。外部データメモリ(E D M )は、構造体等
を格納するデータメモリであり、容量は512KByt
e(128に語X32bit)程度とする。クロック方
式は同期式であるが、上記ネットワーク制御部(NC)
内部は自己同期式で動作するものとする。
The network control unit (NC) maintains four communication ports for north, south, east, and west, and performs routing control based on a torus connection network of a maximum of 1024 processors (PEs). The vector calculation control unit (VC) controls the execution of vector calculation related instructions and normal memory access patrol. The control section (VC), the input control section (IC) and the output control section (QC)
) A bypass line for communication is provided between the structure and vector). The external data memory (E D M ) is a data memory that stores structures, etc., and has a capacity of 512 KB.
e (128 words x 32 bits). The clock system is synchronous, but the network control unit (NC)
It is assumed that the internal operation is self-synchronous.

斯様な要素プロセッサ(PE)を多数用いたEDDEN
の基本的なシステム構成は第1図に示すように、nXn
台の要素プロセッサをトーラス結合網で接続することを
基本とする。該トーラス結合網とは、多数のプロセッサ
を行列配置し、各縦方向、即ち南北方向(N−5)のプ
ロセッサ列を循環的に結合する複数の縦通信線と各横方
向、即ち東西方向(〜V−E)のプロセッサ行を循環的
に結合する複数の横通信線とで任意のプロセッサ間のデ
ータ通信を可能としたものである。
EDDEN using many such elemental processors (PE)
The basic system configuration of nXn is shown in Figure 1.
The basic idea is to connect two element processors with a torus connection network. The torus connection network is a network in which a large number of processors are arranged in rows and columns, and a plurality of vertical communication lines cyclically connect processor rows in each vertical direction, that is, north-south direction (N-5), and each horizontal direction, that is, east-west direction (N-5). Data communication between arbitrary processors is made possible by a plurality of horizontal communication lines that cyclically connect the processor rows of .about.VE).

本実施例システムでは、ネットワークとのデータのやり
とりは、南北方向(N−8)の任意の通信リンクにネッ
トワークインターフェース(NIF)を挿入することに
よって行う。該インターフェース(N I F) 、及
び要素プロセッサ16〜64台を1枚のプロセッサボー
ド上に実装し、トーラス接続リンクをプリント基板上に
形成する。
In the system of this embodiment, data exchange with the network is performed by inserting a network interface (NIF) into any communication link in the north-south direction (N-8). The interface (N IF) and 16 to 64 element processors are mounted on one processor board, and torus connection links are formed on the printed circuit board.

小・中規模システムの構成としては、ホスト計算機とし
て汎用のEWSまたはパソコンを用い、それらのバスイ
ンターフェースを介してネットワークインターフェース
(NIF)に接Mt6゜実装形態としては、1〜4枚の
プロセッサボードと1枚のバスインターフェースボード
を、EWS等のラックに直接挿入することにする。
The configuration of a small/medium-sized system is to use a general-purpose EWS or a personal computer as the host computer, and connect it to the network interface (NIF) via the bus interface.In terms of implementation, one to four processor boards and One bus interface board will be directly inserted into a rack such as an EWS.

大規模システムの構成としては、応用分野に応じて、次
の2種類の構成法が考えられる。
As for the configuration of a large-scale system, the following two types of configuration methods can be considered depending on the field of application.

■ クラスタ接続 前述のプロセッサボードを1つのクラスタとして、クラ
スタ間をクラスタインターフェースを介して接続する。
■Cluster connection The processor boards described above are connected as one cluster, and the clusters are connected via a cluster interface.

クラスタインターフェースは、各クラスタ内のデータの
収集・分配の管理を行う。
The cluster interface manages the collection and distribution of data within each cluster.

■ 大型トーラス接続 1024台(32X32台)の要素プロセッサをトーラ
ス結合網で接続する。実装形態としては、1枚のプリン
ト基板に南北(N−9)方向の32台の要素プロセッサ
とNIFとを実装し、東西(W−E)方向のリンクはマ
ザーボード上に形成する。
■ Large torus connection 1024 (32 x 32) element processors are connected by a torus connection network. As a mounting form, 32 element processors and NIFs in the north-south (N-9) direction are mounted on one printed circuit board, and links in the east-west (W-E) direction are formed on the motherboard.

上述の構成のデータ駆動計算機で用いられるデータパケ
ットには、大別して、プログラム実行に使用する実行パ
ケットとプログラム実行以外に使用される非実行パケッ
トがあり、パケット形式は、構造体本体を保持したパケ
ット以外は固定長とし、プロセッサ(PE)内のパイプ
ラインリング上では33ピント×2語、ネットワーク上
では18ビツト×48HFft成を採用している。
The data packets used in the data-driven computer configured as described above can be broadly divided into execution packets used for program execution and non-execution packets used for purposes other than program execution.The packet format is a packet that holds a structure body. Other than that, the length is fixed, and 33 bits x 2 words are used on the pipeline ring in the processor (PE), and 18 bits x 48 HFft is used on the network.

第3図にベクトル演算制御部(VC)に結合した命令実
行部(EXE)の構成を示し、同図に基づき、その動作
を簡単に以下に列ヤする。
FIG. 3 shows the configuration of an instruction execution section (EXE) connected to a vector calculation control section (VC), and its operation will be briefly summarized below based on the figure.

(i)  命令実行部(EXE)は、該命令実行部(E
XE)での命令実行を示すコードが書き込まれているオ
ペレーションパケットが到着した時、そのパケットに更
に書き込まれているメイン命令コードとサブ命令コード
とによって指定された処理を実行する。
(i) The instruction execution unit (EXE)
When an operation packet in which a code indicating instruction execution in XE) is written, the processing specified by the main instruction code and sub-instruction code further written in the packet is executed.

(ii)  メイン命令コードは整数・浮動小数点演算
部(A)における処理を規定し、サブ命令コードは条件
判定・分岐部(C)、及びベクトル演算制御部(VC)
における処理を規定する。
(ii) The main instruction code specifies the processing in the integer/floating point calculation section (A), and the sub instruction code specifies the processing in the integer/floating point calculation section (C) and the vector calculation control section (VC).
Specifies the processing in

(iii)  入力制御部(1)は、演算部(A)への
入力データとして以下のデータを準備する。
(iii) The input control unit (1) prepares the following data as input data to the calculation unit (A).

■ 該命令実行部(EXE)前段の発火制御・カラー管
理部(FCCM)からのデータ。
■Data from the firing control/color management unit (FCCM) preceding the instruction execution unit (EXE).

■ 外部データメモリ(EDM)からベクトル演算制御
部(VC)のメモリ制御(MC)の制御で読み出したデ
ータ。
■ Data read from the external data memory (EDM) under the control of the memory control (MC) of the vector calculation control unit (VC).

■ サブ命令コードを基に発生させた簡易定数データ。■ Simple constant data generated based on sub-instruction code.

(iv)  条件判定・分岐部(C)はサブ命令コード
で指定される条件の真偽を判定して分岐処理等を行う。
(iv) The condition determination/branching unit (C) determines the truth or falsehood of the condition specified by the sub-instruction code and performs branch processing.

(v)  ベクトル演算制御部(VC)は、メイン命令
コードで指定されたベクトル演算を、サブ命令コードで
指定された形態で連続的に処理するための制御を行う。
(v) The vector operation control unit (VC) performs control to continuously process the vector operation specified by the main instruction code in the form specified by the sub instruction code.

(vi)  演算部(A)の演算命令としては、32ビ
ツトv!数の論理演算、加算、減算、乗算、整数7/実
数変換などがある。
(vi) The arithmetic instruction of the arithmetic unit (A) is 32-bit v! These include logical operations on numbers, addition, subtraction, multiplication, and integer/real number conversion.

(vii )  命令の種類を大別すると以下のとおり
であり、種々の複合命令が実行可能となる。
(vii) The types of instructions can be broadly classified as follows, and various compound instructions can be executed.

■[演算命令コ :演算部(A)のみ使用。■ [Arithmetic instruction code: Only the arithmetic unit (A) is used.

■[リード&演算命令]、[定数発生&演算命令コ :
入力制御部(1)と条件判定・分岐部(C)を使用。
■[Read & calculation instructions], [Constant generation & calculation instructions:
Uses input control section (1) and condition judgment/branch section (C).

■[演算&条件判定・分岐命令(演算部(A)がノーオ
ペレーションの時は単なる条件分岐命令)]:演算部(
A)と条件判定・分岐部(C)を使用。
■[Operation & Conditional Judgment/Branch Instruction (When the operation unit (A) is a no-operation, it is just a conditional branch instruction)]: Operation unit (
Use A) and conditional judgment/branching section (C).

■[ベクトル演算命令コ、[メモリアクセス命令] :
演算部(A)とベクトル演算制御部(VC)を使用。
■[Vector operation instructions, [memory access instructions]:
Uses an arithmetic unit (A) and a vector arithmetic control unit (VC).

本発明の特徴とするところは、ベクトル演算を行うため
の上記ベクトル演算制御部(VC)にあり、第3図の命
令実行部(EXE)に結合した該ベクトル演算制御部(
VC)の回路構成を第4図に更に詳細に示す。
The feature of the present invention lies in the vector computation control section (VC) for performing vector computation, and the vector computation control section (VC) coupled to the instruction execution section (EXE) shown in FIG.
VC) is shown in more detail in FIG.

第4図の回路構成図において、 (ICTL)は上述の第3図の入力制御部N)をなす入
力データ制御回路であり、発火制御・カラー管理部(F
CCM)から得られる入力データパケットの左オペラン
ド(L)と右オペランド(R)との交換や左オペランド
を右オペランドにコピーする。
In the circuit configuration diagram of FIG. 4, (ICTL) is an input data control circuit forming the input control section N) of FIG.
The left operand (L) and the right operand (R) of the input data packet obtained from the CCM are exchanged and the left operand is copied to the right operand.

(ALU)は上述の第3図の演算部(A)をなす(寅算
器。
(ALU) constitutes the arithmetic unit (A) in FIG. 3 mentioned above.

(CN D B RN )は上述の第3図の上記条件判
定・分岐部(C)をなす条件判定・分岐回路。
(CN D B RN ) is a condition determination/branching circuit forming the condition determination/branching section (C) in FIG. 3 described above.

(ALU)は演算6であり、論理演算を行う。(ALU) is operation 6 and performs a logical operation.

(PRI)〜(PH1)はパイプラインレジスタである
(PRI) to (PH1) are pipeline registers.

(MUXI>〜(MUX7)はマルチプレクサである。(MUXI>~(MUX7) are multiplexers.

(NC′NT)はベクトル演算回数カウンタであり、レ
ジスタ設定命令によって、ベクトル演算回数が設定され
、ベクトル演算時に演算が1回行われる度にデクリメン
トされる。
(NC'NT) is a vector operation number counter, the number of vector operations is set by a register setting instruction, and is decremented each time an operation is performed during vector operation.

(SAR)はスカラアドレスレジスタであり、通常のパ
ケットによるメモリリード/ライト命令の実行やロード
/ダンプ実行時のメモリアドレスを保持する。
(SAR) is a scalar address register, which holds a memory address when executing a memory read/write instruction using a normal packet or when executing a load/dump.

(LAR)は左オペランドアドレスレジスタであり、レ
ジスタ設定命令によって、初期値が設定され、ベクトル
演算時に1オペランドの読み出しが終了する度に更新さ
れる。
(LAR) is a left operand address register, an initial value of which is set by a register setting instruction, and updated each time reading of one operand is completed during vector operation.

(L I R)は左オペランドアドレス差分レジスタで
あり、ベクトル演算時に上記左オペランドアドレスレジ
スタ(LAR)を更新するためのアドレス差分値を出力
する。
(L I R) is a left operand address difference register, which outputs an address difference value for updating the left operand address register (LAR) during vector operations.

(RAR)は右オペランドアドレスレジスタであり、上
記左オペランドアドレスレジスタ(LAR)の左オペラ
ンドに対するアドレス処理同様に右オペランドに対する
アドレス初期値の設定と更新が行われる。
(RAR) is a right operand address register, and the address initial value for the right operand is set and updated in the same manner as the address processing for the left operand of the left operand address register (LAR).

(RI R)は右オペランドアドレス差分レジスタであ
り、上記左オペランドアドレス差分レジスタ(LIR)
の左オペランドに対するアドレス処理同様にベクトル演
算時に右オペランドに対するアドレス差分値を出力する
(RIR) is the right operand address difference register, and the above left operand address difference register (LIR)
Similarly to the address processing for the left operand, the address difference value for the right operand is output during vector operations.

(DAR)は結果オペランドアドレスレジスタであり、
上記両オペランドアドレスレジスタ(LAR)(RAR
)の各オペランドに対するアドレス処理同様に演算結果
の結果オペランドに対するアドレス初期値の設定と更新
が行われる。
(DAR) is the result operand address register;
Both operand address registers (LAR) (RAR
) As with the address processing for each operand, the address initial value for the operand is set and updated as a result of the operation result.

(D I R)は結果オペランドアドレス差分レジスタ
であり、上記両オペランドアドレス差分レジスタ(L 
I R)の各オペランドに対するアドレス処理同様に演
算結果の結果オペランドに対するアドレス差分値を出力
する。
(D I R) is a result operand address difference register, and both operand address difference registers (L
Similarly to the address processing for each operand in IR), the address difference value for the operand is output as the result of the operation.

(LTR)は左オペランドテンポラリレジスタであり、
ベクトル演算時に先に読み出した左オペランドデータを
一時的に保持する。
(LTR) is the left operand temporary register,
Temporarily holds the left operand data read earlier during vector operations.

(DDR)は結果データレジスタであり、ベクトル演算
時に単位演算毎に演算結果を保持する。
(DDR) is a result data register, which holds the operation result for each unit operation during vector operations.

(V HE A D )はベクトル演算命令パケットの
ヘッダレジスタであり、ベクトル演算命令パケットの第
t ah目(ヘッダ)の情報を保持する。
(V HE A D ) is a header register of the vector operation instruction packet, and holds information on the t ahth (header) of the vector operation instruction packet.

(S HE A D )は通常命令パケットのヘッダレ
ジスタであり、ベクトル演算命令パケットの第1語口(
ヘゾダノの情報を保持する。
(SHEAD) is the header register of the normal instruction packet, and the first word (SHEAD) of the vector operation instruction packet is the header register of the normal instruction packet.
Retain Hezodano's information.

(ZDCD)はゼロ判定回路であり、ベクトル演算回数
カウンタ(N CN T )がゼロか否かを判定する。
(ZDCD) is a zero determination circuit, which determines whether the vector operation number counter (N CNT ) is zero.

(、M A −B U S )はメモリアドレスバス。(, MA-BUS) is a memory address bus.

(MD−Bus)はメモリデータバス。(MD-Bus) is a memory data bus.

(DBCTL)はデータバス調停回路であり、双方向バ
スであるメモリデータバス(MD−BUS)のデータ伝
送方向を切り換える。即ち、メモリリード時はメモリデ
ータバス(MD−BUS)のベクトル演算用オペランド
データ(VD)を演算部(ALU)に向けて出力し、メ
モリライト時はメモリライトデータ(VWD)をメモリ
データバス<MD−BUs>に向けて出力する。尚、結
果データレジスタ(DDR)の内容を次の演算のオペラ
ンドにする際には、このメモリライトデータ(VWD)
の値をベクトル演算用オペランドデータ(VD)として
演算部(ALU)に向けて出力する。
(DBCTL) is a data bus arbitration circuit that switches the data transmission direction of the memory data bus (MD-BUS), which is a bidirectional bus. That is, when reading memory, vector operation operand data (VD) on the memory data bus (MD-BUS) is output to the arithmetic unit (ALU), and when writing memory, memory write data (VWD) is output from the memory data bus (MD-BUS). MD-BUs>. Note that when using the contents of the result data register (DDR) as an operand for the next operation, this memory write data (VWD)
The value of is outputted to the arithmetic unit (ALU) as vector operation operand data (VD).

(CTLGEN)は制御信号生成回路であり、各種レジ
スタ、マルチプレクサ(MUX)、カウンタ(NCNT
) 、演算部(ALU)、加算器(ADDER)、デー
タ/<ス調停回路(DBCTL)を制御する制御信号を
生成する。
(CTLGEN) is a control signal generation circuit that includes various registers, multiplexers (MUX), counters (NCNT
), an arithmetic unit (ALU), an adder (ADDER), and a data/< space arbitration circuit (DBCTL).

なお、(PDI)、(PDO)は入力パケットデータ、
出力パケットデータを示している。
Note that (PDI) and (PDO) are input packet data,
Shows output packet data.

以上の回路構成からなる命令実行部(EXE)及びベク
トル演算制御部(VC)の動作を第5図(a)〜(e)
のパケット例を参照して以下に詳述する。
The operations of the instruction execution section (EXE) and vector calculation control section (VC) consisting of the above circuit configuration are shown in Fig. 5(a) to (e).
This will be described in detail below with reference to an example packet.

■ データメモリへの初期データのロードまず、ベクト
ル演算のために、外部データメモリ(EDM)l:n+
1次元のベクトルXの各要素<xo・・・xn>とベク
トルYの各要素<yo・・・yn>を格納するロード処
理について述べる。
■ Loading initial data to data memory First, for vector calculation, external data memory (EDM) l:n+
A loading process for storing each element <xo...xn> of a one-dimensional vector X and each element <yo...yn> of a vector Y will be described.

入力されるデータロードパケットは例えば、第5図(a
)の形態であり、このパケットのlA!目(ヘッダ)の
[ロードアドレス]が、入力パケットデータ(PDI)
線、スカラアドレスレジスタC5AR> 、スカラアド
レス(SA)線、マルチプレクサ()H;X6)を介し
てメモリアドレスバス(M A −B U S )に出
力され、2語目(テイル)の[ロードデータ]が入力パ
ケットデータ(PDI)線、マルチプレクサ(MUX7
)、メモリライトデータ(VWD)線、データバス調停
回路(DBCTL)を介してメモリデータバス(MD−
BUS)に出力され、データ書き込み信号(WRN)を
′0”にしてこの[ロードデータ]を外部データメモリ
(EDM)に書き込む。
The input data load packet is, for example, shown in FIG.
), and the lA! of this packet is of the form The [load address] in the header is the input packet data (PDI)
line, scalar address register C5AR>, scalar address (SA) line, multiplexer ()H; ] is the input packet data (PDI) line, the multiplexer (MUX7
), the memory write data (VWD) line, and the memory data bus (MD-) via the data bus arbitration circuit (DBCTL).
BUS), the data write signal (WRN) is set to '0', and this [load data] is written to the external data memory (EDM).

このような書き込み処理の繰り返しにより、外部データ
メモリ(EDM)に第6図の初期データ記憶例に示すよ
うにデータロードを行う。尚、第7図は後述するベクト
ル演算後の外部データメモJ(EDM)のデータ記憶例
を示している。
By repeating such write processing, data is loaded into the external data memory (EDM) as shown in the initial data storage example of FIG. Incidentally, FIG. 7 shows an example of data storage in the external data memo J (EDM) after vector calculation, which will be described later.

11  ベクトル寅 の   行 第6図に示された様に外部データメモリ(EDM)にロ
ードされたベクトルXの各要素〈Xビ・・xn>及びベ
クトルYの各要素〈y、・・・yn>に対して、X+Y
なるベクトル演算するための命令実行について述べる。
11 Rows of vectors As shown in Figure 6, each element of vector For X+Y
This section describes the instruction execution for vector operations.

第5図(b)はベクトル演算を行うためのレジスタ値設
定命令パケットの一例を示している。命令コードは、パ
イプラインレジスタ(P R1)から通常命令パケット
のへラダレジスタ(SHEAD)、通常演算命令コード
(SOP)線を介して制御信号生成回路(CTLGEN
)に入力される。第5図(b)のパケットに対しては、
その1語目(ヘッダb)に書き込まれている命令コード
が上記制御信号生成回路(CTLGEN)で解読され、
設定すべき所定のレジスタが決定される。
FIG. 5(b) shows an example of a register value setting command packet for performing vector operations. The instruction code is sent from the pipeline register (PR1) to the normal instruction packet header register (SHEAD) and the control signal generation circuit (CTLGEN) via the normal operation instruction code (SOP) line.
) is entered. For the packet in Figure 5(b),
The instruction code written in the first word (header b) is decoded by the control signal generation circuit (CTLGEN),
A predetermined register to be set is determined.

一方、レジスタ設定データは入力パケットデータ(PD
I)線、マルチプレクサ(MUX4)を介して(VA)
線に出力される。その後、制御信号生成回路(CTLG
EN)の制御により、所定のレジスタのラッチ信号のみ
が出力され、所定のレジスタにレジスタ設定データの値
が出力される。
On the other hand, register setting data is input packet data (PD
I) line, via multiplexer (MUX4) (VA)
Output to line. After that, the control signal generation circuit (CTLG)
Under the control of EN), only the latch signal of a predetermined register is output, and the value of register setting data is output to the predetermined register.

このようなレジスタ値設定命令により、第7図のデータ
記憶例に対応するように、左オペランドアドレスレジス
タ(LAR)にアドレス[XA0〕、右オペランドアド
レスレジスタ(RAR)にアドレス[YAO]、結果オ
ペランドアドレスレジスタ(DAR)にアドレス[ZA
O]が設定される。そして更に左オペランドアドレス差
分レジスタ(LIR)、右オペランドアドレス差分レジ
スタ(RI R> 、結果オペランドアドレス差分レジ
スタ(DIR)に夫々差分値[1コが設定される。
With such a register value setting instruction, the left operand address register (LAR) is set to address [XA0], the right operand address register (RAR) is set to address [YAO], and the result operand is set to correspond to the data storage example in Figure 7. The address register (DAR) contains the address [ZA
O] is set. Furthermore, a difference value [1] is set in each of the left operand address difference register (LIR), right operand address difference register (RIR>), and resultant operand address difference register (DIR).

第5図(C>にベクトル演算命令パケットの一例を示す
。]a!目(ヘッダC)にはベクトル演算この場合、ベ
クトル加算X+Yを示す命令コードが書き込まれており
、更に、2語目にはベクトル長(ベクトル演算回数)−
1=nが書き込まれているものとする。
Fig. 5 (An example of a vector operation instruction packet is shown in C>.) In the a!th (header C), an instruction code indicating vector operation, in this case, vector addition X+Y, is written, and furthermore, in the second word, is vector length (number of vector operations) −
It is assumed that 1=n is written.

このようなパケットが入力されると、その時点での各ア
ドレスレジスタ(LAR)、(RAR)、 (DAR)
、及び各アドレス差分レジスタ(LIR)、(RI R
)、(DIR)の値を用いてベクトル演算を開始する。
When such a packet is input, each address register (LAR), (RAR), (DAR) at that time
, and each address difference register (LIR), (RI R
), (DIR) are used to start the vector operation.

また、データ値nは、ベクトル演算開始時に入力パケッ
トデータ(FDP)を介してベクトル演算回数カウンタ
(NCNT)に格納される。このようにして制御信号生
成回路(CTLGEN)の制御動作により、外部データ
メモリ(EDM)から読み出したベクトル要素X、とy
oに対する演算部(ALU)での加算処理がXo+yo
からxn+ynまで順次行われ、その加算値ら第7図に
示す如(順次外部データメモリ(EDM)に格納される
Furthermore, the data value n is stored in the vector operation number counter (NCNT) via the input packet data (FDP) at the time of starting the vector operation. In this way, by the control operation of the control signal generation circuit (CTLGEN), vector elements X and y read from the external data memory (EDM)
The addition process in the arithmetic unit (ALU) for o is Xo+yo
The processing is performed sequentially from xn+yn, and the summed values are sequentially stored in an external data memory (EDM) as shown in FIG.

111  通常の演  スカラー     実行一方、
通常のデータ駆動型データ処理装置で演算処理される通
常の演算(スカラー演算)命令実行について述べる。
111 Normal Performance Scalar Execution Meanwhile,
The execution of a normal arithmetic (scalar arithmetic) instruction that is processed by a normal data-driven data processing device will be described.

第5図(d)に発火制御・カラー管理部(FCCM)か
ら得られる通常の演算命令パケットの一例が示されてい
る。同図のパケットの1語目(ヘッダd)には命令コー
ドとして、乗算“×”が保持され、2語目には左オペラ
ンド[5dx1]と右オペランド[5dyl]が保持さ
れている。
FIG. 5(d) shows an example of a normal operation command packet obtained from the firing control/color management unit (FCCM). The first word (header d) of the packet in the figure holds multiplication "x" as an instruction code, and the second word holds a left operand [5dx1] and a right operand [5dyl].

さらに、第5図(e)には通常の演算命令パケットの別
の例が示されており、同図のパケットの1語目(ヘッダ
e)には命令コードとして、減算“−”が保持され、2
語目には同図(d)と同じく左オペランド[s d x
 2]と右オペランド[s d y 2]が保持されて
いる。
Furthermore, FIG. 5(e) shows another example of a normal operation instruction packet, and the first word (header e) of the packet in the same figure holds a subtraction "-" as an instruction code. ,2
The left operand [s d x
2] and the right operand [s dy 2] are retained.

このようなスカラー演算のための上記両パケットのよう
なパケットが入力されると、左オペランドはバイブライ
ンレジろ夕(PRl)、入力データ制御回路<1(TL
)、マルチプレクサ(MUXI)、左オペランドデータ
(LD 1 )線、パイプラインレジスタ(PH1)を
経て、演算部(ALU)に入力される。一方、右オペラ
ンドはパイプラインレジスタ(PH1)、入力データ制
御回路(ICTL)、マルチプレクサ(MUX2)、右
オペランドデータ(RD 1 ) !、パイプラインレ
ジスタCPR4)を経て、演算部(ALU)に入力され
る。この時演算部(ALU)では演算が行われ、その結
果データは、マルチプレクサ(MUX3)を発して出力
パケットデータ(PDO)線に出力される。また、パケ
ットの1語目のヘッダはパイプラインレジスタ(PRI
)を介してヘッダレジスタ(SHEAD)に−時的に格
納された後、マルチプレクサ(MUX3)を経て出力パ
ケットデータ(PDU)線に出力される。この出力パケ
ットデータ(PDU)の出力は1語目に上記へラダレジ
スタ(SHEAD)の内容をそのまま保持すると共に2
語目に結果データを保持した2語パケットとなる。
When a packet such as the above two packets for such a scalar operation is input, the left operand is a vibration line register filter (PRl), an input data control circuit <1 (TL
), the multiplexer (MUXI), the left operand data (LD 1 ) line, and the pipeline register (PH1), and is input to the arithmetic unit (ALU). On the other hand, the right operand includes the pipeline register (PH1), input data control circuit (ICTL), multiplexer (MUX2), and right operand data (RD 1 )! , pipeline register CPR4) and is input to the arithmetic unit (ALU). At this time, an arithmetic operation is performed in the arithmetic unit (ALU), and the resultant data is output to the multiplexer (MUX3) and to the output packet data (PDO) line. Also, the header of the first word of the packet is the pipeline register (PRI).
) is temporarily stored in the header register (SHEAD), and then output to the output packet data (PDU) line via the multiplexer (MUX3). This output packet data (PDU) is output to the first word while retaining the contents of the ladder register (SHEAD) as it is.
This becomes a two-word packet that holds result data in each word.

■ ベクトル′°−とスカラー演 との   行1−述
の1、■1で述べたように、命令実行部(EXE)に切
開データがロードされた[第5図(a) ] t&に6
個のレジスタ(LAR)、(RAR)、+DAR)、(
LIR)、(RIR)、rDIR)に値が設定された[
第5図(b)]状態で、上記II、Illで述べたよう
な第5図(c)(d)(e)のパケットが連続して発火
制御・カラー管理部(FCCM)から投入された場合の
ベクトル演算とスカラー演算との並列的な時分割命令実
行処理について、第8図の信号タイミング図に基づいて
述べる。
■ Line 1 of vector '°- and scalar operation As mentioned in 1 and ■1 above, the incision data is loaded into the instruction execution unit (EXE) [Figure 5 (a)] 6 at t&
registers (LAR), (RAR), +DAR), (
LIR), (RIR), rDIR) with values set [
5(b)], the packets shown in FIG. 5(c), (d), and (e) as described in II and Ill above were continuously input from the firing control/color management unit (FCCM). Parallel time-sharing instruction execution processing of vector operations and scalar operations in this case will be described based on the signal timing diagram of FIG.

同図の場合、時刻【−1で、第5図(c)のベクトル演
算命令パケットが投入され、演算部(ALU)は時刻t
lではベクトル演算の第1の要素加算<x0+y。= 
z O>が行われ、つづく釘数時刻t3.15.・・・
の度に後続した要素加算< x + + Y += z
 +> 、  < x *+ y w= z *>・・
・が順次行われる。
In the case of the same figure, the vector operation instruction packet of FIG. 5(c) is input at time [-1, and the operation unit (ALU) is
In l, the first element addition of vector operation <x0+y. =
z O> is performed, and the number of nails continues at time t3.15. ...
Addition of subsequent elements < x + + Y += z
+>, < x *+ y w= z *>...
・ will be performed sequentially.

演算部(A L U )では通常のデータ駆動のスカラ
ー演算、例えば加算、乗算のような2項演算は、データ
駆動の規制から、偶数時刻のタイミングで実行される。
In the arithmetic unit (A L U ), normal data-driven scalar operations, such as binary operations such as addition and multiplication, are executed at even-numbered times due to data-driven regulations.

この様なベクトル演算の終了を示すパケットは、時刻t
2n◆1.t2n◆2で出力パケットデータ(PDO)
線に出力される。
A packet indicating the end of such a vector operation is sent at time t
2n◆1. Output packet data (PDO) at t2n◆2
Output to line.

今2時刻t1で投入された第5図(d)のスカラー演算
パケy)に対して時刻t4で演算器(ALU)が<5d
xl+5dyl>なる演算処理をなし、時刻t5でこの
値が出力パケットデータ(PDO)線に現れ、時刻t6
で出力される。続いて時刻L3で投入された第5図(e
)のスカラー演算パケットに対して時刻t6で演算器(
ALU)が<5dx2+5dy2>なる演算処理をなし
、時刻t7てこの値が出力パケットデータ(PDO)線
に現れ、時刻t8で出力される。
For the scalar operation packet y) in FIG. 5(d) input at time t1, the arithmetic unit (ALU) is <5d at time t4.
xl+5dyl>, this value appears on the output packet data (PDO) line at time t5, and the value appears on the output packet data (PDO) line at time t6.
is output. Subsequently, Fig. 5 (e
) at time t6 for the scalar operation packet of the arithmetic unit (
ALU) performs the calculation process <5dx2+5dy2>, and the value of the lever at time t7 appears on the output packet data (PDO) line and is output at time t8.

従って、このスカラー演算とベクトル演算とは互いに時
間待ちすること無く、あたかも同時に演算処理が進めら
れるような時分割駆動が行われている。即ち、ベクトル
演算命令パケットと通常の演′g、Qr令パケットとが
混在して命令実行部(EXE)に投入されるようなプロ
グラムを実行した時、演算部(ALU)は休みなく有効
に動作することになり、演算処理効率が向上される。
Therefore, the scalar operation and the vector operation are time-divisionally driven so that the arithmetic operations proceed simultaneously without waiting for each other. In other words, when a program is executed in which vector operation instruction packets and normal operation 'g and Qr instruction packets are mixed and input to the instruction execution unit (EXE), the operation unit (ALU) operates effectively without interruption. As a result, calculation processing efficiency is improved.

(ト)発明の効果 本発明によれば、従来のデータ駆動型データ処理装置の
問題点であった配列などの定形的な構造体に対して単純
な計算を繰り返す定型的演算(ベクトル演算)での性能
低下を防止し、高速処理を可能としたデータ処理方法、
並びにデータ処理装置を実現できる。
(G) Effects of the Invention According to the present invention, regular operations (vector operations) that repeat simple calculations on regular structures such as arrays, which has been a problem with conventional data-driven data processing devices, are now possible. A data processing method that prevents performance degradation and enables high-speed processing,
In addition, a data processing device can be realized.

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

第1図は本発明のデータ駆動型データ処理装置のシステ
ム構成図、第2図は本発明装置のプロセッサの概略構成
図、第3図は第2図のプロセッサの要部構成図、第4図
は第3図のプロセッサ要部(命令実行部とベクトル演算
制御部)の具体的構成を示すブロック図、第5図(a)
乃至(e)はデータパケットのフォーマット図、第6図
及び第7図はメモリ図、第8図は第4図のプロセッサ要
部の動作を不す信号タイミング図である。 (PE)・・・要素プロセッサ、(EXE)・・・命令
実行部、<EDM)・・・外部ダータメモリ、(NC)
・・・ネットワーク制御部、 (VC)・・・ベクトル
演算制御部。 第1図
FIG. 1 is a system configuration diagram of a data-driven data processing device of the present invention, FIG. 2 is a schematic configuration diagram of a processor of the device of the present invention, FIG. 3 is a configuration diagram of main parts of the processor in FIG. 2, and FIG. 4 5(a) is a block diagram showing a specific configuration of the main parts of the processor (instruction execution section and vector operation control section) in FIG. 3.
6 and 7 are memory diagrams, and FIG. 8 is a signal timing chart for disabling the main parts of the processor shown in FIG. 4. (PE)...Element processor, (EXE)...Instruction execution unit, <EDM)...External data memory, (NC)
...Network control section, (VC)...Vector calculation control section. Figure 1

Claims (4)

【特許請求の範囲】[Claims] (1)データフローグラフをプログラムとして実行する
データ駆動型データ処理装置に於て、論理、算術演算命
令などの命令実行を行なう命令実行ユニットと、該命令
実行ユニットに接続されてベクトル命令の実行制御を行
なうベクトル命令制御ユニットと、ベクトルデータが格
納されるベクトル記憶ユニットを含み、 前記命令実行ユニットにベクトル命令を指示するベクト
ル命令パケットが入力された時、前記ベクトル命令制御
ユニットの制御により、前記ベクトル記憶ユニット内の
ベクトルデータの各要素データに対して、同一の処理を
繰り返し施すベクトル処理を実行することを特徴とする
データ駆動型データ処理装置。
(1) In a data-driven data processing device that executes a data flow graph as a program, there is an instruction execution unit that executes instructions such as logic and arithmetic operation instructions, and an instruction execution unit that is connected to the instruction execution unit and controls the execution of vector instructions. and a vector storage unit in which vector data is stored, and when a vector instruction packet instructing a vector instruction is input to the instruction execution unit, the vector instruction control unit A data-driven data processing device characterized by executing vector processing in which the same processing is repeatedly performed on each element data of vector data in a storage unit.
(2)前記命令実行ユニットは、論理、算術演算を遂行
する演算器を含み、前記ベクトル命令が前記ベクトル記
憶ユニット内のベクトルに対する演算処理を示していた
時、前記ベクトル命令制御ユニットは、前記ベクトル記
憶ユニットから該ベクトルデータの各要素データを連続
的に読み出して、該演算器に連続的に供給することによ
って、ベクトルデータと定数データとの繰り返し演算、
異なるベクトルデータどうしの繰り返し演算などのベク
トル演算を行なうことを特徴とした請求項1記載のデー
タ駆動型データ処理装置。
(2) The instruction execution unit includes an arithmetic unit that performs logical and arithmetic operations, and when the vector instruction indicates arithmetic processing on a vector in the vector storage unit, the vector instruction control unit repeated operations on vector data and constant data by successively reading out each element data of the vector data from the storage unit and continuously supplying it to the arithmetic unit;
2. The data-driven data processing device according to claim 1, wherein the data-driven data processing device performs vector operations such as repeated operations on different vector data.
(3)前記命令実行ユニットに、2項演算のための2つ
のペランドデータを含む2項演算命令パケット、単項演
算のための単一のオペランドデータを含む単項演算命令
パケットなどのスカラー演算命令パケットが入力された
時、該命令実行ユニットは、前記オペランドデータに対
する所定の演算処理を前記命令実行ユニット内の演算器
を用いて実行することを特徴とした請求項1記載のデー
タ駆動型データ処理装置。
(3) The instruction execution unit receives a scalar operation instruction packet such as a binary operation instruction packet containing two operand data for a binary operation or a unary operation instruction packet containing single operand data for a unary operation. 2. The data-driven data processing device according to claim 1, wherein when the instruction execution unit receives the input data, the instruction execution unit executes predetermined arithmetic processing on the operand data using an arithmetic unit in the instruction execution unit.
(4)論理、算術演算命令などの命令実行を行なう命令
実行ユニットと、該命令実行ユニットに接続されてベク
トル命令の実行制御を行なうベクトル命令制御ユニット
と、ベクトルデータが格納されるベクトル記憶ユニット
を備えたデータ駆動型データ処理装置のデータ処理方法
に於て、前記命令実行ユニットに、2項演算のための2
つのペランドデータを含む2項演算命令パケット、単項
演算のための単一のオペランドデータを含む単項演算命
令パケットなどのスカラー演算命令パケットが入力され
た時、該命令実行ユニットは、前記オペランドデータに
対する所定の演算処理を前記命令実行ユニット内の演算
器を時分割的に用いて実行し、得られた演算結果データ
を格納した結果パケットを出力することを特徴とするデ
ータ処理方法。
(4) An instruction execution unit that executes instructions such as logic and arithmetic operation instructions, a vector instruction control unit that is connected to the instruction execution unit and controls the execution of vector instructions, and a vector storage unit that stores vector data. In the data processing method of the data-driven data processing device, the instruction execution unit includes two units for binary operations.
When a scalar operation instruction packet such as a binary operation instruction packet containing two operand data or a unary operation instruction packet containing single operand data for a unary operation is input, the instruction execution unit performs a predetermined operation on the operand data. A data processing method, characterized in that the arithmetic processing is executed using arithmetic units in the instruction execution unit in a time-sharing manner, and a result packet storing the obtained arithmetic result data is output.
JP1063092A 1989-03-14 1989-03-14 Data drive type data processor Expired - Fee Related JP2542922B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP1063092A JP2542922B2 (en) 1989-03-14 1989-03-14 Data drive type data processor
US08/551,694 US5689647A (en) 1989-03-14 1995-11-01 Parallel computing system with processing element number setting mode and shortest route determination with matrix size information
US08/754,870 US5926643A (en) 1989-03-14 1996-11-22 Data driven processor performing parallel scalar and vector processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1063092A JP2542922B2 (en) 1989-03-14 1989-03-14 Data drive type data processor

Publications (2)

Publication Number Publication Date
JPH02240784A true JPH02240784A (en) 1990-09-25
JP2542922B2 JP2542922B2 (en) 1996-10-09

Family

ID=13219328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1063092A Expired - Fee Related JP2542922B2 (en) 1989-03-14 1989-03-14 Data drive type data processor

Country Status (1)

Country Link
JP (1) JP2542922B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0475182A (en) * 1990-07-17 1992-03-10 Mitsubishi Electric Corp Data driving type information processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6429938A (en) * 1987-07-24 1989-01-31 Nec Corp Data flow processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6429938A (en) * 1987-07-24 1989-01-31 Nec Corp Data flow processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0475182A (en) * 1990-07-17 1992-03-10 Mitsubishi Electric Corp Data driving type information processor

Also Published As

Publication number Publication date
JP2542922B2 (en) 1996-10-09

Similar Documents

Publication Publication Date Title
US5815723A (en) Picket autonomy on a SIMD machine
US5809292A (en) Floating point for simid array machine
US5805915A (en) SIMIMD array processing system
EP0485690B1 (en) Parallel associative processor system
Dongarra et al. Solving linear systems on vector and shared memory computers
US5471592A (en) Multi-processor with crossbar link of processors and memories and method of operation
US5081573A (en) Parallel processing system
EP0539595A1 (en) Data processor and data processing method
EP0675450A2 (en) Array processor for intensive numeric computation
JPH03138759A (en) Signal processor
CN117992396B (en) Stream tensor processor
JP2518293B2 (en) Data Flow Processor
Bernhard Computers: Computing at the speed limit: Computers 1000 times faster than today's supercomputers would benefit vital scientific applications
JPH02240784A (en) Data driven data processor
EP0570952A2 (en) Slide network for an array processor
JP2521401B2 (en) Single instruction multiple data / multiple instruction multiple data processor array controller
JP2006515446A (en) Data processing system with Cartesian controller that cross-references related applications
Van den Bout A digital signal processor and programming system for parallel signal processing
CN118829976A (en) General Systolic Array
JP2625628B2 (en) Floating point computer system
JP2755769B2 (en) Data driven data processor
JP2657090B2 (en) Computer data communication system
Reeves Meshes and Hypercubes for Computer
Baz et al. Block adjustment with array and vector processors
Aniteye High Performance Architecture in the MU6 Network

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees