(57)【要約】【課題】トレース情報の情報量を十分に圧縮する。【解決手段】プログラムのデバッグ機能を有するデバッグ回路部１０を備えるマイクロコンピュータにおいて、デバッグ回路部１０は、分岐信号を識別する分岐信号識別回路１１と、分岐信号に対応付けて識別情報を設定する機能、分岐信号に応じて、ＣＰＵから入力されるアドレス情報を分岐元情報として設定する機能、分岐信号に応じて、ＣＰＵから入力されるアドレス情報を分岐先情報として設定する機能を有する情報設定回路１２と、情報設定回路１２によって設定された情報をトレース情報として出力するトレース情報出力回路１３と、を備え、分岐信号識別回路１１は、割込み分岐を示す分岐信号を割込み分岐以外の分岐を示す分岐信号と区別して識別し、情報設定回路１２は、割込み分岐以外の分岐については、分岐元情報を設定しないように構成されている。【選択図】図１
2015064865.tif 000002
【特許請求の範囲】
【請求項１】
プログラムのデバッグ機能を有するデバッグ回路部（１０）を備えるマイクロコンピュータであって、
前記デバッグ回路部は、
入力される分岐信号を識別する分岐信号識別手段（１１）と、
前記分岐信号識別手段が識別した前記分岐信号に対応付けて識別情報を設定する機能、当該分岐信号に応じて、入力されるアドレス情報を分岐元情報として設定する機能、当該分岐信号に応じて、入力されるアドレス情報を分岐先情報として設定する機能を有する情報設定手段（１２）と、
前記識別情報、前記分岐元情報、前記分岐先情報のうち前記情報設定手段によって設定された情報をトレース情報として出力するトレース情報出力手段（１３）と、を備え、
前記分岐信号識別手段は、割込み分岐を示す分岐信号を前記割込み分岐以外の分岐を示す分岐信号と区別して識別し、
前記情報設定手段は、前記割込み分岐以外の分岐については、前記分岐元情報を設定しないように構成されているマイクロコンピュータ。
【請求項２】
前回の分岐時から今回の分岐時までにＣＰＵで実行された命令数をカウントし、そのカウント値を出力するカウンタ手段（２１）をさらに備え、
前記情報設定手段は、前記カウント値に基づいて前記分岐元情報を設定するように構成されている請求項１に記載のマイクロコンピュータ。
【請求項３】
前記カウンタ手段は、カウント値が所定のオーバフロー値を超えた場合にはカウント値が所定のオーバフロー値を超えたことを示す信号を出力し、当該カウンタ値をリセットするように構成されている請求項２に記載のマイクロコンピュータ。
【請求項４】
入力される割込み要因信号を識別する割込み要因信号識別手段（３１，４１）をさらに備え、
前記情報設定手段は、前記割込み要因信号識別手段が識別した前記割込み要因信号に対応付けて前記識別情報を設定するように構成されている請求項１から３の何れか１項に記載のマイクロコンピュータ。
【請求項５】
前記分岐信号識別手段は、無条件の直接分岐を示す分岐信号、条件付きの直接分岐において条件が成立した場合を示す分岐信号、条件付きの直接分岐において条件が成立しなかった場合を示す分岐信号、間接分岐を示す分岐信号、割込み分岐を示す分岐信号を識別するように構成されている請求項１から４の何れか１項に記載のマイクロコンピュータ。
【請求項６】
前記情報設定手段は、前記割込み分岐以外の分岐である直接分岐については、前記識別情報を設定し、前記分岐元情報および前記分岐先情報を設定しないように構成されている請求項１から５の何れか１項に記載のマイクロコンピュータ。
【請求項７】
前記情報設定手段は、前記直接分岐が無条件の直接分岐である場合には、前記識別情報も設定しないように構成されている請求項６に記載のマイクロコンピュータ。
【請求項８】
前記情報設定手段は、前記割込み分岐以外の分岐である間接分岐については、前記識別情報および前記分岐先情報を設定し、前記分岐元情報を設定しないように構成されている請求項１から７の何れか１項に記載のマイクロコンピュータ。
【請求項９】
前記情報設定手段は、前記割込み分岐については、前記識別情報、前記分岐元情報および前記分岐先情報を設定するように構成されている請求項１から８の何れか１項に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータに関する。
【背景技術】
【０００２】
従来より、プログラムをデバッグする機能を有するマイクロコンピュータにおいては、ＣＰＵで実行された命令アドレスの順序を示す実行履歴をトレース情報として記録するトレース機能を備えるものが考えられている。このトレース機能においては、記録するトレース情報の情報量を圧縮することが求められている。トレース情報の情報量を圧縮する方法として、分岐発生時のみ分岐元アドレスおよび分岐先アドレスをトレース情報として記録し、分岐発生時以外には、１命令ごとにプログラムカウンタが１ずつ増加することを利用して実行履歴を再現する技術が知られている。さらに、例えば特許文献１には、無条件分岐、条件分岐発生時にトレース情報の情報量を圧縮する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４４０６１１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、無条件分岐、条件分岐以外の分岐が発生するごとに分岐元アドレスおよび分岐先アドレスをトレース情報として記録する必要があり、トレース情報の情報量を十分に圧縮することができない。
そこで、本発明は、トレース情報の情報量を十分に圧縮することができるマイクロコンピュータを提供する。
【課題を解決するための手段】
【０００５】
本発明によれば、プログラムのデバッグ機能を有するデバッグ回路部を備えるマイクロコンピュータにおいて、デバッグ回路部は、分岐信号識別手段、情報設定手段、トレース情報出力手段を備える。分岐信号識別手段は、ＣＰＵから入力される分岐信号を識別する。情報設定手段は、分岐信号識別手段が識別した分岐信号に対応付けて識別情報を設定する機能、分岐信号識別手段が識別した分岐信号に応じて、ＣＰＵから入力されるアドレス情報を分岐元情報として設定する機能、分岐信号識別手段が識別した分岐信号に応じて、ＣＰＵから入力されるアドレス情報を分岐先情報として設定する機能を有する。トレース情報出力手段は、識別情報、分岐元情報、分岐先情報のうち情報設定手段によって設定された情報をトレース情報として出力する。そして、分岐信号識別手段は、割込み分岐を示す分岐信号を割込み分岐以外の分岐を示す分岐信号と区別して識別するように構成されている。また、情報設定手段は、割込み分岐以外の分岐については、分岐元情報を設定しないように構成されている。
【０００６】
この構成によれば、分岐元情報がトレース情報として出力される分岐は割込み分岐のみとなる。従って、トレース情報の情報量を十分に圧縮することができる。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態に係るマイクロコンピュータが備えるデバッグ回路部の概略構成の一例を示すブロック図
【図２】プログラムの実行履歴およびトレース情報の一例を示す図
【図３】トレース情報復元装置による復元動作の一例を示すフローチャート（その１）
【図４】トレース情報復元装置による復元動作の一例を示すフローチャート（その２）
【図５】トレース情報復元装置による復元動作の一例を示すフローチャート（その３）
【図６】ソースプログラム、トレース情報、復元データの関係の一例を示す図
【図７】第２実施形態に係る図１相当図
【図８】第３実施形態に係る図１相当図
【図９】各割込み要因信号に対する識別情報の設定例を示す図
【図１０】図６相当図
【図１１】第４実施形態に係る図１相当図
【図１２】各分岐信号に対する識別情報の設定例を示す図
【図１３】図６相当図
【図１４】第７実施形態に係る図１相当図
【図１５】図６相当図
【図１６】第８実施形態に係る図１相当図
【発明を実施するための形態】
【０００８】
以下、マイクロコンピュータに係る複数の実施形態について図面を参照しながら説明する。なお、各実施形態で実質的に同一の要素には同一の符号を付し、説明を省略する。
（第１実施形態）
図１に示すオンチップデバッグ回路部１０（以下、「デバッグ回路部１０」と称する）は、プログラムのデバッグ機能を有する回路部であり、分岐信号識別回路１１、トレース情報設定回路１２、トレース情報出力回路１３を備える。
【０００９】
分岐信号識別回路１１は、分岐信号識別手段の一例であり、図示しないＣＰＵから入力される各種の分岐信号を識別し、その識別結果を示す情報をトレース情報設定回路１２に出力する。この場合、分岐信号識別回路１１は、無条件の直接分岐が発生したことを示す無条件直接分岐信号、条件付きの直接分岐が発生した場合においてその条件付き直接分岐において条件が成立したことを示す条件成立直接分岐信号、条件付きの直接分岐が発生した場合においてその条件付き直接分岐において条件が成立しなかったことを示す条件不成立直接分岐信号、間接分岐が発生したことを示す間接分岐信号、割込み分岐が発生したことを示す割込み分岐信号を識別するように構成されている。なお、直接分岐とは、プログラム中に分岐先アドレスが明記されている分岐である。間接分岐とは、直接分岐および割込み分岐以外の分岐であり、例えば、いわゆるレジスタ間接分岐などを含む。割込み分岐とは、実行中の処理を中断して強制的に実行された処理による分岐である。
【００１０】
トレース情報設定回路１２は、情報設定手段の一例であり、識別情報設定回路１２１、分岐元情報設定回路１２２、分岐先情報設定回路１２３を有する。識別情報設定回路１２１は、分岐信号識別回路１１が識別した分岐信号に対応付けて、各分岐信号に固有の識別情報を設定する機能を有する。この場合、識別情報設定回路１２１は、分岐信号識別回路１１が識別した分岐信号が「無条件直接分岐信号」である場合には識別情報を設定しないように構成されている。また、識別情報設定回路１２１は、分岐信号識別回路１１が識別した分岐信号が「条件成立直接分岐信号」である場合には識別情報として２ビットの情報「００」を設定し、分岐信号識別回路１１が識別した分岐信号が「条件不成立直接分岐信号」である場合には識別情報として２ビットの情報「０１」を設定し、分岐信号識別回路１１が識別した分岐信号が「間接分岐信号」である場合には識別情報として２ビットの情報「１０」を設定し、分岐信号識別回路１１が識別した分岐信号が「割込み分岐信号」である場合には識別情報として２ビットの情報「１１」を設定するように構成されている。なお、識別情報設定回路１２１が設定する識別情報は、上記した２ビットの情報に限られるものではなく、例えば３ビットの情報、４ビットの情報など適宜変更して実施することができる。
【００１１】
分岐元情報設定回路１２２は、分岐信号識別回路１１が識別した分岐信号に応じて、ＣＰＵから入力されるプログラムカウンタ値（アドレス情報）を分岐元情報として設定する機能を有する。この場合、分岐元情報設定回路１２２は、分岐信号識別回路１１が識別した分岐信号が「割込み分岐信号」である場合には、その時点でＣＰＵから入力されるプログラムカウンタ値を分岐元情報として設定するように構成されている。また、分岐元情報設定回路１２２は、分岐信号識別回路１１が識別した分岐信号が「割込み分岐信号」以外の分岐信号、つまり、「無条件直接分岐信号」、「条件成立直接分岐信号」、「条件不成立直接分岐信号」、「間接分岐信号」の何れかである場合には、その時点でＣＰＵから入力されるプログラムカウンタ値を分岐元情報として設定しないように構成されている。
【００１２】
分岐先情報設定回路１２３は、分岐信号識別回路１１が識別した分岐信号に応じて、ＣＰＵから入力されるプログラムカウンタ値（アドレス情報）を分岐先情報として設定する機能を有する。この場合、分岐先情報設定回路１２３は、分岐信号識別回路１１が識別した分岐信号が「間接分岐信号」または「割込み分岐信号」である場合には、その時点でＣＰＵから入力されるプログラムカウンタ値を分岐先情報として設定するように構成されている。また、分岐先情報設定回路１２３は、分岐信号識別回路１１が識別した分岐信号が「間接分岐信号」および「割込み分岐信号」以外の分岐信号、つまり、「無条件直接分岐信号」、「条件成立直接分岐信号」、「条件不成立直接分岐信号」の何れかである場合には、その時点でＣＰＵから入力されるプログラムカウンタ値を分岐先情報として設定しないように構成されている。
【００１３】
トレース情報出力回路１３は、トレース情報出力手段の一例であり、上記した識別情報、分岐元情報、分岐先情報のうちトレース情報設定回路１２によって設定された情報をトレース情報として出力する。即ち、トレース情報出力回路１３は、識別情報設定回路１２１によって識別情報が設定されている場合には、その識別情報をトレース情報として出力する。また、トレース情報出力回路１３は、分岐元情報設定回路１２２によって分岐元情報が設定されている場合には、その分岐元情報をトレース情報として出力する。また、トレース情報出力回路１３は、分岐先情報設定回路１２３によって分岐先情報が設定されている場合には、その分岐先情報をトレース情報として出力する。トレース情報出力回路１３が出力したトレース情報は、例えばトレースメモリ１４などからなる出力対象部に記録される。
【００１４】
この場合、トレース情報出力回路１３は、分岐信号識別回路１１が識別した分岐信号が「無条件直接分岐信号」である場合には、トレース情報設定回路１２において識別情報、分岐元情報、分岐先情報の何れも設定されないので、トレース情報を出力しないように構成されている。また、トレース情報出力回路１３は、分岐信号識別回路１１が識別した分岐信号が「条件成立直接分岐信号」である場合には、トレース情報設定回路１２において識別情報「００」が設定されるので、その識別情報をトレース情報として出力する。このとき、トレース情報設定回路１２において分岐元情報および分岐先情報は設定されないので、これらの情報はトレース情報として出力されない。また、トレース情報出力回路１３は、分岐信号識別回路１１が識別した分岐信号が「条件不成立直接分岐信号」である場合には、トレース情報設定回路１２において識別情報「０１」が設定されるので、その識別情報をトレース情報として出力する。このとき、トレース情報設定回路１２において分岐元情報および分岐先情報は設定されないので、これらの情報はトレース情報として出力されない。
【００１５】
また、トレース情報出力回路１３は、分岐信号識別回路１１が識別した分岐信号が「間接分岐信号」である場合には、トレース情報設定回路１２において識別情報「１０」と分岐先情報が設定されるので、その識別情報および分岐先情報をトレース情報として出力する。このとき、トレース情報設定回路１２において分岐元情報は設定されないので、この情報はトレース情報として出力されない。また、トレース情報出力回路１３は、分岐信号識別回路１１が識別した分岐信号が「割込み分岐信号」である場合には、トレース情報設定回路１２において識別情報「１１」と分岐元情報と分岐先情報が設定されるので、その識別情報、分岐元情報および分岐先情報をトレース情報として出力する。
【００１６】
次に、マイクロコンピュータがトレース情報を出力する場合の動作の一例について説明する。即ち、例えば図２（ａ）に示すように、無条件の直接分岐（Ａ１）、条件付きの直接分岐において条件が成立した場合（Ａ２）、条件付きの直接分岐において条件が成立しなかった場合（Ａ３）、間接分岐（Ａ４）、無条件の直接分岐（Ａ５）、割込み分岐（Ａ６）がこの順に発生したと仮定すると、この場合に、トレース情報として出力される内容は図２（ｂ）に示すようになる。なお、図２（ｂ）に示すＴ０，Ｔ１，Ｔ２，・・・は、出力されたトレース情報にそれぞれ付与される番号である。
【００１７】
つまり、無条件の直接分岐が発生した場合（Ａ１）には、これに対応するトレース情報は出力されない。また、条件付きの直接分岐において条件が成立した場合（Ａ２）には、これに対応するトレース情報として識別情報「００」（Ｔ０）が出力される。また、条件付きの直接分岐において条件が成立しなかった場合（Ａ３）には、これに対応するトレース情報として識別情報「０１」（Ｔ１）が出力される。また、間接分岐が発生した場合（Ａ４）には、これに対応するトレース情報として、識別情報「１０」（Ｔ２）と、その間接分岐に係る分岐先アドレス（Ｔ３）が出力される。また、無条件の直接分岐が発生した場合（Ａ５）には、これに対応するトレース情報は出力されない。また、割込み分岐が発生した場合（Ａ６）には、これに対応するトレース情報として、識別情報「１１」（Ｔ４）と、その割込み分岐に係る分岐元アドレス（Ｔ５）および分岐先アドレス（Ｔ６）が出力される。
【００１８】
次に、図示しないトレース情報復元装置（以下、単に復元装置と称する）がトレース情報に基づいてプログラムの実行履歴を復元する場合の動作の一例について説明する。即ち、例えば図３に示すように、復元装置は、トレース情報Ｔの参照アドレスを参照する（Ｂ１）。このとき、この復元動作開始時の初期の参照アドレスは、トレース情報Ｔの先頭のアドレス、即ち開始アドレスが設定される。次に、復元装置は、トレース情報Ｔの参照アドレスが最終アドレスであるか否かを確認する（Ｂ２）。
【００１９】
復元装置は、トレース情報Ｔの参照アドレスが最終アドレスである場合（Ｂ２：ＹＥＳ）には、ソースプログラムＳの参照アドレスを参照する（Ｂ３）。このとき、この復元動作開始時の初期の参照アドレスは、ソースプログラムＳの先頭のアドレス、即ち開始アドレスが設定される。そして、復元装置は、復元データＲに、ソースプログラムＳの参照アドレスに記載されている命令を格納する（Ｂ４）。復元装置は、ソースプログラムＳの参照アドレスが最終アドレスであるか否かを確認する（Ｂ５）。そして、復元装置は、ソースプログラムＳの参照アドレスが最終アドレスである場合（Ｂ５：ＹＥＳ）には、この動作を終了する。
【００２０】
一方、復元装置は、トレース情報Ｔの参照アドレスが最終アドレスでない場合（Ｂ２：ＮＯ）には、トレース情報Ｔの参照アドレスに格納されている識別情報が「割込み分岐」に対応する識別情報「１１」であるか否かを確認する（Ｂ６）。復元装置は、トレース情報Ｔの参照アドレスの識別情報が「１１」である場合（Ｂ６：ＹＥＳ）には、ステップＢ１０（図４参照）に移行する。一方、復元装置は、トレース情報Ｔの参照アドレスの識別情報が「１１」でない場合（Ｂ６：ＮＯ）には、ステップＢ２２（図５参照）に移行する。なお、ステップＢ１０以降の処理、ステップＢ２２以降の処理については後述する。
【００２１】
また、復元装置は、ソースプログラムＳの参照アドレスが最終アドレスでない場合（Ｂ５：ＮＯ）には、ソースプログラムＳの参照アドレスに記載されている命令が「無条件の直接分岐」であるか否かを確認する（Ｂ７）。復元装置は、参照アドレスの命令が「無条件の直接分岐」である場合（Ｂ７：ＹＥＳ）には、ソースプログラムＳの参照アドレスを無条件直接分岐の分岐先アドレスに更新して（Ｂ８）、ステップＢ３に移行する。一方、復元装置は、参照アドレスの命令が「無条件の直接分岐」でない場合（Ｂ７：ＮＯ）には、ソースプログラムＳの参照アドレスを次のアドレスに更新して（Ｂ９）、ステップＢ３に移行する。
【００２２】
次に、ステップＢ１０以降の処理について説明する。即ち、例えば図４に示すように、復元装置は、トレース情報Ｔの参照アドレスを次のアドレスに更新する（Ｂ１０）。そして、復元装置は、ソースプログラムＳの参照アドレスを参照し（Ｂ１１）、ソースプログラムＳの参照アドレスに記載されている命令を復元データＲに格納する（Ｂ１２）。そして、復元装置は、ソースプログラムＳの参照アドレスが、トレース情報Ｔの参照アドレスに格納されている割込み分岐の分岐元アドレスと一致するか否かを確認する（Ｂ１３）。
【００２３】
復元装置は、ソースプログラムＳの参照アドレスとトレース情報Ｔの参照アドレスに格納されている割込み分岐の分岐元アドレスとが一致する場合（Ｂ１３：ＹＥＳ）には、トレース情報Ｔの参照アドレスを次のアドレスに更新する（Ｂ１４）。そして、復元装置は、ソースプログラムＳの参照アドレスを、トレース情報Ｔの参照アドレスに格納されている割込み分岐の分岐先アドレスに更新する（Ｂ１５）。
【００２４】
そして、復元装置は、トレース情報Ｔの参照アドレスを参照し（Ｂ１６）、トレース情報Ｔの参照アドレスが最終アドレスであるか否かを確認する（Ｂ１７）。復元装置は、トレース情報Ｔの参照アドレスが最終アドレスである場合（Ｂ１７：ＹＥＳ）には、ステップＢ３（図３参照）に移行する。一方、復元装置は、トレース情報Ｔの参照アドレスが最終アドレスでない場合（Ｂ１７：ＮＯ）には、トレース情報Ｔの参照アドレスを次のアドレスに更新し（Ｂ２０）、ステップＢ６（図３参照）に移行する。
【００２５】
復元装置は、ソースプログラムＳの参照アドレスとトレース情報Ｔの参照アドレスに格納されている割込み分岐の分岐元アドレスとが一致しない場合（Ｂ１３：ＮＯ）には、ソースプログラムＳの参照アドレスに記載されている命令が「無条件の直接分岐」であるか否かを確認する（Ｂ１８）。復元装置は、参照アドレスの命令が「無条件の直接分岐」である場合（Ｂ１８：ＹＥＳ）には、ソースプログラムＳの参照アドレスを無条件直接分岐の分岐先アドレスに更新して（Ｂ１９）、ステップＢ１１に移行する。一方、復元装置は、参照アドレスの命令が「無条件の直接分岐」でない場合（Ｂ１８：ＮＯ）には、ソースプログラムＳの参照アドレスを次のアドレスに更新して（Ｂ２１）、ステップＢ１１に移行する。
【００２６】
次に、ステップＢ２２以降の処理について説明する。即ち、例えば図５に示すように、復元装置は、ソースプログラムＳの参照アドレスを参照し（Ｂ２２）、ソースプログラムＳの参照アドレスに記載されている命令を復元データＲに格納する（Ｂ２３）。そして、復元装置は、ソースプログラムＳの参照アドレスに記載されている命令が「無条件の直接分岐」であるか否かを確認する（Ｂ２４）。復元装置は、参照アドレスの命令が「無条件の直接分岐」である場合（Ｂ２４：ＹＥＳ）には、ソースプログラムＳの参照アドレスを無条件直接分岐の分岐先アドレスに更新する（Ｂ２５）。そして、復元装置は、トレース情報Ｔの参照アドレスを参照し（Ｂ２６）、トレース情報Ｔの参照アドレスが最終アドレスであるか否かを確認する（Ｂ２７）。復元装置は、トレース情報Ｔの参照アドレスが最終アドレスである場合（Ｂ２７：ＹＥＳ）には、ステップＢ３（図３参照）に移行する。一方、復元装置は、トレース情報Ｔの参照アドレスが最終アドレスでない場合（Ｂ２７：ＮＯ）には、トレース情報Ｔの参照アドレスを次のアドレスに更新し（Ｂ３１）、ステップＢ６（図３参照）に移行する。
【００２７】
復元装置は、参照アドレスの命令が「無条件の直接分岐」でない場合（Ｂ２４：ＮＯ）には、ソースプログラムＳの参照アドレスに記載されている命令が「条件付き直接分岐」であるか否かを確認する（Ｂ２８）。そして、復元装置は、参照アドレスの命令が「条件付き直接分岐」である場合（Ｂ２８：ＹＥＳ）には、トレース情報Ｔの参照アドレスを参照し（Ｂ２９）、トレース情報Ｔの参照アドレスに格納されている識別情報が「条件成立直接分岐」に対応する識別情報「００」であるか否かを確認する（Ｂ３０）。復元装置は、トレース情報Ｔの参照アドレスの識別情報が「００」である場合（Ｂ３０：ＹＥＳ）には、ステップＢ２５に移行する。一方、復元装置は、トレース情報Ｔの参照アドレスの識別情報が「００」でない場合（Ｂ３０：ＮＯ）には、詳しくは後述するステップＢ３５に移行する。
【００２８】
復元装置は、参照アドレスの命令が「条件付き直接分岐」でない場合（Ｂ２８：ＮＯ）には、ソースプログラムＳの参照アドレスに記載されている命令が「間接分岐」であるか否かを確認する（Ｂ３２）。復元装置は、参照アドレスの命令が「間接分岐」である場合（Ｂ３２：ＹＥＳ）には、トレース情報Ｔの参照アドレスを次のアドレスに更新する（Ｂ３３）。そして、復元装置は、ソースプログラムＳの参照アドレスを、トレース情報Ｔの参照アドレスに格納されている間接分岐の分岐先アドレスに更新し（Ｂ３４）、ステップＢ２６に移行する。一方、復元装置は、参照アドレスの命令が「間接分岐」でない場合（Ｂ３２：ＮＯ）には、ソースプログラムＳの参照アドレスを次のアドレスに更新し（Ｂ３５）、ステップＢ２２に移行する。
【００２９】
次に、上述した復元動作によって復元された復元データの一例について説明する。ここでは、図２（ｂ）に例示したトレース情報Ｔに基づいて、ソースプログラムＳの実行履歴を示す復元データＲを復元した場合について説明する。即ち、例えば図６に示す例では、復元データＲのアドレスＲ０，Ｒ１には、無条件の直接分岐命令に係る分岐元アドレス「Ｓ１０」および分岐先アドレス「Ｓ１１」に記載されている命令が復元されている。分岐元アドレス「Ｓ１０」および分岐先アドレス「Ｓ１１」は、復元動作においてソースプログラムＳから得られたものである。また、復元データＲのアドレスＲ２，Ｒ３には、条件付き直接分岐命令（条件成立）に係る分岐元アドレス「Ｓ２０」および分岐先アドレス「Ｓ２１」に記載されている命令が復元されている。分岐元アドレス「Ｓ２０」および分岐先アドレス「Ｓ２１」は、復元動作においてソースプログラムＳから得られたものである。
【００３０】
また、復元データＲのアドレスＲ４，Ｒ５には、条件付き直接分岐命令（条件不成立）に係る分岐元アドレス「Ｓ３０」に記載されている命令と、上述のステップＢ３５で更新されたアドレス「Ｓ３０＋１」に記載されている命令が復元されている。アドレス「Ｓ３０」および「Ｓ３０＋１」は、復元動作においてソースプログラムＳから得られたものである。この場合、条件付き直接分岐命令（条件不成立）に係る分岐先アドレス「Ｓ３１」は得られていない。また、復元データＲのアドレスＲ６，Ｒ７には、間接分岐命令に係る分岐元アドレス「Ｓ４０」および分岐先アドレス「Ｓ４１」に記載されている命令が復元されている。分岐元アドレス「Ｓ４０」は、復元動作においてソースプログラムＳから得られたものであり、分岐先アドレス「Ｓ４１」は、復元動作においてトレース情報Ｔから得られたものである。
【００３１】
また、復元データＲのアドレスＲ８，Ｒ９には、無条件の直接分岐命令に係る分岐元アドレス「Ｓ５０」および分岐先アドレス「Ｓ５１」に記載されている命令が復元されている。分岐元アドレス「Ｓ５０」および分岐先アドレス「Ｓ５１」は、復元動作においてソースプログラムＳから得られたものである。また、復元データＲのアドレスＲ１０，Ｒ１１には、割込み分岐に係る分岐元アドレス「Ｓ６０」および分岐先アドレス「Ｓ６１」に記載されている命令が復元されている。分岐元アドレス「Ｓ６０」および分岐先アドレス「Ｓ６１」は、復元動作においてトレース情報Ｔから得られたものである。
【００３２】
本実施形態によれば、マイクロコンピュータにおいて、プログラムのデバッグ機能を有するデバッグ回路部１０は、分岐信号識別回路１１によって、割込み分岐を示す分岐信号を割込み分岐以外の分岐を示す分岐信号と区別して識別する。そして、デバッグ回路部１０は、割込み分岐以外の分岐については、トレース情報設定回路１２によって分岐元情報を設定しないように構成されている。これにより、分岐元情報がトレース情報として出力される分岐は割込み分岐のみとなる。従って、トレース情報の情報量を十分に圧縮することができる。
【００３３】
また、本実施形態によれば、トレース情報設定回路１２は、割込み分岐以外の分岐である直接分岐については、識別情報を設定し、分岐元情報および分岐先情報を設定しないように構成されている。また、トレース情報設定回路１２は、直接分岐が無条件の直接分岐である場合には、識別情報も設定しないように構成されている。また、トレース情報設定回路１２は、割込み分岐以外の分岐である間接分岐については、識別情報および分岐先情報を設定し、分岐元情報を設定しないように構成されている。これにより、トレース情報の情報量を一層圧縮することができる。
【００３４】
また、トレース情報設定回路１２は、割込み分岐については、識別情報、分岐元情報および分岐先情報を設定するように構成されている。即ち、割込み分岐は、どのタイミングで発生するのかを予め予測することが困難であり、また、割込み分岐が発生した場合における分岐元アドレスを予め予測することも困難である。本実施形態によれば、このような割込み分岐については、その分岐を識別するための識別情報、その分岐における分岐元アドレスや分岐先アドレスを確実に保存することができる。従って、予測困難な割り込み分岐についても、その実行履歴を確実に復元することができる。
【００３５】
また、本実施形態によれば、分岐信号識別回路１１は、無条件の直接分岐を示す分岐信号、条件付きの直接分岐において条件が成立した場合を示す分岐信号、条件付きの直接分岐において条件が成立しなかった場合を示す分岐信号、間接分岐を示す分岐信号、割込み分岐を示す分岐信号を識別するように構成されている。従って、プログラムの実行に伴い発生する種々の分岐を細分化して識別することができ、出力するトレース情報の情報量を分岐の種類に応じてきめ細かく圧縮することができる。
【００３６】
（第２実施形態）
図７に示すように、本実施形態では、デバッグ回路部１０は、さらに、カウンタ回路２１を備える。カウンタ回路２１は、カウンタ手段の一例であり、ＣＰＵからの入力データ数に基づいて、前回の分岐発生時から今回の分岐発生時までにＣＰＵで実行された命令数をカウントする。そして、カウンタ回路２１は、そのカウント値をトレース情報設定回路１２に出力する。カウンタ回路２１が出力するカウント値は、分岐元情報設定回路１２２に与えられる。トレース情報設定回路１２において、分岐元情報設定回路１２２は、入力されたカウント値を分岐元情報として設定する。
【００３７】
また、カウンタ回路２１は、カウント値が所定のオーバフロー値を超えた場合には、カウント値が所定のオーバフロー値を超えたことを示す信号を出力し、当該カウンタ値をリセットするように構成されている。即ち、カウンタ回路２１は、カウント値が所定のオーバフロー値を超えた場合には、その旨を示すオーバフロー信号をトレース情報設定回路１２に出力する。カウンタ回路２１が出力するオーバフロー信号は、識別情報設定回路１２１および分岐元情報設定回路１２２に与えられる。識別情報設定回路１２１は、オーバフロー信号が入力されると、その旨を示す識別情報としてこの場合５ビットの情報「１００００」を設定する。そして、設定された識別情報「１００００」はトレース情報の一種として出力される。なお、オーバフロー値は、適宜変更して設定することができる。
【００３８】
本実施形態によれば、トレース情報復元装置は、オーバフロー信号が発生したことを示す識別情報「１００００」とカウンタ回路２１によるカウント値から、前回の分岐発生時における分岐先アドレスを基点とする相対的なアドレスとして、今回の分岐発生時における分岐元アドレスを得ることができる。これにより、ＣＰＵから入力された分岐元アドレスそのものをトレース情報に格納する必要がなくなり、トレース情報の情報量を一層圧縮することができる。
【００３９】
また、本実施形態によれば、カウンタ回路２１によるカウント値がオーバフロー値を超えた場合には当該カウンタ値がリセットされる。従って、カウント処理に係るデータサイズを一定以下に抑えることができる。
【００４０】
（第３実施形態）
図８に示すように、本実施形態では、デバック回路部１０は、さらに割込み要因信号識別回路３１を備える。割込み要因信号識別回路３１は、割込み要因信号識別手段の一例であり、図示しないＣＰＵから入力される種々の割込み要因信号を識別し、その識別結果を示す情報をトレース情報設定回路１２に出力する。この場合、ＣＰＵは、割込み分岐が発生すると、その要因に応じて、例えば８種類の割込み要因信号Ａ〜Ｈを出力する。割込み要因信号識別回路３１は、入力される割込み要因信号が割込み要因信号Ａ〜Ｈの何れの信号であるのかを識別する。
【００４１】
識別情報設定回路１２１は、分岐信号識別回路１１が識別した分岐信号が割込み分岐信号である場合には、２種類の識別情報を設定する。即ち、識別情報設定回路１２１は、分岐信号識別回路１１が識別した割込み分岐信号に固有の識別情報「１１」を設定する。この識別情報「１１」が１種類目の識別情報である。また、図９に示すように、識別情報設定回路１２１は、割込み要因信号識別回路３１から入力された割込み要因信号Ａ〜Ｈに、それぞれ、固有の識別情報として３ビットの情報「０００」〜「１１１」を設定する。これら識別情報「０００」〜「１１１」が２種類目の識別情報である。なお、この識別情報のビット数は、割込み要因信号の数に応じて適宜変更して実施することができる。
【００４２】
本実施形態では、分岐先情報設定回路１２３は、分岐信号識別回路１１が識別した分岐信号が「割込み分岐信号」である場合には、その時点でＣＰＵから入力されるプログラムカウンタ値を分岐先情報として設定しないように構成される。そして、本実施形態では、分岐信号識別回路１１が識別した分岐信号が「割込み分岐信号」である場合には、トレース情報設定回路１２において、識別情報設定回路１２１により識別情報「１１」と識別情報「０００」〜「１１１」の何れかの情報とからなる識別情報群が設定され、また、分岐元情報設定回路１２２により分岐元情報が設定される。そのため、トレース情報出力回路１３は、設定された識別情報群と分岐元情報をトレース情報として出力する。
【００４３】
図１０に示すように、ソースプログラムＳには、実行される割込み要因Ａ〜Ｈごとに分岐先アドレス（ＳＡ）〜（ＳＨ）が予め設定されている。この場合、ソースプログラムＳには、割込み要因Ｅに対応する分岐先アドレス（ＳＥ）が設定されている。そして、復元装置は、トレース情報に格納されている識別情報群に基づいて割込み要因を特定することができる。なお、識別情報群を構成する識別情報「１１」と識別情報「０００」〜「１１１」の何れかの情報は、この場合、トレース情報Ｔの別々のアドレスに格納される。この場合、識別情報「１１」はトレース情報ＴのアドレスＴ４に格納され、識別情報「１００」はトレース情報ＴのアドレスＴ５に格納されている。さらに、復元装置は、特定した割込み要因とソースプログラムＳとを照合することにより、割込み分岐の分岐先アドレスを特定することができる。この場合、トレース情報ＴのアドレスＴ５に格納されている識別情報は「１００」であるから、この識別情報「１００」に対応する割込み要因信号Ｅが特定され、その割込み要因Ｅに対応する分岐先アドレス（ＳＥ）が特定される。そして、復元データＲのアドレスＲ１１には、ソースプログラムＳにおいて割込み要因Ｅに対応して設定されている分岐先アドレス（ＳＥ）が復元されている。
【００４４】
本実施形態によれば、トレース情報復元装置は、トレース情報に格納されている識別情報群から、割込み要因を特定することができ、さらに、割込み分岐の分岐先アドレスを特定することができる。これにより、情報量が多い割込み分岐の分岐先アドレスをトレース情報に格納する必要がなくなり、トレース情報の情報量を一層圧縮することができる。なお、割込み要因信号は、８種類に限られるものではなく、その数を適宜変更して実施することができる。
【００４５】
（第４実施形態）
図１１に示すように、本実施形態では、デバック回路部１０は、さらに割込み要因信号識別回路４１を備える。割込み要因信号識別回路４１は、割込み要因信号識別手段の一例であり、図示しないＣＰＵから入力される種々の割込み要因信号を識別し、その識別結果を示す情報を分岐信号識別回路１１およびトレース情報設定回路１２に出力する。この場合、ＣＰＵは、割込み分岐が発生すると、その要因に応じて、例えば１２種類の割込み要因信号Ａ〜Ｌを出力する。割込み要因信号識別回路４１は、入力される割込み要因信号が割込み要因信号Ａ〜Ｌの何れの信号であるのかを識別する。そして、割込み要因信号識別回路４１は、識別した割込み要因信号Ａ〜Ｌを分岐信号識別回路１１および識別情報設定回路１２１に出力する。
【００４６】
本実施形態では、ＣＰＵは、割込み分岐が発生しても割込み分岐信号を出力しないように構成されている。そして、分岐信号識別回路１１は、割込み要因信号識別回路４１から割込み要因信号Ａ〜Ｌが入力されると、割込み分岐信号を擬似的に識別したことを示す情報をトレース情報設定回路１２に出力する。
【００４７】
識別情報設定回路１２１は、分岐信号識別回路１１が割込み要因信号Ａ〜Ｌに基づいて割込み分岐信号を擬似的に識別した場合には、１種類の識別情報を設定する。即ち、図１２に示すように、識別情報設定回路１２１は、割込み要因信号識別回路４１から入力された割込み要因信号Ａ〜Ｌに、それぞれ、固有の識別情報として４ビットの情報「０１００」〜「１１１１」を設定する。即ち、識別情報設定回路１２１は、割込み要因信号識別回路４１から入力される割込み要因信号Ａ〜Ｌも分岐信号とみなして識別情報を設定する。なお、識別情報設定回路１２１は、分岐信号識別回路１１に入力される各分岐信号には、固有の識別情報として４ビットの情報「００００」〜「００１１」を設定する。また、識別情報のビット数は、分岐信号の数、割込み要因信号の数に応じて適宜変更して実施することができる。
【００４８】
本実施形態では、分岐先情報設定回路１２３は、割込み要因信号Ａ〜Ｌに基づいて分岐信号識別回路１１が擬似的に「割込み分岐信号」を識別した場合には、その時点でＣＰＵから入力されるプログラムカウンタ値を分岐先情報として設定しないように構成される。そして、本実施形態では、分岐信号識別回路１１が擬似的に「割込み分岐信号」を識別した場合には、トレース情報設定回路１２において、識別情報設定回路１２１により識別情報「０１００」〜「１１１１」のうち何れかの情報が設定され、また、分岐元情報設定回路１２２により分岐元情報が設定される。そのため、トレース情報出力回路１３は、設定された識別情報と分岐元情報をトレース情報として出力する。
【００４９】
図１３に示すように、ソースプログラムＳには、実行される割込み要因Ａ〜Ｌごとに分岐先アドレス（ＳＡ）〜（ＳＬ）が予め設定されている。この場合、ソースプログラムＳには、割込み要因Ｇに対応する分岐先アドレス（ＳＧ）が設定されている。そして、復元装置は、トレース情報に格納されている識別情報に基づいて割込み要因を特定することができる。さらに、復元装置は、特定した割込み要因とソースプログラムＳとを照合することにより、割込み分岐の分岐先アドレスを特定することができる。この場合、トレース情報ＴのアドレスＴ４に格納されている識別情報は「１０１０」であるから、この識別情報「１０１０」に対応する割込み要因信号Ｇが特定される。そして、復元データＲのアドレスＲ１１には、ソースプログラムＳにおいて割込み要因Ｇに対応して設定されている分岐先アドレス（ＳＧ）が復元されている。
【００５０】
本実施形態によれば、トレース情報復元装置は、トレース情報に格納されている識別情報から、割込み要因を特定することができ、さらに、割込み分岐の分岐先アドレスを特定することができる。これにより、情報量が多い割込み分岐の分岐先アドレスをトレース情報に格納する必要がなくなり、トレース情報の情報量を一層圧縮することができる。なお、割込み要因信号は、１２種類に限られるものではなく、その数を適宜変更して実施することができる。
【００５１】
また、本実施形態は、ＣＰＵが割込み分岐の発生時に割込み分岐信号を出力する構成において、何らかの原因により、割込み分岐が発生しているにも関わらずＣＰＵから割込み分岐信号が出力されなかった場合、あるいは、ＣＰＵが出力した割込み分岐信号が分岐信号識別回路１１に入力されなかった場合などにも適用することができる。
【００５２】
（第５実施形態）
本実施形態は、第３実施形態と第４実施形態とを組み合わせた実施形態である。即ち、第４実施形態に示した構成において、割込み要因信号識別回路４１は、図示しないＣＰＵから入力される種々の割込み要因信号を識別し、その識別結果を示す情報を分岐信号識別回路１１およびトレース情報設定回路１２に出力する。この場合、ＣＰＵは、割込み分岐が発生すると、その要因に応じて、例えば８種類の割込み要因信号Ａ〜Ｈを出力する。割込み要因信号識別回路４１は、入力される割込み要因信号が割込み要因信号Ａ〜Ｈの何れの信号であるのかを識別する。そして、割込み要因信号識別回路４１は、識別した割込み要因信号Ａ〜Ｈを分岐信号識別回路１１および識別情報設定回路１２１に出力する。
【００５３】
分岐信号識別回路１１は、割込み要因信号識別回路４１から割込み要因信号Ａ〜Ｈが入力されると、割込み分岐信号を擬似的に識別したことを示す情報をトレース情報設定回路１２に出力する。
識別情報設定回路１２１は、分岐信号識別回路１１が割込み要因信号Ａ〜Ｈに基づいて割込み分岐信号を擬似的に識別した場合には、固有の識別情報「１１」を設定する。また、図９に例示したように、識別情報設定回路１２１は、割込み要因信号識別回路４１から入力された割込み要因信号Ａ〜Ｈに、それぞれ、固有の識別情報として３ビットの情報「０００」〜「１１１」を設定する。これにより、トレース情報設定回路１２において、識別情報設定回路１２１により識別情報「１１」と識別情報「０００」〜「１１１」の何れかの情報とからなる識別情報群が設定され、また、分岐元情報設定回路１２２により分岐元情報が設定される。そのため、トレース情報出力回路１３は、設定された識別情報群と分岐元情報をトレース情報として出力する。
【００５４】
図１０に例示したように、ソースプログラムＳには、実行される割込み要因Ａ〜Ｈごとに分岐先アドレス（ＳＡ）〜（ＳＨ）が予め設定されている。そして、復元装置は、トレース情報に格納されている識別情報群に基づいて割込み要因を特定することができる。なお、識別情報群を構成する識別情報「１１」と識別情報「０００」〜「１１１」の何れかの情報は、この場合、トレース情報Ｔの別々のアドレスに格納される。復元装置は、トレース情報Ｔに格納されている情報に基づいて、実際に実行された割込み要因を特定することができ、さらに、その特定した割込み要因とソースプログラムＳとを照合することにより、割込み分岐の分岐先アドレスを特定することができる。
【００５５】
本実施形態によれば、トレース情報復元装置は、トレース情報に格納されている識別情報群から、割込み要因を特定することができ、さらに、割込み分岐の分岐先アドレスを特定することができる。これにより、情報量が多い割込み分岐の分岐先アドレスをトレース情報に格納する必要がなくなり、トレース情報の情報量を一層圧縮することができる。
【００５６】
（第６実施形態）
本実施形態は、第３実施形態と第４実施形態とを組み合わせた実施形態である。即ち、第３実施形態に示した構成において、割込み要因信号識別回路３１は、図示しないＣＰＵから入力される種々の割込み要因信号を識別し、その識別結果を示す情報をトレース情報設定回路１２に出力する。この場合、ＣＰＵは、割込み分岐が発生すると、その要因に応じて、例えば１２種類の割込み要因信号Ａ〜Ｌを出力する。割込み要因信号識別回路３１は、入力される割込み要因信号が割込み要因信号Ａ〜Ｌの何れの信号であるのかを識別する。
【００５７】
識別情報設定回路１２１は、割込み要因信号識別回路３１が識別した分岐信号に、それぞれ１種類の識別情報を設定する。即ち、図１２に例示したように、識別情報設定回路１２１は、割込み要因信号識別回路３１から入力された割込み要因信号Ａ〜Ｌに、それぞれ、固有の識別情報として４ビットの情報「０１００」〜「１１１１」を設定する。即ち、識別情報設定回路１２１は、割込み要因信号識別回路３１から入力される割込み要因信号Ａ〜Ｌも分岐信号とみなして識別情報を設定する。なお、識別情報設定回路１２１は、分岐信号識別回路１１に入力される各分岐信号には、固有の識別情報として４ビットの情報「００００」〜「００１１」を設定する。
【００５８】
本実施形態では、トレース情報設定回路１２において、識別情報設定回路１２１により識別情報「００００」〜「１１１１」のうち何れかの情報が設定され、また、分岐元情報設定回路１２２により分岐元情報が設定される。そのため、トレース情報出力回路１３は、トレース情報設定回路１２において設定された４ビットの識別情報と分岐元情報をトレース情報として出力する。
【００５９】
図１３に例示したように、ソースプログラムＳには、実行される割込み要因Ａ〜Ｌごとに分岐先アドレス（ＳＡ）〜（ＳＬ）が予め設定されている。そして、復元装置は、トレース情報に格納されている識別情報に基づいて割込み要因を特定することができる。復元装置は、トレース情報Ｔに格納されている情報に基づいて、実際に実行された割込み要因を特定することができ、さらに、その特定した割込み要因とソースプログラムＳとを照合することにより、割込み分岐の分岐先アドレスを特定することができる。
【００６０】
本実施形態によれば、トレース情報復元装置は、トレース情報に格納されている識別情報から、割込み要因を特定することができ、さらに、割込み分岐の分岐先アドレスを特定することができる。これにより、情報量が多い割込み分岐の分岐先アドレスをトレース情報に格納する必要がなくなり、トレース情報の情報量を一層圧縮することができる。
【００６１】
（第７実施形態）
本実施形態は、第３実施形態の変形例である。即ち、図１４に示すように、割込み要因信号識別回路３１は、図示しないＣＰＵから入力される種々の割込み要因信号を識別し、その識別結果を示す情報をトレース情報設定回路１２の分岐先情報設定回路１２３に出力する。この場合、ＣＰＵは、割込み分岐が発生すると、その要因に応じて、例えば８種類の割込み要因信号Ａ〜Ｈを出力する。割込み要因信号識別回路３１は、入力される割込み要因信号が割込み要因信号Ａ〜Ｈの何れの信号であるのかを識別する。また、識別情報設定回路１２１は、分岐信号識別回路１１が識別した分岐信号が割込み分岐信号である場合には、その割込み分岐信号に固有の識別情報「１１」を設定する。
【００６２】
そして、分岐先情報設定回路１２３は、分岐信号識別回路１１が識別した分岐信号が「割込み分岐信号」である場合には、分岐先情報として分岐先アドレスを設定するのではなく、割込み要因信号識別回路３１から入力された割込み要因信号Ａ〜Ｈに固有の識別情報として３ビットの情報「０００」〜「１１１」を設定する。これにより、分岐信号識別回路１１が識別した分岐信号が「割込み分岐信号」である場合には、トレース情報設定回路１２において、識別情報設定回路１２１により識別情報「１１」が設定され、分岐先情報設定回路１２３により、実際に発生した割込み要因に対応する識別情報が設定され、分岐元情報設定回路１２２により分岐元情報が設定される。
【００６３】
図１５に示すように、ソースプログラムＳには、実行される割込み要因Ａ〜Ｈごとに分岐先アドレス（ＳＡ）〜（ＳＨ）が予め設定されている。この場合、ソースプログラムＳには、割込み要因Ｃに対応する分岐先アドレス（ＳＣ）が設定されている。また、トレース情報出力回路１３が出力したトレース情報のうち、識別情報「１１」はトレース情報ＴのアドレスＴ４に格納され、発生した割込み要因に対応する３ビットの識別情報はアドレスＴ６に格納される。この場合、発生した割込み要因Ｃに対応する識別情報「０１０」がアドレスＴ６に格納されている。
【００６４】
そして、復元装置は、トレース情報ＴのアドレスＴ６に格納されている識別情報「０１０」に基づいて、発生した割込み要因が割込み要因Ｃであることを特定することができる。さらに、復元装置は、特定した割込み要因ＣとソースプログラムＳとを照合することにより、割込み分岐の分岐先アドレスを特定することができる。この場合、トレース情報ＴのアドレスＴ６に格納されている識別情報は「０１０」であるから、この識別情報「０１０」に対応する割込み要因信号Ｃが特定され、さらに、その割込み要因Ｃに対応する分岐先アドレス（ＳＣ）が特定される。そして、復元データＲのアドレスＲ１１には、ソースプログラムＳにおいて割込み要因Ｃに対応して設定されている分岐先アドレス（ＳＣ）が復元されている。
【００６５】
本実施形態によれば、トレース情報復元装置は、トレース情報に格納されている識別情報群から、割込み要因を特定することができ、さらに、割込み分岐の分岐先アドレスを特定することができる。これにより、情報量が多い割込み分岐の分岐先アドレスをトレース情報に格納する必要がなくなり、トレース情報の情報量を一層圧縮することができる。
【００６６】
（第８実施形態）
本実施形態は、第４実施形態の変形例である。即ち、図１６に示すように、割込み要因信号識別回路４１は、図示しないＣＰＵから入力される種々の割込み要因信号を識別し、その識別結果を示す情報を分岐信号識別回路１１およびトレース情報設定回路１２に出力する。この場合、ＣＰＵは、割込み分岐が発生すると、その要因に応じて、例えば８種類の割込み要因信号Ａ〜Ｈを出力する。割込み要因信号識別回路４１は、入力される割込み要因信号が割込み要因信号Ａ〜Ｈの何れの信号であるのかを識別する。
【００６７】
そして、分岐信号識別回路１１は、割込み要因信号識別回路４１から割込み要因信号Ａ〜Ｈが入力されると、割込み分岐信号を擬似的に識別したことを示す情報をトレース情報設定回路１２に出力する。識別情報設定回路１２１は、分岐信号識別回路１１が割込み分岐信号を擬似的に識別した場合には、割込み分岐信号に固有の識別情報「１１」を設定する。
【００６８】
そして、分岐先情報設定回路１２３は、分岐信号識別回路１１が割込み分岐信号を擬似的に識別した場合には、分岐先情報として分岐先アドレスを設定するのではなく、割込み要因信号識別回路４１から入力された割込み要因信号Ａ〜Ｈに固有の識別情報として３ビットの情報「０００」〜「１１１」を設定する。これにより、分岐信号識別回路１１が割込み分岐信号を擬似的に識別した場合には、トレース情報設定回路１２において、識別情報設定回路１２１により識別情報「１１」が設定され、分岐先情報設定回路１２３により、実際に発生した割込み要因に対応する識別情報が設定され、分岐元情報設定回路１２２により分岐元情報が設定される。そして、設定された識別情報「１１」と、実際に発生した割込み分岐に対応する識別情報と、分岐元情報が、例えば図１５に示したようにトレース情報Ｔに格納される。
【００６９】
そして、復元装置は、トレース情報Ｔに格納されている識別情報に基づいて、発生した割込み要因を特定することができる。さらに、復元装置は、特定した割込み要因とソースプログラムＳとを照合することにより、割込み分岐の分岐先アドレスを特定することができる。これにより、発生した割込み分岐の分岐先アドレスを復元データＲに復元することができる。
本実施形態によれば、トレース情報復元装置は、トレース情報に格納されている識別情報群から、割込み要因を特定することができ、さらに、割込み分岐の分岐先アドレスを特定することができる。これにより、情報量が多い割込み分岐の分岐先アドレスをトレース情報に格納する必要がなくなり、トレース情報の情報量を一層圧縮することができる。
【００７０】
（その他の実施形態）
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用することができる。例えば、第３実施形態から第８実施形態の構成は、第２実施形態のマイクロコンピュータに適用してもよい。
【符号の説明】
【００７１】
図面中、１０はデバッグ回路部、１１は分岐信号識別回路（分岐信号識別手段）、１２はトレース情報設定回路（情報設定手段）、１３はトレース情報出力回路（トレース情報出力手段）、２１はカウンタ回路（カウンタ手段）、３１，４１は割込み要因信号識別回路（割込み要因信号識別手段）を示す。
【図１】
2015064865.tif 000003
【図２】
2015064865.tif 000004
【図３】
2015064865.tif 000005
【図４】
2015064865.tif 000006
【図５】
2015064865.tif 000007
【図６】
2015064865.tif 000008
【図７】
2015064865.tif 000009
【図８】
2015064865.tif 000010
【図９】
2015064865.tif 000011
【図１０】
2015064865.tif 000012
【図１１】
2015064865.tif 000013
【図１２】
2015064865.tif 000014
【図１３】
2015064865.tif 000015
【図１４】
2015064865.tif 000016
【図１５】
2015064865.tif 000017
【図１６】
2015064865.tif 000018