JPH11143732A - マイクロコンピュータ及びエミュレータ - Google Patents

マイクロコンピュータ及びエミュレータ

Info

Publication number
JPH11143732A
JPH11143732A JP9303864A JP30386497A JPH11143732A JP H11143732 A JPH11143732 A JP H11143732A JP 9303864 A JP9303864 A JP 9303864A JP 30386497 A JP30386497 A JP 30386497A JP H11143732 A JPH11143732 A JP H11143732A
Authority
JP
Japan
Prior art keywords
mode
ase
interrupt
signal
microcomputer
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
JP9303864A
Other languages
English (en)
Inventor
Hideya Fujita
秀哉 藤田
Giichi Aoto
義一 青砥
Susumu Narita
進 成田
Osamu Nishii
修 西井
Takashi Suzuki
敬 鈴木
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 Ltd
Original Assignee
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 Ltd filed Critical Hitachi Ltd
Priority to JP9303864A priority Critical patent/JPH11143732A/ja
Publication of JPH11143732A publication Critical patent/JPH11143732A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 デバッグの効率向上を図ることにある。 【解決手段】 ユーザモードで割込みが発生したか、デ
バッグモードで割り込みが発生したかに応じてその割り
込み処理後の復帰先を識別可能な識別情報を生成する第
1手段(321)と、上記割り込み処理終了後の復帰先
を上記識別情報に基づいて決定するための第2手段(3
22)とを設け、上記識別情報に基づいて適切な復帰先
を決定することができるようにする。それにより、デバ
ッグモードでの割り込みの受付を可能とし、デバッグの
効率向上を達成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ユーザシステム上
で動作するソフトウェアの開発支援のためのエミュレー
ション技術、さらにはそのエミュレーションを可能とす
るマイクロコンピュータ、及びそれを含むエミュレータ
に関する。
【0002】
【従来の技術】マイクロコンピュータ応用機器の開発に
おいて、その応用システム(ユーザシステム)のデバッ
グやそのシステムの詳細な評価を行うため、エミユレー
タが使用されている。エミュレータは、開発中のユーザ
システムに接続されて、その詳細なシステムデバッグを
支援する。
【0003】ユーザシステムのデバッグにおいて、所定
の条件が成立した場合にプログラムの実行を停止(ブレ
ーク)する機能はエミュレータの基本機能の一つとされ
る。
【0004】ユーザプログラムの実行中にブレーク命令
又はブレーク信号がマイクロコンピュータに入力される
と、ユーザプログラムモードからデバッグモードに遷移
される。この機能を用いてユーザプログラムのブレーク
機能が実現される。ユーザプログラムの特定アドレスの
命令がブレーク命令に置き換えられたり、アドレスバス
やデータバスの状態が特定条件に一致したことによりブ
レーク信号が生成されると、それを受けて、制御がユー
ザモードからデバッガ(「ASE」という)モードに移
行される。制御がASEモードに移行されると、デバッ
ガプログラムが動作されてレジスタやメモリの内容表示
等が行われる。このとき、ユーザプログラムの実行は停
止されている。
【0005】尚、エミュレータについて記載された文献
の例としては、1989年6月20日に電波新聞社から
発行された「マイコン開発のすべて(第78頁から第9
5頁)」がある。
【0006】
【発明が解決しようとする課題】しかしながら、上記ブ
レーク機能によれば、ユーザプログラムが最優先の割り
込みを処理中であってもASEモードへの移行を受け付
ける必要があり、それは如何なる割り込みの優先順位よ
りも高くしておく必要がある。このため、ユーザプログ
ラムの実行が停止されているとき(デバッグモード中)
に、ある条件で割り込みを受け付けるためには、いった
ん制御をユーザプログラムに戻す必要がある。図7には
その制御の様子が示される。ユーザプログラム実行中に
割込みが生じると、ASEモードに遷移してデバッガプ
ログラムが起動される。デバッガプログラムは、そこで
ブレーク時のレジスタを表示したり、新たな要求に応じ
てメモり内容の変更等を行う。ここで、ユーザプログラ
ムの再実行の待ち状態となる。この状態で割り込み処理
を受け付けるためには、ユーザプログラムモードへ移行
する必要があるが、現在停止中のユーザプログラムを実
行することはできないから、基本的に割り込み処理を受
け付けることはできない。
【0007】そこで、停止中のユーザプログラムとは無
関係の無限ループのプログラムをユーザ空間で実行さ
せ、この無限ループ実行中に割り込みを受け付けるよう
にしている。しかしながら、この方法では、ブレーク発
生から無限ループ実行前に必ずデバッガプログラムの動
作が必要であり、割り込み禁止期間が存在するため、割
り込みをリアルタイムに受け付けることができない。こ
のため、停止しているプログラムとは別のプログラムが
割り込みによりデータの送受信処理を行う場合には、そ
してその割り込みが図7の割り込み禁止期間に発生した
場合には、そのような割り込みを受け付けることができ
ないから、そこでデータ転送エラーを生じたり、あるい
はモータなどの機器制御用システムの場合には、モータ
の回転制御が異常になってユーザーシステムを破損する
おそれがあり、デバッグ効率を著しく低下させることが
考えられる。
【0008】本発明の目的は、割り込みをリアルタイム
に受け付けるための技術を提供することにある。
【0009】本発明の別の目的は、デバッグ効率の向上
を図ることにある。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0011】すなわち、デバッガ用プログラムが実行さ
れる第1モードと、ユーザプログラムが実行される第2
モードとを有するマイクロコンピュータにおいて、上記
第1モードで割込みが発生したか、上記第2モードで発
生したかに応じてその割り込み処理後の復帰先を識別可
能な識別情報を生成する第1手段(321)と、上記割
り込み処理終了後の復帰先を上記識別情報に基づいて決
定するための第2手段(322)とを設ける。
【0012】上記した手段によれば、第2手段は、上記
識別情報に基づいて適切な復帰先を決定することができ
る。つまり、第1モードにおいて受け付けられた割り込
みの処理が終了された場合には第1モードに復帰するこ
とができるし、第2モードにおいて受け付けられた割り
込みの処理が終了された後は第2モードに復帰すること
ができる。このため、ブレークにより停止中のユーザプ
ログラムとは無関係の無限ループのプログラムをユーザ
空間で実行させ、この無限ループ実行中に割り込みを受
け付けるなどの方式(図7参照)をとる場合に比べて、
ブレーク後に直ちに割り込みを受け付けられるようにな
り、このことが、デバッグ効率の向上を達成する。
【0013】また、上記第2モードで使用されるレジス
タとは別に、上記第1モードでのみ使用可能な第1モー
ド専用レジスタを設けることで、第2モードで既に書き
込まれた情報が第1モードにおいて破壊されるのを回避
することができる。
【0014】さらに、上記構成のマイクロコンピュータ
を含むシステム上で、当該システムのデバッグのための
十分な機能が搭載されない場合には、上記マイクロコン
ピュータと、それに結合されたエミュレータ本体とを含
んでエミュレータを構成すると良い。
【0015】
【発明の実施の形態】図1には本発明に係るエミュレー
タの構成例が示される。
【0016】図1に示されるエミュレータは、特に制限
されないが、ユーザシステム30に搭載されたマイクロ
コンピュータ301と、このマイクロコンピュータ30
1に結合されたエミュレータ本体20とを含む。
【0017】マイクロコンピュータ301は、シリアル
形式でデータの入出力を可能とするデバッグ・インタフ
ェース314を有し、エミュレーション用として特別に
開発されたものではなく、いわゆる実チップである。ユ
ーザシステム30におけるボードの縁部には、上記マイ
クロコンピュータ301のデバッグ・インタフェース3
14と、このユーザシステム30の外部に配置されたエ
ミュレータ本体20との間で信号のやり取りを可能とす
るための外部端子300が設けられており、ケーブル9
を介してこの外部端子300にエミュレータ本体20が
結合される。
【0018】エミュレータ本体20は次にように構成さ
れる。
【0019】制御プログラム等が予め格納されたリード
・オンリ・メモリ(ROM)202、このROM202
内のプログラムを実行することによってエミュレーショ
ンを可能とするマイクロプロセッサ203、外部との間
で各種データのやり取りを可能とするためのデュアルポ
ート・ランダム・アクセス・メモリ(DPRAM)20
4、上記マイクロプロセッサ203での処理の作業領域
とされるスタティック・ランダム・アクセス・メモリ
(SRAM)205、先入れ先出し形式でデータを一時
的に記憶可能なファーストイン・ファーストアウト・ラ
ンダム・アクセス・メモリ(FIFO・RAM)21
1、データの入出力を制御するためのコントローラ21
0が、バスBUSを介して互いに信号のやり取り可能に
結合されている。上記コントローラ210と外部端子2
08との間には、ユーザシステム30で使用されている
信号レベルとエミュレータ本体20内で使用される信号
レベルとの間の整合をとるための信号レベルインタフェ
ース209が設けられている。そして、エミュレータ本
体20には、外部に配置されたホストシステム10との
間で信号のやり取りを可能とするためのホスト・インタ
ーフェース201が設けられ、このホスト・インタフェ
ース201を介してホストシステム10が結合されてい
る。ホストシステム10には、パーソナルコンピュータ
を適用することができる。
【0020】マイクロコンピュータ301へのエミュレ
ーション条件の設定は、ホストシステム101から行う
ことができる。また、マイクロコンピュータ301での
ユーザプログラム実行に関する情報は、ケーブル9を介
してシリアル形式でエミュレータ本体20内に取り込ま
れ、必要に応じてホストシステム10に転送される。
【0021】図2には上記マイクロコンピュータ301
の構成例が示される。
【0022】図2に示されるマイクロコンピュータ30
1は、特に制限されないが、公知の半導体集積回路製造
技術により、単結晶シリコン基板などの一つの半導体基
板に形成される。
【0023】所定のプログラムを実行するためのCPU
(中央処理装置)302、浮動小数点演算のためのFP
U(コプロセッサ)304が設けられている。CPU3
02やFPU304にMMU(メモリ・マネージメント
・ユニット)及びキャッシュメモリ部305が結合され
る。MMU及びキャッシュメモリ部305は、外部から
取り込まれた命令をキャッシュするための命令キャッシ
ュ306、オペランドをキャッシュするためのオペラン
ドキャッシュ308、及び物理アドレスと論理アドレス
との変換を行うためのMMU307とを含む。MMU及
びキャッシュメモリ部305からCPU302に、命令
語信号(32ビット)及びロードデータ(32ビット)
が伝達され、CPU302で演算処理される。また、C
PU302からMMU及びキャッシュメモリ305に次
の命令アドレス(32ビット)、オペランドアドレス
(32ビット)、ストアデータ(32ビット)が出力さ
れる。ロードデータ(下位32ビット)、ストアデータ
(32ビット)はFPU304へも伝達される。
【0024】バスステートコントローラ315が設けら
れ、このバスステートコントローラ315の制御によ
り、上記MMU及びキャッシュメモリ部305と、ダイ
レクトメモリアクセスコントローラ(DMAC)317
と、外部バスインタフェース316と、周辺回路319
等との間のデータ転送におけるバスステート制御が行わ
れるようになっている。MMU及びキャッシュメモリ部
305やDMAC317からバスステートコントローラ
315へは物理アドレス(29ビット)、データ(32
ビット)が入力される。外部バスインタフェース316
を介してアドレスが出力され、また、データ(64ビッ
ト)の入出力が可能となる。
【0025】周辺回路319には、エミュレーションを
可能とするエミュレーションユニット(EMU)30
9、所定周波数のクロック信号を形成するためのクロッ
ク発生回路(CPG)310、割り込み制御を行うため
の割り込みコントローラ(INTC)311、シリアル
形式でデータのやり取りを可能とするシリアルコミュニ
ケーションインタフェース(SCI)312、各種時間
計測のためのタイマユニット(TMU)313などが含
まれる。
【0026】上記エミュレーションユニット309は、
ユーザシステム30のデバッグにおいて、デバッグイン
タフェース314を介してエミュレータ本体20との間
でシリアルデータのやり取りを可能とする。
【0027】また、ユーザシステムのデバッグにおい
て、ブレーク条件成立によりユーザプログラムを停止
(ブレーク)させるためのブレークコントローラ(AB
C)303が内蔵されている。
【0028】図3には上記CPU302の構成例が示さ
れれる。
【0029】図3に示されるように、このCPU302
は、ASEモードにおける動作を制御するASE制御論
理321、取り込まれた命令をデコードするための命令
処理部322、及び上記命令のデコード出力に基づいて
所定の演算処理を行うための演算処理装置323、複数
のレジスタを含むレジスタ部324とを備える。命令信
号(32ビット)は命令処理装置322に入力され、そ
こでデコードされる。ロードデータ(32ビット)は演
算処理装置323に入力され、上記命令処理装置322
のデコード結果に基づく演算処理に供される。この演算
処理において上記レジスタ部324内の各種レジスタが
使用される。演算処理装置323からは、そこでの演算
処理結果として、次の命令アドレス(32ビット)、オ
ペランドアドレス(32ビット)、ストアデータ(32
ビット)が出力される。
【0030】上記レジスタ部324は、4種類のレジス
タMISC、R0U〜R15U、R0P〜R7P、R0
A〜RA7を含む。R0U〜R15U、R0P〜R7P
は、CPU302での通常処理時に使用される汎用レジ
スタとされ、R0A〜R7AはASEモード専用の汎用
レジスタとされ、MISKはその他のレジスタとされ
る。ASEモード専用の汎用レジスタR0A〜R7A
は、ASEモードにおいてのみアクセス可能であり、ユ
ーザモードや特権モードにおいては使用することができ
ない。このようにデバッグ専用の汎用レジスタ(R0A
〜R7A)を設けるのは、ASEモードや割り込み処理
でそれぞれ破壊されたレジスタが参照されるのを回避す
るためである。
【0031】レジスタMISKには、ASE例外や割り
込み発生時にプログラムカウンタの値を待避するのに用
いられるエミュレーションプログラムカウンタEPC、
ASE例外や割り込み発生時にステータスレジスタの値
を待避するのに用いられるエミュレーションステータス
レジスタ、及びASE例外や割り込み発生時にベースレ
ジスタの値を待避するのに用いられるエミュレーション
ベースレジスタEBR等が含まれる。
【0032】図4(a)にはASEモード制御論理32
1の構成例が示され、図4(b)にはASEモード制御
論理321と命令処理装置322でやり取りされる具体
的な信号が示される。
【0033】図4(b)に示されるように、命令処理装
置322からRTE命令成立信号、RTB命令成立信
号、ASE例外成立信号、ASE以外の例外処理成立信
号などが発生され、それが、ASEモード制御論理32
1に入力されると、論理回路101,102内の組み合
わせ論理によって、ASEモード信号やASE−Rモー
ド信号の論理が決定される。
【0034】ここで、RTE命令、RTB命令はいずれ
も復帰命令であるが、前者が特権モードからユーザモー
ド若しくはASEモードへの復帰を意味するのに対して
後者がASEモードからユーザモードへの復帰を意味す
る点で異なる。また、ASEモード信号とは、現在のモ
ードがユーザモードであるかASEモードかを示す信号
であり、当該信号がハイレベルの場合がA1、ローレベル
の場合がA0で示される。また、ASE−Rモード信号
は、ASEモードで割り込みが受け付けられたときに復
帰命令による戻り先を示す信号とされ、当該信号がハイ
レベルの場合がR1、ローレベルの場合がR0で示され
る。
【0035】図4(a)に示されるようにASEモード
制御論理321は、入力信号の論理状態及び前状態に応
じて次状態の論理を決定するための論理回路101,1
02を含む。この論理回路101,102の次の出力状
態(「次状態」という)がそれぞれ後段のフリップフロ
ップFF1,FF2を介して命令処理装置322へ出力
される。フリップフロップFF1,FF2を介在させる
のは、次状態が変化されない限り、ASEモード信号、
及びASE−R信号の論理状態を保持させるためであ
る。制御論理101においては、ASE例外処理成立信
号、ASE以外の例外成立信号、RTE命令成立信号、
ASE−Rモード信号、RTB命令成立信号、及びこの
制御回路101の前状態に基づいて、ASEモード信号
の次状態が決定される。
【0036】制御論理101について説明する。
【0037】ASE例外処理成立信号がハイレベル(論
理値“1”で示す)の場合には、他の信号の論理状態に
かかわらず、次状態は論理値“1”となり、それがフリ
ップフロップFF1を介して出力される。
【0038】ASE例外処理信号がローレベル(論理値
“0”で示す)の場合であって、ASE以外の例外成立
信号がハイレベルの場合には、他の信号の論理状態にか
かわらず、次状態はローレベルとされる。
【0039】ASE例外処理信号がローレベル、ASE
以外の例外成立信号がローレベル、RTE命令成立信号
がハイレベルであって、ASE−Rモード信号がローレ
ベルの場合には、次状態はローレベルとされ、ASE−
Rモード信号がハイレベルの場合には、次状態はハイレ
ベルとされる。
【0040】ASE例外処理信号がローレベル、ASE
以外の例外成立信号がローレベル及びRTE命令成立信
号がローレベルであって、RTB命令成立信号がハイレ
ベルの場合には次状態はローレベルとされる。
【0041】ASE例外処理信号がローレベル、ASE
以外の例外成立信号がローレベル、RTE命令成立信号
がローレベルであって、RTB命令成立信号がローレベ
ルの場合であって、ASEモード信号の前状態がローレ
ベル(A0)の場合には次状態もローレベル、ASEモ
ード信号がハイレベル(A1)の場合には次状態もハイ
レベルとされる。
【0042】制御論理102について説明する。
【0043】ASE例外成立信号がハイレベルの場合、
他の信号の論理状態にかかわらず、ASE−Rモード信
号の次状態は、ハイレベルとされる。
【0044】ASE例外成立信号がローレベルの場合で
あって、RTB命令成立信号がハイレベルの場合には、
次状態はローレベルとされる。
【0045】ASE例外成立信号及びRTB命令成立信
号がローレベルの場合であって、ASE−Rモード信号
の前状態がローレベルの場合には、次状態はローレベル
とされ、ASE−Rモード信号の前状態がハイレベルの
場合には、次状態はハイレベルとされる。
【0046】図5には、上記したように制御論理10
1,102で、ASEモード信号及びASE−Rモード
信号の論理が決定される場合のマイクロコンピュータ3
01の状態遷移が示される。
【0047】図5においてA0,A1は、それぞれAS
Eモード信号の論理を示しており、A0は当該信号の論
理がローレベルであることを示し、A1は当該信号の論
理がハイレベルであることを示す。また、R0,R1は
それぞれASE−Rモード信号の論理を示しており、R
0は当該信号の論理がローレベルであることを示し、R
1は当該信号の論理がハイレベルであることを示す。
【0048】そして、A0はユーザプログラムモードを
意味し、A1はASEモードを意味する。また、R0
は、割り込みがユーザプログラムモードで発生した場合
を意味し、R1は、割り込みがASEモードで発生した
場合を意味する。本例では、ユーザプログラムモードに
ユーザモードと特権モードとがある場合を示している。
【0049】パワーオンリセット、マニュアルリセッ
ト、及びTLB(MMU307のテーブルを示す)多重
ヒットにより、A0,R0とされる。
【0050】割り込み発生でユーザモードから特権モー
ドへ、割り込み復帰命令(RTE)で割り込み発生時の
モードへ移行する。つまり、割り込み発生時にユーザモ
ードの場合にはユーザモードへ戻り、特権モード時には
そのレベルの特権モードへ戻る。通常、ユーザプログラ
ムは、A0,R0で動作する。この状態で割り込みが発
生すると、ユーザプログラムの特権モードへ遷移する。
このとき、A0,R1となる。この状態で、RTE命令
を実行すると、ユーザモードではなく、ASEモードへ
戻る。戻りアドレスは、通常の割り込み処理と同様にス
タック又はASE専用レジスタ(R0A〜R7A)を利
用して蓄えられたアドレスとなる。このようにASEモ
ード信号、ASE−Rモード信号に基づいて復帰先が決
定されるので、ASEモード時における割り込みを何ら
支障無く受け付けることができる。
【0051】図6にはASEモード信号、ASE−Rモ
ード信号と例外処理との関係が示される。
【0052】ASE−Rモード信号、ASEモード信号
の論理に応じて、ASE例外処理及びそれとペアになる
RTB命令、一般例外処理およびそれとペアになるRT
E命令が発生される。
【0053】ここで、図9に示されるように、ASEモ
ードにおいてもユーザモードにおいても同一の汎用レジ
スタを使用する場合を考えてみる。この場合、ASEモ
ードや割り込み処理でそれぞれ破壊されたレジスタを参
照することになる。つまり、ASEモード及びユーザモ
ードにおいて同一レジスタを使うものとすると、ASE
モードから割り込み処理のためにユーザモードに移行さ
れた際に既存のレジスタ値が破壊され、この割り込み処
理で不所望なレジスタ値が参照される。また、割り込み
復帰命令によりASEモード戻った後にも、上記破壊さ
れたレジスタ値が参照される。これを防ぐためにはエミ
ュレータのプログラムが割り込みを許可する前にレジス
タの値をセーブし、且つ、それをユーザプログラムで参
照されるレジスタに戻す必要がある。そのような処理を
加えると、任意タイミングで割り込みを受け付けること
ができなくなり、割り込み処理の受付けが遅れてしま
う。
【0054】それに対して、上記した例のように、AS
Eモードでのみ使用可能な汎用レジスタ(R0A〜R7
A)を設けることにより、ASEモードや割り込み処理
でそれぞれ破壊されたレジスタが参照されるのが回避さ
れる。つまり、ユーザモードとASEモードとで、別々
の汎用レジスタを使い分けるようにすれば、レジスタ値
の破壊を回避することができる。
【0055】上記実施例によれば以下の作用効果が得ら
れる。
【0056】(1)既述にように、停止中のユーザプロ
グラムとは無関係の無限ループのプログラムをユーザ空
間で実行させ、この無限ループ実行中に割り込みを受け
付ける場合には、割り込みを受け付けるまでにデバッガ
プログラムの動作が必要であるため、割り込みをリアル
タイムに受け付けることができない。このため、停止し
ているプログラムとは別のプログラムが割り込みにより
データの送受信処理を行う場合には、そこでデータ転送
エラーを生じたり、あるいはモータなどの機器制御用シ
ステムの場合、モータの回転制御が異常になってユーザ
ーシステムを破損するおそれがあり、デバッグ効率を著
しく低下させることが考えられる。しかしながら、上記
したマイクロコンピュータ301によれば、ASEモー
ドにおいて受け付けられた割り込みの処理が終了された
場合にはASEモードに復帰することができるし、ユー
ザモードにおいて受け付けられた割り込みの処理が終了
された後はユーザモードに復帰することができる。この
ため、上記のようにブレークにより停止中のユーザプロ
グラムとは無関係の無限ループのプログラムをユーザ空
間で実行させてこの無限ループ実行中に割り込みを受け
付けるなどの方式をとる場合に比べて、ブレーク後に直
ちに割り込みを受け付けられるようになるから、モータ
の制御等においてもモータの回転制御が異常になるのを
回避でき、デバッグの効率向上を図ることができる。デ
バッグ効率の向上を図ることができる。
【0057】(2)ユーザモードで使用されるレジスタ
とは別に、ASEモードでのみ使用可能な汎用レジスタ
を設けることで、割り込み処理が行われる場合にもレジ
スタ情報の破壊が回避される。
【0058】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。
【0059】例えば、ASEモード時に割り込みをマス
クするレジスタを設けることにより、ASEモード時の
割り込みを抑制することができる。
【0060】また、ASEモード信号及びASE−R信
号の状態であるA0,A1,R0,R1をメモリにスタ
ックすることにより、割り込みのネストもサポートする
ことができる。
【0061】図8には割り込みのネストをサポートした
場合が示される。
【0062】割り込みが生じる毎に割り込み発生時のA
x、Rx(xは0又は1)をスタックする。RTE命令
を実行したときに戻るモードは、最新にスタックされた
Ax、R(xは0又は1を意味する)に従う。
【0063】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるエミュ
レータに適用した場合について説明したが、本発明はそ
れに限定されるものではなく、実チップ自体にデバッグ
機能を備えている場合にも適用することができる。
【0064】本発明は、少なくともデバッガ用プログラ
ムが実行される第1モードと、ユーザプログラムが実行
される第2モードとを有することを条件に適用すること
ができる。
【0065】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0066】すなわち、第1モードで割込みが発生した
か、第2モードで発生したかに応じてその割り込み処理
後の復帰先を識別可能な識別情報を生成する第1手段
(と、上記割り込み処理終了後の復帰先を上記識別情報
に基づいて決定するための第2手段とを設けたことによ
り、識別情報に基づいて適切な復帰先を決定することが
できる。つまり、第1モードにおいて受け付けられた割
り込みの処理が終了された場合には第1モードに復帰す
ることができるし、第2モードにおいて受け付けられた
割り込みの処理が終了された後は第2モードに復帰する
ことができる。このため、ブレーク後に直ちに割り込み
を受け付けられるようになり、それによって、デバッグ
効率の向上を図ることができる。
【0067】また、上記第2モードで使用されるレジス
タとは別に、上記第1モードでのみ使用可能な第1モー
ド専用レジスタを設けることで、第2モードで既に書き
込まれた情報が第1モードにおいて破壊されるのを回避
することができる。
【図面の簡単な説明】
【図1】本発明にかかるエミュレータの構成例ブロック
図である。
【図2】上記エミュレータに含まれるマイクロコンピュ
ータの構成例ブロック図である。
【図3】上記マイクロコンピュータに含まれるCPUの
構成例ブロック図である。
【図4】上記CPUにおける主要部の構成例ブロック図
である。
【図5】上記マイクロコンピュータの状態遷移説明図で
ある。
【図6】上記マイクロコンピュータにおける例外処理と
復帰命令との関係説明図である。
【図7】無限ループを実行することで割り込みの受付を
可能とする方式の説明図である。
【図8】割り込みのネストをサポートした場合の状態説
明図である。
【図9】デバッグにおけるレジスタ破壊についての説明
図である。
【符号の説明】
10 ホストシステム 20 エミュレータ本体 30 ユーザシステム 301 マイクロコンピュータ 302 CPU 303 ブレークコントローラ 304 FPU 306 命令キャッシュ 307 MMU 308 オペランドキャッシュ 314 デバッグ・インタフェース 321 ASEモード制御論理 322 命令処理装置 324 レジスタ部 323 演算処理装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西井 修 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 鈴木 敬 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 デバッガ用プログラムが実行される第1
    モードと、ユーザプログラムが実行される第2モードと
    を有するマイクロコンピュータにおいて、 上記第1モードで割込みが発生したか、上記第2モード
    で発生したかに応じてその割り込み処理後の復帰先を識
    別可能な識別情報を生成する第1手段と、 上記割り込み処理終了後の復帰先を上記識別情報に基づ
    いて決定するための第2手段と、 を含むことを特徴とするマイクロコンピュータ。
  2. 【請求項2】 上記第2モードで使用されるレジスタと
    は別に、上記第1モードでのみ使用可能な第1モード専
    用レジスタを設け、この第1モード専用レジスタを上記
    第1モードでの汎用レジスタとして使用する請求項1記
    載のマイクロコンピュータ。
  3. 【請求項3】 請求項1又は2記載のマイクロコンピュ
    ータと、 上記マイクロコンピュータに結合され、上記マイクロコ
    ンピュータを含むシステムのデバッグを可能とするエミ
    ュレータ本体とを含むエミュレータ。
JP9303864A 1997-11-06 1997-11-06 マイクロコンピュータ及びエミュレータ Withdrawn JPH11143732A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9303864A JPH11143732A (ja) 1997-11-06 1997-11-06 マイクロコンピュータ及びエミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9303864A JPH11143732A (ja) 1997-11-06 1997-11-06 マイクロコンピュータ及びエミュレータ

Publications (1)

Publication Number Publication Date
JPH11143732A true JPH11143732A (ja) 1999-05-28

Family

ID=17926204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9303864A Withdrawn JPH11143732A (ja) 1997-11-06 1997-11-06 マイクロコンピュータ及びエミュレータ

Country Status (1)

Country Link
JP (1) JPH11143732A (ja)

Cited By (3)

* 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 割り込み処理制御装置および方法
JP2009043209A (ja) * 2007-08-13 2009-02-26 Pa Net Gijutsu Kenkyusho:Kk インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ
JP2011216118A (ja) * 2000-11-27 2011-10-27 Arm Ltd データ処理命令を実行するためのデータ処理装置および方法

Cited By (3)

* 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 割り込み処理制御装置および方法
JP2011216118A (ja) * 2000-11-27 2011-10-27 Arm Ltd データ処理命令を実行するためのデータ処理装置および方法
JP2009043209A (ja) * 2007-08-13 2009-02-26 Pa Net Gijutsu Kenkyusho:Kk インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ

Similar Documents

Publication Publication Date Title
EP0391173B1 (en) Debug peripheral for microcomputers, microprocessors and core processor integrated circuits and system using the same
US6356960B1 (en) Microprocessor having an on-chip CPU fetching a debugging routine from a memory in an external debugging device in response to a control signal received through a debugging port
KR100588790B1 (ko) 데이터처리기에서의후속명령처리에작용하는방법및장치
US4112490A (en) Data transfer control apparatus and method
US6301657B1 (en) System and method for booting a computer
US7043416B1 (en) System and method for state restoration in a diagnostic module for a high-speed microprocessor
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US5862148A (en) Microcontroller with improved debug capability for internal memory
JP4098241B2 (ja) プロセッサをコプロセッサに接続する方法及び装置
KR100335785B1 (ko) 데이타처리명령의실행
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JPH076151A (ja) オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス
JP2822782B2 (ja) シングルチップマイクロコンピュータ
EP0523758B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US5351216A (en) Premature termination of microcontroller EEPROM write
JPH10333939A (ja) マイクロプロセッサ
EP0840223B1 (en) Microcomputer capable of accessing an external memory
US6594741B1 (en) Versatile write buffer for a microprocessor and method using same
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
JPH11143732A (ja) マイクロコンピュータ及びエミュレータ
US5287522A (en) External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip
US6697931B1 (en) System and method for communicating information to and from a single chip computer system through an external communication port with translation circuitry
EP0840221B1 (en) Microcomputer with packet bus
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor

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: 20050201