JP2859172B2 - 情報処理装置のデバッグ回路 - Google Patents

情報処理装置のデバッグ回路

Info

Publication number
JP2859172B2
JP2859172B2 JP7220436A JP22043695A JP2859172B2 JP 2859172 B2 JP2859172 B2 JP 2859172B2 JP 7220436 A JP7220436 A JP 7220436A JP 22043695 A JP22043695 A JP 22043695A JP 2859172 B2 JP2859172 B2 JP 2859172B2
Authority
JP
Japan
Prior art keywords
address
instruction
branch
debug
information
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.)
Expired - Lifetime
Application number
JP7220436A
Other languages
English (en)
Other versions
JPH0962540A (ja
Inventor
剛 森定
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 Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP7220436A priority Critical patent/JP2859172B2/ja
Publication of JPH0962540A publication Critical patent/JPH0962540A/ja
Application granted granted Critical
Publication of JP2859172B2 publication Critical patent/JP2859172B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置のデ
バッグ回路に関し、特に分岐ヒストリテーブルを利用し
たデバッグ回路に関する。
【0002】
【従来の技術】従来のノイマン型コンピュータでは、命
令はアドレス付けされた空間に並べられ、そのアドレス
の順番に処理される。ところが、条件を判断し処理を変
更する必要がある場合、処理を変更するためにアドレス
の連続しない命令へ分岐する必要がある。この分岐はノ
イマン型のコンピュータにとって一連の連続する処理を
分割するものであり、性能を低下させる原因となるもの
であった。従来、この分岐命令を高速化する手法として
「米国特許第3559183号」に記載された分岐ヒス
トリテーブル(Branch History Tab
le:BHT)の技術と、「米国特許第4477872
号」に記載されたデコードヒストリテーブル(Deco
de History Table:DHT)の技術と
が知られている。
【0003】このうち前者の分岐ヒストリテーブルは分
岐命令の命令アドレスとその分岐先アドレスを記憶する
ことにより、命令取り出し時にその命令に分岐命令があ
ったかどうかをチェックし、以前分岐命令であった場
合、対にして記憶している分岐先アドレスを利用して先
行して分岐先命令を先取り、分岐命令の分岐条件が成立
して分岐する場合の分岐命令から分岐先命令の処理間隔
を少なくすることを可能としている。
【0004】
【発明が解決しようとする課題】上述した従来の分岐ヒ
ストリテーブルは分岐命令の高速化の機能のみであり、
特定アドレスの検出して装置の停止しデバッグを行うた
めの手段としては使用できない。したがって、このため
には別の回路を設けなければならずハードウェア量が増
大するという欠点がある。
【0005】
【課題を解決するための手段】本発明の第1のデバッグ
回路は、(a)各エントリに分岐命令の命令アドレスあ
るいはデバッグ用の命令アドレスのいずれかを保持する
第1のテーブルと、前記第1のテーブルのエントリに分
岐命令のアドレスが保持されると該分岐命令の分岐先ア
ドレスを対応するエントリに保持する第2のテーブルと
を備えた分岐ヒストリテーブルと、(b)前記分岐ヒス
トリテーブルの第1のテーブルの各エントリに保持され
た命令アドレスが分岐命令の命令アドレスかデバッグ用
の命令アドレスかのどちらであるかを示す種別情報を保
持する第1の記憶回路と、(c)前記分岐ヒストリテー
ブルの第1のテーブルの各エントリに保持された命令ア
ドレスがデバッグ用の命令アドレスである場合に何回目
の検出でデバッグを開始するかを示す回数情報を保持す
る第2の記憶回路と、(d)前記分岐ヒストリテーブル
の第1のテーブルのエントリからの命令アドレスと命令
取り出しアドレスとを比較し一致するかどうかを検出す
る第1の比較回路と、(e)前記第1の比較回路によっ
て一致が検出されると、比較された前記分岐テーブルの
前記第1のテーブルのエントリからの命令アドレスを保
持する第1のレジスタ手段と、(f)前記種別情報を前
記第1の記憶回路から取り込み保持するアドレス情報表
示手段と、(g)前記回数情報を前記第2の記憶回路か
ら取り込み保持する第2のレジスタ手段と、(h)前記
第1のレジスタ手段に保持された命令アドレスと現在実
行中の命令アドレスとを比較し一致するかどうかを検出
する第2の比較回路と、(i)前記第2の比較回路で一
致が検出されかつ前記アドレス情報表示手段の前記種別
情報がデバッグ用のアドレスであることを示しかつ前記
第2のレジスタ手段の前記回数情報がデバッグを開始す
ることを示すと装置の停止指示を送出する停止指示送出
回路と、(j)前記第2の比較回路で一致が検出されか
つ前記アドレス情報表示手段の前記種別情報がデバッグ
用のアドレスであることが示しかつ前記第2のレジスタ
手段の前記回数情報がデバッグを開始しないことを示す
と該回数情報をカウントダウンし前記第2の記憶回路に
書き戻す計数手段と、を有する。
【0006】
【0007】
【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。
【0008】図1は本発明の一実施の形態のブロック図
である。
【0009】命令アドレスレジスタ(IAR)1は、命
令取り出しアドレスまたは分岐命令アドレス登録時の分
岐命令アドレスを保持するレジスタであり、信号線10
1を介して命令アドレス生成部ADA(図示せず)より
送出される命令アドレスを受け、その下位ビットをメモ
リのアドレスとして信号線104を介して分岐アドレス
アレイ(BAA)3、分岐先アドレスアレイ(DAA)
4、デバッグ情報アレイ(DIA)5、デバッグカウン
トアレイセレクタ(DCAX)19に、また、その上位
ビットをBAA4の書き込みデータおよびアドレス比較
器(BAC)6の比較対象として信号線103を介して
送出する。
【0010】分岐先アドレスレジスタ(BDAR)2は
IAR1に保持された分岐先アドレスの登録時の分岐命
令アドレスに対応し、その分岐先アドレスを保持するレ
ジスタであり、信号線102を介してADAより送出さ
れた分岐先アドレスを受け、信号線103を介してDA
A4にその書き込みデータとして送出する。
【0011】分岐アドレスアレイ(BAA)3はその分
岐条件が成立して分岐する場合の分岐命令のアドレスあ
るいはデバッグ用の命令アドレスを記憶するメモリで、
信号線104を介してIAR1より送出される命令アド
レスの下位ビットをアドレスとして、索引時には過去の
分岐命令のアドレスあるいはデバッグアドレスを信号線
106を介してBAC6あるいは予測分岐先アドレスレ
ジスタ(PBDAR)12に送出し、登録時にはIAR
1の下位ビットを信号線103を介して受け、それを記
憶する。
【0012】分岐先アドレスアレイ(DAA)4はBA
A3に対応して、その分岐条件が成立した分岐命令の分
岐先アドレスを記憶するメモリで、信号線104を介し
てIAR1より送出される命令アドレスの下位ビットを
アドレスとして、登録時には信号線105を介してBD
AR2より送出される分岐命令の分岐先アドレスを記憶
し、索引時には過去の分岐命令のアドレスを信号線10
7を介してPBDAR12に送出する。
【0013】デバッグ情報アレイ(DIA)5はBAA
3に対応して、BAA3が記憶している命令アドレスが
分岐命令のアドレスか、あるいは、デバッグ用の命令ア
ドレスかを記憶するメモリであり、信号線104を介し
てIAR1より送出される命令アドレスの下位ビットを
アドレスとしてその情報を信号線108を介してNOT
回路7とAND回路9とに送出する。
【0014】デバッグカウントアレイセレクタ(DCA
X)19はDCA15の読み出しおよび書き込みアドレ
スを選択する選択回路であり、読み出し時は信号線10
4を介しIAR1の下位ビットによって示されるアドレ
スを、また書き込み時は信号線123を介しPBDAR
12の下位ビットによって示されるアドレスを選び、信
号線124を介しデバッグカウントアレイ(DCA)1
5に送出する。
【0015】デバッグカウントアレイ(DCA)15は
BAA3及びDIA5に対応して、BAA3が記憶して
いる命令アドレスがデバッグ用の命令アドレスであった
場合、何回目にデバッグ状態に移入するかを記憶するメ
モリであり、信号線124を介してDCAX19によっ
て示されたアドレスに信号線121を介してカウントダ
ウン回路(CDC)18より送出される減算後のデバッ
グ移入回数を記憶し、信号線124を介してDCAX1
9により示されたアドレスから読み出されたデバッグ移
入回数を信号線119を介してデバッグカウンタ(D
C)16に送出する。
【0016】アドレス比較器(BAC)6は命令取り出
しアドレスが過去の分岐命令のアドレスあるいはデバッ
グアドレスと一致しているかどうかを検出する比較回路
であり、信号線103を介してIAR1より送出される
命令アドレスの上位ビットとBAA3より信号線106
を介して送出される命令アドレスとを比較し、一致した
かどうかの情報を信号線109を介してAND回路8お
よび9に送出する。
【0017】NOT回路7は検出したアドレスの一致が
デバッグアドレスで無いことを示すための回路であり、
信号線108を介してDIA5より送出されたデバッグ
アドレスかどうかの信号を受け、デバッグアドレスであ
れば“0”を、そうでなければ“1”を信号線110を
介してAND回路8に送出する。
【0018】AND回路8は予測分岐先アドレスが検出
されたかどうかを示すための回路であり、信号線109
を介してBAC6より送出されたアドレス比較結果と信
号線110を介してNOT回路7より送出されたデバッ
グアドレスでは無いという情報より、予測分岐先アドレ
スが検出されたことを信号線111を介して予測分岐先
検出フラグ(PAFF)10に送出する。
【0019】AND回路9はデバッグアドレスが検出さ
れたかどうかを示すための回路であり、信号線109を
介してBAC6より送出されたアドレス比較結果と信号
線108を介してDIA5より送出されたデバッグアド
レスであることを示す情報より、デバッグアドレスが検
出されたことを信号線112を介してデバッグアドレス
検出フラグ(DAFF)11に送出する。
【0020】予測分岐先検出フラグ(PAFF)10は
予測分岐先アドレスが検出されたことを示すフラグであ
り、信号線111を介してAND回路8より送出される
予測分岐先アドレス検出情報を受け、信号線117を介
してADA(図示せず)に送出する。
【0021】デバッグアドレス検出フラグ(DAFF)
11はデバッグアドレスが検出されたことを示すフラグ
であり、信号線112を介してAND回路9より送出さ
れるデバッグアドレス検出情報を受け、信号線118を
介してAND回路14に送出する。
【0022】予測分岐先アドレスレジシタ(PBDA
R)12は予測分岐先アドレス、あるいはデバッグアド
レスを受けるレジスタであり、信号線108を介してD
IA5より示されるデバッグアドレス情報により、デバ
ッグアドレスである場合、信号線106を介してBAA
3より送出されるデバッグアドレスを、そうで無い場
合、信号線107を介してDAA4より送出される過去
の分岐命令の分岐先アドレスを受け、信号線113を介
してADA(図示せず)およびデバッグアドレス比較器
(DAC)13に送出する。また、信号線123を介し
てDCA15に記憶されたデバッグ状態移入回数の更新
用のアドレスを信号線123を介してDCAX19に送
出する。
【0023】デバッグアドレス比較器(DAC)13は
現在実行している命令がデバッグ対象アドレスかどうか
を検出する比較器であり、信号線113を介してPBD
AR12より送出されるデバッグアドレスと信号線11
4を介して命令実行部EXU(図示せず)より送出され
る命令カウンタ値とを比較し、その結果を信号線115
を介してAND回路14に送出する。
【0024】デバッグカウンタ(DC)16はデバッグ
状態に移入するまでの回数を保持するレジスタであり、
信号線119を介してDCA15より示されるデバッグ
移入回数を受け、信号線122を介してCDC18及び
デバッグ回数比較回路(DCC)17に送出する。
【0025】デバッグ回数比較回路(DCC)17はデ
バッグ移入するかどうかをチェックする比較回路であ
り、信号線122を介してDC16より示されるデバッ
グ状態移入回数を受け、その回数がデバッグ移入を示し
ている場合、すなわちその値が“0”であると、信号線
120を介して“1”をAND回路116に送出する。
【0026】カウントダウン回路(CDC)18はデバ
ッグ移入回数を更新するためのカウンタであり、信号線
122を介してDC16によって示された現在のデバッ
グ移入回数を“1”減算し、その新しい値を信号線12
1を介してDCA15に送出する。
【0027】AND回路14は今実行している命令がデ
バッグ対象であることを検出したという信号を生成する
ための回路である。信号線118を介してDAFF11
より送出されるデバッグアドレスがPBDAR12に保
持されているということを示す情報と、信号線115を
介してDAC13より送出される現在の命令カウンタ値
がデバッグアドレスであることを示す情報と、信号線1
20を介してDCC17により今回の検出でデバッグ状
態に移入することを示す情報とを受け取ると、今実行し
ている命令で装置を停止することを示す情報を信号線1
16を介して診断装置(DGU)に送出する。
【0028】図2は、通常の命令取り出し時N動作を説
明するためのフローチャートである。
【0029】図2において、“A”は、取り出される命
令のアドレスである。また、“B”は、アドレス“A”
の命令の分岐先のアドレスである。
【0030】図3は、デバッグ時の動作を説明するため
のフローチャートである。
【0031】図3において、“A”、“B”は、図2と
同様である。
【0032】次に本実施の形態の動作について説明す
る。
【0033】最初に分岐命令の登録時の動作について図
1を参照して説明する。
【0034】分岐命令でその分岐条件が成立して分岐す
る場合、その分岐命令のアドレスがIAR1に、また、
その分岐先アドレスがBDAR2にセットされる。さら
に、IAR1の内容の下位がBAA3に、またBDAR
2の内容がDAA4に保持される。
【0035】つぎに通常の命令取り出し時の動作につい
て図1、図2を参照して説明する。
【0036】命令取り出し時はその取り出しアドレスが
IAR1にセットされる。そのアドレスとBAA3に保
持されている過去に分岐が成功した分岐命令のアドレス
をBAC6で比較し、一致した場合信号線109が
“1”になる。このときこのアドレスはデバッグアドレ
スでは無いのでDIA5より送出されるデバッグアドレ
ス情報は“0”となりPAFF10がセットされる。ま
た、同時に信号線107を介してDAA4より送出され
る過去の分岐命令の分岐先アドレスが予測される分岐先
アドレスとしてPBDAR12にセットされる。その情
報がADAに伝えられADAはその予測分岐先アドレス
から命令取り出しを開始する。
【0037】次にデバッグ時の動作について図1、図3
を参照して説明する。
【0038】デバッグ時は外部からBAA3にデバッグ
アドレスが書き込まれ、それと同時にDIA5にそのエ
ントリにデバッグ情報を書き込んだことを示すために
“1”が書き込まれる。命令取り出し時は通常と同様に
IAR1に命令取り出しアドレスがセットされるが、そ
の時のBAA3のアドレスがデバッグアドレスであった
場合、信号線108にDIA5から“1”が送出され
る。これによりDAFF11がセットされ、これと同時
にデバッグアドレスがPBDAR12に、またデバッグ
状態移入回数がDC16にセットされる。この後、PB
DAR12に保持されたデバッグアドレスと命令カウン
タ値が比較され一致し、かつDC16によって今回デバ
ッグ状態に移入することが示された場合、装置を停止す
る指示をDGU(図示せず)に送出される。そうで無い
場合は、新しいデバッグ状態への移入回数がCDC18
によって生成されDCA15に書き戻される。
【0039】
【発明の効果】以上説明したように、本発明のデバッグ
回路は、分岐ヒストリテーブルを利用することにより、
少ないハード量の追加で複数の命令アドレスに対してよ
り複雑な装置の停止を指示することができるという効果
がある。
【図面の簡単な説明】
【図1】本発明の一実施の形態のブロック図である。
【図2】図1の実施の形態における通常の命令取り出し
時の動作を説明するためのフローチャートである。
【図3】図1の実施の形態のおけるデバッグ時の動作を
説明するためのフローチャートである。
【符号の説明】
1 命令アドレスレジスタ(IAR) 2 分岐先アドレスレジスタ(BDAR) 3 分岐アドレスアレイ(BAA) 4 分岐先アドレスアレイ(DAA) 5 デバッグ情報アレイ(DIA) 6 アドレス比較器(BAC) 7 NOT回路 8、9、14 AND回路 10 予測分岐先検出フラグ(PAFF) 11 デバッグアドレス検出フラグ(DAFF) 12 予測分岐先アドレスレジスタ(PBDAR) 13 デバッグアドレス比較器(DAC) 15 デバッグカウントアレイ(DCA) 16 デバッグカウンタ(DC) 17 デバッグ回数比較回路(DCC) 18 カウントダウン回路(CDC) 19 デバッグカウントアレイセレクタ(DCAX) 101〜124 信号線

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 (a)各エントリに分岐命令の命令アド
    レスあるいはデバッグ用の命令アドレスのいずれかを保
    持する第1のテーブルと、前記第1のテーブルのエント
    リに分岐命令のアドレスが保持されると該分岐命令の分
    岐先アドレスを対応するエントリに保持する第2のテー
    ブルとを備えた分岐ヒストリテーブルと、 (b)前記分岐ヒストリテーブルの第1のテーブルの各
    エントリに保持された命令アドレスが分岐命令の命令ア
    ドレスかデバッグ用の命令アドレスかのどちらであるか
    を示す種別情報を保持する第1の記憶回路と、 (c)前記分岐ヒストリテーブルの第1のテーブルの各
    エントリに保持された命令アドレスがデバッグ用の命令
    アドレスである場合に何回目の検出でデバッグを開始す
    るかを示す回数情報を保持する第2の記憶回路と、 (d)前記分岐ヒストリテーブルの第1のテーブルのエ
    ントリからの命令アドレスと命令取り出しアドレスとを
    比較し一致するかどうかを検出する第1の比較回路と、 (e)前記第1の比較回路によって一致が検出される
    と、比較された前記分岐テーブルの前記第1のテーブル
    のエントリからの命令アドレスを保持する第1のレジス
    タ手段と、 (f)前記種別情報を前記第1の記憶回路から取り込み
    保持するアドレス情報表示手段と、 (g)前記回数情報を前記第2の記憶回路から取り込み
    保持する第2のレジスタ手段と、 (h)前記第1のレジスタ手段に保持された命令アドレ
    スと現在実行中の命令アドレスとを比較し一致するかど
    うかを検出する第2の比較回路と、 (i)前記第2の比較回路で一致が検出されかつ前記ア
    ドレス情報表示手段の前記種別情報がデバッグ用のアド
    レスであることを示しかつ前記第2のレジスタ手段の前
    記回数情報がデバッグを開始することを示すと装置の停
    止指示を送出する停止指示送出回路と、 (j)前記第2の比較回路で一致が検出されかつ前記ア
    ドレス情報表示手段の前記種別情報がデバッグ用のアド
    レスであることが示しかつ前記第2のレジスタ手段の前
    記回数情報がデバッグを開始しないことを示すと該回数
    情報をカウントダウンし前記第2の記憶回路に書き戻す
    計数手段と、 を有することを特徴とする情報処理装置のデバッグ回
    路。
JP7220436A 1995-08-29 1995-08-29 情報処理装置のデバッグ回路 Expired - Lifetime JP2859172B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7220436A JP2859172B2 (ja) 1995-08-29 1995-08-29 情報処理装置のデバッグ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7220436A JP2859172B2 (ja) 1995-08-29 1995-08-29 情報処理装置のデバッグ回路

Publications (2)

Publication Number Publication Date
JPH0962540A JPH0962540A (ja) 1997-03-07
JP2859172B2 true JP2859172B2 (ja) 1999-02-17

Family

ID=16751088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7220436A Expired - Lifetime JP2859172B2 (ja) 1995-08-29 1995-08-29 情報処理装置のデバッグ回路

Country Status (1)

Country Link
JP (1) JP2859172B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6473023B2 (ja) * 2015-03-27 2019-02-20 株式会社メガチップス 性能評価モジュール及びこれを組み込んだ半導体集積回路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2542565B2 (ja) * 1985-01-30 1996-10-09 日本電気株式会社 分岐予測制御方式
JP2511978B2 (ja) * 1987-06-19 1996-07-03 株式会社日立製作所 デ−タ処理装置
JPH0277853A (ja) * 1988-09-13 1990-03-16 Nec Corp データ処理装置
JPH03147133A (ja) * 1989-11-02 1991-06-24 Koufu Nippon Denki Kk 情報処理装置
JPH03147132A (ja) * 1989-11-02 1991-06-24 Koufu Nippon Denki Kk 情報処理装置
JPH0442330A (ja) * 1990-06-08 1992-02-12 Nec Corp 分岐ヒストリテーブルを用いたデバッグ方式

Also Published As

Publication number Publication date
JPH0962540A (ja) 1997-03-07

Similar Documents

Publication Publication Date Title
US5226153A (en) Bus monitor with time stamp means for independently capturing and correlating events
US4698754A (en) Error detection of scan-out in a diagnostic circuit of a computer
JP2859172B2 (ja) 情報処理装置のデバッグ回路
JPH0447340B2 (ja)
JP3076044B2 (ja) パイプラインのエラー情報記憶方式
JP2982506B2 (ja) 分岐ヒストリテーブル制御回路
JP2679163B2 (ja) 演算例外発生命令情報検出回路
JPH0769822B2 (ja) 演算レジスタのバイパスチェック方式
JPS63123140A (ja) 履歴情報記憶装置
JPH0520350A (ja) ベクトル処理装置
JP2658342B2 (ja) データ処理装置
JP3011166B2 (ja) デバッグ回路
JPH04319749A (ja) 障害検出回路
JP2876606B2 (ja) 情報処理装置
JP2804406B2 (ja) パルス測定装置
JP2926951B2 (ja) 退避/復帰レジスタアドレス生成回路
JPS60105058A (ja) 情報処理装置
JPH02242444A (ja) 情報処理装置のデバッグ機構
JPH11167502A (ja) 分岐ヒストリテーブルを用いたデバッグ回路
JPS605350A (ja) プログラムル−ト記録方式
JPH04255032A (ja) 制御記憶装置のエラー訂正方式
JPS62190534A (ja) デ−タ処理装置
JPH03211632A (ja) 網羅率測定装置
JPH0553798A (ja) 情報処理装置
JPH08272647A (ja) ソフトウェア評価装置