JP2579185B2 - Data flow program execution control method - Google Patents
Data flow program execution control methodInfo
- Publication number
- JP2579185B2 JP2579185B2 JP63031560A JP3156088A JP2579185B2 JP 2579185 B2 JP2579185 B2 JP 2579185B2 JP 63031560 A JP63031560 A JP 63031560A JP 3156088 A JP3156088 A JP 3156088A JP 2579185 B2 JP2579185 B2 JP 2579185B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- data packet
- destination
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Multi Processors (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] [従来の技術] 第6図にデータ駆動型情報処理装置の一例であるブロ
ック構成図を示す。また、第7図に同情報処理装置にお
けるデータパケットのフィールド構成例を示す。さら
に、第8図にプログラム記憶手段における記憶内容のフ
ィールド構成の一部を示す。DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] [Prior Art] FIG. 6 is a block diagram showing an example of a data driven type information processing apparatus. FIG. 7 shows a field configuration example of a data packet in the information processing apparatus. FIG. 8 shows a part of the field configuration of the stored contents in the program storage means.
第7図のデータパケットの行先フィールドには行先情
報が格納され、命令フィールドには命令情報が格納さ
れ、データ1フィールドまたはデータ2フィールドには
オペランドデータが格納される。第6図の情報処理装置
は、プログラム記憶手段1、データ対生成手段2および
演算処理手段3を含む。プログラム記憶手段1には、第
8図に示すデータフロープログラムが記憶されている。
このプログラム記憶手段1は、第7図における入力デー
タパケットの行先情報に基づいたアドレス指定によっ
て、第8図に示すように、次位の行先情報、次位の命令
情報およびコピー有/無情報を読出し、その行先情報お
よび命令情報を入力データパケットの行先フィールドお
よび命令フィールドに格納して出力する。データ対生成
手段2は、プログラム記憶手段1から出力されるデータ
パケットの待ち合わせを行なう。すなわち、行先情報が
一致する異なる2つのデータパケットの検出を行ない、
行先情報が一致する2つのデータパケットのうちの一方
のデータパケットのオペランドデータ、たとえば第7図
におけるデータ1フィールドの内容を他方のデータパケ
ットのデータ2フィールドに格納して出力する。演算処
理手段3は、データ対生成手段2から出力されるデータ
パケットに対して所定の演算処理を施し、その結果をそ
のデータパケットのデータ1フィールドに格納して上記
プログラム記憶手段1に出力する。The destination field of the data packet shown in FIG. 7 stores destination information, the instruction field stores instruction information, and the data 1 field or the data 2 field stores operand data. 6 includes a program storage unit 1, a data pair generation unit 2, and an arithmetic processing unit 3. The program storage means 1 stores a data flow program shown in FIG.
As shown in FIG. 8, the program storage means 1 stores the next destination information, the next instruction information, and the copy presence / absence information by address designation based on the destination information of the input data packet in FIG. It reads and stores the destination information and the instruction information in the destination field and the instruction field of the input data packet and outputs them. The data pair generation unit 2 waits for a data packet output from the program storage unit 1. That is, two different data packets having the same destination information are detected,
The operand data of one of the two data packets having the same destination information, for example, the contents of the data 1 field in FIG. 7 are stored in the data 2 field of the other data packet and output. The arithmetic processing means 3 performs a predetermined arithmetic processing on the data packet output from the data pair generating means 2, stores the result in the data 1 field of the data packet, and outputs the result to the program storage means 1.
なお、プログラム記憶手段1とデータ対生成手段2と
はデータ伝送路4,5により結合されており、データ対生
成手段2と演算処理手段3とはデータ伝送路6により結
合されている。また、演算処理手段3とプログラム記憶
手段1とはデータ伝送路7により結合されている。The program storage means 1 and the data pair generation means 2 are connected by data transmission paths 4 and 5, and the data pair generation means 2 and the arithmetic processing means 3 are connected by a data transmission path 6. The arithmetic processing means 3 and the program storage means 1 are connected by a data transmission path 7.
データパケットがプログラム記憶手段1→データ対生
成手段2→演算処理手段3→プログラム記憶手段1→…
と回り続けることにより、プログラム記憶手段1に記憶
されたデータフロープログラムに基づいて演算処理が進
行する。The data packet is stored in the program storage means 1 → data pair generation means 2 → operation processing means 3 → program storage means 1 →.
The calculation process proceeds based on the data flow program stored in the program storage means 1.
実行すべきデータフロープログラムにおいて、第9図
に示すようにデータのコピーが必要とされる場合、すな
わち、或る演算結果たとえば第9図における加算命令の
出力が2個以上の他の演算、たとえば第9図における乗
算および減算命令によって参照されるような場合、コピ
ー処理はプログラム記憶手段1において行なわれる。第
8図に示すように、プログラム記憶手段1にはコピー有
/無情報が記憶されている。まず、入力されたデータパ
ケットの行先情報に基づきアドレス指定された部分の内
容が読出される。このとき、コピー有/無情報が「無」
であれば、行先フィールドおよび命令フィールドの内容
が更新されたデータパケットが出力されて処理は終了す
る。一方、コピー有/無情報が「有」であれば、行先フ
ィールドおよび命令フィールドの内容が更新されたデー
タパケットが出力されるとともに、続いて記憶されてい
る行先情報、命令情報およびコピー有/無情報が読出さ
れる。引き続いて読出されたコピー有/無情報が「無」
であれば、データ1フィールドに入力データパケットと
同一の結果データを格納しかつ行先フィールドおよび命
令フィールドに現在読出された各情報を格納したデータ
パケットが出力されて処理は終了する。引き続いて読出
されたコピー有/無情報が「有」であれば、さらに続け
て同様にコピー処理が行なわれる。In the data flow program to be executed, when data copying is required as shown in FIG. 9, that is, when a certain operation result, for example, the output of the addition instruction in FIG. In such a case as referred to by the multiplication and subtraction instructions in FIG. As shown in FIG. 8, copy presence / absence information is stored in the program storage means 1. First, the contents of the addressed portion are read based on the destination information of the input data packet. At this time, the copy presence / absence information is "No"
If so, the data packet in which the contents of the destination field and the instruction field are updated is output, and the process ends. On the other hand, if the copy presence / absence information is “present”, a data packet in which the contents of the destination field and the instruction field are updated is output, and the destination information, the instruction information and the copy presence / absence stored subsequently are stored. The information is read. The subsequently read copy presence / absence information is "No"
If so, the same result data as the input data packet is stored in the data 1 field, and the data packet storing the currently read information in the destination field and the instruction field is output, and the process ends. If the subsequently read copy presence / absence information is “present”, the copy process is further continued.
第10図に従来の選択構造を含むデータフロープログラ
ムの一例を示す。第10図において、N1〜N7はノードであ
る。D1〜D7は各ノードのノード番号、すなわち行先情報
である。op1、op2、TG、FG、op5〜op7は各ノードのオペ
レーションコード、すなわち命令情報である。但し、op
2は条件判定命令であり、入力データに応じた条件判定
結果を「真」/「偽」として出力する。TGは右入力デー
タが「真」のとき左入力データをそのまま出力し、
「偽」のとき何も出力しない、すなわちその入力データ
対を吸収する機能を有する。逆に、FGは右入力データが
「偽」のとき左入力データをそのまま出力し、「真」の
とき何も出力しない、すなわちその入力データ対を吸収
する機能を有する。したがって、第10図は、ノードN2の
出力が「真」のときノードN5、「偽」のときノードN6お
よびN7を、選択的に実行する構造を表わしている。FIG. 10 shows an example of a data flow program including a conventional selection structure. In FIG. 10, N1 to N7 are nodes. D1 to D7 are node numbers of each node, that is, destination information. op1, op2, TG, FG, and op5 to op7 are operation codes of each node, that is, instruction information. However, op
Reference numeral 2 denotes a condition determination instruction, which outputs a condition determination result according to input data as “true” / “false”. TG outputs the left input data as it is when the right input data is "true",
It has a function of outputting nothing when "false", that is, absorbing the input data pair. Conversely, the FG has a function of outputting the left input data as it is when the right input data is "false" and outputting nothing when the right input data is "true", that is, has a function of absorbing the input data pair. Accordingly, FIG. 10 shows a structure in which the node N5 is selectively executed when the output of the node N2 is "true", and the nodes N6 and N7 are selectively executed when the output is "false".
第11図に、第10図に示すデータフロープログラムに対
応するプログラム記憶手段1の記憶内容を示す。FIG. 11 shows the contents stored in the program storage means 1 corresponding to the data flow program shown in FIG.
第10図および第11図を用いて従来の選択構造の実行制
御方式について説明する。まず、ノードN1の演算結果に
対応するデータパケットが演算処理手段3から出力さ
れ、データ伝送路7を通りプログラム記憶手段1に入力
された場合を想定する。プログラム記憶手段1におい
て、その入力データパケットが有している行先情報D1に
基づくアドレス指定によって、第11図に示す記憶内容が
読出され、行先情報D3、命令情報TGおよびコピー有/無
情報「有」が得られる。この場合、プログラム記憶手段
1は、その行先情報および命令情報を持つ次位のデータ
パケットを出力するとともに、コピー有/無情報が
「有」であるため、D1が指定するアドレスの次のアドレ
スを指定することによりコピー情報、すなわち次位の行
先情報D4、次位の命令情報FGおよび次位のコピー有/無
情報「無」を読出し、次位の行先情報および次位の命令
情報を持つコピーに対応するデータパケットを生成し出
力する。プログラム記憶手段1から出力される前記デー
タパケットはデータ対生成手段2に入力される。同様
に、ノードN2の条件判定結果に従ってデータとして
「真」/「偽」を持つデータパケットもプログラム記憶
手段1において行先情報および命令情報が更新され、行
先情報D3および命令情報TGを持つデータパケットおよび
行先情報D4および命令情報FGを持つデータパケットが生
成された後データ対生成手段2に入力される。データ対
生成手段2においてノードN3およびN4に対するデータ対
が生成され、それぞれ演算処理手段3に入力される。も
し、ノードN2の状態判定結果が「真」であれば、演算処
理手段3において、ノードN3、すなわちTGに対応する入
力データパケットはそのまま演算処理手段3を通過し、
ノードN4、すなわちFGに対応する入力データパケットは
演算処理手段3によって吸収され、演算処理手段3から
は何も出力されない。したがって、ノードN3の行先にあ
たるノードN5は引き続いて実行されるが、ノードN4の行
先にあたるノードN6およびノードN7には入力データが到
着せず、実行されない。すなわち、ノードN5と、ノード
N6およびノードN7とに対する選択的な実行を実現してい
る。A conventional execution control method of the selection structure will be described with reference to FIG. 10 and FIG. First, it is assumed that a data packet corresponding to the operation result of the node N1 is output from the operation processing unit 3 and input to the program storage unit 1 through the data transmission path 7. In the program storage unit 1, the storage contents shown in FIG. 11 are read out by the address designation based on the destination information D1 of the input data packet, and the destination information D3, the instruction information TG, and the copy presence / absence information “Yes” Is obtained. In this case, the program storage unit 1 outputs the next data packet having the destination information and the instruction information, and sets the next address of the address specified by D1 because the copy presence / absence information is “present”. By specifying, copy information, that is, the next destination information D4, the next instruction information FG and the next copy presence / absence information “absent” are read, and a copy having the next destination information and the next instruction information is read. Generates and outputs a data packet corresponding to. The data packet output from the program storage unit 1 is input to the data pair generation unit 2. Similarly, in the data packet having "true" / "false" as data according to the condition determination result of the node N2, the destination information and the instruction information are updated in the program storage means 1, and the data packet having the destination information D3 and the instruction information TG is updated. After a data packet having destination information D4 and instruction information FG is generated, the data packet is input to the data pair generation means 2. The data pair generation means 2 generates data pairs for the nodes N3 and N4, and inputs the data pairs to the arithmetic processing means 3, respectively. If the state determination result of the node N2 is “true”, the input data packet corresponding to the node N3, that is, the TG, passes through the arithmetic processing unit 3 as it is in the arithmetic processing unit 3,
The input data packet corresponding to the node N4, that is, the FG, is absorbed by the arithmetic processing means 3, and nothing is output from the arithmetic processing means 3. Therefore, the node N5 corresponding to the destination of the node N3 is continuously executed, but the input data does not arrive at the nodes N6 and N7 corresponding to the destination of the node N4, so that the node N5 is not executed. That is, the node N5 and the node
Selective execution for N6 and node N7 is realized.
逆に、ノードN2の条件判定結果が「偽」であれば、ノ
ードN3に対応する入力データパケットは演算処理手段3
によって吸収され、演算処理手段3からは何も出力され
ず、ノードN4に対応する入力データパケットはそのまま
演算処理手段3を通過することにより、ノードN5と、ノ
ードN6およびノードN7とに対する選択的な実行を実現し
ている。Conversely, if the condition determination result of the node N2 is “false”, the input data packet corresponding to the node N3 is
And the input data packet corresponding to the node N4 passes through the arithmetic processing means 3 as it is, thereby selectively selecting the node N5 and the nodes N6 and N7. Execution has been realized.
このように、データフロープログラムの従来の選択的
実行は、演算処理手段3によるデータパケットの吸収に
よって実現されている。As described above, the conventional selective execution of the data flow program is realized by the data processing unit 3 absorbing the data packet.
[発明が解決しようとする課題] 上記の従来の選択構造の実行制御方式では、第10図に
示すように、被選択データおよび選択条件を表わす
「真」/「偽」のデータのコピーの実行と、TGおよびFG
をオペレーションコードとする2個のノードの実行とが
必要になり、選択構造を1個のノードで実現する場合に
比べて、データフロープログラムの実行効率が1/2に低
下する。さらにまた、こうした問題を解決する上で、パ
ケット形式についての制約などはできるだけ少なくする
ことが望ましい。[Problems to be Solved by the Invention] In the above-described conventional execution control system of a selection structure, as shown in FIG. 10, execution of copying of "true" / "false" data representing selected data and selection conditions. And TG and FG
Is required to execute two nodes with the operation code of, and the execution efficiency of the data flow program is reduced by half compared to the case where the selection structure is realized by one node. Furthermore, in order to solve such a problem, it is desirable to reduce restrictions on the packet format as much as possible.
[課題を解決するためのの手段] この発明に係るデータフロープログラムの実行制御方
式は、所定の条件によって実行すべき命令群を選択する
選択構造を含むデータフロープログラム上において、TG
およびFGをオペレーションコードとする2個のノードが
実現する選択機能を1個の次位のノードを用いて表現
し、演算処理手段において入力される次位のノードに対
するデータパケットの行先情報を前記所定の条件に基づ
いて操作することによって、そのデータパケットの行先
を選択的に指定するものである。所定の条件に従って、
被選択データに対して実行される命令群が選択される選
択構造を含むデータフロープログラムを実行する場合
に、条件データを含むデータパケットによってアクセス
されるプログラム記憶手段の領域、および被選択データ
を含むデータパケットによってアクセスされるプログラ
ム記憶手段の領域に、それぞれ、同一の行先情報およ
び、条件データの内容に従って行先情報に所定の操作を
施すことを内容とする、同一の令情報を記憶させる。命
令情報は、条件データに基づいて選択される2つの行先
の間の相対的位置情報を含む。演算処理手段において、
入力されたデータパケットの命令情報が上記した選択構
造に相当する命令情報である場合には、条件データの内
容に応じて当該データパケットの行先情報、または当該
データパケットの行先情報に相対的位置情報を加算した
行先情報、のいずれかを選択して、当該データパケット
の行先を指定する。[Means for Solving the Problems] An execution control method for a data flow program according to the present invention is a method for controlling execution of a TG on a data flow program including a selection structure for selecting an instruction group to be executed according to a predetermined condition.
And the selection function realized by the two nodes having the operation code of FG is represented by one next node, and the destination information of the data packet for the next node input to the arithmetic processing means is inputted to the predetermined node. By operating on the basis of the above condition, the destination of the data packet is selectively designated. According to the prescribed conditions,
When executing a data flow program including a selection structure in which an instruction group to be executed on selected data is selected, an area of program storage means accessed by a data packet including condition data, and including selected data In the area of the program storage means accessed by the data packet, the same destination information and the same instruction information, which is to perform a predetermined operation on the destination information in accordance with the contents of the condition data, are stored. The instruction information includes relative position information between two destinations selected based on the condition data. In the arithmetic processing means,
If the instruction information of the input data packet is instruction information corresponding to the above-described selection structure, the relative position information is added to the destination information of the data packet or the destination information of the data packet according to the content of the condition data. Is selected, and the destination of the data packet is specified.
[作用] 上記の実行制御方式を採用することにより、従来の選
択構造の実現のために必要であった被選択データおよび
選択条件を表わす「真」/「偽」データのコピーの実行
が不要になり、さらに、TGおよびFGをオペレーションコ
ードとする2個のノードが実現する機能と等価な機能が
1個のノードにより実現される。このため、情報処理装
置上を流れる本来不要なデータ量を削減できるととも
に、実行命令数も削減でき、データフロープログラムの
実行効率を高めることができる。さらに実行命令数の削
減により、プログラム記憶手段の記憶容量の有効利用も
図れる。また、命令情報に、一方の行先情報と、選択さ
れる2つの行先の間の相対的位置情報を含むだけであ
り、行先の位置情報そのものを含むわけではないので、
2つの行先を指定するための情報を格納するための領域
が少なくてすむ。[Operation] By adopting the above-described execution control method, it is not necessary to execute the copying of the "true" / "false" data representing the selected data and the selection condition, which is necessary for realizing the conventional selection structure. Furthermore, a function equivalent to a function realized by two nodes using TG and FG as operation codes is realized by one node. For this reason, the amount of originally unnecessary data flowing on the information processing device can be reduced, the number of executed instructions can be reduced, and the execution efficiency of the data flow program can be increased. Further, by reducing the number of executed instructions, the storage capacity of the program storage unit can be effectively used. Also, since the command information only includes one destination information and the relative position information between the two selected destinations, it does not include the position information of the destination itself.
An area for storing information for designating two destinations is small.
[実施例] 以下、実施例に基づいてこの発明を詳細に説明する。EXAMPLES Hereinafter, the present invention will be described in detail based on examples.
この発明の一実施例における情報処理装置のブロック
構成図は、第6図に示す従来例におけるブロック構成図
と同一である。また、この実施例におけるデータパケッ
トのフィールド構成およびプログラム記憶手段1におけ
る記憶内容のフィールド構成もそれぞれ第7図および第
8図に示す従来例の場合と同様である。The block diagram of the information processing apparatus according to one embodiment of the present invention is the same as the block diagram of the conventional example shown in FIG. The field configuration of the data packet and the field configuration of the storage contents in the program storage means 1 in this embodiment are the same as those in the conventional example shown in FIGS. 7 and 8, respectively.
第1図にこの実施例における選択構造を含むデータフ
ロープログラムの変換規則を示す。第1図においてnは
従来例におけるTGをオペレーションコードとするノード
の出力のコピー数、すなわちそのノードから出力される
データパケットが何個の行先を持つかを表わす数であ
る。第1図においてSWn(n=1,2,3,…)をオペレーシ
ョンコードとするノードは、TGおよびFGをオペレーショ
ンコードとする2個のノードの機能を論理的に複合した
機能を有する。すなわち、SWnをオペレーションコード
とするノードは、右入力データが「真」のとき左入力デ
ータを左出力にそのまま出力して右出力には何も出力せ
ず、逆に、右入力データが「偽」のとき左入力データを
右出力にそのまま出力して左出力には何も出力しない機
能を有する。オペレーションコードSWnはその左出力の
コピー数に応じて個々に設定される。FIG. 1 shows a conversion rule of a data flow program including a selection structure in this embodiment. In FIG. 1, n is the number of copies of the output of the node having the TG as the operation code in the conventional example, that is, a number representing the number of destinations of the data packet output from the node. In FIG. 1, a node having an operation code of SWn (n = 1, 2, 3,...) Has a logically complex function of two nodes having operation codes of TG and FG. That is, when the right input data is “true”, the node having the operation code SWn outputs the left input data as it is to the left output and outputs nothing to the right output, and conversely, the right input data is “false”. "", The function has the function of outputting the left input data to the right output as it is and outputting nothing to the left output. The operation code SWn is individually set according to the number of copies of the left output.
第2図に、この実施例における選択構造を含むデータ
フロープログラムの例を示す。但し、簡単のため、まず
従来例においてTGをオペレーションコードとするノード
の出力がコピーされていない場合、すなわちn=1の場
合について説明する。第2図は、第10図に示す従来例に
おける選択構造を含むデータフロープログラムに対し
て、n=1として第1図に示す変換規則を適用したもの
である。FIG. 2 shows an example of a data flow program including a selection structure in this embodiment. However, for the sake of simplicity, a case where the output of a node having an operation code of TG is not copied in the conventional example, that is, a case where n = 1 will be described. FIG. 2 shows an example in which the conversion rule shown in FIG. 1 is applied to a data flow program including a selection structure in the conventional example shown in FIG. 10 with n = 1.
第3図に、第2図に示すデータフロープログラムに対
応するプログラム記憶手段1の記憶内容の例を示す。第
3図において、行先情報D8が指定するアドレスには、SW
1をオペレーションコードとするノードN8の左出力の行
先に関する情報が記憶されている。さらに、D8が指定す
るアドレスの次のアドレス、すなわちD8+1が指定する
アドレス以降にはSW1をオペレーションコードとするノ
ードN8の右出力の行先に関する情報が記憶されている。FIG. 3 shows an example of the storage contents of the program storage means 1 corresponding to the data flow program shown in FIG. In FIG. 3, the address specified by the destination information D8 is SW
Information regarding the destination of the left output of the node N8 having an operation code of 1 is stored. Further, after the address specified by D8, that is, after the address specified by D8 + 1, information on the right output destination of the node N8 having SW1 as the operation code is stored.
次に、この実施例における選択構造の実行制御方式に
ついて説明する。まず、ノードN1の演算結果に対応する
データパケットが演算処理手段3から出力され、データ
伝送路7を通りプログラム記憶手段1に入力された場合
を想定する。プログラム記憶手段1において、その入力
データパケットが有している行先情報D1に基づくアドレ
ス指定によって、第3図に示す記憶内容が読出され、行
先情報D8、命令情報SW1およびコピー有/無情報「無」
が得られる。この場合、コピー有/無情報が「無」であ
るため、プログラム記憶手段1は、その行先情報および
命令情報を持つ次位のデータパケットのみを出力する。
プログラム記憶手段1から出力される前記データパケッ
トはデータ対生成手段2に入力される。同様に、ノード
N2の条件判定結果に従ってデータとして「真」/「偽」
を持つデータパケットは、プログラム記憶手段1におい
て行先情報および命令情報がそれぞれD8およびSW1に更
新された後、データ対生成手段2に入力される。データ
対生成手段2において、SW1をオペレーションコードと
するノードN8に対するデータ対が生成され、演算処理手
段3に入力される。もし、ノードN2の条件判定結果が
「真」であれば、演算処理手段3において、ノードN8、
すなわちSW1に対応する左入力データパケットはそのま
ま演算処理手段3から出力され、再びプログラム記憶手
段1に入力される。プログラム記憶手段1に対するその
入力データパケットは行先情報D8を有しているため、プ
ログラム記憶手段1においてその行先情報D8に基づくア
ドレス指定によって、次位の行先情報D5、命令情報op5
およびコピー有/無情報「無」が読出され、次位の行先
情報D5、命令情報op5を持つデータパケットが出力され
る。これは、ノードN8の左入力データパケットがデータ
フロープログラム上におけるノードN8の左出力に選択的
に出力されることを意味している。逆に、ノードN2の条
件判定結果が「偽」であれば、演算処理手段3におい
て、ノードN8、すなわちSW1に対応する入力データパケ
ットの行先情報は1を加算されてD8+1に更新された
後、演算処理手段3から出力され、再びプログラム記憶
手段1に入力される。プログラム記憶手段1に対するそ
の入力データパケットは行先情報D8+1を有しているた
め、プログラム記憶手段1においてその行先情報D8+1
に基づくアドレス指定によって、次位の行先情報D6、命
令情報op6およびコピー有/無情報「有」が読出され、
次位の行先情報D6、命令情報op6を持つデータパケット
が出力される。さらに、上記コピー有/無情報が「有」
であるため、引き続いてコピー処理が実行され、行先情
報D7、命令情報op7を持つデータパケットが出力され
る。これは、ノードN8の左入力データパケットがデータ
フロープログラム上におけるノードN8の右出力に選択的
に出力されることを意味している。Next, an execution control method of the selection structure in this embodiment will be described. First, it is assumed that a data packet corresponding to the operation result of the node N1 is output from the operation processing unit 3 and input to the program storage unit 1 through the data transmission path 7. In the program storage means 1, by specifying the address based on the destination information D1 of the input data packet, the storage contents shown in FIG. 3 are read out, and the destination information D8, the instruction information SW1, and the copy presence / absence information "None""
Is obtained. In this case, since the copy presence / absence information is "absence", the program storage means 1 outputs only the next data packet having the destination information and the instruction information.
The data packet output from the program storage unit 1 is input to the data pair generation unit 2. Similarly, the node
"True" / "False" as data according to the condition judgment result of N2
After the destination information and the instruction information are updated to D8 and SW1, respectively, in the program storage unit 1, the data packet having is stored in the data pair generation unit 2. The data pair generation means 2 generates a data pair for the node N8 having SW1 as an operation code, and inputs the data pair to the arithmetic processing means 3. If the condition determination result of the node N2 is “true”, the arithmetic processing means 3
That is, the left input data packet corresponding to SW1 is output from the arithmetic processing means 3 as it is, and is again input to the program storage means 1. Since the input data packet to the program storage means 1 has the destination information D8, the next destination information D5 and the instruction information op5 are designated in the program storage means 1 by addressing based on the destination information D8.
And the presence / absence of copy information “absence” is read out, and a data packet having the next destination information D5 and instruction information op5 is output. This means that the left input data packet of the node N8 is selectively output to the left output of the node N8 on the data flow program. Conversely, if the condition determination result of the node N2 is “false”, the arithmetic processing means 3 adds 1 to the destination information of the input data packet corresponding to the node N8, that is, SW1, and updates the destination information to D8 + 1. It is output from the arithmetic processing means 3 and input to the program storage means 1 again. Since the input data packet to the program storage means 1 has the destination information D8 + 1, the destination data D8 + 1 is stored in the program storage means 1.
The next destination information D6, instruction information op6 and copy presence / absence information "present" are read out by the address designation based on
A data packet having the next-order destination information D6 and instruction information op6 is output. Furthermore, if the above copy presence / absence information is “Yes”
Therefore, a copy process is subsequently performed, and a data packet having destination information D7 and instruction information op7 is output. This means that the left input data packet of the node N8 is selectively output to the right output of the node N8 on the data flow program.
次に、従来例においてTGをオペレーションコードとす
るノードの出力がコピーされている場合について説明す
る。Next, a case where the output of a node having an operation code of TG in the conventional example is copied will be described.
第4図に、この実施例における選択構造を含むデータ
フロープログラムの他の例を示す。第4図において、従
来例におけるTGをオペレーションコードとするノードの
出力、すなわちこの実施例における選択命令を表わすノ
ードの左出力はコピーされており、コピー数はn=2で
ある。したがって、上記選択命令を表わすノードのオペ
レーションコードはSW2となる。FIG. 4 shows another example of the data flow program including the selection structure in this embodiment. In FIG. 4, the output of a node having an operation code of TG in the conventional example, that is, the left output of the node representing the selection instruction in this embodiment is copied, and the number of copies is n = 2. Therefore, the operation code of the node representing the selection instruction is SW2.
第5図に、第4図に示すデータフロープログラムに対
応するプログラム記憶手段1の記憶内容の例を示す。ノ
ードN9の左出力の行先がコピーされているため、第5図
において行先情報D9が指定するアドレスとその次のアド
レス(D9+1)にはSW2をオペレーションコードとする
ノードN9の左出力の行先に関する情報が記憶されてい
る。さらにその次のアドレス(D9+2)以後にはSW2を
オペレーションコードとするノードN9の右出力の行先に
関する情報が記憶されている。FIG. 5 shows an example of contents stored in the program storage means 1 corresponding to the data flow program shown in FIG. Since the destination of the left output of the node N9 is copied, the address specified by the destination information D9 and the next address (D9 + 1) in FIG. Is stored. Further, after the next address (D9 + 2), information on the destination of the right output of the node N9 having the operation code of SW2 is stored.
データ対生成手段2においてSW2をオペレーションコ
ードとするノードN9に対するデータ対が生成され、演算
処理手段3に入力されるまでの動作は、上記のSW2をオ
ペレーションコードとするノードの出力がコピーされて
いない場合と同様である。ノードN2の条件判定結果が
「真」であれば、SW2をオペレーションコードとするノ
ードの出力がコピーされていない場合と同様に、演算処
理手段3において、ノードN9、すなわちSW2に対応する
左入力データパケットはそのまま演算処理手段3から出
力され、再びプログラム記憶手段1に入力される。プロ
グラム記憶手段1に対する入力データパケットは行先情
報D9を有しているため、プログラム記憶手段1において
その行先情報D9に基づくアドレス指定によって、ノード
N5およびノードN5′に対応する入力データパケットが生
成される。逆に、ノードN2の条件判定結果が「偽」であ
れば、演算処理手段3において、ノードN9、すなわちSW
2に対応する入力データパケットの行先情報は2を加算
されてD9+2に更新された後、演算処理手段3から出力
され、再びプログラム記憶手段1に入力される。プログ
ラム記憶手段1に対する入力データパケットは行先情報
D9+2を有しているため、プログラム記憶手段1におい
てその行先情報D9+2に基づくアドレス指定によって、
ノードN6およびノードN7に対する入力データパケットが
生成される。In the operation until the data pair generation means 2 generates a data pair for the node N9 having SW2 as the operation code and inputs the data pair to the arithmetic processing means 3, the output of the node having SW2 as the operation code is not copied. Same as in the case. If the condition determination result of the node N2 is “true”, the arithmetic processing means 3 causes the node N9, that is, the left input data corresponding to SW2 to The packet is output from the arithmetic processing means 3 as it is, and is again input to the program storage means 1. Since the input data packet to the program storage means 1 has the destination information D9, the address designation based on the destination information D9 in the program storage means 1 causes the
Input data packets corresponding to N5 and node N5 'are generated. Conversely, if the condition determination result of the node N2 is “false”, the arithmetic processing means 3 causes the node N9, ie, SW
The destination information of the input data packet corresponding to 2 is updated to D9 + 2 by adding 2, and then output from the arithmetic processing means 3 and input again to the program storage means 1. The input data packet to the program storage means 1 is the destination information
D9 + 2, the program storage means 1 specifies the address based on the destination information D9 + 2,
Input data packets for nodes N6 and N7 are generated.
以上は、選択命令をオペレーションコードとするノー
ドの左出力がコピーされていない場合と、コピーされて
2個のノードに入力される場合、すなわちコピー数がN
=1およびN=2の場合について説明したが、選択命令
をオペレーションコードとするノードの左出力がコピー
され、任意のn個のノードに入力される場合についても
同様であり、SWnをオペレーションコードとしたノード
の入力データパケットの右入力データが「偽」の場合
に、演算処理手段3において入力データパケットの行先
情報の値をnだけ加算したものに更新し、演算処理手段
3から出力することにより選択構造の実行を実現するこ
とができる。The above is the case where the left output of a node having a selection instruction as an operation code is not copied, and the case where the left output is copied and input to two nodes, that is, the number of copies is N
= 1 and N = 2, the same applies to the case where the left output of a node whose operation code is a selection instruction is copied and input to any of n nodes. When the right input data of the input data packet of the set node is “false”, the arithmetic processing means 3 updates the value of the destination information of the input data packet by adding n and outputs it from the arithmetic processing means 3 Implementation of the selection structure can be realized.
[発明の効果] 以上詳細に説明したように、データ駆動型情報処理装
置においてこの発明による選択構造実行制御方式を採用
すれば、従来に比べて、コピー数の削減および実行命令
数の削減が図られ、データフロープログラムの実行効率
が高められる。さらに、実行命令数の削減により、プロ
グラム記憶手段の記憶容量の有効利用も図られる。ま
た、命令情報に、2つの行先の間の相対的位置情報を含
むだけで、選択構造の両方の行先のいずれをも指定する
ことが可能となり、2つの行先情報をそのまま記憶する
場合と比較して、必要とされる記憶領域が少なくてす
む。そのためデータパケットのパケット形式を従来のも
のと同様にできる上、行先を定めるために複雑な処理を
行なう必要もない。[Effects of the Invention] As described above in detail, if the selective structure execution control method according to the present invention is employed in the data driven type information processing apparatus, the number of copies and the number of executed instructions can be reduced as compared with the related art. Thus, the execution efficiency of the data flow program is improved. Further, by reducing the number of executed instructions, the storage capacity of the program storage unit can be effectively used. Also, by simply including the relative position information between the two destinations in the instruction information, it is possible to specify both of the two destinations in the selection structure, which is compared with the case where the two destination information are stored as they are. Therefore, the required storage area is small. Therefore, the packet format of the data packet can be the same as that of the conventional one, and there is no need to perform complicated processing to determine the destination.
第1図はこの発明の一実施例における選択構造の変換規
則を示す図である。第2図は同実施例における選択構造
を含むデータフロープログラムの第1の例を示す図であ
る。第3図は第2図に示すデータフロープログラムに対
応するプログラム記憶手段の記憶内容を示す図である。
第4図は同実施例における選択構造を含むデータフロー
プログラムの第2の例を示す図である。第5図は第4図
に示すデータフロープログラムに対応するプログラム記
憶手段の記憶内容を示す図である。第6図は従来例およ
びこの発明の実施例におけるデータ駆動型情報処理装置
のブロック構成図である。第7図は従来例およびこの発
明の実施例におけるデータパケットのフィールド構成を
示す図である。第8図は従来例およびこの発明の実施例
におけるプログラム記憶手段の記憶内容のフィールド構
成を示す図である。第9図はコピー処理を含むデータフ
ロープログラムの例を示す図である。第10図は従来例に
おける選択構造を含むデータフロープログラムの例を示
す図である。第11図は第10図に示すデータフロープログ
ラムに対応するプログラム記憶手段の記憶内容を示す図
である。 図において、1はプログラム記憶手段、2はデータ対生
成手段、3は演算処理手段、4〜7はデータ伝送路、N1
〜N9,N5′はノード、D1〜D9,D5′は行先情報、op1,op2,
op5〜op7,op5′,TG,FG,SW1,SW2はオペレーションコード
を示す。FIG. 1 is a diagram showing a conversion rule of a selection structure in one embodiment of the present invention. FIG. 2 is a diagram showing a first example of a data flow program including a selection structure in the embodiment. FIG. 3 is a diagram showing the contents stored in a program storage means corresponding to the data flow program shown in FIG.
FIG. 4 is a diagram showing a second example of the data flow program including the selection structure in the embodiment. FIG. 5 is a diagram showing storage contents of a program storage means corresponding to the data flow program shown in FIG. FIG. 6 is a block diagram of a data driven type information processing apparatus according to a conventional example and an embodiment of the present invention. FIG. 7 is a diagram showing a field configuration of a data packet in the conventional example and the embodiment of the present invention. FIG. 8 is a diagram showing the field configuration of the storage contents of the program storage means in the conventional example and the embodiment of the present invention. FIG. 9 is a diagram showing an example of a data flow program including a copy process. FIG. 10 is a diagram showing an example of a data flow program including a selection structure in a conventional example. FIG. 11 is a diagram showing the storage contents of a program storage means corresponding to the data flow program shown in FIG. In the figure, 1 is a program storage means, 2 is a data pair generation means, 3 is an arithmetic processing means, 4 to 7 are data transmission paths, N1
~ N9, N5 'are nodes, D1 ~ D9, D5' are destination information, op1, op2,
op5 to op7, op5 ', TG, FG, SW1, and SW2 indicate operation codes.
Claims (1)
なるデータフロープログラムを記憶し、行先フィール
ド、命令フィールド、第1のデータフィールドおよび第
2のデータフィールドからなるデータパケットを入力
し、そのデータパケットの行先フィールドの内容に基づ
くアドレス指定を行なうことによって、前記データフロ
ープログラムの次位の行先情報および次位の命令情報を
読出し、それらの各情報を前記データパケットの行先フ
ィールドおよび命令フィールドにそれぞれ格納して出力
するプログラム記憶手段と、 前記プログラム記憶手段から出力される前記データパケ
ットの待ち合わせを行ない、行先情報が一致する2つの
データパケットのうち一方のデータパケットの第1のデ
ータフィールドのデータを他方のデータパケットの第2
のデータフィールドに格納してその他方のデータパケッ
トを出力するデータ対生成手段と、 前記データ対生成手段から出力される前記データパケッ
トを入力し、そのデータパケットの命令フィールドの命
令情報を解読し、前記第1および第2のデータフィール
ドの2つのデータに対して所定の演算処理を施し、その
結果をそのデータパケットの第1のデータフィールドに
格納して出力する演算処理手段とから構成される情報処
理装置において、 所定の条件に従って、被選択データに対して実行される
命令群が選択される選択構造を含むデータフロープログ
ラムを実行する場合に、 条件データを含むデータパケットによってアクセスされ
る前記プログラム記憶手段の領域、および被選択データ
を含むデータパケットによってアクセスされる前記プロ
グラム記憶手段の領域に、それぞれ、同一の行先情報お
よび、前記条件データの内容に従って行先情報に所定の
操作を施すことを内容とする、同一の命令情報を記憶さ
せるとともに、 前記命令情報は、前記条件データに基づいて選択される
2つの行先の間の相対的位置情報を含み、 前記演算処理手段において、入力されたデータパケット
の命令情報が前記命令情報である場合には、前記条件デ
ータの内容に応じて当該データパケットの行先情報、ま
たは当該データパケットの行先情報に前記相対的位置情
報を加算した行先情報、のいずれかを選択して、当該デ
ータパケットの行先を指定することを特徴とする、デー
タフロープログラムの実行制御方式。A data flow program comprising a plurality of destination information and a plurality of instruction information is stored, and a data packet comprising a destination field, an instruction field, a first data field, and a second data field is inputted, and the data packet is inputted. By specifying an address based on the contents of the destination field of the packet, the next destination information and the next instruction information of the data flow program are read, and those informations are respectively stored in the destination field and the instruction field of the data packet. A program storage unit for storing and outputting the data packet; and a data packet output from the program storage unit for queuing the data of the first data field of one of the two data packets having the same destination information. The other data packet Second
Data pair generating means for storing the other data packet stored in the data field, and inputting the data packet output from the data pair generating means, decoding the instruction information in the instruction field of the data packet, Information processing means for performing predetermined arithmetic processing on the two data of the first and second data fields, storing the result in the first data field of the data packet, and outputting the result; In the processing device, when executing a data flow program including a selection structure in which an instruction group to be executed on selected data is selected according to a predetermined condition, the program storage accessed by a data packet including the condition data The area of the means and before being accessed by the data packet containing the selected data In the area of the program storage means, the same destination information and the same instruction information, which is to perform a predetermined operation on the destination information in accordance with the content of the condition data, are stored, and the instruction information is The relative processing information including the relative position information between the two destinations selected based on the condition data; and if the instruction information of the input data packet is the instruction information, the content of the condition data The destination of the data packet is specified by selecting either the destination information of the data packet or the destination information obtained by adding the relative position information to the destination information of the data packet. , A data flow program execution control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63031560A JP2579185B2 (en) | 1988-02-12 | 1988-02-12 | Data flow program execution control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63031560A JP2579185B2 (en) | 1988-02-12 | 1988-02-12 | Data flow program execution control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01206436A JPH01206436A (en) | 1989-08-18 |
JP2579185B2 true JP2579185B2 (en) | 1997-02-05 |
Family
ID=12334559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63031560A Expired - Fee Related JP2579185B2 (en) | 1988-02-12 | 1988-02-12 | Data flow program execution control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2579185B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05174167A (en) * | 1991-12-26 | 1993-07-13 | Sharp Corp | Execution control method for data flow program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59180636A (en) * | 1983-03-31 | 1984-10-13 | Fujitsu Ltd | Data flow machine |
-
1988
- 1988-02-12 JP JP63031560A patent/JP2579185B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH01206436A (en) | 1989-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2665111B2 (en) | Vector processing equipment | |
JPS61276032A (en) | Information processing device | |
US5577256A (en) | Data driven type information processor including a combined program memory and memory for queuing operand data | |
EP0144779B1 (en) | Parallel processing computer | |
JP3237858B2 (en) | Arithmetic unit | |
JP2579185B2 (en) | Data flow program execution control method | |
JPH0523447B2 (en) | ||
JPH05174167A (en) | Execution control method for data flow program | |
US5542080A (en) | Method for controlling execution of data driven type information processor | |
JP3686091B2 (en) | Data-driven information processing device | |
JPH0660206A (en) | Execution control method for data flow program | |
JP2764358B2 (en) | Data driven information processor | |
JPH07110769A (en) | Vliw type computer | |
JP2731740B2 (en) | Parallel computer with communication register | |
JP3708560B2 (en) | Data flow type information processor | |
JPH0652334A (en) | Data flow processor processing changing device | |
JP2851192B2 (en) | Addition / subtraction processing method with carry in parallel processing unit | |
JPS6315333A (en) | Microprogram sequence control system | |
JPH0636161B2 (en) | Information processing equipment | |
JPH0269826A (en) | System for controlling instruction with condition | |
JPH058451B2 (en) | ||
JPH0531170B2 (en) | ||
JPH0620071A (en) | Data driven information processor | |
JPH1074190A (en) | Parallel processor | |
JPH0225931A (en) | Microprogram control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |