JPH05334391A - Control circuit generating device - Google Patents

Control circuit generating device

Info

Publication number
JPH05334391A
JPH05334391A JP14122692A JP14122692A JPH05334391A JP H05334391 A JPH05334391 A JP H05334391A JP 14122692 A JP14122692 A JP 14122692A JP 14122692 A JP14122692 A JP 14122692A JP H05334391 A JPH05334391 A JP H05334391A
Authority
JP
Japan
Prior art keywords
data flow
control
condition code
flow graph
control data
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.)
Pending
Application number
JP14122692A
Other languages
Japanese (ja)
Inventor
Kazutoshi Wakabayashi
一敏 若林
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP14122692A priority Critical patent/JPH05334391A/en
Publication of JPH05334391A publication Critical patent/JPH05334391A/en
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PURPOSE:To generate an efficient control sequence by deciding whether or not an arithmetic node and a storage element node can share the same computing element and register and performing scheduling which utilizes the result. CONSTITUTION:This control circuit generating device has a control data flow graph reading device 2 which reads a control data flow graph 1 in, an execution condition code generating device 3 which grants the execution conditions of arithmetic in the graph to each arithmetic operation, a scheduling device 4 which schedules the respective arithmetic operations, and a control sequence generating device 5 which generates a control circuit 6. The control data flow graph 1 is read in by the control data flow graph reading device 2, the arithmetic execution condition code generating device 3 grants arithmetic execution condition codes to the respective arithmetic operations in conditional branches of the graph, and the control sequence generating circuit 5 generates control sequences, condition by condition, by utilizing the codes and outputs the control circuit for the output of the scheduling device 4.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、回路の動作の制御およ
びデータの流れを表す制御データフローグラフの演算を
スケジューリングした結果に対してその動作シーケンス
を決定し、制御回路を合成する装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus for synthesizing a control circuit by deciding an operation sequence for the result of scheduling the operation of a control data flow graph representing the control of the operation of the circuit and the flow of data.

【0002】[0002]

【従来の技術】制御およびデータの流れを表わす制御デ
ータフローグラフからその演算の実行順序を決定しその
実行ステップを決定するスケジューリングを行なった結
果は、例えば図8の(1)のようになる。このスケジュ
ーリング結果を実行する時、従来は図8の(3)のよう
に各ステップの演算を逐次実行するような制御回路を生
成していた。
2. Description of the Related Art A result of performing scheduling for determining the execution order of its operations and its execution step from a control data flow graph showing the flow of control and data becomes, for example, as shown in (1) of FIG. When executing this scheduling result, conventionally, a control circuit has been generated that sequentially executes the operation of each step as shown in (3) of FIG.

【0003】しかしながら、制御データフローで示され
る回路動作が条件分岐を含む場合、上記のように得られ
た動作シーケンスはより改善される余地がある。即ち、
条件分岐のどの条件が成立するかによって、ある動作ス
テップを実行せず飛び越して次の動作ステップを実行す
ることができることがある。
However, when the circuit operation indicated by the control data flow includes a conditional branch, the operation sequence obtained as described above has room for improvement. That is,
Depending on which condition of the conditional branch is satisfied, it may be possible to jump to the next operation step without executing the operation step.

【0004】このような分岐条件の成立・不成立によっ
てある動作ステップを飛び越せるかどうかは、各演算ノ
ードの実行条件を解析することによって求めることがで
きる。しかし、条件がネストの深い複雑なものである場
合、スキップする条件を求めるのは非常に計算時間がか
かっていた。
Whether or not a certain operation step can be skipped depending on whether or not such a branch condition is satisfied can be obtained by analyzing the execution condition of each operation node. However, when the conditions are deeply nested and complicated, it takes a long time to calculate the conditions to be skipped.

【0005】[0005]

【発明が解決しようとする課題】したがって上記のよう
な方法では、平均的な実行速度の遅い動作をおこなう制
御回路を生成してしまうという問題点、また、演算の数
が増えたり条件が複雑な場合には効率のよい動作を行な
う制御回路を求めるのに多大な時間を必要としてしまう
問題点があった。
Therefore, in the above method, there is a problem in that a control circuit that performs an operation whose average execution speed is slow is generated, and the number of operations increases and the conditions are complicated. In this case, it takes a lot of time to find a control circuit that operates efficiently.

【0006】本発明の目的は、このような問題点を除去
して、条件分岐をもつような制御データフローグラフを
スケジューリングした結果に対して、効率的な制御シー
ケンスを与える制御回路を動作ステップ数に比例する計
算時間で生成可能な制御回路生成装置を提供することに
ある。
An object of the present invention is to eliminate such problems and to provide a control circuit which gives an efficient control sequence to the result of scheduling a control data flow graph having conditional branches. It is an object of the present invention to provide a control circuit generation device that can be generated in a calculation time proportional to.

【0007】さらに、従来の手法ではその制御データフ
ローグラフが陽に示しておらずデータ依存関係を解析し
ないと判明しないような演算間の排他性は排他としない
ため、必要な演算器数が多く算定されてしまうという問
題があった。
Further, in the conventional method, since the control data flow graph is not explicitly shown and the exclusivity between the operations which cannot be found without analyzing the data dependency is not exclusive, the number of necessary arithmetic units is calculated to be large. There was a problem that it would be done.

【0008】本発明の第二の目的は、このような制御デ
ータフローグラフに陽に示されていない演算間の排他性
を考慮してより効率のよい制御シーケンスを与えること
のできる制御回路生成装置を提供することである。
A second object of the present invention is to provide a control circuit generator capable of giving a more efficient control sequence in consideration of exclusivity between operations not explicitly shown in the control data flow graph. Is to provide.

【0009】また、従来スケジューリングや並列化コン
パイラでは、分岐内演算が条件分岐の分岐演算より先に
実行されるようなスケジューリングを想定していなかっ
た。このような場合には演算の排他性が条件分岐演算が
実行済みかどうかで動的に変化するが、そのような動的
な排他性を考慮にいれて制御回路を求めることができな
いという問題点があった。
Further, in the conventional scheduling and parallelizing compiler, the scheduling in which the intra-branch operation is executed prior to the branch operation of the conditional branch has not been assumed. In such a case, the exclusivity of the operation dynamically changes depending on whether or not the conditional branch operation has been executed, but there is a problem that the control circuit cannot be obtained in consideration of such dynamic exclusivity. It was

【0010】本発明の第三の目的は、このような動的な
演算間の排他性を利用して必要演算器数を求めることが
可能な制御回路生成装置を提供することである。
A third object of the present invention is to provide a control circuit generation device capable of obtaining the required number of arithmetic units by utilizing such exclusivity between dynamic arithmetic operations.

【0011】[0011]

【課題を解決するための手段】本発明の制御回路生成装
置は、回路の動作の制御およびデータ流れを表す制御デ
ータフローグラフを入力とし前記制御データフローグラ
フをスケジューリングした結果の制御回路を生成する装
置であって、制御データフローグラフ読み込み装置と、
読み込まれた制御データフローグラフを入力とする実行
条件符号生成装置と、前記実行条件符号生成装置の出力
を入力としスケジューリングをおこなうスケジューリン
グ装置と、スケジューリングされた結果を制御する制御
装置を合成する制御シーケンス生成装置とを有する。
A control circuit generator according to the present invention generates a control circuit which is a result of scheduling a control data flow graph, which receives a control data flow graph representing control of circuit operation and data flow. A device, which is a control data flow graph reading device,
A control sequence for synthesizing an execution condition code generation device that receives the read control data flow graph, a scheduling device that performs scheduling by using the output of the execution condition code generation device, and a control device that controls the scheduled result. And a generator.

【0012】また、本発明の制御回路生成装置は、制御
データフローグラブに陽に示されない演算間の排他性を
データ依存関係から導きだし、その演算間の排他性を示
す演算実行条件符号を生成するデータ依存実行条件符号
生成装置を含む。
Further, the control circuit generator of the present invention derives the exclusivity between the operations which is not explicitly shown in the control data flow grab from the data dependency and generates the operation execution condition code indicating the exclusivity between the operations. A dependent execution condition code generation device is included.

【0013】さらに、本発明の制御回路生成装置は、条
件分岐の分岐を決定する条件判定演算が終了した場合と
しない場合で動的に変化する分岐内演算の排他性を示す
演算実行条件符号を生成する動的実行条件符号生成装置
を含む。
Further, the control circuit generation device of the present invention generates an operation execution condition code indicating the exclusivity of the intra-branch operation which dynamically changes depending on whether the conditional judgment operation for determining the conditional branch is completed or not. And a dynamic execution condition code generation device for performing the same.

【0014】[0014]

【作用】本発明によれば、制御データフローグラフを制
御データフローグラフ読み込み装置によって読み込み、
そのグラフの条件分岐内の各演算に対し、演算実行条件
符号生成装置によって後にのべる演算実行条件符号を付
与し、その符号を利用して制御シーケンス生成装置が条
件毎の制御シーケンスを生成し、制御回路を出力する。
According to the present invention, the control data flow graph is read by the control data flow graph reading device,
An operation execution condition code generator gives a later operation execution condition code to each operation in the conditional branch of the graph, and the control sequence generator generates a control sequence for each condition using the code, and controls Output the circuit.

【0015】また、制御データフローグラフを制御デー
タフローグラフ読み込み装置によって読み込み、そのグ
ラフの条件分岐内の各演算に対し、演算実行条件符号生
成装置によってデータ依存関係に基づき制御データフロ
ーグラフに陽に示されていない演算の実行条件を導き、
それを示すような演算実行条件符号を付与し、この符号
を利用して制御シーケンス生成装置が条件毎の制御シー
ケンスを生成し、制御回路を出力する。
Further, the control data flow graph is read by the control data flow graph reading device, and for each operation in the conditional branch of the graph, the operation execution condition code generation device explicitly sets the control data flow graph on the control data flow graph. Derives the execution conditions for the operations not shown,
An operation execution condition code indicating that is given, and the control sequence generation device generates a control sequence for each condition using this code, and outputs the control circuit.

【0016】さらに、制御データフローグラフを制御デ
ータフローグラフ読み込み装置によって読み込み、その
グラフの条件分岐内の各演算に対し、演算実行条件符号
生成装置によって条件分岐演算が実行済みか否かによっ
て動的に変化する演算間の排他性を示すような演算実行
条件符号を付与し、この符号を利用して制御シーケンス
生成装置が条件毎の制御シーケンスを生成し、制御回路
を出力する。
Further, the control data flow graph is read by the control data flow graph reading device, and for each operation in the conditional branch of the graph, the operation execution condition code generator dynamically determines whether or not the conditional branch operation has been executed. The operation execution condition code indicating the exclusivity between the operations is changed, the control sequence generation device generates a control sequence for each condition by using this code, and outputs the control circuit.

【0017】[0017]

【実施例】以下、本発明について図面を参照しながら説
明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to the drawings.

【0018】図1は本発明の第一の実施例を示す説明図
である。同図において本発明の制御回路生成装置は、制
御データフローグラフ1を読み込む制御データフローグ
ラフ読み込み装置2と,グラフ内の演算の実行条件を各
演算に付与する実行条件符号生成装置3と,各演算をス
ケジュールするスケジューリング装置4と,制御回路6
を生成する制御シーケンス生成装置5とを有する。
FIG. 1 is an explanatory view showing a first embodiment of the present invention. In the figure, the control circuit generation device of the present invention comprises a control data flow graph reading device 2 for reading a control data flow graph 1, an execution condition code generation device 3 for giving an execution condition of an operation in the graph to each operation, Scheduling device 4 for scheduling computation and control circuit 6
And a control sequence generation device 5 for generating.

【0019】最初に制御データフローグラフ1を制御デ
ータフローグラフ読み込み装置2によってよみこむ。デ
ータフローグラフの演算ノード及び記憶要素ノード(以
後「レジスタノード」と呼ぶ),データの転送を示すノ
ード(以後「転送ノード」と呼ぶ)それぞれに、実行条
件符号生成装置3によってそれぞれの演算の実行条件符
号(以後「条件符号」と呼ぶ)を付与する。(以後、演
算ノードとレジスタノード,転送ノードはその排他性解
析に関しては同様に扱えるので一般に演算とレジスタ,
転送のことを単に演算と記し、演算ノードでレジスタノ
ードや転送ノードを代表する。)条件符号は以下の様な
性質を持った符号であり、制御データフローグラフの演
算ノード,レジスタノード,転送ノードの実行条件を示
す。
First, the control data flow graph 1 is read by the control data flow graph reading device 2. Execution of each operation by the execution condition code generation device 3 on each of the operation node and storage element node (hereinafter referred to as "register node") of the data flow graph, and the node indicating transfer of data (hereinafter referred to as "transfer node") A condition code (hereinafter referred to as “condition code”) is given. (Hereinafter, the operation node and the register node, and the transfer node can be treated in the same manner regarding the exclusivity analysis.
Transfer is simply referred to as operation, and the operation node represents a register node or a transfer node. ) The condition code is a code having the following properties and indicates the execution condition of the operation node, the register node, and the transfer node of the control data flow graph.

【0020】図4は動作記述および条件符号の例を示す
説明図、図5は図4の分岐構造を示す説明図である。同
図を参照すると、条件符号では、条件分岐の葉となる条
件(分岐構造を見た時の葉に相当する条件)の数だけの
長さの符号で葉条件が一つだけ‘1’を持つように定義
する。図4の動作記述の分岐構造は図5のようであり、
分岐の葉は3つある。よって、条件符号は3ビットとな
る。図では上の方から順に左から1を立てているが、順
番は任意である。
FIG. 4 is an explanatory diagram showing an example of the behavioral description and condition code, and FIG. 5 is an explanatory diagram showing the branch structure of FIG. Referring to the figure, in the condition code, the code is as long as the number of conditions that are the leaves of the conditional branch (the conditions corresponding to the leaves when the branch structure is viewed), and only one leaf condition is "1". Define to have. The branch structure of the behavioral description of FIG. 4 is as shown in FIG.
There are three branch leaves. Therefore, the condition code is 3 bits. In the figure, 1 is set from the left in order from the top, but the order is arbitrary.

【0021】図5に示すように葉条件以外はその子ども
の条件の符号の論理和(符号をベクタと考えた時の論理
和)で与えられる。図4の(あ)に(1)から(6)の
それぞれの演算に対応する条件符号を示す。
As shown in FIG. 5, except the leaf condition, they are given by the logical sum of the signs of the child's condition (logical sum when the sign is considered as a vector). Condition codes corresponding to the respective operations (1) to (6) are shown in FIG.

【0022】実行条件符号生成装置3はこのように決め
られた条件符号を制御データフローグラフ上のノードに
付与する。定義から、ある二つの条件符号が互いに同一
場所に‘1’成分を持たない時互いに排他的であること
がわかり、その場合その二つの条件符号をもったノード
は同一の演算器(またはレジスタ等)を共用できる。
The execution condition code generation device 3 gives the condition code thus determined to the node on the control data flow graph. From the definition, it can be seen that two condition codes are mutually exclusive when they do not have a '1' component in the same place. In that case, the nodes with the two condition codes are the same operator (or register, etc.). ) Can be shared.

【0023】図2は本発明の第二の実施例を示す説明図
である。同図において本発明の制御回路生成装置はデー
タ依存実行条件符号生成装置3aを含む。この場合、条
件符号はデータ依存関係に基づく相互排他性を示すよう
なものになっている。
FIG. 2 is an explanatory view showing the second embodiment of the present invention. In the figure, the control circuit generator of the present invention includes a data-dependent execution condition code generator 3a. In this case, the condition code is such as to indicate mutual exclusivity based on the data dependency.

【0024】ある演算結果がその後ろにつづく条件分岐
のすべての葉条件で利用されず、かつそれ以降でも利用
されない時、その演算結果を計算する演算とその結果を
利用しない条件で実行される演算は排他的である。例え
ば図4の(1)のXの値は(6)の葉条件では利用され
ない。すなわち(1)と(6)が実行されるのは排他的
である。
When a certain operation result is not used in all leaf conditions of the conditional branch following it, and is not used thereafter, an operation for calculating the operation result and an operation executed under the condition not using the result Is exclusive. For example, the value of X in (1) of FIG. 4 is not used in the leaf condition of (6). That is, the execution of (1) and (6) is exclusive.

【0025】このようなデータ依存の実行条件符号は制
御データフローグラフの分岐終了ノードの直前の演算ノ
ードに第一の実施例で説明した条件符号を与え、それ以
外のノードは自分の直後ノード(直後にあるノード)の
条件符号の論理和で条件符号を得る。例えば図4の
(2)と(5)は分岐終了ノードの直前ノードであり第
一の実施例に従って〔100〕と〔001〕という条件
符号をつける。(1)の直後ノードは(2)と(5)で
あるから(1)の条件符号は〔101〕となる。この
時、図4の(1)(図6の演算1)と図4の(6)(図
6の演算4)の条件符号は〔101〕と〔010〕とな
り、これは上述したデータ依存関係にもとづく相互排他
性を示している。図4の(い)に第二の実施例による条
件符号を示す。
Such a data-dependent execution condition code gives the condition code described in the first embodiment to the operation node immediately before the branch end node of the control data flow graph, and the other nodes (nodes immediately after it) ( The condition code is obtained by the logical sum of the condition codes of the immediately following node). For example, (2) and (5) in FIG. 4 are nodes immediately before the branch end node, and the condition codes [100] and [001] are added according to the first embodiment. Since the nodes immediately after (1) are (2) and (5), the condition code of (1) is [101]. At this time, the condition codes of (1) in FIG. 4 (operation 1 in FIG. 6) and (6) in FIG. 4 (operation 4 in FIG. 6) are [101] and [010], which are the above-mentioned data dependency relationships. It shows mutual exclusivity based on. The condition code according to the second embodiment is shown in FIG.

【0026】図3は本発明の第三の実施例を示す説明図
である。同図において本発明の制御回路生成装置は動的
実行条件符号生成装置3bを含む。この場合、条件符号
は動的な相互排他性をしめすようなものになっている。
FIG. 3 is an explanatory view showing a third embodiment of the present invention. In the figure, the control circuit generator of the present invention includes a dynamic execution condition code generator 3b. In this case, the condition code is such that it exhibits dynamic mutual exclusivity.

【0027】動的な相互排他性は条件分岐の分岐テスト
が実行済みか否かで動的に変化する相互排他性のことで
ある。例えば、図6の制御データフローグラフの演算の
動作ステップが図7のように決定していたとする。する
と演算4,演算5を実行する時には、条件演算7の実行
が終了していない。よって演算4と演算5のどちらを実
行したらいいのか動作ステップS2では決定できないか
ら両方の演算を実行しなければならず、この二つの演算
は相互に排他ではなく、演算器を共用できない。
The dynamic mutual exclusivity is the mutual exclusivity that dynamically changes depending on whether or not the branch test of the conditional branch has been executed. For example, it is assumed that the operation step of the calculation of the control data flow graph of FIG. 6 is determined as shown in FIG. Then, when the operations 4 and 5 are executed, the execution of the conditional operation 7 is not completed. Therefore, since it is not possible to determine which of the operation 4 and the operation 5 should be executed in the operation step S2, both operations must be executed, and these two operations are not mutually exclusive, and the operation unit cannot be shared.

【0028】このように条件演算がある演算の実行より
前に終了しているかどうかで演算間の排他性は動的に変
化する。このような動的な実行条件符号は、実行の終了
していない条件演算の条件符号と条件符号をもとめたい
演算の条件符号の論理和をとることによって得られる。
ただし、ここで分岐条件演算は対象となる演算の実行を
制御する分岐テスト演算に限る。即ち条件演算を求めた
い演算の条件符号と条件演算の条件符号が同じ位置に
‘1’をもたなければお互い無関係であり、このような
条件演算とは論理和をとらない。
As described above, the exclusivity between operations dynamically changes depending on whether the conditional operation is completed before the execution of a certain operation. Such a dynamic execution condition code is obtained by taking the logical sum of the condition code of the conditional operation whose execution has not ended and the condition code of the operation for which the condition code is desired.
However, here, the branch condition operation is limited to the branch test operation that controls the execution of the target operation. That is, unless the condition code of the operation for which the conditional operation is desired and the condition code of the conditional operation have "1" at the same position, they are irrelevant to each other and do not perform a logical sum with such conditional operation.

【0029】図7に上記の動作ステップが与えられた時
の条件符号を示した。また、図4の(う)および(え)
に条件演算(2)と(5)がそれぞれ未実行な場合,実
行した場合の条件符号を示した。
FIG. 7 shows the condition codes when the above operation steps are given. Also, (u) and (e) in FIG.
Shows the condition code when the conditional operations (2) and (5) are not executed and when they are executed.

【0030】次に、上記のようにして各演算に付与され
た条件符号をもつ制御データフローグラフの演算ノード
をスケジューリング装置4によってスケジューリングす
る。各演算ノードはデータの依存関係を満たすように並
列化される。このようにスケジューリングされた結果の
例を図8の(1)に示す。
Next, the scheduling device 4 schedules the operation node of the control data flow graph having the condition code assigned to each operation as described above. Each operation node is parallelized so as to satisfy the data dependency relationship. An example of the result of such scheduling is shown in (1) of FIG.

【0031】スケジューリング結果は制御シーケンス生
成装置5に入力される。制御シーケンス生成装置5は、
各ステップに割り付けられたすべての演算の条件符号の
ベクトル和をとる。図8の(2)のSALLは、図8の
(1)のスケジューリング結果の各ステップの演算の条
件符号のベクトル和を示す。ここで、SALL(2)の
ベクトル和の成分の‘0’を探す。
The scheduling result is input to the control sequence generator 5. The control sequence generation device 5
The vector sum of the condition codes of all operations assigned to each step is taken. SALL in (2) of FIG. 8 indicates the vector sum of the condition codes of the operations in each step of the scheduling result in (1) of FIG. Here, “0” of the component of the vector sum of SALL (2) is searched for.

【0032】ベクトル和の‘0’はそのビット位置の条
件でどんな演算も実行されないことを示すから、この0
ビットの条件ではその動作ステップは実行せず飛び越し
てもいいことになる。よって、ベクトル和(2)をみて
0の成分を飛び越すように制御シーケンスを合成する
と、図8の(4)のようになる。図の例では従来常に4
ステップかかっていた動作ステップが条件によって4ス
テップ,2ステップ,または3ステップで実行可能とな
り、平均的に少ないステップ数で動作を終了することが
できる。
Since "0" in the vector sum indicates that no operation is executed under the condition of the bit position, this 0
Under the bit condition, the operation step may be skipped without executing. Therefore, when the control sequences are combined so as to jump over the 0 component by looking at the vector sum (2), the result becomes (4) in FIG. In the example in the figure, it is always 4
Depending on the conditions, the operation steps that have taken steps can be executed in four steps, two steps, or three steps, and the operation can be completed with an average small number of steps.

【0033】[0033]

【発明の効果】本発明によれば、コンパイラや自動機能
設計の時、制御データフローグラフの構造を解析するこ
となく演算ノードや記憶要素ノードが同一の演算器やレ
ジスタを共用できるかどうかを判定し、その結果を利用
したスケジューリングを行ない、スケジューリング結果
に対して効率的な制御シーケンスを生成する装置を提供
することが可能である。
According to the present invention, when a compiler or automatic function design is performed, it is determined whether or not an operation node or a storage element node can share the same operation unit or register without analyzing the structure of the control data flow graph. However, it is possible to provide a device that performs scheduling using the result and generates an efficient control sequence for the scheduling result.

【0034】さらに、明示的に示された演算間の相互排
他性より広い相互排他性を求めることができるため、よ
り多くの演算が同一の演算器を共有することができる可
能性があり、コンパイラが出力する機械語や自動機能設
計が合成する合成回路の品質(速度、面積・記憶容量)
を向上可能である。このような場合にも効率的な制御シ
ーケンスを生成することが可能である。
Further, since it is possible to obtain a wider mutual exclusivity than the explicitly indicated mutual exclusivity, it is possible that more operations can share the same arithmetic unit, and the compiler outputs Quality (speed, area, memory capacity) of the synthetic circuit synthesized by machine language and automatic functional design
Can be improved. Even in such a case, it is possible to generate an efficient control sequence.

【0035】また、動的な相互排他性が求められるの
で、コンパイラや自動機能設計に用いた際条件分岐内の
演算を条件分岐のテストを行なう演算より先に実行する
ような場合にも同一演算を共用可能かどうか判定でき
る。そのような設計が可能となることにより、コンパイ
ラや自動機能設計システムの性能が改善される。そして
このような動的に演算間の排他性が変化する場合にも効
率的な制御シーケンスを生成することが可能である。
Since dynamic mutual exclusivity is required, the same operation is performed when the operation in the conditional branch is executed before the operation for testing the conditional branch when used for the compiler or automatic functional design. Can be determined whether it can be shared. By enabling such a design, the performance of the compiler and the automatic functional design system is improved. Even when such exclusivity between operations dynamically changes, an efficient control sequence can be generated.

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

【図1】本発明の第一の実施例を示す説明図。FIG. 1 is an explanatory diagram showing a first embodiment of the present invention.

【図2】本発明の第二の実施例を示す説明図。FIG. 2 is an explanatory diagram showing a second embodiment of the present invention.

【図3】本発明の第三の実施例を示す説明図。FIG. 3 is an explanatory diagram showing a third embodiment of the present invention.

【図4】動作記述の例とその条件符号を示す説明図。FIG. 4 is an explanatory diagram showing an example of a behavioral description and its condition code.

【図5】図4の分岐構造を示す説明図。5 is an explanatory view showing a branch structure of FIG.

【図6】第二の実施例によって得られる条件符号の例を
示す説明図。
FIG. 6 is an explanatory diagram showing an example of a condition code obtained by the second embodiment.

【図7】第三の実施例によって得らえれる条件符号の例
を示す説明図。
FIG. 7 is an explanatory diagram showing an example of a condition code obtained by the third embodiment.

【図8】制御シーケンス生成装置の作用例を示す説明
図。
FIG. 8 is an explanatory diagram showing an operation example of a control sequence generation device.

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

1 制御データフローグラフ 2 制御データフローグラフ読み込み装置 3 実行条件符号生成装置 4 スケジューリング装置 5 制御シーケンス生成装置 1 Control Data Flow Graph 2 Control Data Flow Graph Reading Device 3 Execution Condition Code Generation Device 4 Scheduling Device 5 Control Sequence Generation Device

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 回路の動作の制御およびデータ流れを表
す制御データフローグラフを入力とし前記制御データフ
ローグラフをスケジューリングした結果の制御回路を生
成する装置であって、制御データフローグラフ読み込み
装置と、読み込まれた制御データフローグラフを入力と
する実行条件符号生成装置と、前記実行条件符号生成装
置の出力を入力としスケジューリングをおこなうスケジ
ューリング装置と、スケジューリングされた結果を制御
する制御装置を合成する制御シーケンス生成装置とを有
することを特徴とする制御回路生成装置。
1. A device for generating a control circuit as a result of scheduling a control data flow graph, the control data flow graph representing a control of the operation of a circuit and a data flow, the control data flow graph reading device comprising: A control sequence for synthesizing an execution condition code generation device that receives the read control data flow graph, a scheduling device that performs scheduling by using the output of the execution condition code generation device, and a control device that controls the scheduled result. A control circuit generation device comprising: a generation device.
【請求項2】 制御データフローグラブに陽に示されな
い演算間の排他性をデータ依存関係から導きだし、その
演算間の排他性を示す演算実行条件符号を生成するデー
タ依存実行条件符号生成装置を含むことを特徴とする請
求項1記載の制御回路生成装置。
2. A data-dependent execution condition code generator for deriving the exclusivity between operations not explicitly shown in the control data flow grab from the data dependency relationship and for generating the operation execution condition code indicating the exclusivity between the operations. The control circuit generation device according to claim 1, wherein
【請求項3】 条件分岐の分岐を決定する条件判定演算
が終了した場合としない場合で動的に変化する分岐内演
算の排他性を示す演算実行条件符号を生成する動的実行
条件符号生成装置を含むことを特徴とする請求項1また
は2記載の制御回路生成装置。
3. A dynamic execution condition code generation device for generating an operation execution condition code that indicates the exclusivity of an intra-branch operation that dynamically changes depending on whether or not a condition determination operation for determining a branch of a conditional branch is completed. The control circuit generation device according to claim 1 or 2, further comprising:
JP14122692A 1992-06-02 1992-06-02 Control circuit generating device Pending JPH05334391A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14122692A JPH05334391A (en) 1992-06-02 1992-06-02 Control circuit generating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14122692A JPH05334391A (en) 1992-06-02 1992-06-02 Control circuit generating device

Publications (1)

Publication Number Publication Date
JPH05334391A true JPH05334391A (en) 1993-12-17

Family

ID=15287054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14122692A Pending JPH05334391A (en) 1992-06-02 1992-06-02 Control circuit generating device

Country Status (1)

Country Link
JP (1) JPH05334391A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245250A (en) * 2008-03-31 2009-10-22 Nec Corp Description processing device and method, and program
US8250502B2 (en) 2006-09-29 2012-08-21 Nec Corporation Automated synthesis apparatus and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250502B2 (en) 2006-09-29 2012-08-21 Nec Corporation Automated synthesis apparatus and method
JP2009245250A (en) * 2008-03-31 2009-10-22 Nec Corp Description processing device and method, and program
US8375376B2 (en) 2008-03-31 2013-02-12 Nec Corporation Description processing device, description processing method, and recording medium

Similar Documents

Publication Publication Date Title
US6817013B2 (en) Program optimization method, and compiler using the same
JP4042604B2 (en) Program parallelization apparatus, program parallelization method, and program parallelization program
US5577256A (en) Data driven type information processor including a combined program memory and memory for queuing operand data
US6611956B1 (en) Instruction string optimization with estimation of basic block dependence relations where the first step is to remove self-dependent branching
CN112559053A (en) Data synchronization processing method and device for reconfigurable processor
JP2006505061A (en) Processor pipeline design method and design system
US7152218B2 (en) Behavioral synthesis system, behavioral synthesis method, control program, readable recording medium, logic circuit production method, and logic circuit
JP2002527816A (en) Program optimization apparatus and method
JPH05334391A (en) Control circuit generating device
US6449763B1 (en) High-level synthesis apparatus, high level synthesis method, and recording medium carrying a program for implementing the same
Bringmann et al. Synchronization detection for multi-process hierarchical synthesis
JP2000268074A (en) Device and method for automatically generating verification program and device and method for automatically generating property
US20140173572A1 (en) Constraint derivation in context following for use with object code insertion
JPH05334465A (en) Device for counting the number of required computing elements/storage devices/data transfer devices
JPWO2021100122A1 (en) Design support system and design support program
JPH05334466A (en) Device for judging sharability of computing element/ storage device/data transfer device
JPH1196018A (en) Compiling device, its method and computer-readable recording medium recording compiling execution program
JPH07105013A (en) Register allocation system
JPH04252336A (en) Program optimization processor
JP3246462B2 (en) Function synthesizing method using C language circuit model and recording medium storing the program
JPS61202223A (en) Recording system of tree route data for decision of condition
JP2000057199A (en) Device for supporting design of system and computer- readable recording medium recording design support program
JPH06251103A (en) High order synthesizing device
JPS63198130A (en) System for selecting loop optimum instruction train
Geβner et al. Synthesis of control units in a design environment for chip architecture

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990518