JPH0573356A - デバツグ支援方法 - Google Patents
デバツグ支援方法Info
- Publication number
- JPH0573356A JPH0573356A JP3258769A JP25876991A JPH0573356A JP H0573356 A JPH0573356 A JP H0573356A JP 3258769 A JP3258769 A JP 3258769A JP 25876991 A JP25876991 A JP 25876991A JP H0573356 A JPH0573356 A JP H0573356A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- bits
- bit
- watching
- 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 description 24
- 238000012544 monitoring process Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 4
- 239000000725 suspension Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 処理を一時停止させ、プログラムのデバッグ
を行なう場合において、処理を一時停止するための例外
の発生頻度を抑え、デバッグ時のオーバヘッドを小さく
することのできるデバッグ支援方法を提供することを目
的とする。 【構成】 予め設定された特定のアドレスがアクセスさ
れたとき、アクセス対象となるデータの属性を判断す
る。この判断の結果、データの属性が予め設定された属
性の場合、処理を一時停止させる。
を行なう場合において、処理を一時停止するための例外
の発生頻度を抑え、デバッグ時のオーバヘッドを小さく
することのできるデバッグ支援方法を提供することを目
的とする。 【構成】 予め設定された特定のアドレスがアクセスさ
れたとき、アクセス対象となるデータの属性を判断す
る。この判断の結果、データの属性が予め設定された属
性の場合、処理を一時停止させる。
Description
【0001】
【産業上の利用分野】本発明は、プログラムの処理を一
時停止させてデバッグを行なうデバッグ支援方法に関す
る。
時停止させてデバッグを行なうデバッグ支援方法に関す
る。
【0002】
【従来の技術】プログラムの開発過程で、仕上り状況を
評価するため、デバッグと呼ばれる作業が実施される。
デバッグ作業の支援方法(デバッグ支援方法)として、
命令トレース、メモリアクセストレース、ウォッチポイ
ント機構による方法等が一般に知られている。命令トレ
ースのデバッグ支援方法(第1の方法)は、1命令毎に
処理を一時停止し、その時点の状態を調べるものであ
る。
評価するため、デバッグと呼ばれる作業が実施される。
デバッグ作業の支援方法(デバッグ支援方法)として、
命令トレース、メモリアクセストレース、ウォッチポイ
ント機構による方法等が一般に知られている。命令トレ
ースのデバッグ支援方法(第1の方法)は、1命令毎に
処理を一時停止し、その時点の状態を調べるものであ
る。
【0003】メモリアクセストレースのデバッグ支援方
法(第2の方法)は、メモリアクセスが発生するたびに
処理を一時停止し、その時点のアドレスとデータを調
べ、実際に処理を続行するか否かを決定するものであ
る。ウォッチポイント機構のデバッグ支援方法(第3の
方法)は、まず、メモリアクセスのウォッチポイント
(監視点)のアドレスを所定のレジスタ等に記憶させ
る。そして、このアドレスに対してメモリアクセスが生
じた場合、処理を一時停止してその時点の状態を調べた
り変更したりすることを可能としたものである。
法(第2の方法)は、メモリアクセスが発生するたびに
処理を一時停止し、その時点のアドレスとデータを調
べ、実際に処理を続行するか否かを決定するものであ
る。ウォッチポイント機構のデバッグ支援方法(第3の
方法)は、まず、メモリアクセスのウォッチポイント
(監視点)のアドレスを所定のレジスタ等に記憶させ
る。そして、このアドレスに対してメモリアクセスが生
じた場合、処理を一時停止してその時点の状態を調べた
り変更したりすることを可能としたものである。
【0004】なお、処理の一時停止は、本来発生するこ
とのない割込み等の例外を発生させることにより実現す
る。例外が発生すると、中央処理装置は、例外が発生し
た命令に係る処理を一時停止して例外処理、即ちデバッ
グのためのプログラムを実行する。
とのない割込み等の例外を発生させることにより実現す
る。例外が発生すると、中央処理装置は、例外が発生し
た命令に係る処理を一時停止して例外処理、即ちデバッ
グのためのプログラムを実行する。
【0005】
【発明が解決しようとする課題】プログラムのデバッグ
を行なう際に、ある特定のデータのメモリトラフィッ
ク、即ち、ある特定のデータのメモリへの書込みもしく
はメモリからの読み出しが発生したとき、効率良くこの
アクセスを検出したい場合がある。具体的には、タグア
ーキテクチャを採用している中央処理装置において、特
定のタグ(属性)を持ったデータに対して行なった場
合、ループ制御に使用していた変数の値が、例えば零に
なった場合、そして、特定のアドレスの特定のビットフ
ィールドに対してアクセスを行なった場合を挙げること
ができる。これらの検出を行なう場合、先に説明した第
1の方法の場合、1命令を処理するたびに一時停止が生
じるので、オーバヘッドが大きい(処理の一時停止が多
い)といった問題が生じていた。
を行なう際に、ある特定のデータのメモリトラフィッ
ク、即ち、ある特定のデータのメモリへの書込みもしく
はメモリからの読み出しが発生したとき、効率良くこの
アクセスを検出したい場合がある。具体的には、タグア
ーキテクチャを採用している中央処理装置において、特
定のタグ(属性)を持ったデータに対して行なった場
合、ループ制御に使用していた変数の値が、例えば零に
なった場合、そして、特定のアドレスの特定のビットフ
ィールドに対してアクセスを行なった場合を挙げること
ができる。これらの検出を行なう場合、先に説明した第
1の方法の場合、1命令を処理するたびに一時停止が生
じるので、オーバヘッドが大きい(処理の一時停止が多
い)といった問題が生じていた。
【0006】第2の方法の場合、メモリアクセス毎に一
時停止が生じるので、やはりオーバヘッドが大きいとい
った問題が生じていた。そして第3の方法の場合、プロ
グラム中の変数が中央処理装置の汎用レジスタにのみ記
憶されている場合や、特定アドレスの特定ビットフィー
ルドに操作を行なう時に効率良くデバッグを行なえない
といった問題が生じていた。また、プログラムの稼働時
間に制限があるリアルタイムプログラムのデバッグを行
なう場合、オーバヘッドが大きいために何れの方法も適
さないという問題が生じていた。
時停止が生じるので、やはりオーバヘッドが大きいとい
った問題が生じていた。そして第3の方法の場合、プロ
グラム中の変数が中央処理装置の汎用レジスタにのみ記
憶されている場合や、特定アドレスの特定ビットフィー
ルドに操作を行なう時に効率良くデバッグを行なえない
といった問題が生じていた。また、プログラムの稼働時
間に制限があるリアルタイムプログラムのデバッグを行
なう場合、オーバヘッドが大きいために何れの方法も適
さないという問題が生じていた。
【0007】本発明は以上の点に着目してなされたもの
で、処理を一時停止させ、プログラムのデバッグを行な
う場合において、処理を一時停止するための例外の発生
頻度を抑え、デバッグ時のオーバヘッドを小さくするこ
とのできるデバッグ支援方法を提供することを目的とす
る。
で、処理を一時停止させ、プログラムのデバッグを行な
う場合において、処理を一時停止するための例外の発生
頻度を抑え、デバッグ時のオーバヘッドを小さくするこ
とのできるデバッグ支援方法を提供することを目的とす
る。
【0008】
【課題を解決するための手段】本発明のデバッグ支援方
法は、特定の記憶領域中に指定されたアドレスをアクセ
スした時に処理を一時停止させ、プログラムのデバッグ
を行なう場合において、予め設定された特定の前記アド
レスがアクセスされたとき、アクセス対象となるデータ
の属性を判断し、前記データの属性が予め設定された属
性の場合、前記処理を一時停止させる。
法は、特定の記憶領域中に指定されたアドレスをアクセ
スした時に処理を一時停止させ、プログラムのデバッグ
を行なう場合において、予め設定された特定の前記アド
レスがアクセスされたとき、アクセス対象となるデータ
の属性を判断し、前記データの属性が予め設定された属
性の場合、前記処理を一時停止させる。
【0009】
【作用】この方法は、予め設定された特定のアドレスが
アクセスされたとき、アクセス対象となるデータの属性
を判断する。この判断の結果、データの属性が予め設定
された属性の場合、処理を一時停止させる。
アクセスされたとき、アクセス対象となるデータの属性
を判断する。この判断の結果、データの属性が予め設定
された属性の場合、処理を一時停止させる。
【0010】
【実施例】図1に、本発明に係るデータ構造説明図を示
す。この実施例の場合、1単位(1語)のデータが40
ビットから構成され、更に下位32ビットが値部DP、
上位8ビットがタグ部TPに割当てられたものとする。
そして、本発明に係る中央処理装置には、幅40ビット
のデータを記憶する、32本の汎用レジスタGR0 〜GR31
が設けられているものとする。各汎用レジスタの下位3
2ビットには、データDTの値部DPの内容が、上位8
ビットにはタグ部TPの内容が記憶されることになる。
す。この実施例の場合、1単位(1語)のデータが40
ビットから構成され、更に下位32ビットが値部DP、
上位8ビットがタグ部TPに割当てられたものとする。
そして、本発明に係る中央処理装置には、幅40ビット
のデータを記憶する、32本の汎用レジスタGR0 〜GR31
が設けられているものとする。各汎用レジスタの下位3
2ビットには、データDTの値部DPの内容が、上位8
ビットにはタグ部TPの内容が記憶されることになる。
【0011】図2は、本発明に係る特殊レジスタの説明
図である。図は、本発明に係る中央処理装置に設けられ
る特殊レジスタを示したものである。監視データレジス
タWDR は、監視を行なうデータを指定する40ビットの
レジスタであり、下位32ビットにデータDTの値部D
Pを、上位8ビットにタグ部TPを記憶する。
図である。図は、本発明に係る中央処理装置に設けられ
る特殊レジスタを示したものである。監視データレジス
タWDR は、監視を行なうデータを指定する40ビットの
レジスタであり、下位32ビットにデータDTの値部D
Pを、上位8ビットにタグ部TPを記憶する。
【0012】監視データイネーブルレジスタWDERは、監
視を行なうデータ(監視データレジスタWDR に記憶され
たデータ)の内、監視対象として有効とするビットを指
定するもので、この監視データイネーブルレジスタWDER
に“1”がセットされたビットに対応する監視データレ
ジスタWDR上のビットのみが監視の対象となる。この監
視データイネーブルレジスタWDERも40ビットのレジス
タであり、下位32ビットがデータDTの値部DPを監
視対象とするか否かを指定するために利用され、上位8
ビットがタグ部TPを監視対象とするか否かを指定する
ために利用される。
視を行なうデータ(監視データレジスタWDR に記憶され
たデータ)の内、監視対象として有効とするビットを指
定するもので、この監視データイネーブルレジスタWDER
に“1”がセットされたビットに対応する監視データレ
ジスタWDR上のビットのみが監視の対象となる。この監
視データイネーブルレジスタWDERも40ビットのレジス
タであり、下位32ビットがデータDTの値部DPを監
視対象とするか否かを指定するために利用され、上位8
ビットがタグ部TPを監視対象とするか否かを指定する
ために利用される。
【0013】例えば、監視データイネーブルレジスタWD
ERの上位8ビットのみが“1”にセットされた場合、監
視データレジスタWDR の上位8ビットのみが監視対象と
するデータDTか否かの判定に利用されることになり、
監視データイネーブルレジスタWDERの下位32ビットの
みが“1”にセットされた場合、WDR の下位32ビット
のみが監視対象とするデータDTか否かの判定に利用さ
れる。メモリアドレスレジスタMAR は、中央処理装置
が、中央処理装置外部との間でデータ転送を行なう時、
アクセスアドレスを記憶する32ビットのレジスタであ
る。
ERの上位8ビットのみが“1”にセットされた場合、監
視データレジスタWDR の上位8ビットのみが監視対象と
するデータDTか否かの判定に利用されることになり、
監視データイネーブルレジスタWDERの下位32ビットの
みが“1”にセットされた場合、WDR の下位32ビット
のみが監視対象とするデータDTか否かの判定に利用さ
れる。メモリアドレスレジスタMAR は、中央処理装置
が、中央処理装置外部との間でデータ転送を行なう時、
アクセスアドレスを記憶する32ビットのレジスタであ
る。
【0014】監視領域上限レジスタWFURは、監視を行な
う領域(記憶領域)の上限アドレスを記憶する32ビッ
トのレジスタである。監視領域下限レジスタWFLRは、監
視を行なう領域の下限を記憶する32ビットのレジスタ
である。例外発生条件指定レジスタWECRは、例外を発生
する条件を記憶する32ビットのレジスタで、下位5ビ
ットが利用される。
う領域(記憶領域)の上限アドレスを記憶する32ビッ
トのレジスタである。監視領域下限レジスタWFLRは、監
視を行なう領域の下限を記憶する32ビットのレジスタ
である。例外発生条件指定レジスタWECRは、例外を発生
する条件を記憶する32ビットのレジスタで、下位5ビ
ットが利用される。
【0015】ビット0は、内容が“1”の場合、ロード
命令(読み出し命令)を処理した時に例外を発生させ、
内容が“0”の場合、ロード命令を処理しても例外を発
生させない指定を意味する。ビット1は、内容が“1”
の場合、ストア命令(書込み命令)を処理した時に例外
を発生させ、内容が“0”の場合、ストア命令を処理し
ても例外を発生させない指定を意味する。ビット2は、
内容が“1”の場合、監視対象を汎用レジスタへの書き
戻しデータとし、内容が“0”の場合、監視対象をメモ
リ間転送データとする指定を意味する。ビット3は、内
容が“1”の場合、監視データ(監視データレジスタWD
R の内容)の指定を有効とし、内容が“0”の場合、監
視データの指定を無効とする指定を意味する。ビット4
は、内容が“1”の場合、領域指定(監視上限レジスタ
WFUR、監視下限レジスタWFLR)を有効とし、内容が
“0”の場合、領域指定を無効とする指定を意味する。
命令(読み出し命令)を処理した時に例外を発生させ、
内容が“0”の場合、ロード命令を処理しても例外を発
生させない指定を意味する。ビット1は、内容が“1”
の場合、ストア命令(書込み命令)を処理した時に例外
を発生させ、内容が“0”の場合、ストア命令を処理し
ても例外を発生させない指定を意味する。ビット2は、
内容が“1”の場合、監視対象を汎用レジスタへの書き
戻しデータとし、内容が“0”の場合、監視対象をメモ
リ間転送データとする指定を意味する。ビット3は、内
容が“1”の場合、監視データ(監視データレジスタWD
R の内容)の指定を有効とし、内容が“0”の場合、監
視データの指定を無効とする指定を意味する。ビット4
は、内容が“1”の場合、領域指定(監視上限レジスタ
WFUR、監視下限レジスタWFLR)を有効とし、内容が
“0”の場合、領域指定を無効とする指定を意味する。
【0016】ビット3,4は、ビット0,1に対する付
加条件である。例えば、ビット0,3,4に内容“1”
がセットされた場合に例外が発生する条件は、“ロード
命令を処理し”かつ“メモリ間転送データが監視データ
と一致し”かつ“指定された領域内へのアクセス”であ
った場合となる。図3は、中央処理装置におけるメモリ
アクセス命令の説明図である。メモリアクセスについて
は、2つの命令が定義されている。まず、(1)にはロ
ード命令の例を示している。これは、メモリアドレスレ
ジスタMAR で指定されるアドレスの内容を、汎用レジス
タGRi に格納する命令である。
加条件である。例えば、ビット0,3,4に内容“1”
がセットされた場合に例外が発生する条件は、“ロード
命令を処理し”かつ“メモリ間転送データが監視データ
と一致し”かつ“指定された領域内へのアクセス”であ
った場合となる。図3は、中央処理装置におけるメモリ
アクセス命令の説明図である。メモリアクセスについて
は、2つの命令が定義されている。まず、(1)にはロ
ード命令の例を示している。これは、メモリアドレスレ
ジスタMAR で指定されるアドレスの内容を、汎用レジス
タGRi に格納する命令である。
【0017】次に、(2)にストア命令の例を示してい
る。これは、汎用レジスタGRi の内容を、メモリアドレ
スレジスタMAR で指定されるアドレスを格納する命令で
ある。なお“i”は、汎用レジスタを特定する数値0〜
31が設定される。これらの特殊レジスタへの値の設定
は、中央処理装置の内部バスを介して実施される。
る。これは、汎用レジスタGRi の内容を、メモリアドレ
スレジスタMAR で指定されるアドレスを格納する命令で
ある。なお“i”は、汎用レジスタを特定する数値0〜
31が設定される。これらの特殊レジスタへの値の設定
は、中央処理装置の内部バスを介して実施される。
【0018】図4に、本発明に係る監視データ処理回路
のブロック図を示す。図は、本発明に係る中央処理装置
の内部に設けられるもので、切換え器及び監視データレ
ジスタWDR の出力は、exclusive-ORゲート(EORG)2か
ら構成される一致比較器に入力している。EORG2の出力
及び監視データイネーブルレジスタWDERの出力は、アン
ドゲート(ANDG)3に入力している。ANDG3の出力は、
ゼロ検出器4に入力し、ゼロ検出器4からは監視データ
ディテクト信号(WDD )が出力される。
のブロック図を示す。図は、本発明に係る中央処理装置
の内部に設けられるもので、切換え器及び監視データレ
ジスタWDR の出力は、exclusive-ORゲート(EORG)2か
ら構成される一致比較器に入力している。EORG2の出力
及び監視データイネーブルレジスタWDERの出力は、アン
ドゲート(ANDG)3に入力している。ANDG3の出力は、
ゼロ検出器4に入力し、ゼロ検出器4からは監視データ
ディテクト信号(WDD )が出力される。
【0019】切換え器1は、入力するメモリ転送データ
及び汎用レジスタ書き戻しデータの何れかを、例外発生
情報指定レジスタWECRのビット2の値に対応して出力す
るものである。EORG2は、切換え器1の出力と、監視デ
ータレジスタWDR の内容をビット単位で比較するもので
ある。ANDG3は、EORG2の出力と監視データイネーブル
レジスタWDERの内容をビット単位で論理積を計算するも
のである。ゼロ検出器4は、ANDG3から出力されるビッ
トが全てゼロか否かを検出し、全てゼロであれば、WDD
を“1”に設定し、全てゼロでなければ、WDD を“0”
に設定するものである。
及び汎用レジスタ書き戻しデータの何れかを、例外発生
情報指定レジスタWECRのビット2の値に対応して出力す
るものである。EORG2は、切換え器1の出力と、監視デ
ータレジスタWDR の内容をビット単位で比較するもので
ある。ANDG3は、EORG2の出力と監視データイネーブル
レジスタWDERの内容をビット単位で論理積を計算するも
のである。ゼロ検出器4は、ANDG3から出力されるビッ
トが全てゼロか否かを検出し、全てゼロであれば、WDD
を“1”に設定し、全てゼロでなければ、WDD を“0”
に設定するものである。
【0020】図5に、監視領域処理回路のブロック図を
示す。比較器11は、メモリアドレスレジスタMAR と監
視領域上限レジスタWFURの内容を比較し、WFUR≧MAR の
場合、上限信号UPPER を“1”に設定し、その他の場
合、上限信号UPPER を“0”に設定するものである。比
較器12は、メモリアドレスレジスタMAR と監視領域下
限レジスタWFLRの内容を比較し、WFLR≦MAR の場合、下
限信号LOWER を“1”に設定し、その他の場合、下限信
号LOWER を“0”に設定するものである。
示す。比較器11は、メモリアドレスレジスタMAR と監
視領域上限レジスタWFURの内容を比較し、WFUR≧MAR の
場合、上限信号UPPER を“1”に設定し、その他の場
合、上限信号UPPER を“0”に設定するものである。比
較器12は、メモリアドレスレジスタMAR と監視領域下
限レジスタWFLRの内容を比較し、WFLR≦MAR の場合、下
限信号LOWER を“1”に設定し、その他の場合、下限信
号LOWER を“0”に設定するものである。
【0021】図6に、命令解読回路のブロック図を示
す。処理中の命令を保持するコードレジスタCODEREG の
出力には、命令解読器21が接続されている。命令解読
器21は、コードレジスタCODEREG の内容を解読し、解
読結果がロード命令である場合、INST_LOADを“1”に
設定し、その他の場合、INST_LOADを“0”に設定す
る。また、解読結果がストア命令である場合、INST_ST
ORを“1”に設定し、その他の場合、INST_STORを
“0”に設定するものである。
す。処理中の命令を保持するコードレジスタCODEREG の
出力には、命令解読器21が接続されている。命令解読
器21は、コードレジスタCODEREG の内容を解読し、解
読結果がロード命令である場合、INST_LOADを“1”に
設定し、その他の場合、INST_LOADを“0”に設定す
る。また、解読結果がストア命令である場合、INST_ST
ORを“1”に設定し、その他の場合、INST_STORを
“0”に設定するものである。
【0022】図7に、本発明に係る例外検出回路のブロ
ック図を示す。例外検出器31には、先に説明したINST
_LOAD,INST_STOR,WDD ,UPPER ,LOWER が入力し、
更に、例外発生条件指定レジスタWECRが接続されてい
る。例外検出器31は、入力する各種信号及び例外発生
条件指定レジスタWECRの内容に基づいて、出力信号EXP
を“1”もしくは“0”に設定するものである。出力信
号EXP は、例外を発生させる場合、“1”に設定され、
それ以外の場合、即ち、例外を発生させることなく処理
を継続させる場合、“0”に設定される。
ック図を示す。例外検出器31には、先に説明したINST
_LOAD,INST_STOR,WDD ,UPPER ,LOWER が入力し、
更に、例外発生条件指定レジスタWECRが接続されてい
る。例外検出器31は、入力する各種信号及び例外発生
条件指定レジスタWECRの内容に基づいて、出力信号EXP
を“1”もしくは“0”に設定するものである。出力信
号EXP は、例外を発生させる場合、“1”に設定され、
それ以外の場合、即ち、例外を発生させることなく処理
を継続させる場合、“0”に設定される。
【0023】例外検出器31の動作は、以下の4つに場
合分けすることができる。第1に、例外発生条件指定レ
ジスタWECRのビット3,4が共に“1”の場合、INST_
LOAD=“1”,WECRのビット0=“1”,WDD =
“1”,UPPER =“1”,LOWER =“1”、もしくは、
INST_STOR=“1”,WECRのビット1=“1”,WDD =
“1”,UPPER =“1”,LOWER=“1”、の何れかの
条件が成立した場合に、出力信号EXP が“1”に設定さ
れる。
合分けすることができる。第1に、例外発生条件指定レ
ジスタWECRのビット3,4が共に“1”の場合、INST_
LOAD=“1”,WECRのビット0=“1”,WDD =
“1”,UPPER =“1”,LOWER =“1”、もしくは、
INST_STOR=“1”,WECRのビット1=“1”,WDD =
“1”,UPPER =“1”,LOWER=“1”、の何れかの
条件が成立した場合に、出力信号EXP が“1”に設定さ
れる。
【0024】第2に、例外発生条件指定レジスタWECRの
ビット3=“1”,ビット4=“0”の場合、INST_LO
AD=“1”,WECRのビット0=“1”,WDD =“1”、
もしくは、INST_STOR=“1”,WECRのビット1=
“1”,WDD =“1”、の何れかの条件が成立した場合
に、出力信号EXP が“1”に設定される。
ビット3=“1”,ビット4=“0”の場合、INST_LO
AD=“1”,WECRのビット0=“1”,WDD =“1”、
もしくは、INST_STOR=“1”,WECRのビット1=
“1”,WDD =“1”、の何れかの条件が成立した場合
に、出力信号EXP が“1”に設定される。
【0025】第3に、例外発生条件指定レジスタWECRの
ビット3=“0”,ビット4=“1”の場合、INST_LO
AD=“1”,WECRのビット0=“1”,UPPER =
“1”,LOWER =“1”、もしくは、INST_STOR=
“1”,WECRのビット1=“1”,UPPER =“1”,LO
WER =“1”、の何れかの条件が成立した場合に、出力
信号EXP が“1”に設定される。
ビット3=“0”,ビット4=“1”の場合、INST_LO
AD=“1”,WECRのビット0=“1”,UPPER =
“1”,LOWER =“1”、もしくは、INST_STOR=
“1”,WECRのビット1=“1”,UPPER =“1”,LO
WER =“1”、の何れかの条件が成立した場合に、出力
信号EXP が“1”に設定される。
【0026】第4に、例外発生条件指定レジスタWECRの
ビット3,4が共に“0”の場合、INST_LOAD=
“1”,WECRのビット0=“1”、もしくは、INST_ST
OR=“1”,WECRのビット1=“1”、の何れかの場合
に、出力信号EXP が“1”に設定される。
ビット3,4が共に“0”の場合、INST_LOAD=
“1”,WECRのビット0=“1”、もしくは、INST_ST
OR=“1”,WECRのビット1=“1”、の何れかの場合
に、出力信号EXP が“1”に設定される。
【0027】第1の場合は、監視データイネーブルレジ
スタWDERにより指定された、監視データレジスタWER の
ビットと、転送データが一致し、かつメモリアドレスレ
ジスタMAR の内容が監視領域上限レジスタWFURと監視領
域下限レジスタWFLRで特定される領域内であるロード命
令もしくはストア命令について条件が成立する。第2の
場合は、第1の場合の成立条件から、メモリアドレスレ
ジスタMAR の内容の領域に関する条件を削除した条件で
ある。
スタWDERにより指定された、監視データレジスタWER の
ビットと、転送データが一致し、かつメモリアドレスレ
ジスタMAR の内容が監視領域上限レジスタWFURと監視領
域下限レジスタWFLRで特定される領域内であるロード命
令もしくはストア命令について条件が成立する。第2の
場合は、第1の場合の成立条件から、メモリアドレスレ
ジスタMAR の内容の領域に関する条件を削除した条件で
ある。
【0028】第3の場合は、監視データレジスタWDR の
内容に関わらず、メモリアドレスレジスタMAR の内容が
監視領域上限レジスタWFURと監視領域下限レジスタWFLR
で特定される領域であるロード命令もしくはストア命令
について条件が成立する。そして、第4の場合は、単に
ロード命令もしくはストア命令が実行されることにより
条件が成立するものである。
内容に関わらず、メモリアドレスレジスタMAR の内容が
監視領域上限レジスタWFURと監視領域下限レジスタWFLR
で特定される領域であるロード命令もしくはストア命令
について条件が成立する。そして、第4の場合は、単に
ロード命令もしくはストア命令が実行されることにより
条件が成立するものである。
【0029】ところで、上記実施例においては、メモリ
に関するデータ転送を例を説明したが、例外発生条件指
定レジスタWECRのビット2=“1”の場合、アドレスが
レジスタを特定するものに変更されることにより、その
まま4つの場合の条件成立を汎用レジスタのデータ書き
戻しにおいても実現することができる。
に関するデータ転送を例を説明したが、例外発生条件指
定レジスタWECRのビット2=“1”の場合、アドレスが
レジスタを特定するものに変更されることにより、その
まま4つの場合の条件成立を汎用レジスタのデータ書き
戻しにおいても実現することができる。
【0030】
【発明の効果】以上説明したように、メモリのアクセス
もしくは汎用レジスタの更新を行なう場合、中央処理装
置が処理している命令の種類、アドレス、データの属性
の個々について例外検出、即ち処理の一時停止の条件を
設定でき、オーバヘッドの小さい効率の良いデバッグを
実現することができる。
もしくは汎用レジスタの更新を行なう場合、中央処理装
置が処理している命令の種類、アドレス、データの属性
の個々について例外検出、即ち処理の一時停止の条件を
設定でき、オーバヘッドの小さい効率の良いデバッグを
実現することができる。
【図1】本発明に係るデータ構造説明図である。
【図2】本発明に係る特殊レジスタの説明図である。
【図3】中央処理装置におけるメモリアクセス命令説明
図である。
図である。
【図4】本発明に係る監視データ処理回路のブロック図
である。
である。
【図5】監視領域処理回路のブロック図である。
【図6】命令解読回路のブロック図である。
【図7】本発明に係る例外検出回路のブロック図であ
る。
る。
1 切換え器 2 exclusive-ORゲート(EORG) 3 アンドゲート(ANDG) 4 ゼロ検出器 11,12 比較器 21 命令解読器 31 例外検出器 WDR 監視データレジスタ WDER 監視データイネーブルレジスタ MAR メモリアドレスレジスタ WFUR 監視領域上限レジスタ WFLU 監視領域下限レジスタ WECR 例外発生条件指定レジスタ
Claims (1)
- 【請求項1】 特定の記憶領域中に指定されたアドレス
をアクセスした時に処理を一時停止させ、プログラムの
デバッグを行なう場合において、 予め設定された特定の前記アドレスがアクセスされたと
き、 アクセス対象となるデータの属性を判断し、 前記データの属性が予め設定された属性の場合、 前記処理を一時停止させることを特徴とするデバッグ支
援方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3258769A JP2636101B2 (ja) | 1991-09-11 | 1991-09-11 | デバッグ支援装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3258769A JP2636101B2 (ja) | 1991-09-11 | 1991-09-11 | デバッグ支援装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0573356A true JPH0573356A (ja) | 1993-03-26 |
| JP2636101B2 JP2636101B2 (ja) | 1997-07-30 |
Family
ID=17324833
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3258769A Expired - Lifetime JP2636101B2 (ja) | 1991-09-11 | 1991-09-11 | デバッグ支援装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2636101B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6263490B1 (en) | 1997-06-27 | 2001-07-17 | Nec Corporation | Graphic device capable of carrying out debug of a device driver program at a high speed |
| JP2013528853A (ja) * | 2010-04-19 | 2013-07-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチスレッド・コードをデバッグする方法、システム、及びコンピュータ・プログラム |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57204958A (en) * | 1981-06-12 | 1982-12-15 | Fujitsu Ltd | File memory trap system |
| JPS598067A (ja) * | 1982-07-03 | 1984-01-17 | Fujitsu Ltd | デ−タ処理装置 |
| JPS5991558A (ja) * | 1982-11-18 | 1984-05-26 | Fujitsu Ltd | プログラム試験方式 |
| JPS59112350A (ja) * | 1982-12-20 | 1984-06-28 | Fujitsu Ltd | プログラム監視制御方式 |
| JPS61182137A (ja) * | 1985-02-07 | 1986-08-14 | Fujitsu Ltd | タグ付デ−タ処理装置 |
-
1991
- 1991-09-11 JP JP3258769A patent/JP2636101B2/ja not_active Expired - Lifetime
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57204958A (en) * | 1981-06-12 | 1982-12-15 | Fujitsu Ltd | File memory trap system |
| JPS598067A (ja) * | 1982-07-03 | 1984-01-17 | Fujitsu Ltd | デ−タ処理装置 |
| JPS5991558A (ja) * | 1982-11-18 | 1984-05-26 | Fujitsu Ltd | プログラム試験方式 |
| JPS59112350A (ja) * | 1982-12-20 | 1984-06-28 | Fujitsu Ltd | プログラム監視制御方式 |
| JPS61182137A (ja) * | 1985-02-07 | 1986-08-14 | Fujitsu Ltd | タグ付デ−タ処理装置 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6263490B1 (en) | 1997-06-27 | 2001-07-17 | Nec Corporation | Graphic device capable of carrying out debug of a device driver program at a high speed |
| JP2013528853A (ja) * | 2010-04-19 | 2013-07-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチスレッド・コードをデバッグする方法、システム、及びコンピュータ・プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2636101B2 (ja) | 1997-07-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6708326B1 (en) | Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence | |
| US5659679A (en) | Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system | |
| US5745770A (en) | Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor | |
| US6253338B1 (en) | System for tracing hardware counters utilizing programmed performance monitor to generate trace interrupt after each branch instruction or at the end of each code basic block | |
| US7299335B2 (en) | Translation information retrieval transparent to processor core | |
| US5987585A (en) | One-chip microprocessor with error detection on the chip | |
| US7296137B2 (en) | Memory management circuitry translation information retrieval during debugging | |
| JP2014508367A (ja) | シングルステップ実行を用いる診断コード | |
| US6052801A (en) | Method and apparatus for providing breakpoints on a selectable address range | |
| JPH07219809A (ja) | データ処理装置およびデータ処理方法 | |
| KR940003318B1 (ko) | 캐시 메모리를 구비한 프로세서 | |
| JP2636101B2 (ja) | デバッグ支援装置 | |
| US5813039A (en) | Guest execution control system, method and computer process for a virtual machine system | |
| JP2002268915A (ja) | 非整列メモリアクセスを監視するシステムおよび方法 | |
| JP2653412B2 (ja) | ブレークポイント設定方法 | |
| EP0525672A2 (en) | Microprocessor with program tracing | |
| JPS6270947A (ja) | デバグ割込み制御方式 | |
| JPH0795288B2 (ja) | マイクロコンピュータ | |
| JP3130421B2 (ja) | プログラム解析方法および装置 | |
| JPH0475147A (ja) | 情報処理システムにおける時間監視装置 | |
| JPS59163653A (ja) | デバツグ装置 | |
| JPH0535499A (ja) | データ処理装置及びデータ処理方法 | |
| JPS63150732A (ja) | プログラム走行監視装置 | |
| JP2001256047A (ja) | 計算機とその制御方法 | |
| JPH0210435A (ja) | アドレストラップ回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |