JPH11167502A - 分岐ヒストリテーブルを用いたデバッグ回路 - Google Patents

分岐ヒストリテーブルを用いたデバッグ回路

Info

Publication number
JPH11167502A
JPH11167502A JP9334583A JP33458397A JPH11167502A JP H11167502 A JPH11167502 A JP H11167502A JP 9334583 A JP9334583 A JP 9334583A JP 33458397 A JP33458397 A JP 33458397A JP H11167502 A JPH11167502 A JP H11167502A
Authority
JP
Japan
Prior art keywords
address
instruction
debug
branch
history table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9334583A
Other languages
English (en)
Inventor
Takeshi Morisada
剛 森定
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP9334583A priority Critical patent/JPH11167502A/ja
Publication of JPH11167502A publication Critical patent/JPH11167502A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 本発明の分岐ヒストリテーブルを用いたデバ
ッグ回路は、少ないハードウェアの追加で複数の命令ア
ドレスとマイクロ命令アドレスに対してその出現回数の
細かい指定で装置の停止を指示できるデバッグ回路を提
供する。 【解決手段】 本発明のヒストリテーブルを用いたデバ
ッグ回路は、分岐命令のアドレスとこれに対応する分岐
先アドレスを対にし、デバッグ用の命令アドレスとこれ
に対応するマイクロ命令アドレスを対にして、合わせて
記憶する分岐ヒストリテーブルを有するデータ処理装置
の分岐ヒストリテーブルを用いたデバッグ回路におい
て、デバッグ開始までの検出回数を記憶するメモリと、
デバッグ用の命令アドレスとこれに対応するマイクロ命
令アドレスが命令アドレスの出現回数の組み合わせによ
り、命令語の個別ステップに対して停止信号を出力する
停止手段を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置のデ
バッグ回路に関し、特に分岐ヒストリテーブルを用いた
デバッグ回路に関する。
【0002】
【従来の技術】分岐命令を高速化する手段として従来か
ら考えられている方法として、U. S.Pat No.3,559,183
によってしめされる分岐ヒストリテーブル(BHT)や
U. S.Pat No.4,477,872によってしめされるデコードヒ
ストリテーブル(DHT)等が考案されている。
【0003】これら分岐を高速化する手段を分岐の高速
化だけではなく情報処理装置のデバッグの手段として流
用したものに特開平2−188840号公報および特開
平4−42330号公報のデータ処理装置があり、命令
アドレス単位でのデバッグ割り込みが可能となってい
る。
【0004】次に従来例を図面を用いて説明する。図3
は、分岐ヒストリテーブルの構成を利用して複数のデバ
ッグ用アドレスを設定することのできるデータ処理装置
の構成図である。その動作を簡単に説明する。
【0005】まず、通常の分岐予測時には、デバッグ情
報メモリ4が“0”となっているので命令アドレスレジ
スタ1と分岐アドレスメモリ2が一致すると信号線11
4が“1”となり、信号線106が“0”なので信号線
115が“1”となり、予測分岐先検出フラグ7が
“1”、擬似フォルトフラグ9が“0”となり、予測分
岐先アドレスが検出されたことがわかる。
【0006】次に、デバッグ対象アドレスである時には
デバッグ情報メモリ4が“1”となっているので命令ア
ドレスレジスタ1と分岐アドレスメモリ2が一致する
と、同様に信号線114が“1”となり信号線106が
“1”であることより、信号線115は“0”となり予
測分岐先検出フラグ7は点灯しない。この時デバッグ回
線メモリ5で示される残回数が“0”でない場合は、信
号線115が“0”となり、擬似フォルトフラグ9も点
灯しないが、この時残回数カウンタ13により残回数が
−1され、その値がデバッグ回数メモリ5に格納され
る。そしてデバッグ回数メモリ5が“0”になると、ゼ
ロチェック回路12の出力115が“1”となり擬似フ
ォルトフラグ9が点灯する。この擬似フォルトフラグ9
の点灯によって、デバッグ用アドレスが設定される。
【0007】次に、他の従来例について、図4の構成図
により説明する。
【0008】この分岐ヒストリテーブルを用いたデバッ
グ方式は、IAR(命令アドレスレジスタ)1と、BD
AR(分岐先アドレスレジスタ)2と、BCR(分岐カ
ウントレジスタ)3と、BAA(分岐アドレスアレイ)
4と、DAA(分岐先アドレスアレイ)5と、BCA
(分岐カウントアレイ)6と、TAC(アレイ比較器)
7と、BHF(予測分岐先検出フラグ)8と、PDAR
(予測分岐先アドレスレジスタ)9と、BC(分岐カウ
ンタ)10とを備えている。
【0009】次に、命令取り出し時及び分岐命令実行時
の動作について説明する。
【0010】最初に、命令取り出し時の索引動作の場
合、命令取り出しアドレスがIARlに保持されると、
信号線104を介してBAA4のアドレス領域4aより
過去の分岐命令のアドレスが信号線106を介しTAC
7に送出される。この過去の分岐命令のアドレスと、信
号線103を介しIARから送出される命令アドレスと
が、TAC7で比較され、その比較結果がBHF8に入
力される。TAC7で比較され結果がBHFに入力され
るのに同期して、DAA5の分岐先アドレス領域5aよ
り週去の分岐先アドレスが読み出されPDAR9に送出
され、命令取り出し時の索引動作を終了する。
【0011】次に、分岐命令実行時の登録動作の場合、
分岐命令の実行結果が成功であると、分岐命令の分岐命
令アドレスがIARlに、また分岐命令の分岐先アドレ
スがBDAR2に送出される。IARl及びBDAR2
に受け取られ、各々のBAA4、DAA5に書込まれる
のに同期して、BCR3の内容をBCA6の分岐回数領
域6aに書き込み、BCR3の内容を+1とし、分岐命
令実行時の登録動作を終了する。
【0012】本装置は、分岐命令のアドレス及び分岐ア
ドレスを実行の順番に分岐ヒストリテーブルに記憶し、
メモリの内容をダンプして編集することにより、分岐命
令の一連の流れ及び多くの回数分岐する場合のアドレス
をトレースすることができる。
【0013】
【発明が解決しようとする課題】従来の技術では、割り
込みの要因が命令アドレスだけであるので、命令の処理
に複数サイクル必要とする場合、その処理の途中でデバ
ッグ割り込みを発生させることが不可能となる問題があ
った。
【0014】本発明の目的は、分岐ヒストリテーブルを
利用することにより、少ないハードウェアの追加で複数
の命令アドレスとマイクロ命令アドレスに対してその出
現回数の細かい指定をして装置の停止を指示することが
できる分岐ヒストリテーブルを用いたデバッグ回路を提
供することである。
【0015】
【課題を解決するための手段】本発明のヒストリテーブ
ルを用いたデバッグ回路は、分岐命令のアドレスとこれ
に対応する分岐先アドレスを対にし、デバッグ用の命令
アドレスとこれに対応するマイクロ命令アドレスを対に
して、合わせて記憶する分岐ヒストリテーブルを有する
データ処理装置の分岐ヒストリテーブルを用いたデバッ
グ回路において、デバッグ開始までの分岐命令の検出回
数を記憶するメモリと、デバッグ用の命令アドレスとこ
れに対応するマイクロ命令アドレスが命令アドレスの出
現回数の組み合わせにより、命令語の個別ステップに対
して停止信号を出力する停止手段を有することを特徴と
する。
【0016】また、合わせて記憶する分岐ヒストリテー
ブルは、命令アドレスレジスタを含み、分岐命令のアド
レスとデバッグ用の命令アドレスとを記憶する第1の記
憶手段と、分岐先アドレスレジスタを含み、前記第1の
記憶手段の記憶された分岐命令のアドレスに対応する分
岐先アドレスと、デバッグ用の命令アドレスに対応する
マイクロ命令アドレスを記憶する第2の記憶手段と、記
憶された命令アドレスが分岐命令のアドレスかあるいは
デバッグ用の命令アドレスかを区別して記憶する第3の
記憶手段を有する。
【0017】また、分岐ヒストリテーブルは、分岐命令
のアドレスの代わりに装置を停止させたいデバッグ用の
命令アドレスを記憶する第1の記憶手段と、分岐命令の
分岐先アドレスの代わりに前記デバッグ用の命令アドレ
スで示される命令語の停止させたいマイクロ命令アドレ
スを記憶する第2の記憶手段と、記憶された命令アドレ
スが分岐命令のアドレスかあるいはデバッグ用の命令ア
ドレスかを区別して記憶する第3の記憶手段を有するも
のでも良い。
【0018】また、デバッグ開始までの分岐命令の検出
回数を記憶するメモリは、何回目の一致でデバッグ割り
込みを発生するかを記憶する第4の記憶手段を有する。
【0019】更に、命令アドレスと対応するマイクロ命
令アドレスが命令アドレスの出現回数の組み合わせによ
り、命令語の個別ステップに対して停止信号を出力する
停止手段は、分岐ヒストリテーブルとデバッグ開始まで
の分岐命令の検出回数を記憶するメモリを参照して、現
在実行中の命令アドレスがデバッグ対象命令アドレスで
あり、かつ、現在実行中のマイクロ命令アドレスがデバ
ッグ対象のマイクロ命令アドレスであり、かつ、命令ア
ドレスがデバッグ用のアドレスであり、さらに、デバッ
グ割り込みの回数であることを検出してデバッグ割り込
みの停止指示を送出する。
【0020】本発明の分岐ヒストリテーブルを用いたデ
バッグ回路は、分岐命令のアドレスと該分岐命令の分岐
先アドレスを対にして記憶する分岐ヒストリテーブルを
有するデータ処理装置において、分岐ヒストリテーブル
に記憶された分岐命令のアドレスの代わりに装置を停止
させたいデバッグ用の命令アドレスを記憶する第1の記
憶手段(図2の3)と、分岐ヒストリテーブルに記憶さ
れた分岐命令の分岐先アドレスの代わりにデバッグ用の
命令アドレスで示される命令語の停止させたいマイクロ
命令アドレスを記憶する第2の記憶手段(図2の4)
と、分岐ヒストリテーブルの各エントリに対して、それ
に記憶された命令アドレスが分岐命令のアドレスかある
いはデバッグ用の命令アドレスかを示す第3の記憶手段
(図2の5)と、第3の記憶手段に対応し、何回目の一
致でデバッグ割り込みを発生するかを記憶する第4の記
憶手段(図2の15)と、分岐ヒストリテーブルに記憶
された命令アドレスと命令取り出しアドレスを比較する
第1の比較回路(図2の6)と、第1の比較回路によっ
て命令取り出しアドレスと分岐ヒストリテーブルに記憶
された命令アドレスが一致したとき、その記憶された命
令アドレスが第1の記憶手段によってデバッグ用の命令
アドレスであることを示された場合、分岐ヒストリテー
ブルに記憶された命令アドレスを保持する第1のレジス
タ手段(図2の20)と、第1の比較回路によって命令
取り出しアドレスと分岐ヒストリテーブルに記憶された
命令アドレスが一致したとき、その記憶された命令アド
レスが第1の記憶手段によってデバッグ用の命令アドレ
スであることを示された場合、分岐ヒストリテーブルに
記憶されたマイクロ命令アドレスを保持し、そうでない
場合、分岐ヒストリテーブルに保持された分岐先アドレ
スを保持する第2のレジスタ手段(図2の12)と、第
1および第2のレジスタ手段に対応して、第4の記憶手
段から出力されたデバッグ割り込み発生までの一致回数
を保持する第3のレジスタ手段(図2の16)と、レジ
スタ手段に対して、その保持された命令アドレスがデバ
ッグ用のアドレスか、あるいは、予測される分岐先アド
レスかを示すアドレス情報表示手段(図2の10および
11)と、第1のレジスタ手段に保持された命令アドレ
スと現在実行中の命令アドレスを比較する第2の比較回
路(図2の13)と、第2のレジスタ手段に保持された
マイクロ命令アドレスと現在実行中の命令語のマイクロ
命令アドレスとを比較する第3の比較回路(図2の2
1)と、第2の比較回路により、現在実行中の命令アド
レスがデバッグ対象命令アドレスであることが示され、
かつ、第3の比較回路により現在実行中のマイクロ命令
アドレスがデバッグ対象のマイクロ命令アドレスである
ことがしめされ、かつ、アドレス情報表示手段によりそ
の保持されたアドレスがデバッグ用のアドレスであると
示され、さらに、第3のレジスタ手段によりデバッグ割
り込みの回数であることが示された場合、装置の停止指
示を送出し、第3のレジスタ手段がデバッグ割り込みの
回数を示していない場合は、第3のレジスタ手段の保持
するデバッグ割り込みの回数を更新して第3のレジスタ
手段に書き戻す装置停止手段(図2の17、14、1
8)とを含む。
【0021】本発明の分岐ヒストリテーブルを用いたデ
バッグ回路は、分岐ヒストリテーブルに記憶される分岐
命令のアドレスの代わりにデバッグ対象の命令アドレス
を、分岐先アドレスの代わりにデバッグ対象の命令中の
マイクロ命令アドレスを記憶させ、さらに、デバッグ開
始までの検出回数を記憶させるメモリを追加することに
より、命令アドレスとそのマイクロ命令アドレスとその
出現回数の組み合わせで、命令語の個別ステップに対し
てトラップを仕掛けることができるようになり、細かい
デバッグが可能となる。
【0022】
【発明の実施の形態】本発明の実施の形態を図面を参照
して説明する。
【0023】図1は本発明の実施の形態の構成を表すブ
ロック図である。本発明の実施の形態は、分岐ヒストリ
テーブル60と、デバッグ開始までの分岐命令の検出回
数を記憶するメモリ15と、デバッグ用の命令アドレス
とこれに対応するマイクロ命令アドレスが命令アドレス
の出現回数の組み合わせにより、命令語の個別ステップ
に対して停止信号出力回路70から構成されている。
【0024】分岐ヒストリテーブル60は、命令アドレ
スレジスタを含み、分岐命令のアドレスとデバッグ用の
命令アドレスとを記憶する分岐アドレスメモリ30と、
分岐先アドレスレジスタを含み、分岐アドレスメモリ3
0に記憶された分岐命令のアドレスに対応する分岐先ア
ドレスと、デバッグ用の命令アドレスに対応するマイク
ロ命令アドレスを記憶する分岐先アドレスメモリ40
と、記憶された命令アドレスが分岐命令のアドレスかあ
るいはデバッグ用の命令アドレスかを区別して記憶する
デバッグ情報メモリ50により構成されている。
【0025】停止信号出力回路70は、前記分岐ヒスト
リテーブルとデバッグ開始までの分岐命令の検出回数を
記憶するメモリ15を参照して、デバッグアドレスレジ
スタ20と、その現在実行中の命令アドレスがデバッグ
対象命令アドレスであることを出力するデバッグアドレ
ス比較器1−13と、予測分岐先アドレスレジスタ12
と、その現在実行中のマイクロ命令アドレスがデバッグ
対象のマイクロ命令アドレスであることを出力するデバ
ッグアドレス比較器2−21と、デバッグ割り込みの回
数のデバッグカウンタ16と、デバッグ回数比較器17
と、デバッグカウント減算器18とにより構成され、デ
バッグ割り込みの停止指示を送出する。
【0026】図2は本発明の具体的な実施例の構成を示
すブロック図である。本発明の具体的な実施例は、命令
アドレスレジスタ(IAR)1と、分岐先アドレスレジ
スタ(BDAR)2と、分岐アドレスアレイ(BAA)
3と、分岐先アドレスアレイ(DAA)4と、デバッグ
情報アレイ(DIA)5と、アドレス比較器(BAC)
6と、 NOT回路7 と、AND回路8および9と、予
測分岐先検出フラグ(PAFF)10と、デバッグアド
レス検出フラグ(DAFF)11と、予測分岐先アドレ
スレジスタ(PBDAR)12と、デバッグアドレス比
較器1(DACl)13と、AND回路14と、デバッ
グカウントアレイ(DCA)15と、デバッグカウンタ
(DC)16と、デバッグ回数比較器(DCC)17
と、デバッグカウント減算器(DCD)18と、デバッ
グカウンタ選択回路(DCAAS)19と、デバッグア
ドレスレジスタ(DAR)20と、デバッグ情報レジス
タ(DIR)22により構成されている。
【0027】命令アドレスレジスタ(IAR)1は、予
測分岐先アドレス索引時の命令取り出しアドレスまたは
分岐命令アドレス登録時の分岐命令アドレス、あるいは
デバッグ対象アドレス登録時のデバッグ対象命令アドレ
スを保持するレジスタであり、信号線101を介してA
DA(図示せず)より送出される命令アドレスを受け、
その下位ビットをメモリのアドレスとして信号線104
を介して分岐アドレスアレイ(BAA)3と、分岐先ア
ドレスアレイ(DAA)4と、デバッグ情報アレイ(D
IA)5と、デバッグカウントアレイ(DCA)15
に、また、その上位ビットをBAA4の書き込みデータ
およびアドレス比較器(BAC)6の比較対象として信
号線103を介して送出する。
【0028】分岐先アドレスレジスタ(BDAR)2
は、IARlに保持された分岐先アドレスの登録時の分
岐命令アドレスに対応し、その分岐先アドレス、あるい
は、IAR1に保持されたデバッグ対象命令アドレスに
対応し、デバッグ対象マイクロ命令アドレスを保持する
レジスタであり、信号線102を介してADA(Addres
s Adder図示せず)より送出された分岐先アドレスを受
け、信号線105を介してDAA4にその書き込みデー
タとして送出する。
【0029】デバッグ情報レジスタ(DIR)22は、
デバッグ対象命令アドレス/マイクロ命令アドレスを分
岐ヒストリテーブルに設定するときは“1”を、それ以
外のときは“0”を保持するレジスタであり、信号線1
26を介して、DGU(Diagnostic Unit図示せず)よ
り送出されたデバッグ設定時かどうかの情報を受け、信
号線125を介してDIA5に送出する。
【0030】BAA3はその分岐結果が成功であった分
岐命令のアドレスあるいはデバッグ対象命令アドレスを
記憶するメモリで、信号線104を介してIAR1より
送出される命令アドレスの下位ビットをアドレスとし
て、索引時には過去の分岐命令のアドレスあるいはデバ
ッグ対象命令アドレスを信号線106を介してTAC6
あるいはデバッグアドレスレジスタ(DAR)20に送
出し、登録時にはIAR1の上位ビットを信号線103
を介して受け、それを記憶する。
【0031】DAA4は、BAA3に対応して、その分
岐結果が成功であった分岐命令の分岐先アドレスあるい
はデバッグ対象マイクロ命令アドレスを記憶するメモリ
で、信号線104を介してIAR1より送出される命令
アドレスの下位ビットをアドレスとして、登録時には信
号線105を介してBDAR2より送出される分岐命令
の分岐先アドレスを記憶し、索引時には過去の分岐命令
のアドレスあるいはデバッグ対象マイクロ命令アドレス
を信号線107を介して予測分岐先アドレスレジスタ
(PBDAR)12に送出する。
【0032】DIA5は、BAA3に対応して、BAA
3が記憶している命令アドレスが分岐命令のアドレス
か、あるいは、デバッグ用の命令アドレスかを記憶する
メモリであり、信号線104を介してIAR1より送出
される命令アドレスの下位ビットをアドレスとして、記
録時には信号線125を介してDIR22によって送出
されるデバッグアドレス登録時かどうかの情報を記憶
し、索引時にはその情報を信号線108を介してNOT
回路7およびAND回路9に送出する。
【0033】TAC6は命令取り出しアドレスが過重の
分岐命令のアドレスあるいはデバッグアドレスと一致し
ているかどうかを検出する比較回路であり、信号線10
3を介してIAR1より送出される命令アドレスの上位
ビットとBAA3より信号線106を介して送出される
命令アドレスを比較し、一致したかどうかの情報を信号
線109を介してAND回路8および9に送出する。
【0034】NOT回路7は検出したアドレスの一致が
デバッグアドレスで無いことを示すための回路であり、
信号線108を介してDIA5より送出されたデバッグ
アドレスかどうかの信号を受け、デバッグアドレスであ
れば“0”を、そうでなければ“1”を信号線110を
介してAND回路8に送出する。
【0035】AND回路8は予測分岐先アドレスが検出
されたかどうかを示すための回路であり、信号線109
を介してTAC6より送出されたアドレス比較結果と信
号線110を介してNOT回路7より送出されたデバッ
グアドレスでは無いという情報より、予測分岐先アドレ
スが検出されたことを信号線111を介して予測分岐先
検出フラグ(PAFF)10に送出する。
【0036】AND回路9はデバッグアドレスが検出さ
れたかどうかを示すための回路であり、信号線109を
介してTAC6より送出された第3アドレス比較結果と
信号線108を介してDIA5より送出されたデバッグ
アドレスであることを示す情報より、デバッグアドレス
が検出されたことを信号線112を介してデバッグアド
レス検出フラグ(DAFF)11に送出する。
【0037】PAFF10は予測分岐先アドレスが検出
されたことを示すフラグであり、信号線111を介して
AND回路8より送出される予測分岐先アドレス検出情
報を受け、信号線117を介してADA(図示せず)に
送出する。DAFF11はデバッグアドレスが検出され
たことを示すフラグであり、信号線112を介してAN
D回路9より送出されるデバッグアドレス検出情報を受
け、信号線118を介してAND回路14に送出する。
【0038】DAR20はデバッグ対象の命令アドレス
を受けるレジスタであり、信号線106を介してBAA
3より送出されるデバッグ対象命令アドレスを受け、そ
の信号線136を介してデバッグアドレス比較器1(D
ACl)13に送出する。
【0039】DACl13は現在実行している命令がデ
バッグ対象命令アドレスかどうかを検出する比較器であ
り、信号線136を介してDAR20より送出されるデ
バッグ対象命令アドレスと信号線135を介してEXU
(Execution Unit図示せず)より送出される命令カウン
タ値を比較し、その結果を信号線115を介してAND
回路14に送出する。
【0040】PBDAR12は予測分岐先アドレス、あ
るいはデバッグ対象のマイクロ命令アドレスを受けるレ
ジスタであり、信号線107を開始DAA4より送出さ
れる過去の分岐命令の分岐先アドレスあるいはデバッグ
対象マイクロ命令アドレスを受け、信号線113を介し
てADA(図示せず)に予測分岐先アドレスを、また、
デバッグ対象マイクロ命令アドレスをデバッグアドレス
比較器2(DAC2)21に送出する。
【0041】DAC221は現在実行している命令がデ
バッグ対象マクロ命令アドレスかどうかを検出する比較
器であり、信号線113を介してPBDAR15より送
出されるデバッグ対象マイクロ命令アドレスと信号線1
14を介してEXU(図示せず)より送出されるマイク
ロ命令カウンタ値を比較し、その結果を信号線124を
介してAND回路14に送出する。
【0042】DCA15はデバッグ割り込みを行うまで
の回数を保持するメモリであり、信号線103を介して
IAR1より示されたアドレスからデバッグ割り込みま
での回数を信号線119を介してデバッグカウンタ選択
回路(DCS)19に送出する。
【0043】DCS19はデバッグ回数を選択する回路
であり、信号線119を介し、DCA15より送出され
たデバッグ割り込みまでの回数および、デバッグカウン
ト減算器(DCD)18からの減算後のデバッグ割り込
みまでの回数を受け、デバッグアドレス検出時の時は、
DCD18の出力を、そうでない場合はDCA15の出
力を選択し、信号線123を介しデバッグカウンタ(D
C)16に送出する。
【0044】DC16はDAR11、PBDAR12に
対応してそのデバッグ割り込みまでの回数を受けるレジ
スタであり、信号線123を介してDCS19より送出
されたデバッグまでの回数を受け、信号線122を介し
てデバッグ回数比較器(DCC)17およびDCD19
に送出する。
【0045】DCD18は次回デバッグ割り込みまでの
回数を修正するための減算回路であり、信号線122を
介してDC16より送出されるデバッグ割り込みまでの
回数を受け、その1減算した値を信号線121を介して
DCS19に送出する。
【0046】DCCl7は現在がデバッグ割り込みの回
数かどうかを検出する比較回路であり、信号線122を
介してDC16より送出されるデバッグ割り込みまでの
回数が“0”であった場合“1”を、そうでない場合
“0”を信号線120を介してAND回路14に送出す
る。
【0047】AND回路14は今実行している命令がデ
バッグ対象であることを検出したという信号を生成する
ための回路であり、信号線118を介してDAFF11
より送出されるデバッグ対象の命令アドレスおよびマイ
クロ命令アドレスがDAR20およびPBDAR12に
保持されているということを示す情報と、信号線115
を介してDAC113より送出される現在の命令カウン
タ値がデバッグ対象命令アドレスであることを示す情報
と、信号線124を介してDAC221より送出される
現在のマイクロ命令カウンタ値がデバッグ対象マイクロ
命令アドレスであることを示す情報と、信号線120を
介してDCC17より送出される現在がデバッグ割り込
みの回数であることを示す情報から、今実行している命
令で装置を停止することを示す情報を信号線116を介
してDGU(図示せず)に送出する。
【0048】次に本例の動作について簡単に説明する。
【0049】最初に分岐命令の登録時の動作について説
明する。
【0050】分岐命令でその分岐結果が成功であった場
合、その分岐命令のアドレスがIAR1に、また、その
分岐先アドレスがBDAR2にセットされる。そうし
て、その対でBAA3およびDAA4に記録される。
【0051】つぎに通常の命令取り出し時の動作につい
て説明する。
【0052】命令取り出し時はその取り出しアドレスが
IAR1にセットされる。そうしてそのアドレスとBA
A3に配線されている過去に分岐が成功した分岐命令の
アドレスをBAC6で比較し、一致した場合信号線10
9が“1”になる。このときこのアドレスがデバッグア
ドレスでないことよりDIA5より送出されるデバッグ
アドレス情報は“0”となりPAFF10がセットさ
れ、同時に信号線107を介してDAA4より送出され
る過去の分岐命令の分岐先アドレスを予測される分岐先
アドレスとしてPBDAR12にセットされる。そうし
てその情報がADA(図示せず)に伝えられADAはそ
の予測分岐先アドレスから命令取り出しを開始する。
【0053】最後にデバッグ時の動作について説明す
る。
【0054】まず、デバッグ対象命令アドレス/マイク
ロ命令アドレスを設定する時は、IAR1にデバッグ対
象命令アドレスが、BDAR2にデバッグ対象マイクロ
命令アドレスが、DIR22にデバッグ対象アドレスを
書き込むことを示すために“1”を設定し、デバッグ割
り込みまでの回数をDC16に設定することにより、B
AA3にデバッグアドレスが、さらに、BDAR2にデ
バッグ対象マイクロ命令アドレスが書き込まれ、それと
同時にDIA5にそのエントリにデバッグ情報を書き込
んだことを示すために“1”が、デバッグ割り込みまで
の回数がDCA15に書き込まれる。命令取り出し時は
通常と同様にIAR1に命令取り出しアドレスがセット
されるが、その時のBAA3のアドレスがデバッグアド
レスであった場合、信号線108にDIA5から“1”
が送出される。これによりDAFF11がセットされ、
これと同時にデバッグ対象命令アドレスがDAR12
に、デバッグ対象マイクロ命令アドレスがPBDAR1
2に、デバッグ割り込みまでの回数がDC16にセット
される。この後、DAR12に保持されたデバッグ対象
アドレスと命令カウンタ値が、PBDAR12に保持さ
れたデバッグ対象マイクロ命令アドレスとマイクロ命令
カウンタ値がそれぞれ比較され、両方が一致した場合、
DC16が示すデバッグ割り込みまでの回数が“0”で
あった場合、装置を停止する指示信号が信号線116を
介してDGU(図示せず)に送出される。DC16の値
が“0”でなかった場合はその値を1減算した値がDC
16に書き戻され、次回のアドレス一致まで保持され
る。
【0055】
【発明の効果】本発明のデバッグ回路は、分岐ヒストリ
テーブルを利用することにより、複数の命令アドレスと
そのマイクロ命令アドレスに対してデバッグを指示で
き、さらにその出現回数までも指定することができるの
で、少ないハードウェアの追加で細かい設定で装置の停
止を指示することができると言う効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成を表すブロック図で
ある。
【図2】本発明の具体的な実施例の構成を示すブロック
図である。
【図3】従来の一実施例の構成を示す図である。
【図4】従来の他の実施例の構成を示す図である。
【符号の説明】
1 命令アドレスレジスタ(IAR) 2 分岐先アドレスレジスタ(BDAR) 3 分岐アドレスアレイ(BAA) 4 分岐先アドレスアレイ(DAA) 5 デバッグ情報アレイ(DIA) 6 アドレス比較器(TAC) 7 NOT回路 8、9、14 AND回路 10 予測分岐先検出フラグ(PAFF) 11 デバッグアドレス検出フラグ(DAFF) 12 予測分岐先アドレスレジスタ(PBDAR) 13 デバッグアドレス比較器1(DACl) 15 デバッグカウンタアレイ(DCA) 16 デバッグカウンタ(DC) 17 デバッグ回数比較器(DCC) 18 デバッグカウント減算器(DCD) 19 デバッグカウンタ選択回路(DCAAS) 20 デバッグアドレスレジスタ(DAR) 21 デバッグアドレス比較器2(DAC2) 22 デバッグ情報レジスタ(DIR) 30 分岐アドレスメモリ 40 分岐先アドレスメモリ 50 デバッグ情報メモリ 60 ヒストリテーブル 70 停止信号出力回路

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 分岐命令のアドレスとこれに対応する分
    岐先アドレスを対にし、デバッグ用の命令アドレスとこ
    れに対応するマイクロ命令アドレスを対にして、合わせ
    て記憶する分岐ヒストリテーブルを有するデータ処理装
    置の分岐ヒストリテーブルを用いたデバッグ回路におい
    て、 デバッグ開始までの分岐命令の検出回数を記憶するメモ
    リと、 デバッグ用の命令アドレスとこれに対応するマイクロ命
    令アドレスが命令アドレスの出現回数の組み合わせによ
    り、命令語の個別ステップに対して停止信号を出力する
    停止手段を有することを特徴とするヒストリテーブルを
    用いたデバッグ回路。
  2. 【請求項2】 前記合わせて記憶する分岐ヒストリテー
    ブルが、 命令アドレスレジスタを含み、分岐命令のアドレスとデ
    バッグ用の命令アドレスとを記憶する第1の記憶手段
    と、 分岐先アドレスレジスタを含み、前記第1の記憶手段の
    記憶された分岐命令のアドレスに対応する分岐先アドレ
    スと、デバッグ用の命令アドレスに対応するマイクロ命
    令アドレスを記憶する第2の記憶手段と、 記憶された命令アドレスが分岐命令のアドレスかあるい
    はデバッグ用の命令アドレスかを区別して記憶する第3
    の記憶手段と、を有する請求項1記載の分岐ヒストリテ
    ーブルを用いたデバッグ回路。
  3. 【請求項3】 前記合わせて記憶する分岐ヒストリテー
    ブルが、 分岐命令のアドレスの代わりに装置を停止させたいデバ
    ッグ用の命令アドレスを記憶する第1の記憶手段と、 分岐命令の分岐先アドレスの代わりに前記デバッグ用の
    命令アドレスで示される命令語の停止させたいマイクロ
    命令アドレスを記憶する第2の記憶手段と、 記憶された命令アドレスが分岐命令のアドレスかあるい
    はデバッグ用の命令アドレスかを区別して記憶する第3
    の記憶手段と、を有する請求項1記載の分岐ヒストリテ
    ーブルを用いたデバッグ回路。
  4. 【請求項4】 デバッグ開始までの分岐命令の検出回数
    を記憶するメモリが、 何回目の一致でデバッグ割り込みを発生するかを記憶す
    る第4の記憶手段である請求項1記載の分岐ヒストリテ
    ーブルを用いたデバッグ回路。
  5. 【請求項5】 前記命令アドレスと対応するマイクロ命
    令アドレスが命令アドレスの出現回数の組み合わせによ
    り、命令語の個別ステップに対して停止信号を出力する
    停止手段が、 前記分岐ヒストリテーブルとデバッグ開始までの分岐命
    令の検出回数を記憶するメモリを参照して、現在実行中
    の命令アドレスがデバッグ対象命令アドレスであり、か
    つ、現在実行中のマイクロ命令アドレスがデバッグ対象
    のマイクロ命令アドレスであり、かつ、前記命令アドレ
    スがデバッグ用のアドレスであり、さらに、デバッグ割
    り込みの回数であることを検出してデバッグ割り込みの
    停止指示を送出する停止手段である請求項1記載の分岐
    ヒストリテーブルを用いたデバッグ回路。
  6. 【請求項6】 分岐命令のアドレスと該分岐命令の分岐
    先アドレスを対にして記憶する分岐ヒストリテーブルを
    有するデータ処理装置における、 前記分岐ヒストリテーブルに記憶された分岐命令のアド
    レスの代わりに装置を停止させたいデバッグ用の命令ア
    ドレスを記憶する第1の記憶手段と、 前記分岐ヒストリテーブルに記憶された分岐命令の分岐
    先アドレスの代わりに前記デバッグ用の命令アドレスで
    示される命令語の停止させたいマイクロ命令アドレスを
    記憶する第2の記憶手段と、 前記分岐ヒストリテーブルの各エントリに対して、記憶
    された命令アドレスが分岐命令のアドレスかあるいはデ
    バッグ用の命令アドレスかを示す第3の記憶手段と、 前記分岐ヒストリテーブルに記憶された命令アドレスと
    命令取り出しアドレスを比較する第1の比較回路と、 前記第1の比較回路によって命令取り出しアドレスと前
    記分岐ヒストリテーブルに記憶された命令アドレスが一
    致したとき、その記憶された命令アドレスが前記第1の
    記憶手段によってデバッグ用の命令アドレスであること
    を示された場合、前記分岐ヒストリテーブルに記憶され
    た命令アドレスを保持する第1のレジスタ手段と、 前記第1の比較回路によって命令取り出しアドレスと前
    記分岐ヒストリテーブルに記憶された命令アドレスが一
    致したとき、その記憶された命令アドレスが前記第1の
    記憶手段によってデバッグ用の命令アドレスであること
    を示された場合、前記分岐ヒストリテーブルに記憶され
    たマイクロ命令アドレスを保持し、デバッグ用の命令ア
    ドレスでない場合、前記分岐ヒストリテーブルに保持さ
    れた分岐先アドレスを保持する第2のレジスタ手段と、
    を有する分岐ヒストリテーブルを用いたデバッグ回路に
    おいて、 前記第3の記憶手段に対応し、何回目の一致でデバッグ
    割り込みを発生するかを記憶する第4の記憶手段と、 前記第1および第2のレジスタ手段に対応して、第4の
    記憶手段から出力されたデバッグ割り込み発生までの一
    致回数を保持する第3のレジスタ手段と、 前記レジスタ手段に対して、その保持された命令アドレ
    スがデバッグ用のアドレスか、あるいは、予測される分
    岐先アドレスかを示すアドレス情報表示手段と、 前記第1のレジスタ手段に保持された命令アドレスと現
    在実行中の命令アドレスを比較する第2の比較回路と、 前記第2のレジスタ手段に保持されたマイクロ命令アド
    レスと現在実行中の命令語のマイクロ命令アドレスとを
    比較する第3の比較回路と、 前記第2の比較回路により、現在実行中の命令アドレス
    がデバッグ対象命令アドレスであることが示され、か
    つ、前記第3の比較回路により現在実行中のマイクロ命
    令アドレスがデバッグ対象のマイクロ命令アドレスであ
    ることがしめされ、かつ、前記アドレス情報表示手段に
    よりその保持されたアドレスがデバッグ用のアドレスで
    あると示され、さらに、第3のレジスタ手段によりデバ
    ッグ割り込みの回数であることが示された場合、装置の
    停止指示を送出し、第3のレジスタ手段がデバッグ割り
    込みの回数を示していない場合は、第3のレジスタ手段
    の保持するデバッグ割り込みの回数を更新して前記第3
    のレジスタ手段に書き戻す装置停止手段とから構成され
    ることを特徴とする分岐ヒストリテーブルを用いたデバ
    ッグ回路。
JP9334583A 1997-12-04 1997-12-04 分岐ヒストリテーブルを用いたデバッグ回路 Pending JPH11167502A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9334583A JPH11167502A (ja) 1997-12-04 1997-12-04 分岐ヒストリテーブルを用いたデバッグ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9334583A JPH11167502A (ja) 1997-12-04 1997-12-04 分岐ヒストリテーブルを用いたデバッグ回路

Publications (1)

Publication Number Publication Date
JPH11167502A true JPH11167502A (ja) 1999-06-22

Family

ID=18279033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9334583A Pending JPH11167502A (ja) 1997-12-04 1997-12-04 分岐ヒストリテーブルを用いたデバッグ回路

Country Status (1)

Country Link
JP (1) JPH11167502A (ja)

Similar Documents

Publication Publication Date Title
JPH10333939A (ja) マイクロプロセッサ
JPH11167502A (ja) 分岐ヒストリテーブルを用いたデバッグ回路
JP2859172B2 (ja) 情報処理装置のデバッグ回路
JP3157242B2 (ja) マイクロ・プログラム制御におけるエラー処理方法
JP3011166B2 (ja) デバッグ回路
JPH0512005A (ja) 情報処理装置
JPS6260035A (ja) 擬似障害発生方式
JPH0764822A (ja) マイクロコンピュータ
JP3118802B2 (ja) 分岐ヒストリテーブルを用いたデバッグ回路
JP2658342B2 (ja) データ処理装置
JPH06103110A (ja) ブレークポイント設定方式
JP2574384B2 (ja) データストリーム発生器
JP2845780B2 (ja) データ転送制御回路
JPS58222348A (ja) 情報処理装置
JPS62113239A (ja) マイクロ命令生成方式
JPS59200356A (ja) プログラムトレ−ス方式
JPH01193942A (ja) 信号処理回路の自己診断方式
JPH10214209A (ja) デバッギング機能を有するデータ処理装置
JPS61290543A (ja) エラ−発生装置
JPH0228724A (ja) 分岐命令制御方式
JPH02242444A (ja) 情報処理装置のデバッグ機構
JPH02161538A (ja) 情報処理装置のデバッグ機構
JPH0427574B2 (ja)
JPH05120080A (ja) フアームウエア実行履歴記憶方式
JPH0527967A (ja) 計算機システム