(57)【特許請求の範囲】
【請求項１】
マイクロプロセッサ（１２）に集積化されるモニタ回路（１８）の出力ターミナル（２２）を介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送するための方法であって、
前記デジタルデータメッセージは、前記マイクロプロセッサによる命令実行時に発生する決められたイベントを表し、
前記デジタルデータメッセージの少なくとも１つの特定のデジタルデータメッセージの伝送前又は伝送後に、前記特定のデジタルデータメッセージのタイプの識別子と、前記特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの直前の特定のデジタルデータメッセージの伝送を発生させる命令の間にマイクロプロセッサにより実行される命令の数のカウンタとを有する相関メッセージを伝送するステップを有し、
前記特定のデジタルデータメッセージは、少なくとも、命令の実行に基づくデータ読み出し又は書込みを表すメッセージ、又は、前記マイクロプロセッサ（１２）による命令の実行から独立したイベントを表すメッセージであることを特徴とする方法。
【請求項２】
前記相関メッセージは該メッセージが相関メッセージであることを示す識別子を有することを特徴とする請求項１に記載の方法。
【請求項３】
特定の前記デジタルデータメッセージは、データ読み出し又は書込み命令を表すことを特徴とする請求項１に記載の方法。
【請求項４】
前記特定のデジタルデータメッセージは、前記マイクロプロセッサ（１２）による命令の実行から独立したイベントを表すことを特徴とする請求項１に記載の方法。
【請求項５】
伝送された前記デジタルデータメッセージは、解析ツール（２４）により受信され、該解析ツールは前記相関メッセージに基づいて前記マイクロプロセッサ（１２）により実行される命令を各前記伝送されたデジタルデータメッセージに関連させることができることを特徴とする請求項１に記載の方法。
【請求項６】
マイクロプロセッサ（１２）に集積化されるモニタ回路（１８）の出力ターミナル（２２）を介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送するための装置であって、
前記デジタルデータメッセージは、前記マイクロプロセッサによる命令実行時に発生する決められたイベントを表し、
前記モニタ回路により伝送されるデジタルデータメッセージが特定のタイプであるか検出するための手段と、
前記特定のタイプのデジタルデータメッセージの伝送前又は伝送後に、相関メッセージを伝送する手段とを有し、
前記相関メッセージは、前記特定のデジタルデータメッセージのタイプの識別子と、前記特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの直前の特定のデジタルデータメッセージの伝送を発生させる命令の間に前記マイクロプロセッサにより実行される命令の数のカウンタとを有し、
前記特定のデジタルデータメッセージは、少なくとも、命令の実行に基づくデータ読み出し又は書込みを表すメッセージ、又は、前記マイクロプロセッサ（１２）による命令の実行から独立したイベントを表すメッセージであることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサの試験に関する。より具体的には、本発明は、マイクロプロセッサチップに集積化されたモニタ回路及び解析ツール間のデジタルデータ伝送の方法及び装置に関する。
【背景技術】
【０００２】
図１は、マイクロプロセッサ（μＰ）１２と、内部メモリ（ＭＥＭ）１４と、入力／出力ターミナル（Ｉ／Ｏ）１６とを有する集積回路１０を概略的に示す。マイクロプロセッサ１２は、メモリ１４に記憶されるプログラム又はソフトウェアを実行することを目的とする。プログラムの制御下において、マイクロプロセッサ１２は、入力／出力ターミナル１６により提供されるデータ又はメモリ１４に記憶されるデータを処理し、入力／出力ターミナル１６を介してデータの読出し又は書き込みを行うことができる。
【０００３】
マイクロプロセッサの正常な動作を検査するために、一般的にはモニタ回路１８（ＴＥＳＴ）が集積回路１０に集積化される。モニタ回路１８は、プログラム実行時にマイクロプロセッサ１２により提供される特定のデータを読み出すことができ、且つ、場合によっては読み出しデータを処理することができる。試験ターミナル２２は、モニタ回路１８を解析ツール２４に接続する。解析ツール２４は、例えば、ユーザにより与えられるコマンドに従って受信信号を処理し、マイクロプロセッサ１２の動作の詳細な解析を確認する。特に、解析ツール２４は、マイクロプロセッサ１２により実際実行されるプログラム命令シーケンスを決定することができる。
【０００４】
試験ターミナル２２の数は、入力／出力ターミナル１６の数と同規模、例えば２００から４００ターミナルである。モニタ回路１８の接続部と試験回路２２は、シリコン表面面積を大きく占め、望ましくない回路コストの増加をもたらす。このため、モニタ回路１８及び試験ターミナル２２を有する第１のバージョンの集積回路１０は、マイクロプロセッサ１２のプログラム又はユーザプログラムをデバッグするために小規模生産される。このデバッグの後、モニタ回路１８及び試験ターミナル２２を取り除いたバージョンの集積回路１０が販売される。これは、２つのバージョンの集積回路を形成することを意味し、多大な作業量を要し、比較的高価である。更に、最終チップは試験されたチップと必ずしも同一のものではない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した問題を克服するために、占める表面面積が減らされ、必要とする試験ターミナル２２の数を少なくしたモニタ回路１８を形成して、モニタ回路自体にかかる費用を低減することが望まれている。そのとき、モニタ回路１８は最終的に販売される集積回路１０に残ることができる。
【課題を解決するための手段】
【０００６】
よって、モニタ回路１８により提供される信号数を減少させることが望まれる。このため、マイクロプロセッサ１２にて測定されたデータについて、ある種の論理動作が、モニタ回路１８にて直接行われ、重要な情報コンテンツを含むメッセージのみを伝送する。
【０００７】
よって、準備中のＩＥＥＥ−ＩＳＴＯ−５００１基準は、例えばウェブサイトwww.ieee-isto.org/Nexus5001でアクセスできる１９９９バージョンで、必要とする試験ターミナル２２の数を少なくしたモニタ回路１８のための、モニタ回路及び解析ツール間の特定のメッセージ交換プロトコルを提供する。
【０００８】
ＩＥＥＥ−ＩＳＴＯ−５００１基準に従うモニタ回路１８により提供されるメッセージの中から、プログラム追跡メッセージ及びデータメッセージが区別される。プログラム追跡メッセージは、マイクロプロセッサ１２によるプログラムの実行の命令に関連した情報を提供する。それは、例えば、マイクロプロセッサ１２により実行されたプログラム内でジャンプが起こったことを指示するメッセージである。データメッセージは、モニタ回路１８により提供されるその他のメッセージに対応し、特に、マイクロプロセッサにより処理されるデータに関連する情報を提供する。それは、メモリ１４の領域内での読み出し又は書込み動作のデータを表すメッセージである。
【０００９】
モニタ回路１８により伝送されるプログラム追跡メッセージに基づいて、解析ツール２４は、マイクロプロセッサ１２により実行される命令シーケンスを再構成しようとする。再構成された命令シーケンスは、その後、マイクロプロセッサ１２の誤動作を判断するために、マイクロプロセッサ１２により理論的に実行される命令シーケンスと比較される。
【００１０】
モニタ回路１８が解析ツール２４へプログラム追跡及びデータメッセージを一緒に伝送するとき、解析ツール２４は、一般的に、適合アルゴリズムの手段により各受信メッセージに特定のプログラムの命令を割り当てることができる。しかし、モニタ回路１８のデータ伝送周波数が、モニタ回路１８及び試験ターミナル２２間の中間素子の形成に用いられる技術により課せられる通過域を超えるのを防ぐために、つまり、モニタ回路１８の飽和を防ぐために、一般的にＩＥＥＥ−ＩＳＴＯ−５００１基準により提供されるメッセージのうち一部のみが同一のプログラム部分で伝送される。例えば、メモリ１４の特定の領域に関する読み出し動作のみを解析ツール２４へのメッセージ伝送の対象としてもよい。そのような例において、解析ツール２４が２つのプログラム追跡メッセージ間でいくつかのデータメッセージを連続して受信するとき、２つのプログラム追跡メッセージに対応する２つのプログラム命令間に、受信データメッセージを派生させることができる多数の命令が存在すれば、特定のプログラム命令に各受信データメッセージを対応させることが困難である。対応を確立させることは、特定の場合（例えば間接アドレッシングモードが用いられるとき）においては、更に困難であり、不可能でさえある。間接アドレッシングモードの使用例は、データが書き込まれなければならない、又はデータが読み出されなければならないレジスタのアドレスを明確には有さないが、データが書き込まれなければならない、又はデータが読み出されなければならないメモリレジスタのアドレスが記憶されるレジスタのアドレスを有するプログラム命令に関連するデータの読み出し又は書き込み動作に該当する。読み出し又は書き込み動作に関連するいくつかのプログラム命令が隣接し同じレジスタを参照する場合、受信メッセージ及び対応する命令間の対応を確立することは困難であるか、不可能でさえある。
【００１１】
ＩＥＥＥ−ＩＳＴＯ−５００１基準はまた、モニタ回路１８による同期メッセージ生成時にマイクロプロセッサ１２により既に実行された命令の完全なアドレスを有する、同期メッセージと称される特定のプログラム追跡メッセージの周期的な伝送を提供する。同期メッセージは、解析ツール２４が、受信メッセージ及びマイクロプロセッサ１２により実行されるプログラム命令の間の正しい相関を行っているか確認し、そうでなければ、相関を修正させる。同期メッセージはまた、モニタ回路１８が解析ツール２４へのメッセージの伝送を開始するか又は中断させるちょうどそのときに、伝送される。
【００１２】
解析ツール２４により受信されるメッセージ及びプログラム命令の間の相関を容易にすることを可能にする方法は、同期メッセージを各データメッセージと共に伝送することから成るだろう。しかし、同期メッセージに含まれる完全なアドレスのコーディングは多大なビット数を必要とする。よって、同期メッセージのシステマティックな使用は、モニタ回路１８を飽和させる危険がある。更に、既に説明されたように、同期メッセージは既にその他の目的のために解析ツール２４へ周期的に又は正確な時間で伝送されている。従って、解析ツール２４が、データメッセージに関連する同期メッセージと周期的に又は正確な時間で伝送された同期メッセージとを区別するのが難しくなる。
【００１３】
本発明は、マイクロプロセッサをモニタリングするための回路及び解析ツール間のデジタルメッセージ伝送のための装置及び方法を提供する。その装置及び方法は、解析ツールが、受信メッセージとマイクロプロセッサにより実行されるプログラムの命令との間の正しい相関を行うことを可能にする。
【００１４】
本発明はまた、ＩＥＥＥ−ＩＳＴＯ−５００１基準により既に提供されたメッセージを変更することを必要としない。
【００１５】
これらの目的を達成するために、本発明は、マイクロプロセッサに集積化されるモニタ回路の出力ターミナルを介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送する方法を提供する。そのデジタルデータメッセージは、マイクロプロセッサによる命令実行時に発生する決められたイベントを表す。方法は、特定のイベントを表す少なくとも１つの特定のデジタルデータメッセージの伝送前又は伝送後に、特定のデジタルデータメッセージのタイプの識別子と、特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの直前の特定のデジタルデータメッセージの伝送を発生させる命令の間にマイクロプロセッサにより実行される命令の数のカウンタとを有する相関メッセージを伝送するステップを有する。
【００１６】
本発明の実施形態によると、選択された先行メッセージは、直前の特定のメッセージである。
【００１７】
本発明の実施形態によると、相関メッセージは該メッセージが相関メッセージであることを示す識別子を有する。
【００１８】
本発明の実施形態によると、特定のデジタルメッセージはデータ読み出し又は書き込み命令を表す。
【００１９】
本発明の実施形態によると、特定のデジタルメッセージはマイクロプロセッサによる命令の実行から独立したイベントを表す。
【００２０】
本発明の実施形態によると、伝送されたデジタルメッセージは、相関メッセージに基づいて、マイクロプロセッサにより実行される命令を各伝送されたデジタルメッセージに関連させることができる解析ツールにより受信される。
【００２１】
本発明はまた、マイクロプロセッサに集積化されるモニタ回路の出力ターミナルを介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送する装置を提供する。そのデジタルデータメッセージは、マイクロプロセッサによる命令実行時に発生する決められたイベントを表す。その装置は、モニタ回路により伝送されるデジタルデータメッセージが特定のタイプであるか検出する手段と、特定のタイプのデジタルデータメッセージの伝送前又は伝送後に、相関メッセージを伝送する手段とを有し、相関メッセージは、特定のデジタルデータメッセージのタイプの識別子と、特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの直前の特定のデジタルデータメッセージの伝送を発生させる命令の間でマイクロプロセッサにより実行される命令の数のカウンタとを有する。
【００２２】
本発明の、前述又はその他の目的、特徴、及び効果は、添付図面に関連して、以下の特定の実施形態の限定しない説明において詳述される。
【発明を実施するための最良の形態】
【００２３】
本発明によると、モニタ回路１８は、各データメッセージの伝送前又は伝送後に相関メッセージを伝送する。相関メッセージは、既に伝送されたか又は伝送されるデータメッセージを発生させる命令と伝送済の先行データメッセージを発生させる命令との間でマイクロプロセッサ１２により実行される命令の数と同数のカウンタを有する。相関メッセージにより提供されるカウンタに基づいて、解析ツール２４は、既に受信されたか又は受信されるデータメッセージ及びプログラム命令の間の相関を確実な方法で実行することができる。
【００２４】
図２は本発明によるデジタル相関メッセージの例を示す。
【００２５】
相関メッセージは、固定ビット数を有し、相関メッセージを識別するコードと等しい第１のフィールドＴＣＯＤＥを有する。
【００２６】
相関メッセージの第２のフィールドＳＲＣは、可変ビット数を有し、モニタ回路１８が複数のマイクロプロセッサと同時にデータ交換するのか、又は、モニタ回路１８が異なる複数のプログラムを同時に実行する同一のマイクロプロセッサとデータ交換するのかを指示する。第２のフィールドは、モニタ回路１８が単一のプログラムを実行する単一のマイクロプロセッサ１２に接続される場合はビットを含まない。
【００２７】
相関メッセージの第３のフィールドＥＶＥＮＴは、可変ビット数を有し、相関メッセージに関連するデータメッセージの識別子と等しい。相関メッセージに関連させることのできるデータメッセージの可能なタイプの数に従い、フィールドＥＶＥＮＴのサイズはより小さく又は大きくなる。最も頻繁なデータメッセージとは、例えば、読み出し又は書込み命令を表すメッセージか、マイクロプロセッサの特定の動作条件が満たされていることを指示するメッセージか、又は、マイクロプロセッサ１２の動作に必ずしも依存しない特定のイベントの発生を指示するメッセージに該当する。前例において、特定のイベントとは、例えばマイクロプロセッサ１２が、供給チップ１０に給電するバッテリの充電レベルが決められた閾値を下回ることを指示する信号を受信することに該当する。また、それは、携帯電話技術への応用については、携帯電話の画面のブランキングを制御するための信号の伝送である。更に、ＩＥＥＥ−ＩＳＴＯ−５００１基準は、ユーザが、基準により明確に提供されるメッセージに加えて個人化されたメッセージを提供することを可能にする。個人化されたメッセージは、その場合データメッセージとして考慮され、個人化されたメッセージの伝送は相関メッセージの伝送に先行されるか、又は追従される。
【００２８】
相関メッセージの第４のフィールドＩＣＮＴは、可変ビット数を有し、相関メッセージに関連するデータメッセージを伝送させる命令及び前データメッセージを伝送させる命令の間にマイクロプロセッサ１２により実行されるプログラムの命令の数を指示する。
【００２９】
相関メッセージは、マイクロプロセッサ１２により実行されるプログラム命令が各データメッセージに対応するように解析ツール２４により用いられる。この結果を達成するために、解析ツール２４はまた、プログラム追跡メッセージを用い、それへのプログラム命令の割り当ては一般的には問題とならない。それにより、ユーザがモニタ回路１８によるプログラム追跡メッセージの伝送機能を制止すると更なる相関メッセージは伝送されない。
【００３０】
相関メッセージは、あらゆるタイプのデータメッセージ又は特定のタイプのデータメッセージと共に伝送されることができる。ＩＥＥＥ−ＩＳＴＯ−５００１基準によると、モニタ回路１８により伝送される各メッセージは、メッセージタイプを識別するコードを有する。モニタ回路１８は、メッセージ生成時に、生成されたメッセージを識別するコードを検出し、相関メッセージと生成されたメッセージとを関連させるか、又は関連させない。
【００３１】
本発明には多くの効果がある。
【００３２】
第１に、本発明は、解析ツールにより受信される各メッセージ及びマイクロプロセッサにより実行されるプログラムの命令の間での曖昧でない相関を保障することを可能にする。
【００３３】
第２に、本発明は、モニタ回路により伝送される追加データの数を制限することを可能にする。実際、本発明により提供される相関メッセージは、サイズをより小さくした、具体的には同期メッセージに用いられる完全な命令アドレスより小さい、命令カウンタを有する。
【００３４】
第３に、本発明は、受信メッセージ及びプログラム命令間の相関を確立するために、解析ツールにより用いられるアルゴリズムの単純化を可能にする。
【００３５】
第４に、本発明は、新しい相関メッセージの追加のみを提供するため、ＩＥＥＥ−ＩＳＴＯ−５００１基準により既に提供さているメッセージを変更することを必要としない。
【００３６】
もちろん、本発明は、当業者であれば容易に思いつく様々な改変、変更態様及び改良を有するであろう。具体的には、それは、チップ入力／出力ターミナルを介して特定の信号を直接受信するモニタ回路のために提供されても良い。そのような信号は、発生したことを解析ツールへ指示することが望まれるイベントを、モニタ回路が検出するために用いられても良い。
【図面の簡単な説明】
【００３７】
【図１】マイクロプロセッサ及びモニタ装置を集積化する従来のチップの技術を示す概略図である。
【図２】本発明による、モニタ回路から解析ツールへ伝送されるメッセージの例を示す図である。
【符号の説明】
【００３８】
１０  集積回路
１２  マイクロプロセッサ
１４  内部メモリ
１６  入力／出力ターミナル
１８  モニタ回路
２２  出力ターミナル
２４  解析ツール
【図１】
0004466372.tif 000002
【図２】
0004466372.tif 000003