JP2001084158A - マイクロプロセッサ及びエミュレーションシステム - Google Patents

マイクロプロセッサ及びエミュレーションシステム

Info

Publication number
JP2001084158A
JP2001084158A JP25877399A JP25877399A JP2001084158A JP 2001084158 A JP2001084158 A JP 2001084158A JP 25877399 A JP25877399 A JP 25877399A JP 25877399 A JP25877399 A JP 25877399A JP 2001084158 A JP2001084158 A JP 2001084158A
Authority
JP
Japan
Prior art keywords
emulation
central processing
processing unit
instruction
break
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.)
Granted
Application number
JP25877399A
Other languages
English (en)
Other versions
JP4084912B2 (ja
Inventor
Tomoyoshi Ujii
呂圭 氏井
Giichi Aoto
義一 青砥
Hideya Fujita
秀哉 藤田
Hiroyuki Sasaki
宏幸 佐々木
Shigesumi Matsui
重純 松井
Tadashi Hashimoto
忠士 橋本
Hiroshi Kaneko
広 金子
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 JP25877399A priority Critical patent/JP4084912B2/ja
Publication of JP2001084158A publication Critical patent/JP2001084158A/ja
Application granted granted Critical
Publication of JP4084912B2 publication Critical patent/JP4084912B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 ユーザシステムの開発効率の向上を図るため
の技術を提供することにある。 【解決手段】 アンスタック後に、中央処理装置(21
3)を命令待ち状態に遷移させるためのフォルト信号を
アサートし、上記中央処理装置の命令待ち状態で、その
命令待ち状態の解除要求信号がアサートされることによ
り、上記中央処理装置の命令待ち状態を解除する制御手
段(216D)とを含んでマイクロプロセッサを構成す
る。制御手段により、フォルト信号がアサートされ、上
記中央処理装置の命令待ち状態で、その命令待ち状態の
解除要求信号がアサートされることにより、上記中央処
理装置の命令待ち状態を解除する。このことが、異なる
マイクロプロセッサを同期化させ、エミューションの並
列化によりユーザシステムの開発効率の向上を達成す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータ、さらにはそれにおけるシステムデバッグのための
エミュレーションシステムに関する。
【0002】
【従来の技術】マイクロプロセッサ(マイクロコンピュ
ータ)応用機器の開発において、その応用システムのデ
バッグやそのシステムの詳細な評価を行うため、インサ
ーキットエミュレータが使用されている。インサーキッ
トエミュレータは、ソフトウェア開発用の親計算機と、
開発中のターゲットシステムとの間に接続され、そのタ
ーゲットシステムに含まれるマイクロプロセッサ(ター
ゲットプロセッサ)の機能を代行する一方でデバッガと
しての機能をもち、詳細なシステムデバッグを支援す
る。かかるエミュレータは、その本体から延長されたケ
ーブルの先端が、ターゲットプロセッサ用ソケットなど
の接栓を介してターゲットシステムに結合可能とされ、
さらに、エミュレーション実行中に各種データやステー
タス信号などを実時間でサンプリングし、それをトレー
スメモリ部などに格納する実時間トレース機能やエミュ
レーション動作を実質的に停止させるブレーク機能など
の各種デバッグ機能を備える。
【0003】また、実チップでありながら、ソフトウェ
アの実行状態をリアルタイムにトレースするための機能
や、デバッグのために内蔵RAM(ランダム・アクセス
・メモリ)に対するデータのリード/ライトを可能とす
るオンチップデバッグ機能を備えたマイクロコンピュー
タが提供されている。ここで、実チップとは、ユーザシ
ステムに実際に搭載されるCPUを指し、エミュレーシ
ョンにおける必要情報を外部出力可能に構成されたエミ
ュレーション用チップと区別される。
【0004】尚、エミュレータの動作について記載され
た文献の例としては、1989年6月20日に電波新聞
社から発行された「マイコン開発のすべて(第78頁か
ら第95頁)」がある。
【0005】
【発明が解決しようとする課題】ユーザシステムによっ
ては、処理能力の向上を図るため、複数のCPU(中央
処理装置)が搭載されることがある。従来のエミュレー
ションにおいては、基本的に一つのCPU毎に1台のエ
ミュレータが必要とされているため、例えば2個のCP
Uが搭載されるユーザシステムにおいては、基本的には
2台のエミュレータが必要とされる。
【0006】しかしながら、2個のCPUが搭載される
ユーザシステムに、2台のエミュレータを繋いだとして
も、2個のCPU相互間の同期がとれていないために、
同時にエミュレーション実行することはできない。つま
り、ユーザシステムに2台のエミュレータを繋いだとし
ても、一方のエミュレーション中は、他方のエミュレー
タにおいてターゲットプログラムの実行が停止される
が、あるいは、一方のエミュレーション中は、他方のC
PUソケットには実チップを装着するようにしていた。
【0007】上記のように2個のCPUが搭載されるユ
ーザシステムのエミュレーションにおいては、例え2台
のエミュレータを繋いだとしても、別々にエミュレーシ
ョンしなければならないため、ユーザシステムの開発効
率の向上が妨げられた。
【0008】本発明の目的は、ユーザシステムの開発効
率の向上を図るための技術を提供することにある。
【0009】本発明の別の目的は、複数のCPUを有す
るユーザシステムのエミュレーションにおいてターゲッ
トプログラムの同時実行を可能とするための技術を提供
することにある。
【0010】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0011】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0012】すなわち、ユーザプログラム実行中にブレ
ーク条件が成立することにより、ブレークモードに遷移
するためのスタック処理を行い、ブレークモードにおい
てブレークモードから復帰するための復帰命令を実行す
ることでユーザモードへ遷移するためのアンスタック処
理を行う中央処理装置と、上記アンスタック後に、上記
中央処理装置を命令待ち状態に遷移させるためのフォル
ト信号をアサートし、上記中央処理装置の命令待ち状態
で、その命令待ち状態の解除要求信号がアサートされる
ことにより、上記中央処理装置の命令待ち状態を解除す
る制御手段とを含んでマイクロプロセッサを構成する。
【0013】上記の手段によれば、制御手段は、フォル
ト信号をアサートし、上記中央処理装置の命令待ち状態
で、その命令待ち状態の解除要求信号がアサートされる
ことにより、上記中央処理装置の命令待ち状態を解除す
る。このことが、異なるマイクロプロセッサを同期化さ
せ、エミューションの並列化によりユーザシステムの開
発効率の向上を達成する。
【0014】また、ユーザプログラム実行中にブレーク
条件が成立することにより、ブレークモードに遷移する
ためのスタック処理を行い、ブレークモードにおいてブ
レークモードから復帰するための復帰命令を実行するこ
とでユーザモードへ遷移するためのアンスタック処理を
行う中央処理装置と、上下関係の判別フラグを記憶する
ための判別フラグ記憶手段と、上記判別フラグ記憶手段
に記憶されている判別フラグの状態が上位を示す場合、
マイクロプロセッサの外部に出力される命令待ち状態の
解除要求信号を上記アンスタック処理後にアサートする
第1制御手段と、上記判別フラグ記憶手段に記憶されて
いる判別フラグの状態が下位を示す場合、上記アンスタ
ック後に、上記中央処理装置を命令待ち状態に遷移させ
るためのフォルト信号をアサートし、上記中央処理装置
の命令待ち状態で、その解除要求信号がアサートされる
ことにより、上記中央処理装置の命令待ち状態を解除す
る第2制御手段とを含んでマイクロプロセッサを構成す
る。
【0015】上記の手段によれば、第2制御手段は、フ
ォルト信号をアサートし、上記中央処理装置の命令待ち
状態で、その命令待ち状態の解除要求信号をアサートす
ることにより、上記中央処理装置の命令待ち状態を解除
する。このことが、異なるマイクロプロセッサを同期化
させ、エミューションの並列化によりユーザシステムの
開発効率の向上を達成する。
【0016】このとき、外部からのバスリクエスト又は
バス開放要求に応じて、上記中央処理装置を命令実行待
ち状態に遷移させるためのフォルト信号をアサートする
バスコントローラと、上記バスコントローラからのフォ
ルト信号と上記フォルト制御回路からのフォルト信号と
の論理和を得てそれを上記中央処理装置に供給するゲー
ト回路とを設けることができる。
【0017】そしてそのようなマイクロプロセッサと、
エミュレータ本体とを含んでエミュレーションシステム
を構成する。
【0018】
【発明の実施の形態】図5には本発明にかかるエミュレ
ーションシステムの全体的な構成例が示される。
【0019】図5に示されるようにこのエミュレーショ
ンシステムは、特に制限されないが、ユーザシステム5
1に搭載された第1エミュレーションプロセッサ511
及び第2エミュレーションプロセッサ512、エミュー
レータ本体52、及び制御コンピュータ53とを含む。
【0020】ユーザシステム51は、2個のCPUソケ
ットを有し、それぞれCPUが装着される。第1エミュ
レーションプロセッサ511及び第2エミュレーション
プロセッサ512は、基本的には、当該ユーザシステム
51に本来搭載される実チップと同等の機能を有すると
ともに、内部バス情報の外部出力が可能に構成されたエ
ミュレーション用チップとされる。
【0021】第1エミュレーションプロセッサ511及
び第2エミュレーションプロセッサ512とも、当該チ
ップをシステムボードに搭載した状態でのデバッグを可
能とするオンチップデバッグ機能を有する。特に、第1
エミュレーションプロセッサ511は、その近傍に設け
られたコネクタ513及びそれに結合されたケーブル5
24を介してエミュレータ本体52に接続されることに
より、上記オンチップデバッグ機能によるデバッグが行
われるようになっている。また、第2エミュレーション
プロセッサ512の外部端子はユーザシステム51のC
PUソケットを介してユーザシステムに結合されるとと
もに、ケーブル525を介してエミュレータ本体52に
結合される。これにより、第2エミュレーションプロセ
ッサ512のエミュレーション情報をエミュレータ本体
52において収集することができる。制御コンピュータ
53は、特に制限されないが、パーソナルコンピュータ
とされ、ケーブル516を介してエミュレータ本体52
に結合されることにより、このエミュレータ本体52と
の間で、エミュレーションに関する各種制御情報や収集
データのやり取りが可能とされる。
【0022】図1には、上記エミュレータ本体52の構
成例が示される。
【0023】図1に示されるように、このエミュレータ
本体52は、特に制限されないが、互いに異なるエミュ
レーション機能として、インサーキットエミュレーショ
ン(ICE)機能と、オンチップデバッグ機能とを有す
る。ICE機能はICE機能ブロックによって実現され
る。このICE機能ブロックは、コントロールCPU1
1、ブレーク回路12、トレース回路13、モニタ回路
14、ファームRAM(ランダム・アクセス・メモリ)
15、パフォーマンス回路16とを含む。そして、オン
チップデバッグ機能は、コントロールCPU11やオン
チップコントローラ17によって実現される。
【0024】コントロールCPU11は、コントロール
バス23を介してブレーク回路12、トレース回路1
3、モニタ回路14、ファームRAM15、及びパフォ
ーマンス回路16、及びオンチップコントローラ17に
結合され、それらに対して各種情報のやり取りが可能と
される。また、第2エミュレーションプロセッサ512
は、エミュレーションバス24を介してブレーク回路1
2、トレース回路13、モニタ回路14、ファームRA
M15、及びパフォーマンス回路16に結合され、第2
エミュレーションプロセッサ512のエミュレーション
動作における各種情報の収集等が可能とされる。オンチ
ップコントローラ17は、信号線25を介して第1エミ
ュレーションプロセッサ511に結合され、後述する所
定の通信プロトコルに従って各種情報のやり取りが可能
とされる。
【0025】ブレーク回路12は、エミュレーションバ
ス24の状態を監視してその状態が予め設定されている
状態に到達したときにエミュレーション動作をブレーク
する。トレース回路13は、エミュレーションバス24
に与えられるデータやアドレスさらには制御情報を逐次
トレースして蓄える。モニタ回路14は、制御コンピュ
ータ53からインタフェース21を介してエミュレーシ
ョンバス24をモニタを可能とするために設けられてい
る。ファームRAM15は、第2エミュレーションプロ
セッサ512で実行されるプログラムを格納するために
設けられる。パフォーマンス回路16は、上記トレース
情報に基づいて第2エミュレーションプロセッサ512
の性能測定、例えば実行時間の測定などを行うために設
けられる。
【0026】オンチップコントローラ17は、コントロ
ールCPU11の制御下で、第1エミュレーションプロ
セッサ511のオンチップデバッグを可能とするブロッ
クであり、次のように構成される。
【0027】図2には上記オンチップコントローラ17
の構成例が示される。
【0028】図2に示されるように、上記オンチップコ
ントローラ17は、JTAGにおける各種信号を出力す
るためのJTAGコントローラ170、バスコントロー
ラ176、及びクロック発生回路177を有する。上記
JTAGコントローラ170は、JTAGにおける各種
信号を出力するためのバッファ171〜174及びレジ
スタ175を有する。クロック発生回路177は、基本
周波数のクロック信号を発生させるための発振器と、発
生されたクロックを適宜に分周することにより、元の周
波数とは異なる周波数のクロック信号を生成する分周回
路を含む。このクロック発生回路177から出力された
クロック信号はバッファ174を介することによりTC
Kとして第1エミュレーションプロセッサ511に伝達
される。出力データTDoがバッファ171を介してバ
スコントローラ176に伝達され、また、テストロジッ
クに対して命令やデータをシリアル入力する信号TD
i、テスト動作を制御する信号TMS、テストロジック
に供給されるクロック信号TCK、コントローラを初期
化するためのリセット信号TRSTがそれぞれバッファ
172,173、レジスタ175を介して出力される。
バスコントローラ176は、上記バッファ171,17
2,173、及びレジスタ175と、コントロールバス
23との間での信号のやり取りを可能にする。
【0029】特に制限されないが、第1エミュレーショ
ンプロセッサ511と第2エミュレーションプロセッサ
512とは互いに同一構成とされる。
【0030】図3には第1エミュレーションプロセッサ
511(512)の構成例が示される。
【0031】図3に示されるように、この第1エミュレ
ーションプロセッサ511(512)は、CPU21
3、RAM212、シリアルデバッグインタフェース2
11、周辺モジュール215、及びエミュレーションバ
スコントローラ216を含む。
【0032】CPU213により所定のプログラムが実
行されるとき、RAM212は、その演算処理の作業領
域として機能される。シリアルデバッグインタフェース
211は、エミュレータ本体52におけるオンチップコ
ントローラ17に結合されることによって、シリアルデ
ータのやり取りを可能とする。
【0033】バスコントローラ214が設けられ、CP
U213と周辺モジュール215との間のウェイト制御
や、CPU213と外部モジュールとの間のウェイト制
御が行われる。特に制限されないが、上記周辺モジュー
ル215には、外部装置との間のシリアル通信を可能と
するシリアルコミュニケーションインタフェースや、時
間測定のためのタイマー、CPU213の介在なしにデ
バイス間のデータ転送を可能にするダイレクトメモリア
クセスコントローラなどが含まれる。
【0034】上記シリアルデバッグインタフェース21
1Dは、通信用モジュール211A、ファームRAM2
11B、ブレーク回路211C、及びトレースバッファ
211Dを含む。通信モジュール211Aは、外部装置
との間でオンチップデバッグのための通信を行う。ファ
ームRAM211Bには、CPU213で実行される各
種プログラムが保持される。ブレーク回路211Cは、
予め設定されたブレーク条件が成立したか否かを判別す
る。トレースバッファ211Dは、CPU213でのプ
ログラム実行状態をトレースする。
【0035】また、エミュレーションコントローラ21
6は、内部バス218とエミュレーションバス24とに
結合され、エミュレーションに関する各種制御を行う。
特に制限されないが、エミュレーションコントローラ2
16は、上位/下位レジスタ216A、ブレークスタッ
クレジスタ216B、ブレーク制御回路216C、及び
フォルト制御回路216Dを含む。上位/下位レジスタ
216Aは、それが含まれるエミュレーションプロセッ
サが他のエミュレーションプロセッサとの関係で上位で
あるのか下位であるのかを判別するためのフラグ情報が
保持される。特に制限されないが、図1においては、エ
ミュレーションバス24に結合されるエミュレーション
プロセッサ511が上位とされ、オンチップコントロー
ラ17に結合されるエミュレーションプロセッサ512
が下位とされる。上位と下位との違いは、ブレークモー
ドからユーザモードへの復帰命令の実行によるアンスタ
ック完了後の状態において大きく相違する。これについ
ては後に詳述する。
【0036】ブレークスタックレジスタ216Bは、ブ
レーク条件が成立してCPU213の状態がユーザモー
ドからブレークモードに移行する際に、そのときのレジ
スタ(EXR,CCR)やプログラムカウンタ(PC)
等の値を保持する。
【0037】ブレーク制御回路216Cは、ブレーク制
御信号の入出力制御を行う。ブレーク制御信号には、ブ
レーク割り込み要求信号、ブレークアクノリッジ信号な
どがある。ブレーク割り込みはローアクティブとされ、
それがアクティブにされると、ブレーク制御回路216
CによってCPU213へのブレーク割り込みが行われ
る。このブレーク割り込みにより、ブレーク処理が行わ
れ、そのときのレジスタ(EXR,CCR)やプログラ
ムカウンタ(PC)等の値がブレークスタックレジスタ
216Bに保持される。ブレーク割り込みによりCPU
213がブレークモードに移行すると、ブレーク制御回
路216Cによりブレークアクノリッジ信号がローレベ
ルにされることで、ブレークモードになったことが示さ
れる。ブレークアクノリッジ信号はブレークモード期間
中ローレベルであり、ブレークからの復帰(RTB)命
令のスタック終了後にハイレベルにされる。つまり、ブ
レークモードは、専用の復帰(RTB)命令を実行する
ことにより解除され、それによりブレークモードからユ
ーザモードに遷移される。
【0038】また、バスコントローラ214から第1フ
ォルト信号FLT1が出力され、エミュレーションコン
トローラ216からは第2フォルト信号FLT2が出力
される。この第1フォルト信号FLT1と第2フォルト
信号FLT2とのオア論理がオアゲート217で得ら
れ、そのオア論理がCPU213に伝達されるようにな
っている。
【0039】上記第1フォルト信号FLT1は、上記バ
スコントローラ214に対して、マイクロプロセッサの
外部からバスリクエストあるいは他のバスマスタからの
バス解放要求があり、バス権調停の結果、バス権を解放
すべき場合には、バスコントローラ214によってハイ
レベルにアサートされる。第1フォルト信号FLT1が
ハイレベルにアサートされることにより、CPU213
は、第1フォルトFLT1がハイレベルにアサートされ
た場合に、内部状態(プログラムカウンタ等の値)を保
持したまま、命令の実行が停止される(フォルト状
態)。これによりバスがCPU213から開放される。
【0040】また、上記第2フォルト信号FLT2は、
上位/下位レジスタ216のフラグ状態に応じてフォル
ト制御回路216Dによって制御される。つまり、上位
/下位レジスタ216のフラグ状態がローレベルとさ
れ、当該エミュレーションプロセッサが下位とされる場
合には、ブレークモードからの復帰命令がCPU213
で実行された後にフォルト制御回路216Dによって第
2フォルト信号FLT2がハイレベルにアサートされ
る。これにより、CPU213においては、第1フォル
トFLT1がハイレベルにアサートされた場合と同様
に、内部状態(プログラムカウンタ等の値)を保持した
まま、命令の実行が停止される(フォルト状態)。この
フォルト状態は、エミュレーションコントローラ216
の外部から与えられるフォルト解除要求信号がローレベ
ルにアサートされることにより、第2フォルト信号FL
T2がローレベルにネゲートされまで維持される。つま
り、エミュレーションコントローラ216の外部から与
えられたフォルト解除要求信号がローレベルにアサート
されると、フォルト制御回路216Dは、第2フォルト
信号FLT2をローレベルにネゲートする。これによ
り、CPU213のフォルト状態が解除される。フォル
ト制御回路216Dにおけるこのような制御機能が、本
発明における第2制御手段に対応する。
【0041】それに対して、上位/下位レジスタ216
Aのフラグ状態がハイレベルとされ、当該エミュレーシ
ョンプロセッサが上位とされる場合には、フォルト制御
回路216Dは、第2フォルト信号FLT2をアサート
すること無しに、外部に対して別のCPUに対するフォ
ルト解除要求信号をアサートする。フォルト制御回路2
16Dにおけるこの制御機能が、本発明における第1制
御手段に対応する。
【0042】図4には通信用モジュール211Aの構成
例が示される。
【0043】図4に示されるように、通信用モジュール
211Aは、JTAG対応のTAPコントローラ211
A−1、入力レジスタ211A−2、及び出力レジスタ
211A−3を含んで成る。TAPコントローラ211
A−1には、テストロジックに供給されるクロック信号
TCK、コントローラを初期化するためのリセット信号
TRST、及びテスト動作を制御する信号TMSが入力
される。TAPコントローラ211−A1は、入力され
る命令の解析及びそれに基づく入出力制御を行う。入力
レジスタ211A−2及び出力レジスタ211A−3
は、特に制限されないが、32ビット構成のシフトレジ
スタとされ、それぞれシリアル形式で取り込まれた信号
TDi,TDoをシフトする。
【0044】次に、ブレークモードからユーザモードへ
の復帰について詳述する。
【0045】図6には、第1エミュレーションプロセッ
サ511、及び第2エミュレーションプロセッサ512
において、ブレークモードからユーザモードへの復帰ま
での手順が示される。また、図7にはその場合の主要部
の動作タイミングが示される。
【0046】第1エミュレーションプロセッサ511は
下位レベルのプロセッサ、第2エミュレーションプロセ
ッサ512は上位レベルのプロセッサとされる。
【0047】第1エミュレーションプロセッサ511に
おいて、ファームRAM211Bに保持されているプロ
グラムが実行されている期間において、ブレークモード
からの復帰(RTB)命令が実行されることにより、プ
ログラムカウンタ(PC)などのアンスタックが行われ
る(S711,S721)。このアンスタックにおいて
上位/下位レジスタ216のフラグ状態がチェックされ
る。第1エミュレーションプロセッサ511は下位レベ
ルのプロセッサとされるため、上位/下位レジスタ21
6のフラグ状態はローレベルとされている。これによ
り、第2フォルト信号FLT2がハイレベルにアサート
され、第1エミュレーションプロセッサ511における
CPU213はフォルト(次命令待ち)状態とされる。
つまり、上記ステップS712のプログラムカウンタ
(PC)などのアンスタックが行われにもかかわらず、
ユーザモードにおける最初の命令の実行待ち状態とされ
る。この状態は、上位レベルのプロセッサである第2エ
ミュレーションプロセッサ512からフォルト解除要求
がなされるまで続く。
【0048】一方、第2エミュレーションプロセッサ5
12において、ファームRAM15(図1参照)に保持
されているプログラムが実行されている期間において、
ブレークモードからの復帰(RTB)命令が実行される
ことにより、プログラムカウンタ(PC)などのアンス
タックが行われる(S721,S722)。このアンス
タックにおいて上位/下位レジスタ216のフラグ状態
がチェックされる。第2エミュレーションプロセッサ5
12は上位レベルのプロセッサとされるため、上位/下
位レジスタ216のフラグ状態はハイレベルとされてい
る。これにより、エミュレーションコントローラ216
によってフォルト解除要求信号がローレベルにアサート
されることで、第1エミュレーションプロセッサ511
のフォルト状態の解除要求がなされる(S723)。こ
の解除要求後、第2エミュレーションプロセッサ512
はユーザプログラムの実行に遷移する。
【0049】ここで、上記ローレベルのフォルト解除要
求信号が第1エミュレーションプロセッサ511に伝達
されると、第1エミュレーションプロセッサ511で
は、エミュレーションコントローラ216内のフォルト
制御回路216Dにより第2フォルト信号FLT2がロ
ーレベルにネゲートされる。これによりフォルト状態が
解除され、CPU213によりユーザプログラムの実行
が開始される。
【0050】上記の例によれば以下の作用効果を得るこ
とができる。
【0051】(1)下位レベルである第1エミュレーシ
ョンプロセッサ511がブレークモードからの復帰(R
TB)命令を実行した後にフォルト状態になり、上位レ
ベルである第2エミュレーションプロセッサ512から
のフォルト解除要求(S723)がなされることで、第
1エミュレーションプロセッサ511のフォルト状態が
解除されることにより、第1エミュレーションプロセッ
サ511と第2エミュレーションプロセッサ512とは
互いに同期される。つまり、ブレークモードにおいて非
同期処理が行われていても、ブレークモードからの復帰
後のユーザプログラムの実行開始時点で第1エミュレー
ションプロセッサ511と第2エミュレーションプロセ
ッサ512とは同期処理が行われる。このため、第1エ
ミュレーションプロセッサ511と第2エミュレーショ
ンプロセッサ512とを同時に実行してエミュレーショ
ンすることができるので、ユーザプログラムの開発効率
の向上を図ることができる。
【0052】(2)エミュレータ本体52は、一つでよ
く、ICE用エミュレータ、及びオンチップデバッグ用
エミュレータとして別個に用意する必要が無い。
【0053】別の構成例について説明する。
【0054】図8に示されるように、オンチップデバッ
グ用エミュレータ本体85と、エミュレータ本体86と
を別々に構成しても良い。オンチップデバッグ用エミュ
レータ本体85は、基本的には、図1におけるオンチッ
プコントローラ17、コントロールCPU11、及びイ
ンタフェース21等が含まれるが、ブレーク回路12、
トレース回路13、モニタ回路14、ファームRAM1
5、及びパフォーマンス回路16などのICE機能実現
ブロックは含まれない。エミュレータ本体86には、図
1におけるブレーク回路12、トレース回路13、モニ
タ回路14、ファームRAM15、パフォーマンス回路
16、コントロールCPU11、及びインタフェース2
1などのICE機能実現ブロックが含まれるが、オンチ
ップコントローラ17は含まれない。下位マイクロプロ
セッサ側エミュレータ85には制御コンピュータ81が
接続され、上位マイクロプロセッサ側エミュレータ86
には制御コンピュータ82が接続される。
【0055】また、図9に示されるように、二つのマイ
クロプロセッサ511,512ともエミュレーションバ
スを介してエミュレーションを行うようにしても良い。
この場合、エミュレータ本体85,86は、それぞれ図
1におけるブレーク回路12、トレース回路13、モニ
タ回路14、ファームRAM15、パフォーマンス回路
16、コントロールCPU11、及びインタフェース2
1などのICE機能実現ブロックが含まれる。
【0056】図10に示されるように、一つのマイクロ
プロセッサパッケージの中に、図3に示されるマイクロ
プロセッサが二つ設けられる場合がある。かかる場合に
も、本発明を適用することができる。この場合、エミュ
レータ本体52は、二つのマイクロプロセッサに対応し
てICE機能実現ブロックが設けられる。
【0057】さらに、図11に示されるように、一つの
マイクロプロセッサパッケージの中に二つのマイクロプ
ロセッサが設けられている場合に、シリアルデバッグイ
ンタフェースによってエミュレータ本体との信号のやり
取りを行うように構成することができる。この場合、エ
ミュレータ本体52においては、オンチップコントロー
ラ17等が2系統設けられる。
【0058】図12に示されるように、第1エミュレー
ションプロセッサ511、第2エミュレーションプロセ
ッサ512と、エミュレータ本体512との接続関係を
切り換可能にしても良い。すなわち、コントロール回路
18を設け、エミュレーションバス24を、第1エミュ
レーションプロセッサ511と第2エミュレーションプ
ロセッサ512との何れに接続するかはコントロール回
路18によって制御される。セレクタ(SEL)19が
設けられ、オンチップコントローラ17が選択的に第1
エミュレーションプロセッサ511や第1エミュレーシ
ョンプロセッサ512に接続される。上記セレクタ19
は、コントロール回路18によって動作制御される。コ
ントロール回路18の制御下で第1エミュレーションプ
ロセッサ511とエミュレーションバス24との間のデ
ータのやり取りが可能とされるとき、第2エミュレーシ
ョンプロセッサ512は、エミュレーションバス24か
ら切り放される。このとき、コントロール回路18の制
御によりセレクタ19を介して第2エミュレーションプ
ロセッサ512がオンチップコントローラ17に結合さ
れることにより、第2エミュレーションプロセッサ51
2におけるオンチップデバッグが可能とされる。同様
に、コントロール回路18の制御下で第2エミュレーシ
ョンプロセッサ512とエミュレーションバス24との
間のデータのやり取りが可能とされるとき、第1エミュ
レーションプロセッサ511は、エミュレーションバス
24から切り放される。このとき、コントロール回路1
8の制御によりセレクタ19を介して第1エミュレーシ
ョンプロセッサ511がオンチップコントローラ17に
結合されることにより、第1エミュレーションプロセッ
サ511におけるオンチップデバッグが可能とされる。
【0059】3個以上のマイクロプロセッサを有する場
合においても、本発明を適用することができる。つま
り、3個以上のマイクロプロセッサにおける一つを上位
に設定し、その他の全てのマイクロプロセッサを下位に
設定することにより、上記した例の場合と同様の作用効
果を得ることができる。
【0060】また、フォルト状態の解除要求信号はコン
トロールCPU11から発生させるようにしても良い。
図13には、その場合の構成例が示される。この場合、
3個のマイクロプロセッサ511,512,513のす
べてがフォルトされた後に、コントロールCPU11か
ら3個のマイクロプロセッサ511,512,513に
供給されるフォルト解除要求信号がアサートされるよう
に構成することができる。これにより、3個のマイクロ
プロセッサ511,512,513は、同時にフォルト
状態が解除され、ユーザプログラムの同期実行が可能と
される。図14にはこの場合の具体的な構成が示され
る。第3エミュレーションプロセッサ513に対応し
て、それのオンチップデバッグを可能とするためのオン
チップコントローラ141が設けられる。フォルト解除
要求信号は、個々のエミュレーションプロセッサ51
1,512,513ではなく、コントロールCPU11
によって形成される。
【0061】以上本発明者によってなされた発明を具体
的に説明したが、本発明はそれに限定されるものではな
く、その要旨を逸脱しない範囲で種々変更可能であるこ
とはいうまでもない。
【0062】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるマイク
ロプロセッサに適用した場合について各種データ処理装
置に広く適用することができる。
【0063】本発明は、少なくともCPUを含むことを
条件に適用することができる。
【0064】
【発明の効果】すなわち、アンスタック後に中央処理装
置を命令待ち状態に遷移させるためのフォルト信号をア
サートし、上記中央処理装置の命令待ち状態で、その命
令待ち状態の解除要求信号がアサートされることによ
り、上記中央処理装置の命令待ち状態を解除する制御手
段とを含んでマイクロプロセッサが構成されることによ
り、中央処理装置の命令待ち状態で、その命令待ち状態
の解除要求信号がアサートされて上記中央処理装置の命
令待ち状態が解除される。それにより、異なるマイクロ
プロセッサを同期化させ、エミューションの並列化によ
りユーザシステムの開発効率の向上を図ることができ
る。
【図面の簡単な説明】
【図1】本発明にかかるエミュレーションシステムにお
けるエミュレータ本体の構成例ブロック図である。
【図2】上記エミュレータ本体に含まれるオンチップコ
ントローラ17の構成例ブロック図である。
【図3】上記エミュレーションシステムで使用されるエ
ミュレーションプロセッサの構成例ブロック図である。
【図4】上記エミュレーションプロセッサに含まれる通
信用モジュールの構成例ブロック図である。
【図5】上記エミュレーションシステムの全体的な構成
例説明図である。
【図6】上記エミュレーションプロセッサにおけるブレ
ークモードからユーザモードへの復帰までのフローチャ
ートである。
【図7】上記エミュレーションプロセッサにおけるブレ
ークモードからユーザモードへの復帰までのタイミング
図である。
【図8】上記エミュレーションシステムの別の構成例説
明図である。
【図9】上記エミュレーションシステムの別の構成例説
明図である。
【図10】上記エミュレーションシステムの別の構成例
説明図である。
【図11】上記エミュレーションシステムの別の構成例
説明図である。
【図12】上記エミュレーションシステムの別の構成例
におけるエミュレータ本体の構成例ブロック図である。
【図13】上記エミュレーションシステムの別の構成例
説明図である。
【図14】上記エミュレーションシステムの別の構成例
におけるエミュレータ本体の構成例ブロック図である。
【符号の説明】
11 コントロールCPU 12 ブレーク回路 13 トレース回路 14 モニタ回路 15 ファームRAM 16 パフォーマンス回路 17 オンチップコントローラ 18 コントロール回路 19 セレクタ 21 インタフェース 23 コントロールバス 24 エミュレーションバス 211 シリアルデバッグインタフェース 211A 通信用モジュール 211B ファームRAM 211C ブレーク回路 211D トレースバッファ 212 RAM 213 CPU 214 バスコントローラ 215 周辺モジュール 216 エミュレーションコントローラ 216A 上位/下位レジスタ 216B ブレークスタックレジスタ 216C ブレーク制御回路 216D フォルト制御回路 217 オアゲート 511 第1エミュレーションプロセッサ 512 第2エミュレーションプロセッサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤田 秀哉 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 佐々木 宏幸 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 松井 重純 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 橋本 忠士 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 金子 広 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 Fターム(参考) 5B042 HH03 HH25 HH30 LA07 MC03 MC08 5B048 AA11 BB02

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ユーザプログラム実行中にブレーク条件
    が成立することにより、ブレークモードに遷移するため
    のスタック処理を行い、ブレークモードにおいてブレー
    クモードから復帰するための復帰命令を実行することで
    ユーザモードへ遷移するためのアンスタック処理を行う
    中央処理装置と、 上記アンスタック後に、上記中央処理装置を命令待ち状
    態に遷移させるためのフォルト信号をアサートし、上記
    中央処理装置の命令待ち状態で、その命令待ち状態の解
    除要求信号がアサートされることにより、上記中央処理
    装置の命令待ち状態を解除する制御手段と、を含むこと
    を特徴とするマイクロプロセッサ。
  2. 【請求項2】 ユーザプログラム実行中にブレーク条件
    が成立することにより、ブレークモードに遷移するため
    のスタック処理を行い、ブレークモードにおいてブレー
    クモードから復帰するための復帰命令を実行することで
    ユーザモードへ遷移するためのアンスタック処理を行う
    中央処理装置と、を有するマイクロプロセッサであっ
    て、 上下関係の判別フラグを記憶するための判別フラグ記憶
    手段と、 上記判別フラグ記憶手段に記憶されている判別フラグの
    状態が上位を示す場合、上記マイクロプロセッサの外部
    に出力される命令待ち状態の解除要求信号を上記アンス
    タック処理後にアサートする第1制御手段と、上記判別
    フラグ記憶手段に記憶されている判別フラグの状態が下
    位を示す場合、上記アンスタック後に、上記中央処理装
    置を命令待ち状態に遷移させるためのフォルト信号をア
    サートし、上記中央処理装置の命令待ち状態で、その解
    除要求信号がアサートされることにより、上記中央処理
    装置の命令待ち状態を解除する第2制御手段と、を含む
    ことを特徴とするマイクロプロセッサ。
  3. 【請求項3】 外部からのバスリクエスト又はバス開放
    要求に応じて、上記中央処理装置を命令実行待ち状態に
    遷移させるためのフォルト信号をアサートするバスコン
    トローラと、 上記バスコントローラからのフォルト信号と、上記フォ
    ルト制御回路からのフォルト信号との論理和を得てそれ
    を上記中央処理装置に供給するゲート回路と、を含む請
    求項2記載のマイクロプロセッサ。
  4. 【請求項4】 複数のプロセッサと、ターゲットプログ
    ラムを上記プロセッサで実行させることにより当該ター
    ゲットプログラムのデバッグを可能とするエミュレータ
    本体とを含むエミュレーションシステムにおいて、 上記プロセッサとして、請求項2又は3記載のマイクロ
    プロセッサを適用して成ることを特徴とするエミュレー
    ションシステム。
  5. 【請求項5】 エミュレータ本体は、互いに方式が異な
    る複数のエミュレーション機能の実現ブロックと、上記
    複数のエミュレーション機能を選択的に上記マイクロプ
    ロセッサに割り当てるための選択手段とを含むことを特
    徴とするエミュレーションシステム。
JP25877399A 1999-09-13 1999-09-13 マイクロプロセッサシステム Expired - Fee Related JP4084912B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25877399A JP4084912B2 (ja) 1999-09-13 1999-09-13 マイクロプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25877399A JP4084912B2 (ja) 1999-09-13 1999-09-13 マイクロプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2001084158A true JP2001084158A (ja) 2001-03-30
JP4084912B2 JP4084912B2 (ja) 2008-04-30

Family

ID=17324891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25877399A Expired - Fee Related JP4084912B2 (ja) 1999-09-13 1999-09-13 マイクロプロセッサシステム

Country Status (1)

Country Link
JP (1) JP4084912B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009539186A (ja) * 2006-05-31 2009-11-12 ケイデンス デザイン システムズ インコーポレイテッド ハードウエアエミュレーションシステムのプロセッサを同期化する方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009539186A (ja) * 2006-05-31 2009-11-12 ケイデンス デザイン システムズ インコーポレイテッド ハードウエアエミュレーションシステムのプロセッサを同期化する方法及び装置

Also Published As

Publication number Publication date
JP4084912B2 (ja) 2008-04-30

Similar Documents

Publication Publication Date Title
EP1153348B1 (en) On-chip debug system
EP0391173B1 (en) Debug peripheral for microcomputers, microprocessors and core processor integrated circuits and system using the same
US7644310B2 (en) Semiconductor IC incorporating a co-debugging function and test system
JP4335999B2 (ja) プロセッサ内蔵半導体集積回路装置
US6920416B1 (en) Electronic systems testing employing embedded serial scan generator
EP3369015B1 (en) Methods and circuits for debugging circuit designs
JPH07182204A (ja) 集積マイクロプロセッサ、コンピュータ開発システム、および集積プロセッサのテスト方法
GB2266606A (en) A microprocessor with an external command mode for diagnosis and debugging
KR20040019451A (ko) 주변 장치의 동작 상태를 실시간으로 백업할 수 있는엠베디드 컨트롤러
JP2008507025A (ja) 集積回路テスト用エミュレーション及びデバッグインターフェイス
JPH08212100A (ja) シングルチップマイクロコンピュータのエミュレーションチップ
JP3003782B2 (ja) 開発支援装置
US7231568B2 (en) System debugging device and system debugging method
US6973607B2 (en) Method and apparatus for testing electronic components
JP2001084158A (ja) マイクロプロセッサ及びエミュレーションシステム
US9581643B1 (en) Methods and circuits for testing partial circuit designs
TWI541646B (zh) 偵錯系統及其控制方法
JP2001249823A (ja) マイクロコンピュータ開発支援装置
JP2011028308A (ja) 半導体装置及びソフトウェア開発支援装置
JP2017010432A (ja) Icチップ
JP2001350648A (ja) マイクロコンピュータ
TWI774116B (zh) 用於積體電路的自動檢測電路及方法
JP2002268911A (ja) 電子計算機用開発支援装置
Ueda et al. Automated system level functional test program generation on ATE from EDA using Functional Test Abstraction
BUS et al. Key Features

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070604

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees