JPH05334466A - 演算器・記憶装置・データ転送装置共有可能性判定装置 - Google Patents

演算器・記憶装置・データ転送装置共有可能性判定装置

Info

Publication number
JPH05334466A
JPH05334466A JP4141227A JP14122792A JPH05334466A JP H05334466 A JPH05334466 A JP H05334466A JP 4141227 A JP4141227 A JP 4141227A JP 14122792 A JP14122792 A JP 14122792A JP H05334466 A JPH05334466 A JP H05334466A
Authority
JP
Japan
Prior art keywords
operations
condition code
exclusivity
execution condition
flow graph
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
JP4141227A
Other languages
English (en)
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 JP4141227A priority Critical patent/JPH05334466A/ja
Publication of JPH05334466A publication Critical patent/JPH05334466A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】演算や記憶の実行条件の排他性を解析し、機能
合成やコンパイラでの資源の共用可能性を検出する。 【構成】制御データフローグラフ1を制御データフロー
グラフ読み込み装置2で読み込み、グラフ内の演算の実
行条件を表すビット列を各演算に実行条件符号生成装置
3で付与し、各演算の実行条件符号により演算間の実行
の排他性を排他性解析装置4で判定する。 【効果】制御データフローグラフを直接解析するのに比
べ高速に解析可能になり、コンパイラや機能合成の際の
並列性を向上できる。特に演算間の並列性をも解析でき
るため、並列性向上の効果が高い。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、回路の動作の制御およ
びデータの流れを表す制御データフローグラフの演算の
同一の演算器,または記憶要素(レジスタ等)に対する
共有可能性を判定する装置に関する。
【0002】
【従来の技術】条件分岐を含む回路の制御およびデータ
の流れを表わすデータフローグラフからその演算の実行
順序を決定しその実行ステップを決定するスケジューリ
ングを行なうためには、制御データフローグラフ内の演
算の実行の排他性を解析し、同一の演算器を共用できる
かどうかを判定する必要がある。
【0003】このような排他性の解析は対象となる演算
が異なる分岐に属するかどうか制御データフローグラフ
を直接検査することで行なうこが可能であり、例えば図
6は図4の動作記述に対する制御データフローグラフで
ある。
【0004】図6において△で示されるノードは条件分
岐によってデータが分岐することを示す分岐開始ノード
であり、▽で示されるノードは条件分岐によってデータ
を選択することを示す分岐終了ノードである。この分岐
と選択は、条件演算ノード6,7の結果に従って行なわ
れる。
【0005】例えば、分岐開始ノード8,9,14,1
5,16と分岐終了、ノード10は条件演算6の演算結
果によって分岐と選択が行なわれる。また、分岐開始ノ
ード11,12,と分岐終了ノード13は演算7によっ
て制御される。1,2,3,4,5,6,7は演算を示
す演算ノードである。
【0006】ここで、演算4と5の演算からデータ線を
上にたどると同一の分岐開始ノード12にくるので、こ
の2つの演算は互いに排他であるとわかる。また、演算
2と4はそれぞれ分岐開始ノード8の条件成立側と分岐
開始ノード9の条件不成立側につながるが、ノード8と
9は同一の分岐を示すから、演算2,4の実行条件が排
他であることがわかる。
【0007】しかしこの方法では大規模・複雑な回路に
は適用が難しいため、以下のような改良手法が提案され
ている。一つは分岐演算の実行条件をブール式で表現す
ることにより演算相互の排他性を解析する手法であり、
文献“シー、ジェー、チェン他(C.J.Tseng,
et al):ブリッジ:ア バーサチル ビヘイビア
シンセシス(Bridge:A Versatile
Behavioral Synthesis Sys
tem)、プロシーディング オブ ディーエー シー
1988(Proceeding of 25th D
AC,pp415−420,1988.)”にその例が
ある。また、実行条件を符号で示す手法は、文献“エ
ヌ,パークとエー、シー、パーカー(N.Park a
nd A.C.Parker)セーワ:ア ソフトウェ
ア パッケージ フォア シンセシス オブ パイプラ
イン フロム ビヘイビア スペシフィケイションズ
(SEHWA:A Software Package
for Synthesis of Pipelin
es from Behavioral Specif
ications)、アイ トリプル イートランザク
ション オン コンピュータ エイディッド デザイン
1988(IEEE trans.on Compu
ter−Aided Design,vol7,no.
3,March1988)に示されている。
【0008】
【発明が解決しようとする課題】上記の方法は制御デー
タフローグラフが大規模複雑になった時でも実行可能な
ように改良されてはいるものの、複数の演算が一つの演
算器を共有できるかどうかの判定、つまり複数の演算間
でそれらすべてが互いに排他であるかどうかの判定が容
易でない問題点があった。
【0009】さらに、その制御データフローグラフが陽
に示しておらずデータ依存関係を解析しないと判明しな
いような演算間の排他性を利用できず、演算器の共用能
力が下がるという問題があった。
【0010】また、従来法では、分岐内演算が条件分岐
の分岐演算よりも先に専攻されるようなスケジューリン
グを想定していなかった。このような場合には演算の排
他性が条件分岐演算が実行済みかどうかで動的に変化す
るが、そのような動的な排他性を求めることができない
という問題点があった。
【0011】本発明の目的は、上記のような問題点を除
去して、複数の演算間で一つの演算器を共用できるかど
うかを一度に計算可能であり、制御データフローグラフ
に陽に示されていない演算間の排他性を利用でき、さら
に動的な演算間の排他性を利用できるような演算器・記
憶装置・データ転送装置共用可能性判定装置を提供する
ことである。
【0012】
【課題を解決するための手段】本発明の演算器・記憶装
置・データ転送装置共有可能性判定装置は、回路の動作
の制御およびデータの流れを表す制御データフローグラ
フを入力とし前記制御データフローグラフの演算間の同
一の演算器に対する共有可能性を判定する装置であっ
て、制御データフローグラフ読み込み装置と、その読み
込まれた制御データフローグラフを入力とする実行条件
符号生成装置と、前記実行条件符号生成装置の出力を入
力とし演算間の実行排他性を出力する排他性解析装置と
を有する。
【0013】また、本発明の演算器・記憶装置・データ
転送装置共有可能性判定装置は、制御データフローグラ
フに陽に示されていない演算間の排他性をデータ異存関
係から導きだし、その演算間の排他性を示す演算実行条
件符号を生成するデータ依存実行条件符号生成装置を含
む。
【0014】さらに、本発明の演算器・記憶装置・デー
タ転送装置共有可能性判定装置は、演算の動作ステップ
を入力し、条件分岐の分岐を決定する条件判定演算が終
了した場合としない場合で動的に変化する分岐内演算の
排他性を示す演算実行条件符号を生成する動的実行条件
符号生成装置を含む。
【0015】
【作用】本発による演算器・記憶装置・データ転送装置
共有可能性判定装置は、制御データフローグラフをデー
タフローグラフ読み込み装置によって読み込み、そのグ
ラフの条件分岐内の各演算に対し、演算実行条件符号生
成装置によって後にのべる演算実行条件符号を付与し、
この符号を利用して演算排他性解析装置によって演算間
の排他性を解析し、演算器の共用性を判定したい演算す
べてが互いに排他である場合これらの演算は互いに同一
の演算器を共用できると判定する。
【0016】また、制御データフローグラフを制御デー
タフローグラフ読み込み装置によって読み込み、そのグ
ラフの条件分岐内の各演算に対し、演算実行条件符号生
成装置によって、データ依存関係に基づき制御データフ
ローグラフに陽に示されていない演算の実行条件を導
き、それを示すような演算実行条件符号を付与し、この
符号を利用して演算間の排他性を解析し、演算器の共用
性を判定したい演算すべてが互いに排他である場合これ
らの演算は互いに同一の演算器を共用できると判定す
る。
【0017】さらに、制御データフローグラフを制御デ
ータフローグラフ読み込み装置によって読み込み、その
グラフの条件分岐内の各演算に対し、動的演算実行条件
符号生成装置によって演算の実行される動作ステップを
解析し、条件分岐演算が実行済みか否かによって動的に
変化する演算間の排他性を示すような演算実行条件符号
を付与し、この符号を利用して演算間の排他性を解析
し、演算器の共用性を判定したい演算すべてが互いに排
他である場合これらの演算は互いに同一の演算器を共用
できると判定する。
【0018】
【実施例】次に、本発明について図面を参照して説明す
る。
【0019】図1は本発明の第一の実施例を示す説明図
である。同図において本発明の演算器・記憶装置・デー
タ転送装置共有可能性判定装置は、制御データフローグ
ラフ1を読み込む制御データフローグラフ読み込み装置
2と、グラフ内の演算の実行条件を表すビット列を各演
算に付与する実行条件符号生成装置3と各演算の実行条
件符号により演算間の実行の排他性を判定する排他性解
析装置4とを有する。
【0020】最初に、制御データフローグラフ1を制御
データフローグラフ読み込み装置2によって読み込む。
そしてデータフローグラフの演算ノード及び記憶要素ノ
ード(以後「レジスタノード」と呼ぶ),データの転送
を示すノード(以後「転送ノード」)それぞれに、実行
条件演算符号生成装置3によってそれぞれの演算の実行
条件符号(以後「条件符号」とよぶ)を付与する。(以
後、演算ノードとレジスタノード,転送ノードはその排
他性解析に関しては同様に扱えるので一般に演算とレジ
スタ,転送のことを単に演算と記し、演算ノードでレジ
スタノードや転送ノードを代表する。) 条件符号は以下の様な性質を持った符号であり、制御デ
ータフローグラフの演算ノード,レジスタノード,転送
ノードの実行条件を示す。
【0021】図4は動作記述とその条件符号の例を示す
説明図、図5は図4の分岐構造を示す説明図である。
【0022】条件符号は条件分岐の葉となる条件(分岐
構造を見た時の葉に相当する条件)の数だけの長さの符
号で葉条件が一つだけ‘1’を持つように定義する。図
4の動作記述の分岐構造は図5のようであり、分岐の葉
は3つある。よって、条件符号は3ビットとなる。図で
は上の方から順に左から1を立てているが、順番は任意
である。図5に示すように葉条件以外はその子どもの条
件の符号の論理和(符号をベクタと考えた時の論理和)
で与えられる。図4の(あ)に(1)から(6)のそれ
ぞれの演算に対応する条件符号を示す。
【0023】条件符号生成装置3はこのように決められ
た条件符号を制御データフローグラフ上のノードに付与
する。定義からある二つの条件符号が互いに同一場所に
‘1’成分を持たない時互いに排他的であることがわか
り、その場合その二つの条件符号をもったノードは同一
の演算器(またはレジスタ等)を共用できる。
【0024】図2は本発明の第二の実施例を示す説明図
である。同図において本発明の演算器・記憶装置・デー
タ転送装置共有可能性判定装置はデータ依存実行条件符
号生成装置3aを含む。すなわち、生成する条件符号が
データ依存関係に基づく相互排他性を示す。
【0025】ある演算結果がその後ろにつづく条件分岐
のすべての葉条件で利用されず、かつそれ以降でも利用
されない時、その演算結果を計算する演算とその結果を
利用しない条件で実行される演算は排他的である。例え
ば図4の(1)のxの値は(6)の葉条件では利用され
ない。よって(6)が実行される条件が成立する時はx
の値は計算する必要がない。したがって(1)と(6)
が実行されるのは排他的である。
【0026】このようなデータ依存の実行条件符号は制
御データフローグラフの分岐終了ノードの直前の演算ノ
ードの第一の実施例で説明した条件符号を与え、それ以
外のノードは自分の直後ノード(直後にあるノード)の
条件符号の論理和で条件符号を得る。例えば演算2と演
算5は分岐終了ノードの直前ノードであり[100]と
[001]という条件符号をつける。演算1の直後ノー
ドは演算2と5であるから演算1の条件符号は[10
1]となる。この時図4の(1)(図6の演算1)と図
4の(6)(図6の演算4)の条件符号は[101]と
[010]となり、これは上述したデータ依存関係にも
とづく相互排他性を示している。図4の(い)に上記の
条件符号を示す。
【0027】図3は本発明の第三の実施例を示す説明図
である。同図において本発明の演算器・記憶装置・デー
タ転送装置共有可能性判定装置は動的実行条件符号生成
装置3bを含む。すなわち、生成する条件符号が動的な
相互排他性を示す。
【0028】動的な相互排他性は条件分岐の分岐テスト
が実行済みか否かで動的に変化する相互排他性のことで
ある。例えば、図6の制御データフローグラフの演算の
動作ステップが図7のように決定していたとする。する
と演算4,演算5を実行する時には、条件演算7の実行
が終了していない。よって、演算4と演算5のどちらを
実行したらいいのか動作ステップS2では決定できない
から両方の演算を実行しなければならず、この二つの演
算は相互に排他ではなく、演算器を共用できない。
【0029】このように条件演算がある演算の実行より
前に終了しているかどうかで演算間の排他性は動的に変
化する。このような動的な実行条件符号は、実行の終了
していない条件演算の条件符号と条件符号をもとめたい
演算の条件符号の論理和をとることによって得られる。
ただし、ここで分岐条件演算は対象となる演算の実行を
制御する分岐テスト演算に限る。即ち条件演算を求めた
い演算の条件符号と条件演算の条件符号が同じ位置に
‘1’をもたなければお互い無関係であり、このような
条件演算とは論理和をとらない。
【0030】図7に上記の動作ステップが与えられた時
の条件符号を示している。また、図4の(う),(え)
に条件演算(2)と(5)がそれぞれ未実行な場合、実
行した場合の条件符号を示す。
【0031】次に、排他性解析装置4は任意の複数の演
算間の排他性を解析し、一つの演算器でそれらの演算が
実行可能かどうか、即ちそれらの演算で一つの演算器を
共用できるかどうか判定し、その判定結果を出力する。
即ち、排他性を調べたい任意の演算の条件符号を調べ同
一のビット位置に1がなければ、それらの演算はすべて
互いに排他であり、一つの演算器を共用できることがわ
かるので、同一の演算器を共有できることを出力する。
もし、一個所でも‘1’を共有すればそれらのノードは
同一の演算器を共有できないので、共有できない旨を出
力する。
【0032】
【発明の効果】本発明によれば、コンパイラや自動機能
設計の時、制御データフローグラフの構造を解析するこ
となく演算ノードや記憶要素ノードが同一の演算器やレ
ジスタを共用できるかどうかを判定する装置を提供する
ことが可能である。
【0033】また、明示的に示された演算間の相互排他
性より広い相互排他性を求めることができるため、より
多くの演算が同一の演算器を共有することができる可能
性があり、コンパイラが出力する機械語や自動機能設計
が合成する合成回路の品質(速度、チップ面積/回路規
模)を向上することができる。
【0034】さらに、動的な相互排他性が求められるの
で、コンパイラや自動機能設計に用いた際条件分岐内の
演算を条件分岐のテストを行なう演算より先に実行する
ような場合にも同一演算を共用可能がどうか判定でき
る。したがってコンパイラや自動機能設計システムの性
能を改善することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施例を示す説明図。
【図2】第二の実施例を示す説明図。
【図3】第三の実施例を示す説明図。
【図4】動作記述の例とその条件符号を示す説明図。
【図5】図4の分岐構造を示す説明図。
【図6】第二の実施例によって得られる条件符号を示す
説明図。
【図7】第三の実施例によって得られる条件符号を示す
説明図。
【符号の説明】
1 制御データフローグラフ 2 制御データフローグラフ読み込み装置 3 実行条件符号生成装置 4 排他性解析装置

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 回路の動作の制御およびデータの流れを
    表す制御データフローグラフを入力とし前記制御データ
    フローグラフの演算間の同一の演算器に対する共有可能
    性を判定する装置であって、制御データフローグラフ読
    み込み装置と、その読み込まれた制御データフローグラ
    フを入力とする実行条件符号生成装置と、前記実行条件
    符号生成装置の出力を入力とし演算間の実行排他性を出
    力する排他性解析装置とを有することを特徴とする演算
    器・記憶装置・データ転送装置共有可能性判定装置。
  2. 【請求項2】 制御データフローグラフに陽に示されて
    いない演算間の排他性をデータ異存関係から導きだし、
    その演算間の排他性を示す演算実行条件符号を生成する
    データ依存実行条件符号生成装置を含むことを特徴とす
    る請求項1記載の演算器・記憶装置・データ転送装置共
    有可能性判定装置。
  3. 【請求項3】 演算の動作ステップを入力し、条件分岐
    の分岐を決定する条件判定演算が終了した場合としない
    場合で動的に変化する分岐内演算の排他性を示す演算実
    行条件符号を生成する動的実行条件符号生成装置を含む
    ことを特徴とする請求項1または2記載の演算器・記憶
    装置・データ転送装置共有可能性判定装置。
JP4141227A 1992-06-02 1992-06-02 演算器・記憶装置・データ転送装置共有可能性判定装置 Pending JPH05334466A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4141227A JPH05334466A (ja) 1992-06-02 1992-06-02 演算器・記憶装置・データ転送装置共有可能性判定装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4141227A JPH05334466A (ja) 1992-06-02 1992-06-02 演算器・記憶装置・データ転送装置共有可能性判定装置

Publications (1)

Publication Number Publication Date
JPH05334466A true JPH05334466A (ja) 1993-12-17

Family

ID=15287076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4141227A Pending JPH05334466A (ja) 1992-06-02 1992-06-02 演算器・記憶装置・データ転送装置共有可能性判定装置

Country Status (1)

Country Link
JP (1) JPH05334466A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245250A (ja) * 2008-03-31 2009-10-22 Nec Corp 記述処理装置、記述処理方法およびプログラム
JP2010039677A (ja) * 2008-08-04 2010-02-18 Fujitsu Ltd 設計支援プログラム、設計支援装置、および設計支援方法
US8250502B2 (en) 2006-09-29 2012-08-21 Nec Corporation Automated synthesis apparatus and method

Cited By (4)

* 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 (ja) * 2008-03-31 2009-10-22 Nec Corp 記述処理装置、記述処理方法およびプログラム
US8375376B2 (en) 2008-03-31 2013-02-12 Nec Corporation Description processing device, description processing method, and recording medium
JP2010039677A (ja) * 2008-08-04 2010-02-18 Fujitsu Ltd 設計支援プログラム、設計支援装置、および設計支援方法

Similar Documents

Publication Publication Date Title
Fallah et al. OCCOM: Efficient computation of observability-based code coverage metrics for functional verification
JP5403362B2 (ja) パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム
JP2563663B2 (ja) 論理設計処理装置およびタイミング調整方法
US8904367B1 (en) Auto pipeline insertion
US20060195828A1 (en) Instruction generator, method for generating instructions and computer program product that executes an application for an instruction generator
US6611779B2 (en) Automatic test vector generation method, test method making use of the test vectors as automatically generated, chip manufacturing method and automatic test vector generation program
US20140157218A1 (en) Model-based retiming with functional equivalence constraints
US6990438B1 (en) Method and apparatus for observability-based code coverage
US6964027B2 (en) System and method for optimizing exceptions
JP2000207440A (ja) 半導体集積回路の設計検証装置、方法及び記憶媒体
CN117370767B (zh) 基于大数据的用户信息评估方法及系统
US7257786B1 (en) Method and apparatus for solving constraints
JPH05334466A (ja) 演算器・記憶装置・データ転送装置共有可能性判定装置
CN109032946B (zh) 一种测试方法和装置、计算机可读存储介质
WO2000022523A1 (en) Apparatus and method for program optimizing
JP3272915B2 (ja) スタティックタイミング解析装置
JP2001209670A (ja) 高位合成方法、および、高位合成方法の実施に使用される記録媒体
US7398424B2 (en) False path detection program
US20080282237A1 (en) Method and Apparatus For Generating Execution Equivalence Information
WO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
JPH08180094A (ja) アーキテクチャ・シミュレータ
JPH05334465A (ja) 演算器・記憶装置・データ転送装置必要数計数装置
JPH05334391A (ja) 制御回路生成装置
Wessels et al. Analyzing and improving delay defect tolerance in pipelined combinational circuits
Hughes et al. Design-flow graph partitioning

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000118