(57)【特許請求の範囲】
【請求項１】
所定の処理を行うマイクロコンピュータで読み書きされた、アドレスの識別子であるアドレス情報と、前記アドレスに記憶されているオペランドデータであるデータ情報を取得するデータ取得回路と、
前記データ取得回路で取得された前記アドレス情報を圧縮して出力するアドレス情報圧縮回路と、
前記データ取得回路で取得された前記データ情報を圧縮して出力するデータ情報圧縮回路と、
前記アドレス情報圧縮回路と前記データ情報圧縮回路から出力された、圧縮された前記アドレス情報と前記データ情報を含んだ可変長のデータを出力するデータ出力回路
を備え、
前記データ情報圧縮回路は、
前記データ情報を複数のレーンに分割し、出力する前記データ情報がある前記レーンについて有効にし、出力する前記データ情報がない前記レーンについて無効にするビットパターン情報であって、前記データ情報にあり得ない前記ビットパターン情報を記憶したビットパターン指定レジスタと、
前記ビットパターン指定レジスタに対応したデータ情報を記憶したデータパターンレジスタと、
前記データ情報と前記データパターンレジスタが一致する場合、前記データパターンレジスタに対応した前記ビットパターン指定レジスタが記憶したビットパターン情報を出力し、一致しない場合は前記データ情報を出力する一致比較回路を備えている
ことを特徴とするトレースデータ圧縮装置。
【請求項２】
請求項１に記載のトレースデータ圧縮装置において、
前記データ出力回路は、前記可変長のデータをパケットに分割して出力する
ことを特徴とするトレースデータ圧縮装置。
【請求項３】
請求項１に記載のトレースデータ圧縮装置において、
前記データ取得回路で取得された前記アドレス情報及び前記データ情報をバッファ記憶装置に記憶するバッファ記憶手段を更に備え、
前記データ取得回路は、更に前記バッファ記憶装置から前記アドレス情報及び前記データ情報を取得する
ことを特徴とするトレースデータ圧縮装置。
【請求項４】
請求項３に記載のトレースデータ圧縮装置であって、
前記バッファ記憶装置の記憶容量を監視し、前記バッファ記憶装置の記憶容量を超えた場合、オーバーフロー信号を送信するオーバーフロー監視回路
を更に備えることを特徴とするトレースデータ圧縮装置。
【請求項５】
請求項１に記載のトレースデータ圧縮装置であって、  前記アドレス情報圧縮回路は、
予め、頻出する上位アドレスを記憶した比較アドレスレジスタと、
前記比較アドレスレジスタにマスクをかけるマスクレジスタと、
前記データ取得回路で取得された前記アドレスの上位アドレスと、前記比較アドレスレジスタに記憶された前記頻出するアドレスの上位アドレスとを比較し、一致した前記頻出するアドレスの上位アドレスの識別子を出力する一致比較回路と、
前記データ取得回路で取得された前記アドレスの下位アドレスを出力する下位アドレス出力回路
とを備えていることを特徴とするトレースデータ圧縮装置。
【請求項６】
請求項１に記載のトレースデータ圧縮装置であって、
前記データ情報圧縮回路は、
前記データ情報を複数のレーンに分割し、出力する前記データ情報がある前記レーンについて有効にし、出力する前記データ情報がない前記レーンについて無効にするビットパターン情報を出力するビットパターン出力回路
を備えていることを特徴とするトレースデータ圧縮装置。
【請求項７】
請求項１に記載のトレースデータ圧縮装置であって、  前記マイクロコンピュータが前記アドレスに前記データを書いたのか或いは読んだのか判別する信号を出力するリード／ライト出力回路
を更に備えることを特徴とするトレースデータ圧縮装置。
【請求項８】
所定の処理を行い、前記処理で出力されたデータをトレースするトレースデータ圧縮回路を内蔵したマイクロコンピュータであって、
所定の処理を行う処理回路と、
前記処理回路から、前記処理回路がデータアクセスを行ったアドレス情報及びデータ情報を取得するデータ取得回路と、
前記データ取得回路で取得された前記アドレス情報を圧縮して出力するアドレス情報圧縮回路と、
前記データ取得回路で取得された前記データ情報を圧縮して出力するデータ情報圧縮回路と、
前記アドレス情報圧縮回路と前記データ情報圧縮回路から出力された、圧縮された前記アドレス情報と前記データ情報を含んだ可変長のデータを出力するデータ出力回路を備え、
前記データ情報圧縮回路は、
前記データ情報を複数のレーンに分割し、出力する前記データ情報がある前記レーンについて有効にし、出力する前記データ情報がない前記レーンについて無効にするビットパターン情報であって、前記データ情報にあり得ない前記ビットパターン情報を記憶したビットパターン指定レジスタと、  前記ビットパターン指定レジスタに対応したデータ情報を記憶したデータパターンレジスタと、
前記データ情報と前記データパターンレジスタが一致する場合、前記データパターンレジスタに対応した前記ビットパターン指定レジスタが記憶したビットパターン情報を出力し、一致しない場合は前記データ情報を出力する一致比較回路を備えている
ことを特徴とするトレースデータ圧縮回路を内蔵したマイクロコンピュータ。
【請求項９】
請求項８に記載のトレースデータ圧縮回路を内蔵したマイクロコンピュータであって、
前記アドレス情報圧縮回路は、
予め、頻出する上位アドレスを記憶した比較アドレスレジスタと、
前記比較アドレスレジスタにマスクをかけるマスクレジスタと、
前記データ取得回路で取得された前記アドレスの上位アドレスと、前記比較アドレスレジスタに記憶された前記頻出するアドレスの上位アドレスとを比較し、一致した前記頻出するアドレスの上位アドレスの識別子を出力する一致比較回路と、
前記データ取得回路で取得された前記アドレスの下位アドレスを出力する下位アドレス出力回路
とを備えていることを特徴とするトレースデータ圧縮回路を内蔵したマイクロコンピュータ。
【請求項１０】
請求項８に記載のトレースデータ圧縮回路を内蔵したマイクロコンピュータであって、
前記データ情報圧縮回路は、
前記データ情報を複数のレーンに分割し、出力する前記データ情報がある前記レーンについて有効にし、出力する前記データ情報がない前記レーンについて無効にするビットパターン情報を出力するビットパターン出力回路
を備えていることを特徴とするトレースデータ圧縮回路を内蔵したマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定の処理を行うマイクロコンピュータで読み書きされた、アドレスの識別子であるアドレス情報と、前記アドレスに記憶されているオペランドデータであるデータ情報を圧縮して出力するトレースデータ圧縮装置及びトレースデータ圧縮方法、及び、所定の処理を行い、この処理で出力されたデータを圧縮するトレースデータ圧縮回路を内蔵したマイクロコンピュータに関する。
【０００２】
【従来の技術】
近年、マイクロコンピュータの普及は著しく、あらゆる機器にマイクロコンピュータが使われている。
【０００３】
マイクロコンピュータとは、ＩＣチップ上に、様々な情報の演算や処理に必要な全ての機能を集積したもので、一度に処理できるデータの幅から４ビット、８ビット、１６ビット、３２ビットなどの種類がある。マイクロコンピュータは、車、掃除機、電子レンジ、冷蔵庫、エアコン、自動車など、あらゆる電気製品に内蔵されている。
【０００４】
マイクロコンピュータはパソコンなどと接続され、技術者がパソコンを使用してプログラムし、所定の処理を行うことができる。
【０００５】
これに伴い、技術者が行ったプログラムが正しいか否か、検証（デバッグ）を行う必要がある。データの処理時間を確認する、あるデータを入力して処理され、出力されたデータを確認する、など、様々なデバッグ方法がある。
【０００６】
このデバッグ方法の中に、更に、メモリやＩＯ領域などへのデータアクセスの履歴を調べるデータトレースが挙げられる。
【０００７】
従来のデータトレースシステムを図１７に示す。図１７に示した従来のデータトレースシステムは、ターゲットとなるマイクロコンピュータの代わりに、ＩＣソケットが搭載されたターゲットシステム１０３と、ＩＣソケットに接続され、ターゲットとなるマイクロコンピュータと同一の処理を行うエミュレーションチップ（エバチップ）１０５と、エミュレーションチップの入出力をトレースするパソコン１０１を備えている。ここで、パソコン１０１とエミュレーションチップ１０５は、データトレース情報収集装置と呼ばれる。
【０００８】
【発明が解決しようとする課題】
しかし、図１７に示したデータトレースシステムにおいては、ターゲットとなるマイクロコンピュータではなく、それと同一の処理を行うエミュレーションチップ１０５で処理を行うことになる。このエミュレーションチップ１０５を作成するのに、数十万ゲートから数百万ゲートの回路規模を要し、数百万円から数千万円のコストが必要になってしまう。又、ターゲットとなるマイクロコンピュータを直接デバッグを行うわけではないので、エミュレーションチップ１０５の精度によっては、十分なデバッグを行うことができなかった。又、エミュレーションチップ１０５とＩＣソケットの接続に難がある。又、このとき、専用のプローブで接続するため、ケーブルノイズなどで正確にエミュレーションチップが動作しないことがあった。
【０００９】
これらの問題を解決するために考えられたデータトレースシステムを図１８に示す。図１８に示すデータトレースシステムにおいては、ＤＳＵ−ＩＣＥ１０２を介して、パソコン１０１はターゲットシステム１０３からデータトレースを行うことができる。
【００１０】
図１８に示すデータトレースシステムにおいては、マイクロコンピュータに対して、直接デバッグを行うことができる。従って、図１７に示したデータトレースシステムに比べ、エミュレーションチップを作成するコストを削減できる、マイクロコンピュータに対して直接デバッグを行うので、正確なデバッグを行うことができる、などのメリットがある。
【００１１】
しかし、図１８に示したデータトレースシステムにおいては、例えば、３２ビットのマイクロコンピュータをデバッグする場合、アドレス情報として３２ビット、データ（オペランド）情報として３２ビット、ステータス情報として６ビットの合計７０ビットを出力するために、７０本の出力端子が必要となる。これにより、マイクロコンピュータの大規模化、高コスト化などを引き起こすことになっていた。
【００１２】
又、端子数を減らしたデバッグ機能を持つマイクロコンピュータもあるが、このマイコンでは、トレース情報を分割して出力しなければならない。それにより、全情報を出力するのに時間を要し、次に出力する情報とオーバラップしてしまい、実質的に全情報を出力できる割合が少なくなってきている。
【００１３】
従って、本発明の目的は、少ない出力端子で効果的にデバッグを行うことのできるトレースデータ圧縮装置及びトレースデータ圧縮方法、及び、所定の処理を行い、この処理で出力されたデータを圧縮するトレースデータ圧縮回路を内蔵したマイクロコンピュータを提供することである。
【００１４】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の特徴は、所定の処理を行うマイクロコンピュータで読み書きされた、アドレスの識別子であるアドレス情報と、前記アドレスに記憶されているオペランドデータであるデータ情報を取得するデータ取得回路と、前記データ取得回路で取得された前記アドレス情報を圧縮して出力するアドレス情報圧縮回路と、前記データ取得回路で取得された前記データ情報を圧縮して出力するデータ情報圧縮回路と、前記アドレス情報圧縮回路と前記データ情報圧縮回路から出力された、圧縮された前記アドレス情報と前記データ情報を含んだ可変長のデータを出力するデータ出力回路を備え、前記データ情報圧縮回路は、前記データ情報を複数のレーンに分割し、出力する前記データ情報がある前記レーンについて有効にし、出力する前記データ情報がない前記レーンについて無効にするビットパターン情報であって、前記データ情報にあり得ない前記ビットパターン情報を記憶したビットパターン指定レジスタと、前記ビットパターン指定レジスタに対応したデータ情報を記憶したデータパターンレジスタと、前記データ情報と前記データパターンレジスタが一致する場合、前記データパターンレジスタに対応した前記ビットパターン指定レジスタが記憶したビットパターン情報を出力し、一致しない場合は前記データ情報を出力する一致比較回路を備えているトレースデータ圧縮装置であることである。
【００１６】
本発明の第２の特徴は、所定の処理を行い、前記処理で出力されたデータをトレースするトレースデータ圧縮回路を内蔵したマイクロコンピュータであって、  所定の処理を行う処理回路と、前記処理回路から、前記処理回路がデータアクセスを行ったアドレス情報及びデータ情報を取得するデータ取得回路と、前記データ取得回路で取得された前記アドレス情報を圧縮して出力するアドレス情報圧縮回路と、前記データ取得回路で取得された前記データ情報を圧縮して出力するデータ情報圧縮回路と、前記アドレス情報圧縮回路と前記データ情報圧縮回路から出力された、圧縮された前記アドレス情報と前記データ情報を含んだ可変長のデータを出力するデータ出力回路を備え、前記データ情報圧縮回路は、前記データ情報を複数のレーンに分割し、出力する前記データ情報がある前記レーンについて有効にし、出力する前記データ情報がない前記レーンについて無効にするビットパターン情報であって、前記データ情報にあり得ない前記ビットパターン情報を記憶したビットパターン指定レジスタと、  前記ビットパターン指定レジスタに対応したデータ情報を記憶したデータパターンレジスタと、前記データ情報と前記データパターンレジスタが一致する場合、前記データパターンレジスタに対応した前記ビットパターン指定レジスタが記憶したビットパターン情報を出力し、一致しない場合は前記データ情報を出力する一致比較回路を備えているトレースデータ圧縮回路を内蔵したマイクロコンピュータであることである。
【００１７】
【発明の実施の形態】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００１８】
（第１の実施の形態）
（トレースデータ圧縮装置）
本発明の第１の実施の形態に係るトレースデータ圧縮装置１の機能ブロック図を図１に示す。
【００１９】
トレースデータ圧縮装置１は、所定の処理を行うマイクロコンピュータ（ＣＰＵコア）１９で読み書きされた、アドレスの識別子であるアドレス情報と、前記アドレスに記憶されているデータ情報を圧縮して出力する装置である。
【００２０】
例えば、３２ビットのマイクロコンピュータを用いた場合、マイクロコンピュータ１９から、アドレス情報として３２ビット、データ情報として３２ビット、ステータス情報として６ビットの合計７０ビットの信号がトレースデータ圧縮装置１に入力され、トレースデータ圧縮装置１は、９ビットの信号に圧縮して、９本の端子で出力する。
【００２１】
９本の端子のうち、８本は情報出力として使用され、残り１本は、トレースデータ圧縮装置１の処理能力を超えた場合のオーバーフローステータスとして使用される。第１の実施の形態においては、トレースデータ圧縮装置の転送レートは、マイクロコンピュータ１９のクロック周波数と同じとする。又、転送レートは、マイクロコンピュータ１９のクロック周波数の２倍の周波数でも良いし、１／２倍の周波数でも良い。
【００２２】
マイクロコンピュータ１９において、データアクセスが発生した場合、そのアドレス、データ、ステータス情報を８本の情報出力端子に分割して出力する。
【００２３】
本発明の第１の実施の形態に係るトレースデータ圧縮装置１は、バッファ記憶装置１１、データ取得回路１２、リード／ライト判別回路１３、アドレス情報圧縮回路１４、データ情報圧縮回路１５、オーバーフロー監視回路１６、データ出力回路１７、データインタフェース１８を備えている。
【００２４】
バッファ記憶装置１１は、リード／ライト判別回路、アドレス情報圧縮回路１４及びデータ情報圧縮回路１５から出力されたデータをバッファとして保存する記憶装置である。
【００２５】
マイクロコンピュータ１９のデータアクセス情報を８本の出力端子から分割して出力している途中に、更にマイクロコンピュータ１９に次のデータアクセスがあった場合、このバッファ記憶装置１１に記憶して、データアクセスが粗になった時に蓄積した情報を順次放出できるようにする。
【００２６】
データインタフェース１８は、トレースデータ圧縮装置１の出力インタフェースである。データインタフェース１８は、データ出力用に８本、バッファ記憶装置１１のオーバーフロー信号として１本の出力端子を備えている。
【００２７】
データ取得回路１２は、マイクロコンピュータ１９から、マイクロコンピュータ１９がデータアクセスを行ったアドレス情報及びデータ情報を取得する回路である。マイクロコンピュータ１９において、データアクセスが密接して行われた場合にも対応できるように、アドレス情報及びデータ情報を、バッファ記憶装置１１に一度格納し、バッファ記憶装置１１から取得しても良い。このような場合は、データアクセスが粗になった時に、バッファ記憶装置１１から順次情報を取得するのが良い。
【００２８】
リード／ライト判別回路１３は、マイクロコンピュータ１９が、所定のアドレス領域にデータを書いたのか、或いは読んだのか判別して、信号を出力する回路である。例えば、データを書いた場合は「０」を、データを読んだ場合は「１」を、それぞれ１ビットの信号として出力する。
【００２９】
アドレス情報圧縮回路１４は、データ取得回路１２で取得されたアドレス情報を圧縮して出力する回路である。
【００３０】
データ情報圧縮回路１５は、データ取得回路１２で取得されたデータ情報を圧縮して出力する回路である。
【００３１】
オーバーフロー監視回路１６は、バッファ記憶装置１１の記憶容量を監視し、バッファ記憶装置１１の記憶容量を超えて、更にバッファ記憶装置１１にデータを記憶しようとした場合、オーバーフロー信号を送信する回路である。オーバーフロー信号の出力回数をカウントすることにより、何度、オーバーフローになったのか、把握することができる。
【００３２】
データ出力回路１７は、リード／ライト判別回路１３、アドレス情報圧縮回路１４とデータ情報圧縮回路１５から出力された、リード／ライト信号、圧縮された前記アドレス情報と前記データ情報を、データインタフェース１８を介して出力する回路である。ここでは、更に、スタートビットを付加し、有効情報を含んだ可変長のデータを出力するのが好ましい。更に、可変長のデータをパケットに分割して出力しても良い。
【００３３】
（アドレス情報圧縮回路）
アドレス情報圧縮回路１４の詳細な機能ブロック図を図２に示す。
【００３４】
図２（ａ）に示すように、アドレス情報圧縮回路１４は、レジスタ部２１、一致比較回路２７、下位アドレス出力回路２９、トレース端子２８を備えている。
【００３５】
アドレス情報圧縮回路１４は、データ取得回路１２で取得されたアドレス情報であるアドレス情報２６を圧縮し、トレース端子２８に出力する。アドレス情報２６は、上位アドレスを示したエリアコードと、下位アドレスに分割して出力される。従って、トレース端子２８は、エリアコード端子２８ａと下位アドレス端子２８ｂを備えている。
【００３６】
レジスタ部２１は、頻出するアドレスのエリアを予め登録するレジスタであって、図２においては、１５個のアドレスのエリアを登録することができる。レジスタ部２１は、禁止／許可レジスタ２２、比較アドレスレジスタ２５ａ、マスクレジスタ２４ａを備えている。
【００３７】
比較アドレスレジスタ２５ａは、頻出するアドレスの上位アドレスを記憶したレジスタである。例えば、上位４ビット、上位８ビット、上位１６ビットなどの上位アドレスを記憶することができる。ここでは、第３１ビットから第２ビットの３０ビットを比較アドレスとして記憶することができるので、最大３０ビットのデータを、上位アドレスとして登録することができる。
【００３８】
マスクレジスタ２４ａは、比較アドレスレジスタ２５ａに記憶されたデータにマスクをかけるレジスタである。マスクレジスタ２４ａの第３ビットは、比較アドレスレジスタ２５ａの第３１ビットから第２４ビットをマスクし、マスクレジスタ２４ａの第２ビットは、比較アドレスレジスタ２５ａの第２３ビットから第１６ビットをマスクし、マスクレジスタ２４ａの第１ビットは、比較アドレスレジスタ２５ａの第１５ビットから第８ビットをマスクし、マスクレジスタ２４ａの第０ビットは、比較アドレスレジスタ２５ａの第７ビットから第０ビットをマスクする。このマスクレジスタ２５ａにより、上位アドレスを除いた下位アドレスの出力範囲を指定することができる。よって、このマスク指定の範囲により、アドレス出力の長さは、バイト単位で異なる。
【００３９】
比較アドレスレジスタ２５ａとマスクレジスタ２４ａを備えた回路２３ａは、１５個の上位アドレスを登録できるように、１５個の回路２３ａ乃至２３ｏが用意されている。
【００４０】
又、１５個用意された回路２３ａ乃至２３ｏを使うか否かを制御する、禁止／許可レジスタ２２を備えている。禁止／許可レジスタ２２は、１５個の回路２３ａ乃至２３ｏを制御できる１５ビットのレジスタである。
【００４１】
一致比較回路２７は、データ取得回路１２で取得されたアドレス情報２６と、レジスタ部２１を比較する回路である。比較アドレスレジスタ２５ａで指定された上位アドレスと、アドレス情報２６の上位アドレスが一致した場合、比較アドレスレジスタ２５ａで指定された上位アドレスの識別子であるエリアコードを出力する。本発明の実施の形態においては、このとき出力するエリアコードを、ＡＲ［３：０］と示す。
【００４２】
比較アドレスレジスタ及びマスクレジスタで、１５個の上位アドレスが登録できる場合、エリアコードは、「０」乃至「１４」のエリアコードを持つので、４ビットのデータとなる。又、一致比較回路２７において、いずれの比較アドレスレジスタに登録したものと一致しなかった場合は、エリアコードを「１５（１６進数表現で０ｘｆ）」を出力する。
【００４３】
下位アドレス出力回路２９は、マスクレジスタ２４ａと、後述する図３のマスクアドレス出力回路４０から出力されたアドレスＡを参照して、マスクされたアドレスを取得し、下位アドレス端子２８ｂに出力する回路である。
【００４４】
図２（ｂ）は、一つの上位アドレスを登録するのに必要となるレジスタを示した図である。上述したように、一つの上位アドレスを登録するのに、その上位アドレスを使う比較を許可するか禁止するかを示す比較許可／禁止レジスタを１ビット、マスクレジスタを４ビット、比較アドレスレジスタを３０ビット備える。
【００４５】
本発明のアドレス情報圧縮回路によれば、頻出する上位アドレスを予め登録し、より短いビットで表現する。
【００４６】
マイクロコンピュータ１９の特性として、処理速度を向上するために、ある処理について使うアドレスにおいて、近辺のアドレスを使うことが多い。従って、メモリ領域の全域がランダムに使われるわけではなく、あるエリアに固まって使われる。
【００４７】
そのエリアに共通するアドレスの上位ビットを上位アドレスとして登録することにより、アドレス情報を圧縮することができる。
【００４８】
例えば、３２ビットのマイクロコンピュータを利用して本実施例を適用すれば、上位２４ビットのアドレスを上位アドレスとして予め登録した場合、上位２４ビットのデータは、４ビットのエリアコードに圧縮することができる。更に、８ビットの上位アドレスを除く下位アドレスを可変なアドレスとして出力すれば良い従って、３２ビットのアドレスは、８ビットに圧縮されることになる。
【００４９】
（データ情報圧縮回路）
データ情報圧縮回路１５の詳細な機能ブロック図を図３に示す。データ情報圧縮回路１５は、ビットパターン出力回路３７、レジスタ部３１、一致比較回路３９、マスクアドレス出力回路４０を備える。
【００５０】
データ情報圧縮回路１５が備えるビットパターン出力回路３７について詳述する。
【００５１】
ビットパターン出力回路３７は、データ情報３８を、例えばバイト単位に複数のレーンに分割し、レーンに出力するデータ情報がある場合、レーンを有効にし、レーンに出力するデータ情報がない場合、レーンを無効にするビットパターン情報を出力する回路である。マイクロコンピュータ１９が３２ビットの場合、４バイトのデータを扱うので、バイトごとに設定したレーンが有効であるか無効であるかを出力するので、ビットパターン情報は、４ビットのデータを持つ。本発明の実施の形態においては、このとき出力するデータを、ＢＥ［３：０］と示す。ここで、ＢＥとは、Ｂｙｔｅ  Ｅｎａｂｌｅの略である。
【００５２】
図４に、ビットパターン情報の例を示す。図４には、マイクロコンピュータ１９が出力する可能性のあるデータのエリアを示す。
【００５３】
図４（ａ）は、ワードアクセスと呼ばれ、３２ビット全てを使ってオペランドデータを利用する場合である。このとき、ＢＥ［３：０］＝１１１１となる。
【００５４】
図４（ｂ）は、バイトアクセスと呼ばれ、８ビットを使ってオペランドデータにアクセスする場合である。下位８ビットを使った時、ＢＥ［３：０］＝０００１となる。
【００５５】
図４（ｃ）は、ハーフワードアクセスと呼ばれ、１６ビットを使ってオペランドデータにアクセスする場合である。下位１６ビットを使った時、ＢＥ［３：０］＝００１１となる。
【００５６】
図４（ｄ）は、２４ビットを使ってオペランドデータにアクセスする場合である。下位２４ビットを使った時、ＢＥ［３：０］＝０１１１となる。
【００５７】
図４（ｅ）は、第１５ビットから第８ビットを使ってオペランドデータにアクセスする場合で、このとき、ＢＥ［３：０］＝００１０となる。
【００５８】
図４（ｆ）は、第３１ビットから第８ビットを使ってオペランドデータにアクセスする場合で、このとき、ＢＥ［３：０］＝１１１０となる。
【００５９】
図４（ｇ）は、第３１ビットから第２４ビットを使ってオペランドデータにアクセスする場合で、このとき、ＢＥ［３：０］＝１０００となる。
【００６０】
図４（ｈ）は、第２３ビットから第１６ビットを使ってオペランドデータにアクセスする場合で、このとき、ＢＥ［３：０］＝０１００となる。
【００６１】
図４（ｉ）は、第３１ビットから第１６ビットを使ってオペランドデータにアクセスする場合で、このとき、ＢＥ［３：０］＝１１００となる。
【００６２】
ビットパターン出力回路３７により、有効なデータ情報がないエリアのデータを出力しないので、データ情報を圧縮することができる。
【００６３】
例えば、図４（ｂ）の場合、データ情報を圧縮しない場合は、３２ビットのデータを送信することになる。しかし、実施の形態のビットパターン出力回路３７により、エリア情報として４ビット出力し、第７ビットから第０ビットのデータ情報のみを出力すれば良く、合計１２ビットのデータを出力することになる。従って、本発明のビットパターン出力回路３７によれば、２０ビットのデータを圧縮することができる。
【００６４】
次に、データ情報圧縮回路１５のうち、ビットパターン出力回路３７を除く回路について詳述する。
【００６５】
データ情報圧縮回路１５は、データＦｉｌｌやデータクリアなど、固定データの繰り返しパターンも圧縮することができる。このとき、マイクロコンピュータ１９の動作の性質上あり得ないビットパターン情報に、これらの繰り返しパターンを割り当てる。
【００６６】
図５に、マイクロコンピュータ１９が出力する可能性のないビットパターン情報の例を示す。この「出力する可能性のないビットパターン情報」は、マイクロコンピュータ１９の特性に依存する。
【００６７】
図５（ａ）は、３２ビット全てのビットにおいて、データ情報がない場合で、このとき、ＢＥ［３：０］＝００００となる。
【００６８】
図５（ｂ）は、第２３ビットから第１６ビット、第７ビットから第０ビットのみデータ情報がある場合で、このとき、ＢＥ［３：０］＝０１０１となる。
【００６９】
図５（ｃ）は、第３１ビットから第２４ビット、第７ビットから第０ビットのみデータ情報がある場合で、このとき、ＢＥ［３：０］＝１００１となる。
【００７０】
図５（ｄ）は、第３１ビットから第２４ビット、第１５ビットから第８ビットのみデータ情報がある場合で、このとき、ＢＥ［３：０］＝１０１０となる。
【００７１】
図５（ｅ）は、第３１ビットから第２４ビット、第１５ビットから第０ビットのみデータ情報がある場合で、このとき、ＢＥ［３：０］＝１０１１となる。
【００７２】
図５（ｆ）は、第３１ビットから第１６ビット、第７ビットから第０ビットのみデータ情報がある場合で、このとき、ＢＥ［３：０］＝１１０１となる。
【００７３】
本発明の実施の形態においては、図５に示した、ＢＥ［３：０］＝００００、０１０１、１００１、１０１０、１０１１、１１０１に、繰り返しパターンを割り当てることができる。
【００７４】
レジスタ部３１は、割り当てることのできるＢＥを予め登録するレジスタであって、図２おいては、６個のＢＥを登録することができる。レジスタ部２１は、禁止／許可レジスタ３２、ＢＥ指定レジスタ３４ａ、データパターンレジスタ３５ａ、マスクアドレス禁止／許可レジスタ３６ａを備えている。
【００７５】
ＢＥ指定レジスタ３４ａは、図５に示した、出力する可能性のないビットパターン情報のうちいずれか一つが記憶されている。
【００７６】
データパターンレジスタ３５ａは、ＢＥ指定レジスタ３４ａで指定されたビットパターン情報に割り当てるデータパターンが記憶されている。具体的には、データＦｉｌｌの場合は「０ｘ１１１１」が、データクリアの場合は「０ｘ００００」が割り当てられている。
【００７７】
マスクアドレス禁止／許可レジスタ３６ａは、データ情報３８がデータパターンレジスタ３５ａに記憶されたデータと一致した時に、アドレス情報圧縮回路１４のマスクレジスタ２４ａでマスク指定したアドレスを出力するかしないか指定することができる。
【００７８】
ＢＥ指定レジスタ３４ａ、データパターンレジスタ３５ａとマスクアドレス禁止／許可レジスタ３６ａを備えた回路３３ａは、本発明の実施の形態においては、６個のデータパターンが登録できるように、６個の回路３３ａ乃至３３ｆが用意されている。ここで用意される回路の数は、マイクロコンピュータ１９の特性に依存し、マイクロコンピュータ１９が出力する可能性のないビットパターン情報の数だけ、回路が用意されるのが好ましい。
【００７９】
又、６個用意された回路３３ａ乃至３３ｆを使うか否かを制御する、禁止／許可レジスタ３２を備えている。禁止／許可レジスタ３２は、３２個の回路３３ａ乃至３３ｆを制御できる６ビットのレジスタである。
【００８０】
一致比較回路３９は、データ取得回路１２で取得されたデータ情報（オペランドデータ）とレジスタ部３１を比較する回路である。データパターンレジスタ３５ａで指定されたデータと、オペランドデータが一致した場合、ＢＥ指定レジスタ３４ａに記憶されたＢＥデータ（ビットパターン情報）を出力する。一致しない場合は、マスクアドレス出力回路は、ビットパターン出力回路３７でデータがあると判断されたエリアの情報を出力する。
【００８１】
マスクアドレス出力回路４０は、マスク指定したアドレスを出力する。通常、アドレス情報圧縮回路のマスクレジスタ２４ａでマスクしたアドレスは、トレース端子２８において出力される。ここで、ＡＲ［３：２］＝０かつＡＲ［１：０］のいずれかが有効であることを示す信号が入力される。これにより、トレース圧縮装置１が出力するパケットを最小にすることができる。
【００８２】
又ここで、マスク指定したアドレスを出力しないオプションも指定することができる。マスクアドレス禁止／許可レジスタ３６ａで禁止に指定すると、対応するアドレスエリアでデータパターンが一致した時、マスクしたアドレスを出力しない。
【００８３】
本発明のデータ情報圧縮回路１５によれば、データパターンが一致した場合は、ビットパターン情報を出力するので、データを圧縮することができる。
【００８４】
例えば、本発明の実施の形態においては、３２ビットのオペランドデータがデータパターンレジスタ３５ａと一致した場合、４ビットのＢＥ指定レジスタ３４ａに記憶されたＢＥデータを出力すれば良いので２８ビットのデータを圧縮することができる。
【００８５】
（トレースデータ圧縮方法）
本発明の第１の実施の形態に係るトレースデータ圧縮方法のフローチャートを図６に示す。記載した実行ステップは、実施の形態の一例であり、この順序で実行される必要はない。
【００８６】
まず、ステップＳ１０１において、データ取得回路１２により、マイクロコンピュータ１９から、データアクセスがあったアドレスのアドレス情報と、オペランドのデータ情報を取得する。
【００８７】
次に、ステップＳ１０２において、リード／ライト判別回路１３により、アドレスのオペランドを読み込んだのか、オペランドを書き込んだのか、リード又はライトのステータスを取得する。本発明の実施の形態においては、リードの場合は「０」を、ライトの場合は「１」を出力する。
【００８８】
次に、ステップＳ１０３からステップＳ１０６において、データ情報圧縮回路１５により、データ情報を圧縮する。
【００８９】
まず、ステップＳ１０３において、一致比較回路３９により、データパターンレジスタ３５ａ乃至３５ｆのいずれかの値と一致するか検証する。データパターンレジスタ３５ａ乃至３５ｆのいずれかの値と一致すれば、ステップＳ１０４において、対応するＢＥ指定レジスタ３４ａ乃至３４ｆからＢＥ情報を取得する。ここで、マスクアドレス禁止／許可レジスタ３６ａ乃至３６ｆのデータを用いて、マスクアドレス出力回路４０により、ＡＲ［１：０］のマスクアドレスを出力することもできる。
【００９０】
一致しなければ、ステップＳ１０５において、ビットパターン出力回路３７により、ＢＥ情報を取得し、ステップＳ１０６において、ステップＳ１０５で取得したＢＥ情報を参照して、データ情報のうち、有効なエリアのデータのみを取得する。
【００９１】
次に、ステップＳ１０３からステップＳ１１０において、アドレス情報圧縮回路１４により、アドレス情報を圧縮する。
【００９２】
まず、ステップＳ１０７において、アドレス情報圧縮回路１４により、ステップＳ１０１で取得したアドレス情報の上位アドレスと、比較アドレスレジスタ２５ａ乃至２５ｏのいずれかの値と一致するか検証する。比較アドレスレジスタ２５ａ乃至２５ｏのいずれにも一致しない場合は、エリアコードとして、ＡＲ［３：０］＝０ｘｆを出力する。
【００９３】
一致する場合、ステップＳ１０９において、一致した比較アドレスレジスタに対応したエリアコードを取得する。
【００９４】
更に、ステップＳ１１０において、下位アドレス出力回路２９により、下位アドレスを出力する。
【００９５】
更に、ステップＳ１１１において、ステップＳ１０２乃至ステップＳ１１１で取得されたデータにスタートビットを付加して、更にパケットに分割し、ステップＳ１１２において、データ出力回路１７により、パケットを送信する。
【００９６】
図７は、オーバーフロー監視回路１６のフローチャートである。記載した実行ステップは、実施の形態の一例であり、この順序で実行される必要はない。
【００９７】
まず、データアクセスによるトレースデータが発生すると、ステップＳ２０１において、トレース情報をバッファ記憶装置１１に書き込むトライを行う。
【００９８】
次に、ステップＳ２０２において、バッファ記憶装置１１の容量がフル（Ｆｕｌｌ）の場合、ステップＳ２０３において、オーバーフローフラグを出力し、書き込みしたトレース情報を破棄する。
【００９９】
一方、ステップＳ２０２において、バッファ記憶装置１１の容量がＦｕｌｌでない場合、ステップＳ２０４において、トレース情報をバッファ記憶装置１１に記録する。
【０１００】
この一連の処理が終了すると、次のトレースデータを待機する。
【０１０１】
これによれば、バッファ記憶装置１１がオーバーフローする度に信号を発生するので、トレースデータとして取得できなかったデータの数をカウントすることができる。
【０１０２】
又、クロック周波数で同期を取ることにより、どのタイミングでオーバーフローが発生したか判別することができる。
【０１０３】
図８に、本発明の第１の実施の形態によって出力された圧縮されたトレースデータの例である。
【０１０４】
図８（ａ）においては、エリア０にワードデータ０ｘｆｆｆｆｆｆｆｆをライトした場合の出力例である。
【０１０５】
ここで、ＤＴＲ［７：０］は、出力するデータで、１クロック周波数に出力するデータは１パケット８ビットである。ＴＯＶは、オーバーフロー監視回路１６が出力したオーバーフローフラグで、１クロック周波数に出力するデータは１ビットである。ＤＣＬＫは、マイクロコンピュータ１９のクロック周波数に同期したデータ転送レートを示している。
【０１０６】
ここでは、トレースデータ圧縮装置１は、以下の条件を備えている。
【０１０７】
（１）エリア０は、アドレス下位８ビットをマスク
（２）データ０ｘｆｆｆｆｆｆｆｆは、データパターンレジスタで指定
（３）データパターン一致時にエリア０のマスクアドレスは出力しない
まず、スタートビットとして「０」を出力する。更に、データをライトしているので、Ｒ／Ｗビットとしてライトを示す「１」を出力する。更に、ライトされたデータ０ｘｆｆｆｆｆｆｆｆは、データパターンレジスタで指定されているので、これに対応するＢＥ指定レジスタの値である「０１０１」  を、ＢＥ［３：０］データとして出力する。
【０１０８】
更に、エリアコードは０なので、ＡＲ［１：０］を出力する。
【０１０９】
このとき、エリア０のマスクアドレスは出力しないので、図８（ａ）で出力するパケットは以上の通りで、１パケットのデータに圧縮されて送られる。
【０１１０】
図８（ｂ）においては、図８（ａ）と同じく、エリア０にワードデータ０ｘｆｆｆｆｆｆｆｆをライトした場合の出力例を示すが、条件が異なる。
【０１１１】
ここでは、トレースデータ圧縮装置１は、以下の条件を備えている。
【０１１２】
（１）エリア０は、アドレス下位８ビットをマスク
（２）データ０ｘｆｆｆｆｆｆｆｆは、データパターン１で指定
まず、スタートビットとして「０」を出力する。更に、データをライトしているので、Ｒ／Ｗビットとしてライトのを示す「１」を出力する。更に、ライトされたデータ０ｘｆｆｆｆｆｆｆｆは、データパターンレジスタで指定されているので、これに対応するＢＥ指定レジスタの値である「０１０１」  を、ＢＥ［３：０］データとして出力する。
【０１１３】
更に、エリアコードは０なので、ＡＲ［３：０］＝０を出力する。但し、ここでは、ＡＲ［１：０］とＡＲ［３：２］と、別のパケットに分割されている。
【０１１４】
ここまでは図８（ａ）と同様である。
【０１１５】
図８（ｂ）においては、データパターン一致時にエリア０のマスクアドレスは出力するので、Ａ［７：２］＝Ａｄｒｅｓｓ（任意のアドレス値）として、アドレスを出力する。
【０１１６】
図８（ｂ）で出力するパケットは以上の通りで、２パケットのデータに圧縮されて送られる。
【０１１７】
図８（ｃ）においては、エリア０にワードデータ０ｘｆｆｆｆｆｆｆｅをライトした場合の出力例である。
【０１１８】
ここでは、トレースデータ圧縮装置１は、以下の条件を備えている。
【０１１９】
（１）エリア０は、アドレス下位８ビットをマスク
（２）データｏｘｆｆｆｆｆｆｆｆは、データパターンレジスタで指定
（３）情報出力中の３クロック目に次のデータアクセスがあったが、バッファ記憶装置１１がいっぱいでデータを破棄
まず、スタートビットとして「０」を出力する。更に、データをライトしているので、Ｒ／Ｗビットとしてライトのを示す「１」を出力する。ここで、ライトされたデータ０ｘｆｆｆｆｆｆｆｆは、データパターンレジスタで指定されていない。従って、ワードアクセスであったので、ＢＥ［３：０］＝１１１１を出力する。
【０１２０】
更に、エリアコードは０なので、ＡＲ［３：０］＝０を出力する。但し、ここでは、ＡＲ［１：０］とＡＲ［３：２］と、別のパケットに分割されている。アドレス情報の下位アドレスを、Ａ［７：２］＝Ａｄｒｅｓｓ（任意のアドレス値）としてアドレスを出力する。
【０１２１】
更に、ライトされたデータを、８ビットずつのパケットに分割してＤ［７：０］＝０ｘｆｅ、Ｄ［１５：８］＝０ｘｆｆ、Ｄ［２３：１６］＝０ｘｆｆ、Ｄ［３１：２４］＝０ｘｆｆを出力する。
【０１２２】
又、情報出力中の３ブロック目に、次のデータアクセスがあったが、バッファ記憶装置１１がいっぱいでデータを破棄しているので、３ブロック目のＴＯＶ信号のフラグを１にして出力している。
【０１２３】
図９は、トレースデータ圧縮装置１が出力するパケットを模式的に示した図である。
【０１２４】
第１パケットには、スタートビット、Ｒ／Ｗビット、ＢＥ［３：０］情報、エリアコードのうちＡＲ［１：０］を出力する。
【０１２５】
第２パケット以降のパケットは、第１パケットの情報によって可変である。
【０１２６】
第２パケットは、エリアコードのうちＡＲ［３：２］と、下位アドレスのＡ［７：２］を出力する。更に、第３パケットから第５パケットを利用して、下位アドレス［３１：８］を出力する。出力するアドレスの大きさは、エリアコードにより可変で、エリアコードが指定した上位アドレスのビットが大きければ、出力する下位アドレスは少なくなる。
【０１２７】
第６パケットから第９パケットは、データアクセスのあったオペランドデータが出力される。但し、ＢＥ［３：０］情報として、あり得ないパターンの情報が指定されている場合は、データパターンが一致した場合なので、第６パケットから第９パケットは出力しない。又、ＢＥ［３：０］で、無効と判定されたエリアの情報は出力されないので、その場合は、出力されるパケットの数が減少する。
【０１２８】
本発明の第１の実施の形態によれば、少ない端子でデータトレースを行うことができるので、ユーザのアプリケーションで使用する端子数制限の負担を軽減することができる。
【０１２９】
更に、データトレースの情報を短い時間に出力できるので、トレース情報の欠落を防止することができる。
【０１３０】
更に、トレース情報が欠落したとしても、その箇所と個数を知ることができ、トレースできなかった箇所を特定することができる。
【０１３１】
更に、データトレース情報をパターン化して出力するため、第三者に対して情報を隠蔽することができる。
【０１３２】
（第２の実施の形態）
（トレースデータ解析装置）
本発明の第２の実施の形態に係るトレースデータ解析装置２を説明する。本発明の第２の実施の形態に係るトレースデータ解析装置２は、本発明の第１の実施の形態で説明した、マイクロコンピュータ１９のトレースを行うトレースデータ圧縮装置１で圧縮されたトレースデータを解析する装置である。
【０１３３】
本発明の第２の実施の形態に係るトレースデータ解析装置２の機能ブロック図を図１０に示す。
【０１３４】
本発明の第２の実施の形態に係るトレースデータ解析装置２は、マスクアドレス出力オプション記憶装置５１、エリア情報記憶装置５２、データパターン記憶装置５３、データインタフェース５４、データ取得手段５５、リード／ライト判別手段５６、アドレス情報解析手段５７、データ情報解析手段５８、オーバーフロー取得手段５９、オーバーフローカウント手段６０、出力装置６１を備えている。
【０１３５】
データパターン記憶装置５３は、対象となるマイクロコンピュータ１９の性質上、出力する可能性のないビットパターン情報に、０ｘｆｆｆｆｆｆｆｆや０ｘ００００００００など、頻繁に使われるデータ情報を対応づけたものである。
【０１３６】
エリア情報記憶装置５２は、マイクロコンピュータ１９上のアドレス領域のうち、頻出するアドレス領域の上位アドレスを、エリアコードと呼ばれる識別子に対応づけている記憶装置である。
【０１３７】
マスクアドレス出力オプション記憶装置５１は、データパターン記憶装置５３に記憶されたデータパターンに一致した場合に、下位アドレスを出力するかしないかのオプションを指定した記憶装置である。
【０１３８】
データインタフェース５４は、トレースデータ圧縮装置１から出力されたデータのインタフェースとなる装置で、トレースデータ圧縮装置１に対応して、トレースデータ出力用の８ビットの信号と、オーバーフロー用の１ビットの信号を、トレースデータ圧縮装置１から受信する。
【０１３９】
データ取得手段５５は、データインタフェース５４で取得された圧縮されたトレースデータを取得する手段である。この圧縮されたトレースデータは、図９に示したような、スタートビットで始まり、８ビットごとにパケットを形成したデータである。
【０１４０】
リード／ライト判別手段５６は、取得したデータの第１パケットの２ビット目から、データアクセスでリードしたのか、ライトしたのかを判別する。例えば第１パケットの２ビット目のデータが「１」の場合はリード、「０」の場合はライトと判別する。
【０１４１】
アドレス情報解析手段５７は、取得した圧縮されたトレースデータからアドレス情報を取得する手段である。
【０１４２】
アドレス情報解析手段５７は、第１パケットの第３ビットから第６ビットを取得し、データパターン記憶装置５３を参照して、ＢＥ情報が一致するか否か照合する。一致する場合で、マスクアドレス出力オプション記憶装置５１で、マスクアドレスを出力するよう指定されていれば、第１パケットの第７ビット乃至第８ビット、及び第２パケットの第１ビット乃至第２ビットを取得して、エリアコードを取得する。更に、後続のパケットのデータを取得して、アドレス情報を取得する。一致しない場合は、第１パケットの第７ビット乃至第８ビット、及び第２パケットの第１ビット乃至第２ビットを取得し、エリアコードを取得し、エリア情報記憶装置５２を参照して、エリアコードに対応した上位アドレスを取得する。更に、第２パケットの第３ビット乃至第８ビット、第３パケット乃至第５パケットを参照して、下位アドレスを取得する。取得した上位アドレスと下位アドレスから、３２ビットのアドレス情報を取得する。
【０１４３】
ここで取得する下位アドレスのビット数は、エリアコードに対応した上位アドレスのビット数に依存する。又、取得したエリアコードが０ｘｆの場合は、エリアコードを無効とする。
【０１４４】
データ情報解析手段５８は、取得した圧縮されたトレースデータからデータ情報を取得する手段である。
【０１４５】
データ情報解析手段５８は、第１パケットの第３ビットから第６ビットを取得し、ビットパターン情報であるＢＥ［３：０］を取得する。更に、第６パケット以降のデータを取得する。第６パケット以降のデータは、ＢＥで有効とされたバイトエリアのデータのみなので、ＢＥ［３：０］と第６パケット以降のデータから、３２ビットのデータ情報を取得する。
【０１４６】
一方、オーバーフロー取得手段５９は、データインタフェース５４で取得されたオーバーフローフラグを取得し、取得したタイミングで出力装置６１にオーバーフローを取得した旨を表示する手段である。
【０１４７】
オーバーフローカウント手段６０は、オーバーフロー取得手段５９で取得されたオーバーフローフラグをカウントする手段である。ここでは、圧縮されたトレースデータの転送レートに対応して、オーバーフローフラグの取得の履歴を記録するのが好ましい。
【０１４８】
出力装置６１は、ＣＲＴディスプレイ、液晶ディスプレイなどの表示装置、ハードディスク、テープなどの記憶装置などである。トレースデータ解析装置２で取得されたアドレス情報、データ情報、オーバーフローフラグなどの情報は、出力装置６１によって、出力される。
【０１４９】
（トレースデータ解析方法）
本発明の第２の実施の形態に係るトレースデータ解析方法のフローチャートを図１１に示す。記載した実行ステップは、実施の形態の一例であり、この順序で実行される必要はない。
【０１５０】
まず、ステップＳ２０１において、リード／ライト判別手段により、リード・ライトのステータスを取得する。
【０１５１】
次に、ステップＳ２０２において、ＢＥ情報を取得し、ステップＳ２０３において、データ情報解析手段５８により、取得したＢＥ情報とデータパターン記憶装置５３に記憶されたデータパターンに対応したＢＥ情報とが一致するか照合する。照合した場合は、ステップＳ２０４において、ＢＥ情報に対応するデータパターンを取得し、データ情報とする。
【０１５２】
一致しない場合は、ステップＳ２０５において、データ情報解析手段５８により、ＢＥ情報と、データ情報から、３２ビットのデータを形成する。
【０１５３】
次に、ステップＳ２０６において、アドレス情報圧縮回路１４により、エリアコードＡＲ［３：０］が、０ｘｆであるか検証する。０ｘｆの場合は、ステップＳ２０７において、上位アドレスを無効とする。０ｘｆでない場合は、ステップＳ２０８において、エリア情報記憶装置５２を参照して、取得したエリアコードに対応する上位アドレスを取得する。更に、ステップＳ２０８において、下位アドレスを取得し、ステップＳ２１０において、上位アドレスと下位アドレスから３２ビットのアドレス情報を形成する。
【０１５４】
更に、ステップＳ２１１において、取得したアドレス情報とデータ情報を出力する。
【０１５５】
図１２は、トレースデータ解析装置２の出力装置６１に出力される画面の一例である。
【０１５６】
ここで、データアクセスのあった、アドレス、データ、リード或いはライトがそれぞれ、「ＡＤＤＲＳ」項目、「ＤＡＴＡ」項目、「Ｒ／Ｗ」項目に表示される。更に、オーバーフローフラグを取得した場合は、「ＴＯＶＲ」項目にその旨が記載され、更に、オーバーフローした回数、即ち、トレースデータを破棄した回数を表示する。
【０１５７】
本発明の第２の実施の形態に記載したトレースデータ解析装置は、一般的なコンピュータ上に同様の機能を実現されても構わない。
【０１５８】
本発明の第２の実施の形態によれば、少ない端子で取得されたトレースデータを解析できるので、ユーザのアプリケーションで使用する端子数制限の負担を軽減することができる。
【０１５９】
更に、データトレースの情報を短い時間に取得し、解析できるので、トレース情報の欠落を防止することができる。
【０１６０】
更に、トレース情報が欠落したとしても、その箇所と個数を知ることができ、トレースできなかった箇所を特定することができる。
【０１６１】
（第３の実施の形態）
本発明の第３の実施の形態に係るマイクロコンピュータ３の機能ブロック図を図１３に示す。
【０１６２】
本発明の第３の実施の形態に係るマイクロコンピュータは、所定の処理を行う処理回路４と、トレースデータ圧縮回路５を備えている。処理回路４は、図１に示したマイクロコンピュータ１９と同様の機能を持つものである。トレースデータ圧縮回路５は、図１に示した第１の実施の形態に係るトレースデータ圧縮装置１と同等の機能を持つものである。
【０１６３】
即ち、本発明の第３の実施の形態に係るマイクロコンピュータ３は、トレースデータ圧縮回路５を内蔵したマイクロコンピュータである。
【０１６４】
本発明の第３の実施の形態によるマイクロコンピュータによれば、データトレースに必要なデータを出力する端子が少ないので、マイクロコンピュータ３の端子数制限の負担を軽減することができる。
【０１６５】
（第４の実施の形態）
本発明の第４の実施の形態に係るデータトレースシステムのシステム構成図を図１４に示す。
【０１６６】
本発明の第４の実施の形態に係るデータトレースシステムは、トレースデータ圧縮装置１とトレースデータ解析装置２を備える。ここで、トレースデータ圧縮装置１は、本発明の第１の実施の形態で説明したトレースデータ圧縮装置１で、トレースデータ解析装置２は、本発明の第２の実施の形態で説明したトレースデータ解析装置２である。
【０１６７】
本発明の第４の実施の形態に係るデータトレースシステムによれば、トレースデータ圧縮装置１とトレースデータ解析装置２は、共通のルールに従って圧縮、解析を行うことができ、データトレース機能を実現することができる。
【０１６８】
（第５の実施の形態）
本発明の第５の実施の形態に係るデータトレースシステムを説明する。本発明の第５の実施の形態に係るデータトレースシステムは、圧縮及び解析のルールを変更し、トレースデータ圧縮装置１とトレースデータ解析装置２で、共通のルールでトレース機能を実現するものである。
【０１６９】
本発明の第５の実施の形態に係るデータトレースシステムに用いられるトレースデータ圧縮装置１の機能ブロック図を図１５に示す。
【０１７０】
図１５に示したトレースデータ圧縮装置１は、図１に示した本発明の第１の実施の形態に係るトレースデータ圧縮装置１と比べて、環境設定回路２０を備えている点が異なる。
【０１７１】
環境設定回路２０は、アドレス情報圧縮回路１４及びデータ情報圧縮回路１５で割り当てられたエリアコード、データパターン、ＢＥ情報などの環境の設定を変更する回路である。
【０１７２】
具体的には、アドレス情報圧縮回路１４の比較アドレスレジスタ２５ａ乃至２５ｏで割り当てられている頻出するアドレスエリアの上位アドレスと、それに対応するエリアコード、データ情報圧縮回路１５のデータパターンレジスタ３５ａで割り当てられた頻出するデータパターンと、それに対応するＢＥ情報などの情報を、環境設定回路２０は変更することができる。又、マスクアドレスを出力するか否かのオプションも設定することができる。
【０１７３】
環境設定回路２０は、トレースデータ解析装置２からの受信した環境データによって環境の設定行う。又、既に環境が設定されている場合、その環境を変更することができる。
【０１７４】
本発明の第５の実施の形態に係るデータトレースシステムに用いられるトレースデータ解析装置２の機能ブロック図を図１６に示す。
【０１７５】
図１６に示したトレースデータ解析装置２は、図１０に示した本発明の第２の実施の形態に係るトレースデータ解析装置２と比べて、入力装置６２、環境設定手段６３、環境送信手段６４を備えている点が異なる。
【０１７６】
入力装置６２は、一般的なマウス、キーボードなどの入力装置である。
【０１７７】
環境設定手段６３は、予め設定したファイルや、コンパイラが出力した設定ファイルによって、マスクアドレス出力オプション記憶装置５１、エリア情報記憶装置５２、データパターン記憶装置５３に、環境を自動で設定する手段である。又、環境設定手段６３は、入力装置６２の操作によって、環境を手動で設定する場合もある。
【０１７８】
環境送信手段６４は、マスクアドレス出力オプション記憶装置５１、エリア情報記憶装置５２、データパターン記憶装置５３を参照して、設定された環境データを、データインタフェース５４を介して、トレースデータ圧縮装置１に送信する手段である。
【０１７９】
本発明の第５の実施の形態に係るデータトレースシステムにおいては、既に設定されているデータを変更して、トレースデータ圧縮装置１とトレースデータ解析装置２とで、再び共通のルールでデータトレースを行うことができる。
【０１８０】
（その他の実施の形態）
上記のように、本発明の第１及び第２の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【０１８１】
本発明の実施の形態で説明した回路、手段などは、平行して行われても良い。具体的には、第１の実施の形態に係るトレースデータ圧縮装置において、データ取得回路によりアドレス情報とデータ情報が取得された後は、リード／ライト判別回路１３、アドレス情報圧縮回路１４、データ情報圧縮回路１５で平行して処理されても構わない。
【０１８２】
この様な、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【０１８３】
【発明の効果】
本発明によれば、少ない出力端子で効果的にデバッグを行うことのできるトレースデータ圧縮装置及びトレースデータ圧縮方法、及び、所定の処理を行い、この処理で出力されたデータを圧縮するトレースデータ圧縮回路を内蔵したマイクロコンピュータを提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るトレースデータ圧縮装置の機能ブロック図である。
【図２】本発明の第１の実施の形態に係るアドレス情報圧縮回路の詳細な機能ブロック図である。
【図３】本発明の第１の実施の形態に係るデータ情報圧縮回路の詳細な機能ブロック図である。
【図４】本発明の第１の実施の形態に係るビットパターン情報の例を示す図である。
【図５】本発明の第１の実施の形態におけるマイクロコンピュータが出力する可能性のないビットパターン情報の例を示す図である。
【図６】本発明の第１の実施の形態に係るトレースデータ圧縮方法のフローチャートである。
【図７】本発明の第１の実施の形態に係るオーバーフロー監視回路のフローチャートである。
【図８】本発明の第１の実施の形態によって出力された圧縮されたトレースデータの例である。
【図９】本発明の第１の実施の形態に係るトレースデータ圧縮装置が出力するパケットを模式的に示した図である。
【図１０】本発明の第２の実施の形態に係るトレースデータ解析装置の機能ブロック図である。
【図１１】本発明の第２の実施の形態に係るトレースデータ解析方法のフローチャートである。
【図１２】本発明の第２の実施の形態に係るトレースデータ解析装置が出力する画面の一例である。
【図１３】本発明の第３の実施の形態に係るマイクロコンピュータ３の機能ブロック図である。
【図１４】本発明の第４の実施の形態に係るデータトレースシステムのシステム構成図である。
【図１５】本発明の第５の実施の形態に係るデータトレースシステムに用いられるトレースデータ圧縮装置の機能ブロック図である。
【図１６】本発明の第５の実施の形態に係るデータトレースシステムに用いられるトレースデータ圧縮装置の機能ブロック図である。
【図１７】従来のデータトレースシステムを示す図である。（その１）
【図１８】従来のデータトレースシステムを示す図である。（その２）
【符号の説明】
１  トレースデータ圧縮装置
２  データ解析装置
３  マイクロコンピュータ
４  処理回路
５  トレースデータ圧縮回路
１１  バッファ記憶装置
１２  データ取得回路
１３  ライト判別回路
１４  アドレス情報圧縮回路
１５  データ情報圧縮回路
１６  オーバーフロー監視回路
１７  データ出力回路
１８  データインタフェース
１９  マイクロコンピュータ
２０  環境設定回路
２１  レジスタ部
２２  許可レジスタ
２３  回路
２４  マスクレジスタ
２５  マスクレジスタ
２５  比較アドレスレジスタ
２６  アドレス情報
２７  一致比較回路
２８  トレース端子
２８  エリアコード端子
２８  下位アドレス端子
２９  下位アドレス出力回路
３１  レジスタ部
３２  許可レジスタ
３３  回路
３４  ＢＥ指定レジスタ
３５  データパターンレジスタ
３６  許可レジスタ
３７  ビットパターン出力回路
３８  データ情報
３９  一致比較回路
４０  マスクアドレス出力回路
５１  マスクアドレス出力オプション記憶装置
５２  エリア情報記憶装置
５３  データパターン記憶装置
５４  データインタフェース
５５  データ取得手段
５６  ライト判別手段
５７  アドレス情報解析手段
５８  データ情報解析手段
５９  オーバーフロー取得手段
６０  オーバーフローカウント手段
６１  出力装置
６２  入力装置
６３  環境設定手段
６４  環境送信手段
【図１】
0003609794.tif 000002
【図２】
0003609794.tif 000003
【図３】
0003609794.tif 000004
【図４】
0003609794.tif 000005
【図５】
0003609794.tif 000006
【図６】
0003609794.tif 000007
【図７】
0003609794.tif 000008
【図８】
0003609794.tif 000009
【図９】
0003609794.tif 000010
【図１０】
0003609794.tif 000011
【図１１】
0003609794.tif 000012
【図１２】
0003609794.tif 000013
【図１３】
0003609794.tif 000014
【図１４】
0003609794.tif 000015
【図１５】
0003609794.tif 000016
【図１６】
0003609794.tif 000017
【図１７】
0003609794.tif 000018
【図１８】
0003609794.tif 000019