JPH09160800A - エミュレータ - Google Patents

エミュレータ

Info

Publication number
JPH09160800A
JPH09160800A JP7316434A JP31643495A JPH09160800A JP H09160800 A JPH09160800 A JP H09160800A JP 7316434 A JP7316434 A JP 7316434A JP 31643495 A JP31643495 A JP 31643495A JP H09160800 A JPH09160800 A JP H09160800A
Authority
JP
Japan
Prior art keywords
microcomputer
instruction
interrupt
target program
flag
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.)
Pending
Application number
JP7316434A
Other languages
English (en)
Inventor
Makoto Yoshida
真 吉田
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.)
Renesas Design Corp
Mitsubishi Electric Corp
Mitsubishi Electric Semiconductor Systems Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric Corp
Mitsubishi Electric Semiconductor Systems 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 Renesas Design Corp, Mitsubishi Electric Corp, Mitsubishi Electric Semiconductor Systems Corp filed Critical Renesas Design Corp
Priority to JP7316434A priority Critical patent/JPH09160800A/ja
Publication of JPH09160800A publication Critical patent/JPH09160800A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 スタック領域がサイズの上限まで使用されて
いる場合には、ターゲットとなるプログラムのデバッグ
が行えなくなる。 【解決手段】 マイクロコンピュータ1にPC保存レジ
スタ7とフラグ保存レジスタ8を持たせるとともに、マ
イクロコンピュータ1がブレーク回路4の指示で実行す
る割り込み命令と割り込み復帰命令とを、プログラムカ
ウンタ内容のPC保存レジスタ7への保存、およびフラ
グ内容のフラグ保存レジスタ8への保存を行って割り込
みを発生させるINT命令と、PC保存レジスタ7とフ
ラグ保存レジスタ8の保存内容を用いて割り込み処理か
ら復帰させるRETINT命令としたものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マイクロコンピ
ュータのプログラム開発で使用されるエミュレータに関
するもので、特に、ターゲットとなるプログラムの実行
を中断/再開するための機能を備えたエミュレータに関
するものである。
【0002】
【従来の技術】マイクロコンピュータのプログラム開発
では、開発中のプログラムの誤りを発見・修正するデバ
ッグを行うため、支援システムとしてエミュレータを使
用している。このエミュレータを用いてターゲットとな
るプログラムのデバッグを行う際、ターゲットとなるプ
ログラムの実行を一時的に中断して、マイクロコンピュ
ータのレジスタ内容やメモリ内容等の参照/書き換えな
どを行う。
【0003】図2はこのようなターゲットとなるプログ
ラムの実行を中断/再開するための機能を備えた従来の
エミュレータを示すブロック図である。図において、1
は当該エミュレータに接続されたマイクロコンピュータ
であり、2はこのマイクロコンピュータ1で実行される
ターゲットとなるプログラムを格納しているターゲット
プログラムメモリである。3はこのマイクロコンピュー
タ1からのアドレスバス/データバス/制御信号などか
らその動作を監視して、当該エミュレータの制御を行う
モニタ回路であり、4はモニタ回路3がその監視結果に
基づいて出力する制御信号に従って、マイクロコンピュ
ータ1にターゲットとなるプログラムの実行を中断/再
開するための割り込み命令、および割り込み復帰命令を
実行させるブレーク回路である。5はマイクロコンピュ
ータ1がターゲットとなるプログラムを実行するときに
用いるメモリであり、6はこのメモリ5上に配置され、
割り込み発生時にプログラムカウンタやフラグの内容な
どが格納されるスタック領域である。なお、このメモリ
5は通常マイクロコンピュータ1に内蔵されているもの
であるが、説明の都合上、ここではマイクロコンピュー
タ1の外部に図示している。
【0004】次に動作について説明する。エミュレータ
がターゲットとなるプログラムの実行を中断する際、ブ
レーク回路4がターゲットプログラムの代わりに、マイ
クロコンピュータ1が持つ割り込み命令を実行させるこ
とによって実現している。すなわち、モニタ回路3はマ
イクロコンピュータ1の動作を監視して、その監視結果
に基づいてターゲットとなるプログラムの実行を中断す
る旨を伝える制御信号をブレーク回路4に送信する。ブ
レーク回路4はこのモニタ回路3から送られてきた制御
信号に基づいてマイクロコンピュータ1に指示し、ター
ゲットとなるプログラムに代わって割り込み命令を実行
させる。マイクロコンピュータ1が持つ割り込み命令が
実行されると、その時のプログラムカウンタの内容とマ
イクロコンピュータ1の状態を示すフラグの内容が、マ
イクロコンピュータ1のメモリ5上に配置されたスタッ
ク領域6に格納される。
【0005】マイクロコンピュータ1はこの割り込み命
令を実行した後、ワークプログラムを実行する。すなわ
ち、このワークプログラムの実行によって、マイクロコ
ンピュータ1に内蔵されたレジスタ(図示省略)やメモ
リ5の内容の参照等が行われて、ターゲットとなるプロ
グラムのデバッグなどが実行される。
【0006】その後、ターゲットプログラムの実行を再
開する場合にも、ターゲットプログラムの実行中断の場
合と同様にして、ブレーク回路4がターゲットプログラ
ムの代わりに、マイクロコンピュータ1が持つ割り込み
復帰命令を実行させることによって割り込み処理からの
復帰を実現する。すなわち、マイクロコンピュータ1の
動作を監視しているモニタ回路3は、その監視結果に基
づいてターゲットとなるプログラムの実行を再開する旨
を伝える制御信号をブレーク回路4に送信する。ブレー
ク回路4はこのモニタ回路3から送られてきた制御信号
に基づいてマイクロコンピュータ1に指示し、ターゲッ
トとなるプログラムに代わって割り込み復帰命令を実行
させる。この割り込み復帰命令を実行する際には、マイ
クロコンピュータ1のメモリ5上に配置されたスタック
領域6に格納されているプログラムカウンタの内容とマ
イクロコンピュータ1の状態を示すフラグの内容が参照
され、それらに基づいて割り込み処理からの復帰が行わ
れる。
【0007】ここで、このマイクロコンピュータ1で
は、ブレーク回路4からの指示によらない割り込み命令
の実行による割り込みも含めて、割り込みが発生すると
プログラムカウンタとフラグの内容をスタック領域6に
格納している。また、メモリ5のスタック領域6はター
ゲットとなるプログラム中で使用されるデータを一時的
に保存するためにも使用される。しかしながら、スタッ
ク領域6のサイズには上限があり、その上限を超えてレ
ジスタやフラグの内容などを格納した場合、スタック領
域6に格納されているデータの内容が破壊され、ターゲ
ットとなるプログラムが正常に動作しなくなる。そのた
め、エミュレータでデバッグする際に使用するスタック
領域6のサイズは、ブレーク回路4の指示で割り込みを
発生させた際に使用する領域と、ターゲットとなるプロ
グラムで使用する領域の和のサイズが必要となる。
【0008】なお、このような従来のエミュレータで用
いられている、割り込み等におけるデータ退避のための
スタック領域の利用に関連する技術が記載されている文
献としては、特開平4−241032号公報、特開昭6
3−118950号公報、特開昭61−13344号公
報、特開昭60−245049号公報、特開平4−40
530号公報などがある。
【0009】
【発明が解決しようとする課題】従来のエミュレータは
以上のように構成されているので、マイクロコンピュー
タ1で使用できるスタック領域6のサイズの上限までタ
ーゲットとなるプログラムで使用している場合には、ブ
レーク回路4の指示で割り込みを発生させた際に、スタ
ック領域6にプログラムカウンタとフラグの内容が格納
されると、それによってそのときスタック領域6に格納
されているデータの内容が破壊されるため、デバッグを
行うことができなくなり、特にスタック領域のサイズが
小さいマイクロコンピュータでは、この問題が発生しや
すくなるという課題があった。
【0010】この発明は上記のような課題を解決するた
めになされたもので、ターゲットとなるプログラムがマ
イクロコンピュータのスタック領域のサイズの上限まで
使用している場合でも、ターゲットとなるプログラムの
デバッグを行うことができるエミュレータを得ることを
目的とする。
【0011】
【課題を解決するための手段】この発明に係るエミュレ
ータは、プログラムカウンタの内容を保存するためのプ
ログラムカウンタ保存レジスタ(以下、PC保存レジス
タという)と、フラグの内容を保存するためのフラグ保
存レジスタをマイクロコンピュータに持たせるととも
に、マイクロコンピュータがブレーク回路の指示で実行
する割り込み命令と割り込み復帰命令とを、プログラム
カウンタ内容のPC保存レジスタへの保存、およびフラ
グ内容のフラグ保存レジスタへの保存を行って割り込み
を発生させる命令(以下、INT命令という)と、PC
保存レジスタとフラグ保存レジスタの保存内容を用いて
割り込み処理から復帰させる命令(以下、RETINT
命令という)としたものである。
【0012】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はターゲットとなるプログラムの実
行を中断/再開するための機能を備えた、この発明の実
施の形態1によるエミュレータを示すブロック図であ
る。図において、1はマイクロコンピュータ、2はター
ゲットプログラムメモリ、3はモニタ回路、4はブレー
ク回路、5はマイクロコンピュータ1内のメモリ、6は
スタック領域であり、これらは図2に同一符号を付して
示した従来のエミュレータにおけるそれらと同等のもの
である。
【0013】また、7はブレーク回路4の指示によって
割り込みが発生した時の、マイクロコンピュータ1によ
るターゲットとなるプログラムの実行位置を示すプログ
ラムカウンタの内容が保存されるPC保存レジスタ(プ
ログラムカウンタ保存レジスタ)であり、8はブレーク
回路4の指示によって割り込みが発生した時の、マイク
ロコンピュータ1の動作状態を示すフラグの内容が保存
されるフラグ保存レジスタである。なお、マイクロコン
ピュータ1は、ブレーク回路4の指示によって実行する
割り込み命令として、PC保存レジスタ7へのプログラ
ムカウンタ内容の保存と、フラグ保存レジスタ8へのフ
ラグ内容の保存を行って割り込みを発生させるINT命
令を持ち、ブレーク回路4の指示によって実行する割り
込み復帰命令として、PC保存レジスタ7に保存されて
いるプログラムカウンタ内容と、フラグ保存レジスタ8
に保存されているフラグ内容を用いて割り込み処理から
復帰させるRETINT命令を持っている点で、図2に
同一符号を付した従来のマイクロコンピュータ1とは異
なっている。
【0014】ここで、上記PC保存レジスタ7およびフ
ラグ保存レジスタ8は、通常マイクロコンピュータ1に
内蔵されているものであるが、説明の都合上、ここでは
マイクロコンピュータ1の外部に図示している。
【0015】次に動作について説明する。この場合に
は、ターゲットとなるプログラムの実行を中断する際、
ブレーク回路4がターゲットとなるプログラムの代わり
に、マイクロコンピュータ1が持つINT命令を実行さ
せることによって実現している。すなわち、モニタ回路
3は従来のエミュレータのそれと同様に、マイクロコン
ピュータ1の動作を監視してその監視結果に基づいてタ
ーゲットとなるプログラムの実行を中断する旨を伝える
制御信号をブレーク回路4に送信する。ブレーク回路4
はこのモニタ回路3から送られてきた制御信号に基づい
てマイクロコンピュータ1に指示し、ターゲットとなる
プログラムに代わってINT命令を実行させる。マイク
ロコンピュータ1が持つINT命令が実行されると、そ
の時のプログラムカウンタの内容がPC保存レジスタ7
に、その時のマイクロコンピュータ1の状態を示すフラ
グの内容がフラグ保存レジスタ8にそれぞれ格納され
る。
【0016】マイクロコンピュータ1はこのINT命令
を実行した後、従来の場合と同様にワークプログラムを
実行する。すなわち、このワークプログラムの実行によ
って、マイクロコンピュータ1に内蔵されたレジスタや
メモリ5の内容の参照等が行われて、ターゲットとなる
プログラムのデバッグなどが実行される。
【0017】その後、ターゲットとなるプログラムの実
行を再開する場合には、ブレーク回路4がターゲットプ
ログラムの代わりに、マイクロコンピュータ1が持つR
ETINT命令を実行させることによって割り込み処理
からの復帰を実現する。すなわち、モニタ回路3は従来
の場合と同様に、マイクロコンピュータ1の動作の監視
結果に基づいて、ターゲットとなるプログラムの実行を
再開する旨を伝える制御信号をブレーク回路4に送信す
る。ブレーク回路4はこのモニタ回路3から送られてき
た制御信号に基づいてマイクロコンピュータ1に指示
し、ターゲットとなるプログラムに代わってRETIN
T命令を実行させる。このRETINT命令を実行する
際には、PC保存レジスタ7に保存されているプログラ
ムカウンタの内容と、フラグ保存レジスタ8に保存され
ているマイクロコンピュータ1の状態を示すフラグの内
容が参照され、それらに基づいて割り込み処理からの復
帰が行われる。
【0018】このように、この実施の形態1によれば、
マイクロコンピュータ1は、INT命令を実行した際に
プログラムカウンタとフラグの内容をPC保存レジスタ
7とフラグ保存レジスタ8とに格納するため、それに使
用するスタック領域6のサイズは0となって、ターゲッ
トとなるプログラムがマイクロコンピュータ1のスタッ
ク領域6のサイズの上限まで使用している場合でも、タ
ーゲットとなるプログラムのデバッグを行うことができ
るため、スタック領域6の全てをターゲットとなるプロ
グラムの処理に利用することが可能になる。
【0019】
【発明の効果】以上のように、請求項1記載の発明によ
れば、マイクロコンピュータにPC保存レジスタとフラ
グ保存レジスタを持たせて、割り込み発生時にはINT
命令にてプログラムカウンタ内容とフラグ内容を前記各
レジスタに保持させ、割り込み復帰時にはRETINT
命令にて前記各レジスタの内容に基づいて割り込み処理
から復帰させるように構成したので、ターゲットとなる
プログラムの実行を中断してワークプログラムを実行す
るために割り込みを発生させる際に、その時のプログラ
ムカウンタやフラグの内容を保存するためにスタック領
域を使用しなくてよくなり、ターゲットとなるプログラ
ムがスタック領域のサイズの上限まで使用しているよう
な場合であってもターゲットとなるプログラムのデバッ
グを行うことが可能なエミュレータが得られる効果があ
る。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるエミュレータ
を示すブロック図である。
【図2】 従来のエミュレータを示すブロック図であ
る。
【符号の説明】
1 マイクロコンピュータ、2 ターゲットプログラム
メモリ、3 モニタ回路、4 ブレーク回路、7 PC
保存レジスタ(プログラムカウンタ保存レジスタ)、8
フラグ保存レジスタ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ターゲットとなるプログラムが格納され
    ているターゲットプログラムメモリと、前記ターゲット
    プログラムメモリに格納されているターゲットとなるプ
    ログラムを逐次読み出して実行するマイクロコンピュー
    タと、前記マイクロコンピュータの動作を監視して、そ
    の監視結果に基づいた制御信号を出力するモニタ回路
    と、前記モニタ回路から出力される制御信号に従って、
    前記マイクロコンピュータに割り込み命令および割り込
    み復帰命令を実行させるブレーク回路とを備えたエミュ
    レータにおいて、 前記マイクロコンピュータに、ターゲットとなるプログ
    ラムの実行位置を示すプログラムカウンタの内容を保存
    するプログラムカウンタ保存レジスタと、当該マイクロ
    コンピュータの動作状態を示すフラグの内容を保存する
    フラグ保存レジスタを持たせ、 前記ブレーク回路の指示によって前記マイクロコンピュ
    ータが実行する割り込み命令が、前記プログラムカウン
    タ保存レジスタへのプログラムカウンタ内容の保存と、
    前記フラグ保存レジスタへのフラグ内容の保存を行って
    割り込みを発生させるものであり、前記ブレーク回路の
    指示によって前記マイクロコンピュータが実行する割り
    込み復帰命令が、前記プログラムカウンタ保存レジスタ
    に保存されているプログラムカウンタ内容と、前記フラ
    グ保存レジスタに保存されているフラグ内容を用いて割
    り込み処理から復帰させるものであることを特徴とする
    エミュレータ。
JP7316434A 1995-12-05 1995-12-05 エミュレータ Pending JPH09160800A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7316434A JPH09160800A (ja) 1995-12-05 1995-12-05 エミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7316434A JPH09160800A (ja) 1995-12-05 1995-12-05 エミュレータ

Publications (1)

Publication Number Publication Date
JPH09160800A true JPH09160800A (ja) 1997-06-20

Family

ID=18077049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7316434A Pending JPH09160800A (ja) 1995-12-05 1995-12-05 エミュレータ

Country Status (1)

Country Link
JP (1) JPH09160800A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001125804A (ja) * 1999-10-29 2001-05-11 Fujitsu Ltd 割り込み処理制御装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001125804A (ja) * 1999-10-29 2001-05-11 Fujitsu Ltd 割り込み処理制御装置および方法

Similar Documents

Publication Publication Date Title
JPH06168146A (ja) 仮想計算機方式
JP3970609B2 (ja) プロセッサシステム
EP0638864B1 (en) Development support system for microcomputer with internal cache
EP0290942B1 (en) Guest machine execution control system for virtual machine system
JPH03175537A (ja) デバッグ用マイクロプロセッサのエラー制御装置
JPH09160800A (ja) エミュレータ
JPH0581070A (ja) プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法
JPH09198258A (ja) タスクスタックオーバーフロー検出回路
JPH0343836A (ja) ベクタード割込み制御方式
JPH08249206A (ja) スタック領域破壊検出機能付き計算機
JP3102381B2 (ja) タスクデバッグ装置、タスクデバッグ方法及びその記録媒体
JPH1165884A (ja) マイクロコンピュータ及びそのデバッグ方法
JPH02244345A (ja) 情報処理装置
JPH06202901A (ja) Romエミュレート方式デバッガ及びromエミュレート方法
JPH0325674A (ja) 情報処理装置
JPH0113131B2 (ja)
JPH08153018A (ja) 半導体システム
JP2000353109A (ja) エミュレータ及びエミュレーションシステム
JPS638946A (ja) プログラムデバツグサポ−ト方式
JPH07210421A (ja) スレッド環境におけるデバッグ方法
JPH0553879A (ja) プログラム障害情報収集方式
JPH01258146A (ja) システム障害探索装置
JPH04239924A (ja) 障害処理方式
JPS6358548A (ja) デバツグ用マイクロプロセツサ
JPS6349942A (ja) 演算処理装置