JP2003256487A - System and method for aiding design - Google Patents

System and method for aiding design

Info

Publication number
JP2003256487A
JP2003256487A JP2002060939A JP2002060939A JP2003256487A JP 2003256487 A JP2003256487 A JP 2003256487A JP 2002060939 A JP2002060939 A JP 2002060939A JP 2002060939 A JP2002060939 A JP 2002060939A JP 2003256487 A JP2003256487 A JP 2003256487A
Authority
JP
Japan
Prior art keywords
resource
processing
database
instruction set
command
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.)
Withdrawn
Application number
JP2002060939A
Other languages
Japanese (ja)
Inventor
Junichi Niitsuma
潤一 新妻
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002060939A priority Critical patent/JP2003256487A/en
Publication of JP2003256487A publication Critical patent/JP2003256487A/en
Withdrawn legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To optimize a command set and a arithmetic resource in an dedicated processor. <P>SOLUTION: A design aid system includes a target value file for storing information about required processing and a required performance target for a specified application, a processing realizing database for correlating a command for realizing the processing to the each processing, a command resource database for correlating the each arithmetic resource to the each command, a resource database for storing a specification of the each arithmetic resource, and a processing realizing proposal preparation-evaluating unit for preparing a plurality of combinations comprising the command set and the arithmetic resource for realizing the required processing based on the processing realizing database and the command resource database, for evaluating the plurality of combinations comprising the command set and the arithmetic resource based on the resource database, and for selecting one of the combinations comprising the command set and the arithmetic resource so as to satisfy the performance target. <P>COPYRIGHT: (C)2003,JPO

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、一般に設計支援方
法及びシステムに関し、詳しくはプロセッサの設計支援
方法及びシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates generally to a design support method and system, and more particularly to a processor design support method and system.

【従来の技術】家電製品等は、一般的に特定の用途に対
して使用される機器であるが、そこで用いるプロセッサ
としては、汎用目的に設計がなされている汎用プロセッ
サを使用するのが通常である。従って例えば画像機器に
おいては、殆ど画像処理しか実行しないにも関わらず、
使用するプロセッサとしては種々の機能が組み込まれた
汎用プロセッサを用いることになり、非効率的であると
共にコストが嵩むことになる。
2. Description of the Related Art Home appliances and the like are generally used for specific purposes. As a processor used therefor, a general-purpose processor designed for general purpose is usually used. is there. Therefore, for example, in an image device, despite performing almost only image processing,
A general-purpose processor incorporating various functions is used as the processor to be used, which is inefficient and costly.

【発明が解決しようとする課題】そこで特定のアプリケ
ーションに対して専用のプロセッサを設計することが望
まれる。専用のプロセッサを設計するためには、その第
一段階として、特定のアプリケーション向けに、当該プ
ロセッサの命令セット及び実装する演算リソースを決定
する必要がある。この命令セット及び演算リソースは、
所望のアプリケーションに対するプロセッサの処理能力
や実装回路規模を決定する重要なファクターである。ま
たこの実装回路規模によって、プロセッサの製造コスト
やプロセッサの消費電力が決まってくる。
Therefore, it is desired to design a dedicated processor for a specific application. In the first step of designing a dedicated processor, it is necessary to determine the instruction set of the processor and the arithmetic resources to be implemented for a particular application. This instruction set and computing resources are
It is an important factor that determines the processing capacity of the processor and the scale of the mounted circuit for the desired application. Also, the manufacturing cost of the processor and the power consumption of the processor are determined by the scale of the mounted circuit.

【0002】プロセッサの命令セットとして、例えば汎
用プロセッサの命令セットをそのまま用いたのでは、最
適な構成とは言い難い。専用プロセッサでは、命令セッ
トや実装演算リソースの種類により処理速度が大幅に異
なるので、用途に応じた最適な命令セットを提供する必
要がある。例えば画像処理用のプロセッサであれば、配
列演算や小数点演算を数多く実行するし、テキストやデ
ータベース処理用のプロセッサであれば、整数演算やポ
インタ処理(配列処理)を数多く実行することになる。
If the instruction set of a general-purpose processor is used as it is as the instruction set of the processor, it is difficult to say that the configuration is optimal. Since the processing speed of a dedicated processor varies greatly depending on the type of instruction set and the implementation calculation resource, it is necessary to provide the optimum instruction set according to the application. For example, a processor for image processing will execute many array operations and decimal point operations, and a processor for text and database processing will execute many integer operations and pointer processing (array processing).

【0003】以上を鑑みて、本発明は、特定のアプリケ
ーション向けの専用プロセッサにおいて、命令セット及
び演算リソースを最適化する設計支援方法及びシステム
を提供することを目的とする。
In view of the above, it is an object of the present invention to provide a design support method and system for optimizing an instruction set and a calculation resource in a dedicated processor for a specific application.

【課題を解決するための手段】本発明による設計支援シ
ステムは、特定のアプリケーションに対して必要な処理
及び要求される性能目標に関する情報を格納する目標値
ファイルと、処理を実現するための命令を各処理に対応
付ける処理実現データベースと、各命令に演算リソース
を対応付ける命令リソースデータベースと、各演算リソ
ースの仕様を格納するリソースデータベースと、該処理
実現データベース及び該命令リソースデータベースに基
づいて該必要な処理を実現するための命令セット及び演
算リソースの複数の組み合せを作成し、該リソースデー
タベースに基づいて該命令セット及び演算リソースの複
数の組み合せを評価し、該性能目標を満たすように該命
令セット及び演算リソースの組み合せの1つを選択する
処理実現案作成評価ユニットを含む。
A design support system according to the present invention includes a target value file for storing information on a process required for a specific application and a required performance target, and an instruction for realizing the process. A process realization database that corresponds to each process, an instruction resource database that associates a calculation resource with each instruction, a resource database that stores specifications of each calculation resource, and a necessary process based on the process realization database and the instruction resource database. Creating a plurality of combinations of instruction sets and calculation resources for realizing, evaluating the plurality of combinations of the instruction sets and calculation resources based on the resource database, and satisfying the performance target. Create a process implementation plan selecting one of the combinations Including the unit.

【0004】また本発明による設計支援方法は、特定の
アプリケーションに対して必要な処理及び要求される性
能目標を決定し、該必要な処理を実現するための命令セ
ットを決定し、該命令セットを実現する演算リソースを
決定し、該演算リソースの仕様に基づいて該命令セット
及び該演算リソースを評価し、該性能目標を満たすよう
に該命令セット及び演算リソースを最適化する各段階を
含む。
Further, the design support method according to the present invention determines a required process and a required performance target for a specific application, determines an instruction set for realizing the required process, and determines the instruction set. Each step of determining a computing resource to be realized, evaluating the instruction set and the computing resource based on a specification of the computing resource, and optimizing the instruction set and the computing resource so as to meet the performance target is included.

【0005】上記発明においては、特定のアプリケーシ
ョンに対して必要な処理について、これを実現するため
の命令セット及び演算リソースを決定し、要求性能目標
を満たすように命令セット及び演算リソースを最適化す
る。従って、特定のアプリケーションに対して最適の命
令セット及びこれを実装する演算リソースを選択するこ
とが可能となり、所望の処理能力、コスト、消費電力等
を有するプロセッサを設計することが出来る。
In the above invention, for a process required for a specific application, an instruction set and a calculation resource for realizing the process are determined, and the instruction set and the calculation resource are optimized so as to satisfy the required performance target. . Therefore, it becomes possible to select an optimum instruction set and a calculation resource for implementing the same for a specific application, and it is possible to design a processor having a desired processing capacity, cost, power consumption, and the like.

【発明の実施の形態】以下に、本発明の実施例を添付の
図面を用いて詳細に説明する。
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

【0006】図1は、本発明による専用プロセッサ設計
支援システムの構成を示す図である。
FIG. 1 is a diagram showing the configuration of a dedicated processor design support system according to the present invention.

【0007】図1の専用プロセッサ設計支援システム1
0は、処理実現案作成ユニット11、処理実現案評価ユ
ニット12、目標値設定ユニット13、性能目標値抽出
ユニット14、リソースデータベース作成ユニット1
5、処理実現データベース作成ユニット16、命令リソ
ースデータベース作成ユニット17、リソースデータベ
ース21、処理実現データベース22、命令リソースデ
ータベース23、応用プログラムファイル24、目標値
ファイル25、及び最適実現案ファイル26を含む。
Dedicated processor design support system 1 of FIG.
0 is a process implementation plan creation unit 11, a process implementation plan evaluation unit 12, a target value setting unit 13, a performance target value extraction unit 14, a resource database creation unit 1
5, a processing realization database creation unit 16, an instruction resource database creation unit 17, a resource database 21, a processing realization database 22, an instruction resource database 23, an application program file 24, a target value file 25, and an optimal realization plan file 26.

【0008】応用プログラムファイル24は、特定用途
に使用されるアプリケーションプログラムを格納するフ
ァイルである。性能目標値抽出ユニット14によって、
応用プログラムファイル24に格納される応用プログラ
ムから性能目標値を抽出する。抽出された性能目標値は
目標値ファイル25に格納される。
The application program file 24 is a file that stores an application program used for a specific purpose. By the performance target value extraction unit 14,
A performance target value is extracted from the application program stored in the application program file 24. The extracted performance target value is stored in the target value file 25.

【0009】また目標値設定ユニット13は、応用プロ
グラムの詳細とは離れた全体的な観点から、プロセッサ
の性能、実装面積、消費電力等の目標値を設定する。設
定された目標値は目標値ファイル25に格納される。図
2は、目標値設定ユニット13により設定される目標値
の一例を示す。
The target value setting unit 13 sets target values such as processor performance, mounting area, power consumption, etc., from an overall viewpoint apart from the details of the application program. The set target value is stored in the target value file 25. FIG. 2 shows an example of target values set by the target value setting unit 13.

【0010】リソースデータベース作成ユニット15
は、各演算リソースの面積と処理速度とを纏めることに
より、リソースデータベース21を作成する。このリソ
ースデータベース21には、例えば、低速8ビット加算
器は面積が30で処理時間が28であり、高速32ビッ
ト乗算器は面積が2500で処理時間が70であるとい
った情報が格納される。ここで処理時間としては例えば
ナノセカンド、面積としては例えばμmといった単位
が用いられる。図3は、リソースデータベース21に格
納されるデータの一例を示す。
Resource database creation unit 15
Creates a resource database 21 by collecting the area and processing speed of each calculation resource. The resource database 21 stores, for example, information such that the low-speed 8-bit adder has an area of 30 and the processing time is 28, and the high-speed 32-bit multiplier has an area of 2500 and the processing time is 70. Here, the processing time is in nanoseconds, and the area is in units of μm 2 . FIG. 3 shows an example of data stored in the resource database 21.

【0011】なおリソースデータベース21において
は、面積と処理速度とに加えて、各演算リソース毎に消
費電力を記載してもよい。図4は、消費電力をエントリ
として有するリソースデータベース21の一例を示す。
In the resource database 21, in addition to the area and the processing speed, the power consumption may be described for each computing resource. FIG. 4 shows an example of the resource database 21 having power consumption as an entry.

【0012】処理実現データベース作成ユニット16
は、各処理について何れの命令によりその処理が実現出
来るかに関する情報を纏めることにより、処理実現デー
タベース22を作成する。この処理実現データベース2
2には、例えば掛け算処理は、浮動小数点乗算命令を用
いても、或いは整数乗算命令(及び小数点処理をするた
めのシフト命令)を用いても、また或いは加算命令とシ
フト命令を繰り返し用いても実現可能である旨を示す情
報が格納される。図5は、処理実現データベース22に
格納される情報の一例を示す。
Processing implementation database creation unit 16
Creates a process realization database 22 by collecting information on which command can realize the process for each process. This process implementation database 2
For 2, for example, the multiplication process may use a floating point multiplication instruction, an integer multiplication instruction (and a shift instruction for performing a decimal point processing), or an addition instruction and a shift instruction repeatedly. Information indicating that it is feasible is stored. FIG. 5 shows an example of information stored in the process implementation database 22.

【0013】命令リソースデータベース作成ユニット1
7は、各命令について何れの演算リソースを用いて処理
を行なうかを纏めることにより、命令リソースデータベ
ース23を作成する。この命令リソースデータベース2
3には例えば、整数加算命令は、整数用レジスタA及び
Bを入力とし整数用レジスタCを出力としリップルキャ
リー加算器を用いてC=A+Bを計算するか、或いは整
数用レジスタA及びBを入力とし整数用レジスタCを出
力としキャリールックアヘッド加算器を用いてC=A+
Bを計算するといった情報が格納される。また例えば、
浮動小数点乗算命令は、浮動小数点用レジスタA及びB
を入力とし浮動小数点用レジスタCを出力とし、浮動小
数点乗算器を用いてC=ABを計算するといった情報が
格納される。
Instruction resource database creation unit 1
7 creates an instruction resource database 23 by summarizing which arithmetic resource is used for processing each instruction. This command resource database 2
In 3, for example, the integer addition instruction calculates C = A + B using an integer register A and B as an input and an integer register C as an output and a ripple carry adder, or inputs the integer registers A and B. And an integer register C is used as an output and a carry look ahead adder is used as C = A +
Information such as calculating B is stored. Also, for example,
The floating point multiplication instruction is executed by the floating point registers A and B.
Is input and the floating point register C is output, and information such as calculating C = AB using a floating point multiplier is stored.

【0014】処理実現案作成ユニット11は、リソース
データベース21、処理実現データベース22、及び命
令リソースデータベース23に基づいて、目標値ファイ
ル25に設定された目標値を達成するための処理実現
案、即ち処理を実現するための命令セット及び演算リソ
ースの案を作成する。処理実現案評価ユニット12は、
処理実現案作成ユニット11が求めた命令セット及び演
算リソースからなる処理実現案を評価し、例えば最速の
処理案を最適案とするといった基準に基づいて、最適な
処理実現案を決定する。決定された最適処理実現案は、
最適実現案ファイル26に格納される。
The process implementation plan creating unit 11 uses the resource database 21, the process implementation database 22, and the command resource database 23 to implement the process implementation plan for achieving the target value set in the target value file 25, that is, the process. A draft of an instruction set and a calculation resource for realizing is created. The processing implementation plan evaluation unit 12
The process realization plan including the instruction set and the calculation resource obtained by the process realization plan creation unit 11 is evaluated, and the optimum process realization plan is determined on the basis of, for example, the criterion that the fastest process plan is the optimum plan. The determined optimal processing realization plan is
It is stored in the optimal realization plan file 26.

【0015】以下に、具体的なプログラム例を用いて、
図1の専用プロセッサ設計支援システム10の動作を詳
細に説明する。
Below, using a specific program example,
The operation of the dedicated processor design support system 10 of FIG. 1 will be described in detail.

【0016】図6は、性能目標値抽出ユニット14によ
る処理を示すフローチャートである。図7は、図6の処
理を説明するための具体例を示す図である。
FIG. 6 is a flow chart showing the processing by the performance target value extraction unit 14. FIG. 7 is a diagram showing a specific example for explaining the process of FIG.

【0017】ステップS1で、所定の応用プログラムの
処理を実行する目標時間を設定する。
In step S1, a target time for executing the processing of a predetermined application program is set.

【0018】ステップS2で、応用プログラムを実行さ
せて、各文が何回実行されるかをカウントする。図7の
例では、プログラム31を実行することで、文1乃至文
7が何回実行されるかをカウントする。この結果、例え
ば図7の32に示されるように、文1乃至文7の各々に
対して実行回数が求められる。
In step S2, the application program is executed to count how many times each sentence is executed. In the example of FIG. 7, the program 31 is executed to count the number of times the statements 1 to 7 are executed. As a result, for example, as shown at 32 in FIG. 7, the number of executions is obtained for each of the sentences 1 to 7.

【0019】ステップS3で、各文の実行内容を処理ご
とに分類して、処理ごとの実行回数をカウントする。図
7の例では、33に示されるように各文の実行内容を処
理として分類し、34に示されるように各処理ごとの実
行回数をカウントする。例えば、整数代入は33に示さ
れるように文3と文6において実行され、32に示され
るように文3は1回実行され文6は10回実行される。
従って、34に示されるように整数代入は計11回実行
されることになる。
In step S3, the execution contents of each sentence are classified for each process, and the number of executions for each process is counted. In the example of FIG. 7, the execution content of each statement is classified as a process as indicated by 33, and the number of executions of each process is counted as indicated by 34. For example, integer assignment is executed in statements 3 and 6 as shown at 33, statement 3 is executed once and statement 6 is executed 10 times as shown at 32.
Therefore, as shown by 34, the integer substitution is executed 11 times in total.

【0020】ステップS4で、実行回数を目標処理時間
で割ることにより、単位時間当たりの処理回数である目
標性能を求める。例えば図7のプログラムを100ms
ecで実行したいとすると、目標処理時間は100ms
ecとなる。この場合例えば整数代入処理は、単位時間
msec当たり0.11(=11/100)回の処理が
性能目標となる。
In step S4, the target performance, which is the number of processes per unit time, is obtained by dividing the number of executions by the target processing time. For example, the program of FIG.
If you want to execute with ec, the target processing time is 100 ms
It becomes ec. In this case, for example, the integer substitution process has a performance target of 0.11 (= 11/100) times per unit time msec.

【0021】図8は、処理実現案作成ユニット11の処
理を示すフローチャートである。
FIG. 8 is a flow chart showing the processing of the processing implementation plan creation unit 11.

【0022】ステップS1において、目標値ファイル2
5に性能目標が設定されている各処理を、処理実現デー
タベース22を用いて詳細化する。
In step S1, the target value file 2
Each process whose performance target is set to 5 is detailed using the process realization database 22.

【0023】例えば説明のために以下の簡単な応用プロ
グラムを例とする。
For the sake of explanation, the following simple application program will be taken as an example.

【0024】int A, B, C, D, E, F; If ( A == B) then { 文1 C= A + F ; 文2 D=A*2.0 ; 文3 E=C; } 文4 図6のフローチャートに従って、文1から整数比較処
理、文2から整数加算処理、文3から整数乗算処理が抽
出され、文4からは代入処理のみで演算処理は抽出され
ない。従って、このプログラムで実行される処理は、整
数比較処理1回、整数加算処理1回、及び整数乗算処理
1回となる。なおここでは整数代入処理は考慮せずに、
演算処理のみを検討対象としている。例えばこの応用プ
ログラムの目標処理時間は1秒であるとすると、性能目
標は一秒間に整数比較処理1回、整数加算処理1回、及
び整数乗算処理1回となる。
Int A, B, C, D, E, F; If (A == B) then {statement 1 C = A + F; statement 2 D = A * 2.0; statement 3 E = C;} statement 4 According to the flowchart of FIG. 6, the integer comparison process is extracted from the sentence 1, the integer addition process is extracted from the sentence 2, the integer multiplication process is extracted from the sentence 3, and the arithmetic process is not extracted from the sentence 4 only the substitution process. Therefore, the processing executed by this program is one integer comparison processing, one integer addition processing, and one integer multiplication processing. Note that here, without considering integer assignment processing,
Only arithmetic processing is considered. For example, if the target processing time of this application program is 1 second, the performance target is 1 integer comparison process, 1 integer addition process, and 1 integer multiplication process per second.

【0025】上記各処理を処理実現データベース22に
より詳細化すると、例えば、 整数比較→32ビット減算処理→8ビット加減算×4回 整数加算→32ビット加算処理→8ビット加減算×4回 整数乗算→(シフト処理と32ビット加算処理)×32
回 →8ビットシフト処理×128回と8ビット加減算×1
28回 のように詳細な処理にすることが出来る。ここで例え
ば、上記のように整数比較を32ビット減算処理で実現
できることは図5の処理実現データベース22のAに示
され、32ビット減算処理を4回の8ビット加減算に分
解できることは図5の処理実現データベース22のBに
示される。上記の詳細化の結果、全体で8ビット加減算
処理が136回と、8ビットシフト処理が128回とな
る。
When the above-mentioned respective processes are detailed by the process realization database 22, for example, integer comparison → 32-bit subtraction process → 8-bit addition / subtraction × 4 times integer addition → 32-bit addition process → 8-bit addition / subtraction × 4 times integer multiplication → ( Shift processing and 32-bit addition processing) x 32
8 times shift processing × 128 times and 8 bits addition and subtraction × 1
Detailed processing can be performed as 28 times. Here, for example, the fact that the integer comparison can be realized by the 32-bit subtraction processing as described above is shown in A of the processing realization database 22 of FIG. 5, and that the 32-bit subtraction processing can be decomposed into four 8-bit addition / subtraction is shown in FIG. It is shown in B of the process realization database 22. As a result of the above-described refinement, the 8-bit addition / subtraction process is 136 times and the 8-bit shift process is 128 times in total.

【0026】図8を再び参照し、ステップS2で、詳細
化された各処理を命令に対応付ける。例えば8ビット加
減算処理を図5のCに示されるように低速加減算命令に
対応付け、8ビットシフト処理を図5のDに示されるよ
うに8ビットシフト命令に対応付ける。
Referring again to FIG. 8, in step S2, each detailed process is associated with an instruction. For example, the 8-bit addition / subtraction processing is associated with the low-speed addition / subtraction instruction as shown in C of FIG. 5, and the 8-bit shift processing is associated with the 8-bit shift instruction as shown in D of FIG.

【0027】ステップS3で、命令リソースデータベー
ス23を用いて各命令を演算リソースに対応付ける。例
えば、低速加減算命令を低速8ビット加減器に割り当
て、8ビットシフト命令を8ビットシフト器に割り当て
る。
In step S3, each instruction is associated with a computing resource using the instruction resource database 23. For example, the low-speed addition / subtraction instruction is assigned to the low-speed 8-bit adder / subtractor, and the 8-bit shift instruction is assigned to the 8-bit shifter.

【0028】ステップS4で、リソースデータベース2
1を用いて処理実現案の性能を求める。例えば、図3の
リソースデータベース21において、低速8ビット加減
器の面積は30であり処理時間は28である。また8ビ
ットシフト器の面積は30であり処理時間は10であ
る。従って全体の面積は、低速8ビット加減器の面積と
8ビットシフト器の面積との和であり60となる。また
全体の処理時間は、低速8ビット加減器の処理時間の1
36倍と8ビットシフト器の処理時間の128倍との和
であり、5088(=28・136+10・128)と
なる。
In step S4, the resource database 2
1 is used to obtain the performance of the processing implementation plan. For example, in the resource database 21 of FIG. 3, the area of the low speed 8-bit adder / subtractor is 30 and the processing time is 28. The area of the 8-bit shifter is 30 and the processing time is 10. Therefore, the total area is 60, which is the sum of the area of the low speed 8-bit adder and the area of the 8-bit shifter. The total processing time is 1 of the processing time of the low speed 8-bit adder / subtractor.
It is the sum of 36 times and 128 times the processing time of the 8-bit shifter, which is 5088 (= 28 · 136 + 10 · 128).

【0029】以上のようにして、処理実現案作成ユニッ
ト11による処理実現案の作成が実行される。なお上記
処理における詳細化、命令割り当て、及び演算リソース
割り当てに際しては、異なった組み合せの選択が可能で
ある。例えば、上記の例における応用プログラムの整数
比較処理、整数加算処理、及び整数乗算処理を、それぞ
れ32ビット比較器、32ビット高速加減器、及び32
ビット高速乗算器で実行することも可能である。この場
合、全体の面積は2760(=40+220+250
0)であり、全体の処理時間は96(=8+18+7
0)となる。
As described above, the process realization plan creating unit 11 creates the process realization plan. Note that different combinations can be selected for the details of the above processing, instruction allocation, and calculation resource allocation. For example, the integer comparison process, the integer addition process, and the integer multiplication process of the application program in the above example are performed by a 32-bit comparator, a 32-bit high-speed adder / subtractor, and a 32-bit high-speed adder / reducer, respectively.
It is also possible to implement with a bit fast multiplier. In this case, the total area is 2760 (= 40 + 220 + 250
0), and the total processing time is 96 (= 8 + 18 + 7).
0).

【0030】これらの異なった組み合せ間の評価は、図
1の処理実現案評価ユニット12によって実行される。
The evaluation between these different combinations is performed by the process implementation plan evaluation unit 12 of FIG.

【0031】以下に、処理実現案評価ユニット12によ
り実行される処理実現案評価処理を詳細に説明する。
The process implementation plan evaluation process executed by the process implementation plan evaluation unit 12 will be described in detail below.

【0032】上記のように、処理実現案作成ユニット1
1が作成する処理実現案には、幾つもの異なる命令及び
演算リソースの組み合せがあり得る。これらの複数の異
なった処理実現案から最適の処理実現案を選択するため
には、幾つかの方法が考えられる。
As described above, the processing implementation plan creation unit 1
There may be a number of different combinations of instructions and computational resources in the processing implementation created by 1. Several methods are conceivable in order to select the optimum process realization plan from these plural different process realization plans.

【0033】まず全ての異なる組み合せを生成し、それ
らの組み合せを総当り的に評価する方法が考えられる。
例えば、図2に示されるような性能目標、最大実装面
積、消費電力等の所定の条件を満たす組み合せを全て評
価し、最速の演算速度を有するものを最適の処理実現案
として選択すればよい。この方法は、対象となる応用プ
ログラムが単純な場合には、計算負荷も小さく必ず最適
な解が求められるので好ましい。しかし応用プログラム
が複雑になるにつれ、組み合せの総数が急激に増大する
ので、計算負荷が大きくなり現実的な手段ではなくな
る。
A method is conceivable in which all different combinations are first generated and the combinations are exhaustively evaluated.
For example, all combinations satisfying predetermined conditions such as the performance target, the maximum mounting area, and the power consumption as shown in FIG. 2 may be evaluated, and the one having the fastest calculation speed may be selected as the optimum processing implementation plan. This method is preferable because when the target application program is simple, the calculation load is small and the optimum solution is always obtained. However, as the application program becomes more complicated, the total number of combinations increases rapidly, which increases the computational load and is not a practical means.

【0034】従って、組み合せの総数が大きい場合に
は、初期設定としてある処理実現案を開始点として、こ
れを徐々に改良していくことで最適に近い処理実現案に
近づけていく方法を取ることが望ましい。
Therefore, when the total number of combinations is large, a method is taken as a starting point, which is set as a starting point, and is gradually improved so as to approach a near-optimal processing implementation plan. Is desirable.

【0035】図9は、処理実現案評価ユニット12によ
り実行される処理実現案評価処理の一例を示すフローチ
ャートである。
FIG. 9 is a flowchart showing an example of the process implementation plan evaluation process executed by the process implementation plan evaluation unit 12.

【0036】図9のステップS1において、処理実現案
の全ての場合の数が指定値より多いか否かを判定する。
場合の数が指定値より多くない場合は、ステップS2に
進み、総当り処理により最適実現案を選択する。場合の
数が指定値より多い場合は、ステップS3に進み、改良
手法により優良な実現案を選択する。
In step S1 of FIG. 9, it is determined whether or not the number of processing implementation plans in all cases is larger than a specified value.
If the number of cases is not more than the specified value, the process proceeds to step S2, and the optimal realization plan is selected by the brute force process. If the number of cases is larger than the specified value, the process proceeds to step S3, and an excellent realization plan is selected by the improved method.

【0037】ステップS2での総当り処理においては、
全ての実装方法(全ての場合の処理案)を作成し、その
うちで最適なものを選択する。この場合、最高演算速度
のものを最適としてもよいし、低電力志向として目標性
能内で最小電力のものを最適として選択してもよいし、
或いはコスト志向として目標性能内で最小コストのもの
を最適として選択してもよい。或いは速度、電力、コス
ト等の条件を組み合せた評価関数を設定し、この評価関
数が最低となる処理案を最適なものとして選択してもよ
い。
In the brute force processing in step S2,
Create all implementation methods (process proposals in all cases) and select the most suitable one. In this case, the one with the highest calculation speed may be optimal, or the one with the minimum power in the target performance may be selected as the optimum with low power oriented,
Alternatively, as the cost-oriented, the one with the minimum cost within the target performance may be selected as the optimum. Alternatively, an evaluation function that combines conditions such as speed, power, and cost may be set, and the processing plan with the lowest evaluation function may be selected as the optimum one.

【0038】ステップS3の改良手法においては、複数
のモードを用意して、ユーザが選択したモードに従って
優良な実現案を検索する。複数のモードとしては、例え
ば、性能を重視した高速実装からの検索モード、面積及
び消費電力を重視した小実装からの検索モード、種々の
条件を考慮する必要がある場合に使用する代表解からの
検索モードが設けられる。
In the improved method of step S3, a plurality of modes are prepared and a good implementation plan is searched according to the mode selected by the user. As a plurality of modes, for example, a search mode from high-speed mounting that emphasizes performance, a search mode from small mounting that emphasizes area and power consumption, and a typical solution used when various conditions need to be considered A search mode is provided.

【0039】図10は、高速実装からの検索モードの処
理を示すフローチャートである。
FIG. 10 is a flowchart showing the processing in the search mode from the high-speed mounting.

【0040】図9のステップS3で高速実装からの検索
モードが選択されると、図10のステップS1で、全て
の処理に対して高速な命令及び高速な演算リソースを選
択し、初期解(処理実現案)を作成する。ステップS2
で、初期解に対して面積、処理速度、消費電力等を計算
することにより評価を行う。
When the search mode from the high-speed implementation is selected in step S3 of FIG. 9, high-speed instructions and high-speed arithmetic resources are selected for all the processes in step S1 of FIG. Create an implementation plan). Step S2
Then, the evaluation is performed by calculating the area, the processing speed, the power consumption, etc. for the initial solution.

【0041】ステップS3で、面積が所定の目標面積内
であるか否かを判定する。所定の面積内である場合には
ステップS4に進む。そうでない場合にはステップS5
で面積を減らす方向に解(処理実現案)を変更し、ステ
ップS2に戻る。
In step S3, it is determined whether the area is within a predetermined target area. If it is within the predetermined area, the process proceeds to step S4. Otherwise, step S5
The solution (process implementation plan) is changed to reduce the area with, and the process returns to step S2.

【0042】ステップS4で、消費電力が所定の目標消
費電力内であるか否かを判定する。所定の消費電力内で
ある場合には処理を終了する。そうでない場合にはステ
ップS6で消費電力を減らす方向に解(処理実現案)を
変更し、ステップS2に戻る。
In step S4, it is determined whether the power consumption is within a predetermined target power consumption. If it is within the predetermined power consumption, the process ends. If not, the solution (process implementation plan) is changed to reduce power consumption in step S6, and the process returns to step S2.

【0043】以上の処理により、処理速度を重視した実
装案でありながら、面積及び消費電力に関して所定の条
件を満たした処理実現案を選択することが出来る。
By the above processing, it is possible to select a processing implementation plan that satisfies predetermined conditions with respect to area and power consumption, while being an implementation plan that emphasizes processing speed.

【0044】図11は、小実装からの検索モードの処理
を示すフローチャートである。
FIG. 11 is a flow chart showing the processing of the search mode from the small implementation.

【0045】図9のステップS3で小実装からの検索モ
ードが選択されると、図11のステップS1で、全ての
処理に対して低消費電力・小面積の命令及び演算リソー
スを選択し、初期解(処理実現案)を作成する。ステッ
プS2で、初期解に対して面積、処理速度、消費電力等
を計算することにより評価を行う。
When the search mode from small implementation is selected in step S3 of FIG. 9, instructions and operation resources of low power consumption and small area are selected for all the processes in step S1 of FIG. Create a solution (process implementation plan). In step S2, the initial solution is evaluated by calculating the area, processing speed, power consumption, and the like.

【0046】ステップS3で、処理速度が所定の目標処
理速度内であるか否かを判定する。所定の処理速度内で
ある場合には処理を終了する。そうでない場合にはステ
ップS4で高速化する方向に解(処理実現案)を変更
し、ステップS2に戻る。
In step S3, it is determined whether the processing speed is within a predetermined target processing speed. If it is within the predetermined processing speed, the processing is ended. If not, the solution (process implementation plan) is changed in the direction of increasing the speed in step S4, and the process returns to step S2.

【0047】以上の処理により、面積及び消費電力を重
視した実装案でありながら、処理速度に関して所定の条
件を満たした処理実現案を選択することが出来る。
Through the above processing, it is possible to select a processing implementation plan that satisfies a predetermined condition with respect to processing speed, even though it is an implementation plan that emphasizes area and power consumption.

【0048】図12は、代表解からの検索モードの処理
を示すフローチャートである。
FIG. 12 is a flowchart showing the processing in the search mode from the representative solution.

【0049】図9のステップS3で代表解からの検索モ
ードが選択されると、図12のステップS1で初期解を
作成する。この初期解作成の処理においては、まずステ
ップS1−1で、最も処理回数が多い演算を選択する。
即ち、応用プログラムを実行した際に各演算の実行回数
をカウントするが、このカウントされる実行回数が最も
多い演算を選択する。ステップS1−2で、選択された
演算に対して面積、消費電力、或いは速度の観点から最
大、中間、最小の3通りの実装パターンを決定する。ス
テップS1−3で、実装の組み合せ数が所定の数(指定
値)以下であるか否かを判定する。指定値以下の場合に
は、次に処理回数が多い演算を選択して、ステップS1
−2に戻り、同様に最大、中間、最小の3通りの実装を
決定する。実装の組み合せの数が指定値を超えると処理
を中断し、選択されていない残りの演算に関しては中間
の実装パターンを適用する。これにより異なる組み合せ
に対応する複数の実装パターン(複数の初期代表解)を
作成することが出来る。
When the search mode from the representative solution is selected in step S3 of FIG. 9, an initial solution is created in step S1 of FIG. In the process of creating the initial solution, first, in step S1-1, the calculation having the largest number of processes is selected.
That is, the number of executions of each operation is counted when the application program is executed, and the operation having the largest number of executions counted is selected. In step S1-2, three types of mounting patterns of maximum, intermediate, and minimum are determined for the selected calculation from the viewpoint of area, power consumption, or speed. In step S1-3, it is determined whether the number of combinations of mounting is less than or equal to a predetermined number (specified value). If it is less than or equal to the specified value, the operation with the next largest number of processes is selected, and step S1
Return to -2, and similarly determine the maximum, intermediate, and minimum three implementations. When the number of combinations of implementations exceeds the specified value, the processing is interrupted, and the intermediate implementation pattern is applied to the remaining unselected operations. This makes it possible to create a plurality of mounting patterns (a plurality of initial representative solutions) corresponding to different combinations.

【0050】ステップS2で、複数の初期代表解のうち
のある代表解を評価する。ステップS3で、その代表解
が速度目標を下回っているか否かを判断する。速度目標
より下回っている場合には、ステップS8で代表解を高
速化する。また速度目標を達成している場合には、ステ
ップS4で消費電力を減らすかステップS9で面積を減
らすように代表解を改良する。その後ステップS5で、
消費電力を減らした代表解及び面積を減らした代表解の
うちで良好な方を選択する。ステップS6で、新しい代
表解は履歴に記録する。
In step S2, a certain representative solution among a plurality of initial representative solutions is evaluated. In step S3, it is determined whether or not the representative solution is below the speed target. If the speed is lower than the speed target, the speed of the representative solution is increased in step S8. When the speed target is achieved, the representative solution is improved so that the power consumption is reduced in step S4 or the area is reduced in step S9. Then in step S5,
The better one is selected from the representative solution with reduced power consumption and the representative solution with reduced area. In step S6, the new representative solution is recorded in the history.

【0051】上記一連の処理を各代表解について実行す
る。例えば最初に代表解が20個存在する場合には、第
一回目の上記一連の処理で、20個の新規代表解が得ら
れる。ステップS7で、履歴に記録される新規解のうち
で既存の解と異なるものがあるか否かを判断し、ステッ
プS10を介して、既存の解と異なるものに対してステ
ップS2に戻る。これにより例えば上記20個の新規代
表解について、ステップS2以降の処理が再度実行され
る。これを繰り返すことで、複数の初期代表解が徐々に
改良されていく。ある初期代表解から出発したイタレー
ション処理が局所解(ローカルミニマム)に落ちると、
この代表解をそれ以上変更してもまた局所解に戻るので
既存の代表解と同一となる。このようにして、複数の初
期代表解から出発したトレースはそれぞれ局所解に落ち
着くことになる。これにより例えば20個の局所解が得
られると、ステップS7で既存の解と異なる解がないと
して処理を終了する。この最終的に得られた複数の局所
解のうちで最良のものを最適解として選択する。
The above series of processing is executed for each representative solution. For example, when there are 20 representative solutions at the beginning, 20 new representative solutions are obtained by the series of the first processing. In step S7, it is determined whether or not there is a new solution recorded in the history that is different from the existing solution, and the process returns to step S2 via step S10 for the solution different from the existing solution. As a result, for example, with respect to the above 20 new representative solutions, the processing from step S2 is executed again. By repeating this, a plurality of initial representative solutions are gradually improved. When the iteration process starting from an initial representative solution falls to a local solution (local minimum),
Even if this representative solution is changed further, it returns to the local solution and is the same as the existing representative solution. In this way, the traces starting from a plurality of initial representative solutions settle down to local solutions, respectively. As a result, if, for example, 20 local solutions are obtained, it is determined in step S7 that there is no solution different from the existing solution, and the process ends. The best one is selected as the optimum solution from the plurality of finally obtained local solutions.

【0052】以上で代表解からの検索モードの処理を終
了する。
This completes the processing of the search mode from the representative solution.

【0053】なお図10、図11、及び図12に示され
る手順において、面積を減らす処理、消費電力を減らす
処理、及び高速化する処理が実行されるが、それぞれ具
体的には以下のようにすればよい。
In the procedure shown in FIGS. 10, 11, and 12, the process of reducing the area, the process of reducing the power consumption, and the process of increasing the speed are executed. do it.

【0054】面積を減らすためには、例えば、演算リソ
ースの大きさと使用時間とを比較することで効率が悪い
((大きさ/使用時間)が大きい)演算リソースを選択
し、これを面積がより小さい演算リソースに変更する。
消費電力を減らすためには、例えば、演算リソースの消
費電力と使用時間とを比較することで効率が悪い((消
費電力/使用時間)が大きい)演算リソースを選択し、
これを消費電力がより小さい演算リソースに変更する。
また高速化するためには、例えば、処理の実行時間を比
較して、最も時間がかかっている部分をより高速な方式
に変更すればよい。
In order to reduce the area, for example, by comparing the size of the computing resource with the usage time, an inefficient computing resource (having a large (size / usage time)) is selected, and this is reduced in area. Change to a smaller computing resource.
In order to reduce the power consumption, for example, by comparing the power consumption of the computing resource with the usage time, a computing resource with low efficiency ((power consumption / usage time is large) is selected,
This is changed to a computing resource that consumes less power.
Further, in order to increase the speed, for example, the process execution times may be compared, and the part that takes the longest time may be changed to a higher speed method.

【0055】図13は、本発明による設計支援方法・設
計支援システムを実現する装置の構成を示す図である。
FIG. 13 is a diagram showing the configuration of an apparatus for realizing the design support method / design support system according to the present invention.

【0056】図13に示されるように、本発明による設
計支援方法・設計支援システムを実現する装置は、例え
ばパーソナルコンピュータやエンジニアリングワークス
テーション等のコンピュータにより実現される。図13
の装置は、コンピュータ510と、コンピュータ510
に接続されるディスプレイ装置520、通信装置52
3、及び入力装置よりなる。入力装置は、例えばキーボ
ード521及びマウス522を含む。コンピュータ51
0は、CPU511、RAM512、ROM513、ハ
ードディスク等の二次記憶装置514、可換媒体記憶装
置515、及びインターフェース516を含む。
As shown in FIG. 13, the apparatus for realizing the design support method / design support system according to the present invention is realized by a computer such as a personal computer or an engineering workstation. FIG.
The device is a computer 510 and a computer 510.
Device 520 and communication device 52 connected to
3 and an input device. The input device includes, for example, a keyboard 521 and a mouse 522. Computer 51
0 includes a CPU 511, a RAM 512, a ROM 513, a secondary storage device 514 such as a hard disk, a removable medium storage device 515, and an interface 516.

【0057】キーボード521及びマウス522は、ユ
ーザとのインターフェースを提供するものであり、コン
ピュータ510を操作するための各種コマンドや要求さ
れたデータに対するユーザ応答等が入力される。ディス
プレイ装置520は、コンピュータ510で処理された
結果等を表示すると共に、コンピュータ510を操作す
る際にユーザとの対話を可能にするために様々なデータ
表示を行う。通信装置523は、遠隔地との通信を行な
うためのものであり、例えばモデムやネットワークイン
ターフェース等よりなる。
The keyboard 521 and the mouse 522 provide an interface with the user, and various commands for operating the computer 510 and user responses to requested data are input. The display device 520 displays the results processed by the computer 510, and displays various data to allow the user to interact when operating the computer 510. The communication device 523 is for communicating with a remote place, and is composed of, for example, a modem or a network interface.

【0058】本発明による設計支援方法は、コンピュー
タ510が実行可能なコンピュータプログラムとして提
供される。このコンピュータプログラムは、可換媒体記
憶装置515に装着可能な記憶媒体Mに記憶されてお
り、記憶媒体Mから可換媒体記憶装置515を介して、
RAM512或いは二次記憶装置514にロードされ
る。或いは、このコンピュータプログラムは、遠隔地に
ある記憶媒体(図示せず)に記憶されており、この記憶
媒体から通信装置523及びインターフェース516を
介して、RAM512或いは二次記憶装置514にロー
ドされる。
The design support method according to the present invention is provided as a computer program executable by the computer 510. This computer program is stored in a storage medium M that can be attached to the removable medium storage device 515, and from the storage medium M via the removable medium storage device 515,
It is loaded into the RAM 512 or the secondary storage device 514. Alternatively, this computer program is stored in a storage medium (not shown) in a remote place, and is loaded from the storage medium into the RAM 512 or the secondary storage device 514 via the communication device 523 and the interface 516.

【0059】キーボード521及び/又はマウス522
を介してユーザからプログラム実行指示があると、CP
U511は、記憶媒体M、遠隔地記憶媒体、或いは二次
記憶装置514からプログラムをRAM512にロード
する。CPU511は、RAM512の空き記憶空間を
ワークエリアとして使用して、RAM512にロードさ
れたプログラムを実行し、適宜ユーザと対話しながら処
理を進める。なおROM513は、コンピュータ510
の基本動作を制御するための制御プログラムが格納され
ている。
Keyboard 521 and / or mouse 522
When a user gives a program execution instruction via
The U 511 loads the program from the storage medium M, the remote storage medium, or the secondary storage device 514 into the RAM 512. The CPU 511 uses the free storage space of the RAM 512 as a work area, executes the program loaded in the RAM 512, and advances the processing while appropriately interacting with the user. The ROM 513 is the computer 510.
A control program for controlling the basic operation of is stored.

【0060】上記コンピュータプログラムを実行するこ
とで、上記各実施例で説明されたように、設計支援方法
を実行する。またこの設計支援環境が、設計支援システ
ムである。
By executing the computer program, the design support method is executed as described in each of the embodiments. This design support environment is the design support system.

【0061】以上、本発明を実施例に基づいて説明した
が、本発明は上記実施例に限定されるものではなく、特
許請求の範囲に記載の範囲内で様々な変形が可能であ
る。 (付記1)特定のアプリケーションに対して必要な処理
及び要求される性能目標に関する情報を格納する目標値
ファイルと、処理を実現するための命令を各処理に対応
付ける処理実現データベースと、各命令に演算リソース
を対応付ける命令リソースデータベースと、各演算リソ
ースの仕様を格納するリソースデータベースと、該処理
実現データベース及び該命令リソースデータベースに基
づいて該必要な処理を実現するための命令セット及び演
算リソースの複数の組み合せを作成し、該リソースデー
タベースに基づいて該命令セット及び演算リソースの複
数の組み合せを評価し、該性能目標を満たすように該命
令セット及び演算リソースの組み合せの1つを選択する
処理実現案作成評価ユニットを含むことを特徴とする設
計支援システム。 (付記2)該リソースデータベースは各演算リソースに
ついて処理時間及び実装面積に関する情報を含むことを
特徴とする付記1記載の設計支援システム。 (付記3)該処理実現案作成評価ユニットは該実装面積
が該性能目標に要求される制限内で且つ該処理時間が最
短になるように該命令セット及び演算リソースの組み合
せの1つを選択することを特徴とする付記2記載の設計
支援システム。 (付記4)該リソースデータベースは各演算リソースに
ついて消費電力に関する情報を更に含むことを特徴とす
る付記2記載の設計支援システム。 (付記5)特定のアプリケーションプログラムを解析す
ることで該必要な処理を抽出する性能目標値抽出ユニッ
トを更に含むことを特徴とする付記1記載の設計支援シ
ステム。 (付記6)該処理実現案作成評価ユニットは該命令セッ
ト及び演算リソースについて全ての可能な組み合せを総
当りで評価し最適な組み合せを選択することを特徴とす
る付記1記載の設計支援システム。 (付記7)該処理実現案作成評価ユニットは該命令セッ
ト及び演算リソースのある組み合せを初期設定として、
所望の性能に近づくように順次組み合せを改良していく
ことを特徴とする付記1記載の設計支援システム。 (付記8)特定のアプリケーションに対して必要な処理
及び要求される性能目標を決定し、該必要な処理を実現
するための命令セットを決定し、該命令セットを実現す
る演算リソースを決定し、該演算リソースの仕様に基づ
いて該命令セット及び該演算リソースを評価し、該性能
目標を満たすように該命令セット及び演算リソースを最
適化する各段階を含むことを特徴とする設計支援方法。 (付記9)該演算リソースの仕様は実装面積及び処理時
間を含み、該最適化する段階は、該実装面積が該性能目
標に要求される制限内で且つ該処理時間が最短になるよ
うに該命令セット及び演算リソースを最適化することを
特徴とする付記8記載の設計支援方法。 (付記10)特定のアプリケーションプログラムを解析
することで該必要な処理を抽出する段階を更に含むこと
を特徴とする付記8記載の設計支援方法。
Although the present invention has been described based on the embodiments, the present invention is not limited to the above embodiments, and various modifications can be made within the scope of the claims. (Supplementary Note 1) A target value file that stores information related to required processing and required performance goals for a specific application, a processing realization database that associates an instruction for realizing the processing with each processing, and an operation for each instruction A command resource database that associates resources, a resource database that stores specifications of each calculation resource, a plurality of combinations of a command set and a calculation resource for realizing the required process based on the process realization database and the command resource database And evaluating a plurality of combinations of the instruction set and the arithmetic resource based on the resource database, and selecting one of the combination of the instruction set and the arithmetic resource so as to satisfy the performance target. A design support system including a unit. (Supplementary Note 2) The design support system according to Supplementary Note 1, wherein the resource database includes information regarding processing time and mounting area for each calculation resource. (Supplementary Note 3) The processing implementation plan creation evaluation unit selects one of the combination of the instruction set and the computing resource so that the mounting area is within the limit required for the performance target and the processing time is the shortest. The design support system according to appendix 2, which is characterized in that (Supplementary note 4) The design support system according to supplementary note 2, wherein the resource database further includes information regarding power consumption for each calculation resource. (Supplementary note 5) The design support system according to supplementary note 1, further comprising a performance target value extraction unit that extracts the necessary processing by analyzing a specific application program. (Supplementary note 6) The design support system according to supplementary note 1, wherein the processing implementation plan creation evaluation unit evaluates all possible combinations of the instruction set and the computing resource in a brute force manner and selects an optimum combination. (Supplementary Note 7) The processing implementation plan creation / evaluation unit sets a certain combination of the instruction set and the calculation resource as an initial setting,
The design support system according to appendix 1, wherein the combinations are successively improved so as to approach desired performance. (Supplementary Note 8) A process required for a specific application and a required performance target are determined, an instruction set for realizing the required process is determined, and a computing resource for realizing the instruction set is determined. A design support method comprising: each step of evaluating the instruction set and the operation resource based on a specification of the operation resource, and optimizing the instruction set and the operation resource so as to satisfy the performance target. (Supplementary Note 9) The specification of the computing resource includes a mounting area and a processing time, and the optimizing step is performed so that the mounting area is within the limit required by the performance target and the processing time is the shortest. 9. The design support method according to attachment 8, wherein the instruction set and the computing resource are optimized. (Supplementary note 10) The design support method according to supplementary note 8, further comprising a step of extracting the necessary processing by analyzing a specific application program.

【発明の効果】本発明においては、特定のアプリケーシ
ョンに対して必要な処理について、これを実現するため
の命令セット及び演算リソースを決定し、要求性能目標
を満たすように命令セット及び演算リソースを最適化す
る。従って、特定のアプリケーションに対して最適の命
令セット及びこれを実装する演算リソースを選択するこ
とが可能となり、所望の処理能力、コスト、消費電力等
を有するプロセッサを設計することが出来る。
According to the present invention, with respect to the processing required for a specific application, the instruction set and arithmetic resource for realizing this are determined, and the instruction set and arithmetic resource are optimized so as to satisfy the required performance target. Turn into. Therefore, it becomes possible to select an optimum instruction set and a calculation resource for implementing the same for a specific application, and it is possible to design a processor having a desired processing capacity, cost, power consumption, and the like.

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

【図1】専用プロセッサ設計支援システムの構成を示す
図である。
FIG. 1 is a diagram showing a configuration of a dedicated processor design support system.

【図2】目標値設定ユニットにより設定される目標値の
一例を示す図である。
FIG. 2 is a diagram showing an example of a target value set by a target value setting unit.

【図3】リソースデータベースに格納されるデータの一
例を示す図である。
FIG. 3 is a diagram showing an example of data stored in a resource database.

【図4】消費電力をエントリとして有するリソースデー
タベースの一例を示す図である。
FIG. 4 is a diagram showing an example of a resource database having power consumption as an entry.

【図5】処理実現データベースに格納される情報の一例
を示す図である。
FIG. 5 is a diagram showing an example of information stored in a process implementation database.

【図6】性能目標値抽出ユニットによる処理を示すフロ
ーチャートである。
FIG. 6 is a flowchart showing processing by a performance target value extraction unit.

【図7】図6の処理を説明するための具体例を示す図で
ある。
FIG. 7 is a diagram showing a specific example for explaining the process of FIG.

【図8】処理実現案作成ユニットの処理を示すフローチ
ャートである。
FIG. 8 is a flowchart showing a process of a process implementation plan creation unit.

【図9】処理実現案評価ユニットにより実行される処理
実現案評価処理の一例を示すフローチャートである。
FIG. 9 is a flowchart showing an example of a process implementation plan evaluation process executed by a process implementation plan evaluation unit.

【図10】高速実装からの検索モードの処理を示すフロ
ーチャートである。
FIG. 10 is a flowchart showing processing in a search mode from high-speed mounting.

【図11】小実装からの検索モードの処理を示すフロー
チャートである。
FIG. 11 is a flowchart showing processing in a search mode from sub-implementation.

【図12】代表解からの検索モードの処理を示すフロー
チャートである。
FIG. 12 is a flowchart showing processing in a search mode from a representative solution.

【図13】本発明による設計支援方法・設計支援システ
ムを実現する装置の構成を示す図である。
FIG. 13 is a diagram showing a configuration of an apparatus that realizes a design support method / design support system according to the present invention.

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

10 専用プロセッサ設計支援システム 11 処理実現案作成ユニット 12 処理実現案評価ユニット 13 目標値設定ユニット 14 性能目標値抽出ユニット 15 リソースデータベース作成ユニット 16 処理実現データベース作成ユニット 17 命令リソースデータベース作成ユニット 21 リソースデータベース 22 処理実現データベース 23 命令リソースデータベース 24 応用プログラムファイル 25 目標値ファイル 26 最適実現案ファイル 10 Dedicated processor design support system 11 Process implementation plan creation unit 12 Process implementation plan evaluation unit 13 Target value setting unit 14 Performance target value extraction unit 15 Resource database creation unit 16 Process Realization Database Creation Unit 17 Instruction resource database creation unit 21 Resource database 22 Process Realization Database 23 Command Resource Database 24 Application program file 25 Target value file 26 Optimal Realization Plan File

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】特定のアプリケーションに対して必要な処
理及び要求される性能目標に関する情報を格納する目標
値ファイルと、 処理を実現するための命令を各処理に対応付ける処理実
現データベースと、 各命令に演算リソースを対応付ける命令リソースデータ
ベースと、 各演算リソースの仕様を格納するリソースデータベース
と、 該処理実現データベース及び該命令リソースデータベー
スに基づいて該必要な処理を実現するための命令セット
及び演算リソースの複数の組み合せを作成し、該リソー
スデータベースに基づいて該命令セット及び演算リソー
スの複数の組み合せを評価し、該性能目標を満たすよう
に該命令セット及び演算リソースの組み合せの1つを選
択する処理実現案作成評価ユニットを含むことを特徴と
する設計支援システム。
1. A target value file that stores information about a process required for a specific application and a required performance target, a process realization database that associates a command for realizing the process with each process, and a command realization file for each command. A command resource database that associates the calculation resources, a resource database that stores the specifications of the calculation resources, a processing implementation database and a plurality of command sets and calculation resources that realize the necessary processing based on the command resource database. Creating a combination, creating a process implementation plan that evaluates a plurality of combinations of the instruction set and the computing resource based on the resource database and selects one of the combination of the instruction set and the computing resource so as to meet the performance goal. Design support system characterized by including an evaluation unit Mu.
【請求項2】該リソースデータベースは各演算リソース
について処理時間及び実装面積に関する情報を含むこと
を特徴とする請求項1記載の設計支援システム。
2. The design support system according to claim 1, wherein the resource database includes information regarding a processing time and a mounting area for each calculation resource.
【請求項3】特定のアプリケーションプログラムを解析
することで該必要な処理を抽出する性能目標値抽出ユニ
ットを更に含むことを特徴とする請求項1記載の設計支
援システム。
3. The design support system according to claim 1, further comprising a performance target value extraction unit that extracts the necessary processing by analyzing a specific application program.
【請求項4】該処理実現案作成評価ユニットは該命令セ
ット及び演算リソースについて全ての可能な組み合せを
総当りで評価し最適な組み合せを選択することを特徴と
する請求項1記載の設計支援システム。
4. The design support system according to claim 1, wherein the processing implementation plan creation evaluation unit evaluates all possible combinations of the instruction set and operation resources in a brute force manner and selects an optimum combination. .
【請求項5】特定のアプリケーションに対して必要な処
理及び要求される性能目標を決定し、 該必要な処理を実現するための命令セットを決定し、 該命令セットを実現する演算リソースを決定し、 該演算リソースの仕様に基づいて該命令セット及び該演
算リソースを評価し、該性能目標を満たすように該命令
セット及び演算リソースを最適化する各段階を含むこと
を特徴とする設計支援方法。
5. A process required for a specific application and a required performance target are determined, an instruction set for realizing the required process is determined, and a computing resource for realizing the instruction set is determined. A design support method comprising: each step of evaluating the instruction set and the calculation resource based on the specification of the calculation resource, and optimizing the instruction set and the calculation resource so as to satisfy the performance target.
JP2002060939A 2002-03-06 2002-03-06 System and method for aiding design Withdrawn JP2003256487A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002060939A JP2003256487A (en) 2002-03-06 2002-03-06 System and method for aiding design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002060939A JP2003256487A (en) 2002-03-06 2002-03-06 System and method for aiding design

Publications (1)

Publication Number Publication Date
JP2003256487A true JP2003256487A (en) 2003-09-12

Family

ID=28670107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002060939A Withdrawn JP2003256487A (en) 2002-03-06 2002-03-06 System and method for aiding design

Country Status (1)

Country Link
JP (1) JP2003256487A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011503695A (en) * 2007-11-01 2011-01-27 シリコン ヒフェ ベー.フェー. Method and apparatus for designing a processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011503695A (en) * 2007-11-01 2011-01-27 シリコン ヒフェ ベー.フェー. Method and apparatus for designing a processor
US8433553B2 (en) 2007-11-01 2013-04-30 Intel Benelux B.V. Method and apparatus for designing a processor

Similar Documents

Publication Publication Date Title
Oberman et al. Design issues in division and other floating-point operations
CN102197369B (en) Apparatus and method for performing SIMD multiply-accumulate operations
CN107305484A (en) A kind of nonlinear function arithmetic unit and method
CN109863476A (en) Dynamic variable accuracy computation
CN1853164B (en) Combinational method for developing building blocks of DSP compiler
Gellert et al. Performance and energy optimisation in CPUs through fuzzy knowledge representation
Fu et al. Auto-NBA: Efficient and effective search over the joint space of networks, bitwidths, and accelerators
JP5316433B2 (en) Optimization processing program, method and apparatus
CN110018848A (en) A kind of mixing based on RISC-V is mixed to calculate system and method
US20100037039A1 (en) Instruction operation code generation system
Ghosh et al. Analytical design space exploration of caches for embedded systems
JP2021064049A (en) Calculator system and mathematical model generation support method
Menard et al. High-level synthesis under fixed-point accuracy constraint
KR20080096306A (en) Compiling method and system for a rule-based optimal placement of scaling shifts
CN105164667A (en) Modifying an analytic flow
JP2007034888A (en) Method and apparatus for allocating data path for minimizing unnecessary power consumption of function unit
JP2003256487A (en) System and method for aiding design
CN109901931B (en) Reduction function quantity determination method, device and system
CN202281998U (en) Scalar floating-point operation accelerator
CN102693118A (en) Scalar floating point operation accelerator
JP4158458B2 (en) Information processing apparatus and information processing method
CN102446086A (en) Parameterized specific instruction set processor design platform
US20070250803A1 (en) High-level synthesis method and high-level synthesis system
JP5245727B2 (en) Design support program, design support apparatus, and design support method
CN115062567B (en) Condensation operation method and device for adjacent node set in graph data and electronic equipment

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050510