JP3133730B2 - 割り込み方法及び回路 - Google Patents

割り込み方法及び回路

Info

Publication number
JP3133730B2
JP3133730B2 JP10324080A JP32408098A JP3133730B2 JP 3133730 B2 JP3133730 B2 JP 3133730B2 JP 10324080 A JP10324080 A JP 10324080A JP 32408098 A JP32408098 A JP 32408098A JP 3133730 B2 JP3133730 B2 JP 3133730B2
Authority
JP
Japan
Prior art keywords
interrupt
circuit
timer
output
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.)
Expired - Fee Related
Application number
JP10324080A
Other languages
English (en)
Other versions
JP2000148536A (ja
Inventor
友喜 綾部
Original Assignee
日本電気アイシーマイコンシステム株式会社
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 日本電気アイシーマイコンシステム株式会社 filed Critical 日本電気アイシーマイコンシステム株式会社
Priority to JP10324080A priority Critical patent/JP3133730B2/ja
Publication of JP2000148536A publication Critical patent/JP2000148536A/ja
Application granted granted Critical
Publication of JP3133730B2 publication Critical patent/JP3133730B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、割り込み方法及び
回路に関し、特に、割り込みの発生/状態遷移を検知す
る割り込み方法及び回路に関する。
【0002】
【従来の技術】マイクロコンピュータシステムにおける
割り込み要因は、外部からの割り込み要求(INT入
力)、内蔵I/Oからの割り込み要求、専用命令実行に
よる例外処理などがある。
【0003】近年、マイクロコンピュータシステムの性
能/機能向上はめざましく、割り込み要因の増加/多様
化が進んでいる。組み込み分野においては、割り込み処
理がキーアイテムであり、システムの高性能化/高機能
化/ワンチップ化が進む現状では、開発期間が増加する
傾向にある。この反面、開発環境(インサーキットエミ
ュレータ、デバッガなど)の操作面/機能面での充実は
遅れており、特にリアルタイムでクリティカルな処理の
多い割り込みに関しては十分な開発環境が用意されてい
ないのが実状である。また、マイクロコンピュータシス
テムの種類によってはインサーキットエミュレータが用
意されておらず、さらに今後、マイクロコンピュータシ
ステムの高性能化/高速化が進むことを考えれば、従来
形式のインサーキットエミュレータに限界があることは
明らかである。
【0004】ここで、図面を参照しながら、従来の割り
込み回路および割り込み処理方法と割り込処理時間の測
定方法について説明する。
【0005】図11は、従来の割り込み回路のブロック
図、図12および図13は、マイクロコンピュータシス
テムシステム(ターゲットボード)のブロック図、図1
4は、マイクロコンピュータシステムシステム(インサ
ーキットエミュレータ+ターゲットボード)のブロック
図、図15は、図14のインサーキットエミュレータ1
31の詳細ブロック図、図16は、割り込み後処理のフ
ローチャート、図17、図18、図19および図20
は、プログラムの状態遷移図である。
【0006】図11を参照すると、外部および内蔵I/
Oからの割り込み要求を受け付ける割り込み入力回路1
0、前記割り込み入力回路10からの出力を選択する割
り込み選択回路11、前記割り込み選択回路11からの
出力で割り込み処理の開始/終了の制御を行う割り込み
制御回路12、前記割り込み制御回路12からの出力で
CPUに対する割り込み要求の調停を行う割り込み要求
回路14、前記割り込み制御回路12からの出力からハ
ンドラアドレスを生成し、CPUへ通知するハンドラア
ドレス生成回路16、割り込み発生の有無/条件などの
設定を行うマスク・レジスタ13、割り込み処理の動作
条件(優先順位、割り込み入力のサンプリング条件な
ど)の設定や割り込み処理に関する各種ステータス情報
を格納する制御レジスタ15から構成されている。
【0007】ここで、外部割り込み(INT0信号)に
関する割り込み処理の動作について説明する。最初に、
メイン・プログラムの冒頭で割り込み回路の初期化作業
を行う。具体的には、制御レジスタ15で割り込み入力
時のサンプリング条件、優先順位などの設定を行う。次
に、外部からの割り込み要求INT0信号が入力される
と、割り込み入力回路10は、前記INT0信号を割り
込み要求として受け付け、割り込み選択回路11に出力
する。前記割り込み選択回路11は、前記INT0信号
が入力されると、INT0レベルの割り込み要求とし
て、割り込み制御回路12に出力する。前記割り込み制
御回路12は、他の割り込み入力やマスク・レジスタ1
3の状態から有効な割り込み入力の選択を行う。
【0008】前記割り込み制御回路12がINT0レベ
ルの割り込みを受け付けると、有効な割り込み入力があ
ることを割り込み要求回路14に通知する。割り込み要
求回路14は、前記入力がアクティブになると、CPU
に対する割り込み要求信号INTRQ信号を出力する。
前記割り込み要求回路14は、CPUからの割り込み許
可信号INTAK信号がアクティブになると、INT0
信号に対する割り込みが許可されたことを割り込み制御
回路12に通知して、実際の割り込み処理を開始させ
る。
【0009】具体的には、前記割り込み制御回路12が
ハンドラアドレス生成回路16に、INT0信号の割り
込みが選択されたことを通知して、ハンドラアドレス:
10000Hを生成させ、CPUに出力させる。CPU
は、前記INTAK信号をアクティブにした後、メイン
・プログラムの処理を中断して、割り込み前処理を行
う。ここで、前記ハンドラアドレス(10000H:I
NT0)が入力されると、PCに前記ハンドラアドレス
をセットして、実際の割り込み処理を開始する。CPU
は、前記割り込み処理が終了すると、RETI命令を実
行して、割り込み後処理(図16参照)を行った後、メ
イン・プログラムに復帰して、処理を再開する。
【0010】次に、以上説明した割り込み処理の実行時
間測定方法について説明する。実行時間の測定にはデバ
ッガとターゲットボードを使用するが、ここでは、ター
ゲットボード単体(図12、図13参照)、及びインサ
ーキットエミュレータを使用した場合(図14参照)の
2通りの方法について説明する。
【0011】図12を参照すると、割り込み回路を内蔵
したCPU110、INT0信号を生成する外部回路4
1、前記CPU110の制御で動作するタイマ111か
ら構成されている。この場合、図17に示すように、メ
イン・プログラムの冒頭でタイマ111の初期化ルーチ
ン(S160)、割り込み処理の前後に、前記タイマ1
11のスタートルーチン(S161)、ストップルーチ
ン(S162)を埋め込む必要がある。
【0012】実際の実行時間測定は、デバッガ上でメイ
ン・プログラムおよび割り込み処理プログラムをダウン
ロードした後、プログラムを起動する。ここで、INT
0信号が入力され、割り込み要求が受け付けられると、
割り込み処理の最初でタイマ111のカウンタをクリア
し、カウント動作をスタートさせる。次に、割り込み処
理本体の命令実行が終了した後、タイマ111のカウン
ト動作をストップさせ、RETI命令の実行でメイン・
プログラムに復帰する。ここで、デバッガはタイマ11
1のカウント値から割り込み処理の実行時間を計算する
ことになる。
【0013】図18は、以上説明したタイマ111の初
期化/設定処理をTRAP命令で置き換えた場合の動作
を示したものである。この場合、割り込み処理の前後
に、実行時間測定用ポインタとしてのTRAP1命令
(S170)、TRAP2命令(S171)を埋め込む
必要がある。また、前記TRAP1命令およびTRAP
2命令に対応した処理でタイマの初期化およびカウンタ
のクリア/スタート(S172)、カウンタのストップ
(S173)を行う必要がある。
【0014】実際の実行時間測定は、デバッガ上でメイ
ン・プログラムおよび割り込み処理プログラム、TRA
P処理プログラムをダウンロードした後、プログラムを
起動する。ここで、INT0信号が入力され、割り込み
要求が受け付けられると、割り込み処理の最初でTRA
P1命令の実行によるTRAP1処理ルーチン内でタイ
マ111の初期化、カウンタのクリア/スタートを行
う。次に、割り込み処理本体の命令実行を再開するが、
ここで、TRAP2命令が実行されるとTRAP2処理
が起動され、タイマ111のカウンタをストップし、再
度、割り込み処理本体に復帰することになる。最後に、
RETI命令の実行でメイン・プログラムに復帰する。
ここで、デバッガはタイマ111のカウント値から割り
込み処理の実行時間を計算することになる。
【0015】図13では、CPU120に前記タイマ1
11と同等機能のタイマが内蔵されているが、基本的な
動作は図12の場合と同様である。
【0016】次に、図14を参照すると、インサーキッ
トエミュレータを接続するCPUソケット130、IN
T0信号を生成する外部回路41、インサーキットエミ
ュレータ131で構成されている。図15は、前記イン
サーキットエミュレータ131の詳細ブロック図であ
り、エバレーションチップ140、外部メモリ141、
エミュレータ制御回路142から構成されている。前記
エバレーションチップ140は、割り込み回路を内蔵し
たCPU143、エミュレーション機能を実現するため
のエバレーション回路144から成り、前記エバレーシ
ョン回路144は制御レジスタ145、イベント回路1
46、タイマ147、トレース回路148から構成され
ている。
【0017】実際の実行時間測定は、デバッガ上でメイ
ン・プログラムおよび割り込み処理プログラムをダウン
ロードした後、割り込み処理本体の最初と最後に実行時
間測定用のポインタ(S180、S181)を指定す
る。具体的には、CPU143で実行時間測定の条件
(制御レジスタ145)の設定、実行時間測定の開始点
・終了点のプログラムカウンタ(PC)の値(イベント
回路146)の設定と、タイマ147の初期化を行う。
次に、デバッガ上でプログラムを起動させる。ここで、
INT0信号が入力され、割り込み要求が受け付けられ
ると、割り込み処理の最初の命令実行で前記イベント回
路146に設定した開始点とPCの値が一致するため、
タイマ147のスタート・イベントが発生し、カウント
動作がスタートすることになる。以後、割り込み処理本
体の命令を実行するが、最後の命令が実行された段階
で、前記イベント回路146に設定した終了点とPCの
値が一致するため、タイマ147のストップ・イベント
が発生し、カウント動作がストップする。最後に、RE
TI命令の実行でメイン・プログラムに復帰する。ここ
で、デバッガはタイマ147のカウント値から割り込み
処理の実行時間を計算することになる。
【0018】次に、インサーキットエミュレータのトレ
ース機能を使用した場合の実行時間測定方法について説
明する。前記トレース機能は、CPU143でトレース
条件の設定(制御レジスタ145、トレース回路14
8)を行うことで、トレースデータの格納が有効にな
る。実際の実行時間測定は、デバッガ上でメイン・プロ
グラムおよび割り込み処理プログラムをダウンロードし
た後、メイン・プログラムでトレース範囲の指定(S1
90、S191)を行う。次に、プログラムを起動する
ことになるが、この時、エバレーションチップ140
は、1つの命令を実行するごとにトレースデータ(アド
レス、ステータス、クロックのタイムスタンプ、命令な
ど)を、外部メモリ141に格納する。
【0019】前記トレース中に発生するINT0信号の
割り込み処理の命令実行(トレースデータ)も同様に、
外部メモリ141に格納されることになる。デバッガ
は、トレースを終了すると、外部メモリ141に格納さ
れているトレースデータの情報から割り込み処理の実行
時間を計算することになる。
【0020】
【発明が解決しようとする課題】しかし、従来の割り込
み方法の第1の問題点(デバッガ+ターゲットボードの
場合)は、タイマの初期化/設定のためのプログラムを
ユーザ・プログラムに埋め込む必要があることである。
また、タイマを内蔵していないCPUでは、ターゲット
ボード上に実行時間測定用のタイマが必要となる。この
ため、開発工数/費用が増加することになる。その理由
は、割り込み処理プログラム(割り込みの発生に伴う)
の実行時間測定の開始/終了を指定することができない
からである。
【0021】第2の問題点(デバッガ+ターゲットボー
ドの場合)は、前記プログラムの埋め込みによる実行時
間測定では結果が不正確になることである。その理由
は、本来、不要なタイマ設定のためのプログラム実行時
間が加算されるためである。また、タイマの分解能が低
い場合はタイマ自身の精度も実行時間に影響を与えるこ
とになる。
【0022】第3の問題点(デバッガ+ターゲットボー
ドの場合)は、割り込み処理を実行している間の時間で
ある割り込み処理時間しか測定できないことである。そ
の理由は、割り込み入力および割り込み処理前後の内部
処理の状態を識別するような手段がないからである。
【0023】第4の問題点(デバッガ+インサーキット
エミュレータ+ターゲットボードの場合)は、割り込み
処理に関する各種実行時間、すなわち割り込み前処理時
間、割り込み処理時間、割り込み後処理時間の測定条件
(最大値/最小値など)を指定して、測定することが困
難であることである。その理由は、トレースデータを格
納するための外部メモリが有限であるため、すべてのト
レースデータをリアルタイムで格納(通常は、数秒間程
度)できないからである。又、CPUによっては、すべ
ての命令実行をトレースできない。たとえば、キャッシ
ュメモリを内蔵したCPUでは、命令実行をすべてトレ
ースできるわけではない。
【0024】第5の問題点(デバッガ+インサーキット
エミュレータ+ターゲットボードの場合)は、命令実行
(割り込み処理も含む)による各種トレースデータのリ
アルタイムでの結果格納に限界があることである。その
理由は、CPUの動作クロックの高速化により、従来形
式のインサーキットエミュレータ(図14、図15参
照)を実現することが困難であるからである。
【0025】そこで、本発明は、割り込み処理時間を高
精度かつ複数の条件で測定することができる割り込み方
法及び回路を提供することを課題としている。
【0026】又、本発明は、割り込み処理時の各種ステ
ータスや実行時間測定結果の格納条件を指定することが
できる割り込み方法及び回路を提供することを課題とし
ている。
【0027】
【課題を解決するための手段】上記の課題を解決するた
めの本発明の割り込み回路は、割込み要求を受け付ける
割り込み入力回路と、前記割り込み入力回路からの出力
を選択する割り込み選択回路と、前記割り込み選択回路
からの出力で割り込み処理の開始及び終了の制御を行う
割り込み制御回路と、前記割り込み制御回路からの出力
で割込み要求の調停を行う割込み要求回路と、割り込み
処理の実行時間を測定する条件及びステータス情報を格
納する拡張レジスタと、前記実行時間を測定するタイマ
回路と、前記タイマ回路を制御する割り込み診断回路と
を有する割り込み回路である。そして、前記割り込み診
断回路は、前記割り込み入力回路からの出力と、前記割
り込み制御回路からの出力と、前記拡張レジスタからの
出力と、前記割込み要求回路から出力されるCPU(中
央演算処理装置)に対する割込み要求信号と、前記CP
Uからの割り込み許可信号、及び前記CPUからのステ
ータス情報とに基いて、タイマ回路を制御する。又、前
記タイマ回路は、クロック信号で動作するタイマと、前
記タイマのカウント値を取り込む複数のキャプチャレジ
スタとを有し、前記キャプチャレジスタは前記割り込み
診断回路からの出力をトリガとして前記タイマのカウン
ト値を取り込み、前記割り込み入力回路が前記割り込み
要求を受け付けてから割り込み終了までの所要時間を2
以上の区間に区分して計時するようにしている。
【0028】又、本発明の割り込み方法は、上述した割
り込み回路を用いて、割込み要求信号の入力に基いて、
割り込み入力回路の出力をアクティブにして、前記タイ
マ回路のタイマをスタートさせ、前記タイマのカウント
値を、前記割込み要求信号、CPU(中央演算処理装
置)からの割り込み許可信号、割り込み開始信号、割り
込み終了信号、メインプログラムへの復帰信号をそれぞ
れトリガとして、前記タイマ回路が備えるそれぞれのキ
ャプチャレジスタに取り込み、前記キャプチャレジスタ
の出力に基いて、割り込み待ち時間と、割り込み前処理
時間と、割り込み処理時間と、割り込み後処理時間とを
測定するようにしている。
【0029】すなわち、本発明においては、マイクロコ
ンピュータシステムに内蔵されている割り込み回路に割
り込み診断回路を付加することにより、通常の割り込み
処理の実行に加え、該割り込み処理の各種実行時間の測
定(実時間と同等の精度)およびステータス情報の選択
/格納を、専用のインサーキットエミュレータを使用す
ることなく、実行している。
【0030】
【発明の実施の形態】以下、図面を参照して、発明の実
施の形態について説明する。図1に示すように、本発明
の割り込み回路は、外部および内蔵I/Oからの割り込
み要求を受け付ける割り込み入力回路10、前記割り込
み入力回路10からの出力を選択する割り込み選択回路
11、前記割り込み選択回路11からの出力で割り込み
処理の開始/終了の制御を行う割り込み制御回路12、
前記割り込み制御回路12からの出力でCPUに対する
割り込み要求の調停を行う割り込み要求回路14、前記
割り込み制御回路12からの出力からハンドラアドレス
を生成し、CPUへ通知するハンドラアドレス生成回路
16、実行時間の測定を行うタイマ回路19、前記割り
込み入力回路10からの出力と前記割込み制御回路12
からの出力と割込み要求回路14からの出力と拡張レジ
スタ17の出力とCPUからのステータス情報(CPU
ST信号)とに基いてタイマ回路19を制御する割り込
み診断回路18、前記タイマ回路19および拡張レジス
タ17の内容を格納する格納レジスタ100、割り込み
発生の有無/条件などの設定を行うマスク・レジスタ1
3、割り込み処理の動作条件(優先順位、割り込み入力
のサンプリング条件など)の設定や割り込み処理に関す
る各種ステータス情報を格納する制御レジスタ15、前
記割り込み診断回路18、前記タイマ回路19および格
納レジスタ100の動作条件の設定および割り込み処理
(割り込み診断:実行時間測定時)に関する各種ステー
タス情報を格納する拡張レジスタ17から構成されてい
る。
【0031】図2はタイマ回路19の詳細ブロック図で
あり、CLK信号を基準に動作するタイマ20、前記割
り込み診断回路18の出力から前記タイマ20のカウン
ト値を取り込んで格納するキャプチャ・レジスタ21か
ら構成されている。
【0032】図1及び図2に示すように、制御レジスタ
15および拡張レジスタ17で割り込み処理の動作条件
と割り込み処理の実行時間測定条件、ステータス情報の
選択/格納条件を設定する。ここで、割り込み要求が入
力されると、割り込み診断回路18、タイマ回路19は
前記拡張レジスタ17で設定された条件(実行時間測
定)で実行時間の測定を行う。割り込み処理が終了する
と、前記拡張レジスタ17で設定された条件(ステータ
ス情報の選択/格納)でキャプチャ・レジスタ21およ
び前記拡張レジスタ17の任意レジスタの内容を格納レ
ジスタ100(内蔵メモリ90)に格納して、プログラ
ムの実行を再開する。これにより、複数のクリティカル
な割り込み処理のデバッグ/評価を行う。
【0033】図3は、本発明の割り込み方法によるプロ
グラムの状態遷移図である。図3を参照して、外部割り
込み(INT0信号)に関する割り込み処理、実行時間
測定およびステータス情報の格納を行う場合の動作につ
いて説明する。
【0034】最初に、メイン・プログラムの冒頭で割り
込み回路の初期化作業を行う。具体的には、制御レジス
タ15と、拡張レジスタ17で割り込み処理の動作条件
と割り込み処理の実行時間測定条件(図4のT80、T
81、T82、T83区間の測定を設定)、ステータス
格納条件(実行時間測定結果、割り込み処理発生時の割
り込み要求入力の状態、プログラムカウンタPC、プロ
グラムステータスワードPSWの格納条件)を設定す
る。
【0035】図4には、各種実行時間、すなわち、IN
T0入力からINT0受付までの区間を割り込み待ち状
態時間T80とし、割り込み前処理時間T81、割り込
み処理時間T82、及び割り込み後処理開始からINT
0終了までの区間を割り込み後処理時間T83として、
それぞれ図示している。
【0036】次に、外部からの割り込み要求INT0信
号が入力されると、割り込み入力回路10は、前記IN
T0信号を割り込み要求として受け付け、割り込み選択
回路11および割り込み診断回路18に出力する。前記
割り込み選択回路11は、前記INT0信号が入力され
ると、INT0レベルの割り込み要求として、割り込み
制御回路12に出力する。割り込み診断回路18は、前
記割り込み入力回路10からの出力がアクティブになる
と、Timer信号(図2参照)を出力して、タイマ2
0のクリア/スタートを行い、さらに、T80区間の実
行時間測定のための開始条件であるINT0信号(図2
参照)をトリガにして、前記タイマ20のカウント値を
キャプチャ・レジスタ0に取り込む。
【0037】前記割り込み制御回路12は、他の割り込
み入力やマスク・レジスタ13の状態から有効な割り込
み入力の選択を行う。前記割り込み制御回路12がIN
T0レベルの割り込みを受け付けると、有効な割り込み
入力があることを割り込み要求回路14に通知する。割
り込み要求回路14は、前記入力がアクティブになる
と、CPUに対する割り込み要求信号INTRQ信号を
出力する。前記割り込み要求回路14は、CPUからの
割り込み許可信号INTAK信号がアクティブになる
と、INT0レベルに対する割り込みが許可されたこと
を割り込み制御回路12に通知して、実際の割り込み処
理を開始させる。具体的には、前記割り込み制御回路1
2がハンドラアドレス生成回路16に、INT0レベル
の割り込みが選択されたことを通知して、ハンドラアド
レスを生成させ、CPUに出力させる。
【0038】図5は、ハンドラアドレスの一例を示す表
である。
【0039】又、図6に示すように、ターゲットボード
は、割り込み診断回路を搭載したCPU40とINT0
信号を生成する外部回路41で構成されている。上述し
た通り、外部回路からINT0がCPU40に入力され
ている。
【0040】図7は、割り込み前処理のフローチャート
である。図7を参照して、INT0入力後のCPUの動
作について説明する。CPUは、前記ハンドラアドレス
(10000H:INT0)が入力されると、メイン・
プログラムの処理を中断して、前記ハンドラアドレスか
らの命令の実行を開始する。割り込み診断回路18は、
前記INTAK信号がアクティブになった段階で、これ
をトリガ(T81区間の実行時間測定の開始条件)にし
て、タイマ20のカウント値をキャプチャ・レジスタ1
に取り込む。次に、割り込み処理の開始を示すCPUS
T信号(図2のINTSRT信号がアクティブ)をトリ
ガ(T82区間の実行時間測定の開始条件)にして、タ
イマ20のカウント値をキャプチャ・レジスタ2に取り
込む。ここで、INT0レベルの割り込み処理本体の命
令実行が終了すると、割り込み処理本体の終了を示すC
PUST信号(図2のINTEND信号がアクティブ)
をトリガ(T83区間の実行時間測定の開始条件)にし
て、タイマ20のカウント値をキャプチャ・レジスタ3
に取り込む。最後に、RETI命令の実行でメイン・プ
ログラムに復帰して、処理を再開する(図3参照)。こ
の時、割り込み診断回路18は、割り込み処理の終了を
示すCPUST信号(図2のPRGSRT信号がアクテ
ィブ)をトリガ(T83区間の実行時間測定の終了条
件)にして、タイマ20のカウント値をキャプチャ・レ
ジスタ4に取り込む。
【0041】図8は割り込み後処理のフローチャートで
ある。図8に示すように、割り込み処理時のステータス
情報(割り込み発生時の割り込み入力の状態)を拡張レ
ジスタ17から読み出し、PC、PSW、キャプチャ・
レジスタ21(実行時間測定結果)の内容と併せて、格
納レジスタ100に格納する。
【0042】実際の実行時間の計算は、前記格納レジス
タ100に格納されているカウント値から求めることに
なる。例えば、T80区間の場合は、次のような式で求
められる。
【0043】T80=(キャプチャ・レジスタ1−キャ
プチャ・レジスタ0)*1/(CLK周期) 以上の動作により、INT0レベルの割り込み処理と実
行時間測定/ステータス格納を同時に行うことが可能と
なる。
【0044】以上の説明においては、INT0信号の単
一割り込みが発生した場合を前提としたが、複数の割り
込み入力の実行時間測定も、キャプチャ・レジスタ21
を複数用意することで実現可能であることは明らかであ
る。また、ステータス情報の選択/格納の条件設定を細
分化することで、さらに、高機能な割り込み情報を提供
することが可能となる。
【0045】図9に示すように、例えば、ある割り込み
入力の割り込み処理の実行時間が最大値の場合を測定す
るような設定を行った場合、実行時間測定結果を格納す
る割り込み後処理で前回の割り込み処理時に格納したカ
ウント値との比較を行うことで、本機能を実現する。
【0046】以上、本発明の実施形態について説明した
が、本発明はこれに限らず、図1の格納レジスタ100
に変えて、図10に示すように、内蔵メモリ90を用い
てもよい。
【0047】図10は本発明の割り込み回路の他の実施
形態のブロック図である。図10に示す割り込み回路
は、タイマ回路19および拡張レジスタ17の内容を内
蔵メモリ90に格納する点を除いて、図1の回路と同様
である。
【0048】
【発明の効果】以上説明した本発明によれば、第1の効
果は、割り込み処理時間の測定を高精度かつ複数の条件
で測定できることである。その理由は、CPUの動作ク
ロックでのタイマ・カウント/キャプチャが可能である
こと、割り込み処理に関する各種ステータス情報(CP
UST信号など)から、割り込み処理中の任意の区間で
の実行時間測定の開始/終了を指定できるからである。
【0049】第2の効果は、システム開発(特に、組み
込み分野における通信/サーボ系のアプリケーション)
におけるデバック/評価時間を短縮することができるこ
とである。その理由は、割り込み処理時のステータス情
報、実行時間測定結果の格納条件を指定できるためであ
る。これにより、従来形式のインサーキットエミュレー
タでは実現が困難であった複数のクリティカルな割り込
みのデバック/評価をロング・レンジで実現することが
できる。
【0050】第3の効果は、本発明を実現するためのハ
ードウエア追加が非常に少ないということである。その
理由は、既存の割り込み回路と内蔵I/O(タイマ)、
内蔵メモリを組み合わせることで、本発明を実現するこ
とができるからである。
【0051】また、マイクロコンピュータシステムに本
発明を内蔵した割り込み回路を搭載することは、今後、
CPUの動作クロックの高速化で実現が困難となる従来
形式のインサーキットエミュレータやインサーキットエ
ミュレータが用意されていないマイクロコンピュータシ
ステムのデバック機能を補完するものとなる。
【図面の簡単な説明】
【図1】本発明の割り込み回路のブロック図
【図2】タイマ回路のブロック図
【図3】本発明の割り込み方法によるプログラムの状態
遷移図
【図4】割り込み実行処理を説明するためのフローチャ
ート
【図5】ハンドラアドレスの一例を示す表
【図6】本発明で使用するターゲットボードのブロック
【図7】割り込み前処理のフローチャート
【図8】割り込み後処理のフローチャート
【図9】割り込み処理時間を比較する場合のフローチャ
ート
【図10】本発明の他の割り込み回路のブロック図
【図11】従来の割り込み回路のブロック図
【図12】ターゲットボードとしてのマイクロコンピュ
ータシステムのブロック図
【図13】他のターゲットボードとしてのマイクロコン
ピュータシステムのブロック図
【図14】インサーキットエミュレータをターゲットボ
ードに接続するブロック図
【図15】インサーキットエミュレータのブロック図
【図16】従来の割り込み後処理のフローチャート
【図17】プログラムの状態遷移図
【図18】タイマの初期化/設定処理をTRAP命令で
置き換える場合のプログラムの状態遷移図
【図19】実行時間測定ポインタを用いる場合のプログ
ラムの状態遷移図
【図20】メインプログラムでトレース範囲を指定する
場合のプログラムの状態遷移図
【符号の説明】
10 割り込み入力回路 11 割り込み選択回路 12 割り込み制御回路 14 割込み要求回路 17 拡張レジスタ 18 割り込み診断回路 19 タイマ回路 100 格納レジスタ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/28 315 G06F 11/22 340 G06F 11/34

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 割込み要求を受け付ける割り込み入力回
    路と、前記割り込み入力回路からの出力を選択する割り
    込み選択回路と、前記割り込み選択回路からの出力で割
    り込み処理の開始及び終了の制御を行う割り込み制御回
    路と、前記割り込み制御回路からの出力で割込み要求の
    調停を行う割込み要求回路と、割り込み処理の実行時間
    を測定する条件及びステータス情報を格納する拡張レジ
    スタと、前記実行時間を測定するタイマ回路と、前記タ
    イマ回路を制御する割り込み診断回路と、を有する割り
    込み回路であって、 前記割り込み診断回路は、前記割り込み入力回路からの
    出力と、前記割り込み制御回路からの出力と、前記拡張
    レジスタからの出力と、前記割込み要求回路から出力さ
    れるCPU(中央演算処理装置)に対する割込み要求信
    号と、前記CPUからの割り込み許可信号、及び前記C
    PUからのステータス情報とに基いて、前記タイマ回路
    を制御し、 前記タイマ回路は、クロック信号で動作するタイマと、
    前記タイマのカウント値を取り込む複数のキャプチャレ
    ジスタとを有し、前記キャプチャレジスタは前記割り込
    み診断回路からの出力をトリガとして前記タイマのカウ
    ント値を取り込み、 前記割り込み入力回路が前記割り込み要求を受け付けて
    から割り込み終了までの所要時間を2以上の区間に区分
    して計時する ことを特徴とする割り込み回路。
  2. 【請求項2】 前記タイマ回路からの出力と、前記拡張
    レジスタからの出力とを格納する格納レジスタを備え 前記割り込み終了後に前記格納レジスタから前記所要時
    間を取り出す ことを特徴とする請求項1記載の割り込み
    回路。
  3. 【請求項3】 前記タイマ回路からの出力を、内部バス
    に接続した内メモリに格納し、 前記割り込み終了後に前記内蔵メモリから前記所要時間
    を取り出す ことを特徴とする請求項1記載の割り込み回
    路。
  4. 【請求項4】 割込み要求を受け付ける割り込み入力回
    路と、前記割り込み入力回路からの出力を選択する割り
    込み選択回路と、前記割り込み選択回路からの出力で割
    り込み処理の開始及び終了の制御を行う割り込み制御回
    路と、前記割り込み制御回路からの出力で割込み要求の
    調停を行う割込み要求回路と、割り込み処理の実行時間
    を測定する条件及びステータス情報を格納する拡張レジ
    スタと、前記実行時間を測定するタイマ回路と、前記タ
    イマ回路を制御する割り込み診断回路とを有する割り込
    み回路を用いる割込み方法であって、 割込み要求信号の入力に基いて、割り込み入力回路の出
    力をアクティブにして、前記タイマ回路のタイマをスタ
    ートさせ、 前記タイマのカウント値を、前記割込み要求信号、CP
    U(中央演算処理装置)からの割り込み許可信号、割り
    込み開始信号、割り込み終了信号、メインプログラムへ
    の復帰信号をそれぞれトリガとして、前記タイマ回路が
    備えるそれぞれのキャプチャレジスタに取り込み、 前記キャプチャレジスタの出力に基いて、割り込み待ち
    時間と、割り込み前処理時間と、割り込み処理時間と、
    割り込み後処理時間とを測定することを特徴とする割り
    込み方法。
JP10324080A 1998-11-13 1998-11-13 割り込み方法及び回路 Expired - Fee Related JP3133730B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10324080A JP3133730B2 (ja) 1998-11-13 1998-11-13 割り込み方法及び回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10324080A JP3133730B2 (ja) 1998-11-13 1998-11-13 割り込み方法及び回路

Publications (2)

Publication Number Publication Date
JP2000148536A JP2000148536A (ja) 2000-05-30
JP3133730B2 true JP3133730B2 (ja) 2001-02-13

Family

ID=18161935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10324080A Expired - Fee Related JP3133730B2 (ja) 1998-11-13 1998-11-13 割り込み方法及び回路

Country Status (1)

Country Link
JP (1) JP3133730B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040040013A1 (en) 2002-08-26 2004-02-26 Mohit Kalra Time-based breakpoints in debuggers
JP5310819B2 (ja) 2010-11-29 2013-10-09 株式会社デンソー マイクロコンピュータ

Also Published As

Publication number Publication date
JP2000148536A (ja) 2000-05-30

Similar Documents

Publication Publication Date Title
Carreira et al. Xception: Software fault injection and monitoring in processor functional units
US5301312A (en) Method and system for utilizing benign fault occurrence to measure interrupt-blocking times
US5257358A (en) Method for counting the number of program instruction completed by a microprocessor
US6598178B1 (en) Peripheral breakpoint signaler
JP4138021B2 (ja) プロセッサベースのデバイス、ソフトウェア性能プロファイリング情報をもたらす方法およびソフトウェア性能プロファイリング情報を生成し分析するためのソフトウェア開発システム
US5889981A (en) Apparatus and method for decoding instructions marked with breakpoint codes to select breakpoint action from plurality of breakpoint actions
US8180620B2 (en) Apparatus and method for performing hardware and software co-verification testing
US5754759A (en) Testing and monitoring of programmed devices
US8903703B2 (en) Dynamically adjusting speed versus accuracy of computer platform simulation
EP0084431A2 (en) Monitoring computer systems
US20110010531A1 (en) Debuggable microprocessor
US20020172320A1 (en) Hardware event based flow control of counters
US20020144235A1 (en) Debugging embedded systems
US7793160B1 (en) Systems and methods for tracing errors
US20110185153A1 (en) Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
US6331957B1 (en) Integrated breakpoint detector and associated multi-level breakpoint techniques
EP0869434A2 (en) Method for outputting trace information of a microprocessor
US7735067B1 (en) Avoiding signals when tracing user processes
EP0530816A2 (en) Microprocessor with cache memory and trace analyzer therefor
JP3133730B2 (ja) 割り込み方法及び回路
US20060259774A1 (en) Watermark counter with reload register
Cunha et al. Can software implemented fault-injection be used on real-time systems?
Lazzerini et al. Event-driven debugging for distributed software
CN100426234C (zh) 测量基本输入输出系统的自我开机测试时间的方法
US20050120348A1 (en) Method of determining information about the processes which run in a program-controlled unit during the execution of a program by the program-controlled unit

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081124

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081124

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091124

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091124

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 10

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 10

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

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20131124

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees