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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
の技術を提供することにある。 【解決手段】 アンスタック後に、中央処理装置(21
3)を命令待ち状態に遷移させるためのフォルト信号を
アサートし、上記中央処理装置の命令待ち状態で、その
命令待ち状態の解除要求信号がアサートされることによ
り、上記中央処理装置の命令待ち状態を解除する制御手
段(216D)とを含んでマイクロプロセッサを構成す
る。制御手段により、フォルト信号がアサートされ、上
記中央処理装置の命令待ち状態で、その命令待ち状態の
解除要求信号がアサートされることにより、上記中央処
理装置の命令待ち状態を解除する。このことが、異なる
マイクロプロセッサを同期化させ、エミューションの並
列化によりユーザシステムの開発効率の向上を達成す
る。
Description
ータ、さらにはそれにおけるシステムデバッグのための
エミュレーションシステムに関する。
ータ)応用機器の開発において、その応用システムのデ
バッグやそのシステムの詳細な評価を行うため、インサ
ーキットエミュレータが使用されている。インサーキッ
トエミュレータは、ソフトウェア開発用の親計算機と、
開発中のターゲットシステムとの間に接続され、そのタ
ーゲットシステムに含まれるマイクロプロセッサ(ター
ゲットプロセッサ)の機能を代行する一方でデバッガと
しての機能をもち、詳細なシステムデバッグを支援す
る。かかるエミュレータは、その本体から延長されたケ
ーブルの先端が、ターゲットプロセッサ用ソケットなど
の接栓を介してターゲットシステムに結合可能とされ、
さらに、エミュレーション実行中に各種データやステー
タス信号などを実時間でサンプリングし、それをトレー
スメモリ部などに格納する実時間トレース機能やエミュ
レーション動作を実質的に停止させるブレーク機能など
の各種デバッグ機能を備える。
アの実行状態をリアルタイムにトレースするための機能
や、デバッグのために内蔵RAM(ランダム・アクセス
・メモリ)に対するデータのリード/ライトを可能とす
るオンチップデバッグ機能を備えたマイクロコンピュー
タが提供されている。ここで、実チップとは、ユーザシ
ステムに実際に搭載されるCPUを指し、エミュレーシ
ョンにおける必要情報を外部出力可能に構成されたエミ
ュレーション用チップと区別される。
た文献の例としては、1989年6月20日に電波新聞
社から発行された「マイコン開発のすべて(第78頁か
ら第95頁)」がある。
ては、処理能力の向上を図るため、複数のCPU(中央
処理装置)が搭載されることがある。従来のエミュレー
ションにおいては、基本的に一つのCPU毎に1台のエ
ミュレータが必要とされているため、例えば2個のCP
Uが搭載されるユーザシステムにおいては、基本的には
2台のエミュレータが必要とされる。
ユーザシステムに、2台のエミュレータを繋いだとして
も、2個のCPU相互間の同期がとれていないために、
同時にエミュレーション実行することはできない。つま
り、ユーザシステムに2台のエミュレータを繋いだとし
ても、一方のエミュレーション中は、他方のエミュレー
タにおいてターゲットプログラムの実行が停止される
が、あるいは、一方のエミュレーション中は、他方のC
PUソケットには実チップを装着するようにしていた。
ーザシステムのエミュレーションにおいては、例え2台
のエミュレータを繋いだとしても、別々にエミュレーシ
ョンしなければならないため、ユーザシステムの開発効
率の向上が妨げられた。
率の向上を図るための技術を提供することにある。
るユーザシステムのエミュレーションにおいてターゲッ
トプログラムの同時実行を可能とするための技術を提供
することにある。
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
ーク条件が成立することにより、ブレークモードに遷移
するためのスタック処理を行い、ブレークモードにおい
てブレークモードから復帰するための復帰命令を実行す
ることでユーザモードへ遷移するためのアンスタック処
理を行う中央処理装置と、上記アンスタック後に、上記
中央処理装置を命令待ち状態に遷移させるためのフォル
ト信号をアサートし、上記中央処理装置の命令待ち状態
で、その命令待ち状態の解除要求信号がアサートされる
ことにより、上記中央処理装置の命令待ち状態を解除す
る制御手段とを含んでマイクロプロセッサを構成する。
ト信号をアサートし、上記中央処理装置の命令待ち状態
で、その命令待ち状態の解除要求信号がアサートされる
ことにより、上記中央処理装置の命令待ち状態を解除す
る。このことが、異なるマイクロプロセッサを同期化さ
せ、エミューションの並列化によりユーザシステムの開
発効率の向上を達成する。
条件が成立することにより、ブレークモードに遷移する
ためのスタック処理を行い、ブレークモードにおいてブ
レークモードから復帰するための復帰命令を実行するこ
とでユーザモードへ遷移するためのアンスタック処理を
行う中央処理装置と、上下関係の判別フラグを記憶する
ための判別フラグ記憶手段と、上記判別フラグ記憶手段
に記憶されている判別フラグの状態が上位を示す場合、
マイクロプロセッサの外部に出力される命令待ち状態の
解除要求信号を上記アンスタック処理後にアサートする
第1制御手段と、上記判別フラグ記憶手段に記憶されて
いる判別フラグの状態が下位を示す場合、上記アンスタ
ック後に、上記中央処理装置を命令待ち状態に遷移させ
るためのフォルト信号をアサートし、上記中央処理装置
の命令待ち状態で、その解除要求信号がアサートされる
ことにより、上記中央処理装置の命令待ち状態を解除す
る第2制御手段とを含んでマイクロプロセッサを構成す
る。
ォルト信号をアサートし、上記中央処理装置の命令待ち
状態で、その命令待ち状態の解除要求信号をアサートす
ることにより、上記中央処理装置の命令待ち状態を解除
する。このことが、異なるマイクロプロセッサを同期化
させ、エミューションの並列化によりユーザシステムの
開発効率の向上を達成する。
バス開放要求に応じて、上記中央処理装置を命令実行待
ち状態に遷移させるためのフォルト信号をアサートする
バスコントローラと、上記バスコントローラからのフォ
ルト信号と上記フォルト制御回路からのフォルト信号と
の論理和を得てそれを上記中央処理装置に供給するゲー
ト回路とを設けることができる。
エミュレータ本体とを含んでエミュレーションシステム
を構成する。
ーションシステムの全体的な構成例が示される。
ンシステムは、特に制限されないが、ユーザシステム5
1に搭載された第1エミュレーションプロセッサ511
及び第2エミュレーションプロセッサ512、エミュー
レータ本体52、及び制御コンピュータ53とを含む。
ットを有し、それぞれCPUが装着される。第1エミュ
レーションプロセッサ511及び第2エミュレーション
プロセッサ512は、基本的には、当該ユーザシステム
51に本来搭載される実チップと同等の機能を有すると
ともに、内部バス情報の外部出力が可能に構成されたエ
ミュレーション用チップとされる。
び第2エミュレーションプロセッサ512とも、当該チ
ップをシステムボードに搭載した状態でのデバッグを可
能とするオンチップデバッグ機能を有する。特に、第1
エミュレーションプロセッサ511は、その近傍に設け
られたコネクタ513及びそれに結合されたケーブル5
24を介してエミュレータ本体52に接続されることに
より、上記オンチップデバッグ機能によるデバッグが行
われるようになっている。また、第2エミュレーション
プロセッサ512の外部端子はユーザシステム51のC
PUソケットを介してユーザシステムに結合されるとと
もに、ケーブル525を介してエミュレータ本体52に
結合される。これにより、第2エミュレーションプロセ
ッサ512のエミュレーション情報をエミュレータ本体
52において収集することができる。制御コンピュータ
53は、特に制限されないが、パーソナルコンピュータ
とされ、ケーブル516を介してエミュレータ本体52
に結合されることにより、このエミュレータ本体52と
の間で、エミュレーションに関する各種制御情報や収集
データのやり取りが可能とされる。
成例が示される。
本体52は、特に制限されないが、互いに異なるエミュ
レーション機能として、インサーキットエミュレーショ
ン(ICE)機能と、オンチップデバッグ機能とを有す
る。ICE機能はICE機能ブロックによって実現され
る。このICE機能ブロックは、コントロールCPU1
1、ブレーク回路12、トレース回路13、モニタ回路
14、ファームRAM(ランダム・アクセス・メモリ)
15、パフォーマンス回路16とを含む。そして、オン
チップデバッグ機能は、コントロールCPU11やオン
チップコントローラ17によって実現される。
バス23を介してブレーク回路12、トレース回路1
3、モニタ回路14、ファームRAM15、及びパフォ
ーマンス回路16、及びオンチップコントローラ17に
結合され、それらに対して各種情報のやり取りが可能と
される。また、第2エミュレーションプロセッサ512
は、エミュレーションバス24を介してブレーク回路1
2、トレース回路13、モニタ回路14、ファームRA
M15、及びパフォーマンス回路16に結合され、第2
エミュレーションプロセッサ512のエミュレーション
動作における各種情報の収集等が可能とされる。オンチ
ップコントローラ17は、信号線25を介して第1エミ
ュレーションプロセッサ511に結合され、後述する所
定の通信プロトコルに従って各種情報のやり取りが可能
とされる。
ス24の状態を監視してその状態が予め設定されている
状態に到達したときにエミュレーション動作をブレーク
する。トレース回路13は、エミュレーションバス24
に与えられるデータやアドレスさらには制御情報を逐次
トレースして蓄える。モニタ回路14は、制御コンピュ
ータ53からインタフェース21を介してエミュレーシ
ョンバス24をモニタを可能とするために設けられてい
る。ファームRAM15は、第2エミュレーションプロ
セッサ512で実行されるプログラムを格納するために
設けられる。パフォーマンス回路16は、上記トレース
情報に基づいて第2エミュレーションプロセッサ512
の性能測定、例えば実行時間の測定などを行うために設
けられる。
ールCPU11の制御下で、第1エミュレーションプロ
セッサ511のオンチップデバッグを可能とするブロッ
クであり、次のように構成される。
の構成例が示される。
ントローラ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との間での信号のやり取りを可能にする。
ンプロセッサ511と第2エミュレーションプロセッサ
512とは互いに同一構成とされる。
511(512)の構成例が示される。
ーションプロセッサ511(512)は、CPU21
3、RAM212、シリアルデバッグインタフェース2
11、周辺モジュール215、及びエミュレーションバ
スコントローラ216を含む。
行されるとき、RAM212は、その演算処理の作業領
域として機能される。シリアルデバッグインタフェース
211は、エミュレータ本体52におけるオンチップコ
ントローラ17に結合されることによって、シリアルデ
ータのやり取りを可能とする。
U213と周辺モジュール215との間のウェイト制御
や、CPU213と外部モジュールとの間のウェイト制
御が行われる。特に制限されないが、上記周辺モジュー
ル215には、外部装置との間のシリアル通信を可能と
するシリアルコミュニケーションインタフェースや、時
間測定のためのタイマー、CPU213の介在なしにデ
バイス間のデータ転送を可能にするダイレクトメモリア
クセスコントローラなどが含まれる。
1Dは、通信用モジュール211A、ファームRAM2
11B、ブレーク回路211C、及びトレースバッファ
211Dを含む。通信モジュール211Aは、外部装置
との間でオンチップデバッグのための通信を行う。ファ
ームRAM211Bには、CPU213で実行される各
種プログラムが保持される。ブレーク回路211Cは、
予め設定されたブレーク条件が成立したか否かを判別す
る。トレースバッファ211Dは、CPU213でのプ
ログラム実行状態をトレースする。
6は、内部バス218とエミュレーションバス24とに
結合され、エミュレーションに関する各種制御を行う。
特に制限されないが、エミュレーションコントローラ2
16は、上位/下位レジスタ216A、ブレークスタッ
クレジスタ216B、ブレーク制御回路216C、及び
フォルト制御回路216Dを含む。上位/下位レジスタ
216Aは、それが含まれるエミュレーションプロセッ
サが他のエミュレーションプロセッサとの関係で上位で
あるのか下位であるのかを判別するためのフラグ情報が
保持される。特に制限されないが、図1においては、エ
ミュレーションバス24に結合されるエミュレーション
プロセッサ511が上位とされ、オンチップコントロー
ラ17に結合されるエミュレーションプロセッサ512
が下位とされる。上位と下位との違いは、ブレークモー
ドからユーザモードへの復帰命令の実行によるアンスタ
ック完了後の状態において大きく相違する。これについ
ては後に詳述する。
レーク条件が成立してCPU213の状態がユーザモー
ドからブレークモードに移行する際に、そのときのレジ
スタ(EXR,CCR)やプログラムカウンタ(PC)
等の値を保持する。
御信号の入出力制御を行う。ブレーク制御信号には、ブ
レーク割り込み要求信号、ブレークアクノリッジ信号な
どがある。ブレーク割り込みはローアクティブとされ、
それがアクティブにされると、ブレーク制御回路216
CによってCPU213へのブレーク割り込みが行われ
る。このブレーク割り込みにより、ブレーク処理が行わ
れ、そのときのレジスタ(EXR,CCR)やプログラ
ムカウンタ(PC)等の値がブレークスタックレジスタ
216Bに保持される。ブレーク割り込みによりCPU
213がブレークモードに移行すると、ブレーク制御回
路216Cによりブレークアクノリッジ信号がローレベ
ルにされることで、ブレークモードになったことが示さ
れる。ブレークアクノリッジ信号はブレークモード期間
中ローレベルであり、ブレークからの復帰(RTB)命
令のスタック終了後にハイレベルにされる。つまり、ブ
レークモードは、専用の復帰(RTB)命令を実行する
ことにより解除され、それによりブレークモードからユ
ーザモードに遷移される。
ォルト信号FLT1が出力され、エミュレーションコン
トローラ216からは第2フォルト信号FLT2が出力
される。この第1フォルト信号FLT1と第2フォルト
信号FLT2とのオア論理がオアゲート217で得ら
れ、そのオア論理がCPU213に伝達されるようにな
っている。
スコントローラ214に対して、マイクロプロセッサの
外部からバスリクエストあるいは他のバスマスタからの
バス解放要求があり、バス権調停の結果、バス権を解放
すべき場合には、バスコントローラ214によってハイ
レベルにアサートされる。第1フォルト信号FLT1が
ハイレベルにアサートされることにより、CPU213
は、第1フォルトFLT1がハイレベルにアサートされ
た場合に、内部状態(プログラムカウンタ等の値)を保
持したまま、命令の実行が停止される(フォルト状
態)。これによりバスがCPU213から開放される。
上位/下位レジスタ216のフラグ状態に応じてフォル
ト制御回路216Dによって制御される。つまり、上位
/下位レジスタ216のフラグ状態がローレベルとさ
れ、当該エミュレーションプロセッサが下位とされる場
合には、ブレークモードからの復帰命令がCPU213
で実行された後にフォルト制御回路216Dによって第
2フォルト信号FLT2がハイレベルにアサートされ
る。これにより、CPU213においては、第1フォル
トFLT1がハイレベルにアサートされた場合と同様
に、内部状態(プログラムカウンタ等の値)を保持した
まま、命令の実行が停止される(フォルト状態)。この
フォルト状態は、エミュレーションコントローラ216
の外部から与えられるフォルト解除要求信号がローレベ
ルにアサートされることにより、第2フォルト信号FL
T2がローレベルにネゲートされまで維持される。つま
り、エミュレーションコントローラ216の外部から与
えられたフォルト解除要求信号がローレベルにアサート
されると、フォルト制御回路216Dは、第2フォルト
信号FLT2をローレベルにネゲートする。これによ
り、CPU213のフォルト状態が解除される。フォル
ト制御回路216Dにおけるこのような制御機能が、本
発明における第2制御手段に対応する。
Aのフラグ状態がハイレベルとされ、当該エミュレーシ
ョンプロセッサが上位とされる場合には、フォルト制御
回路216Dは、第2フォルト信号FLT2をアサート
すること無しに、外部に対して別のCPUに対するフォ
ルト解除要求信号をアサートする。フォルト制御回路2
16Dにおけるこの制御機能が、本発明における第1制
御手段に対応する。
例が示される。
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をシフトする。
の復帰について詳述する。
サ511、及び第2エミュレーションプロセッサ512
において、ブレークモードからユーザモードへの復帰ま
での手順が示される。また、図7にはその場合の主要部
の動作タイミングが示される。
下位レベルのプロセッサ、第2エミュレーションプロセ
ッサ512は上位レベルのプロセッサとされる。
おいて、ファームRAM211Bに保持されているプロ
グラムが実行されている期間において、ブレークモード
からの復帰(RTB)命令が実行されることにより、プ
ログラムカウンタ(PC)などのアンスタックが行われ
る(S711,S721)。このアンスタックにおいて
上位/下位レジスタ216のフラグ状態がチェックされ
る。第1エミュレーションプロセッサ511は下位レベ
ルのプロセッサとされるため、上位/下位レジスタ21
6のフラグ状態はローレベルとされている。これによ
り、第2フォルト信号FLT2がハイレベルにアサート
され、第1エミュレーションプロセッサ511における
CPU213はフォルト(次命令待ち)状態とされる。
つまり、上記ステップS712のプログラムカウンタ
(PC)などのアンスタックが行われにもかかわらず、
ユーザモードにおける最初の命令の実行待ち状態とされ
る。この状態は、上位レベルのプロセッサである第2エ
ミュレーションプロセッサ512からフォルト解除要求
がなされるまで続く。
12において、ファームRAM15(図1参照)に保持
されているプログラムが実行されている期間において、
ブレークモードからの復帰(RTB)命令が実行される
ことにより、プログラムカウンタ(PC)などのアンス
タックが行われる(S721,S722)。このアンス
タックにおいて上位/下位レジスタ216のフラグ状態
がチェックされる。第2エミュレーションプロセッサ5
12は上位レベルのプロセッサとされるため、上位/下
位レジスタ216のフラグ状態はハイレベルとされてい
る。これにより、エミュレーションコントローラ216
によってフォルト解除要求信号がローレベルにアサート
されることで、第1エミュレーションプロセッサ511
のフォルト状態の解除要求がなされる(S723)。こ
の解除要求後、第2エミュレーションプロセッサ512
はユーザプログラムの実行に遷移する。
求信号が第1エミュレーションプロセッサ511に伝達
されると、第1エミュレーションプロセッサ511で
は、エミュレーションコントローラ216内のフォルト
制御回路216Dにより第2フォルト信号FLT2がロ
ーレベルにネゲートされる。これによりフォルト状態が
解除され、CPU213によりユーザプログラムの実行
が開始される。
とができる。
ョンプロセッサ511がブレークモードからの復帰(R
TB)命令を実行した後にフォルト状態になり、上位レ
ベルである第2エミュレーションプロセッサ512から
のフォルト解除要求(S723)がなされることで、第
1エミュレーションプロセッサ511のフォルト状態が
解除されることにより、第1エミュレーションプロセッ
サ511と第2エミュレーションプロセッサ512とは
互いに同期される。つまり、ブレークモードにおいて非
同期処理が行われていても、ブレークモードからの復帰
後のユーザプログラムの実行開始時点で第1エミュレー
ションプロセッサ511と第2エミュレーションプロセ
ッサ512とは同期処理が行われる。このため、第1エ
ミュレーションプロセッサ511と第2エミュレーショ
ンプロセッサ512とを同時に実行してエミュレーショ
ンすることができるので、ユーザプログラムの開発効率
の向上を図ることができる。
く、ICE用エミュレータ、及びオンチップデバッグ用
エミュレータとして別個に用意する必要が無い。
グ用エミュレータ本体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が接続される。
クロプロセッサ511,512ともエミュレーションバ
スを介してエミュレーションを行うようにしても良い。
この場合、エミュレータ本体85,86は、それぞれ図
1におけるブレーク回路12、トレース回路13、モニ
タ回路14、ファームRAM15、パフォーマンス回路
16、コントロールCPU11、及びインタフェース2
1などのICE機能実現ブロックが含まれる。
プロセッサパッケージの中に、図3に示されるマイクロ
プロセッサが二つ設けられる場合がある。かかる場合に
も、本発明を適用することができる。この場合、エミュ
レータ本体52は、二つのマイクロプロセッサに対応し
てICE機能実現ブロックが設けられる。
マイクロプロセッサパッケージの中に二つのマイクロプ
ロセッサが設けられている場合に、シリアルデバッグイ
ンタフェースによってエミュレータ本体との信号のやり
取りを行うように構成することができる。この場合、エ
ミュレータ本体52においては、オンチップコントロー
ラ17等が2系統設けられる。
ションプロセッサ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におけるオンチップデバッグが可能とされる。
合においても、本発明を適用することができる。つま
り、3個以上のマイクロプロセッサにおける一つを上位
に設定し、その他の全てのマイクロプロセッサを下位に
設定することにより、上記した例の場合と同様の作用効
果を得ることができる。
トロールCPU11から発生させるようにしても良い。
図13には、その場合の構成例が示される。この場合、
3個のマイクロプロセッサ511,512,513のす
べてがフォルトされた後に、コントロールCPU11か
ら3個のマイクロプロセッサ511,512,513に
供給されるフォルト解除要求信号がアサートされるよう
に構成することができる。これにより、3個のマイクロ
プロセッサ511,512,513は、同時にフォルト
状態が解除され、ユーザプログラムの同期実行が可能と
される。図14にはこの場合の具体的な構成が示され
る。第3エミュレーションプロセッサ513に対応し
て、それのオンチップデバッグを可能とするためのオン
チップコントローラ141が設けられる。フォルト解除
要求信号は、個々のエミュレーションプロセッサ51
1,512,513ではなく、コントロールCPU11
によって形成される。
的に説明したが、本発明はそれに限定されるものではな
く、その要旨を逸脱しない範囲で種々変更可能であるこ
とはいうまでもない。
なされた発明をその背景となった利用分野であるマイク
ロプロセッサに適用した場合について各種データ処理装
置に広く適用することができる。
条件に適用することができる。
置を命令待ち状態に遷移させるためのフォルト信号をア
サートし、上記中央処理装置の命令待ち状態で、その命
令待ち状態の解除要求信号がアサートされることによ
り、上記中央処理装置の命令待ち状態を解除する制御手
段とを含んでマイクロプロセッサが構成されることによ
り、中央処理装置の命令待ち状態で、その命令待ち状態
の解除要求信号がアサートされて上記中央処理装置の命
令待ち状態が解除される。それにより、異なるマイクロ
プロセッサを同期化させ、エミューションの並列化によ
りユーザシステムの開発効率の向上を図ることができ
る。
けるエミュレータ本体の構成例ブロック図である。
ントローラ17の構成例ブロック図である。
ミュレーションプロセッサの構成例ブロック図である。
信用モジュールの構成例ブロック図である。
例説明図である。
ークモードからユーザモードへの復帰までのフローチャ
ートである。
ークモードからユーザモードへの復帰までのタイミング
図である。
明図である。
明図である。
説明図である。
説明図である。
におけるエミュレータ本体の構成例ブロック図である。
説明図である。
におけるエミュレータ本体の構成例ブロック図である。
Claims (5)
- 【請求項1】 ユーザプログラム実行中にブレーク条件
が成立することにより、ブレークモードに遷移するため
のスタック処理を行い、ブレークモードにおいてブレー
クモードから復帰するための復帰命令を実行することで
ユーザモードへ遷移するためのアンスタック処理を行う
中央処理装置と、 上記アンスタック後に、上記中央処理装置を命令待ち状
態に遷移させるためのフォルト信号をアサートし、上記
中央処理装置の命令待ち状態で、その命令待ち状態の解
除要求信号がアサートされることにより、上記中央処理
装置の命令待ち状態を解除する制御手段と、を含むこと
を特徴とするマイクロプロセッサ。 - 【請求項2】 ユーザプログラム実行中にブレーク条件
が成立することにより、ブレークモードに遷移するため
のスタック処理を行い、ブレークモードにおいてブレー
クモードから復帰するための復帰命令を実行することで
ユーザモードへ遷移するためのアンスタック処理を行う
中央処理装置と、を有するマイクロプロセッサであっ
て、 上下関係の判別フラグを記憶するための判別フラグ記憶
手段と、 上記判別フラグ記憶手段に記憶されている判別フラグの
状態が上位を示す場合、上記マイクロプロセッサの外部
に出力される命令待ち状態の解除要求信号を上記アンス
タック処理後にアサートする第1制御手段と、上記判別
フラグ記憶手段に記憶されている判別フラグの状態が下
位を示す場合、上記アンスタック後に、上記中央処理装
置を命令待ち状態に遷移させるためのフォルト信号をア
サートし、上記中央処理装置の命令待ち状態で、その解
除要求信号がアサートされることにより、上記中央処理
装置の命令待ち状態を解除する第2制御手段と、を含む
ことを特徴とするマイクロプロセッサ。 - 【請求項3】 外部からのバスリクエスト又はバス開放
要求に応じて、上記中央処理装置を命令実行待ち状態に
遷移させるためのフォルト信号をアサートするバスコン
トローラと、 上記バスコントローラからのフォルト信号と、上記フォ
ルト制御回路からのフォルト信号との論理和を得てそれ
を上記中央処理装置に供給するゲート回路と、を含む請
求項2記載のマイクロプロセッサ。 - 【請求項4】 複数のプロセッサと、ターゲットプログ
ラムを上記プロセッサで実行させることにより当該ター
ゲットプログラムのデバッグを可能とするエミュレータ
本体とを含むエミュレーションシステムにおいて、 上記プロセッサとして、請求項2又は3記載のマイクロ
プロセッサを適用して成ることを特徴とするエミュレー
ションシステム。 - 【請求項5】 エミュレータ本体は、互いに方式が異な
る複数のエミュレーション機能の実現ブロックと、上記
複数のエミュレーション機能を選択的に上記マイクロプ
ロセッサに割り当てるための選択手段とを含むことを特
徴とするエミュレーションシステム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009539186A (ja) * | 2006-05-31 | 2009-11-12 | ケイデンス デザイン システムズ インコーポレイテッド | ハードウエアエミュレーションシステムのプロセッサを同期化する方法及び装置 |
-
1999
- 1999-09-13 JP JP25877399A patent/JP4084912B2/ja not_active Expired - Fee Related
Cited By (1)
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 |