JPH09218803A - データプロセッサ - Google Patents
データプロセッサInfo
- Publication number
- JPH09218803A JPH09218803A JP8239886A JP23988696A JPH09218803A JP H09218803 A JPH09218803 A JP H09218803A JP 8239886 A JP8239886 A JP 8239886A JP 23988696 A JP23988696 A JP 23988696A JP H09218803 A JPH09218803 A JP H09218803A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- data
- breakpoint
- value
- bit
- 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
- 238000012545 processing Methods 0.000 claims abstract description 111
- 230000004044 response Effects 0.000 claims description 28
- 239000012536 storage buffer Substances 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 22
- 238000011161 development Methods 0.000 abstract description 104
- 230000008859 change Effects 0.000 abstract description 5
- 230000018109 developmental process Effects 0.000 description 102
- 230000006870 function Effects 0.000 description 74
- 238000012546 transfer Methods 0.000 description 26
- 230000001960 triggered effect Effects 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 16
- 239000000872 buffer Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 6
- 239000003550 marker Substances 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000004020 conductor Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 239000003607 modifier Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
- G06F11/364—Software debugging by tracing the execution of the program tracing values on a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Abstract
くかつデータプロセッサ3の効率や速度に大きな影響を
与えることなく外部開発システム7がデータプロセッサ
3の内部動作を動的に観察可能な実時間トレース機能を
実現する。 【解決手段】 データプロセッサ3のデバッグモジュー
ル10はDDATA信号およびPST信号を介して内部
動作情報を提供する並列出力ポートを提供する。DDA
TA信号はオペランド値を反映するデータを提供しかつ
PST信号は中央処理ユニット92の実行ステータスを
反映する符号化されたステータス情報を提供する。さら
に、DDATA信号はまた外部開発システム7が外部的
に見ることができるアドレスバスまたは外部的に見るこ
とができるデータバスを要求することなく正確なプログ
ラムフローをトレースできるようにするため捕捉された
命令アドレスプログラムフローの変更を可能にする。
Description
理システムに関し、かつより特定的にはデータ処理シス
テムにおいてデバッグ機能を行うための方法および装置
に関する。
動作しない場合、障害の源を識別するために種々の分析
技術を使用することができる。一般に、トレース機能
(trace functions)およびブレークポ
イント機能(breakpoint function
s)がデータ処理システム内で行われてうまく作動しな
い回路の分離およびうまく作動しないソフトウエアプロ
グラムの訂正を助ける。
作の実行の中間結果を観察できるようにする。トレース
機能は一般にデータ処理システムによってソフトウエア
プログラムの各命令または所定のグループの命令が実行
された後に該データ処理システムに含まれる選択された
レジスタおよびメモリのステータスを提供する。選択さ
れたレジスタおよびメモリのステータスを反映させるこ
とにより、トレース機能は外部ユーザにデータプロセッ
サまたはデータ処理システムの内部プログラミングモデ
ルに関する非常に詳細な情報を提供する。この情報によ
り、多くの形式のエラーは識別できかつ実質的に訂正で
きる。ブレークポイント機能もまたデータ処理システム
における誤ったソフトウエアコードまたは欠陥のある回
路を識別しかつ分離するための方法を提供する。ブレー
クポイント機能は、要するに、予めプログラムされた事
象が発生した場所においてソフトウエアプログラム中で
中断を生じさせるものである。次にソフトウエアプログ
ラムのステータスを判定するためにデータが得られる。
トレース機能と同様に、ブレークポイント機能は外部ユ
ーザがデータ処理のエラーが識別できるように選択され
たレジスタおよびメモリのおのおののステータスを確か
めることができるようにする。
の双方は現在入手可能なデータ処理システムにおいて集
積回路化されてきており前に述べた分離および識別能力
を提供する。例えば、アメリカ合衆国、カリフォルニア
州、サンタ・クララのインテル・コーポレイションから
入手可能な、i960Jxマイクロプロセッサはトレー
ス事象(trace events)およびトレース障
害(trace faults)を発生する内部ブレー
クポイントレジスタを有する集積回路マイクロプロセッ
サである。i960Jxマイクロプロセッサにおいて
は、内部ブレークポイントレジスタは命令実行アドレス
に際してまたは種々のタイプのデータアクセスのアドレ
スに際してトラップまたは捕捉するのに専用のものであ
る。i960Jxマイクロプロセッサのトレーシング設
備を使用するためには、マイクロプロセッサを使用する
ソフトウエアは障害処理手順またはデバッグ用モニタプ
ログラムとのインタフェースを提供しなければならな
い。種々のトレーシングモードを可能にしかつトレーシ
ング機能を選択的にイネーブルしまたはディスエーブル
するためにいくつかのレジスタおよび制御ビットを操作
するためにもソフトウエアが必要とされる。
州、サンタ・クララのインテル・コーポレイションから
入手可能な、80486マイクロプロセッサは内部ブレ
ークポイントレジスタを備えた集積回路マイクロプロセ
ッサでありかつトレース機能を行うことができる。80
486マイクロプロセッサでは、ブレークポイント命令
は内部ソフトウエアのデバッガ装置によって使用するた
めに実施されこの場合内部ソフトウエアは単にデータ処
理システムで動作するソフトウエアを参照するのみであ
る。一般の動作の間は、ソフトウエアデバッグプログラ
ムは実行されるソフトウエアコードの種別に依存するす
べての所望のブレークポイントにおいてブレークポイン
ト命令を実施することができる。前記80486型マイ
クロプロセッサはまたトラップルーチンが実行された後
に割込みを実行する単一ステップのトラップ機能を実施
するためのメカニズムを提供する。
イクロプロセッサおよび80486型マイクロプロセッ
サはブレークポイントおよびトレース機能を集積してい
るが、該マイクロプロセッサのデバッグ機能は該マイク
ロプロセッサが通常の動作を中止しかつ特別のデバッグ
例外ルーチンに入ることを要求する。該デバッグ例外ル
ーチンの間は、マイクロプロセッサはそれらが通常の動
作の間に行うように機能せずかつ、従って、回路または
ソフトウエアの障害が同様に発生しないことがある。そ
の結果、外部ユーザはリアルタイムの障害状態が実際に
起こらない場合はいずれのマイクロプロセッサにおいて
も障害の根本原因を確認しかつ分離することができない
であろう。
セッサおよび前記80486型マイクロプロセッサはい
ずれもブレークポイントおよびトレース機能の間にプロ
グラム制御を提供するためにマイクロプロセッサによっ
て実行される内部ソフトウエアデバッグプログラムを必
要とする。そのようなデバッグ制御を使用することは多
量のオーバヘッドを必要とする非常に侵入的な(int
rusive)方法のデバッグを提供する。また、デバ
ッグ用ソフトウエアを使用することは障害のマイクロプ
ロセッサにおける障害の回路またはシーケンスの真の反
映を与えることができない。
アルタイムのデバッグ機能の双方を提供するデータプロ
セッサの必要性が存在する。もしトレースおよびデバッ
グ機能の双方が通常動作の間に、かつ特別のデバッグモ
ードの動作においてではなく、データプロセッサの動作
を反映する方法で実行されれば、外部ユーザはデータプ
ロセッサの回路およびソフトウエアの障害をより正確に
識別しかつ訂正できるであろう。
トおよびトレース機能の双方をリアルタイムでかつ特別
のモードの動作を必要とすることなく提供できるデータ
処理システムを提供する。さらに、ブレークポイントお
よびトレース機能の双方はデータ処理システムによっ
て、データプロセッサが外部アドレスバスまたは外部デ
ータバスを介してアドレスおよびデータ情報を提供する
ためにテストされることを必要とすることなく実行でき
る。この外部バスからの独立性は本発明がサイズ、タイ
プ、プロトコル、または外部バスの存在にもかかわらず
種々のデータ処理システムに対し適用できる効率的なデ
バッグメカニズムを提供できるようにする。
ポイント機能をリアルタイムで実施するためのアーキテ
クチャおよび方法を提供する。テストされているデータ
プロセッサは典型的にはトレースおよびブレークポイン
ト機能が実行される前に動作を停止しまたは変更するこ
とを要求されない。従って、本発明は、データプロセッ
サが通常通り動作しておりかつデバッグ動作のための特
別のモードにない間に外部ユーザが障害を分離できるよ
うにする。また、本発明はリアルタイムのトレースまた
はリアルタイムのデバッグ動作の実行に応じて直接外部
ユーザにデータを提供する。トレース機能またはデバッ
グ機能を行うために外部ソフトウエアモニタプログラム
または外部エミュレータを必要とする従来技術の装置と
異なり、本発明はデータプロセッサの現在の動作を示す
データを外部ユーザに提供する。従って、本発明はデー
タプロセッサに大幅に侵入しまたは悪影響を与えること
なくトレースおよびデバッグ機能を提供する。本発明の
動作は引き続き詳細に説明する。
るデータ処理システムの1実施形態の接続および動作に
つき非常に詳細に説明する。
以下の説明では、用語「バス」は、データ、アドレス、
制御またはステータスのような、1つまたはそれ以上の
種々のタイプの情報を転送するために使用できる複数の
信号または導体に言及するために使用される。用語「肯
定する」および「否定する」は信号、ステータスビッ
ト、または同様の装置を、それぞれ、その論理的に真の
または論理的に偽の状態にする場合に使用される。もし
前記論理的に真の状態が論理レベル“1”であれば、前
記論理的に偽の状態は論理レベル“0”である。また、
もし前記論理的に真の状態が論理レベル“0”であれ
ば、前記論理的に偽の状態は論理レベル“1”である。
の数が16進または16をベースとする形式で表されて
いることを示す。ある数に先行する記号“%”はその数
がその2進または2をベースとした形式で表されている
ことを示す。
実施形態に係わるデータ処理システム5を示す。データ
処理システム5はデータプロセッサ3および外部開発シ
ステム(external development
system)7を具備する。データプロセッサ3はシ
ステムバスコントローラ8、コア(core)9、スレ
イブモジュール12、スレイブモジュール13、マスタ
モジュール14、およびデバッグモジュール10を含
む。システムバスコントローラ8はE−バスを介して外
部装置(ここでは図示されていない)に結合されてい
る。システムバスコントローラ8はS−バスを介してス
レイブモジュール12およびスレイブモジュール13に
結合されている。該S−バスはスレイブモジュールバス
である。システムバスコントローラ8はM−バス23を
介してコア9およびマスタモジュール14に結合されて
いる。M−バス23はマスタモジュールバスである。
メモリ管理ユニット(MMU)/コントローラ4、およ
びメモリ6を具備する。中央処理ユニット2、MMU/
コントローラ4、メモリ6、およびデバッグモジュール
10はおのおの互いにK−バス25を介して結合されて
いる。中央処理ユニット2およびメモリ6はまた直接M
MU/コントローラ4に接続されている。MMU/コン
トローラ4は情報をM−バス23を介してデータ処理シ
ステム5の残りの部分に提供する。中央処理ユニット2
はCPST信号を提供するためにおよびストール(St
all)信号を受信するためにデバッグモジュール10
に結合されている。CPU2はまた外部装置からリセッ
ト(Reset)信号を受信する。デバッグモジュール
10はプロセッサステータス(PST)信号、デバッグ
データ(DDATA)信号、および開発シリアルデータ
出力(development serial dat
aout:DSDO)信号を外部ユーザに提供する。デ
バッグモジュール10は開発シリアルデータ入力(de
velopment serial datain:D
SDI)信号、開発シリアルクロック(DSCLK)、
およびブレークポイント(*BKPT)信号をデータ処
理システム5の外部の装置(図示せず)から受け取る。
なお、ここで記号*は信号の論理的反転を示し、いわゆ
るオーババー(overbar)に対応する。
細に示す。デバッグモジュール10は制御回路20、シ
リアルインタフェース30、レジスタ32、複数の制御
レジスタ40、複数のハードウエアブレークポイントレ
ジスタ50、制御回路60、FIFO70、複数のマル
チプレクサ80、およびブレークポイント回路100を
含む。
(図2には詳細に示されていない)を介して制御回路2
0に与えられる。制御回路20は複数のビットを有する
「ステータス(Status)」信号を受信するために
複数の制御レジスタ40に結合されている。制御回路2
0はブレークポイント回路100に結合されて複数のビ
ットを有する「ブレークポイント(Breakpoin
t)」信号を受け取る。制御回路20は複数のビットを
有する「トレース(Trace)」信号を提供するため
に制御回路60に結合されている。制御回路20は制御
バス15を介して前記複数の制御レジスタ40、前記複
数のハードウエアブレークポイントレジスタ50、およ
びレジスタ32に結合されている。制御回路20は複数
の「ブレークポイント制御」信号および「バス要求」信
号をCPU2に提供する。制御回路20はまたCPU2
によって提供される「バス承認」信号を受信する。
2からマルチビットシリアル情報信号を受け取る。前記
複数の制御レジスタ40は複数のビットを有する「構成
(Configuration)」信号を制御回路60
に提供する。ブレークポイント回路100はK−バス2
5からKADDR(Kアドレス)信号およびKDATA
信号を受信する。前記複数のハードウエアブレークポイ
ントレジスタ50はまた複数のビットを有する「内部デ
ータ」信号をレジスタ32に提供する。K−バス25は
また前記複数のハードウエアブレークポイントレジスタ
50に提供されている。K−バス25はKADDR信
号、KDATA信号、およびKCONTROL信号の集
まりであることに注意を要する。これらKADDR、K
DATA、およびKCONTROL信号のおのおのはブ
レークポイント回路100に入力される。
れ、第1および第2の集積回路ピンからDSDIおよび
DSCLK信号を受信する。シリアルインタフェース3
0はDSDO信号を第3の集積回路ピンに提供する。シ
リアルインタフェース30はレジスタ32に結合されて
いる。レジスタ32は前記複数の制御レジスタ40およ
び前記複数のハードウエアブレークポイントレジスタ5
0に結合されてマルチビット(シリアル情報)信号を提
供する。
2に提供する。制御回路60はまた「FIFO制御」信
号をFIFO70にかつ「Mux制御」信号を複数のマ
ルチプレクサに提供する。FIFO70はK−バス25
に結合されて前記KADDRおよびKDATA信号を受
信する。FIFO70はまたFIFO信号を提供するた
めに前記複数のマルチプレクサ80に結合されている。
FIFO70はまた「フル(Full)」信号を制御回
路60に提供する。前記複数のマルチプレクサ80はC
PU2からCPST信号を受信する。前記複数のマルチ
プレクサ80はDDATA信号およびPST信号を提供
する。
0を動作させるためにおよびレジスタ32内の情報の格
納を制御するために必要な信号を提供する。いったんレ
ジスタ32にデータがロードされると、制御回路20は
このデータを制御回路40または前記複数のハードウエ
アブレークポイントレジスタ50の適切な宛先へと転送
するよう指令する。制御回路20によって実行される制
御機能は「制御」バス15によって通信される。ロード
動作の実行を制御することに加えて、制御回路20は制
御回路40からステータス情報を受信しかつブレークポ
イント回路100からブレークポイント情報を受信す
る。制御回路20は集合的に該ステータス情報およびブ
レークポイント情報を使用して前記「バス要求」信号、
「ブレークポイント制御」信号、および「トレース」信
号を発生する。
り詳細に示す。ブレークポイント回路100はアドレス
ブレークポイントハイレジスタ(ABHR)110、ア
ドレスブレークポイントローレジスタ(ABLR)12
0、比較器130、比較器140、データブレークポイ
ントマスクレジスタ(DBMR)150、データブレー
クポイントレジスタ(DBR)160、一時データレジ
スタ170、比較器180、プログラムカウンタブレー
クポイントマスクレジスタ(PBMR)190、プログ
ラムカウンタブレークポイントレジスタ(PBR)11
5、一時プログラムカウンタ(PC)レジスタ125、
および比較器135を具備する。
R 120,DBMR 150,DBR 160,PB
MR 190,およびPBR 115のおのおのの入力
に結合されている。前記「シリアル情報」信号はABH
R 110,ABLR 120,DBMR 150,お
よびDBR160のおのおのの入力に結合されている。
前記KCONTROL信号はPBMR 190,PBR
115,および一時PCレジスタ125のおのおのの
入力に結合されている。ABHR 110の第1の出力
は前記KADDR信号に結合されている。制御バス15
はまた一時レジスタ170および125に結合されてい
る。前記「シリアル情報」信号は比較器130の第1の
入力に結合されている。前記KADDR信号は第2の入
力を比較器130に提供する。ABLR 120は第1
の入力を比較器140に提供しかつ前記KADDR信号
は第2の入力を比較器140に提供する。比較器130
の出力および比較器140の出力はともに前記「ブレー
クポイント」信号導体に結合されている。
イネーブル入力に結合されている。DBR 160の出
力は比較器180の第1の入力に結合されている。前記
KDATA信号は一時データレジスタ170の入力に結
合されている。一時データレジスタ170の出力は比較
器180の第2の入力にかつ前記「内部データ」信号に
結合されている。比較器180の出力は前記「ブレーク
ポイント」信号導体に結合されている。
イネーブル入力に結合されている。PBR 115の出
力は比較器135の第1の入力に結合されている。前記
KCONTROL信号は一時プログラムカウンタレジス
タ125の入力に結合されている。一時PCレジスタ1
35の出力は比較器135の第2の入力に結合されてい
る。比較器135の出力は前記「ブレークポイント」信
号導体に結合されている。
詳細に示す。中央処理ユニット2の該部分は命令フェッ
チパイプライン(IFP)210およびオペランド実行
パイプライン(OEP)220を具備する。IFP 2
10は命令アドレス発生回路202、命令フェッチ回路
204、およびFIFO命令バッファ206を含む。O
EP 220はオペランドフェッチ回路212、および
アドレス発生回路214を具備する。
ファ208の第1の入力に結合されている。命令フェッ
チ回路204の出力はFIFO命令バッファ206およ
びオペランドフェッチ回路212の双方に結合されてい
る。FIFO命令バッファ206の出力はオペランドフ
ェッチ回路212に結合されている。アドレス発生回路
214の第1の出力はバッファ208の第2の入力に結
合されている。アドレス発生回路214の第2の出力は
バッファ216に結合されている。
フェッチ回路212におよび命令フェッチ回路204に
結合されている。バッファ216の第2の出力はKDA
TA信号を提供する。該KDATA信号はまたバッファ
216に提供される。バッファ206の出力は前記KA
DDR信号を提供する。
ジスタ40の一部をより詳細に示す。本発明の1つの実
施形態では、前記複数の制御レジスタ40の該部分はト
リガ定義レジスタ(Trigger Definiti
on register:TDR)および構成/ステー
タスレジスタ(CSR)を含む。
成を記憶しかつパイプライン化条件の下で実行される選
択された機能のための制御を提供する。本発明のこの実
施形態では、トリガは1または2レベルトリガとして構
成され、この場合ビット31〜16は第2のレベルのト
リガを規定しかつビット15〜0は第1のレベルのトリ
ガを規定する。該トリガが2レベルトリガとして構成さ
れる場合、該トリガは条件構成(conditiona
l construct)と同様に機能する。例えば、
もし第1の条件、またはレベル、のトリガが満たされれ
ば、第2の条件、またはレベル、が、トリガがデータ処
理システム5によって実行されるべきブレークポイント
機能を可能にする前に満たされなければならない。これ
は以下の表のように言い換えることができる。
条件が満たされれば、次にトリガ。 (If 1st condition is sati
sfied,then if 2nd conditi
on is satisfiedthen TRIGG
ER.)
機能につき引き続きより詳細に説明する。
該TDRのPCIビットは「プログラムカウンタブレー
クポイント反転(Program Counter B
reakpoint Invert)」ビットである。
もしPCIビットが肯定されれば、プログラムカウンタ
ブレークポイントは前記プログラムカウンタブレークポ
イント(PBR)およびプログラムカウンタブレークポ
イントマスク(PBMR)レジスタで規定される範囲の
外側で開始される。もしPCIビットが否定されれば、
プログラムカウンタのブレークポイントは前記PBRお
よびPBMRで規定される範囲内で規定される。
ーブル(Enable Program Counte
r Breakpoint:EPC)ビットは選択的
に、それが肯定されたとき、プログラムカウンタブレー
クポイント、PBRおよびPBMR、に対するトリガの
依存性をイネーブルする。前記EPCビットが否定され
たとき、プログラムカウンタのブレークポイントはディ
スエーブルされる。
ークポイントロー(EnableAddress Br
eakpoint Low:EAL)ビットは前記複数
のハードウエアブレークポイントレジスタ50の「アド
レスブレークポイントレジスタ」のABLRに格納され
たアドレスがブレークポイントトリガとして機能できる
ようにする。従って、もしEALビットが肯定されれ
ば、前記KADDR信号を介して転送されるアドレス値
が前記「アドレスブレークポイントレジスタ」のABL
Rに格納されたアドレス値と同じ場合にブレークポイン
トはトリガする。
ンジ(Enable Address Breakpo
int Range:EAR)」ビットは該ビットが肯
定されたとき前記複数のハードウエアブレークポイント
レジスタ50の「アドレスブレークポイントレジスタ」
のABHRおよびABLRによって規定される包括的レ
ンジ(inclusive range)に際してブレ
ークポイントがトリガできるようにする。従って、もし
前記EARビットが肯定されれば、前記KADDR信号
を介して転送されるアドレス値が前記「アドレスブレー
クポイントレジスタ」のABLRおよびABHRに格納
されたアドレス値によって規定される範囲内にある場合
にブレークポイントはトリガする。
レークポイント反転(EnableAddress B
reakpoint Inverted:EAI)」ビ
ットは前記複数のハードウエアブレークポイントレジス
タ50の「アドレスブレークポイントレジスタ」のAB
LRおよびABHRによって規定される範囲を除いた、
または該範囲の外側の、アドレス範囲に際してブレーク
ポイントがトリガできるようにする。従って、EAIビ
ットが肯定されたとき、前記KADDR信号を介して転
送されるアドレス値が前記「アドレスブレークポイント
レジスタ」のABLRに格納されたアドレス値より小さ
いか、あるいは前記「アドレスブレークポイントレジス
タ」のABHRに格納されたアドレス値より大きい場合
にブレークポイントはトリガする。
Breakpoint Invert:DI)」ビッ
トはそれが肯定されたとき複数のデータブレークポイン
ト比較器の論理的センス(logical sens
e)を反転する。該DIビットは前記複数のハードウエ
アブレークポイントレジスタ50のDBR内にプログラ
ムされたデータ値と等しくないデータ値の出現にもとづ
きトリガを展開するために使用できる。
のためのデータブレークポイントイネーブル(Enab
le Data Breakpoint for th
eUpper Upper Data Byte:ED
UU)ビットは前記KDATA信号およびK−バス25
を介して転送されるデータ値のビット31〜24にもと
づきデータブレークポイントのトリガを可能にする。同
様に、肯定されたとき、「上位中部データバイトのため
のデータブレークポイントイネーブル(Enable
Data Breakpoint for the U
pper Middle Data Byte:EDM
U)」ビットは前記KDATA信号およびK−バス25
を介して転送されるデータ値のビット23〜16にもと
づきデータブレークポイントのトリガを可能にする。さ
らに、肯定されたとき、「下位中部データバイトのため
のデータブレークポイントイネーブル(EnableD
ata Breakpoint for the Lo
wer MiddleData Byte:EDLM)
ビットは前記KDATA信号およびK−バス25を介し
て転送されるデータ値のビット15〜8に基づきデータ
ブレークポイントのトリガを可能にする。また、肯定さ
れたとき、「下位下部データバイトのためのデータブレ
ークポイントイネーブル(Enable Data B
reakpoint for the Lower L
ower Data Byte:EDLL)」ビットは
前記KDATA信号およびK−バス25を介して転送さ
れるデータ値のビット8〜0にもとづきデータブレーク
ポイントのトリガを可能にする。
クポイントイネーブル(Enable Data Br
eakpoint for the Upper Da
taWord:EDWU)」ビットは肯定されたとき前
記KDATA信号およびK−バス25を介して転送され
るデータ値のビット31〜16にもとづきデータブレー
クポイントのトリガを可能にする。「下位データワード
のためのデータブレークポイントイネーブル(Enab
le Data Breakpoint for th
e Lower Data Word:EDWL)」ビ
ットは肯定されたとき前記KDATA信号およびK−バ
ス25を介して転送されるデータ値のビット15〜0に
基づきデータブレークポイントのトリガを可能にする。
ークポイントイネーブル(Enable Data B
reakpoint for the Data Lo
ngword:EDLW)」ビットは肯定されたとき前
記KDATA信号およびK−バス25を介して転送され
るデータ値のビット31〜0にもとづきデータブレーク
ポイントのトリガを可能にする。前記EDUU,EDU
M,EDLM,EDLL,EDWU,EDWL,および
EDLWビットの内のいずれのものの肯定もデータブレ
ークポイントのトリガを可能にすることに注目すべきで
ある。一般に必要とされるように、前記与えられた条件
はデータブレークポイントが実際にトリガされる前に生
じるべきである。もし前記EDUU,EDUM,EDL
M,EDLL,EDWU,EDWL,およびEDLWビ
ットのおのおのが否定されれば、前記データブレークポ
イントのトリガは本発明の1実施形態ではディスエーブ
ルされる。
は、データブレークポイントのトリガはミスアラインの
(misaligned)またはアンアラインの(un
aligned)オペランド参照に応じて発生するよう
にすることができる。ミスアラインのまたはアンアライ
ンのオペランド参照に応じたブレークポイントトリガの
この発生は以下の方法を使用する。バイトサイズの参照
に対しては、適切な組のデータビットがオペランドアド
レスの2つの下位ビットの関数としてプログラムされ
る。以下の例を参照されたい。
TA[31:24]がプログラムされ、KADDR
[1:0]=01であれば、KDATA[23:16]
がプログラムされ、KADDR[1:0]=10であれ
ば、KDATA[15:8]がプログラムされ、かつK
ADDR[1:0]=11であれば、KDATA[7:
0]がプログラムされる。
ATA信号を介して転送されるデータ値のビット31〜
16またはビット15〜0が前記KADDR信号のビッ
ト1の関数としてプログラムされることになる。もし前
記KADDR信号のビット1が論理“0”の値であれ
ば、ビット31〜16がプログラムされる。もし前記K
ADDR信号のビット1が論理“1”の値であれば、ビ
ット15〜0がプログラムされる。ロングワードの参照
に対しては、前記KADDR信号のビット31〜0がプ
ログラムされる。
nable BreakpointLevel:EB
L)」ビットは肯定されたときブレークポイントトリガ
のための包括的イネーブル(global enabl
e)として作用する。もし該EBLビットか肯定されな
ければ、すべてのブレークポイントトリガはディスエー
ブルされる。
sponse Control:TRC)」値はデータ
処理システム5が完成したトリガ条件に応答する様式を
決定する。前記トリガ応答は複数の集積回路ピンによっ
て提供される前記DDATA信号を介して外部ユーザに
表示される。前記TRC値が%01の論理値を有する場
合、ブレークポイント回路100によって検出されるハ
ードウエアブレークポイント条件の発生はCPU2への
前記「ブレークポイント」信号を肯定するよう制御回路
20をイネーブルする。前記「ブレークポイント」信号
の肯定はCPU2に対しデータ処理命令の通常の実行を
割込み可能なポイントで中止させる。前記TRC値が%
10の論理値を有する場合、ハードウエアブレークポイ
ント条件の発生は制御回路20に対しCPU2へのデバ
ッグ割込み信号を肯定するようイネーブルする。該デバ
ッグ割込み信号が肯定されたとき、CPU2は割込み可
能なポイントで通常の実行を中止しかつ予め定められた
例外処理ルーチンを実行する。
R)」は図8により詳細に示されている。該CSRはデ
ータ処理システム5のCPU2、MMU/コントローラ
4、メモリ6、およびデバッグモジュール10の動作構
成を規定する。データ処理システム5の構成を規定する
ことに加え、CSRはブレークポイント回路100の状
態を指示するステータス情報を含む。
にはCSRはクリアされることに注目すべきである。さ
らに、CSRは、データ処理システムがバックグランド
デバッグ動作モードにある場合に外部開発システム(こ
こでは図示されていない)によって読まれかつ書かれる
ことができる。前記バックグランドデバッグ動作モード
は後により詳細に説明する。CSRに含まれるおのおの
のビットの機能は後により詳細に説明する。
理システム5におけるハードウエアのブレークポイント
機能についてのリードオンリステータス情報を規定しか
つ提供する。「ブレークポイントステータス」フィール
ドに格納された情報はブレークポイント回路100によ
って提供されるブレークポイントトリガ情報に応じて前
記複数の制御レジスタ40によって発生される。「ステ
ータス」フィールドに格納された情報は前記複数の制御
レジスタ40におけるTDRの関数である。前記「ステ
ータス」フィールドが$0の論理値を記憶していると
き、いずれのハードウエアブレークポイントもイネーブ
ルされない。前記「ステータス」フィールドが$1の論
理値を記憶しているとき、デバッグモジュール10はレ
ベル1のブレークポイントがトリガされるのを待機して
いる。前に述べたように、レベル1のブレークポイント
の属性は「トリガ定義レジスタ(TDR)」のビット1
5〜0によって規定される。もし$2の論理値がCSR
の「ステータス」フィールドに記憶されておれば、レベ
ル1のブレークポイントがトリガされている。前記「ス
テータス」フィールドが$5の論理値を記憶している場
合は、デバッグモジュール10はレベル2のブレークポ
イントがトリガされるのを待機している。前に述べたよ
うに、レベル2のブレークポイントの属性は前記「トリ
ガ定義レジスタ(TDR)」のビット31〜16によっ
て規定される。もし$6の論理値がCSRの「ステータ
ス」フィールドに記憶されておれば、レベル2のブレー
クポイントがトリガされている。
おいて反映されたブレークポイントステータスは前記D
DATA信号を提供する複数の外部集積回路ピンを介し
て外部ユーザ(図2には示されていない)に提供され
る。前記DDATA信号は該信号がK−バス25によっ
て捕捉されたデータを表示していない場合に前記ブレー
クポイントステータスを反映する。さらに、前記CSR
の内容は任意の時間にシリアルインタフェース30を使
用して読めることに注意を要する。従って、前記ブレー
クポイントステータスは2つの手段、すなわち前記DD
ATA信号が捕捉されたデータを表示していない場合は
前記DDATA信号、またはシリアルインタフェース3
0を使用した「CSR読取り(READ CSR)」コ
マンド、を介して得ることができる。
れは外部開発システム7へのバックグランドまたは背景
デバッグモードへのエントリステータスを示す。前記4
ビット値の最初のビットはFOFビットである。肯定さ
れたとき、フォールト・オン・フォールト(Fault
−on−Fault:FOF)」ビットはデータ処理シ
ステム5のCPU2の破滅的な停止が生じておりかつデ
ータ処理システム5は強制的にバックグランドのデバッ
グモードの動作に入れられたことを示す。該バックグラ
ンドのデバッグモードの動作は後により詳細に説明す
る。前記FOFビットはCSRの内容の読取りに応じて
クリアされる。
ークポイントトリガ(TRG)」ビットはハードウエア
のブレークポイントがデータ処理システム5のCPUの
動作を停止したことを示す。肯定されたとき、前記TR
Gビットはデータ処理システム5が強制的にバックグラ
ンドのデバッグモードの動作に入れられたことを示す。
TRGビットはCSRの内容の読取りに応じてあるいは
シリアルインタフェース30を介して直列的に提供され
る「ゴー(Go)」コマンドの受信に応じてクリアされ
る。
ビットはそれが肯定されたときCPU2が停止すべきこ
とを指定する命令をCPU2が実行したことを示す。肯
定されたとき、前記ホールトビットはデータ処理システ
ム5がバックグランドの動作モードに入るよう強制され
たことを示す。該ホールトビットはCSRの内容の読取
りに応じてあるいはシリアルインタフェース30を介し
て直列的に提供される「ゴー」コマンドの受信に応じて
クリアされる。
は*BKPT信号が肯定されかつCPU2に提供された
ことを示す。肯定されたとき、BKPTビットはデータ
処理システム5がバックグランドのデバッグモードの動
作に入るよう強制されたことを示す。BKPTビットは
CSRの内容の読出しに応じてあるいはシリアルインタ
フェース30を介して直列的に提供される「ゴー」コマ
ンドの受信に応じてクリアされる。
プロセッサ書込み禁止(Inhibit Proces
sor Writes to Debug Regis
ters:IPW)」ビットは前記複数のハードウエア
ブレークポイントレジスタ50へのおよび前記複数の制
御レジスタ40への書込み動作を禁止する。IPWビッ
トは外部開発システム7のような外部開発システムから
提供されるコマンドによってのみ変更することができ
る。IPWビットは効果的にCPU2が外部開発システ
ム7によって複数の制御レジスタ40および複数のブレ
ークポイントレジスタ50に書き込まれたデバッグ情報
をオーバライトすることを禁止する(locks ou
t)。
のプロセッサ参照強制(ForceProcessor
References in Emulator M
ode:MAP)」ビットはデータ処理システムがエミ
ュレータモードで動作しているときにすべての参照(r
eferences)を特別のアドレス空間にマッピン
グするよう強制する。もしMAPビットが否定されれ
ば、すべてのエミュレータモードの参照はメモリ6のス
ーパバイザのテキストおよびデータ空間へとマッピング
される。
の論理的拡張である特別の動作モードとしてエミュレー
タモードを含む。この特別の動作モードは本発明のこの
実施形態では3つの可能な指示子の内の1つの肯定に応
じて入る。いったんエミュレータモードに入ると、すべ
ての通常の入力/出力割込みは無視することができかつ
データプロセッサ3は任意選択的にすべてのメモリ参照
を「別の空間(alternate space)」へ
と強制することができる。前記MAPビットはデータプ
ロセッサ3のこの動作を制御する。エミュレータモード
の動作は典型的には外部開発システム7がこの別のまた
は代わりの空間へのすべてのメモリ参照をインタセプト
しかつある形式のデバッグ機能をサポートするのに必要
な命令およびデータ値を提供できるようにするために使
用される。前記別の空間の再マッピングは状態「通常
の」システムメモリを変更することなく外部開発システ
ム7がデータプロセッサ3の動作の制御を得ることがで
きるようにするために提供される。本発明のこの実施形
態では、データプロセッサ3はRTE(Returnf
rom Exception:例外からの戻り)のよう
な、特別の命令が実行されるまでエミュレータモードに
留まっている。その時点で、データプロセッサ3はエミ
ュレータモードを退出しかつCPU2は通常の動作モー
ドに戻る。
ントリ(entry)およびエグジット(exit)は
PST信号を介して外部ユーザに通知されることに注意
を要する。PST信号の$Dの値はエミュレータモード
へのエントリを示しかつPST信号の$7の値はエミュ
レータモードからのエグジットを示す。PST信号によ
って提供されるエミュレータモードの動作へのエントリ
および該動作からのエグジットの指示はそれが外部開発
システム7に対しハードウエアブレークポイントがトリ
ガされたことの指示を与えるため特に重要である。従っ
て、シリアルインタフェース30を介して提供されるシ
リアルポートは外部メモリロケーションからデバッグ情
報を取り出すために使用することができる。
べてのエミュレータモードのメモリ参照は通常通りスー
パバイザアクセスへとマッピングされ、それによってオ
ンチップメモリ、外部メモリ、および入力/出力装置の
ようなシステム資源が参照できるようになる。
は、エミュレータモードの動作に入るために3つの方法
が実施されている。第1の方法では、もし「トレース例
外に応じてのエミュレーションモード強制(Force
Emulation Mode on Trace
Exception:TRC)」ビットが肯定されれ
ば、ソフトウエアのトレース例外の発生はデータプロセ
ッサ3をエミュレータモードの動作に入るよう強制す
る。これは外部開発システム7によって制御されかつデ
ータプロセッサ3上で動作しているソフトウエアデバッ
ガによって制御されない単一命令のデバッガルーチンを
作成するためのメカニズムである。
ションモード強制(Force Emulation
Mode:EMU)」ビットが肯定されれば、データプ
ロセッサ3はリセット例外プロセッサを開始する。前と
同様に、この方法は外部開発システム7がデータ処理シ
ステム10をそれが命令の処理を開始する前に制御でき
るようにする。
レークポイントに応じてデバッグ割込みが肯定された場
合にデータプロセッサ3がエミュレータモードに入るこ
とができるようにする。前記TDRのTRCフィールド
はエミュレータモードへのエントリを備えたデバッグ割
込みを発生するためにハードウエアのブレークポイント
トリガの使用をプログラムするために用いることができ
る。
ta Control:DDC)」値は前記DDATA
信号を介して外部開発システムに提供されるべきオペラ
ンドデータを捕捉するための構成制御情報を提供する。
前記DDC値が%00である場合は、DDATA信号に
対してオペランドデータは表示されない。前記DDC値
が%01である場合は、M−バス23を介して通信され
るすべての書込みデータは捕捉されかつDDATA信号
に対して表示される。前記DDC値が%10である場合
は、M−バス23を介して通信されるすべての読出しデ
ータはDDATA信号に対して捕捉されかつ表示され
る。前記DDC値が%11である場合は、M−バス23
を介して通信されるすべての読出しおよび書込みデータ
はDDATA信号に対して捕捉されかつ表示される。前
記DDC値によって特定される情報の形式とは独立に、
DDATA信号はオペランドのリファレンスサイズによ
って規定されるバイトの数を表示する。オペランドがC
SRのDDCフィールドの制御の下に捕捉される場合
は、DDATA信号に対して表示されるバイトの数は実
行されているリファレンスのタイプによって決定され
る。もし前記オペランドが1バイトとして参照されれ
ば、8ビットのデータが表示される。もし前記オペラン
ドがワードとして参照されれば、16ビットのデータが
表示される。同様に、もし前記オペランドがロングワー
ドとして参照されれば、32ビットのデータが表示され
る。前記DDCはM−バス23の読出しおよび書込み動
作を捕捉するための能力を提供する。しかしながら、前
記オペランドのリファレンスサイズはDDATA信号に
対して実際に表示されるバイトの数を決定する。
get Bytes:BTB)」値はDDATA信号に
対して表示されるべき分岐目標またはターゲットアドレ
スのバイトの数を規定する。BTB値が%00である場
合は、分岐目標アドレスの何らのバイトもDDATA信
号に対して表示されない。BTB値が%01である場合
は、分岐目標アドレスの下位2バイトがDDATA信号
に対して表示される。前記BTB値が%10である場合
は、分岐目標アドレスの下位3バイトがDDATA信号
に対して表示される。前記BTB値か%11である場合
は、分岐目標またはターゲットアドレスの全4バイトが
DDATA信号に対して表示される。DDATA信号は
一般にデータを最下位から最上位の順序で出力すること
に注目すべきである。これは捕捉されたオペランドなら
びに分岐目標アドレスに対して当てはまる。さらに、動
作の間に、制御回路60の制御の下に、FIFO格納バ
ッファ70は変形(variant)アドレシングモー
ドを使用する取られた分岐動作に関連するターゲットま
たは目標アドレスのみを捕捉する。該変形アドレシング
モードはアドレスがプログラムカウンタの相対、または
絶対アドレスによって提供されず、何らかの他の手段に
よって計算されるアドレシングモードである。そのよう
な目標アドレスは典型的には例外ベクトル、ならびに例
外からの戻り(return−from−except
ion:RTE)、サブルーチンからの戻り(retu
rn−from−subroutine:RTS)命令
およひ何らかの形式のジャンプ(JMP)およびサブル
ーチンへのジャンプ(jump−to−subrout
ine:JSR)に関連する。
e Debug Mode:END)」ビットはもし肯
定されれば前記PSTおよびDDATA信号の通常の動
作をディスエーブルする。さらに、このビットがイネー
ブルされたとき、データプロセッサ3のCPU2は内部
状態情報の8ビットのベクトルを出力する。
ド(Non−PipelinedMode:NPL)」
ビットはCPU2を非パイプライン動作モードで動作す
るよう強制する。非パイプライン動作モードにあると
き、データ処理システム3は2つまたはそれ以上の引き
続く命令の間にオーバラップなしに一度に単一の命令を
効果的に実行する。
(Ignore Pending Interrupt
s:IPI)」ビットはデータ処理システム5が単一命
令ステップ(single−instruction−
step)モードで動作している場合にCPU2がいず
れの係属中の割込み要求も無視するよう強制する。
tep Mode:SSM)」ビットはそれが肯定され
たときCPU2が単一命令ステップモードで動作するよ
う強制する。該単一命令ステップモードにある間に、C
PU2は単一の命令を実行しかつ次に停止する。CPU
2が停止している間に、バックグランドデバッグモード
に関連するいずれかのコマンドを実行できる。「ゴー
(GO)」コマンドの受信に応じて、CPU2は次の命
令を実行しかつ次に再び停止する。このプロセスが単一
命令ステップモードがディスエーブルされるまで継続す
る。
e Buffer Disable:SBD)」ビッ
ト、「K−バスRAMディスエーブル(K−Bus R
AMDisable:KAD)」ビット、「K−バスR
OMディスエーブル(K−Bus ROM Disab
le:KOD)」ビット、および「K−バスキャッシュ
ディスエーブル(K−Bus Cache Disab
le:KCD)」ビットは集合的に使用されて外部開発
システム7がデバッグの目的でデタープロセッサ3の通
常の構成をオーバライド(override)できるよ
うにする。特に、前記SBDビットはMMU/コントロ
ーラ4内に位置する任意選択的なFIFO格納バッファ
の使用をディスエーブルしかつFIFO格納バッファ7
0と混同すべきではない。前記KADビットはメモリブ
ロック6の使用がバイパスされかつM−バス23のアク
セスを強制できるようにする。メモリブロック6はRA
Mモジュール、ROMモジュール、および/またはキャ
ッシュモジュールを含むことができる。前記KAD,K
OD,およびKCDビットはそれぞれこれらのモジュー
ルのおのおのによって提供される機能をディスエーブル
するために使用される。
レジスタ50は図5により詳細に示されている。該複数
のハードウエアブレークポイントレジスタ50のおのお
のの機能の概略的な説明を行う。前記複数のハードウエ
アブレークポイントレジスタ50のおのおのの機能のよ
り詳細な説明は後に行う。
ントレジスタ(ABLRおよびABHR)はブレークポ
イント機能をトリガするために使用できるデータ処理シ
ステム5のオペランドの論理アドレス空間にある領域を
規定する。ABLRおよびABHRのおのおのに格納さ
れたアドレス値はK−バス25を介して転送されるアド
レス値と比較される。さらに、以下の説明では、ブレー
クポイント機能を実行するために満たされなければなら
ない1組の条件はトリガ(trigger)と称され
る。
タ(AABR)は図6により詳細に示されている。アド
レス属性ブレークポイントレジスタはブレークポイント
機能のためのトリガにおいて整合されるべき複数のアド
レス属性およびマスクを規定する。ABLRおよびAB
LRアドレス値のように、AABRに格納される属性値
はK−バス25を介して転送されるアドレス属性信号と
比較される。
プ(Transfer Type:TT)」値および
「転送モディファイア(Transfer Modif
ier:TM)」値は集合的に、データ処理システム5
がバックグランドデバッグモードにある間にメモリ参照
を実行する場合に使用されるアドレス空間を規定する。
前記TT値は転送がスーパバイザオペランドであるか、
スーパバイザ命令であるか、ユーザオペランドである
か、あるいはユーザ命令であるかを示す。
レジスタ50のおのおのは2つの機能に使われることに
注目すべきである。データプロセッサ3が背景デバッグ
モードの動作にあるとき、前記複数のハードウエアブレ
ークポイントレジスタ50はメモリおよびプロセッサの
参照動作の実行の間に使用される。データプロセッサ3
が背景デバッグ動作モードにない場合は、前記複数のハ
ードウエアブレークポイントレジスタ50はハードウエ
アブレークポイントを検出するために使用される。
レジスタ50がハードウエアブレークポイントを検出す
るために使用される場合は、前記AABRレジスタは4
つのフィールドと4つの同等のマスクフィールドを含
む。前記TTおよびTMフィールドはアクセスされてい
るアドレス空間を規定する。表1はこれらのフィールド
のおのおのに対する符号化を示す。
特権の動作レベル(ユーザモードまたはスーパバイザモ
ード)および参照の形式(オペランド、命令フェッチ)
によって規定されることに注意を要する。また、前記T
TおよびTM値はブレークポイント位置をより正確に規
定するために使用される。
(Size:SZ)」値は、アドレス範囲に加えて、K
−バス25を介して転送されるサイズ属性はAABRの
前記SZビットに格納された値に対応しなければならな
いことを示す。同様に、「読出し/書込み(Read/
Write:R)」値がAABRに格納される。前記R
値は読出しまたは書込み動作にもとづくトリガ条件がア
ドレスにもとづく比較において適用されるべきことを示
す。
アブレークポイントレジスタ50がブレークポイントモ
ニタとして動作している場合に使用される。これらのビ
ットはK−バス25属性情報と比較される。一例とし
て、前記複数のブレークポイントレジスタ50をユーザ
モードの、ワードサイズのオペランド読出しのみがトリ
ガされるようにプログラムすることができる。従って、
AABRのこれらのビットはアドレスブレークポイント
の規定または定義に対する付加的な限定(qualif
ications)を提供するために使用できる。
をブレークポイント規定からマスクアウトする能力を提
供する属性マスクビットを含む。
書込みマスク(RM)」ビット、は読出しまたは書込み
動作にもとづくトリガ条件がアドレスにもとづく比較に
おいて無視されるべきことを示す。従って、もし該RM
ビットが肯定されれば、前記Rビットは比較動作の間無
視される。次の1組のビット、「サイズマスク(S
M)」値、はアドレスのサイズにもとづくトリガ条件が
アドレスにもとづく比較において無視されるべきことを
示す。例えば、もし前記SM値におけるビットが肯定さ
れれば、前記SZ値における対応するビットはアドレス
比較機能において無視される。
Type Mask:TTM)」値は前記0TT値に対
応する。該TTM値におけるあるビットが肯定されたと
き、前記TT値の対応するビットは引き続くアドレス比
較において無視される。同様に、「転送モディファイア
マスク(Transfer Modifier Mas
k:TMM)」値は前記TM値に対応する。TMMフィ
ールドのあるビットが肯定されたとき、TM値の対応す
るビットは引き続くアドレス比較において無視される。
レジスタ50はまた複数のプログラムカウンタブレーク
ポイントレジスタを含む。該複数のプログラムカウンタ
ブレークポイントレジスタはブレークポイント機能をト
リガするために使用できるデータ処理システム5の命令
論理アドレス空間における領域を規定する。前記「プロ
グラムカウンタブレークポイント(PBR)」値は前記
「プログラムカウンタブレークポイントマスク(PBM
R)」レジスタに格納された値によってマスクすること
ができる。本発明の1実施形態では、PBMRに記憶さ
れた対応するゼロの値を有するPBR中のビットのみが
データ処理システム5のプログラムカウンタ値との比較
動作において使用される。該プログラムカウンタ値はデ
ータ処理システム5のCPU2のプログラムカウンタレ
ジスタ(ここでは示されていない)に格納される。
レジスタに加えて、前記複数のハードウエアブレークポ
イントレジスタ50は複数の「データブレークポイント
レジスタ」を含む。該複数のデータブレークポイントレ
ジスタは「データブレークポイントレジスタ(DB
R)」および「データブレークポイントマスクレジスタ
(DBMR)」を含む。前記DBRはデータ処理システ
ム5がデバッグ動作を行っている場合にトリガを形成す
るために使用できる特定のデータパターンを規定するデ
ータ値を格納する。前記DBMRに格納されたデータマ
スク値は前記DBRに格納されたデータ値をマスクす
る。従って、本発明の1実施形態では、DBMRに格納
された対応するゼロの値を有するDBRに格納されたビ
ットのみがK−バス25を介して転送されるデータ信号
と比較されてトリガ条件が適合しているかを判定する。
ッグサポートの概略的な主題は独自の要件および独自の
機能を有する3つの別個の領域に区分することができ
る。本発明はリアルタイムのトレースのサポート、バッ
クグランドデバッグ動作モード、およびリアルタイムの
デバッグのサポートを提供する。図1のデータ処理シス
テム5は本発明の1つの実施形態を示している。
プロセッサ3は情報を通信するために外部開発システム
(external development sys
tem)7に接続されている。次に、外部開発システム
7は通信された情報を使用してデータプロセッサ3にお
ける障害のある回路およびエラーのあるソフトウエアコ
ードを識別しかつ分離するよう設計されたデバッグ動作
を行う。外部開発システム7はデータプロセッサ3と前
記DSDI,DSCLK,DSDO,DDATA,PS
Tおよび他の入力/出力信号を介して通信する。前記D
SDI,DSCLKおよびDSDO信号は外部開発シス
テム7とデータプロセッサ3との間のシリアル通信手段
を提供する。前記DDATA信号はデータプロセッサ3
から外部開発システム7へデバッグ情報を提供する。C
SRの構成に応じて、デバッグモジュール10は前記D
DATA信号の上に表示するためあるオペランドおよび
分岐ターゲットアドレスを捕捉することができる。さら
に、CPU2はCSRに格納された構成値にかかわりな
く捕捉されかつDDATA信号上に表示された命令を実
行することができる。前記PST信号は外部開発システ
ム7へ内部プロセッサステータスを提供する。従って、
プログラム動作の実行の間に、前記DDATAおよびP
ST信号はデータプロセッサ3によって実行される現在
の動作を反映するために集合的にアクセスできる。
U/コントローラ4、およびメモリ6を接続するために
K−バス25を使用する。本発明のこの実施形態では、
K−バス25は高速の、単一サイクルのアクセスバスで
ある。メモリ6はランダムアクセスメモリ(RAM)、
リードオンリメモリ(ROM)、キャッシュブロック、
およびそれらの任意の組合わせを含むことができる。す
べての他のシステムモジュールおよびペリフェラルはM
−バス23を介してコア9に結合される。M−バス23
は複数のバスマスタの内の1つによって開始されるデー
タ転送を行うために使用される内部マルチマスタバスで
ある。システムバスコントローラ8は複数の機能を提供
する。システムバスコントローラ8はもし外部E−バス
が存在すれば、内部M−バス23と外部E−バスの間の
インタフェースを提供する。さらに、システムバスコン
トローラ8はS−バスによるすべてのデータ転送を制御
するための焦点(focal point)として作用
する。前記S−バスはタイマおよびシリアル通信チャネ
ルのような単純なスレイブ周辺モジュール(12および
13)をデータ処理システム5内へ接続するために使用
される。
データ転送のためのコスト効率のよいメカニズムを提供
するためにいくつかの層のバス帯域幅を有する。コア9
は性能を最大にするために高速の、単一サイクルのK−
バス25と相互接続される。この高速バスに直接結合さ
れない転送については、M−バス23がコア9およびマ
スタモジュール14のような内部バスマスタのいずれか
から帯域幅を提供する。システムバスコントローラ8は
内部M−バス23および外部E−バス(もし存在すれ
ば)の間での接続を提供し、一方またスレイブモジュー
ル12および13のようなスレイブ周辺モジュールに対
するローコストの、より低い帯域幅のS−バスによるす
べてのデータ転送のための制御機能を提供する。デバッ
グモジュール10はすべてのプロセッサ開始(proc
essor−initiated)メモリアクセスの非
侵入的な(non−intrusive)観察を可能に
するためにK−バス25に接続されている。デバッグモ
ジュール10はまた外部開発システム7への接続を提供
する。
に述べたデバッグ動作の内のおのおのをサポートするた
めの論理回路を提供する。デバッグモジュール10の動
作は引き続きより詳細に説明する。
要な、かつ今まで存在しなかった、リアルタイムトレー
ス機能を提供する。該リアルタイムトレース機能は、外
部開発システム7のような、外部ユーザがデータプロセ
ッサ3の内部動作を動的に観察できるようにする。さら
に、このリアルタイムトレース機能はシステムの内部動
作に対するそのような観察可能性を、データ処理システ
ム5の効率および速度に大きな影響を与えることなく提
供することができる。データ処理システム5のデバッグ
モジュール10は前記DDATAおよびPST信号を介
して外部ユーザに内部動作情報を提供するために並列出
力ポートを与える。前記DDATA信号はオペランドデ
ータを反映するデータを提供しかつPST信号はCPU
2の外部ステータスを反映する符号化されたステータス
情報を提供する。さらに、前記DDATA信号はまた捕
捉された命令アドレスプログラムフローの変更を提供し
外部開発システムが外部的に見ることができるアドレス
バスまたは外部的に見ることができるデータバスを必要
とすることなく正確なプログラムフローをトレースでき
るようにする。前記DDATA信号上に表示される情報
はPST信号上におけるステータス情報と同期している
ことに注意を要する。従って、外部ユーザはデータプロ
セッサ3の動作を中止することなく、しかもこの実行経
路を見ることができるようにするため特別のデバッグ動
作モードを必要とすることなくプログラムの動的な実行
経路を決定するために前記DDATAおよびPST信号
をデコードすることができる。
データ処理システム5の動作につき引き続きより詳細に
説明する。説明に先立ち、PST信号の符号化(enc
odings)に関し簡単に説明する。PST信号の符
号化を示す表が図10に与えられている。
て与えられる値とCPU2のステータスとの間の関係を
示す。PST信号が%0000の値を提供する場合、前
の動作がまだ完了しておらずかつ実行は単に継続する。
もし%0001の値が与えられれば、PST信号は命令
の実行が開始されつつあることを示す。PST信号が%
0011の値を有する場合は、データ処理システムはユ
ーザモードの動作に入りつつある。もしPST信号によ
って%0100の値が提供されれば、データ処理システ
ム5は「パルス」またはWDDAT命令の実行を開始し
ている。該「パルス」オペコードは単にこの特別のPS
T符号化を発生し、一方前記WDDATAオペコードは
オペランドが捕捉されかつCSRによって規定される構
成にかかわりなくDDATA上に表示させる。これはメ
モリオペランド、例外スタックフレームまたはソフトウ
エアマーカを直接前記DDATA信号上に表示するため
の簡単なメカニズムを提供する。
値が提供されれば、データ処理システム5は取られた分
岐動作(taken Branch operatio
n)の実行を開始している。もし%0111の値がPS
T信号によって提供されれば、データ処理システム5は
RTE命令の実行を開始しつつある。PST信号が%1
000の値を提供する場合、データ処理システム5はD
DATA信号により1バイト転送を開始している。PS
T信号が%1001の値を提供する場合、データ処理シ
ステム5はDDATA信号により2バイト転送を開始し
ている。PST信号が%1010の値を提供する場合、
データ処理システム5はDDATA信号により3バイト
転送を開始しつつある。PST信号が%1011の値を
提供する場合、データ処理システム5はDDATA信号
により第4バイトの転送を開始している。もしPST信
号が%1100の論理値を有する場合、データ処理シス
テム5のCPU2は例外処理ルーチンを実行しつつあ
る。同様に、もしPST信号が%1101の論理値を有
する場合、データ処理システム5のCPU2は例外を処
理しつつある。この値は例外が検出されたときから例外
処理ルーチンの第1の命令がフェッチされるまでPST
信号上で肯定される。同様に、もしPST信号が%11
01の論理値を有する場合、データ処理システム5のC
PUは例外ルーチンを処理しておりこれはエミュレータ
モードの動作へのエントリを生じさせる。PST信号が
%1110である場合は、データ処理システム5のCP
U2は停止しかつ割込みを待機している。PST信号が
%1111である場合は、データ処理システム5のCP
U2は停止する(halted)。
およびDDATA信号によって集合的に提供されるプロ
セッサのステータス情報はデータ処理システム5の動的
な実行経路を完全に追跡するために外部プログラムモデ
ルとともに使用することができる。
ため、DDATA信号は分岐ターゲット命令アドレスを
表示するよう構成されなければならない。典型的には、
この構成はデータ処理システム5がその通常の実行を開
始する前に達成される。DDATA信号を構成するた
め、外部開発システム7は複数の制御レジスタ40にお
けるCSRレジスタに値を書き込むことができる。CS
Rレジスタは図8に示されている。この書込み機能を達
成するため、外部開発システム7は前記CSRにデータ
をロードするためコマンドをDSDIおよびDSCLK
信号の双方を使用してシリアルインタフェース30にシ
フト入力する。本発明の1実施形態では、該コマンドの
第1の部分はDSDI信号によって提供されかつDSC
LK信号によってクロック入力される。前記コマンドの
付加的な部分はその後提供される。前記コマンドのすべ
ての部分は16ビットのパケットの情報が完成するまで
レジスタ32に格納される。本発明の別の実施形態では
本発明のこの実施形態で必要とされる16ビットより多
くのまたは少ないビットを含めることができることに注
意を要する。
CSRに値を書き込む命令は48ビット長であり、16
ビットのオペコードおよび32ビットのデータを備えて
いる。レジスタ32は16ビット幅にすぎない。従っ
て、最初の16ビットのパケットの情報が完成したと
き、該情報は制御回路20に転送され、そこでデコード
されかつ引続く動作が構築される。第2の16ビットの
パケットの情報がレジスタ32にロードされたとき、該
情報は前記「シリアル情報」信号を介して複数の制御レ
ジスタ40に転送される。制御回路20から制御バス1
5によって提供される制御情報を使用して、前記「シリ
アル情報」信号の内容はディスティネーションレジス
タ、前記CSR、の上位部分にロードされる。同様に、
第3の16ビットのパケットの情報がレジスタ32にロ
ードされかつ次に前記複数の制御レジスタ40に転送さ
れる。前と同様に、制御回路20によって供給される信
号を使用して、前記「シリアル情報」信号の内容がCS
Rの下位部分にロードされる。このようにして、48ビ
ットの命令全体が直列的にデバッグモジュール10内に
シフトされ、そこでデコードされかつオペランド値がC
SRにロードされる。
部開発システム7によって直列的に提供される。前に説
明したように、DSDI信号によって提供されるその後
のデータはDSCLK信号を介してクロック入力され
る。該データビットのおのおのは16ビットのパケット
の情報が完成するまでレジスタ32に格納される。第2
の16ビットのパケットの情報が完成したとき、該情報
は前記「シリアル情報」信号を介して前記複数の制御レ
ジスタ40に転送される。該第2の16ビットのパケッ
トの情報はビット31〜16としてCSRに格納され
る。その後、付加的な情報が直列的に外部開発システム
7によってDSDIおよびDSCLK信号を介してレジ
スタ32に提供される。第3の16ビットのパケットの
情報が完成したとき、該情報は前記「シリアル情報」信
号を介して複数の制御レジスタ40に転送される。該第
3の16ビットのパケットの情報はビット15〜0とし
てCSRに格納される。
の構成は外部開発システム7によりCSRに書き込まれ
た値によって決定された。本発明の別の実施形態では、
前記DDATA信号はデータプロセッサ4のCPU2に
よってCSRに書き込まれた値によって構成することが
できる。CPU2が前記値をCSRに書き込むとき、前
記値は図6に示されるブレークポイント回路100の一
時レジスタ170に提供される。前記値はK−バス25
の前記KDATA信号を介して一時レジスタ170に提
供される。一時レジスタ170から、前記値は16ビッ
トのパケットでレジスタ32に転送されかつ格納され
る。CSRへのCPU書込みのために、前記KDATA
信号を介して転送されるオペランド値はK−バス25を
介してCPU2から制御回路20に提供される制御信号
を使用して一時データレジスタ170に捕捉される。従
って、前記複数の制御レジスタ40にとっては、前記値
は外部開発システム7からレジスタ32に提供されるも
のと同じに見える。
り提供されるかあるいはCPU2により提供されるかに
かかわらず、オペランドおよび関連するオペランドはリ
アルタイムのトレース機能を達成するために前記DDA
TA信号を構成するためCSRに格納されなければなら
ない。CSRにおいては、前記デバッグデータ制御(D
DC)および前記分岐ターゲットバイト(BTB)値は
外部開発システム7にトレース情報を提供するため正し
くDDATA信号を構成するように書き込まれなければ
ならない。前に述べたように、前記デバッグデータ制御
(DDC)値はDDATA信号を介して外部開発システ
ムに提供されるべきオペランドデータを捕捉するために
構成制御情報を提供する。前記DDC値が%00である
場合は、何らのオペランドデータもDDATA信号上に
表示されない。前記DDC値が%01である場合は、M
−バス23を介して通信されるすべての書込みデータは
捕捉されかつDDATA信号上に表示される。前記DD
C値が%10である場合は、M−バス23を介して通信
されるすべての読出しデータは捕捉されかつDDATA
信号上に表示される。前記DDC値が%10である場合
は、M−バス23を介して通信されるすべての読出しお
よび書込みデータは捕捉されかつDDATA信号上に表
示される。DDC値によって特定される情報の形式とは
独立に、前記DDATA信号はオペランド参照サイズに
よって規定される数のバイトを表示する。例えば、バイ
ト表示は8ビット長であり、ワード表示は16ビット長
であり、かつロング表示は32ビット長である。オペラ
ンドがCSRのDDCフィールドの制御のもとに捕捉さ
れたとき、DDATA信号上に表示されるバイトの数は
実行されている参照の形式によって決定される。もし前
記オペランドがバイトとして参照されれば、8ビットの
データが表示される。もし前記オペランドがワードとし
て参照されれば、16ビットのデータが表示される。同
様に、もし前記オペランドがロングワードとして参照さ
れれば、32ビットのデータが表示される。DDCはM
−バス23の読出しおよび書込み動作を捕捉する能力を
提供する。しかしながら、前記オペランド参照サイズは
DDATA信号上に実際に表示されるバイトの数を決定
する。
DDATA信号上に表示されるべき分岐ターゲットアド
レスのバイトの数を規定する。BTB値が%00である
場合は、分岐ターゲットアドレスの何らのバイトもDD
ATA信号上に表示されない。BTB値が%01である
場合は、分岐ターゲットアドレスの下位2バイトがDD
ATA信号上に表示される。BTB値が%10である場
合は、分岐ターゲットアドレスの下位3バイトがDDA
TA信号上に表示される。BTB値が%11である場合
は、分岐ターゲットアドレスの全4バイトがDDATA
信号上に表示される。DDATA信号は一般にデータを
最下位から最上位への順序で出力することに注目すべき
である。これは捕捉されたオペランドならびに分岐ター
ゲットアドレスについて当てはまる。さらに、動作の間
に、FIFO格納バッファ70は、制御回路60の制御
のもとに、変形アドレシングモード(variant
addressing mode)を使用する取られた
分岐動作に関連するターゲットアドレスのみを捕捉す
る。該変形アドレシングモードはアドレスがプログラム
カウンタの相対、または絶対アドレスによって提供され
ず、何らかの他の手段によって計算されるアドレシング
モードである。そのようなターゲットアドレスは典型的
には例外ベクトルならびに例外からの戻り(RTE)、
サブルーチンからの戻り(RTS)命令およびいくつか
の形式のジャンプ(JMP)およびサブルーチンへのジ
ャンプ(JSR)に関連している。
するのに必要な情報を提供するためDDATA信号を構
成するために書かれた後、CPU2はK−バス25によ
って通信される前記KADDR信号を介してFIFO
(ファーストイン・ファーストアウト)記憶バッファ7
0に複数のターゲットアドレスを提供する。さらに、C
PU2はK−バス25によって通信されるKDATA信
号を介してFIFO記憶バッファ70に複数のオペラン
ドデータ値を提供する。前記複数のターゲットアドレス
および前記複数のオペランドデータ値は制御回路60に
よって提供されるFIFO制御信号に応じてFIFO記
憶バッファ70に格納される。
される「トレース」信号および前記複数の制御レジスタ
40のCSRによって提供される「構成」信号に応じて
前記FIFO制御信号を出力する。FIFO記憶バッフ
ァ70はそこに記憶された前記KADDRおよびKDA
TA情報をファーストイン・ファーストアウト順で出力
する。FIFO記憶バッファ70はアドレスおよびオペ
ランド情報を格納するための複数のロケーションを有す
るから、FIFO記憶バッファ70はおのおのがデータ
プロセッサ3の通常の動作の間にアクセスされるオペラ
ンドおよび命令アドレスの値を反映する情報を通信する
場合にKADDRおよびKDATA信号を受信すること
ができる。言い換えれば、FIFO記憶バッファ70に
提供されかつ格納されるKADDRおよびKDATA信
号を介して転送される値はデータ処理システム5の現在
の動作を実時間で反映する。
憶バッファ70内のすべての格納ロケーションが前記D
DATA信号上に出力されなければならない有効な情報
を含む場合CPU2の動作の速度に影響を与えるのみで
ある。すべての格納ロケーションが満杯である(ful
l)である場合、FIFO記憶バッファ70は前記「フ
ル(Full)」信号を肯定する。前記「フル」信号が
肯定されたとき、制御回路60は前記「ストール(St
all)」信号を肯定する。該「ストール」信号はCP
U2に提供されてFIFO記憶バッファ70の少なくと
も1つの格納ロケーションが次の値を記憶するために利
用できるようになるまでコア9の動作を停止させる。す
べての他の動作においては、DDATA信号上にアドレ
スおよびオペランド情報を提供することはデータプロセ
ッサ3の実行速度に大幅に影響を与えることはない。
信号を介して前記複数のマルチプレクサ80にアドレス
およびオペランド情報を提供する。CPU2はまた前記
「CPUプロセッサステータス(CPST)」信号を複
数のマルチプレクサ80に提供する。該CPST信号は
データプロセッサ3によって現在実行されている動作の
種別を指示するためにプロセッサのステータス情報を提
供する。例えば、CPST信号はいつ命令の実行が始ま
るか、いつ命令の実行が継続すべきか、いつデータプロ
セッサ3が選択モードの動作に入るか、いつ予め選択さ
れた分岐命令が実行されるか、およびいつデータプロセ
ッサ3の動作が停止(halt)されるかを指示するこ
とができる。CPST信号は任意の形式のプロセッサ動
作を指示することができかつここに掲げた例に限定され
ないことに注意を要する。
マルチプレクサ80に提供されたとき、該複数のマルチ
プレクサの出力は前記「Mux制御」信号によって制御
される。前記「Mux制御」信号は複数のマルチプレク
サ80が同期的にDDATAおよびPST信号を提供で
きるようにする。DDATAおよびPST信号はデータ
プロセッサ3のクロックの立上りエッジ(ここでは図示
されていない)と同期しかつ、従って、PST信号によ
って提供されるステータスはいずれかの与えられたバス
サイクルの処理と関連しないかもしれないことに注意を
要する。
イネーブルされたとき、PST信号はCPU2のステー
タスを示すマーカを提供する。例えば、PST信号によ
って$C,$D,$E,または$Fのステータス値が提
供されたとき、PST信号はデータプロセッサ3によっ
てマルチサイクルモードのまたは特別の動作が実行され
ていることを示す。符号化されたPST信号についての
さらなる情報については図10を参照。PST信号がマ
ルチサイクルモードの特別の動作がデータプロセッサ3
によって実行されていることを反映している場合には、
PST信号は前記モードを退出するまでまたは前記動作
が完了するまでこれらのステータス値を維持する。
出力する場合は、PST信号はおのおののタイミングサ
イクルで更新される情報を特定する。
Bのステータス値を提供する場合、PST信号は前記D
DATA信号を介して外部的に提供される値を限定する
ために使用されている。この動作においては、PST信
号はDDATA信号上のどの値が要求されるアドレスお
よびデータ情報を提供しているかを示すための「マー
カ」として使用される。PST信号は実際のデータがD
DATA信号上に表示される1タイミングサイクル前に
これらのステータス値によって符号化される。従って、
外部開発システムは正しくデータプロセッサ3の動作を
観察することができる。
DATAおよびPST信号の使用につきより詳細に示す
ものである。この例は図11に示されている。図11は
間接ジャンプ(JMP)の実行を示し、この場合ジャン
プ命令のターゲットアドレスの下位16ビットはDDA
TA信号上に表示される。ジャンプ命令が実行されると
き、プログラムの実行は該命令のオペランドにより特定
される実効アドレスで継続する。この例では、該実効ア
ドレスの値はレジスタA0によって特定されるメモリロ
ケーションに位置する。
ォーマットで提供するためにDDATA信号を正しく構
成するよう書き込まれたものと仮定する。図11に示さ
れる例では、JMP(A0)命令は、図11において、
「ラスト(Last)」と称される、前の命令に続く。
該JMP命令は間接的に前記ターゲット命令アドレスを
アドレスする。例えば、CPU2に格納されたレジスタ
A0の内容は所望のターゲット命令アドレスを規定す
る。さらに、本出願には詳細に示されていないが、前記
A0レジスタはCPU2内に配置できる。そのような間
接アドレシングの使用は変形(variant)アドレ
シングと称されるが、それは前記ターゲット命令アドレ
スがA0レジスタの内容に依存しかつPC−レラティブ
(PC−relative)でもなく絶対アドレスでも
ないからである。
GEXはデータプロセッサ3の内部パイプラインにおけ
る位置を示す。用語DSOC,AGEX,IAG,およ
びICを説明するため、CPU2の内部構造についての
簡単な説明を行う必要がある。
は、2つの独立のかつ切り離されたパイプラインが実施
される。第1のパイプラインは命令をプリフェッチする
ための命令フェッチパイプライン(IFP)(ここでは
図示されていない)であり、かつ第2のパイプラインは
命令の実際の実行をデコードしかつ達成するためのオペ
ランド実行パイプライン(OEP)である。FIFO命
令バッファ(ここでは図示されていない)は前記2つの
パイプラインの間の切り離し(decoupling)
メカニズムとして作用する。
ジを含む。第1のステージは「命令アドレス発生(In
struction Address Generat
ion:IAG)」ステージでありそこで次のプリフェ
ッチアドレスが計算される。第2のステージは「命令フ
ェッチサイクル」でありここで所望の命令がメモリから
フェッチされる。前記オペランド実行パイプラインはま
た2つのステージを含み、各ステージは単一の命令の実
行の間に2つの機能のために使用できる。第1のステー
ジは「デコードおよび選択(Decode & Sel
ect:DS)」ステージであり「オペランドフェッチ
サイクル(Operand fetchCycle:O
C)」を備えている。第2のステージは「アドレス発生
(AG)」ステージであり「実行(EX)」ステージを
備えている。
令については、前記2つのOEPステージはおのおの一
度アクセスされる。前記レジスタオペランドはOCステ
ージの間にアクセスされかつ次に命令実行が実際に前記
EXステージにおいて行われる。従って、前記OEP動
作はOCからEXへと進行する。
で通信される命令については、各パイプラインステージ
は2回アクセスされる。第1に、オペランドアドレスの
構成要素がDSステージにおいて選択される。第2に、
これらの構成要素のおのおのが加算されてAGステージ
におけるオペランドアドレスを形成する。第3に、メモ
リオペランドがOCステージにおけるいずれか他のレジ
スタオペランドとともにアクセスされかつ第4に、実際
の命令実行がEXステージにおいて行われる。この形式
の命令に対しては、前記OEP動作はDSからAGへO
CへEXへと続く。
ンステージ内の双方のオペランドは同時に行われる。こ
れらのタイプの命令に対しては、OEP動作はDS O
CからAG EXへと行われる。
ゲット」の命令アドレスを規定するものと想定される。
前記JMP命令がオペランド実行パイプラインのAGE
Xステージを占有するから、前記命令ターゲットアドレ
スは「ターゲット」として計算される。この流れの変更
(change−of−flow)動作は命令フェッチ
パイプラインにその現在の流れのプリフェッチアドレス
を放棄しかつ前記アドレス「ターゲット」で始まる新し
い流れを規定させる。本発明のこの実施形態では、この
流れの変更JMP命令は前記2つのパイプラインを新し
い命令ストリームが確立されるようにAGEXおよびI
AGステージにおいて結合されるようにする。いったん
前記「流れの変更」が生じると、2つのパイプラインは
それらの通常の切り離された動作モードに戻り命令フェ
ッチパイプラインは新しいアドレスストリームにおいて
順次プリフェッチをするよう継続する。従って、「ター
ゲット」、「ターゲット+4」および「ターゲット+
8」のアドレスが引き続きフェッチされる。
インステージを完了すると、CPU2は内部CPST信
号上に「テイクンブランチ(taken branc
h)」値を通知する。従って、内部CPST信号は$5
の値を有する。本発明のこの実施形態では、実際のPS
TおよびDDATA信号はそれらの内部カウンタパート
から1タイミングサイクルだけ遅れる。CPU2が新し
いアドレスで命令をプリフェッチすると、FIFO記憶
バッファ70は命令フェッチパイプラインのICサイク
ルの終りに前記命令アドレス「ターゲット」を捕捉す
る。次のタイミングサイクルに際して、複数のマルチプ
レクサ80は「マーカ」をPST信号に挿入し2バイト
の情報がDDATA信号上に表示されるべきことを示
す。従って、PST信号は$9の値を有する。前記複数
のマルチプレクサ80の動作は制御回路60によって制
御される。PST信号上にマーカが出現したことに続
き、前記複数のマルチプレクサ80は最下位ニブルで始
まる捕捉された命令アドレス「ターゲット」の下位16
ビットを、ビット3〜0からビット15〜12まで、表
示するよう進行する。
1のタイミングサイクルで$5の値を転送する。図10
に示されるように、PST値が$5の値を有する場合、
データプロセッサは「テイクンブランチ」命令を実行し
始めている。これはプログラムフローをレジスタA0で
間接的に特定されるアドレスへと転送しつつあるJMP
命令に対応する。図11に示されるこの第1のタイミン
グサイクルの間に、内部DDATA信号(図2のFIF
O信号)は$0の値を転送する。図9に示されるよう
に、DDATA値が$0の値を格納しているとき、デー
タプロセッサ3において何らのブレークポイントもイネ
ーブルされない。
ST値は$9の値を転送してJMP命令のためのターゲ
ットアドレスが内部DDATA値を介して提供される次
の2バイトの情報で特定されることを示す。この時点
で、内部DDATA信号は$0の値を転送し続ける。前
に述べたように、内部PST値が$8,$9,$A,ま
たは$Bのステータス値を転送する場合、内部PST信
号はDDATA信号を介して外部的に提供される値を修
飾する(qualify)ために使用されている。この
動作では、内部PST信号は内部DDATA信号上のど
の値が必要とされるターゲットアドレス情報を提供して
いるかを示すために「マーカ」として使用される。内部
PST信号は実際のデータが内部DDATA信号上に表
示される1タイミングサイクル前にこれらのステータス
値によって符号化される。
ST値は$0の値を転送して命令実行が継続することを
指示する。さらに、第3のタイミングサイクルの間に、
内部DDATA信号はターゲットアドレス値のビット3
〜0を提供する。
T値は前記ターゲットアドレスに位置する最初の命令に
よって規定される値を表す。このとき、内部DDATA
信号は前記ターゲットアドレス値のビット7〜4を転送
する。その後、第5および第6のタイミングサイクルに
おいて、内部DDATA信号はそれぞれターゲットアド
レス値のビット11〜8およびビット15〜12を提供
する。このようにして、外部開発システム7は変形アド
レシングを有する分岐動作の現在の記録および間接的に
決定されるアドレスロケーションの双方を実時間で観察
することができる。
Tおよび内部DDATA信号をそれぞれPSTおよびD
DATA信号として外部開発システム7に提供する。該
PSTおよびDDATA信号は集積回路ピン(詳細には
示されていない)を介して提供される。さらに、前記集
積回路ピンを介して提供される前記PSTおよびDDA
TA信号はそれぞれ前記情報が内部PSTおよび内部D
DATA信号を介して転送されてから1タイミングサイ
クル後に情報を通信する。
により、外部開発システム7は障害をより迅速かつ正確
に識別しかつ分離することができる。さらに、実時間の
トレース観察が外部開発システム7に与えられている間
に、データプロセッサ3のCPU2は命令の実行を継続
しかつDDATAおよびPST信号の提供によって通常
影響されない。
するためのトレース機能を使用することについて述べた
が、本発明はデータプロセッサ3の動的実行経路を完全
に追跡するために使用できる。JMP命令によって説明
したように、動的実行経路の追跡は何らかの流れの変更
動作によって複雑化する。例えば、いくつかの分岐命令
は変形アドレシングを使用して実施され、ターゲット命
令アドレスの計算はPC(プログラムカウンタ)レラテ
ィブまたは絶対ではなく、プログラムビジブル(pro
gram visible)レジスタの使用を含む。
は、本発明はターゲットアドレスが正しく決定されかつ
外部開発システム7に提供されるように特定のシーケン
スでDDATAおよびPST信号を提供する。最初に、
テイクンブランチ命令の実行は複数の集積回路ピンを介
して転送されるPST信号によって識別される。図10
の符号化に示されているように、PST信号はテイクン
ブランチ命令がPST信号が$5の値を有する場合に実
行されていることを示す。次に、PST信号はターゲッ
トアドレスがDDATA信号上に表示されるべきことを
示すために使用できる。PST信号の符号化はDDAT
A信号を介して表示されるべき数多くのバイトを識別す
る。前記ターゲットアドレスは次にDDATA信号を使
用して後のタイミングサイクルに任意選択的に利用でき
るようになる。DDATA信号上に表示されるターゲッ
トアドレスのビットの数は外部ユーザによって制御され
る構成可能なパラメータである。
タプロセッサ3のCPU2の性能に対して大きな影響を
与えることなく実行される独自のトレース機能を提供す
る。
機能においては、PST信号によって規定される実行さ
れる命令ストリームとDDATA信号によって提供され
る捕捉データの利用可能性との間には厳格な同期がある
ことに注意を要する。ここで述べられる本発明の実施形
態においては、DDATA信号が容易に適切な命令と関
連できるように厳格な順序付け(ordering)が
ある。この順序付けは以下の例においてより詳細に説明
する。以下の例においては次のようなコードが実行され
るべきであると仮定する。
ターゲットアドレス情報を表示するよう構成され、すべ
てのオペランドがM−バス23のアクセスを発生し、か
つ読出しおよび書込みオペランドの双方が捕捉されれ
ば、PST信号およびDDATA信号上の結果として得
られる出力は次のようになる。
びDDATA信号は同期した状態に留まっておりそれに
よってDDATA信号上に表示されている与えられたオ
ペランドが常に与えられた命令と関連することを保証さ
れる。説明の明瞭化のために、上の例はDDATA信号
および非ゼロPST値の間でオーバラップを示していな
い。しかしながら、これはPSTおよびDDATA信号
の間の関係が違肯していない場合を除き生じ得る。
ス機能に加えて、本発明はまた実時間デバッグ機能を実
行するための回路及び方法を提供する。数多くのデータ
プロセッサにおいては、特に組み込み型(embede
d)システムにおいては、データプロセッサはシステム
の制約のためまたはデータプロセッサがもはや正常なモ
ードで動作していない場合に障害の回路またはプログラ
ムを識別することができないためデバッグ動作の間に停
止することはできない。本発明はデータプロセッサの実
時間動作に対し最小限の立ち入りのみでかつデータプロ
セッサを停止させることなくデバッグ動作を実行する。
グ動作の間にプログラミング事象を識別するために使用
される。該プログラミング事象に遭遇した時、ブレーク
ポイント信号が肯定されかつデータが取り出されてソフ
トウェアプログラムのステータスを判定する。トレース
機能と同様に、ブレークポイント動作は外部ユーザが複
数の選択されたレジスタ及びメモリロケーションの各々
のステータスを突き止めてデータ処理エラーが識別でき
るようにする。
を行うために複数のハードウェアブレークポイントレジ
スタ50及びブレークポイント回路100を提供する。
本発明においてはプログラムカウンタまたはプログラム
カウンタマスクの値、オペランドアドレス範囲、および
データ値またはデータマスク値に基づくブレークポイン
ト動作が全て実施される。さらに、本発明において実施
されるブレークポイント動作はまた1または2レベルト
リガへと構成することができ、この場合複数の制御レジ
スタ40の前記「トリガ定義レジスタ(Trigger
Definition Register:TD
R)」を介して正確なトリガ応答がプログラム可能であ
る。本発明を使用したブレークポイント動作の実行につ
いては後により詳細に説明する。
スタ50の各々は外部開発システム7によってあるいは
プロセッサ3のCPU2によって書くことができる。図
3に示されるように、「アドレスブレークポイントレジ
スタ(ABLR及びABHR)」はブレークポイント機
能をトリガするために使用できるデータ処理システム5
のオペランド論理アドレス空間における領域を規定す
る。図6により詳細に示された、「アドレス属性ブレー
クポイントレジスタ(AABR)」はブレークポイント
機能のためのトリガにおいて整合されるべき複数のアド
レス属性およびマスクを規定する。ABLRおよびAB
LRアドレス値のように、AABRに格納された属性値
はK−バス25を介して転送されるアドレス属性信号と
比較される。
レジスタ50はまた複数の「プログラムカウンタブレー
クポイント」レジスタを含む。該複数の「プログラムカ
ウンタブレークポイント」レジスタはブレークポイント
機能をトリガするために使用できるデータ処理システム
5の命令論理アドレス空間における領域を規定する。前
記「プログラムカウンタブレークポイント(PBR)」
値は前記「プログラムカウンタブレークポイントマスク
(PBMR)」レジスタに格納された値によってマスク
することができる。本発明の一実施形態では、PBMR
に格納された対応するゼロの値を有するPBRにおける
ビットのみがデータ処理システム5のプログラムカウン
タ値との比較動作において使用される。プログラムカウ
ンタ値はデータ処理システム5のCPU2のプログラム
カウンタレジスタ(ここでは図示されていない)に格納
される。
ト」レジスタに加えて、前記複数のハードウェアブレー
クポイントレジスタ50は複数の「データブレークポイ
ントレジスタ」を含む。該複数の「データブレークポイ
ントレジスタ」は「データブレークポイントレジスタ
(DBR)」および「データブレークポイントマスクレ
ジスタ(DBMR)」を含む。DBRはデータ処理シス
テム5がデバッグ動作を行っている場合にトリガを形成
するために使用できる特定のデータパターンを規定する
データ値を格納する。DBMRに格納されたデータマス
ク値はDBRに格納されたデータ値をマスクする。した
がって、本発明の一実施形態では、DBMRに格納され
た対応するゼロの値を有するDBRに格納されたビット
のみがK−バス25を介して転送されるデータ信号と比
較されトリガ条件が満たされているかを判定する。
レジスタ50の各々は前記複数の制御レジスタ40のT
DRを使用したトリガに応答するため異なる構成とする
ことができる。TDRによって示される構成とは独立
に、トリガされたブレークポイントの指示はDDATA
信号が捕捉されたオペランドおよびアドレスを表示して
いない場合には常にDDATA信号上に提供される。D
DATA信号の出力は図9に示されている。
介して提供される値とブレークポイントステータスの間
の関係を示す。CSRのビット31〜28はDDATA
信号のビット3〜0に対応することに注意を要する。
何らのブレークポイントもイネーブルされない。DDA
TA信号が$1の論理値を提供する場合、デバッグモジ
ュール10はレベル1のブレークポイントがトリガされ
るのを待機している。前に述べたように、レベル1のブ
レークポイントの属性は前記「トリガ定義レジスタ(T
DR)」のビット15〜0によって規定される。もし$
2の論理値がDDATA信号によって提供されれば、レ
ベル1のブレークポイントがトリガされている。DDA
TA信号が$5の論理値を提供する場合、デバッグモジ
ュール10はレベル2のブレークポイントがトリガされ
るのを待機している。前に述べたように、レベル2のブ
レークポイントの属性は前記「トリガ定義レジスタ(T
DR)」のビット31〜16によって規定される。もし
$6の論理値がDDATA信号によって提供されれば、
レベル2のブレークポイントがトリガされている。
CSRのビット31〜28に格納されることに注意を要
する。
ント値が複数のハードウェアブレークポイントレジスタ
50のうちの適切な一つに格納されなければならない。
該ブレークポイント値は外部開発システム7によってシ
リアルインタフェース30を介してあるいはCPU2に
よってK−バス25を介して提供できる。
には、外部開発システム7は前記DSDIおよびDSC
LK信号の双方を使用してシリアルインタフェース30
へと前記複数のハードウェアブレークポイントレジスタ
50の内のあらかじめ選択された1つにデータをロード
するためにコマンドをシフト入力する。本発明の一実施
形態では、該コマンドの第1の部分はDSDI信号によ
って提供されかつDSCLK信号によってブロック入力
される。該コマンドの付加的な部分はその後提供され
る。該コマンドの全ての部分は16ビットのパケットの
情報が完成するまでレジスタ32に格納される。本発明
の別の実施形態では本発明のこの実施形態において必要
とされる16ビットよりも多くのまたは少ないビットを
含むものとすることができることに注意を要する。
ポイント値はデータプロセッサ3のCPU2によって複
数のブレークポイントレジスタ50の内の前記あらかじ
め選択された1つに書き込まれる値によって決定するこ
とができる。CPU2が該値を前記複数のブレークポイ
ントレジスタ50のあらかじめ選択された1つに書き込
む時、該値は図3に示されるブレークポイント回路10
0の一時レジスタ170に提供される。該値はK−バス
25を介して一時レジスタ170に提供される。一時レ
ジスタ170から、前記値は16ビットのパケットで転
送されかつレジスタ32に格納される。前に述べたよう
に、CSRへのCPU書き込みに対しては、KDATA
信号を介して転送されるオペランド値は制御バス15を
介して制御回路20へとCPU2によって提供される制
御信号を使用して一時データレジスタ170へと捕捉さ
れる。したがって、前記複数の制御レジスタ40に対し
ては、前記ブレークポイント値は外部開発システム7か
らレジスタ32に提供されるものと同じであるように見
える。
ブレークポイントレジスタ50の内の前記あらかじめ選
択された一つに書き込まれると、CPUには通常の動作
モードでプログラミングコードを実行する。そのプログ
ラミングコードの実行の間に、アドレス情報がK−バス
25のKADDR信号を介して通信されかつデータ情報
がK−バス25のKDATA信号を介して通信される。
さらに、CPU2におけるプログラムカウンタ情報はプ
ログラムカウンタのブレークポイント比較動作の目的で
一時PCレジスタ125に格納された値を絶えず更新す
る。
タ情報がハードウェア回路100に転送されると、比較
器130,140,180および135は該情報を受信
しかつデータプロセッサ3の性能に悪影響を与えること
なく選択的に比較動作を行う。さらに、複数の制御値が
制御バス15を介して前記複数の制御レジスタ50のT
DRからハードウェア回路100へと提供される。前記
複数の制御値はハードウェア回路100を使用してトリ
ガ動作を選択的に構成する前に述べたTDRの値を含
む。
がある範囲のアドレスに入る場合にブレークポイントが
肯定されるべきことを決定した場合、外部開発システム
7はシリアルインタフェース30を使用してハイアドレ
ス値を図3のABHR110にかつローアドレス値を図
3のABLR120に書き込まなければならない。しか
しながら、比較器130および比較器140がK−バス
25のKADDR信号によって提供されるアドレスがA
BLR120およびABHR110に格納されたアドレ
スによって規定される範囲以内にあるかを判定すること
ができる前に、前記複数の制御レジスタ40のTDRは
制御バス15を介して適切な制御を提供しなければなら
ない。
「イネーブルアドレス範囲(Enable Addre
ss Range:EAR)」ビットまたは肯定された
「イネーブルアドレスブレークポイント反転(Enab
le Address Breakpoint Inv
erted:EAI)」ビットを含む。前に述べたよう
に、EARビットは該ビットが肯定されたとき、ABL
R120およびABHR110によって規定される包含
範囲(inclusive range)に際してブレ
ークポイントがトリガできるようにする。同様に、肯定
された時、前記EAIビットはABLR120およびA
BHR110によって規定される範囲を除いた、または
外側の、アドレス範囲に際してブレークポイントがトリ
ガできるようにする。
て、比較器130および140はKADDR信号を介し
て転送されるアドレス値がABHR110およびABL
R120における関連する値より大きいかまたは小さい
かを決定することになる。もしEARビットが肯定され
かつKADDR信号を介して転送されるアドレス値がA
BHR110およびABLR120におけるアドレス値
によって規定される範囲内にあれば、比較器130およ
び140は前記「ブレークポイント」信号を肯定してあ
らかじめ選択されたトリガポイントがアクセスされたこ
とを示す。前記「ブレークポイント」信号が肯定された
時、制御回路20はマルチコンダクタ(multi−k
onductor)「ブレークポイント制御」信号を介
してコア9のCPU2に転送されたBKPT(ブレーク
ポイント)信号、「デバッグ割り込み」信号、および
「ゴー(Go)」信号の内の1つを肯定する。
き、ブレークポイントトリガの発生はTDRにおいて規
定された応答を発生させる。もしデータプロセッサ3が
停止すれば、BKPT信号の肯定はCPU2を強制的に
背景デバッグモードにおける実行を停止させることにな
る。背景デバッグモードは後にやや詳細に説明すること
に注目すべきである。背景デバッグモードに入るために
は、TDRのTRCビットは%01に等しくなるべきで
ある。TRCビットはTDRのビット31および30に
対応することに注意を要する。背景デバッグモードに入
りかつプログラムカウンタ値にもとづくブレークポイン
トが肯定されたとき、CPU2はターゲットとされる命
令が実行される前にデータプロセッサ3の実行を停止す
る。アドレスおよびデータ成分にもとづくブレークポイ
ントに対しては、CPU2は停止の前にいくつかの付加
的な命令を実行することができる。このタイプのブレー
クポイント動作は非実時間デバッグ動作のためにのみ使
用すべきであり、それはデータプロセッサ3は前記トリ
ガに応じて停止するからであることに注意を要する。
しなければ、制御回路20は特別のデバッグ割込みがC
PU2に提供されるべきことを示すために前記「デバッ
グ割込み」信号を肯定する。特別のデバッグ割込みがC
PU2に提供されるべき場合には、TDRのTRCビッ
トは%10の論理値にセットされる。TRCビットが%
10にセットされたとき、ブレークポイントトリガは制
御回路20によってCPU2への特別のデバッグ割込み
へと変換される。該特別のデバッグ割込みはCPU2が
割込みのためにサンプルを行うまでペンディングとされ
る。特別のデバッグ割込みが肯定されたとき、ターゲッ
トとされる命令が実行される前にプログラムカウンタ値
にもとづくブレークポイントが生じる。これはCPU2
が割込みがペンディング中であるかを判定するためにサ
ンプルを行うのと同時にプログラムカウンタの比較動作
がイネーブルされるため可能となる。アドレスおよびデ
ータ比較にもとづくブレークポイントに対しては、CP
U2は割込み動作を実行する前にいくつかの付加的な命
令を実行することができる。
認識されたとき、CPU2はソフトウエアプログラムの
実行を中止しかつ例外処理ルーチンを開始する。例外処
理ルーチンの始めに、CPU2はエミュレータモードの
動作に入る。CPU2がエミュレータモードの動作を行
っている場合にはすべての割込みは無視されることに注
意を要する。前記複数の制御レジスタ40のCSRにお
けるMAPビットの状態に応じて、エミュレーションモ
ードの動作はすべてのメモリアクセスを前記複数のハー
ドウエアブレークポイントレジスタ50のAABRレジ
スタのTTおよびTM値により指示される特別にマッピ
ングされたアドレス空間へと強制することができる。こ
の例では、前記TT値は$2に等しくかつ前記TM値は
$5(オペランド)または$6(命令)に等しい。
れた後、CPU2は独自の例外ベクトルをフェッチす
る。CPU2は前記独自の例外ベクトルに含まれる命令
アドレスにおいて実行を続ける。CPU2におけるデバ
ッグ割込みハンドラはスーパバイザ命令セットを使用し
て複数の必要なセーブ動作を行うようプログラムするこ
とができる。1例として、デバッグ割込みハンドラはす
べてのプログラム可視レジスタの状態および特別のメモ
リロケーションを確保したメモリ空間にセーブすること
ができる。前記確保したメモリ空間はメモリ6内に位置
してもよくあるいはそれはデータ処理システム5のいず
れか他のメモリに位置してもよい。いったん要求される
動作が完了すると、「例外からの戻り(Return
FromException:RTE)」命令が実行さ
れかつCPU2はエミュレータモードの動作を退出す
る。CPU2がデバッグ割込み信号を受信しかつエミュ
レータモードの動作に入ったとき、PST信号はこの条
件を通知するため$Dの値を有する。PST信号はデバ
ッグ割込みが処理される時間からデバッグ割込み例外処
理ルーチンの最初の命令がフェッチされるまでこの値を
有する。さらに、PST信号はCPU2がエミュレータ
モードの動作から退出したことを指示するために$7の
値を有する。さらに、いったん前記デバッグ割込みハン
ドラがそのデバッグ例外処理ルーチンの実行を完了する
と、外部開発システム7は次にメモリ6における前記確
保されたメモリロケーションまたは前記確保されたメモ
リロケーションを含むデータ処理システム5の他のメモ
リをアクセスすることができる。
の通常の動作における少しの侵入が許容される場合の実
時間デバッグ動作のために使用できるが、データプロセ
ッサ3を停止させることは選択可能なものではない。デ
ータプロセッサのエミュレータモードへのエントリおよ
びエミュレータモードからのエグジットはPST信号上
の独自の値によって通知されることに注意を要する。
スにもとづき、あるデータ値または該データ値のマスク
にもとづき、かつあるプログラムカウンタ値または該プ
ログラムカウンタ値のマスクにもとづき、他の比較を本
発明において行うことができることに注目すべきであ
る。上の例で説明したアドレス範囲の比較については、
データ値、データ値のマスク、プログラムカウンタ値、
およびプログラムカウンタ値のマスクにもとづく比較は
TDRが制御バス15を介して適切な制御値を提供する
ことを必要とする。
て行われる実時間デバッグ動作は2つのレベルのトリガ
値を提供するよう拡張できる。本発明のこの実施形態で
は、ビット31〜16は第2のレベルのトリガを規定し
かつビット15〜0は第1のレベルのトリガを規定す
る。トリガが2レベルトリガとして構成されるとき、前
記トリガは条件「もし…であれば、もし(if−the
n−if)」構造と同様の様式で機能する。例えば、も
しトリガの第1の条件、またはレベル、が満たされれ
ば、該トリガがデータ処理システム5によって実行され
るべきブレークポイント機能をイネーブルする前に第2
の条件、またはレベル、が満たされなければならない。
そのような条件トリガ構造は外部開発システム7が大き
な柔軟性および精度の双方を備えて機能できるようにす
る。本発明のこの実施形態においては、2つのレベルの
みのトリガ構造が実施されていることに注意を要する。
しかしながら、さらに付加的なレベルのトリガ構造も実
施できる。
システム7がアドレス$0000FACEへの$FEE
D以外のいずれかの値のユーザモードのオペランドワー
ド書込みとしてトリガを定義することを希望し、続いて
プログラムカウンタが$DEADBEEFの値に等しく
なるものと仮定する。第1のレベルのトリガはアドレス
$0000FACEへの$FEED以外の何らかの値の
ユーザモードのオペランドワード書込みであろう。第2
のレベルのトリガはプログラムカウンタが$DEADB
EEFの値に等しい場合に生じる。
テム7は値$DEADBEEFをプログラムカウンタブ
レークポイントレジスタ(PBR)115にかつ$00
0000000の値をプログラムカウンタブレークポイ
ントマスクレジスタ(PBMR)190に書き込むこと
ができる。PBMR190にオールゼロが書き込まれた
とき、PBR115に格納されたすべてのビットは一時
PCレジスタ125によって提供されるプログラムカウ
ンタ値と比較される。前記比較動作は前記複数の制御レ
ジスタ40のTDRに格納された値に応じて実行される
ことに注意を要する。
CEの値をアドレスブレークポイントローレジスタ(A
BLR)120にかつ$0041の値を図6のアドレス
属性ブレークポイントレジスタ(AABR)に書き込ま
なければならない。ABLR120における$0000
FACEの値は前記TDRの構成が比較が行われるのを
許容すれば比較器140が前記ブレークポイント信号を
肯定する値を示す。前記AABRにおける$0041の
値はTM値を%001にセットし、前記TT値は%00
に、前記SZ値は%10に、そしてR(読出し)ビット
をゼロにセットする。前記TMおよびTT値はトリガが
ユーザモードのオペランドワード書込み動作となること
を保証する働きをなす。
の値をブレークポイント回路100のデータブレークポ
イントレジスタ(DBR)160に書き込まなければな
らない。外部開発システムはまた$000000000
の値をデータブレークポイントマスクレジスタ(DBM
R)150に書き込まなければならない。オールゼロが
DBMR150に書き込まれたとき、DBR160に格
納されたすべてのビットは比較器180を使用してKD
ATA信号によって提供されるデータ値と比較される。
この比較動作は前記複数の制御レジスタ40のTDRに
格納された値に応じて行われることに注意を要する。
制御レジスタ40のTDRを$20022824の値で
書き込まなければならない。TDRがこの値を有する場
合、第1のレベルのトリガは以下の特性を有する。この
例では、前記EBLビットが肯定され、前記EDLWビ
ットが否定され、前記EDWLビットが肯定され、かつ
前記EDWU,EDLL,EDLM,EDUM,および
EDUUビットがすべて否定される。前記DIビットは
肯定され、前記AIおよびEARビットは否定され、前
記EALビットは肯定され、かつ前記EPCおよびPC
Iビットは否定される。この構成により、TDRはDB
R160に格納された値と同じに格納されていないワー
ド長のデータ値に対し前記ブレークポイント信号を肯定
するよう前記第1のレベルのトリガをイネーブルするよ
う構成する。さらに、前記TDRは上に述べた条件のお
のおのが適合しかつABLR120に格納されたアドレ
ス値が前記KADDR信号によって提供される値に対応
する場合に第1のレベルのトリガを肯定するよう構成さ
れる。前記TDRによって決定される上に述べた条件の
おのおのが満たされた場合、第1のレベルのトリガが肯
定されかつ次に前記ブレークポイント信号が肯定される
前に前記第2のレベルのトリガが満たされなければなら
ない。
合、第2のレベルのトリガは以下の特性である。この例
では、前記TRC値は%00であり、前記EBLビット
は肯定され、前記EDLW,EDWL,EDWU,ED
LL,EDLM,EDUMおよびEDUUビットはすべ
て否定される。前記DI,AI,EARおよびEALビ
ットは否定され、前記EPCビットは肯定され、かつ前
記PCIビットは否定される。この構成により、前記T
DRはPBR115に格納されたものと同じであるプロ
グラムカウンタ値に対し前記ブレークポイント信号を肯
定するため第2のレベルのトリガがイネーブルされるよ
う構成する。TDRによって判定される上に述べた条件
のおのおのが満たされた場合、第2のレベルのトリガが
肯定されかつ前記ブレークポイント信号が肯定されるこ
とになる。
はプログラム可能なトリガ応答を生じる結果となる。該
トリガ応答は前記複数の制御レジスタ40のTDRのビ
ット31および30へとプログラムされる。正しくプロ
グラムされたとき、データプセッサ3のCPU2のトリ
ガ応答は前記DDATA信号を介して外部開発システム
7にとってトリガを見えるようにすることとなりかつ何
らの内部応答も生じさせない。第2のトリガ応答はCP
U2に実行を停止させかつ外部的にCPU2が中止状態
にあることをPST信号を介して指示させる。第3のト
リガ応答はCPU2に対しデバッグ割込みを発生する。
前に述べたように、デバッグ割込みは優先度がすべての
他の割込みより高くかつCPU2をエミュレータモード
の動作に入らせかつ独自の例外処理ルーチンにアクセス
させる。エミュレータモードの動作へのエントリおよび
該エミュレータモードの動作からのエグジットは外部的
にPST出力上において見えるようにされる。
作>上に述べた実時間デバッグ機能をサポートするた
め、本発明はコア9およびデバッグモジュール10の同
時動作をサポートしている。デバッグモジュール10の
ためにK−バス25上で効果的にバスサイクルをスケジ
ューリングする調停機構は本発明では実時間デバッグ動
作の効率的な実行を可能にするために実施される。該調
停機構はCPU2の内部命令フェッチパイプラインを停
止させること(stalling)によりデバッグモジ
ュール10のためのバスサイクルを効率的にスケジュー
リングする。前記調停機構はデバッグモジュール10の
K−バス25へのアクセスを許容する前にすべてのオペ
ランド要求がCPU2によってサービスされるまで待機
する。デバッグモジュール10は前記「バス承認」信号
を受信しかつK−バス25をABHR110に格納され
た要求されるアドレスおよび図6のAABRに格納され
た属性によってドライブする。読出し要求に対しては、
前記応答はKDATA信号に対してドライブされかつデ
バッグモジュール10によって一時データレジスタ17
0において捕捉される。書込みリファレンスに対して
は、前記書込みオペランドがDBR160からKDAT
A信号に対してドライブされる。デバッグモジュール1
0はこの動作をK−バス25をCPU2に対して放棄し
戻す前に1つのバス処理において行う。従って、デバッ
グモジュール10はCPU2の実時間動作ふるまいへの
その侵入を最小にする。K−バス25に対する調停機構
はCPU2に格納されたロジックによって実行される。
同時動作を示す例において、外部開発システム7はデバ
ッグ機能の間にメモリ読出し動作を実行しているものと
仮定する。メモリ読出し命令を実行するために、外部開
発システム7は前記DSDIおよびDSCLK信号の双
方を使用してシリアルインタフェース30に対しメモリ
ロケーションをアクセスするためのコマンドおよびアド
レスをシフト入力する。本発明の1実施形態では、前記
コマンドの第1の部分はDSDI信号によって提供され
かつDSCLK信号によってクロック入力される。前記
コマンドの付加的な部分はその後提供される。前記コマ
ンドのすべての部分は16ビットのパケットの情報が完
成するまでレジスタ32に格納される。本発明の別の実
施形態では本発明のこの実施形態において要求される1
6ビットより多くのまたは少ないビットを含むことがで
きることに注意を要する。
ては、予め選択されたメモリロケーションへある値を書
き込む命令は48ビット長であり、16ビットのオペコ
ードおよび32ビットのアドレスを備えている。レジス
タ32は16ビットのみの幅である。従って、第1の1
6ビットのパケットの情報が完成したとき、該情報は制
御バス15を介して制御回路20へ転送される。制御回
路20はその第1の16ビットのパケットの情報をデコ
ードして行われるべき動作のタイプを決定する。いった
ん制御回路20が前記第1の16ビットのパケットのデ
ータをデコードしかつプログラムされたメモリロケーシ
ョンからの読出しアクセスが行われるべきことを決定す
れば、制御回路20は制御バス15を介して制御信号を
提供し引き続く32ビットのアドレス情報が前記複数の
ハードウエアブレークポイントレジスタ50のABHR
110へとロードできるようにする。
部開発システム7によってシリアルに提供される。前に
述べたように、DSDI信号によって提供されるその後
のデータはDSCLK信号を介してクロック入力され
る。16ビットのパケットの情報が完成するまでデータ
ビットのおのおのはレジスタ32に格納される。第2の
16ビットのパケットの情報が完成したとき、該情報は
前記「シリアル情報」信号を介して複数のハードウエア
ブレークポイントレジスタ50のABHR110へと転
送される。その後、付加的な情報はDSDIおよびDS
CLK信号を介して外部開発システム7によりレジスタ
32へとシリアルに提供される。第3の16ビットのパ
ケットの情報が完成したとき、該情報は前記「シリアル
情報」信号を介して複数のハードウエアブレークポイン
トレジスタ50のABHR110へと転送される。
されたとき、制御回路20は前記「バス要求」信号を肯
定する。該「バス要求」信号はK−バス25を介してC
PU2へと転送される。前に述べたように、前記「バス
要求」および前記「バス承認」信号はデバッグモジュー
ル10およびCPU2の間の直接的な接続である。バス
調停の詳細は前に説明した。
ABHR110がイネーブルされてそこに格納されたア
ドレス情報をKADDR信号を介してK−バス25に提
供する。該アドレス情報はその中のメモリロケーション
を読み出すためにメモリ6によってデコードされる。読
出し動作が実行されるため、メモリ6はK−バス25の
KDATA信号上のメモリロケーションに対応するオペ
ランドを出力する。アクセスされるメモリはメモリ6に
限定されないことに注意を要する。むしろ、アクセスさ
れるメモリはメモリ6あるいはデータ処理システム5の
任意の他のメモリロケーションとすることができる。K
DATA信号を介して転送されるオペランドはその後ブ
レークポイント回路100の一時データレジスタ170
において捕捉される。前記オペランドはその後「内部デ
ータ」信号を介してレジスタ32に転送される。前記オ
ペランドは次にシリアルインタフェース30によって提
供されるDSDO信号を介して32のタイミングサイク
ルで直列的にシフト出力される。前記DSDO信号は外
部開発システム7へ提供される。
を介して転送された後、CPU2は処理速度への最小限
の侵入とともにデータ処理命令の実行を再開する。従っ
て、CPU2はシリアルインタフェース30が情報を出
力している間にデータ処理機能を行うことができる。
ッグモードで動作することを要求することなくCPU2
およびデバッグモジュール10の同時動作を可能にする
ことに注目すべきである。コア9とデバッグモジュール
10との間でデータ、アドレスおよび制御情報を通信す
るためにK−バス25を使用することはデバッグモジュ
ール10がCPU2と同じメモリロケーションおよび内
部レジスタにアクセスできるようにする。従って、デバ
ッグモジュールはCPU2がアクセスできるすべてのメ
モリロケーションおよび内部レジスタにアクセスするこ
とができる。CPU2およびデバッグモジュール10を
同時に動作させることができる能力により外部開発シス
テム7がプロセッサの動作に大きな影響を与えることな
くデータプロセッサ3の内部レジスタおよびメモリにお
ける増大した可視性(visibility)を持つこ
とができるようにする。
PU2はともに同じ内部レジスタおよびメモリロケーシ
ョンにアクセスする能力を有するが、CPU2およびコ
ア9の残りの部分は前記複数の制御レジスタ40のCS
Rにおける前記「デバッグレジスタへのプロセッサ書込
み禁止(Inhibit Processor Wri
tes to Debug Registers:IP
W)」ビットがセットされている場合に複数のブレーク
ポイントレジスタ50に格納された値を変更しないこと
に注意を要する。CSRにおけるIPWビットがセット
されている場合、CPU2によって開始されたいずれの
書込み動作も禁止される。さらに、IPWビットは外部
開発システム7によって提供されるコマンドによっての
み変更することができる。
システム7はDSDIおよびDSCLK信号の双方を使
用してシリアルインタフェース30にデータをCSRに
ロードするためコマンドをシフト入力する。前に述べた
ように、本発明の1つの実施形態では、前記コマンドの
第1の部分はDSDI信号によって提供されかつDSC
LK信号によってクロック入力される。前記コマンドの
付加的な部分はその後提供される。前記コマンドのすべ
ての部分は16ビットのパケットの情報が完成するまで
レジスタ32に格納される。本発明の別の実施形態では
本発明のこの実施形態において必要とされる16ビット
より多くのまたは少ないビットを含むことができること
に注目すべきである。
ては、CSRにある値を書き込む命令は48ビット長で
あり、16ビットのオペコードおよび32ビットのデー
タを備えている。レジスタ32は16ビットのみの幅を
有する。この書込み命令を実行するため、外部開発シス
テム7はDSDIおよびDSCLK信号の双方を使用し
てシリアルインタフェース30にデータをCSRへロー
ドするためコマンドをシフト入力する。該コマンドの第
1の部分はDSDI信号によって提供されかつDSCL
K信号によってクロック入力される。前記コマンドの付
加的な部分はその後提供される。前記コマンドのすべて
の部分は16ビットのパケットの情報が完成するまでレ
ジスタ32に格納される。
ては、CSRにある値を書き込む命令は48ビット長で
あり、16ビットのオペコードおよび32ビットのデー
タを備えている。レジスタ32は16ビットのみの幅を
有する。従って、第1の16ビットのパケットの情報が
完成したとき、該情報は制御回路20に転送されそこで
デコードされかつその後の動作が構成される。第2の1
6ビットのパケットの情報がレジスタ32にロードされ
たとき、該情報は前記「シリアル情報」信号を介して複
数の制御レジスタ40に転送される。制御回路20から
制御バス15によって提供される制御情報を使用して、
前記「シリアル情報」信号の内容はデスティネイション
レジスタ、すなわち前記CSR、の上位部分にロードさ
れる。同様に、第3の16ビットのパケットの情報がレ
ジスタ32にロードされかつ次に複数の制御レジスタ4
0に転送される。前と同様に、制御回路20によって供
給される信号を使用して、前記「シリアル情報」信号の
内容はCSRの下位部分へとロードされる。このように
して、48ビットの命令全体が直列的にデバッグモジュ
ール10にシフト入力され、そこでデコードされかつオ
ペランド値がCSRにロードされる。
部開発システム7によって直列的に提供される。前に述
べたように、DSDI信号を介して提供されるその後の
データはDSCLK信号を介してクロック入力される。
16ビットのパケットの情報が完成するまで前記データ
ビットのおのおのはレジスタ32に格納される。第2の
16ビットのパケットの情報が完成したとき、該情報は
前記「シリアル情報」信号を介して複数の制御レジスタ
40に転送される。前記第2の16ビットのパケットの
情報はCSRにビット31〜16として格納される。そ
の後、付加的な情報が直列的に前記DSDIおよびDS
CLK信号を介して外部開発システム7によってレジス
タ32に提供される。第3の16ビットのパケットの情
報が完成したとき、該情報は前記「シリアル情報」信号
を介して前記複数の制御レジスタ40に転送される。こ
の第3の16ビットのパケットの情報はビット15〜0
としてCSRに格納される。
以外のすべての値はデータプロセッサ4のCPU2によ
ってCSRに書き込まれる値によって構成することがで
きる。CPU2が該値をCSRに書き込むとき、該値は
図6に示されるブレークポイント回路100の一時レジ
スタ170に提供される。前記値はK−バス25のKD
ATA信号を介して一時レジスタ170に与えられる。
一時レジスタ170から、前記値はレジスタ32へ転送
されかつ16ビットのパケットで該レジスタ32に格納
される。従って、複数の制御レジスタ40に対しては、
前記値は外部開発システム7からレジスタ32に提供さ
れたものと同じであるように見える。
された他の値は制御バス15を介してハードウエア回路
100に提供される。前記IPWビットが肯定されかつ
CPU2がABHR110,ABLR120,DBMR
150,DBR160,PBMR190およびPPR1
25の内の1つに格納された値を変更しようと試みる場
合、前記IPWビットはコア9によって開始される書込
み動作をディスエーブルするために上に述べたレジスタ
のおのおのに提供される。
レジスタ50への書込み動作を効果的にディスエーブル
するためにIPWビットを使用することはデータプロセ
ッサ3における障害の回路および誤りのあるプログラム
を分離しかつ識別するために外部開発システム7によっ
てプログラムされる条件がCPU2によってオーバライ
トされないことを保証する。
本発明は外部開発システム7がリセット動作のための例
外処理ルーチンが開始される前にデータプロセッサ3に
おいてブレークポイント動作を実行できるようにするメ
カニズムを提供する。「外部リセット」信号が肯定され
たとき、前記複数の制御レジスタ40の各々の内容は初
期化される。前記「外部リセット」信号がその後否定さ
れたとき、データプロセッサ3が実際のリセット例外処
理ルーチンを開始する前に静止している時間のウィンド
ウが存在する。外部開発システム7によって前記静止時
間の間に外部ブレークポイント信号、*BKPT、が肯
定されれば、本発明はターゲットメモリ値をデータ処理
システム5にダウンロードしかつ何らかの要求されるハ
ードウェアレジスタ構成を行なうためのメカニズムおよ
び方法を提供する。前記ターゲットメモリ値は単一の値
でもよくあるいは複数の値でもよい。
発システム7によってダウンロードされると、前記複数
の制御レジスタおよび前記複数のハードウェアブレーク
ポイントレジスタ50の内の一方または双方が構成でき
る。さらに、CPU2に含まれるハードウェアレジス
タ、MMU/コントローラ4、およびシステムバスコン
トローラ8もまたプログラムされ得る。最後に、データ
プロセッサ3は「ゴー(Go)」コマンドを使用してリ
スタートされなければならない。しかしながら、本発明
においては、前記「ゴー」コマンドの受信に応じて実行
される一連のハードウェア動作はCPU2がブレークポ
イント動作を実行している間に変更されたハードウェア
レジスタの関数である。もし外部開発システム7がCP
U2のプログラムカウンタレジスタを変更しなければ、
前記「ゴー」コマンドはデータプロセッサ3をイネーブ
ルして通常のリセット例外処理ルーチンを実行できるよ
うにする。しかしながら、もし外部開発システム7がC
PU2のプログラムカウンタレジスタを変更しなけれ
ば、前記「ゴー」コマンドはデータプロセッサ3をイネ
ーブルして前記通常のリセット例外処理ルーチンをバイ
パスしかつプログラムカウンタレジスタにロードされた
アドレスによって識別される命令の実行を開始できるよ
うにする。
ト動作の間のデータプロセッサ3の動作は後により詳細
に説明する。前記「リセット」信号が肯定されかつデー
タプロセッサ3のCPU2に提供されたものと仮定す
る。該「リセット」信号が否定されたとき、外部開発シ
ステム7は前記*BKPT信号を肯定する。デバッグモ
ジュール10の制御回路20はK−バス25を介しての
CPU2への複数のブレークポイント制御信号の内の前
記BKPT信号を肯定する。前と同様に、制御インタフ
ェースはデバッグモジュール10とCPU2との間の直
接的接続であることに注意を要する。
したとき、CPU2は静止時間ウィンドウを中止しかつ
データプロセッサ3が停止していることを通知する。こ
の時間の間、PST信号は$Fの論理値を有し外部開発
システム7にデータプロセッサ3が動作を停止している
ことを示す。したがって、CPU2およびデータプロセ
ッサ3はリセット例外処理ルーチンを開始する前に停止
される。
が動作を停止していることを指示すると、外部開発シス
テム7は複数のデータ、アドレスおよび制御値を前記D
SDI信号および前記DSCLK信号を介してデータプ
ロセッサ3にダウンロードする。前記複数のデータ、ア
ドレスおよび制御値はメモリ6に格納されるべきプログ
ラムまたはデータ値のメモリイメージとすることができ
る。さらに、前記複数のデータ、アドレスおよび制御値
は前記複数の制御レジスタ40および前記複数のハード
ウェアブレークポイントレジスタ50のような複数の構
成レジスタの各々のために初期化値を提供することがで
きる。前記複数のデータ、アドレスおよび制御値がDS
DI信号を介してデータプロセッサ3に提供されたと
き、前記値の各ビットはシリアルインタフェース30を
介してレジスタ32に提供される。レジスタ32が満杯
になったとき、パケットの情報が前記「シリアル情報」
信号を介して複数のハードウェアブレークポイントレジ
スタ50に提供する。前記複数のハードウェアブレーク
ポイントレジスタ50においては、前記パケットの情報
は一時データレジスタ170のようなレジスタに格納さ
れる。一時データレジスタ170はその後そこに格納さ
れた情報をKDATA信号を介してK−バス25に提供
する。K−バス25は該情報をコア9の残りの部分に転
送する。この動作は前により詳細に説明したから、内部
格納手順のこれ以上の説明はここでは行なわない。
がデータプロセッサ3の適切なメモリまたはレジスタロ
ケーションに格納された後、外部開発システム7は前記
DSDIおよびDSCLK信号を介してデータプロセッ
サ3に「ゴー」コマンドを提供する。前記複数のデー
タ、アドレスおよび制御値と同様に、該「ゴー」コマン
ドはDSDI信号を介してデータプロセッサ3に提供さ
れる。前記「ゴー」コマンドの各々のビットはシリアル
インタフェース30を介してレジスタ32に提供され
る。レジスタ32が満杯になったとき、パケットの情報
が制御バス15を介して制御回路20に与えられる。制
御回路20は前記「ゴー」コマンドをデコードしてK−
バス25を介してCPU2に前記「ゴー」信号を提供す
る。
き、それが実行する命令は外部開発システム7によって
提供される前記複数のアドレス、データおよび制御値に
よって変更されたレジスタによって決定される。例え
ば、もしCPU2のプログラムカウンタ(図面には詳細
に示されていない)が変更されれば、CPU2は該変更
されたプログラムカウンタに格納された新しい命令アド
レスからプロセッサの実行を開始する。しかしながら、
もしCPU2のプログラムカウンタが変更されなけれ
ば、CPU2は通常のリセット例外処理ルーチンにより
継続する。
ータプロセッサ3のブレークポイントを行なう本発明の
能力は外部開発システム7がリセット例外処理ルーチン
の実行の間に前記値がオーバライトされる機会を生じる
ことなく要求される様式でデータプロセッサ3を構成で
きるようにする効率的なかつ有用なメカニズムを提供す
る。
にブレークポイント動作を実行するこの能力はまた外部
開発システム7が不揮発メモリ装置のプログラミングを
バイパスできるようにする。新しいソフトウェアイメー
ジを書き込み可能なメモリ装置にロードすることによ
り、前記不揮発メモリにプログラムされたコードは容易
にバイパスできる。外部開発システム7は80ビットの
命令をシフト入力することによりいずれのハードウェア
レジスタをもアクセスできる。この80ビットの命令は
16ビットのオペコード、CPU空間へマッピングされ
た32ビットのアドレス、および32ビットのオペラン
ドデータを含む。いったん完全なコマンドが受信される
と、デバッグモジュール10はメモリ参照動作と同様の
様式で動作する。K−バス25が要求され、次にCPU
2によって承認される。CPU空間のK−バスサイクル
がデバッグモジュール10によって開始されかつ適切な
ハードウェアレジスタが書き込まれる。
3が特別の背景デバッグモードで動作しているとき、C
PU2は停止してデバッグモジュール10が全てのメモ
リおよびレジスタ値に完全にアクセスでき、それによっ
て障害のある回路および誤りのあるプログラムを分離し
かつ識別できるようにする。背景デバッグモードにある
ときレジスタおよびメモリロケーションは観察できかつ
選択的に変更できる。さらに、試験機能をイネーブルで
きる。外部開発システム7はそれが特別の背景デバッグ
モードで動作しているときにデバッグモジュール10を
介して容易に内部情報にアクセスできるが、通常の命令
実行は中止され、それはCPU2がこの動作モードにお
いては停止しなければならないからである。CPU2が
停止しているとき、PST信号は$Fの値を有すること
に注意を要する。
多くの発生源によって発生できる。例えば、前記*BK
PT信号を外部開発システム7によって外部的に発生し
てデータプロセッサ3が背景デバッグモードの動作に入
るよう選択的にイネーブルすることができる。さらに、
内部的に発生されたブレークポイント動作および破滅的
例外条件もまたデータプロセッサ3を背景デバッグモー
ドの動作に入るようイネーブルできる。
グモードの動作に入ると、データプロセッサ3の通常の
動作は停止されかつ特別の機能が外部開発システム7の
制御の下にデバッグモジュール10によって行なわれ
る。デバッグモジュール10および外部開発システム7
の間の全ての通信はシリアルインタフェース30および
前記DSDI,DSDOおよびDSCLK信号の各々を
介して行なわれる。
では、背景デバッグモードはPST信号を介して外部ユ
ーザに通知される。PST信号上の$Fの値がプロセッ
サが停止しかつ背景デバッグ動作モードで動作している
ことを示す。背景デバッグモードへのエントリの指示は
重要であり、それはこれが外部ユーザがシリアル通信チ
ャネルを介してサポートされたデバッグコマンドを開始
できるようにするための信号を提供するからである。し
たがって、シリアルインタフェース30を介して提供さ
れるシリアルポートはメモリロケーションおよび内部レ
ジスタからデバッグ情報を取り出すために使用すること
ができる。
てのエミュレータモードのメモリ参照は通常のものとし
てスーパバイザアクセスへとマッピングされ、したがっ
てオンチップメモリ、外部メモリおよび入力/出力装置
のようなシステム資源が参照できるようになる。
コマンドが直接的にデバッグモジュール10にシフト入
力された後に前記「ゴー」信号が肯定される。前記「ゴ
ー」信号は何らかの事象がデータプロセッサ3を停止さ
せた後にデータプロセッサ3の実行をリスタートさせ、
背景デバッグモードの動作へのエントリを強制する。デ
ータプロセッサ3はもしTDRがこの形式の方向を強制
するようプログラムされていれば制御回路20による前
記「ブレークポイント」信号の肯定によって停止され得
る。さらに、データプロセッサ3はデータプロセッサ3
による「ホールト(Halt)」命令の実行によりある
いはフォールト・オン・フォールト(fault−on
−fault)」条件の発生により停止され得る。
が、背景デバッグモードのような、特別の動作モードに
入ることを要求することなく実時間トレースおよびデバ
ッグ機能を実行できるようにするデータプロセッサおよ
び動作方法を提供する。さらに、本発明は実時間デバッ
グ機能の実行の間にマルチレベルのトリガの実行のため
の方法を提供する。これらの独自の特徴的機能の各々は
外部ユーザにデータ処理システム5における障害を識別
しかつ分離する上でより大きな機能性および柔軟性を提
供する。
今まで存在しなかった、実時間トレース機能を提供す
る。該実時間トレース機能は、外部開発システム7のよ
うな、外部ユーザが外部バスの形式または利用可能性を
想定することなくデータプロセッサ3の内部動作をダイ
ナミックに観察できるようにする。さらに、前記実時間
トレース機能はデータ処理システム5の効率および速度
に大きな影響を与えることなくそのような観察可能性を
システムの内部動作内に提供する。データ処理システム
5のデバッグモジュール10は外部ユーザに対しDDA
TAおよびPST信号を介して内部動作情報を提供する
ための並列出力ポートを提供する。前記DDATA信号
はオペランド値を反映するデータを提供しかつ前記PS
T信号はCPU2の実行ステータスを反映する符号化さ
れたステータス情報を提供する。さらに、前記DDAT
A信号はまた捕捉された命令アドレスプログラムフロー
の変更を可能にし外部開発システムが外部的に見えるア
ドレスバスまたは外部的に見えるデータバスを必要とす
ることなく正確なプログラムフローをトレースできるよ
うにする。DDATA信号上に表示される情報はPST
信号上のステータス情報と同期していることに注意を要
する。したがって、外部ユーザはデータプロセッサ3の
通常動作を中止することなくデータプロセッサ3におけ
るキーとなる変数のステータスを決定するために前記D
DATAおよびPST信号をデコードすることができ
る。言い換えれば、データプロセッサ3は内部情報を外
部開発システムに提供するために特別のデバッグまたは
エミュレータモードで動作することを要求されない。
行するための回路および方法を提供する。多くのデータ
プロセッサにおいては、特に組み込み型(embedd
ed)システムでは、データプロセッサはシステムの制
約によりあるいはデータプロセッサがもはや正常なモー
ドで動作していない場合に障害の回路またはプログラム
を識別することの不能性のためデバッグ動作の間に停止
できないかもしれない。本発明はデータプロセッサの実
時間動作に対し最小の侵入のみによりかつデータプロセ
ッサを停止させることなくデバッグ動作を実行する。
グラミング事象を識別するためにデバッグ動作の間に使
用される。プログラミング事象に遭遇したとき、ブレー
クポイント信号が肯定されかつソフトウェアプログラム
のステータスを決定するためデータが取り出される。ト
レース機能と同様に、ブレークポイント動作は外部ユー
ザが複数の選択されたレジスタおよびメモリロケーショ
ンの各々のステータスを確かめ、それによってデータ処
理エラーが識別できるようにする。本発明はそのような
ブレークポイント動作を行なうために複数のハードウェ
アブレークポイントレジスタ50およびブレークポイン
ト回路100を提供する。本発明においては、プログラ
ムカウンタの値またはプログラムカウンタマスク、オペ
ランドアドレス範囲、およびデータ値またはデータマス
ク値に基づくブレークポイント動作は全て実施される。
さらに、本発明において実施されるブレークポイント動
作はまた1または2レベルトリガへと構成でき、この場
合複数の制御レジスタ40の前記「トリガ定義レジスタ
(TDR)」を介して正確なトリガ応答がプログラム可
能である。
のデバッグモードで動作することを要求することなくC
PU2およびデバッグモジュール10の同時動作を可能
にする。コア9とデバッグモジュール10との間でデー
タ、アドレス、および制御情報を通信するためにK−バ
ス25を使用することによりデバッグモジュール10が
CPU2と同じ内部レジスタおよびメモリロケーション
へのアクセスを持つことができるようになる。したがっ
て、デバッグモジュールはCPU2がアクセスできる全
てのメモリロケーションおよび内部レジスタにアクセス
できる。CPU2およびデバッグモジュール10を同時
に動作させることができる能力は外部開発システム7が
プロセッサの動作に大きな影響を与えることなくデータ
プロセッサ3の内部レジスタおよびメモリにおける増大
した可視性を持つことができるようにする。
PU2は双方とも同じ内部レジスタおよびメモリロケー
ションをアクセスする能力を有するから、CPU2およ
びコア9の残りの部分は前記複数の制御レジスタ40の
CSRにおける「デバッグレジスタへのプロセッサ書き
込み禁止(IPW)」ビットがセットされている場合に
前記複数のブレークポイントレジスタ50に格納された
値を変更することはできない。前記CSRにおける前記
IPWビットがセットされている場合、CPU2によっ
て開始されるいずれの書き込み動作も禁止される。さら
に、IPWビットは外部開発システム7によって提供さ
れるコマンドによってのみ変更することができる。複数
のハードウェアブレークポイントレジスタ50への書き
込み動作を効果的にディスエーブルするためにIPWビ
ットを使用することは外部開発システム7によってプロ
グラムされかつデータプロセッサ3における障害の回路
および誤りのあるプログラムを分離しかつ識別するため
に必要な事象がCPU2によってオーバライトされない
ことを保証する。
セット動作のための例外処理ルーチンが開始される前に
データプロセッサ3においてブレークポイント動作を実
行できるようにするメカニズムを提供する。前記「外部
リセット」信号が肯定されたとき、複数の制御レジスタ
40の各々の内容が初期化される。前記「外部リセッ
ト」信号がその後否定されたとき、データプロセッサ3
が実際のリセット例外処理ルーチンを開始する前に静止
している時間のウィンドウが存在する。もし外部ブレー
クポイント信号、*BKPT、が前記静止時間の間に外
部開発システム7によって肯定されれば、本発明は何ら
かのハードウェアレジスタの構成を行なうことができる
ようにデータ処理システム5へターゲートメモリ値をダ
ウンロードするメカニズムおよび方法を提供する。前記
ターゲートメモリ値は単一の値でもよくあるいは複数の
値でもよい。
にブレークポイント動作を実行するこの能力はまた外部
開発システム7が不揮発メモリ装置をプログラミングす
ることをバイパスできるようにする。新しいソフトウェ
アイメージを書き込み可能なメモリ装置にロードするこ
とにより、前記不揮発メモリ装置においてプログラムさ
れたコードは容易にバイパスできる。外部開発システム
7は80ビットの命令をシフト入力することによりいず
れのハードウェアレジスタをもアクセスできる。この8
0ビットの命令は16ビットのオペコード、CPU空間
へマッピングされた32ビットのアドレス、および32
ビットのオペランドデータを含む。いったん完全なコマ
ンドが受信されると、デバッグモジュール10はメモリ
参照動作と同様の様式で動作する。K−バス25が要求
され、かつ次にCPU2によって承認される。CPU空
間K−バスサイクルはデバッグモジュール10によって
開始されかつ適切なハードウェアレジスタが書き込まれ
る。
ータプロセッサ3をブレークポイントする本発明の能力
は外部開発システム7が前記値がリセット例外処理ルー
チンの実行の間にオーバライトされる機会を生じること
なく必要な様式でデータプロセッサ3を構成できるよう
にする効率的なかつ有用なメカニズムを提供する。
てのみ与えられている。しかしながら、上に述べた機能
を実行するために数多くの他の構成が存在し得る。本発
明が特定の実施形態に関連して示されかつ説明された
が、当業者にはさらに他の変更および改善を成すことが
できるであろう。したがって、この発明は示された特定
の形式に限定されるのではなくかつ添付の特許請求の範
囲によってこの発明の範囲から離れることのない全ての
変更をカバーすることを理解すべきである。
ムを示すブロック図である。
ルの一部を示すブロック図である。
回路を示すブロック図である。
レジスタを示すブロック図である。
ジスタを示すブロック図である。
ジスタの内のアドレス属性ブレークポイントレジスタを
示すブロック図である。
ジスタを示すブロック図である。
スレジスタを示すブロック図である。
イント信号の出力を示す図表形式の説明図である。
サステータス信号の出力を示す図表形式の説明図であ
る。
イミング例を示す図式的説明図である。
トの一部を示すブロック図である。
Claims (2)
- 【請求項1】 データプロセッサ(5)であって、 データ処理機能を実行するための中央処理ユニット
(2)であって、該中央処理ユニットは内部プロセッサ
ステータス信号を提供するもの、 複数の情報値を通信するためのバス手段、そしてデバッ
グ回路(10)であって、該デバッグ回路は、 出力制御信号を提供するための制御回路(60)、 前記バス手段に結合され前記複数の情報値を受けるため
の記憶バッファ(70)であって、該記憶バッファは前
記複数の情報値の各々を提供するもの、そして前記記憶
バッファに結合されて前記複数の情報値の各々を受けか
つ前記中央処理ユニットに結合されて前記内部プロセッ
サステータス信号を受ける出力回路(80)であって、
該出力回路はステータス信号を介して外部的に前記内部
プロセッサステータス信号を選択的に提供しかつ前記出
力回路はデータ信号を介して外部的にデバッグデータ値
を選択的に提供するもの、を具備する前記デバッグ回路
(10)、 を具備することを特徴とするデータプロセッサ(5)。 - 【請求項2】 データプロセッサ(5)においてトレー
ス機能を実行する方法であって、 中央処理ユニット(2)においてデータ処理命令の実行
を開始する段階、 前記中央処理ユニットから制御回路へ複数の内部プロセ
ッサステータス信号を提供する段階、 前記データ処理命令の実行に応じて前記中央処理ユニッ
トからバスを介して複数の情報値を通信する段階、 前記データ処理命令の実行の間に記憶バッファ(70)
の動作を制御するために記憶バッファ制御信号を発生す
る段階、 前記記憶バッファ制御信号が肯定された時前記複数の情
報値の各々の前記記憶バッファに順次提供する段階、 前記記憶バッファから出力回路(80)へ記憶された複
数の情報値の各々を順次提供する段階、 前記複数の内部プロセッサステータス信号を前記出力回
路に順次提供する段階、 デバッグデータ信号を介して前記記憶された複数の情報
値の各々を提供する段階、そしてステータス信号を介し
て前記複数の内部プロセッサステータス信号の内の対応
する1つを同時に提供する段階であって、前記複数の内
部プロセッサステータス信号の各々は前記記憶された複
数の情報値の内の1つに対応するもの、 を具備することを特徴とするデータプロセッサ(5)に
おいてトレース機能を実行する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/520,945 | 1995-08-30 | ||
US08/520,945 US5964893A (en) | 1995-08-30 | 1995-08-30 | Data processing system for performing a trace function and method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09218803A true JPH09218803A (ja) | 1997-08-19 |
Family
ID=24074690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8239886A Pending JPH09218803A (ja) | 1995-08-30 | 1996-08-22 | データプロセッサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US5964893A (ja) |
EP (1) | EP0762276B1 (ja) |
JP (1) | JPH09218803A (ja) |
KR (1) | KR100387193B1 (ja) |
DE (1) | DE69616462T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021157808A (ja) * | 2015-09-30 | 2021-10-07 | ツェットエフ、フリードリッヒスハーフェン、アクチエンゲゼルシャフトZf Friedrichshafen Ag | 制御装置の診断 |
Families Citing this family (113)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205560B1 (en) * | 1996-02-27 | 2001-03-20 | Via-Cyrix, Inc. | Debug system allowing programmable selection of alternate debug mechanisms such as debug handler, SMI, or JTAG |
US5724505A (en) * | 1996-05-15 | 1998-03-03 | Lucent Technologies Inc. | Apparatus and method for real-time program monitoring via a serial interface |
US5996092A (en) * | 1996-12-05 | 1999-11-30 | International Business Machines Corporation | System and method for tracing program execution within a processor before and after a triggering event |
GB9626412D0 (en) * | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Diagnostic procedures in an integrated circuit device |
GB9626401D0 (en) * | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Diagnostic procedures in an integrated circuit device |
EP1184790B1 (en) * | 1997-04-08 | 2009-11-25 | Advanced Micro Devices, Inc. | Trace cache for a microprocessor-based device |
US6189140B1 (en) | 1997-04-08 | 2001-02-13 | Advanced Micro Devices, Inc. | Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic |
US6154857A (en) * | 1997-04-08 | 2000-11-28 | Advanced Micro Devices, Inc. | Microprocessor-based device incorporating a cache for capturing software performance profiling data |
US6314530B1 (en) | 1997-04-08 | 2001-11-06 | Advanced Micro Devices, Inc. | Processor having a trace access instruction to access on-chip trace memory |
US6142683A (en) * | 1997-04-08 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including data steering between a processor, an input/output port, and a trace logic |
US6041406A (en) * | 1997-04-08 | 2000-03-21 | Advanced Micro Devices, Inc. | Parallel and serial debug port on a processor |
US6009270A (en) * | 1997-04-08 | 1999-12-28 | Advanced Micro Devices, Inc. | Trace synchronization in a processor |
US6167536A (en) * | 1997-04-08 | 2000-12-26 | Advanced Micro Devices, Inc. | Trace cache for a microprocessor-based device |
US5978902A (en) * | 1997-04-08 | 1999-11-02 | Advanced Micro Devices, Inc. | Debug interface including operating system access of a serial/parallel debug port |
US6148381A (en) * | 1997-04-08 | 2000-11-14 | Advanced Micro Devices, Inc. | Single-port trace buffer architecture with overflow reduction |
US6154856A (en) * | 1997-04-08 | 2000-11-28 | Advanced Micro Devices, Inc. | Debug interface including state machines for timing synchronization and communication |
US6094729A (en) * | 1997-04-08 | 2000-07-25 | Advanced Micro Devices, Inc. | Debug interface including a compact trace record storage |
US6175914B1 (en) | 1997-12-17 | 2001-01-16 | Advanced Micro Devices, Inc. | Processor including a combined parallel debug and trace port and a serial port |
US6145100A (en) * | 1998-03-04 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including timing synchronization logic |
US6145123A (en) * | 1998-07-01 | 2000-11-07 | Advanced Micro Devices, Inc. | Trace on/off with breakpoint register |
CN1071038C (zh) * | 1998-08-04 | 2001-09-12 | 英业达股份有限公司 | 用于调试串行通讯的诊断装置 |
EP0992907B1 (en) * | 1998-10-06 | 2005-09-28 | Texas Instruments Inc. | Trace fifo management |
US6269454B1 (en) | 1998-11-06 | 2001-07-31 | Advanced Micro Devices, Inc. | Maintaining object information concurrent with data optimization for debugging |
US6370660B1 (en) * | 1999-04-21 | 2002-04-09 | Advanced Micro Devices, Inc. | Apparatus and method for providing a wait for status change capability for a host computer system |
JP4335999B2 (ja) * | 1999-05-20 | 2009-09-30 | 株式会社ルネサステクノロジ | プロセッサ内蔵半導体集積回路装置 |
JP3289704B2 (ja) * | 1999-06-03 | 2002-06-10 | 日本電気株式会社 | マイクロコンピュータ |
US7793261B1 (en) * | 1999-10-01 | 2010-09-07 | Stmicroelectronics Limited | Interface for transferring debug information |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6732307B1 (en) * | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
JP2001195281A (ja) * | 2000-01-07 | 2001-07-19 | Sony Corp | システム監視装置 |
KR100337149B1 (ko) * | 2000-07-05 | 2002-05-18 | 권 기 홍 | 프로그램 테스트 및 디버깅이 용이한 중앙처리장치 |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US7076420B1 (en) * | 2000-10-26 | 2006-07-11 | Cypress Semiconductor Corp. | Emulator chip/board architecture and interface |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
JP3796111B2 (ja) * | 2000-11-10 | 2006-07-12 | 株式会社ルネサステクノロジ | データプロセッサ |
US6484273B1 (en) * | 2000-11-29 | 2002-11-19 | Lsi Logic Corporation | Integrated EJTAG external bus interface |
US7093234B2 (en) * | 2001-08-24 | 2006-08-15 | International Business Machines Corporation | Dynamic CPU usage profiling and function call tracing |
CN100361109C (zh) | 2001-08-29 | 2008-01-09 | 模拟设备公司 | 通用串行端口体系结构和系统 |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US7526422B1 (en) | 2001-11-13 | 2009-04-28 | Cypress Semiconductor Corporation | System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US6834360B2 (en) * | 2001-11-16 | 2004-12-21 | International Business Machines Corporation | On-chip logic analyzer |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
CA2426619A1 (en) * | 2003-04-25 | 2004-10-25 | Ibm Canada Limited - Ibm Canada Limitee | Defensive heap memory management |
US7827375B2 (en) * | 2003-04-30 | 2010-11-02 | International Business Machines Corporation | Defensive heap memory management |
US7328429B2 (en) * | 2003-11-13 | 2008-02-05 | Intel Corporation | Instruction operand tracing for software debug |
US7536288B2 (en) * | 2003-12-31 | 2009-05-19 | International Business Machines Corporation | Method, system and program product supporting user tracing in a simulator |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US7236107B2 (en) * | 2004-09-20 | 2007-06-26 | Fujitsu Limited | System and method for identifying optimal encoding for a given trace |
US7447946B2 (en) * | 2004-11-05 | 2008-11-04 | Arm Limited | Storage of trace data within a data processing apparatus |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US7478281B2 (en) * | 2005-06-06 | 2009-01-13 | Denniston William B | System and methods for functional testing of embedded processor-based systems |
US7917914B2 (en) * | 2005-06-09 | 2011-03-29 | Whirlpool Corporation | Event notification system for an appliance |
US7921429B2 (en) * | 2005-06-09 | 2011-04-05 | Whirlpool Corporation | Data acquisition method with event notification for an appliance |
US20070162158A1 (en) * | 2005-06-09 | 2007-07-12 | Whirlpool Corporation | Software architecture system and method for operating an appliance utilizing configurable notification messages |
US20080137670A1 (en) * | 2005-06-09 | 2008-06-12 | Whirlpool Corporation | Network System with Message Binding for Appliances |
EP2247067B1 (en) * | 2005-06-09 | 2016-05-11 | Whirlpool Corporation | Appliance with embedded virtual router |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US20070198816A1 (en) * | 2005-11-10 | 2007-08-23 | Chuan-Po Ling | Emulation system for a single-chip multiple-microcontroller and emulation method thereof |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
US8010774B2 (en) * | 2006-03-13 | 2011-08-30 | Arm Limited | Breakpointing on register access events or I/O port access events |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US7558987B2 (en) * | 2006-08-29 | 2009-07-07 | Texas Instruments Incorporated | Token-based trace system |
US7707459B2 (en) | 2007-03-08 | 2010-04-27 | Whirlpool Corporation | Embedded systems debugging |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US8381192B1 (en) * | 2007-08-03 | 2013-02-19 | Google Inc. | Software testing using taint analysis and execution path alteration |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US8090933B2 (en) * | 2008-02-12 | 2012-01-03 | International Business Machines Corporation | Methods computer program products and systems for unifying program event recording for branches and stores in the same dataflow |
US8060795B2 (en) * | 2008-05-15 | 2011-11-15 | International Business Machines Corporation | Solution for automatically incorporating diagnostic data within screen capture images |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US9367316B2 (en) | 2012-03-16 | 2016-06-14 | International Business Machines Corporation | Run-time instrumentation indirect sampling by instruction operation code |
US9454462B2 (en) | 2012-03-16 | 2016-09-27 | International Business Machines Corporation | Run-time instrumentation monitoring for processor characteristic changes |
US9158660B2 (en) | 2012-03-16 | 2015-10-13 | International Business Machines Corporation | Controlling operation of a run-time instrumentation facility |
US9405541B2 (en) | 2012-03-16 | 2016-08-02 | International Business Machines Corporation | Run-time instrumentation indirect sampling by address |
US9411591B2 (en) | 2012-03-16 | 2016-08-09 | International Business Machines Corporation | Run-time instrumentation sampling in transactional-execution mode |
US9280447B2 (en) | 2012-03-16 | 2016-03-08 | International Business Machines Corporation | Modifying run-time-instrumentation controls from a lesser-privileged state |
US9250902B2 (en) | 2012-03-16 | 2016-02-02 | International Business Machines Corporation | Determining the status of run-time-instrumentation controls |
US9483268B2 (en) | 2012-03-16 | 2016-11-01 | International Business Machines Corporation | Hardware based run-time instrumentation facility for managed run-times |
US9465716B2 (en) | 2012-03-16 | 2016-10-11 | International Business Machines Corporation | Run-time instrumentation directed sampling |
US9430238B2 (en) | 2012-03-16 | 2016-08-30 | International Business Machines Corporation | Run-time-instrumentation controls emit instruction |
US9442824B2 (en) | 2012-03-16 | 2016-09-13 | International Business Machines Corporation | Transformation of a program-event-recording event into a run-time instrumentation event |
US9471315B2 (en) | 2012-03-16 | 2016-10-18 | International Business Machines Corporation | Run-time instrumentation reporting |
CN106293999B (zh) * | 2015-06-25 | 2019-04-30 | 深圳市中兴微电子技术有限公司 | 一种微引擎处理报文中间数据快照功能的实现方法及装置 |
US20160378636A1 (en) * | 2015-06-26 | 2016-12-29 | Intel Corporation | Software-Initiated Trace Integrated with Hardware Trace |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
CN107346282B (zh) | 2016-05-04 | 2024-03-12 | 世意法(北京)半导体研发有限责任公司 | 用于微处理器的调试支持单元 |
GB201809542D0 (en) * | 2018-06-11 | 2018-07-25 | Nordic Semiconductor Asa | Software-trace message sink peripheral |
US11537505B2 (en) * | 2020-10-16 | 2022-12-27 | Cadence Design Systems, Inc. | Forced debug mode entry |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3937938A (en) * | 1974-06-19 | 1976-02-10 | Action Communication Systems, Inc. | Method and apparatus for assisting in debugging of a digital computer program |
US4080650A (en) * | 1976-07-28 | 1978-03-21 | Bell Telephone Laboratories, Incorporated | Facilitating return from an on-line debugging program to a target program breakpoint |
US4338660A (en) * | 1979-04-13 | 1982-07-06 | Relational Memory Systems, Inc. | Relational break signal generating device |
US4675646A (en) * | 1983-09-29 | 1987-06-23 | Tandem Computers Incorporated | RAM based multiple breakpoint logic |
US4635193A (en) * | 1984-06-27 | 1987-01-06 | Motorola, Inc. | Data processor having selective breakpoint capability with minimal overhead |
US5165027A (en) * | 1986-01-24 | 1992-11-17 | Intel Corporation | Microprocessor breakpoint apparatus |
JPS63155336A (ja) * | 1986-12-19 | 1988-06-28 | Hitachi Ltd | デ−タ処理装置 |
DE3740762A1 (de) * | 1987-01-22 | 1988-08-04 | Nat Semiconductor Corp | Datenverarbeitungssystem mit einer externen schnittstelle |
US5132971A (en) * | 1987-02-06 | 1992-07-21 | Anritsu Corporation | In-circuit emulator |
US4819234A (en) * | 1987-05-01 | 1989-04-04 | Prime Computer, Inc. | Operating system debugger |
US5179696A (en) * | 1987-07-24 | 1993-01-12 | Nec Corporation | Generator detecting internal and external ready signals for generating a bus cycle end signal for microprocessor debugging operation |
US5084814A (en) * | 1987-10-30 | 1992-01-28 | Motorola, Inc. | Data processor with development support features |
US5053949A (en) * | 1989-04-03 | 1991-10-01 | Motorola, Inc. | No-chip debug peripheral which uses externally provided instructions to control a core processing unit |
US5157781A (en) * | 1990-01-02 | 1992-10-20 | Motorola, Inc. | Data processor test architecture |
JPH03204737A (ja) * | 1990-01-08 | 1991-09-06 | Nec Corp | 信号処理プロセッサのデバッグ回路 |
JPH03248244A (ja) * | 1990-02-27 | 1991-11-06 | Toshiba Corp | キャッシュメモリを備えたプロセッサ |
JP2526690B2 (ja) * | 1990-02-27 | 1996-08-21 | 三菱電機株式会社 | プログラマブルコントロ―ラの制御方法 |
US5410685A (en) * | 1990-06-12 | 1995-04-25 | Regents Of The University Of Michigan | Non-intrinsive method and system for recovering the state of a computer system and non-intrusive debugging method and system utilizing same |
US5204864A (en) * | 1990-08-16 | 1993-04-20 | Westinghouse Electric Corp. | Multiprocessor bus debugger |
EP0523232B1 (en) * | 1991-02-01 | 1997-04-02 | Digital Equipment Corporation | Method for testing and debugging computer programs |
US5341500A (en) * | 1991-04-02 | 1994-08-23 | Motorola, Inc. | Data processor with combined static and dynamic masking of operand for breakpoint operation |
JP2505950B2 (ja) * | 1991-05-13 | 1996-06-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ハ―ドウェア支援ブレ―クポイント・システム |
GB2256296B (en) * | 1991-05-31 | 1995-01-18 | Integrated Device Tech | Multiplexed status and diagnostic pins in a microprocessor with on-chip caches |
US5321828A (en) * | 1991-06-07 | 1994-06-14 | Step Engineering | High speed microcomputer in-circuit emulator |
US5357628A (en) * | 1992-03-25 | 1994-10-18 | Intel Corporation | Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt |
GB2266606B (en) * | 1992-04-27 | 1996-02-14 | Intel Corp | A microprocessor with an external command mode |
US5491793A (en) * | 1992-07-31 | 1996-02-13 | Fujitsu Limited | Debug support in a processor chip |
JPH06139107A (ja) * | 1992-10-30 | 1994-05-20 | Nec Corp | ブレイクアドレス検出回路 |
JPH06161822A (ja) * | 1992-11-20 | 1994-06-10 | Mitsubishi Electric Corp | マイクロプロセッサ |
US5359608A (en) * | 1992-11-24 | 1994-10-25 | Amdahl Corporation | Apparatus for activation and deactivation of instruction tracing through use of conditional trace field in branch instructions |
JP2731692B2 (ja) * | 1993-04-28 | 1998-03-25 | 日本電気アイシーマイコンシステム株式会社 | デバッグ装置 |
DE69415600T2 (de) * | 1993-07-28 | 1999-07-15 | Koninkl Philips Electronics Nv | Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren |
US5488688A (en) * | 1994-03-30 | 1996-01-30 | Motorola, Inc. | Data processor with real-time diagnostic capability |
US5530804A (en) * | 1994-05-16 | 1996-06-25 | Motorola, Inc. | Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes |
US5623673A (en) * | 1994-07-25 | 1997-04-22 | Advanced Micro Devices, Inc. | System management mode and in-circuit emulation memory mapping and locking method |
US5630102A (en) * | 1994-12-19 | 1997-05-13 | Intel Corporation | In-circuit-emulation event management system |
US5546562A (en) * | 1995-02-28 | 1996-08-13 | Patel; Chandresh | Method and apparatus to emulate VLSI circuits within a logic simulator |
-
1995
- 1995-08-30 US US08/520,945 patent/US5964893A/en not_active Expired - Fee Related
-
1996
- 1996-08-22 EP EP96113467A patent/EP0762276B1/en not_active Expired - Lifetime
- 1996-08-22 JP JP8239886A patent/JPH09218803A/ja active Pending
- 1996-08-22 DE DE69616462T patent/DE69616462T2/de not_active Expired - Fee Related
- 1996-08-30 KR KR1019960036639A patent/KR100387193B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021157808A (ja) * | 2015-09-30 | 2021-10-07 | ツェットエフ、フリードリッヒスハーフェン、アクチエンゲゼルシャフトZf Friedrichshafen Ag | 制御装置の診断 |
Also Published As
Publication number | Publication date |
---|---|
EP0762276A1 (en) | 1997-03-12 |
US5964893A (en) | 1999-10-12 |
DE69616462D1 (de) | 2001-12-06 |
KR970012203A (ko) | 1997-03-29 |
KR100387193B1 (ko) | 2003-08-25 |
EP0762276B1 (en) | 2001-10-31 |
DE69616462T2 (de) | 2002-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3846939B2 (ja) | データプロセッサ | |
EP0762276B1 (en) | Data processor with built-in emulation circuit | |
EP0762277B1 (en) | Data processor with built-in emulation circuit | |
EP0762279B1 (en) | Data processor with built-in emulation circuit | |
US6205560B1 (en) | Debug system allowing programmable selection of alternate debug mechanisms such as debug handler, SMI, or JTAG | |
EP0391173B1 (en) | Debug peripheral for microcomputers, microprocessors and core processor integrated circuits and system using the same | |
US7185234B1 (en) | Trace control from hardware and software | |
US8185879B2 (en) | External trace synchronization via periodic sampling | |
US6378064B1 (en) | Microcomputer | |
US20020184477A1 (en) | Apparatus and method for facilitating debugging of sequences of processing instructions | |
US7181728B1 (en) | User controlled trace records | |
US5838897A (en) | Debugging a processor using data output during idle bus cycles | |
US20030051122A1 (en) | Trace information generation apparatus for generating branch trace information omitting at least part of branch source information and branch destination information on target processing | |
US6526501B2 (en) | Adapter for a microprocessor | |
US6665737B2 (en) | Microprocessor chip includes an addressable external communication port which connects to an external computer via an adapter | |
JPH09218801A (ja) | データプロセッサ | |
US6389498B1 (en) | Microprocessor having addressable communication port | |
EP0869434A2 (en) | Method for outputting trace information of a microprocessor | |
US6457124B1 (en) | Microcomputer having address diversion means for remapping an on-chip device to an external port | |
JPS62197831A (ja) | デ−タ処理装置 | |
Hohl et al. | Debug Support on the ColdFire Architecture | |
JPH1011290A (ja) | マイクロプロセッサ | |
Added | 31.2 Signal Descriptions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041014 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041102 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050120 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050120 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050216 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051115 |