JP2001222443A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2001222443A
JP2001222443A JP2000400689A JP2000400689A JP2001222443A JP 2001222443 A JP2001222443 A JP 2001222443A JP 2000400689 A JP2000400689 A JP 2000400689A JP 2000400689 A JP2000400689 A JP 2000400689A JP 2001222443 A JP2001222443 A JP 2001222443A
Authority
JP
Japan
Prior art keywords
interrupt
emulation
program
instruction
signal
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
JP2000400689A
Other languages
English (en)
Inventor
Naomiki Mitsuishi
直幹 三ツ石
Hideya Fujita
秀哉 藤田
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 JP2000400689A priority Critical patent/JP2001222443A/ja
Publication of JP2001222443A publication Critical patent/JP2001222443A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 従来のエミュレーション・システムでは、主
プログラムのデバッグか割込み処理プログラムのデバッ
グのいずれか一方しかできないため、マイクロコンピュ
ータのデバッグ効率が悪いという課題があった。 【解決手段】 主プログラムと、割り込み処理プログラ
ムと、該主プログラム又は該割り込み処理プログラムの
デバッグのためのエミュレーション用プログラムとを実
行するデータ処理装置において、該エミュレーション用
プログラムを実行後、上記主プログラムに復帰するか、
上記割り込み処理プログラムに復帰するかを選択するこ
とができるようにした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デバッグ技術さらには
半導体集積回路化されたデータ処理装置に適用して特に
有効な技術に関し、例えばシングルチップマイクロコン
ピュータのエミュレーション用プロセッサに利用して有
効な技術に関するものである。
【0002】
【従来の技術】シングルチップマイクロコンピュータを
用いたシステムの開発を行うために、いわゆるインサー
キットエミュレータとよばれるマイクロコンピュータ開
発装置が用いられる。マイクロコンピュータ開発装置
は、パーソナルコンピュータなどからなるソフトウェア
開発用のシステム開発装置と、開発中の応用システムと
の間に接続され、その応用システムに装着されるべきシ
ングルチップマイクロコンピュータ(ターゲットマイク
ロコンピュータ)の機能を代行しつつ、デバッガーとし
ての機能を有し、ソフトウェアあるいは応用システムの
開発を支援するものである。
【0003】このマイクロコンピュータ開発装置には上
記シングルチップマイクロコンピュータに対応した機能
を有するエバリュエーションチップとよばれる評価用の
エミュレーション用プロセッサが用いられる。かかるエ
ミュレーション用プロセッサにターゲットマイクロコン
ピュータの機能と、マイクロコンピュータの内部状態を
出力したりマイクロコンピュータの動作を制御するエミ
ュレーション専用の機能を持たせることにより、マイク
ロコンピュータ開発装置の開発が容易とされる。インサ
ーキットエミュレータについては、例えば、平成元年1
1月(株)日立製作所発行『H8/330 ASE m
odelI』に、またシングルチップマイクロコンピュ
ータについては、(株)日立製作所平成元年8月発行
『H8/330 HD6473308 HD64333
08 ハードウェアマニュアル』に、また、エミュレー
ション用プロセッサについては、例えば、特開昭63−
106840などに記載されている。
【0004】かかるインサーキットエミュレータには、
詳細なデバッグを行なえるようにするために、いわゆる
シングルステップ機能が設けられる。シングルステップ
機能は、シングルチップマイクロコンピュータの中央処
理装置(CPU)が、デバッグ対象のプログラム(ユー
ザプログラム)を1命令実行する毎に、CPU内部の例
えばプログラムカウンタ・コンディションコードレジス
タ・汎用レジスタ等のレジスタの内容、あるいは実行し
た命令のアドレス、ニーモニック符号等をシステム開発
装置のCRT画面に表示するものである。しかるに、通
常CPU内部のレジスタの内容は、エミュレーション用
プロセッサ外部から直接読み出すことができない。CP
Uの動作中にレジスタの内容を読み出すためには、レジ
スタの内容を出力するための信号線がレジスタのビット
数分だけ、例えばプログラムカウンタが16ビット、コ
ンディションコードレジスタが8ビット、汎用レジスタ
が各16ビット8本の場合、152本必要となってしま
う。
【0005】そこで、CPUが前記1命令を実行した後
に、エミュレーション用プロセッサ外部から与えられる
エミュレーション用割込み(ブレーク割込み)によって
CPUにエミュレーション用プログラムを実行させ、こ
のエミュレーション用プログラムでCPUの内部の汎用
レジスタの内容をエミュレーション用プロセッサ外部に
ライトさせ、このライトデータをシステム開発装置に表
示するようにしている。なお、プログラムカウンタ・コ
ンディションコードレジスタについては前記ブレーク割
込み処理時に退避されるため、この内容を表示すればよ
い。そして、エミュレーション用プログラムの最後に、
かかるエミュレーション用プログラムからユーザプログ
ラムに復帰するためのリターンフロームブレーク命令
(以下、RTB命令と記する)を実行し、前記退避した
プログラムカウンタ・コンディションコードレジスタを
回復するようにしている。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
た技術には、次のような問題のあることが本発明者らに
よって明らかとされた。すなわち、前記表示内容をイン
サーキットエミュレータ使用者(ユーザ)が検査し、次
のコマンドを入力するまで、CPUはエミュレーション
用プログラム上で待機状態とされる。この待機時間、例
えば1秒間はシングルチップマイクロコンピュータある
いはエミュレーション用プロセッサの動作基本周期、例
えば100ナノ秒間に比べて著しく長い。このため、シ
ングルチップマイクロコンピュータあるいはエミュレー
ション用プロセッサのタイマ・カウンタなどが動作して
いる場合、いわゆるタイマ割込みが要求されることがあ
る。この時、前記ブレーク割込み処理からRTB命令実
行までは、エミュレーション用プログラムの性質上、ユ
ーザの割込みは受付けられないようになっている。
【0007】しかしながら、RTB命令実行後に割込み
を受け付けるか受け付けないかはシステム設計者の自由
であり、受け付けるものとすると、割込みが発生してい
れば、この割込み処理を実行し、割込み処理プログラム
の先頭1命令を実行して、ブレーク割込み処理を実行し
た後、CPU内部のレジスタの内容を表示することにな
る。この場合には、割込み処理プログラムのデバッグは
可能であるが、主プログラムのデバッグはできない。一
方、RTB命令実行後に割込みを受付けないものとする
と、割込みが発生していてもその割込み処理は実行せ
ず、次の1命令を実行した後、ブレーク割込み処理を実
行して、CPU内部のレジスタの内容を表示することに
なる。この場合には、主プログラムのデバッグは可能で
あるが、割込み処理プログラムのデバッグはできなくな
る。このような場合、ユーザが主プログラムと割込み処
理プログラムのいずれをデバッグするかは、使用状況な
どによって異なる。また、ある時点までは主プログラム
を、そのあとは割込み処理プログラムをデバッグするよ
うな場合も考えられる。しかしながら従来のシステムで
は、これらのいずれか一方しかできないため、マイクロ
コンピュータのデバッグ効率が低下していた。
【0008】本発明の目的は、シングルステップ機能実
行中に割込みを受付けるか受付けないかをインサーキッ
トエミュレータ使用者が指定することができ、これによ
ってマイクロコンピュータのデバッグ効率を向上させる
ことができるインサーキットエミュレータを提供するこ
とにある。この発明の前記ならびにそのほかの目的と新
規な特徴については、本明細書の記述および添附図面か
ら明らかになるであろう。
【0009】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を説明すれば、下記のと
おりである。すなわち、エミュレーション用プロセッサ
において、RTB命令実行後に割込みを受付けるか受付
けないかをエミュレーション用プロセッサ外部から指定
する手段を設けるようにしたものである。また、前記指
定する手段は、システム開発装置に入力されたコマンド
または信号によって制御されるようにする。
【0010】
【作用】上記した手段によれば、インサーキットエミュ
レータ使用者が、シングルステップ機能実行中に割込み
を受付けるか受付けないかを、システム開発装置を操作
することによって指定できるようになり、これによって
マイクロコンピュータのデバッグ効率を向上させるとい
う目的が達成される。
【0011】
【実施例】図1には本発明にかかるエミュレーション用
プロセッサの一実施例を示すブロック図が示されてい
る。この実施例のエミュレーション用プロセッサ1は、
CPU11、32kバイトのROM(リードオンリメモ
リ)12、1kバイトのRAM(ランダムアクセスメモ
リ)13、タイマ14、シリアルコミュニケーションイ
ンタフェース(SCI)15、外部バスインタフェース
16、入出力ポート17および割込み制御回路18など
の機能ブロックからなるシングルチップマイクロコンピ
ュータ部10、バッファ回路やラッチ回路などからなる
入力回路21とエミュレーション用インタフェース22
を含むエミュレーション用プロセッサ専用ブロック20
とから構成され、公知の半導体製造技術によって1つの
半導体基板上に形成されている。
【0012】上記エミュレーション用プロセッサは、外
部バスインタフェース16を介してターゲットとなる応
用システムと接続され、信号の送受信を行なうととも
に、エミュレーションインタフェース22を介して図示
しないマイクロコンピュータ開発装置と接続されてい
る。上記外部バスインタフェース16には、例えばポー
トの入出力データ、タイマの入出力信号などが、また上
記エミュレーションインタフェース22には、例えばC
PUのリード動作またはライト動作を示す信号、命令フ
ェッチ動作を示す信号あるいはブレーク割込み信号など
が入出力される。この実施例のエミュレーション用プロ
セッサは、ターゲットとなるシングルチップマイクロコ
ンピュータと同一の機能ブロックを有し、特に制限はさ
れないものの、動作周波数なども同一とされている。か
かるエミュレーション用プロセッサを使用することによ
り、マイクロコンピュータ開発装置内部にTTL回路な
どによって、上記シングルチップマイクロコンピュータ
の動作を代行する論理ゲートを省くことができる。さら
に、この実施例のエミュレーション用プロセッサには、
RTB命令実行後に割込みを受け付けるか受け付けない
かを指定するための制御入力端子23が設けられてい
る。
【0013】図2には、上記エミュレーション用プロセ
ッサを用いたマイクロコンピュータ開発装置の概略ブロ
ック図が示されている。図2において、4はターゲット
となる応用システムで、この応用システムにはターゲッ
トマイクロコンピュータが搭載されるソケット41が設
けられており、このソケット41にはマイクロコンピュ
ータ開発装置3のエミュレーション用プロセッサ1から
延設されたケーブル31の先端のコネクタ部30が装着
される。また、エミュレーション用プロセッサ1は上記
エミュレーションインタフェース22を介してエミュレ
ーションバス32に接続される。上記エミュレーション
バスを介して、エミュレーション用プロセッサ1の内部
状態に応じた情報などが出力され、また、エミュレーシ
ョン用プロセッサ1に対し、エミュレーションのための
各種制御信号が入力される。
【0014】さらに、上記エミュレーションバスには、
特に制限はされないものの、応用システムまたはターゲ
ットマイクロコンピュータ内蔵のメモリを代行するため
のRAMからなるエミュレーションメモリ33と、エミ
ュレーション用プロセッサな制御状態やエミュレーショ
ンバスの状態を監視してその状態が予め設定された状態
に達したときに、上記エミュレータ専用割込みを入力し
て、エミュレーション用プロセッサによるプログラムの
実行を停止させる(ブレーク)ためのブレーク制御回路
34と、上記CPUのリード動作またはライト動作を示
す信号、命令リード動作を示す信号などに基づき、エミ
ュレーションバス32に与えられるアドレスやデータさ
らには制御情報を逐次蓄えるリアルタイムトレース回路
35などが接続される。上記エミュレーションメモリ3
3、ブレーク制御回路34、リアルタイムトレース回路
35はコントロールバス36を介してコントロールプロ
セッサ37の制御を受けるようになっている。上記コン
トロールバス36は、エミュレーション用プロセッサ制
御回路38に接続されるとともに、ホストインタフェー
ス回路39を介して、パーソナルコンピュータなどから
なるシステム開発装置5に接続される。
【0015】上記マイクロコンピュータ開発装置3に
は、システム開発装置5のキーボード等からシングルス
テップ機能実行中に割込みを受け付けるか受け付けない
かの指令が入力される。この入力に対応した信号が、上
記ホストインタフェース回路39およびコントロールバ
ス36を介して上記コントロールプロセッサ37に与え
られる。すると、コントロールプロセッサ37は上記信
号に対応したデータをコントロールバス36を介して、
上記エミュレーション用プロセッサ制御回路38に与え
る。また、エミュレーション用プロセッサ制御回路38
は上記データに基づいて、上記エミュレーション用プロ
セッサ1の制御信号入力端子23(図1参照)に“0”
レベルまたは“1”レベルの割込み受付制御信号IRC
を供給し、RTB命令実行後に割込みを受け付けるか受
け付けないかを指定する。
【0016】図3には、エミュレーション用プロセッサ
制御回路38の1実施例のブロック図が示されている。
この実施例のエミュレーション用プロセッサ制御回路3
8は、図3に示されているようにフリップフロップFF
1によって構成されている。このフリップフロップFF
1のデータ入力端子に、コントロールバス36上のデー
タ信号の0ビットCD0が入力され、また、クリア端子
CLRにはエミュレータリセット信号E−RSTが、ク
ロック端子CKにはコントロールアドレスバスを解読し
たコントロールアドレスデコード信号CADとコントロ
ールバスライト信号CBWとの論理積が入力されてい
る。上記エミュレータリセット信号E−RSTは、特に
制限はされないものの、マイクロコンピュータ開発装置
3の外部から与えられるリセット信号にしたがってハイ
レベルとされるほか、電源投入時にもハイレベルとされ
る。上記コントロールアドレスデコード信号CADは、
コントロールプロセッサ37のアドレスマップ上で上記
エミュレーション用プロセッサ制御回路38が存在する
所定のアドレスを、コントロールプロセッサ37がリー
ド・ライトした時にハイレベルとされる。そして、上記
フリップフロップFF1の出力が、割込み受付制御信号
IRCとしてエミュレーション用プロセッサ1に与えら
れる。
【0017】なお、上記フリップフロップFF1のライ
トはシングルステップ動作時にのみ可能とされるように
してもよい。すなわち、マイクロコンピュータ開発装置
3に電源を投入すると、上記フリップフロップFF1が
クリアされ、割込み受付制御信号IRCが“0”レベル
とされ、エミュレーション用プロセッサ1は、RTB命
令実行後も割込みを受け付けるものとして動作する。シ
ングルステップ機能を実行する場合に、割込みを許可し
たいときにはかかる状態でエミュレーション動作を行な
う。割込みを禁止したいときには、システム開発装置3
から所定の指示を与えて、コントロールプロセッサ37
が上記コントロールバス36を使用して上記フリップフ
ロップFF1に“1”をライトした状態で、エミュレー
ション動作を行えばよい。
【0018】システム開発装置3から与えられる所定の
指示は、入力されるべきコマンドとして割込み許可と割
込み禁止の2種類設けて行なってもよいし、シングルス
テップを指示するコマンドのあとに割込みを許可するか
禁止するかを選択する第2のコマンドを入力するもので
あってもよい。第2のコマンドを入力する方式の場合に
は、割込みを禁止した状態でシングルステップ動作で所
望の命令を実行させてから、前記第2のコマンドを入力
して、割込みを許可して割込み処理プログラムのシング
ルステップ動作を継続させるようにすることができる。
特に制限はされないものの、上記フリップフロップFF
1はTTL回路を用いて構成することができる。
【0019】図4には、上記制御回路38から上記制御
信号入力端子23に入力される割込み受付制御信号IR
Cを受ける入力回路21の具体的回路構成例が示されて
いる。上記割込み受付制御信号IRCは、インバータI
1を介して直列接続された2個のフリップフロップFF
2、FF3からなるラッチ回路LTに入力されている。
これらのフリップフロップFF2、FF3のクロックは
システムクロックφとその反転信号φ’によって動作さ
れる。特に制限はされないものの、CPU11の割込み
要求の検査はシステムクロックφが1レベルの期間に行
なわれるものとし、フリップフロップFF3の出力信号
の割込み制御回路18に到達するまでの遅延時間を考慮
して、フリップフロップFF3はシステムクロックφが
ロウレベルの期間に変化するものとした。そして、フリ
ップフロップFF3の出力が上記割込み制御回路18に
対する制御信号IMとして用いられる。
【0020】なお、上記制御信号入力端子23は、Nチ
ャネル型MOSトランジスタQ4を介して接地レベルG
NDに接続されている。トランジスタQ4はゲート電圧
が電源レベルVccとされており、常に導通状態とされ
るが、その抵抗値を比較的大きく設定してある。例え
ば、いわゆるTTLロジックの出力信号を、この専用入
力端子に入力する場合には、かかるTTLロジックのハ
イレベル出力抵抗値よりも大きくしておけばよい。これ
によって、上記制御信号IRCを使用しないインサーキ
ットエミュレータにあっては、かかる専用端子23を開
放状態としておけば、インバータI1の入力はトランジ
スタQ4によってロウレベルとされて、割込みは許可状
態とされる。
【0021】また、上記制御信号IRCを使用するイン
サーキットエミュレータにあっては、上記専用端子23
にTTLロジック等により所望の信号をあたえれば、イ
ンバータI1にはトランジスタQ4によるプルダウンレ
ベルよりもTTLロジックの出力値たるが制御信号IR
Cが優先されて入力され、制御信号IRCのレベルに応
じて割込みの許可/禁止が指定される。また、システム
クロックφに同期したフリップフロップFF2、FF3
を介することによって、割込み制御回路18やCPU1
1にシステムクロックφの基本周期より短い信号を与え
たり、しきい値レベル近傍の信号を与えることによって
割込み制御回路18またはCPU11が誤動作すること
を防ぐことができる。
【0022】図5には、上記エミュレーション用プロセ
ッサ1内の割込み制御回路18の一実施例のブロック図
が示されている。特に制限はされないものの、シングル
チップマイクロコンピュータあるいはエミュレーション
用プロセッサの外部から与えられる割込み要求信号や内
蔵の機能ブロックから与えられる割込み要求信号(ユー
ザ割込み要求信号)はこの割込み制御回路18によって
調停される。割込みにはマスク可能な割込みIRQn
(IRQ0,……)とマスク不可能な割込みNMIがあ
る。割込み制御回路18にはCPU11内の割込みマス
クビットの状態を示す信号IBが入力されており、割込
み制御回路18はこれらの信号に基づいて、CPU11
に割込みを要求するかしないかを制御する。すなわち、
割込みマスクビットIBによって割込みが禁止されてい
る場合、NMI割込み要求が存在すればCPU11に割
込みを要求し、NMI割込み要求が存在しなければ、そ
の他の割込みマスク可能な割込み要求が存在してもCP
U11には割込みを要求しない。また、割込みマスクビ
ットIBによって割込みが許可されている場合、いずれ
かの割込み要求が存在すればCPU11に割込みを要求
するものである。
【0023】なお、前記ブレーク割込みは、その性質
上、割込みマスクビットの状態によらず受け付けられ
る。CPU11は各命令の実行終了前に、割込み制御回
路18からの割込み要求信号を検査して、割込みが要求
されていれば割込み処理を実行し、割込みが要求されて
いなければ次の命令を実行することを選択する。本実施
例においては、割込み制御回路18への入力信号とし
て、前記入力回路21から与えられる制御信号IMと、
RTB命令実行を示す信号RBEXが追加されている。
マスク可能な割込み要求IRQnはオアゲートG1に入
力されて、いずれか1つの割込みが要求されていればゲ
ートG1の出力は“1”レベルとなる。割込みマスクビ
ットIBはインバータI2により反転されて上記ゲート
G1の出力とともにアンドゲートG3に入力される。こ
のため、割込みマスクビットが割込み禁止状態すなわち
IBビットが“1”レベルであればマスク可能な割込み
要求IRQnが要求されていても、ゲートG3の出力は
“0”レベルとなる。割込みマスクビットが割込み許可
状態すなわちIBビットが“0”レベルであればマスク
可能な割込み要求IRQnが要求されているかいないか
によって、ゲートG3の出力は“1”レベルまたは
“0”レベルとなる。
【0024】そして、このアンドゲートG3の出力とN
MI割込み要求信号NMIがオアゲートG4に入力され
ている。ユーザ割込み要求が存在し、そのユーザ割込み
が許可されている場合にオアゲートG4は“1”レベル
になる。制御信号IMとRTB命令の実行を示す信号R
BEXは、それぞれインバータI5、I6に入力されて
反転された後、オアゲートG7に入力される。このオア
ゲートG7と前記オアゲートG4の出力がアンドゲート
G8に入力される。これによって、RTB命令実行中で
なければ、あるいはRTB命令実行中であっても制御信
号IMが“0”レベルであれば、オアゲートG7の出力
が“1”レベルとなって、オアゲートG4の出力がアン
ドゲートG8の出力となり、ユーザ割込み要求をCPU
11に与える。
【0025】従ってRTB命令実行の次には、ユーザ割
込みが要求されていれば割込み処理を、ユーザ割込みが
要求されていなければ次の命令が実行される。しかし、
RTB命令実行中であり、制御信号IMが“1”レベル
であれば、ユーザ割込み要求の状態によらずアンドゲー
トG8の出力は“0”レベルとなり、CPU11にはユ
ーザ割込み要求が与えられないようになる。従って、R
TB命令実行の次には必ず次の命令が実行される。特に
制限はされないものの、前記アンドゲートG8の出力は
オアゲートG9を介してCPU11に与えられ、オアゲ
ートG9の他方の入力にはブレーク割込み要求信号BR
Kが入力されている。すなわち、ブレーク割込みBRK
は、割込みマスクビットIB、実行中の命令、制御信号
IRCの状態によらず、常に受け付けられる。なお、図
示しないが、割込み制御回路18はベクタアドレス発生
回路を備え,ベクタアドレス信号をCPU1に与えて、
いずれの割込みが発生しているかを知らせる。
【0026】図6には、上記エミュレーション用プロセ
ッサによるシングルステップ動作の一例のフローチャー
トが示されている。CPU11はユーザプログラムの1
命令を実行すると(ステップS1)、ブレーク割込みが
要求されているか判定し(ステップS2)、要求されて
いればCPU11はブレーク割込み処理を行なってから
(ステップS3)、エミュレーションプログラムを実行
してレジスタの内容の表示などの所定の処理を行なう
(ステップS4)。エミュレーションプログラムを終了
すると、CPU11は待機状態(システム開発装置から
のコマンド待ち)となる(ステップS5)。システム開
発装置において例えばリターンキーが操作され、所定の
コマンドがエミュレーション用プロセッサ入力されると
待機状態は解除され、RTB命令を実行する(ステップ
S6)。
【0027】それから、再びブレーク割込みが要求され
ているか判定し(ステップS7)、要求されていればス
テップS3へ戻ってブレーク割込み処理を経て、エミュ
レーションプログラムを実行する。RTB命令(ステッ
プS6)実行後、ブレーク割込み要求がなければステッ
プS8へ進む。ここで、上記割込み受付制御信号IRC
により割込みが禁止されていればステップS1へ戻って
次の1命令を実行した後、再びブレーク割込み処理を経
て、エミュレーションプログラムを実行する。割込みが
許可されていれば、ユーザ割込み要求が存在するか検査
する(ステップS9)。そして、割込み要求がなければ
次の命令を、また、ユーザ割込み要求があれば、当該ユ
ーザ割込み処理(ステップS10)を経てステップS1
へ戻り、ここで割込み処理プログラムの先頭の1命令を
実行してから、前記同様に、ブレーク割込み処理を経
て、エミュレーションプログラムを実行する。
【0028】図7は本発明をエミュレーション用プロセ
ッサに適用した場合の第2の実施例を示すブロック図で
ある。この実施例のエミュレーション用プロセッサ1
は、入力回路21の代わりにエミュレーション用プロセ
ッサ制御回路38を内部に有している。このエミュレー
ション用プロセッサ制御回路38はCPU11によって
書き込みが可能とされる。エミュレーション用プログラ
ムは、RTB命令を実行する以前に、割込み処理の実行
を許可するか禁止するかに応じて、所定の値を上記エミ
ュレーション用プロセッサ制御回路38に書き込むよう
に構成される。
【0029】図8に上記エミュレーション用プロセッサ
制御回路38の構成例が示されている。第1実施例にお
けるエミュレーション用プロセッサ制御回路38との違
いは、フリップフロップFF1のクロック端子CKに入
力されるエミュレーション用プロセッサ制御回路38の
書込み信号が、CPU11のライト信号WEとブレーク
アクノリッジ信号ACKと選択アドレスのデコード信号
DECとの論理和をとるアンドゲートG10を介して与
えられている点のみである。なお、クリア信号はエミュ
レーション用プロセッサ内部のリセット信号、データバ
スはエミュレーション用プロセッサ内部のデータバスD
0とされている。かかるブレークアクノリッジ信号AC
KはCPU11がエミュレーションプログラム実行中で
あることを示し、ブレーク割込み処理を実行するとハイ
レベルとなり、RTB命令を実行するとロウレベルとな
る。これによってエミュレーション用プロセッサ制御回
路38はCPU11がエミュレーションプログラムを実
行しているときのみ書き込み可能とされ、ユーザプログ
ラム実行中には書き込みが禁止される。その結果、開発
対象のユーザプログラムの不具合によって、誤ってエミ
ュレーション用プロセッサ制御回路38を書き換えて、
エミュレーション用プロセッサ制御回路が誤動作するこ
とを防止することができる。本実施例においては、制御
回路38がCPU11の命令実行によって変化するた
め、図1の入力回路21を除くことができる。
【0030】また、CPU11がブレーク割込み処理を
行なう命令を有する場合、この命令によってもブレーク
アクノリッジ信号がハイレベルとなるものであってもよ
い。このようにエミュレーション用プロセッサ制御回路
38をエミュレーション用プロセッサ1内部に有するこ
とにより、エミュレーション用プロセッサのインタフェ
ース信号の数を削減できる。上記実施例のエミュレーシ
ョン用プロセッサは、各々のシングルチップマイクロコ
ンピュータにのみ対応可能なエミュレーション用プロセ
ッサに比べて、そのハードウェア的な規模が増大するも
のの、エミュレーション用プロセッサはもともと生産数
が、シングルチップマイクロコンピュータなどに比べて
著しく少ないので問題は小さい。
【0031】上記実施例では、いずれもシステム開発装
置5からの指令によってRTB命令実行後に割込みを受
付けるか受付けないかを外部から指定できるエミュレー
ション用プロセッサ制御回路38を設け、ハードウェア
で実現した場合について説明したが、2種類のRTB命
令を用意することによりソフトウェアで実現することも
できる。すなわち、エミュレーションプログラムからの
復帰の際に割込みの有無をチェックし、割込みが存在す
れば割込み処理を実行し、なければ復帰先の命令を実行
する割込みチェック有りRTB命令(図9参照)と、割
込みの有無にかかわらず復帰先の命令を実行する割込み
チェックなしRTB命令(図10参照)とを設けるとい
うものである。これら、2つのRTB命令は、図5のI
M信号をCPUが出力するものとし、“0”レベルを出
力するか、“1”レベルを出力するかのみを相違させる
ことにより実現できる。エミュレーションプログラムか
らの復帰の際に、これら2つのRTB命令のいずれを実
行して復帰するかを制御すればよい。例えば図2いおい
て、コントロールプロセッサ37が、エミュレーション
用プロセッサ1が実行すべきエミュレーションメモリ3
3へ前記2つのRTB命令のいずれかをライトすればよ
い。
【0032】以上説明したように上記実施例は、エミュ
レーション用プロセッサにおいて、RTB命令実行後に
割込みを受付けるか受付けないかをエミュレーション用
プロセッサ外部から指定する手段を設けるようにしたの
で、インサーキットエミュレータ使用者が、シングルス
テップ機能実行中に割込みを受付けるか受付けないか
を、システム開発装置を操作することによって指定でき
るようになり、これによってマイクロコンピュータのデ
バッグ効率を向上させることができるという効果があ
る。
【0033】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。例えば、割
込みを禁止する命令の種類あるいは割込み制御の方法な
どについては何ら限定されない。割込みを許可してシン
グルステップ動作を行うか割込みを禁止してシングルス
テップ動作を行うかの指定は、システム開発装置によら
ず、たとえば、マイクロコンピュータ開発装置のスイッ
チ回路などから直接エミュレーション用プロセッサ、あ
るいはエミュレーション用プロセッサ制御回路に与えら
れるようにしてもよい。入力回路21におけるラッチ回
路は制御信号入力が安定的に与えられる場合などは削除
して論理ゲート数を削減することもできる。
【0034】以上の説明では主として本発明者等によっ
てなされた発明をその背景となった利用分野であるエミ
ュレーション用プロセッサに適用した場合について説明
したが、それに限定されるものではなく、その他の半導
体集積回路装置に適用可能であり、かかる半導体集積回
路装置の動作を外部から調べて、外部からその動作仕様
を変更することが必要な場合などに利用することができ
る。
【0035】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
のとおりである。すなわち、外部からの指定によりその
動作仕様を変更することが可能な半導体集積回路装置を
実現することができる。また、エミュレーション用プロ
セッサに適用した場合、これを用いたマイクロコンピュ
ータ開発装置のデバッグ効率を向上させることができ
る。
【図面の簡単な説明】
【図1】本発明をエミュレーション用プロセッサに適用
した場合の一実施例を示すブロック図である。
【図2】上記エミュレーション用プロセッサを用いたマ
イクロコンピュータ開発装置の概略ブロック図である。
【図3】上記エミュレーション用プロセッサ制御回路3
8の一例を示すブロック図である。
【図4】割込み受付制御信号IRCを受ける入力回路2
1の具体的回路構成例を示すブロック図である。
【図5】上記エミュレーション用プロセッサ内の割込み
制御回路18の一実施例のブロック図である。
【図6】上記エミュレーション用プロセッサによるシン
グルステップ動作の一例を示すフローチャートである。
【図7】本発明をエミュレーション用プロセッサに適用
した場合の第2の実施例を示すブロック図である。
【図8】第2の実施例におけるエミュレーション用プロ
セッサ制御回路38の構成例を示すブロック図である。
【図9】第3の実施例における割込みチェック有りRT
B命令の処理手順示すをフローチャートである。
【図10】第3の実施例における割込みチェックなしR
TB命令の処理手順示すをフローチャートである。
【符号の説明】
1 エミュレーション用プロセッサ 3 マイクロコンピュータ開発装置 4 応用システム 5 システム開発装置 31 インタフェースケーブル 32 エミュレーションバス 36 コントロールバス 38 エミュレーション用プロセッサ制御回路

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 主プログラムと、割り込み処理プログラ
    ムと、該主プログラム又は該割り込み処理プログラムの
    デバッグのためのエミュレーション用プログラムとを実
    行するデータ処理装置であって、該エミュレーション用
    プログラムを実行後、上記主プログラムに復帰するか、
    上記割り込み処理プログラムに復帰するかを選択するこ
    とができることを特徴とするデータ処理装置。
  2. 【請求項2】 上記エミュレーション用プログラムから
    上記主プログラム又は割り込み処理プログラムへの復帰
    命令を備え、該復帰命令を実行後に割り込みを受付ける
    か受付けないか指定する指定手段と、該指定手段の内容
    を判定する手段とを有することを特徴とする請求項1に
    記載のデータ処理装置。
  3. 【請求項3】 上記指定手段はラッチ回路により構成さ
    れることを特徴とする請求項2に記載のデータ処理装
    置。
  4. 【請求項4】 上記主プログラムに復帰する復帰命令
    と、上記割り込み処理プログラムに復帰する復帰命令と
    を有することを特徴とする請求項1に記載のデータ処理
    装置。
JP2000400689A 2000-12-28 2000-12-28 データ処理装置 Pending JP2001222443A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000400689A JP2001222443A (ja) 2000-12-28 2000-12-28 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000400689A JP2001222443A (ja) 2000-12-28 2000-12-28 データ処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP30708491A Division JP3205841B2 (ja) 1991-10-25 1991-10-25 データ処理装置

Publications (1)

Publication Number Publication Date
JP2001222443A true JP2001222443A (ja) 2001-08-17

Family

ID=18865232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000400689A Pending JP2001222443A (ja) 2000-12-28 2000-12-28 データ処理装置

Country Status (1)

Country Link
JP (1) JP2001222443A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988669B1 (ko) * 2006-11-06 2010-10-18 산요 세미컨덕터 컴퍼니 리미티드 프로그램 처리 장치 및 프로그램 처리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988669B1 (ko) * 2006-11-06 2010-10-18 산요 세미컨덕터 컴퍼니 리미티드 프로그램 처리 장치 및 프로그램 처리 방법

Similar Documents

Publication Publication Date Title
US6311292B1 (en) Circuit, architecture and method for analyzing the operation of a digital processing system
US5132971A (en) In-circuit emulator
US5325512A (en) Circuit emulator
US6378064B1 (en) Microcomputer
JPH011039A (ja) インサーキット・エミュレータ
JPH08202563A (ja) コンピュータシステム
JP2591181B2 (ja) マイクロコンピュータ
JP2513417B2 (ja) 情報処理装置
US6877113B2 (en) Break determining circuit for a debugging support unit in a semiconductor integrated circuit
JPS62179033A (ja) 集積回路マイクロプロセツサ
JP3205841B2 (ja) データ処理装置
JP2001222443A (ja) データ処理装置
US20020188813A1 (en) On-chip hardware breakpoint generator with comprehensive memory operation detection
JP2003122594A (ja) 半導体装置および評価装置
JPH08171504A (ja) エミュレ−ション装置
JPH02186448A (ja) デバッグ環境を備えた集積回路
JP2001084161A (ja) データ処理装置
JPS6295644A (ja) マイクロプロセッサ用プログラムデバッグ装置
JPH06324956A (ja) データ処理装置
JPS59202546A (ja) デバツグ装置
JP2004185356A (ja) デバッグ装置
JP2002268916A (ja) プログラム検証方法および装置
JP2001159987A (ja) エミュレーション回路
JP2001273167A (ja) ハードウエアブレーク回路
JPH04367902A (ja) プログラマブルコントローラ