JP2001147836A - マイクロコンピュータデバッグアーキテクチャ及び方法 - Google Patents

マイクロコンピュータデバッグアーキテクチャ及び方法

Info

Publication number
JP2001147836A
JP2001147836A JP2000301822A JP2000301822A JP2001147836A JP 2001147836 A JP2001147836 A JP 2001147836A JP 2000301822 A JP2000301822 A JP 2000301822A JP 2000301822 A JP2000301822 A JP 2000301822A JP 2001147836 A JP2001147836 A JP 2001147836A
Authority
JP
Japan
Prior art keywords
code
watchpoint
computer system
register
precondition
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.)
Granted
Application number
JP2000301822A
Other languages
English (en)
Other versions
JP4987182B2 (ja
Inventor
David Alan Edwards
アラン エドワーズ デイビッド
Anthony W Rich
ダブリュ. リッチ アンソニー
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.)
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
Original Assignee
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
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 ST MICROELECTRONICS Inc, STMicroelectronics lnc USA filed Critical ST MICROELECTRONICS Inc
Publication of JP2001147836A publication Critical patent/JP2001147836A/ja
Application granted granted Critical
Publication of JP4987182B2 publication Critical patent/JP4987182B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/3648Software debugging using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 マイクロコンピュータ上でデバッギング動作
を行う改良した方法及び装置を提供する。 【解決手段】 本発明のコンピュータシステムは、少な
くとも1個の中央処理装置と該少なくとも1個の中央処
理装置へ結合されているメモリユニットとを有してお
り、1組のウォッチポイントがコンピュータシステムに
おいて画定されている。該1組のウォッチポイントにお
ける各ウォッチポイントはプログラム可能なプレコンデ
ィションレジスタとプログラム可能なアクションレジス
タとを有している。更に、1組のラッチが設けられてお
り、且つアクションレジスタの出力を選択されたラッチ
の入力へ結合させるために該1組のラッチのうちの1個
のラッチを選択する選択回路が設けられている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、大略、マイクロコ
ンピュータに関するものであって、更に詳細には、マイ
クロコンピュータ上でデバッギング動作を実施する方法
及び装置に関するものである。
【0002】
【従来の技術】通常マイクロコンピュータであるシステ
ム・オン・チップ(SOC)装置は公知である。これら
の装置は、通常、プロセッサと、1個又はそれ以上のモ
ジュールとバスインターフェースと、メモリ装置と、情
報を通信するための1つ又はそれ以上のシステムバスと
を有している。マイクロコンピュータを設計し、テスト
し、チェックする場合に、マイクロコンピュータ上で実
行するプログラムに関する問題を識別し且つ補正するこ
とが可能であるようなモードでマイクロコンピュータを
動作させることが必要である。この問題を識別し且つ補
正する処理は「デバッギング」又はデバッグとして知ら
れている。複数個のモジュール及びそれらの通信はチッ
プ内部において発生するものであるから、この情報に対
するアクセスは、ソフトウエア又はハードウエアにおい
て問題が発生する場合には一般的に困難なものである。
従って、これらのシステムに関するデバッギングは簡単
なものではない。これらのSOCの開発の結果として、
チップ上での性能をモニタし且つ情報をトレースするた
めの特別のデバッギングシステムが開発されている。こ
のようなシステムは、典型的に、シリアル通信を介して
プロセッサへアクセスする例えばデバッグ通路及びデバ
ッグソフトウエア等の専用のハードウエア又はソフトウ
エアを包含している。
【0003】然しながら、SOCのデバッギングは、通
常、1個又はそれ以上のプロセッサレジスタ又はメモリ
位置の侵略的なモニタ動作が行われる。メモリ位置への
アクセスは、時折、破壊的なものであり、且つデバッギ
ングツールから読取られる位置へのデータアクセスはプ
ロセッサの性能を阻害する場合がある。同様に、アクセ
スは、通常、システムバスを介してプロセッサ、メモ
リ、又はその他のモジュールに対して行われ、且つ一般
的な動作を実行するためのシステムバスを介して使用可
能な帯域幅を減少させる場合がある。あるデバッギング
システムではプロセサと同一のクロック速度で動作する
ものではなく、且つ例えばトレース情報を採取すること
等のデバッギングの特徴を使用することを可能とするた
めにはプロセッサの性能を遅くさせることが必要な場合
がある。プロセッサを遅くさせるか又は休止させること
により、あるタイプのエラーが再現されない場合があ
り、従って、検知又は補正することが不可能な場合があ
る。更に、プロセッサの速度が速いために正確な情報が
全く得られない場合があり、情報がスキュー即ち歪みが
発生し又は欠落する場合がある。
【0004】幾つかのシステムでは、時々デバッグユニ
ット又はモジュールと呼称されるプロセッサをデバッギ
ングするための専用のSOC内の1個又はそれ以上の専
用の機能ユニットを有している。然しながら、これらの
ユニットは、例えばトレース情報等の情報を得る場合に
プロセッサの動作に影響を与える。これらの装置は、典
型的に、プロセッサよりもより遅い速度で機能し、従っ
て、それらがプロセッサのデータへアクセスする場合に
はプロセッサの動作に影響を与える。デバッグシステム
はターゲットプロセッサ自身の上でデバッグコードを稼
動させることに依存しており、且つこのコードは、通
常、デバッグされるものの中に組込まれている。従っ
て、デバッグコードが存在することは、メモリレイアウ
トの点で侵略的なものであり、且つ命令ストリームが乱
される。
【0005】インサーキットエミュレータ(ICE)と
呼称されるその他のデバッギングシステムはオンチップ
ハードウエアとマッチしており且つそれと接続されてい
る。従って、オンチップ接続がエミュレータ上にマッピ
ングされ且つテストされるべきチップに対して特別に設
計されているエミュレータ上でアクセス可能である。然
しながら、エミュレータはある適用に対しては法外に高
価なものである。何故ならば、それらは特別に開発され
たハードウエアであり、全てのオンチップ速度又は通信
とマッチするものではないからである。従って、エミュ
レータシステムは不適切である。更に、これらのシステ
ムは、通常、システムバスを介して情報を転送し、従っ
て必然的にプロセッサの性能に影響を与える。これらの
ICEは、通常、同一の製造業者からの外部デバッグ装
置とのみインターフェースさせることが可能なプロプラ
イエテリィ即ち私有の通信インターフェースを使用す
る。
【0006】トラブルシューティング用の別の技術はロ
ジックステートアナライザ(LSA)即ち論理状態解析
器を使用するものであり、それは全てのオフチップ通信
の状態をモニタする集積回路のピンへ接続されている装
置である。LSA装置は、通常、高価な装置であり、チ
ップ内部のピン情報へのアクセスを可能とするものでは
ない。
【0007】従来、マイクロコンピュータをデバッグす
るために使用することが可能な2つの主要なタイプの開
発システムアーキテクチャが存在している。図1は第一
のタイプのデバッギングシステムを示している。このシ
ステムはターゲットプロセッサボード10を有してい
る。ターゲットプロセッサボード10はその上に配設さ
れているターゲットプロセッサ12を有している。ター
ゲットプロセッサ12は、デバッグシステムによってデ
バッグされるマイクロコンピュータである。データリン
ク16を介してターゲットプロセッサ12へ結合されて
いるモニタROM14も設けられている。シリアルポー
トインターフェース18がデータリンク20を介してタ
ーゲットプロセッサ12をデータリンク24を介してホ
ストコンピュータ22と結合させるために設けられてい
る。ホストコンピュータ22はソフトウエアバックプレ
ーン/オペレーティングシステム26を稼動させ、それ
はソフトウエアデバッガーシステム28がターゲットプ
ロセッサ12へアクセスすることを可能とする。図1に
示したシステムにおいては、ターゲットプロセッサ12
は最小のデバッグ特徴を有しているか又はデバッグ特徴
を有していない場合がある。ターゲットプロセッサ12
の動作をデバッギングするのに必要なツールの殆どはデ
バッガーソフトウエアシステム28内に設けられてい
る。
【0008】図1のシステムは実施することが可能なデ
バッギング動作のタイプが幾分制限されている。ターゲ
ットプロセッサ12とホストコンピュータ22との間で
通信を行うためにシリアルポートが使用されているの
で、このシステムは、典型的に、ターゲットプロセッサ
12をしてホストコンピュータ22上で実行するソフト
ウエアからブートさせるために直接的にCPUを制御す
ることが可能なものではない。更に、図1のデバッギン
グシステムは侵略的なものである場合がある。何故なら
ば、このシステムはターゲットプロセッサ12自身の上
のコードを実行することに依存しているからである。従
って、ホストコンピュータ22はターゲットプロセッサ
12上のコードの実行を乱す場合があり且つ実際に乱す
こととなる。ホストコンピュータ22がデバッギング動
作期間中にターゲットプロセッサ12の動作を実際に乱
すものであるから、デバッギング動作の結果はある不確
定性に影響される場合がある。何故ならば、デバッギン
グシステムが存在していること自身ターゲットプロセッ
サの動作を変える場合があるからである。
【0009】図2は別の従来のデバッギングシステムを
示している。図2のデバッギングシステムにおいては、
ターゲットプロセッサ12がデバッグリンク32を介し
てデバッグアダプタ30へ接続している。ホストコンピ
ュータ22がデバッガーシステム28をサポートするソ
フトウエアバックプレーン/オペレーティングシステム
26を稼動する。ホストコンピュータ22は双方向デー
タリンク34を介してデバッグアダプタ30と通信を行
う。デバッグアダプタ30は「インテリジェント」なも
のである。それは、デバッグリンクの通信プロトコルと
データリンク34の通信プロトコルとの間で翻訳を行う
ためにアダプタソフトウエアを実行するランダムアクセ
スメモリ38及びCPU36を有している。デバッグデ
ータリンク34は、例えば、イーサーネット接続又はP
CIバスとすることが可能である。
【0010】オプションとして、例えばロジックアナラ
イザ40等の外部ハードウエアを設けることが可能であ
り、それはトリガインデータリンク42を介してトリガ
信号をターゲットプロセッサ12へ供給し且つトリガア
ウトデータリンク44を介してターゲットプロセッサ1
2からトリガ信号を受取ることが可能である。
【0011】図2のデバッグシステムは、図1のシステ
ムにおいて必要とされていたようなターゲットプロセッ
サをデバッギングシステムとインターフェースさせるた
めの付加的なオフチップハードウエアを必要とするもの
ではない。このことはデバッギングシステムのエキスト
ラなコンポーネントへ接続する前に付加的なコンポーネ
ントと結合させることを必要とすることなしに生産用の
ターゲットプロセッサ12をデバッギングすることを可
能とする。更に、システム内にデバッグアダプタ30を
設けているので、向上させたデバッギング特徴を与える
ことが可能である。然しながら、図2のデバッギングシ
ステムは、デバッギングソフトウエアがターゲットプロ
セッサ12の動作を乱す場合があるという点において少
なくとも侵略的であるという制限を被るものである。
【0012】
【発明が解決しようとする課題】本発明は、以上の点に
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、改良したマイクロコンピュータデバッグ装
置及び方法を提供することを目的とする。
【0013】
【課題を解決するための手段】本発明の1つの側面によ
れば、少なくとも1個の中央処理装置と、該少なくとも
1個の中央処理装置へ結合されているメモリユニット
と、該コンピュータシステムにおいて画定(定義)され
ている1組のウォッチポイント(watchpoin
t)とを有しているコンピュータシステムが提供され、
該1組のウォッチポイントにおける各ウォッチポイント
は、該1組のウォッチポイントにおける各ウォッチポイ
ントに対して同一な1組のプレコンディション(事前条
件)コードを格納するプログラム可能なプレコンディシ
ョン(precondition)レジスタ、該1組の
ウォッチポイントにおける各ウォッチポイントに対して
同一の1組のアクションコードを格納するプログラム可
能なアクション(action)レジスタ、及び第一比
較器を有している。第一比較器は、該プレコンディショ
ンレジスタへ結合されている入力端を具備しており、且
つ該1組のプレコンディションコードにおける少なくと
も1個のプレコンディションコードを該コンピュータシ
ステムにおける第一データ値と比較し且つそれに応答し
て該アクションレジスタへ信号を供給する。
【0014】本発明の側面によれば、該コンピュータシ
ステムにおける第一データ値が該プレコンディションコ
ードを満足する場合に、該比較器が該アクションレジス
タへ信号を供給する。
【0015】本発明の別の側面によれば、該コンピュー
タシステムが該アクションレジスタへ供給される信号に
応答し且つ該アクションコードによって決定され、該ウ
ォッチポイントがトリガされたことを表す信号を発生す
る。
【0016】本発明の別の側面によれば、該コンピュー
タシステムは該1組のウォッチポイントにおける特定の
ウォッチポイントに対して該1組のプレコンディション
コードにおけるどのプレコンディションコードがアクテ
ィブ即ち活性状態であるかを選択するハードウエア及び
ソフトウエアを有している。
【0017】本発明の別の側面によれば、該コンピュー
タシステムは、該1組のウォッチポイントにおける特定
のウォッチポイントに対して該1組のアクションコード
におけるどのアクションコードがアクティブ即ち活性状
態にあるかを選択するハードウエア及びソフトウエアを
有している。
【0018】本発明の別の側面によれば、該1組のウォ
ッチポイントはオペランドアドレス、命令値、命令アド
レス、分岐、ブレークポイント命令、印刷命令に対する
ウォッチポイントのタイプを包含している。
【0019】本発明の別の側面によれば、各ウォッチポ
イントは、更に、少なくとも1個のマッチコードを格納
するプログラム可能なマッチ(match)レジスタを
有しており、格納されるマッチコードはウォッチポイン
トのタイプに依存する。
【0020】本発明の別の側面によれば、本コンピュー
タシステムは、更に、第一比較器へ結合している入力端
を具備しており、第一比較器に応答し、且つ該少なくと
も1個のマッチコードを本コンピュータシステムにおけ
る第二データ値と比較し且つそれに応答して該アクショ
ンレジスタへ信号を供給する第二比較器を有している。
【0021】本発明の別の側面によれば、該マッチコー
ドはアドレスレンジ(範囲)、データ値、データマス
ク、命令値、命令マスク、分岐タイプ、及び該少なくと
も1個の中央処理装置に対して外部的な信号のうちの少
なくとも1つを包含している。
【0022】本発明の別の側面によれば、本コンピュー
タシステムにおける第二データ値が該マッチコードとマ
ッチ即ち一致する場合に、該第二比較器が該アクション
レジスタへ信号を供給する。
【0023】本発明の別の側面によれば、該1組のプレ
コンディションコードが基本イネーブルコード、アドレ
ス空間識別子イネーブルコード、アドレス空間識別子コ
ード、ラッチイネーブルコード、ラッチ識別子コード、
イベントカウンタイネーブルコード、イベントカウンタ
識別子コード、ISAモードイネーブルコード、CPU
スーパーバイザーモード選択コードを包含している。
【0024】本発明の別の側面によれば、該1組のアク
ションコードは、例外イネーブルコード、イベントカウ
ンタデクリメントイネーブルコード、イベントカウンタ
識別子コード、ラッチ変更コード、ラッチ識別子コー
ド、性能カウンタインクリメントイネーブルコード、リ
セット全性能カウンタコード、性能カウンタ識別子コー
ド、トレースイネーブルコード、トレースメッセージタ
イプコード、イネーブルトレース時間スタンプコード、
トリガアウトイネーブルコード、インタラプトイネーブ
ルコードを包含している。
【0025】本発明の別の側面によれば、本コンピュー
タシステムは単一の集積回路チップ上で実現されてい
る。
【0026】本発明の別の側面によれば、各ウォッチポ
イントは、少なくとも1個のマッチコードを格納するプ
ログラム可能なマッチレジスタを有しており、格納され
るマッチコードはウォッチポイントのタイプに依存し、
且つプレコンディションレジスタと、マッチレジスタ
と、アクションレジスタとがメモリユニット内の夫々の
メモリ位置を占有している。
【0027】本発明の別の側面によれば、少なくとも1
個の中央処理装置と、該少なくとも1個の中央処理装置
へ結合されているメモリユニットと、本コンピュータシ
ステムにおいて画定されている1組のウォッチポイント
とを有するコンピュータシステムが提供され、該1組の
ウォッチポイントにおける各ウォッチポイントは、該1
組のウォッチポイントにおける各ウォッチポイントに対
して同一である少なくとも1個のプレコンディションコ
ードを格納するプログラム可能な第一格納手段と、該1
組のウォッチポイントにおける各ウォッチポイントに対
して同一である少なくとも1個のコンピュータアクショ
ンコードを格納するプログラム可能な第二格納手段と、
該プログラム可能な第一格納手段に応答する入力端を具
備しており、該少なくとも1個のプレコンディションコ
ードを本コンピュータシステムにおけるデータ値と比較
し且つそれに応答して該プログラム可能な第二格納手段
へ信号を供給する比較器とを有している。
【0028】本発明の別の側面によれば、少なくとも1
個の中央処理装置及び該少なくとも1個の中央処理装置
へ結合されているメモリユニットを有しているコンピュ
ータシステムにおいてウォッチポイントをトリガする方
法が提供され、該方法は、1組のプレコンディションレ
ジスタ及び1組のアクションレジスタを画定することに
よって本コンピュータシステム内に1組のウォッチポイ
ントを画定し、該1組のウォッチポイントにおける各ウ
ォッチポイントに対して同一である1組のプレコンディ
ションコードをプレコンディションレジスタ内に格納
し、該1組のウォッチポイントにおける各ウォッチポイ
ントに対して同一である1組のアクションコードをアク
ションレジスタ内に格納し、該1組のプレコンディショ
ンコードにおける少なくとも1個のプレコンディション
コードを本コンピュータシステムにおける第一データ値
と比較し且つそれに応答して該アクションレジスタへ信
号を供給する、上記各ステップを有している。
【0029】本発明の別の側面によれば、該比較するス
テップは、本コンピュータシステムにおける第一データ
値が該プレコンディションコードを満足する場合に該ア
クションレジスタへ信号を供給するステップを包含して
いる。
【0030】本発明の別の側面によれば、本方法は、該
1組のプレコンディションコードのうちでどのプレコン
ディションコードが該1組のウォッチポイントにおける
特定のウォッチポイントに対してアクティブであるかを
選択するステップを有している。
【0031】本発明の別の側面によれば、本方法は、該
1組のアクションコードのうちでどのアクションコード
が該1組のウォッチポイントにおける特定のウォッチポ
イントに対してアクティブであるかを選択するステップ
を有している。
【0032】本発明の別の側面によれば、該1組のウォ
ッチポイントはオペランドアドレス、命令値、命令アド
レス、分岐、ブレークポイント命令、印刷命令に対する
ウォッチポイントのタイプを包含している。
【0033】本発明の別の側面によれば、本方法は、プ
ログラム可能なマッチレジスタを画定し且つ該マッチレ
ジスタ内に少なくとも1個のマッチコードを格納するス
テップを有しており、該マッチコードはウォッチポイン
トのタイプに依存する。
【0034】本発明の別の側面によれば、本方法は、該
少なくとも1個のプレコンディションコードが満足され
た後に、該少なくとも1個のマッチコードを本コンピュ
ータシステムにおける第二データ値と比較するステップ
を有している。
【0035】本発明の別の側面によれば、該第二データ
値が該マッチコードとマッチする場合に、該信号がアク
ションレジスタへ供給される。
【0036】本発明の別の側面によれば、該1組のプレ
コンディションコードは基本イネーブルコード、アドレ
ス空間識別子イネーブルコード、アドレス空間識別子コ
ード、ラッチイネーブルコード、ラッチ識別子コード、
イベントカウンタイネーブルコード、イベントカウンタ
識別子コード、ISAモードイネーブルコード、CPU
スーパーバイザーモード選択コードを包含している。
【0037】本発明の別の側面によれば、本コンピュー
タシステムは、例外イネーブルコード、イベントカウン
タデクリメントイネーブルコード、イベントカウンタ識
別子コード、ラッチ変更コード、ラッチ識別子コード、
性能カウンタインクリメントイネーブルコード、リセッ
ト全性能カウンタコード、性能カウンタ識別子コード、
トレースイネーブルコード、トレースメッセージタイプ
コード、イネーブルトレース時間スタンプコード、トリ
ガアウトイネーブルコード、インタラプトイネーブルコ
ードを包含している1組のアクションコードを有してい
る。
【0038】本発明の別の側面によれば、本コンピュー
タシステムは、更に、メモリユニット内の夫々のメモリ
位置においてプレコンディションレジスタ、マッチレジ
スタ、アクションレジスタを画定するステップを有して
いる。
【0039】本発明の別の側面によれば、少なくとも1
個の中央処理装置及び該少なくとも1個の中央処理装置
に結合されているメモリユニットを有しているコンピュ
ータシステムにおいてデバッギングデータをフィルタす
る方法が提供され、該方法は1組のプレコンディション
レジスタ及び1組のアクションレジスタを画定すること
によって本コンピュータシステム内に1組のウォッチポ
イントを画定し、該1組のウォッチポイントにおける各
ウォッチポイントに対して適用されるべき1組の同一の
プレコンディションコードを画定し、該1組のウォッチ
ポイントにおける各ウォッチポイントに対して適用され
るべき1組の同一のアクションコードを画定し、該1組
のプレコンディションレジスタにおける各プレコンディ
ションレジスタ内に該1組のプレコンディションコード
を格納し、該1組のアクションレジスタにおける各アク
ションレジスタ内に該1組のアクションコードを格納
し、該1組のプレコンディションコードのうちでどのプ
レコンディションコードが特定のウォッチポイントに対
してアクティブであるかを選択し、該1組のアクション
コードのうちでどのアクションコードが特定のウォッチ
ポイントに対してアクティブであるかを選択し、プログ
ラムを実行するために本コンピュータシステムを動作さ
せ、本コンピュータシステムにおけるデバッギングデー
タを特定のウォッチポイントに対するアクティブなプレ
コンディションコードと比較し、本コンピュータシステ
ムにおけるデバッギングデータが該特定のウォッチポイ
ントに対するアクティブなプレコンディションコードを
満足する場合に該特定のウォッチポイントに対するアク
ションレジスタへ信号を送り、本コンピュータシステム
を該特定のウォッチポイントに対するアクティブなアク
ションコードに対して応答させる、上記各ステップを有
している。
【0040】本発明の別の側面によれば、該1組のウォ
ッチポイントは、オペランドアドレス、命令値、命令ア
ドレス、分岐、ブレークポイント命令、印刷命令に対す
るウォッチポイントのタイプを包含している。
【0041】本発明の別の側面によれば、該1組のプレ
コンディションコードは基本イネーブルコード、アドレ
ス空間識別子イネーブルコード、アドレス空間識別子コ
ード、ラッチイネーブルコード、ラッチ識別子コード、
イベントカウンタイネーブルコード、イベントカウンタ
識別子コード、ISAモードイネーブルコード、CPU
スーパーバイザーモード選択コードを包含している。
【0042】本発明の別の側面によれば、該1組のアク
ションコードは例外イネーブルコード、イベントカウン
タデクリメントイネーブルコード、イベントカウンタ識
別子コード、ラッチ変更コード、ラッチ識別子コード、
性能カウンタインクリメントイネーブルコード、リセッ
ト全性能カウンタコード、性能カウンタ識別子コード、
トレースイネーブルコード、トレースメッセージタイプ
コード、イネーブルトレース時間スタンプコード、トリ
ガアウトイネーブルコード、インタラプトイネーブルコ
ードを包含している。
【0043】本発明の別の側面によれば、本方法は、プ
ログラム可能なマッチレジスタを画定し且つ該マッチレ
ジスタ内に少なくとも1個のマッチコードを格納するス
テップを有しており、該マッチコードはウォッチポイン
トのタイプに依存する。
【0044】本発明の別の側面によれば、本方法は、該
少なくとも1個のプレコンディションコードが満足され
た後に、該少なくとも1個のマッチコードを本コンピュ
ータシステムにおける第二データ値と比較するステップ
を有している。
【0045】本発明の別の側面によれば、該第二データ
値が該マッチコードとマッチする場合に該アクションレ
ジスタへ信号が供給される。
【0046】本発明の別の側面によれば、該マッチコー
ドは、アドレス範囲、データ値、データマスク、命令
値、命令マスク、分岐タイプ、該少なくとも1個の中央
処理装置に対して外部的な信号のうちの少なくとも1つ
を包含している。
【0047】本発明の別の側面によれば、本方法は、プ
レコンディションレジスタ、マッチレジスタ、アクショ
ンレジスタをメモリユニットにおける夫々のメモリ位置
に画定するステップを有している。
【0048】本発明の別の側面によれば、少なくとも1
個の中央処理装置と、該少なくとも1個の中央処理装置
へ結合されているメモリユニットと、本コンピュータシ
ステムに内に画定されている1組のウォッチポイントで
あって、各ウォッチポイントがプログラム可能なプレコ
ンディションレジスタとプログラム可能なアクションレ
ジスタとを有している1組のウォッチポイント、1組の
ラッチ、アクションレジスタの出力を選択したラッチの
入力ヘ結合させるために該1組のラッチにおける1つの
ラッチを選択する選択回路とを有している。
【0049】本発明の別の側面によれば、該選択回路が
アクションレジスタの出力へ結合されている入力を具備
しており且つ各々が該1組のラッチにおける各ラッチの
入力へ夫々結合している複数個の出力を具備しているデ
マルチプレクサを有している。
【0050】本発明の別の側面によれば、該選択回路が
該1組のラッチにおける各ラッチの出力へ夫々結合して
いる複数個の入力及びプレコンディションレジスタへ結
合している入力とを具備しているマルチプレクサを有し
ている。
【0051】本発明の別の側面によれば、本コンピュー
タシステムは、更に、該1組のウォッチポイントに対応
する1組のデマルチプレクサを有しており、該1組のデ
マルチプレクサにおける各デマルチプレクサは該1組の
ウォッチポイントにおける夫々のアクションレジスタの
出力へ夫々結合している入力を具備しており、該1組の
デマルチプレクサにおける各デマルチプレクサは該1組
のラッチにおける各ラッチの入力へ夫々結合している複
数個の出力を具備している。
【0052】本発明の別の側面によれば、本コンピュー
タシステムは、更に、該1組のウォッチポイントに対応
している1組のマルチプレクサを有しており、該1組の
マルチプレクサにおける各マルチプレクサは該1組のラ
ッチにおける各ラッチの出力へ夫々結合している複数個
の入力を具備しており、該1組のマルチプレクサにおけ
る各マルチプレクサは該1組のウォッチポイントにおけ
る夫々のプレコンディションレジスタの入力へ結合して
いる出力を具備している。
【0053】本発明の別の側面によれば、本コンピュー
タシステムは、更に、該1組のラッチにおける1個のラ
ッチと夫々関連している制御レジスタを有しており、該
制御レジスタは、本コンピュータシステムに対して外部
的な信号に応答して、該ラッチをセット又はリセットす
る状態を有している。
【0054】本発明の別の側面によれば、本コンピュー
タシステムは単一の集積回路チップ上で実現されてい
る。
【0055】本発明の別の側面によれば、該デマルチプ
レクサは、該アクションレジスタの状態に応答して、該
1組のラッチにおける1個のラッチの入力を選択すべく
該デマルチプレクサを制御する選択出力を有している。
【0056】本発明の別の側面によれば、該マルチプレ
クサは該プレコンディションレジスタの状態に応答し
て、該1組のラッチのうちで1個のラッチの出力を選択
すべく該マルチプレクサを制御する選択入力を有してい
る。
【0057】本発明の別の側面によれば、各マルチプレ
クサは、夫々のプレコンディションレジスタの状態に応
答して、該1組のラッチのうちで1個のラッチの出力を
選択すべく各マルチプレクサを制御する選択入力を有し
ている。
【0058】本発明の別の側面によれば、各デマルチプ
レクサは、夫々のアクションレジスタの状態に応答し
て、該1組のラッチのうちで1個のラッチの入力を選択
すべく該デマルチプレクサを制御する選択出力を有して
いる。
【0059】本発明の別の側面によれば、該プレコンデ
ィションレジスタは1組のプレコンディションコードを
格納しており、該1組のプレコンディションコードは該
1組のウォッチポイントにおける各ウォッチポイントに
対して同一である。
【0060】本発明の別の側面によれば、該アクション
レジスタは1組のアクションコードを格納しており、該
1組のアクションコードは該1組のウォッチポイントに
おける各ウォッチポイントに対して同一である。
【0061】本発明の別の側面によれば、本コンピュー
タシステムは、該1組のプレコンディションコードのう
ちでどのプレコンディションコードが該1組のウォッチ
ポイントにおける特定のウォッチポイントに対してアク
ティブであるかを選択するハードウエア及びソフトウエ
アを包含している。
【0062】本発明の別の側面によれば、本コンピュー
タシステムは、該1組のアクションコードのうちでどの
アクションコードが該1組のウォッチポイントにおける
特定のウォッチポイントに対してアクティブであるか選
択するハードウエア及びソフトウエアを包含している。
【0063】本発明の別の側面によれば、該1組のウォ
ッチポイントは、オペランドアドレス、命令値、命令ア
ドレス、分岐、ブレークポイント命令、印刷命令に対す
るウォッチポイントのタイプを包含している。
【0064】本発明の別の側面によれば、各ウォッチポ
イントは、更に、少なくとも1個のマッチコードを格納
するプログラム可能なマッチレジスタを有しており、該
格納されたマッチコードはウォッチポイントのタイプに
依存する。
【0065】本発明の別の側面によれば、該マッチコー
ドはアドレス範囲、データ値、データマスク、命令値、
命令マスク、分岐タイプの内の少なくとも1つを包含し
ている。
【0066】本発明の別の側面によれば、該1組のプレ
コンディションコードは基本イネーブルコード、アドレ
ス空間識別子イネーブルコード、アドレス空間識別子コ
ード、ラッチイネーブルコード、ラッチ識別子コード、
イベントカウンタイネーブルコード、イベントカウンタ
識別子コード、ISAモードイネーブルコード、CPU
スーパーバイザーモード選択コードを包含している。
【0067】本発明の別の側面によれば、該1組のアク
ションコードは、例外イネーブルコード、イベントカウ
ンタデクリメントイネーブルコード、イベントカウンタ
識別子コード、ラッチ変更コード、ラッチ識別子コー
ド、性能カウンタインクリメントイネーブルコード、リ
セット全性能カウンタコード、性能カウンタ識別子コー
ド、トレースイネーブルコード、トレースメッセージタ
イプコード、イネーブルトレース時間スタンプコード、
トリガアウトイネーブルコード、インタラプトイネーブ
ルコードを包含している。
【0068】本発明の別の側面によれば、少なくとも1
個の中央処理装置と、該少なくとも1個の中央処理装置
へ結合されているメモリユニットと、本コンピュータシ
ステム内に画定されている1組のウォッチポイントと、
該1組のウォッチポイントにおける1つのウォッチポイ
ントを該1組のウォッチポイントにおける少なくとも1
つの別のウォッチポイントとリンクさせる手段とを有し
ており、該リンクさせる手段がプログラマブル即ちプロ
グラム可能であるコンピュータシステムが提供される。
【0069】本発明の別の側面によれば、該リンクさせ
る手段が、各ウォッチポイントと関連しており、該1組
のウォッチポイントにおける各ウォッチポイントに対し
て同一である1組のプレコンディションコードを格納す
るプログラム可能なプレコンディションレジスタ、及び
該1組のウォッチポイントにおける各ウォッチポイント
に対して同一である1組のアクションコードを格納する
プログラム可能なアクションをレジスタを有している。
【0070】本発明の別の側面によれば、該リンクさせ
る手段が、更に、ラッチを有している。
【0071】本発明の別の側面によれば、該ラッチは該
1組のウォッチポイントにおける1つのウォッチポイン
トと関連しているアクションレジスタの1つの出力と該
1組のウォッチポイントにおけるその他のすべてのプレ
コンディションレジスタの全ての入力のうちの1つの入
力との間に結合されている。
【0072】本発明の別の側面によれば、少なくとも1
個の中央処理装置と該少なくとも1個の中央処理装置へ
結合されているメモリユニットとを有しているコンピュ
ータシステムを動作させる方法において、本方法が、1
組のプレコンディションレジスタ及び1組のアクション
レジスタを画定することにより本コンピュータシステム
内に1組のウォッチポイントを画定し、該1組のウォッ
チポイントにおける各ウォッチポイントへ適用されるべ
き1組の同一のプレコンディションコードを画定し、該
1組のウォッチポイントにおける各ウォッチポイントへ
適用されるべき1組の同一のアクションコードを画定
し、該1組のプレコンディションレジスタ内の各プレコ
ンディションレジスタ内に該1組のプレコンディション
コードを格納し、該1組のアクションレジスタ内の各ア
クションレジスタ内に該1組のアクションコードを格納
し、該1組のプレコンディションコードにおけるどのプ
レコンディションコードが特定のウォッチポイントに対
してアクティブであるかを選択し、該1組のアクション
コードのうちでどのアクションコードが特定のウォッチ
ポイントに対してアクティブであるかを選択し、プログ
ラムを実行させるために本コンピュータシステムを動作
させ本コンピュータシステムにおけるデバッギングデー
タを特定のウォッチポイントに対するアクティブなプレ
コンディションコードと比較し、本コンピュータシステ
ムにおける該デバッギングデータがその特定のウォッチ
ポイントに対するアクティブなプレコンディションコー
ドを満足する場合にその特定のウォッチポイントに対す
るアクションレジスタへ信号を送る、上記各ステップを
有しており、該コンピュータシステムはトリガ信号を発
生することによって該アクティブなアクションコードに
応答し且つ該コンピュータシステムは、更に、該トリガ
信号の状態に応答してラッチをセット又はクリアするこ
とによって該トリガ信号に応答する。
【0073】本発明の別の側面によれば、該コンピュー
タシステムは1組のラッチを有しており且つ本方法は、
更に、該トリガ信号に応答する該1組のラッチにおける
1個のラッチを選択するステップを有している。
【0074】本発明の別の側面によれば、本方法は、更
に、該1組のウォッチポイントにおける各プレコンディ
ションレジスタへ該ラッチから出力信号を供給するステ
ップを有している。
【0075】本発明の別の側面によれば、本方法は、更
に、該ラッチからの出力信号に応答するためにプレコン
ディションレジスタを選択するステップを有している。
【0076】本発明の別の側面によれば、該1組のウォ
ッチポイントはオペランドアドレス、命令値、命令アド
レス、分岐、ブレークポイント命令及び印刷命令に対す
るウォッチポイントのタイプを包含している。
【0077】本発明の別の側面によれば、該1組のプレ
コンディションコードは、基本イネーブルコード、アド
レス空間識別子イネーブルコード、アドレス空間識別子
コード、ラッチイネーブルコード、ラッチ識別子コー
ド、イベントカウンタイネーブルコード、イベントカウ
ンタ識別子コード、ISAモードイネーブルコード、C
PUスーバーバイザーモード選択コードを包含してい
る。
【0078】本発明の別の側面によれば、該1組のアク
ションコードは、例外イネーブルコード、イベントカウ
ントデクリメントイネーブルコード、イベントカウンタ
識別子コード、ラッチ変更コード、ラッチ識別子コー
ド、性能カウンタインクリメントイネーブルコード、リ
セット全性能カウンタコード、性能カウンタ識別子コー
ド、トレースイネーブルコード、トレースメッセセージ
タイプコード、イネーブルトレース時間スタンプコー
ド、トリガアウトイネーブルコード、インタラプトイネ
ーブルコードを包含している。
【0079】本発明の別の側面によれば、本方法は、プ
ログラム可能なマッチレジスタを画定し且つ該マッチレ
ジスタ内に少なくとも1個のマッチコードを格納するス
テップを有しており、該マッチコードがウォッチポイン
トのタイプに依存する。
【0080】本発明の別の側面によれば、本方法は、更
に、該少なくとも1個のプレコンディションコードが満
足された後に、該少なくとも1個のマッチコードを該コ
ンピュータシステムにおける第二データ値と比較するス
テップを有している。
【0081】本発明の別の側面によれば、該第二データ
値が該マッチコードとマッチする場合に、該信号が該ア
クションレジスタへ供給される。
【0082】本発明の別の側面によれば、本方法は、更
に、該メモリユニットにおける夫々のメモリ位置におい
て該プレコンディションレジスタ、該マッチレジスタ、
該アクションレジスタを画定するステップを有してい
る。
【0083】本発明の別の側面によれば、少なくとも1
個の中央処理装置、該少なくとも1個の中央処理装置へ
結合されているメモリユニット、該コンピュータシステ
ムにおいて画定されている1組のウォッチポイントであ
って、該1組のウォッチポイントにおける各ウォッチポ
イントが1組のプレコンディションコードを格納するプ
ログラム可能なプレコンディションレジスタを有してお
り、該1組のプレコンディションコードが該1組のウォ
ッチポイントにおける各ウォッチポイントに対して同一
である1組のウォッチポイント、1組のアクションコー
ドを格納するプログラム可能なアクションレジスタであ
って、該1組のアクションレジスタが該1組のウォッチ
ポイントにおける各ウォッチポイントに対して同一であ
るプログラム可能なアクションレジスタ、各ラッチが入
力と出力とを具備している1組のラッチ、少なくとも2
つのウォッチポイントのトリガ動作の間に所定の関係が
存在するように該1組のラッチのうちの少なくとも1個
のラッチを該1組のウォッチポイントにおける少なくと
も2個のウォッチポイントへ結合させる回路、を有して
いるコンピュータシステムが提供される。
【0084】本発明の別の側面によれば、該所定の関係
が該1組のプレコンディションコードのうちのどのプレ
コンディションコードがアクティブであるかにより且つ
該1組のアクションコードにおけるどのアクションコー
ドがアクティブであるかによって画定される。
【0085】本発明の別の側面によれば、該所定の関係
はAND関数である。
【0086】本発明の別の側面によれば、該所定の関係
はOR関数である。
【0087】本発明の別の側面によれば、該少なくとも
2個のウォッチポイントのうちの第一のものは、該第一
ウォッチポイントがトリガされる場合であり且つ該少な
くとも2個のウォッチポイントのうちの第二のものもト
リガされる場合にトリガされる。
【0088】本発明の別の側面によれば、第一ウォッチ
ポイントのアクションレジスタが該ラッチのセット入力
へ結合しており且つ第二ウォッチポイントのアクション
レジスタが該ラッチのリセット入力へ結合しており、且
つ該ラッチの出力ヘ結合しているプレコンディションレ
ジスタを具備している第三ウォッチポイントが設けられ
ており、従って該第一ウォッチポイントのトリガ動作が
該ラッチをセットして該第三ウォッチポイントをイネー
ブル即ち動作可能状態とさせ且つ該第二ウォッチポイン
トのトリガ動作が該ラッチをリセットして該第三ウォッ
チポイントをディスエーブル即ち動作不可能状態とさせ
る。
【0089】本発明の別の側面によれば、第一ウォッチ
ポイントのアクションレジスタが該ラッチのセット入力
へ結合しており且つ第二ウォッチポイントのアクション
レジスタが該ラッチのリセット入力へ結合しており且つ
該第二ウォッチポイントのプレコンディションレジスタ
が該ラッチの出力へ結合しており、従って該第一ウォッ
チポイントのトリガ動作が該ラッチをセットして該第二
ウォッチポイントをイネーブルさせ且つ該第二ウォッチ
ポイントのトリガ動作が該ラッチをリセットして該第二
ウォッチポイントをディスエーブルさせる。
【0090】本発明の別の側面によれば、該1組のウォ
ッチポイントにおける第一数のウォッチポイントに対す
る夫々のアクションレジスタが該ラッチのセット入力へ
結合しており、且つ該1組のウォッチポイントにおける
第二数のウォッチポイントの夫々のアクションレジスタ
が該ラッチのリセット入力へ結合されており、且つ該ラ
ッチの出力へ結合しているプレコンディションレジスタ
を具備している別のウォッチポイントが設けられてお
り、従って該第一数のウォッチポイントのうちのいずれ
かのトリガ動作が該ラッチをセットして該別のウォッチ
ポイントをイネーブルさせ且つ該第二数のウォッチポイ
ントのうちのいずれかのトリガ動作が該ラッチをリセッ
トして該第三ウォッチポイントをディスエーブルさせ
る。
【0091】本発明の別の側面によれば、少なくとも1
個の中央処理装置と、該少なくとも1個の中央処理装置
へへ結合されているメモリユニットとを有しているコン
ピュータシステムにおいてデバッギングデータをフィル
タする方法が提供され、該方法は、各ウォッチポイント
に対して1組のプレコンディションレジスタ及び1組の
アクションレジスタを画定することにより該コンピュー
タシステム内に1組の少なくとも3個のウォッチポイン
トを画定し、該1組のウォッチポイントにおける各ウォ
ッチポイントへ適用されるべき1組の同一のプレコンデ
ィションコードを画定し、該1組の各ウォッチポイント
における各ウォッチポイントへ適用すべき1組の同一の
アクションコードを画定し、該1組のプレコンディショ
ンレジスタ内の各プレコンディションレジスタ内に該1
組のプレコンディションコードを格納し、該1組のアク
ションレジスタ内の各アクションレジスタ内に該1組の
アクションレジスタを格納し、該1組のプレコンディシ
ョンコードのうちでどのプレコンディションコードが該
少なくとも3個のウォッチポイントの各々に対してアク
ティブであるかを選択し、該1組のアクションコードの
中でどのアクションコードが該少なくとも3個のウォッ
チポイントの各々に対してアクティブであるかを選択し
従って該第一及び第二ウォッチポイントが該第三ウォッ
チポイントのプレコンディションレジスタ内のプレコン
ディションコードを活性化させ、プログラムを実行する
ために該コンピュータシステムを動作させ、該コンピュ
ータシステムにおけるデバッギングデータを該少なくと
も3個のウォッチポイントの各々に対するアクティブな
プレコンディションコードと比較し、該コンピュータシ
ステムにおけるデバッギングデータが該第一又は第二ウ
ォッチポイントに対するアクティブなプレコンディショ
ンコードを満足する場合に該第一及び第二ウォッチポイ
ントのうちの1つをトリガし且つ該第一及び第二ウォッ
チポイントのうちの1つのトリガ動作に応答して該第三
ウォッチポイントをトリガする、上記各ステップを有し
ている。
【0092】本発明の別の側面によれば、該1組のウォ
ッチポイントは、オペランドアドレス、命令値、命令ア
ドレス、分岐、ブレークポイント命令、印刷命令に対す
るウォッチポイントのタイプを包含している。
【0093】本発明の別の側面によれば、該1組のプレ
コンディションコードは、基本イネーブルコード、アド
レス空間識別子イネーブルコード、アドレス空間識別子
コード、ラッチイネーブルコード、ラッチ識別子コー
ド、イベントカウンタイネーブルコード、イベントカウ
ンタ識別子コード、ISAモードイネーブルコード、C
PUスーバーバイザーモード選択コードを包含してい
る。
【0094】本発明の別の側面によれば、該1組のアク
ションコードは例外イネーブルコード、イベントカウン
タデクリメントイネーブルコード、イベントカウンタ識
別子コード、ラッチ変更コード、ラッチ識別子コード、
性能カウンタインクリメントイネーブルコード、リセッ
ト全性能カウンタコード、性能カウンタ識別子コード、
トレースイネーブルコード、トラースメッセセージタイ
プコード、イネーブルトレース時間スタンプコード、ト
リガアウトイネーブルコード、インタラプトイネーブル
コードを包含している。
【0095】本発明の別の側面によれば、本方法は、プ
ログラム可能なマッチレジスタを画定し且つ該マッチレ
ジスタ内に少なくとも1個のマッチコードを格納するス
テップを有しており、該マッチコードはウォッチポイン
トのタイプに依存する。
【0096】本発明の別の側面によれば、本方法は、更
に、少なくとも1つのプレコンディションコードが満足
された後に、該少なくとも1個のマッチコードを本コン
ピュータシステムにおける第二データ値と比較するステ
ップを有している。
【0097】本発明の別の側面によれば、該第二データ
値が該マッチコードと一致する場合に該信号が該アクシ
ョンレジスタへ供給される。
【0098】本発明の別の側面によれば、本方法は、更
に、該メモリユニットにおける夫々のメモリ位置におい
て該プレコンディションレジスタ、該マッチレジスタ、
該アクションレジスタを画定(定義)するステップを有
している。
【0099】
【発明の実施の形態】以下の説明においては、本発明を
単一チップマイクロコンピュータにおいて使用した場合
について説明するが、本発明は、複数個のチップから構
成したコンピュータシステムにおいて使用することも可
能であることは勿論である。
【0100】図3は本発明に基づく単一チップマイクロ
コンピュータ50を示している。マイクロコンピュータ
50は、図1又は2のマイクロコンピュータデバッギン
グシステムのいずれかにおいて使用することが可能であ
る。マイクロコンピュータ50は、コンピュータ内にお
ける演算即ち動作を実行するための中央処理装置コア5
1を有している。中央処理装置(CPU)52及びCP
Uウォッチポイント(watchpoint)制御器5
4がCPUコア51の一部として設けられている。単一
の中央処理装置コア51が図3に示されているが、マイ
クロコンピュータ50は複数個の中央処理装置52を有
することが可能である。後により詳細に説明するよう
に、CPUウォッチポイント制御器54は、CPUウォ
ッチポイントをトリガし且つこの情報をマイクロコンピ
ュータ50のその他の部分へ報告するためのウォッチポ
イント制御回路を有している。CPUコア51はデータ
リンク58を介してシステムバス56へ結合している。
システムバス56は、システムバスに取付けられている
モジュール及びインターフェースの間でデータ、命令、
制御信号の交換を行うための経路を提供している。オフ
チップランダムアクセスメモリに対するインターフェー
スを与えるRAMインターフェース60が、データリン
ク62を介してシステムバス56へ結合している。オフ
チップリードオンリメモリに対するアクセスを与えるR
OMインターフェース64がデータリンク66を介して
システムバス56へ結合している。その他のシステムバ
スモジュール68はデータリンク70を介してシステム
バス66へ結合している。
【0101】デバッグインターフェースを包含している
デバッグモジュール72がデータリンク74を介してシ
ステムバス56へ結合している。デバッグモジュール7
2はデータリンク76を介してCPUコア51からデバ
ッギング即ちデバッグ用データを受取る。デバッグモジ
ュール72はデバッグリンク72を介してオフチップイ
ンターフェースを与え、それは、マイクロコンピュータ
50が、例えば、デバッグアダプタ30とインターフェ
ースすることを可能とする。デバッグモジュール72は
更にトリガイン/トリガアウトインターフェース78を
提供している。トリガイン/トリガアウトインターフェ
ース78は、その他のデバッギング動作においてロジッ
クアナライザ(論理解析器)をトリガさせるために、ロ
ジックアナライザ等の外部ハードウエアへトリガアウト
(trigger out)信号経路を介してオフチッ
プへ例えばウォッチポイントのトリガ動作等のデバッグ
情報をデバッグモジュール72が送ることを可能とす
る。トリガイン/トリガアウトインターフェース78
は、更に、トリガイン(trigger in)信号経
路を提供しており、それは、例えばロジックアナライザ
等の外部装置がオンチップのデバッグ用ハードウエアを
トリガする場合に使用するためにマイクロコンピュータ
50へトリガ信号を供給させることを可能とする。トリ
ガイン/トリガアウトインターフェース78は、又、マ
イクロコンピュータ50をその他のCPUコア又はその
他のマイクロコンピュータへ結合するために使用するこ
とが可能である。このことは、その他のCPUコア又は
マイクロコンピュータからのデバッグ用データをそのデ
バッグ処理の一部としてマイクロコンピュータ50によ
って使用することを可能とする。このことは、又、マイ
クロコンピュータ50がデバッグ用データを他のCPU
コア又はマイクロコンピュータへ送り、これらの他の装
置におけるウォッチポイント又はその他のデバッグ動作
をトリガさせることを可能とする。
【0102】マイクロコンピュータ50は、更に、デー
タリンク82を介してシステムバス56へ結合されてい
るシステムバス制御器80を有している。システムバス
制御器80は、システムバス56を介してのデータトラ
フィック即ちデータの流れを制御するシステムバスアー
ビター(調停器)81を包含している。システムバスア
ナライザ(解析器)84はシステムバス制御器80内に
配設されているシステムバスウォッチポイントをトリガ
するためのウォッチポイント制御回路を包含している。
システムバスアナライザ84内のウォッチポイント回路
の動作については後により詳細に説明する。システムバ
スアナライザ84は、データリンク86を介して、シス
テムバスウォッチポイントのトリガ動作等のデバッグ用
情報をデバッグモジュール72へ送る。
【0103】マイクロコンピュータ50は、更に、ペリ
フェラルコンポーネントバス88を有している。ペリフ
ェラルコンポーネントバス制御器90は、ペリフェラル
コンポーネントバス88を介してのデータの流れを制御
するペリフェラルコンポーネントバスアービター91を
有しており、それはデータリンク92を介してペリフェ
ラルコンポーネントバス88へ結合されており且つデー
タリンク94を介してシステムバス56に対するインタ
ーフェースを提供する。ペリフェラルコンポーネントバ
ス制御器90は、ペリフェラルコンポーネントバスウォ
ッチポイントをトリガさせる制御回路を包含しているペ
リフェラルコンポーネントバスアナライザ96を有して
いる。ペリフェラルコンポーネントバスアナライザ96
は、データリンク98を介して、例えばウォッチポイン
トのトリガ動作等のデバッグ用データをデバッグモジュ
ール72へ供給する。
【0104】ペリフェラルコンポーネントバスモジュー
ル100はデータリンク102を介してペリフェラルコ
ンポーネントバス88へ結合させることが可能である。
ペリフェラルコンポーネントバス88へデータリンク1
06を介して結合されているペリフェラルコンポーネン
トバスインターフェース104は、ペリフェラルコンポ
ーネントバス88に対してオフチップコンポーネントに
対するインターフェースを提供している。
【0105】本発明の1つの特徴は、マイクロコンピュ
ータ50において1組の「ウォッチポイント(watc
hpoint)」を設けることである。ウォッチポイン
トは、マイクロコンピュータ50の実行状態をモニタし
且つマイクロコンピュータ50内の多数の条件が満足さ
れた場合に信号を供給するメカニズムである。1つのウ
ォッチポイントを活性化させるのに必要な条件が満足さ
れると、そのウォッチポイントは「トリガ」されたとい
う。マイクロコンピュータ50の回路自身における欠陥
を識別するためにも、マイクロコンピュータ50上でデ
バッグ用プログラムが実行される場合にもウォッチポイ
ントが使用される。ウォッチポイントは、例外を発生さ
せるため、トレースメッセージを発生させるため、且つ
一般的にデバッグ用データをユーザへ供給するために使
用することが可能である。多数のウォッチポイントがマ
イクロコンピュータ50内に設けることが可能である。
図3に関連して理解されるように、ウォッチポイントは
CPU、システムバス、ペリフェラルコンポーネントバ
ス、デバッグモジュールに対して設けることが可能であ
る。当業者が理解するように、これら4つのタイプのウ
ォッチポイントについて特に言及しているが、マイクロ
コンピュータ50のその他の部分においてはその他のウ
ォッチポイントを設けることが可能である。
【0106】図4は本発明に基づくウォッチポイントの
仕様を例示している。本発明に基づくウォッチポイント
は2つのメモリマップ型レジスタ110及び112によ
って画定即ち定義される。レジスタ110は1組のプレ
コンディション(precondition)即ち事前
条件コードを格納するプレコンディションレジスタであ
る。プレコンディションコードは、ウォッチポイントが
イネーブル即ち動作可能状態とされる前、即ちそのウォ
ッチポイントをトリガさせることが可能である前に、満
足されねばならないマイクロコンピュータ50の特定の
状態を画定(定義)する。本発明の1つの特徴は、マイ
クロコンピュータ50に対する1組のウォッチポイント
における全てのプレコンディションレジスタが同一の組
のプレコンディションを共用するという点である。即
ち、全てのウォッチポイントに対する該1組のプレコン
ディション即ち事前条件は、そのウォッチポイントがC
PUウォッチポイントであるか、デバッグモジュールウ
ォッチポイントであるか、システムバスアナライザウォ
ッチポイントであるか、又はその他のタイプのウォッチ
ポイントであるかに拘わらずに同一である。
【0107】アクション(action)レジスタ11
2は、プレコンディションレジスタ110におけるアク
ティブなプレコンディションコードの全てが満足された
結果としてそのウォッチポイントがトリガされた場合に
マイクロコンピュータ50が取ることが可能な1組のア
クション(活動)を画定(定義)する。プレコンディシ
ョンの場合におけるように、アクションレジスタ112
によって特定される1組のアクションは、マイクロコン
ピュータ50内に定義されている全てのウォッチポイン
トに対して同一である。ウォッチポイントは、例えば、
オペランドアドレス、命令値、命令アドレス、分岐、ブ
レークポイント命令、印刷命令に対して設けることが可
能である。
【0108】前に説明したように、プレコンディション
レジスタ110及びアクションレジスタ112はメモリ
マップ型レジスタであり且つプログラマブル即ちプログ
ラム可能である。プレコンディションレジスタ110及
びアクションレジスタ112は、マイクロコンピュータ
50のデバッギングモードが動作している場合にプログ
ラムすることが可能である。プレコンディションレジス
タ110及びアクションレジスタ112はマイクロコン
ピュータ50のメインメモリ内にメモリマップされるの
で、これらのレジスタは、例えば図1及び2に示したデ
バッガーシステム28等のマイクロコンピュータ50に
対して外部的な装置によって読取り且つプログラムする
ことが可能である。当業者によって理解されるように、
各ウォッチポイントに対して一様の即ち同一の組のプレ
コンディションが設けられているが、マイクロコンピュ
ータ50内の全てのウォッチポイントに対して全てのプ
レコンディション即ち事前条件が満足されることが必要
なわけではない。プレコンディションレジスタ及びアク
ションレジスタはプログラム可能なものであるから、特
定のウォッチポイントのトリガ動作はプレコンディショ
ンレジスタ110内のどのプレコンディションがその特
定のウォッチポイントに対してアクティブ即ち活性状態
にあるかに依存する。特定のウォッチポイントに対して
どのプレコンディションがアクティブであるかの選択
は、マイクロコンピュータ50がデバッギングモードに
あり且つプレコンディションレジスタ110の特定のフ
ィールドがイネーブル即ち動作可能状態とされる場合に
決定される。
【0109】同一の態様で、一様な即ち同一な組のアク
ションが各ウォッチポイントに対して与えられている
が、ウォッチポイントのトリガ動作に応答してマイクロ
コンピュータ50によって取られるアクションは、その
特定のウォッチポイントに対してアクションレジスタ1
12内のどのアクションがアクティブであるかに依存す
る。ウォッチポイントのトリガ動作によって該1組のア
クションにおける全てのアクションが取られることが必
要なわけではない。特定のウォッチポイントに対してど
のアクションがアクティブであるかの選択は、マイクロ
コンピュータ50がデバッギングモードにあり且つレジ
スタ112の特定のフィールドがイネーブルされている
場合に決定される。
【0110】プレコンディションレジスタ及びアクショ
ンレジスタは、マイクロコンピュータ50内において画
定されている各ウォッチポイントに対して設けられてい
る。マイクロコンピュータ50内に画定されている1組
のウォッチポイントにおける各ウォッチポイントに対す
る1組のプレコンディション及びアクションは同一のも
のであるから、本発明に基づくウォッチポイントの画定
(定義)はマイクロコンピュータ50における全てのウ
ォッチポイントを一様な態様でプログラムすることを可
能とする。従って、特定のタイプのウォッチポイントに
対して特別のステップを取ることは必要ではなく、その
ことはマイクロコンピュータ50のプログラミング及び
デバッギングを簡単化させる。更に、プレコンディショ
ンレジスタ及びアクションレジスタはプログラム可能な
ものであるから、いつウォッチポイントがイネーブルさ
れるか及びウォッチポイントのトリガに基づいてどのア
クションをマイクロコンピュータ50が取るかについて
の決定を行う場合に柔軟性が著しく向上されている。
【0111】オプションとして、メモリマップ型マッチ
レジスタ114はウォッチポイントの一部として設ける
ことも可能である。マッチレジスタ114は、ウォッチ
ポイントをトリガすることが可能となる前にマッチされ
ねばならない特定のデータ値を有している。マッチレジ
スタ114内に格納されているマッチ条件は特定のタイ
プのウォッチポイントに対して特定的なものである。例
えば、命令アドレスウォッチポイントは、マッチレジス
タ114において特定されるアドレスレンジ(範囲)を
有することが可能である。オペランドアドレスウォッチ
ポイントは、マッチレジスタ114において特定される
アドレスレンジ及びデータ値/マスクを有することが可
能である。命令値ウォッチポイントはマッチレジスタ1
14において特定される命令マスク及び命令値を有する
ことが可能である。分岐ウォッチポイントはマッチレジ
スタ114において特定される分岐タイプを有すること
が可能である。従って、マッチレジスタ114はウォッ
チポイントがトリガされる前にマッチングされることを
必要とする付加的な条件を与えることが可能であるが、
これらの条件は特定のタイプのウォッチポイントに対し
て特定的なものである。
【0112】図5A−5Cは1つのウォッチポイントに
対して多数のプレコンディション(事前条件)を定義す
るプレコンディションレジスタ110の1実施例を示し
ている。前述した如く、プレコンディションレジスタ1
10の画定即ち定義は、1組のウォッチポイントにおけ
る各ウォッチポイントに対して同一である。本発明の1
実施例においては、図5A−5Cに示したプレコンディ
ションレジスタ110は64ビットメモリマップ型レジ
スタであるが、当業者にとって明らかなように、プレコ
ンディションレジスタ110は任意の数のビットのもの
とすることが可能である。
【0113】プレコンディションレジスタ110の第一
フィールド116は1ビット基本イネーブルフィールド
であり、それはウォッチポイントをイネーブル即ち動作
可能状態又はディスエーブル即ち動作不能状態とさせ
る。第二フィールド118は1ビットアドレス空間識別
子イネーブルフィールドであって、それはウォッチポイ
ントのトリガ動作において現在のASID値を包含させ
ることをイネーブル又はディスエーブルする。第三フィ
ールド120は1ビットチェーンラッチイネーブルフィ
ールドであり、それはウォッチポイントのトリガ動作に
おいて、特定のチェーンラッチを包含させるか否かを特
定する。チェーンラッチについては後により詳細に説明
する。第四フィールド122は4ビットチェーンラッチ
識別フィールドであり、それは該1組のチェーンラッチ
のうちでどのチェーンラッチがウォッチポイントをトリ
ガ動作する場合に使用されるかを定義するために使用さ
れる。第五フィールド124は1ビットイベントカウン
トイネーブルフィールドであって、それは、特定したイ
ベントカウンタがそのウォッチポイントのトリガ動作の
一部であるか否かを決定する。第六フィールド126は
4ビットイベントカウンタ識別フィールドであって、そ
れはマイクロコンピュータ50におけるどのイベントカ
ウンタがそのウォッチポイントのトリガ動作において使
用されるかを画定する。第七フィールド128は8ビッ
トASID値フィールドであり、それはそのウォッチポ
イントのトリガ動作において使用されるASID値を画
定する。第八フィールド130は2ビットCPU・IS
Aモード選択フィールドであって、それはそのウォッチ
ポイントのトリガ動作を決定する場合にどのCPUモー
ドが使用されるかを特定する。第九フィールド132は
2ビットスーパーバイザーモード選択フィールドであっ
てそれはそのウォッチポイントのトリガ動作においてC
PUユーザーモードか又はスーパーバイザーモードが包
含されるべきであるかを特定する。プレコンディション
レジスタ110の残りのビットはリザーブ即ち予約済で
ある。プレコンディションレジスタ112におけるフィ
ールドに関するより詳細な情報は図5A−5Cにおける
各フィールドの説明欄において記載されている。
【0114】当業者によって理解されるように、図5A
−5Cはプレコンディションレジスタ110の画定にお
ける1つの例を示すものであるが、デバッグされる特定
のマイクロコンピュータ及びデバッギング手順に対して
重要であると考えられる特定の条件に依存してその他の
条件を特定することが可能である。更に、当業者によっ
て理解されるように、図5A−5Cにおいて特定した条
件の全てが与えられることが必要なものではない。例え
ば、図5A−5Cに示したものと異なるプレコンディシ
ョン又はより少ない数のプレコンディションを有する特
定のマイクロコンピュータに対して1組のプレコンディ
ションを画定即ち定義することが可能である。その組の
プレコンディションがマイクロコンピュータにおいて画
定されている全てのウォッチポイントに対して一様なも
のである限り、任意の組のプレコンディションを画定す
ることが可能である。
【0115】次に、図6A−6Gを参照すると、これら
の図は、1つのウォッチポイントがトリガされる場合に
マイクロコンピュータ50によって取ることが可能な多
数のアクションを画定するアクションレジスタ112の
1実施例を示している。1実施例においては、図6A−
6Gに示したアクションレジスタ112は64ビットメ
モリマップ型レジスタであるが、当業者にとって明らか
なように、アクションレジスタ112は任意の数のビッ
トとすることが可能である。
【0116】最初の1ビットフィールド134は、マイ
クロコンピュータ50がデバッグ例外を持ち出すことに
より応答する例外イネーブルフィールドを特定する。2
番目の1ビットフィールド136はイベントカウントデ
クリメントイネーブルフィールドであり、それはイベン
トカウンタのデクリメント動作をイネーブル又はディス
エーブルさせることによって応答する。3番目の4ビッ
トフィールド138はイベントカウンタ識別フィールド
であり、それはそのウォッチポイントがトリガされる場
合にマイクロコンピュータ50が作用するイベントカウ
ンタを画定する。4番目の2ビットフィールド40はイ
ネーブルチェーンラッチ変更フィールドであり、それは
ウォッチポイントがトリガされる場合にマイクロコンピ
ュータ50によってチェーンラッチが修正されるか否か
及びどのように修正されるかを特定する。チェーンラッ
チはフィールド140に応答してセット、リセット、又
は全く不変のままとさせることが可能である。5番目の
4ビットフィールド142はチェーンラッチ識別フィー
ルドであって、それはウォッチポイントがトリガされる
場合にマイクロコンピュータ50によって変更されるべ
きチェーンラッチを特定する。6番目の2ビットフィー
ルド144はトレースイネーブルフィールドであって、
それは、マイクロコンピュータ50がウォッチポイント
のトリガ動作と共にトレースメッセージの発生をイネー
ブル又はディスエーブルさせることによって応答する。
7番目の1ビットフィールド146はトレースメッセー
ジタイプフィールドであって、それはウォッチポイント
がトリガされる場合にマイクロコンピュータ50によっ
て発生されるトレースメッセージのタイプを特定する。
8番目の1ビットフィールド148はイネーブルトレー
ス時間スタンプフィールドであって、それはトレースメ
ッセージ内に時間スタンプが包含されるか否かを特定す
る。9番目の1ビットフィールド150はトリガアウト
イネーブルフィールドであって、それに対して、ウォッ
チポイントがトリガされる場合にトリガアウトメッセー
ジの発生をイネーブル又はディスエーブルさせることに
よってマイクロコンピュータ50が応答する。このフィ
ールドは、トリガイン/トリガアウトインターフェース
78のトリガアウト信号経路を介してトリガアウトメッ
セージを発生するために使用される。10番目の1ビッ
トフィールド152はオペランドアドレスマッチイネー
ブルフィールドであって、それはデバッグモジュール7
2におけるチェーンラッチ及びトレース発生アクション
が成功したオペランドアドレスデータマッチに依存する
か否かを決定する。11番目の1ビットフィールド15
4は性能カウンタインクリメントイネーブルフィールド
であって、マイクロコンピュータ50は、そのウォッチ
ポイントがトリガされる場合に、性能カウンタのインク
リメント動作をイネーブル又はディスエーブルさせるこ
とによって応答する。12番目の1ビットフィールド1
56はリセット全性能カウンタフィールドであって、マ
イクロコンピュータ50は、そのウォッチポイントがト
リガされる場合に、全ての性能カウンタをリセットさせ
ることによって応答する。13番目の4ビットフィール
ド158は性能カウンタ識別フィールドであって、それ
はそのウォッチポイントがトリガされる場合にインクリ
メントされる性能カウンタを特定する。14番目のフィ
ールド160はシステムバス物理的モジュール番号であ
って、それはウォッチポイントがトリガされる場合にバ
スマスターをフリーズ即ち凍結させる目的のためにシス
テムバスマスターモジュールのIDを特定する。15番
目の1ビットフィールド162はフリーズイネーブルフ
ィールドであって、それは、ウォッチポイントがトリガ
される場合に、フィールド160によって特定されたシ
ステムバスマスターが更なるシステムバストランズアク
ションを発生することが禁止されるか否かを特定する。
アクションレジスタ112における残りのビットはリザ
ーブ即ち予約済であり且つその他のアクションに対して
割り当てることが可能である。アクションレジスタ11
2におけるフィールドに関するより詳細な情報は図6A
−6Gにおける各フィールドの説明欄に記載してある。
【0117】プレコンディションレジスタ110におい
て定義したプレコンディションの場合におけるように、
アクションレジスタ112において画定されている1組
のアクションは該1組のウォッチポイントにおける全て
のウォッチポイントに対して同一である。当業者によっ
て理解されるように、デバッグされるマイクロプロセッ
サの特定の条件に依存してその他のアクションを与える
ことが可能である。当業者によって理解されるように、
図6A−6Gにおいて定義してあるアクションの全てが
与えられることが必要なものではない。例えば、図6A
−6Gに示したものと異なるアクション又はそれより少
ない数のアクションを有する特定のマイクロコンピュー
タに対して1組のアクションを画定即ち定義することが
可能である。
【0118】図7はウォッチポイントをトリガリング即
ちトリガ動作させる本発明に基づく方法を示している。
図7に示したステップを実行する前に、マイクロコンピ
ュータ50は標準の技術を使用してメモリマップ型レジ
スタ110及び112に対して書込を行うことによって
プレコンディションコードのうちのあるもの及びアクシ
ョンコードのうちのあるものを活性化させる指示が与え
られる。本方法は、ステップ170において開始し、そ
の場合に、マイクロコンピュータ50はプレコンディシ
ョンレジスタ110において特定されている全てのアク
ティブな即ち活性状態にあるプレコンディションが満足
されているか否かを決定する。アクティブなプレコンデ
ィションとは特定のウォッチポイントに対してイネーブ
ルされているプレコンディションレジスタ110におい
て特定されているプレコンディションである。マイクロ
コンピュータ50は、レジスタ110におけるアクティ
ブなビットをマイクロコンピュータ内のデータ値と比較
することによってこの決定を行う。例えば、プレコンデ
ィションレジスタ110のフィールド128が特定のウ
ォッチポイントに対してアクティブである場合には、マ
イクロコンピュータ50はフィールド120における8
ビットASID値を、プログラムが実行されるに従い、
マイクロコンピュータのASID値と比較する。フィー
ルド128内の値が現在のASID値とマッチ即ち一致
する場合には、そのプレコンディション即ち事前条件が
満足されていることになる。全てのアクティブなプレコ
ンディションが満足されていない場合には、そのウォッ
チポイントはディスエーブル状態のままであり且つトリ
ガさせることは不可能である。
【0119】一方、全てのアクティブなプレコンディシ
ョンが満足されていない場合に、マイクロコンピュータ
50がステップ172へ移行し、そこで、マッチレジス
タがそのウォッチポイントに対して画定されているか否
か及びマッチレジスタ114において特定されている全
てのマッチ条件がマッチされているか否かを決定する。
マイクロコンピュータ50は、マッチレジスタ114内
のビットをマイクロコンピュータ内のデータ値と比較す
ることによってこの決定を行う。例えば、そのウォッチ
ポイントがオペランドアドレスウォッチポイントである
場合には、マッチレジスタ114はアドレスレンジ(範
囲)を包含しており且つマイクロコンピュータ50はマ
ッチレジスタ114内のアドレスレンジをそのアドレス
の現在の値と比較する。マッチレジスタ114において
特定されたアドレスが現在のアドレスとマッチする場合
には、マッチ条件が満足されている。マッチレジスタ1
14において特定されている全てのマッチ条件がマッチ
されていない場合には、マイクロコンピュータ50はそ
のマッチ条件の実行及びモニタ動作を継続して行う。一
方、マッチレジスタ114において特定されている全て
のマッチ条件が満足された場合には、そのウォッチポイ
ントがトリガされ且つマイクロコンピュータ50はステ
ップ174へ移行し、そこでマイクロコンピュータ50
はアクションレジスタ112のフィールド内のビットを
読取る。次いで、マイクロコンピュータ50はアクショ
ンレジスタ112において格納されているアクティブな
アクションコードによって特定されるアクションを取
る。
【0120】本発明の1つの特徴は、デバッギング即ち
デバッグ動作を非侵略的に行うことが可能であるという
ことであり、そのことは、デバッグ用情報を発生するた
めに行われるアクションがマイクロコンピュータ50の
動作に乱れを与えることがないことを意味している。プ
レコンディションレジスタ110及びアクションレジス
タ112及びオプションのマッチレジスタ114はメモ
リマップ型であるので、マイクロコンピュータ50が通
常のプログラム実行モードで動作している間に、これら
のレジスタの内容を読取ることが可能であり且つこれら
のレジスタ内のビットを変化させることが可能である。
ウォッチポイントトリガ動作及びデバッグ動作を非侵略
的なものとさせるために、専用の比較及びトリガ回路が
CPUウォッチポイント制御器54、デバッグモジュー
ル72、システムバスアナライザ84内に設けられてい
る。図8はこの専用回路を示している。マイクロコンピ
ュータ50において画定されている各ウォッチポイント
に対して、組み合わせ論理を使用して構成されている比
較器・トリガ処理論理回路180が設けられている。従
って、2個の比較器及びトリガ処理論理回路がCPUウ
ォッチポイント制御器54内に設けられており、2個の
比較器及びトリガ処理論理回路がデバッグモジュール7
2内に設けられており、且つ2個の比較器及びトリガ処
理論理回路がシステムバスアナライザ84内に設けられ
ている。
【0121】比較器論理182は、モニタ中のビットを
プレコンディションレジスタ110のアクティブなフィ
ールド内のビットと夫々AND処理することによって、
モニタ中のプロセッサデータ値をプレコンディションレ
ジスタ110のアクティブなフィールド内のビットとの
ビット毎の比較を実施する少なくとも1個の比較器を有
している。プレコンディションレジスタ110のアクテ
ィブなビットがプロセッサデータ値181とマッチする
場合には、比較器論理182は線184上にイネーブル
信号を発生し、それは比較器論理186をイネーブルさ
せる。次いで、比較器186は、モニタ中のビットをマ
ッチビット内のビットと夫々AND処理することによっ
てマッチレジスタ114のアクティブなビットとマッチ
レジスタによって特定されたプロセッサデータ値との間
のビット毎の比較動作を実施する。プロセッサデータ値
188がマッチレジスタ114において特定されている
値とマッチする場合には、ウォッチポイントがトリガさ
れ且つ比較論理186は接続192を介してトリガリン
グ(トリガ処理)論理190へ信号を送る。トリガ処理
論理190は、トリガ処理信号192とアクションレジ
スタ112のアクティブなビットとの間で夫々AND処
理することによってトリガ処理信号192とアクション
レジスタ112のアクティブなビットとの間で組合わせ
論理を使用したビット毎の比較を行う。全ての信号がア
クティブである場合には、トリガ処理論理190は夫々
の信号をアクションレジスタ112において特定された
ラッチ、装置、カウンタ、例外ハンドラ等へ送る。ウォ
ッチポイントが画定されている各コンポーネントにおい
て比較器及びトリガ処理論理18を見つけ出すことはマ
イクロコンピュータ50において精密な例外モデルを維
持することを可能とする。何故ならば、アクティブなプ
レコンディションの満足とウォッチポイントのトリガ動
作との間の時間が短く維持され、従ってウォッチポイン
トのより精密なトリガ動作を維持するからである。比較
器及びトリガ処理論理はモニタ中のマイクロコンピュー
タ50の一部に位置されているので、ウォッチポイント
はソフトウエアの介入なしで且つマイクロコンピュータ
50の動作に侵略的な影響を与えることなしにトリガさ
せることが可能である。
【0122】前述した如く、本発明の特徴のうちの1つ
は、マイクロコンピュータ50における「チェーンラッ
チ」と呼ぶことが可能な1組のラッチを包含している点
である。このようなラッチの1例を図9に示してある。
ラッチ200は任意のタイプのラッチとすることが可能
である。ラッチ200はセット入力202、リセット入
力204、クロック入力205、出力206を有してい
る。ラッチ200のセット入力及びリセット入力はトリ
ガ処理論理190へ結合しており、且つウォッチポイン
トがトリガされると、ラッチ200は図6Bに示したア
クションレジスタ112におけるビット6及び7の状態
に依存してセットされるか又はリセットされる。クロッ
ク入力205はシステムクロックと同期されているクロ
ック信号を受取る。
【0123】前述した如く、1組のラッチをマイクロコ
ンピュータ50に設けることが可能である。ウォッチポ
イントと同数のラッチを設けることが可能であり、又ウ
ォッチポイントより多くの数又は少ない数のラッチを設
けることも可能である。図5A−5C及び6A−6Gに
おいて、4個のビットが1個のチェーンラッチを識別す
るために使用されており、従って16個のチェーンラッ
チを使用することが可能である。この1組のラッチはデ
バッグ処理の目的のために複数個のウォッチポイントを
一体的にチェーン化させることを可能とする。例えば、
あるウォッチポイントがトリガされると、トリガ処理論
理190がアクションレジスタ112のビット8乃至1
1を読取り且つクロック入力205の制御下においてラ
ッチ200をセット又はリセットするためにセット入力
202又はリセット入力204へ信号を送る。その結
果、ウォッチポイントのトリガ処理はラッチ200にお
ける状態ビットとして格納される。ラッチ200の出力
206は別のウォッチポイントのプレコンディションレ
ジスタ110のビット3乃至6へ経路付けさせることが
可能である。従って、最初のウォッチポイントがトリガ
された後の次のマイクロプロセッサクロックサイクルに
おいてラッチ200の出力状態がそのプレコンディショ
ンレジスタを介して別のウォッチポイントに対するプレ
コンディションとして使用可能である。従って、マイク
ロコンピュータ50内にラッチを包含させることは、複
数個のウォッチポイントを一体的にチェーン化させるこ
とを可能とし、従って1つのウォッチポイントのトリガ
動作を他のウォッチポイントのトリガ動作を制御するた
めに使用することが可能である。更に、プレコンディシ
ョンレジスタ110及びアクションレジスタ112はプ
ログラム可能なものであるから、異なるウォッチポイン
トを柔軟性があり且つ任意的な態様で一体的にチェーン
化させることが可能である。
【0124】図10A及び図10Bは本発明に基づく1
組のウォッチポイント及びチェーンラッチを有するマイ
クロコンピュータ50の1実施例を示している。図10
A及び図10Bは、CPUウォッチポイント制御器5
4、2個のチェーンラッチ200、2個の比較器・トリ
ガ処理論理回路180において画定されている2個のウ
ォッチポイントと、システムバスアナライザ84、2個
のチェーンラッチ200、2個の比較器・トリガ処理論
理回路180において画定されている2個のウォッチポ
イントと、デバッグモジュール72、2個のチェーンラ
ッチ200、2個の比較器・トリガ処理論理回路180
において画定されている2個のウォッチポイントとを示
している。前に説明したように、各ウォッチポイントは
プレコンディションレジスタ110A−110Fとアク
ションレジスタ112A−112Fとを有している。各
ウォッチポイントは、又、比較器・トリガ処理論理18
0A−180Fを有している。図8に関連して説明した
ように、プレコンディションレジスタ110A−110
Fのビット及びアクションレジスタ112A−112F
のビットは、夫々、接続113A−113F及び115
A−115Fを介して比較器・トリガ処理論理180A
−180Fへ接続されている。1組のチェーンラッチ2
00A−200Fも設けられている。更に、付加的なト
リガインラッチ200Gがデバッグモジュール72内に
設けられている。トリガインラッチ200Gはラッチ2
00A−200Fと同じタイプのラッチとすることが可
能である。ラッチ200Gはトリガイン/トリガアウト
インターフェース78上のトリガイン信号に応答し、そ
れは、ウォッチポイントに対するプレコンディション即
ち事前条件として例えばロジックアナライザ等の外部シ
ステムによって使用することが可能である。ラッチ20
0Gは、又、メモリマップ型レジスタと関連することが
可能であり、そのことはシステムソフトウエア又は外部
信号が直接的に該ラッチをセット又はリセットすること
を可能とする。
【0125】マイクロコンピュータ50における各ウォ
ッチポイント間においての完全なる接続性を与えるため
に、各ラッチはマルチプレクサ210A−210F及び
デマルチプレクサ212A−212Fと関連している。
各マルチプレクサ210A−210Fは接続117A−
117Fを介してプレコンディションレジスタ110A
−110Fのビット3乃至6へ夫々結合される選択出力
信号を有している。各マルチプレクサは接続214A−
214Gを介してラッチ200A−200Gの各出力2
06A−206Gへ接続される多数の入力を有してい
る。各ラッチは、そのセット入力202A−202F及
びリセット入力204A−204Fを、夫々、接続21
3A−213Fを介して、デマルチプレクサ212A−
212Fの出力へ接続している。比較器・トリガ処理論
理180A−180Fが、夫々、接続217A−217
Fを介してデマルチプレクサ212A−212Fへ結合
している。
【0126】動作について説明すると、プレコンディシ
ョンレジスタ110と、アクションレジスタ114と、
比較器・トリガ処理論理回路180とを有するいずれか
のウォッチポイントをマルチプレクサ210と、ラッチ
200と、デマルチプレクサ212とを有する接続用回
路を使用してその他のウォッチポイントへ接続させるこ
とが可能である。例えば、プレコンディションレジスタ
110Eと、アクションレジスタ112Eと、比較器・
トリガ処理論理180Eとを有するデバッグモジュール
ウォッチポイントのトリガ動作を、プレコンディション
レジスタ110Aと、アクションレジスタ112Aと、
比較器・トリガ処理論理180Aとを有するCPUウォ
ッチポイントに従属させることが望まれているものと仮
定する。プレコンディションレジスタ110Aを、該1
組のプレコンディションコードの中でいずれかの所望の
プレコンディションコードをイネーブルさせるようにプ
ログラムする。該1組のアクションコードの中でいずれ
か所望のアクションコードを活性化するようにアクショ
ンレジスタ112Aをプログラムし、且つ、特に、アク
ションレジスタ112Aのフィールド142をラッチ2
00Cを識別する4ビットコードでプログラムする。ア
クションレジスタ112Aのフィールド140を、該ウ
ォッチポイントのトリガ動作と共に、ラッチ200Cを
セットするようにプログラムする。プレコンディション
レジスタ110Eを該1組のプレコンディションコード
の中でいずれかの所望のプレコンディションコードをイ
ネーブルさせるようにプログラムし、且つ、特に、プレ
コンディションレジスタ110Eのフィールド120を
該プレコンディション内に1個のラッチを包含させるこ
とをイネーブルさせるべくプログラムし、且つプレコン
ディションレジスタ110Eのフィールド122をラッ
チ200Cを識別する4ビットコードでプログラムす
る。アクションレジスタ112Eを該1組のアクション
コードのうちでいずれか所望のアクションコードを活性
化させるべくプログラムする。
【0127】その後に、プログラムの実行期間中に、該
アクティブなプレコンディションが全てが特定されると
(且つオプションのマッチレジスタにおける付加的なマ
ッチ条件がマッチされると)、該ウォッチポイントがト
リガし且つ比較器・トリガ処理論理180Aがアクショ
ンレジスタ112Aのフィールド142に応答してデマ
ルチプレクサ212Aへ選択信号を送る。デマルチプレ
クサ212Aはこの信号に応答してラッチ202Cを選
択し且つクロック入力205A上のクロック信号及びア
クションレジスタ112Aのフィールド140に応答し
て該ラッチをセットする。
【0128】次のクロックサイクルにおいて、ラッチ2
00の出力が全てのマルチプレクサ210A−210F
へ供給される。マルチプレクサ210Eはプレコンディ
ションレジスタ110Eのフィールド122に応答して
ラッチ200Cの出力206Cを選択する。プレコンデ
ィションレジスタ110Eにおいて特定された全てのプ
レコンディション(事前条件)が満足されると(且つ、
オプションのマッチレジスタにおける付加的なマッチ条
件がマッチされると)、該ウォッチポイントがトリガし
且つ比較器・トリガ処理論理180Eがアクションレジ
スタ112Eに応答してアクションレジスタ112Eに
おけるアクティブなアクションコードに応答する。
【0129】上述した実施例は、マイクロコンピュータ
におけるいずれかのラッチ及びいずれかのウォッチポイ
ントを共に結合させることが可能であることを示してい
る。特に、上述した例のアナライザ(解析器)はCPU
ウォッチポイントをデバッグモジュールウォッチポイン
トへ結合するために使用されているシステムバスアナラ
イザにおけるラッチを例示している。
【0130】理解されるように、複数個のプレコンディ
ションレジスタが単一のラッチ出力に応答することが可
能である。更に理解されるように、複数個のアクション
レジスタが単一のラッチをセット又はリセットすること
が可能である。
【0131】マイクロコンピュータ50内に設けられて
おり且つ図10A及び図10Bに示した回路の結果とし
て、マイクロコンピュータ内の複数個のウォッチポイン
トの間で完全なる接続性が提供されている。いずれのウ
ォッチポイントも、チェーンラッチを介して、該マイク
ロコンピュータ内のその他のウォッチポイントのプレコ
ンディションに参加させるために使用することが可能で
ある。ウォッチポイントは任意の態様で結合させること
が可能である。このことはデバッグ用データの有用で且
つ洗練されたフィルタ処理を提供することを可能とさせ
る。例えば、2個のウォッチポイントは、それらが、両
方ともトリガされた場合に3番目のウォッチポイントを
イネーブルさせるようにAND処理させることが可能で
ある。別の例においては、1個のウォッチポイントを第
二のウォッチポイントをイネーブルさせるチェーンラッ
チをセットさせるために使用することが可能であり、且
つ該第二ウォッチポイントをディスエーブルさせるため
に該チェーンラッチをリセットさせるために第三ウォッ
チポイントを使用することが可能である。別の例におい
ては、このイネーブル及びディスエーブル機能を与える
ためにウォッチポイントのグループを結合させることが
可能である。例えば、1つのグループのウォッチポイン
トを1個のウォッチポイントをイネーブルさせるために
OR処理することが可能であり、且つそのウォッチポイ
ントをディスエーブルさせるために別のグループのウォ
ッチポイントをOR処理させることが可能である。
【0132】プログラム可能なプレコンディションレジ
スタとアクションレジスタとを具備している本発明のウ
ォッチポイントがチェーンラッチを使用して任意の態様
で結合される場合には、強力且つ洗練されたデバッギン
グ動作及びデバッギングデータのフィルタ処理を簡潔な
態様で達成することが可能である。
【0133】ウォッチポイントトリガ処理イベントを一
体的に結び付けるためにラッチと関連して一様にプログ
ラム可能なウォッチポイントを結合させることによって
与えられるフィルタ処理機能は、マイクロコンピュータ
50において必要とされる回路の量を不当に増加させる
ことなしに、オンチップ上で洗練され且つ複雑なデバッ
ギング動作を実施することを可能とさせる。更に、複雑
なデバッギング動作を実施するための能力はオンチップ
上に設けられているので、外部の高価なロジックアナラ
イザが最早必要とされるものではない。又、プログラム
可能なウォッチポイント及びラッチはデバッギング情報
用のフィルタとして使用することが可能であるので、オ
フチップへ送られるトレース情報の量を著しく減少させ
ることが可能である。何故ならば、デバッグデータを処
理するかなりの部分はオンチップで行うことが可能だか
らである。
【0134】次に、図11を参照すると、それは2個の
ウォッチポイントの動作をどのようにしてAND処理す
ることが可能であるかを例示している。信号250は任
意のウォッチポイントの出力を示している。一連のイネ
ーブル及びディスエーブルイベントが該ウォッチポイン
トのトリガ動作によって発生されている。イネーブルイ
ベントはイネーブル用のウォッチポイントの出力が高論
理レベルへ遷移する場合に発生され、且つディスエーブ
ルイベントはイネーブル用ウォッチポイントの出力が低
レベルへ遷移する場合に発生される。イネーブル用ウォ
ッチポイントは該イネーブル用ウォッチポイントに関し
てイネーブルイベントが発生する場合にセットされ且つ
イネーブル用ウォッチポイントに関してディスエーブル
イベントが発生する場合にリセットされるラッチへ結合
されている。信号252は、イネーブル用ウォッチポイ
ントがイネーブルイベントを発生する場合にラッチ出力
状態が高論理レベルへ遷移し且つイネーブル用ウォッチ
ポイントがディスエーブルイベントを発生する場合に低
論理レベルへ遷移することを示している。ラッチ出力状
態はウォッチポイントXに対するプレコンディションレ
ジスタへ結合される。信号254は、ウォッチポイント
Xが信号254が高論理レベルにある場合にそのプレコ
ンディションレジスタによってイネーブルされ且つ信号
254が低論理レベルにある場合にそのプレコンディシ
ョンレジスタによってディスエーブルされることを示し
ている。信号256は、ウォッチポイントXがトリガす
る場合を示している。信号250と254とが高レベル
にある場合には、信号256は高論理レベルにあり、ウ
ォッチポイントXがトリガされたことを表し、且つ信号
250と254とが高論理レベルにない場合には、信号
256は低論理レベルにあり、ウォッチポイントXがト
リガされていないことを表す。従って、ウォッチポイン
トXは、そのイネーブル用ウォッチポイントがトリガし
ており、且つウォッチポイントXのプレコンディション
が満足されている場合にのみトリガする。ウォッチポイ
ントのトリガ動作は、上昇又は下降クロックエッジ上で
発生する。
【0135】図12はどのようにして1つのウォッチポ
イントが2番目のウォッチポイントによってイネーブル
され且つ3番目のウォッチポイントによってディスエー
ブルされるかを示している。図12において、信号25
8はラッチをセットするために使用されるイネーブル用
ウォッチポイントの出力である。信号260は該ラッチ
をリセットするために使用されるディスエーブル用ウォ
ッチポイントの出力である。該ラッチの出力はウォッチ
ポイントXのプレコンディションレジスタへ1つのプレ
コンディションとして供給される。ウォッチポイントX
はそれ自身のプレコンディションレジスタを有してお
り、それはウォッチポイントXがイネーブルされる条件
を画定する。信号266はトリガされた場合のウォッチ
ポイントXの状態を表しており、即ち該ウォッチポイン
トがトリガされた場合には高論理レベルへ遷移し、且つ
該ウォッチポイントがトリガされない場合には低論理レ
ベルへ遷移する。その結果、信号262が高論理レベル
にあり且つ信号264が高論理レベルにある場合には、
信号266は高論理レベルへ遷移する。
【0136】イベントのシーケンスは以下の通りであ
る。マッチポイント出力258が領域268において高
論理レベルへ遷移すると、イネーブルイベントが発生す
る。このことはラッチ出力状態を高論理レベルへセット
する。従って、ウォッチポイントXがイネーブルされる
が、信号264が高論理レベルへ遷移する場合に領域2
70における第一マッチが発生するまでトリガすること
はない。その後に、信号260が低論理レベルから高論
理レベルへ遷移して領域272においてディスエーブル
イベントを発生する。この信号260の遷移が該ラッチ
をリセットさせ、従って信号262上の論理レベルは高
論理レベルから低論理レベルへ遷移する。この期間中
に、信号264も低論理レベルへ遷移し従ってウォッチ
ポイントXは最早イネーブルされておらず、従ってウォ
ッチポイントXはトリガすることはない。その後に、信
号258は領域274において低論理レベルから高論理
レベルへ遷移してイネーブルイベントを発生し、信号2
62を低論理レベルから高論理レベルへ遷移させる。然
しながら、信号264は未だに低論理レベルにあるの
で、ウォッチポイントXはトリガすることはなく、信号
264が高論理レベルへ遷移し且つ第二マッチが領域2
76において発生した場合にのみトリガする。その後に
信号260は低論理レベルから高論理レベルへ遷移して
領域278においてディスエーブル用ウォッチポイント
出力を発生し、そのことは該ラッチをクリアし、従って
信号262は高論理レベルから低論理レベルへ遷移す
る。その後に、信号258は低論理レベルから高論理レ
ベルへ遷移してイネーブルイベントを発生し、該イベン
トが該ラッチをセットし且つ信号262を低論理レベル
から高論理レベルへ遷移させる。ウォッチポイントのト
リガ動作は上昇又は下降クロックエッジ上で発生する。
【0137】図13は、ウォッチポイントXがイネーブ
ルされるウォッチポイントであると共にディスエーブル
イベントを発生するという点を除いて、図12における
ものと同一のタイプのシーケンスを示している。線28
6上のイネーブル用ウォッチポイント出力によって発生
されるイネーブルイベントの結果としてウォッチポイン
トXがトリガすると、ウォッチポイントXはディスエー
ブルイベントを発生してラッチをリセットさせ、従って
ラッチ出力状態信号288は高論理レベルから低論理レ
ベルへ遷移する。該ラッチは再度ウォッチポイントXを
イネーブルさせるためには次のイネーブルイベント29
4によってリセットされねばならない。このウォッチポ
イントプログラミングの例は、ウォッチポイントXをし
てイネーブル条件をディスエーブルさせ、該イネーブル
条件は、ウォッチポイントXを再度トリガさせるために
は再度発生せねばならない。ウォッチポイントのトリガ
動作は上昇又は下降クロックエッジ上で発生する。
【0138】図14は図12と同様な別の例を示してい
る。図14において、複数個のウォッチポイントEO
Nが複数個のディスエーブル用ウォッチポイントEO
NとOR処理され、従っていずれか1つのウォッチポ
イントEO―ENのトリガ動作はウォッチポイントXをイ
ネーブルさせ且つウォッチポイントDO―DNのうちのい
ずれか1つのトリガ動作はウォッチポイントXをディス
エーブルさせる。ウォッチポイントEO―ENのいずれか
のトリガ動作、ウォッチポイントDO―DNのうちのいず
れかのトリガ動作、及びウォッチポイントXのトリガ動
作は上昇又は下降クロックエッジ上で発生する。
【0139】以上、本発明の具体的実施の態様について
詳細に説明したが、本発明は、これら具体例にのみ制限
されるべきものではなく、本発明の技術的範囲を逸脱す
ることなしに種々の変形が可能であることは勿論であ
る。
【図面の簡単な説明】
【図1】 第一のタイプのマイクロコンピュータデバッ
ギングシステムを示した概略図。
【図2】 別のタイプのマイクロコンピュータデバッギ
ングシステムを示した概略図。
【図3】 本発明に基づく全体的なコンピュータシステ
ムの構成を示した概略図。
【図4】 本発明に基づくウォッチポイントの構成を示
した概略図。
【図5A】 図4に示したプレコンディションレジスタ
の定義の一部を示した概略図。
【図5B】 図4に示したプレコンディションレジスタ
の定義の一部を示した概略図。
【図5C】 図4に示したプレコンディションレジスタ
の定義の一部を示した概略図。
【図6A】 図4に示したアクションレジスタの定義の
一部を示した概略図。
【図6B】 図4に示したアクションレジスタの定義の
一部を示した概略図。
【図6C】 図4に示したアクションレジスタの定義の
一部を示した概略図。
【図6D】 図4に示したアクションレジスタの定義の
一部を示した概略図。
【図6E】 図4に示したアクションレジスタの定義の
一部を示した概略図。
【図6F】 図4に示したアクションレジスタの定義の
一部を示した概略図。
【図6G】 図4に示したアクションレジスタの定義の
一部を示した概略図。
【図7】 本発明に基づいてウォッチポイントがトリガ
動作される方法を示したフローチャート。
【図8】 本発明に基づいてウォッチポイントをトリガ
動作させる回路を示した概略図。
【図9】 本発明に基づくラッチを示した概略図。
【図10A】 本発明に基づいてウォッチポイントをリ
ンクさせるためにどのようにしてラッチが使用されるか
の構成の一部を示した概略図。
【図10B】 本発明に基づいてウォッチポイントをリ
ンクさせるためにどのようにしてラッチが使用されるか
の構成の一部を示した概略図。
【図11】 本発明に基づいてどのようにして2個のウ
ォッチポイントをAND処理するかを示した概略図。
【図12】 どのようにして2個のウォッチポイントが
3番目のウォッチポイントをイネーブル及びディスエー
ブルさせるかを示した概略図。
【図13】 どのようにして2個のウォッチポイントが
3番目のウォッチポイントをイネーブル及びディスエー
ブルさせるかを示しており第一及び第二ウォッチポイン
トが第三ウォッチポイントと同一である場合の概略図。
【図14】 どのようにして複数個のウォッチポイント
からなるグループ内のいずれかのウォッチポイントが3
番目のウォッチポイントをイネーブルさせ且つ別のグル
ープのウォッチポイントにおけるいずれかのウォッチポ
イントが該3番目のウォッチポイントをディスエーブル
させるかを示した概略図。
【符号の説明】
50 マイクロコンピュータ 51 中央処理装置コア 52 中央処理装置(CPU) 54 CPUウォッチポイント制御器 56 システムバス 58 データリンク 60 RAMインターフェース 62 データリンク 64 ROMインターフェース 66 データリンク 70 デバッグモジュール 78 トリガイン/トリガアウトインターフェース 80 システムバス制御器 81 システムバスアービター(調停器) 84 システムバスアナライザ 88 ペリフェラルコンポーネントバス 90 ペリフェラルコンポーネントバス制御器 91 ペリフェラルコンポーネントバスアービター 96 ペリフェラルコンポーネントバスアナライザ 100 ペリフェラルコンポーネントバスモジュール 104 ペリフェラルコンポーネントバスインターフェ
ース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビッド アラン エドワーズ イギリス国, ブリストル ビーエス8 1エルビー, クリフトン, プロ キャ セドラル レーン 6 (72)発明者 アンソニー ダブリュ. リッチ ニュージーランド国, 2351, ケンブリ ッジ, ピー.オー. ボックス 761, クレアー ストリート 40

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムにおいて、 少なくとも1個の中央処理装置、 前記少なくとも1個の中央処理装置へ結合されているメ
    モリユニット、 前記コンピュータシステムにおいて画定されている1組
    のウォッチポイントであって、前記1組のウォッチポイ
    ントにおける各ウォッチポイントがプログラム可能なプ
    レコンディションレジスタとプログラム可能なアクショ
    ンレジスタとを有している1組のウォッチポイント、 1組のラッチ、 アクションレジスタの出力を選択したラッチの入力へ結
    合させるために前記1組のラッチにおける1個のラッチ
    を選択する選択回路、を有していることを特徴とするコ
    ンピュータシステム。
  2. 【請求項2】 請求項1において、前記選択回路が、前
    記アクションレジスタの出力へ結合されている入力及び
    前記1組のラッチにおける各ラッチの入力へ各々が夫々
    結合している複数個の出力を具備しているデマルチプレ
    クサを有していることを特徴とするコンピュータシステ
    ム。
  3. 【請求項3】 請求項2において、前記選択回路が、前
    記1組のラッチにおける各ラッチの出力へ各々が夫々結
    合している複数個の入力及びプレコンディションレジス
    タへ結合している入力を具備しているマルチプレクサを
    有していることを特徴とするコンピュータシステム。
  4. 【請求項4】 請求項3において、更に、前記1組のウ
    ォッチポイントに対応して1組のデマルチプレクサが設
    けられており、前記1組のデマルチプレクサにおける各
    デマルチプレクサは前記1組のウォッチポイントにおけ
    る夫々のアクションレジスタの出力へ夫々結合している
    入力を具備しており、前記1組のデマルチプレクサにお
    ける各デマルチプレクサは前記1組のラッチにおける各
    ラッチの入力へ夫々結合している複数個の出力を具備し
    ていることを特徴とするコンピュータシステム。
  5. 【請求項5】 請求項4において、更に、前記1組のウ
    ォッチポイントに対応して1組のマルチプレクサが設け
    られており、前記1組のマルチプレクサにおける各マル
    チプレクサは前記1組のラッチにおける各ラッチの出力
    へ夫々結合されている複数個の入力を具備しており、前
    記1組のマルチプレクサにおける各マルチプレクサは前
    記1組のウォッチポイントにおける夫々のプレコンディ
    ションレジスタの入力へ結合している出力を具備してい
    ることを特徴とするコンピュータシステム。
  6. 【請求項6】 請求項5において、更に、前記1組のラ
    ッチにおける1個のラッチと夫々関連して制御レジスタ
    が設けられており、前記制御レジスタは、前記コンピュ
    ータシステム外部の信号に応答して、前記ラッチをセッ
    ト又はリセットさせる状態を有していることを特徴とす
    るコンピュータシステム。
  7. 【請求項7】 請求項6において、単一の集積回路チッ
    プ上に実現されていることを特徴とするコンピュータシ
    ステム。
  8. 【請求項8】 請求項2において、前記デマルチプレク
    サが、前記アクションレジスタの状態に応答して、前記
    1組のラッチにおける1個のラッチの入力を選択するた
    めに前記デマルチプレクサを制御する選択出力を有して
    いることを特徴とするコンピュータシステム。
  9. 【請求項9】 請求項3において、前記マルチプレクサ
    が、前記プレコンディションレジスタの状態に応答し
    て、前記1組のラッチにおける1個のラッチの出力を選
    択するために前記マルチプレクサを制御する選択入力を
    有していることを特徴とするコンピュータシステム。
  10. 【請求項10】 請求項4において、各マルチプレクサ
    が、夫々のプレコンディションレジスタの状態に応答し
    て、前記1組のラッチにおける1個のラッチの出力を選
    択するために各マルチプレクサを制御する選択入力を有
    していることを特徴とするコンピュータシステム。
  11. 【請求項11】 請求項5において、各デマルチプレク
    サが、夫々のアクションレジスタの状態に応答して、前
    記1組のラッチにおける1個のラッチの入力を選択する
    ために前記デマルチプレクサを制御する選択出力を有し
    ていることを特徴とするコンピュータシステム。
  12. 【請求項12】 請求項1において、前記プレコンディ
    ションレジスタが1組のプレコンディションコードを格
    納し、前記1組のプレコンディションコードが前記1組
    のウォッチポイントにおける各ウォッチポイントに対し
    て同一であることを特徴とするコンピュータシステム。
  13. 【請求項13】 請求項12において、前記アクション
    レジスタが1組のアクションコードを格納し、前記1組
    のアクションコードが前記1組のウォッチポイントにお
    ける各ウォッチポイントに対して同一であることを特徴
    とするコンピュータシステム。
  14. 【請求項14】 請求項13において、前記コンピュー
    タシステムが、前記1組のプレコンディションコードに
    おけるどのプレコンディションコードが前記1組のウォ
    ッチポイントにおける特定のウォッチポイントに対して
    アクティブであるかを選択するハードウエア及びソフト
    ウエアを有していることを特徴とするコンピュータシス
    テム。
  15. 【請求項15】 請求項13において、前記コンピュー
    タシステムが、前記1組のアクションコードのうちのど
    のアクションコードが前記1組のウォッチポイントにお
    ける特定のウォッチポイントに対してアクティブである
    かを選択するハードウエア及びソフトウエアを有してい
    ることを特徴とするコンピュータシステム。
  16. 【請求項16】 請求項13において、前記1組のウォ
    ッチポイントが、オペランドアドレス、命令値、命令ア
    ドレス、分岐、ブレークポイント命令、印刷命令に対す
    るウォッチポイントのタイプを有していることを特徴と
    するコンピュータシステム。
  17. 【請求項17】 請求項16において、各ウォッチポイ
    ントが、更に、少なくとも1個のマッチコードを格納す
    るプログラム可能なマッチレジスタを有しており、前記
    格納されるマッチコードがウォッチポイントのタイプに
    依存するものであることを特徴とするコンピュータシス
    テム。
  18. 【請求項18】 請求項17において、前記マッチコー
    ドが、アドレスレンジ、データ値、データマスク、命令
    値、命令マスク、分岐タイプのうちの少なくとも1つを
    有していることを特徴とするコンピュータシステム。
  19. 【請求項19】 請求項12において、前記1組のプレ
    コンディションコードが、基本イネーブルコード、アド
    レス空間識別子イネーブルコード、アドレス空間識別子
    コード、ラッチイネーブルコード、ラッチ識別子コー
    ド、イベントカウンタイネーブルコード、イベントカウ
    ンタ識別子コード、ISAモードイネーブルコード、C
    PUスーパーバイザーモード選択コードを有しているこ
    とを特徴とコンピュータシステム。
  20. 【請求項20】 請求項13において、前記1組のアク
    ションコードが、例外イネーブルコード、イベントカウ
    ントデクリメントイネーブルコード、イベントカウンタ
    識別子コード、ラッチ変更コード、ラッチ識別子コー
    ド、性能カウンタインクリメントイネーブルコード、リ
    セット全性能カウンタコード、性能カウンタ識別子コー
    ド、トレースイネーブルコード、トレースメッセージタ
    イプコード、イネーブルトレース時間スタンプコード、
    トリガアウトイネーブルコード、インタラプトイネーブ
    ルコードを有していることを特徴とするコンピュータシ
    ステム。
  21. 【請求項21】 コンピュータシステムにおいて、 少なくとも1個の中央処理装置、 前記少なくとも1個の中央処理装置へ結合されているメ
    モリユニット、 前記コンピュータシステムにおいて画定されている1組
    のウォッチポイント、 前記1組のウォッチポイントにおける1個のウォッチポ
    イントを前記1組のウォッチポイントにおける少なくと
    も1個の別のウォッチポイントとリンクさせるリンク手
    段であって、プログラム可能であるリンク手段、を有し
    ていることを特徴とするコンピュータシステム。
  22. 【請求項22】 請求項21において、前記リンク手段
    が、各ウォッチポイントと関連して、前記1組のウォッ
    チポイントにおける各ウォッチポイントに対して同一で
    ある1組のプレコンディションコードを格納するプログ
    ラム可能なプレコンディションコード、及び前記1組の
    ウォッチポイントにおける各ウォッチポイントに対して
    同一である1組のアクションコードを格納するプログラ
    ム可能なアクションレジスタを有していることを特徴と
    するコンピュータシステム。
  23. 【請求項23】 請求項22において、前記リンク手段
    がラッチを有していることを特徴とするコンピュータシ
    ステム。
  24. 【請求項24】 請求項23において、前記ラッチが前
    記1組のウォッチポイントにおける1個のウォッチポイ
    ントと関連しているアクションレジスタの出力と前記1
    組のウォッチポイントにおけるその他全てのプレコンデ
    ィションレジスタの全ての入力のうちの1個の入力との
    間に結合されていることを特徴とするコンピュータシス
    テム。
  25. 【請求項25】 少なくとも1個の中央処理装置と前記
    少なくとも1個の中央処理装置へ結合されているメモリ
    ユニットとを有しているコンピュータシステムを動作さ
    せる方法において、 1組のプレコンディションレジスタと1組のアクション
    レジスタとを画定することによって前記コンピュータシ
    ステム内に1組のウォッチポイントを画定し、 前記1組のウォッチポイントにおける各ウォッチポイン
    トヘ適用されるべき1組の同一のプレコンディションコ
    ードを画定し、 前記1組のウォッチポイントにおける各ウォッチポイン
    トに対して適用されるべき1組の同一のアクションコー
    ドを画定し、 前記1組のプレコンディションコードを前記1組のプレ
    コンディションレジスタにおける各プレコンディション
    レジスタ内に格納し、 前記1組のアクションコードを前記1組のアクションレ
    ジスタにおける各アクションレジスタ内に格納し、 前記1組のプレコンディションコードにおけるどのプレ
    コンディションコードが特定のウォッチポイントに対し
    てアクティブであるべきかを選択し、 前記1組のアクションコードにおけるどのアクションコ
    ードが特定のウォッチポイントに対してアクティブであ
    るべきかを選択し、 プログラムを実行させるために前記コンピュータシステ
    ムを動作させ、 前記コンピュータシステムにおけるデバッギングデータ
    を特定のウォッチポイントに対するアクティブなプレコ
    ンディションコードと比較し、 前記コンピュータシステムにおけるデバッギングデータ
    が前記特定のウォッチポイントに対するアクティブなプ
    レコンディションコードを満足する場合に前記特定のウ
    ォッチポイントに対するアクションレジスタへ信号を送
    る、 上記各ステップを有しており、前記コンピュータシステ
    ムは、トリガ信号を発生することによって前記アクティ
    ブなアクションコードに応答し且つコンピュータシステ
    ムは、更に、前記トリガ信号の状態に応答してラッチを
    セット又はクリアすることによって前記トリガ信号に応
    答することを特徴とする方法。
  26. 【請求項26】 請求項25において、前記コンピュー
    タシステムが1組のラッチを有しており、且つ本方法
    が、更に、前記トリガ信号に応答するために前記1組の
    ラッチにおける1個のラッチを選択するステップを有し
    ていることを特徴とする方法。
  27. 【請求項27】 請求項26において、更に、前記ラッ
    チから前記1組のウォッチポイントにおける各プレコン
    ディションレジスタへ出力信号を供給するステップを有
    していることを特徴とする方法。
  28. 【請求項28】 請求項27において、更に、前記ラッ
    チからの出力信号に応答するためにプレコンディション
    レジスタを選択するステップを有していることを特徴と
    する方法。
  29. 【請求項29】 請求項25において、前記1組のウォ
    ッチポイントが、オペランドアドレス、命令値、命令ア
    ドレス、分岐、ブレークポイント命令、印刷命令に対す
    るウォッチポイントのタイプを有していることを特徴と
    する方法。
  30. 【請求項30】 請求項29において、前記1組のプレ
    コンディションコードが、基本イネーブルコード、アド
    レス空間識別子イネーブルコード、アドレス空間識別子
    コード、ラッチイネーブルコード、ラッチ識別子コー
    ド、イベントカウンタイネーブルコード、イベントカウ
    ンタ識別子コード、ISAモードイネーブルコード、C
    PUスーパーバイザーモード選択コードを有しているこ
    とを特徴と方法。
  31. 【請求項31】 請求項30において、前記1組のアク
    ションコードが、例外イネーブルコード、イベントカウ
    ントデクリメントイネーブルコード、イベントカウンタ
    識別子コード、ラッチ変更コード、ラッチ識別子コー
    ド、性能カウンタインクリメントイネーブルコード、リ
    セット全性能カウンタコード、性能カウンタ識別子コー
    ド、トレースイネーブルコード、トレースメッセージタ
    イプコード、イネーブルトレース時間スタンプコード、
    トリガアウトイネーブルコード、インタラプトイネーブ
    ルコードを有していることを特徴とする方法。
  32. 【請求項32】 請求項31において、プログラム可能
    なマッチレジスタを画定し且つ前記マッチレジスタ内に
    少なくとも1個のマッチコードを格納するステップを有
    しており、前記マッチコードが前記ウォッチポイントの
    タイプに依存することを特徴とする方法。
  33. 【請求項33】 請求項32において、更に、前記少な
    くとも1個のプレコンディションコードが満足された後
    に、前記少なくとも1個のマッチコードを前記コンピュ
    ータシステムにおける第二データ値と比較するステップ
    を有していることを特徴とする方法。
  34. 【請求項34】 請求項33において、前記第二データ
    値が前記マッチコードとマッチする場合に前記信号が前
    記アクションレジスタへ供給されることを特徴とする方
    法。
  35. 【請求項35】 請求項32において、更に、前記メモ
    リユニット内の夫々のメモリ位置において前記プレコン
    ディションレジスタ、前記マッチレジスタ、前記アクシ
    ョンレジスタを画定するステップを有していることを特
    徴とする方法。
JP2000301822A 1999-10-01 2000-10-02 コンピュータシステム Expired - Fee Related JP4987182B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/411,786 US6557119B1 (en) 1999-10-01 1999-10-01 Microcomputer debug architecture and method
US09/411786 1999-10-01

Publications (2)

Publication Number Publication Date
JP2001147836A true JP2001147836A (ja) 2001-05-29
JP4987182B2 JP4987182B2 (ja) 2012-07-25

Family

ID=23630326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000301822A Expired - Fee Related JP4987182B2 (ja) 1999-10-01 2000-10-02 コンピュータシステム

Country Status (3)

Country Link
US (1) US6557119B1 (ja)
EP (1) EP1089184B1 (ja)
JP (1) JP4987182B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008099657A1 (ja) * 2007-02-14 2008-08-21 Nec Corporation 半導体集積回路、デバッグ・トレース回路、および半導体集積回路動作観測方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725363B1 (en) * 2000-07-31 2004-04-20 Sun Microsystems, Inc. Method for filtering instructions to get more precise event counts
US6829701B2 (en) * 2000-12-15 2004-12-07 Intel Corporation Watchpoint engine for a pipelined processor
US7185234B1 (en) * 2001-04-30 2007-02-27 Mips Technologies, Inc. Trace control from hardware and software
WO2003034226A2 (en) * 2001-10-12 2003-04-24 Pts Corporation Debugging of processors
WO2003034224A2 (en) * 2001-10-12 2003-04-24 Pts Corporation Debug exception registers
GB2380827A (en) * 2001-10-12 2003-04-16 Siroyan Ltd Debugging of processors using two separate event detectors
US8225194B2 (en) * 2003-01-09 2012-07-17 Kaleidescape, Inc. Bookmarks and watchpoints for selection and presentation of media streams
US20050050103A1 (en) * 2003-07-15 2005-03-03 Kaleidescape Displaying and presenting multiple media streams from multiple DVD sets
US7404112B2 (en) * 2003-05-09 2008-07-22 Hewlett-Packard Development Company, L.P. Data selection circuit for performance counter
US7475302B2 (en) * 2003-08-06 2009-01-06 Hewlett-Packard Development Company, L.P. Decoded match circuit for performance counter
US20050050524A1 (en) * 2003-08-25 2005-03-03 Arm Limited Generating software test information
US7328429B2 (en) * 2003-11-13 2008-02-05 Intel Corporation Instruction operand tracing for software debug
US7500152B2 (en) * 2003-12-05 2009-03-03 Freescale Semiconductor, Inc. Apparatus and method for time ordering events in a system having multiple time domains
JP4526111B2 (ja) * 2003-12-19 2010-08-18 インターナショナル・ビジネス・マシーンズ・コーポレーション マイクロコンピュータおよびデバッグ方法
CN1297919C (zh) * 2004-01-16 2007-01-31 中兴通讯股份有限公司 一种单片机后台调试的***及方法
US7624319B2 (en) * 2004-06-03 2009-11-24 Hewlett-Packard Development Company, L.P. Performance monitoring system
US7676530B2 (en) * 2004-06-03 2010-03-09 Hewlett-Packard Development Company, L.P. Duration minimum and maximum circuit for performance counter
US20050283669A1 (en) * 2004-06-03 2005-12-22 Adkisson Richard W Edge detect circuit for performance counter
US7346824B2 (en) * 2004-06-03 2008-03-18 Hewlett-Packard Development Company, L.P. Match circuit for performing pattern recognition in a performance counter
US20060294433A1 (en) * 2005-06-28 2006-12-28 Thelen Greg W Debugging using watchpoints
US7373565B2 (en) * 2005-08-23 2008-05-13 Hewlett-Packard Development Company, L.P. Start/stop circuit for performance counter
US7765526B2 (en) * 2005-09-30 2010-07-27 Intel Corporation Management of watchpoints in debuggers
US7613955B2 (en) * 2006-01-06 2009-11-03 Microsoft Corporation Collecting debug data from a wireless device
US7650555B2 (en) * 2006-07-27 2010-01-19 International Business Machines Corporation Method and apparatus for characterizing components of a device under test using on-chip trace logic analyzer
US7870455B2 (en) 2007-12-12 2011-01-11 Infineon Technologies Ag System-on-chip with master/slave debug interface
JP5107131B2 (ja) * 2008-04-28 2012-12-26 株式会社東芝 テストケース生成装置およびその生成方法、ならびにテストケース生成のためのプログラム
US9037911B2 (en) * 2010-12-09 2015-05-19 Advanced Micro Devices, Inc. Debug state machines and methods of their operation
US8635497B2 (en) 2011-06-28 2014-01-21 Freescale Semiconductor, Inc. Data processing system having a sequence processing unit and method of operation
US10261887B1 (en) * 2017-04-26 2019-04-16 Cadence Design Systems, Inc. Method and system for computerized debugging assertions
GB2574231B (en) * 2018-05-31 2020-12-30 Advanced Risc Mach Ltd An apparatus and method for triggering action performance

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10214201A (ja) * 1997-01-29 1998-08-11 Mitsubishi Electric Corp マイクロコンピュータ
JPH10247188A (ja) * 1996-10-31 1998-09-14 Sgs Thomson Microelectron Ltd マイクロコンピュータ

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2159100B (en) 1984-05-18 1988-10-26 Unisys Corp Passbook printer
DE3584690D1 (de) 1984-06-20 1992-01-02 Convex Computer Corp Ein-/ausgabebus fuer rechner.
US4935867A (en) 1986-03-04 1990-06-19 Advanced Micro Devices, Inc. Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations
US4821178A (en) * 1986-08-15 1989-04-11 International Business Machines Corporation Internal performance monitoring by event sampling
US4814981A (en) 1986-09-18 1989-03-21 Digital Equipment Corporation Cache invalidate protocol for digital data processing system
US5483518A (en) 1992-06-17 1996-01-09 Texas Instruments Incorporated Addressable shadow port and protocol for serial bus networks
JPH0666056B2 (ja) 1989-10-12 1994-08-24 甲府日本電気株式会社 情報処理システム
JPH03217949A (ja) 1990-01-23 1991-09-25 Hitachi Ltd 計算機システム
US5452432A (en) 1990-08-14 1995-09-19 Chips And Technologies, Inc. Partially resettable, segmented DMA counter
JP2984463B2 (ja) 1991-06-24 1999-11-29 株式会社日立製作所 マイクロコンピュータ
US5423050A (en) 1991-11-27 1995-06-06 Ncr Corporation Intermodule test across system bus utilizing serial test bus
US5724549A (en) 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
GB2266606B (en) 1992-04-27 1996-02-14 Intel Corp A microprocessor with an external command mode
US5448576A (en) 1992-10-29 1995-09-05 Bull Hn Information Systems Inc. Boundary scan architecture extension
JP3231429B2 (ja) 1992-11-06 2001-11-19 株式会社日立製作所 中央処理装置と乗算器とを有する半導体集積回路装置
JPH06150023A (ja) 1992-11-06 1994-05-31 Hitachi Ltd マイクロコンピュータ及びマイクロコンピュータシステム
JP3524110B2 (ja) 1992-11-06 2004-05-10 株式会社ルネサステクノロジ マイクロコンピュータシステム
US5627842A (en) 1993-01-21 1997-05-06 Digital Equipment Corporation Architecture for system-wide standardized intra-module and inter-module fault testing
JP2731692B2 (ja) 1993-04-28 1998-03-25 日本電気アイシーマイコンシステム株式会社 デバッグ装置
US5598551A (en) 1993-07-16 1997-01-28 Unisys Corporation Cache invalidation sequence system utilizing odd and even invalidation queues with shorter invalidation cycles
DE69415600T2 (de) 1993-07-28 1999-07-15 Koninkl Philips Electronics Nv Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren
JP3610095B2 (ja) 1993-07-30 2005-01-12 テキサス インスツルメンツ インコーポレイテツド 電気回路のストリームライン化(Streamlined)された同時試験方法と装置
JP3904244B2 (ja) 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
EP0652516A1 (en) 1993-11-03 1995-05-10 Advanced Micro Devices, Inc. Integrated microprocessor
US5596734A (en) 1993-12-17 1997-01-21 Intel Corporation Method and apparatus for programming embedded memories of a variety of integrated circuits using the IEEE test access port
US5828825A (en) 1993-12-22 1998-10-27 Intel Corporation Method and apparatus for pseudo-direct access to embedded memories of a micro-controller integrated circuit via the IEEE test access port
US5434804A (en) 1993-12-29 1995-07-18 Intel Corporation Method and apparatus for synchronizing a JTAG test control signal to an on-chip clock signal
US5602729A (en) * 1994-03-15 1997-02-11 Mercury Computer Systems, Inc. Method and apparatus for monitoring and controlling multiprocessor digital data processing systems
US5488688A (en) 1994-03-30 1996-01-30 Motorola, Inc. Data processor with real-time diagnostic capability
JPH07287668A (ja) 1994-04-19 1995-10-31 Hitachi Ltd データ処理装置
US5537541A (en) * 1994-08-16 1996-07-16 Digital Equipment Corporation System independent interface for performance counters
GB9417602D0 (en) 1994-09-01 1994-10-19 Inmos Ltd A controller for implementing scan testing
JP3740195B2 (ja) 1994-09-09 2006-02-01 株式会社ルネサステクノロジ データ処理装置
JPH08329687A (ja) 1995-06-05 1996-12-13 Hitachi Ltd 半導体集積回路
JP3672634B2 (ja) 1994-09-09 2005-07-20 株式会社ルネサステクノロジ データ処理装置
JP3713312B2 (ja) 1994-09-09 2005-11-09 株式会社ルネサステクノロジ データ処理装置
US5848247A (en) 1994-09-13 1998-12-08 Hitachi, Ltd. Microprocessor having PC card interface
US5613153A (en) 1994-10-03 1997-03-18 International Business Machines Corporation Coherency and synchronization mechanisms for I/O channel controllers in a data processing system
US5751621A (en) 1994-11-17 1998-05-12 Hitachi, Ltd. Multiply-add unit and data processing apparatus using it
TW330265B (en) 1994-11-22 1998-04-21 Hitachi Ltd Semiconductor apparatus
JP2752592B2 (ja) 1994-12-28 1998-05-18 日本ヒューレット・パッカード株式会社 マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法
US5778237A (en) 1995-01-10 1998-07-07 Hitachi, Ltd. Data processor and single-chip microcomputer with changing clock frequency and operating voltage
US5664197A (en) 1995-04-21 1997-09-02 Intel Corporation Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller
US5867726A (en) 1995-05-02 1999-02-02 Hitachi, Ltd. Microcomputer
US5570375A (en) 1995-05-10 1996-10-29 National Science Council Of R.O.C. IEEE Std. 1149.1 boundary scan circuit capable of built-in self-testing
US5659679A (en) * 1995-05-30 1997-08-19 Intel Corporation Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system
US5860127A (en) 1995-06-01 1999-01-12 Hitachi, Ltd. Cache memory employing dynamically controlled data array start timing and a microcomputer using the same
US5774701A (en) 1995-07-10 1998-06-30 Hitachi, Ltd. Microprocessor operating at high and low clok frequencies
US5708773A (en) 1995-07-20 1998-01-13 Unisys Corporation JTAG interface system for communicating with compliant and non-compliant JTAG devices
US5754839A (en) * 1995-08-28 1998-05-19 Motorola, Inc. Apparatus and method for implementing watchpoints and breakpoints in a data processing system
JPH09218801A (ja) 1995-08-30 1997-08-19 Motorola Inc データプロセッサ
US5704034A (en) 1995-08-30 1997-12-30 Motorola, Inc. Method and circuit for initializing a data processing system
US5737516A (en) 1995-08-30 1998-04-07 Motorola, Inc. Data processing system for performing a debug function and method therefor
JP3655403B2 (ja) 1995-10-09 2005-06-02 株式会社ルネサステクノロジ データ処理装置
JP3623840B2 (ja) 1996-01-31 2005-02-23 株式会社ルネサステクノロジ データ処理装置及びマイクロプロセッサ
US5950012A (en) 1996-03-08 1999-09-07 Texas Instruments Incorporated Single chip microprocessor circuits, systems, and methods for self-loading patch micro-operation codes and patch microinstruction codes
US5978874A (en) 1996-07-01 1999-11-02 Sun Microsystems, Inc. Implementing snooping on a split-transaction computer system bus
JPH09311786A (ja) 1996-03-18 1997-12-02 Hitachi Ltd データ処理装置
US5751941A (en) * 1996-04-04 1998-05-12 Hewlett-Packard Company Object oriented framework for testing software
JP3579205B2 (ja) 1996-08-06 2004-10-20 株式会社ルネサステクノロジ 半導体記憶装置、半導体装置、データ処理装置及びコンピュータシステム
GB9617033D0 (en) 1996-08-14 1996-09-25 Int Computers Ltd Diagnostic memory access
US5768152A (en) 1996-08-28 1998-06-16 International Business Machines Corp. Performance monitoring through JTAG 1149.1 interface
WO1998013759A1 (fr) 1996-09-27 1998-04-02 Hitachi, Ltd. Machine de traitement de donnees et systeme de traitement de donnees
JP3790307B2 (ja) 1996-10-16 2006-06-28 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
JPH10177520A (ja) 1996-10-16 1998-06-30 Hitachi Ltd データプロセッサ及びデータ処理システム
JP3641327B2 (ja) 1996-10-18 2005-04-20 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
GB9622686D0 (en) 1996-10-31 1997-01-08 Sgs Thomson Microelectronics A test port controller and a method of effecting communication using the same
US5953538A (en) 1996-11-12 1999-09-14 Digital Equipment Corporation Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US5983017A (en) 1996-11-12 1999-11-09 Lsi Logic Corporation Virtual monitor debugging method and apparatus
US5771240A (en) 1996-11-14 1998-06-23 Hewlett-Packard Company Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin
US5956477A (en) 1996-11-25 1999-09-21 Hewlett-Packard Company Method for processing information in a microprocessor to facilitate debug and performance monitoring
US5896550A (en) 1997-04-03 1999-04-20 Vlsi Technology, Inc. Direct memory access controller with full read/write capability
US5978902A (en) 1997-04-08 1999-11-02 Advanced Micro Devices, Inc. Debug interface including operating system access of a serial/parallel debug port
US5944841A (en) 1997-04-15 1999-08-31 Advanced Micro Devices, Inc. Microprocessor with built-in instruction tracing capability
GB9802097D0 (en) 1998-01-30 1998-03-25 Sgs Thomson Microelectronics DMA controller
GB9806184D0 (en) 1998-03-23 1998-05-20 Sgs Thomson Microelectronics A cache coherency mechanism
GB9809203D0 (en) 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Packet distribution in a microcomputer
US6173386B1 (en) * 1998-12-14 2001-01-09 Cisco Technology, Inc. Parallel processor with debug capability
US6345295B1 (en) * 1999-01-22 2002-02-05 International Business Machines Corporation Conducting traces in a computer system attachment network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247188A (ja) * 1996-10-31 1998-09-14 Sgs Thomson Microelectron Ltd マイクロコンピュータ
JPH10214201A (ja) * 1997-01-29 1998-08-11 Mitsubishi Electric Corp マイクロコンピュータ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008099657A1 (ja) * 2007-02-14 2008-08-21 Nec Corporation 半導体集積回路、デバッグ・トレース回路、および半導体集積回路動作観測方法
US7911216B2 (en) 2007-02-14 2011-03-22 Nec Corporation Semiconductor integrated circuit, debug/trace circuit and semiconductor integrated circuit operation observing method
KR101090556B1 (ko) * 2007-02-14 2011-12-08 닛본 덴끼 가부시끼가이샤 반도체 집적 회로, 디버그·트레이스 회로, 및 반도체 집적 회로 동작 관측 방법
JP5151996B2 (ja) * 2007-02-14 2013-02-27 日本電気株式会社 半導体集積回路及びデバッグ・トレース回路

Also Published As

Publication number Publication date
JP4987182B2 (ja) 2012-07-25
EP1089184A3 (en) 2003-11-26
US6557119B1 (en) 2003-04-29
EP1089184B1 (en) 2013-06-19
EP1089184A2 (en) 2001-04-04

Similar Documents

Publication Publication Date Title
JP4987182B2 (ja) コンピュータシステム
JP2001154876A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
JP4865943B2 (ja) コンピュータシステム
KR100439781B1 (ko) 데이터프로세서와그동작방법,그디버깅동작실행방법및그중단점값수정방법
US6463553B1 (en) Microcomputer debug architecture and method
US6598178B1 (en) Peripheral breakpoint signaler
US5640542A (en) On-chip in-circuit-emulator memory mapping and breakpoint register modules
US5978902A (en) Debug interface including operating system access of a serial/parallel debug port
EP0942372B1 (en) Processor with breakpoint circuit
EP0911735A2 (en) Microprocessor test system
US20050166092A1 (en) Emulation system with peripherals recording emulation frame when stop generated
JPH09114697A (ja) データプロセッサ
US5717851A (en) Breakpoint detection circuit in a data processor and method therefor
JPH09128265A (ja) データ処理システム
EP0942375B1 (en) Adapter device with a local memory and method for processor emulation
EP0942373B1 (en) Adapter device with a local memory and method for processor emulation
US6389498B1 (en) Microprocessor having addressable communication port
JP2008507025A (ja) 集積回路テスト用エミュレーション及びデバッグインターフェイス
US6647511B1 (en) Reconfigurable datapath for processor debug functions
JPH09218801A (ja) データプロセッサ
EP0942371B1 (en) Debugging method for a microcomputer
US11656964B2 (en) Processor with non-intrusive self-testing
US20020188813A1 (en) On-chip hardware breakpoint generator with comprehensive memory operation detection
US6510507B1 (en) Page address look-up range ram
US6606590B1 (en) Emulation system with address comparison unit and data comparison unit ownership arbitration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110309

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110810

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111228

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120203

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120327

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120425

R150 Certificate of patent or registration of utility model

Ref document number: 4987182

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees