JPH1165897A - デバッガ内蔵マイクロプロセッサ - Google Patents
デバッガ内蔵マイクロプロセッサInfo
- Publication number
- JPH1165897A JPH1165897A JP9221842A JP22184297A JPH1165897A JP H1165897 A JPH1165897 A JP H1165897A JP 9221842 A JP9221842 A JP 9221842A JP 22184297 A JP22184297 A JP 22184297A JP H1165897 A JPH1165897 A JP H1165897A
- Authority
- JP
- Japan
- Prior art keywords
- counter
- count
- microprocessor
- cpu
- debugger
- 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
Links
- 239000004065 semiconductor Substances 0.000 claims abstract description 15
- 238000001514 detection method Methods 0.000 claims description 31
- 238000000034 method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】
【課題】 簡便性・利便性の高いデバッガ内蔵マイクロ
プロセッサを得る。 【解決手段】 CPU2の動作状態を被検出データとし
て入力し、入出力部3がこの被検出データの検出結果を
出力し、所定の保持された基準値と被検出データとを比
較する。2つのイベント検出部4、5がこの比較の結果
を出力し、出力された結果をカウンタ7がカウントす
る。このカウントにおいて、カウンタ制御部6が一方の
検出結果に基づきカウント可能状態とし、且つ他方の検
出結果によりカウント停止状態とし、CPU2のプログ
ラム動作をデバッグするデバッグ機能部を一の半導体上
に構成している。本構成によれば、RAMを必要としな
いため回路サイズがコンパクトであり、このため一つの
半導体内に実装可能となる。また、任意のアドレスにお
いてカウントの開始および終了ができ、高精度で、また
使い勝手も向上する。
プロセッサを得る。 【解決手段】 CPU2の動作状態を被検出データとし
て入力し、入出力部3がこの被検出データの検出結果を
出力し、所定の保持された基準値と被検出データとを比
較する。2つのイベント検出部4、5がこの比較の結果
を出力し、出力された結果をカウンタ7がカウントす
る。このカウントにおいて、カウンタ制御部6が一方の
検出結果に基づきカウント可能状態とし、且つ他方の検
出結果によりカウント停止状態とし、CPU2のプログ
ラム動作をデバッグするデバッグ機能部を一の半導体上
に構成している。本構成によれば、RAMを必要としな
いため回路サイズがコンパクトであり、このため一つの
半導体内に実装可能となる。また、任意のアドレスにお
いてカウントの開始および終了ができ、高精度で、また
使い勝手も向上する。
Description
【0001】
【発明の属する技術分野】本発明は、デバッガ内蔵マイ
クロプロセッサに関し、特に、ソフトウェア開発用のデ
バッガを内蔵したデバッガ内蔵マイクロプロセッサに関
する。
クロプロセッサに関し、特に、ソフトウェア開発用のデ
バッガを内蔵したデバッガ内蔵マイクロプロセッサに関
する。
【0002】
【従来の技術】従来、特に昨今、デバッガ内蔵マイクロ
プロセッサが注目を浴びている。その理由は、音声、サ
ウンド、画像、データ通信等のマルチメディア系アプリ
ケーションでは、一つのプロセッサで種々のアプリケー
ションを実行させることにより、システムのコストを下
げようとしている。このようなプロセッサ用ソフトウェ
アのデバッグは、色々な観点から行う必要がある。例え
ば、プログラムの論理性の確認、データの正当性の確認
などである。このような確認処理において、デバッガ内
蔵マイクロプロセッサは利用価値・利便性等があるから
である。
プロセッサが注目を浴びている。その理由は、音声、サ
ウンド、画像、データ通信等のマルチメディア系アプリ
ケーションでは、一つのプロセッサで種々のアプリケー
ションを実行させることにより、システムのコストを下
げようとしている。このようなプロセッサ用ソフトウェ
アのデバッグは、色々な観点から行う必要がある。例え
ば、プログラムの論理性の確認、データの正当性の確認
などである。このような確認処理において、デバッガ内
蔵マイクロプロセッサは利用価値・利便性等があるから
である。
【0003】しかし、従来のソフトウェアと新しいマル
チメディアアプリケーションのソフトウェアには違いが
ある。これは、マルチメディア系アプリケーションは、
ある決まったサイクル内で色々な処理を施す必要があ
る。例えば、サウンド・アプリケーションでは、44.
1KHzでサンプリングするため、約20μsec 内で種
々のアプリケーションを実行する。通常アプリケーショ
ンの切り替えを出来るだけソフトウェア設計時に意識し
ないように、リアルタイムOSを用いてプログラミング
する。
チメディアアプリケーションのソフトウェアには違いが
ある。これは、マルチメディア系アプリケーションは、
ある決まったサイクル内で色々な処理を施す必要があ
る。例えば、サウンド・アプリケーションでは、44.
1KHzでサンプリングするため、約20μsec 内で種
々のアプリケーションを実行する。通常アプリケーショ
ンの切り替えを出来るだけソフトウェア設計時に意識し
ないように、リアルタイムOSを用いてプログラミング
する。
【0004】しかしこのリアルタイムOSを使えばすべ
てが解決するわけではない。なぜならば、先ほどのサウ
ンド系アプリケーションであれば、20μsec 以内にす
べての処理が終わるかどうかの確認が必要だからであ
る。このようなことには、リアルタイムOSは関知しな
い。処理が終了しなければ次の処理に影響が出る。この
ため、ソフトウェアのデバッグは、先ほど述べた論理性
の確認、データの正当性の他に、処理時間のチェックが
必要である。
てが解決するわけではない。なぜならば、先ほどのサウ
ンド系アプリケーションであれば、20μsec 以内にす
べての処理が終わるかどうかの確認が必要だからであ
る。このようなことには、リアルタイムOSは関知しな
い。処理が終了しなければ次の処理に影響が出る。この
ため、ソフトウェアのデバッグは、先ほど述べた論理性
の確認、データの正当性の他に、処理時間のチェックが
必要である。
【0005】処理時間を確認する方法としては、従来よ
りいくつかの方法が提案されている。例えば、ソフトウ
ェアシミュレータを用いて計測する方法、ハードウェア
エミュレータを用いて実際に実時間でプログラムを動作
させ計測する方法、などである。
りいくつかの方法が提案されている。例えば、ソフトウ
ェアシミュレータを用いて計測する方法、ハードウェア
エミュレータを用いて実際に実時間でプログラムを動作
させ計測する方法、などである。
【0006】ハードウェアエミュレータ等のデバッガを
用いる方法について次に説明する。通常、ハードウェア
デバッガでは、デバッグのための機能をいくつかの半導
体を組み合わせて構成している。ここでも各素子は専用
の半導体である。
用いる方法について次に説明する。通常、ハードウェア
デバッガでは、デバッグのための機能をいくつかの半導
体を組み合わせて構成している。ここでも各素子は専用
の半導体である。
【0007】従来の技術の動作例を、図3に基づき説明
する。図3は従来の被デバッグCPUをデバッグする回
路構成例を示している。本従来例のデバッグ回路は、被
デバッグCPU31、レジスタ32、トレースRAM3
3、双方向バッファ34、インバータ35、バッファ3
6、AND素子37、AND素子38、主記憶39、シ
ステムバス40、アドレスレジスタ41、被デバッグ装
置の主記憶42、被デバッグ装置のアドレスバス43、
システムバス44、プログラム開発装置ホストプロセッ
サバス45、アドレス情報出力タイミング信号46、マ
ッピング情報信号47、カウンタ52、フリップフロッ
プ53、AND素子54、クロック信号55、の各構成
部および信号系とにより構成される。
する。図3は従来の被デバッグCPUをデバッグする回
路構成例を示している。本従来例のデバッグ回路は、被
デバッグCPU31、レジスタ32、トレースRAM3
3、双方向バッファ34、インバータ35、バッファ3
6、AND素子37、AND素子38、主記憶39、シ
ステムバス40、アドレスレジスタ41、被デバッグ装
置の主記憶42、被デバッグ装置のアドレスバス43、
システムバス44、プログラム開発装置ホストプロセッ
サバス45、アドレス情報出力タイミング信号46、マ
ッピング情報信号47、カウンタ52、フリップフロッ
プ53、AND素子54、クロック信号55、の各構成
部および信号系とにより構成される。
【0008】上記構成の従来のデバッグ回路において、
被デバッグマイクロプロセッサ(CPU)31よりアド
レス情報がバス44に出力され、引き続いてアドレス情
報出力タイミング信号46が出力されると、まず、アド
レス情報出力タイミング信号46がRAM33の書き込
み信号端子に入力され、その時のカウンタの内容がRA
M33に書き込まれる。アドレス情報出力タイミング信
号46がレジスタ32のクロック端子に加わり、バス4
4上のアドレス情報がレジスタ32に格納されRAM3
3のアドレス入力が変化する。更新されたアドレスによ
りRAM33の該当する内容が読み出され、カウンタ5
2の入力端子に印加され、アドレス情報出力タイミング
信号46によりカウンタ52に取り込まれる。
被デバッグマイクロプロセッサ(CPU)31よりアド
レス情報がバス44に出力され、引き続いてアドレス情
報出力タイミング信号46が出力されると、まず、アド
レス情報出力タイミング信号46がRAM33の書き込
み信号端子に入力され、その時のカウンタの内容がRA
M33に書き込まれる。アドレス情報出力タイミング信
号46がレジスタ32のクロック端子に加わり、バス4
4上のアドレス情報がレジスタ32に格納されRAM3
3のアドレス入力が変化する。更新されたアドレスによ
りRAM33の該当する内容が読み出され、カウンタ5
2の入力端子に印加され、アドレス情報出力タイミング
信号46によりカウンタ52に取り込まれる。
【0009】一方、デバッガは、被開発プログラムの動
作特性の測定を開始するため、プログラム開発装置のホ
ストプロセッサバス(単に、バスともいう)45に接続
されたフリップフロップ(F/F)53をセットし、A
ND素子54のゲートが開き単位時間クロック信号55
がカウンタ52のカウントアップ端子に印加される。ま
た、カウンタ52は、RAM33によってプリセットさ
れた値よりカウントアップ動作を開始する。このカウン
トアップ動作は、被デバッグマイクロプロセッサ31よ
り、次のアドレス情報出力タイミング信号46が出力さ
れるまで続行される。
作特性の測定を開始するため、プログラム開発装置のホ
ストプロセッサバス(単に、バスともいう)45に接続
されたフリップフロップ(F/F)53をセットし、A
ND素子54のゲートが開き単位時間クロック信号55
がカウンタ52のカウントアップ端子に印加される。ま
た、カウンタ52は、RAM33によってプリセットさ
れた値よりカウントアップ動作を開始する。このカウン
トアップ動作は、被デバッグマイクロプロセッサ31よ
り、次のアドレス情報出力タイミング信号46が出力さ
れるまで続行される。
【0010】上記タイミング信号46が出力されると、
その時点でカウンタ52の値がRAM33の同一記憶位
置に書き込まれ、書き込まれた後に再び更新されたアド
レスで、上述と全く同様の動作が繰り返される。したが
って、被デバッグマイクロプロセッサ31が、プログラ
ムによりA番地、B番地、A番地と主記憶をアクセスし
たとすると、上記動作によりRAM33のA番地に相当
する記憶位置には、A番地にアクセスしていた時間の累
計がカウント値として記憶されている。更に、RAM3
3のアドレス入力をレジスタ32のアドレス出力の一
部、例えば上位8ビットのみとすることにより、256
後をブロックとしてプログラム実行時間を計測できる。
その時点でカウンタ52の値がRAM33の同一記憶位
置に書き込まれ、書き込まれた後に再び更新されたアド
レスで、上述と全く同様の動作が繰り返される。したが
って、被デバッグマイクロプロセッサ31が、プログラ
ムによりA番地、B番地、A番地と主記憶をアクセスし
たとすると、上記動作によりRAM33のA番地に相当
する記憶位置には、A番地にアクセスしていた時間の累
計がカウント値として記憶されている。更に、RAM3
3のアドレス入力をレジスタ32のアドレス出力の一
部、例えば上位8ビットのみとすることにより、256
後をブロックとしてプログラム実行時間を計測できる。
【0011】本願発明と技術分野が類似する他の従来例
として、特開昭59−57355号公報の「プログラム
開発装置」は、マイクロプロセッサから出力されるアド
レス情報を記憶するレジスタと記憶装置とカウンタとを
設け、アドレス情報が出されてからの経過時間をカウン
タにより計時し、アドレスが更新される毎にその内容を
記憶装置に格納する。このことにより、プログラムの各
処分毎の実行時間を検出している。本機能は、図3に示
した従来例に相当する。
として、特開昭59−57355号公報の「プログラム
開発装置」は、マイクロプロセッサから出力されるアド
レス情報を記憶するレジスタと記憶装置とカウンタとを
設け、アドレス情報が出されてからの経過時間をカウン
タにより計時し、アドレスが更新される毎にその内容を
記憶装置に格納する。このことにより、プログラムの各
処分毎の実行時間を検出している。本機能は、図3に示
した従来例に相当する。
【0012】
【発明が解決しようとする課題】しかしながら、これら
の方法にはいくつかの欠点がある。パソコンやワークス
テーション上で、ソフトウェアシミュレータを使いソフ
トウェアだけで計測する方法では、実行するのに膨大な
時間がかかる。サウンド系では、少なくとも数秒間のデ
ータを入力して計測しなけらばならない。通常のソフト
ウェアシミュレータは、実際に動作する時間の1000
倍〜10000倍程度かかるので、例えば、5秒のデー
タを実行しようとすると5000秒以上もかかることに
なる。これではデバッグにも膨大な時間がかかってしま
う。また、入力データをつくるのも大変である。このよ
うな方式では次のような問題を生じさせる。
の方法にはいくつかの欠点がある。パソコンやワークス
テーション上で、ソフトウェアシミュレータを使いソフ
トウェアだけで計測する方法では、実行するのに膨大な
時間がかかる。サウンド系では、少なくとも数秒間のデ
ータを入力して計測しなけらばならない。通常のソフト
ウェアシミュレータは、実際に動作する時間の1000
倍〜10000倍程度かかるので、例えば、5秒のデー
タを実行しようとすると5000秒以上もかかることに
なる。これではデバッグにも膨大な時間がかかってしま
う。また、入力データをつくるのも大変である。このよ
うな方式では次のような問題を生じさせる。
【0013】まず、処理実行時間を計るために、アドレ
ス情報タイミング信号によりカウントされた値をRAM
の中に書き込んでいる。これは、すなわち、RAMが不
可欠であることを示している。アドレス範囲が大きけれ
ばそれだけの膨大なメモリが必要である。
ス情報タイミング信号によりカウントされた値をRAM
の中に書き込んでいる。これは、すなわち、RAMが不
可欠であることを示している。アドレス範囲が大きけれ
ばそれだけの膨大なメモリが必要である。
【0014】また、このようなシステムは、昨今の非常
に高速なCPUの場合適用できない。なぜなら、CPU
の出力を基にCPU外部でカウントしRAMに書き込む
という作業のために、各素子で遅延時間が発生し、CP
Uの1命令実行時間内でこの処理が行えなくなる。つま
り、計測すると、CPUの実時間動作を遅くして計測し
なければならないという状態が生じる。
に高速なCPUの場合適用できない。なぜなら、CPU
の出力を基にCPU外部でカウントしRAMに書き込む
という作業のために、各素子で遅延時間が発生し、CP
Uの1命令実行時間内でこの処理が行えなくなる。つま
り、計測すると、CPUの実時間動作を遅くして計測し
なければならないという状態が生じる。
【0015】高速なCPU、特にDSPと呼ばれる信号
処理プロセッサの場合に、この弊害は特に顕著である。
最近のDSPでは、簡単なプログラムデバッグ機能がデ
バイス内部に装備されているものもある。半導体内部で
このような機能を実現する場合には、通常このような遅
延は専用デバイスを組み合わせて作る場合と比べて問題
にならない。
処理プロセッサの場合に、この弊害は特に顕著である。
最近のDSPでは、簡単なプログラムデバッグ機能がデ
バイス内部に装備されているものもある。半導体内部で
このような機能を実現する場合には、通常このような遅
延は専用デバイスを組み合わせて作る場合と比べて問題
にならない。
【0016】更に、メモリ量を減らして測定しようとす
ると、前述のようにアドレスの幅を制限しなければなら
ない。これは、ブロック単位でしか計測出来ないことを
意味している。従来技術の例では256ワード単位に測
定するようになっているが、通常アプリケーションは、
256ワードブロック単位で整理され、きれいに置かれ
ることはない。このため、アプリケーションすべてを測
定しようとすると、このアプリケーションが置かれてい
るすべてのブロックについて測定しなければならない。
これは厳密性に欠けることになる。
ると、前述のようにアドレスの幅を制限しなければなら
ない。これは、ブロック単位でしか計測出来ないことを
意味している。従来技術の例では256ワード単位に測
定するようになっているが、通常アプリケーションは、
256ワードブロック単位で整理され、きれいに置かれ
ることはない。このため、アプリケーションすべてを測
定しようとすると、このアプリケーションが置かれてい
るすべてのブロックについて測定しなければならない。
これは厳密性に欠けることになる。
【0017】このようなモジュールを正しく計測する場
合には、モジュールすべてのアドレスについて計測して
処理時間を判断しなければならず、膨大なメモリ量が必
要である。また、実行を開始する手段がプログラム開発
装置からのみであるため、あるCPUの状態を検出し
て、それをトリガとして開始するといったことができず
不便である問題を伴う。
合には、モジュールすべてのアドレスについて計測して
処理時間を判断しなければならず、膨大なメモリ量が必
要である。また、実行を開始する手段がプログラム開発
装置からのみであるため、あるCPUの状態を検出し
て、それをトリガとして開始するといったことができず
不便である問題を伴う。
【0018】本発明は、簡便性・利便性の高いデバッガ
内蔵マイクロプロセッサを提供することを目的とする。
内蔵マイクロプロセッサを提供することを目的とする。
【0019】
【課題を解決するための手段】かかる目的を達成するた
め、本発明のデバッガ内蔵マイクロプロセッサは、所定
のCPUの動作状態を被検出データとして入力し、この
被検出データの検出結果を出力する入出力部と、所定の
保持された基準値と被検出データとを比較し、この比較
の結果を出力する2つのイベント検出部と、出力された
結果をカウントするカウンタと、カウンタを一方のイベ
ント検出部の結果に基づきカウント可能状態とし、且つ
他方のイベント検出部の検出結果によりカウント停止状
態とするカウンタ制御部とを有し、所定のCPUとこの
CPUのプログラム動作をデバッグするデバッグ機能部
とが一の半導体上に構成されたことを特徴としている。
め、本発明のデバッガ内蔵マイクロプロセッサは、所定
のCPUの動作状態を被検出データとして入力し、この
被検出データの検出結果を出力する入出力部と、所定の
保持された基準値と被検出データとを比較し、この比較
の結果を出力する2つのイベント検出部と、出力された
結果をカウントするカウンタと、カウンタを一方のイベ
ント検出部の結果に基づきカウント可能状態とし、且つ
他方のイベント検出部の検出結果によりカウント停止状
態とするカウンタ制御部とを有し、所定のCPUとこの
CPUのプログラム動作をデバッグするデバッグ機能部
とが一の半導体上に構成されたことを特徴としている。
【0020】また、上記のカウンタ制御検出部は、カウ
ントアップ信号であるカウントクロックに基づきカウン
タのカウント動作を行なわせ、カウントアップ信号を、
CPUの実行クロックとするとよい。
ントアップ信号であるカウントクロックに基づきカウン
タのカウント動作を行なわせ、カウントアップ信号を、
CPUの実行クロックとするとよい。
【0021】なお、上記のイベント検出部は、基準値と
カウンタのカウント数とを比較し、この比較結果が一致
した場合にはカウント終了信号をカウンタ制御部に出力
し、さらには、基準値を保持する保持手段を具備し、こ
の保持手段が入出力部を介して入力された基準値を保持
するとよい。
カウンタのカウント数とを比較し、この比較結果が一致
した場合にはカウント終了信号をカウンタ制御部に出力
し、さらには、基準値を保持する保持手段を具備し、こ
の保持手段が入出力部を介して入力された基準値を保持
するとよい。
【0022】さらに、デバッガ内蔵マイクロプロセッサ
は、2つのイベント検出部を1組とし少なくとも2組の
イベント検出部と、カウンタのカウント数値を保持する
保持回路と、カウント数値を読み出す読み出し回路とを
有し、CPUの実行期間の把握を可能とするとよい。
は、2つのイベント検出部を1組とし少なくとも2組の
イベント検出部と、カウンタのカウント数値を保持する
保持回路と、カウント数値を読み出す読み出し回路とを
有し、CPUの実行期間の把握を可能とするとよい。
【0023】
【発明の実施の形態】次に添付図面を参照して本発明に
よるデバッガ内蔵マイクロプロセッサの実施の形態を詳
細に説明する。図1および図2を参照すると、本発明の
デバッガ内蔵マイクロプロセッサの実施形態が示されて
いる。
よるデバッガ内蔵マイクロプロセッサの実施の形態を詳
細に説明する。図1および図2を参照すると、本発明の
デバッガ内蔵マイクロプロセッサの実施形態が示されて
いる。
【0024】<実施形態>図1は、本発明のデバッガ内
臓マイクロプロセッサの実施形態の回路構成ブロック図
である。本実施形態のデバッガ内臓マイクロプロセッサ
(以降、単に半導体1ともいう)は、CPU2とデバッ
ガとを内蔵している。デバッガは、入出力部3、イベン
ト検出部4および5、カウンタ制御部6、カウンタ7、
の各部により構成される。
臓マイクロプロセッサの実施形態の回路構成ブロック図
である。本実施形態のデバッガ内臓マイクロプロセッサ
(以降、単に半導体1ともいう)は、CPU2とデバッ
ガとを内蔵している。デバッガは、入出力部3、イベン
ト検出部4および5、カウンタ制御部6、カウンタ7、
の各部により構成される。
【0025】本構成の半導体1の要部の信号関係は、カ
ウントアップ信号8、CPU実行状態データ9、CPU
実行状態データ10、カウント開始信号11、カウント
終了信号12、データバス13、データバス14、カウ
ンタ制御線15、データバス16、リセット信号17、
カウント開始制御信号18、カウント終了制御信号1
9、データバス20、動作クロック21等である。半導
体1には、外部からデータバス20を通して所定のデー
タを、入出力部3経由で本デバッガに入出力することが
できる構成となっている。
ウントアップ信号8、CPU実行状態データ9、CPU
実行状態データ10、カウント開始信号11、カウント
終了信号12、データバス13、データバス14、カウ
ンタ制御線15、データバス16、リセット信号17、
カウント開始制御信号18、カウント終了制御信号1
9、データバス20、動作クロック21等である。半導
体1には、外部からデータバス20を通して所定のデー
タを、入出力部3経由で本デバッガに入出力することが
できる構成となっている。
【0026】まず、カウントを開始する条件を、前述の
入出力部3を通じてイベント検出部4に基準データとし
て設定する。この条件には種々のものが考えられるがこ
こでは特定しない。例えば、CPUが割り込みを発生す
るとか、ある特定のアドレスをアクセスするとかであ
る。また、同様にしてイベント検出部5にカウント終了
の条件を設定しておく。これらイベント検出部は、CP
U1の状態をCPU実行状態データとして入力してい
る。イベント検出部4とイベント検出部5に設定した基
準データは、CPU1から入力されるCPU実行状態デ
ータと比較される。
入出力部3を通じてイベント検出部4に基準データとし
て設定する。この条件には種々のものが考えられるがこ
こでは特定しない。例えば、CPUが割り込みを発生す
るとか、ある特定のアドレスをアクセスするとかであ
る。また、同様にしてイベント検出部5にカウント終了
の条件を設定しておく。これらイベント検出部は、CP
U1の状態をCPU実行状態データとして入力してい
る。イベント検出部4とイベント検出部5に設定した基
準データは、CPU1から入力されるCPU実行状態デ
ータと比較される。
【0027】カウンタ制御部6は、カウンタ7を制御す
る機能を有している。カウンタ7を制御するためのコマ
ンドなどは、入出力部3を通して入力される。カウンタ
7をリセットするためのリセット信号17、データをプ
リセットするための制御線15、データバス16など
で、カウンタ7を制御する。
る機能を有している。カウンタ7を制御するためのコマ
ンドなどは、入出力部3を通して入力される。カウンタ
7をリセットするためのリセット信号17、データをプ
リセットするための制御線15、データバス16など
で、カウンタ7を制御する。
【0028】まず、前述した方法でイベント検出部4、
およびイベント検出部5に基準値を設定する。次にカウ
ンタ制御部6に対して、カウンタ7をカウント可能状態
にするようなコマンドを、バス13を通して半導体1の
外部より発行する。これは、コマンドでなくても制御信
号でもかまわない。このような状態で、CPU2の状態
が、設定した基準値とイベント検出部4で比較される。
一致した場合には、イベント検出部4でカウント開始信
号11としてカウンタ制御部6に出力される。出力され
るとカウンタ制御部6は、カウント開始信号18をカウ
ンタ7に対して出力する。
およびイベント検出部5に基準値を設定する。次にカウ
ンタ制御部6に対して、カウンタ7をカウント可能状態
にするようなコマンドを、バス13を通して半導体1の
外部より発行する。これは、コマンドでなくても制御信
号でもかまわない。このような状態で、CPU2の状態
が、設定した基準値とイベント検出部4で比較される。
一致した場合には、イベント検出部4でカウント開始信
号11としてカウンタ制御部6に出力される。出力され
るとカウンタ制御部6は、カウント開始信号18をカウ
ンタ7に対して出力する。
【0029】この結果カウンタ7は、カウントアップ信
号であるカウントクロック8に基づきカウント動作を行
なう。このカウントアップ信号としては、通常、CPU
2の実行クロックが入力される。さらに、イベント検出
部5で、CPU2の状態を設定した基準値と比較され
る。一致した場合には、イベント検出部5でカウント終
了信号12としてカウンタ制御部6に出力される。出力
されるとカウンタ制御部6は、カウント終了信号19を
カウンタ7に対して出力する。終了信号19が入力され
るとカウンタ7は、カウント動作を停止する。この後
に、入出力部3を経由してカウンタ7のデータを読み出
す。
号であるカウントクロック8に基づきカウント動作を行
なう。このカウントアップ信号としては、通常、CPU
2の実行クロックが入力される。さらに、イベント検出
部5で、CPU2の状態を設定した基準値と比較され
る。一致した場合には、イベント検出部5でカウント終
了信号12としてカウンタ制御部6に出力される。出力
されるとカウンタ制御部6は、カウント終了信号19を
カウンタ7に対して出力する。終了信号19が入力され
るとカウンタ7は、カウント動作を停止する。この後
に、入出力部3を経由してカウンタ7のデータを読み出
す。
【0030】これをどのようにして、アプリケーション
の実行時間測定に用いるかを以下に説明する。まず、測
定したいアプリケーションの実行開始アドレスをイベン
ト検出部4に設定し、実行終了アドレスをイベント検出
部5に設定する。例えば、リアルタイムOS上でアプリ
ケーションが起動されるのは通常割り込みであるので、
ある割り込み処理のアドレスを設定すれば良い。CPU
2が実行開始アドレスをアクセスするとカウンタ7がカ
ウントを開始し、イベント検出部5で終了条件がみたさ
れるまで続ける。このカウンタ7の値を読めば、どのく
らい時間がかかったかがわかる。
の実行時間測定に用いるかを以下に説明する。まず、測
定したいアプリケーションの実行開始アドレスをイベン
ト検出部4に設定し、実行終了アドレスをイベント検出
部5に設定する。例えば、リアルタイムOS上でアプリ
ケーションが起動されるのは通常割り込みであるので、
ある割り込み処理のアドレスを設定すれば良い。CPU
2が実行開始アドレスをアクセスするとカウンタ7がカ
ウントを開始し、イベント検出部5で終了条件がみたさ
れるまで続ける。このカウンタ7の値を読めば、どのく
らい時間がかかったかがわかる。
【0031】<実施形態の応用例>図2は、上記実施形
態のデバッガ内臓マイクロプロセッサを利用した、応用
例の回路構成ブロック図である。本応用例は、実施形態
で記載した半導体1に、さらに、イベント検出部104
および105、カウンタ値保持回路108および10
9、読み出し回路112、を追加して構成している。
態のデバッガ内臓マイクロプロセッサを利用した、応用
例の回路構成ブロック図である。本応用例は、実施形態
で記載した半導体1に、さらに、イベント検出部104
および105、カウンタ値保持回路108および10
9、読み出し回路112、を追加して構成している。
【0032】上記の実施形態ではイベント検出部4およ
び5を1組みとして有しているが、本応用例では、さら
にイベント検出部104および105の1組が追加さ
れ、この追加したイベント検出部104、105に対応
したカウンタ保持回路108、109、並びに、このカ
ウンタ保持回路108、109の保持値の読み出しを行
う読み出し回路112が追加されている。
び5を1組みとして有しているが、本応用例では、さら
にイベント検出部104および105の1組が追加さ
れ、この追加したイベント検出部104、105に対応
したカウンタ保持回路108、109、並びに、このカ
ウンタ保持回路108、109の保持値の読み出しを行
う読み出し回路112が追加されている。
【0033】上記構成部のイベント検出部104、10
5では、実施形態1で記載したイベント検出部4、5と
同様に、CPUの実行状態データをCPU2から信号線
100を通して入力している。また、同様に、カウント
を開始する条件を、前述の入出力部3を通じて信号線1
01、103を通してイベント検出部104、105に
基準データとして設定する。
5では、実施形態1で記載したイベント検出部4、5と
同様に、CPUの実行状態データをCPU2から信号線
100を通して入力している。また、同様に、カウント
を開始する条件を、前述の入出力部3を通じて信号線1
01、103を通してイベント検出部104、105に
基準データとして設定する。
【0034】カウンタ値保持回路108と109は、イ
ベント検出部104、105から出力されるイベント一
致信号106、107により、カウンタの値を保持す
る。例えば、イベント検出部104にあるモジュールの
先頭のアドレスを比較値として設定し、イベント検出部
105にはこのモジュールの最後のアドレスを比較値と
して設定しておく。まず、カウンタ7が動作を始める。
この後、CPUがイベント検出部104で設定した状態
になると、イベント検出部104からイベント一致信号
106が出力され、この信号を基に保持回路108にそ
の時のカウンタ値が保持される。さらにCPUでの処理
が進み、イベント検出部105に設定した値になると、
イベント検出部105より一致信号107が出力され、
この信号を基に保持回路109にその時のカウンタ値が
保持される。
ベント検出部104、105から出力されるイベント一
致信号106、107により、カウンタの値を保持す
る。例えば、イベント検出部104にあるモジュールの
先頭のアドレスを比較値として設定し、イベント検出部
105にはこのモジュールの最後のアドレスを比較値と
して設定しておく。まず、カウンタ7が動作を始める。
この後、CPUがイベント検出部104で設定した状態
になると、イベント検出部104からイベント一致信号
106が出力され、この信号を基に保持回路108にそ
の時のカウンタ値が保持される。さらにCPUでの処理
が進み、イベント検出部105に設定した値になると、
イベント検出部105より一致信号107が出力され、
この信号を基に保持回路109にその時のカウンタ値が
保持される。
【0035】次に、この保持回路108、109に設定
されたデータを読み出し回路112を通して読み出す。
この値の差分を見ることにより実行していた期間が把握
できる。
されたデータを読み出し回路112を通して読み出す。
この値の差分を見ることにより実行していた期間が把握
できる。
【0036】尚、上述の実施形態は本発明の好適な実施
の一例である。但し、これに限定されるものではなく、
本発明の要旨を逸脱しない範囲内において種々変形実施
が可能である。
の一例である。但し、これに限定されるものではなく、
本発明の要旨を逸脱しない範囲内において種々変形実施
が可能である。
【0037】
【発明の効果】以上の説明より明かなように、本発明の
デバッガ内蔵マイクロプロセッサは、所定のCPUの動
作状態を被検出データとして入力し、この被検出データ
の検出結果を出力し、所定の保持された基準値と被検出
データとを比較し、この比較の結果を出力する。出力さ
れた結果のカウントを制御し、CPUのプログラム動作
をデバッグするデバッグ機能部を一の半導体上に構成し
ている。本構成によれば、RAMを必要としないため回
路サイズがコンパクトであり、このため一つの半導体内
に実装可能となる。また、任意のアドレスにおいてカウ
ントの開始および終了ができ、高精度で、また使い勝手
も向上する。
デバッガ内蔵マイクロプロセッサは、所定のCPUの動
作状態を被検出データとして入力し、この被検出データ
の検出結果を出力し、所定の保持された基準値と被検出
データとを比較し、この比較の結果を出力する。出力さ
れた結果のカウントを制御し、CPUのプログラム動作
をデバッグするデバッグ機能部を一の半導体上に構成し
ている。本構成によれば、RAMを必要としないため回
路サイズがコンパクトであり、このため一つの半導体内
に実装可能となる。また、任意のアドレスにおいてカウ
ントの開始および終了ができ、高精度で、また使い勝手
も向上する。
【図1】本発明のデバッガ内臓マイクロプロセッサの実
施形態の回路構成ブロック図である。
施形態の回路構成ブロック図である。
【図2】応用例の回路構成ブロック図である。
【図3】従来の被デバッグCPUをデバッグするデバッ
ガの回路構成例を示している。
ガの回路構成例を示している。
1 半導体 2 CPU 3 入出力部 4 イベント検出部 5 イベント検出部 6 カウンタ制御部 7 カウンタ 8 カウントアップ信号 9 CPU実行状態データ 10 CPU実行状態データ 11 カウント開始信号 12 カウント終了信号 13 データバス 14 データバス 15 カウンタ制御線 16 データバス 17 リセット信号 18 カウント開始制御信号 19 カウント終了制御信号 20 データバス 21 動作クロック 104、105 イベント検出部 106、107 イベント一致信号 108、109 カウンタ保持回路 112 読み出し回路
Claims (6)
- 【請求項1】 所定のCPUの動作状態を被検出データ
として入力し、該被検出データの検出結果を出力する入
出力部と、 所定の保持された基準値と前記被検出データとを比較
し、該比較の結果を出力する2つのイベント検出部と、 該出力された結果をカウントするカウンタと、 該カウンタを前記一方のイベント検出部の結果に基づき
カウント可能状態とし、且つ他方のイベント検出部の検
出結果によりカウント停止状態とするカウンタ制御部と
を有し、 前記所定のCPUと該CPUのプログラム動作をデバッ
グするデバッグ機能部とが一の半導体上に構成されたこ
とを特徴とするデバッガ内蔵マイクロプロセッサ。 - 【請求項2】 前記カウンタ制御検出部は、カウントア
ップ信号であるカウントクロックに基づき前記カウンタ
のカウント動作を行なわせることを特徴とする請求項1
記載のデバッガ内蔵マイクロプロセッサ。 - 【請求項3】 前記カウントアップ信号は、前記CPU
の実行クロックであることを特徴とする請求項1または
2記載のデバッガ内蔵マイクロプロセッサ。 - 【請求項4】 前記イベント検出部は、前記基準値と前
記カウンタのカウント数とを比較し、該比較結果が一致
した場合にはカウント終了信号を前記カウンタ制御部に
出力することを特徴とする請求項1から3の何れか1項
に記載のデバッガ内蔵マイクロプロセッサ。 - 【請求項5】 前記イベント検出部は、前記基準値を保
持する保持手段を具備し、該保持手段は前記入出力部を
介して入力された前記基準値を保持することを特徴とす
る請求項1から4の何れか1項に記載のデバッガ内蔵マ
イクロプロセッサ。 - 【請求項6】 前記デバッガ内蔵マイクロプロセッサ
は、前記2つのイベント検出部を1組とし少なくとも2
組のイベント検出部と、前記カウンタのカウント数値を
保持する保持回路と、前記カウント数値を読み出す読み
出し回路とを有し、前記CPUの実行期間の把握を可能
としたことを特徴とする請求項1から5の何れか1項に
記載のデバッガ内蔵マイクロプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9221842A JPH1165897A (ja) | 1997-08-19 | 1997-08-19 | デバッガ内蔵マイクロプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9221842A JPH1165897A (ja) | 1997-08-19 | 1997-08-19 | デバッガ内蔵マイクロプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1165897A true JPH1165897A (ja) | 1999-03-09 |
Family
ID=16773053
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9221842A Pending JPH1165897A (ja) | 1997-08-19 | 1997-08-19 | デバッガ内蔵マイクロプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1165897A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2380827A (en) * | 2001-10-12 | 2003-04-16 | Siroyan Ltd | Debugging of processors using two separate event detectors |
| JP2012133752A (ja) * | 2010-11-29 | 2012-07-12 | Denso Corp | マイクロコンピュータ |
| WO2021048964A1 (ja) * | 2019-09-12 | 2021-03-18 | サンケン電気株式会社 | プロセッサ及びイベント処理方法 |
-
1997
- 1997-08-19 JP JP9221842A patent/JPH1165897A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2380827A (en) * | 2001-10-12 | 2003-04-16 | Siroyan Ltd | Debugging of processors using two separate event detectors |
| JP2012133752A (ja) * | 2010-11-29 | 2012-07-12 | Denso Corp | マイクロコンピュータ |
| WO2021048964A1 (ja) * | 2019-09-12 | 2021-03-18 | サンケン電気株式会社 | プロセッサ及びイベント処理方法 |
| JPWO2021048964A1 (ja) * | 2019-09-12 | 2021-03-18 | ||
| CN114258516A (zh) * | 2019-09-12 | 2022-03-29 | 三垦电气株式会社 | 处理器和事件处理方法 |
| US11868825B2 (en) | 2019-09-12 | 2024-01-09 | Sanken Electric Co., Ltd. | Processor and event processing method |
| CN114258516B (zh) * | 2019-09-12 | 2024-05-14 | 三垦电气株式会社 | 处理器和事件处理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6598178B1 (en) | Peripheral breakpoint signaler | |
| JPH0743653B2 (ja) | 割込みコントローラ | |
| US6678838B1 (en) | Method to track master contribution information in a write buffer | |
| US20100011250A1 (en) | Microcontroller information extraction system and method | |
| JPS6120145A (ja) | マイクロプロセツサ動作解析装置 | |
| EP0166431A2 (en) | An information processing apparatus having an instruction prefetch circuit | |
| US6473841B1 (en) | Signal processing apparatus with memory access history storage | |
| US6877113B2 (en) | Break determining circuit for a debugging support unit in a semiconductor integrated circuit | |
| WO2006093554A2 (en) | Method and appparatus for qualifying debug operation using source information | |
| US6269454B1 (en) | Maintaining object information concurrent with data optimization for debugging | |
| JPH0447340B2 (ja) | ||
| JPH1165897A (ja) | デバッガ内蔵マイクロプロセッサ | |
| JPH08171504A (ja) | エミュレ−ション装置 | |
| JPH0581087A (ja) | プロセサのモニタ方式 | |
| JP2760228B2 (ja) | キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ | |
| JP2902861B2 (ja) | トレース機能付バッファ装置 | |
| JP2940000B2 (ja) | シングルチップマイクロコンピュータ | |
| JPH0736735A (ja) | デバッグ装置 | |
| JPS59144958A (ja) | デ−タ処理装置 | |
| JPH0573347A (ja) | エミユレーシヨン装置 | |
| SU1746385A1 (ru) | Устройство дл контрол времени выполнени программ | |
| US7206926B2 (en) | Programmable unit including program operation unit and associated stopping device | |
| CN118672811A (zh) | 程序异常分析方法、装置、电子设备及存储介质 | |
| JPH0695913A (ja) | デバッグ装置 | |
| JPH07191877A (ja) | コンピュータデバッグ装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000912 |