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
Links
- 238000000034 method Methods 0.000 title claims abstract description 11
- 230000004044 response Effects 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000725101 Clea Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Abstract
(57)【要約】
【目的】集積回路マイクロプロセッサ及び命令CMMU
(キャッシュ及びメモリ管理ユニット)を含むタイプの
プロセッサ・システムにおいて任意の所定の命令アドレ
スにブレークポイント例外を設けるシステム及び方法を
提供すること。 【構成】本発明のシステムは、所定のブレークポイント
・アドレスを記憶する少なくとも1つのブレークポイン
ト・レジスタ、CMMUに送られるコード・アドレスを
ブレークポイント・レジスタ内の所定のブレークポイン
ト・アドレスと比較してアドレスの一致が検出されると
一致信号を生成する手段、及びCMMUに結合されかつ
前記一致信号に応答して前記CMMUにFAULT コード回
答信号を出させる手段を備え、それによってマイクロプ
ロセッサは例外を選択するように強制される。
(キャッシュ及びメモリ管理ユニット)を含むタイプの
プロセッサ・システムにおいて任意の所定の命令アドレ
スにブレークポイント例外を設けるシステム及び方法を
提供すること。 【構成】本発明のシステムは、所定のブレークポイント
・アドレスを記憶する少なくとも1つのブレークポイン
ト・レジスタ、CMMUに送られるコード・アドレスを
ブレークポイント・レジスタ内の所定のブレークポイン
ト・アドレスと比較してアドレスの一致が検出されると
一致信号を生成する手段、及びCMMUに結合されかつ
前記一致信号に応答して前記CMMUにFAULT コード回
答信号を出させる手段を備え、それによってマイクロプ
ロセッサは例外を選択するように強制される。
Description
【0001】
【産業上の利用分野】本発明は主に解析プログラム即ち
デバッグ・プログラムに用いるコンピュータ・プログラ
ムのためにハードウェアで実現されるブレークポイント
(breakpoint)の分野に関する。
デバッグ・プログラムに用いるコンピュータ・プログラ
ムのためにハードウェアで実現されるブレークポイント
(breakpoint)の分野に関する。
【0002】
【従来の技術】特に有用なソフトウェア・デバッグ・ツ
ールはブレークポイント機能である。ブレークポイント
機能は、種々のレジスタ及びメモリ・ロケーションを検
査することができる特定のプログラム・アドレスでプロ
グラム実行が終了することを強制する。
ールはブレークポイント機能である。ブレークポイント
機能は、種々のレジスタ及びメモリ・ロケーションを検
査することができる特定のプログラム・アドレスでプロ
グラム実行が終了することを強制する。
【0003】ブレークポイントはプロセッサ生成のアド
レスと所定のアドレスとを比較することにより実現され
る。生成されたアドレスが所定のアドレスと一致する
と、ブレークポイントが生じる。そしてコンピュータの
動作は中断され、解析を可能にする。
レスと所定のアドレスとを比較することにより実現され
る。生成されたアドレスが所定のアドレスと一致する
と、ブレークポイントが生じる。そしてコンピュータの
動作は中断され、解析を可能にする。
【0004】ブレークポイント機能を実現する既知の1
つの方法はソフトウェア(即ち、コンピュータ・プログ
ラム)自身を変更することである。ソフトウェア内の一
定のアドレスに、ソフトウェア・トラップを設けたこと
がある。しかしながら、この方法は割合に高価であり、
重大な不利点はソフトウェアを変更せねばならないこと
である。一般にソフトウェア変更は再コンパイル、即ち
開発システム上のコードの再アセンブリと、それに続く
目標システムのメモリへの新たなダウンロード(downloa
d)を必要とする。これはかなりの時間がかかる。更に、
前記コードは書換え不可能メモリ(例えば、PROM又はRO
M) に記憶されることがあり、ソフトウェア変更を実現
するためには取換える必要がある。
つの方法はソフトウェア(即ち、コンピュータ・プログ
ラム)自身を変更することである。ソフトウェア内の一
定のアドレスに、ソフトウェア・トラップを設けたこと
がある。しかしながら、この方法は割合に高価であり、
重大な不利点はソフトウェアを変更せねばならないこと
である。一般にソフトウェア変更は再コンパイル、即ち
開発システム上のコードの再アセンブリと、それに続く
目標システムのメモリへの新たなダウンロード(downloa
d)を必要とする。これはかなりの時間がかかる。更に、
前記コードは書換え不可能メモリ(例えば、PROM又はRO
M) に記憶されることがあり、ソフトウェア変更を実現
するためには取換える必要がある。
【0005】もう1つの方法はコンピュータ即ちマイク
ロプロセッサの外部のハードウェアを用いてブレークポ
イント中断を行う。この外部ハードウェアは、メモリか
ら命令が取出されるにつれてプロセッサにより生成され
るアドレス・ストリームをモニタし、各アドレスを所定
のブレークポイント・アドレスと比較する。両者が一致
すれば、ブレークポイントが生成される。この方法はソ
フトウェアを変更する必要がないという利点を有する
が、幾つかの不利点がある。
ロプロセッサの外部のハードウェアを用いてブレークポ
イント中断を行う。この外部ハードウェアは、メモリか
ら命令が取出されるにつれてプロセッサにより生成され
るアドレス・ストリームをモニタし、各アドレスを所定
のブレークポイント・アドレスと比較する。両者が一致
すれば、ブレークポイントが生成される。この方法はソ
フトウェアを変更する必要がないという利点を有する
が、幾つかの不利点がある。
【0006】一般に外部ハードウェアによる方法は高価
なハードウェア及びかなりの大きさの回路基板容積を必
要とする。更に、高速プロセッサの場合、システムの反
応速度はリアルタイム・ブレークポイントを与えるのに
十分な速さではないかも知れない。更に、マイクロプロ
セッサ・チップ自身に(アドレス変換のための)メモリ
管理ユニットを有するプロセッサの場合、ユーザは仮想
メモリ・アドレスをアクセスできないことがある。(論
理アドレスと異なる)物理アドレスにブレークポイント
を設定することは役立たないことがよくある。従って、
多くの場合、論理アドレスをアクセスするために、ブレ
ークポイント・ハードウェアはチップ自身内に設計され
ねばならない。
なハードウェア及びかなりの大きさの回路基板容積を必
要とする。更に、高速プロセッサの場合、システムの反
応速度はリアルタイム・ブレークポイントを与えるのに
十分な速さではないかも知れない。更に、マイクロプロ
セッサ・チップ自身に(アドレス変換のための)メモリ
管理ユニットを有するプロセッサの場合、ユーザは仮想
メモリ・アドレスをアクセスできないことがある。(論
理アドレスと異なる)物理アドレスにブレークポイント
を設定することは役立たないことがよくある。従って、
多くの場合、論理アドレスをアクセスするために、ブレ
ークポイント・ハードウェアはチップ自身内に設計され
ねばならない。
【0007】
【発明が解決しようとする課題】本発明の目的は集積回
路マイクロプロセッサ及び命令CMMU (キャッシュ及びメ
モリ管理ユニット) を含むタイプのプロセッサ・システ
ムにおける任意の所定の命令アドレスにブレークポイン
ト例外(exception) を設けるシステム及び方法を提供す
ることにある。
路マイクロプロセッサ及び命令CMMU (キャッシュ及びメ
モリ管理ユニット) を含むタイプのプロセッサ・システ
ムにおける任意の所定の命令アドレスにブレークポイン
ト例外(exception) を設けるシステム及び方法を提供す
ることにある。
【0008】
【課題を解決するための手段】前記集積回路マイクロプ
ロセッサ及び命令CMMUにおいて、コード・アドレスは命
令CMMUに送られ、命令CMMUはコード命令を戻し且つ、通
常の命令取出しからの例外が発生すると、FAULT (誤り)
コード信号を戻すことができる。マイクロプロセッサは
FAULT コード回答信号に応答して例外状態に強制され
る。このシステムは所定のブレークポイント・アドレス
を記憶する少なくとも1つのブレークポイント・レジス
タ、CMMUに送られるコード・アドレスをブレークポイン
ト・レジスタ内の所定のブレークポイント・アドレスと
比較し、アドレスの一致が検出されると一致信号を生成
する手段、及びCMMUに結合されかつ前記一致信号に応答
して前記CMMUにFAULT コード回答信号を出させる手段を
備え、それによってマイクロプロセッサは例外をとるよ
うに強制される。このシステムはモトローラ社のMC8810
0プロセッサ及びMC88200 CMMU で用いるのに特に適す
る。
ロセッサ及び命令CMMUにおいて、コード・アドレスは命
令CMMUに送られ、命令CMMUはコード命令を戻し且つ、通
常の命令取出しからの例外が発生すると、FAULT (誤り)
コード信号を戻すことができる。マイクロプロセッサは
FAULT コード回答信号に応答して例外状態に強制され
る。このシステムは所定のブレークポイント・アドレス
を記憶する少なくとも1つのブレークポイント・レジス
タ、CMMUに送られるコード・アドレスをブレークポイン
ト・レジスタ内の所定のブレークポイント・アドレスと
比較し、アドレスの一致が検出されると一致信号を生成
する手段、及びCMMUに結合されかつ前記一致信号に応答
して前記CMMUにFAULT コード回答信号を出させる手段を
備え、それによってマイクロプロセッサは例外をとるよ
うに強制される。このシステムはモトローラ社のMC8810
0プロセッサ及びMC88200 CMMU で用いるのに特に適す
る。
【0009】本発明の第一の利点は既存のコードを変更
せずにブレークポイントを設定できることである。従っ
て、再コンパイル及びダウンロードの時間が節約され
る。
せずにブレークポイントを設定できることである。従っ
て、再コンパイル及びダウンロードの時間が節約され
る。
【0010】本発明の第二の利点は正確な例外処理が可
能になることである。
能になることである。
【0011】本発明の第三の利点はプロセッサは一度に
1サイクルずつ進めることができることである。
1サイクルずつ進めることができることである。
【0012】
【実施例】モトローラ MC88100/MC88200 マイクロプロ
セッサ/CMMU (キャッシュ及びメモリ管理ユニット) シ
ステムで用いるのに特に適するブレークポイント・シス
テム及び方法について記述する。
セッサ/CMMU (キャッシュ及びメモリ管理ユニット) シ
ステムで用いるのに特に適するブレークポイント・シス
テム及び方法について記述する。
【0013】図1は本発明のシステムの1つの実施例の
ブロック図を示す。この発明は命令アドレス・ブレーク
ポイントにだけ関連するので、このシステムの命令取出
し部分だけが示されている。
ブロック図を示す。この発明は命令アドレス・ブレーク
ポイントにだけ関連するので、このシステムの命令取出
し部分だけが示されている。
【0014】マイクロプロセッサ102はコード・アドレ
ス・バス106、コード命令バス107 及びコード回答バス1
08 を介して命令CMMU 104に接続される。CMMU 104はメ
モリ・バス112によりメモリ110に接続される。ブレーク
ポイント・レジスタ及びロジック回路(BRLC)114はコー
ド・アドレス・バス106に接続される。チップ選択ライ
ン116はBRLC 114をCMMU 104のチップ選択端子に接続す
る。
ス・バス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
に接続する。
マイクロ・プロセッサが望ましい。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に返送できる。
ド回答信号: (1) WAIT(待機)、 (2) VALID(有効)[メモリ・アクセス・サイクル可
能]、又は (3) FAULT(誤り) の1つをコード回答バス108を介してマイクロプロセッ
サ102に返送できる。
【0017】これらのコード回答信号の1つが常にコー
ド回答バス108 上に存在する。例えば、マイクロプロセ
ッサ102から命令アドレスを受取ると、CMMU 104 は仮想
アドレスを検査する。もし前記アドレスが有効であれ
ば、CMMU 104は適切な物理アドレスをメモリ・バス112
に出力し、1又は2以上の命令を同じバスによって受取
る。この期間中、WAITコードがコード回答バス108 に挿
入される。ひとたび前記命令が取出され、マイクロプロ
セッサ102に送付できるようになれば、VALID回答コード
が挿入される。
ド回答バス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 にブレークポイント例
外を知らせる。
に接続される幾つかのCMMUのうちから選択するのに用い
られる。チップ選択ライン116 はシングル・ビット・ラ
インである。チップ選択ライン116 がチップ選択端子を
論理的にHIGH(1の状態)に引き上げると、CMMUは使用禁
止され、その結果、プルアップ抵抗器R1及びR2によりコ
ード回答バス108はFAULT状況(両ラインが論理的にHIGH
の状態)にされる。本発明はCMMU 104のチップ選択端子
を用いてマイクロプロセッサ102 にブレークポイント例
外を知らせる。
【0019】図2はブレークポイントの処理を示す流れ
図である。ステップ202 で、マイクロプロセッサ102は
コード・アドレスを出す。ステップ204で、BRLC 114は
出されたコード・アドレスと所定のブレークポイント・
アドレスとを比較する。ステップ206で、もし両者が一
致しなければ、マイクロプロセッサ102は該命令を取出
して実行する。
図である。ステップ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 信号により
命令アクセス例外を実行する。
レスが一致すれば、ブレークポイントが処理される。ス
テップ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)の内容が示さ
れる。
象のシーケンスについて図3の例により説明する。図3
にはコードのサンプルの抜粋302 が示されている。アド
レス1008はブレークポイントを生じるコード命令アドレ
スとして示される。ブロック304、306及び308 に、マイ
クロプロセッサ102の命令取出しポインタ(FIP)、次命令
ポインタ(NIP)及び命令実行ポインタ(XIP)の内容が示さ
れる。
【0022】ブロック304 は、ブレークポイントを生じ
る命令アドレスが取出されるときにFIP、NIP及びXIPの
内容を示す。ブレークポイント・アドレスはFIPの中に
ある。ブロック306 は次のマイクロプロセッサ・クロッ
ク・サイクル後のFIP、NIP及びXIP の内容を示す。ブレ
ークポイント・アドレスは、トランザクションが開始し
た後に、しかもコード回答信号(例えば、FAULT)をコー
ド回答バス108を介して受取る前にNIP に伝達される。
この動作が行われるのは命令取出し及びコード回答がパ
イプラインされるからである。
る命令アドレスが取出されるときにFIP、NIP及びXIPの
内容を示す。ブレークポイント・アドレスはFIPの中に
ある。ブロック306 は次のマイクロプロセッサ・クロッ
ク・サイクル後のFIP、NIP及びXIP の内容を示す。ブレ
ークポイント・アドレスは、トランザクションが開始し
た後に、しかもコード回答信号(例えば、FAULT)をコー
ド回答バス108を介して受取る前にNIP に伝達される。
この動作が行われるのは命令取出し及びコード回答がパ
イプラインされるからである。
【0023】例外後に完全に回復できるように、マイク
ロプロセッサ102 にある命令ユニットはFIP、NIP及びXI
P のコピーを内部レジスタに維持する。内部レジスタは
陰の命令パイプラインの一部であり、陰の取出し命令ポ
インタ(SFIP)、陰の次命令ポインタ(SNIP)、及び陰の命
令実行ポインタ(SXIP)として知られている。
ロプロセッサ102 にある命令ユニットはFIP、NIP及びXI
P のコピーを内部レジスタに維持する。内部レジスタは
陰の命令パイプラインの一部であり、陰の取出し命令ポ
インタ(SFIP)、陰の次命令ポインタ(SNIP)、及び陰の命
令実行ポインタ(SXIP)として知られている。
【0024】コード回答バス108でFAULT信号を受取る
と、マイクロプロセッサ102はNIP内の命令の実行を阻止
するように内部フラグをセットする。ブロック308 は、
次のマイクロプロセッサ・クロック・サイクル後のFI
P、NIP及びXIP の内容を示す。ブレークポイント・アド
レスは現在はXIP に伝達されている。ここで、最後のク
ロック・サイクル中にセットされた内部フラグにより、
XIP内の命令アドレスの"E"(誤り)がセットされる。もし
命令の実行が試みられれば、"E" ビットは命令アクセス
誤りを強制する。従って、マイクロプロセッサ102 はブ
レークポイント・アドレスにある命令を実行しない。
と、マイクロプロセッサ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)ルーチンは実行を制御できる。
外処理を開始する。マイクロプロセッサ102としてモト
ローラ社のMC88100を用いる場合の良好な実施例におい
て、プロセッサは実行情況(context)を凍結し(即ち、FI
P、NIP及びXIP の内容をSFIP、SNIP及びSXIPにそれぞれ
保存し)、浮動小数点ユニット(FPU)を凍結し、割込みを
明白に禁止し、レジスタ・スコアボードをクリア(clea
r) し、そして監視プログラム(supervisor)モードを開
始する。それによって、ブレークポイント・ハンドラ(h
andler)ルーチンは実行を制御できる。
【0026】例外が処理された後、マイクロプロセッサ
102 は、陰の命令パイプラインをバックアップ(back u
p) し、実行情況を復元し、そして例外を引起こした命
令による実行を再開始する。
102 は、陰の命令パイプラインをバックアップ(back u
p) し、実行情況を復元し、そして例外を引起こした命
令による実行を再開始する。
【0027】もしマイクロプロセッサ102 の単一サイク
ル・ステップ(即ち、一度に1命令の実行)を希望すれ
ば、それは例外ソフトウェアにより実現できる。単一サ
イクル・ステップ実行を行うには、例外ソフトウェア
は、実行情況が復元される前に、SFIP内の命令の"E"ビ
ットをセットする(FIPに復元される)。実行情況が復
元され通常の実行が再開始されると、マイクロプロセッ
サ102はXIP内の(前のブレークポイント例外を生じた)
命令を実行し、そして次の命令で例外をとる。
ル・ステップ(即ち、一度に1命令の実行)を希望すれ
ば、それは例外ソフトウェアにより実現できる。単一サ
イクル・ステップ実行を行うには、例外ソフトウェア
は、実行情況が復元される前に、SFIP内の命令の"E"ビ
ットをセットする(FIPに復元される)。実行情況が復
元され通常の実行が再開始されると、マイクロプロセッ
サ102はXIP内の(前のブレークポイント例外を生じた)
命令を実行し、そして次の命令で例外をとる。
【0028】ブレークポイント例外は、XIPにある命令
アドレス内の"V"(有効)ビットをソフトウェアでセット
させることにより禁止することができる。もし "V"ビッ
トがクリア(論理的に0に)されれば、"E"ビットは無
視される。MC88100の例外処理のより詳細な説明は、Mot
orola MC88100 User^s manual in Section 6 に記載さ
れている。
アドレス内の"V"(有効)ビットをソフトウェアでセット
させることにより禁止することができる。もし "V"ビッ
トがクリア(論理的に0に)されれば、"E"ビットは無
視される。MC88100の例外処理のより詳細な説明は、Mot
orola MC88100 User^s manual in Section 6 に記載さ
れている。
【0029】コード回答FAULT 信号(ブレークポイント
例外)は命令自身のステップでコード命令パイプライン
に伝達されるから、この方式は"正確な(precise)" 例外
を生じる。例外(中断)は該例外を生じたアドレスの命
令そのものにリンク(link)される。
例外)は命令自身のステップでコード命令パイプライン
に伝達されるから、この方式は"正確な(precise)" 例外
を生じる。例外(中断)は該例外を生じたアドレスの命
令そのものにリンク(link)される。
【0030】BRLC 114は図4に示す。BRLCはライン・レ
シーバ 404、n個のアドレス比較回路402、n入力ORゲ
ート406、ライン・ドライバ407を含む。各回路402は1
つのブレークポイント・アドレスを処理できるので、n
個のアドレス比較回路402はn個のブレークポイントの
使用を可能にする。回路402 は構造も動作も同じである
ので、その1つについてだけ説明する。
シーバ 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に入力される。
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 に接続される。
タ・バスを介してブレークポイント・レジスタ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で動
作される。
は、もし対応するラッチ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の時間遅延をシミュ
レートする。
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の遅延を導入するようにシフトされる。
遅延回路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に沿った伝達遅延は更に数ナノ秒程度の遅
延を与える。
る。遅延回路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によ
り生成されたコード回答信号のタイミングを示す。
形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の内部レジスタの
対応する内容とを示す図である。
外が処理されるときのプロセッサ102の内部レジスタの
対応する内容とを示す図である。
【図4】BRLC(ブレークポイント・レジスタ及びロジッ
ク回路)114 を示すブロック図である。
ク回路)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 ライン・ドライバ
回路) 116 チップ選択ライン 402 アドレス比較回路 404 ライン・レシーバ 406 n入力ORゲート 407 ライン・ドライバ 408 ブレークポイント・レジスタ 410 ブレークポイント・イネーブル・ラッチ 412 ブレークポイント・アドレス比較器 500 コード回答回路 502 ラッチ 504 ラッチ 506 遅延回路 508 ライン・ドライバ
Claims (4)
- 【請求項1】集積回路マイクロプロセッサと命令キャッ
シュ及びメモリ管理ユニット(CMMU)とを備え、コード・
アドレスが前記命令CMMUに送られかつ前記CMMUはコード
命令を返送するとともに、回答コードがないとき前記CM
MUはFAULT コード回答信号を返送し、前記FAULT コード
回答信号に応答して例外が前記マイクロプロセッサに強
制されるタイプのプロセッサ・システムにおいて、任意
の所定の命令アドレスでブレークポイント例外を与える
ブレークポイント・システムであって、 所定のブレークポイント・アドレスを記憶する少なくと
も1つのブレークポイント・レジスタ、 前記CMMUに送られるコード・アドレスと前記少なくとも
1つのブレークポイント・レジスタにある前記所定のブ
レークポイント・アドレスとを比較し、等しいアドレス
が検出されると一致信号を生成する手段、及び 前記CMMUに結合され、前記一致信号に応答して前記CMMU
にFAULT コード回答信号を出させ、それによってマイク
ロプロセッサで例外を強制する手段を備えるブレークポ
イント・システム。 - 【請求項2】前記CMMUは単一チップであり、かつ前記一
致信号はチップ選択入力に供給される請求項1のブレー
クポイント・システム。 - 【請求項3】ハードウェア支援ブレークポイント機能を
有するプロセッサ・システムであって、 コード・アドレスを出し、前記コード・アドレスに応答
して、実行のためのコード命令を受取るとともにコード
回答信号を受取り、FAULT コード回答信号により例外を
選択するように強制されるタイプの集積回路マイクロプ
ロセッサ、 前記マイクロプロセッサからのコード・アドレスを受取
りかつ前記マイクロプロセッサにコード命令を返送する
のに適応する命令キャッシュ及びメモリ管理ユニット(C
MMU)、 所定のブレークポイント・アドレスを記憶する少なくと
も1つのブレークポイント・レジスタ、 前記CMMUに送られる前記コード・アドレスと前記少なく
とも1つのブレークポイント・レジスタにある前記所定
のブレークポイント・アドレスとを比較し、等しいアド
レスが検出されると一致信号を生成する手段、 前記マイクロプロセッサに結合され前記一致信号に応答
してFAULT コード回答信号を生成する手段、及び 前記FAULT コード回答信号を前記マイクロプロセッサに
供給するための手段を備えるプロセッサ・システム。 - 【請求項4】集積回路マイクロプロセッサと命令キャッ
シュ及びメモリ管理ユニット(CMMU)とを備え、コード・
アドレスが前記命令CMMUに送られかつ前記CMMUはコード
命令及びコード回答信号を返送し、FAULT コード回答信
号により例外を選択するように強制されるタイプのプロ
セッサ・システムにハードウェア支援ブレークポイント
機能を設ける方法であって、 所定のブレークポイント・アドレスをブレークポイント
・レジスタに記憶するステップ、 前記マイクロプロセッサにより前記CMMUに送られたコー
ド・アドレスと前記所定のブレークポイント・アドレス
とを比較するステップ、 等しいアドレスが検出されると一致信号を生成するステ
ップ、及び 前記一致信号に応答してFAULT コード回答信号を生成
し、それによって前記マイクロプロセッサは前記所定の
ブレークポイント・アドレスで例外を選択するように強
制されるステップを含むハードウェア支援ブレークポイ
ント機能を設ける方法。
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)
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)
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)
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 |
-
1992
- 1992-03-30 JP JP4073742A patent/JP2505950B2/ja not_active Expired - Lifetime
- 1992-04-30 EP EP92303896A patent/EP0514042A1/en not_active Withdrawn
-
1993
- 1993-12-23 US US08/171,985 patent/US5371894A/en not_active Expired - Fee Related
Patent Citations (3)
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) | 마이콤 내부레지스터 및 램의 데이터를 디스플레이하기 위한 장치 |