JPH1031595A - シミュレーション装置及びシミュレーション方法 - Google Patents

シミュレーション装置及びシミュレーション方法

Info

Publication number
JPH1031595A
JPH1031595A JP18493096A JP18493096A JPH1031595A JP H1031595 A JPH1031595 A JP H1031595A JP 18493096 A JP18493096 A JP 18493096A JP 18493096 A JP18493096 A JP 18493096A JP H1031595 A JPH1031595 A JP H1031595A
Authority
JP
Japan
Prior art keywords
simulation
routine processing
processing
routine
native 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.)
Granted
Application number
JP18493096A
Other languages
English (en)
Other versions
JP2817786B2 (ja
Inventor
Teruyuki Murata
輝幸 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP18493096A priority Critical patent/JP2817786B2/ja
Priority to US08/891,386 priority patent/US6086624A/en
Priority to EP97111958A priority patent/EP0821306A2/en
Publication of JPH1031595A publication Critical patent/JPH1031595A/ja
Application granted granted Critical
Publication of JP2817786B2 publication Critical patent/JP2817786B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 ホストCPUのネイティブコードを用いるシ
ミュレーション装置において、ターゲット計算機上で実
行に要するクロック数を算出するとともにクロックに同
期して動作する周辺回路からの割り込みをシミュレート
する。 【解決手段】 ターゲットプログラム100を定型処理
群1000と非定型処理1001に分割し、非定型処理
はシミュレーション手段14により命令単位にシミュレ
ーション実行する。アドレス比較手段161により、エ
ントリアドレス表160を参照してシミュレーション実
行が定型処理のアドレスに到達したことを検出すると、
定型処理をネイティブコード版定型処理群120により
実行する。この際、クロック数伝達手段群121により
定型処理の実行クロック数をクロック数計数手段15に
伝え、クロック数の計数を行う。クロックに同期して周
辺シミュレーション手段13を動作させ、周辺回路から
の割り込みをシミュレートする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はシミュレーション装
置及びシミュレーション方法に関する。
【0002】
【従来の技術】一般的に、シミュレーション装置(以下
シミュレータという)では、シミュレーションの対象と
なる計算機(ターゲット計算機)上で動作するターゲッ
トプログラムの命令列をデータとして持ち、これらデー
タをシミュレータが動作する計算機(ホスト計算機)で
一命令ずつ解釈・実行することによってターゲット計算
機の動作をシミュレートしている。つまり、ターゲット
計算機とホスト計算機とでは中央処理装置(CPU)及
び記憶装置(メモリ)を含む実行環境が異なるため、シ
ミュレータは、ホスト計算機上にターゲット計算機の実
行環境を模した記憶領域(ターゲットメモリ)とCPU
レジスタの領域(ターゲットレジスタ)を確保した上
で、ターゲットCPUの命令をソフトウェアで解釈し、
これら命令に相当する操作をターゲットメモリに行なう
ことによって、ターゲット計算機の動作を擬似的に実現
している。
【0003】加えて、シミュレータとして各命令をター
ゲット計算機上で実行する際に要するクロック数の表を
持ち、一命令ごとにこの値を積算することによって、総
実行クロック数を概算する機能を有するものも知られて
いる。このようなシミュレータでは、得られたクロック
数に同期して動作する周辺回路シミュレータを付加する
ことによって、タイマ又は外部通信装置等からの実行ク
ロック数に同期した割り込みをシミュレートすることも
できる。
【0004】ところが、上述のシミュレーション方法で
は、ソフトウェアによる命令の解釈に時間がかかるた
め、実行速度が本来のターゲット計算機の動作に比べて
非常に遅いため、このような不具合を解決するためのシ
ミュレーション方法、つまり、高速なシミュレーション
を可能にするシミュレーション方法が提案されている。
【0005】例えば、特開平6−250874号公報に
は高速シミュレータの一例が示されている。図6に、こ
のシミュレータの構成を示す。
【0006】シミュレータはターゲット計算機のメモリ
をホスト計算機上で模したターゲットメモリ部10と、
ターゲットCPUのレジスタを模したターゲットレジス
タ部11を備えている。ターゲットメモリ部10にはタ
ーゲットプログラム60が読み込まれており、ターゲッ
トプログラム60は、命令コード600−1〜600−
nからなる命令コード列600で構成されている。一
方、ホストCPUの命令(ネイティブコード)で構成さ
れるネイティブコード部61があり、ネイティブコード
部61はシミュレーション関数群610とシミュレーシ
ョン関数呼び出し列611を含んでいる。シミュレーシ
ョン関数群610は、ターゲットCPUのすべての命令
について、これをネイティブコードでシミュレートする
シミュレーション関数610−1〜610−mで構成さ
れる。これらシミュレーション関数は、ターゲットメモ
リ部10及びターゲットレジスタ部11に対して、ター
ゲットCPUの命令をシミュレーションしたときに行な
うのと同一の操作をネイティブコードで行なう関数であ
る。
【0007】シミュレーション関数呼び出し列611
は、ターゲットプログラム60の各命令コード600−
1〜600−nを変換手段62によって対応するシミュ
レーション関数の呼び出しに変換した呼び出し手段61
1−1〜611−nで構成される。そして、実行手段6
3がネイティブコード部61の実行を制御する。
【0008】変換手段62はシミュレーションの実行以
前に呼び出され、ターゲットプログラム60の命令コー
ド列600に含まれる各命令コード600−1〜600
−nをそれぞれ対応するシミュレーション関数呼び出し
手段611−1〜611−nに変換する。
【0009】シミュレーションの実行は、シミュレーシ
ョン関数呼び出し列611を実行手段63から実行させ
ることで行なう。つまり、ターゲットプログラム60の
命令コード列600と同じ順序で対応するシミュレーシ
ョン関数610−1〜610−mのいずれかを呼び出す
ことによって、ターゲット計算機の動作をシミュレート
する。事前にターゲットプログラムの各命令を解釈し
て、対応したシミュレーション関数の呼び出し手段に変
換しておくことによって、実行時にソフトウェアによる
命令解釈を行なう必要がなくなり、シミュレーションを
高速化することができる。
【0010】
【発明が解決しようとする課題】ところで、従来のシミ
ュレータの場合、ターゲットCPUとホストCPUとが
異なるため、ホストCPUの命令に変換したプログラム
の実行クロック数からターゲットCPUでの実行クロッ
ク数を求めることができない。つまり、ターゲットプロ
グラムをターゲットCPUを含むターゲット計算機上で
実際に動作させたときに要する実行クロック数に関する
情報が得られないという問題点がある。
【0011】さらに、従来のシミュレータでは、実行ク
ロック数に関する情報が得られない結果、タイマ等のC
PUクロックと同期した周辺回路からの割り込みをシミ
ュレートできないという問題点がある。
【0012】上述のような問題点は、特に、機器組み込
み型のCPUをターゲットとする場合、CPU組み込み
用途プログラムでは周辺回路からの割り込みで処理の流
れを変えることが頻繁に行なわれる結果、影響が顕著で
ある。
【0013】本発明の目的は、高速でしかもターゲット
プログラムを実行させたときに要するクロック数につい
ての情報を得ることができるシミュレータを提供するこ
とにある。
【0014】本発明の他の目的は周辺回路からの割り込
みをシミュレートできるシミュレータを提供することに
ある。
【0015】
【課題を解決するための手段】本発明によるシミュレー
タは、ターゲットプログラムをOSのシステムコール又
はコンパイラのランタイムライブラリ等のように複数の
プログラムで共通して利用され変更されることのない定
型的な処理と、各プログラムに固有の非定型処理とに分
け、前者の定型処理は予め用意しておいたホストCPU
の命令列(ネイティブコード)で実行し、後者の非定型
処理はシミュレーションにより一命令ずつ解釈・実行す
る。さらに、定型処理に要するクロック数を求め、その
値をクロック数計数手段に伝達して、ネイティブコード
で実行した定型処理についても、実行クロック数を概算
する。
【0016】より具体的には、このシミュレータは、タ
ーゲットプログラムの非定型処理を一命令ずつ解釈・実
行するシミュレーション手段、定型処理群と同じ動作を
するネイティブコード版定型処理群、定型処理に要する
クロック数をシミュレータに伝えるクロック数伝達手段
群、ターゲットプログラムでの各定型処理のエントリア
ドレスとネイティブコードの各定型処理のエントリアド
レスの組を登録したエントリアドレス表、及びエントリ
アドレス表の定型処理エントリとシミュレータが次に実
行する命令のアドレスを比較するアドレス比較手段を有
している。
【0017】さらに、本発明によるシミュレータは、上
述のシミュレーション手段、ネイティブコード版定型処
理群、クロック数伝達手段群を有し、さらに、定型処理
群の各定型処理のエントリアドレスの命令を未定義命令
又はトラップ命令等実行すると例外(エラーによる割り
込み)を引き起こすす命令に書き換え続く数バイト(バ
イト数はホストCPUに依存する)をネイティブ版定型
処理のエントリに書き換える定型処理書き換え手段と、
書き換えられた未定義命令を検出して対応したネイティ
ブ版定型処理を呼び出す未定義命令検出手段とを有して
いる。
【0018】本発明では、ターゲットプログラムの定型
処理をネイティブコードで直接実行している。このた
め、定型処理に関してはプログラム中の命令をソフトウ
ェアで逐次解釈・実行する必要がなくなり、その分、高
速に実行できる。
【0019】また、本発明では、定型処理をネイティブ
コードで実行した後、これをターゲット計算機上で実行
した場合に要するクロック数をシミュレーション手段に
伝達している。このため、シミュレータ部が保持してい
る実行クロック数を矛盾なく更新でき、利用者が実行ク
ロック数の情報を得ることができる。
【0020】さらに、実行クロック数の情報が得られれ
ば、これに同期した周辺回路からの割り込みのシミュレ
ーションを行なうことができるため、周辺回路を利用し
たプログラムをシミュレータで実行できる。
【0021】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1に本発明にるシミュレータの第1の
例を示す。一般的に、あるターゲットプログラムは、オ
ペレーティングシステム(OS)のシステムコール又は
コンパイラのランタムライブラリなどのように複数のプ
ログラムから共通に呼び出される定型処理と、各ターゲ
ットプログラムに固有のいわば非定型処理からなる。そ
こで、ターゲットプログラム100を定型処理群100
0と非定型処理1001に分ける。定型処理群に含まれ
る複数の定型処理をそれぞれ定型処理1000−1〜定
型処理1000−nとする。
【0022】ターゲット計算機の実行環境として、ター
ゲットメモリ部10とターゲットレジスタ部11がホス
ト計算機上に確保されており、ターゲットメモリ部10
にはターゲットプログラムが読み込まれている。また、
プログラムが利用するデータ部101もターゲットメモ
リ部10内にある。
【0023】シミュレーション実行を制御するシミュレ
ーション手段14と、実行クロック数を計数するクロッ
ク数計数手段15、CPU外の周辺回路をシミュレート
する周辺シミュレーション手段13とがあり、周辺シミ
ュレーション手段13には、設定した時間間隔で割り込
みを発生するタイマ部13−1などが含まれる。
【0024】ネイティブコード部12には、ターゲット
プログラム100の定型処理群1000に含まれる各定
型処理1000−1〜1000−nと同一の動作をネイ
ティブコードで行なうネイティブ版定型処理120−1
〜120−nで構成されたネイティブコード版定型処理
群120と、各定型処理を実行するのに要するクロック
数を概算してクロック数計数手段15に伝えるクロック
数伝達手段121−1〜121−nで構成されたクロッ
ク数伝達手段群121が含まれる。ネイティブ版定型処
理120−1〜120−nのそれぞれとクロック数伝達
手段121−1〜121−nのそれぞれとは互いに対応
している。
【0025】さらに、定型処理呼び出し手段16とし
て、ターゲットプログラム100上での定型処理の開始
(エントリ)アドレスとこれに対応したネイティブ版定
型処理のホスト計算機上でのエントリの組160−1〜
160−nを保持するエントリアドレス表160と、こ
のエントリアドレス表に登録されたアドレスとシミュレ
ーション手段14が次に実行するアドレスとを比較して
定型処理の開始を検出するアドレス比較手段161があ
る。
【0026】なお、ターゲットプログラム中の定型処理
をホスト計算機のネイティブコードで実現する方法はど
のようなものであってもよい。例えば、同一の動作を行
なうターゲット用とホスト用の二つの定型処理プログラ
ムを開発する方法、ターゲットプログラムから定型処理
の箇所を読み込んで同一動作のネイティブコードを出力
する変換手段を用いる方法、高級言語による同一の原始
プログラム(ソースプログラム)から異なるコンパイラ
を用いてターゲット用の定型処理とホスト用の定型処理
を出力する方法等が考えられる。
【0027】また、定型処理に要する実行クロック数を
求める方法もどのようなものであってもよい。例えば、
該定型処理のアセンブリ言語ソースプログラムに基づい
て予めクロック数を計数しておく方法、ターゲット計算
機上で該定型処理を実行させて実測しておく方法等であ
る。上記の二点、つまり、定型処理のネイティブコード
での実現と実行クロック数の算出については、ある定型
処理について一度だけ行えば良い。
【0028】次に、図1に示すシミュレータの動作につ
いて説明する。図2も参照して、シミュレータの実行を
開始すると、処理20において、アドレス比較手段16
1によって、シミュレーション手段14が次に実行する
命令のアドレスとエントリアドレス表160の定型処理
エントリ160−1〜160−nとを比較する。処理2
1において、一致した場合には、定型処理の開始を意味
するので、この定型処理をネイティブコードで行なうた
めに処理210に分岐し、一致しなかった場合には、非
定型処理のシミュレーションを行なうために処理22に
分岐する。
【0029】まず、非定型処理のシミュレーションにつ
いて説明する。処理22で、実行すべき命令をターゲッ
トメモリ部10から読み込み(フェッチ)、処理23で
ターゲットCPUのどの命令かを解読し(デコード)、
処理24で実行する。
【0030】処理25でクロック数計数手段15におい
て、実行した命令に要するクロック数を加算し、処理2
6で同じクロック数を周辺シミュレーション手段13に
伝達する。周辺シミュレーション手段13で周辺シミュ
レーション27が実行されるが、処理の内容はターゲッ
トシステムによって異なり、それに合わせて周辺シミュ
レーション手段13が構成される。ここでは周辺回路と
してタイマを例に取ると、処理28でタイマ部13−1
の値を更新し、処理29でタイマ部13−1にあらかじ
め設定された時間が経過したかどうかを調べ、経過して
いれば処理290のタイマ割り込み発生処理を行なう。
【0031】以上が一命令分の実行フローであり、複数
の非定型処理の命令を実行するには、この処理を繰り返
す。
【0032】続いて、定型処理のシミュレーションにつ
いて説明する。処理210で、エントリアドレス表16
0から処理21で一致した定型処理に対応するネイティ
ブエントリを読み出し、ネイティブ版定型処理120−
1〜120−nの一つを選択した後、定型処理に分岐す
る。この定型処理では、処理212でターゲットプログ
ラムの定型処理と同じ操作をネイティブコードで実行
し、対応するクロック数伝達手段121の一つにより、
処理213で該定型処理の実行クロック数をクロック数
計数手段15に伝達する。
【0033】その後、処理25に復帰し、そこからは先
ほど説明した非定型処理のシミュレーションと同じ手順
で周辺シミュレーションを行なう。つまり、定型処理の
多数の命令をあたかも一つの命令のように、かつネイテ
ィブコードで実行したことになる。
【0034】次に、図3を参照して、本発明によるシミ
ュレータの第2の例について説明する。図示のターゲッ
トメモリ部10とターゲットレジスタ部11、ネイティ
ブコード部12、周辺シミュレーション手段13、シミ
ュレーション手段14、及びクロック数計数手段15に
ついては、図1に示したものと同一であるので、説明を
省略する。
【0035】定型処理呼び出し手段30は、図1に示し
たものと異なっている。定型処理書き換え手段300
は、定型処理群1000に含まれるすべての定型処理1
000−1〜1000−nエントリアドレスにある命令
を未定義命令又はトラップ命令等の通常はプログラム中
で使用せず、ターゲットCPUで実行すると例外(エラ
ーによる割り込み)を引き起こす命令(ここでは、未定
義命令を用いるものとして説明する)に書き換え、これ
に続く数バイト(バイト数はホストCPUに依存する)
をネイティブ版定型処理120−1〜120−nのエン
トリアドレスに書き換えるものである。また、未定義命
令検出手段301は、書き換えられた未定義命令を検出
し、対応するネイティブ版定型処理を呼び出すものであ
る。
【0036】ここで、図4も参照して、図3に示すシミ
ュレータの動作について説明する。まず、図4に定型処
理書き換え手段による書き換えの例を示す。書き換え前
定型処理40は、命令1から命令mの命令列で構成され
ているものとする。定型処理書き換え手段300は、定
型処理の先頭をターゲットCPUの未定義命令に書き換
え、続く数バイトをネイティブ版定型処理のエントリに
書き換える(図4では1命令分がネイティブ版定型処理
エントリに書き換えられている)。その結果、書き換え
後定型処理41が生成される。この書き換えにより、定
型処理エントリアドレスの命令を実行しようとすると例
外が発生するので、これを検出することで定型処理の開
始を知ることができる。
【0037】続けて、対応したネイティブ版定型処理の
エントリアドレスが格納されているので、呼び出しアド
レスとしてこの値を利用する。これによって、図1にお
いて必要であったエントリアドレス表160が不要とな
る。
【0038】この書き換えはシミュレーションの実行前
に行なうので、全体の実行時間に及ぼす影響はほとんど
ない。ただし、図2に関して説明した方法を適用するた
めには、書き換えるバイト数よりも定型処理の方が長い
ことと、書き換えるアドレスに定型処理外から分岐して
くることがない(定型処理エントリアドレスは除く)と
いう条件を満たさなければならない。
【0039】続いて、シミュレーションの動作を説明す
る。図5を参照して、処理22で命令フェッチ、処理2
3で命令デコードを行ない、処理50でデコードした命
令が未定義命令であるかどうかを判別する。未定義命令
でなければ処理24で非定型処理の命令実行を行なう。
処理24以降は、図2に示す例と同様であるので、ここ
では説明を省略する。
【0040】処理50で未定義命令検出手段301が未
定義命令を検出すると処理51に分岐し、書き換えたア
ドレスかどうかを判別する。予め書き換えておいたアド
レスでなかった場合には、本当にそのアドレスに未定義
命令が存在することを意味するので、処理52で未定義
命令例外を発生する。未定義命令例外の取り扱いについ
ては本発明とは関係しないので、ここでは、説明を省略
する。
【0041】一方、処理51で予め書き換えたアドレス
であると判別されると、処理210で未定義命令の次の
アドレス以降に書き込んだネイティブ版定型処理のエン
トリを読み出す。続いて、読み出したエントリアドレス
にあるネイティブコード版定型処理211に分岐する。
ネイティブコード版定型処理と、その後の周辺シミュレ
ーションの動作は、図2に関連して説明した動作と同様
である。
【0042】図3に示すシミュレータでは、図1に示す
シミュレータと同一の効果が得られる上、さらに処理を
高速化するものである。つまり、図1に示すシミュレー
タでは通常シミュレーションを実行中に、1命令ごとに
アドレス比較手段161によって、実行しようとするア
ドレスがエントリアドレス表160の定型処理エントリ
と一致するかどうかを比較するという処理を行なう必要
があったが、図3に示すシミュレータでは、未定義命令
検出手段301によって未定義命令が検出されると、そ
の次のアドレスからネイティブ版定型処理エントリを読
み出すことができるため、アドレス比較を一切行なう必
要がない。
【0043】
【発明の効果】以上説明したように、本発明では、非定
型処理は一命令ずつソフトウェアによるシミュレーショ
ンを行なう一方で、定型処理は高速なネイティブコード
で実行するようにしたから、非定型処理のシミュレーシ
ョンデバッグ機能を損なわずにシミュレーション速度を
高速化できるという効果がある。
【0044】さらに、本発明では、予め定型処理に要す
るクロック数を求めておき、その値をネイティブコード
部のクロック数伝達手段によってクロック数計数手段に
伝えるようにしたから、高速なシミュレーションを可能
にしながら、実行クロック数の情報を得られるという効
果がある。
【0045】また、本発明では、実行クロック数が得ら
れるので、実行クロック数と同期して周辺回路シミュレ
ータを動作させることによって周辺回路での割り込みを
発生できる。従って、高速なシミュレーションを可能に
しながら、クロックに同期して動作する周辺回路からの
割り込みを用いたプログラムを正しくシミュレートでき
るという効果がある。
【図面の簡単な説明】
【図1】本発明によるシミュレーション装置の一例の構
成を示す図である。
【図2】図1に示すシミュレーション装置の動作を説明
するためのフロー図である。
【図3】本発明によるシミュレーション装置の他の例の
構成を示す図である。
【図4】図3に示すシミュレーション装置において定型
処理書き換え手段による定型処理の書き換えの内容を説
明するための図である。
【図5】図3に示すシミュレーション装置の動作を説明
するためのフロー図である。
【図6】従来のシミュレーション装置の構成を示す図で
ある。
【符号の説明】
10 ターゲットメモリ部 100,60 ターゲットプログラム 1000 定型処理群 1001 非定型処理 11 ターゲットレジスタ部 12,61 ネイティブコード部 120 ネイティブコード版定型処理群 121 クロック数伝達手段群 13 周辺シミュレーション手段 14 シミュレーション手段 15 クロック数計数手段 16,30 定型処理呼び出し手段 160 エントリアドレス表 161 アドレス比較手段 300 定型処理書き換え手段 301 未定義命令検出手段 600 命令コード列 62 変換手段 610 シミュレーション関数群 611 シミュレーション関数呼び出し列 63 実行手段

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ターゲット計算機上で動作するように作
    られたターゲットプログラムを該ターゲット計算機と異
    なるホスト中央処理装置で構成されるホスト計算機上で
    実行する際、前記ターゲットプログラムのうち変更する
    ことのない複数の定型処理を前記ホスト中央処理装置の
    命令としてネイティブコードで実行するネイティブコー
    ド版定型処理手段群と、前記定型処理以外の命令を非定
    型処理として逐次解釈・実行するシミュレーション手段
    と、前記非定型処理の逐次シミュレーション中に前記定
    型処理の実行に移ったことを検出してネイティブコード
    版定型処理を呼び出す定型処理呼び出し手段とを有し、
    前記定型処理を前記ネイティブコードで実行することを
    特徴とするシミュレーション装置。
  2. 【請求項2】 請求項1に記載されたシミュレーション
    装置において、シミュレーションの際前記ターゲットプ
    ログラムの実行に要するクロック数を計数するクロック
    数計数手段と、前記ターゲット計算機上でその中央処理
    装置以外にクロックに同期して動作する周辺回路をシミ
    ュレートする周辺シミュレーション手段と、各定型処理
    ついて該定型処理の実行クロック数をクロック数計数手
    段に伝えるクロック数伝達手段とを有し、ネイティブコ
    ード版定型処理の実行後にクロック数計数手段の実行ク
    ロック数を更新するとともに該実行クロック数に同期し
    て周辺シミュレーション手段を動作させ実行クロック数
    に依存する周辺回路からの割り込みをシミュレートする
    ようにしたことを特徴とするシミュレーション装置。
  3. 【請求項3】 ターゲット計算機上で動作するように作
    られたターゲットプログラムを該ターゲット計算機と異
    なるホスト中央処理装置で構成されるホスト計算機上で
    シミュレーションする際、前記ターゲットプログラムの
    うち変更することのない複数の定型処理を前記ホスト中
    央処理装置の命令としてネイティブコードで実行する第
    1のステップと、前記定型処理以外の命令を非定型処理
    として逐次解釈・実行する第2のステップと、前記非定
    型処理の逐次シミュレーション中に前記定型処理の実行
    に移ったことを検出してネイティブコード版定型処理を
    呼び出す第3のステップとを有し、前記定型処理を前記
    ネイティブコードで実行することを特徴とするシミュレ
    ーション方法。
JP18493096A 1996-07-15 1996-07-15 シミュレーション装置及びシミュレーション方法 Expired - Fee Related JP2817786B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP18493096A JP2817786B2 (ja) 1996-07-15 1996-07-15 シミュレーション装置及びシミュレーション方法
US08/891,386 US6086624A (en) 1996-07-15 1997-07-11 Simulator and simulation method in each of which simulation can be carried out at a high-speed
EP97111958A EP0821306A2 (en) 1996-07-15 1997-07-14 High-speed simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18493096A JP2817786B2 (ja) 1996-07-15 1996-07-15 シミュレーション装置及びシミュレーション方法

Publications (2)

Publication Number Publication Date
JPH1031595A true JPH1031595A (ja) 1998-02-03
JP2817786B2 JP2817786B2 (ja) 1998-10-30

Family

ID=16161840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18493096A Expired - Fee Related JP2817786B2 (ja) 1996-07-15 1996-07-15 シミュレーション装置及びシミュレーション方法

Country Status (3)

Country Link
US (1) US6086624A (ja)
EP (1) EP0821306A2 (ja)
JP (1) JP2817786B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157640A (ja) * 2003-11-25 2005-06-16 Mitsubishi Electric Corp 命令模擬装置、命令模擬方法及び命令模擬プログラム
JP2008276735A (ja) * 2007-04-03 2008-11-13 Toshiba Corp プログラムコード変換装置及びプログラムコード変換方法
JP2009217753A (ja) * 2008-03-12 2009-09-24 Fujitsu Ten Ltd マイクロコンピュータの模擬装置
WO2019198235A1 (ja) * 2018-04-13 2019-10-17 三菱電機株式会社 シミュレーション装置およびシミュレーションプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3147851B2 (ja) * 1998-03-27 2001-03-19 日本電気株式会社 シミュレーション方法、シミュレーション装置及びシミュレーションプログラムを記憶した記憶媒体
US7318014B1 (en) * 2002-05-31 2008-01-08 Altera Corporation Bit accurate hardware simulation in system level simulators
US7991606B1 (en) 2003-04-01 2011-08-02 Altera Corporation Embedded logic analyzer functionality for system level environments
US7509246B1 (en) 2003-06-09 2009-03-24 Altera Corporation System level simulation models for hardware modules
US7225416B1 (en) * 2004-06-15 2007-05-29 Altera Corporation Methods and apparatus for automatic test component generation and inclusion into simulation testbench

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4951195A (en) * 1988-02-01 1990-08-21 International Business Machines Corporation Condition code graph analysis for simulating a CPU processor
US5313614A (en) * 1988-12-06 1994-05-17 At&T Bell Laboratories Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems
US5572436A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design
JP2591418B2 (ja) * 1993-02-26 1997-03-19 日本電気株式会社 Cpuシミュレータ
US5630102A (en) * 1994-12-19 1997-05-13 Intel Corporation In-circuit-emulation event management system
US5771370A (en) * 1996-05-14 1998-06-23 Mentor Graphics Corporation Method and apparatus for optimizing hardware and software co-simulation
US5764962A (en) * 1996-07-31 1998-06-09 Hewlett-Packard Company Emulation of asynchronous signals using a branch mechanism
US5839948A (en) * 1996-08-27 1998-11-24 American Stonecrafters, Inc. Right angle sanders for wet sanding

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157640A (ja) * 2003-11-25 2005-06-16 Mitsubishi Electric Corp 命令模擬装置、命令模擬方法及び命令模擬プログラム
JP4563669B2 (ja) * 2003-11-25 2010-10-13 三菱電機株式会社 命令模擬装置
JP2008276735A (ja) * 2007-04-03 2008-11-13 Toshiba Corp プログラムコード変換装置及びプログラムコード変換方法
JP2009217753A (ja) * 2008-03-12 2009-09-24 Fujitsu Ten Ltd マイクロコンピュータの模擬装置
WO2019198235A1 (ja) * 2018-04-13 2019-10-17 三菱電機株式会社 シミュレーション装置およびシミュレーションプログラム

Also Published As

Publication number Publication date
JP2817786B2 (ja) 1998-10-30
US6086624A (en) 2000-07-11
EP0821306A2 (en) 1998-01-28

Similar Documents

Publication Publication Date Title
US6078744A (en) Method and apparatus for improving compiler performance during subsequent compilations of a source program
JP4766540B2 (ja) プログラムコード変換の検証を実行するための方法および装置
JPH10111818A (ja) バーストプロファイリング方法およびシステム
JP2817786B2 (ja) シミュレーション装置及びシミュレーション方法
JP2000020349A (ja) プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体
JPH0728670A (ja) 情報処理装置
JP2828590B2 (ja) マイクロプログラム検証方法
JP2010140233A (ja) エミュレーションシステム及びエミュレーション方法
JPS5922140A (ja) 対話型コンパイル方式
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JPS63113634A (ja) プログラムカウンタ相対アドレス計算方式
JP3381253B2 (ja) シミュレーション装置
JP3324542B2 (ja) 仮想マシン
JP3753572B2 (ja) シミュレーションシステムおよび命令シミュレーション方法
JP3716635B2 (ja) 情報処理装置、及びその割込み制御方法
JP3130421B2 (ja) プログラム解析方法および装置
JPS5835648A (ja) プログラム実行制御方式
JP3327662B2 (ja) プログラム翻訳装置及びプログラム翻訳方法
JPS58149571A (ja) 情報処理装置のベクトル演算処理方式
JPS5875256A (ja) 実行命令遂行状態のモニタ方式
JPH09171467A (ja) エミュレーション装置及びその方法
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPH1083311A (ja) シミュレータ
JPH04358232A (ja) 情報処理装置の機能試験方法
JPS63163543A (ja) 情報処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980722

LAPS Cancellation because of no payment of annual fees