JPH0713958A - Execution controller for data flow computer - Google Patents

Execution controller for data flow computer

Info

Publication number
JPH0713958A
JPH0713958A JP15384193A JP15384193A JPH0713958A JP H0713958 A JPH0713958 A JP H0713958A JP 15384193 A JP15384193 A JP 15384193A JP 15384193 A JP15384193 A JP 15384193A JP H0713958 A JPH0713958 A JP H0713958A
Authority
JP
Japan
Prior art keywords
node
token
arc
function
execution
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
JP15384193A
Other languages
Japanese (ja)
Other versions
JP3732530B2 (en
Inventor
Harumoto Fukuda
晴元 福田
Naohisa Takahashi
直久 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP15384193A priority Critical patent/JP3732530B2/en
Publication of JPH0713958A publication Critical patent/JPH0713958A/en
Application granted granted Critical
Publication of JP3732530B2 publication Critical patent/JP3732530B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To selectively execute a node in accordance with a level in the execution controller for a data flow computer. CONSTITUTION:A function execution control means 10A executes the function imparted to the node after the tokens of the execution environment level are gathered on an input arc having the node with the environment level being more than the execution environment level of the token as the proceding node and the having excuted the given function node is classified to an arithmetic node and a control node. An arithmetic instruction executing means 20A inputs the token, executes calculation and assigns an arithmetic result to a token value so as to propagates it to the output arc of the node. A control instruction executing means 30A identifies the instruction of the control node and transmits it to a corresponding instruction execution function. The arithmetic instruction executing means 20A and the control instruction executing means 30A restricts the arc outputting the token from the node to the arc which is to the node with the environment level being more than the execution environment level of the token.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、非同期並列実行制御を
行うデータフロー計算機の実行制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data flow computer execution control device for performing asynchronous parallel execution control.

【0002】[0002]

【従来の技術】データフロー計算機は、プログラムをノ
ードとノード間の経路を示すアークからなるデータフロ
ーグラフで表現し、グラフ構造内をトークンと呼ぶデー
タの値を更新しながら流すことにより計算を実行する。
2. Description of the Related Art A data flow computer executes a calculation by expressing a program as a data flow graph composed of nodes and arcs indicating paths between the nodes, and flowing the data while updating the value of data called a token in the graph structure. To do.

【0003】ノードには演算ノードと制御ノードがあ
る。演算ノードでは、トークンの値を受け取り、与えら
れた演算を行い、結果をトークンの値として出力する。
制御ノードでは、トークンを流す経路を制御する。
The nodes include operation nodes and control nodes. The operation node receives the token value, performs the given operation, and outputs the result as the token value.
The control node controls the route through which the token flows.

【0004】データフロー計算機に実行制御装置とし
て、データ駆動実行制御装置、要求駆動実行制御装置が
ある。
The data flow computer includes a data driven execution controller and a request driven execution controller as execution controllers.

【0005】データ駆動実行制御装置:データ駆動実行
制御装置は、データフローグラフの全てのノードに対し
て以下に示す方法で処理を施す。
Data-Driven Execution Control Unit: The data-driven execution control unit processes all the nodes of the data flow graph in the following method.

【0006】1.全ての入力アーク上にトークンが到達
するまでノードを待機させる。
1. Causes the node to wait until the token arrives on all input arcs.

【0007】2.入力アーク上にトークンが揃った後、
ノードに与えられた機能を実行させる。これをノードの
発火と呼ぶ。このとき、入力アーク上のトークンを取り
除く。
2. After collecting tokens on the input arc,
Causes the node to perform the given function. This is called firing of a node. At this time, the token on the input arc is removed.

【0008】3.実行結果を出力アーク上にトークンと
して出力する。
3. The execution result is output as a token on the output arc.

【0009】それぞれのノードを上記実行方法に従って
発火させることにより、グラフ全体を非同期並列に実行
する。
By firing each node in accordance with the above execution method, the entire graph is executed asynchronously in parallel.

【0010】従来のデータ駆動実行制御装置の構成例を
図5に示す。以下図5の各手段の機能について説明す
る。 (発火制御手段10C)トークン到着監視機能12は、
全ての入力アーク上にトークンが揃ったノードを検出
し、発火させる。ノード分類機能13は、発火したノー
ドを演算ノードと制御ノードに分類し、対応する命令実
行手段に制御信号を送る。なお、演算命令を持つノード
を演算ノード、制御命令を持つノードを制御ノードと呼
ぶ。 (演算命令実行手段20C)入力トークン処理機能21
Aは、発火したノードの入力アーク上のトークンを全て
消去し、トークンの値を演算実行機能22に送る。演算
実行機能22はトークンの値に対し、演算命令で与えら
れた演算を行い、結果をトークン出力機能23Cに送
る。トークン出力機能23Cは、演算結果をトークンの
値に代入し、トークンを発火したノードの出力アーク上
に置く。 (制御命令実行手段30C)制御命令デコード機能31
では、制御ノードの命令を識別し、対応する命令実行機
能に送る。命令実行機能では、与えられたノード種別に
従って制御を行う。制御ノードには次のような種類があ
る。
An example of the configuration of a conventional data driven execution control device is shown in FIG. The function of each means shown in FIG. 5 will be described below. (Ignition control means 10C) The token arrival monitoring function 12
Detects nodes with tokens on all input arcs and fires them. The node classification function 13 classifies the fired node into an operation node and a control node, and sends a control signal to the corresponding instruction executing means. A node having an operation instruction is called an operation node, and a node having a control instruction is called a control node. (Arithmetic instruction executing means 20C) Input token processing function 21
A erases all the tokens on the input arc of the node that fired and sends the value of the token to the operation executing function 22. The operation execution function 22 performs the operation given by the operation command on the value of the token, and sends the result to the token output function 23C. The token output function 23C substitutes the operation result for the value of the token and places it on the output arc of the node that fired the token. (Control command executing means 30C) Control command decoding function 31
Then, the instruction of the control node is identified and sent to the corresponding instruction execution function. The instruction execution function controls according to the given node type. There are the following types of control nodes.

【0011】・(分配ノード(D)32C)1入力n出
力のノードである。入力アーク上のトークンを消去し、
値をコピーしたトークンを全ての出力アーク上へ置く。
(Distribution node (D) 32C) This is a node with one input and n outputs. Erase the token on the input arc,
Put the token with the copied value on all output arcs.

【0012】・(分岐ノード(SW)33)2入力2出
力のノードである。第2入力アーク上のトークンの値が
真のとき、第1入力アーク上のトークンを第1出力アー
ク上へ置く。偽のときは、第1入力アーク上のトークン
を第2出力アーク上へ置く。
(Branch node (SW) 33) A node with two inputs and two outputs. Place the token on the first input arc on the first output arc when the value of the token on the second input arc is true. If false, put the token on the first input arc on the second output arc.

【0013】・(手続き呼出しノード(CALL)34
A)2入力1出力のノードである。第2入力アーク上の
トークンをコピーし、第1入力トーク上のトークンの値
として格納されている関数名から関数の手続き開始ノー
ドを求め、そのノードの第1入力アーク上に置く。ま
た、出力アークの名前を値としたトークンを生成する。
第1入力アーク上のトークンの値として格納されている
関数名から関数の手続き復帰ノードを求め、そのノード
の第1入力アーク上に、生成したトークンを置く。入力
アーク上のトークンを消去する。
(Procedure call node (CALL) 34
A) A node with two inputs and one output. The token on the second input arc is copied, the procedure start node of the function is obtained from the function name stored as the value of the token on the first input talk, and the node is placed on the first input arc of that node. It also creates a token whose value is the name of the output arc.
The procedure return node of the function is obtained from the function name stored as the value of the token on the first input arc, and the generated token is placed on the first input arc of that node. Erase the token on the input arc.

【0014】・(手続き開始ノード(ENTRY)3
6)1入力1出力のノードである。入力アーク上のトー
クンのコピーを出力アーク上に置く。入力アーク上のト
ークンを消去する。
(Procedure start node (ENTRY) 3
6) A node with one input and one output. Place a copy of the token on the input arc on the output arc. Erase the token on the input arc.

【0015】・(手続き復帰ノード(RETURN)3
5C)2入力0出力のノードである。第2入力アーク上
の値をコピーしてトークンを生成する。第1入力アーク
上のトークンの値として、指定されたアークに生成した
トークンを置く。
(Procedure return node (RETURN) 3
5C) A node with 2 inputs and 0 outputs. Generate a token by copying the value on the second input arc. As the value of the token on the first input arc, the token generated at the specified arc is placed.

【0016】図6に実行例を示す。図中で黒丸はトーク
ン、白丸ノードは演算ノード、白丸に十字のノードは分
配ノードを表す。また、網掛けノードは実行を終ったノ
ードを表す。図中の太線のノードに注目して動作を説明
する。
FIG. 6 shows an execution example. In the figure, black circles represent tokens, white circle nodes represent calculation nodes, and white circles represent cross nodes. The shaded nodes represent the nodes that have finished executing. The operation will be described by paying attention to the thick line node in the figure.

【0017】1.トークン到着監視機能12は、入力ア
ーク上にトークンが揃っていないため(図6(1)〜
(3))、太線のノードを発火させない。
1. Since the token arrival monitoring function 12 does not have tokens on the input arc (FIG. 6 (1)-
(3)), do not fire the thick line node.

【0018】2.入力アーク上にトークンが揃った後
(図6(4))、トークン到着監視機能12はノードを
発火させる。
2. After the tokens are arranged on the input arc (FIG. 6 (4)), the token arrival monitoring function 12 fires the node.

【0019】3.ノード分類機能13は、発火したノー
ドを演算ノードであると識別し、演算命令実行手段20
Cへ制御信号を送る。
3. The node classification function 13 identifies the fired node as an operation node, and executes the operation instruction executing means 20.
Send control signal to C.

【0020】4.入力トークン処理機能21Aは、入力
アーク上のトークンを取り除く。
4. The input token processing function 21A removes the token on the input arc.

【0021】5.演算実行機能22により演算が行われ
る。
5. Calculation is performed by the calculation execution function 22.

【0022】6.トークン出力機能23は、出力アーク
上にトークンを置く(図6(5))。
6. The token output function 23 puts a token on the output arc (FIG. 6 (5)).

【0023】以上のように実行を行うことにより、グラ
フ全体を実行していく。
By executing the execution as described above, the entire graph is executed.

【0024】要求駆動実行制御装置:要求駆動実行制御
装置は、指定したノードに至る経路上のノードだけを選
択し、計算を行う。この実行制御装置は、データフロー
グラフの全てのノードに対して以下に示す方法で処理を
施す。
Demand-Driven Execution Control Unit: The demand-driven execution control unit selects only the nodes on the route to the designated node and performs calculation. This execution control device performs processing on all nodes of the data flow graph by the method described below.

【0025】1.(a)出力アーク上に要求信号(デマ
ンド)が到着するまでノードを待機させる。
1. (A) The node is made to wait until the request signal (demand) arrives on the output arc.

【0026】(b)出力アーク上にデマンドが到達した
後、入力ア−クにデマンドを出力する。
(B) After the demand reaches the output arc, the demand is output to the input arc.

【0027】(c)全ての入力アーク上にトークンが到
達するまでノード待機させる。
(C) The node waits until the token arrives on all the input arcs.

【0028】2.入力アーク上にトークンが揃った後、
ノードを発火させる。このとき入力アーク上のトークン
を取り除く。
2. After collecting tokens on the input arc,
Fire the node. At this time, the token on the input arc is removed.

【0029】3.演算結果を出力アークに出力する。3. The calculation result is output to the output arc.

【0030】図7に実行例を示す。図中で白丸のノード
は演算ノード、白丸に十字のノードは分配ノード、黒丸
はトークン、右下りの八ッチングが施された丸はデマン
ドを表す。また、左下りのハッチングが施されたノード
はデマンドを受けたノード、網掛けのノードは発火した
ノードを表す。上記のように各ノードを個別に実行させ
ると、グラフ全体の動作は以下のようになる。
FIG. 7 shows an execution example. In the figure, white circles represent arithmetic nodes, white circles represent cross nodes, distribution circles, black circles represent tokens, and right-downed circles represent demands. Further, the nodes to which the leftward hatching is applied represent the nodes that have received the demand, and the shaded nodes represent the nodes that have fired. When each node is executed individually as described above, the operation of the entire graph is as follows.

【0031】1.指定したノードより、グラフ上の各ノ
ードの出力側から入力側へデマンドを伝播させる(図7
(1)〜(5))。
1. From the specified node, the demand is propagated from the output side to the input side of each node on the graph (Fig. 7).
(1) to (5)).

【0032】2.全てのデマンドが開始ノードまで伝播
すると、開始ノードから出力アークへトークンを送出す
る(図7(6))。
2. When all the demands have propagated to the start node, the start node sends a token to the output arc (FIG. 7 (6)).

【0033】3.デマンドを受けたノードからなる部分
グラフをデータ駆動実行する(図7(7)〜(1
0))。
3. Data-driven execution of a subgraph consisting of nodes that have received a demand (Fig. 7 (7) to (1
0)).

【0034】以上により、デマンドを受け取ったノード
のみが選択的に実行される。
As described above, only the node receiving the demand is selectively executed.

【0035】色付きトークン方式:データフロー計算機
において、複数実行環境下での多重実行方式として、色
付きトークン方式がある。トークンに色と呼ぶタグを付
け、実行環境毎に色を設定する。データ駆動実行制御装
置の1,2,3項、要求駆動実行制御装置の1(c),
2,3項を以下のように変更することにより、色付きト
ークン方式による実行制御が実現される。
Colored token method: In the data flow computer, there is a colored token method as a multiple execution method under a plurality of execution environments. A tag called a color is attached to the token and a color is set for each execution environment. Items 1, 2 and 3 of the data driven execution controller, 1 (c) of the request driven execution controller,
Execution control by the colored token method is realized by changing the items 2 and 3 as follows.

【0036】1.全ての入力アーク上に、色の等しいト
ークンが到達するまで、ノードを待機させる(1(c)
も同様)。
1. Make a node wait until a token of the same color arrives on all input arcs (1 (c)
The same).

【0037】2.入力アーク上に色の等しいトークンが
揃った後、ノードを発火させる。このとき、入力アーク
上の色の等しいトークンを取り除く。
2. Fires a node after matching tokens on the input arc. At this time, the tokens with the same color on the input arc are removed.

【0038】3.結果を出力アークに出力する。このと
き、入力アーク上にあったトークンの色をコピーして出
力する。
3. The result is output to the output arc. At this time, the color of the token on the input arc is copied and output.

【0039】以上の実行方式を用いると、1つのグラフ
を、複数の実行環境下で(色別に)、互いに影響を及ぼ
さずに並列に実行させることができる。
By using the above execution method, one graph can be executed in parallel under a plurality of execution environments (by color) without affecting each other.

【0040】従来の色付きトークン方式を使用した実行
制御装置の構成例を図8に示す。以下図8の各手段の機
能について説明する。 (発火制御手段10D)色付きトークン到着監視機能1
6は、全ての入力アーク上に同じ色のトークンが揃った
ノードを検出し、発火させる。ノード分類機能13は、
発火したノードを演算ノードと制御ノードに分類し、対
応する命令実行手段に制御信号を送る。 (演算命令実行手段20D)入力トークン処理機能21
Bは、発火したノードの入力アーク上の、同じ色を持つ
トークンを全て消去し、トークンの値を演算実行機能2
2に送る。演算実行機能22はトークンの値に対し、演
算命令で与えられた演算を行い、結果をトークン出力機
能23Dに送る。トークン出力機能23Dは、演算結果
をトークンの値に代入し、入力アーク上より消去したト
ークンの色をコピーし、出力アーク上にトークンを置
く。 (制御命令実行手段30D)制御命令デコード機能31
では、制御ノードの命令を識別し、対応する命令実行機
能に送る。命令実行機能では、与えられたノード種別に
従って制御を行う。制御ノードには次のような種類があ
る。
FIG. 8 shows a configuration example of a conventional execution control device using a colored token system. The function of each unit shown in FIG. 8 will be described below. (Ignition control means 10D) Colored token arrival monitoring function 1
6 detects a node having tokens of the same color on all input arcs and fires it. The node classification function 13
The fired node is classified into an operation node and a control node, and a control signal is sent to the corresponding instruction executing means. (Arithmetic instruction executing means 20D) Input token processing function 21
B erases all tokens with the same color on the input arc of the node that fired, and calculates the value of the token by executing function 2.
Send to 2. The operation execution function 22 performs the operation given by the operation command on the token value, and sends the result to the token output function 23D. The token output function 23D substitutes the operation result into the value of the token, copies the color of the erased token from the input arc, and places the token on the output arc. (Control command executing means 30D) Control command decoding function 31
Then, the instruction of the control node is identified and sent to the corresponding instruction execution function. The instruction execution function controls according to the given node type. There are the following types of control nodes.

【0041】・(分配ノード(D)32B)1入力n出
力のノードである。入力アーク上のトークンを消去し、
値と色をコピーしたトークンを全ての出力アーク上へ置
く。
(Distribution node (D) 32B) This is a node with one input and n outputs. Erase the token on the input arc,
Place a token with copied value and color on all output arcs.

【0042】・(分岐ノード(SW)33)2入力2出
力のノードである。第2入力アーク上のトークンの値が
真のとき、第1入力アーク上のトークンを第1出力アー
ク上へ置く。偽のときは、第1入力アーク上のトークン
を第2出力アーク上へ置く。
(Branch node (SW) 33) A node with two inputs and two outputs. Place the token on the first input arc on the first output arc when the value of the token on the second input arc is true. If false, put the token on the first input arc on the second output arc.

【0043】・(手続き呼出しノード(CALL)34
C)2入力1出力のノードである。発火した際に、デー
タフローグラフ上のどのトークンも使用していない色を
求める。第2入力アーク上のトークンの値と、新たに生
成した色によりトークンを生成する。第1入力アーク上
のトークンの値より関数名を知り、生成したトークンを
手続き開始ノードの第1入力アーク上に置く。また、入
力アーク上のトークンの色と出力アークの名前の対を値
とし、生成した色を付与したトークンを生成する。第1
入力アーク上のトークンの値として格納されている関数
名から関数の手続き復帰ノードを求め、そのノードの第
1入力アーク上に生成したトークンを置く。入力アーク
上のトークンを消去する。
(Procedure call node (CALL) 34
C) A node with two inputs and one output. When fired, find a color that does not use any token on the dataflow graph. A token is generated by the value of the token on the second input arc and the newly generated color. The function name is known from the value of the token on the first input arc, and the generated token is placed on the first input arc of the procedure start node. In addition, the token with the generated color is generated using the pair of the color of the token on the input arc and the name of the output arc as a value. First
The procedure return node of the function is obtained from the function name stored as the value of the token on the input arc, and the generated token is placed on the first input arc of that node. Erase the token on the input arc.

【0044】・(手続き開始ノード(ENTRY)3
6)1入力1出力のノードである。入力アーク上のトー
クンのコピーを出力アーク上に置く。入力アーク上のト
ークンを消去する。
(Procedure start node (ENTRY) 3
6) A node with one input and one output. Place a copy of the token on the input arc on the output arc. Erase the token on the input arc.

【0045】・(手続き復帰ノード(RETURN)3
5D)2入力0出力のノードである。第1入力アーク上
のトークンより手続き呼出し前の色を求め、第2入力ア
ーク上の値をコピーしてトークンを生成する。第1入力
アーク上のトークンの値として指定されたアークに生成
したトークンを置く。
(Procedure return node (RETURN) 3
5D) A node with 2 inputs and 0 outputs. The color before the procedure is called is obtained from the token on the first input arc, and the value on the second input arc is copied to generate the token. Place the generated token in the arc specified as the value of the token on the first input arc.

【0046】実際の実行例を図9に示す。図中で黒丸
(K,a)は、値K色aのトークンを表す。ここでは、
1つのノードを注目して実行例を示す。
FIG. 9 shows an actual execution example. In the figure, a black circle (K, a) represents a token having a value K color a. here,
An example of execution is shown focusing on one node.

【0047】1.色付きトークン到着監視機能16は、
全ての入力アーク上に同じ色(i)のトークンが揃った
ことを検知し、ノードを発火させる(図9(3))。
1. The colored token arrival monitoring function 16
Detecting that the tokens of the same color (i) are gathered on all input arcs, the node is fired (FIG. 9 (3)).

【0048】2.ノード分類機能13は、発火したノー
ドを演算ノードであると識別し、演算命令手段20Dへ
制御信号を送る。
2. The node classification function 13 identifies the fired node as a calculation node and sends a control signal to the calculation instruction means 20D.

【0049】3.入力トークン処理機能21Bは、入力
アーク上の色(i)のトークンを取り除く。
3. The input token processing function 21B removes the token of color (i) on the input arc.

【0050】4.演算実行機能は演算22を行う。4. The calculation execution function performs calculation 22.

【0051】5.トークン出力機能23Dは、同じ色
(i)を持つトークンを、出力アークへ出力する(図9
(4))。
5. The token output function 23D outputs the token having the same color (i) to the output arc (see FIG. 9).
(4)).

【0052】[0052]

【発明が解決しようとする課題】例えば、教育支援プロ
グラムでは、基礎知識を持っていない学習者に対して多
くの問題を与え、より多くの基礎知識を持っている学習
者には、それら問題の一部を選択させたい場合がある。
ここで、基礎知識の差をレベルの差ととらえ、基礎知識
を多く持っているほどレベルが高いとする。
[Problems to be Solved by the Invention] For example, in an education support program, many problems are given to learners who do not have basic knowledge, and those problems are given to learners who have more basic knowledge. You may want to select some.
Here, it is assumed that the difference in basic knowledge is regarded as a difference in level, and the higher the basic knowledge, the higher the level.

【0053】レベルの高い学習者は、基礎知識をそれほ
ど必要としない。これに対して、レベルの低い学習者は
より多くの問題により基礎知識を修得しなければならな
い。つまり、レベルの高い学習者が必要とする問題に、
レベルの低い学習者が必要とする基礎知識を獲得するた
めの問題を付け加えることにより、レベルの低い学習者
用の問題が揃うと考えられる。このような場合には、レ
ベルの高い学習者が必要とする問題は、レベルの低い学
習者の必要とする問題の部分集合となる。
High level learners do not need much basic knowledge. On the other hand, lower level learners have to acquire basic knowledge for more problems. In other words, for problems that high-level learners need,
By adding the problems to acquire the basic knowledge required by low-level learners, it is considered that the problems for low-level learners will be completed. In such a case, the problem required by the high level learner becomes a subset of the problem required by the low level learner.

【0054】ここで、ある1つの問題を提示する機能を
ノードとし、提示する順序をアークとした問題提示プロ
グラムを表現することを考える。複数レベルに対応する
問題提示を行う場合に、各ノードについてレベル毎に選
択的に実行する機能を与えられているときには、問題提
示プログラムを1つ作成し、各レベルで共有すればよ
い。このような機能がない場合には、レベル毎に別個の
プログラムを作成しなければならない。このように、レ
ベル毎にプログラムを作ると、あるレベルに対応するプ
ログラムを修正した場合には、そのレベル以下のプログ
ラムに対して同じ修正を加えなければならない。このと
き、共通部分を修正する場合には、修正しなければなら
ないプログラム数は、さらに増えることになる。このよ
うな問題を解決するために、レベル毎にノードを選択的
に実行させる機能が必要である。
Now, let us consider expressing a problem presentation program in which the function of presenting a certain problem is a node and the order of presentation is an arc. In the case of presenting a question corresponding to a plurality of levels, if each node is provided with a function of selectively executing each level, one question presenting program may be created and shared by each level. If you do not have such a function, you must create a separate program for each level. In this way, when a program is created for each level, when a program corresponding to a certain level is modified, the same modification must be made to a program below that level. At this time, when the common part is modified, the number of programs that must be modified is further increased. In order to solve such a problem, it is necessary to have a function to selectively execute a node for each level.

【0055】レベル毎にノードを選択的に実行させる機
能の実現方法として、条件分岐を利用する方法が考えら
れる。すなわち、ノードの前に分岐用のプログラムを付
け加えて、条件を満たすトークンだけをノードに送るこ
とにより、レベルに応じてノードを選択的に実行させる
ことができる。この方法では全てのノードに対して分岐
用プログラムを付与しなければならない。このため、問
題の提示レベルを変更する場合に、分岐プログラムの修
正が必要となるという問題がある。このように、条件分
岐を利用する方法では、プログラムの作成時・修正時
に、条件分岐に関する箇所の作成・修正作業が必要とな
り、プログラム作成者の負担が増大することになる。こ
のような問題を解決するために、データフロー計算機に
レベル毎にノードを選択的に実行させる機能を持たせる
必要がある。
As a method of realizing the function of selectively executing a node for each level, a method of utilizing a conditional branch can be considered. That is, by adding a branching program in front of the node and sending only tokens satisfying the condition to the node, the node can be selectively executed according to the level. In this method, a branching program must be added to all nodes. Therefore, there is a problem that the branch program needs to be modified when changing the presentation level of the problem. As described above, in the method of using the conditional branch, it is necessary to create and modify the portion related to the conditional branch when creating and modifying the program, which increases the burden on the program creator. In order to solve such a problem, it is necessary for the data flow computer to have a function of selectively executing a node for each level.

【0056】データ駆動実行制御装置では、入力アーク
上にトークンが揃った場合に発火を行うことにより実行
が進められる。この装置では、分岐命令と手続き呼出し
命令で実行経路を選択する手段を与えている。要求駆動
実行制御装置では、上記命令による選択の他に、デマン
ドを伝播させ、デマンドの到達したノードを選択的に実
行させることができる。しかし、これらの装置では、レ
ベルに応じて選択的にノードを発火する機能を持たな
い。
In the data-driven execution control device, execution proceeds by firing when tokens are aligned on the input arc. This device provides a means for selecting an execution path by using a branch instruction and a procedure call instruction. In addition to the selection by the above instruction, the request-driven execution control device can propagate the demand and selectively execute the node to which the demand has reached. However, these devices do not have a function of selectively firing a node depending on the level.

【0057】色付きトークンモデルは、実行環境の違い
をトークンの色で表し、実行時には実行環境の違いを検
出し、同じ実行環境のトークンにより実行を進める技術
である。この方法は、レベルの違いに対応する技術では
なく、トークンはグラフ全体を、もしくはデマンドの伝
播したノード全てをトークンの色別に実行することにな
る。従って、レベルに応じて選択的にノードを発火する
機能を持たない。
The colored token model is a technique in which a difference in execution environment is represented by a color of a token, a difference in execution environment is detected at the time of execution, and execution is performed by a token of the same execution environment. This method is not a technology that responds to different levels, and the token executes the entire graph or all nodes to which the demand has propagated for each color of the token. Therefore, it does not have a function of selectively firing a node depending on the level.

【0058】本発明の目的は、レベルに応じてノードを
選択的に実行させる、データフロー計算機の実行制御装
置を提供することにある。
An object of the present invention is to provide an execution control device for a data flow computer, which selectively executes nodes according to levels.

【0059】[0059]

【課題を解決するための手段】本発明の、データフロー
計算機の実行制御装置は、環境レベルと呼ぶ数値が付与
されたノードと、実行環境レベルと呼ぶ数値が付与され
たトークンを備え、ノードとノード間を結合するアーク
で構成されたデータフローグラフでプログラムを表現
し、トークンが前記データフローグラフ上の経路に沿っ
て伝播させる途中でトークンの入力アークへの到着を監
視し、指定された前記実行環境レベルを持つトークン
が、該実行環境レベル以上の前記環境レベルを持つノー
ドから当該ノードへ向かう全ての入力アーク上に揃う
と、当該ノードに対応づけられた命令を識別する発火制
御手段と、当該ノードが前記発火制御手段で演算命令と
識別された場合、到着したトークンを入力して演算を行
い、該演算結果をトークンの値に代入し、該トークン
を、該トークンの前記実行環境レベル以上の環境レベル
を持つノードに向かう出力アーク上に伝播させる演算命
令実行手段と、当該ノードが前記発火制御手段で制御命
令と識別された場合、当該ノードの命令内容に従って到
着したトークンの経路を変更し、該トークンを、該トー
クンの前記実行環境レベル以上の前記環境レベルを持つ
ノードに向かう出力アーク上に伝播させる制御命令実行
手段を有する。
An execution control device of a data flow computer according to the present invention comprises a node provided with a numerical value called an environment level and a token provided with a numerical value called an execution environment level, and a node A program is represented by a data flow graph composed of arcs connecting nodes, and the arrival of the token at the input arc is monitored while the token is propagated along the path on the data flow graph, and the specified When the token having the execution environment level is aligned on all the input arcs from the node having the environment level equal to or higher than the execution environment level to the node, the firing control means for identifying the instruction associated with the node, When the node is identified as an operation command by the firing control means, the arrived token is input and operation is performed, and the operation result is talked. And an operation instruction executing unit that propagates the token onto an output arc toward a node having an environment level equal to or higher than the execution environment level of the token, and the node identifies the control command by the ignition control unit. Control means for changing the route of the arriving token according to the instruction content of the node, and propagating the token on the output arc toward the node having the environment level equal to or higher than the execution environment level of the token. Have.

【0060】[0060]

【作用】本発明は、データフロー計算機の実行制御装置
が、環境依存発火機能と環境依存分配機能を有すること
を特徴とする。
The present invention is characterized in that the execution control device of the data flow computer has an environment-dependent firing function and an environment-dependent distribution function.

【0061】環境依存発火機能とは、ある実行環境レベ
ルmを持つトークンがあるノードnに到達したときに、
m以上の環境レベルを持つノードからノードnへ向かう
全ての入力アーク(環境入力アークと呼ぶ)上に実行環
境レベルmのトークンが揃った場合にノードnを発火さ
せる機能である。環境依存分配機能とは、トークンの実
行環境レベル以上の環境レベルを持つノードに向かう全
ての出力アーク(環境出力アークと呼ぶ)上に、そのト
ークンを出力する機能である。
The environment-dependent firing function means that when a node having a certain execution environment level m reaches a node n,
This is a function to fire node n when tokens of execution environment level m are gathered on all input arcs (called environment input arcs) from a node having an environment level of m or higher to node n. The environment-dependent distribution function is a function of outputting the token on all output arcs (referred to as environment output arcs) directed to a node having an environment level equal to or higher than the execution environment level of the token.

【0062】環境依存発火機能は、全ての環境入力アー
ク上にトークンが全て揃うまでノードを待機させ、全て
の環境入力アーク上にトークンが揃った後、ノードを発
火させる。また、環境依存分配機能は、全ての環境出力
アーク上に実行環境レベルを与えたトークンを出力する
機能である。従って、ある実行環境レベルmをトークン
に付与してプログラムの実行を開始させると、m以上の
環境レベルを持つノード間にだけトークンを伝播させ、
m以上の環境レベルを持つノードだけを実行させること
ができる。
The environment-dependent firing function causes the node to wait until all the tokens are aligned on all environment input arcs, and fires the node after the tokens are aligned on all environment input arcs. The environment-dependent distribution function is a function of outputting a token having an execution environment level on all environment output arcs. Therefore, when a certain execution environment level m is given to a token and the execution of the program is started, the token is propagated only between nodes having an environment level of m or higher,
Only nodes with environment level m or higher can be executed.

【0063】[0063]

【実施例】次に、本発明の実施例について図面を参照し
て説明する。
Embodiments of the present invention will now be described with reference to the drawings.

【0064】ノードの集合をNとする。ノードnに対
し、環境レベルとしてtag(n)を付与する。さら
に、実行環境レベルmをトークンに付与する。ノードn
の第i入力アークの先に接続されたノードの環境レベル
をtagin(n,i)、ノードnの第j出力アークの先
に接続されたノードの環境レベルをtagout (n,
j)と表す。このとき、m≦tagin(n,i)を満た
す環境レベルを持つノードからノードnへ張られたアー
クがノードnの環境入力アークであり、ノードnからm
≦tagout (n,j)を満たす環境レベルを持つノー
ドへ張られたアークが環境出力アークである。
Let N be the set of nodes. Tag (n) is given to the node n as an environment level. Furthermore, the execution environment level m is added to the token. Node n
The environmental level of the node connected to the end of the i-th input arc of tag in (n, i), and the environmental level of the node connected to the end of the j-th output arc of node n to tag out (n, i)
j). At this time, the arc extending from the node having the environment level satisfying m ≦ tag in (n, i) to the node n is the environment input arc of the node n, and the nodes n to m.
The arc extended to the node having the environment level satisfying ≤ tag out (n, j) is the environment output arc.

【0065】図1は環境依存発火機能と環境依存分配機
能を有するデータ駆動実行制御装置の構成を示すブロッ
ク図である。それぞれの機能について以下で説明する。 (発火制御手段10A)入力アーク選定機能10は、ノ
ードの入力アークから、トークンの実行環境レベル以上
の環境レベルを持つノードを先のノードとして有する入
力アークを環境入力アークとして選定する。トークン到
着監視機能12は、全ての環境入力アーク上にトークン
が揃ったノードを検出し、発火させる。ノード分類機能
13は、発火したノードを演算ノードと制御ノードに分
類し、対応する命令実行手段に制御信号を送る。 (演算命令実行手段20A)入力トークン処理機能21
Aは、発火したノードの環境入力アーク上のトークンを
全て消去し、トークンの値を演算実行機能22に送る。
演算実行機能22は、トークンの値に対して与えられた
演算を行い、結果をトークン出力機能23に送る。トー
クン出力機能23Aは、演算結果をトークンの値に代入
し、実行環境レベルを与えたトークンを環境出力アーク
上に置く。 (制御命令実行手段30A)制御命令デコード機能31
では、制御ノードの命令を識別し、対応する命令実行機
能に送る。命令実行機能では、与えられたノード種別に
従って制御を行う。制御ノードには次のような種類があ
る。
FIG. 1 is a block diagram showing the configuration of a data driven execution control device having an environment-dependent firing function and an environment-dependent distribution function. Each function will be described below. (Ignition control means 10A) The input arc selection function 10 selects an input arc having a node having an environment level equal to or higher than the execution environment level of the token as the previous node from the input arcs of the nodes, as the environment input arc. The token arrival monitoring function 12 detects a node having tokens on all environment input arcs and fires them. The node classification function 13 classifies the fired node into an operation node and a control node, and sends a control signal to the corresponding instruction executing means. (Arithmetic instruction executing means 20A) Input token processing function 21
A deletes all tokens on the environment input arc of the node that fired, and sends the value of the token to the operation execution function 22.
The operation execution function 22 performs the given operation on the token value and sends the result to the token output function 23. The token output function 23A substitutes the calculation result into the value of the token and puts the token having the execution environment level on the environment output arc. (Control command executing means 30A) Control command decoding function 31
Then, the instruction of the control node is identified and sent to the corresponding instruction execution function. The instruction execution function controls according to the given node type. There are the following types of control nodes.

【0066】・(分配ノード(D)32A)1入力n出
力のノードである。入力アーク上ののトークンを消去
し、値と実行環境レベルをコピーしたトークンを全ての
環境出力アーク上へ置く。
(Distribution node (D) 32A) This is a node with one input and n outputs. Erase the token on the input arc and put the token with the copied value and execution environment level on all environment output arcs.

【0067】・(分岐ノード(SW)33)2入力2出
力のノードである。第2入力アーク上のトークンの値が
真のとき、第1入力アーク上のトークンを第1出力アー
ク上へ置く。偽のときは、第1入力アーク上のトークン
を第2出力アーク上へ置く。
(Branch node (SW) 33) A node with two inputs and two outputs. Place the token on the first input arc on the first output arc when the value of the token on the second input arc is true. If false, put the token on the first input arc on the second output arc.

【0068】・(手続き呼出しノード(CALL)34
A)2入力1出力のノードである。第2入力アーク上の
トークンをコピーし、第1入力アーク上のトークンの値
として格納されている関数名から関数の手続き開始ノー
ドを求め、その第1入力アーク上に置く。また、出力ア
ークの名前を値としたトークンを生成する。第1入力ア
ーク上のトークンの値として格納されている関数名から
関数の手続き復帰ノードを求め、そのノードの第1入力
アーク上に生成したトークンを置く。入力アーク上のト
ークンを消去する。
(Procedure call node (CALL) 34
A) A node with two inputs and one output. The token on the second input arc is copied, the procedure start node of the function is obtained from the function name stored as the value of the token on the first input arc, and placed on the first input arc. It also creates a token whose value is the name of the output arc. The procedure return node of the function is obtained from the function name stored as the value of the token on the first input arc, and the generated token is placed on the first input arc of that node. Erase the token on the input arc.

【0069】・(手続き開始ノード(ENTRY)3
6)1入力1出力のノードである。入力アーク上のトー
クンのコピーを出力アーク上に置く。入力アーク上のト
ークンを消去する。
(Procedure start node (ENTRY) 3
6) A node with one input and one output. Place a copy of the token on the input arc on the output arc. Erase the token on the input arc.

【0070】・(手続き復帰ノード(RETURN)3
5A)2入力0出力のノードである。第2入力アーク上
のトークンの値と実行環境レベルをコピーしトークンを
生成する。第1入力アーク上のトークンとして指定され
たアークに生成したトークンを置く。
(Procedure return node (RETURN) 3
5A) A node with 2 inputs and 0 outputs. A token is generated by copying the value of the token on the second input arc and the execution environment level. Place the generated token in the arc specified as the token on the first input arc.

【0071】図2に実行例を示す。環境レベルとしてt
1,t2,t3(t1<t2<t3)を用いる。図中で
黒丸はトークン、白丸ノードは演算ノード、白丸に十字
のノードは分配ノードを表す。また、網掛けノードは実
行の終ったノードを表す。ノードの左上の数字はノード
番号を表し、右上の数字は環境レベルを表す。ノードx
よりyに張られたアークをx→yと表す。アーク番号
は、左から1,2・・・と付ける。
FIG. 2 shows an execution example. Environmental level t
1, t2, t3 (t1 <t2 <t3) are used. In the figure, black circles represent tokens, white circle nodes represent calculation nodes, and white circles represent cross nodes. The shaded nodes represent the nodes that have been executed. The number on the upper left of the node represents the node number, and the number on the upper right represents the environment level. Node x
The arc stretched over y is represented as x → y. The arc numbers are 1, 2, ... from the left.

【0072】ここでは、実行環境レベルt2のトークン
が伝播している場合について動作を説明する。まず、ノ
ード4に注目し、動作を説明する。
Here, the operation will be described for the case where the token of the execution environment level t2 is propagated. First, focusing on the node 4, the operation will be described.

【0073】1.i=2,3においてt2≦tag
in(4,i)となる。従って、入力アーク選定機能11
は、アーク2→4,3→4を環境入力アークと識別す
る。
1. When i = 2 and 3, t2 ≦ tag
It becomes in (4, i). Therefore, the input arc selection function 11
Identifies arcs 2 → 4, 3 → 4 as environment input arcs.

【0074】2.これらの環境入力アーク上にトークン
が揃うと(図2(2))、ノード4を発火する。
2. When the tokens are aligned on these environment input arcs (FIG. 2 (2)), the node 4 is fired.

【0075】3.ノード分類機能13は、ノード4を演
算ノードと識別し、演算命令実行手段20Aへ制御信号
を送る。
3. The node classification function 13 identifies the node 4 as an operation node and sends a control signal to the operation instruction executing means 20A.

【0076】4.その後、入力トークン処理機能21A
は、入力アーク上のトークンを取り除く。
4. After that, the input token processing function 21A
Removes the token on the input arc.

【0077】5.演算実行機能22は演算を行う。5. The calculation execution function 22 performs a calculation.

【0078】6.最後に、トークン出力機能23Aは、
t2≦tagout (4,1)から4→5を環境出力アー
クと判定し、実行環境レベルt2のトークンを出力する
(図2(3))。
6. Finally, the token output function 23A
From t2 ≦ tag out (4,1), it is determined that 4 → 5 is the environment output arc, and the token of the execution environment level t2 is output (FIG. 2 (3)).

【0079】次に、ノード5に注目する。Next, pay attention to the node 5.

【0080】1.入力アーク選定機能11は、t2≦t
agin(5,1)からアーク4→5を環境入力アークで
あると判定する。環境入力アーク上にトークンが揃って
いるため、ノード5を発火させる。
1. The input arc selection function 11 is t2 ≦ t
From ag in (5,1), it is determined that arcs 4 → 5 are environment input arcs. Since the tokens are aligned on the environment input arc, the node 5 is fired.

【0081】2.ノード分類機能13により、制御命令
実行手段30Aへ制御信号が送られ、制御命令デコード
機能31により、分配ノードと判断される。
2. The node classification function 13 sends a control signal to the control command execution means 30A, and the control command decoding function 31 determines that it is a distribution node.

【0082】3.j=1,2において、t2≦tag
out (5,j)は満たされる。このため、分配ノードで
は、アーク5→6,5→7を環境出力アークと判定し、
これらのアーク上に実行環境レベルt2のトークンを出
力する(図2(4))。
3. When j = 1, 2, t2 ≦ tag
out (5, j) is satisfied. Therefore, the distribution node determines that the arcs 5 → 6, 5 → 7 are environmental output arcs,
The token of the execution environment level t2 is output on these arcs (FIG. 2 (4)).

【0083】以上のようにして、環境依存発火機能と環
境依存分配機能を有するデータ駆動実行制御装置は実行
を行う。
As described above, the data driven execution control device having the environment-dependent firing function and the environment-dependent distribution function executes.

【0084】要求駆動実行制御装置の実施例:デマンド
伝播に関しては、〔従来の技術〕と同様である。デマン
ドの伝播したノード、および、その入力アークからなる
部分グラフを、実行するデータフローグラフとする。こ
のグラフを環境依存発火機能と環境依存分配機能を有す
るデータ駆動実行制御装置により実行させる。
Embodiment of Request Driven Execution Control Device: Regarding demand propagation, it is the same as in [Prior Art]. A subgraph consisting of a node to which a demand has propagated and its input arc is a data flow graph to be executed. This graph is executed by a data driven execution control device having an environment-dependent firing function and an environment-dependent distribution function.

【0085】色付きトークン方式によるデータ駆動実行
制御装置への応用:図3は、環境依存発火装置と環境依
存分配機能を有するデータ駆動実行制御装置(色付きト
ークン方式)の構成を示すブロック図である。それぞれ
の機能について以下で説明する。 (発火制御手段10B)発火制御手段10Bは、それぞ
れのノードに対して以下の処理を行う。
Application to Data Driven Execution Control Device by Colored Token Method: FIG. 3 is a block diagram showing the configuration of a data driven execution control device (colored token system) having an environment-dependent ignition device and an environment-dependent distribution function. Each function will be described below. (Ignition control means 10B) The ignition control means 10B performs the following processing for each node.

【0086】1.色検出機能14は、入力アーク上のト
ークンの全ての色を検出する。
1. The color detection function 14 detects all the colors of the token on the input arc.

【0087】2.色別入力アーク選定機能15は、色検
出機能14により検出された色の中で、未処理の色を選
出する。次に、ノードの入力アークから、選出したトー
クンの実行環境レベル以上の環境レベルを持つノードを
先のノードとして有する入力アークを環境入力アークと
して選定する。
2. The color-specific input arc selection function 15 selects an unprocessed color from the colors detected by the color detection function 14. Next, from the input arcs of the node, the input arc having the node having the environment level equal to or higher than the execution environment level of the selected token as the previous node is selected as the environment input arc.

【0088】3.トークン到着監視機能12は全ての環
境入力アーク上に、選出した色と同じ色を持つトークン
が揃ったノードを検出し、発火させる。発火が行われず
に、かつ、色検出機能14により検出された色のうち、
未処理の色がある場合、1に戻る。
3. The token arrival monitoring function 12 detects, on all environment input arcs, a node in which tokens having the same color as the selected color are gathered and fires it. Of the colors detected by the color detection function 14 without firing,
If there is an unprocessed color, return to 1.

【0089】4.ノード分類機能13は、発火したノー
ドを演算ノードと制御ノードに分類し、対応する命令実
行手段に制御信号を送る。色検出機能14により検出さ
れた色のうち、未処理の色がある場合、1に戻る。 (演算命令実行手段20B)入力トークン処理機能21
Bは、発火したノードの環境入力アーク上で、同じ色を
持つトークンを全て消去し、トークンの値を演算実行機
能22に送る。演算実行機能22はトークンの値に対
し、与えられた演算を行い、結果をトークン出力機能2
3Bに送る。トークン出力機能23Bは、演算結果をト
ークンの値に代入し、入力アーク上より消去したトーク
ンの色と実行環境レベルを与えたトークンを環境出力ア
ーク上に置く。 (制御命令実行手段30B)制御命令デコード機能31
では、制御ノードの命令を識別し、対応する命令実行機
能に送る。命令実行機能では、与えられたノード種別に
従って制御を行う。制御ノードには次のような種類があ
る。
4. The node classification function 13 classifies the fired node into an operation node and a control node, and sends a control signal to the corresponding instruction executing means. If there is an unprocessed color among the colors detected by the color detection function 14, the process returns to 1. (Arithmetic instruction executing means 20B) Input token processing function 21
B deletes all the tokens having the same color on the environment input arc of the fired node and sends the value of the token to the operation executing function 22. The operation execution function 22 performs the given operation on the token value and outputs the result to the token output function 2
Send to 3B. The token output function 23B substitutes the operation result into the value of the token, and puts the token having the color of the token erased from the input arc and the execution environment level on the environment output arc. (Control command executing means 30B) Control command decoding function 31
Then, the instruction of the control node is identified and sent to the corresponding instruction execution function. The instruction execution function controls according to the given node type. There are the following types of control nodes.

【0090】・(分配ノード(D)32B)1入力n出
力のノードである。入力アーク上ののトークンを消去
し、値と色と実行環境レベルをコピーしたトークンを全
て環境出力アーク上へ置く。
(Distribution node (D) 32B) This is a node with one input and n outputs. Erase the token on the input arc, and put all the tokens with the copied value, color and execution environment level on the environment output arc.

【0091】・(分岐ノード(SW)33)2入力2出
力のノードである。第2入力アーク上のトークンの値が
真のとき、第1入力アーク上のトークンを第1出力アー
ク上へ置く。偽のときは、第1入力アーク上のトークン
を第2出力アーク上へ置く。
(Branch node (SW) 33) A node with two inputs and two outputs. Place the token on the first input arc on the first output arc when the value of the token on the second input arc is true. If false, put the token on the first input arc on the second output arc.

【0092】・(手続き呼出しノード(CALL)34
B)2入力1出力のノードである。発火した際に、デー
タフローグラフ上のどのトークンも使用していない色を
求める。第2入力アーク上のトークンの値と実行環境レ
ベルと、新たに生成した色によりトークンを生成する。
第1入力アーク上のトークンの値より関数名を知り、生
成したトークンを手続き開始ノードの第1入力アーク上
に置く。また、入力アーク上のトークンの色と出力アー
クの名前の対を値とし、実行環境レベルと新たに生成し
た色によりトークンを生成する。第1入力アーク上のト
ークンの値として格納されている関数名から関数の手続
き復帰ノードを求め、そのノードの第1入力アーク上に
生成したトークンを置く。入力アーク上のトークンを消
去する。
(Procedure call node (CALL) 34
B) A node with two inputs and one output. When fired, find a color that does not use any token on the dataflow graph. The token is generated by the value of the token on the second input arc, the execution environment level, and the newly generated color.
The function name is known from the value of the token on the first input arc, and the generated token is placed on the first input arc of the procedure start node. In addition, a token is generated according to the execution environment level and the newly generated color, with a pair of the color of the token on the input arc and the name of the output arc as a value. The procedure return node of the function is obtained from the function name stored as the value of the token on the first input arc, and the generated token is placed on the first input arc of that node. Erase the token on the input arc.

【0093】・(手続き開始ノード(ENTRY)3
6)1入力1出力のノードである。入力アーク上のトー
クンのコピーを出力アーク上に置く。入力アーク上のト
ークンを消去する。
(Procedure start node (ENTRY) 3
6) A node with one input and one output. Place a copy of the token on the input arc on the output arc. Erase the token on the input arc.

【0094】・(手続き復帰ノード(RETURN)3
5B)2入力0出力のノードである。第1入力アーク上
のトークンより手続き呼出し前の色を求め、第2入力ア
ーク上のトークンの値と実行環境レベルをコピーしてト
ークンを生成する。第1入力アーク上のトークンの値と
して指定されたアークに生成したトークンを置く。
(Procedure return node (RETURN) 3
5B) This is a node with 2 inputs and 0 outputs. The color before the procedure is called is obtained from the token on the first input arc, and the token value and the execution environment level on the second input arc are copied to generate the token. Place the generated token in the arc specified as the value of the token on the first input arc.

【0095】図4に実行例を示す。環境レベルとして、
t1,t2,t3(t1<t2<t3)を用いる。ノー
ドの左上の数字はノード番号を表し、右上の数字は環境
レベルを表す。黒丸のトークンは、色aを持ち、実行環
境レベルとしてt1を与えている。黒の四角のトークン
は、色bを持ち、実行環境レベルとしてt2を与えてい
る。白丸のノードは演算ノード、白丸に十字のノードは
分配ノードを表す。ノードxよりyに張られたアークを
x→yと表す。アーク番号は、左から1,2,・・・と
付ける。まず、ノード4に注目して動作を説明する。
FIG. 4 shows an execution example. As an environmental level,
t1, t2, t3 (t1 <t2 <t3) are used. The number on the upper left of the node represents the node number, and the number on the upper right represents the environment level. The black circle token has the color a and gives t1 as the execution environment level. The black square token has the color b and gives t2 as the execution environment level. White circle nodes represent calculation nodes, and white circle cross nodes represent distribution nodes. An arc extending from the node x to y is represented as x → y. The arc numbers are 1, 2, ... From the left. First, the operation will be described focusing on the node 4.

【0096】1.色検出機能14は、色aとbが存在す
ることを検出する。
1. The color detection function 14 detects the existence of the colors a and b.

【0097】2.色別入力アーク選定機能15は、まず
色aのトークンのタグより、実行環境レベルがt1であ
ることを知る。ノード4では、i=1,2,3におい
て、t1≦tagin(4,i)となる。従って、色別入
力アーク選定機能15はアーク1→4,2→4,3→4
を環境入力アークと判定する。
2. The color-based input arc selection function 15 first learns from the tag of the token of color a that the execution environment level is t1. At the node 4, t1 ≦ tag in (4, i) at i = 1, 2, 3. Therefore, the input arc selection function 15 for each color has an arc 1 → 4, 2 → 4, 3 → 4.
Is determined as the environment input arc.

【0098】3.トークン到着監視機能12は、この環
境入力アーク上に色aのトークンが揃っていないため
(図4(1))、ノード4をまだ発火させない。
3. The token arrival monitoring function 12 does not fire the node 4 yet because the tokens of the color a are not arranged on this environment input arc (FIG. 4 (1)).

【0099】4.次に、色別入力アーク選定機能15
は、色bのトークンのタグより実行環境レベルがt2で
あることを知る。i=2,3において、t2≦tagin
(4,i)となる。従って、色別入力アーク選定機能1
5はアーク2→4と3→4を環境入力アークと判定す
る。
4. Next, input arc selection function 15 for each color
Knows that the execution environment level is t2 from the tag of the token of color b. When i = 2 and 3, t2 ≦ tag in
It becomes (4, i). Therefore, input arc selection function for each color 1
5 determines that arcs 2 → 4 and 3 → 4 are environment input arcs.

【0100】5.トークン到着監視機能12は、この環
境入力アーク上に色bのトークンが揃っているため(図
4(1))、ノード4を発火させる。
5. The token arrival monitoring function 12 fires the node 4 because the tokens of color b are aligned on this environment input arc (FIG. 4 (1)).

【0101】6.ノード分類機能13は、ノード4を演
算ノードと識別し、演算命令実行手段20Bへ制御信号
を送る。
6. The node classification function 13 identifies the node 4 as an operation node and sends a control signal to the operation instruction executing means 20B.

【0102】7.入力トークン処理機能21Bは、環境
入力アーク上の色bのトークンを取り除く。
7. The input token processing function 21B removes the token of color b on the environment input arc.

【0103】8.演算実行機能22は演算を行う。8. The calculation execution function 22 performs a calculation.

【0104】9.トークン出力機能23Bは、t2≦t
agout (4,1)からアーク4→5を環境出力アーク
と判別し、入力トークンの色をコピーし、実行環境レベ
ルt2としたトークンをアーク4→5に出力する(図4
(2))。
9. The token output function 23B is t2 ≦ t
From ag out (4,1), the arc 4 → 5 is determined as the environment output arc, the color of the input token is copied, and the token having the execution environment level t2 is output to the arc 4 → 5 (FIG. 4).
(2)).

【0105】次に、ノード5に注目する。Next, pay attention to the node 5.

【0106】1.色検出機能14は、色bが存在するこ
とを検出する。
1. The color detection function 14 detects the presence of the color b.

【0107】2.色別入力アーク選定機能15は、色b
のトークンのタグより実行環境レベルがt2であること
を知る。t2≦tagin(5,1)が満たされるため、
色別入力アーク選定機能15は、アーク4→5を環境入
力アークと判定する。
2. The input arc selection function 15 for each color is the color b
It is known that the execution environment level is t2 from the tag of the token. Since t2 ≦ tag in (5,1) is satisfied,
The color-specific input arc selection function 15 determines that the arcs 4 → 5 are environment input arcs.

【0108】3.色別入力アーク選定機能15は、環境
入力アーク上に色bのトークンが揃っているため(図4
(2))、ノード5を発火させる。
3. The input arc selection function 15 for each color has the tokens of color b on the environment input arc (see FIG. 4).
(2)), the node 5 is fired.

【0109】4.ノード分類機能13は、制御命令実行
手段30Bへ制御信号を送る。制御命令デコード機能3
1がこのノードを分配ノードと判断する。
4. The node classification function 13 sends a control signal to the control command execution means 30B. Control instruction decoding function 3
1 determines this node as a distribution node.

【0110】5.j=1,2においてt2≦tagout
(5,j)であるので、分配ノードではアーク5→6,
5→7を環境出力アークであると判定する。入力トーク
ンの色をコピーし、実行環境レベルt2としたトークン
を、これらの環境出力アーク上に出力する(図4
(3))。
5. When j = 1, 2, t2 ≦ tag out
Since it is (5, j), arc 5 → 6 at the distribution node
It is determined that 5 → 7 is an environmental output arc. The color of the input token is copied, and the token having the execution environment level t2 is output on these environment output arcs (see FIG. 4).
(3)).

【0111】以上のようにして、環境依存発火機能と環
境依存分配機能を有するデータ駆動実行制御装置(色付
きトークンモデルを使用)は実行を行う。
As described above, the data-driven execution control device (using the colored token model) having the environment-dependent firing function and the environment-dependent distribution function executes.

【0112】色付きトークンモデルによる要求駆動実行
制御法への実施例:デマンド伝播に関しては、〔従来の
技術〕と同様である。デマンドの伝播したノード、およ
び、その入力アークからなる部分グラフを、実行するデ
ータフローグラフとする。この部分グラフを環境依存発
火機能と環境依存分配機能を有するデータ駆動実行制御
装置(色付きトークンモデルを使用)により実行させ
る。
Example of Request-Driven Execution Control Method Using Colored Token Model: The demand propagation is the same as in the [Prior Art]. A subgraph consisting of a node to which a demand has propagated and its input arc is a data flow graph to be executed. This subgraph is executed by a data driven execution control device (using a colored token model) having an environment-dependent firing function and an environment-dependent distribution function.

【0113】[0113]

【発明の効果】以上示したように、本発明は、トークン
に実行環境レベル、ノードに環境レベルを与えて、環境
依存発火機能と環境依存分配機能を実行制御装置が有す
ることにより、1つのデータフローグラフを複数の環境
レベルで共有して同時に計算を進めても、互いに独立に
それぞれの環境レベルに応じた必要最小限の計算だけを
行わせることが可能となる効果がある。
As described above, according to the present invention, the execution control device has the environment-dependent firing function and the environment-dependent distribution function by giving the execution environment level to the token and the environment level to the node. Even if the flow graph is shared by a plurality of environment levels and the calculations are carried out at the same time, it is possible to independently perform only the minimum necessary calculation according to each environment level.

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

【図1】環境依存発火機能と環境依存分配機能を有する
データ駆動実行制御装置の構成例を示すブロック図であ
る。
FIG. 1 is a block diagram showing a configuration example of a data driven execution control device having an environment-dependent firing function and an environment-dependent distribution function.

【図2】環境レベルを用いた計算経路制御例を示す図で
ある。
FIG. 2 is a diagram showing an example of calculation route control using an environment level.

【図3】環境依存発火機能と環境依存分配機能を有する
データ駆動実行制御装置の構成例(色付きトークン方
式)を示すブロック図である。
FIG. 3 is a block diagram showing a configuration example (colored token system) of a data driven execution control device having an environment-dependent firing function and an environment-dependent distribution function.

【図4】色付きトークン方式における環境レベルに応じ
た発火制御の例を示す図である。
FIG. 4 is a diagram showing an example of ignition control according to an environment level in a colored token system.

【図5】従来のデータ駆動実行制御装置の構成例を示す
図である。
FIG. 5 is a diagram showing a configuration example of a conventional data driven execution control device.

【図6】データ駆動実行例を示す図である。FIG. 6 is a diagram illustrating a data driven execution example.

【図7】要求駆動実行例を示す図である。FIG. 7 is a diagram illustrating an example of request driving execution.

【図8】従来のデータ駆動実行装置の構成例(色付きト
ークン)を示すブロック図である。
FIG. 8 is a block diagram showing a configuration example (colored token) of a conventional data driven execution device.

【図9】色付きトークンによる発火例を示す図である。FIG. 9 is a diagram showing an example of firing by a colored token.

【符号の説明】[Explanation of symbols]

10A,10B,10C,10D 発火制御手段 20A,20B,20C,20D 演算命令実行手段 30A,30B,30C,30D 制御命令実行手段 11 入力アーク選定機能 12 トークン到着監視機能 13 ノード分類機能 14 色検出機能 15 色別入力アーク選定機能 16 色付きトークン到着監視機能 21A,21B 入力トークン処理機能 22 演算実行機能 23A,23B,23C,23D トークン出力機能 31 制御命令デコード機能 32A,32B,32C 分配ノード(D) 33 分配ノード(SW) 34A,34B,34C 手続き呼出しノード(CA
LL) 35A,35B,35C,35D 手続き復帰ノード
(RETURN) 36 手続き開始ノード(ENTRY)
10A, 10B, 10C, 10D Ignition control means 20A, 20B, 20C, 20D Arithmetic command execution means 30A, 30B, 30C, 30D Control command execution means 11 Input arc selection function 12 Token arrival monitoring function 13 Node classification function 14 Color detection function 15 Color-based input arc selection function 16 Colored token arrival monitoring function 21A, 21B Input token processing function 22 Arithmetic execution function 23A, 23B, 23C, 23D Token output function 31 Control instruction decoding function 32A, 32B, 32C Distribution node (D) 33 Distribution node (SW) 34A, 34B, 34C Procedure call node (CA)
LL) 35A, 35B, 35C, 35D Procedure return node (RETURN) 36 Procedure start node (ENTRY)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 環境レベルと呼ぶ数値が付与されたノー
ドと、実行環境レベルと呼ぶ数値が付与されたトークン
を備え、 ノードとノード間を結合するアークで構成されたデータ
フローグラフでプログラムを表現し、 トークンが前記データフローグラフ上の経路に沿って伝
播させる途中でトークンの入力アークへの到着を監視
し、指定された前記実行環境レベルを持つトークンが、
該実行環境レベル以上の前記環境レベルを持つノードか
ら当該ノードへ向かう全ての入力アーク上に揃うと、当
該ノードに対応づけられた命令を識別する発火制御手段
と、 当該ノードが前記発火制御手段で演算命令と識別された
場合、到着したトークンを入力して演算を行い、該演算
結果をトークンの値に代入し、該トークンを、該トーク
ンの前記実行環境レベル以上の環境レベルを持つノード
に向かう出力アーク上に伝播させる演算命令実行手段
と、 当該ノードが前記発火制御手段で制御命令と識別された
場合、当該ノードの命令内容に従って到着したトークン
の経路を変更し、該トークンを、該トークンの前記実行
環境レベル以上の前記環境レベルを持つノードに向かう
出力アーク上に伝播させる制御命令実行手段を有する、
データフロー計算機の実行制御装置。
1. A program is represented by a data flow graph including a node to which a numerical value called an environment level is added and a token to which a numerical value called an execution environment level is added, and which is composed of an arc connecting nodes and nodes. Then, while the token propagates along the route on the data flow graph, the arrival of the token at the input arc is monitored, and the token having the specified execution environment level is
When all the input arcs from the node having the environment level equal to or higher than the execution environment level to the node are aligned, the firing control means for identifying the instruction associated with the node and the firing control means for the node are provided. When it is identified as an operation instruction, the arrived token is input and operation is performed, the operation result is substituted for the value of the token, and the token is directed to a node having an environment level equal to or higher than the execution environment level of the token. When the operation command executing means for propagating on the output arc and the node are identified as the control command by the firing control means, the route of the arrived token is changed according to the instruction content of the node, and the token is A control instruction executing means for propagating on an output arc toward a node having the environment level equal to or higher than the execution environment level,
Execution control device for data flow computer.
JP15384193A 1993-06-24 1993-06-24 Data flow computer execution control device Expired - Fee Related JP3732530B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15384193A JP3732530B2 (en) 1993-06-24 1993-06-24 Data flow computer execution control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15384193A JP3732530B2 (en) 1993-06-24 1993-06-24 Data flow computer execution control device

Publications (2)

Publication Number Publication Date
JPH0713958A true JPH0713958A (en) 1995-01-17
JP3732530B2 JP3732530B2 (en) 2006-01-05

Family

ID=15571274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15384193A Expired - Fee Related JP3732530B2 (en) 1993-06-24 1993-06-24 Data flow computer execution control device

Country Status (1)

Country Link
JP (1) JP3732530B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010541048A (en) * 2007-09-20 2010-12-24 アビニシオ テクノロジー エルエルシー Data flow management in graph-based calculations
JP2010287122A (en) * 2009-06-12 2010-12-24 Fujitsu Semiconductor Ltd Multiplexing auxiliary pe and semiconductor integrated circuit
JP2013008221A (en) * 2011-06-24 2013-01-10 National Institute Of Information & Communication Technology Logic inference system, computation learning apparatus, and logic inference method
US8769244B2 (en) 2008-04-22 2014-07-01 Nec Corporation SIMD parallel computer system, SIMD parallel computing method, and control program
WO2019064828A1 (en) * 2017-09-26 2019-04-04 ソニー株式会社 Information processing device, autonomous moving device, and method, and program

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010541048A (en) * 2007-09-20 2010-12-24 アビニシオ テクノロジー エルエルシー Data flow management in graph-based calculations
US8954482B2 (en) 2007-09-20 2015-02-10 Ab Initio Technology Llc Managing data flows in graph-based computations
US8769244B2 (en) 2008-04-22 2014-07-01 Nec Corporation SIMD parallel computer system, SIMD parallel computing method, and control program
JP2010287122A (en) * 2009-06-12 2010-12-24 Fujitsu Semiconductor Ltd Multiplexing auxiliary pe and semiconductor integrated circuit
US9317475B2 (en) 2009-06-12 2016-04-19 Cypress Semiconductor Corporation Multiplexing auxiliary processing element and semiconductor integrated circuit
JP2013008221A (en) * 2011-06-24 2013-01-10 National Institute Of Information & Communication Technology Logic inference system, computation learning apparatus, and logic inference method
WO2019064828A1 (en) * 2017-09-26 2019-04-04 ソニー株式会社 Information processing device, autonomous moving device, and method, and program
JPWO2019064828A1 (en) * 2017-09-26 2020-11-26 ソニー株式会社 Information processing equipment, autonomous mobile devices, and methods, and programs
US11481017B2 (en) 2017-09-26 2022-10-25 Sony Corporation Power reduction in an autonomous mobile by stopping data processing in an upstream node when there is no downstream node using the output data

Also Published As

Publication number Publication date
JP3732530B2 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
JPH06139199A (en) Data processing system
JPH06124352A (en) Data driven type information processor
JPH0713958A (en) Execution controller for data flow computer
JPH11272645A (en) Information processor of data driving type
SU615538A1 (en) Arrangement for retrieving information from storage unit
US5748933A (en) Data driven type information processor suitable for image processing that utilizes a configuration condition
JPH06139220A (en) Neuro computer
CN109948785B (en) High-efficiency neural network circuit system and method
JP3708560B2 (en) Data flow type information processor
JPH07121504A (en) Data flow graph verifying device
JPH0644389A (en) Data driving information processor
JPS63240667A (en) Parallel data processor
JP2579185B2 (en) Data flow program execution control method
JPH0756886A (en) Parallel control system based on petri net
JP3389261B2 (en) Data-driven information processor
JPH01159730A (en) Microprogram control device
JPS6336522B2 (en)
JPH05298080A (en) Reachability discriminating method
JPH0273469A (en) Logical simulation system
JPH04264983A (en) Printed board automatic wiring device
JPS61143851A (en) Information processor
JPH0620071A (en) Data driven information processor
JPS6170643A (en) Input and output arithmetic processing system of programmable controller
JPH01286069A (en) Inference control system
JPH09282160A (en) Multi-branching control system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050316

A521 Written amendment

Effective date: 20050513

Free format text: JAPANESE INTERMEDIATE CODE: A523

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051013

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20101021

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20111021

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20121021

LAPS Cancellation because of no payment of annual fees