(57)【要約】【課題】  マイクロプロセッサに集積されている監視回路の出力ターミナルを介して、マイクロプロセッサによるプログラムの実行時の特定のイベントの発生を示すデジタルメッセージを伝送する方法および回路であって、監視回路の飽和のリスクを低減する方法および回路を提供する。【解決手段】  本発明は、一連の命令の実行中にマイクロプロセッサ（１２）に集積されている監視回路（１８）の出力ターミナル（２２）を介してデジタルメッセージを伝送する方法に関し、デジタルメッセージは、一連の命令の実行において、１つの特定のイベントを検出する時に監視回路により格納される特性データを表し、そのデータの１つはその特定のイベントの識別子に対応し、この方法は、共通の識別子を持つ最後の２つの検出された特定のイベントのデータを比較するステップと、比較されたデータが同一の場合、その特定のイベントに関連付けられた反復カウンタを増加させるステップと、比較されたデータが異なる場合には、最後に検出された特定のイベントのデータを表すデジタルメッセージを伝送し、更に、その特定のイベントに関連付けられた反復カウンタの内容がゼロ以外である場合、特定のイベントの反復を示すデジタルメッセージを伝送するステップを有する。
2006503360.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサ（１２）による命令シーケンスの実行時に該マイクロプロセッサに集積されている監視回路（１８）の出力ターミナル（２２）を介してデジタルメッセージを伝送する方法であって、
各デジタルメッセージは、前記命令シーケンスの実行におけるいくつかの特定のイベントの中から、１つの特定のイベントを検出した時の前記監視回路により記憶される特性データを表し、
該データの１つは前記特定のイベントの識別子に対応する方法において、
同一の識別子に対応する最後の２つの検出された前記特定のイベントの記憶された特性データを比較するステップと、
前記比較されたデータが同一の場合、前記特定のイベントに関連付けられた反復カウンタを増加させるステップと、
前記比較されたデータが異なる場合、最後に検出された前記特定のイベントの前記特性データを表すデジタルメッセージを伝送し、更に、前記特定のイベントに関連付けられた前記反復カウンタの内容がゼロでない場合、前記特定のイベントの反復を示すデジタルメッセージを伝送するステップと
を有することを特徴とする方法。
【請求項２】
前記特定のイベントの反復を示す前記デジタルメッセージは、前記特定のイベントに関連付けられた前記反復カウンタの内容を有することを特徴とする請求項１に記載の方法。
【請求項３】
前記特定のイベントの反復を示すデジタルメッセージの伝送の後、前記特定のイベントに関連付けられた前記反復カウンタをリセットするステップを更に有することを特徴とする請求項１に記載の方法。
【請求項４】
前記特性データは、最後の２つの検出された前記特定のイベントの間に前記マイクロプロセッサ（１２）により実行された命令の数を有することを特徴とする請求項１に記載の方法。
【請求項５】
前記特定のイベントは、前記マイクロプロセッサ（１２）により実行される前記命令シーケンスにおけるジャンプであることを特徴とする請求項１に記載の方法。
【請求項６】
前記記憶された特性データは、最後に検出されたジャンプの宛先命令のアドレスを表すデータを有することを特徴とする請求項５に記載の方法。
【請求項７】
前記特定のイベントは、前記マイクロプロセッサ（１２）により実行される前記命令シーケンスにおける読出しまたは書込み命令であることを特徴とする請求項１に記載の方法。
【請求項８】
前記特定のイベントに関連付けられた前記反復カウンタの内容が所定のスレショルドよりも大きい場合、前記特定のイベントの反復を示すデジタルメッセージを伝送するステップと、
前記特定のイベントに関連付けられた前記反復カウンタをゼロに設定するステップと
を有することを特徴とする請求項１に記載の方法。
【請求項９】
マイクロプロセッサ（１２）による命令シーケンスの実行時に前記マイクロプロセッサに集積されている監視回路（１８）と分析ツール（２４）の間でデジタルメッセージを伝送する装置であって、
前記命令シーケンスの実行におけるいくつかの特定のイベントの中から、１つの特定のイベントを検出する手段と、
前記検出された特定のイベントの特性データを記憶する手段で、該特性データの１つが前記特定のイベントの識別子に対応する手段と、
前記記憶された特性データを表すデジタルメッセージを伝送する手段と
を有し、
同一の識別子に対応する最後の２つの検出された前記特定のイベントの記憶された特性データを比較する手段と、
前記比較されたデータが同一であることを示す信号を前記比較手段が供給した場合、前記特定のイベントに関連付けられた反復カウンタを増加させる手段と
を有することと、
前記伝送手段は、前記比較されたデータが異なることを示す信号を前記比較手段が供給した場合、最後に検出された前記特定のイベントの前記特性データを表すメッセージを伝送することができ、更に、前記特定のイベントに関連付けられた前記反復カウンタの内容がゼロでないことを示す信号を前記増加手段が供給した場合、前記特定のイベントの反復を示すデジタルメッセージを伝送することが可能であること
を特徴とする装置。
【請求項１０】
前記伝送手段が前記特定のイベントの反復を示すデジタルメッセージを伝送するとき、前記増加手段は更に、前記特定のイベントに関連付けられた前記反復カウンタをゼロに設定することができることを特徴とする請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサの試験に関する。より詳細には、マイクロプロセッサチップに集積された監視回路と分析ツールの間のデジタルデータの伝送の方法および装置に関する。
【背景技術】
【０００２】
図１は、マイクロプロセッサ（μＰ）１２、内部メモリ（ＭＥＭ）１４、および入出力ターミナル（Ｉ／Ｏ）１６を有する集積回路１０を概略的に示したものである。マイクロプロセッサ１２は、メモリ１４に格納されたプログラムまたはソフトウェアを実行する。プログラムの制御の下、マイクロプロセッサ１２は、入出力ターミナル１６により供給されたデータまたはメモリ１４に格納されたデータを処理し、入出力ターミナル１６を介してデータの読出しまたは書込みを行うことができる。
【０００３】
マイクロプロセッサの適切な動作をチェックするため、監視回路１８は一般的に集積回路１０に集積される。監視回路１８はプログラムの実行時にマイクロプロセッサ１２により供給される特定のデータを読出すことができ、場合によっては、読出したデータを処理する。試験ターミナル２２は監視回路１８を分析ツール２４に接続している。分析ツール２４は、例えばユーザにより供給されるコマンドに従って、受信した信号を処理することができ、マイクロプロセッサ１２の動作の詳細な分析を確実に行う。特に、分析ツール２４はマイクロプロセッサ１２により実行されているプログラム命令シーケンスを決定することができる。
【０００４】
試験ターミナル２２の数は、入出力ターミナル１６の数と同規模であり、例えば２００〜４００ターミナルである。試験ターミナル２２および監視回路１８の接続は、シリコンの表面領域のかなりの部分を占め、望ましくない回路コストの増加をもたらす。この目的のために、監視回路１８と試験ターミナル２２を有する集積回路１０の第１のバージョンが少量生産され、マイクロプロセッサ１２のプログラムまたは「ユーザプログラム」をデバッグする。このデバッグの後、監視回路１８と試験ターミナル２２を取り除いた集積回路１０のバージョンが販売される。これは２つのバージョンの集積回路が形成されていることを意味し、かなりの量の作業を要し、比較的高価である。更に、最終的なチップは、試験されたチップと必ずしも同じでない。
【０００５】
上述の欠点を克服するため、監視回路のコストを削減し、占める表面領域がより少なく、より少ない数の試験ターミナル２２のみを必要とする監視回路１８を形成することが望まれる。監視回路１８は、この場合、最終的に販売される集積回路１０上に残すことができる。
【０００６】
従って、監視回路１８により供給される信号の数を減らすことが望まれる。この目的のため、マイクロプロセッサ１２のレベルで測定されたデータに対し、監視回路１８のレベルで特定の論理演算が直接行われ、重要な情報内容を持つメッセージのみが伝送される。
【０００７】
このようにして、準備中の規格ＩＥＥＥ−ＩＳＴＯ−５００１は、例えばウェブサイトｗｗｗ．ｉｅｅｅ−ｉｓｔｏ．ｏｒｇ／Ｎｅｘｕｓ５００１上でアクセス可能な１９９９バージョンにおいて、より少ない数の試験ターミナル２２のみを必要とする監視回路１８のための、監視回路と分析ツールの間の特定のメッセージ交換プロトコルを提供している。
【０００８】
規格ＩＥＥＥ−ＩＳＴＯ−５００１に従って監視回路１８により提供されるメッセージの中で、１つのメッセージがマイクロプロセッサ１２により行われるプログラムの中でのジャンプの発生を示す。ジャンプは、プログラムを形成する命令のシーケンスの中で初期命令に続く命令ではなく、プログラムの初期命令から、宛先命令までの通過に対応する。監視回路１８により伝送されるジャンプメッセージをベースにして、分析ツール２４はマイクロプロセッサ１２により実行される命令のシーケンスを再構成する。再構成された命令のシーケンスは、従って、理論的にはマイクロプロセッサ１２により実行される命令のシーケンスと比較することが可能になり、マイクロプロセッサ１２の不具合を判断する。
【０００９】
規格ＩＥＥＥ−ＩＳＴＯ−５００１は、監視回路により検出可能な異なるタイプのジャンプの中からジャンプのタイプを識別するヘッダと、ジャンプメッセージの最後の伝送以後にマイクロプロセッサにより実行された命令の数を示す整数と、必要な場合には宛先命令アドレスを表すデータで形成されるジャンプメッセージを規定する。
【００１０】
マイクロプロセッサにより実行されるプログラムは一般的に多数回の反復に対応する命令のシーケンスのループを有し、ジャンプはループの最後の命令からループの最初の命令へと行われる。特定の応用、特に電話通信においては、プログラムはかなりの数の小型のループを有することもある。一例として、メモリの内容のコピーは単一の命令を含むループにより行われることもあり、使用される技術に従い、マイクロプロセッサの１つまたは２つの動作クロックサイクルにより実施することができる。
【００１１】
現在のマイクロプロセッサは、４００ＭＨｚに到達するクロック周波数で一般に動作している。しかしながら、使用される技術により、監視回路１８による試験ターミナル２２上でのメッセージの伝送の最大周波数は、一般的に数百メガヘルツに制限される。小型のループの実行時に、試験ターミナル２２上での、ループジャンプを表すメッセージが監視回路１８により伝送されるべき周波数が、最大伝送周波数を超えることも有り得る。それは、もはやメッセージを適切に供給できない監視回路の飽和をもたらす。
【００１２】
更に、規格ＩＥＥＥ−ＩＳＴＯ−５００１によれば、監視回路１８はメモリ１４に格納されたデータを読出す命令またはメモリ１４にデータを書込む命令をマイクロプロセッサ１２が実行する度にメッセージを供給することができる。従って、小型のループが読出しまたは書込み命令を有するとき、監視回路１８は試験ターミナル２２上で、ループジャンプを表すメッセージに加えて、読出しまたは書込み動作を表すメッセージを伝送しなくてはならず、監視回路１８の飽和のリスクが高まる。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、マイクロプロセッサに集積されている監視回路の出力ターミナルを介して、マイクロプロセッサによるプログラムの実行時の特定のイベントの発生を示すデジタルメッセージを伝送する方法および回路であって、前述の欠点を示さない方法および回路を目的とする。
【課題を解決するための手段】
【００１４】
この目的を達成するため、本発明はマイクロプロセッサによる命令シーケンスの実行時にマイクロプロセッサに集積されている監視回路の出力ターミナルを介してデジタルメッセージを伝送する方法を提供し、各デジタルメッセージは、命令シーケンスの実行におけるいくつかの特定のイベントの中から、１つの特定のイベントを検出する時に監視回路により記憶される特性データを表し、そのデータの１つはその特定のイベントの識別子に対応し、この方法は、同一の識別子に対応する最後の２つの検出された特定のイベントの記憶された特性データを比較するステップと、比較されたデータが同一の場合、その特定のイベントに関連付けられた反復カウンタを増加させるステップと、比較されたデータが異なる場合には、最後に検出された特定のイベントの特性データを表すデジタルメッセージを伝送し、更に、その特定のイベントに関連付けられた反復カウンタの内容がゼロでない場合、特定のイベントの反復を示すデジタルメッセージを伝送するステップを有する。
【００１５】
本発明の実施形態によれば、特定のイベントの反復を示すデジタルメッセージは、その特定のイベントに関連付けられた反復カウンタの内容を有する。
【００１６】
本発明の実施形態によれば、この方法は更に、特定のイベントの反復を示すデジタルメッセージの伝送の後、その特定のイベントに関連付けられた反復カウンタをリセットするステップを有する。
【００１７】
本発明の実施形態によれば、特性データは、最後の２つの検出された特定のイベントの間にマイクロプロセッサにより実行された命令の数を有する。
【００１８】
本発明の実施形態によれば、特定のイベントは、マイクロプロセッサにより実行される命令シーケンスにおけるジャンプである。
【００１９】
本発明の実施形態によれば、記憶された特性データは、最後に検出されたジャンプの宛先命令のアドレスを表すデータを有する。
【００２０】
本発明の実施形態によれば、特定のイベントは、マイクロプロセッサにより実行される命令シーケンスにおける読出しまたは書込み命令である。
【００２１】
本発明の実施形態によれば、この方法は更に、その特定のイベントに関連付けられた反復カウンタの内容が所定のスレショルドよりも大きい場合、特定のイベントの反復を示すデジタルメッセージを伝送するステップと、その特定のイベントに関連付けられた反復カウンタをゼロに設定するステップを有する。
【００２２】
本発明はまた、マイクロプロセッサによる命令シーケンスの実行時にマイクロプロセッサに集積されている監視回路と分析ツールの間でデジタルメッセージを伝送する装置を提供し、命令シーケンスの実行におけるいくつかの特定のイベントの中から、１つの特定のイベントを検出する手段と、検出された特定のイベントの特性データを記憶する手段で、その特性データの１つが特定のイベントの識別子に対応する手段と、記憶された特性データを表すデジタルメッセージを伝送する手段とを有し、同一の識別子に対応する最後の２つの検出された特定のイベントの記憶された特性データを比較する手段と、比較されたデータが同一であることを示す信号を比較手段が供給した場合、その特定のイベントに関連付けられた反復カウンタを増加させる手段とを有し、伝送手段は、比較されたデータが異なることを示す信号を比較手段が供給した場合、最後に検出された特定のイベントの特性データを表すメッセージを伝送することができ、更に、その特定のイベントに関連付けられた反復カウンタの内容がゼロでないことを示す信号を増加手段が供給した場合、特定のイベントの反復を示すデジタルメッセージを伝送することができる。
【００２３】
本発明の実施形態によれば、伝送手段が特定のイベントの反復を示すデジタルメッセージを伝送するとき、増加手段は更に、その特定のイベントに関連付けられた反復カウンタをゼロに設定することができる。
【００２４】
上述した本発明の目的、特徴、および利点等は、以下の添付図面に関連する特定の実施形態の非限定的な説明において詳細に論じられる。
【発明を実施するための最良の形態】
【００２５】
本発明は、例えば図１のアーキテクチャと同様のアーキテクチャに基づく、マイクロプロセッサのチップに集積された監視回路と分析ツールの間のデジタルメッセージの伝送に関する。マイクロプロセッサ１２によるプログラムの実行時に特定のイベントが発生した場合、監視回路１８は分析ツール２４に様々なメッセージを伝送することができる。デジタルメッセージの符号化は規格ＩＥＥＥ−ＩＳＴＯ−５００１に従った符号化に対応することができる。例えば、監視回路１８は、マイクロプロセッサ１２によるプログラムの実行におけるジャンプの検出を示すメッセージを分析ツール２４に伝送する。ジャンプは、プログラムの特定の命令により課されるか、マイクロプロセッサ１２の回路の素子により引き起こされる。何度ものプログラムの同一の命令シーケンスの反復は、例えばマイクロプロセッサ１２の回路素子により課されるジャンプによって得られる。マイクロプロセッサ１２が回路１０の供給バッテリの低い充電レベルを示す警告信号を受信したときに、ジャンプは例えばシステマティックに引き起こされ得る。監視回路１８はまた、マイクロプロセッサ１２によるプログラムの実行時に読出しまたは書込み動作の検出を示すメッセージをツールに伝送する。監視回路１８により連続して数回供給されるべき同一のメッセージの反復の回数を決定するため、監視回路１８は、初期は０に設定され、特定のメッセージに関連付けられる反復カウンタを有する。
【００２６】
図２は、監視回路１８と分析ツール２４の間のデジタルメッセージの伝送の方法の実施例をブロック図の形で示したものである。
【００２７】
デジタルメッセージの伝送の方法は、マイクロプロセッサ１２によるプログラムの実行時に、監視回路１８により同一のメッセージが連続して数回伝送されるべき場合に、メッセージを１回だけ伝送することと、メッセージの反復の回数を示すメッセージを伝送することより成る。
【００２８】
ステップ３０において、監視回路１８は、マイクロプロセッサ１２による、メモリ１４に格納されたプログラムの実行時に特定のイベントを検出し、それは通常、監視回路１８による分析ツール２４へのメッセージの伝送を引き起こす。監視回路１８は次に、検出されたイベントの特定の特性データを記憶する。特に、検出されたイベントがジャンプである場合、記憶されたデータは検出されたジャンプのタイプの識別子に対応する。その他の記憶されたデータは、検出されたジャンプと先に検出されたジャンプの間にマイクロプロセッサ１２によって実行された命令の数に対応する。その他の記憶されたデータは、ジャンプの宛先アドレスに対応することもある。そのようなデータの記憶は、様々な値を取り得る変数により規定されるアドレスに位置するプログラム命令へのジャンプを制御するジャンプ命令からジャンプが生じるとき、分析ツール２４にとって必要なこともある。検出されたイベントが読出しまたは書込み動作の場合、記憶されたデータは、それが読出し動作か書込み動作かを示す識別子に対応する。その他の記憶されたデータは、記憶されたデータまたは読出されたデータの値に対応する。その他の記憶されたデータはデータが格納される、または読出されるメモリ１４の領域のアドレスを表すこともある。この方法は、次にステップ３１へと進む。
【００２９】
ステップ３１において、監視回路１８は、ステップ３０で検出されたイベントの記憶された特性データと、同一の識別子に対応する最後に検出されたイベントを比較する。比較は、同一の性質のデータについて行われる。一例として、イベントがジャンプのとき、比較は例えば、先に検出されたジャンプ以後に行われた命令の数と、利用可能であれば宛先アドレス等の両方について行われる。イベントが読出し動作であるとき、比較は例えば、読出されたデータの値と、データが読出されるメモリ領域のアドレスの両方について行われる。同一の識別子を持つ、監視回路により検出された最後の２つのイベントが同一の場合、この方法はステップ３２へと進む。
【００３０】
ステップ３２において、監視回路１８はステップ３０で検出されたイベントに関連付けられた反復カウンタを増加させる。そのとき、分析ツール２４には何もメッセージが伝送されない。
【００３１】
ステップ３１において、同一の識別子に対応する最後の２つの検出されたイベントが同一でない場合、この方法はステップ３３へと進む。
【００３２】
ステップ３３において、監視回路１８は、ステップ３０で検出されたイベントに関連付けられた反復カウンタの内容が０に等しいかどうかをチェックする。そうである場合、この方法はステップ３４へと進む。
【００３３】
ステップ３４において、監視回路１８は、試験ターミナル２２を経由して分析ツール２４に、ステップ３０で検出されたイベントを表すメッセージを伝送する。検出されたイベントがジャンプであった場合、メッセージは記憶された特性データの連結より成り、ジャンプの性質を識別するヘッダ、先のジャンプ検出以後に行われた命令の数、利用可能な場合にはジャンプ宛先命令のアドレス等より成る。
【００３４】
ステップ３３において、ステップ３０で検出されたイベントに関連付けられた反復カウンタの内容が０でない場合、この方法はステップ３５へと進む。
【００３５】
ステップ３５において、監視回路１８は、試験ターミナル２２を経由して分析ツール２４に、例えば反復メッセージであることを示すヘッダと、ステップ３０で検出されたイベントに関連付けられた反復カウンタの内容で形成され得る反復メッセージを伝送する。反復カウンタは、そのとき０に戻され、この方法はステップ３４へと進み、そこで監視回路１８は、ステップ３０で検出されたイベントを表すメッセージを分析ツール２４に供給する。
【００３６】
本発明は、監視回路による同一のメッセージの伝送を引き起こすいくつかのイベントが監視回路１８により連続的に検出されたときに、監視回路１８により分析ツール２４に伝送されるデジタルメッセージの数を減らすことを実現する。例えば、本発明はジャンプの周波数がかなりの高さになり得る小型のループの場合、最大許容伝送周波数の下で、試験ターミナル２２上でのデジタルメッセージの伝送周波数の維持を可能にする。
【００３７】
本発明の変形例によれば、ステップ３３において、特定のイベントに関連付けられた反復カウンタがスレショルド値に到達したとき、監視回路１８はとりわけ反復カウンタのスレショルド値より成るメッセージを伝送し、特定のイベントを表すメッセージがこれに続き、ループ反復カウンタを０にリセットする。これにより、例えばループがかなりの回数繰返された場合、時間が長すぎるためにメッセージが分析ツール２４に伝送されない、ということがなくなる。
【００３８】
もちろん、本発明は、当業者なら充分思い付く可能性のあるさまざまな変更態様、変形態様、および改良を備え得る。例えば、反復メッセージはある特定のイベントにのみ使用され、メッセージはその他のイベントのために監視回路により分析ツールに個別に供給されることもある。
【図面の簡単な説明】
【００３９】
【図１】マイクロプロセッサおよび監視装置を集積したチップのアーキテクチャを非常に概略的に示したものである。
【図２】本発明に従った、監視回路によるデジタルメッセージの伝送の方法の実施例をブロック図の形で示したものである。
【符号の説明】
【００４０】
１０  集積回路
１２  マイクロプロセッサ
１４  メモリ
１６  入出力ターミナル
１８  監視回路
２２  試験ターミナル
２４  分析ツール
３０、３１、３２、３３、３４、３５  ステップ
【図１】
2006503360.tif 000003
【図２】
2006503360.tif 000004
【国際調査報告】
2006503360.tif 000005
2006503360.tif 000006
2006503360.tif 000007
2006503360.tif 000008
2006503360.tif 000009
2006503360.tif 000010