JPH07319724A - エミュレーションcpu - Google Patents

エミュレーションcpu

Info

Publication number
JPH07319724A
JPH07319724A JP6110654A JP11065494A JPH07319724A JP H07319724 A JPH07319724 A JP H07319724A JP 6110654 A JP6110654 A JP 6110654A JP 11065494 A JP11065494 A JP 11065494A JP H07319724 A JPH07319724 A JP H07319724A
Authority
JP
Japan
Prior art keywords
instruction
break
software
software break
brkret
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
JP6110654A
Other languages
English (en)
Inventor
Shoji Noguchi
祥司 野口
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
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 IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP6110654A priority Critical patent/JPH07319724A/ja
Publication of JPH07319724A publication Critical patent/JPH07319724A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】ユーザプログラムの中断要因調査を不要とする
エミュレーションCPUを提供する。 【構成】バス制御ユニット101と、命令デコード・ユ
ニット106と、実効アドレス生成ユニット109と、
ソフトウェアブレーク命令検出回路107、RSフリッ
プフロップ108およびBRKRET命令検出回路11
1を含む実行ユニット110とを備えて構成されてお
り、ソフトウェアブレーク命令検出回路107およびB
RKRET命令検出回路111においては、それぞれソ
フトウェアブレーク命令およびBRKRET命令が検出
される。これらのソフトウェアブレーク命令の検出およ
びBRKRET命令の検出に応じて、RSフリップフロ
ップ108からは、ぞれぞれ“1”および“0”(ソフ
トウェアブレーク命令の解除を示す)が出力される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はエミュレーションCPU
に関し、特にソフトウェアブレーク命令を有するエミュ
レーションCPUに関する。
【0002】
【従来の技術】従来、インサーキットエミュレータにお
いては、ユーザプログラムを中断させるための機能とし
て、ハードウェア割り込みを利用したハードウェアブレ
ーク機能と、任意のアドレスにソフトウェアブレーク命
令を書き込み、その命令をエミュレーションCPUによ
り実行することにより、ユーザプログラムを中断させる
ソフトウェアブレーク機能とが用いられている。
【0003】次に、ハードウェアブレークが発生した場
合における従来のエミュレーションCPUの動作につい
て説明する。図8は、ハードウェアブレークが発生した
場合におけるエミュレーションCPUの動作例を示す図
である。図8において、ユーザプログラム801の実行
中に、当該プログラムのステップ802の段階において
ハードウェアブレークが発生した場合には、現在実行さ
れている命令の次のアドレスをスタックに格納し、プロ
グラムカウンタ(PC)にベクタテーブルに格納されて
いるアドレスをセットする(ステップ803)。そし
て、ユーザプログラム801に復帰する場合には、BR
KRET命令を実行する(ステップ804)ことによ
り、前記スタックに格納されているアドレスをプログラ
ムカウンタ(PC)にセットして(ステップ805)、
ユーザプログラム801に戻る。
【0004】次に、ソフトウェアブレークが発生した場
合における従来のエミュレーションCPUの動作につい
て説明する。図9は、ソフトウェアブレークが発生した
場合におけるエミュレーションCPUの動作例を示す図
である。図9において、ユーザプログラム801の実行
中に、当該プログラムのステップ901の段階において
ソフトウェアブレークが発生した場合には、現在実行さ
れている命令の次のアドレスをスタックに格納し、プロ
グラムカウンタ(PC)に、ハードウェアブレークの場
合と同様にベクタテーブルに格納されているアドレスを
セットする(ステップ803)。そして、ユーザプログ
ラム801に復帰する場合には、BRKRET命令を実
行する(ステップ804)ことにより、前記スタックに
格納されているアドレスをプログラムカウンタ(PC)
にセットして(ステップ805)、ユーザプログラム8
01に戻る。
【0005】このように、ソフトウェアブレークおよび
ハードウェアブレークの何れが発生しても、エミュレー
ションCPUの内部においては全く同様の動作が行われ
るために、当該エミュレーションCPU内部には、ソフ
トウェアブレークの発生か、またはハードウェアブレー
クの発生かを判別する手段が設けられていないのが一般
である。
【0006】従来のソフトウェアブレーク機能として
は、当該機能を実現するために、ユーザに公開されてい
るソフトウェアブレーク命令が使用されている。しかし
ながら、ユーザに公開されているソフトウェアブレーク
命令によりソフトウェアブレークを実現する場合には、
ユーザが使用しているソフトウェアブレーク命令用の割
り込みベクタアドレス格納領域を、インサーキットエミ
ュレータを用いてソフトウェア割り込みを実現すること
が必要であり、ユーザにより当該割り込みベクタアドレ
ス格納領域が使用されている場合には、ソフトウェアブ
レーク機能を使用することができないという問題があ
る。
【0007】この対応策として、最近においては、エミ
ュレーションCPU内部において、ユーザが使用する領
域を使用することなしに、ソフトウェアブレークを実現
することができるように、ユーザ非公開のソフトウェア
ブレーク命令を持つエミュレーションCPUが開発され
ている。このソフトウェアブレーク専用命令を用いるこ
とにより、ユーザの使用する領域を使用することなくソ
フトウェアブレーク機能を実現することができる。しか
し、前述したハードウェアブレークの発生と、ソフトウ
ェアブレークの発生とを判別することができないという
問題は残されたままである。
【0008】上記の専用ソフトウェアブレーク命令を持
つ従来のエミュレーションCPUの内部ブロックの構成
例を図4に示す。図4に示されるように、当該エミュレ
ーションCPUは、データバスインタフェース104お
よびアドレスバスインタフェース105を含むバス制御
ユニット101と、命令デコード・ユニット106と、
実効アドレス生成ユニット109と、実行ユニット11
0とを備えて構成される。
【0009】図4の専用ソフトウェアブレーク命令を持
つ従来のエミュレーションCPUにおいて、ソフトウェ
アブレーク命令を実行する場合には、バス制御ユニット
101においてフエッチされた命令コードは、データバ
ス116を介して命令デコード・ユニット106に入力
され、当該命令デコード・ユニット106において解析
される。その解析結果は命令バス112を経由して実行
ユニット110に入力され、実行ユニット110におい
ては、現在実行されている命令のアドレスがスタックに
プッシュされて、ベクタテーブルのアドレスにジャンプ
する。図4のエッミュレーションCPUには、前述した
ように、ソフトウェアブレークおよびソフトウェアブレ
ークの何れが発生したかを判別する手段は含まれておら
ず、バス制御ユニット101においてフエッチされた命
令を実行するだけの機能を有するのみである。
【0010】次に、図5の流れ図を参照して、従来のエ
ミュレーションCPUを用いたインサーキットエミュレ
ータを使用して、プログラム開発者(以下、ユーザと云
う)により、開発されたプログラムの動作確認を行う際
の手順について説明する。この従来のエミュレーション
CPUを用いたインサーキットエミュレータにおいて
は、プログラムの動作確認を、ソフトウェアブレークと
ハードウェアブレークとを用いて行う場合には、まず動
作確認を行いたいプログラム(以下、ユーザプログラム
と云う)をインサーキットエミュレータに接続されてい
るユーザシステム内のメモリに読み込み(ステップ30
1)、ソフトウェアブレークのアドレスを設定して(ス
テップ302)、ハードウェアブレーク条件の設定を行
った(ステップ303)後に、ユーザプログラムを実行
させる(ステップ304)。ユーザプログラムを実行さ
せた後において、設定されたソフトウェアブレークアド
レスおよびハードウェアブレーク条件に該当した場合に
は、当該ユーザプログラムの実行は中断される(ステッ
プ305)。その中断後において、ユーザは、命令実行
時にリアルタイムにメモリに格納されたプログラム実行
結果と、プログラムカウンタの表示(以下、トレース機
能とする)、メモリ内容の表示およびレジスタ内容の表
示を行うことにより、ユーザプログラムの実行が中断さ
れた要因を調べた(ステップ501)後に、ユーザプロ
グラムの動作の妥当性等を判断する。
【0011】図6は、ハードウェアブレークとソフトウ
ェアブレークを、それぞれ単独に設定した場合のプログ
ラムの動作について示した図である。図6において、ハ
ードウェアブレークのみが設定された一例を示すソース
プログラム601を実行する場合には、ユーザは、メモ
リの80H番地をアクセスした場合にブレークするよう
に設定した(ステップ602)後に、プログラムの実行
(ステップ604)をインサーキットエミュレータ対し
て指示し、当該インサーキットエミュレータにおいて
は、まずIN BW,20Hを実行する(ステップ60
6)。その際、入力ポード20Hのデータとして80H
をBWレジスタに読み込んだ時に、次のMOW AW,
WORD PTR[BW]を実行した場合には、80番
地の内容をAWレジスタに格納する。この時にはステッ
プ602において設定されたハードウェア条件が成立す
るので、プログラムは中断される(ステップ608)。
中断されたプログラムは、次にユーザプログラムを実行
する場合には、0026H番地のMOV CW,11H
から実行される(ステップ611)。
【0012】また、ソフトウェアブレークのみが設定さ
れた一例を示すソースプログラム601を実行する場合
には、ユーザは、MOV CW,11Hでブレークする
ようにソフトウェアブレークを設定した(ステップ60
3)後に、プログラムの実行をインサーキットエミュレ
ータ対して指示する(ステップ604)。当該インサー
キットエミュレータにおいては、MOV CW,11H
でソフトウェアブレークが発生するように0026H番
地の内容をソフトウェアブレーク命令に置換えた(ステ
ップ605)後に、プログラムの実行に移行する。まず
IN BW,20Hを実行し(ステップ606)、次
に、MOW AW,WORD PTR[BW]を実行す
る(ステップ607)。そして次に、ステップ605に
おいて置換えられたソフトウェアブレーク命令を実行す
る(ステップ609)ことにより、プログラムの実行は
中断される。この中断されたプログラムを次に実行する
場合には、前述のハードウェアブレークが発生した場合
と同様に0026H番地のMOV CW,11Hから実
行される(ステップ611)。
【0013】なお、従来のインサーキットエミュレータ
の動作については、電波新聞社発行の「マイクロプロセ
ッサ開発のすべて」における93頁7−2「ICEの動
作原理」に記述されており、一般によく知られていると
ころである。
【0014】
【発明が解決しようとする課題】上述した従来のエミュ
レーションCPUにおいては、ソフトウェアブレーク命
令を実行し、それによりプログラムの実行が中断された
場合には、ハードウェアブレークによりブレークしたの
か、またはソフトウェアブレークによりブレークしたの
かを判断する手段が設けられてはいない。従って、イン
サーキットエミュレータに従来のエミュレーションCP
Uを用いる場合には、ユーザとしては、ハードウェアブ
レークとソフトウェアブレークとを同時に設定してユー
ザプログラムを実行し、ソフトウェアブレークを設定し
たアドレスにおいて、ハードウェアブレークの条件が成
立してユーザプログラムが中断した場合には、当該プロ
グラムの中断がソフトウェアブレークにより中断したの
か、またはハードウェアブレークにより中断したのかを
示す情報が、インサーキットエミュレータよりユーザに
通知されないため、別途、プログラム実行の中断要因に
ついて調査を行う必要がある。以下に、プログラム実行
の具体例を参照して説明する。
【0015】図7はプログラム実行中断の具体例を示す
図であり、図6において示されたプログラム例をハード
ウェアブレークとソフトウェアブレークとを共に設定し
て実行した場合における具体例を示している。図7の
(例1)は、入力ポートからデータ80Hを読み込んだ
場合であり、(例2)は、入力ポートからデータFFH
を読み込んだ場合である。
【0016】プログラム601を、当該プログラム60
1によりメモリの80H番地がアクセスされた場合にハ
ードウェアブレークが発生するように設定し、且つ、M
OVCW,11Hにおいてソフトウェアブレークが発生
するように設定して(ステップ701)、プログラムの
実行をインサーキットエミュレータに指示する(ステッ
プ604)。インサーキットエミュレータにおいては、
MOV CW,11Hにおいてソフトウェアブレークが
発生するようにMOV CW,11Hをソフトウェアブ
レーク命令に置換えて0026H番地に書き込んだ(ス
テップ605)後に、プログラムの実行に移行する。
(例1)においては、まず、IN BW,20Hを実行
し、入力ポート20Hのデータとして80HをBWレジ
スタに読み込む(ステップ606)。そして、次のMO
V AW,WORD PTR[BW]を実行し、80H
番地のデータをAWレジスタに設定する(ステップ60
7)ことにより、当該80H番地がアクセスされるので
ハードウェアブレーク条件が成立し、これによりプログ
ラムの実行は中断する(ステップ608)。そして、次
のプログラムの実行を行う場合には、0026H番地か
らその実行に移される(ステップ611)。また(例
2)においては、まず、IN BW,20Hを実行し
て、入力ポート20HのデータとしてFFHをBWレジ
スタに読み込む(ステップ702)。次に、MOV A
W,WORD PTR[BW]を実行し、FFH番地の
データをAWレジスタに設定する(ステップ703)。
この場合には、当該FFH番地に対するアクセスが行わ
れるが、この時にアクセスされるメモリは80H番地で
はないのでハードウェアブレーク条件は成立せず、従っ
て、次の命令であるソフトウェアブレーク命令を実行す
る(ステップ609)。これによりプログラムの実行は
中断する(ステップ610)。そして、次のプログラム
の実行を行う場合には、0026H番地からその実行に
移される(ステップ611)。
【0017】上記の(例1)および(例2)の何れの場
合においても、中断した原因は異なるものの、中断した
位置は同じ0026H番地であり、次にプログラムの実
行を行う場合には、双方ともに、0026H番地のMO
V CW,11Hから実行が開始される。図6に示され
るように、ソフトウェアブレークとハードウェアブレー
クを同時に設定して.ユーザプログラムを実行した場合
には、偶然同じプログラムカウンタにおいてプログラム
が中断する可能性があり、そのような場合には、エミュ
レーションCPU自身においても、当該プログラムの中
断要因を判別する手段が設けられていないために、ユー
ザとしては、当該中断要因を、トレース機能、メモリ内
容の表示およびレジスタ内容の表示等を行うことにより
調べた後に、ユーザプログラムの動作の妥当性等につき
判断することが必要であるという欠点がある。
【0018】
【課題を解決するための手段】第1の発明のエミュレー
ションCPUは、ユーザプログラム実行を中断する専用
の割り込み命令(以下、ソフトウェアブレーク命令と云
う)と、当該割り込みの終了後に前記ユーザプログラム
に復帰する命令(以下、BRKRET命令と云う)とを
有するエミュレーションCPUにおいて、前記ソフトウ
ェアブレーク命令が実行されたことを検出するソフトウ
ェアブレーク命令検出手段と、前記BRKRET命令が
実行されたことを検出するBRKRET命令検出手段
と、前記ソフトウェアブレーク命令検出手段の検出出力
と、前記BRKRET命令検出手段の検出出力とを入力
して、ソフトウェアブレーク命令およびBRKRET命
令の内の何れの命令が実行されたかを検出する実行命令
検出手段とを少なくとも備えることを特徴としている。
【0019】また、第2の発明のエミュレーションCP
Uは、ユーザプログラム実行を中断する専用の割り込み
命令(以下、ソフトウェアブレーク命令と云う)と、当
該割り込みの終了後に前記ユーザプログラムに復帰する
命令(以下、BRKRET命令と云う)とを有するエミ
ュレーションCPUにおいて、前記ソフトウェアブレー
ク命令が実行されたことを検出するソフトウェアブレー
ク命令検出手段と、前記BRKRET命令が実行された
ことを検出するBRKRET命令検出手段と、前記ソフ
トウェアブレーク命令検出手段の検出出力と、前記BR
KRET命令検出手段の検出出力とを入力して、ソフト
ウェアブレーク命令およびBRKRET命令の内の何れ
の命令が実行されたかを検出する実行命令検出手段と、
前記実行命令検出手段の検出出力を入力して保持する命
令検出フラグと、所定の専用命令を検出して、当該専用
命令により前記命令検出フラグに保持されている前記検
出出力を読み出して出力させるフラグ読み出し命令検出
手段とを少なくとも備えることを特徴としている。
【0020】なお、前記第1および第2の発明における
前記実行命令検出手段は、前記ソフトウェアブレーク命
令検出時の前記ソフトウェアブレーク命令検出手段の検
出出力“X(X=1または0)”の入力を受けて“X
(X=1または0)”を出力し、前記BRKRET命令
検出時の前記BRKRET命令検出手段の検出出力“Y
(Y=0または1)”の入力を受けて“Y(Y=0また
は1)”を出力するRSフリップフロップにより構成し
てもよい。
【0021】
【実施例】次に、本発明について図面を参照して説明す
る。
【0022】図1は本発明の第1の実施例を示すブロッ
ク図である。図1に示されるように、本実施例は、デー
タバスインタフェース104およびアドレスバスインタ
フェース105を含むバス制御ユニット101と、命令
デコード・ユニット106と、実効アドレス生成ユニッ
ト109と、ソフトウェアブレーク命令検出回路10
7、RSフリップフロップ108およびBRKRET命
令検出回路111を含む実行ユニット110とを備えて
構成される。
【0023】図1のエミュレーションCPUにおいて、
実行ユニット110に含まれるソフトウェアブレーク命
令検出回路107およびBRKRET命令検出回路11
1においては、命令デコード・ユニット106より、命
令バス112を介して入力される命令の入力を受けて、
それぞれの検出回路において、対応するソフトウェアブ
レーク命令の有無の検出、ならびにBRKRET命令の
有無の検出が行われる。ソフトウェアブレーク命令検出
回路107においてソフトウェアブレーク命令が検出さ
れる場合には、ソフトウェアブレーク命令検出回路10
7よりは“1”が出力され、BRKRET命令検出回路
111からは“0”が出力される。これらの検出結果を
受けて、RSフリップフロップ108からは、ソフトウ
ェアブレーク命令が検出されたことを示す“1”のブレ
ーク検出信号115が外部に出力される。また、BRK
RET命令検出回路111においてBRKRET命令が
検出される場合には、BRKRET命令検出回路111
よりは“1”が出力され、ソフトウェアブレーク命令検
出回路107よりは“0”が出力される。これらの検出
結果を受けて、RSフリップフロップ108からは、ソ
フトウェアブレーク命令が解除されたことを示す“0”
のブレーク検出信号115が、所定の端子(図示されな
い)を介して外部に出力される。
【0024】図1のエミュレーションCPUをインサー
キットエミュレータに用いた場合には、ソフトウェアブ
レーク検出用フラグは、上記のブレーク検出信号115
として出力されるので、当該ブレーク検出信号115の
状態(“1”または“0”)を検出することにより、イ
ンサーキットエミュレータにおいて、ブレーク要因がハ
ードウェアブレークであるか、またはソフトウェアブレ
ークであるかを判断することができる。
【0025】図2は、本発明の第2の実施例を示すブロ
ック図である。図2に示されるように、本実施例は、デ
ータバスインタフェース104およびアドレスバスイン
タフェース105を含むバス制御ユニット101と、命
令デコード・ユニット106と、実効アドレス生成ユニ
ット109と、ソフトウェアブレーク命令検出回路10
7、RSフリップフロップ108、BRKRET命令検
出回路111、ソフトウェアブレーク検出フラグ201
およびフラグ読み出し命令検出回路202を含む実行ユ
ニット110とを備えて構成される。図1の対比により
明らかなように、本実施例の第1の実施例との相違点
は、実行ユニット110内に、新たに、ソフトウェアブ
レーク検出フラグ201およびフラグ読み出し命令検出
回路202が付加されていることである。
【0026】図2のエミュレーションCPUにおいて、
第1の実施例の場合と同様に、実行ユニット110に含
まれるソフトウェアブレーク命令検出回路107および
BRKRET命令検出回路111においては、命令デコ
ード・ユニット106より、命令バス112を介して入
力される命令の入力を受けて、それぞれの検出回路にお
いて、対応するソフトウェアブレーク命令の有無の検
出、ならびにBRKRET命令の有無の検出が行われ
る。ソフトウェアブレーク命令検出回路107において
ソフトウェアブレーク命令が検出される場合には、ソフ
トウェアブレーク命令検出回路107よりは“1”が出
力され、BRKRET命令検出回路111からは“0”
が出力される。これらの検出結果を受けて、RSフリッ
プフロップ108からは、ソフトウェアブレーク命令が
検出されたことを示す“1”のブレーク検出信号115
が出力されて、ソフトウェアブレーク検出フラグ201
に入力されて保持される。また、BRKRET命令検出
回路111においてBRKRET命令が検出される場合
には、BRKRET命令検出回路111よりは“1”が
出力され、ソフトウェアブレーク命令検出回路107よ
りは“0”が出力される。これらの検出結果を受けて、
RSフリップフロップ108からは、ソフトウェアブレ
ーク命令が解除されたことを示す“0”のブレーク検出
信号115が出力されて、ソフトウェアブレーク検出フ
ラグ201に入力されて保持される。
【0027】上記のように、ソフトウェアブレーク検出
フラグ201に入力されて保持されているブレーク検出
信号115を読み出す場合には、命令バス112を介し
て入力される専用の読み出し命令を実行することによ
り、フラグ読み出し命令検出回路202からは“1”が
出力されて、当該ソフトウェアブレーク検出フラグ20
1に入力される。これにより、ソフトウェアブレーク検
出フラグ201よりブレーク検出信号115が読み出さ
れ、データバス116に出力される。従って、図2のエ
ミュレーションCPUをインサーキットエミュレータに
用いる場合には、上述のように、命令バス112を介し
て入力される専用読み出し命令により、ソフトウェアブ
レーク検出フラグ201の内容の読み出しをデータバス
116を介して行うことによって、ブレークの要因が、
ソフトウェアブレークによるのか、或はまたハードウェ
アブレークによるのかを容易に判断することができる。
【0028】なお、図1に示される第1の実施例におい
ては、実行ユニット110より、ブレーク検出信号11
5が外部に対して出力するための専用端子を設けること
が必要であるが、本実施例においては、内部のレジスタ
を介してブレーク要因を知ることができるため、上記の
専用端子が不要になるという利点がある。
【0029】図3は、前記第2の実施例のエミュレーシ
ョンCPUを用いたインサーキットエミュレータによ
り、ユーザが、プログラムの動作確認を、ハードウェア
ブレークとソフトウェアブレークとを用いて実施する場
合の手順を示す流れ図である。
【0030】本発明のエミュレーションCPUを用いた
インサーキットエミュレータによりユーザプログラムの
動作確認を行う場合には、まず、ユーザプログラムをユ
ーザシステムに読み込み(ステップ301)、ソフトウ
ェアブレークを発生させるアドレス設定を行って(ステ
ップ302)、ハードウェアブレークを発生させる条件
の設定を行い(ステップ303)、その後に、ユーザプ
ログラムを実行させる(ステップ304)。前記ステッ
プ304においてユーザプログラムを実行させた場合
に、当該ユーザプログラムの実行の過程において、ステ
ップ302およびステップ303においてそれぞれ設定
されたソフトウェアブレークアドレスおよびハードウェ
アブレーク条件に該当する場合には、その時点において
ユーザプログラムは中断される(ステップ305)。
【0031】その際、ソフトウェアブレークが発生した
場合には、ソフトウェアブレーク検出フラグ201に保
持されるブレーク検出信号は“1”になるために、イン
サーキットエミュレータにおいては、エミュレーション
CPU内部のソフトウェアブレーク検出フラグ201の
状態(“1”)を確認することにより、ソフトウェアブ
レークが発生したことが明確に認識され、従って、イン
サーキットエミュレータのブレーク要因を、ユーザに対
して自動的に通知することが可能となり、これにより、
ユーザは、ブレーク要因を調べるために、トレース機能
を用いたりする(図5のステップ501を参照)ことな
く、ユーザプログラムの動作の妥当性を調べることがで
きる。
【0032】
【発明の効果】以上説明したように、本発明は、ユーザ
プログラムの実行を中断するソフトウェアブレーク命令
を検出する手段と、当該ソフトウェアブレーク命令を終
了して前記ユーザプログラムに復帰するBRKRET命
令を検出する手段とを少なくとも備えることにより、ブ
レーク発生要因がソフトウェアブレークによるのか、ま
たはハードウェアブレークによるのかを判別することが
可能となり、ユーザプログラムの中断要因を調査すると
いう余分の作業を排除することができるという効果があ
る。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示すブロック図であ
る。
【図2】本発明の第2の実施例を示すブロック図であ
る。
【図3】第2の実施例における動作の一例を示す流れ図
である。
【図4】従来例を示すブロック図である。
【図5】従来例における動作の一例を示す流れ図であ
る。
【図6】プログラムの動作の具体例を示す流れ図であ
る。
【図7】プログラムの動作の具体例を示す流れ図であ
る。
【図8】ハードウェアブレーク発生時のエミュレーショ
ンCPUの動作例を示す図である。
【図9】ソフトウェアブレーク発生時のエミュレーショ
ンCPUの動作例を示す図である。
【符号の説明】
101 バス制御ユニット 102、116 データバス 103、117 アドレスバス 104 データバスインタフェ−ス 105 アドレスバスインタフェ−ス 106 命令デコード・ユニット 107 ソフトウェアブレーク検出回路 108 RSフリップフロップ 109 実効アドレス生成ユニット 110 実効ユニット 111 BRKRET命令検出回路 112 命令バス 113 アドレッシング情報 114 論理アドレス 115 ブレーク検出信号 201 ソフトウェアブレーク検出フラグ 202 フラグ読み出し命令検出回路 301 ユーザプログラムの読み込みステップ 302 ソフトブレークアドレスの設定ステップ 303 ハードブレーク条件の設定ステップ 304 ユーザプログラム実行ステップ 305 ユーザプログラム・中断ステップ 306 検出フラグON?ステップ 307 ソフトブレーク発生を表示ステップ 308 ハードブレーク発生を表示ステップ 501 ユーザプログラムブレーク要因の確認ステッ
プ 601 ソースプログラム 602 ハードウェアブレーク設定ステップ 603 ソフトウェアブレーク設定ステップ 604 プログラム実行ステップ 605 ソフトウェアブレ−ク命令をセットするステ
ップ 606 1行目のプログラムの実行ステップ 607 2行目のプログラムの実行ステップ 608 ハードウェアブレーク条件の成立ステップ 609 ソフトウェアブレーク条件の成立ステップ 610 プログラムの中断ステップ 611 次に実行されるプログラムの説明ステップ 701 ハードウェアブレーク、ソフトウェアブレー
ク設定ステップ 702 1行目のプログラムの実行ステップ 703 2行目のプログラムの実行ステップ 801 ユーザプログラム 802 ハードウェアブレークの発生ステップ 803 ブレーク発生時の内部動作ステップ 804 BRKRET命令の実行ステップ 805 BRKRET命令実行時の内部動作ステップ 901 ソフトウェアブレークの発生ステップ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ユーザプログラム実行を中断する専用の
    割り込み命令(以下、ソフトウェアブレーク命令と云
    う)と、当該割り込みの終了後に前記ユーザプログラム
    に復帰する命令(以下、BRKRET命令と云う)とを
    有するエミュレーションCPUにおいて、 前記ソフトウェアブレーク命令が実行されたことを検出
    するソフトウェアブレーク命令検出手段と、 前記BRKRET命令が実行されたことを検出するBR
    KRET命令検出手段と、 前記ソフトウェアブレーク命令検出手段の検出出力と、
    前記BRKRET命令検出手段の検出出力とを入力し
    て、ソフトウェアブレーク命令およびBRKRET命令
    の内の何れの命令が実行されたかを検出する実行命令検
    出手段と、 を少なくとも備えることを特徴とするエミュレーション
    CPU。
  2. 【請求項2】 ユーザプログラム実行を中断する専用の
    割り込み命令(以下、ソフトウェアブレーク命令と云
    う)と、当該割り込みの終了後に前記ユーザプログラム
    に復帰する命令(以下、BRKRET命令と云う)とを
    有するエミュレーションCPUにおいて、 前記ソフトウェアブレーク命令が実行されたことを検出
    するソフトウェアブレーク命令検出手段と、 前記BRKRET命令が実行されたことを検出するBR
    KRET命令検出手段と、 前記ソフトウェアブレーク命令検出手段の検出出力と、
    前記BRKRET命令検出手段の検出出力とを入力し
    て、ソフトウェアブレーク命令およびBRKRET命令
    の内の何れの命令が実行されたかを検出する実行命令検
    出手段と、 前記実行命令検出手段の検出出力を入力して保持する命
    令検出フラグと、 所定の専用命令を検出して、当該専用命令により前記命
    令検出フラグに保持されている前記検出出力を読み出し
    て出力させるフラグ読み出し命令検出手段と、 を少なくとも備えることを特徴とするエミュレーション
    CPU。
  3. 【請求項3】 前記実行命令検出手段が、前記ソフトウ
    ェアブレーク命令検出時の前記ソフトウェアブレーク命
    令検出手段の検出出力“X(X=1または0)”の入力
    を受けて“X(X=1または0)”を出力し、前記BR
    KRET命令検出時の前記BRKRET命令検出手段の
    検出出力“Y(Y=0または1)”の入力を受けて“Y
    (Y=0または1)”を出力するRSフリップフロップ
    により構成される請求項1および2記載のエミュレーシ
    ョンCPU。
JP6110654A 1994-05-25 1994-05-25 エミュレーションcpu Pending JPH07319724A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6110654A JPH07319724A (ja) 1994-05-25 1994-05-25 エミュレーションcpu

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6110654A JPH07319724A (ja) 1994-05-25 1994-05-25 エミュレーションcpu

Publications (1)

Publication Number Publication Date
JPH07319724A true JPH07319724A (ja) 1995-12-08

Family

ID=14541142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6110654A Pending JPH07319724A (ja) 1994-05-25 1994-05-25 エミュレーションcpu

Country Status (1)

Country Link
JP (1) JPH07319724A (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 割り込み処理制御装置および方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02178848A (ja) * 1988-12-29 1990-07-11 Nec Corp マイクロプロセッサ開発支援装置
JPH03175537A (ja) * 1989-12-04 1991-07-30 Nec Corp デバッグ用マイクロプロセッサのエラー制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02178848A (ja) * 1988-12-29 1990-07-11 Nec Corp マイクロプロセッサ開発支援装置
JPH03175537A (ja) * 1989-12-04 1991-07-30 Nec Corp デバッグ用マイクロプロセッサのエラー制御装置

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
US5594890A (en) Emulation system for emulating CPU core, CPU core with provision for emulation and ASIC having the CPU core
JPS63111545A (ja) デバツグ用マイクロプロセツサ
JPH0481932A (ja) 割込みコントローラ
JPH0193837A (ja) デバッグ用マイクロプロセッサ
JPH07319724A (ja) エミュレーションcpu
JPH08171504A (ja) エミュレ−ション装置
JP2003280756A (ja) 情報処理装置のデバッグ手段
JP3068578B2 (ja) インサーキットエミュレータおよび飽和演算処理方法
JP3214413B2 (ja) エミュレータ
JP2729121B2 (ja) 演算処理装置
JPH0581087A (ja) プロセサのモニタ方式
JPH0248739A (ja) デバッグ用マイクロプロセッサ
JP2701799B2 (ja) マイクロコンピュータ
JPS59163653A (ja) デバツグ装置
JP2000353109A (ja) エミュレータ及びエミュレーションシステム
JP2002366378A (ja) プログラムのデバッグ装置及びデバッグ方法、並びに記憶媒体
JPS60233743A (ja) 計算機システムの異常検出回路
JP2786215B2 (ja) 再開処理制御方式
JPH07121396A (ja) エミュレータ
JPH11212945A (ja) マイクロコンピュータおよびそのメモリ
JPS6146535A (ja) 擬似エラ−設定制御方式
JP2004185356A (ja) デバッグ装置
JPH0333939A (ja) マイクロプロセッサ
JPH03129536A (ja) ブレークアドレス検出装置
JPH09319592A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19960507