JPH05334126A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH05334126A
JPH05334126A JP4140403A JP14040392A JPH05334126A JP H05334126 A JPH05334126 A JP H05334126A JP 4140403 A JP4140403 A JP 4140403A JP 14040392 A JP14040392 A JP 14040392A JP H05334126 A JPH05334126 A JP H05334126A
Authority
JP
Japan
Prior art keywords
instruction
break
conditional branch
processing
execution
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
JP4140403A
Other languages
English (en)
Inventor
Sunao Ogawa
直 小川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4140403A priority Critical patent/JPH05334126A/ja
Publication of JPH05334126A publication Critical patent/JPH05334126A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 この発明は、C1カバレッジを最小限のオー
バーヘッドで行うためのデバッグ機能を具備した情報処
理装置を提供することを目的とする。 【構成】 この発明は、命令デコーダ3に与えられる複
数の命令の中から条件付き分岐命令のみを専用に検出す
る検出回路4と、前記検出回路4により条件付き分岐命
令が検出されると、ブレーク処理を実行するか否かの指
示に基づいて、条件付き分岐命令の次に実行予定の命令
が実行される前に、ブレーク処理の実行開始を指令する
ブレーク発生回路5と、前記ブレーク発生回路5からの
指令により、条件付き分岐命令の次に実行予定の命令が
実行される前に、予め設定されたブレーク処理を開始実
行させる割り込み制御回路2とから構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デバック作業において
必要とされるブレーク機能を改善して、デバック処理を
確実に行うことができる情報処理装置に関する。
【0002】
【従来の技術】マイコン応用開発において、プログラム
のコーディング、コンパイル/アセンブルが終了する
と、実機システム上で実際の動作をさせるエミュレーシ
ョンの段階に入る。この段階は開発において最も重要で
困難な作業の一つである。
【0003】デバック作業において使用されるインサー
キット・エミュレータ(ICE)には、大きく分けて次
のような機能が含まれている。プログラム実行、トレー
ス、シングルステップ、メモリ内容の表示、メモリマッ
ピング、ブレーク、プログラムロード、ストア、リセッ
トである。
【0004】更に、これらの機能を組み合わせてソフト
ウェアの効率を向上させるためのパフォーマンス・アナ
ライザ、また、ソフトウェアによる事故を未然に防止す
るためにソフトウェアの品質を向上させるためのツール
として、カバレッジ・アナライザが備えられてきてい
る。
【0005】カバレッジ・アナライザは、完成したソフ
トウェアの品質チェックのツールとして最近注目を集め
ている。カバレッジ・アナライザにはC0カバレッジと
呼ばれ、テストプログラムによってメモリがアクセスさ
れたかどうかをチェックするカバレッジと、C1カバレ
ッジと呼ばれてテストプログラムの条件分岐をどの条件
で実行したかどうかをチェックするカバレッジがある。
【0006】C0カバレッジは、どの範囲のメモリがア
クセスされたかどうかを調べるツールであるため、基本
的にターゲットCPUのアドレスバスをモニターするこ
とによってその実現方法はいろいろと考えられる。これ
によって使用者には、アクセスされた(または、されな
かった)メモリアドレス、メモリ範囲、その割合が得ら
れ、実行されなかったプログラム、及びアクセスされな
かったメモリ領域を知ることができる。
【0007】また、特開昭63−58539号公報に
は、分岐命令の実行と、その実行結果としての分岐命令
を外部に表示することにより、分岐方向による先取り失
敗の時にもマイクロプロセッサの内部動作を監視して解
析する技術が開示されている。さらに、特開平2−15
0931号公報には、分岐発生時に分岐元アドレスと分
岐先アドレスと分岐発生のステ−タスとを出力すること
によって、プログラムの実行履歴をトレ−スする技術が
開示されている。
【0008】しかしながら、C0カバレッジ及び上述し
た従来技術にあっては、図6に示すように、条件分岐が
含まれるプログラムフローにおいて条件分岐の条件が不
成立で実行されると、成立の場合のチェックが行われな
いことになる。このことは、プログラムのテスト動作時
に条件成立/不成立のどちらか一方の場合しか実行して
いない可能性を残しているため、ソフトウェアの品質を
向上させる上で極めて大きな問題であった。そのことか
ら、C1カバレッジはプログラム中の条件分岐命令の条
件成立/不成立での実行がチェックできるため、C0カ
バレッジよりも優れている。
【0009】しかし、C1カバレッジの実現方法は、条
件分岐命令をなんらかの方法で検出して命令の実行前に
条件成立/不成立の判定と処理をしなければならず、C
0カバレッジのようにハードウェアによって簡単に実現
することは困難であった。その方法としては、ソフトウ
ェアによる方法とICEを用いた方法があり、以下にそ
れぞれの方法を説明する。
【0010】ソフトウェアによる方法は、ICE等の特
殊なハードウェアを必要としない。一例として図6に示
すプログラムフローにおいて条件分岐命令が存在した場
合に、プログラムのC1カバレッジテストでは、ソース
プログラムのコンパイラ/アセンブラ等で直前にソフト
ウェアによる割り込み命令を挿入したコードを発生さ
せ、図7に示すように、ソフトウェアによる割り込み先
で割り込み元の実行アドレスとCPUフラグの状態を調
べ、成立/不成立どちらの条件で実行されるかの処理を
行い、割り込み発生元のプログラムに戻る。実行停止
後、実行アドレスとCPUフラグの状態、テストプログ
ラムを処理し結果を出力する。テスト後、挿入したソフ
トウェア割り込み命令を削除したコードを出荷する。
【0011】また、このように、プログラムの一部を変
更して、プログラムのカバレ−ジ測定を行なう方法とし
ては、例えば特開平3−204044号公報に開示され
ている。この方法は、翻訳過程において、分岐命令の特
定ビットを変更することにより分岐命令がカバレ−ジ測
定対象として認識されるとともに、命令コ−ドに分岐命
令の実行状況を記録するための情報エリアを設け、カバ
レッジ解析を行なうようにしたものである。
【0012】このような方法にあっては、上述したよう
に、デバッグ時のプログラムと製品化されて出荷される
プログラムが相異することになり、製品化されるプログ
ラムの信頼性が低下することになる。さらに、命令コ−
ドに情報エリアを設けることは、プログラム量の増大及
びこれらを格納する記憶領域の増大を招くことになり、
コストが大幅に上昇することになる。
【0013】一方、ICEを用いた方法は、ソフトウェ
アによる方法に比べ、テスト時のプログラムコードと出
荷プログラムコードが同一となり、プログラムコード量
の増加、あるいはコンパイラ/アセンブラにC1カバレ
ッジ機能を内蔵することによる複雑化等の弊害がないこ
とに特徴がある。
【0014】例えば、図8に示すようなターゲットシス
テム(CPU51、メモリ52)とICE53の接続例
において、ICE53はCPU51の実行命令をモニタ
ーしており、プログラムメモリ52からの条件分岐命令
を検出すると、CPU51の命令フェッチと合わせてC
PU51が実行前ブレーク制御信号を取り込むようにす
る。CPU51では命令のデコード時に実行前ブレーク
制御信号が活性化していれば、命令の実行を行わず予め
決められたハードウェアによる割り込み処理の実行を開
始する。
【0015】この割り込み処理の内容としては、CPU
フラグと条件分岐命令をデコードしたことをICE53
に送出する処理を行う。ICE53ではターゲットCP
U51のフラグを受信してC1カバレッジの処理を行
う。別の例としては、ターゲットCPU51の割り込み
処理プログラムのみでC1カバレッジの処理を行うこと
も可能である。この時、C1カバレッジの割り込み処理
中、再び、条件分岐命令で実行前ブレークを多重にしな
いようにする注意が必要である。
【0016】次に、C1カバレッジの測定実現方法にお
いて、ソフトウェアによる方法とICEを用いた方法に
ついて問題点を述べる。
【0017】ソフトウェアによる方法はテスト時のプロ
グラムコードと出荷プログラムコードが同一ではないこ
とから、出荷プログラムコードについての品質がコンパ
イラ/アセンブラに依存してしまい、C1カバレッジの
ソフトウェア品質テストが十分に行えないという重大な
問題がある。また、条件分岐命令の直前にC1カバレッ
ジ調査のためのソフトウェア割り込み命令を挿入するた
め、プログラムコード量の増大と、挿入したソフトウェ
ア割り込み命令のアドレスとフラグ状態を記憶させるた
めの本来必要としない記憶領域をメモリ空間上に設定し
なければならない。
【0018】更に、命令ループ処理内において、挿入し
たソフトウェア割り込み命令のプログラムフェッチを行
う分実行スピードが低下するというオーバーヘッドを生
じ、好ましくない面がある。また更に、ROM化したプ
ログラムに対しては、新たな命令の挿入は原理的に不可
能である。そのため、シングルステップ等で実行させる
が、著しく実行速度の低下をもたらし、実時間処理の要
求されるプログラムではチェックが困難でもあり効果も
薄い。
【0019】一方、ICEを用いた方法は、ターゲット
CPUが命令フェッチする条件分岐命令をCPU外部
(ICE)で検出し、実行前ブレークをターゲットCP
Uに送出しなければならないため、条件分岐命令の検出
(ビットパターンデコード)による時間と実行前ブレー
ク信号をCPU外部から入力する伝達遅れのため、通
常、条件分岐命令は最小2サイクル命令であるにもかか
わらず、高速CPUを用いたターゲットCPUの条件分
岐命令実行でのプログラムカウンタ更新前にプログラム
カウンタの更新を阻止する実行前ブレーク信号を入力す
ることが困難となっている。そのため、本来のCPU速
度でのデバッグが不可能となっていた。
【0020】
【発明が解決しようとする課題】従来、CPUのデバッ
グ機能はCPUのコストパフォーマンスをよくするため
に、CPUにデバッグ機能を内蔵させるよりもICEを
多機能にすることによりデバッグ機能を充実させてき
た。
【0021】しかし、近年、ソフトウェアは巨大化、複
雑化の傾向にありマイコン応用システムの中でも重要性
が増してきている。その中で、ソフトウェアの事故によ
る被害の重大性が一般に広く認識されてきていることに
より、ハードウェアの場合と同じく実際の動作条件に近
い環境でのデバッグ及び品質の管理、向上を効率よく行
うことが重要視されるに至っている。
【0022】しかし、マイクロプロセッサ応用分野の拡
大、応用製品の高機能多機能化によるCPU高速動作の
要求があり、また、集積回路製造技術の微細化及び、製
造プロセスの発展、CPU設計技術の高度化により、ま
すますCPUは高速動作可能となる傾向にあることは周
知の事実である。この進歩にもかかわらず、実際の動作
条件に近い環境、特に、CPU高速動作でのデバッグは
困難になってきている。
【0023】そこで、この発明は、上記に鑑みなされた
ものであり、その目的とするところは、ソフトウェアの
品質を向上させるのに非常に効果があるC1カバレッジ
を最小限のオーバーヘッドで行うためのデバッグ機能を
具備した情報処理装置を提供することにある。
【0024】
【課題を解決するための手段】上記目的を達成するため
に、この発明の第1特徴は、命令デコーダに与えられる
複数の命令の中から条件付き分岐命令のみを専用に検出
する検出手段と、前記検出手段により条件付き分岐命令
が検出されると、ブレーク処理を実行するか否かの指示
に基づいて、条件付き分岐命令の次に実行予定の命令が
実行される前に、ブレーク処理の実行開始を指令する指
令手段と、前記指令手段からの指令により、条件付き分
岐命令の次に実行予定の命令が実行される前に、予め設
定されたブレーク処理を開始実行させるブレーク手段と
から構成される。
【0025】また、この発明の第2の特徴は、プリフェ
ッチされた命令を格納する命令キューと、前記命令キュ
ーに格納された条件付き分岐命令のみを専用に検出する
検出手段と、前記検出手段により条件付き分岐命令が検
出されると、ブレーク処理を実行するか否かの指令に基
づいて、検出された条件付き分岐命令の前にブレーク処
理を開始実行させる命令を挿入する挿入手段と、前記挿
入手段により挿入された命令をデコードするデコーダと
から構成される。
【0026】
【作用】上記構成において、この発明は、条件分岐命令
がデコードされる前に専用の検出手段により条件分岐命
令を検出し、この検出結果にしたがって条件分岐命令処
理後に予め設定されたブレーク処理を行うようにしてい
る。
【0027】
【実施例】図1は、本発明の第1の実施例に係わる情報
処理装置を含むカバレッジの測定を行う構成を示す図で
ある。
【0028】図1において、本発明の特徴となるCPU
1は割り込み制御回路2を含む命令デコーダ3、条件分
岐命令検出回路4及び実行前ブレーク発生回路5を備え
て構成されている。
【0029】C1カバレッジ測定を行う場合、被測定プ
ログラムをメモリ6に格納しICE7より条件付き実行
前ブレーク制御信号をCPU1に送出する。CPU1の
条件分岐命令検出回路4は常に命令デコーダ3に入力さ
れる条件分岐命令、詳細は条件分岐命令に相当するビッ
トパターンを検出して、その結果を条件付き実行前ブレ
ーク発生回路5に送出する。条件付き実行前ブレーク発
生回路5はICE7からの条件付き実行前ブレーク制御
信号にしたがって条件付き実行前ブレーク信号を命令デ
コーダ3内の割り込み制御回路2に出力する。命令デコ
ーダ3内の割り込み制御回路2は条件分岐処理中プログ
ラムカウンタの更新を禁止し、条件分岐処理後のサイク
ルで条件付き実行前ブレークの割り込み動作を開始す
る。
【0030】条件付き実行前ブレーク制御信号の詳細
は、通常ブレーク有無信号と実行前ブレークを主とする
信号である。命令デコーダ3の割り込み制御回路2に入
力された条件付き実行前ブレーク信号は、命令デコーダ
3が命令における先頭語を読み出す場合にのみ処理さ
れ、他の場合は無視するようにすると、専用の条件分岐
命令検出回路4は比較的容易に実現することができる。
【0031】条件付き実行前ブレークの割り込みが発生
すると、ICE7ではCPU1のアドレスバスをモニタ
ーすること等によって、CPU1が条件付き実行前ブレ
ークの割り込み処理を開始したことを検出する。CPU
1での条件付き実行前ブレークの割り込み処理中は、条
件分岐命令の中で多重に条件付き実行前ブレークの割り
込みを起こさないようにするために条件付き実行前ブレ
ーク制御信号を停止する。
【0032】なお、割り込み処理において、条件分岐命
令を使用しないならば、必ずしも条件付き実行前ブレー
ク制御信号を停止する必要はないが、極めてプログラム
の効率が低下する。
【0033】CPU1は条件付き実行前ブレーク割り込
みが発生したプログラム番地と、フラグをICE7に送
出する。ICE7ではこれらのデータを受信して、プロ
グラム番地と、フラグを分類する。この処理はCPU1
の被測定プログラムがアクセスしないRAM6をCPU
1の条件付き実行前ブレーク割り込みで使用し、ICE
7とのデータ送信を行わずに処理することも可能であ
る。
【0034】CPU1とICE7で条件付き実行前ブレ
ークの割り込み処理が終了した後、再び被測定プログラ
ムに戻る。ICE7ではCPU1のアドレスバスをモニ
ターすること等によってCPU1が条件付き実行前のブ
レークの割り込みを終了したことを検出して、再び条件
付き実行前ブレーク制御信号をCPU1に送出する。こ
の動作を必要とする回数または時間繰り返す。
【0035】被測定プログラムの実行終了後、分類した
アドレスとフラグ及び、被測定プログラムの処理によっ
て条件分岐命令の条件成立/不成立の情報が得られ、こ
れがC1カバレッジの測定結果となる。
【0036】このように、CPU1が実行する条件分岐
命令を命令デコーダ3外部の条件分岐命令を専用に検出
する検出回路4によって検出し、命令デコーダ3内の割
り込み制御回路2へ入力される実行前ブレーク(条件付
き実行前ブレーク)信号を発生する回路5をマイクロコ
ンピュータに内蔵させる。
【0037】これにより、C1カバレッジ測定を行う場
合には、CPU1外部よりCPU1に条件付き実行前ブ
レーク制御信号を入力する。条件分岐命令を専用に検出
する検出回路4が条件分岐命令を検出し、条件付き実行
前ブレーク信号を発生する回路5が動作する。CPU1
は条件分岐命令をデコードする度に条件付き実行前ブレ
ークが入るようになるため、C1カバレッジの測定が可
能となる。
【0038】したがって、C1カバレッジ測定時、また
はソフトウェアデバッグ時、条件分岐命令を高速に検出
して条件付き実行前ブレーク信号をCPU1の命令デコ
ーダ3の割り込み制御回路2に直接与えることにより、
CPU1の速度の低下を起こさずに条件付き実行前ブレ
ークを実現することができる。このことは、CPU1の
命令デコーダ3外部であって条件分岐命令を専用に検出
する回路4をCPU1に内蔵させて、複雑かつ多数の素
子からなるために動作が低速なCPU1の命令デコーダ
3よりも高速に条件分岐命令を検出し、命令デコーダ3
の割り込み制御回路2に条件付き実行前ブレーク信号を
直接与えることにより可能となる。
【0039】バスを監視しながら、CPU1外部から条
件付き実行前ブレーク制御信号をCPU1に与えること
により、被テストプログラムの特定範囲、または特定条
件の場合だけをテストすることが可能となり、一括して
すべてをテストする場合と比較してテストによる実行速
度の低下、あるいは必要メモリ量の増大等のオーバーヘ
ッドを低減することができる。
【0040】また、命令デコーダ3外部に条件分岐命令
を専用に検出する検出回路4を設けることにより、容易
かつ、デバッグ機能強化に対してチップ面積の増加を最
小限に抑えることができる。
【0041】さらに、被デバッグプログラムを何ら変更
することなくデバッグ作業が行なわれるため、従来の技
術に内在するデバッグ作業における信頼性の低下を招く
ことなくデバッグ作業を実施することができる。
【0042】図2は本発明の第2の実施例に係わる情報
処理装置を含むC1カバレッジの測定を行う構成を示す
図である。CPU11は割り込み制御回路12を含む命
令デコーダ13、条件分岐命令検出回路14、条件付き
実行前ブレーク発生回路15及び、条件付き実行前ブレ
ーク発生制御回路16を備えて構成されている。
【0043】前述した第1の実施例においては、条件付
き実行前ブレーク割り込みが発生した場合、ICE7で
はCPU1での条件付き実行前ブレークの割り込み処理
中は、再び条件分岐命令で多重に条件付き実行前ブレー
クの割り込みを起こさないようにするために、条件付き
実行前ブレーク制御信号を停止する。
【0044】このため、ICE7によってCPU1のア
ドレスバスをモニターする等によって、CPU1が条件
付き実行前ブレークの割り込みに入ったことを検出する
ことは、ICE7の応答速度によりCPU1の動作速度
を制限してしまう場合がある。また、CPU1の条件付
き実行前割り込み処理において条件分岐命令を使用しな
いことは、プログラム効率を大幅に低下させることにな
る。この問題を解決したのがこの第2の実施例である。
【0045】第2の実施例にあっては、条件付き実行前
ブレークを行わせる場合に、条件付き実行前ブレーク発
生制御回路16は、ICE7から条件付き実行前ブレー
ク制御信号が与えられると、CPU11の命令デコーダ
13からCPU11が条件付き実行前ブレーク割り込み
処理中でなく条件分岐命令が検出されると、条件付き実
行前ブレーク発生回路15が動作し、命令デコーダ13
に条件付き実行前ブレーク信号が入力され、条件付き実
行前割り込み処理を行なわれる。また、条件付き実行前
ブレーク発生制御回路16には条件付きブレーク実行信
号が入力され、条件付き実行前ブレーク信号の発生を禁
止するため、条件付き実行前ブレークの割り込み処理中
は再び条件付き実行前ブレークを行うことはない。
【0046】また、条件付き実行前割り込み処理中は、
再び条件付き実行前ブレークの割り込みを受け付けない
機能を命令デコーダ13にもたせることも同様の機能で
実現が可能である。
【0047】図3は本発明の第3の実施例に係わる情報
処理装置を含むC1カバレッジの測定を行う構成を示す
図である。CPU21は命令キュー22を含む命令デコ
ーダ23、条件分岐命令検出回路24、条件付き実行前
ブレーク発生回路25及び、条件付き実行前ブレーク発
生制御回路26を備えて構成されている。
【0048】C1カバレッジ測定を行う場合は、前述し
た第1の実施例と同様に被測定プログラムをメモリ6に
セットし、条件付き実行前ブレーク制御信号をCPU1
に送出する。CPU1の条件分岐命令検出回路24は常
に命令キュー22に入力される条件分岐命令を検出し、
その結果を条件付き実行前ブレーク発生回路25に送
る。条件付き実行前ブレーク発生回路25はICE7か
らの条件付き実行前ブレーク制御信号に従い条件付き実
行前ブレーク信号(命令)を命令キュー22に入力す
る。命令デコーダ23は命令キュー22の出力において
実行前ブレーク信号(命令)をデコードすると、命令デ
コーダ23内の割り込み制御回路27を動作させ、条件
付き実行前ブレークの割り込み開始を行う。
【0049】C1カバレッジの測定結果は、前述した第
1の実施例と同様にして得られる。
【0050】また、条件付き実行前ブレークの割り込み
が多重に起こることの防止は、前述した第2の実施例と
同様にして防止できる。
【0051】このように、CPU21の命令デコーダ2
3に命令キュー22が内蔵されている場合は、命令キュ
ー22に入力される条件分岐命令を命令デコーダ23外
部の条件分岐命令を検出する専用の検出回路24で検出
し、外部から条件付き実行前ブレーク実行信号が入力さ
れていれば、条件付き実行前ブレーク信号(命令)を発
生し、命令デコーダ23内の命令キュー22へ入力する
回路25を内蔵するようにしている。
【0052】そして、CPU2の命令デコーダ23が命
令キュー22の出力において条件付き実行前ブレーク信
号(命令)をデコードすることにより、命令デコーダ2
3内の割り込み制御回路27を動作させ、条件付き実行
前ブレークの割り込み動作を開始している。
【0053】この第3の実施例のように、命令キュー2
2に実行前ブレーク信号を入力する方法は、命令デコー
ダ23内部の割り込み制御回路27を命令デコーダ23
外部から制御する必要がないため、信号のタイミングを
必要以上に複雑化せず、更に、動作速度の低下を起こす
こともない。したがって、この方法は、命令キュー本来
のCPUバイサイクルの効率化に対応した方法でもあ
る。
【0054】このように、CPUの命令デコーダは非常
に多数の回路素子を必要とし、構成も複雑であるため動
作が遅く、このようなデバッグ機能を命令デコード機能
と同時に構成するとデバッグ機能も動作が遅くなり、C
PU本来の動作速度を制限してしまう。特に、C1カバ
レッジの測定で必要な条件分岐命令を命令デコーダ外部
の条件分岐命令専用の回路で検出しているため、検出が
速く命令デコーダの割り込み処理制御回路へ余裕のある
タイミングで信号を入力することが可能となり、CPU
本来の動作速度でデバッグ作業を行うことができる。
【0055】また、C1カバレッジの測定及び実行は、
被測定プログラム外のハードウェア、ソフトウェアで行
うため、被測定プログラムには何ら手を加えることなく
測定が可能となり、C1カバレッジ測定の手続きが簡素
化できる。
【0056】図4は条件分岐命令検出回路の一実施例を
示す構成図である。
【0057】図4に示す検出回路は、条件分岐命令とし
て、減少&ジャンプ・ノンゼロ(DJNZ)と条件付き
ジャンブ(JRcc)の場合の一例を示したものである。
【0058】命令デコーダに入力される命令は、CPU
の命令語の基本単位のビット幅で与えられ、DJNZ命
令を検出するための比較に必要となるビット8〜ビット
15と、JRcc命令を検出するための比較に必要となる
ビッ12〜ビット15がORゲート31に与えられる。
このビット部分では、CPUの命令デコーダのあらゆる
ステートの場合で条件分岐命令ビットパターンの検出を
行っているため、命令の先頭語での条件分岐命令検出結
果とするために、命令デコーダで命令の先頭語を示すマ
イクロプログラムステート(INIT)と、上述した命
令のビット部分とがANDゲート32で論理積がとられ
ている。これにより、命令の先頭語での条件分岐命令の
検出が行なわれる。
【0059】この検出結果は、後続の回路とのタイミン
グをとるために、ラッチ回路33でラッチし、その出力
を条件分岐命令の検出フラグ(DK4CCINS)とし
ている。
【0060】命令デコーダでは、命令語のデコードに対
してCPUの状態をすべて制御しているために多数の信
号が集中している。このため、例えばマイクロプログラ
ム(PLA又はROM)を利用してこれらを一括して効
率良くデコードする方法がとられている。したがって、
特定の命令に対してのみデコードを行う回路を付加する
ことは、デコード方式を崩すことになり、デコード動作
に悪影響を与えることになる。
【0061】これに対して、本発明の上述した実施例の
ように、条件分岐命令検出回路を命令デコーダの外部に
設けることにより、CPUの状態を示す信号を著しく減
少させることが可能となる。また、PLAやROMに
は、その構造上ビット線のプリチャージ時間が入力信号
のデコード時間以外に必要となるが、入力信号が少なけ
れば直接ゲートで受けるデコードが可能となり、動作速
度を著しく向上させることができるようになる。
【0062】図5は実行前ブレーク発生回路の一実施例
を示す構成図である。
【0063】このような回路は、CPUの外部からのブ
レーク信号の入力とCPUでのブレーク受付のタイミン
グに制約があるために必要となる回路である。
【0064】図5において、ICEから出力される条件
付き実行前ブレーク制御信号(BD4BRK)と、命令
の先頭語を示すマイクロプログラム実行ステート(IN
IT)と、条件分岐命令の検出によって実行前ブレーク
を発生させるか、あるいは無条件にブレークを発生させ
るかを示すブレーク選択信号(BRKCNT)をラッチ
回路34によってラッチした出力とが、ANDゲート3
5に与えられ論理積がとられている。条件分岐命令実行
前ブレークは命令の先頭語のみに付随して入力されるこ
とがあるが、命令の先頭語だけで判別できない場合があ
るため、条件分岐命令実行前ブレークが入力されたこと
を内部に保持する必要があり、ORゲート36、ラッチ
回路37、リセット信号と命令の先頭を示すマイクロプ
ログラム実行ステート(INIT)とが入力されている
ANDゲート38及びラッチ回路39により構成された
ラッチループによって、ANDゲート35の出力がラッ
チされている。
【0065】ラッチされた条件分岐命令実行前ブレーク
の要求は、条件分岐命令の検出フラグ(DK4CCIN
S)とANDゲート40により論理積がとられ、その出
力が実行前条件付ブレーク要求フラグとして割込み制御
回路に与えられる。
【0066】一方、無条件でのブレーク発生がラッチ回
路34にラッチされて選択されている場合には、命令の
先頭を示すマイクロプログラム実行ステート(INI
T)の入力だけでブレーク発生のフラグを発生できるた
め、条件付き実行前ブレーク制御信号(BD4BRK)
と、無条件ブレーク発生を示す選択信号と、命令の先頭
を示すマイクロプログラム実行ステート(INIT)と
をANDゲート41により論理積をとり、その出力が実
行前無条件ブレーク要求フラグとして割込み制御回路に
与えられる。
【0067】
【発明の効果】以上説明したように、この発明によれ
ば、条件分岐命令がデコードされる前に専用の検出手段
により条件分岐命令を検出し、この検出結果にしたがっ
て条件分岐命令処理後に予め設定されたブレーク処理を
実行するようにしたので、プログラムに何ら手を加える
ことなく、また、情報処理装置の処理速度を低下させる
ことなく、デバッグ作業を確実に行うことができるよう
になる。
【図面の簡単な説明】
【図1】この発明の第1の実施例に係わる情報処理装置
を含むデバッグ処理の構成を示すブロック図である。
【図2】この発明の第2の実施例に係わる情報処理装置
を含むデバッグ処理の構成を示すブロック図である。
【図3】この発明の第3の実施例に係わる情報処理装置
を含むデバッグ処理の構成を示すブロック図である。
【図4】条件分岐検出回路の一構成例を示す図である。
【図5】実行前ブレーク発生回路の一構成例を示す図で
ある。
【図6】従来のC0カバレッジにおけるプログラムフロ
ーを示す図である。
【図7】従来のC1カバレッジにおけるプログラムフロ
ーを示す図である。
【図8】ハードウェアによりC1カバレッジを実施する
ための従来の構成を示す図である。
【符号の説明】
1,11,21 CPU 2,12,27 割り込み制御回路 3,13,23 命令デコーダ 4,14,24 条件分岐命令検出回路 5,15,25 条件付き実行前ブレーク発生回路 6 メモリ 7 ICE 16,26 条件付き実行前ブレーク発生制御回路 22 命令キュー

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 命令デコーダに与えられる複数の命令の
    中から条件付き分岐命令のみを専用に検出する検出手段
    と、 前記検出手段により条件付き分岐命令が検出されると、
    ブレーク処理を実行するか否かの指示に基づいて、条件
    付き分岐命令の次に実行予定の命令が実行される前に、
    ブレーク処理の実行開始を指令する指令手段と、 前記指令手段からの指令により、条件付き分岐命令の次
    に実行予定の命令が実行される前に、予め設定されたブ
    レーク処理を開始実行させるブレーク手段とを有するこ
    とを特徴とする情報処理装置。
  2. 【請求項2】 前記ブレーク手段は、ブレーク処理を開
    始実行させる場合には、条件付き分岐命令における条件
    の成立/不成立にかかわらず、条件付き分岐命令の処理
    後にプログラムカウンタの更新を禁止し、命令処理後の
    サイクルで予め設定された割り込み処理を開始実行させ
    る割り込み制御回路からなることを特徴とする請求項1
    記載の情報処理装置。
  3. 【請求項3】 前記ブレーク手段は、ブレーク処理が実
    行されている時に、このブレーク処理中に前記検出手段
    により条件付き分岐命令が検出されて、前記指令手段に
    よりブレーク処理が指令された場合には、多重のブレー
    ク処理を禁止してなることを特徴とする請求項1又は2
    記載の情報処理装置。
  4. 【請求項4】 ブレーク処理が実行されている時に、こ
    のブレーク処理中に前記検出手段により条件付き分岐命
    令が検出された場合には、前記指令手段によるブレーク
    処理の指令を禁止させる指令制御手段を有することを特
    徴とする請求項1又は2記載の情報処理装置。
  5. 【請求項5】 プリフェッチされた命令を格納する命令
    キューと、 前記命令キューに格納された条件付き分岐命令のみを専
    用に検出する検出手段と、 前記検出手段により条件付き分岐命令が検出されると、
    ブレーク処理を実行するか否かの指令に基づいて、検出
    された条件付き分岐命令の前にブレーク処理を開始実行
    させる命令を挿入する挿入手段と、 前記挿入手段により挿入された命令をデコードするデコ
    ーダとを有することを特徴とする情報処理装置。
  6. 【請求項6】 ブレーク処理が実行されている時に、こ
    のブレーク処理中に前記検出手段により条件付き分岐命
    令が検出されて、前記挿入手段によりブレーク処理を開
    始実行させる命令が挿入された場合には、この挿入され
    た命令を実行せず多重のブレーク処理を禁止してなるこ
    とを特徴とする請求項5記載の情報処理装置。
  7. 【請求項7】 ブレーク処理が実行されている時に、こ
    のブレーク処理中に前記検出手段により条件付き分岐命
    令が検出された場合には、前記挿入手段によるブレーク
    処理を開始実行させる命令の挿入を禁止させる挿入制御
    手段を有することを特徴とする請求項5記載の情報処理
    装置。
JP4140403A 1992-06-01 1992-06-01 情報処理装置 Pending JPH05334126A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4140403A JPH05334126A (ja) 1992-06-01 1992-06-01 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4140403A JPH05334126A (ja) 1992-06-01 1992-06-01 情報処理装置

Publications (1)

Publication Number Publication Date
JPH05334126A true JPH05334126A (ja) 1993-12-17

Family

ID=15267961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4140403A Pending JPH05334126A (ja) 1992-06-01 1992-06-01 情報処理装置

Country Status (1)

Country Link
JP (1) JPH05334126A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331201A (ja) * 2005-05-27 2006-12-07 Matsushita Electric Ind Co Ltd 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム
US7353500B2 (en) 2004-05-27 2008-04-01 Hitachi Software Engineering Co., Ltd. Suppressing execution of monitoring measurement program pointed to by inserted branch after threshold number of coverage to reduce instruction testing overhead

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353500B2 (en) 2004-05-27 2008-04-01 Hitachi Software Engineering Co., Ltd. Suppressing execution of monitoring measurement program pointed to by inserted branch after threshold number of coverage to reduce instruction testing overhead
JP2006331201A (ja) * 2005-05-27 2006-12-07 Matsushita Electric Ind Co Ltd 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム
JP4718901B2 (ja) * 2005-05-27 2011-07-06 パナソニック株式会社 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム

Similar Documents

Publication Publication Date Title
US6311292B1 (en) Circuit, architecture and method for analyzing the operation of a digital processing system
US6681280B1 (en) Interrupt control apparatus and method separately holding respective operation information of a processor preceding a normal or a break interrupt
JP5905911B2 (ja) シングルステップ実行を用いる診断コード
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
JP2513417B2 (ja) 情報処理装置
EP0869434A2 (en) Method for outputting trace information of a microprocessor
EP0772826B1 (en) Code breakpoint decoder
JPH05334126A (ja) 情報処理装置
US20070050619A1 (en) Processor having program protection function
US5404499A (en) Semi-automatic program execution error detection
EP0525672A2 (en) Microprocessor with program tracing
JP2808757B2 (ja) デバッグ用マイクロプロセッサ
KR100631318B1 (ko) 파이프라인 아키텍처를 갖는 프로세서에서 조건 점프 명령을 처리하기 위한 방법 및 명령어 디코더
JP2701799B2 (ja) マイクロコンピュータ
JP3716635B2 (ja) 情報処理装置、及びその割込み制御方法
JP2666737B2 (ja) トレースメモリ内蔵マイクロプロセッサおよびトレース方法
JP2002116926A (ja) プログラム処理装置およびプログラム処理方法
JP2002116924A (ja) データ処理装置
JPH09319592A (ja) マイクロコンピュータ
JPS5875256A (ja) 実行命令遂行状態のモニタ方式
JPH1139193A (ja) マイクロプロセッサ
JP2000172523A (ja) インサーキットエミュレータおよび飽和演算処理方法
JP2001318802A (ja) インサーキットエミュレータ
KR20040047399A (ko) 메모리 영역 억세스 제어 방법
JPH0793180A (ja) マイクロプロセッサ