JP5021584B2 - マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体 - Google Patents
マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体 Download PDFInfo
- Publication number
- JP5021584B2 JP5021584B2 JP2008195170A JP2008195170A JP5021584B2 JP 5021584 B2 JP5021584 B2 JP 5021584B2 JP 2008195170 A JP2008195170 A JP 2008195170A JP 2008195170 A JP2008195170 A JP 2008195170A JP 5021584 B2 JP5021584 B2 JP 5021584B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- host
- host code
- instruction
- object code
- 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.)
- Active
Links
Images
Description
[分割条件1]
オブジェクトコードの命令を順番に解析し、条件分岐命令であった場合に、当該条件分岐命令の後ろと当該条件分岐命令による分岐先の手前でオブジェクトコードを分割する。
[分割条件2]
ユーザが任意に設定したサイクル数単位でオブジェクトコードを分割する。
[分割条件3]
シミュレーション精度が確保できる程度の最適な命令数単位(例:1、2命令毎など)でオブジェクトコードを分割する。
[分割条件4]
ブレイクポイント或いは命令実行イベントの前後のみを最適な命令数単位(例:1、2命令毎など)で分割し、その他の部分を前記分割条件1と同様の条件で分割する。
(1)オブジェクトコードのうち、シミュレーション精度を優先したい箇所或いはシミュレーション速度を優先したい箇所に応じて、オブジェクトコードから生成された複数のホストコードのうち、何れかのホストコードを選択的に切り替えながらシミュレーションを行うことができ、シミュレーション精度及び速度の両方を確保したシミュレーションが可能となる。
(2)ブレイクポイント或いは命令実行イベント等が存在しない箇所は、分割数(MPU同期処理を行った実行ブロック数)の少ないホストコードを実行することにより、シミュレーション速度を確保することができる。
(3)ブレイクポイント或いは命令実行イベント等が存在する箇所は、分割数(MPU同期処理を行った実行ブロック数)の多いホストコードを実行することにより、シミュレーションの精度を確保することができる。
(4)オブジェクトコードからホストコードを生成する際の条件(速度優先型ホストコードの生成条件、精度優先型ホストコードの生成条件、当該2種類のホストコードの実行条件)を予め設定してある複数の条件からユーザが適宜選択することにより、シミュレーション実行時の状況に応じたシミュレーション精度、速度の調整が可能となる。
図1は、本発明のマイコンシミュレータの構成を示す概略図である。
本実施例におけるマイコンシミュレータ1は、全体制御部2と、GUI制御部3と、シミュレーション管理部4と、を少なくとも含む。
GUI制御部3は、マイコンシミュレータ1上のGUI(Graphical User Interface)を制御する機能を有する。
シミュレーション管理部4は、シミュレーション実行時に、オブジェクトコード5からホストコードを生成して実行する機能を有する。
全体制御部2及びGUI制御部3は、ターゲットMPUの種類に依存しない処理を行うのに対し、シミュレーション管理部4は、ターゲットMPU、ホストMPUに依存する処理を行うため、その種類毎に個別に作成される。
シミュレーション管理部4は、メモリ管理部41と、コード変換部42と、実行制御部43と、からなる。
マイコンシミュレータ1の全体処理について、図2のフローチャートを用いて説明する。
ブレイクポイント或いは命令実行イベントがある場合には、先にメモリ管理部41から取り出したオブジェクトコードと同じオブジェクトコードから、精度型ホストコードを生成し、実行する。(s400、s500)。ブレイクポイント或いは命令実行イベントがない場合には、生成済みの速度優先型ホストコードを実行する(s600)。
次に、コード変換部における速度優先型ホストコードの生成処理について、図3のフローチャートを用いて説明する。図3は、速度優先型ホストコード生成処理において、前記分割条件1を適用した場合のフローチャートである。
次に、前記命令が分岐命令であるか否かを調べる(s220)。
前記命令が分岐命令でない場合には、次の命令を調べ(s250)、分岐命令が発見されるまで当該処理を繰り返す。
一方、前記命令が分岐命令である場合には、当該分岐命令の後ろと、当該分岐命令に分岐先アドレスの前とで、オブジェクトコードを分割する(s230)なお、当該分割したブロックを「実行ブロック」とする。
前記命令が無条件分岐命令でない場合には、次の命令を調べ(s250)、分岐命令が発見されるまで当該処理を繰り返す。
一方、前記命令が無条件分岐命令である場合には、当該分岐命令の後ろでオブジェクトコードを分割する(s260)。なお、当該分割ブロックを「コンバートブロック」とする。
次に、コード変換部における精度優先型ホストコードの生成処理について、図4のフローチャートを用いて説明する。図4は、精度優先型ホストコード生成処理において、前記分割条件3を適用した場合のフローチャートである。
次に、前記命令の後ろでオブジェクトコードを分割し、当該分割したブロックを実行ブロックとする(s520)。
前記命令が無条件分岐命令でない場合には、次の命令を調べ(s540)、分岐命令が発見されるまで当該処理を繰り返す。
一方、前記命令が無条件分岐命令である場合には、当該分岐命令の後ろでオブジェクトコードを分割し、コンバートブロックを生成する(s550)。
図6は、同一のオブジェクトコード5から、速度優先型ホストコード及び精度優先型ホストコードを生成した場合の具体例を示す図である。
図6(a)に示す速度優先型ホストコードは、数命令毎にMPU同期処理命令6が挿入されているのに対し、図6(b)に示す精度優先型ホストコードは、1命令毎にMPU同期処理命令6が挿入されている。
本発明によるシミュレーション方法と、従来のシミュレーション方法を比較した表を、下記の表1に示す。
表1に記載の条件で同一のオブジェクトコードを異なるシミュレーションエンジンで実行した場合、インタプリタ型のシミュレーションエンジン、及びホストコード型のシミュレーションエンジン)と比較して、本願発明のホストコード切り替え型は、高いMIPS値を得ることができた。
2 :全体制御部
3 :GUI制御部
4 :シミュレーション管理部
41 :メモリ管理部
42 :コード変換部
43 :実行制御部
5 :オブジェクトコード
6 :MPU同期処理命令
Claims (5)
- ソースプログラムをコンパイルして得られるオブジェクトコードをホストコードに変換してシミュレーションを実行する、マイコンシミュレータであって、
ブレイクポイント或いは命令実行イベントの有無に応じて、前記オブジェクトコードから、複数の分割条件に基づいて複数種のホストコードを生成し、前記ホストコードの生成は、前記分割条件に従ってオブジェクトコードを分割し、分割単位毎に同期処理命令を挿入する処理である、コード変換部と、
前記複数種のホストコードのうち何れかのホストコードを実行する、実行制御部と、
を少なくとも有することを特徴とする、
マイコンシミュレータ。 - 前記コード変換部は、
前記オブジェクトコードを所定の条件で分割し当該分割単位でホストコードへの変換及びMPU同期処理を行った速度優先型ホストコードを生成するとともに、ブレイクポイント或いは命令実行イベントを検知した場合、前記オブジェクトコードを前記所定の条件よりも分割頻度の高い条件で分割し、当該分割単位でホストコードへの変換及びMPU同期処理を行った精度優先型ホストコードを生成し、
前記実行制御部は、
ブレイクポイント或いは命令実行イベントの有無に応じて前記精度優先型ホストコード又は速度優先型ホストコードを切り替えながら実行することを特徴とする、
請求項1に記載のマイコンシミュレータ。 - ソースプログラムをコンパイルして得られるオブジェクトコードをホストコードに変換してシミュレーションを実行する、マイコンシミュレータのシミュレーション方法であって、
コード変換部が、ブレイクポイント或いは命令実行イベントの有無を判定し、当該有無に応じて、前記オブジェクトコードから、複数の分割条件に基づいて複数種のホストコードを生成し、前記ホストコードの生成は、前記分割条件に従ってオブジェクトコードを分割し、分割単位毎に同期処理命令を挿入する処理であり、
実行制御部が、前記複数種のホストコードのうち何れかのホストコードを実行することを特徴とする、
マイコンシミュレータのシミュレーション方法。 - ソースプログラムをコンパイルして得られるオブジェクトコードをホストコードに変換してシミュレーションを実行するマイコンシミュレータを、
ブレイクポイント或いは命令実行イベントの有無に応じて、前記オブジェクトコードから、複数の分割条件に基づいて複数種のホストコードを生成し、前記ホストコードの生成は、前記分割条件に従ってオブジェクトコードを分割し、分割単位毎に同期処理命令を挿入する処理である、コード変換部と、
前記複数種のホストコードのうち何れかのホストコードを実行する、実行制御部と、
として少なくとも機能させるための、プログラム。 - 請求項4に記載のプログラムを少なくとも記録したコンピュータ読み取り可能な媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008195170A JP5021584B2 (ja) | 2008-07-29 | 2008-07-29 | マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008195170A JP5021584B2 (ja) | 2008-07-29 | 2008-07-29 | マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010033354A JP2010033354A (ja) | 2010-02-12 |
JP5021584B2 true JP5021584B2 (ja) | 2012-09-12 |
Family
ID=41737742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008195170A Active JP5021584B2 (ja) | 2008-07-29 | 2008-07-29 | マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5021584B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301288B (zh) * | 2017-06-20 | 2020-06-05 | 合肥工业大学 | 一种基于分段广义状态空间平均的变流器电磁暂态建模方法 |
WO2019198235A1 (ja) * | 2018-04-13 | 2019-10-17 | 三菱電機株式会社 | シミュレーション装置およびシミュレーションプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282199A (ja) * | 1996-04-12 | 1997-10-31 | Oki Electric Ind Co Ltd | シミュレーションシステム |
JP2006163684A (ja) * | 2004-12-06 | 2006-06-22 | Matsushita Electric Ind Co Ltd | プロセッサシミュレータ |
-
2008
- 2008-07-29 JP JP2008195170A patent/JP5021584B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010033354A (ja) | 2010-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010079894A (ja) | トレース操作の修正によるトレースのオーバーヘッドの削減 | |
JP2004164554A (ja) | プログラム実行監視装置および方法 | |
US20080177527A1 (en) | Simulation system, simulation method and simulation program | |
JP5021584B2 (ja) | マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体 | |
EP3486811A1 (en) | Simulation device, simulation system, simulation method and simulation program | |
JP5444724B2 (ja) | 検証支援プログラム、情報処理装置および検証支援方法 | |
US7110934B2 (en) | Analysis of the performance of a portion of a data processing system | |
JP2018120389A (ja) | コンパイル方法、コンパイルプログラム及び情報処理装置 | |
US9436587B2 (en) | Test context generation | |
JP4870956B2 (ja) | 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部 | |
JP2008250838A (ja) | ソフトウェア生成装置、方法、およびプログラム | |
JP2010287101A (ja) | ソフトウエアデバッグ装置及び方法 | |
JP2005352894A (ja) | 性能解析プログラム及び性能解析プログラムの生成方法 | |
JP4860564B2 (ja) | プログラムプロファイリング装置、プログラムプロファイリング方法、及びプログラム | |
US10088834B2 (en) | Control system having function for optimizing control software of numerical controller in accordance with machining program | |
JP2008090699A (ja) | トレースロギング方法、装置及びプログラム | |
JP2004287869A (ja) | プログラム実行監視装置および方法 | |
CN109656556B (zh) | 一种自适应页面的生成方法及装置 | |
US9830174B2 (en) | Dynamic host code generation from architecture description for fast simulation | |
JP2009169862A (ja) | プログラム変換装置、方法、プログラムおよび記録媒体 | |
JP2000122895A (ja) | スタックサイズ解析方法及びスタックサイズ解析装置 | |
JP6187264B2 (ja) | 計算方法、計算プログラム、および計算装置 | |
JP2019028918A (ja) | 情報処理装置、方法、及びプログラム | |
JP2005301415A (ja) | コンパイル方式、シミュレータ、エミュレータおよびプログラム開発支援システム | |
JP2001273174A (ja) | プログラムステップ数測定装置及び方法、ソフトウェア性能評価方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100601 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120316 |
|
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: 20120522 |
|
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: 20120614 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5021584 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150622 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |