(57)【要約】【課題】  本発明は、マイクロプロセッサに集積化された監視回路によるデジタルメッセージの伝送方法に関し、前記方法は、マイクロプロセッサによる一連の命令の実行の間に行われる。更に、少なくとも１つのメッセージは、一連の命令の、元の命令から宛先となる命令へのジャンプの検出を表している。【解決手段】  本発明による方法は、ジャンプの宛先命令が、命令内に明示的に示されたジャンプ命令から生じたジャンプであるかどうかを判定する。もしそうであるなら、第１の値が、第１の組のビットに割り当てられる、そうでないなら、第２の値が第１の組のビットに割り当てられる。最後に、第２の値が第１の組のビットに割り当てられたなら、複数のジャンプ種別から前記ジャンプを特定する第３の値をデジタルメッセージの第２の組のビットに割り当てる。
2006506720.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサによる命令シーケンス実行の際の、マイクロプロセッサ（１２）と共に集積化された監視回路（１８）の出力ターミナル（２２）を通して、
少なくとも１つは、命令シーケンス実行中に、初期命令から、命令シーケンスの前記初期命令に続く命令とは異なる宛先命令へのジャンプの検出の際に、監視回路により保存された特徴データを表現したものであるデジタルメッセージを伝送する方法において、
ジャンプが、命令シーケンス内の、ジャンプの宛先命令のアドレスを表現するデータが、命令内に明示的に示されているジャンプ命令に関連したものであるかどうかを判定するステップと、
関連したものである場合、デジタルメッセージの第１の組のビット（Ｔｃｏｄｅ）に、第１の値を割り当て、関連したものでない場合、第１の組のビットに、第２の値を割り当てるステップと、
第１の組のビットが第２の値である場合、デジタルメッセージの第２の組のビット（ＢＴｙｐｅ）に、複数のジャンプ種別から前記ジャンプを特定する第３の値を割り当てるステップと、
デジタルメッセージを伝送するステップと、
を有することを特徴とする伝送方法。
【請求項２】
デジタルメッセージの第３の組のビット（ＩＣＮＴ）に、ジャンプに関連付けられたデジタルメッセージに対応している、最後に実行された命令シーケンス中の命令以降に、マイクロプロセッサ（１２）で実行された命令数に対応する値を割り当てる更なるステップを有する請求項１に記載の方法。
【請求項３】
第１の組のビットが第２の値である場合、デジタルメッセージの第４の組のビット（ＡＤＤＲ）に、宛先命令のアドレスを表現する値を割り当てる更なるステップを有する請求項１に記載の方法。
【請求項４】
ジャンプ種別は、宛先命令のアドレスを表現するデータが保存されたレジスタの参照を含む、命令シーケンスのジャンプ命令から生じるジャンプに対応する請求項１に記載の方法。
【請求項５】
ジャンプ種別は、マイクロプロセッサ（１２）により強制されたジャンプに対応し、宛先命令は、前記命令シーケンスには属さない特別な一連の命令内の命令に対応する請求項１に記載の方法。
【請求項６】
ジャンプ種別は、マイクロプロセッサ（１２）により強制されたジャンプに対応し、宛先命令は、前記命令シーケンスの命令である請求項１に記載の方法。
【請求項７】
マイクロプロセッサ（１２）と共に集積化された監視回路（１８）と、分析ツール（２４）との間で、出力ターミナル（２２）を経由してデジタルメッセージを伝送し、
マイクロプロセッサによる命令シーケンスの実行の際にジャンプを検出する手段と、
検出したジャンプを特徴づけるデータを保存する手段と、
ジャンプが、命令シーケンスの、ジャンプの宛先命令のアドレスを表現するデータが、命令内に明示的に示されているジャンプ命令に関連するものである場合には第１の値が、そうでない場合には第２の値が、第１の組のビット（Ｔｃｏｄｅ）に設定されているデジタルメッセージを、保存された、特徴づけるデータに基づいて決定する手段と、
決定したデジタルメッセージを伝送する手段と、
を有する装置において、
第１の組のビットが第２の値に設定された場合、前記決定する手段は、デジタルメッセージの第２の組のビット（ＢＴｙｐｅ）に、複数のジャンプ種別から前記ジャンプを特定する第３の値を設定することを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサの試験に関する。より詳しくは、マイクロプロセッサチップ内に集積化された監視回路と分析ツール間でのデジタルデータ伝送方法及び装置に関する。
【背景技術】
【０００２】
図１は、マイクロプロセッサ（μＰ）１２、内部メモリ（ＭＥＭ）１４及び入出力ターミナル（Ｉ／Ｏ）１６を備えた集積回路１０の概略を示す図である。マイクロプロセッサ１２は、メモリ１４に格納されたプログラム又はソフトウェアを実行することを目的としている。プログラムの制御のもと、マイクロプロセッサ１２は、入出力ターミナル１６により供給された又はメモリ１４に保存されたデータを処理し、入出力ターミナル１６を通してデータの読み書きを行うことができる。
【０００３】
マイクロプロセッサの適切な動作を検査するために、監視回路（ＴＥＳＴ）１８が、通常、集積回路１０に集積されている。監視回路１８は、プログラムの実行の際に、マイクロプロセッサ１２により供給される特定のデータを読むことができ、読み込んだデータの処理を行う。監視ターミナル２２は、監視回路１８を分析ツール２４に接続する。分析ツール２４は、例えば、ユーザにより発行されたコマンドに基づき受信信号を処理し、マイクロプロセッサ１２の動作の詳細な分析を確実に行う。特に、分析ツール２４は、マイクロプロセッサ１２により実際に実行されるプログラム命令シーケンスを決定する。
【０００４】
従来の監視回路１８のための監視ターミナル２２の数は、マイクロプロセッサ１２の入出力ターミナル１６の数と同規模、例えば、２００〜４００ターミナルとなる。監視ターミナル２２と、その監視回路１８との接続部分は、シリコン表面領域の大きな部分を占め、不要な回路コストの上昇をもたらす。このため、監視回路１８と監視ターミナル２２を含む集積回路１０の第１のバージョンを、マイクロプロセッサ１２の検査用に少量生産する。この検査後、監視回路１８と監視ターミナル２２を取り除いた集積回路１０のバージョンを販売する。これは、２つのバージョンの集積回路を作成することを意味し、多量の作業量を必要とし、比較的高価にする。更に、最終のチップは、試験時のチップと同一ではない。
【０００５】
上述した欠点を克服するために、占有する表面領域が少なく、必要な監視ターミナル２２の数も少ない監視回路１８を作成し、監視回路１８のコストを減少させることが望まれている。監視回路１８は、最終的に販売される集積回路１０にも残すことができる。
【０００６】
よって、監視回路１８により供給される信号数を減少させることが望まれる。このため、マイクロプロセッサ１２で測定されたデータに対し、ある種の論理動作は、監視回路１８で直接処理し、重要な情報を含むメッセージのみ送信する。
【０００７】
非特許文献１には、監視回路１８が必要とする試験ターミナル２２の数を削減する、監視回路１８と分析ツール２４間での特定のメッセージ交換プロトコルが記載されている。
【０００８】
非特許文献１によるメッセージの中には、監視回路１８により発行され、マイクロプロセッサ１２により実行されるプログラムのジャンプの発生を示す、ジャンプメッセージがある。ジャンプとは、プログラムによりまさに実行された初期命令から、プログラムを形成する命令シーケンス内で初期命令に続く命令以外の命令である宛先命令に移行することである。監視回路１８により伝送されたジャンプメッセージに基づき、分析ツール２４は、マイクロプロセッサ１２により実行された命令シーケンスの再構築を行う。再構築された命令シーケンスは、続いて、マイクロプロセッサ１２の動作の誤りを判定するために、理論的にマイクロプロセッサ１２により実行される命令シーケンスと比較される。
【０００９】
図２は、非特許文献１に基づき、監視回路１８により伝送されるデジタルメッセージの一般的な例を示す図である。メッセージは、一連のフィールドから成り、各フィールドは固定又は可変ビット長である。図２において、メッセージの最下位ビットは図の左側に位置し、最上位ビットは図の右側に位置する。可変ビット長の各フィールドにおいて、０である最上位ビットは、デジタルメッセージの伝送の際に、一般的には削除される。第１のフィールドＴｃｏｄｅは、メッセージの識別子を表す。各識別子に対して、メッセージを構成するフィールド数は固定である。
【００１０】
非特許文献１では２つのジャンプメッセージの識別子が設けられている。第１の識別子は、いわゆる“明示的”ジャンプと呼ばれるものに対応する。明示的ジャンプは、マイクロプロセッサ１２により実行される直接ジャンプ命令から生じ、ジャンプ命令で明示的に示されたアドレスのプログラム命令又はジャンプ命令で明示的に示されたアドレスを表現するデータを持つプログラム命令へのジャンプを発生させる。第２の識別子は、“暗示的”ジャンプと呼ばれる、他のジャンプ種別に対応し、マイクロプロセッサ１２によるプログラムの実行の際に生じ得る。
【００１１】
２つの可能な識別子に対して、ジャンプメッセージは、監視回路１８の使用に応じてビット数が可変の第２フィールドＳＲＣを有する。フィールドＳＲＣは、監視回路１８が同時に複数のマイクロプロセッサとデータを交換するとき、又は、監視回路１８が、同時に複数のプログラムを実行している単一のマイクロプロセッサ１２とデータを交換するときに使用される。監視回路１８が、前記２つの場合に動作しないのであれば、フィールドＳＲＣは、０ビットとなる。
【００１２】
２つのジャンプ識別子のために、ジャンプメッセージは、可変ビット長の第３フィールドＩＣＮＴを有し、第３フィールドＩＣＮは、監視回路１８が、最後に実行された命令のために、明示的又は暗示的ジャンプメッセージを伝送して以来、マイクロプロセッサ１２により実行された命令数に対応している。
【００１３】
暗示的ジャンプの場合、ジャンプメッセージは、可変ビット長であり、ジャンプの宛先命令のアドレスを表現する第４フィールドＡＤＤＲを有する。フィールドＡＤＤＲの値は、例えば、マイクロプロセッサ１２により実行された、前の命令のアドレスと、宛先命令のアドレスとの差に対応する。
【００１４】
非特許文献１が提供する暗示的ジャンプメッセージは、多様な状況で生ずるジャンプと対応することが欠点である。実際、暗示的ジャンプは、マイクロプロセッサ１２により実行されるプログラムの、間接ジャンプ命令により生ずるかもしれない。間接ジャンプ命令は、ジャンプの宛先命令のアドレスを表現するデータを含むのではなく、前記アドレスを表現するデータが保存されているレジスタを参照するものである。暗示的ジャンプは、また、マイクロプロセッサ１２の実際の構造により生ずるジャンプにも対応するかもしれない。その場合、マイクロプロセッサ１２より実行されたプログラムの最後の命令が間接ジャンプ命令ではないのにもかかわらず、ジャンプが実行される。割り込みジャンプと、サーキットジャンプとは区別される。割り込みとは、ある種の割り込みを引き起こす条件を満足したときの、プログラム実行の強制的な停止と、割り込みルーチンの実行と、可能なプログラム実行の再開に対応する。割り込みジャンプは、このように、プログラム命令から割り込みルーチンの第１番目の命令へと生じる。割り込みを引き起こす条件の例としては、マイクロプロセッサ１２へ電力の供給を行っているバッテリの充電レベルが、所定の閾値より低くなったことを示す信号を、マイクロプロセッサ１２が受信した場合がある。サーキットジャンプは、ある条件に適合しときに、マイクロプロセッサ１２の構造により生ずるプログラムの初期命令から、同じプログラムに属する宛先命令へのジャンプに対応する。サーキットジャンプは、マイクロプロセッサ１２による、少数命令の複数回繰り返しの実行に、しばしば使用される。
【００１５】
非特許文献１が提供するジャンプメッセージと、監視回路１８による前記ジャンプメッセージの分析ツール２４への伝送は、プログラムにより実際に実行された命令シーケンスの分析ツール２４による再構築の際に、曖昧さを生じさせるかもしれない。実際、分析ツール２４が、明示的ジャンプメッセージを受信した場合、そこからマイクロプロセッサ１２により実行された直接ジャンプ命令の推測を行う。分析ツール２４により再構築された命令シーケンスの直接ジャンプ命令と、マイクロプロセッサ１２により理論的に実行された命令シーケンスの対応する直接ジャンプ命令とを関連付けることは簡単である。
【００１６】
分析ツール２４が暗示的ジャンプメッセージを受信した場合、分析ツール２４は、暗示的ジャンプメッセージが、マイクロプロセッサ１２により実行された間接ジャンプ命令に対応するのか、マイクロプロセッサ１２により生じたジャンプに対応するのかを判断することができず、プログラムのジャンプ命令と関連付けすることができない。実際、分析ツール２４が受信したメッセージに対応して分析ツール２４により再構築された命令シーケンスの命令が、間接ジャンプ命令でない場合、受信した暗示的ジャンプメッセージが間接ジャンプに相当するのかどうか、分析ツール２４により再構築された命令シーケンスが間違っているかどうか、例えば、マイクロプロセッサ１２により実際に実行された命令からずれているのかどうかを確実な方法で判断することはできない。
【００１７】
【非特許文献１】ＩＥＥＥ−ＩＳＴＯ−５００１標準、１９９９年バージョン
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明は、マイクロプロセッサにより実行されたジャンプ種別が何であろうと、分析ツールによる、マイクロプロセッサにより実行された命令シーケンスの再構築での、ある種の曖昧さを制限することができるデジタルメッセージの伝送方法を提供することを目的とする。
【００１９】
本発明は、非特許文献１により提供されているジャンプメッセージを修正するデジタルメッセージの伝送方法を提供することも目的とする。
【課題を解決するための手段】
【００２０】
これらの目的を達成するために、本発明は、マイクロプロセッサによる命令シーケンス実行の際の、マイクロプロセッサと共に集積化された監視回路の出力ターミナルを通して、少なくとも１つは、命令シーケンス実行中に、初期命令から、命令シーケンスの前記初期命令に続く命令とは異なる宛先命令へのジャンプの検出の際に、監視回路により保存された特徴データを表現したものであるデジタルメッセージを伝送する方法において、ジャンプが、命令シーケンス内の、ジャンプの宛先命令のアドレスを表現するデータが、命令内に明示的に示されているジャンプ命令に関連したものであるかどうかを判定するステップと、関連したものである場合、デジタルメッセージの第１の組のビットに、第１の値を割り当て、関連したものでない場合、第１の組のビットに、第２の値を割り当てるステップと、第１の組のビットが第２の値である場合、デジタルメッセージの第２の組のビットに、複数のジャンプ種別から前記ジャンプを特定する第３の値を割り当てるステップと、デジタルメッセージを伝送するステップとを有する伝送方法を提供する。
【００２１】
本発明の目的によると、デジタルメッセージの第３の組のビットに、ジャンプに関連付けられたデジタルメッセージに対応している、最後に実行された命令シーケンス中の命令以降に、マイクロプロセッサ（１２）で実行された命令数に対応する値を割り当てる更なるステップを有する。
【００２２】
本発明の目的によると、第１の組のビットが第２の値である場合、デジタルメッセージの第４の組のビットに、宛先命令のアドレスを表現する値を割り当てる更なるステップを有する。
【００２３】
本発明の目的によると、ジャンプ種別は、宛先命令のアドレスを表現するデータが保存されたレジスタの参照を含む、命令シーケンスのジャンプ命令から生じるジャンプに対応する。
【００２４】
本発明の目的によると、ジャンプ種別は、マイクロプロセッサにより強制されたジャンプに対応し、宛先命令は、前記命令シーケンスには属さない特別な一連の命令内の命令に対応する。
【００２５】
本発明の目的によると、ジャンプ種別は、マイクロプロセッサにより強制されたジャンプに対応し、宛先命令は、前記命令シーケンスの命令である。
【００２６】
本発明は、マイクロプロセッサと共に集積化された監視回路と、分析ツール（２４）との間で、出力ターミナル（２２）を経由してデジタルメッセージを伝送し、マイクロプロセッサによる命令シーケンスの実行の際にジャンプを検出する手段と、検出したジャンプを特徴づけるデータを保存する手段と、ジャンプが、命令シーケンスの、ジャンプの宛先命令のアドレスを表現するデータが、命令内に明示的に示されているジャンプ命令に関連するものである場合には第１の値が、そうでない場合には第２の値が、第１の組のビット（Ｔｃｏｄｅ）に設定されているデジタルメッセージを、保存された、特徴づけるデータに基づいて決定する手段と、決定したデジタルメッセージを伝送する手段とを有する装置において、第１の組のビットが第２の値に設定された場合、前記決定する手段は、デジタルメッセージの第２の組のビットに、複数のジャンプ種別から前記ジャンプを特定する第３の値を設定する装置を提供する。
【発明を実施するための最良の形態】
【００２７】
本発明の目的、特徴、利点について、以下では図面を用い、制限を与えない特定の実施形態に基づき詳細に説明する。
【００２８】
明示的ジャンプ、つまり、ジャンプの宛先命令のアドレスを表現するデータが明示的に命令内に示されたプログラムジャンプ命令によるジャンプに対し、本発明は、非特許文献１により既に提供されている明示的ジャンプメッセージを使用する。暗示的ジャンプ、つまり、他の可能な総てのジャンプ種別、例えば、間接ジャンプ、割り込みジャンプ及びサーキットジャンプに対し、本発明は、非特許文献１により提供されている暗示的ジャンプメッセージに、暗示的ジャンプの種類を特定する付加的なフィールドを、非特許文献１に対して可能な限り少ない修正で追加する。
【００２９】
図３は、本発明による暗示的ジャンプメッセージの例を示す図である。メッセージは、最下位ビット側に、既に説明をしたように、暗示的ジャンプのための特定の値を持つＴｃｏｄｅフィールドを有する。暗示的ジャンプメッセージは、既に説明をしたように、可変ビット長であり、監視回路１８が複数のマイクロプロセッサと同時に接続しているかどうか、又は、監視回路１８が、複数のプログラムを同時に実行している単一のマイクロプロセッサと接続しているかどうかを示す第２フィールドＳＲＣを有する。
【００３０】
本発明による暗示的ジャンプメッセージは、可変ビット長であり、異なる可能な暗示的ジャンプを示す第３フィールドＢＴｙｐｅを有する。例えば、フィールドＢＴｙｐｅは、２ビット長であって、第１の値は間接ジャンプ命令から生ずるジャンプに対応し、第２の値は割り込みから生ずるジャンプに対応し、第３の値はサーキットジャンプに対応する。ビット数は、分析ツール２４が区別すべき暗示ジャンプ種別の数に依存する。
【００３１】
既に説明したように、暗示的ジャンプメッセージは、第３フィールドＩＣＮＴも有する。フィールドＩＣＮＴは、可変ビット長であり、監視回路１８によるジャンプメッセージの伝送の原因となったプログラムによる最後の命令の実行から生じたジャンプ以後、マイクロプロセッサ１２により実行された命令数に等しい。暗示的ジャンプメッセージは、ジャンプの宛先命令のアドレスを表現するデータに対応した第４のフィールドＡＤＤＲを有する。例えば、ジャンプが割り込みから生じる場合、フィールドＡＤＤＲは、一般的に、マイクロプロセッサ１２により実行されているプログラムには属さず、メモリ１４に保存されているルーチンの命令を宛先とする。
【００３２】
監視回路１８により提供される本発明による暗示的ジャンプメッセージでは、マイクロプロセッサ１２により実行される命令シーケンスの再構築の際に生じ得る曖昧さを取り除き、分析ツール２４は、さまざまな暗示的ジャンプ種別の識別ができる。
【００３３】
本発明は、非特許文献１により提供されている暗示的ジャンプメッセージの可能な限りの少ない修正という利点がある。実際、本発明は、非特許文献１でのメッセージに、１つの可変長フィールドを追加し、他のフィールドはそのままとしている。
【図面の簡単な説明】
【００３４】
【図１】マイクロプロセッサと監視装置を集積化した、従来の集積回路の構造の概略図である。
【図２】監視回路が送信する、従来の暗示的メッセージの例を示す図である。
【図３】本発明により、監視回路が送信する暗示的ジャンプメッセージの例を示す図である。
【符号の説明】
【００３５】
１０  集積回路
１２  マイクロプロセッサ
１４  内部メモリ
１６  入出力ターミナル
１８  監視回路
２２  監視ターミナル
２４  分析ツール
【図１】
2006506720.tif 000003
【図２】
2006506720.tif 000004
【図３】
2006506720.tif 000005
【国際調査報告】
2006506720.tif 000006
2006506720.tif 000007
2006506720.tif 000008
2006506720.tif 000009
2006506720.tif 000010
2006506720.tif 000011