JPH05100905A - ハードウエア支援ブレークポイント機能を有するシステム及び該機能を設ける方法 - Google Patents

ハードウエア支援ブレークポイント機能を有するシステム及び該機能を設ける方法

Info

Publication number
JPH05100905A
JPH05100905A JP4073742A JP7374292A JPH05100905A JP H05100905 A JPH05100905 A JP H05100905A JP 4073742 A JP4073742 A JP 4073742A JP 7374292 A JP7374292 A JP 7374292A JP H05100905 A JPH05100905 A JP H05100905A
Authority
JP
Japan
Prior art keywords
address
code
breakpoint
cmmu
microprocessor
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
JP4073742A
Other languages
English (en)
Other versions
JP2505950B2 (ja
Inventor
Michael T Dibrino
ミカエル・テイー・デイブリノ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05100905A publication Critical patent/JPH05100905A/ja
Application granted granted Critical
Publication of JP2505950B2 publication Critical patent/JP2505950B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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

Abstract

(57)【要約】 【目的】集積回路マイクロプロセッサ及び命令CMMU
(キャッシュ及びメモリ管理ユニット)を含むタイプの
プロセッサ・システムにおいて任意の所定の命令アドレ
スにブレークポイント例外を設けるシステム及び方法を
提供すること。 【構成】本発明のシステムは、所定のブレークポイント
・アドレスを記憶する少なくとも1つのブレークポイン
ト・レジスタ、CMMUに送られるコード・アドレスを
ブレークポイント・レジスタ内の所定のブレークポイン
ト・アドレスと比較してアドレスの一致が検出されると
一致信号を生成する手段、及びCMMUに結合されかつ
前記一致信号に応答して前記CMMUにFAULT コード回
答信号を出させる手段を備え、それによってマイクロプ
ロセッサは例外を選択するように強制される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は主に解析プログラム即ち
デバッグ・プログラムに用いるコンピュータ・プログラ
ムのためにハードウェアで実現されるブレークポイント
(breakpoint)の分野に関する。
【0002】
【従来の技術】特に有用なソフトウェア・デバッグ・ツ
ールはブレークポイント機能である。ブレークポイント
機能は、種々のレジスタ及びメモリ・ロケーションを検
査することができる特定のプログラム・アドレスでプロ
グラム実行が終了することを強制する。
【0003】ブレークポイントはプロセッサ生成のアド
レスと所定のアドレスとを比較することにより実現され
る。生成されたアドレスが所定のアドレスと一致する
と、ブレークポイントが生じる。そしてコンピュータの
動作は中断され、解析を可能にする。
【0004】ブレークポイント機能を実現する既知の1
つの方法はソフトウェア(即ち、コンピュータ・プログ
ラム)自身を変更することである。ソフトウェア内の一
定のアドレスに、ソフトウェア・トラップを設けたこと
がある。しかしながら、この方法は割合に高価であり、
重大な不利点はソフトウェアを変更せねばならないこと
である。一般にソフトウェア変更は再コンパイル、即ち
開発システム上のコードの再アセンブリと、それに続く
目標システムのメモリへの新たなダウンロード(downloa
d)を必要とする。これはかなりの時間がかかる。更に、
前記コードは書換え不可能メモリ(例えば、PROM又はRO
M) に記憶されることがあり、ソフトウェア変更を実現
するためには取換える必要がある。
【0005】もう1つの方法はコンピュータ即ちマイク
ロプロセッサの外部のハードウェアを用いてブレークポ
イント中断を行う。この外部ハードウェアは、メモリか
ら命令が取出されるにつれてプロセッサにより生成され
るアドレス・ストリームをモニタし、各アドレスを所定
のブレークポイント・アドレスと比較する。両者が一致
すれば、ブレークポイントが生成される。この方法はソ
フトウェアを変更する必要がないという利点を有する
が、幾つかの不利点がある。
【0006】一般に外部ハードウェアによる方法は高価
なハードウェア及びかなりの大きさの回路基板容積を必
要とする。更に、高速プロセッサの場合、システムの反
応速度はリアルタイム・ブレークポイントを与えるのに
十分な速さではないかも知れない。更に、マイクロプロ
セッサ・チップ自身に(アドレス変換のための)メモリ
管理ユニットを有するプロセッサの場合、ユーザは仮想
メモリ・アドレスをアクセスできないことがある。(論
理アドレスと異なる)物理アドレスにブレークポイント
を設定することは役立たないことがよくある。従って、
多くの場合、論理アドレスをアクセスするために、ブレ
ークポイント・ハードウェアはチップ自身内に設計され
ねばならない。
【0007】
【発明が解決しようとする課題】本発明の目的は集積回
路マイクロプロセッサ及び命令CMMU (キャッシュ及びメ
モリ管理ユニット) を含むタイプのプロセッサ・システ
ムにおける任意の所定の命令アドレスにブレークポイン
ト例外(exception) を設けるシステム及び方法を提供す
ることにある。
【0008】
【課題を解決するための手段】前記集積回路マイクロプ
ロセッサ及び命令CMMUにおいて、コード・アドレスは命
令CMMUに送られ、命令CMMUはコード命令を戻し且つ、通
常の命令取出しからの例外が発生すると、FAULT (誤り)
コード信号を戻すことができる。マイクロプロセッサは
FAULT コード回答信号に応答して例外状態に強制され
る。このシステムは所定のブレークポイント・アドレス
を記憶する少なくとも1つのブレークポイント・レジス
タ、CMMUに送られるコード・アドレスをブレークポイン
ト・レジスタ内の所定のブレークポイント・アドレスと
比較し、アドレスの一致が検出されると一致信号を生成
する手段、及びCMMUに結合されかつ前記一致信号に応答
して前記CMMUにFAULT コード回答信号を出させる手段を
備え、それによってマイクロプロセッサは例外をとるよ
うに強制される。このシステムはモトローラ社のMC8810
0プロセッサ及びMC88200 CMMU で用いるのに特に適す
る。
【0009】本発明の第一の利点は既存のコードを変更
せずにブレークポイントを設定できることである。従っ
て、再コンパイル及びダウンロードの時間が節約され
る。
【0010】本発明の第二の利点は正確な例外処理が可
能になることである。
【0011】本発明の第三の利点はプロセッサは一度に
1サイクルずつ進めることができることである。
【0012】
【実施例】モトローラ MC88100/MC88200 マイクロプロ
セッサ/CMMU (キャッシュ及びメモリ管理ユニット) シ
ステムで用いるのに特に適するブレークポイント・シス
テム及び方法について記述する。
【0013】図1は本発明のシステムの1つの実施例の
ブロック図を示す。この発明は命令アドレス・ブレーク
ポイントにだけ関連するので、このシステムの命令取出
し部分だけが示されている。
【0014】マイクロプロセッサ102はコード・アドレ
ス・バス106、コード命令バス107 及びコード回答バス1
08 を介して命令CMMU 104に接続される。CMMU 104はメ
モリ・バス112によりメモリ110に接続される。ブレーク
ポイント・レジスタ及びロジック回路(BRLC)114はコー
ド・アドレス・バス106に接続される。チップ選択ライ
ン116はBRLC 114をCMMU 104のチップ選択端子に接続す
る。
【0015】マイクロプロセッサ102はできればMC88100
マイクロ・プロセッサが望ましい。CMMU 104はできれば
MC88200 キャッシュ及びメモリ管理ユニットが望まし
い。しかしながら、MC88204(64 KBキャッシュ)CMMUはMC
88200(16 KBキャッシュ)CMMUとピン毎に互換性があり、
代わりに用いることができる。コード・アドレス・バス
106 は30ビット・ワード・アドレス・バスである。この
バスによりマイクロプロセッサ102 はCMMU 104に仮想命
令(コード)アドレスを供給できる。CMMU 104は仮想アド
レスを物理アドレスに変換し、要求された命令について
その内部キャッシュを検査する。もし要求された命令が
内部キャッシュ内にあれば、CMMU 104はコード命令バス
107を介してそれをマイクロプロセッサ102に返送する。
もし要求された命令が内部キャッシュ内になければ、CM
MU 104は適切な命令を含む1又は2以上のワードをメモ
リ・バス112を介してメモリ110から取出し、取出された
命令をコード命令バス107を介してマイクロプロセッサ1
02に返送する。メモリ・バス112は32ビット幅の両方向
性バスである。コード回答バス108は、命令取出し状況
情報をマイクロプロセッサ102に供給する2ビット幅の
バスである。MC88100の場合、コード回答バス108 はピ
ンCR0及びCR1(図示せず)に接続される。プルアップ抵抗
器R1及びR2はコード回答バス108をロジック電源電圧Vcc
に接続する。
【0016】CMMU 104は、下記の起こりうる3つのコー
ド回答信号: (1) WAIT(待機)、 (2) VALID(有効)[メモリ・アクセス・サイクル可
能]、又は (3) FAULT(誤り) の1つをコード回答バス108を介してマイクロプロセッ
サ102に返送できる。
【0017】これらのコード回答信号の1つが常にコー
ド回答バス108 上に存在する。例えば、マイクロプロセ
ッサ102から命令アドレスを受取ると、CMMU 104 は仮想
アドレスを検査する。もし前記アドレスが有効であれ
ば、CMMU 104は適切な物理アドレスをメモリ・バス112
に出力し、1又は2以上の命令を同じバスによって受取
る。この期間中、WAITコードがコード回答バス108 に挿
入される。ひとたび前記命令が取出され、マイクロプロ
セッサ102に送付できるようになれば、VALID回答コード
が挿入される。
【0018】通常、CMMU 104のチップ選択端子は、並列
に接続される幾つかのCMMUのうちから選択するのに用い
られる。チップ選択ライン116 はシングル・ビット・ラ
インである。チップ選択ライン116 がチップ選択端子を
論理的にHIGH(1の状態)に引き上げると、CMMUは使用禁
止され、その結果、プルアップ抵抗器R1及びR2によりコ
ード回答バス108はFAULT状況(両ラインが論理的にHIGH
の状態)にされる。本発明はCMMU 104のチップ選択端子
を用いてマイクロプロセッサ102 にブレークポイント例
外を知らせる。
【0019】図2はブレークポイントの処理を示す流れ
図である。ステップ202 で、マイクロプロセッサ102は
コード・アドレスを出す。ステップ204で、BRLC 114は
出されたコード・アドレスと所定のブレークポイント・
アドレスとを比較する。ステップ206で、もし両者が一
致しなければ、マイクロプロセッサ102は該命令を取出
して実行する。
【0020】ステップ206 で、もしBRLC 114で前記アド
レスが一致すれば、ブレークポイントが処理される。ス
テップ208で、チップ選択ライン116は一致信号(論理的
にHIGH)を示す状態にされ、ステップ210 で、CMMU 104
はプルアップ抵抗器RI及びR2によりコード回答バス108
をFAULT信号の状態にする。ステップ212 で、マイクロ
プロセッサ102はコード回答バス108のFAULT 信号により
命令アクセス例外を実行する。
【0021】マイクロプロセッサ102 の内部に起きる事
象のシーケンスについて図3の例により説明する。図3
にはコードのサンプルの抜粋302 が示されている。アド
レス1008はブレークポイントを生じるコード命令アドレ
スとして示される。ブロック304、306及び308 に、マイ
クロプロセッサ102の命令取出しポインタ(FIP)、次命令
ポインタ(NIP)及び命令実行ポインタ(XIP)の内容が示さ
れる。
【0022】ブロック304 は、ブレークポイントを生じ
る命令アドレスが取出されるときにFIP、NIP及びXIPの
内容を示す。ブレークポイント・アドレスはFIPの中に
ある。ブロック306 は次のマイクロプロセッサ・クロッ
ク・サイクル後のFIP、NIP及びXIP の内容を示す。ブレ
ークポイント・アドレスは、トランザクションが開始し
た後に、しかもコード回答信号(例えば、FAULT)をコー
ド回答バス108を介して受取る前にNIP に伝達される。
この動作が行われるのは命令取出し及びコード回答がパ
イプラインされるからである。
【0023】例外後に完全に回復できるように、マイク
ロプロセッサ102 にある命令ユニットはFIP、NIP及びXI
P のコピーを内部レジスタに維持する。内部レジスタは
陰の命令パイプラインの一部であり、陰の取出し命令ポ
インタ(SFIP)、陰の次命令ポインタ(SNIP)、及び陰の命
令実行ポインタ(SXIP)として知られている。
【0024】コード回答バス108でFAULT信号を受取る
と、マイクロプロセッサ102はNIP内の命令の実行を阻止
するように内部フラグをセットする。ブロック308 は、
次のマイクロプロセッサ・クロック・サイクル後のFI
P、NIP及びXIP の内容を示す。ブレークポイント・アド
レスは現在はXIP に伝達されている。ここで、最後のク
ロック・サイクル中にセットされた内部フラグにより、
XIP内の命令アドレスの"E"(誤り)がセットされる。もし
命令の実行が試みられれば、"E" ビットは命令アクセス
誤りを強制する。従って、マイクロプロセッサ102 はブ
レークポイント・アドレスにある命令を実行しない。
【0025】この時点で、マイクロプロセッサ102 は例
外処理を開始する。マイクロプロセッサ102としてモト
ローラ社のMC88100を用いる場合の良好な実施例におい
て、プロセッサは実行情況(context)を凍結し(即ち、FI
P、NIP及びXIP の内容をSFIP、SNIP及びSXIPにそれぞれ
保存し)、浮動小数点ユニット(FPU)を凍結し、割込みを
明白に禁止し、レジスタ・スコアボードをクリア(clea
r) し、そして監視プログラム(supervisor)モードを開
始する。それによって、ブレークポイント・ハンドラ(h
andler)ルーチンは実行を制御できる。
【0026】例外が処理された後、マイクロプロセッサ
102 は、陰の命令パイプラインをバックアップ(back u
p) し、実行情況を復元し、そして例外を引起こした命
令による実行を再開始する。
【0027】もしマイクロプロセッサ102 の単一サイク
ル・ステップ(即ち、一度に1命令の実行)を希望すれ
ば、それは例外ソフトウェアにより実現できる。単一サ
イクル・ステップ実行を行うには、例外ソフトウェア
は、実行情況が復元される前に、SFIP内の命令の"E"ビ
ットをセットする(FIPに復元される)。実行情況が復
元され通常の実行が再開始されると、マイクロプロセッ
サ102はXIP内の(前のブレークポイント例外を生じた)
命令を実行し、そして次の命令で例外をとる。
【0028】ブレークポイント例外は、XIPにある命令
アドレス内の"V"(有効)ビットをソフトウェアでセット
させることにより禁止することができる。もし "V"ビッ
トがクリア(論理的に0に)されれば、"E"ビットは無
視される。MC88100の例外処理のより詳細な説明は、Mot
orola MC88100 User^s manual in Section 6 に記載さ
れている。
【0029】コード回答FAULT 信号(ブレークポイント
例外)は命令自身のステップでコード命令パイプライン
に伝達されるから、この方式は"正確な(precise)" 例外
を生じる。例外(中断)は該例外を生じたアドレスの命
令そのものにリンク(link)される。
【0030】BRLC 114は図4に示す。BRLCはライン・レ
シーバ 404、n個のアドレス比較回路402、n入力ORゲ
ート406、ライン・ドライバ407を含む。各回路402は1
つのブレークポイント・アドレスを処理できるので、n
個のアドレス比較回路402はn個のブレークポイントの
使用を可能にする。回路402 は構造も動作も同じである
ので、その1つについてだけ説明する。
【0031】各回路402はブレークポイント・レジスタ4
08、ブレークポイント・イネーブル・ラッチ410及びブ
レークポイント・アドレス比較器412を含む。レシーバ4
04 の入力はコード・アドレス・バス106に接続される。
レシーバ404の出力は比較器412に入力される。レジスタ
408はブレークポイント・アドレスの記憶に用いる32ビ
ット・レジスタである。レジスタ408 はデータ・バスを
介して保守コードによりロードされる。レジスタ408の
出力は比較器412に入力される。ラッチ410 も保守コー
ドによりロードされる1ビット・ラッチである。ラッチ
410の出力は比較器412に入力される。
【0032】所定のブレークポイント・アドレスはデー
タ・バスを介してブレークポイント・レジスタ408 に供
給される。コード・アドレスはワード・アドレスである
ので、2つの最下位のビットは常に0である。コード・
アドレス・バス106 からのコード・アドレスはレシーバ
404により比較器412に引渡される。比較器412 は30ビッ
ト比較器である。ラッチ410 からの信号はイネーブル信
号として動作する。従って、もしコード・アドレス・バ
ス106 からのアドレスがブレークポイント・レジスタ40
8からのアドレスに一致し且つラッチ410が論理的なHIGH
(1)にセットされれば、比較器412は論理的なHIGHを出
力する。各回路402の各比較器412 からの単一ビット出
力はORゲート406 で論理的に"OR"(論理和)演算され
る。ORゲート406の出力は、チップ選択ライン116を駆動
するライン・ドライバ407 に接続される。
【0033】任意のブレークポイント・アドレスの一致
は、もし対応するラッチ410 が論理的なHIGHにセットさ
れれば、チップ選択ライン116 に一致信号(論理的なHIG
H)を表示させる。一致信号はブレークポイント例外プロ
セスを開始する。ブレークポイント信号とMC88100のコ
ード回答入力とのタイミングは、MC88100/MC88200信号
タイミング要求に関して "緊密(tight)"である。よっ
て、タイミング信号にもっと余裕を与えるために、MC88
100及びMC88200は定格の33 MHzよりはむしろ25 MHzで動
作される。
【0034】MC88100マイクロプロセッサ(102)がMC8820
0 CMMU(104) なしに用いられる場合の本発明の代替実施
例では、正しいタイミング特性を有するコード回答信号
を直に生成するコード回答回路500を用いることができ
る。コード回答回路500は図5に示される。ORゲート406
によって生成された一致信号は(ライン・ドライバ407
の前に)コード回答回路500に入力されてコード回答信
号を生成するとともにMC88200 CMMUの時間遅延をシミュ
レートする。
【0035】コード回答回路500はラッチ502及び504、
遅延回路506、並びにライン・ドライバ508を含む。ラッ
チ502及び504 はレベル感応走査設計(LSSD)ラッチであ
る。ORゲート406からのチップ選択信号はラッチ502の信
号入力に供給される。シフトされたクロック"C"及びシ
フトされたクロック"B"は外部回路(図示せず)により生
成される。クロック"C"及び"B"はラッチ502及び504のク
ロック入力にそれぞれ接続される。ラッチ502及び504は
LSSDラッチ対を形成する。クロック"C"及び"B"はMC8810
0システム・クロックに関してラッチ502及び504の組合
せが20 nsの遅延を導入するようにシフトされる。
【0036】ラッチ504の出力は遅延回路506に供給され
る。遅延回路506 により更に数ナノ秒の遅延が一致信号
に生じる。遅延回路506の遅延は10 nsを越えてはならな
い。遅延回路506の出力はライン・ドライバ508に接続さ
れる。ライン・ドライバ 508はコード回答信号(遅延し
た一致信号)をコード回答バス108 に出力する。コード
回答バス108に沿った伝達遅延は更に数ナノ秒程度の遅
延を与える。
【0037】図6はサンプル・タイミング図を示す。波
形602はMC88100システム・クロックを示す。波形604及
び606はシフトされたクロック "C"及び "B"をそれぞれ
示す。シフトされたクロック "C"の後縁及びシフトされ
たクロック "B"の前縁の各々はMC88100システム・クロ
ックの前縁から20 ns遅延する。波形608 はコード・ア
ドレス・バス106のタイミングを示す。波形610はORゲー
ト406 からのサンプル一致信号のタイミングを示す。波
形612はMC88200チップ選択端子のタイミング要求を示
す。波形614はMC88100コード回答端子(CR0及びCR1)のタ
イミング要求を示す。波形616はコード回答回路500によ
り生成されたコード回答信号のタイミングを示す。
【図面の簡単な説明】
【図1】本発明のシステムを示すブロック図である。
【図2】ブレークポイント例外の処理を示す流れ図であ
る。
【図3】サンプル・コードの抜粋とブレークポイント例
外が処理されるときのプロセッサ102の内部レジスタの
対応する内容とを示す図である。
【図4】BRLC(ブレークポイント・レジスタ及びロジッ
ク回路)114 を示すブロック図である。
【図5】コード回答回路500のブロック図である。
【図6】本発明のサンプル・タイミング図である。
【符号の説明】
102 マイクロプロセッサ 104 命令CMMU 106 コード・アドレス・バス 107 コード命令バス 108 コード回答バス 110 メモリ 112 メモリ・バス 114 BRLC(ブレークポイント・レジスタ及びロジック
回路) 116 チップ選択ライン 402 アドレス比較回路 404 ライン・レシーバ 406 n入力ORゲート 407 ライン・ドライバ 408 ブレークポイント・レジスタ 410 ブレークポイント・イネーブル・ラッチ 412 ブレークポイント・アドレス比較器 500 コード回答回路 502 ラッチ 504 ラッチ 506 遅延回路 508 ライン・ドライバ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】集積回路マイクロプロセッサと命令キャッ
    シュ及びメモリ管理ユニット(CMMU)とを備え、コード・
    アドレスが前記命令CMMUに送られかつ前記CMMUはコード
    命令を返送するとともに、回答コードがないとき前記CM
    MUはFAULT コード回答信号を返送し、前記FAULT コード
    回答信号に応答して例外が前記マイクロプロセッサに強
    制されるタイプのプロセッサ・システムにおいて、任意
    の所定の命令アドレスでブレークポイント例外を与える
    ブレークポイント・システムであって、 所定のブレークポイント・アドレスを記憶する少なくと
    も1つのブレークポイント・レジスタ、 前記CMMUに送られるコード・アドレスと前記少なくとも
    1つのブレークポイント・レジスタにある前記所定のブ
    レークポイント・アドレスとを比較し、等しいアドレス
    が検出されると一致信号を生成する手段、及び 前記CMMUに結合され、前記一致信号に応答して前記CMMU
    にFAULT コード回答信号を出させ、それによってマイク
    ロプロセッサで例外を強制する手段を備えるブレークポ
    イント・システム。
  2. 【請求項2】前記CMMUは単一チップであり、かつ前記一
    致信号はチップ選択入力に供給される請求項1のブレー
    クポイント・システム。
  3. 【請求項3】ハードウェア支援ブレークポイント機能を
    有するプロセッサ・システムであって、 コード・アドレスを出し、前記コード・アドレスに応答
    して、実行のためのコード命令を受取るとともにコード
    回答信号を受取り、FAULT コード回答信号により例外を
    選択するように強制されるタイプの集積回路マイクロプ
    ロセッサ、 前記マイクロプロセッサからのコード・アドレスを受取
    りかつ前記マイクロプロセッサにコード命令を返送する
    のに適応する命令キャッシュ及びメモリ管理ユニット(C
    MMU)、 所定のブレークポイント・アドレスを記憶する少なくと
    も1つのブレークポイント・レジスタ、 前記CMMUに送られる前記コード・アドレスと前記少なく
    とも1つのブレークポイント・レジスタにある前記所定
    のブレークポイント・アドレスとを比較し、等しいアド
    レスが検出されると一致信号を生成する手段、 前記マイクロプロセッサに結合され前記一致信号に応答
    してFAULT コード回答信号を生成する手段、及び 前記FAULT コード回答信号を前記マイクロプロセッサに
    供給するための手段を備えるプロセッサ・システム。
  4. 【請求項4】集積回路マイクロプロセッサと命令キャッ
    シュ及びメモリ管理ユニット(CMMU)とを備え、コード・
    アドレスが前記命令CMMUに送られかつ前記CMMUはコード
    命令及びコード回答信号を返送し、FAULT コード回答信
    号により例外を選択するように強制されるタイプのプロ
    セッサ・システムにハードウェア支援ブレークポイント
    機能を設ける方法であって、 所定のブレークポイント・アドレスをブレークポイント
    ・レジスタに記憶するステップ、 前記マイクロプロセッサにより前記CMMUに送られたコー
    ド・アドレスと前記所定のブレークポイント・アドレス
    とを比較するステップ、 等しいアドレスが検出されると一致信号を生成するステ
    ップ、及び 前記一致信号に応答してFAULT コード回答信号を生成
    し、それによって前記マイクロプロセッサは前記所定の
    ブレークポイント・アドレスで例外を選択するように強
    制されるステップを含むハードウェア支援ブレークポイ
    ント機能を設ける方法。
JP4073742A 1991-05-13 1992-03-30 ハ―ドウェア支援ブレ―クポイント・システム Expired - Lifetime JP2505950B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70000091A 1991-05-13 1991-05-13
US700000 1996-08-20

Publications (2)

Publication Number Publication Date
JPH05100905A true JPH05100905A (ja) 1993-04-23
JP2505950B2 JP2505950B2 (ja) 1996-06-12

Family

ID=24811809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4073742A Expired - Lifetime JP2505950B2 (ja) 1991-05-13 1992-03-30 ハ―ドウェア支援ブレ―クポイント・システム

Country Status (3)

Country Link
US (1) US5371894A (ja)
EP (1) EP0514042A1 (ja)
JP (1) JP2505950B2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537559A (en) * 1994-02-08 1996-07-16 Meridian Semiconductor, Inc. Exception handling circuit and method
US5652872A (en) * 1994-03-08 1997-07-29 Exponential Technology, Inc. Translator having segment bounds encoding for storage in a TLB
US5664159A (en) * 1994-03-08 1997-09-02 Exponential Technology, Inc. Method for emulating multiple debug breakpoints by page partitioning using a single breakpoint register
US5440710A (en) * 1994-03-08 1995-08-08 Exponential Technology, Inc. Emulation of segment bounds checking using paging with sub-page validity
US5717851A (en) * 1994-08-15 1998-02-10 Motorola, Inc. Breakpoint detection circuit in a data processor and method therefor
US5581776A (en) * 1995-02-03 1996-12-03 Nokia Mobile Phones Limited Branch control system for rom-programmed processor
US5600790A (en) * 1995-02-10 1997-02-04 Research In Motion Limited Method and system for loading and confirming correct operation of an application program in a target system
US6052801A (en) * 1995-05-10 2000-04-18 Intel Corporation Method and apparatus for providing breakpoints on a selectable address range
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
US5740413A (en) * 1995-06-19 1998-04-14 Intel Corporation Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
US5754839A (en) * 1995-08-28 1998-05-19 Motorola, Inc. Apparatus and method for implementing watchpoints and breakpoints in a data processing system
US5964893A (en) * 1995-08-30 1999-10-12 Motorola, Inc. Data processing system for performing a trace function and method therefor
US5889981A (en) * 1996-05-07 1999-03-30 Lucent Technologies Inc. Apparatus and method for decoding instructions marked with breakpoint codes to select breakpoint action from plurality of breakpoint actions
US5931956A (en) * 1997-06-10 1999-08-03 Atmel Corporation Digital circuit using memory for monitoring signals for occurrences of predefined breakpoint conditions
US7065633B1 (en) 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US7275246B1 (en) 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US8065504B2 (en) 1999-01-28 2011-11-22 Ati International Srl Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US6549959B1 (en) 1999-08-30 2003-04-15 Ati International Srl Detecting modification to computer memory by a DMA device
US6934832B1 (en) 2000-01-18 2005-08-23 Ati International Srl Exception mechanism for a computer
US6934937B1 (en) * 2000-03-30 2005-08-23 Broadcom Corporation Multi-channel, multi-service debug on a pipelined CPU architecture
US6829701B2 (en) * 2000-12-15 2004-12-07 Intel Corporation Watchpoint engine for a pipelined processor
US20020188813A1 (en) * 2001-05-04 2002-12-12 Hugo Cheung On-chip hardware breakpoint generator with comprehensive memory operation detection
US7055140B2 (en) * 2002-05-01 2006-05-30 Seiko Epson Corporation Software breakpoints implementation via specially named function
US7334161B2 (en) * 2004-04-30 2008-02-19 Arm Limited Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
CN101777021B (zh) * 2010-01-21 2012-07-04 龙芯中科技术有限公司 微处理器中精确数据断点的实现装置及其方法
US9367316B2 (en) 2012-03-16 2016-06-14 International Business Machines Corporation Run-time instrumentation indirect sampling by instruction operation code
US9250902B2 (en) 2012-03-16 2016-02-02 International Business Machines Corporation Determining the status of run-time-instrumentation controls
US9411591B2 (en) 2012-03-16 2016-08-09 International Business Machines Corporation Run-time instrumentation sampling in transactional-execution mode
US9483268B2 (en) 2012-03-16 2016-11-01 International Business Machines Corporation Hardware based run-time instrumentation facility for managed run-times
US9430238B2 (en) 2012-03-16 2016-08-30 International Business Machines Corporation Run-time-instrumentation controls emit instruction
US9158660B2 (en) 2012-03-16 2015-10-13 International Business Machines Corporation Controlling operation of a run-time instrumentation facility
US9454462B2 (en) 2012-03-16 2016-09-27 International Business Machines Corporation Run-time instrumentation monitoring for processor characteristic changes
US9280447B2 (en) 2012-03-16 2016-03-08 International Business Machines Corporation Modifying run-time-instrumentation controls from a lesser-privileged state
US9465716B2 (en) 2012-03-16 2016-10-11 International Business Machines Corporation Run-time instrumentation directed sampling
US9471315B2 (en) 2012-03-16 2016-10-18 International Business Machines Corporation Run-time instrumentation reporting
US9405541B2 (en) * 2012-03-16 2016-08-02 International Business Machines Corporation Run-time instrumentation indirect sampling by address
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS562047A (en) * 1979-06-19 1981-01-10 Toshiba Corp Debugging unit
JPS61211746A (ja) * 1985-03-18 1986-09-19 Fujitsu Ltd プログラム実行制御方式
JPS63104151A (ja) * 1986-10-21 1988-05-09 Nec Corp トレ−ス機能付きマイクロプロセサ

Family Cites Families (25)

* 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
US4972388A (en) * 1975-02-13 1990-11-20 The United States Of Americas As Represented By The Secretary Of The Navy Electrical cable marker
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
JPS5582359A (en) * 1978-12-18 1980-06-21 Toshiba Corp Microprogram test unit
US4338660A (en) * 1979-04-13 1982-07-06 Relational Memory Systems, Inc. Relational break signal generating device
JPS5785145A (en) * 1980-11-18 1982-05-27 Fujitsu Ltd Address detection system
JPS58115546A (ja) * 1981-12-29 1983-07-09 Fujitsu Ltd ハ−ドウエアブレ−クポインタを内蔵したマイクロコンピユ−タ
JPS58197553A (ja) * 1982-05-12 1983-11-17 Mitsubishi Electric Corp プログラム監視装置
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
CA1223079A (en) * 1984-06-27 1987-06-16 William C. Moyer Data processor having selective breakpoint capability with minimal overhead
US4813009A (en) * 1984-11-02 1989-03-14 Tektronix, Inc. Method and apparatus for determining internal status of a processor
US5173872A (en) * 1985-06-13 1992-12-22 Intel Corporation Content addressable memory for microprocessor system
US5053944A (en) * 1986-01-24 1991-10-01 Intel Corporation Microprocessor breakpoint apparatus
US4860195A (en) * 1986-01-24 1989-08-22 Intel Corporation Microprocessor breakpoint apparatus
US5165027A (en) * 1986-01-24 1992-11-17 Intel Corporation Microprocessor breakpoint apparatus
JPH0731615B2 (ja) * 1986-04-18 1995-04-10 日本電気株式会社 情報処理装置
JPS6362039A (ja) * 1986-09-03 1988-03-18 Mitsubishi Electric Corp 計算機
GB2197506A (en) * 1986-10-27 1988-05-18 Burr Brown Ltd Providing and handling break points in a software monitor
JPS63155336A (ja) * 1986-12-19 1988-06-28 Hitachi Ltd デ−タ処理装置
US4819234A (en) * 1987-05-01 1989-04-04 Prime Computer, Inc. Operating system debugger
JP2589713B2 (ja) * 1987-11-20 1997-03-12 株式会社日立製作所 データプロセッサ及びデータ処理システム
JPH01154254A (ja) * 1987-12-10 1989-06-16 Ricoh Co Ltd デバック方式
EP0346915A3 (en) * 1988-06-17 1991-03-13 Modular Computer Systems Inc. Cache breakpoint system for computers
US5113572A (en) * 1990-10-17 1992-05-19 The Ball And Socket Manufacturing Company Of Delaware, Inc. Machine and method for automatically assembling buttons

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS562047A (en) * 1979-06-19 1981-01-10 Toshiba Corp Debugging unit
JPS61211746A (ja) * 1985-03-18 1986-09-19 Fujitsu Ltd プログラム実行制御方式
JPS63104151A (ja) * 1986-10-21 1988-05-09 Nec Corp トレ−ス機能付きマイクロプロセサ

Also Published As

Publication number Publication date
EP0514042A1 (en) 1992-11-19
JP2505950B2 (ja) 1996-06-12
US5371894A (en) 1994-12-06

Similar Documents

Publication Publication Date Title
JP2505950B2 (ja) ハ―ドウェア支援ブレ―クポイント・システム
US5758058A (en) Apparatus and method for initializing a master/checker fault detecting microprocessor
US6223228B1 (en) Apparatus for synchronizing multiple processors in a data processing system
EP0528585B1 (en) Data processing system with internal instruction cache
US7689867B2 (en) Multiprocessor breakpoint
EP0391173B1 (en) Debug peripheral for microcomputers, microprocessors and core processor integrated circuits and system using the same
US7197671B2 (en) Generation of trace elements within a data processing apparatus
US6571359B1 (en) Systems and methods for testing processors
US5165027A (en) Microprocessor breakpoint apparatus
US6857084B1 (en) Multiprocessor system and method for simultaneously placing all processors into debug mode
US6769076B1 (en) Real-time processor debug system
US5157780A (en) Master-slave checking system
US5961633A (en) Execution of data processing instructions
US11803455B2 (en) Processor with debug pipeline
JP3397230B2 (ja) デバッグシステム
US5574937A (en) Method and apparatus for improving instruction tracing operations in a computer system
JPH1083305A (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
US6249880B1 (en) Method and apparatus for exhaustively testing interactions among multiple processors
US6230263B1 (en) Data processing system processor delay instruction
US6052700A (en) Calendar clock caching in a multiprocessor data processing system
US7100027B1 (en) System and method for reproducing system executions using a replay handler
Tamir et al. The UCLA mirror processor: A building block for self-checking self-repairing computing nodes
US20030163674A1 (en) Data processing apparatus, processor unit and debugging unit
JP2520158B2 (ja) ディジタルシグナルプロセッサのデバッグ方式
KR0150161B1 (ko) 마이콤 내부레지스터 및 램의 데이터를 디스플레이하기 위한 장치