JP2001147831A - デバッグ情報転送インターフェース - Google Patents
デバッグ情報転送インターフェースInfo
- Publication number
- JP2001147831A JP2001147831A JP2000299928A JP2000299928A JP2001147831A JP 2001147831 A JP2001147831 A JP 2001147831A JP 2000299928 A JP2000299928 A JP 2000299928A JP 2000299928 A JP2000299928 A JP 2000299928A JP 2001147831 A JP2001147831 A JP 2001147831A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- debug circuit
- instruction
- microcomputer
- program counter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【課題】 デバッグ情報を転送する改良したインターフ
ェースを提供する。 【解決手段】 プロセッサとデバッグ回路とを有してお
り、デバッグ操作をサポートするためにプロセッサとデ
バッグ回路との間で情報を転送する専用のリンクを有す
るマイクロコンピュータが提供される。プロセッサがプ
ログラムカウンタ情報を供給し、それはデバッグ回路の
メモリマップ型レジスタ内に格納される。プログラムカ
ウンタ情報はプロセッサパイプラインのライトバックス
テージにあるプロセッサプログラムカウンタの値とする
ことが可能である。又、メッセージ情報を包含するトレ
ース情報が該専用のリンクを介して非侵略的な態様で転
送される。このマイクロコンピュータは単一の集積回路
として構成することが可能である。
ェースを提供する。 【解決手段】 プロセッサとデバッグ回路とを有してお
り、デバッグ操作をサポートするためにプロセッサとデ
バッグ回路との間で情報を転送する専用のリンクを有す
るマイクロコンピュータが提供される。プロセッサがプ
ログラムカウンタ情報を供給し、それはデバッグ回路の
メモリマップ型レジスタ内に格納される。プログラムカ
ウンタ情報はプロセッサパイプラインのライトバックス
テージにあるプロセッサプログラムカウンタの値とする
ことが可能である。又、メッセージ情報を包含するトレ
ース情報が該専用のリンクを介して非侵略的な態様で転
送される。このマイクロコンピュータは単一の集積回路
として構成することが可能である。
Description
【0001】
【発明の属する技術分野】本発明は、大略、デバッグ用
プロセッサに関するものであって、更に詳細には、デバ
ッグ情報転送インターフェース技術に関するものであ
る。
プロセッサに関するものであって、更に詳細には、デバ
ッグ情報転送インターフェース技術に関するものであ
る。
【0002】
【従来の技術】システム・オン・チップ(SOC)装置
は公知である。これらの装置は、通常、プロセッサと、
1個又はそれ以上のモジュールとバスインターフェース
と、メモリ装置と、情報を通信するための1個又はそれ
以上のシステムバスとを包含している。マルチモジュー
ル及びそれらの通信はチップ内部において発生するもの
であるから、この情報に対するアクセスは、通常、ソフ
トウエア又はハードウエアにおいて問題が発生する場合
には困難なものである。従って、これらのシステムをデ
バッグ処理することは簡単なことではない。これらのS
OCの発達の結果として、チップ上での性能をモニタし
且つ情報をトレースするために特別のデバッグシステム
が開発されている。このようなシステムは、典型的に、
シリアル通信を介してプロセッサへアクセスするデバッ
グツール及びデバッグソフトウエア等の専用のソフトウ
エア又はハードウエアを包含している。
は公知である。これらの装置は、通常、プロセッサと、
1個又はそれ以上のモジュールとバスインターフェース
と、メモリ装置と、情報を通信するための1個又はそれ
以上のシステムバスとを包含している。マルチモジュー
ル及びそれらの通信はチップ内部において発生するもの
であるから、この情報に対するアクセスは、通常、ソフ
トウエア又はハードウエアにおいて問題が発生する場合
には困難なものである。従って、これらのシステムをデ
バッグ処理することは簡単なことではない。これらのS
OCの発達の結果として、チップ上での性能をモニタし
且つ情報をトレースするために特別のデバッグシステム
が開発されている。このようなシステムは、典型的に、
シリアル通信を介してプロセッサへアクセスするデバッ
グツール及びデバッグソフトウエア等の専用のソフトウ
エア又はハードウエアを包含している。
【0003】然しながら、SOCをデバッグ処理するこ
とは、通常、1つ又はそれ以上のプロセッサレジスタ又
はメモリ位置を侵略的モニタすることが行われる。メモ
リ位置へのアクセスは、時折、破壊的なものであり、且
つデバッグツールから読取られる位置へのデータアクセ
スはプロセッサの性能に対して阻害原因となる場合があ
る。同様に、プロセッサ、メモリ、又はその他のモジュ
ールに対するアクセスは、通常、システムバスを介して
行われ、且つ通常の動作を実施するためのシステムバス
に関しての使用可能な帯域幅を減少させる場合がある。
幾つかのデバッグシステムはプロセッサと同じクロック
速度で動作するものではなく、トレース情報を得ること
等のデバッグ特徴を使用することを可能とするためには
プロセッサの性能を遅滞化させることが必要となる場合
がある。プロセッサを遅滞化させるか又は休止させるこ
とによって、幾つかのタイプのエラーが再現されない場
合があり、従って検知するか又は補正することが不可能
な場合がある。更に、プロセッサの速度が速いために正
確な情報が全く得られない場合があり、又、情報がスキ
ュー即ち歪みが発生するか、又は欠落している場合があ
る。
とは、通常、1つ又はそれ以上のプロセッサレジスタ又
はメモリ位置を侵略的モニタすることが行われる。メモ
リ位置へのアクセスは、時折、破壊的なものであり、且
つデバッグツールから読取られる位置へのデータアクセ
スはプロセッサの性能に対して阻害原因となる場合があ
る。同様に、プロセッサ、メモリ、又はその他のモジュ
ールに対するアクセスは、通常、システムバスを介して
行われ、且つ通常の動作を実施するためのシステムバス
に関しての使用可能な帯域幅を減少させる場合がある。
幾つかのデバッグシステムはプロセッサと同じクロック
速度で動作するものではなく、トレース情報を得ること
等のデバッグ特徴を使用することを可能とするためには
プロセッサの性能を遅滞化させることが必要となる場合
がある。プロセッサを遅滞化させるか又は休止させるこ
とによって、幾つかのタイプのエラーが再現されない場
合があり、従って検知するか又は補正することが不可能
な場合がある。更に、プロセッサの速度が速いために正
確な情報が全く得られない場合があり、又、情報がスキ
ュー即ち歪みが発生するか、又は欠落している場合があ
る。
【0004】幾つかのシステムは時折デバッグユニット
又はモジュールと呼称されるプロセッサをデバッグする
専用の1つ又はそれ以上の機能的ユニットをSOC内に
包含している。然しながら、これらのユニットは、例え
ばトレース情報等の情報を得る場合にプロセッサの動作
に影響を与える。これらの装置は典型的にプロセッサよ
りも遅い速度で機能し、従ってそれらがプロセッサデー
タへアクセスする場合にプロセッサの動作に影響を与え
る。デバッグシステムはターゲットプロセッサ自身に関
するデバッグコードを稼動させることに依存しており、
このコードは、通常、デバッグされるものの中に組込ま
れている。従って、デバッグコードが存在することはメ
モリレイアウト及び命令ストリーム破壊の観点からは侵
略的なものである。
又はモジュールと呼称されるプロセッサをデバッグする
専用の1つ又はそれ以上の機能的ユニットをSOC内に
包含している。然しながら、これらのユニットは、例え
ばトレース情報等の情報を得る場合にプロセッサの動作
に影響を与える。これらの装置は典型的にプロセッサよ
りも遅い速度で機能し、従ってそれらがプロセッサデー
タへアクセスする場合にプロセッサの動作に影響を与え
る。デバッグシステムはターゲットプロセッサ自身に関
するデバッグコードを稼動させることに依存しており、
このコードは、通常、デバッグされるものの中に組込ま
れている。従って、デバッグコードが存在することはメ
モリレイアウト及び命令ストリーム破壊の観点からは侵
略的なものである。
【0005】インサーキットエミュレータ(ICE)と
呼称されるその他のデバッグシステムはオンチップハー
ドウエアとマッチしており且つそれに対して接続され
る。従って、オンチップ接続が該エミュレータ上にマッ
ピングされ且つ該エミュレータ上においてアクセス可能
である。然しながら、エミュレータは幾つかの適用に対
しては法外に高価なものであり、全てのオンチップ速度
又は通信とマッチするものではない。従って、エミュレ
ータシステムは不適切である。更に、これらのシステム
は、通常、システムバスを介して情報を転送し、従って
必然的にプロセッサの性能に影響を与える。
呼称されるその他のデバッグシステムはオンチップハー
ドウエアとマッチしており且つそれに対して接続され
る。従って、オンチップ接続が該エミュレータ上にマッ
ピングされ且つ該エミュレータ上においてアクセス可能
である。然しながら、エミュレータは幾つかの適用に対
しては法外に高価なものであり、全てのオンチップ速度
又は通信とマッチするものではない。従って、エミュレ
ータシステムは不適切である。更に、これらのシステム
は、通常、システムバスを介して情報を転送し、従って
必然的にプロセッサの性能に影響を与える。
【0006】トラブルシューティング用の別の技術はロ
ジックステートアナライザ(LSA)即ち論理状態解析
器を使用するものがあり、それは全てのオフチップ通信
の状態をモニタする集積回路のピンへ接続されている装
置である。LSA装置は、通常、高価な装置であり、チ
ップ内部のピン情報へアクセスすることを可能とするも
のではない。要するに、プロセッサの内部状態をモニタ
し且つ非侵略的な態様で実時間状態及び実時間トレース
等のフィーチャを提供するためには不適切なものである
システムが多く存在している。
ジックステートアナライザ(LSA)即ち論理状態解析
器を使用するものがあり、それは全てのオフチップ通信
の状態をモニタする集積回路のピンへ接続されている装
置である。LSA装置は、通常、高価な装置であり、チ
ップ内部のピン情報へアクセスすることを可能とするも
のではない。要するに、プロセッサの内部状態をモニタ
し且つ非侵略的な態様で実時間状態及び実時間トレース
等のフィーチャを提供するためには不適切なものである
システムが多く存在している。
【0007】
【発明が解決しようとする課題】本発明は、以上の点に
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、改良したデバッグ技術を提供することを目
的とする。
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、改良したデバッグ技術を提供することを目
的とする。
【0008】
【課題を解決するための手段】本発明によれば、プロセ
ッサとデバッグ回路とを動作結合させる専用のリンクが
提供され、該リンクはデバッグ操作をサポートするため
にプロセッサとデバッグ回路との間で情報を転送させ
る。1つの側面においては、該プロセッサはデバッグト
レースツールが非侵略的に、即ちメモリアクセス又はプ
ロセッサの実行パイプラインを乱すことなしに実行され
ることを必要とする情報を提供する。又、1つの側面に
おいては、プロセッサ内部クロック速度とマッチ即ち一
致する速度でプロセッサから情報が送信される。
ッサとデバッグ回路とを動作結合させる専用のリンクが
提供され、該リンクはデバッグ操作をサポートするため
にプロセッサとデバッグ回路との間で情報を転送させ
る。1つの側面においては、該プロセッサはデバッグト
レースツールが非侵略的に、即ちメモリアクセス又はプ
ロセッサの実行パイプラインを乱すことなしに実行され
ることを必要とする情報を提供する。又、1つの側面に
おいては、プロセッサ内部クロック速度とマッチ即ち一
致する速度でプロセッサから情報が送信される。
【0009】1つの側面においては、該プロセッサはこ
のリンクを介してデバッグ回路と通信を行う。更に、該
プロセッサと該デバッグ回路とを結合しているこのリン
クは、情報を通信するのに必要とされる物理的な線の数
を最小とさせる態様で使用されている。さらに、トレー
ス動作を実施するのに必要とされる情報が該リンクを介
して非侵略的な態様で転送される。1つの側面において
は、該プロセッサ及びデバッグ回路は単一の集積回路上
に位置させることが可能である。
のリンクを介してデバッグ回路と通信を行う。更に、該
プロセッサと該デバッグ回路とを結合しているこのリン
クは、情報を通信するのに必要とされる物理的な線の数
を最小とさせる態様で使用されている。さらに、トレー
ス動作を実施するのに必要とされる情報が該リンクを介
して非侵略的な態様で転送される。1つの側面において
は、該プロセッサ及びデバッグ回路は単一の集積回路上
に位置させることが可能である。
【0010】別の側面によれば、該プロセッサはデバッ
グ回路へプログラムカウンタ情報を供給する。別の側面
においては、プログラムカウンタ情報はデバッグ回路の
レジスタ内へ格納される。該レジスタは、オンチップの
システム及び/又は外部システムがプロセッサの性能に
影響を与えることなしにプログラムカウンタ情報へアク
セスすることが可能であるようにメモリマップ型とする
ことが可能である。デバッグ回路においてプログラムカ
ウンタ情報をシャドウイングさせることにより且つデバ
ッグ回路はプロセッサとは独立的に情報を処理すること
が可能であるので、プログラムカウンタ情報が他のシス
テムによってアクセスされる場合にプロセッサの性能が
影響されることはない。プログラムカウンタ情報を提供
することによって、デバッグ回路はデバッグの目的のた
めのトレースメッセージを作成することが可能である。
グ回路へプログラムカウンタ情報を供給する。別の側面
においては、プログラムカウンタ情報はデバッグ回路の
レジスタ内へ格納される。該レジスタは、オンチップの
システム及び/又は外部システムがプロセッサの性能に
影響を与えることなしにプログラムカウンタ情報へアク
セスすることが可能であるようにメモリマップ型とする
ことが可能である。デバッグ回路においてプログラムカ
ウンタ情報をシャドウイングさせることにより且つデバ
ッグ回路はプロセッサとは独立的に情報を処理すること
が可能であるので、プログラムカウンタ情報が他のシス
テムによってアクセスされる場合にプロセッサの性能が
影響されることはない。プログラムカウンタ情報を提供
することによって、デバッグ回路はデバッグの目的のた
めのトレースメッセージを作成することが可能である。
【0011】本発明の1つの側面によれば、プログラム
カウンタのインクリメントは、デバッグ回路がプロセッ
サ内のプログラムカウンタをトラッキングすることを可
能とさせる信号をデバッグ回路へ送る。従って、全プロ
グラムカウンタの送信が必要なものではなく、プロセッ
サとデバッグ回路との間の通信線の数は最小とされてい
る。
カウンタのインクリメントは、デバッグ回路がプロセッ
サ内のプログラムカウンタをトラッキングすることを可
能とさせる信号をデバッグ回路へ送る。従って、全プロ
グラムカウンタの送信が必要なものではなく、プロセッ
サとデバッグ回路との間の通信線の数は最小とされてい
る。
【0012】更に別の側面においては、本システムはプ
ロセッサの1つ又はそれ以上の状態を決定するためのウ
ォッチポイント(watchpoint)回路を提供し
且つプロセッサのトリガに関連する信号を探し出す。プ
ロセッサは、専用のリンクを介してプロセッサ状態の値
をデバッグ回路へ転送するように構成することが可能で
ある。本発明の1つの側面においては、プロセッサの内
部状態がデバッグ回路内のレジスタに対してマッピング
され、一方従来のシステムでは、通常、侵略的なソフト
ウエアがプロセッサの状態を決定することが必要であ
る。
ロセッサの1つ又はそれ以上の状態を決定するためのウ
ォッチポイント(watchpoint)回路を提供し
且つプロセッサのトリガに関連する信号を探し出す。プ
ロセッサは、専用のリンクを介してプロセッサ状態の値
をデバッグ回路へ転送するように構成することが可能で
ある。本発明の1つの側面においては、プロセッサの内
部状態がデバッグ回路内のレジスタに対してマッピング
され、一方従来のシステムでは、通常、侵略的なソフト
ウエアがプロセッサの状態を決定することが必要であ
る。
【0013】本発明の1つの側面によれば、ウォッチポ
イント即ち観察点の位置はプロセッサとデバッグ回路と
に位置されることでバランスされており、そのインター
フェースは、該情報へアクセスする線数を最小とするよ
うに構成されている。1つの側面においては、プロセッ
サにおけるトリガに関連しているウォッチポイント回路
がプロセッサ内に位置されている。例えば、オペランド
アドレス、命令値、命令アドレスに関連しているウォッ
チポイント回路がプロセッサ内に位置されている。
イント即ち観察点の位置はプロセッサとデバッグ回路と
に位置されることでバランスされており、そのインター
フェースは、該情報へアクセスする線数を最小とするよ
うに構成されている。1つの側面においては、プロセッ
サにおけるトリガに関連しているウォッチポイント回路
がプロセッサ内に位置されている。例えば、オペランド
アドレス、命令値、命令アドレスに関連しているウォッ
チポイント回路がプロセッサ内に位置されている。
【0014】本発明の別の側面においては、プロセッサ
がデバッグ回路へ処理識別情報を供給し、そのことはデ
バッグ回路において処理識別子値に基づいてフィルタ処
理を最適化させることが可能である。1つの側面におい
ては、該処理識別情報は通信線の数を最小とさせるため
にトレースデータ専用の線を介して転送される。
がデバッグ回路へ処理識別情報を供給し、そのことはデ
バッグ回路において処理識別子値に基づいてフィルタ処
理を最適化させることが可能である。1つの側面におい
ては、該処理識別情報は通信線の数を最小とさせるため
にトレースデータ専用の線を介して転送される。
【0015】更に、デバッグ回路はプロセッサをストー
ルさせるためのストール制御信号を供給することが可能
である。好適なことであるが、トレース情報は、デバッ
グ回路が付加的なトレース情報を受付けることが不可能
である場合の状態において保存される。更に、プロセッ
サは、プロセッサがストール即ち停止したことの表示を
提供することが可能である。更に、デバッグ回路はデバ
ッグ回路において例外が発生したことを表す例外表示信
号を供給することが可能である。
ルさせるためのストール制御信号を供給することが可能
である。好適なことであるが、トレース情報は、デバッ
グ回路が付加的なトレース情報を受付けることが不可能
である場合の状態において保存される。更に、プロセッ
サは、プロセッサがストール即ち停止したことの表示を
提供することが可能である。更に、デバッグ回路はデバ
ッグ回路において例外が発生したことを表す例外表示信
号を供給することが可能である。
【0016】これらの利点及びその他の利点は、単一の
集積回路上に実現したマイクロコンピュータによっても
たらされ、該マイクロコンピュータは、プロセッサとデ
バッグ回路と、該プロセッサ及びデバッグ回路を結合す
るシステムバスと、該プロセッサ及びデバッグ回路を結
合させる中心リンクとを有しており、該プロセッサは、
各々がオペランドアドレスと、命令アドレスと、性能ス
テータスのうちの少なくとも1つを包含するプロセサに
おける動作状態を各々が表す複数個の値を通信リンクを
介してデバッグ回路へ送信する構成とされている。
集積回路上に実現したマイクロコンピュータによっても
たらされ、該マイクロコンピュータは、プロセッサとデ
バッグ回路と、該プロセッサ及びデバッグ回路を結合す
るシステムバスと、該プロセッサ及びデバッグ回路を結
合させる中心リンクとを有しており、該プロセッサは、
各々がオペランドアドレスと、命令アドレスと、性能ス
テータスのうちの少なくとも1つを包含するプロセサに
おける動作状態を各々が表す複数個の値を通信リンクを
介してデバッグ回路へ送信する構成とされている。
【0017】1実施形態においては、複数個のビット値
のうちの少なくとも1つが命令値を包含するプロセッサ
における動作状態を表す。別の実施例においては、該プ
ロセッサは、更に、プロセッサのプログラムカウンタを
表すプログラムカウンタ値をデバッグ回路へ送信する構
成とされている。別の実施例においては、該プログラム
カウンタはプロセッサのパイプラインのライトバックス
テージにおけるプログラムカウンタの値に対応する値を
有している。
のうちの少なくとも1つが命令値を包含するプロセッサ
における動作状態を表す。別の実施例においては、該プ
ロセッサは、更に、プロセッサのプログラムカウンタを
表すプログラムカウンタ値をデバッグ回路へ送信する構
成とされている。別の実施例においては、該プログラム
カウンタはプロセッサのパイプラインのライトバックス
テージにおけるプログラムカウンタの値に対応する値を
有している。
【0018】プロセッサは、更に、ライトバックステー
ジにあるコンピュータ命令が有効なコンピュータ命令で
あることを表すステータスをデバッグ回路へ送信する構
成とすることが可能である。更に、プロセッサは、ライ
トバックステージにあるコンピュータ命令が分岐命令後
の最初の命令であることを表すステータスをデバッグ回
路へ送信する構成とさせることが可能である。プロセッ
サは、更に、実行した分岐命令のタイプを表すステータ
スをデバッグ回路へ送信する構成とすることが可能であ
る。
ジにあるコンピュータ命令が有効なコンピュータ命令で
あることを表すステータスをデバッグ回路へ送信する構
成とすることが可能である。更に、プロセッサは、ライ
トバックステージにあるコンピュータ命令が分岐命令後
の最初の命令であることを表すステータスをデバッグ回
路へ送信する構成とさせることが可能である。プロセッ
サは、更に、実行した分岐命令のタイプを表すステータ
スをデバッグ回路へ送信する構成とすることが可能であ
る。
【0019】1実施例においては、デバッグ回路は、実
行した分岐命令のタイプを表すトレースパケットを送信
する構成とされている。別の実施例によれば、該複数個
のビット値はプロセッサの実行前状態を表している。別
の実施例においては、プロセッサは、例外を検知した場
合に、該複数個のビット値の送信を抑止する構成とされ
ている。
行した分岐命令のタイプを表すトレースパケットを送信
する構成とされている。別の実施例によれば、該複数個
のビット値はプロセッサの実行前状態を表している。別
の実施例においては、プロセッサは、例外を検知した場
合に、該複数個のビット値の送信を抑止する構成とされ
ている。
【0020】又、1実施例においては、プロセッサは、
更に、実行した命令のアドレス情報をデバッグ回路へ送
信する構成とされている。プロセッサは、更に、実行し
た命令のデータ情報をデバッグ回路へ送信する構成とす
ることが可能である。又、プロセッサは、更に、実行し
た命令の処理識別子情報をデバッグ回路へ送信する構成
とさせることが可能である。又、デバッグ回路はプロセ
ッサの動作を抑止させる信号、命令のフェッチを再開さ
せる信号、プロセッサをリセットさせる信号、デバッグ
回路において例外が発生したことを表す信号のうちの少
なくとも1つを包含するプロセッサ制御信号を送信する
ことが可能である。
更に、実行した命令のアドレス情報をデバッグ回路へ送
信する構成とされている。プロセッサは、更に、実行し
た命令のデータ情報をデバッグ回路へ送信する構成とす
ることが可能である。又、プロセッサは、更に、実行し
た命令の処理識別子情報をデバッグ回路へ送信する構成
とさせることが可能である。又、デバッグ回路はプロセ
ッサの動作を抑止させる信号、命令のフェッチを再開さ
せる信号、プロセッサをリセットさせる信号、デバッグ
回路において例外が発生したことを表す信号のうちの少
なくとも1つを包含するプロセッサ制御信号を送信する
ことが可能である。
【0021】本発明の1実施例によれば、該複数個のビ
ット値のうちの少なくとも1つが、マッチ値と実行した
命令の一部との間のマッチ状態を表す。別の実施例によ
れば、該複数個のビット値のうちの少なくとも1つが、
マッチ値と実行した命令に応答してプロセッサによって
アクセスされるメモリアドレスとの間のマッチ状態を表
す。プロセッサは、更に、プロセッサのプログラムカウ
ンタのインクリメントを表す値をデバッグ回路へ送信す
る構成とすることが可能である。1実施例においては、
プロセッサは、更に、処理識別子の値における変更を表
す値をデバッグ回路へ送信する構成とすることが可能で
ある。
ット値のうちの少なくとも1つが、マッチ値と実行した
命令の一部との間のマッチ状態を表す。別の実施例によ
れば、該複数個のビット値のうちの少なくとも1つが、
マッチ値と実行した命令に応答してプロセッサによって
アクセスされるメモリアドレスとの間のマッチ状態を表
す。プロセッサは、更に、プロセッサのプログラムカウ
ンタのインクリメントを表す値をデバッグ回路へ送信す
る構成とすることが可能である。1実施例においては、
プロセッサは、更に、処理識別子の値における変更を表
す値をデバッグ回路へ送信する構成とすることが可能で
ある。
【0022】本発明の別の側面によれば、単一の集積回
路上で実現されたマイクロコンピュータが提供され、該
マイクロコンピュータは、プロセッサと、デバッグ回路
と、該プロセッサ及びデバッグ回路を結合するシステム
バスと、該プロセッサ及びデバッグ回路を結合する通信
リンクとを有している。プロセッサは該通信リンクを介
してプロセッサのプログラムカウンタを表すプログラム
カウンタ値をデバッグ回路へ送信する構成とされてい
る。プログラムカウンタはプロセッサのパイプラインの
ライトバックステージにおけるプログラムカウンタの値
に対応する値を有することが可能である。又、プロセッ
サは、更に、ライトバックステージにあるコンピュータ
命令が有効なコンピュータ命令であることを表すステー
タスをデバッグ回路に送信する構成とするが可能であ
る。別の実施例によれば、プロセッサは、更に、ライト
バックステージにあるコンピュータ命令が分岐命令後の
最初の命令であることを表すステータスをデバッグ回路
へ送信する構成とされる。
路上で実現されたマイクロコンピュータが提供され、該
マイクロコンピュータは、プロセッサと、デバッグ回路
と、該プロセッサ及びデバッグ回路を結合するシステム
バスと、該プロセッサ及びデバッグ回路を結合する通信
リンクとを有している。プロセッサは該通信リンクを介
してプロセッサのプログラムカウンタを表すプログラム
カウンタ値をデバッグ回路へ送信する構成とされてい
る。プログラムカウンタはプロセッサのパイプラインの
ライトバックステージにおけるプログラムカウンタの値
に対応する値を有することが可能である。又、プロセッ
サは、更に、ライトバックステージにあるコンピュータ
命令が有効なコンピュータ命令であることを表すステー
タスをデバッグ回路に送信する構成とするが可能であ
る。別の実施例によれば、プロセッサは、更に、ライト
バックステージにあるコンピュータ命令が分岐命令後の
最初の命令であることを表すステータスをデバッグ回路
へ送信する構成とされる。
【0023】別の実施例によれば、プロセッサは、更
に、プロセッサのプログラムカウンタのインクリメント
を表す値をデバッグ回路へ送信する構成とされる。別の
実施例によれば、プロセッサは、更に、処理識別子値を
デバッグ回路へ送信する構成とされる。別の実施例によ
れば、プロセッサは、更に、現在の処理識別子値が前に
実行した命令の処理識別子値と異なるものであることを
表す信号をデバッグ回路へ送信する構成とされる。別の
実施例によれば、デバッグ回路は、メモリマップ型レジ
スタ内にプロセッサのプログラムカウンタを格納する構
成とされる。
に、プロセッサのプログラムカウンタのインクリメント
を表す値をデバッグ回路へ送信する構成とされる。別の
実施例によれば、プロセッサは、更に、処理識別子値を
デバッグ回路へ送信する構成とされる。別の実施例によ
れば、プロセッサは、更に、現在の処理識別子値が前に
実行した命令の処理識別子値と異なるものであることを
表す信号をデバッグ回路へ送信する構成とされる。別の
実施例によれば、デバッグ回路は、メモリマップ型レジ
スタ内にプロセッサのプログラムカウンタを格納する構
成とされる。
【0024】
【発明の実施の形態】本発明の1実施例を特に図1を参
照して説明する。図1は集積回路装置即ち上述したシス
テム・オン・チップ(SOC)101のブロック図を示
している。この回路は、システムバス105によって相
互接続されているプロセッサ102及びデバッグ回路又
はモジュール103を有することが可能である。システ
ムバス105は、例えば、装置101のモジュール間に
おいて動作情報を通信するために使用される従来のプロ
セッサバス、パケットスイッチ、又はその他の通信媒体
とすることが可能である。例えば、読取、書込、スワッ
プ等の動作は、モジュール間において実施される典型的
な動作である。
照して説明する。図1は集積回路装置即ち上述したシス
テム・オン・チップ(SOC)101のブロック図を示
している。この回路は、システムバス105によって相
互接続されているプロセッサ102及びデバッグ回路又
はモジュール103を有することが可能である。システ
ムバス105は、例えば、装置101のモジュール間に
おいて動作情報を通信するために使用される従来のプロ
セッサバス、パケットスイッチ、又はその他の通信媒体
とすることが可能である。例えば、読取、書込、スワッ
プ等の動作は、モジュール間において実施される典型的
な動作である。
【0025】プロセッサ102は1つ又はそれ以上のプ
ロセッサ命令を読取り且つ実行し且つデータに関して演
算を行うべく適合されている装置である。プロセッサ1
02は多数のデータ供給源(不図示)からデータを読取
り、且つ1つ又はそれ以上のデータ格納部(不図示)ヘ
データを書込むことが可能である。これらのデータ供給
源及び格納部は、ランダムアクセスメモリ(RAM)、
ハードディスク制御器を介してアクセス可能なコンピュ
ータハードディスク、1つ又はそれ以上の通信リンクを
介してアクセス可能な格納部、又はデータを供給するか
又は格納する構成とされた任意の装置とすることが可能
である。これらの格納装置は、システムバス105を介
して直接的にアクセスすることが可能であるか、又は外
部通信リンクを介してアクセスすることが可能である。
プロセッサ102は例えば汎用コンピュータシステムに
おいて稼動するプロセッサ等の汎用プロセッサ、又は特
定目的のために適合されている専用のプロセッサとする
ことが可能である。理解すべきことであるが、任意のタ
イプのプロセッサ及び任意の数のプロセッサを使用する
ことが可能である。
ロセッサ命令を読取り且つ実行し且つデータに関して演
算を行うべく適合されている装置である。プロセッサ1
02は多数のデータ供給源(不図示)からデータを読取
り、且つ1つ又はそれ以上のデータ格納部(不図示)ヘ
データを書込むことが可能である。これらのデータ供給
源及び格納部は、ランダムアクセスメモリ(RAM)、
ハードディスク制御器を介してアクセス可能なコンピュ
ータハードディスク、1つ又はそれ以上の通信リンクを
介してアクセス可能な格納部、又はデータを供給するか
又は格納する構成とされた任意の装置とすることが可能
である。これらの格納装置は、システムバス105を介
して直接的にアクセスすることが可能であるか、又は外
部通信リンクを介してアクセスすることが可能である。
プロセッサ102は例えば汎用コンピュータシステムに
おいて稼動するプロセッサ等の汎用プロセッサ、又は特
定目的のために適合されている専用のプロセッサとする
ことが可能である。理解すべきことであるが、任意のタ
イプのプロセッサ及び任意の数のプロセッサを使用する
ことが可能である。
【0026】通信リンク104はプロセッサ102をデ
バッグ回路103へ結合させ、且つシステムバス105
とは別である。通信リンク104は、これらに制限され
るべきものではないが、ワイヤ、光学的リンク等を包含
するプロセッサ102へ信号を転送することが可能な任
意の媒体とすることが可能である。リンク104は、プ
ロセッサ102からデバッグ回路103へデバッグ情報
を転送させ、且つデバッグ回路103からプロセッサ1
02へ状態及びプロセッサ制御情報を転送すべく構成さ
れている。又、1つ又はそれ以上の専用リンク104を
介してデバッグ回路103へ接続されている1つを超え
る数のプロセッサ102を設けることが可能である。
バッグ回路103へ結合させ、且つシステムバス105
とは別である。通信リンク104は、これらに制限され
るべきものではないが、ワイヤ、光学的リンク等を包含
するプロセッサ102へ信号を転送することが可能な任
意の媒体とすることが可能である。リンク104は、プ
ロセッサ102からデバッグ回路103へデバッグ情報
を転送させ、且つデバッグ回路103からプロセッサ1
02へ状態及びプロセッサ制御情報を転送すべく構成さ
れている。又、1つ又はそれ以上の専用リンク104を
介してデバッグ回路103へ接続されている1つを超え
る数のプロセッサ102を設けることが可能である。
【0027】本発明の1つの側面においては、プロセッ
サ102がリンク104を介してデバッグ回路103へ
プログラムカウンタ情報を供給し、且つこの情報をプロ
セッサ102のパイプライン性能、メモリアクセス、又
はシステムバス105の性能に影響を与えることのない
ような態様でこの情報を供給する。プログラムカウンタ
は実行中の命令を一次的に識別するために使用されるプ
ロセッサ102によって維持される識別子である。プロ
セッサ102は、通常、命令をローディングし且つ実行
する場合にプログラムカウンタを使用し、当該技術分野
において公知である。
サ102がリンク104を介してデバッグ回路103へ
プログラムカウンタ情報を供給し、且つこの情報をプロ
セッサ102のパイプライン性能、メモリアクセス、又
はシステムバス105の性能に影響を与えることのない
ような態様でこの情報を供給する。プログラムカウンタ
は実行中の命令を一次的に識別するために使用されるプ
ロセッサ102によって維持される識別子である。プロ
セッサ102は、通常、命令をローディングし且つ実行
する場合にプログラムカウンタを使用し、当該技術分野
において公知である。
【0028】プログラムカウンタ情報は、トレースメッ
セージを形成するためにデバッグ回路103によって使
用することが可能であり、又はその他のデバッグ目的の
ために使用することが可能である。デバッグ動作をサポ
ートするために、例えば処理識別子情報、プロセッサの
動作状態を表すビット値等のその他のタイプの情報を供
給することが可能である。
セージを形成するためにデバッグ回路103によって使
用することが可能であり、又はその他のデバッグ目的の
ために使用することが可能である。デバッグ動作をサポ
ートするために、例えば処理識別子情報、プロセッサの
動作状態を表すビット値等のその他のタイプの情報を供
給することが可能である。
【0029】デバッグ回路103は外部システム106
が集積回路101内のデバッグ情報へアクセスすること
を可能とするためにデバッグ回路103は外部システム
106と通信することが可能である。例えば、デバッグ
回路103は、例えば、シリアルポート、JTAG(I
EEE1149.1a−1993によって定義されてい
る)、又はその他のインターフェースを介して任意の態
様で外部システム106と通信を行うことが可能であ
る。デバッグ回路103又はモジュールは、オンチップ
デバッグ機能を実行する回路又はプロセッサ実行用コー
ドとすることが可能である。通常、外部システム106
は、例えばマイクロソフトウインドウズオペレーティン
グシステムを稼動しているインテルプロセッサをベース
としたパソコン、又はユニックスをベースとしたシステ
ム等の汎用コンピュータである。尚、インテルはインテ
ルコーポレイションの登録商標であり、マイクロソフト
及びウインドウズはマイクロソフトコーポレイションの
登録商標である。理解すべきことであるが、任意のコン
ピュータ又はオペレーティングシステムを使用すること
が可能である。
が集積回路101内のデバッグ情報へアクセスすること
を可能とするためにデバッグ回路103は外部システム
106と通信することが可能である。例えば、デバッグ
回路103は、例えば、シリアルポート、JTAG(I
EEE1149.1a−1993によって定義されてい
る)、又はその他のインターフェースを介して任意の態
様で外部システム106と通信を行うことが可能であ
る。デバッグ回路103又はモジュールは、オンチップ
デバッグ機能を実行する回路又はプロセッサ実行用コー
ドとすることが可能である。通常、外部システム106
は、例えばマイクロソフトウインドウズオペレーティン
グシステムを稼動しているインテルプロセッサをベース
としたパソコン、又はユニックスをベースとしたシステ
ム等の汎用コンピュータである。尚、インテルはインテ
ルコーポレイションの登録商標であり、マイクロソフト
及びウインドウズはマイクロソフトコーポレイションの
登録商標である。理解すべきことであるが、任意のコン
ピュータ又はオペレーティングシステムを使用すること
が可能である。
【0030】外部システム106は、通常、「ソフトウ
エアバックプレーン」として当該技術分野において言及
されるソフトウエアプログラムを実行し、その場合に例
えば集積回路101等のデバッグされるべきターゲット
システムへアクセスするために、デバッグツールはこの
バックプレーンに対するソフトウエアインターフェース
に関して動作する。外部システム106は、高性能の態
様で集積回路101へアクセスするためにメモリ内のプ
ロセッサを包含する外部ハードウエアを有することが可
能である。ユーザは、通常、プロセッサ102上で実行
するソフトウエアプログラムをデバッグするために外部
システム106とインターフェースする。一方、外部シ
ステム106はハードウエアのみのシステム(例えば、
ロジックアナライザ)であるか又はソフトウエアとハー
ドウエアとの組合わせとすることが可能である。理解す
べきことであるが、外部システム106は回路101の
情報をアクセスする任意の装置とすることが可能であ
る。
エアバックプレーン」として当該技術分野において言及
されるソフトウエアプログラムを実行し、その場合に例
えば集積回路101等のデバッグされるべきターゲット
システムへアクセスするために、デバッグツールはこの
バックプレーンに対するソフトウエアインターフェース
に関して動作する。外部システム106は、高性能の態
様で集積回路101へアクセスするためにメモリ内のプ
ロセッサを包含する外部ハードウエアを有することが可
能である。ユーザは、通常、プロセッサ102上で実行
するソフトウエアプログラムをデバッグするために外部
システム106とインターフェースする。一方、外部シ
ステム106はハードウエアのみのシステム(例えば、
ロジックアナライザ)であるか又はソフトウエアとハー
ドウエアとの組合わせとすることが可能である。理解す
べきことであるが、外部システム106は回路101の
情報をアクセスする任意の装置とすることが可能であ
る。
【0031】図2は本発明の1実施例に基づく通信リン
クを示している。通信リンク215は動作上プロセッサ
102とデバッグ回路103とを結合させる。リンク2
15はプロセッサ102と回路103とを直接的に結合
させることが可能であり、又は1つ又はそれ以上の中間
の回路を介して経路付けさせることが可能である。通信
リンク215はデバッグ回路103に対して1つ又はそ
れ以上のプロセッサを接続させるか、又はデバッグ回路
103とその他のプロセッサとの間のマルチリンクを実
現することが可能である。
クを示している。通信リンク215は動作上プロセッサ
102とデバッグ回路103とを結合させる。リンク2
15はプロセッサ102と回路103とを直接的に結合
させることが可能であり、又は1つ又はそれ以上の中間
の回路を介して経路付けさせることが可能である。通信
リンク215はデバッグ回路103に対して1つ又はそ
れ以上のプロセッサを接続させるか、又はデバッグ回路
103とその他のプロセッサとの間のマルチリンクを実
現することが可能である。
【0032】プロセッサ102はデバッグ回路103へ
プログラムカウンタ201を送信する構成とすることが
可能であり、その場合にデバッグ回路103は1つ又は
それ以上のレジスタ213内にプログラムカウンタを格
納する。プログラムカウンタ201は、例えば、プロセ
ッサ102におけるプログラムカウンタの寸法に対応す
る32ビット値とすることが可能である。異なるデバッ
グ特徴をサポートするために、プロセッサ102の動作
期間中にプログラムカウンタをトラッキングするために
プロセッサ102がデバッグ回路103へ充分な情報を
供給することが有益的な場合がある。
プログラムカウンタ201を送信する構成とすることが
可能であり、その場合にデバッグ回路103は1つ又は
それ以上のレジスタ213内にプログラムカウンタを格
納する。プログラムカウンタ201は、例えば、プロセ
ッサ102におけるプログラムカウンタの寸法に対応す
る32ビット値とすることが可能である。異なるデバッ
グ特徴をサポートするために、プロセッサ102の動作
期間中にプログラムカウンタをトラッキングするために
プロセッサ102がデバッグ回路103へ充分な情報を
供給することが有益的な場合がある。
【0033】プロセッサ102は、又、プログラムカウ
ンタ201の値が有効なものであることを表すPC有効
信号202を供給する。1実施例によれば、PC有効信
号202は、プログラムカウンタがプロセッサ102の
パイプラインのライトバックステージにおける有効な命
令であることを表す。PC有効信号202は単一ビット
値とすることが可能である。プロセッサ102は、又、
PC分岐信号203を送信し、それはライトバックステ
ージにあるプログラムカウンタが分岐後の最初のプログ
ラムカウンタであることを表す。PC分岐信号203は
単一ビット値とすることが可能である。プログラムカウ
ンタをトラッキングすることは、明確に分岐を取ること
の決定が使用可能である場合にプロセッサパイプライン
の点において新たなプログラムカウンタ値が入手可能で
あることを確保し、従って、プロセッサがデバッグ回路
に対してPC分岐信号203を示すと、プロセッサはプ
ロセッサ102デバッグ回路103通信点における現在
のパイプラインプログラムカウンタではなく、該プログ
ラムカウンタを正確に検知する。
ンタ201の値が有効なものであることを表すPC有効
信号202を供給する。1実施例によれば、PC有効信
号202は、プログラムカウンタがプロセッサ102の
パイプラインのライトバックステージにおける有効な命
令であることを表す。PC有効信号202は単一ビット
値とすることが可能である。プロセッサ102は、又、
PC分岐信号203を送信し、それはライトバックステ
ージにあるプログラムカウンタが分岐後の最初のプログ
ラムカウンタであることを表す。PC分岐信号203は
単一ビット値とすることが可能である。プログラムカウ
ンタをトラッキングすることは、明確に分岐を取ること
の決定が使用可能である場合にプロセッサパイプライン
の点において新たなプログラムカウンタ値が入手可能で
あることを確保し、従って、プロセッサがデバッグ回路
に対してPC分岐信号203を示すと、プロセッサはプ
ロセッサ102デバッグ回路103通信点における現在
のパイプラインプログラムカウンタではなく、該プログ
ラムカウンタを正確に検知する。
【0034】分岐タイプ204は、最近実行された分岐
のタイプを表す。例えば、分岐タイプ信号204は、分
岐後の第一命令がパイプラインのライトバックステージ
に到達する場合にアサート即ち活性化される。分岐タイ
プは、条件付き分岐、無条件つき分岐、例外からの復帰
(RTE)分岐、及び当該技術分野において公知の如
く、トラップローンチ(trap launch)分
岐、インタラプトローンチ(launch)分岐等を包
含するその他のタイプの分岐を包含することが可能であ
る。分岐タイプ204は、ソフトウエアにおけるエラー
の位置を決定する場合、又はカバレッジ解析ツール、コ
ールグラフ(call graph)プロファイル、ト
レース解析ツール、又はコンパイラフィードバックツー
ルに対する分岐情報を供給する場合に有用である。例え
ば、第一命令がライトバックステージに到達する場合の
プログラムカウンタの値及び分岐タイプ信号を供給する
ことによって、ツール等の外部システム106は分岐ト
レースを実行するのに必要な情報を有している。ソフト
ウエアプログラムの性能を評価するために、どのタイプ
の分岐が発生したか及びそれらの周波数は何かを知るこ
とが有用である場合もある。デバッグ回路は、分岐タイ
プ204に基づいて異なるデバッグ情報を外部システム
106へ供給することも可能である。
のタイプを表す。例えば、分岐タイプ信号204は、分
岐後の第一命令がパイプラインのライトバックステージ
に到達する場合にアサート即ち活性化される。分岐タイ
プは、条件付き分岐、無条件つき分岐、例外からの復帰
(RTE)分岐、及び当該技術分野において公知の如
く、トラップローンチ(trap launch)分
岐、インタラプトローンチ(launch)分岐等を包
含するその他のタイプの分岐を包含することが可能であ
る。分岐タイプ204は、ソフトウエアにおけるエラー
の位置を決定する場合、又はカバレッジ解析ツール、コ
ールグラフ(call graph)プロファイル、ト
レース解析ツール、又はコンパイラフィードバックツー
ルに対する分岐情報を供給する場合に有用である。例え
ば、第一命令がライトバックステージに到達する場合の
プログラムカウンタの値及び分岐タイプ信号を供給する
ことによって、ツール等の外部システム106は分岐ト
レースを実行するのに必要な情報を有している。ソフト
ウエアプログラムの性能を評価するために、どのタイプ
の分岐が発生したか及びそれらの周波数は何かを知るこ
とが有用である場合もある。デバッグ回路は、分岐タイ
プ204に基づいて異なるデバッグ情報を外部システム
106へ供給することも可能である。
【0035】例えば、分岐タイプ204は2ビット値と
することが可能であり、「00」の値は条件付き分岐に
対応しており、「01」は無条件分岐に対応しており、
「10」はRT分岐に対応しており、「11」はその他
の全ての分岐に対応している。理解すべきことである
が、その他のデータ寸法及びコードを使用することが可
能である。
することが可能であり、「00」の値は条件付き分岐に
対応しており、「01」は無条件分岐に対応しており、
「10」はRT分岐に対応しており、「11」はその他
の全ての分岐に対応している。理解すべきことである
が、その他のデータ寸法及びコードを使用することが可
能である。
【0036】データ信号205は多数の異なるタイプの
データをデバッグ回路103へ運ぶことが可能である。
例えば、「格納」命令と関連するデータはデバッグ回路
へ転送させることが可能であり、又新ASID信号20
6が新しいASIDがデータバス上に存在していること
を表す場合には、新ASID又は処理識別子値を送信す
ることが可能である。アドレススペース識別子(ASI
D)は、通常、複数個の仮想メモリモードでマルチタス
ク動作期間中にメモリ保護を実施するために使用され
る。従って、各処理はそれ自身の仮想メモリ(及び一時
的なASID値)を有しており、且つ、当該技術分野に
おいて公知の如く、別の処理又はオペレーティングシス
テムのカーネルの資源へアクセスすることから阻止され
る。
データをデバッグ回路103へ運ぶことが可能である。
例えば、「格納」命令と関連するデータはデバッグ回路
へ転送させることが可能であり、又新ASID信号20
6が新しいASIDがデータバス上に存在していること
を表す場合には、新ASID又は処理識別子値を送信す
ることが可能である。アドレススペース識別子(ASI
D)は、通常、複数個の仮想メモリモードでマルチタス
ク動作期間中にメモリ保護を実施するために使用され
る。従って、各処理はそれ自身の仮想メモリ(及び一時
的なASID値)を有しており、且つ、当該技術分野に
おいて公知の如く、別の処理又はオペレーティングシス
テムのカーネルの資源へアクセスすることから阻止され
る。
【0037】異なるデータタイプに対してデータバスを
使用することは通信リンク215を実現するために必要
なワイヤの数を最小とさせる。データ信号は又オペラン
ドアドレス情報及びオペランドデータを運ぶことも可能
である。例えば、データ信号205は64ビット値とす
ることが可能であり、32ビットはオペランドアドレス
情報用に使用され且つ32ビットはオペランドデータ用
に使用され又は単に64ビットのデータが使用される。
使用することは通信リンク215を実現するために必要
なワイヤの数を最小とさせる。データ信号は又オペラン
ドアドレス情報及びオペランドデータを運ぶことも可能
である。例えば、データ信号205は64ビット値とす
ることが可能であり、32ビットはオペランドアドレス
情報用に使用され且つ32ビットはオペランドデータ用
に使用され又は単に64ビットのデータが使用される。
【0038】サイズ(Size)207は、デバッグ回
路103へエクスポートされたデータの寸法を表す信号
である。データ寸法は、例えば、3ビット値とすること
が可能である。状態値208はプロセッサ102は1つ
又はそれ以上の状態を表す1つ又はそれ以上の信号を包
含することが可能である。例えば、ウォッチポイントチ
ャンネルはプロセッサ102内において画定することが
可能であり、それはレジスタを例えばコンピュータのメ
モリにおいてアクセスされたデータアドレス、システム
バス105上で見つかったモジュールのアドレス、プロ
セッサによって実行されるオペランドのアドレス、又は
1つ又はそれ以上の所定値によってマッチさせることの
可能なプロセッサにおける任意のその他の情報と比較す
る。ウォッチポイントチャンネルはマッチングメカニズ
ムを有しており、プロセッサ102内のデータへ書込ま
れたデータ値は命令アドレス、命令値、オペランドアド
レス、性能カウンタ、イベントカウンタ等を包含するプ
ロセッサ102内のデータ値と比較される。
路103へエクスポートされたデータの寸法を表す信号
である。データ寸法は、例えば、3ビット値とすること
が可能である。状態値208はプロセッサ102は1つ
又はそれ以上の状態を表す1つ又はそれ以上の信号を包
含することが可能である。例えば、ウォッチポイントチ
ャンネルはプロセッサ102内において画定することが
可能であり、それはレジスタを例えばコンピュータのメ
モリにおいてアクセスされたデータアドレス、システム
バス105上で見つかったモジュールのアドレス、プロ
セッサによって実行されるオペランドのアドレス、又は
1つ又はそれ以上の所定値によってマッチさせることの
可能なプロセッサにおける任意のその他の情報と比較す
る。ウォッチポイントチャンネルはマッチングメカニズ
ムを有しており、プロセッサ102内のデータへ書込ま
れたデータ値は命令アドレス、命令値、オペランドアド
レス、性能カウンタ、イベントカウンタ等を包含するプ
ロセッサ102内のデータ値と比較される。
【0039】マッチした場合には、ウォッチポイントチ
ャンネルと関連する制御器が、通信リンク215を介し
てデバッグ回路103へ信号を供給することが可能であ
る。この信号は状態値208で通信されたプロセッサ1
02内の特定のウォッチポイントチャンネル状態を表す
状態ビットの形態を取ることが可能である。又、ウォッ
チポイントチャンネルに対応する状態ビット値はデバッ
グ回路103によって異なるデバッグ操作を行うために
一体的に結合させることが可能であり、且つこれらの状
態ビット値も通信させることが可能である。
ャンネルと関連する制御器が、通信リンク215を介し
てデバッグ回路103へ信号を供給することが可能であ
る。この信号は状態値208で通信されたプロセッサ1
02内の特定のウォッチポイントチャンネル状態を表す
状態ビットの形態を取ることが可能である。又、ウォッ
チポイントチャンネルに対応する状態ビット値はデバッ
グ回路103によって異なるデバッグ操作を行うために
一体的に結合させることが可能であり、且つこれらの状
態ビット値も通信させることが可能である。
【0040】同様の態様で、デバッグ回路103はデバ
ッグ操作において使用するために多数の状態値210を
プロセッサへ供給することが可能である。特に、デバッ
グ回路103はプロセッサ102において特定のイベン
トをトリガするための前提条件として動作する多数のビ
ット値を供給することが可能である。これらのイベント
はデバッグ回路103によって受取られるべきトレース
情報又はその他の状態情報を発生することが可能であ
る。
ッグ操作において使用するために多数の状態値210を
プロセッサへ供給することが可能である。特に、デバッ
グ回路103はプロセッサ102において特定のイベン
トをトリガするための前提条件として動作する多数のビ
ット値を供給することが可能である。これらのイベント
はデバッグ回路103によって受取られるべきトレース
情報又はその他の状態情報を発生することが可能であ
る。
【0041】更に、ウォッチポイントチャンネルはプロ
セッサ102をしてトレースパケットを発生させること
が可能であり、且つ、幾つかの場合においては、例外を
発生させることが可能である。ウォッチポイントチャン
ネル自身も、それらが状態情報を発生するか否かを決定
する前提条件、マッチが特定のウォッチポイントに対し
て発生するか否かを表すマッチ条件、及びウォッチポイ
ントチャンネルマッチに基づいてアクションが発生する
か否か及びどのタイプのアクションが発生するかを決定
するアクション条件を有することが可能である。
セッサ102をしてトレースパケットを発生させること
が可能であり、且つ、幾つかの場合においては、例外を
発生させることが可能である。ウォッチポイントチャン
ネル自身も、それらが状態情報を発生するか否かを決定
する前提条件、マッチが特定のウォッチポイントに対し
て発生するか否かを表すマッチ条件、及びウォッチポイ
ントチャンネルマッチに基づいてアクションが発生する
か否か及びどのタイプのアクションが発生するかを決定
するアクション条件を有することが可能である。
【0042】上述したように、多数のウォッチポイント
をプロセッサ102及びデバッグ回路103の両方にお
いて定義することが可能である。これらのウォッチポイ
ントはプロセッサ102か又はデバッグ回路103のい
ずれかに位置されたデータラッチ内に格納される状態値
を決定することが可能である。1つのデータラッチの出
力は別のラッチに対する入力として機能することが可能
であり(それらは「チェーン化」させることが可能であ
る)、又はウォッチポイントチャンネルに対する前提条
件として機能することが可能である。ウォッチポイント
及びデータラッチのこれら及びその他の特徴に付いては
1999年10月1日付で出願した発明者D. Edw
ards, et al.の発明の名称が「マイクロコ
ンピュータデバッグアーキテクチャ及び方法(MICR
OCOMPUTER DEGUGARCHITECTU
RE AND METHOD)」の同時係属中の米国特
許出願(代理人ドケット番号99−TK−263)にお
いてより詳細に記載されており、その特許出願を引用に
より本明細書に取込む。
をプロセッサ102及びデバッグ回路103の両方にお
いて定義することが可能である。これらのウォッチポイ
ントはプロセッサ102か又はデバッグ回路103のい
ずれかに位置されたデータラッチ内に格納される状態値
を決定することが可能である。1つのデータラッチの出
力は別のラッチに対する入力として機能することが可能
であり(それらは「チェーン化」させることが可能であ
る)、又はウォッチポイントチャンネルに対する前提条
件として機能することが可能である。ウォッチポイント
及びデータラッチのこれら及びその他の特徴に付いては
1999年10月1日付で出願した発明者D. Edw
ards, et al.の発明の名称が「マイクロコ
ンピュータデバッグアーキテクチャ及び方法(MICR
OCOMPUTER DEGUGARCHITECTU
RE AND METHOD)」の同時係属中の米国特
許出願(代理人ドケット番号99−TK−263)にお
いてより詳細に記載されており、その特許出願を引用に
より本明細書に取込む。
【0043】プロセッサ102は、又、CPUモード2
09を送信することが可能であり、それは、プロセサ1
02がユーザモードにあるか又はスーパーバイザーモー
ドにあるかを表す。CPUモード209情報は、発生さ
れるトレースメッセージの量を制限するために、例えば
トレースメッセージの作成等のイベントをトリガするた
めの前提条件としてデバッグ回路103によって使用す
ることが可能である。
09を送信することが可能であり、それは、プロセサ1
02がユーザモードにあるか又はスーパーバイザーモー
ドにあるかを表す。CPUモード209情報は、発生さ
れるトレースメッセージの量を制限するために、例えば
トレースメッセージの作成等のイベントをトリガするた
めの前提条件としてデバッグ回路103によって使用す
ることが可能である。
【0044】ストール(stall)信号211は、プ
ロセッサ102がその実行パイプラインをストール即ち
停止させるべきであることを表す。ストール済信号21
2は、デバッグ回路103に対してパイプラインがスト
ールしたことを表す。これらの表示211,212は、
プロセッサ102とデバッグ回路103との間での流れ
制御を実行する上で有用である。例えば、プロセッサ1
03はデバッグ回路103の格納容量を超えてトレース
情報を発生する場合があり且つ付加的なトレース情報を
発生させることが不可能であるように、プロセッサ10
2のパイプラインの実行をストールさせることを表示す
る。デバッグ回路103は、例えば、トレースバッファ
が満杯となる前にある数のエントリ内になる場合にプロ
セッサ102をストールさせることが可能である。従っ
て、デバッグ回路103はトレース情報を失うことを回
避することが可能である。ストール信号211及びスト
ール済信号212は、各々、1ビット値とすることが可
能である。
ロセッサ102がその実行パイプラインをストール即ち
停止させるべきであることを表す。ストール済信号21
2は、デバッグ回路103に対してパイプラインがスト
ールしたことを表す。これらの表示211,212は、
プロセッサ102とデバッグ回路103との間での流れ
制御を実行する上で有用である。例えば、プロセッサ1
03はデバッグ回路103の格納容量を超えてトレース
情報を発生する場合があり且つ付加的なトレース情報を
発生させることが不可能であるように、プロセッサ10
2のパイプラインの実行をストールさせることを表示す
る。デバッグ回路103は、例えば、トレースバッファ
が満杯となる前にある数のエントリ内になる場合にプロ
セッサ102をストールさせることが可能である。従っ
て、デバッグ回路103はトレース情報を失うことを回
避することが可能である。ストール信号211及びスト
ール済信号212は、各々、1ビット値とすることが可
能である。
【0045】デバッグ回路103は、又、通信リンク2
15を介して受取った情報を外部システム106へ送信
するように構成することが可能である。このような情報
はトレース情報、タイミング情報、プログラムカウンタ
の値、デバッグ目的のための同様のものを包含すること
が可能である。例えば、トレースメッセージは異なるウ
ォッチポイントヒットに基づいて発生させることが可能
であり、且つこれらのトレースメッセージは例えば図1
−3及び5に示したリンク104,215,313,5
22等のデバッグ回路−プロセッサ通信リンクを介して
受取った情報値を有することが可能である。
15を介して受取った情報を外部システム106へ送信
するように構成することが可能である。このような情報
はトレース情報、タイミング情報、プログラムカウンタ
の値、デバッグ目的のための同様のものを包含すること
が可能である。例えば、トレースメッセージは異なるウ
ォッチポイントヒットに基づいて発生させることが可能
であり、且つこれらのトレースメッセージは例えば図1
−3及び5に示したリンク104,215,313,5
22等のデバッグ回路−プロセッサ通信リンクを介して
受取った情報値を有することが可能である。
【0046】図3は本発明の1実施例に基づく別の通信
リンク313を示している。この実施例においては、プ
ログラムカウンタの完全なデータ値の代わりにインクリ
メント信号をデバッグ回路103へ送ることによって多
数の通信線を更に減少させることが可能である。通信リ
ンク313は、例えば、PCインクリメント信号303
を有することが可能であり、それはプロセッサ内のプロ
グラムカウンタがインクリメントしたことを表す。デバ
ッグ回路103は、例えば、レジスタ311を有するこ
とが可能であり、それはプロセッサ102におけるプロ
グラムカウンタの現在の値を格納し、且つPCインクリ
メント信号303に応答して、デバッグ回路103はレ
ジスタ内のプログラムカウンタの値をインクリメントさ
せる。
リンク313を示している。この実施例においては、プ
ログラムカウンタの完全なデータ値の代わりにインクリ
メント信号をデバッグ回路103へ送ることによって多
数の通信線を更に減少させることが可能である。通信リ
ンク313は、例えば、PCインクリメント信号303
を有することが可能であり、それはプロセッサ内のプロ
グラムカウンタがインクリメントしたことを表す。デバ
ッグ回路103は、例えば、レジスタ311を有するこ
とが可能であり、それはプロセッサ102におけるプロ
グラムカウンタの現在の値を格納し、且つPCインクリ
メント信号303に応答して、デバッグ回路103はレ
ジスタ内のプログラムカウンタの値をインクリメントさ
せる。
【0047】通信リンク313は、又、例えば分岐命令
の実行期間中等、プロセッサ内のプログラムカウンタが
非逐次的、即ち順番外の態様で変化する場合には、プロ
グラムカウンタの値を転送させる機能を有することが可
能である。例えば、通信リンク313は、モード信号3
04を有することが可能であり、それはプログラムカウ
ンタが非逐次的、即ち順番外でインクリメントされるこ
とを表し、即ち、プログラムカウンタが正の1の値を超
えて変化したことを表す。モード信号304は、又、プ
ログラムカウンタが変化した量を表すことが可能であ
る。1実施例によれば、プロセッサ102は16ビット
命令と32ビット命令の両方を実行することが可能であ
り、且つ例えばプログラムカウンタを非逐次的、即ち順
番外でインクリメントさせることによって、プログラム
カウンタを異なる態様で動作させる態様でこれらの命令
を実行することが可能である。従って、プロセッサ10
2は、デバッグ回路103がレジスタ311内のプログ
ラムカウンタを正確に維持することが可能であるよう
に、プロセッサ102がどの処理モードにあるかを表示
することが必要な場合がある。より詳細に説明すると、
1つの実施例ではインクリメント信号303と関連して
モード信号304を使用することが可能であり、従って
アドレスカウンタは命令の寸法に従う量だけインクリメ
ントされる。例えば、モード信号304の「1」の値は
実行された命令が32ビット命令であることを表し、且
つ「0」の値は16ビット命令が実行されたことを表す
ことが可能である。理解すべきことであるが、実行され
た命令の寸法を表すために任意の寸法情報を通信するこ
とが可能である。従って、デバッグ103において格納
されているプログラムカウンタの値は、可変長命令が使
用される場合であっても正確に維持される。
の実行期間中等、プロセッサ内のプログラムカウンタが
非逐次的、即ち順番外の態様で変化する場合には、プロ
グラムカウンタの値を転送させる機能を有することが可
能である。例えば、通信リンク313は、モード信号3
04を有することが可能であり、それはプログラムカウ
ンタが非逐次的、即ち順番外でインクリメントされるこ
とを表し、即ち、プログラムカウンタが正の1の値を超
えて変化したことを表す。モード信号304は、又、プ
ログラムカウンタが変化した量を表すことが可能であ
る。1実施例によれば、プロセッサ102は16ビット
命令と32ビット命令の両方を実行することが可能であ
り、且つ例えばプログラムカウンタを非逐次的、即ち順
番外でインクリメントさせることによって、プログラム
カウンタを異なる態様で動作させる態様でこれらの命令
を実行することが可能である。従って、プロセッサ10
2は、デバッグ回路103がレジスタ311内のプログ
ラムカウンタを正確に維持することが可能であるよう
に、プロセッサ102がどの処理モードにあるかを表示
することが必要な場合がある。より詳細に説明すると、
1つの実施例ではインクリメント信号303と関連して
モード信号304を使用することが可能であり、従って
アドレスカウンタは命令の寸法に従う量だけインクリメ
ントされる。例えば、モード信号304の「1」の値は
実行された命令が32ビット命令であることを表し、且
つ「0」の値は16ビット命令が実行されたことを表す
ことが可能である。理解すべきことであるが、実行され
た命令の寸法を表すために任意の寸法情報を通信するこ
とが可能である。従って、デバッグ103において格納
されているプログラムカウンタの値は、可変長命令が使
用される場合であっても正確に維持される。
【0048】一般的には、情報が正確である場合にのみ
プログラムカウンタ情報は有用なものである。例えば、
分岐トレース情報は、通常、分岐が発生する前後におい
てプログラムカウンタ情報を有している。プログラムカ
ウンタ情報が不正確なものである場合には、回収された
分岐トレース情報は無意味なものである。正確なプログ
ラムカウンタ情報が必要とされる別の適用例は、トレー
ス解析ツールでトレース情報を解析する場合である。ト
レースパケットは分岐の発生源と宛先とを決定するため
に外部システム106上で実行するトレース解析ツール
によって使用される。更に、トレースシステムはプリン
ト機能を有する場合があり、それは特定の状態がプロセ
ッサ内において遭遇される場合にトレースパケットを発
生する。プリント機能によって発生されるトレースメッ
セージは、現在のプログラムカウンタ及びプロセッサに
よって書込まれたデータ値を有している場合がある。こ
の機能は、ユーザのアプリケーションにおいて特定のル
ーチンを構成することにより、又はプログラムにおける
種々の点においてプリント機能を埋め込むことによって
リアルタイムオペレーティングシステム(RTOS)に
よって使用することが可能である。プログラムカウンタ
値は、プログラム内のどのルーチンがトレースパケット
を発生したかを決定するために外部システム106上で
実行するソフトウエアツールによって使用することが可
能であり、従ってソフトウエアツールはトレースパケッ
トを発生したルーチンと関連するものとしてそのデータ
値を解釈することが可能である。要するに、正確なプロ
グラムカウンタ情報はデバッグ処理において多くの用途
を有している。
プログラムカウンタ情報は有用なものである。例えば、
分岐トレース情報は、通常、分岐が発生する前後におい
てプログラムカウンタ情報を有している。プログラムカ
ウンタ情報が不正確なものである場合には、回収された
分岐トレース情報は無意味なものである。正確なプログ
ラムカウンタ情報が必要とされる別の適用例は、トレー
ス解析ツールでトレース情報を解析する場合である。ト
レースパケットは分岐の発生源と宛先とを決定するため
に外部システム106上で実行するトレース解析ツール
によって使用される。更に、トレースシステムはプリン
ト機能を有する場合があり、それは特定の状態がプロセ
ッサ内において遭遇される場合にトレースパケットを発
生する。プリント機能によって発生されるトレースメッ
セージは、現在のプログラムカウンタ及びプロセッサに
よって書込まれたデータ値を有している場合がある。こ
の機能は、ユーザのアプリケーションにおいて特定のル
ーチンを構成することにより、又はプログラムにおける
種々の点においてプリント機能を埋め込むことによって
リアルタイムオペレーティングシステム(RTOS)に
よって使用することが可能である。プログラムカウンタ
値は、プログラム内のどのルーチンがトレースパケット
を発生したかを決定するために外部システム106上で
実行するソフトウエアツールによって使用することが可
能であり、従ってソフトウエアツールはトレースパケッ
トを発生したルーチンと関連するものとしてそのデータ
値を解釈することが可能である。要するに、正確なプロ
グラムカウンタ情報はデバッグ処理において多くの用途
を有している。
【0049】通信リンク313は、図2に関して図示し
且つ上述したものと形式及び機能が同様の状態値情報3
05、309、ストール済302、ストール310、デ
ータ307、サイズ308、新ASID301信号を運
ぶことが可能である。理解すべきことであるが、プロセ
ッサ103及びデバッグ回路103の通信を容易なもの
とさせるために、その他の信号もリンク313において
転送させることが可能である。
且つ上述したものと形式及び機能が同様の状態値情報3
05、309、ストール済302、ストール310、デ
ータ307、サイズ308、新ASID301信号を運
ぶことが可能である。理解すべきことであるが、プロセ
ッサ103及びデバッグ回路103の通信を容易なもの
とさせるために、その他の信号もリンク313において
転送させることが可能である。
【0050】図2及び3を参照して上述したように、プ
ログラムカウンタ及びASID情報は1つ又はそれ以上
のデバッグレジスタ213において「シャドウ」させる
ことが可能である。シャドウ処理は、プログラムカウン
タ及びASIDの値をプロセッサ102から遠隔した位
置において格納することが関与する場合がある。以下の
表はプログラムカウンタ及びASID情報を保持するD
M.PCという名称のレジスタの1実施例の種々の側面
を示している。
ログラムカウンタ及びASID情報は1つ又はそれ以上
のデバッグレジスタ213において「シャドウ」させる
ことが可能である。シャドウ処理は、プログラムカウン
タ及びASIDの値をプロセッサ102から遠隔した位
置において格納することが関与する場合がある。以下の
表はプログラムカウンタ及びASID情報を保持するD
M.PCという名称のレジスタの1実施例の種々の側面
を示している。
【0051】
【表1】
【0052】図4は本発明の別の実施例に基づく通信リ
ンク420のより詳細な概略図を示している。プロセッ
サ102と同様の機能を有するプロセッサ401は、命
令フェッチユニット407からの状態情報を受付けるウ
ォッチポイント制御器を有しており、メモリからの命令
をフェッチし、命令のデコードを実施し、命令間の従属
関係を解決する等の機能を有している。フェッチユニッ
ト407は、又、命令値及びアドレスウォッチポイント
408を有することが可能である。
ンク420のより詳細な概略図を示している。プロセッ
サ102と同様の機能を有するプロセッサ401は、命
令フェッチユニット407からの状態情報を受付けるウ
ォッチポイント制御器を有しており、メモリからの命令
をフェッチし、命令のデコードを実施し、命令間の従属
関係を解決する等の機能を有している。フェッチユニッ
ト407は、又、命令値及びアドレスウォッチポイント
408を有することが可能である。
【0053】更に、プロセッサ401はプロセッサ40
1の実行パイプラインをストール(停止)及び開始させ
るためにパイプライン制御ユニット409へ制御情報を
供給するウォッチポイント制御器403を有している。
ウォッチポイント制御器403はプロセッサ401にお
けるウォッチポイントチャンネル情報を追従し、且つこ
のような情報を回路402へ供給することが可能であ
る。プロセッサ401は分岐ユニット404を有してお
り、それはプロセッサ401における分岐に関連した命
令を取扱い、分岐アドレスを解決/予測し、及びその他
の分岐に関連した機能を取扱う。分岐ユニット404は
プログラムカウンタ情報414、CPUモード情報41
5、分岐情報416の信号を供給する。分岐ユニット4
04は処理識別子即ちASID情報416も供給する。
プロセッサ401は、ロード・ストアユニット405を
有しており、それは実行機能を実施する。ロード・スト
アユニット405はオペランドアドレス(OA)ウォッ
チポイント406を有しており、それはオペランドアド
レス情報415を発生する。
1の実行パイプラインをストール(停止)及び開始させ
るためにパイプライン制御ユニット409へ制御情報を
供給するウォッチポイント制御器403を有している。
ウォッチポイント制御器403はプロセッサ401にお
けるウォッチポイントチャンネル情報を追従し、且つこ
のような情報を回路402へ供給することが可能であ
る。プロセッサ401は分岐ユニット404を有してお
り、それはプロセッサ401における分岐に関連した命
令を取扱い、分岐アドレスを解決/予測し、及びその他
の分岐に関連した機能を取扱う。分岐ユニット404は
プログラムカウンタ情報414、CPUモード情報41
5、分岐情報416の信号を供給する。分岐ユニット4
04は処理識別子即ちASID情報416も供給する。
プロセッサ401は、ロード・ストアユニット405を
有しており、それは実行機能を実施する。ロード・スト
アユニット405はオペランドアドレス(OA)ウォッ
チポイント406を有しており、それはオペランドアド
レス情報415を発生する。
【0054】ASID情報416及びオペランドアドレ
ス(OA)情報415はマルチプレクサ417を介して
供給され且つデータ線417を介してデバッグ回路40
2へ転送される。本発明の1つの側面においては、新A
SID情報416が使用可能である場合には、オペラン
ドアドレス情報415は同時的に使用可能なものではな
い。従って、通信リンク420における通信線の数は減
少される。何故ならば、ASID情報416及びOA情
報415の両方は同一の通信線を介して交互に転送され
るからである。
ス(OA)情報415はマルチプレクサ417を介して
供給され且つデータ線417を介してデバッグ回路40
2へ転送される。本発明の1つの側面においては、新A
SID情報416が使用可能である場合には、オペラン
ドアドレス情報415は同時的に使用可能なものではな
い。従って、通信リンク420における通信線の数は減
少される。何故ならば、ASID情報416及びOA情
報415の両方は同一の通信線を介して交互に転送され
るからである。
【0055】デバッグ回路402はプロセッサ401に
よって発生されるトレース情報を受取るトレースバッフ
ァ418を有している。トレースバッファは、例えば、
プロセッサ401からの情報を受取り且つ格納する構成
とされている格納ユニットである。トレースバッファ4
08は、トレースバッファ418がプロセッサ401か
ら付加的なトレース情報を受付けることが可能であるか
否かを検知する制御回路を有している。そうでない場合
には、トレースバッファはウォッチポイント制御器40
3へストール表示412を供給し、そのことは、パイプ
ライン制御409をして実行パイプラインをストール即
ち停止させる。トレースバッファ418が付加的なトレ
ース情報を受付けることが可能である場合には、トレー
スバッファ418はストール412に関し異なる信号を
アサート即ち活性化させ、バッファ418が付加的な情
報を受付けることが可能であることを表す。別の側面に
おいては、トレースバッファは、バッファ418が付加
的なトレース情報を受付けることが可能でない場合には
付加的なトレース情報を廃棄するモードで動作する。一
方、バッファ418は最も古いトレース情報を最初に廃
棄することが可能である。デバッグ回路402はトレー
スメッセージをチップ上に格納することが可能である
(例えば、トレースバッファ418内に)。又はメモリ
へ又は外部通信ポートへスピル即ち溢れさせることが可
能なメッセージへフォーマット化させることが可能であ
る。
よって発生されるトレース情報を受取るトレースバッフ
ァ418を有している。トレースバッファは、例えば、
プロセッサ401からの情報を受取り且つ格納する構成
とされている格納ユニットである。トレースバッファ4
08は、トレースバッファ418がプロセッサ401か
ら付加的なトレース情報を受付けることが可能であるか
否かを検知する制御回路を有している。そうでない場合
には、トレースバッファはウォッチポイント制御器40
3へストール表示412を供給し、そのことは、パイプ
ライン制御409をして実行パイプラインをストール即
ち停止させる。トレースバッファ418が付加的なトレ
ース情報を受付けることが可能である場合には、トレー
スバッファ418はストール412に関し異なる信号を
アサート即ち活性化させ、バッファ418が付加的な情
報を受付けることが可能であることを表す。別の側面に
おいては、トレースバッファは、バッファ418が付加
的なトレース情報を受付けることが可能でない場合には
付加的なトレース情報を廃棄するモードで動作する。一
方、バッファ418は最も古いトレース情報を最初に廃
棄することが可能である。デバッグ回路402はトレー
スメッセージをチップ上に格納することが可能である
(例えば、トレースバッファ418内に)。又はメモリ
へ又は外部通信ポートへスピル即ち溢れさせることが可
能なメッセージへフォーマット化させることが可能であ
る。
【0056】デバッグ回路402は状態プロセッサ41
9を有しており、それは例えばウォッチポイント制御器
403からのウォッチポイント情報、又はロード・スト
アユニット405からのオペランドアドレスウォッチポ
イント等のプロセッサ401からの状態情報を受付け
る。状態プロセッサ419はデバッグ回路402内に位
置されているウォッチポイントに対する前提条件として
受取った状態情報を使用することが可能である。同様の
態様で、状態プロセッサ419は状態値413をプロセ
ッサ401へ供給することが可能である。
9を有しており、それは例えばウォッチポイント制御器
403からのウォッチポイント情報、又はロード・スト
アユニット405からのオペランドアドレスウォッチポ
イント等のプロセッサ401からの状態情報を受付け
る。状態プロセッサ419はデバッグ回路402内に位
置されているウォッチポイントに対する前提条件として
受取った状態情報を使用することが可能である。同様の
態様で、状態プロセッサ419は状態値413をプロセ
ッサ401へ供給することが可能である。
【0057】以下の表は、図5に関して示した本発明の
1つの側面に基づくリンク信号の別の実施例を示してい
る。
1つの側面に基づくリンク信号の別の実施例を示してい
る。
【0058】
【表2】
【0059】図5は本発明の1実施例に基づくプロセッ
サ501の詳細なブロック図を示している。プロセッサ
501はオペランドアドレスウォッチポイント508を
具備するロード・ストアユニット502と、ウォッチポ
イント制御器503と、命令値/アドレスウォッチポイ
ント505を具備している命令フェッチユニット504
と、パイプライン制御ユニット506と、図4に関して
上述したものと機能が同様の分岐ユニット507とを有
している。プロセッサ501はプロセッサの1つ又はそ
れ以上のモジュールによって送信及び受信される多数の
信号を包含するデバッグ回路へのリンク522を有して
いる。分岐ユニット507はデバッグ回路へのプログラ
ムカウンタを運ぶ専用の32ビットバスとすることが可
能なp dm pc519という名称のデータバスを介し
てデバッグ回路へプログラムカウンタ情報を供給する。
データバス519はプロセッサパイプラインのライトバ
ックステージにおけるプログラムカウンタの値で駆動さ
れる。
サ501の詳細なブロック図を示している。プロセッサ
501はオペランドアドレスウォッチポイント508を
具備するロード・ストアユニット502と、ウォッチポ
イント制御器503と、命令値/アドレスウォッチポイ
ント505を具備している命令フェッチユニット504
と、パイプライン制御ユニット506と、図4に関して
上述したものと機能が同様の分岐ユニット507とを有
している。プロセッサ501はプロセッサの1つ又はそ
れ以上のモジュールによって送信及び受信される多数の
信号を包含するデバッグ回路へのリンク522を有して
いる。分岐ユニット507はデバッグ回路へのプログラ
ムカウンタを運ぶ専用の32ビットバスとすることが可
能なp dm pc519という名称のデータバスを介し
てデバッグ回路へプログラムカウンタ情報を供給する。
データバス519はプロセッサパイプラインのライトバ
ックステージにおけるプログラムカウンタの値で駆動さ
れる。
【0060】分岐ユニット507は、有効な命令がライ
トバック内にあることを表すp dm pc vali
d信号520を供給することが可能である。ユニット5
07は、又、ライトバック内の命令が分岐を実施した後
の最初の命令であることを表すp dm newpc信
号517を供給することが可能である。更に、p dm
newpc type信号517が供給され、それは
今行われたばかりの分岐のタイプを表す。p dm m
ode信号521はプログラムカウンタ値における実行
期間中のプロセッサのモードを表す。制御信号517及
び518は、デバッグ回路が適切に分岐トレースフィル
タ処理を実施することを可能とするために供給される。
p dm newpc信号がアサート即ち活性化される
とデバッグ回路は、分岐が発生し且つトレースパケット
を発生することが可能であることを知得する。
トバック内にあることを表すp dm pc vali
d信号520を供給することが可能である。ユニット5
07は、又、ライトバック内の命令が分岐を実施した後
の最初の命令であることを表すp dm newpc信
号517を供給することが可能である。更に、p dm
newpc type信号517が供給され、それは
今行われたばかりの分岐のタイプを表す。p dm m
ode信号521はプログラムカウンタ値における実行
期間中のプロセッサのモードを表す。制御信号517及
び518は、デバッグ回路が適切に分岐トレースフィル
タ処理を実施することを可能とするために供給される。
p dm newpc信号がアサート即ち活性化される
とデバッグ回路は、分岐が発生し且つトレースパケット
を発生することが可能であることを知得する。
【0061】各ウォッチポイントチャンネルのアクショ
ンレジスタ内の1個のビットは、ウォッチポイントのヒ
ットが存在する場合に例外が取られるべきであるか否か
を表すことが可能である。例外が検知されると、ウォッ
チポイント制御器503はp dm channel h
it[7..0]512上でウォッチポイント隠し情報
がデバッグ回路へ行くことを抑止することが可能であ
る。その命令は最早有効ではないので情報が抑止され、
関連する有効なプログラムカウンタは存在せず、且つ更
に、命令の実行に関する情報は例外が検知されるや否や
廃棄されるので、部分的なトレース情報のみが使用可能
であるに過ぎない。
ンレジスタ内の1個のビットは、ウォッチポイントのヒ
ットが存在する場合に例外が取られるべきであるか否か
を表すことが可能である。例外が検知されると、ウォッ
チポイント制御器503はp dm channel h
it[7..0]512上でウォッチポイント隠し情報
がデバッグ回路へ行くことを抑止することが可能であ
る。その命令は最早有効ではないので情報が抑止され、
関連する有効なプログラムカウンタは存在せず、且つ更
に、命令の実行に関する情報は例外が検知されるや否や
廃棄されるので、部分的なトレース情報のみが使用可能
であるに過ぎない。
【0062】トレース情報は1つの命令のライトバック
ステージ期間中にデバッグ回路へパスされる。トレース
情報は上に説明したようなプログラムカウンタ情報、チ
ャンネルヒット情報、データ及びオペランドアドレス情
報を有することが可能である。ウォッチポイント制御器
503は8ビットベクトル、即ちp bm chann
el hit[7..0]512としてチャンネルヒッ
ト情報を供給することが可能であり、それはどのウォッ
チポイントチャンネルがマッチしたか及びチャンネルヒ
ットを発生したかを表す。デバッグ回路はこれらのチャ
ンネルヒットを解釈して発生されたウォッチポイントヒ
ットのタイプとマッチする適宜のトレースメッセージを
発生することが可能である。ウォッチポイントチャンネ
ルヒット情報はマルチビットベクトルとして転送させる
ので、幾つかのウォッチポイントヒットが同一の実行さ
れた命令に対して発生する場合がある。データ及びオペ
ランドアドレス情報は、64ビットデータバス(p d
m data516)上に供給することが可能であり、
それは以下の表の如くにアドレス及び/又はデータ情報
を保持することが可能である。
ステージ期間中にデバッグ回路へパスされる。トレース
情報は上に説明したようなプログラムカウンタ情報、チ
ャンネルヒット情報、データ及びオペランドアドレス情
報を有することが可能である。ウォッチポイント制御器
503は8ビットベクトル、即ちp bm chann
el hit[7..0]512としてチャンネルヒッ
ト情報を供給することが可能であり、それはどのウォッ
チポイントチャンネルがマッチしたか及びチャンネルヒ
ットを発生したかを表す。デバッグ回路はこれらのチャ
ンネルヒットを解釈して発生されたウォッチポイントヒ
ットのタイプとマッチする適宜のトレースメッセージを
発生することが可能である。ウォッチポイントチャンネ
ルヒット情報はマルチビットベクトルとして転送させる
ので、幾つかのウォッチポイントヒットが同一の実行さ
れた命令に対して発生する場合がある。データ及びオペ
ランドアドレス情報は、64ビットデータバス(p d
m data516)上に供給することが可能であり、
それは以下の表の如くにアドレス及び/又はデータ情報
を保持することが可能である。
【0063】
【表3】
【0064】例えば、命令値(IV)マッチポイントヒ
ット及びoa trace data選択アドレスを有
するオペランドアドレス「OA」ウォッチポイントヒッ
トが存在する場合には、IVウォッチポイントはデータ
全体を送ることが可能である。OAウォッチポイントも
存在する場合には、ロード・ストアユニット502はO
Aウォッチポイントチャンネルによって発生された情報
でデータバス516を駆動することが可能である。従っ
て、データバス516上でデータの半分のみを発生する
IVウォッチポイントヒットを有することが可能であ
り、且つデータバス516の残部はOAウォッチポイン
トチャンネルヒットから発生された情報を転送するため
に使用される。従って、プロセッサ501とデバッグ回
路との間のデータ線の数が減少される。
ット及びoa trace data選択アドレスを有
するオペランドアドレス「OA」ウォッチポイントヒッ
トが存在する場合には、IVウォッチポイントはデータ
全体を送ることが可能である。OAウォッチポイントも
存在する場合には、ロード・ストアユニット502はO
Aウォッチポイントチャンネルによって発生された情報
でデータバス516を駆動することが可能である。従っ
て、データバス516上でデータの半分のみを発生する
IVウォッチポイントヒットを有することが可能であ
り、且つデータバス516の残部はOAウォッチポイン
トチャンネルヒットから発生された情報を転送するため
に使用される。従って、プロセッサ501とデバッグ回
路との間のデータ線の数が減少される。
【0065】新たな分岐ターゲットアドレスがライトバ
ックステージの後に送られ(実行後)且つ、ウォッチポ
イントチャンネルはプロセッサパイプラインの実行前ス
テージにおいてトリガさせることが可能であるので、新
たな分岐情報が送られるのと同一の点においてウォッチ
ポイントヒットを有することが可能である。例えば、分
岐直後のロード上でOAウォッチポイントを有するため
には、そのロード命令と関連するオペランドアドレスが
存在しており、且つその分岐命令と関連するプログラム
カウンタが存在している。この場合には、p dm d
ata516はロード命令のアドレスを包含しており且
つそのOAアドレスはp dm dataバス516の
上半分上へ行く。
ックステージの後に送られ(実行後)且つ、ウォッチポ
イントチャンネルはプロセッサパイプラインの実行前ス
テージにおいてトリガさせることが可能であるので、新
たな分岐情報が送られるのと同一の点においてウォッチ
ポイントヒットを有することが可能である。例えば、分
岐直後のロード上でOAウォッチポイントを有するため
には、そのロード命令と関連するオペランドアドレスが
存在しており、且つその分岐命令と関連するプログラム
カウンタが存在している。この場合には、p dm d
ata516はロード命令のアドレスを包含しており且
つそのOAアドレスはp dm dataバス516の
上半分上へ行く。
【0066】図2−4を参照して上に説明したように、
プロセッサはストール制御信号を受付け且つストールの
表示をデバッグ回路へ供給することが可能である。プロ
セッサ501はデバッグ回路からdm p stall
制御信号510を受付け、それはデバッグ回路がプロセ
ッサ501の実行パイプラインをストールさせることを
可能とする。ウォッチポイント制御器503は該表示を
パイプライン制御ユニット506へ供給する。プロセッ
サ501は、p dm stalled信号511とし
て、パイプラインがストールしていることの表示を与え
ることが可能である。
プロセッサはストール制御信号を受付け且つストールの
表示をデバッグ回路へ供給することが可能である。プロ
セッサ501はデバッグ回路からdm p stall
制御信号510を受付け、それはデバッグ回路がプロセ
ッサ501の実行パイプラインをストールさせることを
可能とする。ウォッチポイント制御器503は該表示を
パイプライン制御ユニット506へ供給する。プロセッ
サ501は、p dm stalled信号511とし
て、パイプラインがストールしていることの表示を与え
ることが可能である。
【0067】プロセッサ501はデータラッチの出力が
別のデータラッチの状態を決定することが可能であるよ
うに一体的にチェーン化させることの可能なデータラッ
チである「チェーンラッチ」として参照されるウォッチ
ポイントに関して上に説明した状態インジケータを有す
ることも可能である。更に、これらのデータラッチはデ
バッグ回路又はプロセッサ501内に位置させることが
可能である。これらのデータラッチはウォッチポイント
マッチ(一致)が発生する場合にセットすることが可能
である。従って、プロセッサ501は1つ又はそれ以上
のデータラッチの状態を表す信号をdm p gene
ric chain信号509又はp bm gener
ic chain信号514として発生し且つ受付ける
ことが可能である。
別のデータラッチの状態を決定することが可能であるよ
うに一体的にチェーン化させることの可能なデータラッ
チである「チェーンラッチ」として参照されるウォッチ
ポイントに関して上に説明した状態インジケータを有す
ることも可能である。更に、これらのデータラッチはデ
バッグ回路又はプロセッサ501内に位置させることが
可能である。これらのデータラッチはウォッチポイント
マッチ(一致)が発生する場合にセットすることが可能
である。従って、プロセッサ501は1つ又はそれ以上
のデータラッチの状態を表す信号をdm p gene
ric chain信号509又はp bm gener
ic chain信号514として発生し且つ受付ける
ことが可能である。
【0068】更に、分岐ユニット507はASIDアッ
プデートが存在する度にASID情報Sr.asid5
15を供給することが可能である。本発明の1実施例に
おいては、Sr.asid信号515はオペランドアド
レスウォッチポイント情報522と多重化されてp b
m data516を発生する。1実施例においては、
ASID情報の送信とその他のトレースデータとの間で
クラッシュが存在することが不可能である。何故なら
ば、例外(RTE)命令からの復帰が実行のライトバッ
クステージに到達した後にASIDアップデートが発生
するからである。RTE命令は後方直列化命令であるの
で、RTE命令が完了する後になるまでパイプラインに
は命令は存在しない。
プデートが存在する度にASID情報Sr.asid5
15を供給することが可能である。本発明の1実施例に
おいては、Sr.asid信号515はオペランドアド
レスウォッチポイント情報522と多重化されてp b
m data516を発生する。1実施例においては、
ASID情報の送信とその他のトレースデータとの間で
クラッシュが存在することが不可能である。何故なら
ば、例外(RTE)命令からの復帰が実行のライトバッ
クステージに到達した後にASIDアップデートが発生
するからである。RTE命令は後方直列化命令であるの
で、RTE命令が完了する後になるまでパイプラインに
は命令は存在しない。
【0069】BLINKは分岐命令の1つの例である。
図6は、図5に示したように、幾つかのその他の命令と
共にプロセッサパイプラインを介して流れる分岐命令
(この場合には、BLINK命令)及び通信リンクの出
力に関する効果を示している。
図6は、図5に示したように、幾つかのその他の命令と
共にプロセッサパイプラインを介して流れる分岐命令
(この場合には、BLINK命令)及び通信リンクの出
力に関する効果を示している。
【0070】プロセッサは多数のステージを有すること
が可能であり、且つ図6は6ステージパイプラインを有
するプロセッサのタイミング線図を示している。パイプ
ラインステージは当該技術分野において公知であり、プ
ロセッサにおいて命令を処理する場合に関与するステッ
プである。一般的には、プロセッサパイプラインにおけ
る各個別的なステージにおいて特定の機能が実施され
る。理解すべきことであるが、任意の数のパイプライン
ステージを使用することが可能である。プロセッサ50
1のパイプラインは以下の6個のステージを有してい
る。
が可能であり、且つ図6は6ステージパイプラインを有
するプロセッサのタイミング線図を示している。パイプ
ラインステージは当該技術分野において公知であり、プ
ロセッサにおいて命令を処理する場合に関与するステッ
プである。一般的には、プロセッサパイプラインにおけ
る各個別的なステージにおいて特定の機能が実施され
る。理解すべきことであるが、任意の数のパイプライン
ステージを使用することが可能である。プロセッサ50
1のパイプラインは以下の6個のステージを有してい
る。
【0071】(1)フェッチ(F): (2)デコード(D): (3)実行ステージ(E1),(4)実行ステージ(E
2),(5)実行ステージ(E): (6)ライトバック(W)。
2),(5)実行ステージ(E): (6)ライトバック(W)。
【0072】図6における項目601は、例えばフェッ
チステージ(F)におけるメモリ位置からフェッチユニ
ットによって、時間t1においてBLINK命令がフェ
ッチされたことを表している。項目602はBLINK
命令601直後のメモリアドレスにおける命令である。
この命令はフェッチユニットにおいて廃棄される。何故
ならば、BLINK命令は分岐命令であって、それはプ
ロセッサ501をして新たなアドレス(「ターゲット」
アドレス)ヘ分岐させるからである。BLINKに続く
命令はプロセッサ501によって実行されることはな
い。項目603(影線付き)は時間t3におけるADD
命令(ADD(T))のフェッチを表している。ADD
(T)命令は分岐後の最初の命令であり、即ち、プロセ
ッサが実行するターゲットアドレス内に位置されている
最初の命令である。BLINK601及びADD(T)
603命令はパイプラインを介してライトバックステー
ジ(W行)ヘ伝搬する。
チステージ(F)におけるメモリ位置からフェッチユニ
ットによって、時間t1においてBLINK命令がフェ
ッチされたことを表している。項目602はBLINK
命令601直後のメモリアドレスにおける命令である。
この命令はフェッチユニットにおいて廃棄される。何故
ならば、BLINK命令は分岐命令であって、それはプ
ロセッサ501をして新たなアドレス(「ターゲット」
アドレス)ヘ分岐させるからである。BLINKに続く
命令はプロセッサ501によって実行されることはな
い。項目603(影線付き)は時間t3におけるADD
命令(ADD(T))のフェッチを表している。ADD
(T)命令は分岐後の最初の命令であり、即ち、プロセ
ッサが実行するターゲットアドレス内に位置されている
最初の命令である。BLINK601及びADD(T)
603命令はパイプラインを介してライトバックステー
ジ(W行)ヘ伝搬する。
【0073】BLINK命令は最初に時間t6において
ライトバックステージ(W)に到達する。BLINK命
令のアドレスがp dm pc519上に配置される
(非分岐命令の実行に従って)。p dm pc va
lid信号520がアサート即ち活性化されて有効な命
令がライトバック内にあることを示す。p dm ne
wpc信号518はアサートされず、分岐後の最初の命
令がライトバック内にある場合にp dm newpc
518がアサートされる。p dm newpc typ
e信号517は無視される。何故ならば、未だに分岐が
発生していないからである。
ライトバックステージ(W)に到達する。BLINK命
令のアドレスがp dm pc519上に配置される
(非分岐命令の実行に従って)。p dm pc va
lid信号520がアサート即ち活性化されて有効な命
令がライトバック内にあることを示す。p dm ne
wpc信号518はアサートされず、分岐後の最初の命
令がライトバック内にある場合にp dm newpc
518がアサートされる。p dm newpc typ
e信号517は無視される。何故ならば、未だに分岐が
発生していないからである。
【0074】時間t7において分岐ユニット507はp
dm pc信号519の同一のPC値を維持してい
る。今は分岐が進行中であるので、現在は実行中の命令
は存在しない。即ち、BLINK命令601に続く命令
は廃棄されたので、ターゲットアドレスに位置している
新たな命令(ADD(T)命令603)がフェッチさ
れ、それはプロセッサパイプライン内にバブルを発生さ
せる。従って、p dm pc valid信号520は
ライトバックステージ内に命令が存在しないのでデアサ
ート即ち不活性化される。
dm pc信号519の同一のPC値を維持してい
る。今は分岐が進行中であるので、現在は実行中の命令
は存在しない。即ち、BLINK命令601に続く命令
は廃棄されたので、ターゲットアドレスに位置している
新たな命令(ADD(T)命令603)がフェッチさ
れ、それはプロセッサパイプライン内にバブルを発生さ
せる。従って、p dm pc valid信号520は
ライトバックステージ内に命令が存在しないのでデアサ
ート即ち不活性化される。
【0075】時間t8において、分岐が行われ、且つ新
たなターゲットアドレスにおける第一命令(ADD
(T)603)のライトバックが発生する。従って、A
DD(T)命令がライトバックに到達し、従って、その
アドレスはp dm pc509上に配置される。p
dm pc valid信号がアサート即ち活性化され
て有効な命令がライトバック内に存在することを示す。
ADD(T)603が分岐後の最初の命令であるのでp
dm newpc信号がアサート即ち活性化され、即
ち、ADD(T)命令603は前の分岐のターゲットア
ドレスにある最初の命令である。p dm newpc
type信号517が0x01の信号値を表し、とら
れた分岐のタイプがBLINK命令であったことを示
す。理解すべきことであるが、その他のタイプの命令を
使用することも可能出ある。
たなターゲットアドレスにおける第一命令(ADD
(T)603)のライトバックが発生する。従って、A
DD(T)命令がライトバックに到達し、従って、その
アドレスはp dm pc509上に配置される。p
dm pc valid信号がアサート即ち活性化され
て有効な命令がライトバック内に存在することを示す。
ADD(T)603が分岐後の最初の命令であるのでp
dm newpc信号がアサート即ち活性化され、即
ち、ADD(T)命令603は前の分岐のターゲットア
ドレスにある最初の命令である。p dm newpc
type信号517が0x01の信号値を表し、とら
れた分岐のタイプがBLINK命令であったことを示
す。理解すべきことであるが、その他のタイプの命令を
使用することも可能出ある。
【0076】以上、本発明の具体的実施の態様について
詳細に説明したが、本発明は、これら具体例にのみ制限
されるべきものではなく、本発明の技術的範囲を逸脱す
ることなしに種々の変形を取ることが可能であることは
勿論である。
詳細に説明したが、本発明は、これら具体例にのみ制限
されるべきものではなく、本発明の技術的範囲を逸脱す
ることなしに種々の変形を取ることが可能であることは
勿論である。
【図1】 本発明の1実施例に基づく集積回路を示した
概略ブロック図。
概略ブロック図。
【図2】 本発明の1実施例に基づく通信リンクを示し
た概略ブロック図。
た概略ブロック図。
【図3】 本発明の別の実施例に基づく通信リンクを示
した概略ブロック図。
した概略ブロック図。
【図4】 本発明の1実施例に基づくシステムを示した
概略ブロック図。
概略ブロック図。
【図5】 本発明の別の実施例に基づくシステムを示し
た概略ブロック図。
た概略ブロック図。
【図6】 本発明の1実施例に基づくトレース情報の送
信を示したタイミング線図。
信を示したタイミング線図。
101 集積回路装置 102 プロセッサ 105 システムバス 103 デバッグ回路 104 通信リンク 106 外部システム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビッド アラン エドワーズ イギリス国, ブリストル ビーエス8 1エルビー, クリフトン, プロ キャ セドラル レーン 6 (72)発明者 マーガレット ローズ ギアティー イギリス国, バス ビーエイ1 7アー ルティー, バスフォード, パンプ レ ーン 3 (72)発明者 グレン エイ. ファラール イギリス国, ブリストル ビーエス41 9エスキュー, ロング アシュトン, ロング アシュトン ロード 157 (72)発明者 アツシ ハセガワ アメリカ合衆国, カリフォルニア 94086, サニーベル, オールド サン フランシスコ ロード 718, ナンバ ー 301 (72)発明者 アンソニー ウィリス リッチ ニュージーランド国, 2351, ケンブリ ッジ, ピー.オー. ボックス 761, クレアー ストリート 40
Claims (60)
- 【請求項1】 マイクロコンピュータにおいて、 少なくとも1個のプロセッサ、 デバッグ回路、 前記プロセッサを前記デバッグ回路へ結合させるシステ
ムバス、 前記プロセッサ及び前記デバッグ回路を結合させる通信
リンクであって、オペランドアドレスと、命令アドレス
とのうちの少なくとも1つを包含する前記プロセッサに
おける動作状態を各々が表す複数個のビット値を前記通
信リンクを介して前記デバッグ回路へ送信すべく前記プ
ロセッサが構成されている通信リンク、を有することを
特徴とするマイクロコンピュータ。 - 【請求項2】 請求項1において、前記複数個のビット
値のうちの少なくとも1つが、オペランド値とオペラン
ドアドレスとを包含する前記プロセッサにおける動作状
態を表していることを特徴とするマイクロコンピュー
タ。 - 【請求項3】 請求項1において、前記プロセッサが、
更に、前記プロセッサのプログラムカウンタを表すプロ
グラムカウンタ値を前記デバッグ回路へ送信すべく構成
されていることを特徴とするマイクロコンピュータ。 - 【請求項4】 請求項3において、前記プログラムカウ
ンタが、前記プロセッサのパイプラインのライトバック
ステージにおける前記プログラムカウンタの値に対応す
る値を有していることを特徴とするマイクロコンピュー
タ。 - 【請求項5】 請求項4において、前記プロセッサが、
更に、前記ライトバックステージにあるコンピュータ命
令が有効なコンピュータ命令であることを表すステータ
スを前記デバッグ回路へ送信する構成とされていること
を特徴とするマイクロコンピュータ。 - 【請求項6】 請求項4において、前記プロセッサが、
更に、前記ライトバックステージにある前記コンピュー
タ命令が分岐命令後の最初の命令であることを表すステ
ータスを前記デバッグ回路へ送信する構成とされている
ことを特徴とするマイクロコンピュータ。 - 【請求項7】 請求項6において、前記プロセッサが、
更に、実行した分岐命令のタイプを表すステータスを前
記デバッグ回路へ送信する構成とされていることを特徴
とするマイクロコンピュータ。 - 【請求項8】 請求項7において、前記デバッグ回路
が、前記実行した分岐命令のタイプを表すトレースパケ
ットを送信する構成とされていることを特徴とするマイ
クロコンピュータ。 - 【請求項9】 請求項1において、前記複数個のビット
値が前記プロセッサの実行前状態を表すことを特徴とす
るマイクロコンピュータ。 - 【請求項10】 請求項1において、前記プロセッサ
が、例外を検知した場合に前記複数個のビット値の送信
を抑止する構成とされていることを特徴とするマイクロ
コンピュータ。 - 【請求項11】 請求項1において、前記プロセッサ
が、更に、実行した命令のアドレス情報を前記デバッグ
回路へ送信する構成とされていることを特徴とするマイ
クロコンピュータ。 - 【請求項12】 請求項1において、前記プロセッサ
が、更に、実行した命令のデータ情報を前記デバッグ回
路へ送信する構成とされていることを特徴とするマイク
ロコンピュータ。 - 【請求項13】 請求項1において、前記プロセッサ
が、更に、実行した命令の処理識別子情報を前記デバッ
グ回路へ送信する構成とされていることを特徴とするマ
イクロコンピュータ。 - 【請求項14】 請求項1において、前記デバッグ回路
が、 前記プロセッサの動作を中断させる信号、 命令のフェッチを再開させる信号、 前記プロセッサをリセットする信号、 前記デバッグ回路において例外が発生したことを表す信
号、のうちの少なくとも1つを包含する処理制御信号を
送信することが可能であることを特徴とするマイクロコ
ンピュータ。 - 【請求項15】 請求項1において、前記複数個のビッ
ト値のうちの少なくとも1つがマッチ値及び実行した命
令の一部との間のマッチ状態を表すことを特徴とするマ
イクロコンピュータ。 - 【請求項16】 請求項1において、前記複数個のビッ
ト値のうちの少なくとも1つが、マッチ値と実行した命
令に応答して前記プロセッサによってアクセスされたメ
モリアドレスとの間のマッチ状態を表すことを特徴とす
るマイクロコンピュータ。 - 【請求項17】 請求項1において、前記プロセッサ
が、更に、前記プロセッサのプログラムカウンタのイン
クリメントを表す値を前記デバッグ回路へ送信する構成
とされていることを特徴とするマイクロコンピュータ。 - 【請求項18】 請求項1において、前記プロセッサ
が、更に、処理識別子値における変化を表す値を前記デ
バッグ回路へ送信する構成とされていることを特徴とす
るマイクロコンピュータ。 - 【請求項19】 請求項3において、前記デバッグ回路
が、前記プログラムカウンタを包含するトレース情報を
発生すべく適合されていることを特徴とするマイクロコ
ンピュータ。 - 【請求項20】 請求項1において、前記マイクロコン
ピュータが単一の集積回路上に実現されていることを特
徴とするマイクロコンピュータ。 - 【請求項21】 単一の集積回路上に実現されているマ
イクロコンピュータにおいて、 少なくとも1個のプロセッサ、 デバッグ回路、 前記プロセッサを前記デバッグ回路へ結合させるシステ
ムバス、 前記プロセッサと前記デバッグ回路とを結合している通
信リンクであって、オペランドアドレスと、命令アドレ
スと、オペランド値のうちの少なくとも1つを包含する
前記プロセッサにおける動作状態を各々が表す複数個の
ビット値を前記通信リンクを介して前記プロセッサがデ
バッグ回路へ送信する構成されている通信リンク、を有
しており、前記プロセッサは、更に、前記プロセッサの
プログラムカウンタが前記プロセッサのパイプラインの
ライトバックステージにあることを表すプログラムカウ
ンタ値と、前記ライトバックステージにあるコンピュー
タ命令が有効なコンピュータ命令であることを表すステ
ータスと、前記ライトバックステージにある前記コンピ
ュータ命令が実行した分岐命令の後の最初の命令である
ことを表すステータスと、前記実行した分岐命令のタイ
プを表すステータスと、実行した命令の処理識別子情報
とを前記デバッグ回路へ送信する構成されていることを
特徴とするマイクロコンピュータ。 - 【請求項22】 マイクロコンピュータにおいて、 少なくとも1個のプロセッサ、 デバッグ回路、 前記プロセッサと前記デバッグ回路とを結合させるシス
テムバス、 オペランドアドレスと、命令アドレスとのうちの少なく
とも1つを包含する前記プロセッサにおける動作状態を
各々が表す複数個のビット値を前記デバッグ回路へ送信
する手段、を有していることを特徴とするマイクロコン
ピュータ。 - 【請求項23】 請求項22において、前記複数個のビ
ット値のうちの少なくとも1つが、オペランド値とオペ
ランドアドレスとを包含する前記プロセッサにおける動
作状態を表すことを特徴とするマイクロコンピュータ。 - 【請求項24】 請求項22において、前記マイクロコ
ンピュータが、更に、前記プロセッサのプログラムカウ
ンタを表すプログラムカウンタ値を前記デバッグ回路へ
送信する手段を有していることを特徴とするマイクロコ
ンピュータ。 - 【請求項25】 請求項24において、前記プログラム
カウンタは、前記プロセッサのパイプラインのライトバ
ックステージにおける前記プログラムカウンタの値に対
応する値を有していることを特徴とするマイクロコンピ
ュータ。 - 【請求項26】 請求項25において、前記プロセッサ
は、前記ライトバックステージにあるコンピュータ命令
が有効なコンピュータ命令であることを表すステータス
を前記デバッグ回路へ送信する手段を有していることを
特徴とするマイクロコンピュータ。 - 【請求項27】 請求項25において、前記プロセッサ
は、前記ライトバックステージにあるコンピュータ命令
が分岐命令後の第一命令であることを表すステータスを
前記デバッグ回路へ送信する手段を有していることを特
徴とマイクロコンピュータ。 - 【請求項28】 請求項27において、前記プロセッサ
は実行した分岐命令のタイプを表すステータスを前記デ
バッグ回路へ送信する手段を有していることを特徴とす
るマイクロコンピュータ。 - 【請求項29】 請求項28において、前記デバッグ回
路が前記実行した分岐命令のタイプを表すトレースパケ
ットを送信する手段を有していることを特徴とするマイ
クロコンピュータ。 - 【請求項30】 請求項22において、前記複数個のビ
ット値が前記プロセッサの実行前状態を表していること
を特徴とするマイクロコンピュータ。 - 【請求項31】 請求項22において、前記プロセッサ
が例外を検知すると前記複数個のビット値の送信を抑止
する手段を有していることを特徴とするマイクロコンピ
ュータ。 - 【請求項32】 請求項22において、前記プロセッサ
が、更に、実行した命令のアドレス情報を前記デバッグ
回路へ送信する手段を有していることを特徴とするマイ
クロコンピュータ。 - 【請求項33】 請求項22において、前記プロセッサ
が実行した命令のデータ情報を前記デバッグ回路へ送信
する手段を有していることを特徴とするマイクロコンピ
ュータ。 - 【請求項34】 請求項22において、前記プロセッサ
が実行した命令の処理識別子情報を前記デバッグ回路へ
送信する手段を有していることを特徴とするマイクロコ
ンピュータ。 - 【請求項35】 請求項22において、前記デバッグ回
路が、 前記プロセッサの動作を抑止する信号、 命令のフェッチを再開する信号、 前記プロセッサをリセットする信号、 前記デバッグ回路において例外が発生したことを表す信
号、のうちの少なくとも1つを包含するプロセッサ制御
信号を送信する手段を有していることを特徴とするマイ
クロコンピュータ。 - 【請求項36】 請求項22において、前記複数個のビ
ット値のうちの少なくとも1つが、マッチ値と実行した
命令のうちの一部との間のマッチ状態を表すことを特徴
とするマイクロコンピュータ。 - 【請求項37】 請求項22において、前記複数個のビ
ット値のうちの少なくとも1つが、マッチ値と実行した
命令に応答して前記プロセッサによってアクセスされた
メモリアドレスとの間のマッチ状態を表すことを特徴と
するマイクロコンピュータ。 - 【請求項38】 請求項22において、前記プロセッサ
が前記プロセッサのプログラムカウンタのインクリメン
トを表す値を前記デバッグ回路へ送信する手段を有して
いることを特徴とするマイクロコンピュータ。 - 【請求項39】 請求項22において、前記プロセッサ
が、更に、処理識別子値における変化を表す値を前記デ
バッグ回路へ送信する構成とされていることを特徴とす
るマイクロコンピュータ。 - 【請求項40】 請求項22において、前記デバッグ回
路が、前記プログラムカウンタを包含するトレース情報
を発生する手段を有していることを特徴とするマイクロ
コンピュータ。 - 【請求項41】 請求項22において、前記マイクロコ
ンピュータが単一の集積回路上で実現されていることを
特徴とするマイクロコンピュータ。 - 【請求項42】 通信リンクを介してプロセッサとデバ
ッグ回路との間で情報を転送する方法において、 オペランドアドレスと、命令アドレスとのうちの少なく
とも1つを包含する前記プロセッサにおける動作状態を
各々が表す複数個のビット値を前記デバッグ回路へ送信
し、 前記プロセッサのプログラムカウンタを表すプログラム
カウンタ値を送信する、ことを特徴とする方法。 - 【請求項43】 請求項42において、前記複数個のビ
ット値のうちの少なくとも1つがオペランド値を包含す
る前記プロセッサにおける動作状態を表すことを特徴と
する方法。 - 【請求項44】 請求項43において、前記プログラム
カウンタが前記プロセッサのパイプラインのライトバッ
クステージにおける前記プログラムカウンタの値に対応
する値を有していることを特徴とする方法。 - 【請求項45】 請求項44において、更に、前記ライ
トバックステージにおけるコンピュータ命令が有効なコ
ンピュータ命令であることを表すステータスを前記デバ
ッグ回路へ送信することを特徴とする方法。 - 【請求項46】 請求項44において、更に、前記ライ
トバックステージにおけるコンピュータ命令が分岐命令
後の最初の命令であることを表すステータスを前記デバ
ッグ回路へ送信することを特徴とする方法。 - 【請求項47】 請求項46において、更に、実行した
分岐命令のタイプを表すステータスを前記デバッグ回路
へ送信することを特徴とする方法。 - 【請求項48】 請求項47において、更に、実行した
分岐命令のタイプを表すトレースパケットを送信するこ
とを特徴とする方法。 - 【請求項49】 請求項42において、前記複数個のビ
ット値が前記プロセッサの実行前状態を表すことを特徴
とする方法。 - 【請求項50】 請求項42において、更に、例外を検
知した場合に前記複数個のビット値の送信を抑止するこ
とを特徴とする方法。 - 【請求項51】 請求項42において、更に、実行した
命令のアドレス情報を前記デバッグ回路へ送信すること
を特徴とする方法。 - 【請求項52】 請求項42において、更に、実行した
命令のデータ情報を前記デバッグ回路へ送信することを
特徴とする方法。 - 【請求項53】 請求項42において、更に、実行した
命令の処理識別子情報を前記デバッグ回路へ送信するこ
とを特徴とする方法。 - 【請求項54】 請求項42において、さらに、 前記プロセッサの動作を抑止させる信号、 命令のフェッチを再開させる信号、 前記プロセッサをリセットさせる信号、 前記デバッグ回路において例外が発生したことを表す信
号、のうちの少なくとも1つを包含するプロセッサ制御
信号を送信することを特徴とする方法。 - 【請求項55】 請求項42において、前記複数個のビ
ット値のうちの少なくとも1つがマッチ値と実行した命
令の一部との間のマッチ状態を表すことを特徴とする方
法。 - 【請求項56】 請求項42において、前記複数個のビ
ット値のうちの少なくとも1つが、マッチ値と実行した
命令に応答して前記プロセッサによってアクセスされた
メモリアドレスとの間のマッチ状態を表すことを特徴と
する方法。 - 【請求項57】 請求項42において、更に、前記プロ
セッサのプログラムカウンタのインクリメントを表す値
を前記デバッグ回路へ送信することを特徴とする方法。 - 【請求項58】 請求項42において、更に、前記デバ
ッグ回路へ処理識別子値における変化を表す値を送信す
ることを特徴とする方法。 - 【請求項59】 請求項42において、更に、前記プロ
グラムカウンタを包含するトレース情報を発生すること
を特徴とする方法。 - 【請求項60】 請求項42において、前記マイクロコ
ンピュータが単一の集積回路上に実現されていることを
特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/411792 | 1999-10-01 | ||
US09/411,792 US7793261B1 (en) | 1999-10-01 | 1999-10-01 | Interface for transferring debug information |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001147831A true JP2001147831A (ja) | 2001-05-29 |
Family
ID=23630352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000299928A Pending JP2001147831A (ja) | 1999-10-01 | 2000-09-29 | デバッグ情報転送インターフェース |
Country Status (4)
Country | Link |
---|---|
US (1) | US7793261B1 (ja) |
EP (1) | EP1091298B1 (ja) |
JP (1) | JP2001147831A (ja) |
DE (1) | DE60039481D1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004062858A (ja) * | 2002-07-29 | 2004-02-26 | Arm Ltd | データ処理装置内のアプリケーション・コードのコンパイル |
US7337366B2 (en) | 2003-12-19 | 2008-02-26 | International Business Machines Corporation | Microcomputer, a method for protecting memory and a method for performing debugging |
JP2010092285A (ja) * | 2008-10-08 | 2010-04-22 | Hitachi Ltd | ストレージシステム |
WO2012127955A1 (ja) * | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP2013058217A (ja) * | 2006-08-09 | 2013-03-28 | Qualcomm Inc | プロセッサ命令セット動作モードを比較するデバッグ回路 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10119265A1 (de) | 2001-04-20 | 2002-10-31 | Infineon Technologies Ag | Programmgesteuerte Einheit |
WO2003034225A2 (en) * | 2001-10-12 | 2003-04-24 | Pts Corporation | Debugging of processors |
JP4187470B2 (ja) * | 2002-06-25 | 2008-11-26 | 富士通マイクロエレクトロニクス株式会社 | 半導体装置の開発支援連携装置及び開発支援方法 |
JP2007526670A (ja) | 2003-06-25 | 2007-09-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | クロックドメイン間のイベントの無損失転送 |
FR2882832A1 (fr) * | 2005-03-04 | 2006-09-08 | St Microelectronics Sa | Dispositif de generation de suivi de branchement pour microprocesseur et microprocesseur dote d'un tel dispositif |
GB0509738D0 (en) * | 2005-05-12 | 2005-06-22 | Cambridge Consultants | Processor and interface |
US7650539B2 (en) | 2005-06-30 | 2010-01-19 | Microsoft Corporation | Observing debug counter values during system operation |
FR2897174B1 (fr) | 2006-02-08 | 2008-04-18 | St Microelectronics Sa | Processeur comportant une interface de debogage integree controlee par l'unite de traitement du processeur |
US8589738B2 (en) | 2009-05-05 | 2013-11-19 | Freescale Semiconductor, Inc. | Program trace message generation for page crossing events for debug |
US8438547B2 (en) * | 2009-05-05 | 2013-05-07 | Freescale Semiconductor, Inc. | Address translation trace message generation for debug |
WO2011048442A1 (en) * | 2009-10-22 | 2011-04-28 | Freescale Semiconductor, Inc. | Integrated circuits and methods for debugging |
US8863094B2 (en) | 2010-05-18 | 2014-10-14 | International Business Machines Corporation | Framework for a software error inject tool |
US9195524B1 (en) * | 2010-12-20 | 2015-11-24 | Marvell International Ltd. | Hardware support for performance analysis |
US9384109B2 (en) | 2014-04-17 | 2016-07-05 | Texas Instruments Deutschland Gmbh | Processor with debug pipeline |
US9225776B1 (en) * | 2014-08-11 | 2015-12-29 | International Business Machines Corporation | Distributing UI control events from a single event producer across multiple systems event consumers |
US11042469B2 (en) * | 2017-08-28 | 2021-06-22 | Microsoft Technology Licensing, Llc | Logging trace data for program code execution at an instruction level |
JP7378254B2 (ja) * | 2019-09-19 | 2023-11-13 | キヤノン株式会社 | マルチプロセッサデバイス |
US11409634B2 (en) * | 2019-11-14 | 2022-08-09 | Cisco Technology, Inc. | Retroactive tracing in a distributed system |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2159100B (en) | 1984-05-18 | 1988-10-26 | Unisys Corp | Passbook printer |
EP0165600B1 (en) | 1984-06-20 | 1991-11-21 | Convex Computer Corporation | Input/output bus for computer |
US4935867A (en) | 1986-03-04 | 1990-06-19 | Advanced Micro Devices, Inc. | Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations |
US4814981A (en) | 1986-09-18 | 1989-03-21 | Digital Equipment Corporation | Cache invalidate protocol for digital data processing system |
US5483518A (en) | 1992-06-17 | 1996-01-09 | Texas Instruments Incorporated | Addressable shadow port and protocol for serial bus networks |
JPH0666056B2 (ja) | 1989-10-12 | 1994-08-24 | 甲府日本電気株式会社 | 情報処理システム |
JPH03217949A (ja) | 1990-01-23 | 1991-09-25 | Hitachi Ltd | 計算機システム |
US5452432A (en) | 1990-08-14 | 1995-09-19 | Chips And Technologies, Inc. | Partially resettable, segmented DMA counter |
US5345580A (en) | 1990-11-29 | 1994-09-06 | Kabushiki Kaisha Toshiba | Microprocessor device and emulator device thereof |
JP2984463B2 (ja) | 1991-06-24 | 1999-11-29 | 株式会社日立製作所 | マイクロコンピュータ |
US5423050A (en) | 1991-11-27 | 1995-06-06 | Ncr Corporation | Intermodule test across system bus utilizing serial test bus |
US5724549A (en) | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
GB2266606B (en) | 1992-04-27 | 1996-02-14 | Intel Corp | A microprocessor with an external command mode |
US5448576A (en) | 1992-10-29 | 1995-09-05 | Bull Hn Information Systems Inc. | Boundary scan architecture extension |
JP3231429B2 (ja) | 1992-11-06 | 2001-11-19 | 株式会社日立製作所 | 中央処理装置と乗算器とを有する半導体集積回路装置 |
JPH06150023A (ja) | 1992-11-06 | 1994-05-31 | Hitachi Ltd | マイクロコンピュータ及びマイクロコンピュータシステム |
JP3524110B2 (ja) | 1992-11-06 | 2004-05-10 | 株式会社ルネサステクノロジ | マイクロコンピュータシステム |
US5627842A (en) | 1993-01-21 | 1997-05-06 | Digital Equipment Corporation | Architecture for system-wide standardized intra-module and inter-module fault testing |
JP2731692B2 (ja) | 1993-04-28 | 1998-03-25 | 日本電気アイシーマイコンシステム株式会社 | デバッグ装置 |
US5598551A (en) | 1993-07-16 | 1997-01-28 | Unisys Corporation | Cache invalidation sequence system utilizing odd and even invalidation queues with shorter invalidation cycles |
EP0636976B1 (en) | 1993-07-28 | 1998-12-30 | Koninklijke Philips Electronics N.V. | Microcontroller provided with hardware for supporting debugging as based on boundary scan standard-type extensions |
JP3610095B2 (ja) | 1993-07-30 | 2005-01-12 | テキサス インスツルメンツ インコーポレイテツド | 電気回路のストリームライン化(Streamlined)された同時試験方法と装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
EP0652516A1 (en) | 1993-11-03 | 1995-05-10 | Advanced Micro Devices, Inc. | Integrated microprocessor |
US5596734A (en) | 1993-12-17 | 1997-01-21 | Intel Corporation | Method and apparatus for programming embedded memories of a variety of integrated circuits using the IEEE test access port |
US5828825A (en) | 1993-12-22 | 1998-10-27 | Intel Corporation | Method and apparatus for pseudo-direct access to embedded memories of a micro-controller integrated circuit via the IEEE test access port |
US5434804A (en) | 1993-12-29 | 1995-07-18 | Intel Corporation | Method and apparatus for synchronizing a JTAG test control signal to an on-chip clock signal |
US5488688A (en) | 1994-03-30 | 1996-01-30 | Motorola, Inc. | Data processor with real-time diagnostic capability |
JPH07287668A (ja) | 1994-04-19 | 1995-10-31 | Hitachi Ltd | データ処理装置 |
GB9417602D0 (en) | 1994-09-01 | 1994-10-19 | Inmos Ltd | A controller for implementing scan testing |
JP3740195B2 (ja) | 1994-09-09 | 2006-02-01 | 株式会社ルネサステクノロジ | データ処理装置 |
JP3713312B2 (ja) | 1994-09-09 | 2005-11-09 | 株式会社ルネサステクノロジ | データ処理装置 |
US5848247A (en) | 1994-09-13 | 1998-12-08 | Hitachi, Ltd. | Microprocessor having PC card interface |
US5613153A (en) | 1994-10-03 | 1997-03-18 | International Business Machines Corporation | Coherency and synchronization mechanisms for I/O channel controllers in a data processing system |
US5751621A (en) | 1994-11-17 | 1998-05-12 | Hitachi, Ltd. | Multiply-add unit and data processing apparatus using it |
TW330265B (en) | 1994-11-22 | 1998-04-21 | Hitachi Ltd | Semiconductor apparatus |
JP2752592B2 (ja) | 1994-12-28 | 1998-05-18 | 日本ヒューレット・パッカード株式会社 | マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 |
DE69523884T2 (de) * | 1994-12-28 | 2002-06-27 | Agilent Technologies Inc., A Delaware Corp. | Mikroprozessor mit Fehlersuchsystem |
US5778237A (en) | 1995-01-10 | 1998-07-07 | Hitachi, Ltd. | Data processor and single-chip microcomputer with changing clock frequency and operating voltage |
US5664197A (en) | 1995-04-21 | 1997-09-02 | Intel Corporation | Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller |
US5867726A (en) | 1995-05-02 | 1999-02-02 | Hitachi, Ltd. | Microcomputer |
US5570375A (en) | 1995-05-10 | 1996-10-29 | National Science Council Of R.O.C. | IEEE Std. 1149.1 boundary scan circuit capable of built-in self-testing |
US5860127A (en) | 1995-06-01 | 1999-01-12 | Hitachi, Ltd. | Cache memory employing dynamically controlled data array start timing and a microcomputer using the same |
US5774701A (en) | 1995-07-10 | 1998-06-30 | Hitachi, Ltd. | Microprocessor operating at high and low clok frequencies |
US5708773A (en) | 1995-07-20 | 1998-01-13 | Unisys Corporation | JTAG interface system for communicating with compliant and non-compliant JTAG devices |
US5737516A (en) | 1995-08-30 | 1998-04-07 | Motorola, Inc. | Data processing system for performing a debug function and method therefor |
US5964893A (en) | 1995-08-30 | 1999-10-12 | Motorola, Inc. | Data processing system for performing a trace function and method therefor |
US5704034A (en) | 1995-08-30 | 1997-12-30 | Motorola, Inc. | Method and circuit for initializing a data processing system |
JP3655403B2 (ja) | 1995-10-09 | 2005-06-02 | 株式会社ルネサステクノロジ | データ処理装置 |
US5950012A (en) | 1996-03-08 | 1999-09-07 | Texas Instruments Incorporated | Single chip microprocessor circuits, systems, and methods for self-loading patch micro-operation codes and patch microinstruction codes |
US5978874A (en) | 1996-07-01 | 1999-11-02 | Sun Microsystems, Inc. | Implementing snooping on a split-transaction computer system bus |
GB9617033D0 (en) | 1996-08-14 | 1996-09-25 | Int Computers Ltd | Diagnostic memory access |
US5768152A (en) | 1996-08-28 | 1998-06-16 | International Business Machines Corp. | Performance monitoring through JTAG 1149.1 interface |
JP3641327B2 (ja) | 1996-10-18 | 2005-04-20 | 株式会社ルネサステクノロジ | データプロセッサ及びデータ処理システム |
GB9622686D0 (en) | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | A test port controller and a method of effecting communication using the same |
US5953538A (en) | 1996-11-12 | 1999-09-14 | Digital Equipment Corporation | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges |
US5983017A (en) | 1996-11-12 | 1999-11-09 | Lsi Logic Corporation | Virtual monitor debugging method and apparatus |
US5771240A (en) | 1996-11-14 | 1998-06-23 | Hewlett-Packard Company | Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin |
US5956477A (en) | 1996-11-25 | 1999-09-21 | Hewlett-Packard Company | Method for processing information in a microprocessor to facilitate debug and performance monitoring |
EP0869434A3 (en) | 1997-03-31 | 1999-09-15 | Hewlett-Packard Company | Method for outputting trace information of a microprocessor |
US5896550A (en) | 1997-04-03 | 1999-04-20 | Vlsi Technology, Inc. | Direct memory access controller with full read/write capability |
US5978902A (en) | 1997-04-08 | 1999-11-02 | Advanced Micro Devices, Inc. | Debug interface including operating system access of a serial/parallel debug port |
US5944841A (en) | 1997-04-15 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor with built-in instruction tracing capability |
GB9802097D0 (en) | 1998-01-30 | 1998-03-25 | Sgs Thomson Microelectronics | DMA controller |
GB9806184D0 (en) | 1998-03-23 | 1998-05-20 | Sgs Thomson Microelectronics | A cache coherency mechanism |
GB9809203D0 (en) | 1998-04-29 | 1998-07-01 | Sgs Thomson Microelectronics | Packet distribution in a microcomputer |
-
1999
- 1999-10-01 US US09/411,792 patent/US7793261B1/en not_active Expired - Fee Related
-
2000
- 2000-09-25 EP EP00308369A patent/EP1091298B1/en not_active Expired - Lifetime
- 2000-09-25 DE DE60039481T patent/DE60039481D1/de not_active Expired - Fee Related
- 2000-09-29 JP JP2000299928A patent/JP2001147831A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004062858A (ja) * | 2002-07-29 | 2004-02-26 | Arm Ltd | データ処理装置内のアプリケーション・コードのコンパイル |
US7337366B2 (en) | 2003-12-19 | 2008-02-26 | International Business Machines Corporation | Microcomputer, a method for protecting memory and a method for performing debugging |
JP2013058217A (ja) * | 2006-08-09 | 2013-03-28 | Qualcomm Inc | プロセッサ命令セット動作モードを比較するデバッグ回路 |
JP2010092285A (ja) * | 2008-10-08 | 2010-04-22 | Hitachi Ltd | ストレージシステム |
WO2012127955A1 (ja) * | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP5628411B2 (ja) * | 2011-03-24 | 2014-11-19 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1091298A3 (en) | 2004-06-02 |
EP1091298A2 (en) | 2001-04-11 |
US7793261B1 (en) | 2010-09-07 |
EP1091298B1 (en) | 2008-07-16 |
DE60039481D1 (de) | 2008-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6859891B2 (en) | Apparatus and method for shadowing processor information | |
JP2001147831A (ja) | デバッグ情報転送インターフェース | |
US6145122A (en) | Development interface for a data processor | |
US5978902A (en) | Debug interface including operating system access of a serial/parallel debug port | |
US6553513B1 (en) | Emulation suspend mode with differing response to differing classes of interrupts | |
US8380966B2 (en) | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging | |
US8370806B2 (en) | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor | |
US6009270A (en) | Trace synchronization in a processor | |
JP4190114B2 (ja) | マイクロコンピュータ | |
US6754856B2 (en) | Memory access debug facility | |
US20060059286A1 (en) | Multi-core debugger | |
EP0942372B1 (en) | Processor with breakpoint circuit | |
US7506205B2 (en) | Debugging system and method for use with software breakpoint | |
US8201025B2 (en) | Debug messaging with selective timestamp control | |
US7340564B2 (en) | Tracing instruction flow in an integrated processor | |
US20040030870A1 (en) | Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems | |
KR20010006193A (ko) | 소형의 트레이스 기록 기억장치를 포함하는 디버그 인터페이스 | |
KR20010006188A (ko) | 마이크로프로세서 기반 장치용 트레이스 캐시 | |
JP2000330825A (ja) | データ処理装置及びデータ処理方法 | |
EP0942375B1 (en) | Adapter device with a local memory and method for processor emulation | |
EP0942373B1 (en) | Adapter device with a local memory and method for processor emulation | |
US20100318752A1 (en) | Event Triggered Memory Mapped Access | |
US6389498B1 (en) | Microprocessor having addressable communication port | |
US20030100133A1 (en) | System-on-chip breakpoint synchronization | |
EP0840223B1 (en) | Microcomputer capable of accessing an external memory |