JPH07152605A - エミュレータ - Google Patents

エミュレータ

Info

Publication number
JPH07152605A
JPH07152605A JP5298783A JP29878393A JPH07152605A JP H07152605 A JPH07152605 A JP H07152605A JP 5298783 A JP5298783 A JP 5298783A JP 29878393 A JP29878393 A JP 29878393A JP H07152605 A JPH07152605 A JP H07152605A
Authority
JP
Japan
Prior art keywords
break
interrupt
emulator
instruction
user
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.)
Withdrawn
Application number
JP5298783A
Other languages
English (en)
Inventor
Tatsuya Suzuki
達也 鈴木
Giichi Aoto
義一 青砥
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi 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 Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP5298783A priority Critical patent/JPH07152605A/ja
Publication of JPH07152605A publication Critical patent/JPH07152605A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 マイクロプロセッサによる周辺機器の制御プ
ログラムの実行を停止させることなくエミュレータ動作
を停止させることができるようにする。 【構成】 ブレーク割り込み命令及びブレーク命令を用
いてブレーク処理を実行すると共に、このブレーク処理
をリターンブレーク命令により解除するMPU102を
搭載したエミュレータであって、前記ブレーク処理中に
ユーザシステム200からの割り込み要求が発生したこ
とをもって、前記ブレーク処理を解除するブレーク解除
割り込み制御部106を設ける。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサ
(MPU)を用いた機器の開発支援技術、特に、その状
態監視に用いて効果のある技術に関するものである。
【0002】
【従来の技術】マイクロプロセッサを用いた機器の開発
においては、そのマイクロプロセッサと同一の機能を有
する別のマイクロプロセッサによりプログラムを実行
し、上記の機器を制御し、ハードウェア及びソフトウェ
アのデバッグを行うエミュレータが用いられる。
【0003】一般にエミュレータは、ブレーク機能及び
1命令実行機能によりユーザプログラムを断片的に実
行、停止しながら内部メモリ及びレジスタ内容を参照ま
たは変更し、更にはトレース内容の表示を行いながらデ
バッグを行うものである。例えば、本発明者らが用いて
いるエミュレータにおいては、メモリ表示及びレジスタ
表示などはユーザプログラム実行をブレークさせて行っ
ており、ブレーク中はユーザプログラムからの割り込み
要求はマスクされる。
【0004】ところで、マイクロプロセッサの高集積化
及び多機能化が進むにつれ、種々の機能がチップに内蔵
される傾向にある。このようなマイクロプロセッサを用
いることにより、1つのマイクロプロセッサで種々の周
辺入出力機器を直接制御できるようになる。
【0005】また、エミュレータにおいては、ユーザプ
ログラムの周辺機器の制御動作を停止させることなく、
各種のデバッグ用機器の使用を可能にする機能を備える
ことが要求されている。
【0006】
【発明が解決しようとする課題】しかし、上記したよう
に、マイクロプロセッサで周辺入出力機器の制御動作を
直接に行った場合、エミュレーション中はその制御プロ
グラムの実行が停止されるため、一旦ブレークしてしま
うとユーザ割り込みを受け付けることができず、周辺機
器の破壊(例えば、モータの異常回転)を招く恐れがあ
る。
【0007】そこで、本発明の目的は、エミュレータ動
作の停止が、マイクロプロセッサによる周辺機器の制御
プログラムの実行を停止させることなく行うことが可能
な技術を提供することにある。
【0008】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述及び添付図面から明らかにな
るであろう。
【0009】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
以下の通りである。
【0010】すなわち、ブレーク割り込み命令及びブレ
ーク命令を用いてブレーク処理を実行すると共に、この
ブレーク処理をリターンブレーク命令により解除するマ
イクロプロセッサを搭載したエミュレータであって、前
記ブレーク処理中に被エミュレーション機からの割り込
み要求が発生したことをもって、前記ブレーク処理を解
除する手段を設けるようにしている。
【0011】
【作用】上記した手段によれば、ユーザプログラムの実
行中にブレークを行ってシステムプログラムの実行によ
り周辺機器の制御動作をしているとき、ユーザ側からの
割り込みに基づいてリターンブレーク命令が出され、ユ
ーザの割り込み要求が実行される。したがって、周辺機
器の動作を停止させることなく、プログラム実行時のマ
イクロプロセッサの内部状態の情報の提供が可能にな
る。
【0012】
【実施例】以下、本発明の実施例について、図面を参照
しながら説明する。
【0013】図1は本発明によるエミュレータの一実施
例を示すブロック図である。
【0014】エミュレータ100には、エミュレータ1
00内のユーザインタフェース101及びユーザインタ
フェースプローブ201を介してユーザシステム200
(被エミュレーション機)が接続されている。
【0015】エミュレータ100は、エミュレーション
の対象であると共にユーザシステム200に採用される
MPUと同等の機能を備えたMPU102を主体に構成
され、このMPU102とユーザインタフェース101
の間には、エミュレーションバス103が接続されてい
る。MPU102は、ブレーク機能に対応した複数の端
子を備えるほか、ブレーク(BRK)命令、リターンブ
レーク(RTB)命令及びリターンユーザ(RTU)命
令を有し、ブレーク状態の制御を行うことができる。
【0016】エミュレーションバス103には、メモリ
104、エミュレーションの為の制御を実行するエミュ
レーション制御部105、このエミュレーション制御部
105からの指令に基づいてブレーク解除割り込みを行
うブレーク解除割り込み制御部106、ユーザプログラ
ム実行停止条件を検出するブレーク検出回路107、エ
ミュレーション実行結果を取得するトレースメモリ10
8、ユーザプログラムが格納されるエミュレーションメ
モリ109の各々が接続されている。
【0017】さらにメモリ104〜ブレーク検出回路1
09の各回路部はシステムバス110に共通接続され、
このシステムバス110にはホストCPU111が接続
されている。このホストCPU111は、エミュレータ
を統括制御するために用いられる。
【0018】システムバス110には、更に、システム
メモリ112及びI/Oインタフェース部113が接続
され、このI/Oインタフェース部113にはフロッピ
ーディスクを記憶媒体とするディスク装置114、及び
CRT等を表示器とするディスプレイ装置115が接続
されている。
【0019】また、MPU102はINTU(ユーザ割
り込み)端子を3個(2〜0)備えるほか、BRKAK
(ブレークアクノリッジ)端子及びBRK(ブレーク割
り込み)端子を備えている。INTU端子2〜0にはブ
レーク解除割り込み制御部106から出力されるブレー
ク解除割り込み信号116が入力され、ブレーク検出回
路107からBRK端子へはブレーク割り込みを示す信
号117が送出され、MPU102からBRKAK端子
へはブレーク状態を示す信号118が送出されている。
【0020】以上の構成において、エミュレーションの
実行が指示されると、MPU102はユーザシステム2
00上またはエミュレーションメモリ109上のユーザ
プログラムを実行する。MPU102はBRK端子にブ
レーク信号117が印加され、或いはBRK命令を実行
するとブレーク状態になり、BRKAK端子の出力レベ
ルを“H”(ハイ)から“L”(ロー)にする。
【0021】ブレーク状態になると、エミュレータ10
0の動作空間をユーザ空間からシステム空間に切り換
え、メモリ104にスタックした後、メモリ104上の
エミュレータプログラムを実行する。ユーザシステム或
いはエミュレーションメモリ109上のユーザプログラ
ムの実行に際しては、RTB命令を実行することにより
ブレーク状態は解除され、BRKAK端子が“H”レベ
ルになり、エミュレータ100の動作空間がシステム空
間からユーザ空間に切り換わり、ユーザプログラムが実
行される。
【0022】図2は図1に示したMPU102とブレー
ク解除割り込み制御部106の構成の詳細を示すブロッ
ク図である。
【0023】MPU102は、CPU102a、及びC
PU102aに接続されて割り込み要求信号及びベクタ
番号をCPU102aへ送出する割り込みコントローラ
102bを備えている。この割り込みコントローラ10
2bは、優先順位決定部と割り込みマスク部から構成さ
れている。
【0024】さらに、MPU102には、周辺割り込み
要求信号を割り込みコントローラ102bへ送出する周
辺機能部(例えば、タイマ、入出力ポート等)102
c、内部バス102fに接続されてブレーク状態の解除
及び遷移のタイミングを生成する為のスタックポインタ
モニタ102d、このスタックポインタモニタ102d
に接続されるブレーク制御部102eの各々が設けられ
ている。なお、割り込みコントローラ102bから出力
されるベクタは、レジスタまたは端子設定により任意に
設定することができる。
【0025】また、ブレーク解除割り込み制御部106
は、システムバス110に接続されてINTU2〜0端
子に対するブレーク解除割り込み信号116を指定する
割り込み条件指定部106a、エミュレーションバス1
03及び割り込み条件指定部106aに接続されて条件
の一致を判定する比較器106b、この比較器106b
及びシステムバス110に接続されて条件一致した場合
の割り込みレベルを指定する割り込みレベル指定部10
6c、及び割り込みレベル指定部106cに接続される
優先順位決定部106dから構成されている。
【0026】なお、優先順位決定部106dの出力信号
は、割り込みコントローラ102bへ送出される。ま
た、割り込み条件指定部106a及び割り込みレベル指
定部106cの内容の設定は、システムバス110を介
してホストCPU111により行われる。比較器106
bは、MPU102の周辺機器制御用のポート端子状態
とユーザシステム上の任意の信号を入力することが可能
であり、割り込み条件指定部106aの設定により種々
の条件指定が可能である。(本実施例の場合、割り込み
として3個を容易し、その割り込みレベルは1〜6の7
レベルを用意している)。
【0027】ここで、図2の構成の動作を簡単に説明す
る。例えば、エミュレーションバス103からは、ユー
ザシステム側のセンサの出力やスイッチのON/OFF
信号等の割り込み処理をさせたい内容がフラグの形で取
り込まれ、割り込み条件指定部106aで指定されてい
る内容との比較が比較器106bで行われ、一致した内
容に対し、それが最優先に該当するか否かが割り込みレ
ベル指定部106cによって複数のレベル(例えば、3
つのレベル)で判定され、優先順位の決定が優先順位決
定部106dにより行われる。
【0028】MPU102内の割り込みコントローラ1
02bは、その割り込みマスク部のレジスタ設定によ
り、周辺機能部102cからのINTU2〜0端子入力
(通常の割り込み要求)をマスクすることができる。す
なわち、割り込みコントローラ102bは、周辺機能部
102cからの信号と優先順位決定部106dからの信
号のどちらを優先させるかを決定し、選んだ方の信号を
最優先レベルの割り込み要求としてCPU102aへ送
出する。
【0029】次に、本発明によるエミュレータの処理の
流れについて、図3(MPU102によるプログラム実
行フロー)及び図4(MPU102の動作切り換えフロ
ー)の説明図を参照しながら説明する。
【0030】システムプログラムは、ブレーク状態(B
RKAK端子が“L”レベルの状態)において実行され
る。図3及び図4の(1)の時点でRTB命令が実行さ
れることによりリターンブレークされてブレーク状態が
解除され(BRKAK端子が“H”レベルの状態)、M
PU102によるユーザプログラムの実行が開始される
(GO STEP)。このユーザプログラムの実行中
に、表示動作等のためにブレークが行われると、ブレー
ク割り込み例外処理が実行され、再度ブレーク状態にな
る(図3及び図4の(2)の状態)。このブレーク状態
のもとでシステムプログラムが稼働し、表示等の処理が
行われる。
【0031】このシステムプログラムの動作中にINT
U2〜0端子に割り込み或いは周辺機能部102cから
の割り込みが発生すると(図3及び図4の(3)の状
態)、これがCPU102aによって受け付けられ、ブ
レーク制御部102eによってブレーク状態が解除され
て表示等の処理は中断され、ブレーク割り込み例外処理
が実行(ユーザスタック領域にスタック2が実行)さ
れ、ユーザ割り込み処理ルーチンに入る。このときのス
タックポインタ(SP)の値は、スタックポインタモニ
タ102d内に保持される。以降、スタックポインタモ
ニタ102dは、このスタックポインタアドレスへのア
ンスタックの発生を監視する。
【0032】この状態でユーザ割り込み処理ルーチンが
終了すると、リターン割り込み(RTI)命令が実行さ
れ、図4のスタック2と同じアドレスにアンスタック2
が実行されることにより、スタックポインタモニタ10
2dからブレーク解除要求が出され、ブレーク状態に戻
され、表示等の処理が再開される(図3及び図4の
(4)の状態)。
【0033】このとき、RTI命令を専用リターン命令
に置き換え、ユーザ割り込み処理ルーチンの書換えを行
う(すなわち、CPU102aとブレーク制御部102
eとの間で処理を行う)ようにすると、スタックポイン
タモニタ102dを設ける必要がなくなる。
【0034】なお、図3において、(3)の状態からユ
ーザ割り込み処理ルーチンへ移行せず、(3)から
(4)へ直行する状態が在来のエミュレータ動作であ
り、ユーザプログラムの実行を行うことはできない。こ
れに対し、本発明ではブレーク状態を解除する割り込み
が可能であるため、ブレーク状態でユーザの割り込み要
求を実行することができる。
【0035】したがって、例えばユーザシステム200
のモータの制御が不能になり、回転異常を生じた場合、
極めて危険な状態であるが、これに対して優先順位を高
くしておくことにより優先順位決定部106dの出力を
選択させることができ、モータ制御に必要なユーザ割り
込み処理ルーチンを実行させることができる。
【0036】以上、本発明者によってなされた発明を実
施例に基づき具体的に説明したが、本発明は前記実施例
に限定されるものではなく、その要旨を逸脱しない範囲
で種々変更可能であることは言うまでもない。
【0037】
【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下の通りである。
【0038】すなわち、ブレーク割り込み命令及びブレ
ーク命令を用いてブレーク処理を実行すると共に、この
ブレーク処理をリターンブレーク命令により解除するマ
イクロプロセッサを搭載したエミュレータであって、前
記ブレーク処理中に被エミュレーション機からの割り込
み要求が発生したことをもって、前記ブレーク処理を解
除する手段を設けるようにしたので、周辺機器の動作を
停止させることなく、プログラム実行時におけるマイク
ロプロセッサの内部状態の情報提供が可能になる。
【図面の簡単な説明】
【図1】本発明によるエミュレータの一実施例を示すブ
ロック図である。
【図2】図1に示したMPUとブレーク解除割り込み制
御部の構成の詳細を示すブロック図である。
【図3】MPUプログラム実行フローを示す説明図であ
る。
【図4】MPUの動作切り換えフローを示す説明図であ
る。
【符号の説明】
100 エミュレータ 101 ユーザインタフェース 102 MPU 102a CPU 102b 割り込みコントローラ 102c 周辺機能部 102d スタックポインタモニタ 102e ブレーク制御部 102f 内部バス 103 エミュレーションバス 104 メモリ 105 エミュレーション制御部 106 ブレーク解除割り込み制御部 106a 割り込み条件指定部 106b 比較器 106c 割り込みレベル指定部 106d 優先順位決定部 107 ブレーク検出回路 108 トレースメモリ 109 エミュレーションメモリ 110 システムバス 111 ホストCPU 112 システムメモリ 113 I/Oインタフェース部 114 ディスク装置 115 ディスプレイ装置 116 ブレーク解除割り込み信号 117,118 信号 200 ユーザシステム 201 ユーザインタフェースプローブ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ブレーク割り込み命令及びブレーク命令
    を用いてブレーク処理を実行すると共に、このブレーク
    処理をリターンブレーク命令により解除するマイクロプ
    ロセッサを搭載したエミュレータであって、前記ブレー
    ク処理中に被エミュレーション機からの割り込み要求が
    発生したことをもって、前記ブレーク処理を解除する手
    段を設けたことを特徴とするエミュレータ。
  2. 【請求項2】 前記被エミュレーション機からの割り込
    み要求の受け付けを複数にし、これらに対して優先順位
    を付す手段を設けたことを特徴とする請求項1記載のエ
    ミュレータ。
  3. 【請求項3】 前記被エミュレーション機からの割り込
    み要求と前記マイクロプロセッサの内部要因による割り
    込み要求のうち、いずれか一方を選択可能にする割込制
    御手段を設けたことを特徴とする請求項1記載のエミュ
    レータ。
  4. 【請求項4】 ブレーク解除割り込み実行時のスタック
    アドレスを保持し、その後の前記スタックアドレスへの
    アンスタックを検出し、自動的にブレーク状態に戻すモ
    ニタ手段を設けたことを特徴とする請求項1記載のエミ
    ュレータ。
  5. 【請求項5】 前記被エミュレーション機からの割り込
    み要求を専用のリターン命令に置換し、この命令によっ
    てユーザ割り込み処理ルーチンを実行する制御手段を設
    けたことを特徴とする請求項1記載のエミュレータ。
JP5298783A 1993-11-30 1993-11-30 エミュレータ Withdrawn JPH07152605A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5298783A JPH07152605A (ja) 1993-11-30 1993-11-30 エミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5298783A JPH07152605A (ja) 1993-11-30 1993-11-30 エミュレータ

Publications (1)

Publication Number Publication Date
JPH07152605A true JPH07152605A (ja) 1995-06-16

Family

ID=17864167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5298783A Withdrawn JPH07152605A (ja) 1993-11-30 1993-11-30 エミュレータ

Country Status (1)

Country Link
JP (1) JPH07152605A (ja)

Similar Documents

Publication Publication Date Title
JP2650675B2 (ja) マルチモードマイクロプロセッサにおいてプログラムを実行する方法及びオペレーティングシステム
US5357628A (en) Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt
US5187802A (en) Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
JP2743233B2 (ja) マイクロプロセッサ装置及び自動化停止状態再始動を実行させる方法
JPH06242987A (ja) コンピュータ装置においてマイクロプロセッサの正常な処理の引継ぎをホストプロセッサが実行する方法および装置
EP0290942B1 (en) Guest machine execution control system for virtual machine system
US5257269A (en) Error controller for use in debugging microprocessor
JPH07152605A (ja) エミュレータ
JP2677458B2 (ja) システムコール実行装置
JP2753781B2 (ja) マイクロプロセッサ装置及び割込みと自動化入出力トラップ再始動を行う方法
JP2713124B2 (ja) インサーキット・エミュレータ
JP2653412B2 (ja) ブレークポイント設定方法
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JP2624798B2 (ja) 処理装置のデバッグ機構
JP3449812B2 (ja) 制御用電子装置
JPH02264340A (ja) マイクロプロセッサ
JPH0212531A (ja) 仮想計算機の割込み制御方式
JPS61194531A (ja) 命令実行制御装置
JPH0772874B2 (ja) 割込み受取り装置
JPS6116338A (ja) 仮想計算機システムにおける割込み処理方式
JPH0250494B2 (ja)
JPS6091458A (ja) マイクロプロセツサのプログラムデバツグ装置
JPH08153018A (ja) 半導体システム
JPH07134665A (ja) 情報処理装置
JPH11102309A (ja) デバッグ装置とプロセッサと記録媒体

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010130