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
Application number
JP8239886A
Other languages
English (en)
Inventor
Joseph C Circello
ジョセフ・シー・サーセロ
Klaus R Riedel
クラウス・アール・リードル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JPH09218803A publication Critical patent/JPH09218803A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Abstract

(57)【要約】 【課題】 外部バス形式や利用可能性を想定することな
くかつデータプロセッサ3の効率や速度に大きな影響を
与えることなく外部開発システム7がデータプロセッサ
3の内部動作を動的に観察可能な実時間トレース機能を
実現する。 【解決手段】 データプロセッサ3のデバッグモジュー
ル10はDDATA信号およびPST信号を介して内部
動作情報を提供する並列出力ポートを提供する。DDA
TA信号はオペランド値を反映するデータを提供しかつ
PST信号は中央処理ユニット92の実行ステータスを
反映する符号化されたステータス情報を提供する。さら
に、DDATA信号はまた外部開発システム7が外部的
に見ることができるアドレスバスまたは外部的に見るこ
とができるデータバスを要求することなく正確なプログ
ラムフローをトレースできるようにするため捕捉された
命令アドレスプログラムフローの変更を可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にはデータ処
理システムに関し、かつより特定的にはデータ処理シス
テムにおいてデバッグ機能を行うための方法および装置
に関する。
【0002】
【従来の技術】データ処理システムが設計されたとおり
動作しない場合、障害の源を識別するために種々の分析
技術を使用することができる。一般に、トレース機能
(trace functions)およびブレークポ
イント機能(breakpoint function
s)がデータ処理システム内で行われてうまく作動しな
い回路の分離およびうまく作動しないソフトウエアプロ
グラムの訂正を助ける。
【0003】これらの機能は外部ユーザがデータ処理動
作の実行の中間結果を観察できるようにする。トレース
機能は一般にデータ処理システムによってソフトウエア
プログラムの各命令または所定のグループの命令が実行
された後に該データ処理システムに含まれる選択された
レジスタおよびメモリのステータスを提供する。選択さ
れたレジスタおよびメモリのステータスを反映させるこ
とにより、トレース機能は外部ユーザにデータプロセッ
サまたはデータ処理システムの内部プログラミングモデ
ルに関する非常に詳細な情報を提供する。この情報によ
り、多くの形式のエラーは識別できかつ実質的に訂正で
きる。ブレークポイント機能もまたデータ処理システム
における誤ったソフトウエアコードまたは欠陥のある回
路を識別しかつ分離するための方法を提供する。ブレー
クポイント機能は、要するに、予めプログラムされた事
象が発生した場所においてソフトウエアプログラム中で
中断を生じさせるものである。次にソフトウエアプログ
ラムのステータスを判定するためにデータが得られる。
トレース機能と同様に、ブレークポイント機能は外部ユ
ーザがデータ処理のエラーが識別できるように選択され
たレジスタおよびメモリのおのおののステータスを確か
めることができるようにする。
【0004】トレース機能およびブレークポイント機能
の双方は現在入手可能なデータ処理システムにおいて集
積回路化されてきており前に述べた分離および識別能力
を提供する。例えば、アメリカ合衆国、カリフォルニア
州、サンタ・クララのインテル・コーポレイションから
入手可能な、i960Jxマイクロプロセッサはトレー
ス事象(trace events)およびトレース障
害(trace faults)を発生する内部ブレー
クポイントレジスタを有する集積回路マイクロプロセッ
サである。i960Jxマイクロプロセッサにおいて
は、内部ブレークポイントレジスタは命令実行アドレス
に際してまたは種々のタイプのデータアクセスのアドレ
スに際してトラップまたは捕捉するのに専用のものであ
る。i960Jxマイクロプロセッサのトレーシング設
備を使用するためには、マイクロプロセッサを使用する
ソフトウエアは障害処理手順またはデバッグ用モニタプ
ログラムとのインタフェースを提供しなければならな
い。種々のトレーシングモードを可能にしかつトレーシ
ング機能を選択的にイネーブルしまたはディスエーブル
するためにいくつかのレジスタおよび制御ビットを操作
するためにもソフトウエアが必要とされる。
【0005】同様に、アメリカ合衆国、カリフォルニア
州、サンタ・クララのインテル・コーポレイションから
入手可能な、80486マイクロプロセッサは内部ブレ
ークポイントレジスタを備えた集積回路マイクロプロセ
ッサでありかつトレース機能を行うことができる。80
486マイクロプロセッサでは、ブレークポイント命令
は内部ソフトウエアのデバッガ装置によって使用するた
めに実施されこの場合内部ソフトウエアは単にデータ処
理システムで動作するソフトウエアを参照するのみであ
る。一般の動作の間は、ソフトウエアデバッグプログラ
ムは実行されるソフトウエアコードの種別に依存するす
べての所望のブレークポイントにおいてブレークポイン
ト命令を実施することができる。前記80486型マイ
クロプロセッサはまたトラップルーチンが実行された後
に割込みを実行する単一ステップのトラップ機能を実施
するためのメカニズムを提供する。
【0006】
【発明が解決しようとする課題】前記i960Jx型マ
イクロプロセッサおよび80486型マイクロプロセッ
サはブレークポイントおよびトレース機能を集積してい
るが、該マイクロプロセッサのデバッグ機能は該マイク
ロプロセッサが通常の動作を中止しかつ特別のデバッグ
例外ルーチンに入ることを要求する。該デバッグ例外ル
ーチンの間は、マイクロプロセッサはそれらが通常の動
作の間に行うように機能せずかつ、従って、回路または
ソフトウエアの障害が同様に発生しないことがある。そ
の結果、外部ユーザはリアルタイムの障害状態が実際に
起こらない場合はいずれのマイクロプロセッサにおいて
も障害の根本原因を確認しかつ分離することができない
であろう。
【0007】さらに、前記i960Jx型マイクロプロ
セッサおよび前記80486型マイクロプロセッサはい
ずれもブレークポイントおよびトレース機能の間にプロ
グラム制御を提供するためにマイクロプロセッサによっ
て実行される内部ソフトウエアデバッグプログラムを必
要とする。そのようなデバッグ制御を使用することは多
量のオーバヘッドを必要とする非常に侵入的な(int
rusive)方法のデバッグを提供する。また、デバ
ッグ用ソフトウエアを使用することは障害のマイクロプ
ロセッサにおける障害の回路またはシーケンスの真の反
映を与えることができない。
【0008】従って、リアルタイムのトレースおよびリ
アルタイムのデバッグ機能の双方を提供するデータプロ
セッサの必要性が存在する。もしトレースおよびデバッ
グ機能の双方が通常動作の間に、かつ特別のデバッグモ
ードの動作においてではなく、データプロセッサの動作
を反映する方法で実行されれば、外部ユーザはデータプ
ロセッサの回路およびソフトウエアの障害をより正確に
識別しかつ訂正できるであろう。
【0009】
【課題を解決するための手段】本発明はブレークポイン
トおよびトレース機能の双方をリアルタイムでかつ特別
のモードの動作を必要とすることなく提供できるデータ
処理システムを提供する。さらに、ブレークポイントお
よびトレース機能の双方はデータ処理システムによっ
て、データプロセッサが外部アドレスバスまたは外部デ
ータバスを介してアドレスおよびデータ情報を提供する
ためにテストされることを必要とすることなく実行でき
る。この外部バスからの独立性は本発明がサイズ、タイ
プ、プロトコル、または外部バスの存在にもかかわらず
種々のデータ処理システムに対し適用できる効率的なデ
バッグメカニズムを提供できるようにする。
【0010】さらに、本発明はトレースおよびブレーク
ポイント機能をリアルタイムで実施するためのアーキテ
クチャおよび方法を提供する。テストされているデータ
プロセッサは典型的にはトレースおよびブレークポイン
ト機能が実行される前に動作を停止しまたは変更するこ
とを要求されない。従って、本発明は、データプロセッ
サが通常通り動作しておりかつデバッグ動作のための特
別のモードにない間に外部ユーザが障害を分離できるよ
うにする。また、本発明はリアルタイムのトレースまた
はリアルタイムのデバッグ動作の実行に応じて直接外部
ユーザにデータを提供する。トレース機能またはデバッ
グ機能を行うために外部ソフトウエアモニタプログラム
または外部エミュレータを必要とする従来技術の装置と
異なり、本発明はデータプロセッサの現在の動作を示す
データを外部ユーザに提供する。従って、本発明はデー
タプロセッサに大幅に侵入しまたは悪影響を与えること
なくトレースおよびデバッグ機能を提供する。本発明の
動作は引き続き詳細に説明する。
【0011】
【発明の実施の形態】以下の説明では、本発明を実施す
るデータ処理システムの1実施形態の接続および動作に
つき非常に詳細に説明する。
【0012】<本発明の接続構成>本発明の接続構成の
以下の説明では、用語「バス」は、データ、アドレス、
制御またはステータスのような、1つまたはそれ以上の
種々のタイプの情報を転送するために使用できる複数の
信号または導体に言及するために使用される。用語「肯
定する」および「否定する」は信号、ステータスビッ
ト、または同様の装置を、それぞれ、その論理的に真の
または論理的に偽の状態にする場合に使用される。もし
前記論理的に真の状態が論理レベル“1”であれば、前
記論理的に偽の状態は論理レベル“0”である。また、
もし前記論理的に真の状態が論理レベル“0”であれ
ば、前記論理的に偽の状態は論理レベル“1”である。
【0013】さらに、ある数に先行する記号“$”はそ
の数が16進または16をベースとする形式で表されて
いることを示す。ある数に先行する記号“%”はその数
がその2進または2をベースとした形式で表されている
ことを示す。
【0014】次に図1を参照すると、図1は本発明の1
実施形態に係わるデータ処理システム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はマスタモジュールバスである。
【0015】コア9は中央処理ユニット(CPU)2、
メモリ管理ユニット(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)に対応する。
【0016】図2は、デバッグモジュール10をより詳
細に示す。デバッグモジュール10は制御回路20、シ
リアルインタフェース30、レジスタ32、複数の制御
レジスタ40、複数のハードウエアブレークポイントレ
ジスタ50、制御回路60、FIFO70、複数のマル
チプレクサ80、およびブレークポイント回路100を
含む。
【0017】前記*BKPT信号は外部集積回路ピン
(図2には詳細に示されていない)を介して制御回路2
0に与えられる。制御回路20は複数のビットを有する
「ステータス(Status)」信号を受信するために
複数の制御レジスタ40に結合されている。制御回路2
0はブレークポイント回路100に結合されて複数のビ
ットを有する「ブレークポイント(Breakpoin
t)」信号を受け取る。制御回路20は複数のビットを
有する「トレース(Trace)」信号を提供するため
に制御回路60に結合されている。制御回路20は制御
バス15を介して前記複数の制御レジスタ40、前記複
数のハードウエアブレークポイントレジスタ50、およ
びレジスタ32に結合されている。制御回路20は複数
の「ブレークポイント制御」信号および「バス要求」信
号をCPU2に提供する。制御回路20はまたCPU2
によって提供される「バス承認」信号を受信する。
【0018】前記複数の制御レジスタ40はレジスタ3
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に入力される。
【0019】シリアルインタフェース30は、それぞ
れ、第1および第2の集積回路ピンからDSDIおよび
DSCLK信号を受信する。シリアルインタフェース3
0はDSDO信号を第3の集積回路ピンに提供する。シ
リアルインタフェース30はレジスタ32に結合されて
いる。レジスタ32は前記複数の制御レジスタ40およ
び前記複数のハードウエアブレークポイントレジスタ5
0に結合されてマルチビット(シリアル情報)信号を提
供する。
【0020】制御回路60は「ストール」信号をCPU
2に提供する。制御回路60はまた「FIFO制御」信
号をFIFO70にかつ「Mux制御」信号を複数のマ
ルチプレクサに提供する。FIFO70はK−バス25
に結合されて前記KADDRおよびKDATA信号を受
信する。FIFO70はまたFIFO信号を提供するた
めに前記複数のマルチプレクサ80に結合されている。
FIFO70はまた「フル(Full)」信号を制御回
路60に提供する。前記複数のマルチプレクサ80はC
PU2からCPST信号を受信する。前記複数のマルチ
プレクサ80はDDATA信号およびPST信号を提供
する。
【0021】制御回路20はシリアルインタフェース3
0を動作させるためにおよびレジスタ32内の情報の格
納を制御するために必要な信号を提供する。いったんレ
ジスタ32にデータがロードされると、制御回路20は
このデータを制御回路40または前記複数のハードウエ
アブレークポイントレジスタ50の適切な宛先へと転送
するよう指令する。制御回路20によって実行される制
御機能は「制御」バス15によって通信される。ロード
動作の実行を制御することに加えて、制御回路20は制
御回路40からステータス情報を受信しかつブレークポ
イント回路100からブレークポイント情報を受信す
る。制御回路20は集合的に該ステータス情報およびブ
レークポイント情報を使用して前記「バス要求」信号、
「ブレークポイント制御」信号、および「トレース」信
号を発生する。
【0022】図3は、ブレークポイント回路100をよ
り詳細に示す。ブレークポイント回路100はアドレス
ブレークポイントハイレジスタ(ABHR)110、ア
ドレスブレークポイントローレジスタ(ABLR)12
0、比較器130、比較器140、データブレークポイ
ントマスクレジスタ(DBMR)150、データブレー
クポイントレジスタ(DBR)160、一時データレジ
スタ170、比較器180、プログラムカウンタブレー
クポイントマスクレジスタ(PBMR)190、プログ
ラムカウンタブレークポイントレジスタ(PBR)11
5、一時プログラムカウンタ(PC)レジスタ125、
および比較器135を具備する。
【0023】制御バス15はABHR 110,ABL
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の出力はともに前記「ブレー
クポイント」信号導体に結合されている。
【0024】DBMR 150の出力は比較器180の
イネーブル入力に結合されている。DBR 160の出
力は比較器180の第1の入力に結合されている。前記
KDATA信号は一時データレジスタ170の入力に結
合されている。一時データレジスタ170の出力は比較
器180の第2の入力にかつ前記「内部データ」信号に
結合されている。比較器180の出力は前記「ブレーク
ポイント」信号導体に結合されている。
【0025】PBMR 190の出力は比較器135の
イネーブル入力に結合されている。PBR 115の出
力は比較器135の第1の入力に結合されている。前記
KCONTROL信号は一時プログラムカウンタレジス
タ125の入力に結合されている。一時PCレジスタ1
35の出力は比較器135の第2の入力に結合されてい
る。比較器135の出力は前記「ブレークポイント」信
号導体に結合されている。
【0026】図12は中央処理ユニット2の一部をより
詳細に示す。中央処理ユニット2の該部分は命令フェッ
チパイプライン(IFP)210およびオペランド実行
パイプライン(OEP)220を具備する。IFP 2
10は命令アドレス発生回路202、命令フェッチ回路
204、およびFIFO命令バッファ206を含む。O
EP 220はオペランドフェッチ回路212、および
アドレス発生回路214を具備する。
【0027】命令アドレス発生回路202の出力はバッ
ファ208の第1の入力に結合されている。命令フェッ
チ回路204の出力はFIFO命令バッファ206およ
びオペランドフェッチ回路212の双方に結合されてい
る。FIFO命令バッファ206の出力はオペランドフ
ェッチ回路212に結合されている。アドレス発生回路
214の第1の出力はバッファ208の第2の入力に結
合されている。アドレス発生回路214の第2の出力は
バッファ216に結合されている。
【0028】バッファ216の第1の出力はオペランド
フェッチ回路212におよび命令フェッチ回路204に
結合されている。バッファ216の第2の出力はKDA
TA信号を提供する。該KDATA信号はまたバッファ
216に提供される。バッファ206の出力は前記KA
DDR信号を提供する。
【0029】<レジスタの説明>図4は、複数の制御レ
ジスタ40の一部をより詳細に示す。本発明の1つの実
施形態では、前記複数の制御レジスタ40の該部分はト
リガ定義レジスタ(Trigger Definiti
on register:TDR)および構成/ステー
タスレジスタ(CSR)を含む。
【0030】前記TDRはデバッグモジュール10の構
成を記憶しかつパイプライン化条件の下で実行される選
択された機能のための制御を提供する。本発明のこの実
施形態では、トリガは1または2レベルトリガとして構
成され、この場合ビット31〜16は第2のレベルのト
リガを規定しかつビット15〜0は第1のレベルのトリ
ガを規定する。該トリガが2レベルトリガとして構成さ
れる場合、該トリガは条件構成(conditiona
l construct)と同様に機能する。例えば、
もし第1の条件、またはレベル、のトリガが満たされれ
ば、第2の条件、またはレベル、が、トリガがデータ処
理システム5によって実行されるべきブレークポイント
機能を可能にする前に満たされなければならない。これ
は以下の表のように言い換えることができる。
【0031】
【表1】もし第1の条件が満たされ、次に、もし第2の
条件が満たされれば、次にトリガ。 (If 1st condition is sati
sfied,then if 2nd conditi
on is satisfiedthen TRIGG
ER.)
【0032】前記TDRに含まれるビットのおのおのの
機能につき引き続きより詳細に説明する。
【0033】TDRが図7により詳細に示されている。
該TDRのPCIビットは「プログラムカウンタブレー
クポイント反転(Program Counter B
reakpoint Invert)」ビットである。
もしPCIビットが肯定されれば、プログラムカウンタ
ブレークポイントは前記プログラムカウンタブレークポ
イント(PBR)およびプログラムカウンタブレークポ
イントマスク(PBMR)レジスタで規定される範囲の
外側で開始される。もしPCIビットが否定されれば、
プログラムカウンタのブレークポイントは前記PBRお
よびPBMRで規定される範囲内で規定される。
【0034】プログラムカウンタブレークポイントイネ
ーブル(Enable Program Counte
r Breakpoint:EPC)ビットは選択的
に、それが肯定されたとき、プログラムカウンタブレー
クポイント、PBRおよびPBMR、に対するトリガの
依存性をイネーブルする。前記EPCビットが否定され
たとき、プログラムカウンタのブレークポイントはディ
スエーブルされる。
【0035】肯定されたとき、イネーブルアドレスブレ
ークポイントロー(EnableAddress Br
eakpoint Low:EAL)ビットは前記複数
のハードウエアブレークポイントレジスタ50の「アド
レスブレークポイントレジスタ」のABLRに格納され
たアドレスがブレークポイントトリガとして機能できる
ようにする。従って、もしEALビットが肯定されれ
ば、前記KADDR信号を介して転送されるアドレス値
が前記「アドレスブレークポイントレジスタ」のABL
Rに格納されたアドレス値と同じ場合にブレークポイン
トはトリガする。
【0036】「イネーブルアドレスブレークポイントレ
ンジ(Enable Address Breakpo
int Range:EAR)」ビットは該ビットが肯
定されたとき前記複数のハードウエアブレークポイント
レジスタ50の「アドレスブレークポイントレジスタ」
のABHRおよびABLRによって規定される包括的レ
ンジ(inclusive range)に際してブレ
ークポイントがトリガできるようにする。従って、もし
前記EARビットが肯定されれば、前記KADDR信号
を介して転送されるアドレス値が前記「アドレスブレー
クポイントレジスタ」のABLRおよびABHRに格納
されたアドレス値によって規定される範囲内にある場合
にブレークポイントはトリガする。
【0037】肯定されたとき、「イネーブルアドレスブ
レークポイント反転(EnableAddress B
reakpoint Inverted:EAI)」ビ
ットは前記複数のハードウエアブレークポイントレジス
タ50の「アドレスブレークポイントレジスタ」のAB
LRおよびABHRによって規定される範囲を除いた、
または該範囲の外側の、アドレス範囲に際してブレーク
ポイントがトリガできるようにする。従って、EAIビ
ットが肯定されたとき、前記KADDR信号を介して転
送されるアドレス値が前記「アドレスブレークポイント
レジスタ」のABLRに格納されたアドレス値より小さ
いか、あるいは前記「アドレスブレークポイントレジス
タ」のABHRに格納されたアドレス値より大きい場合
にブレークポイントはトリガする。
【0038】「データブレークポイント反転(Data
Breakpoint Invert:DI)」ビッ
トはそれが肯定されたとき複数のデータブレークポイン
ト比較器の論理的センス(logical sens
e)を反転する。該DIビットは前記複数のハードウエ
アブレークポイントレジスタ50のDBR内にプログラ
ムされたデータ値と等しくないデータ値の出現にもとづ
きトリガを展開するために使用できる。
【0039】肯定されたとき、「上位上部データバイト
のためのデータブレークポイントイネーブル(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にもとづきデータブレーク
ポイントのトリガを可能にする。
【0040】「上位データワードのためのデータブレー
クポイントイネーブル(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に
基づきデータブレークポイントのトリガを可能にする。
【0041】「データロングワードのためのデータブレ
ークポイントイネーブル(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実施形態ではディスエーブ
ルされる。
【0042】さらに、本発明のこの実施形態において
は、データブレークポイントのトリガはミスアラインの
(misaligned)またはアンアラインの(un
aligned)オペランド参照に応じて発生するよう
にすることができる。ミスアラインのまたはアンアライ
ンのオペランド参照に応じたブレークポイントトリガの
この発生は以下の方法を使用する。バイトサイズの参照
に対しては、適切な組のデータビットがオペランドアド
レスの2つの下位ビットの関数としてプログラムされ
る。以下の例を参照されたい。
【0043】
【表2】KADDR[1:0]=00であれば、KDA
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]がプログラムされる。
【0044】ワードサイズの参照については、前記KD
ATA信号を介して転送されるデータ値のビット31〜
16またはビット15〜0が前記KADDR信号のビッ
ト1の関数としてプログラムされることになる。もし前
記KADDR信号のビット1が論理“0”の値であれ
ば、ビット31〜16がプログラムされる。もし前記K
ADDR信号のビット1が論理“1”の値であれば、ビ
ット15〜0がプログラムされる。ロングワードの参照
に対しては、前記KADDR信号のビット31〜0がプ
ログラムされる。
【0045】「イネーブルブレークポイントレベル(E
nable BreakpointLevel:EB
L)」ビットは肯定されたときブレークポイントトリガ
のための包括的イネーブル(global enabl
e)として作用する。もし該EBLビットか肯定されな
ければ、すべてのブレークポイントトリガはディスエー
ブルされる。
【0046】「トリガ応答制御(Trigger Re
sponse Control:TRC)」値はデータ
処理システム5が完成したトリガ条件に応答する様式を
決定する。前記トリガ応答は複数の集積回路ピンによっ
て提供される前記DDATA信号を介して外部ユーザに
表示される。前記TRC値が%01の論理値を有する場
合、ブレークポイント回路100によって検出されるハ
ードウエアブレークポイント条件の発生はCPU2への
前記「ブレークポイント」信号を肯定するよう制御回路
20をイネーブルする。前記「ブレークポイント」信号
の肯定はCPU2に対しデータ処理命令の通常の実行を
割込み可能なポイントで中止させる。前記TRC値が%
10の論理値を有する場合、ハードウエアブレークポイ
ント条件の発生は制御回路20に対しCPU2へのデバ
ッグ割込み信号を肯定するようイネーブルする。該デバ
ッグ割込み信号が肯定されたとき、CPU2は割込み可
能なポイントで通常の実行を中止しかつ予め定められた
例外処理ルーチンを実行する。
【0047】前記「構成ステータスレジスタ(CS
R)」は図8により詳細に示されている。該CSRはデ
ータ処理システム5のCPU2、MMU/コントローラ
4、メモリ6、およびデバッグモジュール10の動作構
成を規定する。データ処理システム5の構成を規定する
ことに加え、CSRはブレークポイント回路100の状
態を指示するステータス情報を含む。
【0048】データ処理システムがリセットされた場合
にはCSRはクリアされることに注目すべきである。さ
らに、CSRは、データ処理システムがバックグランド
デバッグ動作モードにある場合に外部開発システム(こ
こでは図示されていない)によって読まれかつ書かれる
ことができる。前記バックグランドデバッグ動作モード
は後により詳細に説明する。CSRに含まれるおのおの
のビットの機能は後により詳細に説明する。
【0049】図7に示されるように、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のブレー
クポイントがトリガされている。
【0050】前記CSRの「ステータス」フィールドに
おいて反映されたブレークポイントステータスは前記D
DATA信号を提供する複数の外部集積回路ピンを介し
て外部ユーザ(図2には示されていない)に提供され
る。前記DDATA信号は該信号がK−バス25によっ
て捕捉されたデータを表示していない場合に前記ブレー
クポイントステータスを反映する。さらに、前記CSR
の内容は任意の時間にシリアルインタフェース30を使
用して読めることに注意を要する。従って、前記ブレー
クポイントステータスは2つの手段、すなわち前記DD
ATA信号が捕捉されたデータを表示していない場合は
前記DDATA信号、またはシリアルインタフェース3
0を使用した「CSR読取り(READ CSR)」コ
マンド、を介して得ることができる。
【0051】前記CSRはまた4ビット値を提供し、こ
れは外部開発システム7へのバックグランドまたは背景
デバッグモードへのエントリステータスを示す。前記4
ビット値の最初のビットはFOFビットである。肯定さ
れたとき、フォールト・オン・フォールト(Fault
−on−Fault:FOF)」ビットはデータ処理シ
ステム5のCPU2の破滅的な停止が生じておりかつデ
ータ処理システム5は強制的にバックグランドのデバッ
グモードの動作に入れられたことを示す。該バックグラ
ンドのデバッグモードの動作は後により詳細に説明す
る。前記FOFビットはCSRの内容の読取りに応じて
クリアされる。
【0052】肯定されたとき、前記「ハードウエアブレ
ークポイントトリガ(TRG)」ビットはハードウエア
のブレークポイントがデータ処理システム5のCPUの
動作を停止したことを示す。肯定されたとき、前記TR
Gビットはデータ処理システム5が強制的にバックグラ
ンドのデバッグモードの動作に入れられたことを示す。
TRGビットはCSRの内容の読取りに応じてあるいは
シリアルインタフェース30を介して直列的に提供され
る「ゴー(Go)」コマンドの受信に応じてクリアされ
る。
【0053】前記「プロセッサホールト(Halt)」
ビットはそれが肯定されたときCPU2が停止すべきこ
とを指定する命令をCPU2が実行したことを示す。肯
定されたとき、前記ホールトビットはデータ処理システ
ム5がバックグランドの動作モードに入るよう強制され
たことを示す。該ホールトビットはCSRの内容の読取
りに応じてあるいはシリアルインタフェース30を介し
て直列的に提供される「ゴー」コマンドの受信に応じて
クリアされる。
【0054】前記「BKPT肯定(BKPT)」ビット
は*BKPT信号が肯定されかつCPU2に提供された
ことを示す。肯定されたとき、BKPTビットはデータ
処理システム5がバックグランドのデバッグモードの動
作に入るよう強制されたことを示す。BKPTビットは
CSRの内容の読出しに応じてあるいはシリアルインタ
フェース30を介して直列的に提供される「ゴー」コマ
ンドの受信に応じてクリアされる。
【0055】肯定されたとき、「デバッグレジスタへの
プロセッサ書込み禁止(Inhibit Proces
sor Writes to Debug Regis
ters:IPW)」ビットは前記複数のハードウエア
ブレークポイントレジスタ50へのおよび前記複数の制
御レジスタ40への書込み動作を禁止する。IPWビッ
トは外部開発システム7のような外部開発システムから
提供されるコマンドによってのみ変更することができ
る。IPWビットは効果的にCPU2が外部開発システ
ム7によって複数の制御レジスタ40および複数のブレ
ークポイントレジスタ50に書き込まれたデバッグ情報
をオーバライトすることを禁止する(locks ou
t)。
【0056】肯定されたとき、「エミュレータモードで
のプロセッサ参照強制(ForceProcessor
References in Emulator M
ode:MAP)」ビットはデータ処理システムがエミ
ュレータモードで動作しているときにすべての参照(r
eferences)を特別のアドレス空間にマッピン
グするよう強制する。もしMAPビットが否定されれ
ば、すべてのエミュレータモードの参照はメモリ6のス
ーパバイザのテキストおよびデータ空間へとマッピング
される。
【0057】本発明はスーパバイザ、または特権モード
の論理的拡張である特別の動作モードとしてエミュレー
タモードを含む。この特別の動作モードは本発明のこの
実施形態では3つの可能な指示子の内の1つの肯定に応
じて入る。いったんエミュレータモードに入ると、すべ
ての通常の入力/出力割込みは無視することができかつ
データプロセッサ3は任意選択的にすべてのメモリ参照
を「別の空間(alternate space)」へ
と強制することができる。前記MAPビットはデータプ
ロセッサ3のこの動作を制御する。エミュレータモード
の動作は典型的には外部開発システム7がこの別のまた
は代わりの空間へのすべてのメモリ参照をインタセプト
しかつある形式のデバッグ機能をサポートするのに必要
な命令およびデータ値を提供できるようにするために使
用される。前記別の空間の再マッピングは状態「通常
の」システムメモリを変更することなく外部開発システ
ム7がデータプロセッサ3の動作の制御を得ることがで
きるようにするために提供される。本発明のこの実施形
態では、データプロセッサ3はRTE(Returnf
rom Exception:例外からの戻り)のよう
な、特別の命令が実行されるまでエミュレータモードに
留まっている。その時点で、データプロセッサ3はエミ
ュレータモードを退出しかつCPU2は通常の動作モー
ドに戻る。
【0058】本実施形態では、エミュレータモードのエ
ントリ(entry)およびエグジット(exit)は
PST信号を介して外部ユーザに通知されることに注意
を要する。PST信号の$Dの値はエミュレータモード
へのエントリを示しかつPST信号の$7の値はエミュ
レータモードからのエグジットを示す。PST信号によ
って提供されるエミュレータモードの動作へのエントリ
および該動作からのエグジットの指示はそれが外部開発
システム7に対しハードウエアブレークポイントがトリ
ガされたことの指示を与えるため特に重要である。従っ
て、シリアルインタフェース30を介して提供されるシ
リアルポートは外部メモリロケーションからデバッグ情
報を取り出すために使用することができる。
【0059】もし前記MAPビットが否定されれば、す
べてのエミュレータモードのメモリ参照は通常通りスー
パバイザアクセスへとマッピングされ、それによってオ
ンチップメモリ、外部メモリ、および入力/出力装置の
ようなシステム資源が参照できるようになる。
【0060】さらに、本発明のこの実施形態において
は、エミュレータモードの動作に入るために3つの方法
が実施されている。第1の方法では、もし「トレース例
外に応じてのエミュレーションモード強制(Force
Emulation Mode on Trace
Exception:TRC)」ビットが肯定されれ
ば、ソフトウエアのトレース例外の発生はデータプロセ
ッサ3をエミュレータモードの動作に入るよう強制す
る。これは外部開発システム7によって制御されかつデ
ータプロセッサ3上で動作しているソフトウエアデバッ
ガによって制御されない単一命令のデバッガルーチンを
作成するためのメカニズムである。
【0061】第2の方法においては、もし「エミュレー
ションモード強制(Force Emulation
Mode:EMU)」ビットが肯定されれば、データプ
ロセッサ3はリセット例外プロセッサを開始する。前と
同様に、この方法は外部開発システム7がデータ処理シ
ステム10をそれが命令の処理を開始する前に制御でき
るようにする。
【0062】第3の方法はトリガされたハードウエアブ
レークポイントに応じてデバッグ割込みが肯定された場
合にデータプロセッサ3がエミュレータモードに入るこ
とができるようにする。前記TDRのTRCフィールド
はエミュレータモードへのエントリを備えたデバッグ割
込みを発生するためにハードウエアのブレークポイント
トリガの使用をプログラムするために用いることができ
る。
【0063】「デバッグデータ制御(Debug Da
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信号に
対して実際に表示されるバイトの数を決定する。
【0064】「分岐目標バイト(Branch Tar
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)に関連する。
【0065】「デバッグモードイネーブル(Enabl
e Debug Mode:END)」ビットはもし肯
定されれば前記PSTおよびDDATA信号の通常の動
作をディスエーブルする。さらに、このビットがイネー
ブルされたとき、データプロセッサ3のCPU2は内部
状態情報の8ビットのベクトルを出力する。
【0066】肯定されたとき、「非パイプライン化モー
ド(Non−PipelinedMode:NPL)」
ビットはCPU2を非パイプライン動作モードで動作す
るよう強制する。非パイプライン動作モードにあると
き、データ処理システム3は2つまたはそれ以上の引き
続く命令の間にオーバラップなしに一度に単一の命令を
効果的に実行する。
【0067】肯定されたとき、「係属中の割込み無視
(Ignore Pending Interrupt
s:IPI)」ビットはデータ処理システム5が単一命
令ステップ(single−instruction−
step)モードで動作している場合にCPU2がいず
れの係属中の割込み要求も無視するよう強制する。
【0068】「単一ステップモード(Single−S
tep Mode:SSM)」ビットはそれが肯定され
たときCPU2が単一命令ステップモードで動作するよ
う強制する。該単一命令ステップモードにある間に、C
PU2は単一の命令を実行しかつ次に停止する。CPU
2が停止している間に、バックグランドデバッグモード
に関連するいずれかのコマンドを実行できる。「ゴー
(GO)」コマンドの受信に応じて、CPU2は次の命
令を実行しかつ次に再び停止する。このプロセスが単一
命令ステップモードがディスエーブルされるまで継続す
る。
【0069】「バッファディスエーブル記憶(Stor
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ビットはそれぞれこれらのモジュー
ルのおのおのによって提供される機能をディスエーブル
するために使用される。
【0070】前記複数のハードウエアブレークポイント
レジスタ50は図5により詳細に示されている。該複数
のハードウエアブレークポイントレジスタ50のおのお
のの機能の概略的な説明を行う。前記複数のハードウエ
アブレークポイントレジスタ50のおのおのの機能のよ
り詳細な説明は後に行う。
【0071】図5において、前記アドレスブレークポイ
ントレジスタ(ABLRおよびABHR)はブレークポ
イント機能をトリガするために使用できるデータ処理シ
ステム5のオペランドの論理アドレス空間にある領域を
規定する。ABLRおよびABHRのおのおのに格納さ
れたアドレス値はK−バス25を介して転送されるアド
レス値と比較される。さらに、以下の説明では、ブレー
クポイント機能を実行するために満たされなければなら
ない1組の条件はトリガ(trigger)と称され
る。
【0072】前記アドレス属性ブレークポイントレジス
タ(AABR)は図6により詳細に示されている。アド
レス属性ブレークポイントレジスタはブレークポイント
機能のためのトリガにおいて整合されるべき複数のアド
レス属性およびマスクを規定する。ABLRおよびAB
LRアドレス値のように、AABRに格納される属性値
はK−バス25を介して転送されるアドレス属性信号と
比較される。
【0073】前記AABRの下位5ビット、「転送タイ
プ(Transfer Type:TT)」値および
「転送モディファイア(Transfer Modif
ier:TM)」値は集合的に、データ処理システム5
がバックグランドデバッグモードにある間にメモリ参照
を実行する場合に使用されるアドレス空間を規定する。
前記TT値は転送がスーパバイザオペランドであるか、
スーパバイザ命令であるか、ユーザオペランドである
か、あるいはユーザ命令であるかを示す。
【0074】前記複数のハードウエアブレークポイント
レジスタ50のおのおのは2つの機能に使われることに
注目すべきである。データプロセッサ3が背景デバッグ
モードの動作にあるとき、前記複数のハードウエアブレ
ークポイントレジスタ50はメモリおよびプロセッサの
参照動作の実行の間に使用される。データプロセッサ3
が背景デバッグ動作モードにない場合は、前記複数のハ
ードウエアブレークポイントレジスタ50はハードウエ
アブレークポイントを検出するために使用される。
【0075】前記複数のハードウエアブレークポイント
レジスタ50がハードウエアブレークポイントを検出す
るために使用される場合は、前記AABRレジスタは4
つのフィールドと4つの同等のマスクフィールドを含
む。前記TTおよびTMフィールドはアクセスされてい
るアドレス空間を規定する。表1はこれらのフィールド
のおのおのに対する符号化を示す。
【0076】
【表3】 TT TM アドレス空間 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 00 001 ユーザオペランド 00 010 ユーザ命令 00 101 スーパバイザオペランド 00 110 スーパバイザ命令 01 xxx 未使用 10 101 エミュレータモードオペランド(MAP=1であれば) 10 110 エミュレータモード命令(MAP=1であれば) 11 000 CPU空間 11 001 割込みアクノレッジ 11 01x 割込みアクノレッジ 11 1xx 割込みアクノレッジ
【0077】「アドレス空間」はしばしば行われている
特権の動作レベル(ユーザモードまたはスーパバイザモ
ード)および参照の形式(オペランド、命令フェッチ)
によって規定されることに注意を要する。また、前記T
TおよびTM値はブレークポイント位置をより正確に規
定するために使用される。
【0078】前記AABRにおける次の値、「サイズ
(Size:SZ)」値は、アドレス範囲に加えて、K
−バス25を介して転送されるサイズ属性はAABRの
前記SZビットに格納された値に対応しなければならな
いことを示す。同様に、「読出し/書込み(Read/
Write:R)」値がAABRに格納される。前記R
値は読出しまたは書込み動作にもとづくトリガ条件がア
ドレスにもとづく比較において適用されるべきことを示
す。
【0079】上に述べたビットは前記複数のハードウエ
アブレークポイントレジスタ50がブレークポイントモ
ニタとして動作している場合に使用される。これらのビ
ットはK−バス25属性情報と比較される。一例とし
て、前記複数のブレークポイントレジスタ50をユーザ
モードの、ワードサイズのオペランド読出しのみがトリ
ガされるようにプログラムすることができる。従って、
AABRのこれらのビットはアドレスブレークポイント
の規定または定義に対する付加的な限定(qualif
ications)を提供するために使用できる。
【0080】さらに、AABRはそれぞれ個々のビット
をブレークポイント規定からマスクアウトする能力を提
供する属性マスクビットを含む。
【0081】前記AABRの最上位ビット、「読出し/
書込みマスク(RM)」ビット、は読出しまたは書込み
動作にもとづくトリガ条件がアドレスにもとづく比較に
おいて無視されるべきことを示す。従って、もし該RM
ビットが肯定されれば、前記Rビットは比較動作の間無
視される。次の1組のビット、「サイズマスク(S
M)」値、はアドレスのサイズにもとづくトリガ条件が
アドレスにもとづく比較において無視されるべきことを
示す。例えば、もし前記SM値におけるビットが肯定さ
れれば、前記SZ値における対応するビットはアドレス
比較機能において無視される。
【0082】「転送タイプマスク(Transfer
Type Mask:TTM)」値は前記0TT値に対
応する。該TTM値におけるあるビットが肯定されたと
き、前記TT値の対応するビットは引き続くアドレス比
較において無視される。同様に、「転送モディファイア
マスク(Transfer Modifier Mas
k:TMM)」値は前記TM値に対応する。TMMフィ
ールドのあるビットが肯定されたとき、TM値の対応す
るビットは引き続くアドレス比較において無視される。
【0083】前記複数のハードウエアブレークポイント
レジスタ50はまた複数のプログラムカウンタブレーク
ポイントレジスタを含む。該複数のプログラムカウンタ
ブレークポイントレジスタはブレークポイント機能をト
リガするために使用できるデータ処理システム5の命令
論理アドレス空間における領域を規定する。前記「プロ
グラムカウンタブレークポイント(PBR)」値は前記
「プログラムカウンタブレークポイントマスク(PBM
R)」レジスタに格納された値によってマスクすること
ができる。本発明の1実施形態では、PBMRに記憶さ
れた対応するゼロの値を有するPBR中のビットのみが
データ処理システム5のプログラムカウンタ値との比較
動作において使用される。該プログラムカウンタ値はデ
ータ処理システム5のCPU2のプログラムカウンタレ
ジスタ(ここでは示されていない)に格納される。
【0084】前記プログラムカウンタブレークポイント
レジスタに加えて、前記複数のハードウエアブレークポ
イントレジスタ50は複数の「データブレークポイント
レジスタ」を含む。該複数のデータブレークポイントレ
ジスタは「データブレークポイントレジスタ(DB
R)」および「データブレークポイントマスクレジスタ
(DBMR)」を含む。前記DBRはデータ処理システ
ム5がデバッグ動作を行っている場合にトリガを形成す
るために使用できる特定のデータパターンを規定するデ
ータ値を格納する。前記DBMRに格納されたデータマ
スク値は前記DBRに格納されたデータ値をマスクす
る。従って、本発明の1実施形態では、DBMRに格納
された対応するゼロの値を有するDBRに格納されたビ
ットのみがK−バス25を介して転送されるデータ信号
と比較されてトリガ条件が適合しているかを判定する。
【0085】<動作の説明>以下の説明のために、デバ
ッグサポートの概略的な主題は独自の要件および独自の
機能を有する3つの別個の領域に区分することができ
る。本発明はリアルタイムのトレースのサポート、バッ
クグランドデバッグ動作モード、およびリアルタイムの
デバッグのサポートを提供する。図1のデータ処理シス
テム5は本発明の1つの実施形態を示している。
【0086】データ処理システム5においては、データ
プロセッサ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によって実行される現在
の動作を反映するために集合的にアクセスできる。
【0087】動作においては、コア9はCPU2、MM
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内へ接続するために使用
される。
【0088】本発明においては、データプロセッサ3は
データ転送のためのコスト効率のよいメカニズムを提供
するためにいくつかの層のバス帯域幅を有する。コア9
は性能を最大にするために高速の、単一サイクルのK−
バス25と相互接続される。この高速バスに直接結合さ
れない転送については、M−バス23がコア9およびマ
スタモジュール14のような内部バスマスタのいずれか
から帯域幅を提供する。システムバスコントローラ8は
内部M−バス23および外部E−バス(もし存在すれ
ば)の間での接続を提供し、一方またスレイブモジュー
ル12および13のようなスレイブ周辺モジュールに対
するローコストの、より低い帯域幅のS−バスによるす
べてのデータ転送のための制御機能を提供する。デバッ
グモジュール10はすべてのプロセッサ開始(proc
essor−initiated)メモリアクセスの非
侵入的な(non−intrusive)観察を可能に
するためにK−バス25に接続されている。デバッグモ
ジュール10はまた外部開発システム7への接続を提供
する。
【0089】図1のデバッグモジュール10は3つの前
に述べたデバッグ動作の内のおのおのをサポートするた
めの論理回路を提供する。デバッグモジュール10の動
作は引き続きより詳細に説明する。
【0090】<リアルタイムトレース機能>本発明は重
要な、かつ今まで存在しなかった、リアルタイムトレー
ス機能を提供する。該リアルタイムトレース機能は、外
部開発システム7のような、外部ユーザがデータプロセ
ッサ3の内部動作を動的に観察できるようにする。さら
に、このリアルタイムトレース機能はシステムの内部動
作に対するそのような観察可能性を、データ処理システ
ム5の効率および速度に大きな影響を与えることなく提
供することができる。データ処理システム5のデバッグ
モジュール10は前記DDATAおよびPST信号を介
して外部ユーザに内部動作情報を提供するために並列出
力ポートを与える。前記DDATA信号はオペランドデ
ータを反映するデータを提供しかつPST信号はCPU
2の外部ステータスを反映する符号化されたステータス
情報を提供する。さらに、前記DDATA信号はまた捕
捉された命令アドレスプログラムフローの変更を提供し
外部開発システムが外部的に見ることができるアドレス
バスまたは外部的に見ることができるデータバスを必要
とすることなく正確なプログラムフローをトレースでき
るようにする。前記DDATA信号上に表示される情報
はPST信号上におけるステータス情報と同期している
ことに注意を要する。従って、外部ユーザはデータプロ
セッサ3の動作を中止することなく、しかもこの実行経
路を見ることができるようにするため特別のデバッグ動
作モードを必要とすることなくプログラムの動的な実行
経路を決定するために前記DDATAおよびPST信号
をデコードすることができる。
【0091】リアルタイムトレースの実行の間における
データ処理システム5の動作につき引き続きより詳細に
説明する。説明に先立ち、PST信号の符号化(enc
odings)に関し簡単に説明する。PST信号の符
号化を示す表が図10に与えられている。
【0092】図10はPST信号のビット3〜0を介し
て与えられる値とCPU2のステータスとの間の関係を
示す。PST信号が%0000の値を提供する場合、前
の動作がまだ完了しておらずかつ実行は単に継続する。
もし%0001の値が与えられれば、PST信号は命令
の実行が開始されつつあることを示す。PST信号が%
0011の値を有する場合は、データ処理システムはユ
ーザモードの動作に入りつつある。もしPST信号によ
って%0100の値が提供されれば、データ処理システ
ム5は「パルス」またはWDDAT命令の実行を開始し
ている。該「パルス」オペコードは単にこの特別のPS
T符号化を発生し、一方前記WDDATAオペコードは
オペランドが捕捉されかつCSRによって規定される構
成にかかわりなくDDATA上に表示させる。これはメ
モリオペランド、例外スタックフレームまたはソフトウ
エアマーカを直接前記DDATA信号上に表示するため
の簡単なメカニズムを提供する。
【0093】もし前記PST信号によって%0101の
値が提供されれば、データ処理システム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)。
【0094】前に説明したように、符号化されたPST
およびDDATA信号によって集合的に提供されるプロ
セッサのステータス情報はデータ処理システム5の動的
な実行経路を完全に追跡するために外部プログラムモデ
ルとともに使用することができる。
【0095】リアルタイムのトレース機能を可能にする
ため、DDATA信号は分岐ターゲット命令アドレスを
表示するよう構成されなければならない。典型的には、
この構成はデータ処理システム5がその通常の実行を開
始する前に達成される。DDATA信号を構成するた
め、外部開発システム7は複数の制御レジスタ40にお
けるCSRレジスタに値を書き込むことができる。CS
Rレジスタは図8に示されている。この書込み機能を達
成するため、外部開発システム7は前記CSRにデータ
をロードするためコマンドをDSDIおよびDSCLK
信号の双方を使用してシリアルインタフェース30にシ
フト入力する。本発明の1実施形態では、該コマンドの
第1の部分はDSDI信号によって提供されかつDSC
LK信号によってクロック入力される。前記コマンドの
付加的な部分はその後提供される。前記コマンドのすべ
ての部分は16ビットのパケットの情報が完成するまで
レジスタ32に格納される。本発明の別の実施形態では
本発明のこの実施形態で必要とされる16ビットより多
くのまたは少ないビットを含めることができることに注
意を要する。
【0096】ここに説明される本発明の実施形態では、
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にロードされる。
【0097】その後のデータはDSDI信号を介して外
部開発システム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に格納される。
【0098】前のパラグラフにおいて、DDATA信号
の構成は外部開発システム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に提供されるも
のと同じに見える。
【0099】前記オペランドが外部開発システム7によ
り提供されるかあるいは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信号上に実際に表示されるバイトの数を決定
する。
【0100】前記分岐ターゲットバイト(BTB)値は
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)に関連している。
【0101】前記CSRが実時間のトレース機能を達成
するのに必要な情報を提供するためDDATA信号を構
成するために書かれた後、CPU2はK−バス25によ
って通信される前記KADDR信号を介してFIFO
(ファーストイン・ファーストアウト)記憶バッファ7
0に複数のターゲットアドレスを提供する。さらに、C
PU2はK−バス25によって通信されるKDATA信
号を介してFIFO記憶バッファ70に複数のオペラン
ドデータ値を提供する。前記複数のターゲットアドレス
および前記複数のオペランドデータ値は制御回路60に
よって提供されるFIFO制御信号に応じてFIFO記
憶バッファ70に格納される。
【0102】制御回路60は制御回路20によって提供
される「トレース」信号および前記複数の制御レジスタ
40のCSRによって提供される「構成」信号に応じて
前記FIFO制御信号を出力する。FIFO記憶バッフ
ァ70はそこに記憶された前記KADDRおよびKDA
TA情報をファーストイン・ファーストアウト順で出力
する。FIFO記憶バッファ70はアドレスおよびオペ
ランド情報を格納するための複数のロケーションを有す
るから、FIFO記憶バッファ70はおのおのがデータ
プロセッサ3の通常の動作の間にアクセスされるオペラ
ンドおよび命令アドレスの値を反映する情報を通信する
場合にKADDRおよびKDATA信号を受信すること
ができる。言い換えれば、FIFO記憶バッファ70に
提供されかつ格納されるKADDRおよびKDATA信
号を介して転送される値はデータ処理システム5の現在
の動作を実時間で反映する。
【0103】FIFO記憶バッファ70は該FIFO記
憶バッファ70内のすべての格納ロケーションが前記D
DATA信号上に出力されなければならない有効な情報
を含む場合CPU2の動作の速度に影響を与えるのみで
ある。すべての格納ロケーションが満杯である(ful
l)である場合、FIFO記憶バッファ70は前記「フ
ル(Full)」信号を肯定する。前記「フル」信号が
肯定されたとき、制御回路60は前記「ストール(St
all)」信号を肯定する。該「ストール」信号はCP
U2に提供されてFIFO記憶バッファ70の少なくと
も1つの格納ロケーションが次の値を記憶するために利
用できるようになるまでコア9の動作を停止させる。す
べての他の動作においては、DDATA信号上にアドレ
スおよびオペランド情報を提供することはデータプロセ
ッサ3の実行速度に大幅に影響を与えることはない。
【0104】FIFO記憶バッファ70は前記FIFO
信号を介して前記複数のマルチプレクサ80にアドレス
およびオペランド情報を提供する。CPU2はまた前記
「CPUプロセッサステータス(CPST)」信号を複
数のマルチプレクサ80に提供する。該CPST信号は
データプロセッサ3によって現在実行されている動作の
種別を指示するためにプロセッサのステータス情報を提
供する。例えば、CPST信号はいつ命令の実行が始ま
るか、いつ命令の実行が継続すべきか、いつデータプロ
セッサ3が選択モードの動作に入るか、いつ予め選択さ
れた分岐命令が実行されるか、およびいつデータプロセ
ッサ3の動作が停止(halt)されるかを指示するこ
とができる。CPST信号は任意の形式のプロセッサ動
作を指示することができかつここに掲げた例に限定され
ないことに注意を要する。
【0105】前記FIFOおよびCPST信号が複数の
マルチプレクサ80に提供されたとき、該複数のマルチ
プレクサの出力は前記「Mux制御」信号によって制御
される。前記「Mux制御」信号は複数のマルチプレク
サ80が同期的にDDATAおよびPST信号を提供で
きるようにする。DDATAおよびPST信号はデータ
プロセッサ3のクロックの立上りエッジ(ここでは図示
されていない)と同期しかつ、従って、PST信号によ
って提供されるステータスはいずれかの与えられたバス
サイクルの処理と関連しないかもしれないことに注意を
要する。
【0106】さらに、前記「Mux制御」信号によって
イネーブルされたとき、PST信号はCPU2のステー
タスを示すマーカを提供する。例えば、PST信号によ
って$C,$D,$E,または$Fのステータス値が提
供されたとき、PST信号はデータプロセッサ3によっ
てマルチサイクルモードのまたは特別の動作が実行され
ていることを示す。符号化されたPST信号についての
さらなる情報については図10を参照。PST信号がマ
ルチサイクルモードの特別の動作がデータプロセッサ3
によって実行されていることを反映している場合には、
PST信号は前記モードを退出するまでまたは前記動作
が完了するまでこれらのステータス値を維持する。
【0107】PST信号が$0〜$7のステータス値を
出力する場合は、PST信号はおのおののタイミングサ
イクルで更新される情報を特定する。
【0108】PST信号が$8,$9,$A,または$
Bのステータス値を提供する場合、PST信号は前記D
DATA信号を介して外部的に提供される値を限定する
ために使用されている。この動作においては、PST信
号はDDATA信号上のどの値が要求されるアドレスお
よびデータ情報を提供しているかを示すための「マー
カ」として使用される。PST信号は実際のデータがD
DATA信号上に表示される1タイミングサイクル前に
これらのステータス値によって符号化される。従って、
外部開発システムは正しくデータプロセッサ3の動作を
観察することができる。
【0109】以下の例は実時間トレース動作におけるD
DATAおよびPST信号の使用につきより詳細に示す
ものである。この例は図11に示されている。図11は
間接ジャンプ(JMP)の実行を示し、この場合ジャン
プ命令のターゲットアドレスの下位16ビットはDDA
TA信号上に表示される。ジャンプ命令が実行されると
き、プログラムの実行は該命令のオペランドにより特定
される実効アドレスで継続する。この例では、該実効ア
ドレスの値はレジスタA0によって特定されるメモリロ
ケーションに位置する。
【0110】以下の例では、CSRがデータを適切なフ
ォーマットで提供するためにDDATA信号を正しく構
成するよう書き込まれたものと仮定する。図11に示さ
れる例では、JMP(A0)命令は、図11において、
「ラスト(Last)」と称される、前の命令に続く。
該JMP命令は間接的に前記ターゲット命令アドレスを
アドレスする。例えば、CPU2に格納されたレジスタ
A0の内容は所望のターゲット命令アドレスを規定す
る。さらに、本出願には詳細に示されていないが、前記
A0レジスタはCPU2内に配置できる。そのような間
接アドレシングの使用は変形(variant)アドレ
シングと称されるが、それは前記ターゲット命令アドレ
スがA0レジスタの内容に依存しかつPC−レラティブ
(PC−relative)でもなく絶対アドレスでも
ないからである。
【0111】以下の例の実行の間に、DSOCおよびA
GEXはデータプロセッサ3の内部パイプラインにおけ
る位置を示す。用語DSOC,AGEX,IAG,およ
びICを説明するため、CPU2の内部構造についての
簡単な説明を行う必要がある。
【0112】データプロセッサ3のCPU2において
は、2つの独立のかつ切り離されたパイプラインが実施
される。第1のパイプラインは命令をプリフェッチする
ための命令フェッチパイプライン(IFP)(ここでは
図示されていない)であり、かつ第2のパイプラインは
命令の実際の実行をデコードしかつ達成するためのオペ
ランド実行パイプライン(OEP)である。FIFO命
令バッファ(ここでは図示されていない)は前記2つの
パイプラインの間の切り離し(decoupling)
メカニズムとして作用する。
【0113】命令フェッチパイプラインは2つのステー
ジを含む。第1のステージは「命令アドレス発生(In
struction Address Generat
ion:IAG)」ステージでありそこで次のプリフェ
ッチアドレスが計算される。第2のステージは「命令フ
ェッチサイクル」でありここで所望の命令がメモリから
フェッチされる。前記オペランド実行パイプラインはま
た2つのステージを含み、各ステージは単一の命令の実
行の間に2つの機能のために使用できる。第1のステー
ジは「デコードおよび選択(Decode & Sel
ect:DS)」ステージであり「オペランドフェッチ
サイクル(Operand fetchCycle:O
C)」を備えている。第2のステージは「アドレス発生
(AG)」ステージであり「実行(EX)」ステージを
備えている。
【0114】情報が2つのレジスタの間で通信される命
令については、前記2つのOEPステージはおのおの一
度アクセスされる。前記レジスタオペランドはOCステ
ージの間にアクセスされかつ次に命令実行が実際に前記
EXステージにおいて行われる。従って、前記OEP動
作はOCからEXへと進行する。
【0115】情報がメモリロケーションとレジスタの間
で通信される命令については、各パイプラインステージ
は2回アクセスされる。第1に、オペランドアドレスの
構成要素がDSステージにおいて選択される。第2に、
これらの構成要素のおのおのが加算されてAGステージ
におけるオペランドアドレスを形成する。第3に、メモ
リオペランドがOCステージにおけるいずれか他のレジ
スタオペランドとともにアクセスされかつ第4に、実際
の命令実行がEXステージにおいて行われる。この形式
の命令に対しては、前記OEP動作はDSからAGへO
CへEXへと続く。
【0116】他の形式の命令に対しては、各パイプライ
ンステージ内の双方のオペランドは同時に行われる。こ
れらのタイプの命令に対しては、OEP動作はDS O
CからAG EXへと行われる。
【0117】この例では、レジスタA0の内容は「ター
ゲット」の命令アドレスを規定するものと想定される。
前記JMP命令がオペランド実行パイプラインのAGE
Xステージを占有するから、前記命令ターゲットアドレ
スは「ターゲット」として計算される。この流れの変更
(change−of−flow)動作は命令フェッチ
パイプラインにその現在の流れのプリフェッチアドレス
を放棄しかつ前記アドレス「ターゲット」で始まる新し
い流れを規定させる。本発明のこの実施形態では、この
流れの変更JMP命令は前記2つのパイプラインを新し
い命令ストリームが確立されるようにAGEXおよびI
AGステージにおいて結合されるようにする。いったん
前記「流れの変更」が生じると、2つのパイプラインは
それらの通常の切り離された動作モードに戻り命令フェ
ッチパイプラインは新しいアドレスストリームにおいて
順次プリフェッチをするよう継続する。従って、「ター
ゲット」、「ターゲット+4」および「ターゲット+
8」のアドレスが引き続きフェッチされる。
【0118】JMP命令がそのオペランド実行パイプラ
インステージを完了すると、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まで、表
示するよう進行する。
【0119】内部PST値(図2のCPST信号)は第
1のタイミングサイクルで$5の値を転送する。図10
に示されるように、PST値が$5の値を有する場合、
データプロセッサは「テイクンブランチ」命令を実行し
始めている。これはプログラムフローをレジスタA0で
間接的に特定されるアドレスへと転送しつつあるJMP
命令に対応する。図11に示されるこの第1のタイミン
グサイクルの間に、内部DDATA信号(図2のFIF
O信号)は$0の値を転送する。図9に示されるよう
に、DDATA値が$0の値を格納しているとき、デー
タプロセッサ3において何らのブレークポイントもイネ
ーブルされない。
【0120】第2のタイミングサイクルの間に、内部P
ST値は$9の値を転送してJMP命令のためのターゲ
ットアドレスが内部DDATA値を介して提供される次
の2バイトの情報で特定されることを示す。この時点
で、内部DDATA信号は$0の値を転送し続ける。前
に述べたように、内部PST値が$8,$9,$A,ま
たは$Bのステータス値を転送する場合、内部PST信
号はDDATA信号を介して外部的に提供される値を修
飾する(qualify)ために使用されている。この
動作では、内部PST信号は内部DDATA信号上のど
の値が必要とされるターゲットアドレス情報を提供して
いるかを示すために「マーカ」として使用される。内部
PST信号は実際のデータが内部DDATA信号上に表
示される1タイミングサイクル前にこれらのステータス
値によって符号化される。
【0121】第3のタイミングサイクルの間に、内部P
ST値は$0の値を転送して命令実行が継続することを
指示する。さらに、第3のタイミングサイクルの間に、
内部DDATA信号はターゲットアドレス値のビット3
〜0を提供する。
【0122】第4のタイミングサイクルの間に、CPS
T値は前記ターゲットアドレスに位置する最初の命令に
よって規定される値を表す。このとき、内部DDATA
信号は前記ターゲットアドレス値のビット7〜4を転送
する。その後、第5および第6のタイミングサイクルに
おいて、内部DDATA信号はそれぞれターゲットアド
レス値のビット11〜8およびビット15〜12を提供
する。このようにして、外部開発システム7は変形アド
レシングを有する分岐動作の現在の記録および間接的に
決定されるアドレスロケーションの双方を実時間で観察
することができる。
【0123】前記複数のマルチプレクサ80は内部PS
Tおよび内部DDATA信号をそれぞれPSTおよびD
DATA信号として外部開発システム7に提供する。該
PSTおよびDDATA信号は集積回路ピン(詳細には
示されていない)を介して提供される。さらに、前記集
積回路ピンを介して提供される前記PSTおよびDDA
TA信号はそれぞれ前記情報が内部PSTおよび内部D
DATA信号を介して転送されてから1タイミングサイ
クル後に情報を通信する。
【0124】そのような実時間の観察を可能にすること
により、外部開発システム7は障害をより迅速かつ正確
に識別しかつ分離することができる。さらに、実時間の
トレース観察が外部開発システム7に与えられている間
に、データプロセッサ3のCPU2は命令の実行を継続
しかつDDATAおよびPST信号の提供によって通常
影響されない。
【0125】さらに、上に示した例はJMP命令を実行
するためのトレース機能を使用することについて述べた
が、本発明はデータプロセッサ3の動的実行経路を完全
に追跡するために使用できる。JMP命令によって説明
したように、動的実行経路の追跡は何らかの流れの変更
動作によって複雑化する。例えば、いくつかの分岐命令
は変形アドレシングを使用して実施され、ターゲット命
令アドレスの計算はPC(プログラムカウンタ)レラテ
ィブまたは絶対ではなく、プログラムビジブル(pro
gram visible)レジスタの使用を含む。
【0126】変形アドレシングを使用する命令に対して
は、本発明はターゲットアドレスが正しく決定されかつ
外部開発システム7に提供されるように特定のシーケン
スでDDATAおよびPST信号を提供する。最初に、
テイクンブランチ命令の実行は複数の集積回路ピンを介
して転送されるPST信号によって識別される。図10
の符号化に示されているように、PST信号はテイクン
ブランチ命令がPST信号が$5の値を有する場合に実
行されていることを示す。次に、PST信号はターゲッ
トアドレスがDDATA信号上に表示されるべきことを
示すために使用できる。PST信号の符号化はDDAT
A信号を介して表示されるべき数多くのバイトを識別す
る。前記ターゲットアドレスは次にDDATA信号を使
用して後のタイミングサイクルに任意選択的に利用でき
るようになる。DDATA信号上に表示されるターゲッ
トアドレスのビットの数は外部ユーザによって制御され
る構成可能なパラメータである。
【0127】本発明はダイナミックに実行されかつデー
タプロセッサ3のCPU2の性能に対して大きな影響を
与えることなく実行される独自のトレース機能を提供す
る。
【0128】本発明によって実施される実時間トレース
機能においては、PST信号によって規定される実行さ
れる命令ストリームとDDATA信号によって提供され
る捕捉データの利用可能性との間には厳格な同期がある
ことに注意を要する。ここで述べられる本発明の実施形
態においては、DDATA信号が容易に適切な命令と関
連できるように厳格な順序付け(ordering)が
ある。この順序付けは以下の例においてより詳細に説明
する。以下の例においては次のようなコードが実行され
るべきであると仮定する。
【0129】
【表4】 命令アドレス 命令 00001316 movq #1,d0 00001318 mov.l d0,(−4,a6) 0000131c pea (−68,a6) 00001320 pea (−36,a6) 00001324 bsr.w Func2 0000115c mov.l d7,−(a7)
【0130】上の例では、もしCSRが2バイトの分岐
ターゲットアドレス情報を表示するよう構成され、すべ
てのオペランドがM−バス23のアクセスを発生し、か
つ読出しおよび書込みオペランドの双方が捕捉されれ
ば、PST信号およびDDATA信号上の結果として得
られる出力は次のようになる。
【0131】
【表5】 PST DDATA 記述 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− $1 …… 1316で命令開始 $1 …… 1318で命令開始 $b …… 1318の命令に対し書込みオペランド 0 [3:0] 1318の命令に対する書込みオペランドからの ビット 0 [7:4] 1318の命令に対する書込みオペランドからの ビット 0 [11:8] 1318の命令に対する書込みオペランドからの ビット 0 [15:12] 1318の命令に対する書込みオペランドからの ビット 0 [19:16] 1318の命令に対する書込みオペランドからの ビット 0 [23:20] 1318の命令に対する書込みオペランドからの ビット 0 [27:24] 1318の命令に対する書込みオペランドからの ビット 0 [31:28] 1318の命令に対する書込みオペランドからの ビット $1 …… 131cで命令開始 $b …… 131cの命令に対し書込みオペランド 0 [3:0] 131cの命令に対する書込みオペランドからの ビット 0 [7:4] 131cの命令に対する書込みオペランドからの ビット 0 [11:8] 131cの命令に対する書込みオペランドからの ビット 0 [15:12] 131cの命令に対する書込みオペランドからの ビット 0 [19:16] 131cの命令に対する書込みオペランドからの ビット 0 [23:20] 131cの命令に対する書込みオペランドからの ビット 0 [27:24] 131cの命令に対する書込みオペランドからの ビット 0 [31:28] 131cの命令に対する書込みオペランドからの ビット $1 …… 1320で命令開始 $b …… 1320の命令に対し書込みオペランド 0 [3:0] 1320の命令に対する書込みオペランドからの ビット 0 [7:4] 1320の命令に対する書込みオペランドからの ビット 0 [11:8] 1320の命令に対する書込みオペランドからの ビット 0 [15:12] 1320の命令に対する書込みオペランドからの ビット 0 [19:16] 1320の命令に対する書込みオペランドからの ビット 0 [23:20] 1320の命令に対する書込みオペランドからの ビット 0 [27:24] 1320の命令に対する書込みオペランドからの ビット 0 [31:28] 1320の命令に対する書込みオペランドからの ビット $5 …… 1324でテイクンブランチ命令開始 $9 …… 1324の命令に対するターゲットアドレス 0 $c ターゲットアドレス(115c)からのビット 0 $5 ターゲットアドレス(115c)からのビット 0 $1 ターゲットアドレス(115c)からのビット 0 $1 ターゲットアドレス(115c)からのビット $b …… 1324の命令に対し書込みオペランド 0 $8 1324の命令に対する戻りアドレスからのビッ ト 0 $2 1324の命令に対する戻りアドレスからのビッ ト 0 $3 1324の命令に対する戻りアドレスからのビッ ト 0 $1 1324の命令に対する戻りアドレスからのビッ ト 0 $0 1324の命令に対する戻りアドレスからのビッ ト 0 $0 1324の命令に対する戻りアドレスからのビッ ト 0 $0 1324の命令に対する戻りアドレスからのビッ ト 0 $0 1324の命令に対する戻りアドレスからのビッ ト $1 …… 115cで命令開始
【0132】上に与えられた例においては、PSTおよ
びDDATA信号は同期した状態に留まっておりそれに
よってDDATA信号上に表示されている与えられたオ
ペランドが常に与えられた命令と関連することを保証さ
れる。説明の明瞭化のために、上の例はDDATA信号
および非ゼロPST値の間でオーバラップを示していな
い。しかしながら、これはPSTおよびDDATA信号
の間の関係が違肯していない場合を除き生じ得る。
【0133】<実時間デバッグサポート>実時間トレー
ス機能に加えて、本発明はまた実時間デバッグ機能を実
行するための回路及び方法を提供する。数多くのデータ
プロセッサにおいては、特に組み込み型(embede
d)システムにおいては、データプロセッサはシステム
の制約のためまたはデータプロセッサがもはや正常なモ
ードで動作していない場合に障害の回路またはプログラ
ムを識別することができないためデバッグ動作の間に停
止することはできない。本発明はデータプロセッサの実
時間動作に対し最小限の立ち入りのみでかつデータプロ
セッサを停止させることなくデバッグ動作を実行する。
【0134】ブレークポイント動作は典型的にはデバッ
グ動作の間にプログラミング事象を識別するために使用
される。該プログラミング事象に遭遇した時、ブレーク
ポイント信号が肯定されかつデータが取り出されてソフ
トウェアプログラムのステータスを判定する。トレース
機能と同様に、ブレークポイント動作は外部ユーザが複
数の選択されたレジスタ及びメモリロケーションの各々
のステータスを突き止めてデータ処理エラーが識別でき
るようにする。
【0135】本発明はそのようなブレークポイント動作
を行うために複数のハードウェアブレークポイントレジ
スタ50及びブレークポイント回路100を提供する。
本発明においてはプログラムカウンタまたはプログラム
カウンタマスクの値、オペランドアドレス範囲、および
データ値またはデータマスク値に基づくブレークポイン
ト動作が全て実施される。さらに、本発明において実施
されるブレークポイント動作はまた1または2レベルト
リガへと構成することができ、この場合複数の制御レジ
スタ40の前記「トリガ定義レジスタ(Trigger
Definition Register:TD
R)」を介して正確なトリガ応答がプログラム可能であ
る。本発明を使用したブレークポイント動作の実行につ
いては後により詳細に説明する。
【0136】複数のハードウェアブレークポイントレジ
スタ50の各々は外部開発システム7によってあるいは
プロセッサ3のCPU2によって書くことができる。図
3に示されるように、「アドレスブレークポイントレジ
スタ(ABLR及びABHR)」はブレークポイント機
能をトリガするために使用できるデータ処理システム5
のオペランド論理アドレス空間における領域を規定す
る。図6により詳細に示された、「アドレス属性ブレー
クポイントレジスタ(AABR)」はブレークポイント
機能のためのトリガにおいて整合されるべき複数のアド
レス属性およびマスクを規定する。ABLRおよびAB
LRアドレス値のように、AABRに格納された属性値
はK−バス25を介して転送されるアドレス属性信号と
比較される。
【0137】前記複数のハードウェアブレークポイント
レジスタ50はまた複数の「プログラムカウンタブレー
クポイント」レジスタを含む。該複数の「プログラムカ
ウンタブレークポイント」レジスタはブレークポイント
機能をトリガするために使用できるデータ処理システム
5の命令論理アドレス空間における領域を規定する。前
記「プログラムカウンタブレークポイント(PBR)」
値は前記「プログラムカウンタブレークポイントマスク
(PBMR)」レジスタに格納された値によってマスク
することができる。本発明の一実施形態では、PBMR
に格納された対応するゼロの値を有するPBRにおける
ビットのみがデータ処理システム5のプログラムカウン
タ値との比較動作において使用される。プログラムカウ
ンタ値はデータ処理システム5のCPU2のプログラム
カウンタレジスタ(ここでは図示されていない)に格納
される。
【0138】前記「プログラムカウンタブレークポイン
ト」レジスタに加えて、前記複数のハードウェアブレー
クポイントレジスタ50は複数の「データブレークポイ
ントレジスタ」を含む。該複数の「データブレークポイ
ントレジスタ」は「データブレークポイントレジスタ
(DBR)」および「データブレークポイントマスクレ
ジスタ(DBMR)」を含む。DBRはデータ処理シス
テム5がデバッグ動作を行っている場合にトリガを形成
するために使用できる特定のデータパターンを規定する
データ値を格納する。DBMRに格納されたデータマス
ク値はDBRに格納されたデータ値をマスクする。した
がって、本発明の一実施形態では、DBMRに格納され
た対応するゼロの値を有するDBRに格納されたビット
のみがK−バス25を介して転送されるデータ信号と比
較されトリガ条件が満たされているかを判定する。
【0139】前記複数のハードウェアブレークポイント
レジスタ50の各々は前記複数の制御レジスタ40のT
DRを使用したトリガに応答するため異なる構成とする
ことができる。TDRによって示される構成とは独立
に、トリガされたブレークポイントの指示はDDATA
信号が捕捉されたオペランドおよびアドレスを表示して
いない場合には常にDDATA信号上に提供される。D
DATA信号の出力は図9に示されている。
【0140】図9は、DDATA信号のビット3〜0を
介して提供される値とブレークポイントステータスの間
の関係を示す。CSRのビット31〜28はDDATA
信号のビット3〜0に対応することに注意を要する。
【0141】DDATA信号が$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のブレークポイントがトリガされている。
【0142】ブレークポイント動作のステータスはまた
CSRのビット31〜28に格納されることに注意を要
する。
【0143】デバッグ動作の実行の前に、ブレークポイ
ント値が複数のハードウェアブレークポイントレジスタ
50のうちの適切な一つに格納されなければならない。
該ブレークポイント値は外部開発システム7によってシ
リアルインタフェース30を介してあるいはCPU2に
よってK−バス25を介して提供できる。
【0144】外部装置からこの書き込み機能を行うため
には、外部開発システム7は前記DSDIおよびDSC
LK信号の双方を使用してシリアルインタフェース30
へと前記複数のハードウェアブレークポイントレジスタ
50の内のあらかじめ選択された1つにデータをロード
するためにコマンドをシフト入力する。本発明の一実施
形態では、該コマンドの第1の部分はDSDI信号によ
って提供されかつDSCLK信号によってブロック入力
される。該コマンドの付加的な部分はその後提供され
る。該コマンドの全ての部分は16ビットのパケットの
情報が完成するまでレジスタ32に格納される。本発明
の別の実施形態では本発明のこの実施形態において必要
とされる16ビットよりも多くのまたは少ないビットを
含むものとすることができることに注意を要する。
【0145】本発明の別の実施形態では、前記ブレーク
ポイント値はデータプロセッサ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に提供されるものと同じであるように見
える。
【0146】一旦前記ブレークポイント値が前記複数の
ブレークポイントレジスタ50の内の前記あらかじめ選
択された一つに書き込まれると、CPUには通常の動作
モードでプログラミングコードを実行する。そのプログ
ラミングコードの実行の間に、アドレス情報がK−バス
25のKADDR信号を介して通信されかつデータ情報
がK−バス25のKDATA信号を介して通信される。
さらに、CPU2におけるプログラムカウンタ情報はプ
ログラムカウンタのブレークポイント比較動作の目的で
一時PCレジスタ125に格納された値を絶えず更新す
る。
【0147】アドレス、データおよびプログラムカウン
タ情報がハードウェア回路100に転送されると、比較
器130,140,180および135は該情報を受信
しかつデータプロセッサ3の性能に悪影響を与えること
なく選択的に比較動作を行う。さらに、複数の制御値が
制御バス15を介して前記複数の制御レジスタ50のT
DRからハードウェア回路100へと提供される。前記
複数の制御値はハードウェア回路100を使用してトリ
ガ動作を選択的に構成する前に述べたTDRの値を含
む。
【0148】例えば、外部開発システム7が、アドレス
がある範囲のアドレスに入る場合にブレークポイントが
肯定されるべきことを決定した場合、外部開発システム
7はシリアルインタフェース30を使用してハイアドレ
ス値を図3のABHR110にかつローアドレス値を図
3のABLR120に書き込まなければならない。しか
しながら、比較器130および比較器140がK−バス
25のKADDR信号によって提供されるアドレスがA
BLR120およびABHR110に格納されたアドレ
スによって規定される範囲以内にあるかを判定すること
ができる前に、前記複数の制御レジスタ40のTDRは
制御バス15を介して適切な制御を提供しなければなら
ない。
【0149】この例では、前記適切な制御は肯定された
「イネーブルアドレス範囲(Enable Addre
ss Range:EAR)」ビットまたは肯定された
「イネーブルアドレスブレークポイント反転(Enab
le Address Breakpoint Inv
erted:EAI)」ビットを含む。前に述べたよう
に、EARビットは該ビットが肯定されたとき、ABL
R120およびABHR110によって規定される包含
範囲(inclusive range)に際してブレ
ークポイントがトリガできるようにする。同様に、肯定
された時、前記EAIビットはABLR120およびA
BHR110によって規定される範囲を除いた、または
外側の、アドレス範囲に際してブレークポイントがトリ
ガできるようにする。
【0150】EARおよびEAIビットの論理値に応じ
て、比較器130および140はKADDR信号を介し
て転送されるアドレス値がABHR110およびABL
R120における関連する値より大きいかまたは小さい
かを決定することになる。もしEARビットが肯定され
かつKADDR信号を介して転送されるアドレス値がA
BHR110およびABLR120におけるアドレス値
によって規定される範囲内にあれば、比較器130およ
び140は前記「ブレークポイント」信号を肯定してあ
らかじめ選択されたトリガポイントがアクセスされたこ
とを示す。前記「ブレークポイント」信号が肯定された
時、制御回路20はマルチコンダクタ(multi−k
onductor)「ブレークポイント制御」信号を介
してコア9のCPU2に転送されたBKPT(ブレーク
ポイント)信号、「デバッグ割り込み」信号、および
「ゴー(Go)」信号の内の1つを肯定する。
【0151】前記ブレークポイント信号が肯定されたと
き、ブレークポイントトリガの発生はTDRにおいて規
定された応答を発生させる。もしデータプロセッサ3が
停止すれば、BKPT信号の肯定はCPU2を強制的に
背景デバッグモードにおける実行を停止させることにな
る。背景デバッグモードは後にやや詳細に説明すること
に注目すべきである。背景デバッグモードに入るために
は、TDRのTRCビットは%01に等しくなるべきで
ある。TRCビットはTDRのビット31および30に
対応することに注意を要する。背景デバッグモードに入
りかつプログラムカウンタ値にもとづくブレークポイン
トが肯定されたとき、CPU2はターゲットとされる命
令が実行される前にデータプロセッサ3の実行を停止す
る。アドレスおよびデータ成分にもとづくブレークポイ
ントに対しては、CPU2は停止の前にいくつかの付加
的な命令を実行することができる。このタイプのブレー
クポイント動作は非実時間デバッグ動作のためにのみ使
用すべきであり、それはデータプロセッサ3は前記トリ
ガに応じて停止するからであることに注意を要する。
【0152】しかしながら、データプロセッサ3が停止
しなければ、制御回路20は特別のデバッグ割込みがC
PU2に提供されるべきことを示すために前記「デバッ
グ割込み」信号を肯定する。特別のデバッグ割込みがC
PU2に提供されるべき場合には、TDRのTRCビッ
トは%10の論理値にセットされる。TRCビットが%
10にセットされたとき、ブレークポイントトリガは制
御回路20によってCPU2への特別のデバッグ割込み
へと変換される。該特別のデバッグ割込みはCPU2が
割込みのためにサンプルを行うまでペンディングとされ
る。特別のデバッグ割込みが肯定されたとき、ターゲッ
トとされる命令が実行される前にプログラムカウンタ値
にもとづくブレークポイントが生じる。これはCPU2
が割込みがペンディング中であるかを判定するためにサ
ンプルを行うのと同時にプログラムカウンタの比較動作
がイネーブルされるため可能となる。アドレスおよびデ
ータ比較にもとづくブレークポイントに対しては、CP
U2は割込み動作を実行する前にいくつかの付加的な命
令を実行することができる。
【0153】特別のデバッグ割込みがCPU2によって
認識されたとき、CPU2はソフトウエアプログラムの
実行を中止しかつ例外処理ルーチンを開始する。例外処
理ルーチンの始めに、CPU2はエミュレータモードの
動作に入る。CPU2がエミュレータモードの動作を行
っている場合にはすべての割込みは無視されることに注
意を要する。前記複数の制御レジスタ40のCSRにお
けるMAPビットの状態に応じて、エミュレーションモ
ードの動作はすべてのメモリアクセスを前記複数のハー
ドウエアブレークポイントレジスタ50のAABRレジ
スタのTTおよびTM値により指示される特別にマッピ
ングされたアドレス空間へと強制することができる。こ
の例では、前記TT値は$2に等しくかつ前記TM値は
$5(オペランド)または$6(命令)に等しい。
【0154】標準的な8バイトの実行スタックが作成さ
れた後、CPU2は独自の例外ベクトルをフェッチす
る。CPU2は前記独自の例外ベクトルに含まれる命令
アドレスにおいて実行を続ける。CPU2におけるデバ
ッグ割込みハンドラはスーパバイザ命令セットを使用し
て複数の必要なセーブ動作を行うようプログラムするこ
とができる。1例として、デバッグ割込みハンドラはす
べてのプログラム可視レジスタの状態および特別のメモ
リロケーションを確保したメモリ空間にセーブすること
ができる。前記確保したメモリ空間はメモリ6内に位置
してもよくあるいはそれはデータ処理システム5のいず
れか他のメモリに位置してもよい。いったん要求される
動作が完了すると、「例外からの戻り(Return
FromException:RTE)」命令が実行さ
れかつCPU2はエミュレータモードの動作を退出す
る。CPU2がデバッグ割込み信号を受信しかつエミュ
レータモードの動作に入ったとき、PST信号はこの条
件を通知するため$Dの値を有する。PST信号はデバ
ッグ割込みが処理される時間からデバッグ割込み例外処
理ルーチンの最初の命令がフェッチされるまでこの値を
有する。さらに、PST信号はCPU2がエミュレータ
モードの動作から退出したことを指示するために$7の
値を有する。さらに、いったん前記デバッグ割込みハン
ドラがそのデバッグ例外処理ルーチンの実行を完了する
と、外部開発システム7は次にメモリ6における前記確
保されたメモリロケーションまたは前記確保されたメモ
リロケーションを含むデータ処理システム5の他のメモ
リをアクセスすることができる。
【0155】前記デバッグ割込みはデータプロセッサ3
の通常の動作における少しの侵入が許容される場合の実
時間デバッグ動作のために使用できるが、データプロセ
ッサ3を停止させることは選択可能なものではない。デ
ータプロセッサのエミュレータモードへのエントリおよ
びエミュレータモードからのエグジットはPST信号上
の独自の値によって通知されることに注意を要する。
【0156】さらに、ある範囲ではなく、単一のアドレ
スにもとづき、あるデータ値または該データ値のマスク
にもとづき、かつあるプログラムカウンタ値または該プ
ログラムカウンタ値のマスクにもとづき、他の比較を本
発明において行うことができることに注目すべきであ
る。上の例で説明したアドレス範囲の比較については、
データ値、データ値のマスク、プログラムカウンタ値、
およびプログラムカウンタ値のマスクにもとづく比較は
TDRが制御バス15を介して適切な制御値を提供する
ことを必要とする。
【0157】<マルチレベルトリガ構成>本発明によっ
て行われる実時間デバッグ動作は2つのレベルのトリガ
値を提供するよう拡張できる。本発明のこの実施形態で
は、ビット31〜16は第2のレベルのトリガを規定し
かつビット15〜0は第1のレベルのトリガを規定す
る。トリガが2レベルトリガとして構成されるとき、前
記トリガは条件「もし…であれば、もし(if−the
n−if)」構造と同様の様式で機能する。例えば、も
しトリガの第1の条件、またはレベル、が満たされれ
ば、該トリガがデータ処理システム5によって実行され
るべきブレークポイント機能をイネーブルする前に第2
の条件、またはレベル、が満たされなければならない。
そのような条件トリガ構造は外部開発システム7が大き
な柔軟性および精度の双方を備えて機能できるようにす
る。本発明のこの実施形態においては、2つのレベルの
みのトリガ構造が実施されていることに注意を要する。
しかしながら、さらに付加的なレベルのトリガ構造も実
施できる。
【0158】2レベルトリガ動作の例として、外部開発
システム7がアドレス$0000FACEへの$FEE
D以外のいずれかの値のユーザモードのオペランドワー
ド書込みとしてトリガを定義することを希望し、続いて
プログラムカウンタが$DEADBEEFの値に等しく
なるものと仮定する。第1のレベルのトリガはアドレス
$0000FACEへの$FEED以外の何らかの値の
ユーザモードのオペランドワード書込みであろう。第2
のレベルのトリガはプログラムカウンタが$DEADB
EEFの値に等しい場合に生じる。
【0159】この動作を実行するために、外部開発シス
テム7は値$DEADBEEFをプログラムカウンタブ
レークポイントレジスタ(PBR)115にかつ$00
0000000の値をプログラムカウンタブレークポイ
ントマスクレジスタ(PBMR)190に書き込むこと
ができる。PBMR190にオールゼロが書き込まれた
とき、PBR115に格納されたすべてのビットは一時
PCレジスタ125によって提供されるプログラムカウ
ンタ値と比較される。前記比較動作は前記複数の制御レ
ジスタ40のTDRに格納された値に応じて実行される
ことに注意を要する。
【0160】外部開発システム7はまた$0000FA
CEの値をアドレスブレークポイントローレジスタ(A
BLR)120にかつ$0041の値を図6のアドレス
属性ブレークポイントレジスタ(AABR)に書き込ま
なければならない。ABLR120における$0000
FACEの値は前記TDRの構成が比較が行われるのを
許容すれば比較器140が前記ブレークポイント信号を
肯定する値を示す。前記AABRにおける$0041の
値はTM値を%001にセットし、前記TT値は%00
に、前記SZ値は%10に、そしてR(読出し)ビット
をゼロにセットする。前記TMおよびTT値はトリガが
ユーザモードのオペランドワード書込み動作となること
を保証する働きをなす。
【0161】外部開発システム7は$0000FEED
の値をブレークポイント回路100のデータブレークポ
イントレジスタ(DBR)160に書き込まなければな
らない。外部開発システムはまた$000000000
の値をデータブレークポイントマスクレジスタ(DBM
R)150に書き込まなければならない。オールゼロが
DBMR150に書き込まれたとき、DBR160に格
納されたすべてのビットは比較器180を使用してKD
ATA信号によって提供されるデータ値と比較される。
この比較動作は前記複数の制御レジスタ40のTDRに
格納された値に応じて行われることに注意を要する。
【0162】最後に、外部開発システム7は前記複数の
制御レジスタ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のレベルのトリガが満たされなければなら
ない。
【0163】さらに、前記TDRがこの値を有する場
合、第2のレベルのトリガは以下の特性である。この例
では、前記TRC値は%00であり、前記EBLビット
は肯定され、前記EDLW,EDWL,EDWU,ED
LL,EDLM,EDUMおよびEDUUビットはすべ
て否定される。前記DI,AI,EARおよびEALビ
ットは否定され、前記EPCビットは肯定され、かつ前
記PCIビットは否定される。この構成により、前記T
DRはPBR115に格納されたものと同じであるプロ
グラムカウンタ値に対し前記ブレークポイント信号を肯
定するため第2のレベルのトリガがイネーブルされるよ
う構成する。TDRによって判定される上に述べた条件
のおのおのが満たされた場合、第2のレベルのトリガが
肯定されかつ前記ブレークポイント信号が肯定されるこ
とになる。
【0164】前に述べたように、ブレークポイント信号
はプログラム可能なトリガ応答を生じる結果となる。該
トリガ応答は前記複数の制御レジスタ40のTDRのビ
ット31および30へとプログラムされる。正しくプロ
グラムされたとき、データプセッサ3のCPU2のトリ
ガ応答は前記DDATA信号を介して外部開発システム
7にとってトリガを見えるようにすることとなりかつ何
らの内部応答も生じさせない。第2のトリガ応答はCP
U2に実行を停止させかつ外部的にCPU2が中止状態
にあることをPST信号を介して指示させる。第3のト
リガ応答はCPU2に対しデバッグ割込みを発生する。
前に述べたように、デバッグ割込みは優先度がすべての
他の割込みより高くかつCPU2をエミュレータモード
の動作に入らせかつ独自の例外処理ルーチンにアクセス
させる。エミュレータモードの動作へのエントリおよび
該エミュレータモードの動作からのエグジットは外部的
にPST出力上において見えるようにされる。
【0165】<デバッグモジュールおよびコアの同時動
作>上に述べた実時間デバッグ機能をサポートするた
め、本発明はコア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に格納されたロジックによって実行される。
【0166】CPU2およびデバッグモジュール10の
同時動作を示す例において、外部開発システム7はデバ
ッグ機能の間にメモリ読出し動作を実行しているものと
仮定する。メモリ読出し命令を実行するために、外部開
発システム7は前記DSDIおよびDSCLK信号の双
方を使用してシリアルインタフェース30に対しメモリ
ロケーションをアクセスするためのコマンドおよびアド
レスをシフト入力する。本発明の1実施形態では、前記
コマンドの第1の部分はDSDI信号によって提供され
かつDSCLK信号によってクロック入力される。前記
コマンドの付加的な部分はその後提供される。前記コマ
ンドのすべての部分は16ビットのパケットの情報が完
成するまでレジスタ32に格納される。本発明の別の実
施形態では本発明のこの実施形態において要求される1
6ビットより多くのまたは少ないビットを含むことがで
きることに注意を要する。
【0167】ここに説明される本発明の実施形態におい
ては、予め選択されたメモリロケーションへある値を書
き込む命令は48ビット長であり、16ビットのオペコ
ードおよび32ビットのアドレスを備えている。レジス
タ32は16ビットのみの幅である。従って、第1の1
6ビットのパケットの情報が完成したとき、該情報は制
御バス15を介して制御回路20へ転送される。制御回
路20はその第1の16ビットのパケットの情報をデコ
ードして行われるべき動作のタイプを決定する。いった
ん制御回路20が前記第1の16ビットのパケットのデ
ータをデコードしかつプログラムされたメモリロケーシ
ョンからの読出しアクセスが行われるべきことを決定す
れば、制御回路20は制御バス15を介して制御信号を
提供し引き続く32ビットのアドレス情報が前記複数の
ハードウエアブレークポイントレジスタ50のABHR
110へとロードできるようにする。
【0168】その後のデータはDSDI信号を介して外
部開発システム7によってシリアルに提供される。前に
述べたように、DSDI信号によって提供されるその後
のデータはDSCLK信号を介してクロック入力され
る。16ビットのパケットの情報が完成するまでデータ
ビットのおのおのはレジスタ32に格納される。第2の
16ビットのパケットの情報が完成したとき、該情報は
前記「シリアル情報」信号を介して複数のハードウエア
ブレークポイントレジスタ50のABHR110へと転
送される。その後、付加的な情報はDSDIおよびDS
CLK信号を介して外部開発システム7によりレジスタ
32へとシリアルに提供される。第3の16ビットのパ
ケットの情報が完成したとき、該情報は前記「シリアル
情報」信号を介して複数のハードウエアブレークポイン
トレジスタ50のABHR110へと転送される。
【0169】前記オペランドおよびアドレス情報が受信
されたとき、制御回路20は前記「バス要求」信号を肯
定する。該「バス要求」信号はK−バス25を介してC
PU2へと転送される。前に述べたように、前記「バス
要求」および前記「バス承認」信号はデバッグモジュー
ル10およびCPU2の間の直接的な接続である。バス
調停の詳細は前に説明した。
【0170】前記「バス承認」信号が肯定されたとき、
ABHR110がイネーブルされてそこに格納されたア
ドレス情報をKADDR信号を介してK−バス25に提
供する。該アドレス情報はその中のメモリロケーション
を読み出すためにメモリ6によってデコードされる。読
出し動作が実行されるため、メモリ6はK−バス25の
KDATA信号上のメモリロケーションに対応するオペ
ランドを出力する。アクセスされるメモリはメモリ6に
限定されないことに注意を要する。むしろ、アクセスさ
れるメモリはメモリ6あるいはデータ処理システム5の
任意の他のメモリロケーションとすることができる。K
DATA信号を介して転送されるオペランドはその後ブ
レークポイント回路100の一時データレジスタ170
において捕捉される。前記オペランドはその後「内部デ
ータ」信号を介してレジスタ32に転送される。前記オ
ペランドは次にシリアルインタフェース30によって提
供されるDSDO信号を介して32のタイミングサイク
ルで直列的にシフト出力される。前記DSDO信号は外
部開発システム7へ提供される。
【0171】さらに、オペランドが前記KDATA信号
を介して転送された後、CPU2は処理速度への最小限
の侵入とともにデータ処理命令の実行を再開する。従っ
て、CPU2はシリアルインタフェース30が情報を出
力している間にデータ処理機能を行うことができる。
【0172】本発明はデータプロセッサ3が特別のデバ
ッグモードで動作することを要求することなくCPU2
およびデバッグモジュール10の同時動作を可能にする
ことに注目すべきである。コア9とデバッグモジュール
10との間でデータ、アドレスおよび制御情報を通信す
るためにK−バス25を使用することはデバッグモジュ
ール10がCPU2と同じメモリロケーションおよび内
部レジスタにアクセスできるようにする。従って、デバ
ッグモジュールはCPU2がアクセスできるすべてのメ
モリロケーションおよび内部レジスタにアクセスするこ
とができる。CPU2およびデバッグモジュール10を
同時に動作させることができる能力により外部開発シス
テム7がプロセッサの動作に大きな影響を与えることな
くデータプロセッサ3の内部レジスタおよびメモリにお
ける増大した可視性(visibility)を持つこ
とができるようにする。
【0173】さらに、デバッグモジュール10およびC
PU2はともに同じ内部レジスタおよびメモリロケーシ
ョンにアクセスする能力を有するが、CPU2およびコ
ア9の残りの部分は前記複数の制御レジスタ40のCS
Rにおける前記「デバッグレジスタへのプロセッサ書込
み禁止(Inhibit Processor Wri
tes to Debug Registers:IP
W)」ビットがセットされている場合に複数のブレーク
ポイントレジスタ50に格納された値を変更しないこと
に注意を要する。CSRにおけるIPWビットがセット
されている場合、CPU2によって開始されたいずれの
書込み動作も禁止される。さらに、IPWビットは外部
開発システム7によって提供されるコマンドによっての
み変更することができる。
【0174】IPWビットをセットするため、外部開発
システム7はDSDIおよびDSCLK信号の双方を使
用してシリアルインタフェース30にデータをCSRに
ロードするためコマンドをシフト入力する。前に述べた
ように、本発明の1つの実施形態では、前記コマンドの
第1の部分はDSDI信号によって提供されかつDSC
LK信号によってクロック入力される。前記コマンドの
付加的な部分はその後提供される。前記コマンドのすべ
ての部分は16ビットのパケットの情報が完成するまで
レジスタ32に格納される。本発明の別の実施形態では
本発明のこの実施形態において必要とされる16ビット
より多くのまたは少ないビットを含むことができること
に注目すべきである。
【0175】ここに説明される本発明の実施形態におい
ては、CSRにある値を書き込む命令は48ビット長で
あり、16ビットのオペコードおよび32ビットのデー
タを備えている。レジスタ32は16ビットのみの幅を
有する。この書込み命令を実行するため、外部開発シス
テム7はDSDIおよびDSCLK信号の双方を使用し
てシリアルインタフェース30にデータをCSRへロー
ドするためコマンドをシフト入力する。該コマンドの第
1の部分はDSDI信号によって提供されかつDSCL
K信号によってクロック入力される。前記コマンドの付
加的な部分はその後提供される。前記コマンドのすべて
の部分は16ビットのパケットの情報が完成するまでレ
ジスタ32に格納される。
【0176】ここに説明される本発明の実施形態におい
ては、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にロードされる。
【0177】その後のデータはDSDI信号を介して外
部開発システム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に格納される。
【0178】本発明の別の実施形態では、IPWビット
以外のすべての値はデータプロセッサ4のCPU2によ
ってCSRに書き込まれる値によって構成することがで
きる。CPU2が該値をCSRに書き込むとき、該値は
図6に示されるブレークポイント回路100の一時レジ
スタ170に提供される。前記値はK−バス25のKD
ATA信号を介して一時レジスタ170に与えられる。
一時レジスタ170から、前記値はレジスタ32へ転送
されかつ16ビットのパケットで該レジスタ32に格納
される。従って、複数の制御レジスタ40に対しては、
前記値は外部開発システム7からレジスタ32に提供さ
れたものと同じであるように見える。
【0179】前記IPWビットおよび前記CSRに格納
された他の値は制御バス15を介してハードウエア回路
100に提供される。前記IPWビットが肯定されかつ
CPU2がABHR110,ABLR120,DBMR
150,DBR160,PBMR190およびPPR1
25の内の1つに格納された値を変更しようと試みる場
合、前記IPWビットはコア9によって開始される書込
み動作をディスエーブルするために上に述べたレジスタ
のおのおのに提供される。
【0180】前記複数のハードウエアブレークポイント
レジスタ50への書込み動作を効果的にディスエーブル
するためにIPWビットを使用することはデータプロセ
ッサ3における障害の回路および誤りのあるプログラム
を分離しかつ識別するために外部開発システム7によっ
てプログラムされる条件がCPU2によってオーバライ
トされないことを保証する。
【0181】〈リセット例外処理の間のデバッグ動作〉
本発明は外部開発システム7がリセット動作のための例
外処理ルーチンが開始される前にデータプロセッサ3に
おいてブレークポイント動作を実行できるようにするメ
カニズムを提供する。「外部リセット」信号が肯定され
たとき、前記複数の制御レジスタ40の各々の内容は初
期化される。前記「外部リセット」信号がその後否定さ
れたとき、データプロセッサ3が実際のリセット例外処
理ルーチンを開始する前に静止している時間のウィンド
ウが存在する。外部開発システム7によって前記静止時
間の間に外部ブレークポイント信号、*BKPT、が肯
定されれば、本発明はターゲットメモリ値をデータ処理
システム5にダウンロードしかつ何らかの要求されるハ
ードウェアレジスタ構成を行なうためのメカニズムおよ
び方法を提供する。前記ターゲットメモリ値は単一の値
でもよくあるいは複数の値でもよい。
【0182】いったん前記ターゲットメモリ値が外部開
発システム7によってダウンロードされると、前記複数
の制御レジスタおよび前記複数のハードウェアブレーク
ポイントレジスタ50の内の一方または双方が構成でき
る。さらに、CPU2に含まれるハードウェアレジス
タ、MMU/コントローラ4、およびシステムバスコン
トローラ8もまたプログラムされ得る。最後に、データ
プロセッサ3は「ゴー(Go)」コマンドを使用してリ
スタートされなければならない。しかしながら、本発明
においては、前記「ゴー」コマンドの受信に応じて実行
される一連のハードウェア動作はCPU2がブレークポ
イント動作を実行している間に変更されたハードウェア
レジスタの関数である。もし外部開発システム7がCP
U2のプログラムカウンタレジスタを変更しなければ、
前記「ゴー」コマンドはデータプロセッサ3をイネーブ
ルして通常のリセット例外処理ルーチンを実行できるよ
うにする。しかしながら、もし外部開発システム7がC
PU2のプログラムカウンタレジスタを変更しなけれ
ば、前記「ゴー」コマンドはデータプロセッサ3をイネ
ーブルして前記通常のリセット例外処理ルーチンをバイ
パスしかつプログラムカウンタレジスタにロードされた
アドレスによって識別される命令の実行を開始できるよ
うにする。
【0183】そのようなリセットおよびブレークポイン
ト動作の間のデータプロセッサ3の動作は後により詳細
に説明する。前記「リセット」信号が肯定されかつデー
タプロセッサ3のCPU2に提供されたものと仮定す
る。該「リセット」信号が否定されたとき、外部開発シ
ステム7は前記*BKPT信号を肯定する。デバッグモ
ジュール10の制御回路20はK−バス25を介しての
CPU2への複数のブレークポイント制御信号の内の前
記BKPT信号を肯定する。前と同様に、制御インタフ
ェースはデバッグモジュール10とCPU2との間の直
接的接続であることに注意を要する。
【0184】CPU2が肯定されたBKPT信号を受信
したとき、CPU2は静止時間ウィンドウを中止しかつ
データプロセッサ3が停止していることを通知する。こ
の時間の間、PST信号は$Fの論理値を有し外部開発
システム7にデータプロセッサ3が動作を停止している
ことを示す。したがって、CPU2およびデータプロセ
ッサ3はリセット例外処理ルーチンを開始する前に停止
される。
【0185】いったんPST信号がデータプロセッサ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の残りの部分に転
送する。この動作は前により詳細に説明したから、内部
格納手順のこれ以上の説明はここでは行なわない。
【0186】前記複数のデータ、アドレスおよび制御値
がデータプロセッサ3の適切なメモリまたはレジスタロ
ケーションに格納された後、外部開発システム7は前記
DSDIおよびDSCLK信号を介してデータプロセッ
サ3に「ゴー」コマンドを提供する。前記複数のデー
タ、アドレスおよび制御値と同様に、該「ゴー」コマン
ドはDSDI信号を介してデータプロセッサ3に提供さ
れる。前記「ゴー」コマンドの各々のビットはシリアル
インタフェース30を介してレジスタ32に提供され
る。レジスタ32が満杯になったとき、パケットの情報
が制御バス15を介して制御回路20に与えられる。制
御回路20は前記「ゴー」コマンドをデコードしてK−
バス25を介してCPU2に前記「ゴー」信号を提供す
る。
【0187】CPU2が前記「ゴー」信号に応答したと
き、それが実行する命令は外部開発システム7によって
提供される前記複数のアドレス、データおよび制御値に
よって変更されたレジスタによって決定される。例え
ば、もしCPU2のプログラムカウンタ(図面には詳細
に示されていない)が変更されれば、CPU2は該変更
されたプログラムカウンタに格納された新しい命令アド
レスからプロセッサの実行を開始する。しかしながら、
もしCPU2のプログラムカウンタが変更されなけれ
ば、CPU2は通常のリセット例外処理ルーチンにより
継続する。
【0188】リセット例外処理ルーチンの実行の前にデ
ータプロセッサ3のブレークポイントを行なう本発明の
能力は外部開発システム7がリセット例外処理ルーチン
の実行の間に前記値がオーバライトされる機会を生じる
ことなく要求される様式でデータプロセッサ3を構成で
きるようにする効率的なかつ有用なメカニズムを提供す
る。
【0189】リセット例外処理ルーチンが実行される前
にブレークポイント動作を実行するこの能力はまた外部
開発システム7が不揮発メモリ装置のプログラミングを
バイパスできるようにする。新しいソフトウェアイメー
ジを書き込み可能なメモリ装置にロードすることによ
り、前記不揮発メモリにプログラムされたコードは容易
にバイパスできる。外部開発システム7は80ビットの
命令をシフト入力することによりいずれのハードウェア
レジスタをもアクセスできる。この80ビットの命令は
16ビットのオペコード、CPU空間へマッピングされ
た32ビットのアドレス、および32ビットのオペラン
ドデータを含む。いったん完全なコマンドが受信される
と、デバッグモジュール10はメモリ参照動作と同様の
様式で動作する。K−バス25が要求され、次にCPU
2によって承認される。CPU空間のK−バスサイクル
がデバッグモジュール10によって開始されかつ適切な
ハードウェアレジスタが書き込まれる。
【0190】〈背景デバッグモード〉データプロセッサ
3が特別の背景デバッグモードで動作しているとき、C
PU2は停止してデバッグモジュール10が全てのメモ
リおよびレジスタ値に完全にアクセスでき、それによっ
て障害のある回路および誤りのあるプログラムを分離し
かつ識別できるようにする。背景デバッグモードにある
ときレジスタおよびメモリロケーションは観察できかつ
選択的に変更できる。さらに、試験機能をイネーブルで
きる。外部開発システム7はそれが特別の背景デバッグ
モードで動作しているときにデバッグモジュール10を
介して容易に内部情報にアクセスできるが、通常の命令
実行は中止され、それはCPU2がこの動作モードにお
いては停止しなければならないからである。CPU2が
停止しているとき、PST信号は$Fの値を有すること
に注意を要する。
【0191】前記特別の背景デバッグモードの動作は数
多くの発生源によって発生できる。例えば、前記*BK
PT信号を外部開発システム7によって外部的に発生し
てデータプロセッサ3が背景デバッグモードの動作に入
るよう選択的にイネーブルすることができる。さらに、
内部的に発生されたブレークポイント動作および破滅的
例外条件もまたデータプロセッサ3を背景デバッグモー
ドの動作に入るようイネーブルできる。
【0192】いったんデータプロセッサ3が背景デバッ
グモードの動作に入ると、データプロセッサ3の通常の
動作は停止されかつ特別の機能が外部開発システム7の
制御の下にデバッグモジュール10によって行なわれ
る。デバッグモジュール10および外部開発システム7
の間の全ての通信はシリアルインタフェース30および
前記DSDI,DSDOおよびDSCLK信号の各々を
介して行なわれる。
【0193】前に述べたように、本発明のこの実施形態
では、背景デバッグモードはPST信号を介して外部ユ
ーザに通知される。PST信号上の$Fの値がプロセッ
サが停止しかつ背景デバッグ動作モードで動作している
ことを示す。背景デバッグモードへのエントリの指示は
重要であり、それはこれが外部ユーザがシリアル通信チ
ャネルを介してサポートされたデバッグコマンドを開始
できるようにするための信号を提供するからである。し
たがって、シリアルインタフェース30を介して提供さ
れるシリアルポートはメモリロケーションおよび内部レ
ジスタからデバッグ情報を取り出すために使用すること
ができる。
【0194】もし前記MAPビットが否定されれば、全
てのエミュレータモードのメモリ参照は通常のものとし
てスーパバイザアクセスへとマッピングされ、したがっ
てオンチップメモリ、外部メモリおよび入力/出力装置
のようなシステム資源が参照できるようになる。
【0195】最後に、外部開発システム7から「ゴー」
コマンドが直接的にデバッグモジュール10にシフト入
力された後に前記「ゴー」信号が肯定される。前記「ゴ
ー」信号は何らかの事象がデータプロセッサ3を停止さ
せた後にデータプロセッサ3の実行をリスタートさせ、
背景デバッグモードの動作へのエントリを強制する。デ
ータプロセッサ3はもしTDRがこの形式の方向を強制
するようプログラムされていれば制御回路20による前
記「ブレークポイント」信号の肯定によって停止され得
る。さらに、データプロセッサ3はデータプロセッサ3
による「ホールト(Halt)」命令の実行によりある
いはフォールト・オン・フォールト(fault−on
−fault)」条件の発生により停止され得る。
【0196】
【発明の効果】要するに、本発明はデータプロセッサ
が、背景デバッグモードのような、特別の動作モードに
入ることを要求することなく実時間トレースおよびデバ
ッグ機能を実行できるようにするデータプロセッサおよ
び動作方法を提供する。さらに、本発明は実時間デバッ
グ機能の実行の間にマルチレベルのトリガの実行のため
の方法を提供する。これらの独自の特徴的機能の各々は
外部ユーザにデータ処理システム5における障害を識別
しかつ分離する上でより大きな機能性および柔軟性を提
供する。
【0197】前に述べたように、本発明は重要な、かつ
今まで存在しなかった、実時間トレース機能を提供す
る。該実時間トレース機能は、外部開発システム7のよ
うな、外部ユーザが外部バスの形式または利用可能性を
想定することなくデータプロセッサ3の内部動作をダイ
ナミックに観察できるようにする。さらに、前記実時間
トレース機能はデータ処理システム5の効率および速度
に大きな影響を与えることなくそのような観察可能性を
システムの内部動作内に提供する。データ処理システム
5のデバッグモジュール10は外部ユーザに対しDDA
TAおよびPST信号を介して内部動作情報を提供する
ための並列出力ポートを提供する。前記DDATA信号
はオペランド値を反映するデータを提供しかつ前記PS
T信号はCPU2の実行ステータスを反映する符号化さ
れたステータス情報を提供する。さらに、前記DDAT
A信号はまた捕捉された命令アドレスプログラムフロー
の変更を可能にし外部開発システムが外部的に見えるア
ドレスバスまたは外部的に見えるデータバスを必要とす
ることなく正確なプログラムフローをトレースできるよ
うにする。DDATA信号上に表示される情報はPST
信号上のステータス情報と同期していることに注意を要
する。したがって、外部ユーザはデータプロセッサ3の
通常動作を中止することなくデータプロセッサ3におけ
るキーとなる変数のステータスを決定するために前記D
DATAおよびPST信号をデコードすることができ
る。言い換えれば、データプロセッサ3は内部情報を外
部開発システムに提供するために特別のデバッグまたは
エミュレータモードで動作することを要求されない。
【0198】さらに、本発明は実時間デバッグ機能を実
行するための回路および方法を提供する。多くのデータ
プロセッサにおいては、特に組み込み型(embedd
ed)システムでは、データプロセッサはシステムの制
約によりあるいはデータプロセッサがもはや正常なモー
ドで動作していない場合に障害の回路またはプログラム
を識別することの不能性のためデバッグ動作の間に停止
できないかもしれない。本発明はデータプロセッサの実
時間動作に対し最小の侵入のみによりかつデータプロセ
ッサを停止させることなくデバッグ動作を実行する。
【0199】ブレークポイントは動作は典型的にはプロ
グラミング事象を識別するためにデバッグ動作の間に使
用される。プログラミング事象に遭遇したとき、ブレー
クポイント信号が肯定されかつソフトウェアプログラム
のステータスを決定するためデータが取り出される。ト
レース機能と同様に、ブレークポイント動作は外部ユー
ザが複数の選択されたレジスタおよびメモリロケーショ
ンの各々のステータスを確かめ、それによってデータ処
理エラーが識別できるようにする。本発明はそのような
ブレークポイント動作を行なうために複数のハードウェ
アブレークポイントレジスタ50およびブレークポイン
ト回路100を提供する。本発明においては、プログラ
ムカウンタの値またはプログラムカウンタマスク、オペ
ランドアドレス範囲、およびデータ値またはデータマス
ク値に基づくブレークポイント動作は全て実施される。
さらに、本発明において実施されるブレークポイント動
作はまた1または2レベルトリガへと構成でき、この場
合複数の制御レジスタ40の前記「トリガ定義レジスタ
(TDR)」を介して正確なトリガ応答がプログラム可
能である。
【0200】また、本発明はデータプロセッサ3が特別
のデバッグモードで動作することを要求することなくC
PU2およびデバッグモジュール10の同時動作を可能
にする。コア9とデバッグモジュール10との間でデー
タ、アドレス、および制御情報を通信するためにK−バ
ス25を使用することによりデバッグモジュール10が
CPU2と同じ内部レジスタおよびメモリロケーション
へのアクセスを持つことができるようになる。したがっ
て、デバッグモジュールはCPU2がアクセスできる全
てのメモリロケーションおよび内部レジスタにアクセス
できる。CPU2およびデバッグモジュール10を同時
に動作させることができる能力は外部開発システム7が
プロセッサの動作に大きな影響を与えることなくデータ
プロセッサ3の内部レジスタおよびメモリにおける増大
した可視性を持つことができるようにする。
【0201】さらに、デバッグモジュール10およびC
PU2は双方とも同じ内部レジスタおよびメモリロケー
ションをアクセスする能力を有するから、CPU2およ
びコア9の残りの部分は前記複数の制御レジスタ40の
CSRにおける「デバッグレジスタへのプロセッサ書き
込み禁止(IPW)」ビットがセットされている場合に
前記複数のブレークポイントレジスタ50に格納された
値を変更することはできない。前記CSRにおける前記
IPWビットがセットされている場合、CPU2によっ
て開始されるいずれの書き込み動作も禁止される。さら
に、IPWビットは外部開発システム7によって提供さ
れるコマンドによってのみ変更することができる。複数
のハードウェアブレークポイントレジスタ50への書き
込み動作を効果的にディスエーブルするためにIPWビ
ットを使用することは外部開発システム7によってプロ
グラムされかつデータプロセッサ3における障害の回路
および誤りのあるプログラムを分離しかつ識別するため
に必要な事象がCPU2によってオーバライトされない
ことを保証する。
【0202】さらに、本発明は外部開発システム7がリ
セット動作のための例外処理ルーチンが開始される前に
データプロセッサ3においてブレークポイント動作を実
行できるようにするメカニズムを提供する。前記「外部
リセット」信号が肯定されたとき、複数の制御レジスタ
40の各々の内容が初期化される。前記「外部リセッ
ト」信号がその後否定されたとき、データプロセッサ3
が実際のリセット例外処理ルーチンを開始する前に静止
している時間のウィンドウが存在する。もし外部ブレー
クポイント信号、*BKPT、が前記静止時間の間に外
部開発システム7によって肯定されれば、本発明は何ら
かのハードウェアレジスタの構成を行なうことができる
ようにデータ処理システム5へターゲートメモリ値をダ
ウンロードするメカニズムおよび方法を提供する。前記
ターゲートメモリ値は単一の値でもよくあるいは複数の
値でもよい。
【0203】リセット例外処理ルーチンが実行される前
にブレークポイント動作を実行するこの能力はまた外部
開発システム7が不揮発メモリ装置をプログラミングす
ることをバイパスできるようにする。新しいソフトウェ
アイメージを書き込み可能なメモリ装置にロードするこ
とにより、前記不揮発メモリ装置においてプログラムさ
れたコードは容易にバイパスできる。外部開発システム
7は80ビットの命令をシフト入力することによりいず
れのハードウェアレジスタをもアクセスできる。この8
0ビットの命令は16ビットのオペコード、CPU空間
へマッピングされた32ビットのアドレス、および32
ビットのオペランドデータを含む。いったん完全なコマ
ンドが受信されると、デバッグモジュール10はメモリ
参照動作と同様の様式で動作する。K−バス25が要求
され、かつ次にCPU2によって承認される。CPU空
間K−バスサイクルはデバッグモジュール10によって
開始されかつ適切なハードウェアレジスタが書き込まれ
る。
【0204】リセット例外処理ルーチンの実行の前にデ
ータプロセッサ3をブレークポイントする本発明の能力
は外部開発システム7が前記値がリセット例外処理ルー
チンの実行の間にオーバライトされる機会を生じること
なく必要な様式でデータプロセッサ3を構成できるよう
にする効率的なかつ有用なメカニズムを提供する。
【0205】ここに説明した本発明の構成は実例によっ
てのみ与えられている。しかしながら、上に述べた機能
を実行するために数多くの他の構成が存在し得る。本発
明が特定の実施形態に関連して示されかつ説明された
が、当業者にはさらに他の変更および改善を成すことが
できるであろう。したがって、この発明は示された特定
の形式に限定されるのではなくかつ添付の特許請求の範
囲によってこの発明の範囲から離れることのない全ての
変更をカバーすることを理解すべきである。
【図面の簡単な説明】
【図1】本発明の一実施形態に係わるデータ処理システ
ムを示すブロック図である。
【図2】図1のデータ処理システムのデバッグモジュー
ルの一部を示すブロック図である。
【図3】図2のデバッグモジュールのブレークポイント
回路を示すブロック図である。
【図4】図2のデバッグモジュールにおける複数の制御
レジスタを示すブロック図である。
【図5】図2の複数のハードウェアブレークポイントレ
ジスタを示すブロック図である。
【図6】図5の複数のハードウェアブレークポイントレ
ジスタの内のアドレス属性ブレークポイントレジスタを
示すブロック図である。
【図7】図4の複数の制御レジスタの内のトリガ定義レ
ジスタを示すブロック図である。
【図8】図4の複数の制御レジスタの内の構成ステータ
スレジスタを示すブロック図である。
【図9】図2のデバッグモジュールの複数のブレークポ
イント信号の出力を示す図表形式の説明図である。
【図10】図2のデバッグモジュールの複数のプロセッ
サステータス信号の出力を示す図表形式の説明図であ
る。
【図11】本発明の一実施形態に係わるパイプラインタ
イミング例を示す図式的説明図である。
【図12】図1のデータ処理システムの中央処理ユニッ
トの一部を示すブロック図である。
【符号の説明】
2 中央処理ユニット(CPU) 3 データプロセッサ 4 メモリ管理ユニット(MMU/コントローラ) 5 データ処理システム 6 メモリ 7 外部開発システム 8 システムバスコントローラ 9 コア 10 デバッグモジュール 12,13 スレイブモジュール 14 マスタモジュール 15 制御バス 20 制御回路 23 M−バス 25 K−バス 30 シリアルインタフェース 32 レジスタ 40 制御レジスタ 50 ハードウェアブレークポイントレジスタ 60 制御回路 70 FIFO 80 マルチプレクサ 100 ブレークポイント回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 データプロセッサ(5)であって、 データ処理機能を実行するための中央処理ユニット
    (2)であって、該中央処理ユニットは内部プロセッサ
    ステータス信号を提供するもの、 複数の情報値を通信するためのバス手段、そしてデバッ
    グ回路(10)であって、該デバッグ回路は、 出力制御信号を提供するための制御回路(60)、 前記バス手段に結合され前記複数の情報値を受けるため
    の記憶バッファ(70)であって、該記憶バッファは前
    記複数の情報値の各々を提供するもの、そして前記記憶
    バッファに結合されて前記複数の情報値の各々を受けか
    つ前記中央処理ユニットに結合されて前記内部プロセッ
    サステータス信号を受ける出力回路(80)であって、
    該出力回路はステータス信号を介して外部的に前記内部
    プロセッサステータス信号を選択的に提供しかつ前記出
    力回路はデータ信号を介して外部的にデバッグデータ値
    を選択的に提供するもの、を具備する前記デバッグ回路
    (10)、 を具備することを特徴とするデータプロセッサ(5)。
  2. 【請求項2】 データプロセッサ(5)においてトレー
    ス機能を実行する方法であって、 中央処理ユニット(2)においてデータ処理命令の実行
    を開始する段階、 前記中央処理ユニットから制御回路へ複数の内部プロセ
    ッサステータス信号を提供する段階、 前記データ処理命令の実行に応じて前記中央処理ユニッ
    トからバスを介して複数の情報値を通信する段階、 前記データ処理命令の実行の間に記憶バッファ(70)
    の動作を制御するために記憶バッファ制御信号を発生す
    る段階、 前記記憶バッファ制御信号が肯定された時前記複数の情
    報値の各々の前記記憶バッファに順次提供する段階、 前記記憶バッファから出力回路(80)へ記憶された複
    数の情報値の各々を順次提供する段階、 前記複数の内部プロセッサステータス信号を前記出力回
    路に順次提供する段階、 デバッグデータ信号を介して前記記憶された複数の情報
    値の各々を提供する段階、そしてステータス信号を介し
    て前記複数の内部プロセッサステータス信号の内の対応
    する1つを同時に提供する段階であって、前記複数の内
    部プロセッサステータス信号の各々は前記記憶された複
    数の情報値の内の1つに対応するもの、 を具備することを特徴とするデータプロセッサ(5)に
    おいてトレース機能を実行する方法。
JP8239886A 1995-08-30 1996-08-22 データプロセッサ Pending JPH09218803A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021157808A (ja) * 2015-09-30 2021-10-07 ツェットエフ、フリードリッヒスハーフェン、アクチエンゲゼルシャフトZf Friedrichshafen Ag 制御装置の診断

Families Citing this family (113)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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