JPH08328905A - シミュレーション方法および装置 - Google Patents
シミュレーション方法および装置Info
- Publication number
- JPH08328905A JPH08328905A JP7139480A JP13948095A JPH08328905A JP H08328905 A JPH08328905 A JP H08328905A JP 7139480 A JP7139480 A JP 7139480A JP 13948095 A JP13948095 A JP 13948095A JP H08328905 A JPH08328905 A JP H08328905A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- simulation
- unit
- execution
- peripheral
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 シミュレーション速度の高速化を図る。
【構成】 機械語命令を数命令ずつまとめて実行し、数
命令実行後を区切りとして周辺処理プログラムをまとめ
て処理する。これにより、周辺処理プログラムを呼び出
す回数を低減することができるため、呼び出しに要する
時間を低減させることができる。また、一つの高級言語
の一行を実行したときに、その途中で区切られてしまう
ことを回避するために、機械語命令のいくつ分まとめて
区切りとするかは、自由に外部から設定変更するように
することがよい。 【効果】 シミュレーション手順の簡単化を図ることが
できる。
命令実行後を区切りとして周辺処理プログラムをまとめ
て処理する。これにより、周辺処理プログラムを呼び出
す回数を低減することができるため、呼び出しに要する
時間を低減させることができる。また、一つの高級言語
の一行を実行したときに、その途中で区切られてしまう
ことを回避するために、機械語命令のいくつ分まとめて
区切りとするかは、自由に外部から設定変更するように
することがよい。 【効果】 シミュレーション手順の簡単化を図ることが
できる。
Description
【0001】
【産業上の利用分野】本発明はコンピュータプログラム
の開発装置に利用する。特に、シミュレーション時間の
高速化技術に関する。
の開発装置に利用する。特に、シミュレーション時間の
高速化技術に関する。
【0002】
【従来の技術】コンピュータプログラムを開発する過程
において、プログラム上のロジックの誤り、外部条件と
の不一致などを発見して改善するためにコンピュータプ
ログラムを擬似的に実行するシミュレーション装置が広
く用いられている。この従来例を図5ないし図7を参照
して説明する。図5は従来例のシミュレーション方法を
示す図である。図6は従来例のシミュレーション装置の
ブロック構成図である。図7は従来例のシミュレーショ
ン装置の動作を示すフローチャートである。
において、プログラム上のロジックの誤り、外部条件と
の不一致などを発見して改善するためにコンピュータプ
ログラムを擬似的に実行するシミュレーション装置が広
く用いられている。この従来例を図5ないし図7を参照
して説明する。図5は従来例のシミュレーション方法を
示す図である。図6は従来例のシミュレーション装置の
ブロック構成図である。図7は従来例のシミュレーショ
ン装置の動作を示すフローチャートである。
【0003】図5に示すように、従来例のシミュレーシ
ョン方法では、まず機械語命令を1命令ずつ実行し、そ
の後に、タイマ/シリアルなどの周辺処理プログラムを
各々1命令実行したクロック数分だけシミュレーション
し、その周辺処理プログラムのシミュレーションの最後
に割り込み発生の処理を行っていた。
ョン方法では、まず機械語命令を1命令ずつ実行し、そ
の後に、タイマ/シリアルなどの周辺処理プログラムを
各々1命令実行したクロック数分だけシミュレーション
し、その周辺処理プログラムのシミュレーションの最後
に割り込み発生の処理を行っていた。
【0004】図5では、7つの命令をシミュレーション
し、その4つ目の命令をシミュレーションしている間に
割り込みが発生して4つの命令を割り込みとしてシミュ
レーションする場合を例として示す。命令1を実行した
後に周辺処理プログラムのシミュレーションを行う。次
に命令2を実行した後に周辺処理プログラムのシミュレ
ーションを行い、命令3を実行した後に周辺処理プログ
ラムのシミュレーションを行う。さらに命令4を実行し
た後に周辺処理プログラムのシミュレーションを行う。
命令4の周辺処理プログラムのシミュレーション中に割
り込みが発生したので割り込み処理に移る。割り込みも
同様に処理される。割り込み処理命令1を実行した後に
周辺処理プログラムのシミュレーションを行う。次に、
割り込み処理命令2を実行した後に周辺処理プログラム
のシミュレーションを行い、割り込み処理命令3を実行
した後に周辺処理プログラムのシミュレーションを行
う。さらに、割り込み処理命令4を実行した後に周辺処
理プログラムのシミュレーションを行う。割り込み処理
命令4が割り込み終了命令だったので割り込み処理を終
わり命令実行に戻る。命令5を実行した後に周辺処理プ
ログラムのシミュレーションを行う。さらに命令6を実
行した後に周辺処理プログラムのシミュレーションを行
い、命令7を実行した後に周辺処理プログラムのシミュ
レーションを行う。
し、その4つ目の命令をシミュレーションしている間に
割り込みが発生して4つの命令を割り込みとしてシミュ
レーションする場合を例として示す。命令1を実行した
後に周辺処理プログラムのシミュレーションを行う。次
に命令2を実行した後に周辺処理プログラムのシミュレ
ーションを行い、命令3を実行した後に周辺処理プログ
ラムのシミュレーションを行う。さらに命令4を実行し
た後に周辺処理プログラムのシミュレーションを行う。
命令4の周辺処理プログラムのシミュレーション中に割
り込みが発生したので割り込み処理に移る。割り込みも
同様に処理される。割り込み処理命令1を実行した後に
周辺処理プログラムのシミュレーションを行う。次に、
割り込み処理命令2を実行した後に周辺処理プログラム
のシミュレーションを行い、割り込み処理命令3を実行
した後に周辺処理プログラムのシミュレーションを行
う。さらに、割り込み処理命令4を実行した後に周辺処
理プログラムのシミュレーションを行う。割り込み処理
命令4が割り込み終了命令だったので割り込み処理を終
わり命令実行に戻る。命令5を実行した後に周辺処理プ
ログラムのシミュレーションを行う。さらに命令6を実
行した後に周辺処理プログラムのシミュレーションを行
い、命令7を実行した後に周辺処理プログラムのシミュ
レーションを行う。
【0005】また、以上説明した従来例のシミュレーシ
ョン方法を実現するためのシミュレーション装置を図6
に示し、その動作を示すフローチャートを図7に示す。
図7に示す命令解析処理ステップ(S1)では、図6に
示す命令入力部12から読み込んできた命令を命令解析
部13により解析し、命令実行処理ステップ(S2)で
は、命令実行部14で命令を実行する。このときに命令
が割り込み終了であるかを判断する処理ステップ(S
5)において、その命令が割り込み終了を示す命令であ
れば、PSW/PC復帰処理ステップ(S6)におい
て、PSW/PC部18のPSW(Processor Status Wo
rd) とPC(Process Controller)の値をスタックから戻
してくる。また、割り込み終了を示す命令でなければ、
PC更新処理ステップ(S7)において、PSW/PC
部18のPCの値を進める。次に、周辺シミュレーショ
ン処理ステップ(S9)において、周辺シミュレーショ
ン部16で周辺処理プログラムのシミュレーションを行
う。その周辺処理プログラムのシミュレーションの最後
に割り込み処理部17で割り込みコントロール処理ステ
ップ(S11)を行う。そのときに、割り込みが発生し
たかどうかを判断する処理ステップ(S12)におい
て、割り込みが発生していたら、PSW/PC退避処理
ステップ(S13)において、PSW/PC部18のP
SWとPCの値をスタックに積み、割り込みベクタ処理
ステップ(S14)において、PCに割り込みベクタの
値をセットする。割り込みが発生していなければ命令解
析処理ステップ(S1)に戻り命令実行を繰り返す。こ
のように、従来例のシミュレーション方法および装置で
は、1命令実行されるごとに、周辺処理プログラムのシ
ミュレーション処理がされている。
ョン方法を実現するためのシミュレーション装置を図6
に示し、その動作を示すフローチャートを図7に示す。
図7に示す命令解析処理ステップ(S1)では、図6に
示す命令入力部12から読み込んできた命令を命令解析
部13により解析し、命令実行処理ステップ(S2)で
は、命令実行部14で命令を実行する。このときに命令
が割り込み終了であるかを判断する処理ステップ(S
5)において、その命令が割り込み終了を示す命令であ
れば、PSW/PC復帰処理ステップ(S6)におい
て、PSW/PC部18のPSW(Processor Status Wo
rd) とPC(Process Controller)の値をスタックから戻
してくる。また、割り込み終了を示す命令でなければ、
PC更新処理ステップ(S7)において、PSW/PC
部18のPCの値を進める。次に、周辺シミュレーショ
ン処理ステップ(S9)において、周辺シミュレーショ
ン部16で周辺処理プログラムのシミュレーションを行
う。その周辺処理プログラムのシミュレーションの最後
に割り込み処理部17で割り込みコントロール処理ステ
ップ(S11)を行う。そのときに、割り込みが発生し
たかどうかを判断する処理ステップ(S12)におい
て、割り込みが発生していたら、PSW/PC退避処理
ステップ(S13)において、PSW/PC部18のP
SWとPCの値をスタックに積み、割り込みベクタ処理
ステップ(S14)において、PCに割り込みベクタの
値をセットする。割り込みが発生していなければ命令解
析処理ステップ(S1)に戻り命令実行を繰り返す。こ
のように、従来例のシミュレーション方法および装置で
は、1命令実行されるごとに、周辺処理プログラムのシ
ミュレーション処理がされている。
【0006】
【発明が解決しようとする課題】従来例のシミュレーシ
ョン方法および装置では機械語命令毎に周辺シミュレー
ション部をコールしており、周辺シミュレーション部の
実行時間がシミュレーション実行時間の長時間化に影響
を与えている。
ョン方法および装置では機械語命令毎に周辺シミュレー
ション部をコールしており、周辺シミュレーション部の
実行時間がシミュレーション実行時間の長時間化に影響
を与えている。
【0007】本発明は、このような背景に行われたもの
であり、シミュレーション速度の高速化を図ることがで
きるシミュレーション方法および装置を提供することを
目的とする。本発明は、シミュレーション手順の簡単化
を図ることができるシミュレーション方法および装置を
提供することを目的とする。
であり、シミュレーション速度の高速化を図ることがで
きるシミュレーション方法および装置を提供することを
目的とする。本発明は、シミュレーション手順の簡単化
を図ることができるシミュレーション方法および装置を
提供することを目的とする。
【0008】
【課題を解決するための手段】本発明の第一の観点は、
被試験命令を入力しこの命令を擬似的に実行し併せてこ
の命令にかかわる周辺処理プログラムを擬似的に実行す
るシミュレーション方法である。
被試験命令を入力しこの命令を擬似的に実行し併せてこ
の命令にかかわる周辺処理プログラムを擬似的に実行す
るシミュレーション方法である。
【0009】ここで、本発明の特徴とするところは、2
以上の異なる被試験命令を個別に擬似的に実行し各命令
を実行するに要したクロック数をそれぞれ記憶してお
き、次に前記周辺処理プログラムをこの2以上の異なる
命令についてまとめて1回、前記記憶したクロック数分
擬似的に動作させるところにある。
以上の異なる被試験命令を個別に擬似的に実行し各命令
を実行するに要したクロック数をそれぞれ記憶してお
き、次に前記周辺処理プログラムをこの2以上の異なる
命令についてまとめて1回、前記記憶したクロック数分
擬似的に動作させるところにある。
【0010】本発明の第二の観点は、シミュレーション
の起動指示情報を入力する入力部(6)と、被試験命令
を入力するファイル入力部(4)と、入力された被試験
命令を保持するプログラムメモリ部(11)と、このプ
ログラムメモリ部より命令を読み出す命令入力部(1
2)と、この読み出された命令を受けて命令解析する命
令解析部(13)と、この命令解析部の命令解析結果に
よる命令を実行する命令実行部(14)と、周辺処理プ
ログラムを擬似的に実行する周辺シミュレーション部
(16)と、割り込みシミュレーションを行う割り込み
処理部(17)と、PSW(Processor Status Word) お
よびPC(Process Controller)の値を管理するPSW/
PC管理部(18)とを備えたシミュレーション装置で
ある。
の起動指示情報を入力する入力部(6)と、被試験命令
を入力するファイル入力部(4)と、入力された被試験
命令を保持するプログラムメモリ部(11)と、このプ
ログラムメモリ部より命令を読み出す命令入力部(1
2)と、この読み出された命令を受けて命令解析する命
令解析部(13)と、この命令解析部の命令解析結果に
よる命令を実行する命令実行部(14)と、周辺処理プ
ログラムを擬似的に実行する周辺シミュレーション部
(16)と、割り込みシミュレーションを行う割り込み
処理部(17)と、PSW(Processor Status Word) お
よびPC(Process Controller)の値を管理するPSW/
PC管理部(18)とを備えたシミュレーション装置で
ある。
【0011】ここで、本発明の特徴とするところは、前
記命令実行部は、周辺処理プログラムのシミュレーショ
ンに関係する命令を指示入力にしたがってかつクロック
信号に同期して実行する操作命令実行部(15)を含
み、実行された命令数を計数する実行命令カウント部
(8)と、前記命令実行部の動作により経過したクロッ
ク数を記憶するクロック数記憶部(9)とを備え、前記
実行命令カウント部の計数値が閾値を越えたときには前
記指示入力の有無にかかわらず周辺処理プログラムのシ
ミュレーションを前記クロック記憶部に記憶されたクロ
ック数分実行する周辺シミュレーション実行制御部(1
0)を備えたところにある。前記閾値を設定変更する手
段を備えることが望ましい。
記命令実行部は、周辺処理プログラムのシミュレーショ
ンに関係する命令を指示入力にしたがってかつクロック
信号に同期して実行する操作命令実行部(15)を含
み、実行された命令数を計数する実行命令カウント部
(8)と、前記命令実行部の動作により経過したクロッ
ク数を記憶するクロック数記憶部(9)とを備え、前記
実行命令カウント部の計数値が閾値を越えたときには前
記指示入力の有無にかかわらず周辺処理プログラムのシ
ミュレーションを前記クロック記憶部に記憶されたクロ
ック数分実行する周辺シミュレーション実行制御部(1
0)を備えたところにある。前記閾値を設定変更する手
段を備えることが望ましい。
【0012】
【作用】機械語命令を数命令ずつまとめて実行し、数命
令実行後を区切りとして周辺処理プログラムをまとめて
処理する。これにより、周辺処理プログラムを呼び出す
回数を低減することができるため、呼び出しに要する時
間を低減させることができる。
令実行後を区切りとして周辺処理プログラムをまとめて
処理する。これにより、周辺処理プログラムを呼び出す
回数を低減することができるため、呼び出しに要する時
間を低減させることができる。
【0013】また、一つの高級言語の一行を実行したと
きに、その途中で区切られてしまうことを回避するため
に、機械語命令のいくつ分まとめて区切りとするかは、
自由に外部から設定変更するようにすることがよい。
きに、その途中で区切られてしまうことを回避するため
に、機械語命令のいくつ分まとめて区切りとするかは、
自由に外部から設定変更するようにすることがよい。
【0014】
【実施例】本発明第一実施例を図1および図2を参照し
て説明する。図1は本発明のシミュレーション方法を示
すフローチャートである。図2は本発明第一実施例装置
のブロック構成図である。
て説明する。図1は本発明のシミュレーション方法を示
すフローチャートである。図2は本発明第一実施例装置
のブロック構成図である。
【0015】本発明は、被試験命令を入力しこの命令を
擬似的に実行し併せてこの命令にかかわる周辺処理プロ
グラムを擬似的に実行するシミュレーション方法であ
る。
擬似的に実行し併せてこの命令にかかわる周辺処理プロ
グラムを擬似的に実行するシミュレーション方法であ
る。
【0016】ここで、本発明の特徴とするところは、図
1に示すように、2以上の異なる被試験命令を個別に擬
似的に実行し各命令を実行するに要したクロック数をそ
れぞれ記憶しておき、次に前記周辺処理プログラムをこ
の2以上の異なる命令についてまとめて1回、前記記憶
したクロック数分擬似的に動作させるところにある。
1に示すように、2以上の異なる被試験命令を個別に擬
似的に実行し各命令を実行するに要したクロック数をそ
れぞれ記憶しておき、次に前記周辺処理プログラムをこ
の2以上の異なる命令についてまとめて1回、前記記憶
したクロック数分擬似的に動作させるところにある。
【0017】この本発明のシミュレーション方法を実現
するための本発明第一実施例装置を図2に示す。本発明
第一実施例装置は、シミュレーション装置1と、コンソ
ール2と、入力ファイル3とを備えて構成されており、
シミュレーション装置1は、シミュレーションの起動指
示情報を入力する入力部6と、被試験命令を入力するフ
ァイル入力部4と、入力された被試験命令を保持するプ
ログラムメモリ部11と、このプログラムメモリ部11
より命令を読み出す命令入力部12と、この読み出され
た命令を受けて命令解析する命令解析部13と、この命
令解析部13の命令解析結果による命令を実行する命令
実行部14と、周辺処理プログラムを擬似的に実行する
周辺シミュレーション部16と、割り込みシミュレーシ
ョンを行う割り込み処理部17と、PSW(Processor S
tatus Word) およびPC(ProcessController)の値を管
理するPSW/PC部18とを備えたシミュレーション
装置である。
するための本発明第一実施例装置を図2に示す。本発明
第一実施例装置は、シミュレーション装置1と、コンソ
ール2と、入力ファイル3とを備えて構成されており、
シミュレーション装置1は、シミュレーションの起動指
示情報を入力する入力部6と、被試験命令を入力するフ
ァイル入力部4と、入力された被試験命令を保持するプ
ログラムメモリ部11と、このプログラムメモリ部11
より命令を読み出す命令入力部12と、この読み出され
た命令を受けて命令解析する命令解析部13と、この命
令解析部13の命令解析結果による命令を実行する命令
実行部14と、周辺処理プログラムを擬似的に実行する
周辺シミュレーション部16と、割り込みシミュレーシ
ョンを行う割り込み処理部17と、PSW(Processor S
tatus Word) およびPC(ProcessController)の値を管
理するPSW/PC部18とを備えたシミュレーション
装置である。
【0018】ここで、本発明の特徴とするところは、命
令実行部14は、周辺処理プログラムのシミュレーショ
ンに関係する命令を指示入力にしたがって実行する操作
命令実行部15を含み、実行された命令数を計数する実
行命令カウント部8と、命令実行部14の動作により経
過したクロック数を記憶するクロック数記憶部9とを備
え、実行命令カウント部8の計数値が閾値を越えたとき
には前記指示入力の有無にかかわらず周辺処理プログラ
ムのシミュレーションをクロック記憶部9に記憶された
クロック数分実行する周辺シミュレーション実行制御部
10を備えたところにある。周辺シミュレーション実行
制御部10は制御部7に含まれ、この制御部7による制
御結果を出力部5はコンソール2に出力する。
令実行部14は、周辺処理プログラムのシミュレーショ
ンに関係する命令を指示入力にしたがって実行する操作
命令実行部15を含み、実行された命令数を計数する実
行命令カウント部8と、命令実行部14の動作により経
過したクロック数を記憶するクロック数記憶部9とを備
え、実行命令カウント部8の計数値が閾値を越えたとき
には前記指示入力の有無にかかわらず周辺処理プログラ
ムのシミュレーションをクロック記憶部9に記憶された
クロック数分実行する周辺シミュレーション実行制御部
10を備えたところにある。周辺シミュレーション実行
制御部10は制御部7に含まれ、この制御部7による制
御結果を出力部5はコンソール2に出力する。
【0019】ここでは、説明をわかりやすくするため
に、周辺処理プログラムをSFR(特殊機能レジスタ)
に限定して説明する。したがって、SFR操作命令と
は、マイクロコンピュータ内部のフラグをSFRにフロ
ーが流れるように操作することを意味する。
に、周辺処理プログラムをSFR(特殊機能レジスタ)
に限定して説明する。したがって、SFR操作命令と
は、マイクロコンピュータ内部のフラグをSFRにフロ
ーが流れるように操作することを意味する。
【0020】図1に示すように、7つの命令をシミュレ
ーションする場合に、命令1、3、5、6はSFRを操
作しない命令、命令2、4、7はSFRを操作する命令
である。また、命令4をシミュレーションした後に、周
辺処理プログラムをシミュレーションしているときに割
り込みが発生して4つの割り込み命令をシミュレーショ
ンする場合を例として説明する。割り込み処理命令1、
2、4はSFRを操作しない命令、割り込み処理命令3
はSFRを操作する命令である。シミュレーションを開
始すると、機械語ソース単位での命令の実行を行う。命
令1を実行し、実行命令カウント数を実行命令カウント
部8に記憶する。また、その命令の実行により経過した
クロック数をクロック数記憶部9に記憶する。次に、命
令2を実行し、実行命令カウント数を実行命令カウント
部8に記憶する。また、その命令の実行により経過した
クロック数をクロック数記憶部9に記憶する。命令2は
SFR操作命令なので周辺シミュレーション部16をコ
ールし周辺処理プログラムのシミュレーションを行う。
命令3を実行し、実行命令カウント数を実行命令カウン
ト部8に記憶する。また、その命令の実行により経過し
たクロック数をクロック数記憶部9に記憶する。さらに
命令4を実行し、実行命令カウント数を実行命令カウン
ト部8に記憶する。また、その命令の実行により経過し
たクロック数をクロック数記憶部9に記憶する。命令4
はSFR操作命令なので周辺シミュレーション部16を
コールし周辺処理プログラムのシミュレーションを行
う。命令4の周辺処理プログラムのシミュレーション中
に割り込みが発生したので割り込み処理に移る。割り込
みも同様に処理される。割り込み処理命令1を実行し、
実行命令カウント数を実行命令カウント部8に記憶す
る。また、その命令の実行により経過したクロック数を
クロック数記憶部9に記憶する。次に、割り込み処理命
令2を実行し、実行命令カウント数を実行命令カウント
部8に記憶する。また、その命令の実行により経過した
クロック数をクロック数記憶部9に記憶する。割り込み
処理命令3を実行し、実行命令カウント数を実行命令カ
ウント部8に記憶する。また、その命令の実行により経
過したクロック数をクロック数記憶部9に記憶する。割
り込み処理命令3はSFR操作命令なので周辺シミュレ
ーション部16をコールし周辺処理プログラムのシミュ
レーションを行う。
ーションする場合に、命令1、3、5、6はSFRを操
作しない命令、命令2、4、7はSFRを操作する命令
である。また、命令4をシミュレーションした後に、周
辺処理プログラムをシミュレーションしているときに割
り込みが発生して4つの割り込み命令をシミュレーショ
ンする場合を例として説明する。割り込み処理命令1、
2、4はSFRを操作しない命令、割り込み処理命令3
はSFRを操作する命令である。シミュレーションを開
始すると、機械語ソース単位での命令の実行を行う。命
令1を実行し、実行命令カウント数を実行命令カウント
部8に記憶する。また、その命令の実行により経過した
クロック数をクロック数記憶部9に記憶する。次に、命
令2を実行し、実行命令カウント数を実行命令カウント
部8に記憶する。また、その命令の実行により経過した
クロック数をクロック数記憶部9に記憶する。命令2は
SFR操作命令なので周辺シミュレーション部16をコ
ールし周辺処理プログラムのシミュレーションを行う。
命令3を実行し、実行命令カウント数を実行命令カウン
ト部8に記憶する。また、その命令の実行により経過し
たクロック数をクロック数記憶部9に記憶する。さらに
命令4を実行し、実行命令カウント数を実行命令カウン
ト部8に記憶する。また、その命令の実行により経過し
たクロック数をクロック数記憶部9に記憶する。命令4
はSFR操作命令なので周辺シミュレーション部16を
コールし周辺処理プログラムのシミュレーションを行
う。命令4の周辺処理プログラムのシミュレーション中
に割り込みが発生したので割り込み処理に移る。割り込
みも同様に処理される。割り込み処理命令1を実行し、
実行命令カウント数を実行命令カウント部8に記憶す
る。また、その命令の実行により経過したクロック数を
クロック数記憶部9に記憶する。次に、割り込み処理命
令2を実行し、実行命令カウント数を実行命令カウント
部8に記憶する。また、その命令の実行により経過した
クロック数をクロック数記憶部9に記憶する。割り込み
処理命令3を実行し、実行命令カウント数を実行命令カ
ウント部8に記憶する。また、その命令の実行により経
過したクロック数をクロック数記憶部9に記憶する。割
り込み処理命令3はSFR操作命令なので周辺シミュレ
ーション部16をコールし周辺処理プログラムのシミュ
レーションを行う。
【0021】さらに割り込み処理命令4を実行し、実行
命令カウント数を実行命令カウント部8に記憶する。ま
た、その命令の実行により経過したクロック数をクロッ
ク数記憶部9に記憶する。割り込み処理命令4が割り込
み終了命令だったので割り込み処理を終わり命令実行に
戻る。命令5を実行し、実行命令カウント数を実行命令
カウント部8に記憶する。また、その命令の実行により
経過したクロック数をクロック数記憶部9に記憶する。
さらに命令6を実行し、実行命令カウント数を実行命令
カウント部8に記憶する。また、その命令の実行により
経過したクロック数をクロック数記憶部9に記憶する。
命令7を実行し、実行命令カウント数を実行命令カウン
ト部8に記憶する。また、その命令の実行により経過し
たクロック数をクロック数記憶部9に記憶する。命令7
はSFR操作命令なので周辺シミュレーション部16を
コールし周辺処理プログラムのシミュレーションを行
う。
命令カウント数を実行命令カウント部8に記憶する。ま
た、その命令の実行により経過したクロック数をクロッ
ク数記憶部9に記憶する。割り込み処理命令4が割り込
み終了命令だったので割り込み処理を終わり命令実行に
戻る。命令5を実行し、実行命令カウント数を実行命令
カウント部8に記憶する。また、その命令の実行により
経過したクロック数をクロック数記憶部9に記憶する。
さらに命令6を実行し、実行命令カウント数を実行命令
カウント部8に記憶する。また、その命令の実行により
経過したクロック数をクロック数記憶部9に記憶する。
命令7を実行し、実行命令カウント数を実行命令カウン
ト部8に記憶する。また、その命令の実行により経過し
たクロック数をクロック数記憶部9に記憶する。命令7
はSFR操作命令なので周辺シミュレーション部16を
コールし周辺処理プログラムのシミュレーションを行
う。
【0022】SFRを操作しない命令を実行した場合に
は1命令を実行したことを実行命令カウント部8に記憶
すると同時に、その命令を実行したことによって経過す
るクロック数をクロック数記憶部9に登録し、次の命令
実行に移る。同様に命令実行1を繰り返し行う。
は1命令を実行したことを実行命令カウント部8に記憶
すると同時に、その命令を実行したことによって経過す
るクロック数をクロック数記憶部9に登録し、次の命令
実行に移る。同様に命令実行1を繰り返し行う。
【0023】命令実行中にSFRを操作する操作命令実
行部15を通り周辺シミュレーション部16へのアクセ
スが必要な命令をシミュレートすると、1命令を実行し
たことを実行命令カウント部8に記憶すると同時に、そ
の命令を実行したことによって経過するクロック数をク
ロック数記憶部9に登録する。ここで次の命令実行には
移らず、SFRを操作する命令なので周辺シミュレーシ
ョン部16を呼び出す。ここまで実行してきた命令によ
って経過した時間がクロック数記憶部9に記憶されてい
るので、記録されたクロック数だけ周辺のシミュレーシ
ョンを行う。命令の実行を続けて行ったときに、実行命
令カウント数がある値を越えたときには、そこで一度周
辺シミュレーション部16の処理を行う。これは、記憶
しているクロック数が大きくなり過ぎて、まとめて周辺
処理プログラムのシミュレーションを行ったときに割り
込みがまとめて発生することを防ぐためである。
行部15を通り周辺シミュレーション部16へのアクセ
スが必要な命令をシミュレートすると、1命令を実行し
たことを実行命令カウント部8に記憶すると同時に、そ
の命令を実行したことによって経過するクロック数をク
ロック数記憶部9に登録する。ここで次の命令実行には
移らず、SFRを操作する命令なので周辺シミュレーシ
ョン部16を呼び出す。ここまで実行してきた命令によ
って経過した時間がクロック数記憶部9に記憶されてい
るので、記録されたクロック数だけ周辺のシミュレーシ
ョンを行う。命令の実行を続けて行ったときに、実行命
令カウント数がある値を越えたときには、そこで一度周
辺シミュレーション部16の処理を行う。これは、記憶
しているクロック数が大きくなり過ぎて、まとめて周辺
処理プログラムのシミュレーションを行ったときに割り
込みがまとめて発生することを防ぐためである。
【0024】周辺シミュレーション部16の処理を行っ
ているときに割り込みが発生したら、周辺シミュレーシ
ョン部16の処理がすべて終り再び命令実行の処理に移
る前にどの割り込みが発生したのかチェックを行い、発
生した割り込みの処理を行う。
ているときに割り込みが発生したら、周辺シミュレーシ
ョン部16の処理がすべて終り再び命令実行の処理に移
る前にどの割り込みが発生したのかチェックを行い、発
生した割り込みの処理を行う。
【0025】図3は本発明第一実施例装置の動作を示す
フローチャートである。命令解析処理ステップ(S1)
において、命令入力部12から読み込んできた命令を命
令解析部13で解析し、命令実行処理ステップ(S2)
に情報を渡す。命令実行処理ステップ(S2)におい
て、命令を実行する。命令を実行したことを実行命令カ
ウント処理ステップ(S3)において、実行命令カウン
ト部8でカウントし、その命令の実行で経過したクロッ
ク数をクロック数カウント処理ステップ(S4)におい
て、クロック数カウント部9に登録する。そのときに、
割り込み終了であるかを判断する処理ステップ(S5)
において、その命令が割り込み終了を示す命令であれ
ば、PSW/PC復帰処理ステップ(S6)において、
PSW/PC部18のPSWとPCの値をスタックから
戻してくる。また、割り込み終了を示す命令でなけれ
ば、PC更新処理ステップ(S7)において、PSW/
PC部18のPCの値を進める。次にその命令がSFR
操作命令かを判断する処理ステップ(S8)において、
その命令がSFR操作命令であれば周辺シミュレーショ
ン処理ステップ(S9)において、周辺シミュレーショ
ン部16で周辺処理プログラムのシミュレーションを行
う。また、SFR操作命令でなければ、実行命令カウン
ト数が設定した値より大きいかを判断する処理ステップ
(S10)において、実行命令カウント部8の実行命令
カウント数を調べ実行命令カウント数が期待する値より
も大きければ周辺シミュレーション処理ステップ(S
9)において、周辺シミュレーション部16で周辺処理
プログラムのシミュレーションを行う。また、実行命令
カウント数が期待する値よりも小さければ命令解析処理
ステップ(S1)に戻り命令実行を繰り返す。周辺処理
プログラムのシミュレーションの最後に割り込み処理部
17で割り込みコントロール処理ステップ(S11)を
行う。そのときに、割り込みが発生したかどうか判断す
る処理ステップ(S12)において、割り込みが発生し
ていたら、PSW/PC退避処理ステップ(S13)に
おいて、PSW/PC部18のPSWとPCの値をスタ
ックに積み、割り込みベクタ処理ステップ(S14)に
おいて、PCに割り込みベクタの値をセットする。割り
込みが発生していなければ命令解析処理ステップ(S
1)に戻り命令実行を繰り返す。
フローチャートである。命令解析処理ステップ(S1)
において、命令入力部12から読み込んできた命令を命
令解析部13で解析し、命令実行処理ステップ(S2)
に情報を渡す。命令実行処理ステップ(S2)におい
て、命令を実行する。命令を実行したことを実行命令カ
ウント処理ステップ(S3)において、実行命令カウン
ト部8でカウントし、その命令の実行で経過したクロッ
ク数をクロック数カウント処理ステップ(S4)におい
て、クロック数カウント部9に登録する。そのときに、
割り込み終了であるかを判断する処理ステップ(S5)
において、その命令が割り込み終了を示す命令であれ
ば、PSW/PC復帰処理ステップ(S6)において、
PSW/PC部18のPSWとPCの値をスタックから
戻してくる。また、割り込み終了を示す命令でなけれ
ば、PC更新処理ステップ(S7)において、PSW/
PC部18のPCの値を進める。次にその命令がSFR
操作命令かを判断する処理ステップ(S8)において、
その命令がSFR操作命令であれば周辺シミュレーショ
ン処理ステップ(S9)において、周辺シミュレーショ
ン部16で周辺処理プログラムのシミュレーションを行
う。また、SFR操作命令でなければ、実行命令カウン
ト数が設定した値より大きいかを判断する処理ステップ
(S10)において、実行命令カウント部8の実行命令
カウント数を調べ実行命令カウント数が期待する値より
も大きければ周辺シミュレーション処理ステップ(S
9)において、周辺シミュレーション部16で周辺処理
プログラムのシミュレーションを行う。また、実行命令
カウント数が期待する値よりも小さければ命令解析処理
ステップ(S1)に戻り命令実行を繰り返す。周辺処理
プログラムのシミュレーションの最後に割り込み処理部
17で割り込みコントロール処理ステップ(S11)を
行う。そのときに、割り込みが発生したかどうか判断す
る処理ステップ(S12)において、割り込みが発生し
ていたら、PSW/PC退避処理ステップ(S13)に
おいて、PSW/PC部18のPSWとPCの値をスタ
ックに積み、割り込みベクタ処理ステップ(S14)に
おいて、PCに割り込みベクタの値をセットする。割り
込みが発生していなければ命令解析処理ステップ(S
1)に戻り命令実行を繰り返す。
【0026】次に、本発明第二実施例として、入力ファ
イルからデバッグ情報を入力し高級言語1行ごとに周辺
処理プログラムのシミュレーションをする場合につい
て、図4を参照して説明する。図4は本発明第二実施例
装置のブロック構成図である。本発明第一実施例では、
SFR操作命令でない命令が続けて実行された場合に
は、実行命令カウント数が設定した値より大きくなった
ときに周辺処理プログラムのシミュレーションを行って
いた。
イルからデバッグ情報を入力し高級言語1行ごとに周辺
処理プログラムのシミュレーションをする場合につい
て、図4を参照して説明する。図4は本発明第二実施例
装置のブロック構成図である。本発明第一実施例では、
SFR操作命令でない命令が続けて実行された場合に
は、実行命令カウント数が設定した値より大きくなった
ときに周辺処理プログラムのシミュレーションを行って
いた。
【0027】しかし、この方法では高級言語の1行を実
行したときの複数の機械語命令の区切りを無視している
ため高級言語の1行単位のシミュレーションで周辺処理
プログラムのシミュレーションを正しく実行することが
できない。そこで、入力ファイル3からデバッグ情報を
入力するデバッグ情報入力部19を設ける。命令を実行
中にSFR操作命令でない命令であった場合には、デバ
ッグ情報入力部19の情報を見て実行命令カウント数と
高級言語の1行に対応する機械語命令数を比較し、実行
命令カウント数と機械語命令数が等しければ周辺シミュ
レーション部16で周辺処理プログラムのシミュレーシ
ョンを行うようにする。以上のようにして高級言語1行
毎の周辺処理プログラムのシミュレーションが正しく実
行できる。
行したときの複数の機械語命令の区切りを無視している
ため高級言語の1行単位のシミュレーションで周辺処理
プログラムのシミュレーションを正しく実行することが
できない。そこで、入力ファイル3からデバッグ情報を
入力するデバッグ情報入力部19を設ける。命令を実行
中にSFR操作命令でない命令であった場合には、デバ
ッグ情報入力部19の情報を見て実行命令カウント数と
高級言語の1行に対応する機械語命令数を比較し、実行
命令カウント数と機械語命令数が等しければ周辺シミュ
レーション部16で周辺処理プログラムのシミュレーシ
ョンを行うようにする。以上のようにして高級言語1行
毎の周辺処理プログラムのシミュレーションが正しく実
行できる。
【0028】以上説明したように本発明は、複数の機械
部命令に対して周辺シミュレーション部をまとめて処理
することにより、従来品に比べて周辺シミュレーション
部をコールする回数を減らした。SFRを操作する命令
が多い場合には従来の方法とあまり変わらないと考えら
れるが、マイクロコンピュータに組み込まれている命令
セットのうち、SFRを操作する命令は約15%なの
で、周辺シミュレーション部のコール回数は本発明を利
用すれば十分減ることになる。したがって処理速度は従
来品に比べて高速になるという効果が得られる。また、
周辺シミュレーション部はダイナミックリンクライブラ
リとしてシミュレーションプログラムに組み込まれるこ
とがあるが、ダイナミックリンクライブラリの呼び出し
にはさらに時間がかかるので、本発明を利用すればダイ
ナミックリンクライブラリを用いたときにさらに大きな
効果が得られる。
部命令に対して周辺シミュレーション部をまとめて処理
することにより、従来品に比べて周辺シミュレーション
部をコールする回数を減らした。SFRを操作する命令
が多い場合には従来の方法とあまり変わらないと考えら
れるが、マイクロコンピュータに組み込まれている命令
セットのうち、SFRを操作する命令は約15%なの
で、周辺シミュレーション部のコール回数は本発明を利
用すれば十分減ることになる。したがって処理速度は従
来品に比べて高速になるという効果が得られる。また、
周辺シミュレーション部はダイナミックリンクライブラ
リとしてシミュレーションプログラムに組み込まれるこ
とがあるが、ダイナミックリンクライブラリの呼び出し
にはさらに時間がかかるので、本発明を利用すればダイ
ナミックリンクライブラリを用いたときにさらに大きな
効果が得られる。
【0029】
【発明の効果】以上説明したように、本発明によれば、
シミュレーション速度の高速化を図ることができる。ま
た、シミュレーション手順の簡単化を図ることができ
る。
シミュレーション速度の高速化を図ることができる。ま
た、シミュレーション手順の簡単化を図ることができ
る。
【図1】本発明のシミュレーション方法を示すフローチ
ャート。
ャート。
【図2】本発明第一実施例装置のブロック構成図。
【図3】本発明第一実施例装置の動作を示すフローチャ
ート。
ート。
【図4】本発明第二実施例装置のブロック構成図。
【図5】従来例のシミュレーション方法を示す図。
【図6】従来例のシミュレーション装置のブロック構成
図。
図。
【図7】従来例のシミュレーション装置の動作を示すフ
ローチャート。
ローチャート。
1 シミュレーション装置 2 コンソール 3 入力ファイル 4 ファイル入力部 5 出力部 6 入力部 7 制御部 8 実行命令カウント部 9 クロック数記憶部 10 周辺シミュレーション実行制御部 11 プログラムメモリ部 12 命令入力部 13 命令解析部 14 命令実行部 15 操作命令実行部 16 周辺シミュレーション部 17 割り込み処理部 18 PSW/PC部 19 デバッグ情報入力部
Claims (3)
- 【請求項1】 被試験命令を入力しこの命令を擬似的に
実行し併せてこの命令にかかわる周辺処理プログラムを
擬似的に実行するシミュレーション方法において、 2以上の異なる被試験命令を個別に擬似的に実行し各命
令を実行するに要したクロック数をそれぞれ記憶してお
き、次に前記周辺処理プログラムをこの2以上の異なる
命令についてまとめて1回、前記記憶したクロック数分
擬似的に動作させることを特徴とするシミュレーション
方法。 - 【請求項2】 シミュレーションの起動指示情報を入力
する入力部(6)と、被試験命令を入力するファイル入
力部(4)と、入力された被試験命令を保持するプログ
ラムメモリ部(11)と、このプログラムメモリ部より
命令を読み出す命令入力部(12)と、この読み出され
た命令を受けて命令解析する命令解析部(13)と、こ
の命令解析部の命令解析結果による命令を実行する命令
実行部(14)と、周辺処理プログラムを擬似的に実行
する周辺シミュレーション部(16)と、割り込みシミ
ュレーションを行う割り込み処理部(17)と、PSW
(Processor Status Word) およびPC(Process Control
ler)の値を管理するPSW/PC管理部(18)とを備
えたシミュレーション装置において、 前記命令実行部は、周辺処理プログラムのシミュレーシ
ョンに関係する命令を指示入力にしたがってかつクロッ
ク信号に同期して実行する操作命令実行部(15)を含
み、 実行された命令数を計数する実行命令カウント部(8)
と、前記命令実行部の動作により経過したクロック数を
記憶するクロック数記憶部(9)とを備え、 前記実行命令カウント部の計数値が閾値を越えたときに
は前記指示入力の有無にかかわらず周辺処理プログラム
のシミュレーションを前記クロック記憶部に記憶された
クロック数分実行する周辺シミュレーション実行制御部
(10)を備えたことを特徴とするシミュレーション装
置。 - 【請求項3】 前記閾値を設定変更する手段を備えた請
求項2記載のシミュレーション装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7139480A JP2715993B2 (ja) | 1995-06-06 | 1995-06-06 | シミュレーション方法および装置 |
EP96108911A EP0749068A1 (en) | 1995-06-06 | 1996-06-04 | Simulation method and simulation system |
US08/659,186 US5940605A (en) | 1995-06-06 | 1996-06-06 | Simulation method and simulation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7139480A JP2715993B2 (ja) | 1995-06-06 | 1995-06-06 | シミュレーション方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08328905A true JPH08328905A (ja) | 1996-12-13 |
JP2715993B2 JP2715993B2 (ja) | 1998-02-18 |
Family
ID=15246240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7139480A Expired - Lifetime JP2715993B2 (ja) | 1995-06-06 | 1995-06-06 | シミュレーション方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5940605A (ja) |
EP (1) | EP0749068A1 (ja) |
JP (1) | JP2715993B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017021743A (ja) * | 2015-07-15 | 2017-01-26 | 三菱電機株式会社 | シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7742905B2 (en) * | 2005-02-25 | 2010-06-22 | Coware, Inc. | Method and system for dynamically adjusting speed versus accuracy of computer platform simulation |
US7716031B2 (en) * | 2005-02-25 | 2010-05-11 | Coware, Inc. | Interface converter for unified view of multiple computer system simulations |
US7868874B2 (en) * | 2005-11-15 | 2011-01-11 | Synaptics Incorporated | Methods and systems for detecting a position-based attribute of an object using digital codes |
US8249848B2 (en) * | 2007-09-05 | 2012-08-21 | International Business Machines Corporation | Verifying a processor design using a processor simulation model |
US8060730B2 (en) * | 2008-05-30 | 2011-11-15 | Freescale Semiconductor, Inc. | Selective MISR data accumulation during exception processing |
CN102455971B (zh) * | 2010-10-28 | 2014-09-03 | 无锡江南计算技术研究所 | 应用级随机指令测试方法、系统及装置 |
CN115878440B (zh) * | 2023-01-31 | 2023-05-16 | 北京超星未来科技有限公司 | 用于静态分析npu指令性能的方法、电子设备、介质和程序 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4744084A (en) * | 1986-02-27 | 1988-05-10 | Mentor Graphics Corporation | Hardware modeling system and method for simulating portions of electrical circuits |
US5021947A (en) * | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
US5488713A (en) * | 1989-12-27 | 1996-01-30 | Digital Equipment Corporation | Computer simulation technique for predicting program performance |
US5450586A (en) * | 1991-08-14 | 1995-09-12 | Hewlett-Packard Company | System for analyzing and debugging embedded software through dynamic and interactive use of code markers |
US5425036A (en) * | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
JP3373607B2 (ja) * | 1993-09-01 | 2003-02-04 | 富士通株式会社 | プロセッサの制御機構検証用命令列の自動生成方法及び装置 |
US5621651A (en) * | 1994-03-09 | 1997-04-15 | Texas Instruments Incorporated | Emulation devices, systems and methods with distributed control of test interfaces in clock domains |
JP3366475B2 (ja) * | 1994-04-12 | 2003-01-14 | 三菱電機株式会社 | データ処理速度の評価方法 |
US5517637A (en) * | 1994-12-09 | 1996-05-14 | Motorola, Inc. | Method for testing a test architecture within a circuit |
-
1995
- 1995-06-06 JP JP7139480A patent/JP2715993B2/ja not_active Expired - Lifetime
-
1996
- 1996-06-04 EP EP96108911A patent/EP0749068A1/en not_active Withdrawn
- 1996-06-06 US US08/659,186 patent/US5940605A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017021743A (ja) * | 2015-07-15 | 2017-01-26 | 三菱電機株式会社 | シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム |
Also Published As
Publication number | Publication date |
---|---|
US5940605A (en) | 1999-08-17 |
JP2715993B2 (ja) | 1998-02-18 |
EP0749068A1 (en) | 1996-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07230484A (ja) | 有限状態マシン遷移アナライザ | |
JP2715993B2 (ja) | シミュレーション方法および装置 | |
US6086624A (en) | Simulator and simulation method in each of which simulation can be carried out at a high-speed | |
JP2861962B2 (ja) | コンピュータプログラムのシミュレーション装置および方法 | |
CN111295658B (zh) | 模拟装置、模拟方法和计算机能读取的存储介质 | |
EP0782074B1 (en) | Game apparatus and method for debugging game program | |
JPH05250221A (ja) | シミュレータ実行方式 | |
JP3638505B2 (ja) | シミュレーション装置及びマイクロプロセッサ用ソフトウェアシミュレーション方法 | |
Matta | A Zenith Z-100 Emulator | |
JPH04277840A (ja) | 非同期命令のシミュレーション方式 | |
JPH01307837A (ja) | Mpuシミュレーション方法及びmpuシミュレータ | |
JP2004145670A (ja) | テストベンチ生成方法、テストベンチ生成装置、及びコンピュータプログラム | |
JPS62266629A (ja) | デ−タ処理装置の事象記録方法 | |
JPS63300330A (ja) | ファ−ムウェアのデバッグ方法 | |
JP2616541B2 (ja) | 論理シミュレータ | |
JPH09218790A (ja) | 情報処理装置 | |
JPH05127945A (ja) | プログラム実行状況解析方式 | |
JPS5833631B2 (ja) | デ−タ処理システム | |
JPH01304559A (ja) | 入出力機能試験方式 | |
JPH08106404A (ja) | ソフトウェアテスト用ドライバ自動生成装置 | |
JPH06175883A (ja) | プログラムデバッグ装置 | |
JPH08123706A (ja) | Gui型アナログ回路系試験プログラム開発システム | |
JPH0566961A (ja) | 情報処理装置のソフトウエアデバツグ方式 | |
JPS61292757A (ja) | マイクロプログラム制御装置のトレ−ス方式 | |
JP2003099286A (ja) | 画像処理評価装置 |