JPH01211126A - Data driving type data processor - Google Patents

Data driving type data processor

Info

Publication number
JPH01211126A
JPH01211126A JP3776388A JP3776388A JPH01211126A JP H01211126 A JPH01211126 A JP H01211126A JP 3776388 A JP3776388 A JP 3776388A JP 3776388 A JP3776388 A JP 3776388A JP H01211126 A JPH01211126 A JP H01211126A
Authority
JP
Japan
Prior art keywords
data
packet
information
order
memory
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
JP3776388A
Other languages
Japanese (ja)
Other versions
JP2594093B2 (en
Inventor
Yoichiro Nishikawa
洋一郎 西川
Hiroki Miura
三浦 宏喜
Hideji Hara
原 秀次
Yoshio Sakuta
作田 良夫
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 JP3776388A priority Critical patent/JP2594093B2/en
Publication of JPH01211126A publication Critical patent/JPH01211126A/en
Application granted granted Critical
Publication of JP2594093B2 publication Critical patent/JP2594093B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To cope with the data set of the arbitrary number of data by rearranging respective data of the data set composed of plural data with the same address information and the sequence information added respectively as an identifier to a prescribed sequence, executing the firing processing and giving the end symbol of final data. CONSTITUTION:The sequence information composed of the sequence number of respective data and the prescribed end symbol of the end in the same data set is prepared and added to the packet in plural data sets having the same address information by a sequence information setting means of an instruction executing means EXE of a data driving type data processor. Respective data of the data set are stored into a cue memory Q, and the data added when the same data as the sequence information are read when respective are stored are outputted. For the data of the set having the same address information read from a memory Q by a firing control means FC, the coincidence of each sequence information is detected and a prescribed processing is executed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ駆動型のデータ処理装置に関し、更に
詳述すれば、配列データ等のデータ集合をより効率的に
処理することを可能としたデータ処理装置に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a data-driven data processing device, and more specifically, to a data processing device that is capable of processing data sets such as array data more efficiently. The present invention relates to a data processing device.

〔従来の技術〕[Conventional technology]

一般にデータ駆動型データ処理装置は、データの流れを
アークにて示し、命令をアーク同士が接続されたノード
にて示すデータフローグラフをプログラムとして実行す
る所謂非ノイマン型コンピュータである。
Generally, a data-driven data processing device is a so-called non-Neumann type computer that executes a data flow graph in which the flow of data is indicated by arcs and instructions are indicated by nodes connected to the arcs as a program.

このようなデータ駆動型データ処理装置では、処理対象
のデータと、宛先情報(アークの接続先を示す)とを含
むデータパケットが種々の処理要素、具体的にはデータ
処理回路間を転送される間に、データフローグラフに従
った宛先情報の付は替え、データの複製あるいは命令(
四則演算等)の実行等が行われる。
In such a data-driven data processing device, data packets containing data to be processed and destination information (indicating the connection destination of an arc) are transferred between various processing elements, specifically, data processing circuits. In the meantime, destination information is changed according to the data flow graph, data is duplicated, or commands (
Four arithmetic operations, etc.) are executed.

宛先情報は、データに対して実行されるべき命令の記憶
番地に対応しており、宛先情報の付は替えにより種々の
命令を同一のデータに施すことが可能である。即ち、宛
先情報により指示される宛先がデータフローグラフの上
の命令ノードを意味し、宛先情報の付は替えがアークの
接続を意味する。
The destination information corresponds to the storage address of the instruction to be executed on the data, and by changing the attachment of the destination information, it is possible to apply various instructions to the same data. That is, the destination indicated by the destination information means an instruction node on the data flow graph, and the change of destination information means the connection of arcs.

各処理要素は、データが到着すると直ちにそのデータに
所定の処理を施すように構成されており、データが各処
理要素にどのようなタイミングで到着するかは予め定め
られているわけではない。従って、二項演算のように二
つのデータがベアとして揃うことにより初めて実行可能
になる演算処理では、二つのデータの到着を待値合わせ
て検出するベアリング機構が必要になる。このような機
構、所謂発火機構は、たとえば宛先情報を識別子として
待ち合わせを行うデータフロー型プロセッサμP072
81 (日本電気株式会社)が1984年4月9日発行
の「日経エレクトロニクス」の第196頁に開示されて
いる。
Each processing element is configured to perform predetermined processing on data as soon as it arrives, and the timing at which data arrives at each processing element is not determined in advance. Therefore, in arithmetic processing, such as a binary operation, which can only be executed when two pieces of data are available as bare data, a bearing mechanism is required to detect the arrival of two pieces of data together with the waiting values. Such a mechanism, the so-called firing mechanism, is, for example, a data flow type processor μP072 that performs a wait using destination information as an identifier.
81 (NEC Corporation) is disclosed on page 196 of "Nikkei Electronics" published on April 9, 1984.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

ところで、上述のような従来のデータ駆動型データ処理
装置では、複数のデータにて一単位に構成される配列デ
ータのようなデータ集合相互間での演算処理等では、デ
ータ集合に含まれる全データに同一の命令が実行される
にも拘わらず、各データは他のデータ集合中の対応する
データと待合わせを行う必要がある。
By the way, in the conventional data-driven data processing device as described above, when performing arithmetic processing between data sets such as array data that is made up of multiple data in one unit, all data contained in the data set is Even though the same instruction is executed in each data set, each data must be matched with corresponding data in other data sets.

このような事情から、前述のような従来のデータ駆動型
データ処理装置が有している如き宛先情報のみによる待
合わせ機構(発火機構)では同一の宛先情報を有するデ
ータの対が同時に複数存在する可能性が生じるため、プ
ログラム通りの処理が保証されない。
Due to these circumstances, in a waiting mechanism (firing mechanism) based only on destination information, such as that of the conventional data-driven data processing device as described above, multiple pairs of data having the same destination information exist at the same time. Processing according to the program is not guaranteed.

このため、たとえばデータ集合の各データにそれぞれ異
なった宛先情報を持たせるか、あるいは同一の宛先情報
を有する各データに対して1データの処理が終了した後
に次のデータの処理を行うような同期制御を行う必要が
生じ′る。
For this reason, for example, each data in a data set should have different destination information, or synchronization should be used to process the next data after completing the processing of one data for each data with the same destination information. The need for control arises.

しかし前者の場合には、データ集合中の全データについ
ての命令を記憶する必要が生じ、メモリの効率が低下す
る。しかも、予めデータ数が判明しているデータ集合に
対する演算処理にのみ通用可能である。
However, in the former case, it becomes necessary to store instructions for all data in the data set, reducing memory efficiency. Furthermore, it is applicable only to arithmetic processing on a data set for which the number of data is known in advance.

一方後者では、本来非同期的に実行可能な各データの演
算処理に同期制御が必要になるため、データ駆動型デー
タ処理装置の最大の特徴が無意味になる他、ハードウェ
ア的な規模が拡大し、データ処理効率も低下する。
On the other hand, in the latter case, synchronous control is required for arithmetic processing of each data that could normally be executed asynchronously, which makes the most important feature of a data-driven data processing device meaningless and increases the hardware scale. , data processing efficiency also decreases.

更にいずれの場合も、データ集合の各データを個別に処
理する点に着目しており、データ集合金体を一元的に管
理するという視点に欠けており、効率的な処理というに
は程遠い。
Furthermore, in either case, the focus is on processing each piece of data in a data set individually, and the perspective of centrally managing the data set is lacking, so processing is far from efficient.

以上のような事情から、たとえば同一の宛先情報を有す
る複数のデータにて構成されるデータ集合の各データに
順序情報を持たせ、この順序情報をそれぞれのデータの
識別子として発火制御を行うことが考えられる。しかし
、この場合には以下の如き新たな問題が考えられる。
Due to the above circumstances, for example, it is possible to provide order information to each data in a data set consisting of a plurality of data having the same destination information, and to perform firing control using this order information as an identifier for each data. Conceivable. However, in this case, the following new problems may arise.

具体的には、発火制御手段は到着したデータパケットが
有する宛先情報に対応した待合わせメモリを使用した発
火制御を行う。従って、同一の宛先情報を有するデータ
集合の各データは待合わせメモリの同一の領域を使用し
た発火制御を行うため、たとえば第n番目のデータが発
火制御手段に到着した時点で、その一つ前のn−1番目
のデータの発火検出が終了していなければ第n番目のデ
ータは発火制御手段を一旦通過してデータ処理装置のリ
ング状のネットワークを一周した後に再度発火制御手段
に到着する。
Specifically, the firing control means performs firing control using a waiting memory corresponding to destination information included in the arrived data packet. Therefore, since each data in a data set having the same destination information performs firing control using the same area of the waiting memory, for example, when the nth data arrives at the firing control means, the previous one If the firing detection of the (n-1)th data has not been completed, the nth data once passes through the firing control means, goes around the ring-shaped network of the data processing device, and then arrives at the firing control means again.

一方ではこの間に、次の第n+1番目のデータが待合わ
せメモリの領域を占有する可能性があるが、この可能性
が現実化した場合には発火検出の待合わせ順序が入れ換
わることになる。このため、たとえば第20図に示す如
く、データ集合と単一データとの演算を行うようなデー
タフロープログラムでは、右側に示した単一データは第
n番目の演算が終了するまでは第n+1番目が生成され
ないので、第n+1番目の要素は永久に発火出来ないこ
とになる。
On the other hand, during this time, there is a possibility that the next (n+1)th data will occupy the area of the waiting memory, but if this possibility becomes reality, the waiting order of firing detection will be changed. For this reason, for example, in a data flow program that performs operations on a data set and single data, as shown in Figure 20, the single data shown on the right side will remain in the n+1st position until the nth operation is completed. is not generated, so the (n+1)th element cannot fire forever.

本発明はこのような従来のデータ駆動型データ処理装置
のデータ集合を取り扱う際の不具合の解消を目的とする
ものである。
The present invention aims to solve the problems encountered when handling data sets in conventional data-driven data processing devices.

〔課題を解決するための手段〕[Means to solve the problem]

本発明のデータ駆動型データ処理装置では、同一の宛先
情報を有する複数のデータにて構成されるデータ集合の
各要素のデータに順序番号及び最後のデータの末尾記号
を付加する順序情報設定手段と、この順序情報設定手段
により付加された順序情報を識別子として同一宛先情報
を有するデータ集合の各データを所定の順序に従ってそ
れぞれの順序情報の一致により処理する発火制御手段と
を備えている。
The data-driven data processing device of the present invention includes order information setting means for adding a sequence number and a suffix symbol of the last data to data of each element of a data set composed of a plurality of data having the same destination information. and firing control means for processing each data of the data set having the same destination information in a predetermined order by matching the order information using the order information added by the order information setting means as an identifier.

本発明は、演算処理対象のデータと、該データの宛先を
示す宛先情報とを含むデータパケットの内から発火制御
手段により前記宛先情報が一致する二つのデータパケッ
トを一対の処理対象として検出し、両データパケットに
含まれるデータに所定の処理を施すデータ駆動型データ
処理装置において、同一の宛先情報を有する複数のデー
タにて構成されるデータ集合内の各データのパケットに
対して、各データの順序を示す順序番号及び同一データ
集合内での末尾の順序であることを示す末尾記号にて構
成される順序情報を生成して付加する順序情報設定手段
と、データ集合の各データを格納し、それぞれのデータ
が格納された際の順序情報と同一の順序情報をそれぞれ
のデータの読出しに際して付加して出力するデータ記憶
手段とを備え、前記発火制御手段は、前記データ記憶手
段から読出された同一宛先情報を有するデータ集合の各
データをそれぞれの順序情報の一致を検出して所定の処
理を実行すべくなしてあると共に、その順序情報の一致
の検出を所定の順序に従って実行するための発火順序設
定手段を有することを特徴とする。
The present invention detects, as a pair of processing targets, two data packets whose destination information matches each other by a firing control means from among data packets including data to be processed and destination information indicating the destination of the data; In a data-driven data processing device that performs predetermined processing on data included in both data packets, each data packet in a data set consisting of multiple pieces of data having the same destination information is an order information setting means for generating and adding order information consisting of an order number indicating the order and a suffix indicating the last order within the same data set; and an order information setting means for storing each data of the data set; data storage means for adding and outputting the same order information as the order information when each data was stored when reading each data; A firing order is configured to detect the matching of order information of each data of the data set having destination information and execute a predetermined process, and to execute the detection of the match of the order information according to the predetermined order. It is characterized by having a setting means.

〔作用〕[Effect]

本発明のデータ駆動型データ処理装置では、複数のデー
タにて構成されるデータ集合の各データを、同一の宛先
情′報にて、且っ′それぞれに付加された順序情報を識
別子として所定の順序に並べ換えて発火処理可能であり
、また最後のデータの末尾記号を付与することにより任
意のデータ数のデータ集合を取り扱うことが出来る。
In the data-driven data processing device of the present invention, each piece of data in a data set consisting of a plurality of pieces of data is stored in a predetermined manner using the same destination information and the order information added to each piece of data as an identifier. It is possible to perform firing processing by rearranging the data in order, and by adding a suffix symbol to the last data, it is possible to handle a data set with an arbitrary number of data.

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

第1図に本発明のデータ駆動型データ処理装置を用いた
システム例としてデータフロー計算機システムの概要を
示す。
FIG. 1 shows an outline of a data flow computer system as an example of a system using the data-driven data processing device of the present invention.

同図に示すシステムは、システム内部のデータの基本単
位であるデータパケット(本来のデータ値の他に制御情
報を組み合わせて構成されてい−る)を転送するリング
状転送路であるリングネットヮ−クRNに、それ自身が
リングネットワークRNの一部をなすと共にデータパケ
ットの入出力を制御するネットワークインクフェースN
IF、 NIF、 NIFI・・・N[Fnを介して、
ホストインタフェース旧、データ記憶装置D?l、デー
タフロー計算装置叶C1〜DFCnが結合されており、
ホストインタフェースH1には更にホスト計算[HCが
接続されている。
The system shown in the figure uses a ring network RN, which is a ring-shaped transfer path that transfers data packets (consisting of a combination of control information in addition to original data values), which is the basic unit of data within the system. , a network interface N which itself forms part of the ring network RN and controls the input and output of data packets.
IF, NIF, NIFI...N [via Fn,
Old host interface, data storage device D? l, data flow computing devices C1 to DFCn are connected;
A host calculation [HC] is further connected to the host interface H1.

同システムのデータフロー計算装置叶C1〜DFCnと
ネットワークインタフェースNIFI〜NIFnそれぞ
れとを組合わせたものは、内部がリング状をなすデータ
駆動型データ処理装置として動作し、データフローグラ
フによって記述されたデータ駆動型−(データフロー型
)のプログラムを実行する。
The system's data flow calculation devices C1 to DFCn and network interfaces NIFI to NIFn, respectively, operate as a data-driven data processing device with a ring shape inside, and process data described by a data flow graph. Executes a driven-(data flow) program.

具体的には、まずホスト計算機HCから、ホストインタ
フェースH1、ネットワークインタフェースNIF 、
リングネットワークRN、ネットワークインタフェース
NIFi(iは1〜n)を介してデータフロー計算装置
叶Ciにプログラムがダウンロードされ、次に同じ経路
で、プログラムの実行を開始させるデータパケットであ
る開始パケットがデータフロー計算装置DFciに入力
されるとプログラムの実行が開始され、プログラムの実
行が終了すると、実行の終了を示すデータパケットであ
る終了パケットが、データフロー計算機叶Ciからネッ
トワークインクフェースNIFi、  リングネットワ
ークRN、 ネットワークインタフェースNIF、ホス
トインタフェース旧を介してホスト計算機HCに出力さ
れる。
Specifically, first, from the host computer HC, host interface H1, network interface NIF,
A program is downloaded to the data flow computing device Kano Ci via the ring network RN and the network interface NIFi (i is 1 to n), and then along the same route, a start packet, which is a data packet that starts the execution of the program, is downloaded to the data flow. When the program is input to the computing device DFci, execution of the program starts, and when the execution of the program is finished, a termination packet, which is a data packet indicating the end of the execution, is sent from the data flow computer DFci to the network interface NIFi, the ring network RN, It is output to the host computer HC via the network interface NIF and host interface old.

第2図に本発明のデータ駆動型データ処理装置の概略構
成を示す。同図の装置においてQはキューメモリ、PM
はプログラム記憶手段、NIFはネ。
FIG. 2 shows a schematic configuration of the data-driven data processing device of the present invention. In the device shown in the figure, Q is a queue memory, PM
is a program storage means, and NIF is ne.

トワークインタフェース、FCは発火制御手段、EXE
は命令実行手段であり、各処理要素がリング状に結合さ
れている。なお、1〜5と30.40.50はデータ線
である。
network interface, FC is firing control means, EXE
is an instruction execution means, and each processing element is connected in a ring shape. Note that 1 to 5 and 30, 40, and 50 are data lines.

第2図を用いて本データ処理装置の動作の概略を説明す
る。ホスト計算機HCからロードされたプログラム(デ
ータフローグラフ)は、プログラム記憶手段PMに格納
される。開始パケットが各要素、即ちネットワークイン
タフェースNIF 、発火制御手段PC1命令実行手段
EXE 、キューメモリQを介してプログラム記憶手段
PMに到着するとプログラムの実行が開始される。プロ
グラムの実行中にプログラム記憶手段PMに入力される
パケットの制御情報はこのデータフローグラフに従って
付は替えられたり、あるいは同じデータフローグラフに
従ってデータパケットの複製処理が行なわれたりする。
An outline of the operation of this data processing apparatus will be explained using FIG. The program (data flow graph) loaded from the host computer HC is stored in the program storage means PM. When the start packet arrives at the program storage means PM via each element, ie, the network interface NIF, the firing control means PC1, the instruction execution means EXE, and the queue memory Q, execution of the program is started. During the execution of a program, the control information of packets input to the program storage means PM is reassigned according to this data flow graph, or data packets are copied according to the same data flow graph.

プログラム記憶手段PMから出力されたパケットはネッ
トワークインタフェースNIFにおいて外部に出力され
るか発火制御手段FCに向けて転送されるかの選択がな
される。
A selection is made at the network interface NIF as to whether the packet output from the program storage means PM is output to the outside or transferred to the firing control means FC.

発火制御手段FCでは主に、二項演算命令などの左オペ
ランドと右オペランドとをデータ対として検出して、二
つのオペランドを対にして出力する発火制御処理を行う
。左オペランドは出力ライン5に、右オペランドは出力
ライン50に出力される。
The firing control means FC mainly performs firing control processing that detects a left operand and a right operand of a binary operation instruction or the like as a data pair, and outputs the two operands as a pair. The left operand is output on output line 5 and the right operand is output on output line 50.

命令実行手段EXEでは、到着したパケットの制御情報
によってt旨定される命令を到着したパケットに対して
施して出力する。これらの両要素、発火制御手段pc、
命令実行手段EXEにおいてはパケットが滞ることはな
いが、ネットワークインタフェースNIFにおいては外
部からパケットが入力される時、出力しようとしても出
力できない時、及びプログラム記憶手段PMにおいてデ
ータの複製処理が行なわれる時はビジー状態となる。こ
れらの場合には後続するデータパケットは停止してビジ
ー状態の解除を待たなければならない。キューメモリQ
はこのような時にデータを一時格納して待たせるための
バンファリング機能を有している。
The command execution means EXE applies a command specified by the control information of the arrived packet to the arrived packet and outputs the command. Both of these elements, the ignition control means pc,
In the instruction execution means EXE, packets are not delayed, but in the network interface NIF, when a packet is input from the outside, when an output cannot be output even if an attempt is made, and when data duplication processing is performed in the program storage means PM. becomes busy. In these cases, subsequent data packets must be stopped and wait for the busy state to be released. Cue memory Q
has a bumper function to temporarily store data and make it wait in such cases.

各処理要素において上記のような処理が施されながらデ
ータパケットが周回することによってプログラムが実行
される。また、データ処理装置内部に複数のデータパケ
ットが存在する時には、各々のデータパケットに対して
、異なる処理要素において同時に異なる処理を施すパイ
プライン型の処理を行なうことができる。従って、本デ
ータ処理装置は、リング状のパイプライン型データ処理
装置であると言える。
The program is executed as data packets circulate while each processing element performs the above-described processing. Further, when a plurality of data packets exist inside the data processing device, pipeline type processing can be performed in which different processing is simultaneously performed on each data packet in different processing elements. Therefore, this data processing device can be said to be a ring-shaped pipeline type data processing device.

第3図及び第4図に本発明のデータ駆動型データ処理装
置の更に詳細な構成を示し、第5図〜第8図に本データ
処理装置に通用するデータパケソトの構成を示す。
FIGS. 3 and 4 show a more detailed structure of the data-driven data processing apparatus of the present invention, and FIGS. 5 to 8 show the structure of a data packet processor applicable to this data processing apparatus.

第5図はデータをデータ処理装置内部の所定のメモリに
ダウンロードするためのロードパケ・7ト、第6図はデ
ータ処理装置内部の所定のメモリからデータをダンプす
る(読み出す)ためのダンプパケット、第7図及び第8
図はプログラムの実行中に処理される実行パケットであ
り、発火制御手段FCにおいて対となる左右のオペラン
ドが検出されて、二つのオペランドが組になって出力さ
れたときに第7図の構成となる。
FIG. 5 shows a load packet for downloading data to a predetermined memory inside the data processing device, and FIG. 6 shows a dump packet for dumping (reading) data from a predetermined memory inside the data processing device. Figures 7 and 8
The figure shows an execution packet that is processed during program execution, and when a pair of left and right operands are detected in the firing control means FC and the two operands are output as a pair, the configuration shown in FIG. Become.

以下これ等の図に基づきデータパケットについて説明す
る。
Data packets will be explained below based on these figures.

総てのデータパケットは2語構成であり、1語目と2語
目とはヘッダ識別子Hによって識別される。各データパ
ケットはデータ値とその他の情報(制御情報)とからな
る、制御情報のうちfl、fOはバケッ1−i6別子で
あり第10図のように定義され、ロード、ダンプ及び実
行の各パケットを識別している。
All data packets have a two-word structure, and the first and second words are identified by a header identifier H. Each data packet consists of a data value and other information (control information). Of the control information, fl and fO are bucket 1-i6 identifiers and are defined as shown in Figure 10. Identifies the packet.

モジュール番号は、ホストインタフェース旧、データ記
憶装置DM、各データフロー計算装置0FCI。
The module numbers are host interface old, data storage device DM, and each data flow calculation device 0FCI.

DFC2・・・DFCn等の各処理モジュールを識別す
る番号であり、各モジュールは自分の番号を持っており
自分のモジュール番号を持ったデータパケットのみを入
力するようになっている。
This is a number that identifies each processing module such as DFC2...DFCn, and each module has its own number, so that only data packets having its own module number are input.

対象メモリ番号はロードあるいはダンプの際に対象とな
るメモリを指定する番号であり、第11図のように定義
されている。
The target memory number is a number that specifies the target memory at the time of loading or dumping, and is defined as shown in FIG.

セレクションコードは、データ処理装置内部でデータパ
ケットが処理される経路を規定したものであり各コード
値は第12図に示すような意味を持つ。即ち、両図の図
表に従えば、例えば開始パケットは、(S2SISO)
−”000”というプログラム記憶手段H宛のセレクシ
ョンコードを保持しており、これが該手段PMにおいて
(S2SISO) =”101”に付は替えられると、
(52SISO)−“101°を保持したパケットは発
火制御手段FCにおいて処理され、この発火制御手段F
Cは処理を終えるとセレクションコードを(S2S、5
o)−001”に変更したパケットを出力する。このパ
ケットは次には命令実行手段EXEにおいて処理され、
この命令実行手段EXEは処理を終えるとセレクション
コードを(52SI 5o)=“000”に変更したパ
ケットを出力することにより、パケットは再びプログラ
ム記憶手段Hにおいて処理される。
The selection code defines the route by which data packets are processed within the data processing device, and each code value has a meaning as shown in FIG. 12. That is, according to the diagrams in both figures, for example, the start packet is (S2SISO)
- It holds a selection code addressed to the program storage means H called "000", and when this is changed to (S2SISO) = "101" in the means PM,
(52SISO) - “The packet holding 101° is processed in the firing control means FC, and the firing control means F
When C finishes processing, it sends the selection code (S2S, 5
o) -001" is output. This packet is then processed by the instruction execution means EXE,
When the instruction execution means EXE completes the processing, it outputs a packet with the selection code changed to (52SI 5o)="000", so that the packet is processed again in the program storage means H.

このように、各処理要素は第12図に示す所定のセレク
ションコードを保持したパケットのみを処理しそれ以外
のパケットは何も行なわずに通過させるとともに、処理
を施したパケットに対して各処理要素がそのセレクショ
ンコードを次の処理要素に向けて更新することによって
、プログラムの実行処理が進行する。
In this way, each processing element processes only the packet holding the predetermined selection code shown in FIG. 12, and passes other packets without doing anything, and each processing element The program execution process progresses as the selection code is updated for the next processing element.

この他に、ノード番号はデータフローグラフの各ノード
を識別する番号、環境番号は例えば本データ処理装置の
複数の使用者が本データ処理装置にロードされた同一の
プログラムを同時に実行する際に、各使用者を識別する
ための番号である。
In addition, the node number is a number that identifies each node in the data flow graph, and the environment number is a number that identifies each node in the data flow graph.For example, when multiple users of this data processing device simultaneously execute the same program loaded on this data processing device, This is a number to identify each user.

また、順序番号は相互に順序関係を持ち同一のノード番
号と環境番号とを保持した複数のデータパケットに対し
て同一のプログラムで記述された処理を行う時に各デー
タパケットの順序関係を識別する番号であり、Eは順序
関係を持つ複数のデータパケットのうちの末尾のデータ
パケットであるときのみ1”となる末尾フラグである。
In addition, the sequence number is a number that identifies the sequence relationship of each data packet when processing written in the same program is performed on multiple data packets that have a mutual sequence relationship and have the same node number and environment number. , and E is a tail flag that becomes 1'' only when it is the last data packet among a plurality of data packets having an order relationship.

ノード番号、環境番号、順序熾号を合わせたものをタグ
と呼び、このタグが一致した二つのパケットが二項演算
の左右オペランド′として検出される。
The combination of the node number, environment number, and order code is called a tag, and two packets with matching tags are detected as the left and right operands of a binary operation.

L/Rは左右オペランドを区別°するフラグであり、左
オペランドの時に“1”となる。
L/R is a flag that distinguishes between left and right operands, and becomes "1" when it is a left operand.

CY、Ovは演算の結果格納される演算フラグであり、
CYはキャリー(桁上げ)フラグ、Ovはオーバーフロ
ー(桁あふれ)フラグである。
CY, Ov are calculation flags that are stored as the result of calculation,
CY is a carry flag, and Ov is an overflow flag.

TFは条件判定命令の実行によって格納される真偽フラ
グであり、判定結果が真の時“1”、偽の時“0”とな
る。
TF is a truth flag stored by executing a condition judgment instruction, and becomes "1" when the judgment result is true, and becomes "0" when the judgment result is false.

次に、第3図、第4図に基づき、本データ処理装置の詳
細な動作を説明する。
Next, the detailed operation of this data processing apparatus will be explained based on FIGS. 3 and 4.

第3図、第4図に分図表示したデータ駆動型データ処理
装置は、複数のレジスタが種々の回路を介してリング状
に接続された構成になっており、各レジスタに供給され
る共通のクロック信号(図では省略)に同期して、各レ
ジスタに後段のデータがランチ(保持)されると同時に
、それまで保持されていたデータ、あるいはそれまで保
持していたデータに所定の処理が施された結果のデータ
が前段のレジスタにラッチされることによりデータを順
次伝送する仕組みになっている。即ち、レジスタリング
上の各レジスタに保持されている複数のデータがクロッ
ク信号に同期して一斉に前段に向けてシフトされ、各段
において次のクロック信号までの時間に所定の処理を施
すことをくりかえすことによって循環パイプライン型の
処理が行なわれる。以下に、各処理要素の動作を説明す
る。
The data-driven data processing device shown in FIGS. 3 and 4 has a configuration in which a plurality of registers are connected in a ring shape through various circuits, and a common signal is supplied to each register. In synchronization with a clock signal (not shown), subsequent data is launched (retained) in each register, and at the same time, the data that was being held up to that point or the data that was being held up to that point is subjected to predetermined processing. The resulting data is latched into the register at the previous stage, thereby transmitting the data sequentially. In other words, multiple pieces of data held in each register on the register ring are shifted all at once toward the previous stage in synchronization with a clock signal, and predetermined processing is performed at each stage during the time until the next clock signal. By repeating the process, a circular pipeline type process is performed. The operation of each processing element will be explained below.

(1)  キューメモリQ データ線1にデータパケットの1語目が到着するとヘッ
ダ識別信号101がハイレベルに転じ、これに応じてF
IFO制御回路102は書き込み信号105を出力して
到着したデータパケットを1語口、2語目の順にFIF
Oメモリ103に書き込む。FIFO制御回路102は
、FIFOメモリ103に滞在するデータパケットの数
を常時記憶する機能を持つ。FIFOメモリ103に滞
在するデータパケット数がゼロでなく且つ待ち要求信号
204によって待ちが要求されていなければ、読み出し
信号104が出力されて、FIFOメモリ103に書き
込まれているデータパケットのうち一番早く書き込まれ
たデータパケットが、1語口、2語目の順に読み出され
てデータ線2に出力される。FIFOメモリ103に滞
在するデータパケット数がゼロの時および待ち要求信号
204によって待ちが要求されている時は、読み出し信
号104が禁止されてFIFOメモ1月03からの読み
出しが禁止され、FIFOメモリ103への書き込みの
みが許可される。
(1) When the first word of the data packet arrives on the queue memory Q data line 1, the header identification signal 101 changes to high level, and in response to this, the F
The IFO control circuit 102 outputs a write signal 105 and sends the arrived data packets to the FIF in the order of the first word and the second word.
Write to O memory 103. The FIFO control circuit 102 has a function of constantly storing the number of data packets staying in the FIFO memory 103. If the number of data packets staying in the FIFO memory 103 is not zero and waiting is not requested by the wait request signal 204, the read signal 104 is output and the earliest data packet written in the FIFO memory 103 is read. The written data packet is read out in the order of the first word and the second word, and is output to the data line 2. When the number of data packets staying in the FIFO memory 103 is zero and when waiting is requested by the wait request signal 204, the read signal 104 is prohibited, reading from the FIFO memo January 03 is prohibited, and the FIFO memory 103 Only writing to is allowed.

(ii )  プログラム記憶手段凹 データ線2にデータパケットが到着するとプログラムメ
モリ制御回路201に制御情報202が入力され、アド
レスレジスタ210にはロード(ダンプ)パケットの時
はアドレスが、実行パケットの時はノード番号がアドレ
ス情報線211を経てラッチされると共にレジスタR1
にパケットの1語目がラッチされる。アドレスレジスタ
210の出力はプログラムメモリ203へのアドレスと
なる。制御情報がプログラムメモリ203へのロードを
示しておれば、次のタイミングでパケットの2語目のデ
ータ値がレジスタR1から出力され、書き込み信号20
8によってデータ線212を介してプログラムメモリ2
03に書き込まれる。制御情報がプログラムメモリ20
3からのダンプを示しておれば、読み出し信号207に
よってデータ線212を介してプログラムメモリ203
からデータ値が読み出され、パケットの2語目に格納さ
れる。
(ii) When a data packet arrives at the program storage means concave data line 2, control information 202 is input to the program memory control circuit 201, and the address is stored in the address register 210 if it is a load (dump) packet or if it is an execution packet. The node number is latched via the address information line 211 and is stored in register R1.
The first word of the packet is latched. The output of address register 210 becomes the address to program memory 203. If the control information indicates loading to the program memory 203, the data value of the second word of the packet is output from the register R1 at the next timing, and the write signal 20
8 via data line 212 to program memory 2
Written to 03. Control information is stored in the program memory 20
3, the read signal 207 causes the program memory 203 to be read via the data line 212.
The data value is read from and stored in the second word of the packet.

ロードパケットによってプログラムメモリ203にはデ
ータフローグラフ(プログラム)の接続構造とプログラ
ムの実行中に使用される定数データ値が第9図に示すよ
うな形式でロードされる。
A connection structure of a data flow graph (program) and constant data values used during execution of the program are loaded into the program memory 203 by the load packet in a format as shown in FIG. 9.

第9図におけるモジュール番号、セレクションコード、
左右フラグ、ノード番号は、プログラム記憶手段門に到
着したパケットに新しく付加するための制御情報である
。この他に定数データ値が格納されていることを示す定
数フラグ、データパケットの複数処理を行うことを示す
コピーフラグが記憶されている。
Module number, selection code in Figure 9,
The left and right flags and the node number are control information to be newly added to the packet arriving at the program storage means gate. In addition, a constant flag indicating that a constant data value is stored, and a copy flag indicating that multiple processing of data packets is to be performed are stored.

再び第3図に戻り、プログラム記憶手段PMに到着した
パケットがこのプログラム記憶手段PMで処理される実
行パケット (セレクションコード(52S+So) 
=“000”)であればプロ久−Akメモリ制御回路2
01はアドレスレジスタ210に保持されたノード番号
をアドレスとしてプログラムメモリ203の内容を読み
出し、パケットの1語目の内のモジュール番号、セレク
ションコード、左右フラグ、ノード番号のフィールドを
第9図に示すような新しい制御情報に置換して、パケッ
トの2語目のデータ値はそのままで出力する。
Returning to FIG. 3 again, the packet that arrived at the program storage means PM is an execution packet (selection code (52S+So)) to be processed by this program storage means PM.
= “000”), then PRO-Ak memory control circuit 2
01 reads the contents of the program memory 203 using the node number held in the address register 210 as an address, and reads the module number, selection code, left/right flag, and node number fields in the first word of the packet as shown in FIG. The second word of the packet is replaced with new control information, and the data value of the second word of the packet is output as is.

この時、プログラムメモリ203から読み出されてプロ
グラムメモリ制御回路201に入力されているフラグ情
報206(定数フラグ、コピーフラグ)の内のコピーフ
ラグが“0°であれば到着したパケットに対する処理を
終了する。もしコピーフラグが“1”、定数フラグが“
0”であれば、待ち要求信号204によりキューメモリ
Qに待ちを要求し、アドレスレジスタ210をインクリ
メントしてプログラムメモリ203を読み出し、制御情
報をプログラムメモリ203から読み出した新しい制御
情報に置換してパケットの1語目を出力すると共にプロ
グラムメモリ制御回路201に新たなフラグ情報を入力
し、新たに読み出した定数フラグが”0”であ−れば出
力するパケットの2語目のデータ値として、入力パケッ
トが保持していたデータ値をそのまま出力し、新たに読
み出した定数フラグが“1”であればアドレスレジスタ
210を更にインクリメントしてプログラムメモリ20
3に格納されている定数データ値を読み出し、出力する
パケットの2語目のデータ値として、この定数データ値
を出力する。
At this time, if the copy flag in the flag information 206 (constant flag, copy flag) read from the program memory 203 and input to the program memory control circuit 201 is "0°, processing for the arrived packet ends. If the copy flag is “1” and the constant flag is “
0'', the queue memory Q is requested to wait by the wait request signal 204, the address register 210 is incremented, the program memory 203 is read, the control information is replaced with new control information read from the program memory 203, and the packet is processed. At the same time, new flag information is input to the program memory control circuit 201, and if the newly read constant flag is "0", it is input as the data value of the second word of the packet to be output. The data value held by the packet is output as is, and if the newly read constant flag is "1", the address register 210 is further incremented and the data value is stored in the program memory 20.
3, and outputs this constant data value as the second word data value of the packet to be output.

このような動作を、キューメモリQを待ち状態にしたま
ま、新たに読み出したコピーフラグが“0”になるまで
繰り返す。これがパケットの複製処理である。
This operation is repeated while the queue memory Q is kept in the waiting state until the newly read copy flag becomes "0". This is the packet duplication process.

但し複製処理中に待ち要求信号302によって待ちが要
求されれば、アドレスレジスタ210のインクリメント
及びレジスタR1へのクロック信号の供給をレジスタ制
御線209によって停止させることによって複製処理を
中断する。
However, if a wait is requested by the wait request signal 302 during the copy process, the copy process is interrupted by incrementing the address register 210 and stopping the supply of the clock signal to the register R1 via the register control line 209.

また、複製処理中以外の時に待ち要求信号302によっ
て待ちが要求されれば、レジスタR1へのクロック信号
を停止させてプログラム記憶手段PMからのデータの出
力を停止させるとともに、待ち要求信号204をキュー
メモリQに向けて出力する。
Further, if a wait is requested by the wait request signal 302 at a time other than the duplication process, the clock signal to the register R1 is stopped, the output of data from the program storage means PM is stopped, and the wait request signal 204 is queued. Output to memory Q.

このような待ち要求信号の連鎖により本データ処理装置
においては、キューメモリQを1ケ所に集中して保持す
る構成が実現されている。
By such a chain of wait request signals, the present data processing apparatus realizes a configuration in which the queue memory Q is concentrated and held in one place.

(iii )  ネットワークインタフェースNIFネ
ットワークインタフェースNIFにおいては、ロード・
ダンプ制御回路307においてロードパケットは消去さ
れ(ヘッダ識別子が′0′″にクリアされる)、ダンプ
パケットのモジュール番号はホスト計算機HC行きの番
号(例えば〔l112町町〕=“000”)に更新され
る。このインタフェースNIPに到着するパケットには
次の4種類がある。即ち、(al   データ線3から
データ線4へ転送されるパケット(内部通過パケット) (bl   データ線3からデータ線4oへ転送される
パケット (出力パケット) Tel   データ線30からデータ線4へ転送される
パケット(入力パケット) (d)   データ線30からデータ線40へ転送され
るパケット (、外部通過パケット) である。これらの内、内部通過パケット及び入力パケッ
トは、本データ処理装置の番号として設定されたモジュ
ール番号を保持しており、出力パケット及び外部通過パ
ケットはそれ以外のモジュール番号を保持している。
(iii) Network interface NIF In network interface NIF, load/
The load packet is erased in the dump control circuit 307 (the header identifier is cleared to '0''), and the module number of the dump packet is updated to the number destined for the host computer HC (for example, [l112 town] = "000"). There are four types of packets that arrive at this interface NIP: (al Packet transferred from data line 3 to data line 4 (internal passing packet) (bl Transferred from data line 3 to data line 4o) Packets transferred (output packets) Tel Packets transferred from the data line 30 to the data line 4 (input packets) (d) Packets transferred from the data line 30 to the data line 40 (external passing packets). Of these, internal passing packets and input packets hold the module numbers set as the numbers of this data processing device, and output packets and external passing packets hold other module numbers.

入出力制御回路301は、データ線3及び3oよりそれ
ぞれ制御情報303及び304を入力する。この入出力
制御回路301の制御により、 ■ データ線3.30にそれぞれ内部通過パヶ−/ ト
、外部通過パケットが同時に到着した時は、内部通過パ
ケットはレジスタR2,R3を経て、また外部通過パケ
ットはレジスタR4,R5を経てそれぞれ停止すること
なく通過する。
The input/output control circuit 301 receives control information 303 and 304 from data lines 3 and 3o, respectively. Under the control of this input/output control circuit 301, ■ When internal passing packets and external passing packets arrive at the data lines 3 and 30 at the same time, the internal passing packets pass through registers R2 and R3, and The packet passes through registers R4 and R5 without stopping.

■ データ線3.30にそれぞれ出力パケット、入力パ
ケット、入力パケットが同時に到着した時は、出力パケ
ットはレジスタR2,R6を′経て停止することなく出
力され、入力パケットはレジスタR4,R7を経て停止
することなく入力される。
■ When an output packet, an input packet, and an input packet arrive at data line 3.30 at the same time, the output packet is output without stopping via registers R2 and R6, and the input packet is stopped via registers R4 and R7. It is entered without doing anything.

■ データ線3,30にそれぞれ内部通過パケット、入
力パケットが同時に到着した時は、レジスタR2,R3
,R6へのクロック信号の供給とレジスタR3のデータ
出力を禁止する禁止信号が制御信号線305に出力され
ると共に、待ち要求信号302、によって待ちが要求さ
れ、入カバケ−/ トはレジスタR4,R7を経て停止
することなく入力され、しかる後に禁止信号と待ち要求
信号が解除されて内部通過パケットが通過する。
■ When internal passing packets and input packets arrive at data lines 3 and 30 at the same time, registers R2 and R3
, R6 is output to the control signal line 305, and a wait is requested by the wait request signal 302. The packet is input without stopping via R7, and then the inhibit signal and wait request signal are canceled and the internal passing packet passes.

■ データ線3.30にそれぞれ出力パケット、外部通
過パケットが同時に到着した時は、レジスタR2,R3
,R6へのクロック信号の供給とレジスタR6のデータ
出力を禁止する禁止信号が制御信号線305に出力され
るとともに、待ち要求信号302によって待ちが要求さ
れ、外部通過パケットはレジスタR4,R5を経て停止
することなく通過し、しかる後に禁止信号と待ち要求信
号が解除されて出力パケットが出力される。
■ When output packets and external passing packets arrive at data lines 3 and 30 at the same time, registers R2 and R3
, R6 is outputted to the control signal line 305, and a wait is requested by the wait request signal 302, and external passing packets are passed through registers R4 and R5. The packet passes through without stopping, and then the prohibition signal and wait request signal are released and the output packet is output.

■ データ線3.30にパケットが同時に到着しなかっ
たパケットは停止することなく所定の経路で転送される
■ Packets that do not arrive at the data line 3.30 at the same time are transferred along a predetermined route without stopping.

(iv)  発火制御手段FC ロード(ダンプ)パケットが到着すると、アドレスタグ
レジスタ402にアドレス情報線401を経てアドレス
がラッチされ、アドレス線419に出力される。
(iv) Firing control means FC When a load (dump) packet arrives, the address is latched into the address tag register 402 via the address information line 401 and output to the address line 419.

対生成制御回路411にはパケットの制御情報409が
入力され、制御信号群410が出力され、データ線41
7.408の内のいずれかを介して、データメモIJ4
05、タグメモリ406、ソーティングメモリ407の
内のいずれかにロード(いずれかがダンプ)される。
The pair generation control circuit 411 receives packet control information 409, outputs a control signal group 410, and outputs a control signal group 410 to the data line 41.
7. Data memo IJ4 via any of the 408
05, the data is loaded into either the tag memory 406 or the sorting memory 407 (one of them is dumped).

タグメモリ406の所定のフィールドは、待ち合わせデ
ータが存在する時に“1”となる存在フラグを記憶する
フラグメモリとして機能する。この存。
A predetermined field of the tag memory 406 functions as a flag memory that stores a presence flag that becomes "1" when waiting data exists. This existence.

在フラグは、初期状態ではロードフラグによりタグメモ
リ406の全アドレスにわたって“0”にクリアされて
いる。また、ソー、ティングメモリ407の内容も全ア
ドレスにわたってクリアされている。
In the initial state, the presence flag is cleared to "0" over all addresses of the tag memory 406 by the load flag. Further, the contents of the sorting memory 407 are also cleared across all addresses.

(S2S+Sa) =“101″の発火制御の実行パケ
ットが到着すると、パケットのタグのうちの一部のフィ
ールドがアドレスタグレジスタ(ATR) 402にラ
ンチされてアドレス線419に出力される。これをアド
レスとして存在フラグ412が読み出される。
When a firing control execution packet with (S2S+Sa)=“101” arrives, some fields of the packet's tag are loaded into the address tag register (ATR) 402 and output to the address line 419. The existence flag 412 is read out using this as an address.

一方、パケットのタグの内の順序番号を含む残りのフィ
ールドはデータタグレジスタ(DTR)403にラッチ
され、順序番号を含むデータタグ418が出力されると
共にデータ線417にはパケットの2語目のデータ値が
出力される。ここで読み出された存在フラグが”0”で
あれば、データ値をデータメモリ405に、またデータ
タグをタグメモリ406に書き込むと共にタグメモリ4
06の存在フラグを1に更新し、パケット更新回路42
1においてパケットを消去する。これによって対となる
相手のパケットの到着を待ち合わせることになる。
On the other hand, the remaining field containing the sequence number in the tag of the packet is latched in a data tag register (DTR) 403, and a data tag 418 containing the sequence number is output, and the second word of the packet is output on the data line 417. The data value is output. If the presence flag read here is "0", the data value is written to the data memory 405, the data tag is written to the tag memory 406, and the data value is written to the tag memory 406.
The existence flag of 06 is updated to 1, and the packet update circuit 42
1, the packet is erased. This allows the device to wait for the arrival of the packet from the other party.

読み出した存在フラグが“1”であれば、既に対となる
可能性のあるのパケットのデータ値とタグデータが記憶
されていることを示しており、この時、到着したパケッ
トの順序番号を含むタグデータ418とタグメモリ40
6から読み出したタグデータが比較器414によって比
較される。この結果、一致信号413が出力されると左
右オペランドの対が検出されたことになり、到着したパ
ケットのデータ値がデータ線404を介してレジスタR
9,RIOに、データメモリ405から読み出したデー
タ値がデータ線416を介してレジスタR11,R12
にそれぞれラッチされる。
If the read existence flag is "1", it indicates that the data value and tag data of the packet that may become a pair have already been stored, and at this time, the sequence number of the arrived packet is included. Tag data 418 and tag memory 40
The tag data read from 6 is compared by a comparator 414. As a result, when the match signal 413 is output, it means that a pair of left and right operands has been detected, and the data value of the arrived packet is transferred to the register R via the data line 404.
9, the data value read from the data memory 405 is sent to RIO via the data line 416 to the registers R11 and R12.
are latched respectively.

ここで、到着したパケットの左右フラグL/Rビットが
“l#であればレジスタR9,R12の出力が有効とな
り、到着したパケットのL/Rビットが“0”であれば
レジスタRIO,R11の出力が有効となる。
Here, if the left/right flag L/R bit of the arrived packet is "l#", the outputs of registers R9 and R12 are valid, and if the L/R bit of the arrived packet is "0", the outputs of registers RIO and R11 are valid. Output becomes valid.

即ち、常にデータ線5には左オペランドのデータ値が、
データ線50には右オペランドのデータ値がそれぞれ出
力される。また、この時パケット更新回路421におい
てセレクションコードが(”2 SI So )=“0
01”に更新される。
That is, the data value of the left operand is always on the data line 5.
The data values of the right operands are output to the data lines 50, respectively. Also, at this time, the selection code in the packet update circuit 421 is ("2 SI So ) = "0
01”.

(S2 SI SO) =“111”であるソーティン
グの実行パケットが到着した時は、比較器414におい
てソーティングメモリ407から読み出したデータと到
着したパケットのタグ内の順序番号が比較される。
When a sorting execution packet with (S2 SI SO) = "111" arrives, the comparator 414 compares the data read from the sorting memory 407 with the sequence number in the tag of the arrived packet.

両者が一致しなかった場合は到着したパケットをそのま
まデータ線5へ通過させらる。両者が一致した場合は到
着したパケットのセレクションコードを[S251So
 )−“001”に更新されて出力されると共に、更に
到着したパケットの末尾フラグ力び0゛。
If the two do not match, the arrived packet is passed through to the data line 5 as is. If the two match, the selection code of the arrived packet is sent to [S251So
) - is updated to "001" and output, and the tail flag of the further arriving packet is set to 0.

′の時は、ソーティング制御回路415により、それま
での値に“1”を加えたものを順序番号線420を介し
てソーティングメモリ407に書き込み、末尾フラグ力
び1”の時は“0”を書き込む。
', the sorting control circuit 415 adds "1" to the previous value and writes it to the sorting memory 407 via the sequence number line 420, and when the last flag is "1", it writes "0". Write.

ここで、第18図及び第19図を参照して、発火制御部
FCによる発火処理及びソーティング処理について説明
する。
Here, the firing process and sorting process by the firing control section FC will be explained with reference to FIGS. 18 and 19.

第19図はソーティング制御回路415のより詳細な構
成を示すブロック図である。
FIG. 19 is a block diagram showing a more detailed configuration of the sorting control circuit 415.

このソーティング制御回路415は、ソーティングメモ
リ407の内容を更新するためのソーティングメモリ更
新回路4150及び同じく初期化するためのソーティン
グメモリ初期化回路415Iを主要な構成要素としてい
る。
This sorting control circuit 415 has a sorting memory update circuit 4150 for updating the contents of the sorting memory 407 and a sorting memory initialization circuit 415I for initializing the sorting memory 407 as main components.

ソーティングメモリ更新回路4150は、具体的にはた
とえばフェアチャイルド社製の加算器74F283を数
個組み合わせて構成することが可能である。
Specifically, the sorting memory update circuit 4150 can be configured by combining several adders 74F283 manufactured by Fairchild Corporation, for example.

ソーティング制御回路415は、ソーティングメモリ4
07に与えられているソーティングメモリライト信号4
152が書込みを指示しており、且つ自身に与えられて
いる順序番号更新信号4153が更新を指示しており、
更に入力パケットの末尾記号が“0”である、即ち末尾
ではないことを示している場合にのみ、入力パケットの
順序番号に“1”を加算した値をソーティングメモリ4
07に書込む。また、ソーティングメモリライト信号4
152が書込みを指示しており、且つ入力パケットの末
尾記号が”l“である、即ち末尾データである場合にの
みソーティングメモリ407に“0”を書込む。他の場
合にはソーティングメモリ更新回路4150はソーティ
ングメモリ407の更新は行わない。
The sorting control circuit 415 controls the sorting memory 4
Sorting memory write signal 4 given to 07
152 instructs writing, and the sequence number update signal 4153 given to itself instructs update,
Furthermore, only when the end symbol of the input packet is "0", indicating that it is not the end, the value obtained by adding "1" to the sequence number of the input packet is stored in the sorting memory 4.
Write to 07. Also, the sorting memory write signal 4
152 instructs writing and the last symbol of the input packet is "l", that is, it is the last data, "0" is written into the sorting memory 407. In other cases, the sorting memory update circuit 4150 does not update the sorting memory 407.

第18図は対生成制御回路411のより詳細な構成を示
すブロック図である。
FIG. 18 is a block diagram showing a more detailed configuration of the pair generation control circuit 411.

対生成制御回路411は、2項命令の左右のパケットの
待ち合わせを制御する信号及びソーティング処理を制御
する信号を生成する発火制御論理回路4110と、第1
4図に示されているR9−R12の各レジスタの出力の
選択を制御する信号を生成するレジスタ制御論理回路4
111と、各信号のタイミングを遅延して調整するため
のD−フリップフロップ4112゜4113、4114
等にて構成されている。
The pair generation control circuit 411 includes a firing control logic circuit 4110 that generates a signal that controls the waiting of left and right packets of a binary instruction and a signal that controls sorting processing;
4 A register control logic circuit 4 that generates a signal that controls the selection of the output of each register R9 to R12 shown in FIG.
111, and D-flip-flops 4112, 4113, 4114 for delaying and adjusting the timing of each signal.
It is composed of etc.

レジスタ制御論理回路4111は、上述の如く、R9−
R12の各レジスタの出力を制御するようにレジスタ制
御信号を生成して出力する。
As mentioned above, the register control logic circuit 4111 has R9-
A register control signal is generated and output so as to control the output of each register of R12.

発火制御論理回路411Oは、セレクションコード(S
2SISO) =“101”を保持した実行パケットが
到着した際に存在フラグが“θ″を示していればデータ
メモリライト信号、タグメモリライト信号、フラグメモ
リライト信号、パケット消去信号を出力し、フラグメモ
リライト値として′l″を出力する。
The firing control logic circuit 411O has a selection code (S
2SISO) When an execution packet holding = "101" arrives, if the presence flag indicates "θ", a data memory write signal, tag memory write signal, flag memory write signal, and packet erase signal are output, and the flag is Output 'l'' as the memory write value.

これにより、入力パケットのデータ値とデータタグとを
データメモリ405とタグメモリ406にそれぞれ書込
むと共に、パケットを消去する。またフラグメモリには
存在フラグ412を“1”に書換えて相手のパケットの
到着を待ち合わせる。
As a result, the data value and data tag of the input packet are written into the data memory 405 and the tag memory 406, respectively, and the packet is erased. Furthermore, the existence flag 412 is rewritten to "1" in the flag memory to wait for the arrival of the other party's packet.

セレクションコードが(S2Ss So ) −’10
1″の実行パケットが到着した場合には、存在フラグ4
12が“1”であり、且つタグ一致信号が一致を示して
いる場合には、発火制御論理回路4110はデータメモ
リリード信号、フラグメモリライト信号1発火信号を出
力し、更にフラグメモリライト値として“0″を出力す
る。これにより、左右データをデータ対として出力する
と共にセレクションコードを(S2S、So) =“0
01”に書換えた上で発火したパケットとして命令実行
部EXEにおいて処理すべく出力する。
The selection code is (S2Ss So) -'10
If an execution packet of 1'' arrives, the existence flag is set to 4.
12 is "1" and the tag match signal indicates a match, the firing control logic circuit 4110 outputs a data memory read signal, a flag memory write signal 1 firing signal, and further outputs a flag memory write value as a flag memory write value. Outputs “0”. As a result, the left and right data are output as a data pair, and the selection code (S2S, So) = “0
01'' and then outputs it as a fired packet to be processed by the instruction execution unit EXE.

セレクションコード(S2SISO) =“111”の
パケ7)が到着すると、比較制御信号により比較器41
4では入力パケットが保持している順序番号とソーティ
ングメモリ407の内容とが比較される。この比較の結
果、両者が一致していれば、ソーティングメモリライト
信号及び順序番号更新信号、更に宛先情報更新信号とし
て“01が発火制御論理回路41工0から出力され、ソ
ーティングメモリ407の内容が更新されると共に、到
着パケットのセレクションコードが(52St So 
) =“001”に更新され、命令実丘部Il!xEに
おいて処理されるべく出力される。
When the selection code (S2SISO) = “111” packet 7) arrives, the comparator 41 is activated by the comparison control signal.
4, the sequence number held by the input packet is compared with the contents of the sorting memory 407. As a result of this comparison, if the two match, "01" is output from the firing control logic circuit 41 as a sorting memory write signal, a sequence number update signal, and a destination information update signal, and the contents of the sorting memory 407 are updated. At the same time, the selection code of the arriving packet is (52St So
) is updated to “001”, and the instruction actual hill section Il! output to be processed in xE.

比較結果が一致していない場合には、いずれの制御信号
も出力されず、到着パケットはそのまま出力される。
If the comparison results do not match, no control signal is output, and the arrived packet is output as is.

以上の説明から明らかなように、セレクションコード(
S2SISO)−111″を保持しているパケットの集
合のそれぞれが発火制御部FCに到着する都度、それぞ
れがいかなる順序で到着しても、それぞれが保持してい
る順序情報の昇順にセレクションコードが書換えられる
。このため、命令実行部EXE及びプログラム記憶部に
おける処理は、順序番号の昇順に従って実行される。換
言すれば、到着パケットの並べ換えが行われる。
As is clear from the above explanation, the selection code (
Each time a set of packets holding S2SISO)-111'' arrives at the firing control unit FC, the selection code is rewritten in ascending order of the order information held by each, no matter what order they arrive. Therefore, the processing in the instruction execution unit EXE and the program storage unit is executed in ascending order of the sequence numbers.In other words, the arriving packets are rearranged.

セレクションコード(S2SISO) =“011”を
保持した実行パケットが到着すると、存在フラグが″0
″であれば比較回路制御信号により比較器414におい
てパケットが保持する順序番号とソーティングメモリ4
07の内容とが比較される。この結果、−致が検出され
た場合には、発火制御論理回路4110はデータメモリ
ライト信号、タグメモリライト信号1フラグメモリライ
ト信号、パケット消去信号を出力し、更にフラグメモリ
ライト値として“1″を出力する。
When an execution packet with selection code (S2SISO) = “011” arrives, the existence flag is set to “0”.
'', the comparison circuit control signal causes the comparator 414 to compare the sequence number held by the packet and the sorting memory 4.
The contents of 07 are compared. As a result, if a match is detected, the firing control logic circuit 4110 outputs a data memory write signal, a tag memory write signal 1 flag memory write signal, and a packet erase signal, and further outputs "1" as the flag memory write value. Output.

これにより、入力パケットのデータ値とデータタグはデ
ータメモリ405及びタグメモリ406にそれぞれ書き
込まれると共に、パケットは消去され、更に存在フラグ
に値“1”が書込まれて相手のパケットの到着を待合わ
せる状態になる。
As a result, the data value and data tag of the input packet are written to the data memory 405 and the tag memory 406, respectively, the packet is erased, and the value "1" is written to the presence flag to wait for the arrival of the other packet. It will be in a state of matching.

セレクションコード(S2SISo〕=“011”を保
持した実行パケットが到着し、この時、存在フラグが“
1“であれば比較回路制御信号により比較器414にお
いて到着パケットの順序番号を含むデータタグとタグメ
モリの内容とが比較される。
An execution packet with selection code (S2SISo) = “011” arrives, and at this time, the existence flag is “
1'', the comparison circuit control signal causes the comparator 414 to compare the data tag containing the sequence number of the arriving packet with the contents of the tag memory.

この結果、タグ一致信号が一致を示した場合には、発火
制御論理回路4110はデータメモリライト信号、フラ
グメモリライト信号、ソーティングメモリライト信号、
順序番号更新信号を出力し°、更にフラグメモリ値とし
て“0′を、宛先情報更新信号として“0″を出力する
。これにより、左右データのデータ対がセレクションコ
ードが更新された上で命令実行部EXEにおいて処理さ
れるべく出力されると共に、ソーティング制御回路41
5によってソーティングメモリ407の更新が行われる
As a result, if the tag match signal indicates a match, the firing control logic circuit 4110 outputs a data memory write signal, a flag memory write signal, a sorting memory write signal,
It outputs a sequence number update signal, further outputs "0" as a flag memory value and "0" as a destination information update signal.As a result, the data pair of left and right data has the selection code updated and then the instruction is executed. The sorting control circuit 41
5, the sorting memory 407 is updated.

以上の説明から明らかなように、セレクションコード(
S2SISO) =”011”を有するパケットは、存
在フラグが“0”であっても順序番号が所定の値でなけ
れば待合わせメモリ、即ちデータメモリ405に格納さ
れることなくそのまま通過してしまう。
As is clear from the above explanation, the selection code (
Even if the presence flag is "0", a packet having S2SISO)="011" will pass through without being stored in the waiting memory, that is, the data memory 405, unless the sequence number is a predetermined value.

更に対となるべき二つのパケットが検出されてデータ対
が出力された時にのみ順序番号メモリ、即ちソーティン
グメモリ407の更新が行われるため、データ集合の各
データは発火制御部FCにおいて順序情報の昇順に従っ
てのみ発火されることになる。
Further, since the sequence number memory, that is, the sorting memory 407 is updated only when two packets to be paired are detected and the data pair is output, each data of the data set is sorted in ascending order of the sequence information in the firing control unit FC. It will only be fired according to the following.

このように本発明装置の発火制御部PCは2項データの
発火検出及び並べ換えを同時に行うことが可使である。
In this manner, the firing control unit PC of the device of the present invention can simultaneously perform firing detection and rearrangement of binary data.

(v)  命令実行手段EXE 命令コードメモリ510にロード(ダンプ)パケットが
到着すると、アドレスレジスタ534にアドレス値がラ
ッチされ、データ線512を介して命令コードメモリ5
10にデータ値がロード(命令コードメモリ510から
読み出したデータ値がダンプ)される。
(v) Instruction Execution Unit EXE When a load (dump) packet arrives at the instruction code memory 510, the address value is latched in the address register 534 and sent to the instruction code memory 5 via the data line 512.
A data value is loaded into the instruction code memory 510 (the data value read from the instruction code memory 510 is dumped).

ローカルメモリ505にロード(ダンプ)パケットが到
着するとマルチプレクサ503においてアドレス情報線
502が選択されてパケットの1語目に保持されている
アドレス値がアドレス線504に出力され、データ線5
07を介してローカルメモリ505にパケットの2語目
がロード(ローカルメモリ505から読み出したデータ
値がダンプ)される。
When a load (dump) packet arrives at the local memory 505, the multiplexer 503 selects the address information line 502, outputs the address value held in the first word of the packet to the address line 504, and outputs the address value held in the first word of the packet to the data line 5.
The second word of the packet is loaded into the local memory 505 (the data value read from the local memory 505 is dumped) via the second word 07.

命令コードメモリ510にはプログラムの実行前に、実
行するプログラム中の各ノード番号に対応した命令コー
ドがロードパケットによりロードされており、命令コー
ドメモリ510をノード番号によって参照すると対応す
る命令コ°−ドが読み出されるようになっている。
Before executing the program, the instruction code memory 510 is loaded with instruction codes corresponding to each node number in the program to be executed using a load packet, and when the instruction code memory 510 is referred to by the node number, the corresponding instruction code is loaded. The code is now read out.

命令実行手段EXEで処理されるセレクションコード(
S2SISO) =“001”を保持した実行パケ・ノ
ドには1オペランドの命令パケット(単項演算命令など
)と2オペランドの命令パケット(二項演算命令など)
がある。実行バケ・y)が到着するとアドレスレジスタ
534にはノード番号がラッチされて命令コードメモリ
510から対応する命令コード513が読み出される。
The selection code (
The execution packet/node that holds ="001" contains a 1-operand instruction packet (such as a unary operation instruction) and a 2-operand instruction packet (such as a binary operation instruction).
There is. When the execution bucket y) arrives, the node number is latched in the address register 534, and the corresponding instruction code 513 is read from the instruction code memory 510.

命令コード513は、デコーダ511によってデコード
され、命令の種類に応じた制御信号群514が出力され
る。制御信号群514は、レジスタR14,R16゜R
lB、 R20,R22の順に、到着したパケットの1
語目と平行して転送され、各処理要素における制御信号
として使用される。
The instruction code 513 is decoded by the decoder 511, and a control signal group 514 corresponding to the type of instruction is output. The control signal group 514 includes registers R14 and R16°R.
1 of the arriving packets in the order of lB, R20, and R22.
It is transferred in parallel with the word entry and used as a control signal in each processing element.

命令の種類としては、 (al  ローカルメモリ505からの読み出しまたは
それへの書き込みを行なう命令、 (bl  単項または二項の演算命令、(cl  シフ
ト命令、 (d)  条件判定命令、 (61制御情報更新命令、 (n  (al〜(dlの内のいくつかを組み合わせた
複合命令、 がある。
Types of instructions include (al instruction to read from or write to the local memory 505, (bl unary or binary operation instruction, (cl shift instruction, (d) condition judgment instruction, (61 control information update) There is a compound instruction that combines some of the instructions, (n(al~(dl).

制御信号群514は、上記の命令(al〜(elのそれ
ぞれに対応して制御信号群A〜制御信号群Eに分かれて
おり、それぞれの制御が独立に行われることによって、
(flのような各種の複合命令の実行が可能となってい
る。
The control signal group 514 is divided into a control signal group A to control signal group E corresponding to each of the above commands (al to (el), and each control is performed independently.
(It is possible to execute various compound instructions such as fl.

制御信号群Aによってローカルメモリの読み出しまたは
書き込みが指定されていれば、マルチプレクサ503に
おいてアドレス情報線501が選択されパケットの2語
目の左オペランドデータ値がローカルメモリ505のア
ドレスとなる。更に読み出しの場合は、バッファ509
の出力を無効にしてローカルメモリ505からデータを
読み出してデータ線507を介して到着したパケットの
二語目の左データ値のフィールドに格納する。書き込み
の場合は、データ線508を介して到着したパケットの
左オペランドデータ値をローカルメモリ505に書き込
む。
If reading or writing from the local memory is specified by the control signal group A, the address information line 501 is selected in the multiplexer 503 and the left operand data value of the second word of the packet becomes the address of the local memory 505. For further reading, the buffer 509
The data is read from the local memory 505 and stored in the left data value field of the second word of the packet that has arrived via the data line 507. In the case of writing, the left operand data value of the packet arriving via the data line 508 is written to the local memory 505.

制御信号群Bによって演算処理が指定されていれば、制
御信号521.522の制御により、算術論理ユニット
(ALUI)515.算術論理ユニット(ALU2) 
51Bにおいて、オペランドデータの下位データ、上位
データの順に指定された算術/論理演算が行なわれる。
If arithmetic processing is designated by control signal group B, arithmetic logic units (ALUI) 515. Arithmetic logic unit (ALU2)
At 51B, specified arithmetic/logical operations are performed in the order of lower data and upper data of the operand data.

この時、データ線526を介して左オペランドデータ値
の内の下位データ値が、データ線527を介して右オペ
ランドデータ値の内の下位データ値がそれぞれ入力され
、データ線528に演算結果データ値の内の下位データ
値が出力される。
At this time, the lower data value of the left operand data value is input via the data line 526, the lower data value of the right operand data value is input via the data line 527, and the operation result data value is input to the data line 528. The lower data value within is output.

また、データ線529を介して左オペランドデータ値の
内の上位データ値が、データ線530を介して右オペラ
ンドデータ値の内の上位データ値がそれぞれ入力され、
データ線531に演算結果データ値の内の上位データ値
が出力される。
Further, the upper data value of the left operand data values is inputted via the data line 529, and the upper data value of the right operand data values is inputted via the data line 530.
The upper data value of the calculation result data values is output to the data line 531.

制御信号群Cによってシフトが指定されていれば、制御
信号523の制御によりシフタ517において所定のデ
ータシフト処理が実行される、またゼロ判定部518に
おいては、常時左オペランドデータ値がゼロであるか否
かの判定が行なわれる。
If a shift is specified by the control signal group C, a predetermined data shift process is executed in the shifter 517 under the control of the control signal 523, and the zero determination unit 518 determines whether the left operand data value is always zero or not. A determination is made whether or not.

制御信号群りによって条件判定処理が指定されていれば
制御信号524の制御により条件判定部519′  に
おいて、指定された条件判定が行なわれ、その結果(真
または偽)が出力される。
If a condition determination process is specified by the control signal group, the condition determination section 519' performs the specified condition determination under the control of the control signal 524, and outputs the result (true or false).

制御信号群已によって制御処理が指定されていれば、制
御信号525の制御により制御処理部520において、
指定された制御処理(ノード番号の更新、順序番号の更
新、パケ7)の消去など)が行なわれる。
If the control processing is specified by the control signal group, the control processing section 520 performs the following under the control of the control signal 525.
The specified control processing (updating the node number, updating the sequence number, erasing packet 7, etc.) is performed.

以下、第13図〜第17図を参照して、条件判定処理部
519により実行される条件判定処理及び制御処理部5
20により実行される制御処理について更に詳細に説明
する。
Hereinafter, with reference to FIGS. 13 to 17, the condition determination processing executed by the condition determination processing section 519 and the control processing section 5
The control processing executed by 20 will be explained in more detail.

第13t!lは条件判定処理部519及び制御処理部5
20の詳細な構成を示すブロック図である。
13th t! l is the condition determination processing section 519 and the control processing section 5
20 is a block diagram showing the detailed configuration of 20. FIG.

図中の真偽フラグ設定回路5191、順序番号読出し回
路5192はいずれも2系統の入力の内の一方を。
The truth/false flag setting circuit 5191 and the sequence number reading circuit 5192 in the figure both receive one of two input systems.

1ビツトの制御信号により選択的に出力するマルチプレ
クサにて構成されている。また末尾記号設定回路520
1は、2人力のORゲートにより構成されている。
It is composed of a multiplexer that selectively outputs according to a 1-bit control signal. Also, the suffix symbol setting circuit 520
1 is composed of an OR gate operated by two people.

条件判定回路5193は第14図に示す如く、8人力マ
ルチプレクサにて構成されている。この条件判定回路5
193には、2人力命令の際の右オペランドパケットの
真偽フラグ、演算の結果生じる各種の演算フラグ(ゼロ
フラグ、符号ビット、キャリーフラグ、オーバフローフ
ラグ)及び入力パケットの末尾記号等がそれぞれ入力端
子10+ It〜I5. T6に与えられている。
As shown in FIG. 14, the condition determination circuit 5193 is composed of an eight-manpower multiplexer. This condition judgment circuit 5
193, the truth flag of the right operand packet in the case of a two-manpower instruction, various operation flags (zero flag, sign bit, carry flag, overflow flag) resulting from the operation, and the final symbol of the input packet, etc. are input to the input terminal 10+. It~I5. It is given to T6.

第4図に示されているデコーダ511において命令コー
ドに応じて出力された制御信号群514の内、条件判定
処理及び制御処理に関する制御信号群り及びEは、デー
タパケットの1語目がレジスタR21に、2語目がレジ
スタR19にそれぞれ保持されている間に、各処理要素
に入力される。そして、この制御信号群り及びEに従っ
てそれぞれの処理要素、即ち条件処理部519及び制御
処理部520の各構成要素において命令コードに対応す
る所定の処理が実行される。
Among the control signal group 514 outputted according to the instruction code in the decoder 511 shown in FIG. Then, the second word is input to each processing element while being held in register R19. Then, in accordance with this group of control signals and E, each processing element, that is, each component of the condition processing section 519 and the control processing section 520, executes a predetermined process corresponding to the instruction code.

条件判定回路5193においては、第15図に示す如く
、制御信号D1を構成する4ビツト(Co ”” C3
)の値に応じた条件処理がなされ、判定結果として真(
“ド)または偽(00″)が出力される。
In the condition determination circuit 5193, as shown in FIG.
) is processed according to the value of , and the judgment result is true (
"DE" or false (00") is output.

ノード番号更新回路5202は第16図に示す如く加算
器にて構成されている。このノード番号更新回路520
2には、制御信号E3が“0”であり且つ上述の条件判
定回路5193による判定結果が真の値(”1”)を示
している場合にのみキャリー人力Coに“1”が入力さ
れる。これにより、パケットのノード番号が1だけイン
クリメントされた値となって出力される。
The node number update circuit 5202 is composed of an adder as shown in FIG. This node number update circuit 520
2, "1" is input to the carry human power Co only when the control signal E3 is "0" and the judgment result by the above-mentioned condition judgment circuit 5193 shows the true value ("1"). . As a result, the node number of the packet is incremented by 1 and output.

また条件判定回路5193の判定結果の信号は制御信号
D2として真偽フラグ設定回路5191にも与えられて
おり、この制御信号D2が0″の場合は真偽フラグ設定
回路5191において真偽フラグに条件判定結果(真ま
たは偽)が設定されて出力される。これらの処理要素に
おける処理の組合わせにより、たとえば入力パケットが
データ集合中の末尾データパケットである場合にのみ、
ノード番号の更新出力等の条件分岐命令、あるいは入力
バケツ・トがデータ集合中の末尾データである場合にの
み、真偽フラグに真の値(“1”)を設定して出力する
条件判定命令等が実行される。
In addition, the signal of the judgment result of the condition judgment circuit 5193 is also given to the truth/false flag setting circuit 5191 as a control signal D2, and when this control signal D2 is 0'', the truth/false flag is set to the truth/false flag in the truth/false flag setting circuit 5191. The judgment result (true or false) is set and output.By the combination of processing in these processing elements, for example, only when the input packet is the last data packet in the data set,
Conditional branching instructions such as updating and outputting node numbers, or conditional judgment instructions that set the truth flag to a true value (“1”) and output it only when the input bucket is the last data in the data set. etc. are executed.

次に第17図に示す如く、順序番号更新回路5203は
加算器にて、順序情報初期化回路5204は複数のAN
Dゲートにて構成されている。順序番号更新回路520
3は制御信号E1の制御により順序番号を1だけインク
リメントする順序番号更新命令を実行する。順序情報初
期化回路5204は制御信号E2の制御により順序番号
及び末尾番号を“0”にクリアする順序情報初期化命令
を実行する。また、末尾記号設定回路5201において
は、制御信号E4の制御により、末尾記号“l”を設定
する末尾記号設定命令が実行される。
Next, as shown in FIG. 17, the sequence number update circuit 5203 is an adder, and the sequence information initialization circuit 5204 is an
It is composed of D gate. Sequence number update circuit 520
3 executes a sequence number update command to increment the sequence number by 1 under the control of the control signal E1. The order information initialization circuit 5204 executes the order information initialization command to clear the order number and the end number to "0" under the control of the control signal E2. Furthermore, in the suffix setting circuit 5201, a suffix setting command for setting the suffix "l" is executed under the control of the control signal E4.

これらの種々の命令を組合わせたデータ駆動形のプログ
ラムを実行することにより、0から順に順序番号を付さ
れ、末尾データにのみ末尾記号を保持する順序情報を有
するデータのデータ集合を生成することが可能になる。
By executing a data-driven program that combines these various instructions, a data set of data that is sequentially numbered starting from 0 and has order information that retains a final symbol only in the last data is generated. becomes possible.

このようなデータ集合の生成は、プログラム実行によっ
て動的に実行可能であるため、各要素のデータを生成す
る処理の間に他の実行命令を適当に挿入すれば各要素相
互の生成間隔は自由に調整可能である。このようなデー
タ集合は、たとえば第4図に示す如きローカルメモリ5
05のようなデータ記憶回路から読出されて生成される
The generation of such a data set can be executed dynamically by program execution, so the generation interval between each element can be freely set by appropriately inserting other execution instructions between the processes that generate data for each element. It can be adjusted to Such a data set may be stored in a local memory 5 as shown in FIG. 4, for example.
It is generated by being read from a data storage circuit such as 05.

また、第13図における順序番号読出し回路5192で
は、制御信号E5の制御により、入力パケットが保持し
ている順序番号をパケットの2語目に読出す順序番号読
出し命令が実行される。このような命令の実行により、
データ集合の各要素のデータをその順序番号に従って、
たとえば第4図に示すローカルメモリ505の如きデー
タ記憶回路に書込むことが可能になる。
Further, in the sequence number reading circuit 5192 in FIG. 13, a sequence number read command for reading the sequence number held in the input packet as the second word of the packet is executed under the control of the control signal E5. By executing such an instruction,
The data of each element of the dataset is sorted according to its order number.
For example, it becomes possible to write to a data storage circuit such as local memory 505 shown in FIG.

以上のように、命令実行部EXEにおいて所定の処理が
実行されたパケットは、パケット更新回路532におい
てセレクションコードが(S2SISoll =″00
0” (行先はプログラム記憶部PM)に更新されて出
力される。
As described above, the packet for which the predetermined process has been executed in the instruction execution unit EXE has the selection code (S2SISoll=″00
0'' (destination is program storage unit PM) and output.

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

以上に詳述した如(、本発明のデータ駆動型データ処理
装置によれば、データ集合全体に同一の宛先情報を付し
たままで、その各要素のデータを順序情報で管理して所
定の順序で発火させることが可能になるので、たとえば
第20図に示す如きデータ集合と単一データとの演算、
たとえば配列データの全要素データの和を得るような処
理がプログラム通りに実行可能であり、更にデータ集合
所定の順序に従って連続的に読出して処理し、再度書込
むというような集合データ処理の効率が向上する。
As detailed above (according to the data-driven data processing device of the present invention), the data of each element is managed with order information and arranged in a predetermined order while the same destination information is attached to the entire data set. For example, operations on a data set and single data as shown in Fig. 20,
For example, processing such as obtaining the sum of all element data of array data can be executed according to the program, and furthermore, the efficiency of set data processing such as reading out a data set in a predetermined order, processing it, and writing it again can be improved. improves.

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

第1図は本発明のデータ駆動型データ処理装置を組込ん
だデータフロー計算器のシステム構成を示すブロック図
、第2図は本発明のデータ駆動型データ処理装置の概略
の構成を示すプロ、り図、第3図及び第4図は本発明の
データ駆動型データ処理装置の詳細な構成を示すブロッ
ク図、第5図。 第6図、第7図及び第8図は本発明のデータ駆動型デー
タ処理装置に使用されるデータパケットの構成を示す模
式図、第9図は本発明のデータ駆動型データ処理装置の
プログラム記憶手段の記憶形式を示す模式図、第10図
、第11図及び第12図はコード対照を示す模式図、第
13図は条件判定処理部及び制御処理部の詳細な構成を
示すブロック図、第14図は条件判定回路の回路図、第
15図は条件判定回路のコード対照を示す模式図、第1
6図はノード番号更新回路の構成を示す回路図、第17
図は順序番号更新回路及び順序情報初期化回路の構成を
示す回路図、第18図は対生成制御回路の構成を示すブ
ロック図、第19図はソーティング制御回路の構成を示
すブロック図、第20図は本発明装置にて処理されるデ
ータフロープログラムの一例を示す模式図である。 PM・・・プログラム記憶手段 NIF・・・ネットワ
ークインターフェイス  FC・・・発火制御手段 E
XE・・・命令実行手段  Q・・・キューメモリ40
5・・・データメモリ  407・・・ソーティングメ
モリ411・・・対生成制御回路 414・・・比較器
 415・・・ソーティング制御回路 505・・・ロ
ーカルメモリ  520・・・順序情報設定手段  4
110・・・発火制御論理回路4150・・・ソーティ
ングメモリ初期化回路  4151・・・ソーティング
メモリ初期化回路  5201・・・末尾記号設定回路
  5202・・・ノード番号更新回路  5203・
・・順序番号更新回路  5204・・・順序情報初期
化回路時 許 出願人  三洋電機株式会社 代理人 弁理士  河 野  登 失 策  1  図 Al 第  2  図 第  9  図 第  10  図 第  12  図 第15図 第  16  図
FIG. 1 is a block diagram showing the system configuration of a data flow calculator incorporating the data-driven data processing device of the present invention, and FIG. 2 is a block diagram showing the general configuration of the data-driven data processing device of the present invention. FIGS. 3 and 4 are block diagrams showing detailed configurations of the data-driven data processing apparatus of the present invention, and FIG. 6, 7, and 8 are schematic diagrams showing the structure of a data packet used in the data-driven data processing device of the present invention, and FIG. 9 is a program storage of the data-driven data processing device of the present invention. FIG. 10, FIG. 11 and FIG. 12 are schematic diagrams showing the code comparison, FIG. 13 is a block diagram showing the detailed configuration of the condition judgment processing section and the control processing section, and FIG. Figure 14 is a circuit diagram of the condition determination circuit, Figure 15 is a schematic diagram showing code comparison of the condition determination circuit, and Figure 1
Figure 6 is a circuit diagram showing the configuration of the node number update circuit, No. 17
18 is a block diagram showing the configuration of the pair generation control circuit, FIG. 19 is a block diagram showing the configuration of the sorting control circuit, and FIG. The figure is a schematic diagram showing an example of a data flow program processed by the apparatus of the present invention. PM...Program storage means NIF...Network interface FC...Fire control means E
XE... Instruction execution means Q... Queue memory 40
5... Data memory 407... Sorting memory 411... Pair generation control circuit 414... Comparator 415... Sorting control circuit 505... Local memory 520... Order information setting means 4
110... Firing control logic circuit 4150... Sorting memory initialization circuit 4151... Sorting memory initialization circuit 5201... End symbol setting circuit 5202... Node number update circuit 5203.
...Sequence number update circuit 5204...Sequence information initialization circuit Applicant Sanyo Electric Co., Ltd. Agent Patent attorney Noboru Kono Mistake 1 Figure Al Figure 2 Figure 9 Figure 10 Figure 12 Figure 15 16 Figure

Claims (1)

【特許請求の範囲】 1、演算処理対象のデータと、該データの宛先を示す宛
先情報とを含むデータパケットの内から発火制御手段に
より前記宛先情報が一致する二つのデータパケットを一
対の処理対象として検出し、両データパケットに含まれ
るデータに所定の処理を施すデータ駆動型データ処理装
置において、 同一の宛先情報を有する複数のデータにて構成されるデ
ータ集合内の各データのパケットに対して、各データの
順序を示す順序番号及び同一データ集合内での末尾の順
序であることを示す末尾記号にて構成される順序情報を
生成して付加する順序情報設定手段と、 データ集合の各データを格納し、それぞれのデータが格
納された際の順序情報と同一の順序情報をそれぞれのデ
ータの読出しに際して付加して出力するデータ記憶手段
とを備え、前記発火制御手段は、前記データ記憶手段か
ら読出された同一宛先情報を有するデータ集合の各デー
タをそれぞれの順序情報の一致を検出して所定の処理を
実行すべくなしてあると共に、その順序情報の一致の検
出を所定の順序に従って実行するための発火順序設定手
段を有することを特徴とするデータ駆動型データ処理装
置。 2、前記発火順序設定手段は、 順序番号を格納する順序情報記憶手段と、 データパケットに含まれる宛先情報及びデータを格納す
る待合わせ記憶手段と、 到着したデータパケットに含まれる順序情報と前記順序
情報記憶手段に格納されている順序情報とを比較する比
較手段と、 該比較手段による比較結果が一致した場合に、前記待合
わせ記憶手段にそのデータパケットのデータを書込む待
合わせメモリ制御手段と、 前記発火制御手段による一致検出が行われた場合に、前
記順序情報記憶手段の内容を所定の順序に従って更新す
る順序番号記憶手段更新手段と、 前記発火制御手段による比較結果が一致し、またそのデ
ータパケットに含まれる順序情報が末尾記号である場合
に、前記順序情報記憶手段の内容を初期化する順序番号
記憶手段初期化手段と を備えた請求項1記載のデータ駆動型データ処理装置。
[Scope of Claims] 1. Among data packets containing data to be processed and destination information indicating the destination of the data, two data packets whose destination information matches are selected as a pair of processing objects by firing control means. For each data packet in a data set consisting of multiple pieces of data having the same destination information, , an order information setting means for generating and adding order information consisting of a sequence number indicating the order of each data and a suffix indicating the last order within the same data set; and each data of the data set. and a data storage means for adding and outputting the same order information as the order information when each data was stored, when reading each data, the firing control means A predetermined process is executed by detecting the coincidence of order information of each data of the read data set having the same destination information, and detecting the coincidence of the order information is executed according to the predetermined order. 1. A data-driven data processing device, comprising firing order setting means for setting the firing order. 2. The firing order setting means includes: an order information storage means for storing a sequence number; a waiting storage means for storing destination information and data included in a data packet; and order information included in an arrived data packet and the order. a comparison means for comparing the order information stored in the information storage means; and a reservation memory control means for writing the data of the data packet in the reservation storage means when the comparison result by the comparison means matches. , when a match is detected by the firing control means, a sequence number storage means updating means for updating the contents of the sequence information storage means according to a predetermined order; and a comparison result by the firing control means coincide; 2. The data-driven data processing apparatus according to claim 1, further comprising sequence number storage means initialization means for initializing the contents of said sequence information storage means when sequence information included in a data packet is a final symbol.
JP3776388A 1988-02-19 1988-02-19 Data driven data processor Expired - Fee Related JP2594093B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3776388A JP2594093B2 (en) 1988-02-19 1988-02-19 Data driven data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3776388A JP2594093B2 (en) 1988-02-19 1988-02-19 Data driven data processor

Publications (2)

Publication Number Publication Date
JPH01211126A true JPH01211126A (en) 1989-08-24
JP2594093B2 JP2594093B2 (en) 1997-03-26

Family

ID=12506510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3776388A Expired - Fee Related JP2594093B2 (en) 1988-02-19 1988-02-19 Data driven data processor

Country Status (1)

Country Link
JP (1) JP2594093B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992015960A1 (en) * 1991-03-05 1992-09-17 Hajime Seki Electronic computer system and processor elements used for this system
US5765014A (en) * 1993-10-12 1998-06-09 Seki; Hajime Electronic computer system and processor element for processing in a data driven manner using reverse polish notation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992015960A1 (en) * 1991-03-05 1992-09-17 Hajime Seki Electronic computer system and processor elements used for this system
US5765014A (en) * 1993-10-12 1998-06-09 Seki; Hajime Electronic computer system and processor element for processing in a data driven manner using reverse polish notation

Also Published As

Publication number Publication date
JP2594093B2 (en) 1997-03-26

Similar Documents

Publication Publication Date Title
US4507728A (en) Data processing system for parallel processing of different instructions
US6289433B1 (en) Superscalar RISC instruction scheduling
US6728845B2 (en) SRAM controller for parallel processor architecture and method for controlling access to a RAM using read and read/write queues
KR0133238B1 (en) Computer processing system and instruction execution method
EP0213842A2 (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
EP0312764A2 (en) A data processor having multiple execution units for processing plural classes of instructions in parallel
US20060069882A1 (en) Memory controller for processor having multiple programmable units
EP0491693B1 (en) Improved cpu pipeline having register file bypass on update/access address compare
TW200409023A (en) Synchronisation between pipelines in a data processing apparatus
JPH0786845B2 (en) Data processing device
US6003126A (en) Special instruction register including allocation field utilized for temporary designation of physical registers as general registers
JPH0553803A (en) Processor
JP3155519B2 (en) Method and apparatus for processing a store instruction in a superscalar processor
JP2008181551A (en) Vector tailgating for computer provided with vector register
CA2304609A1 (en) Autonomously cycling data processing architecture
US7269716B2 (en) Processor to efficiently rename decoded condition codes and instruction control method thereof
JP2933027B2 (en) Multiple instruction parallel issue / execution management device
US11847455B2 (en) Clearing register data using a write enable signal
JPH01211126A (en) Data driving type data processor
HUT75816A (en) Method of operation of a system for processing information, as well as the processing system
JP2594092B2 (en) Data driven data processor
JP2630779B2 (en) Data driven data processor
JP2594091B2 (en) Data driven data processor
US6104731A (en) Method and apparatus for data forwarding in a processor having a dual banked register set
JPH0764790A (en) System and method for processing of operation

Legal Events

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