JPH0337780A - Relative rank analyzing system for data driving type processor - Google Patents

Relative rank analyzing system for data driving type processor

Info

Publication number
JPH0337780A
JPH0337780A JP17257889A JP17257889A JPH0337780A JP H0337780 A JPH0337780 A JP H0337780A JP 17257889 A JP17257889 A JP 17257889A JP 17257889 A JP17257889 A JP 17257889A JP H0337780 A JPH0337780 A JP H0337780A
Authority
JP
Japan
Prior art keywords
node
rank
rank value
arcs
value
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
JP17257889A
Other languages
Japanese (ja)
Other versions
JP2554169B2 (en
Inventor
Hiromiki Naitou
裕幹 内藤
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP1172578A priority Critical patent/JP2554169B2/en
Publication of JPH0337780A publication Critical patent/JPH0337780A/en
Application granted granted Critical
Publication of JP2554169B2 publication Critical patent/JP2554169B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は、高級言語で記述されたソースプログラムをフ
ローグラフ形式のオブジェクトプログラムにコンパイル
して実行する非ノイマン形のデータ駆動型プロセッサの
相対ランク解析方式に関する。
[Detailed Description of the Invention] <Industrial Application Field> The present invention relates to the relative rank of a non-Neumann type data-driven processor that compiles and executes a source program written in a high-level language into a flow graph-format object program. Regarding analysis method.

〈従来の技術〉 最近、多量データ高速処理の要請を満たすべく、逐次処
理方式のノイマン形プロセッサに代わって、プログラム
中のどの複数の命令でもその入力が揃った時点で並列演
算できるハードウェア構成になった非ノイマン形のデー
タ駆動型プロセッサが研究。
<Prior art> Recently, in order to meet the demand for high-speed processing of large amounts of data, hardware configurations have been developed that can perform parallel operations on any number of instructions in a program as soon as their inputs are complete, replacing the sequential processing type Neumann type processor. Research into non-Neumann data-driven processors.

開発され、実用化されつつある。It has been developed and is being put into practical use.

このデータ駆動型プロセッサは、第5図に示すように、
高級言語で分割記述された複数のソースプログラム1,
1.・・・を、第2図のようなフローグラフの形で表わ
された中間オブジェクトプログラム2.2.・・・に夫
々コンパイルし、これらの中間オブジェクトプログラム
2,2.・・・を同時にランク解析しつつ1つにリンク
して実行オブジェクトプログラム3を生成し、この実行
オブジェクトプログラム3に基づいてデータ駆動方式の
演算を行なっている。即ち、各中間オブジェクトプログ
ラム2は、第2図に示すように、全ての入力が揃った時
点で演算を行って結果を出力する複数のノードX1、x
2.・・・、xlOからなり、これらのノードを入カノ
ードXI、X2を先頭にして、同時実行可能な乙のを横
方向の同一ランクに配して実行順に縦方向に並べ、各ノ
ードの人、出力を互いにアークで結び、末尾に関数呼出
しノードxlOを配して構成される。そして、このよう
な構成の複数の中間オブジェクトプログラム2の入力ノ
ードの入力アーク相互ならびに関数呼び出しノードの出
力アーク相互を関係づけて一度にリンクし、かつ全ノー
ドの絶対ランクを一度に決定して、1つの実行オブジェ
クトプログラム3を生成するのである。
This data-driven processor, as shown in FIG.
Multiple source programs divided and written in a high-level language 1,
1. ... is expressed in the form of a flow graph as shown in FIG. 2. An intermediate object program 2.2. . . and compile these intermediate object programs 2, 2 . ... are simultaneously rank-analyzed and linked into one to generate an execution object program 3, and data-driven calculations are performed based on this execution object program 3. That is, as shown in FIG. 2, each intermediate object program 2 has a plurality of nodes X1,
2. ..., xlO, these nodes are arranged vertically in the order of execution, with the input nodes XI and It is constructed by connecting the outputs with each other with an arc and placing a function call node xlO at the end. Then, the input arcs of the input nodes of the plurality of intermediate object programs 2 having such a configuration and the output arcs of the function call nodes are linked together at once, and the absolute ranks of all the nodes are determined at once, One execution object program 3 is generated.

〈発明が解決しようとする課題〉 ところが、上記従来のデータ駆動型プロセッサによる実
行オブジェクトプログラムの作成方式は、分割記述され
た複数のソースプログラムlを夫々中間オブジェクトプ
ログラム2にコンパイルし、これら複数の中間オブジェ
クトプログラム2を1つにリンクする時点で一括して全
ノードのランク解析(実行順序の決定)を行なっている
ため、1つのソースプログラムlだけを部分修正する場
合でも、その中間オブジェクトプログラムのみならず修
正に関係のない他の中間オブジェクトプログラム全体に
亘るランク解析が必要となり、実行オブジェクトプログ
ラム3の生成に長時間を要するという欠点がある。
<Problems to be Solved by the Invention> However, in the conventional method for creating an executable object program using a data-driven processor, a plurality of source programs l written in separate parts are compiled into intermediate object programs 2, and these plural intermediate Since rank analysis (execution order determination) of all nodes is performed at once when object programs 2 are linked together, even if only one source program is to be partially modified, only the intermediate object program will be modified. However, it is necessary to perform rank analysis on all other intermediate object programs that are not related to the modification, and there is a drawback that it takes a long time to generate the execution object program 3.

そこで、本発明の目的は、各ソースプログラムをコンパ
イルする時点でその中間オブジェクトについて個々に相
対ランク解析を行なうことによって、実行オブジェクト
プログラムを高速に生成することができるデータ駆動型
プロセッサの相対ランク解析方式を提供することである
Therefore, an object of the present invention is to provide a relative rank analysis method for a data-driven processor that can generate an executable object program at high speed by performing relative rank analysis on each intermediate object at the time of compiling each source program. The goal is to provide the following.

〈課題を解決するための手段〉 上記目的を達成するため、本発明のデータ駆動型プロセ
ッサの相対ランク解析方式は、分割して作成された複数
のソースプログラムを夫々中間オブジェクトにコンパイ
ルし、プログラムを構成するノードを同時実行可能なも
のを横方向の同一のランクに配して実行順に縦方向に並
べ、各ノードを互い1.;アークで結んでなる上記中間
オブジェクトが表わすフローグラフをランク解析して各
ノードの実行順序を決定するととびに、これらの中間オ
ブジェクトを1つにリンクして実行オブジェクトを生成
するデータ駆動型プロセッサにおいて、上記中間オブジ
ェクトが表わすフローグラフの先頭のノードにそのラン
ク値に対応する変数を与える変数付与手段と、先頭以降
のノードについてそのノードに入力するアーク数を判別
し、入力アーク数がIのときあるいは入力アーク数が2
で直前のノードのランク値が互いに等しいとき、直前の
ノードのランク値に1を加えた値をそのノードに与え、
入力アーク数が2で直前のノードのランク値が互いに等
しくないとき、直前のノードのランク値のうち大きい方
の値に1を加えた値をそのノードに与え、入力アーク数
が3以上のとき、直前の各ノードのランク値を各アーク
に与える相対ランク値付与手段と、中間オブジェクトの
リンク時に、各中間オブジェクトの先頭ノードの実行順
序に対応した絶対ランク値を上記変数付与手段の変数と
して置数する置数手段を備えて、実行オブジェクト生成
の高速化を図ったことを特徴とする。
<Means for Solving the Problems> In order to achieve the above object, the data-driven processor relative rank analysis method of the present invention compiles a plurality of divided source programs into intermediate objects, and compiles the programs into intermediate objects. Constituent nodes that can be executed simultaneously are arranged in the same rank in the horizontal direction and arranged vertically in the order of execution, and each node is 1. ;In a data-driven processor that ranks the flow graph represented by the intermediate objects connected by arcs to determine the execution order of each node, and then links these intermediate objects into one to generate an execution object. , a variable adding means for giving a variable corresponding to the rank value to the first node of the flow graph represented by the intermediate object, and determining the number of arcs to be input to the node after the first node, and when the number of input arcs is I. Or the number of input arcs is 2
When the rank values of the immediately preceding nodes are equal to each other, give that node the value obtained by adding 1 to the rank value of the immediately preceding node,
When the number of input arcs is 2 and the rank values of the previous nodes are not equal to each other, the value obtained by adding 1 to the larger rank value of the previous node is given to that node, and when the number of input arcs is 3 or more , relative rank value assigning means for assigning the rank value of each immediately preceding node to each arc, and when linking intermediate objects, an absolute rank value corresponding to the execution order of the first node of each intermediate object is set as a variable in the variable assigning means. The present invention is characterized in that it is equipped with a number setting means for counting, thereby speeding up execution object generation.

〈作用〉 分割して作成された複数のソースプログラムは、フロー
グラフで表わされる中間オブジェクトに夫々コンパイル
され、各中間オブジェクトに次の処理がなされる。変数
付与手段は、中間オブジェクトが表わすフローグラフの
先頭のノードにそのランク値に対応する変数を与える。
<Operation> A plurality of divided source programs are compiled into intermediate objects represented by flow graphs, and the following processing is performed on each intermediate object. The variable assigning means assigns a variable corresponding to the rank value to the first node of the flow graph represented by the intermediate object.

次いで、相対ランク値付与手段は、先頭以降のノードに
ついてそのノードに入力するアーク数を判別し、直前の
ノードのランク値を比較してそのノードまたはアークに
相対ランク値を与える。即ち、入力アーク数が1.入力
アーク数か2で直前のノードのランク値が互いに等しい
ときは、直前のノードのランク値にIを加えた値をその
ノードに、入力アーク数が2で直前のノードのランク値
が互いに等しくないときは、直前のノードのランク値の
うち大きい方の値にIを加えた値をそのノードに、入力
アーク数が3以上のときは、直前のノードのランク値を
各アークに夫々相対ランク値として与える。こうして、
各中間オブジェクトのフローグラフの各ノードに与えら
れた相対ランク値は、上記変数を含んでいるが、中間オ
ブジェクトのリンク時に置数手段が、先頭ノードの実行
順に対応した絶対ランク値を上記変数に置数するので、
全ノードの絶対ランク値が直ちに決まる。従って、1つ
のソースプログラムだけを部分修正する場合には、他の
ソースプログラムの中間オブジェクトのノードの相対ラ
ンク値は不変ゆえランク解析が不要となり、そのソース
プログラムの中間オブジェクトのみをランク解析するだ
けで済むので、実行オブジェクトを高速に生成ずろこと
ができる。
Next, the relative rank value assigning means determines the number of arcs to be input to the node after the first node, compares the rank value of the immediately preceding node, and assigns a relative rank value to that node or arc. That is, when the number of input arcs is 1. If the number of input arcs is 2 and the rank values of the previous nodes are equal, add I to the rank value of the previous node to that node, and if the number of input arcs is 2 and the rank values of the previous nodes are equal to each other. If not, the value obtained by adding I to the larger rank value of the immediately preceding node is assigned to that node, and when the number of input arcs is 3 or more, the rank value of the immediately preceding node is assigned to each arc as a relative rank. Give it as a value. thus,
The relative rank value given to each node in the flow graph of each intermediate object includes the above variables, but when linking intermediate objects, the numeral means assigns the absolute rank value corresponding to the execution order of the first node to the above variable. Since the number is set,
Absolute rank values for all nodes are immediately determined. Therefore, when only one source program is partially modified, rank analysis is not necessary because the relative rank values of nodes of intermediate objects in other source programs remain unchanged, and rank analysis is only required for intermediate objects in that source program. Therefore, execution objects can be generated quickly.

〈実施例〉 以下、本発明を図示の実施例により詳細に説明する。<Example> Hereinafter, the present invention will be explained in detail with reference to illustrated embodiments.

第1図は本発明の相対ランク解析方式を採用したデータ
駆動型プロセッサの実行オブジェクトプログラム生成手
順の一例を示している。このデータ駆動型プロセッサは
、複数の中間オブジェクトプログラムのリンクとランク
解析を同時に一括して行なっていた第5図の従来例と異
なり、分割記述された複数のソースプログラム(以下、
ソースと略す)1,1.・・・を既に述べたフローグラ
フ(第2図参照)で記述される中間オブジェクトプログ
ラム(以下、中間オブジェクトと略す)2,2.・・・
に夫々コンパイルし、この時点で各中間オブジェクトを
個々に相対的にランク解析した後、これらの中間オブジ
ェクト2,2.・・・を1つの実行オブジェクト3にリ
ンクするようになっている。
FIG. 1 shows an example of a procedure for generating an execution object program for a data-driven processor employing the relative rank analysis method of the present invention. This data-driven processor differs from the conventional example shown in FIG. 5 in which the linking and rank analysis of multiple intermediate object programs are performed simultaneously and collectively.
(abbreviated as source) 1,1. An intermediate object program (hereinafter abbreviated as intermediate object) 2,2. ...
, respectively, and at this point after performing a relative rank analysis of each intermediate object individually, these intermediate objects 2, 2 . ... are linked to one execution object 3.

上記データ駆動型プロセッサは、相対ランク解析を行な
うべく、変数付与手段9相対ランク値付与手段および置
数手段を駆動プログラムの形でソフトウェアとして有す
る。
The data-driven processor has a variable assigning means 9, a relative rank value assigning means, and a number setting means as software in the form of a driving program in order to perform relative rank analysis.

上記変数付与手段は、コンパイルによって得られた中間
オブジェクト2が表わす第2図のフローグラフにおいて
、先頭の入力ノードX1およびに2に、そのランク値に
対応する変数ylly2およびy4を第3図の如く与え
る。また、上記相対ランク値付与手段は、先頭以降のノ
ードxl、x3.・・・、XIOについてそのノードに
入力するアーク数を判別し、かつ直前のノードのランク
値を比較してそのノードまたはアークに次のように相対
ランク値を与える。即ち、入力アーク数が1のときある
いは入力アーク数が2で直前のノードのランク値が互い
に等しいときは、直前のノードのランク値に1を加えた
値をそのノードに(第3.4図のノードX3 、X4 
、x5 、x6 、x8 、x9参照)、入力アーク数
が2で直前のノードのランク値が互いに等しくないとき
は、直前のノードのランク値のうち大きい方の値に1を
加えた値をそのノードに(第3.4図のノードxl、y
3、X7.y5参照)、入力アーク数が3以上のときは
、直前の各ノードのランク値を各アークに(第3.4図
のノードXIO参照)夫々上記相対ランク値として与え
る。なお、第3図の末尾の入力アーク数か3以上のノー
ドxlOは、最終演算結果を出力する関数呼出しノード
であり、第3図の相対ランク値欄中のy3=yl :y
2は、右辺の値の大きい方に!を加えた値を相対ランク
値たる左辺の値とすることを表わす。以上の変数付与手
段と相対ランク値付与手段による処理は、第4図のフロ
ーチャートに示すようになる。
The variable assigning means assigns variables ylly2 and y4 corresponding to the rank values to the first input nodes X1 and 2 in the flow graph of FIG. 2 represented by the intermediate object 2 obtained by compilation, as shown in FIG. give. Further, the relative rank value assigning means applies nodes xl, x3 . ..., determines the number of arcs input to that node for XIO, compares the rank value of the immediately previous node, and gives a relative rank value to that node or arc as follows. That is, when the number of input arcs is 1 or when the number of input arcs is 2 and the rank values of the immediately preceding nodes are equal, the value obtained by adding 1 to the rank value of the immediately preceding node is assigned to that node (see Figure 3.4). nodes X3, X4
, x5 , x6 , x8 , x9), when the number of input arcs is 2 and the rank values of the immediately preceding nodes are not equal to each other, the value obtained by adding 1 to the larger rank value of the immediately preceding node is to the nodes (nodes xl, y in Figure 3.4)
3.X7. y5), when the number of input arcs is 3 or more, the rank value of each immediately preceding node is given to each arc (see node XIO in Figure 3.4) as the relative rank value. Note that the node xlO at the end of FIG. 3 where the number of input arcs is 3 or more is a function call node that outputs the final calculation result, and y3=yl:y in the relative rank value column of FIG.
2 is the larger value on the right side! represents that the value added is the value on the left side, which is the relative rank value. The above-described processing by the variable assigning means and the relative rank assigning means is as shown in the flowchart of FIG.

さらに、上記置数手段は、第1図に示す中間才ブジェク
ト2,2.・・・のリンク時に、各中間オブジェクトの
先頭ノード(XI、X2)の実行順序に対応した絶対ラ
ンク値を上記変数付与手段の変数(yl、y2 、y4
 )として置数する。すると、この置数によって、第3
図に相対ランク値のテーブルに基づいて、全ソードの絶
対ランク値が単純計算により迅速に決定される。
Furthermore, the above-mentioned numeral setting means can be used for intermediate objects 2, 2 . . . shown in FIG. When linking..., the absolute rank value corresponding to the execution order of the first node (XI, X2) of each intermediate object is set to the variable (yl, y2, y4
). Then, by this number, the third
Based on the table of relative rank values shown in the figure, the absolute rank values of all swords can be quickly determined by simple calculations.

上記構成のデータ駆動型プロセッサ1こよるm対ランク
解析方式について、第4図のフローチャートを参照しつ
つ次に述べる。
The m-pair rank analysis method using the data-driven processor 1 having the above configuration will be described below with reference to the flowchart shown in FIG.

分割作成されたソースは、ステップS2で、コンパイル
によって各ノードの実行順序を示す第2図の如きフロー
グラフで記述される中間オブジェクトに翻訳される。次
に、ステップS2でまず先頭の入力ノードX1が取り出
され、変数付与手段か2つの入力アークに相対ランク値
として変数yl、y2(第2.3図参照)を与える。す
ると、相対ランク値付与手段は、ステップS3で入力ア
ーク数が2ゆえ肯と判断し、ステップS4で両入力アー
クが同一ランク値でないので否と判断して、入カノード
xlの相対ランク値を未決定相対ランク値y3 =yl
 :y2として登録する。続いて、ステップS9でノー
ド未了ゆえ否となってステップS2に戻り、次の入力ノ
ードX2が取り出され、変数付与手段は入力ノードX2
に相対ランク値として変数y4を付与する。さらに、ス
テップS2で、次のノードX3が取り出され、ノードX
3は入力アーク数が1なので、相対ランク値付与手段は
、ステップS3.S6.S7と進んでノードX3に直前
のノードxlのランク値y3に1を加えて、これをノー
ドX3の相対ランク(ffl(y3+1)とする。以降
のノードX4 、X5 、X6 、X8 、X9につい
てもこれと同様の手順で相対ランク値が与えられる。
In step S2, the divided source is compiled and translated into an intermediate object described by a flow graph as shown in FIG. 2, which shows the execution order of each node. Next, in step S2, the first input node X1 is taken out, and the variable adding means gives variables yl and y2 (see FIG. 2.3) as relative rank values to the two input arcs. Then, in step S3, the relative rank value assigning means judges yes because the number of input arcs is 2, and in step S4 judges negative because both input arcs do not have the same rank value, and sets the relative rank value of the input node xl to an unknown value. Determined relative rank value y3 = yl
:Register as y2. Subsequently, in step S9, the result is negative because the node has not been completed, and the process returns to step S2, where the next input node
A variable y4 is assigned as a relative rank value. Furthermore, in step S2, the next node X3 is retrieved, and the node
3, the number of input arcs is 1, so the relative rank value assigning means performs step S3. S6. Proceeding to S7, 1 is added to the rank value y3 of the previous node xl to node X3, and this is set as the relative rank (ffl(y3+1)) of node Relative rank values are given using a similar procedure.

一方、ノードX7は入力アーク数が2で直前のノードに
3.に5のランク値がy3 + I 、y4 + 1と
異なるため、相対ランク値付与手段は、ステップS3、
S4.S5と進んで未決定相対ランク値y5 =y3 
+I :y4 + 1をノードX7に付与する。仮に、
ノードX7の入力アークがノードX5の代わりにノード
X4につながっていたとすると、直前のノードのランク
値はどちらもy3+tとなるので、ステップS3.S4
.S7と進んでこのノードの相対ランク値はy3+2と
なる。末尾のノードxlOは、入力アーク数か3以上の
関数呼出しノードであるため、相対ランク値付与手段は
、ステップ53S6.S8と進んで、直前の各ノードX
6 、X7 、X8X9のランク値y3 + 2 、y
5 、y3 + 2 、y4 + 2を各入力アークの
相対ランク値として登録する。こうして、各中間オブジ
ェクトの全ノードの相対ランク値が第3図の如く決定さ
れ、第1図のランク解析が終了する。
On the other hand, node X7 has 2 input arcs and 3. Since the rank value of 5 is different from y3 + I and y4 + 1, the relative rank value assigning means performs step S3,
S4. Proceed to S5 and undetermined relative rank value y5 = y3
+I: Give y4 + 1 to node X7. what if,
If the input arc of node X7 were connected to node X4 instead of node X5, the rank values of the immediately preceding nodes would both be y3+t, so step S3. S4
.. Proceeding to S7, the relative rank value of this node becomes y3+2. Since the last node xlO is a function calling node with the number of input arcs being 3 or more, the relative rank value assigning means performs step 53S6. Proceed to S8 and each previous node
6, X7, X8X9 rank value y3 + 2, y
5, y3 + 2, and y4 + 2 are registered as relative rank values of each input arc. In this way, the relative rank values of all nodes of each intermediate object are determined as shown in FIG. 3, and the rank analysis of FIG. 1 is completed.

最後に、第1図の中間オブジェクトの一括リンク時に、
置数手段が各中間オブジェクトの先頭ノードXI、X2
に与えられていた変数y I 、y2 、y4に、実行
順序に対応した絶対ランク値を置数し、これによって第
3図の相対ランク値テーブルに基づいて、全ノードの絶
対ランク値が単純計算により迅速に決定される。
Finally, when linking intermediate objects in Figure 1 at once,
The numeral means is the first node XI, X2 of each intermediate object.
By setting the absolute rank values corresponding to the execution order to the variables y I , y2 , and y4 given to determined quickly.

このように、上記実施例では、分割記述された複数のソ
ースを中間オブジェクトに夫々コンパイルした時点で、
各中間オブジェクトを個々に相対ランク解析した後、こ
れらの中間オブジェクトを簡易に絶対ランク付けしなが
ら一括リンクして実行オブジェクトを作成するようにし
ているので、1つのソースだけを部分修正する場合に、
池のソースの中間オブジェクトの相対ランク値は不変た
からランク解析が不要となり、そのソースの中間オブジ
ェクトのみをランク解析するだけで済むので、実行オブ
ジェクトを従来例に比して格段に高速に生成することが
できる。
In this way, in the above embodiment, at the time when the multiple divided sources are compiled into intermediate objects,
After analyzing the relative rank of each intermediate object, these intermediate objects are easily ranked in absolute terms and linked together to create an execution object, so when only one source is partially modified,
Since the relative rank value of the intermediate object of the pond source remains unchanged, rank analysis is not necessary, and only the rank analysis of the intermediate object of the source is required, so the execution object can be generated much faster than in the conventional example. I can do it.

なお、本発明が図示の実施例に限られないのはいうまで
もない。
It goes without saying that the present invention is not limited to the illustrated embodiment.

〈発明の効果〉 以上の説明で明らかなように、本発明のデータ駆動型プ
ロセッサの相対ランク解析方式は、各ソースをコンパイ
ルした中間オブジェクトが表わすフローグラフの先頭ノ
ードにランク値に対応する変数を与える変数付与手段と
、先頭以降のノードに所定のアルゴリズム1こよりラン
ク値を与える相対ランク値付与手段と、各中間オブジェ
クトを−括リンクする際上記変数に実行順序に対応した
絶対ランク値を置数する置数手段を備えて、側々の中間
オブジェクトを予め相対うンク付けするようにしている
ので、特定のソースのみを部分修正する場合に他のソー
スの中間オブジェクトのランク解析か不要になって、実
行オブジェクトを高速に生成することができる。
<Effects of the Invention> As is clear from the above explanation, the relative rank analysis method of the data-driven processor of the present invention adds a variable corresponding to the rank value to the first node of the flow graph represented by the intermediate object obtained by compiling each source. a relative rank value assigning means for assigning a rank value to nodes after the first one based on a predetermined algorithm; and a relative rank value assigning means for assigning a rank value to nodes after the first one based on a predetermined algorithm, and an absolute rank value assigned to the above variable corresponding to the execution order when linking each intermediate object Since intermediate objects on both sides are relative indexed in advance, rank analysis of intermediate objects of other sources is no longer necessary when only a specific source is partially corrected. , execution objects can be generated quickly.

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

第1図は本発明の相対ランク解析方式の実行オブジェク
ト生成手順の一例を示す図、第2図は中間オブジェクト
のフローグラフを示す、第3図は中間オブジェクトの各
ノードの相対ランク値テーブルを示す図、第4図は」二
記生成手順の流れを示すフローチャート、第5図は従来
の実行オブジェクト生成手順を示す図である。 ■・ ソースプログラム、 2・・中間オブジェクトプログラム、 3・・・実行オブジェクトプログラム。 特 許 出 願 人  シャープ株式会社代 理 人 
弁理士  前出 葆 ほか1名第2図 第3図
Fig. 1 is a diagram showing an example of an execution object generation procedure using the relative rank analysis method of the present invention, Fig. 2 is a flow graph of an intermediate object, and Fig. 3 is a relative rank value table of each node of the intermediate object. 4 is a flowchart showing the flow of the second generation procedure, and FIG. 5 is a diagram showing the conventional execution object generation procedure. ■ Source program, 2... Intermediate object program, 3... Execution object program. Patent applicant: Sharp Corporation Agent
Patent attorney Maeda Hao and 1 other person Figure 2 Figure 3

Claims (1)

【特許請求の範囲】[Claims] (1)分割して作成された複数のソースプログラムを夫
々中間オブジェクトにコンパイルし、プログラムを構成
するノードを同時実行可能なものを横方向の同一のラン
クに配して実行順に縦方向に並べ、各ノードを互いにア
ークで結んでなる上記中間オブジェクトが表わすフロー
グラフをランク解析して各ノードの実行順序を決定する
とともに、これらの中間オブジェクトを1つにリンクし
て実行オブジェクトを生成するデータ駆動型プロセッサ
において、 上記中間オブジェクトが表わすフローグラフの先頭のノ
ードにそのランク値に対応する変数を与える変数付与手
段と、先頭以降のノードについてそのノードに入力する
アーク数を判別し、入力アーク数が1のときあるいは入
力アーク数が2で直前のノードのランク値が互いに等し
いとき、直前のノードのランク値に1を加えた値をその
ノードに与え、入力アーク数が2で直前のノードのラン
ク値が互いに等しくないとき、直前のノードのランク値
のうち大きい方の値に1を加えた値をそのノードに与え
、入力アーク数が3以上のとき、直前の各ノードのラン
ク値を夫々のアークに与える相対ランク値付与手段と、
中間オブジェクトのリンク時に、各中間オブジェクトの
先頭ノードの実行順序に対応した絶対ランク値を上記変
数付与手段の変数として置数する置数手段を備えて、実
行オブジェクト生成の高速化を図ったことを特徴とする
データ駆動型プロセッサの相対ランク解析方式。
(1) Compiling multiple source programs created by dividing each into intermediate objects, arranging the nodes that make up the program that can be executed simultaneously in the same rank horizontally, and arranging them vertically in the order of execution; A data-driven type that determines the execution order of each node by rank-analyzing the flow graph represented by the above-mentioned intermediate objects that connect nodes with each other with arcs, and also generates an execution object by linking these intermediate objects into one. In the processor, a variable assigning means for assigning a variable corresponding to the rank value to the first node of the flow graph represented by the intermediate object, and determining the number of arcs to be input to the node after the first node, and determining whether the number of input arcs is 1. or when the number of input arcs is 2 and the rank values of the previous nodes are equal, the value obtained by adding 1 to the rank value of the previous node is given to that node, and the number of input arcs is 2 and the rank value of the previous node is given to that node are not equal to each other, the value obtained by adding 1 to the larger rank value of the immediately preceding node is given to that node, and when the number of input arcs is 3 or more, the rank value of each immediately preceding node is assigned to each arc. a means for assigning a relative rank value to the
When linking intermediate objects, speeding up execution object generation is achieved by providing a setting means for setting an absolute rank value corresponding to the execution order of the first node of each intermediate object as a variable in the variable adding means. Features a relative rank analysis method for data-driven processors.
JP1172578A 1989-07-04 1989-07-04 Relative Rank Analysis Method for Data Driven Processor Expired - Fee Related JP2554169B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1172578A JP2554169B2 (en) 1989-07-04 1989-07-04 Relative Rank Analysis Method for Data Driven Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1172578A JP2554169B2 (en) 1989-07-04 1989-07-04 Relative Rank Analysis Method for Data Driven Processor

Publications (2)

Publication Number Publication Date
JPH0337780A true JPH0337780A (en) 1991-02-19
JP2554169B2 JP2554169B2 (en) 1996-11-13

Family

ID=15944436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1172578A Expired - Fee Related JP2554169B2 (en) 1989-07-04 1989-07-04 Relative Rank Analysis Method for Data Driven Processor

Country Status (1)

Country Link
JP (1) JP2554169B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107586B2 (en) 2000-08-07 2006-09-12 Matsushita Electric Industrial Co., Ltd. Intermediate object linking method and unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107586B2 (en) 2000-08-07 2006-09-12 Matsushita Electric Industrial Co., Ltd. Intermediate object linking method and unit

Also Published As

Publication number Publication date
JP2554169B2 (en) 1996-11-13

Similar Documents

Publication Publication Date Title
Aho et al. On finding lowest common ancestors in trees
JPH0475139A (en) Loop parallelizing system
JPH0337780A (en) Relative rank analyzing system for data driving type processor
JPH01118931A (en) Program conversion method
Morris et al. The specification of program flow in Madcap 6
JPH0764766A (en) Maximum / minimum value calculation method for parallel computers
JP2002312167A (en) Program for causing computer to calculate variable value, compilation program, variable value determination method, and program generation method
JPH06231203A (en) Compilation mechanism for simulation model
JPH04287121A (en) Tuple space system
JPH0460719A (en) Electronic computer
JP2764358B2 (en) Data driven information processor
JP3658771B2 (en) Compiler device
JPS62239236A (en) Compiler for program
JPH02116930A (en) Array processing system in input/output library
Lew Nondeterministic dynamic programming on a parallel coprocessing system
JPH02109135A (en) Do form array input conversion system
CN119808901A (en) Compilation method, data loading method, device and medium of neural network model
Barta PACOL: A parallel control language
JP3124000B2 (en) Inline expansion system for structured user-defined operations
JPS6382520A (en) Execution cost calculating method for input and output sentence
McGrath The enhancement of concurrent processing through functional programming languages.
JPS63316235A (en) System for allotting arithmetic register in loop construction
JPH01250173A (en) Circuit dividing system for parallel circuit simulation
Nagy et al. A Systematic Numerical Reduction Algorithm for Scheduling Graphs Imitating Symbolic Reduction
JPH0399329A (en) Objective program generating system

Legal Events

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