説明

マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関

【課題】 マイクロプロセッサ(12)に集積化されるモニタ回路(18)の出力ターミナル(22)を介してデジタルデータメッセージを伝送する方法を提供する。そのメッセージは、マイクロプロセッサによる命令実行時に発生する決められたイベントを表す。本発明はまた、デジタルデータメッセージを伝送するための装置を提供する。
【解決手段】 方法は、特定のイベントに関連する少なくとも1つの特定のデジタルデータメッセージの伝送前又は伝送後に、特定のデジタルデータメッセージの識別子と、特定のデジタルデータメッセージの伝送に関連する命令及び先行のデジタルデータメッセージの伝送に関連する命令の間にマイクロプロセッサにより実行される命令の数のカウンタとを含む相関メッセージを伝送することから成るステップを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マイクロプロセッサの試験に関する。より具体的には、本発明は、マイクロプロセッサチップに集積化されたモニタ回路及び解析ツール間のデジタルデータ伝送の方法及び装置に関する。
【背景技術】
【0002】
図1は、マイクロプロセッサ(μP)12と、内部メモリ(MEM)14と、入力/出力ターミナル(I/O)16とを有する集積回路10を概略的に示す。マイクロプロセッサ12は、メモリ14に記憶されるプログラム又はソフトウェアを実行することを目的とする。プログラムの制御下において、マイクロプロセッサ12は、入力/出力ターミナル16により提供されるデータ又はメモリ14に記憶されるデータを処理し、入力/出力ターミナル16を介してデータの読出し又は書き込みを行うことができる。
【0003】
マイクロプロセッサの正常な動作を検査するために、一般的にはモニタ回路18(TEST)が集積回路10に集積化される。モニタ回路18は、プログラム実行時にマイクロプロセッサ12により提供される特定のデータを読み出すことができ、且つ、場合によっては読み出しデータを処理することができる。試験ターミナル22は、モニタ回路18を解析ツール24に接続する。解析ツール24は、例えば、ユーザにより与えられるコマンドに従って受信信号を処理し、マイクロプロセッサ12の動作の詳細な解析を確認する。特に、解析ツール24は、マイクロプロセッサ12により実際実行されるプログラム命令シーケンスを決定することができる。
【0004】
試験ターミナル22の数は、入力/出力ターミナル16の数と同規模、例えば200から400ターミナルである。モニタ回路18の接続部と試験回路22は、シリコン表面面積を大きく占め、望ましくない回路コストの増加をもたらす。このため、モニタ回路18及び試験ターミナル22を有する第1のバージョンの集積回路10は、マイクロプロセッサ12のプログラム又はユーザプログラムをデバッグするために小規模生産される。このデバッグの後、モニタ回路18及び試験ターミナル22を取り除いたバージョンの集積回路10が販売される。これは、2つのバージョンの集積回路を形成することを意味し、多大な作業量を要し、比較的高価である。更に、最終チップは試験されたチップと必ずしも同一のものではない。
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述した問題を克服するために、占める表面面積が減らされ、必要とする試験ターミナル22の数を少なくしたモニタ回路18を形成して、モニタ回路自体にかかる費用を低減することが望まれている。そのとき、モニタ回路18は最終的に販売される集積回路10に残ることができる。
【課題を解決するための手段】
【0006】
よって、モニタ回路18により提供される信号数を減少させることが望まれる。このため、マイクロプロセッサ12にて測定されたデータについて、ある種の論理動作が、モニタ回路18にて直接行われ、重要な情報コンテンツを含むメッセージのみを伝送する。
【0007】
よって、準備中のIEEE−ISTO−5001基準は、例えばウェブサイトwww.ieee-isto.org/Nexus5001でアクセスできる1999バージョンで、必要とする試験ターミナル22の数を少なくしたモニタ回路18のための、モニタ回路及び解析ツール間の特定のメッセージ交換プロトコルを提供する。
【0008】
IEEE−ISTO−5001基準に従うモニタ回路18により提供されるメッセージの中から、プログラム追跡メッセージ及びデータメッセージが区別される。プログラム追跡メッセージは、マイクロプロセッサ12によるプログラムの実行の命令に関連した情報を提供する。それは、例えば、マイクロプロセッサ12により実行されたプログラム内でジャンプが起こったことを指示するメッセージである。データメッセージは、モニタ回路18により提供されるその他のメッセージに対応し、特に、マイクロプロセッサにより処理されるデータに関連する情報を提供する。それは、メモリ14の領域内での読み出し又は書込み動作のデータを表すメッセージである。
【0009】
モニタ回路18により伝送されるプログラム追跡メッセージに基づいて、解析ツール24は、マイクロプロセッサ12により実行される命令シーケンスを再構成しようとする。再構成された命令シーケンスは、その後、マイクロプロセッサ12の誤動作を判断するために、マイクロプロセッサ12により理論的に実行される命令シーケンスと比較される。
【0010】
モニタ回路18が解析ツール24へプログラム追跡及びデータメッセージを一緒に伝送するとき、解析ツール24は、一般的に、適合アルゴリズムの手段により各受信メッセージに特定のプログラムの命令を割り当てることができる。しかし、モニタ回路18のデータ伝送周波数が、モニタ回路18及び試験ターミナル22間の中間素子の形成に用いられる技術により課せられる通過域を超えるのを防ぐために、つまり、モニタ回路18の飽和を防ぐために、一般的にIEEE−ISTO−5001基準により提供されるメッセージのうち一部のみが同一のプログラム部分で伝送される。例えば、メモリ14の特定の領域に関する読み出し動作のみを解析ツール24へのメッセージ伝送の対象としてもよい。そのような例において、解析ツール24が2つのプログラム追跡メッセージ間でいくつかのデータメッセージを連続して受信するとき、2つのプログラム追跡メッセージに対応する2つのプログラム命令間に、受信データメッセージを派生させることができる多数の命令が存在すれば、特定のプログラム命令に各受信データメッセージを対応させることが困難である。対応を確立させることは、特定の場合(例えば間接アドレッシングモードが用いられるとき)においては、更に困難であり、不可能でさえある。間接アドレッシングモードの使用例は、データが書き込まれなければならない、又はデータが読み出されなければならないレジスタのアドレスを明確には有さないが、データが書き込まれなければならない、又はデータが読み出されなければならないメモリレジスタのアドレスが記憶されるレジスタのアドレスを有するプログラム命令に関連するデータの読み出し又は書き込み動作に該当する。読み出し又は書き込み動作に関連するいくつかのプログラム命令が隣接し同じレジスタを参照する場合、受信メッセージ及び対応する命令間の対応を確立することは困難であるか、不可能でさえある。
【0011】
IEEE−ISTO−5001基準はまた、モニタ回路18による同期メッセージ生成時にマイクロプロセッサ12により既に実行された命令の完全なアドレスを有する、同期メッセージと称される特定のプログラム追跡メッセージの周期的な伝送を提供する。同期メッセージは、解析ツール24が、受信メッセージ及びマイクロプロセッサ12により実行されるプログラム命令の間の正しい相関を行っているか確認し、そうでなければ、相関を修正させる。同期メッセージはまた、モニタ回路18が解析ツール24へのメッセージの伝送を開始するか又は中断させるちょうどそのときに、伝送される。
【0012】
解析ツール24により受信されるメッセージ及びプログラム命令の間の相関を容易にすることを可能にする方法は、同期メッセージを各データメッセージと共に伝送することから成るだろう。しかし、同期メッセージに含まれる完全なアドレスのコーディングは多大なビット数を必要とする。よって、同期メッセージのシステマティックな使用は、モニタ回路18を飽和させる危険がある。更に、既に説明されたように、同期メッセージは既にその他の目的のために解析ツール24へ周期的に又は正確な時間で伝送されている。従って、解析ツール24が、データメッセージに関連する同期メッセージと周期的に又は正確な時間で伝送された同期メッセージとを区別するのが難しくなる。
【0013】
本発明は、マイクロプロセッサをモニタリングするための回路及び解析ツール間のデジタルメッセージ伝送のための装置及び方法を提供する。その装置及び方法は、解析ツールが、受信メッセージとマイクロプロセッサにより実行されるプログラムの命令との間の正しい相関を行うことを可能にする。
【0014】
本発明はまた、IEEE−ISTO−5001基準により既に提供されたメッセージを変更することを必要としない。
【0015】
これらの目的を達成するために、本発明は、マイクロプロセッサに集積化されるモニタ回路の出力ターミナルを介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送する方法を提供する。そのデジタルデータメッセージは、マイクロプロセッサによる命令実行時に発生する決められたイベントを表す。方法は、特定のイベントを表す前記デジタルデータメッセージのデータ読み出し又は書込み命令を表す少なくとも1つの特定のデジタルデータメッセージの伝送前又は伝送後に、特定のデジタルデータメッセージのタイプの識別子と、特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの先の特定のデジタルデータメッセージの伝送を発生させる命令の間にマイクロプロセッサにより実行される命令の数のカウンタとを有する相関メッセージを伝送するステップを有する。
【0016】
本発明の実施形態によると、選択された先のメッセージは、直前の特定のメッセージである。
【0017】
本発明の実施形態によると、相関メッセージは該メッセージが相関メッセージであることを示す識別子を有する。
【0018】
本発明の実施形態によると、特定のデジタルメッセージはデータ読み出し又は書き込み命令を表す。
【0019】
本発明の実施形態によると、特定のデジタルメッセージはマイクロプロセッサによる命令の実行から独立したイベントを表す。
【0020】
本発明の実施形態によると、伝送されたデジタルメッセージは、相関メッセージに基づいて、マイクロプロセッサにより実行される命令を各伝送されたデジタルメッセージに関連させることができる解析ツールにより受信される。
【0021】
本発明はまた、マイクロプロセッサに集積化されるモニタ回路の出力ターミナルを介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送する装置を提供する。そのデジタルデータメッセージは、マイクロプロセッサにより命令実行されるデータ読み出し又は書込み命令を表す。その装置は、モニタ回路により伝送されるデジタルデータメッセージが特定のタイプであるか検出する手段と、特定のタイプのデジタルデータメッセージの伝送前又は伝送後に、相関メッセージを伝送する手段とを有し、相関メッセージは、特定のデジタルデータメッセージのタイプの識別子と、特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの先の特定のデジタルデータメッセージの伝送を発生させる命令の間でマイクロプロセッサにより実行される命令の数のカウンタとを有する。
【0022】
本発明の、前述又はその他の目的、特徴、及び効果は、添付図面に関連して、以下の特定の実施形態の限定しない説明において詳述される。
【発明を実施するための最良の形態】
【0023】
本発明によると、モニタ回路18は、各データメッセージの伝送前又は伝送後に相関メッセージを伝送する。相関メッセージは、既に伝送されたか又は伝送されるデータメッセージを発生させる命令と伝送済の先行データメッセージを発生させる命令との間でマイクロプロセッサ12により実行される命令の数と同数のカウンタを有する。相関メッセージにより提供されるカウンタに基づいて、解析ツール24は、既に受信されたか又は受信されるデータメッセージ及びプログラム命令の間の相関を確実な方法で実行することができる。
【0024】
図2は本発明によるデジタル相関メッセージの例を示す。
【0025】
相関メッセージは、固定ビット数を有し、相関メッセージを識別するコードと等しい第1のフィールドTCODEを有する。
【0026】
相関メッセージの第2のフィールドSRCは、可変ビット数を有し、モニタ回路18が複数のマイクロプロセッサと同時にデータ交換するのか、又は、モニタ回路18が異なる複数のプログラムを同時に実行する同一のマイクロプロセッサとデータ交換するのかを指示する。第2のフィールドは、モニタ回路18が単一のプログラムを実行する単一のマイクロプロセッサ12に接続される場合はビットを含まない。
【0027】
相関メッセージの第3のフィールドEVENTは、可変ビット数を有し、相関メッセージに関連するデータメッセージの識別子と等しい。相関メッセージに関連させることのできるデータメッセージの可能なタイプの数に従い、フィールドEVENTのサイズはより小さく又は大きくなる。最も頻繁なデータメッセージとは、例えば、読み出し又は書込み命令を表すメッセージか、マイクロプロセッサの特定の動作条件が満たされていることを指示するメッセージか、又は、マイクロプロセッサ12の動作に必ずしも依存しない特定のイベントの発生を指示するメッセージに該当する。前例において、特定のイベントとは、例えばマイクロプロセッサ12が、供給チップ10に給電するバッテリの充電レベルが決められた閾値を下回ることを指示する信号を受信することに該当する。また、それは、携帯電話技術への応用については、携帯電話の画面のブランキングを制御するための信号の伝送である。更に、IEEE−ISTO−5001基準は、ユーザが、基準により明確に提供されるメッセージに加えて個人化されたメッセージを提供することを可能にする。個人化されたメッセージは、その場合データメッセージとして考慮され、個人化されたメッセージの伝送は相関メッセージの伝送に先行されるか、又は追従される。
【0028】
相関メッセージの第4のフィールドICNTは、可変ビット数を有し、相関メッセージに関連するデータメッセージを伝送させる命令及び前データメッセージを伝送させる命令の間にマイクロプロセッサ12により実行されるプログラムの命令の数を指示する。
【0029】
相関メッセージは、マイクロプロセッサ12により実行されるプログラム命令が各データメッセージに対応するように解析ツール24により用いられる。この結果を達成するために、解析ツール24はまた、プログラム追跡メッセージを用い、それへのプログラム命令の割り当ては一般的には問題とならない。それにより、ユーザがモニタ回路18によるプログラム追跡メッセージの伝送機能を制止すると更なる相関メッセージは伝送されない。
【0030】
相関メッセージは、あらゆるタイプのデータメッセージ又は特定のタイプのデータメッセージと共に伝送されることができる。IEEE−ISTO−5001基準によると、モニタ回路18により伝送される各メッセージは、メッセージタイプを識別するコードを有する。モニタ回路18は、メッセージ生成時に、生成されたメッセージを識別するコードを検出し、相関メッセージと生成されたメッセージとを関連させるか、又は関連させない。
【0031】
本発明には多くの効果がある。
【0032】
第1に、本発明は、解析ツールにより受信される各メッセージ及びマイクロプロセッサにより実行されるプログラムの命令の間での曖昧でない相関を保障することを可能にする。
【0033】
第2に、本発明は、モニタ回路により伝送される追加データの数を制限することを可能にする。実際、本発明により提供される相関メッセージは、サイズをより小さくした、具体的には同期メッセージに用いられる完全な命令アドレスより小さい、命令カウンタを有する。
【0034】
第3に、本発明は、受信メッセージ及びプログラム命令間の相関を確立するために、解析ツールにより用いられるアルゴリズムの単純化を可能にする。
【0035】
第4に、本発明は、新しい相関メッセージの追加のみを提供するため、IEEE−ISTO−5001基準により既に提供さているメッセージを変更することを必要としない。
【0036】
もちろん、本発明は、当業者であれば容易に思いつく様々な改変、変更態様及び改良を有するであろう。具体的には、それは、チップ入力/出力ターミナルを介して特定の信号を直接受信するモニタ回路のために提供されても良い。そのような信号は、発生したことを解析ツールへ指示することが望まれるイベントを、モニタ回路が検出するために用いられても良い。
【図面の簡単な説明】
【0037】
【図1】マイクロプロセッサ及びモニタ装置を集積化する従来のチップの技術を示す概略図である。
【図2】本発明による、モニタ回路から解析ツールへ伝送されるメッセージの例を示す図である。

【特許請求の範囲】
【請求項1】
マイクロプロセッサ(12)に集積化されるモニタ回路(18)の出力ターミナル(22)を介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送するための方法であって、
前記デジタルデータメッセージは、前記マイクロプロセッサによる命令実行時に発生する決められたイベントを表し、
前記デジタルデータメッセージのデータ読み出し又は書込み命令を表す少なくとも1つの特定のデジタルデータメッセージの伝送前又は伝送後に、前記特定のデジタルデータメッセージのタイプの識別子と、前記特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの先の特定のデジタルデータメッセージの伝送を発生させる命令の間にマイクロプロセッサにより実行される命令の数のカウンタとを有する相関メッセージを伝送するステップを有することを特徴とする方法。
【請求項2】
前記先の特定のデジタルデータメッセージは直前の特定のデジタルデータメッセージである、請求項1に記載の方法。
【請求項3】
前記相関メッセージは該メッセージが相関メッセージであることを示す識別子を有することを特徴とする請求項1に記載の方法。
【請求項4】
伝送された前記デジタルデータメッセージは、解析ツール(24)により受信され、該解析ツールは前記相関メッセージに基づいて前記マイクロプロセッサ(12)により実行される命令を各前記伝送されたデジタルメッセージに関連させることができることを特徴とする請求項1に記載の方法。
【請求項5】
マイクロプロセッサ(12)に集積化されるモニタ回路(18)の出力ターミナル(22)を介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送するための装置であって、
前記デジタルデータメッセージは、前記マイクロプロセッサにより命令実行されるデータ読み出し又は書込み命令を表し、
前記モニタ回路により伝送されるデジタルデータメッセージが特定のタイプであるか検出するための手段と、
前記特定のタイプのデジタルデータメッセージの伝送前又は伝送後に、相関メッセージを伝送する手段とを有し、
前記相関メッセージは、前記特定のデジタルデータメッセージのタイプの識別子と、前記特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの先の特定のデジタルデータメッセージの伝送を発生させる命令の間に前記マイクロプロセッサにより実行される命令の数のカウンタとを有することを特徴とする装置。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2009−259289(P2009−259289A)
【公開日】平成21年11月5日(2009.11.5)
【国際特許分類】
【出願番号】特願2009−184760(P2009−184760)
【出願日】平成21年8月7日(2009.8.7)
【分割の表示】特願2004−549242(P2004−549242)の分割
【原出願日】平成14年10月29日(2002.10.29)
【出願人】(591035139)エステーミクロエレクトロニクス ソシエテ アノニム (31)
【Fターム(参考)】