(57)【要約】【課題】アドレスカウンタのアドレスデータを正しく評価する。【解決手段】プログラムメモリのアドレスを指定するアドレスカウンタを有し、前記アドレスカウンタのアドレスデータを、前記アドレスデータを評価するための外部機器に出力するマイクロコンピュータにおいて、前記外部機器が分岐したときのアドレスデータのみを記憶するように、前記アドレスカウンタのアドレスデータが分岐したものであるかどうかを判別するための判別データを、このアドレスデータとともに前記外部機器に出力するアドレスデータ出力手段を、備えたことを特徴とする。【選択図】      図１
2004199333.tif 000002
【特許請求の範囲】
【請求項１】
プログラムメモリのアドレスを指定するアドレスカウンタを有し、前記アドレスカウンタのアドレスデータを、前記アドレスデータを評価するための外部機器に出力するマイクロコンピュータにおいて、
前記外部機器が分岐したときのアドレスデータのみを記憶するように、前記アドレスカウンタのアドレスデータが分岐したものであるかどうかを判別するための判別データを、このアドレスデータとともに前記外部機器に出力するアドレスデータ出力手段を、
備えたことを特徴とするマイクロコンピュータ。
【請求項２】
前記アドレスデータは、前記判別データが付されていることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
前記アドレスデータ出力手段は、前記外部機器から供給されるマイクロコンピュータが動作するためのクロックより高い周波数のクロックを用いて、前記アドレスカウンタのアドレスデータのビット数より少ないビット数を単位として、前記アドレスカウンタのアドレスデータを前記外部機器に出力することを特徴とする請求項１または２記載のマイクロコンピュータ。
【請求項４】
前記アドレスデータ出力手段は、前記アドレスカウンタのアドレスデータをシリアルデータとして出力することを特徴とする請求項１乃至３の何れかに記載のマイクロコンピュータ。
【請求項５】
前記アドレスデータ出力手段は、前記アドレスカウンタのアドレスデータを複数分割して出力することを特徴とする請求項１乃至３の何れかに記載のマイクロコンピュータ。
【請求項６】
プログラムメモリのアドレスを指定するアドレスカウンタを有するマイクロコンピュータから、前記アドレスカウンタのアドレスデータを読み取るマイクロコンピュータの評価装置において、
前記アドレスカウンタのアドレスデータが分岐したものであるかどうかを読み取り後に判別し、前記アドレスカウンタのアドレスデータが分岐したものであるときのみ、このアドレスデータを記憶するアドレスデータ記憶手段を、
備えたことを特徴とするマイクロコンピュータの評価装置。
【請求項７】
前記アドレスデータ記憶手段は、前記アドレスカウンタのアドレスデータが分岐していないものであるとき、このアドレスデータの記憶を禁止することを特徴とする請求項６記載のマイクロコンピュータの評価装置。
【請求項８】
前記アドレスデータ記憶手段は、前記アドレスデータが分岐したものであるかどうかを判別するための判別データを、前記アドレスデータとともに読み取ることを特徴とする請求項６または７記載のマイクロコンピュータの評価装置。
【請求項９】
前記アドレスデータは、前記判別データが付されていることを特徴とする請求項８記載のマイクロコンピュータの評価装置。
【請求項１０】
前記アドレスデータ記憶手段は、前記マイクロコンピュータが動作するためのクロックより高い周波数のクロックを用いて、前記アドレスカウンタのアドレスデータのビット数より少ないビット数を単位として、前記アドレスカウンタのアドレスデータを読み取ることを特徴とする請求項６乃至９の何れかに記載のマイクロコンピュータの評価装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコンピュータおよびその評価装置に関する。
【０００２】
【従来の技術】
ワンチップマイクロコンピュータとは、ＲＯＭ（プログラムメモリ）、ＲＡＭ、ＣＰＵ、周辺回路を単一の半導体チップ上に集積化してこの半導体チップを基板上に固定し、この半導体チップ上に形成されている入出力ポート（周辺回路）を外部ピンとワイヤーボンディングで接続し、外部ピンを露出させた状態でこの半導体チップを有する基板を樹脂部材（絶縁部材）で覆ったものである。また、最近のワンチップマイクロコンピュータとしては、ソフトウエアをＲＯＭに記憶するまでの時間、製造コスト等を考慮して、データを電気的に書き換え可能な不揮発性メモリ（例えばＥＥＰＲＯＭ）をマスクＲＯＭの代わりに集積化したものがある。
【０００３】
ところで、ワンチップマイクロコンピュータのＲＯＭに記憶されているデータ（例えばプログラムデータ、テーブルデータ等）は、ワンチップマイクロコンピュータが制御を行う被制御体に応じて異なるものである。そのため、ワンチップマイクロコンピュータが上記の不揮発性メモリをＲＯＭとして有しているとき、被制御体の種類が変更されるその都度、デバッグツール（評価装置）で評価されたデータを用いて、ＲＯＭに記憶されているデータを書き換えることとなる。
【０００４】
ここで、デバッグツールとは、ワンチップマイクロコンピュータと接続されることによって、ＲＯＭのアドレスを指定するアドレスカウンタのアドレスデータ、ＲＯＭのプログラムデータに基づく演算データ等の変化をリアルタイムで読み取ることで、プログラムデータの正誤を評価するものである。これにより、ＲＯＭに記憶されているデータを正しく書き換えることが可能となる。
【０００５】
なお、デバッグツールに関する技術は、例えば、以下の特許文献１に開示されている。
【０００６】
【特許文献１】
特開平１１−２８２７１３号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、従来のデバッグツールでは、マイクロコンピュータが動作しているとき、アドレスカウンタのアドレスデータをリアルタイムで読み取って全て記憶しており、大容量の揮発性メモリまたは不揮発性メモリ等が必要である。そのため、上記のメモリへのアドレスデータの記憶速度が速くなると、一部のアドレスデータが記憶されなくなる可能性があり、データを正しく評価できなくなる問題があった。更に、デバッグツールが大型化するとともにコストアップする問題もあった。
【０００８】
また、最近では、ワンチップマイクロコンピュータの演算処理速度は、数百ＭＨｚと高速化しているものがある。そのため、従来のデバッグツールでは、アドレスデータ、演算データ等の変化をリアルタイムで読み取ることができず、データを正しく評価できなくなる問題があった。
【０００９】
また、ワンチップマイクロコンピュータの樹脂部材で覆われたパッケージは、小型機器（例えばデジタルカメラ、携帯電話）への内蔵を考慮して小型化し、これに伴って外部ピンの間隔は、きわめて狭くなっている。そのため、従来のデバッグツールでは、アドレスデータ、演算データ等を物理的に読み取ることができず、前者と同様に、データを正しく評価できなくなる問題があった。
【００１０】
【課題を解決するための手段】
前記課題を解決するための主たる発明は、プログラムメモリのアドレスを指定するアドレスカウンタを有し、前記アドレスカウンタのアドレスデータを、前記アドレスデータを評価するための外部機器に出力するマイクロコンピュータにおいて、
前記外部機器が分岐したときのアドレスデータのみを記憶するように、前記アドレスカウンタのアドレスデータが分岐したものであるかどうかを判別するための判別データを、このアドレスデータとともに前記外部機器に出力するアドレスデータ出力手段を、
備えたことを特徴とするマイクロコンピュータである。
本発明の上記以外の特徴とするところは、本明細書および添付図面の記載により明らかとなる。
【００１１】
【発明の実施の形態】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により少なくとも以下の事項が明らかとなる。  プログラムメモリのアドレスを指定するアドレスカウンタを有し、前記アドレスカウンタのアドレスデータを、前記アドレスデータを評価するための外部機器に出力するマイクロコンピュータにおいて、前記外部機器が分岐したときのアドレスデータのみを記憶するように、前記アドレスカウンタのアドレスデータが分岐したものであるかどうかを判別するための判別データを、このアドレスデータとともに前記外部機器に出力するアドレスデータ出力手段を、備えたことを特徴とするマイクロコンピュータ。
【００１２】
このマイクロコンピュータによれば、アドレスカウンタのアドレスデータが分岐したものであるかどうかを判別するための判別データをこのアドレスデータとともに外部機器に出力することとなる。つまり、外部機器は、分岐したときのアドレスデータ（必要最小限のアドレスデータ）を記憶するだけでよいので、小容量のメモリを設けることが可能となる。これにより、外部機器は、マイクロコンピュータの演算処理速度が高速化して上記メモリへのアドレスデータの記憶速度が速くなっても、必要とするアドレスデータを記憶してデータを正しく評価することが可能となる。また、外部機器の大型化およびコストアップを防止することも可能となる。
【００１３】
また、かかるマイクロコンピュータにおいて、前記アドレスデータは、前記判別データが付されていることとしてもよい。
このマイクロコンピュータによれば、判別データと一体化しているアドレスデータを外部機器へ出力するので、外部機器としては、分岐したときのアドレスデータを効果的に記憶してデータを正しく評価することが可能となる。
【００１４】
また、かかるマイクロコンピュータにおいて、前記アドレスデータ出力手段は、前記外部機器から供給されるマイクロコンピュータが動作するためのクロックより高い周波数のクロックを用いて、前記アドレスカウンタのアドレスデータのビット数より少ないビット数を単位として、前記アドレスカウンタのアドレスデータを前記外部機器に出力することとしてもよい。
このマイクロコンピュータによれば、外部機器からのクロックを入力するためのポートと、アドレスカウンタのアドレスデータを出力するための最小限のポートと、を設けることで、アドレスデータを外部機器へ出力することが可能となる。例えば、データを電気的に書き換え可能なプログラムメモリを有する量産用のマイクロコンピュータに適用すれば、被制御体を変更するその都度、外部機器でのアドレスデータの評価結果に基づいて、プログラムメモリのための正しい書き換えデータを得ることが可能となる。
【００１５】
また、かかるマイクロコンピュータにおいて、前記アドレスデータ出力手段は、前記アドレスカウンタのアドレスデータをシリアルデータとして出力することとしてもよい。
このマイクロコンピュータによれば、外部機器からのクロックを入力するためのポートと、アドレスカウンタのアドレスデータを出力するためのポートとの数は、２ポートだけでよいこととなる。
【００１６】
また、かかるマイクロコンピュータにおいて、前記アドレスデータ出力手段は、前記アドレスカウンタのアドレスデータを複数分割して出力することとしてもよい。
このマイクロコンピュータによれば、アドレスカウンタのアドレスデータをシリアルデータとする場合に比べて、外部機器から供給されるクロックの周波数を低下させることが可能となる。
【００１７】
また、プログラムメモリのアドレスを指定するアドレスカウンタを有するマイクロコンピュータから、前記アドレスカウンタのアドレスデータを読み取るマイクロコンピュータの評価装置において、前記アドレスカウンタのアドレスデータが分岐したものであるかどうかを読み取り後に判別し、前記アドレスカウンタのアドレスデータが分岐したものであるときのみ、このアドレスデータを記憶するアドレスデータ記憶手段を、備えたことを特徴とするマイクロコンピュータの評価装置。また、かかるマイクロコンピュータの評価装置において、前記アドレスデータ記憶手段は、前記アドレスカウンタのアドレスデータが分岐していないものであるとき、このアドレスデータの記憶を禁止することとする。
このマイクロコンピュータの評価装置によれば、アドレスデータ記憶手段は、分岐したときのアドレスデータ（必要最小限のアドレスデータ）を記憶するだけでよいので、小容量のメモリを設けることが可能となる。これにより、アドレスデータ記憶手段は、マイクロコンピュータの演算処理速度が高速化して上記メモリへのアドレスデータの記憶速度が速くなっても、必要とするアドレスデータを記憶してデータを正しく評価することが可能となる。また、評価装置の大型化およびコストアップを防止することも可能となる。
【００１８】
また、かかるマイクロコンピュータの評価装置において、前記アドレスデータ記憶手段は、前記アドレスデータが分岐したものであるかどうかを判別するための判別データを、前記アドレスデータとともに読み取ることとする。このとき、前記アドレスデータは、前記判別データが付されていることとしてもよい。
このマイクロコンピュータの評価装置によれば、判別データと一体化しているアドレスデータがマイクロコンピュータから供給されるので、分岐したときのアドレスデータを効果的に記憶してデータを正しく評価することが可能となる。
【００１９】
また、かかるマイクロコンピュータの評価装置において、前記アドレスデータ記憶手段は、前記マイクロコンピュータが動作するためのクロックより高い周波数のクロックを用いて、前記アドレスカウンタのアドレスデータのビット数より少ないビット数を単位として、前記アドレスカウンタのアドレスデータを読み取ることとしてもよい。
このマイクロコンピュータの評価装置によれば、マイクロコンピュータが有するアドレスカウンタのアドレスデータを評価することに特化しているため、マイクロコンピュータの演算処理速度が速い場合であっても、アドレスカウンタのアドレスデータをリアルタイムで読み取って正しく評価することが可能となる。また、マイクロコンピュータとの接続線数が少ないため、マイクロコンピュータ自体が小型化している場合であっても、アドレスカウンタのアドレスデータをリアルタイムで読み取って正しく評価することが可能となる。
【００２０】
＝＝＝全体の構成＝＝＝
図１を参照しつつ、本発明にかかる全体の概略構成について説明する。図１は、本発明のマイクロコンピュータおよびその評価装置の概略構成を示すブロック図である。なお、マイクロコンピュータは、データを電気的に書き換え可能なプログラムメモリを有する量産品であることとする。
図１において、マイクロコンピュータ２は、プログラムカウンタ４（アドレスカウンタ）と、ビット幅変換回路６（アドレスデータ出力手段）とを有している。
【００２１】
プログラムカウンタ４は、マイクロコンピュータのプログラムメモリ（不図示）のアドレスを指定するためのものであり、所定バイナリ値のアドレスデータがセットされている。
【００２２】
ビット幅変換回路６は、プログラムカウンタ４のアドレスデータを取り込んで、このアドレスデータの最上位ビット側にスタートビットおよび判別ビット（判別データ）からなるヘッダを付すものである。ここで、スタートビットは、複数の各アドレスデータを区切るためのものであり、論理値"０"であることとする。また、判別ビットは、プログラムカウンタ４のアドレスデータが＋１インクリメントすることなく分岐したものであるかどうかを判別するためのものである。判別ビットは、プログラムメモリからのプログラムデータの解読結果から、プログラムカウンタ４のアドレスデータが＋１インクリメントしたものであるときは論理値"０"となり、一方、プログラムカウンタ４のアドレスデータが分岐したものであるときは論理値"１"となることとする。なお、スタートビットおよび判別ビットは、上記の論理値とは逆の論理値であることとしてもよい。
【００２３】
更に、ビット幅変換回路６は、プログラムカウンタ４のアドレスデータのビット数より少ないビット数を単位として、ヘッダを付しているアドレスデータを出力していくものである。例えば、ビット幅変換回路６は、パラレルシリアル変換回路であることとしてもよい。つまり、ビット幅変換回路６は、ヘッダを付しているアドレスデータがパラレルに入力されるとともに、このアドレスデータをシリアルに出力することとなる。また、ビット幅変換回路６は、ヘッダを付しているアドレスデータ（ｎビット）を複数（ｍ：ｍ＜ｎ）分割する回路であることとしてもよい。つまり、ビット幅変換回路６は、ヘッダを付しているアドレスデータがパラレルに入力されるとともに、このアドレスデータをｎ／ｍビットを単位とするｍ個のデータに分割して順次パラレルに出力することとなる。このビット幅変換回路６から得られるアドレスデータは、後述するアドレスデータを評価するためのデバッグツールに供給される。なお、ビット幅変換回路６からは、複数のアドレスデータが連続して出力されるので、スタートビットは、有効に作用することとなる。
【００２４】
デバッグツール８（外部機器または評価装置）は、マイクロコンピュータ２のビット幅変換回路６から供給されるアドレスデータを評価するためのものであり、制御部１０と、記憶手段１２とを有している。なお、制御部１０および記憶手段１２は、請求項に言うアドレスデータ記憶手段を構成する。
【００２５】
制御部１０は、ビット幅変換回路６がアドレスデータを出力するためのクロックを発生するとともに、記憶手段１２の書き込みおよび読み出しを制御するものである。プログラムカウンタ４にセットされるアドレスデータの値は、マイクロコンピュータ２が動作するためのシステムクロックに同期して、インクリメントまたは所定のアドレスデータに変更されるものである。そのため、制御部１０は、マイクロコンピュータ２が動作するためのシステムクロックに比べて、高い周波数を有するクロックをビット幅変換回路６に供給することとなる。
【００２６】
一例として、マイクロコンピュータ２が動作するためのシステムクロックが１ＭＨｚ、ビット幅変換回路６が１６ビットのアドレスデータ（ただし上位２ビットはヘッダである）をパラレルからシリアルへ変換するパラレルシリアル変換回路であるものとする。この場合、制御部１０は、プログラムカウンタ４のアドレスデータが変更を受ける前にこのアドレスデータを取り込まなければならないため、１６ＭＨｚのクロックをビット幅変換回路６に供給することとなる。これにより、ビット幅変換回路６は、１６ＭＨｚのクロックに同期して、且つ、プログラムカウンタ４のアドレスデータの変更に確実に追従して、１６ビットのアドレスデータをシリアル出力することとなる。
【００２７】
また、他の例として、マイクロコンピュータ２が動作するためのシステムクロックが１ＭＨｚ、ビット幅変換回路６が１６ビットのアドレスデータＡ１５〜Ａ０（ただしＡ１５はスタートビット、Ａ１４は判別ビットである）を４ビットを単位とするデータＡ１５〜Ａ１２、Ａ１１〜Ａ８、Ａ７〜Ａ４、Ａ３〜Ａ０に分割する回路であるものとする。この場合、制御部１０は、プログラムカウンタ４のアドレスデータが変更を受ける前にこのアドレスデータを取り込まなければならないため、４ＭＨｚのクロックをビット幅変換回路６に供給することとなる。これにより、ビット幅変換回路６は、４ＭＨｚのクロックに同期して、且つ、プログラムカウンタ４のアドレスデータの変更に確実に追従して、４ビットデータＡ１５〜Ａ１２、Ａ１１〜Ａ８、Ａ７〜Ａ４、Ａ３〜Ａ０の順でパラレル出力することとなる。
【００２８】
記憶手段１２は、ビット幅変換回路６から得られるアドレスデータのうち、分岐したときのアドレスデータのみを記憶するものである。ここで、制御部１０は、ビット幅変換回路６から得られるアドレスデータのうち、スタートビットおよび判別ビットが分離して供給されることにより、記憶手段１２の書き込みを制御する。詳述すると、制御部１０は、スタートビットが供給されて各アドレスデータを適切に区切り、判別ビットが供給されてアドレスデータが分岐したものであるかどうかを判別する。これにより、制御部１０がアドレスデータを分岐したものであると判別したとき、記憶手段１２は、制御部１０で指定されるアドレスに、ビット幅変換回路６から上記の例のようにして得られるアドレスデータを順次記憶していくこととなる。なお、記憶手段１２としては、ＳＲＡＭ、ＤＲＡＭ等の揮発性メモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ等の不揮発性メモリ、または、ハードディスク等を用いることができる。しかし、記憶手段１２としては、ビット幅変換回路６から得られるアドレスデータを確実に記憶できるものであれば、上記以外の記憶素子を用いることとしてもよい。
【００２９】
ここで、制御部１０は、マイクロコンピュータ２が動作を開始するための開始信号と、マイクロコンピュータ２が動作を停止するための停止信号とを、マイクロコンピュータ２に供給することによって、マイクロコンピュータ２の動作期間を適宜制御するものでもある。これにより、制御部１０では、マイクロコンピュータ２の動作を停止させている期間に、記憶手段１２が現時点まで記憶している分岐時のアドレスデータを読み出して、アドレスデータの変化を基にプログラムメモリのデータを、全体を通してまたは断続的に評価することが可能となる。
【００３０】
＝＝＝マイクロコンピュータの構成＝＝＝
次に、図２を参照しつつ、本発明のマイクロコンピュータについて説明する。図２は、本発明のマイクロコンピュータの内部要素を示すブロック図である。なお、図１と同一要素については同一番号を付すものとする。
図２において、複数の内部要素が内部バス１４を介して接続されている。なお、内部バス１４は、アドレスバスおよびデータバスを有するものである。しかし、アドレスバスおよびデータバスを分けたものであってもよい。
【００３１】
先ず、ＲＯＭ１６（プログラムメモリ）は、マイクロコンピュータ２が演算処理を適宜実行するためのプログラムデータ、マイクロコンピュータ２が演算処理を適宜実行するときに参照するテーブルデータ等が予め記憶されているものである。なお、本実施形態において、ＲＯＭ１６は、データを書き換え可能な不揮発性メモリとして、ＥＥＰＲＯＭ（フラッシュＲＯＭを含む）またはＥＰＲＯＭであることが望ましい。例えば、ＥＰＲＯＭを内蔵するマイクロコンピュータ２では、半導体チップ上の樹脂部材を切り欠いて紫外線照射用の窓部を設けることで、量産品として使用可能となる。
【００３２】
プログラムカウンタ４について詳述する。プログラムカウンタ４は、ＲＯＭ１６の全アドレスの中で、演算処理を実行するためのプログラムデータまたはテーブルデータが記憶されているアドレスを指定するものである。プログラムカウンタ４は、マイクロコンピュータ２が電源投入されたとき、マイクロコンピュータ２を初期化するためのプログラムデータが記憶されているＲＯＭ１６のアドレスデータがプリセットされる。その後、プログラムカウンタ４のアドレスデータは、システムクロックのタイミングで、＋１インクリメントするか、ＲＯＭ１６から読み出されるプログラムデータの解読結果または割り込み要求に従って所定のアドレスデータに分岐（ジャンプ）される。これにより、ＲＯＭ１６は、プログラムカウンタ４でアドレスを指定され、このアドレスに記憶されているプログラムデータまたはテーブルデータを読み出すこととなる。
【００３３】
インストラクションレジスタ１８は、ＲＯＭ１６から読み出されたプログラムデータをシステムクロックのタイミングで一時保持するものである。インストラクションデコーダ２０は、インストラクションレジスタ１８から出力されるプログラムデータ（バイナリデータ）をＰＬＡ（Programmable Logic Array）で解読し、演算処理を実行するための制御信号を出力するものである。
【００３４】
ＲＡＭ２２は、演算処理に関するデータの書き込みおよび読み出しを行うものである。なお、本実施形態において、ＲＡＭ２２としては、演算処理に関するデータを効果的に書き換えできるＳＲＡＭ等の揮発性メモリを用いることが望ましい。
【００３５】
ＡＬＵ２４（演算論理ユニット）は、２入力および１出力からなり、ＲＯＭ１６から読み出されたプログラムデータの解読結果に従って、２入力データを演算処理し、このとき得られる出力データを内部バス１４へ転送するものである。ＡＬＵ２４は、必要に応じて、出力データを一方の入力に供給して再度演算処理を実行する。
【００３６】
アキュムレータ２６、レジスタ群２８は、ＡＬＵ２４から得られる出力データ等の演算処理に関するデータを一時保持するものである。
【００３７】
スタックポインタ３０は、所定の割り込み処理に応じて現プログラムルーチンとは異なるプログラムルーチンへ移行するとき、現プログラムルーチンの復帰先となるＲＯＭ１６のアドレスデータを保持するものである。なお、マイクロコンピュータ２が多重の割り込み処理を実行可能である場合、スタックポインタ３０は、多重の割り込み処理数に応じた階層数を有することとする。
【００３８】
発振回路３２は、マイクロコンピュータ２の内部要素を駆動するためのシステムクロックの基となる発振クロックを発生するものである。本実施形態では、発振回路３２は、それ自体で発振周波数を生成する自走発振型であることとする。例えば、発振回路３２としては、固有振動子を有するセラミック発振回路および水晶発振回路、ＲＣ発振回路等を適用可能である。なお、発振回路３２の代わりに、外部クロックを発振クロックとして供給する他走発振型としてもよい。
【００３９】
クロックジェネレータ３４は、発振回路３２から発生する発振クロックを所定数分周して、マイクロコンピュータ２の内部要素を駆動するためのシステムクロックを発生するものである。
【００４０】
タイマ３６は、クロックジェネレータ３４が発振クロックを所定数分周して得られる１秒信号を計時し、計時出力を内部バス１４へ転送するものである。なお、タイマ３６は、インストラクションデコーダ２０から得られる制御信号に応じて、リセットされるとともに計時を行う。
【００４１】
割り込み制御部３８は、現プログラムルーチンとは異なるプログラムルーチンを実行するための割り込み要求を発生するものである。例えば、割り込み制御部３８は、タイマ３６の１秒ごとの計時変化が供給されることにより、タイマ割り込み要求を発生する。このとき、ＡＬＵ２４では、ＲＯＭ１６から読み出されたプログラムデータの解読結果に従って、例えば時計の日、時、分、秒のインクリメント、桁上げ等の演算処理のみを実行する。また、割り込み制御部３８は、マイクロコンピュータ２の割り込み入力端子（不図示）へ所定の外部信号が供給されることにより、外部割り込み要求を発生する。このとき、ＡＬＵ２４では、ＲＯＭ１６から読み出されたプログラムデータの解読結果に従って、外部信号が要求する演算処理のみを実行する。また、割り込み制御部３８は、ウォッチドッグタイマ４０からマイクロコンピュータ２が異常であることを示す信号が供給されることにより、スタンバイ制御部４２を制御し、現在の演算処理を停止してスタンバイモードとする。なお、割り込み要求は、上記の割り込み要求に限定されるものではない。例えば、ＡＬＵ２４の演算結果が所定値となったとき、割り込み要求を発生させることも可能である。
【００４２】
シリアル入出力ポート４４、入出力ポート４６、４８、５０、５２は、マイクロコンピュータ２と外部機器（本実施形態ではデバッグツール８）との間のインターフェースを行うものであり、一方の入出力側は内部バス１４と接続され、他方の入出力側は外部ピン（不図示）と接続されている。
【００４３】
入出力ポート５４は、マイクロコンピュータ２とデバッグツール８との間のインターフェースを行うものであり、一方の入出力側は外部ピン（不図示）と接続され、他方の入出力側はビット幅変換回路６のクロック入力およびデータ出力と接続されている。つまり、ビット幅変換回路６がアドレスデータを出力するためのクロックは、制御部１０から入出力ポート５４を介してビット幅変換回路６に入力されることとなる。
【００４４】
＝＝＝マイクロコンピュータとデバッグツールの動作＝＝＝
次に、図３を参照しつつ、マイクロコンピュータ２およびデバッグツール８の動作について説明する。図３は、本発明の評価装置（デバッグツール８）の判別動作を説明するためのフローチャートである。
【００４５】
先ず、デバッグツール８の制御部１０では、マイクロコンピュータ２が動作を開始するための開始信号およびマイクロコンピュータ２が動作を停止するための停止信号を出力し、マイクロコンピュータ２の割り込み入力端子に供給する。これにより、マイクロコンピュータ２は、これらの開始信号および停止信号と対応する外部割り込み要求を受けて、ＲＯＭ１６のプログラムデータを解読して演算処理を行うとともに、このときのプログラムカウンタ４のアドレスデータをデバッグツール８に出力するためのスタンバイモードとなる。
【００４６】
そして、デバッグツール８の制御部１０では、マイクロコンピュータが動作するためのシステムクロックより高い周波数のクロックを出力し、マイクロコンピュータ２の入出力ポート５４に供給する。なお、マイクロコンピュータのシステムクロックの周波数とこのクロックの周波数との関係は、上記に説明したとおりである（Ｓ２）。
【００４７】
これにより、マイクロコンピュータ２では、ＲＯＭ１６のプログラムデータを解読して演算処理を行うとともに、このときのプログラムカウンタ４のアドレスデータをヘッダとともにデバッグツール８に出力することとなる。例えば、ビット幅変換回路６がパラレルシリアル変換回路であるとき、ヘッダが付されたアドレスデータは、ビット幅変換回路６から入出力ポート５４を介してデバッグツール８へシリアル出力される。また、ビット幅変換回路６がアドレスデータを複数分割する回路であるとき、ヘッダが付されたアドレスデータは、複数分割された後、ビット幅変換回路６から入出力ポート５４を介して順次パラレル出力される。なお、入出力ポート５４は、クロックの入力とアドレスデータの出力（アドレスデータを複数分割したときは分割後の個々のデータビット数）とを可能とするビット数だけ、予め設けておけばよい。（Ｓ４）。
【００４８】
デバッグツール８の制御部１０では、アドレスデータからヘッダを抽出して、スタートビットからアドレスデータを適切に区切るとともに、判別ビットの論理値からこのときのアドレスデータが分岐したものであるかどうかを判別することとなる（Ｓ６）。
【００４９】
デバッグツール８の制御部１０では、判別ビットが論理値"１"であるものと判別すると（Ｓ８：ＹＥＳ）、このときのアドレスデータは分岐したものとなるので、このアドレスデータを記憶手段１２の指定アドレスに記憶して、上記のステップＳ４からの処理を再度実行することとなる（Ｓ１０）。
【００５０】
一方、デバッグツール８の制御部１０では、判別ビットが論理値"０"であるものと判別すると（Ｓ８：ＮＯ）、このときのアドレスデータは前のアドレスデータを＋１インクリメントしたものとなるので、このアドレスデータを記憶手段１２に記憶せずに、上記のステップＳ４からの処理を再度実行することとなる。つまり、分岐しないアドレスデータは、＋１インクリメントするだけで不規則な変化を生じないので、記憶手段１２にわざわざ記憶する必要がない。
【００５１】
その後、マイクロコンピュータ２では、供給されている停止信号に応じて、適宜のタイミングで動作を停止する。これにより、デバッグツール８の制御部１０では、アドレスデータが供給されなくなるので、クロックの出力を停止して、一連の動作が終了する。
【００５２】
以上より、デバッグツール８の記憶手段１２には、プログラムカウンタ４のアドレスデータのうち、分岐したときのアドレスデータのみが順次記憶されていくこととなる。そして、デバッグツール８は、プログラムカウンタ４のアドレスデータを評価することに特化しているため、マイクロコンピュータ２の演算処理速度が速い場合であっても、プログラムカウンタ４のアドレスデータを正しく評価することが可能となる。また、マイクロコンピュータ２とデバッグツール８との間には、開始信号、停止信号、クロック、アドレスデータのための接続線だけ設ければよいので、マイクロコンピュータ２自体が小型化している場合であっても、プログラムカウンタ４のアドレスデータを正しく評価することが可能となる。
【００５３】
＝＝＝その他の実施形態＝＝＝
以上、本発明に係るマイクロコンピュータおよびその評価装置について説明したが、上記した発明の実施の形態は、本発明の理解を容易とするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることはもちろんである。
【００５４】
≪判別ビット≫
本実施形態では、判別ビットはアドレスデータのヘッダとなっているが、これに限定されるものではない。例えば、判別ビットは、マイクロコンピュータ２からデバッグツール８へアドレスデータとは独立するビット線を用いて出力することとしてもよい。これにより、デバッグツール８の制御部１０では、アドレスデータから判別ビットを抽出する処理を省略できることとなる。
【００５５】
≪アドレスデータ≫
本実施形態では、複数のアドレスデータの区切りを判別するため、各アドレスデータの最上位にスタートビットを付すこととしているが、これに限定されるものではない。例えば、各アドレスデータの最下位または中間ビットの所定位置にスタートビットと同様の判別ビットを付すこととしてもよい。
【００５６】
≪マイクロコンピュータ≫
本実施形態では、マイクロコンピュータ２はデータを電気的に書き換え可能なプログラムメモリを有する量産品であることとしているが、これに限定されるものではない。例えば、マイクロコンピュータ２は、マスクＲＯＭまたはワンタイムＥＰＲＯＭ等を有するマイクロコンピュータを量産する前に使用する、評価用のマイクロコンピュータであってもよい。
【００５７】
【発明の効果】
本発明によれば、評価装置は、分岐したときの必要最小限のアドレスデータを記憶するだけでよいので、小容量のメモリを設けることが可能となる。これにより、評価装置は、マイクロコンピュータの演算処理速度が高速化してメモリへのアドレスデータの記憶速度が速くなっても、必要とするアドレスデータを記憶してデータを正しく評価することが可能となる。また、評価装置の大型化およびコストアップを防止することも可能となる。
【図面の簡単な説明】
【図１】本発明のマイクロコンピュータおよびその評価装置の概略構成を示すブロック図である。
【図２】本発明のマイクロコンピュータの内部要素を示すブロック図である。
【図３】本発明のマイクロコンピュータの評価装置における判別動作を説明するためのフローチャートである。
【符号の説明】
２  マイクロコンピュータ
４  プログラムカウンタ
６  ビット幅変換回路
８  デバッグツール
１０  制御部
１２  記憶手段
１６  ＲＯＭ
４４  シリアル入出力ポート
４６、４８、５０、５２、５４  入出力ポート
【図１】
2004199333.tif 000003
【図２】
2004199333.tif 000004
【図３】
2004199333.tif 000005