JP2009163576A - 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム - Google Patents
性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム Download PDFInfo
- Publication number
- JP2009163576A JP2009163576A JP2008001606A JP2008001606A JP2009163576A JP 2009163576 A JP2009163576 A JP 2009163576A JP 2008001606 A JP2008001606 A JP 2008001606A JP 2008001606 A JP2008001606 A JP 2008001606A JP 2009163576 A JP2009163576 A JP 2009163576A
- Authority
- JP
- Japan
- Prior art keywords
- performance evaluation
- processing unit
- basic processing
- software
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000011156 evaluation Methods 0.000 title claims abstract description 245
- 238000004088 simulation Methods 0.000 title claims abstract description 242
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000012545 processing Methods 0.000 claims abstract description 479
- 230000006870 function Effects 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 27
- 238000013461 design Methods 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 26
- 235000000332 black box Nutrition 0.000 description 10
- 244000085682 black box Species 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 241001074639 Eucalyptus albens Species 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000000638 solvent extraction Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 238000012938 design process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/08—HW-SW co-design, e.g. HW-SW partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】性能評価シミュレーション装置は、実行ログに基づいて基本処理単位に分割し、実行ログに保持される情報から基本処理単位の処理量を算出して、算出した処理量が所定の閾値を超える処理量を有する基本処理単位をハードウェアモデルに配置構成を変更し、当該ハードウェアモデルと、ソフトウェアモデルとの性能評価シミュレーションを実行して、性能評価の基となる統計情報を作成する。
【選択図】 図1
Description
まず最初に、図1を用いて、実施例1に係る性能評価シミュレーション装置の概要および特徴を説明する。図1は、実施例1に係る性能評価シミュレーション装置の概要および特徴を示す図である。
次に、図2を用いて、実施例1に係る性能評価シミュレーション装置の構成を説明する。図2は、実施例1に係る性能評価シミュレーション装置の構成を示す図である。図2に示すように、性能評価シミュレーション装置10は、機能モジュール11−1〜11−n、スケジューラ部20およびアクセス処理部21から構成される。
次に、図5を用いて、LSIの開発フローを説明する。図5は、LSIの開発フローを説明するための図である。なお、このLSIは、実施例1に係る性能評価シミュレーション装置の処理を含むLSI全体の設計を行うものである。
次に、図6を用いて、実施例1に係る性能評価シミュレーション装置10によるシミュレーション処理を説明する。図6は、実施例1に係る性能評価シミュレーション装置10によるシミュレーション処理を示すフローチャートである。なお、図6において説明する処理は、図5で示したステップS604のアーキテクチャ設計の部分である。
このようにして、実施例1によれば、性能評価シミュレーション装置10は、実行ログに保持される情報を用いて、各処理のSW/HW分割を行うとともに、命令実行時間、命令フェッチ時間、データアクセス時間を計測しつつ、命令キャッシュ、データキャッシュを経由してバスアクセスを実行することによりシミュレーションを実行するので、設計初期にSW/HW分割を最適に行なうことが可能であるとともに、SW/HW分割の妥当性を判断することが可能である。
実施例2において、図8を用いて、CPUモデルが周期的にイベントを行なう際の時間とCPU処理量との関係を説明する。図8において、各基本処理単位は、基本処理単位を複数組み合わせたプロセス処理単位に応じて各基本処理単位固有の機能を記述するwhitebox部と、統計情報を収集するための処理を行うblackbox部とから構成される。また、プロセス処理とは、基本処理単位を複数組み合わせて実行する処理であり、イベントとは、基本処理単位のみの処理を含むプロセス処理の組み合わせからなるものである。なお、図8に示す図の縦軸を「CPU処理量」、横軸を「時間」としてCPU処理量と時間との関係についても説明する。
次に、図9を用いて、CPU内の機能モジュールの一部をハードウェア化した場合のイベント処理を説明する。図9において、各基本処理単位の構成などは、図8に示したものと同様であるのでその説明を省略して、処理量の多い基本処理単位をハードウェア化する際のイベント処理について説明する。
次に、図10、図11を用いて、実施例2に係るUMLクラスの例とSystemC言語による記述例とを、図12を用いて、実施例2に係るハードウェアモデルの抽象度とシミュレーション処理との関係を説明する。なお、図10または図11に示す「Fn_*」は、各機能モジュールを、「Fn_if」は、各機能モジュール共通インタフェースを、「Fn_*.h」は、各機能モジュールのヘッダ部を、「Fn_*.cpp」は、ソースコードを、「Fn_if.h」は、機能モジュール共通インタフェースのヘッダ部を、「Fn_if.cpp」は、ソースコードを表している。
このようにして、実施例2によれば、性能評価シミュレーション装置10は、各基本処理単位固有の機能の実行とは無関係にCPU負荷を与えるので、各基本処理単位の完成度に依存せずにキャッシュ解析やCPU統計情報などの取得が可能である。
ここで、上記実施例1では、SW/HW分割における基本処理単位の所定の閾値と処理量とを比較してシミュレーションを実行する場合を説明したが、本発明はこれに限定されるものではなく、CPU負荷率によりSW/HW分割における基本処理単位の所定の閾値を変更して、当該所定の閾値と処理量とを比較してシミュレーションを実行することもできる。
このようにして、実施例3によれば、性能評価シミュレーション装置10は、性能評価結果のCPU性能判定条件を満たせない場合に、基本処理単位の判定閾値を変更するので、より高精度なシミュレーションを実行してSW/HW分割の妥当性を判断することが可能である。
ここで、上記実施例1では、SW/HW分割における基本処理単位の所定の閾値と処理量とを比較してシミュレーションを実行する場合を説明したが、本発明はこれに限定されるものではなく、CPU負荷率によりSW/HW分割におけるプロセス処理単位の所定の閾値を変更して、当該所定の閾値と処理量とを比較してシミュレーションを実行することもできる。
このようにして、実施例4によれば、性能評価シミュレーション装置10は、性能評価結果のCPU性能判定条件を満たせない場合に、プロセス処理単位の判定閾値を変更するので、より高精度なシミュレーションを実行してSW/HW分割の妥当性を判断することが可能である。
また、上記実施例1では、SW/HW分割における基本処理単位の所定の閾値を予め決定してシミュレーションを実行する場合を説明したが、本発明はこれに限定されるものではなく、SW/HW分割における基本処理単位の所定の閾値を実行ログのファイルサイズを用いて決定することもできる。
このようにして、実施例5によれば、性能評価シミュレーション装置10は、SW/HW分割の閾値に実行ログのファイルサイズを利用するので、より高精度なシミュレーションを実行することが可能である。
また、上記実施例1では、性能評価シミュレーションの実行により最適なSW/HW分割の妥当性を判断する場合を説明したが、本発明はこれに限定されるものではなく、SW/SW分割によるマルチコア化を検討することもできる。
このようにして、実施例6によれば、性能評価シミュレーション装置10は、CPUにおいてSW/HW分割の閾値からハードウェア化されるべき機能モジュールをADDON−CPUに振り分けて出力するので、一つのCPU内に複数のCPUコアが存在するマルチコア化を検討することが可能である。
種々の異なる形態にて実施されてよいものである。そこで、(1)性能評価シミュレーション装置の構成、(2)性能評価シミュレーション装置を一つの設計プロセスとして含む電子装置、(3)プログラムにおいて異なる実施例を説明する。
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメタを含む情報(例えば、図2に示す「統計情報」などが記憶している情報)については、特記する場合を除いて任意に変更することができる。
また、上記の実施例では、ソフトウェアモデルとハードウェアモデルとを最適にSWとHWとに分割するための性能評価シミュレーション装置として説明したが、本発明はこれに限定されるものではなく、当該性能評価シミュレーション装置を一つの設計プロセスとして含む電子装置として処理することもできる。
ところで、上記の実施例では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図18を用いて、上記の実施例に示した性能評価シミュレーション装置と同様の機能を有する性能評価シミュレーションプログラムを実行するコンピュータの一例を説明する。図18は、性能評価シミュレーションプログラムを実行するコンピュータを示す図である。
前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割手段と、
前記基本処理単位分割手段により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出手段と、
前記処理量算出手段により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更手段と、
前記配置構成変更手段によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成手段と、
を備えたことを特徴とする性能評価シミュレーション装置。
前記統計情報作成手段は、前記配置構成変更手段によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とを複数組み合わせたプロセス処理において、前記第一のブロックにより各基本処理単位固有の機能が実行されて第二のブロックを呼出し、呼出された第二のブロックにおいて当該プロセス処理に負荷をかけて、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行して、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成することを特徴とする付記1に記載の性能評価シミュレーション装置。
前記配置構成変更手段は、前記性能評価シミュレーション実行後に得られた統計情報が前記判定条件設定手段により設定される判定条件を満たさない場合に、所定の閾値を変更し、前記処理量算出手段により算出された処理量と当該変更された所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更し、
前記統計情報作成手段は、前記配置構成変更手段によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行して、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成することを特徴とする付記1に記載の性能評価シミュレーション装置。
前記処理量算出手段は、前記基本処理単位分割手段により分割された基本処理単位を複数組み合わせたプロセス処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出し、
前記配置構成変更手段は、前記性能評価シミュレーション実行後に得られた統計情報が前記判定条件設定手段により設定される判定条件を満たさない場合に、所定の閾値を変更し、前記処理量算出手段により算出された処理量と当該変更された所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更し、
前記統計情報作成手段は、前記配置構成変更手段によりハードウェアモデルに配置構成を変更されたプロセス処理単位と、ソフトウェアモデルに配置構成されているプロセス処理単位とに対して命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行して、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成することを特徴とする付記1に記載の性能評価シミュレーション装置。
前記配置構成変更手段は、前記処理量算出手段により算出された処理量と前記決定された所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更することを特徴とする付記1に記載の性能評価シミュレーション装置。
前記配置構成変更手段は、前記処理量算出手段により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位を第二の性能評価シミュレーション装置に配置構成を変更することを特徴とする付記1に記載の性能評価シミュレーション装置。
前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割工程と、
前記基本処理単位分割工程により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出工程と、
前記処理量算出工程により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更工程と、
前記配置構成変更工程によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成工程と、
を含んだことを特徴とする性能評価シミュレーション方法。
前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割手順と、
前記基本処理単位分割手順により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出手順と、
前記処理量算出手順により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更手順と、
前記配置構成変更手順によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成手順と、
をコンピュータに実行させることを特徴とする性能評価シミュレーションプログラム。
前記ソフトウェアモデルとハードウェアモデルとを受け付ける受付手段と、
前記受付手段により受け付けた前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割手段と、
前記基本処理単位分割手段により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出手段と、
前記処理量算出手段により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更手段と、
前記配置構成変更手段によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成手段と、
前記統計情報作成手段により作成された統計情報に基づいて、ソフトウェアとハードウェアとをLSIに分割して搭載させるLSI生成手段と、
を備えたことを特徴とする電子装置。
前記ソフトウェアモデルとハードウェアモデルとを受け付ける受付工程と、
前記受付工程により受け付けた前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割工程と、
前記基本処理単位分割工程により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出工程と、
前記処理量算出工程により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更工程と、
前記配置構成変更工程によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成工程と、
前記統計情報作成工程により作成された統計情報に基づいて、ソフトウェアとハードウェアとをLSIに分割して搭載させるLSI生成工程と、
を含んだことを特徴とするLSI設計方法。
前記ソフトウェアモデルとハードウェアモデルとを受け付ける受付手順と、
前記受付手順により受け付けた前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割手順と、
前記基本処理単位分割手順により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出手順と、
前記処理量算出手順により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更手順と、
前記配置構成変更手順によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成手順と、
前記統計情報作成手順により作成された統計情報に基づいて、ソフトウェアとハードウェアとをLSIに分割して搭載させるLSI生成手順と、
をコンピュータに実行させることを特徴とするLSI設計プログラム。
11−1〜11−n 機能モジュール
20 スケジューラ部
21 アクセス処理部
30 バス
Claims (10)
- システムの仕様からソフトウェアとハードウェアとを用いてそれぞれ実行される処理を仮決定したソフトウェアモデルとハードウェアモデルとに対して、シミュレーションを実行して性能を評価する性能評価シミュレーション装置であって、
前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割手段と、
前記基本処理単位分割手段により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出手段と、
前記処理量算出手段により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更手段と、
前記配置構成変更手段によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成手段と、
を備えたことを特徴とする性能評価シミュレーション装置。 - 前記統計情報作成手段は、前記配置構成変更手段によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを所定の回数分実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成することを特徴とする請求項1に記載の性能評価シミュレーション装置。
- 前記基本処理単位は、当該基本処理単位を複数組み合わせたプロセス処理単位に応じて各基本処理単位固有の機能を記述する第一のブロックと、前記統計情報を収集するための処理を行う第二のブロックとから構成されるものであって、
前記統計情報作成手段は、前記配置構成変更手段によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とを複数組み合わせたプロセス処理において、前記第一のブロックにより各基本処理単位固有の機能が実行されて第二のブロックを呼出し、呼出された第二のブロックにおいて当該プロセス処理に負荷をかけて、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行して、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成することを特徴とする請求項1に記載の性能評価シミュレーション装置。 - 前記性能評価シミュレーションを実行するターゲットプロセッサの性能評価結果の判定条件を設定する判定条件設定手段をさらに備え、
前記配置構成変更手段は、前記性能評価シミュレーション実行後に得られた統計情報が前記判定条件設定手段により設定される判定条件を満たさない場合に、所定の閾値を変更し、前記処理量算出手段により算出された処理量と当該変更された所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更し、
前記統計情報作成手段は、前記配置構成変更手段によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行して、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成することを特徴とする請求項1に記載の性能評価シミュレーション装置。 - 前記性能評価シミュレーションを実行するターゲットプロセッサの性能評価結果の判定条件を設定する判定条件設定手段をさらに備え、
前記処理量算出手段は、前記基本処理単位分割手段により分割された基本処理単位を複数組み合わせたプロセス処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出し、
前記配置構成変更手段は、前記性能評価シミュレーション実行後に得られた統計情報が前記判定条件設定手段により設定される判定条件を満たさない場合に、所定の閾値を変更し、前記処理量算出手段により算出された処理量と当該変更された所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更し、
前記統計情報作成手段は、前記配置構成変更手段によりハードウェアモデルに配置構成を変更されたプロセス処理単位と、ソフトウェアモデルに配置構成されているプロセス処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行して、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成することを特徴とする請求項1に記載の性能評価シミュレーション装置。 - 前記配置構成変更手段において用いられる所定の閾値は、前記統計情報作成手段から得られる統計情報から算出する基本処理単位毎の性能評価結果と、当該基本処理単位の各実行ログのファイルサイズとに基づいて決定されるものであって、
前記配置構成変更手段は、前記処理量算出手段により算出された処理量と前記決定された所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更することを特徴とする請求項1に記載の性能評価シミュレーション装置。 - 前記システムの仕様からソフトウェアとハードウェアとを用いてそれぞれ実行される処理を仮決定したソフトウェアモデルとハードウェアモデルとに対して、シミュレーションを実行して性能を評価する性能評価シミュレーション装置と同等の機能を有する第二の性能評価シミュレーション装置を配置した性能評価シミュレーション装置であって、
前記配置構成変更手段は、前記処理量算出手段により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位を第二の性能評価シミュレーション装置に配置構成を変更することを特徴とする請求項1に記載の性能評価シミュレーション装置。 - システムの仕様からソフトウェアとハードウェアとを用いてそれぞれ実行される処理を仮決定したソフトウェアモデルとハードウェアモデルとに対して、シミュレーションを実行して性能を評価する性能評価シミュレーション装置の性能評価シミュレーション方法であって、
前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割工程と、
前記基本処理単位分割工程により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出工程と、
前記処理量算出工程により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更工程と、
前記配置構成変更工程によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成工程と、
を含んだことを特徴とする性能評価シミュレーション方法。 - システムの仕様からソフトウェアとハードウェアとを用いてそれぞれ実行される処理を仮決定したソフトウェアモデルとハードウェアモデルとに対して、シミュレーションを実行して性能を評価する方法をコンピュータに実行させる性能評価シミュレーションプログラムであって、
前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割手順と、
前記基本処理単位分割手順により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出手順と、
前記処理量算出手順により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更手順と、
前記配置構成変更手順によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成手順と、
をコンピュータに実行させることを特徴とする性能評価シミュレーションプログラム。 - システムの仕様からソフトウェアとハードウェアとでそれぞれ実行される処理に対してシミュレーションを行う性能評価シミュレーション装置を備え、前記性能評価シミュレーション装置によって得られた性能評価に基づいてLSIを設計する電子装置であって、
前記ソフトウェアモデルとハードウェアモデルとを受け付ける受付手段と、
前記受付手段により受け付けた前記ソフトウェアモデルを実機またはシミュレーションソフトウェアで実行して得られた実行履歴である実行ログに基づいて、前記ソフトウェアモデルで実行される処理の実行単位である基本処理単位に分割する基本処理単位分割手段と、
前記基本処理単位分割手段により分割された基本処理単位の処理量を、前記実行ログに保持される命令アドレス列の数またはデータアクセスのアドレス列の数から算出する処理量算出手段と、
前記処理量算出手段により算出された処理量と所定の閾値とを比較して、当該所定の閾値を超える処理量を有する基本処理単位をソフトウェアモデルからハードウェアモデルに配置構成を変更する配置構成変更手段と、
前記配置構成変更手段によりハードウェアモデルに配置構成を変更された基本処理単位と、ソフトウェアモデルに配置構成されている基本処理単位とに対して、命令キャッシュとデータキャッシュとを経由してバスアクセスを実行する性能評価シミュレーションを実行し、前記システムの動作解析に必要なデータを計測して、性能評価の基となる統計情報を作成する統計情報作成手段と、
前記統計情報作成手段により作成された統計情報に基づいて、ソフトウェアとハードウェアとをLSIに分割して搭載させるLSI生成手段と、
を備えたことを特徴とする電子装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008001606A JP5034955B2 (ja) | 2008-01-08 | 2008-01-08 | 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム |
EP08169674A EP2081116A1 (en) | 2008-01-08 | 2008-11-21 | Performance evaluation simulation |
US12/314,334 US8214189B2 (en) | 2008-01-08 | 2008-12-08 | Performance evaluation simulation |
KR1020080133542A KR100986784B1 (ko) | 2008-01-08 | 2008-12-24 | 성능 평가 시뮬레이션 장치, 성능 평가 시뮬레이션 방법 및성능 평가 시뮬레이션 프로그램을 저장한 컴퓨터 판독 가능 매체 |
CN2008101905231A CN101482891B (zh) | 2008-01-08 | 2008-12-30 | 性能评估模拟 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008001606A JP5034955B2 (ja) | 2008-01-08 | 2008-01-08 | 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009163576A true JP2009163576A (ja) | 2009-07-23 |
JP5034955B2 JP5034955B2 (ja) | 2012-09-26 |
Family
ID=40497579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008001606A Expired - Fee Related JP5034955B2 (ja) | 2008-01-08 | 2008-01-08 | 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US8214189B2 (ja) |
EP (1) | EP2081116A1 (ja) |
JP (1) | JP5034955B2 (ja) |
KR (1) | KR100986784B1 (ja) |
CN (1) | CN101482891B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189216B2 (en) | 2011-11-18 | 2015-11-17 | Fujitsu Limited | Power consumption design-optimization of a communication device software program |
US10303832B2 (en) | 2015-09-18 | 2019-05-28 | Mitsubishi Electric Corporation | Architecture generating device |
US11657197B2 (en) | 2019-11-19 | 2023-05-23 | Mitsubishi Electric Corporation | Support system and computer readable medium |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2074505A4 (en) | 2006-10-05 | 2010-01-13 | Splunk Inc | CHRONOLOGICAL SERIES SEARCH ENGINE |
JP5034955B2 (ja) | 2008-01-08 | 2012-09-26 | 富士通株式会社 | 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム |
JP5200675B2 (ja) * | 2008-06-11 | 2013-06-05 | 富士通株式会社 | シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
KR101080974B1 (ko) * | 2009-11-24 | 2011-11-09 | 한국과학기술정보연구원 | 계산 시뮬레이션 모사 시스템 및 그 방법 |
JP6056453B2 (ja) * | 2012-12-20 | 2017-01-11 | 富士通株式会社 | プログラム、データ管理方法および情報処理装置 |
US10997191B2 (en) | 2013-04-30 | 2021-05-04 | Splunk Inc. | Query-triggered processing of performance data and log data from an information technology environment |
US10346357B2 (en) | 2013-04-30 | 2019-07-09 | Splunk Inc. | Processing of performance data and structure data from an information technology environment |
US10353957B2 (en) * | 2013-04-30 | 2019-07-16 | Splunk Inc. | Processing of performance data and raw log data from an information technology environment |
CN104426945B (zh) * | 2013-08-27 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 一种获取应用性能数据的方法、设备和系统 |
CN103455412B (zh) * | 2013-09-23 | 2016-10-19 | 扬州大学 | 一种基于随机进程代数的并发系统性能模拟方法 |
KR102017284B1 (ko) | 2015-05-26 | 2019-09-02 | 삼성전자주식회사 | 부팅 디바이스 및 그 동작 방법 |
TWI627521B (zh) | 2017-06-07 | 2018-06-21 | 財團法人工業技術研究院 | 時序估算方法與模擬裝置 |
CN109685089B (zh) * | 2017-10-18 | 2020-12-22 | 北京京东尚科信息技术有限公司 | 评估模型性能的系统及方法 |
CN112825058B (zh) * | 2019-11-21 | 2024-07-16 | 阿里巴巴集团控股有限公司 | 处理器性能评估方法及装置 |
CN111274109B (zh) * | 2020-01-20 | 2023-06-02 | 国网甘肃省电力公司信息通信公司 | 一种基于请求处理模拟的系统软硬件拓扑的评估方法及系统 |
CN112486765B (zh) * | 2020-11-25 | 2022-11-11 | 山东中创软件商用中间件股份有限公司 | java应用接口管理方法、系统、装置及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030121010A1 (en) * | 2001-12-21 | 2003-06-26 | Celoxica Ltd. | System, method, and article of manufacture for estimating a potential performance of a codesign from an executable specification |
JP2007018313A (ja) * | 2005-07-08 | 2007-01-25 | Fujitsu Ltd | 回路設計プログラム、回路設計装置、回路設計方法 |
WO2009050768A1 (ja) * | 2007-10-15 | 2009-04-23 | Fujitsu Limited | シミュレート方法、電子装置の設計方法、シミュレートプログラムおよびシミュレーション装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05158740A (ja) | 1991-12-09 | 1993-06-25 | Matsushita Electric Ind Co Ltd | 計算機性能評価装置 |
JPH11259553A (ja) | 1998-03-13 | 1999-09-24 | Omron Corp | ハードウエアとソフトウエアの混在するシステムの設計支援方法 |
JPH11259552A (ja) | 1998-03-13 | 1999-09-24 | Omron Corp | システム仕様記述のシミュレーション方法 |
KR20010006983A (ko) | 1999-06-26 | 2001-01-26 | 양세양 | 신속 프로토타이핑 장치와 그것의 입출력 탐침방법 및그것을 이용한 혼합 검증 방법 |
JP2001142927A (ja) | 1999-11-16 | 2001-05-25 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置の設計方法,回路の消費電力解析方法及び消費電力解析装置 |
JP2001318812A (ja) | 2000-05-11 | 2001-11-16 | Nec Corp | 性能評価モデル生成装置および性能評価モデル生成方法 |
JP2001344287A (ja) * | 2000-06-02 | 2001-12-14 | Nec Microsystems Ltd | アルゴリズム記述におけるバスの性能評価方法 |
US7069204B1 (en) * | 2000-09-28 | 2006-06-27 | Cadence Design System, Inc. | Method and system for performance level modeling and simulation of electronic systems having both hardware and software elements |
JP2002215423A (ja) | 2001-01-22 | 2002-08-02 | Hitachi Ltd | ソフトウェアモデル作成方法 |
FR2838844B1 (fr) * | 2002-04-23 | 2005-07-08 | France Telecom | Procede de generation d'un modele de performance a partir d'un modele fonctionnel |
JP4100630B2 (ja) * | 2004-05-14 | 2008-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Uml設計方法 |
KR100921314B1 (ko) * | 2004-07-12 | 2009-10-13 | 양세양 | 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법 |
JP2006059108A (ja) | 2004-08-19 | 2006-03-02 | Mitsubishi Electric Corp | 情報システム開発試験支援システム |
CN100347683C (zh) * | 2005-04-15 | 2007-11-07 | 清华大学 | 结构无关的微处理器验证及评测方法 |
US20090150136A1 (en) * | 2005-10-10 | 2009-06-11 | Sei Yang Yang | Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same |
US8781808B2 (en) * | 2005-10-10 | 2014-07-15 | Sei Yang Yang | Prediction-based distributed parallel simulation method |
JP2007310449A (ja) | 2006-05-16 | 2007-11-29 | Fujitsu Ltd | ソフトウェア/ハードウェア協調設計のためのモデル生成プログラム、およびモデル生成方法 |
JP5034955B2 (ja) | 2008-01-08 | 2012-09-26 | 富士通株式会社 | 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム |
JP5200675B2 (ja) * | 2008-06-11 | 2013-06-05 | 富士通株式会社 | シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
-
2008
- 2008-01-08 JP JP2008001606A patent/JP5034955B2/ja not_active Expired - Fee Related
- 2008-11-21 EP EP08169674A patent/EP2081116A1/en not_active Withdrawn
- 2008-12-08 US US12/314,334 patent/US8214189B2/en not_active Expired - Fee Related
- 2008-12-24 KR KR1020080133542A patent/KR100986784B1/ko not_active IP Right Cessation
- 2008-12-30 CN CN2008101905231A patent/CN101482891B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030121010A1 (en) * | 2001-12-21 | 2003-06-26 | Celoxica Ltd. | System, method, and article of manufacture for estimating a potential performance of a codesign from an executable specification |
JP2007018313A (ja) * | 2005-07-08 | 2007-01-25 | Fujitsu Ltd | 回路設計プログラム、回路設計装置、回路設計方法 |
WO2009050768A1 (ja) * | 2007-10-15 | 2009-04-23 | Fujitsu Limited | シミュレート方法、電子装置の設計方法、シミュレートプログラムおよびシミュレーション装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189216B2 (en) | 2011-11-18 | 2015-11-17 | Fujitsu Limited | Power consumption design-optimization of a communication device software program |
US10303832B2 (en) | 2015-09-18 | 2019-05-28 | Mitsubishi Electric Corporation | Architecture generating device |
US11657197B2 (en) | 2019-11-19 | 2023-05-23 | Mitsubishi Electric Corporation | Support system and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
US20090204380A1 (en) | 2009-08-13 |
KR20090076782A (ko) | 2009-07-13 |
CN101482891B (zh) | 2011-12-28 |
EP2081116A1 (en) | 2009-07-22 |
JP5034955B2 (ja) | 2012-09-26 |
KR100986784B1 (ko) | 2010-10-12 |
CN101482891A (zh) | 2009-07-15 |
US8214189B2 (en) | 2012-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5034955B2 (ja) | 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム | |
US8229723B2 (en) | Performance software instrumentation and analysis for electronic design automation | |
US8073820B2 (en) | Method and system for a database to monitor and analyze performance of an electronic design | |
Hsieh et al. | Microprocessor power estimation using profile-driven program synthesis | |
Cai et al. | Retargetable profiling for rapid, early system-level design space exploration | |
US6856951B2 (en) | Repartitioning performance estimation in a hardware-software system | |
US20160239278A1 (en) | Generating a schedule of instructions based on a processor memory tree | |
Schirner et al. | Quantitative analysis of transaction level models for the AMBA bus | |
Schürmans et al. | ESL power estimation using virtual platforms with black box processor models | |
CN1430265A (zh) | 设计系统大规模集成电路的方法 | |
US8412507B2 (en) | Testing the compliance of a design with the synchronization requirements of a memory model | |
US20080300806A1 (en) | Power consumption calculating method | |
Wolf et al. | Execution cost interval refinement in static software analysis | |
Wild et al. | Performance evaluation for system-on-chip architectures using trace-based transaction level simulation | |
US20230056423A1 (en) | Processor core simulator including trace-based coherent cache driven memory traffic generator | |
Uddin et al. | Signature-based high-level simulation of microthreaded many-core architectures | |
Niar et al. | Rapid performance and power consumption estimation methods for embedded system design | |
Hiser et al. | Fast, accurate design space exploration of embedded systems memory configurations | |
KR101832583B1 (ko) | 전력 상태 커버리지 메트릭 및 이의 추정 방법 | |
Klarhorst et al. | Development of energy models for design space exploration of embedded many-core systems | |
Liu et al. | Characterization and optimization of behavioral hardware accelerators in heterogeneous mpsocs | |
Wang et al. | Modeling and Simulation of System Bus and Memory Collisions in Heterogeneous SoCs | |
Sonntag et al. | Area and power consumption estimations at system level with systemq 2.0 | |
JP2006172317A (ja) | 情報処理装置、情報処理方法 | |
Forelli et al. | A High Level Synthesis Methodology for Dynamic Monitoring of FPGA ML Accelerators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120308 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120605 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120618 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |