JPH0432418B2 - - Google Patents

Info

Publication number
JPH0432418B2
JPH0432418B2 JP58120515A JP12051583A JPH0432418B2 JP H0432418 B2 JPH0432418 B2 JP H0432418B2 JP 58120515 A JP58120515 A JP 58120515A JP 12051583 A JP12051583 A JP 12051583A JP H0432418 B2 JPH0432418 B2 JP H0432418B2
Authority
JP
Japan
Prior art keywords
instruction
arithmetic processing
processing unit
debugging
register
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
JP58120515A
Other languages
English (en)
Other versions
JPS6011945A (ja
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 filed Critical
Priority to JP58120515A priority Critical patent/JPS6011945A/ja
Publication of JPS6011945A publication Critical patent/JPS6011945A/ja
Publication of JPH0432418B2 publication Critical patent/JPH0432418B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明はマイクロプロセツサなどを用いた計算
機システムにおけるプログラムのデバツグ装置に
関するものである。
従来例の構成とその問題点 近年、マイクロプロセツサの急速な発展に伴い
マイクロプロセツサ応用製品が多数開発されてい
る。これらの応用製品ではハードウエアだけでは
機能せず、塔載されたプログラムというものによ
つて製品が機能するため、このプログラムの開発
およびデバツグというものが大きな比重を占めて
いる。
以下に従来のデバツグ装置について説明する。
プログラムをデバツグする方法としては、ホス
トコンピユータ上のシミユレータによるものと、
実機上で行なうものの2つに大別される。シミユ
レータ上でのデバツグはアルゴリズムの検証には
有力であるが、入出力装置などのハードウエアを
扱うことができないので、ハードウエア構成に依
存する製品では最終的には実機上でデバツグする
ことになる。この時によく使われるものとしてブ
レークポイントという手法があり、プログラム中
の或る予め設定された番地の命令実行時に処理を
中断し、その時のマイクロプロセツサ内の各レジ
スタの値や主記憶の内容を参照もしくは修正して
プログラムの誤りまたはハードウエアの誤りを検
出するものである。
ブレークポイントの設定にもソフトウエアによ
る方法とハードウエアによる方法とがある。
ソフトウエアによる方法としては、ブレークポ
イントとして設定する番地の命令をソフトウエア
割込み命令(SWI命令)に置きかえ、その番地の
命令を実行しようとするソフトウエア割込みを生
じ、処理を中断するものである。この場合の継続
実行のための手順としては (1) SWI命令を元の命令にもどす。
(2) ブレークポイントに当たる命令をシングルス
テツプ実行する。
(3) 再び命令をSWI命令にもどす。
(4) ブレークポイントに当たる命令の次の命令か
ら継続実行する。
という過程が必要であり、(2)のシングルステツプ
実行のためのハードウエアが構成されなければな
らない。また、プログラムがループを形成してい
る中にブレークポイントを設ける場合、ブレーク
ポイントに達する度に実行が停止するのはなく、
例えばN回目に停止するように支援プログラムで
制御したい場合がある。この時はループカウント
がN以外の時はブレークポイントをできるだけ速
く通過させる必要があるが、この方法ではブレー
クポイント通過の度に二度の中断(最初に置換さ
れたSWI命令での中断、にシングルステツプ実行
後の中断)が必要となりオーバーヘツドが大きい
という欠点がある。
ハードウエアによる方法としては、ブレーク番
地レジスタを外部に設け、マイクロプロセツサが
命令の読み込みサイクルとして出したアドレス値
とブレーク番地レジスタの値を比較し、一致して
いれば割込み要求を出すものであるが、ブレーク
ポイントを同時に複数個設定したい場合、その個
数がブレーク番地レジスタの個数までしか設定で
きないという欠点がある。また、使用するマイク
ロプロセツサによつてはブレークポイントとして
設定した番地の命令を実行後でないと割込み要求
を受け付けないものもあり、実行前に割込み要求
を受け付けても継続実行のためにはシングルステ
ツプ実行させるためのハードウエア(そのまま継
続実行すると再び割込みを生じるから)が必要と
なる。
発明の目的 本発明は上記従来の問題点を解消するもので、
簡単なハードウエアの追加によつて、ブレークポ
イントの設定数に制限がなくしかもシングルステ
ツプ実行のための特別なハードウエア機構を必要
としないデバツグ装置を提供することを目的とす
る。
発明の構成 本発明は、ブレークフリツプフロツプ(FF)
と、継続実行命令レジスタと、演算処理装置が継
続実行番地レジスタに値を設定する動作に呼応し
てブレークFFをセツトし、演算処理装置が命令
の読み込みサイクルとして継続実行番地レジスタ
の内容と同じアドレスをアクセスした時に継続実
行命令レジスタの内容を演算処理装置に読み込ま
せるとともにブレークFFをリセツトする制御部
を備えたデバツグ装置であり、少ないハードウエ
アの追加でブレーク後の継続実行を実現すること
のできるものである。
実施例の説明 第1図は本発明の一実施例であるデバツグ装置
の構成を示すものである。第1図において、1は
演算処理装置、2は主記憶装置、3はアドレス母
線、4はデータ母線、5はブレークFF、6は継
続実行番地レジスタ、7は継続実行命令レジス
タ、9は命令フエツチサイクル表示信号(以下、
フエツチ信号)線、10はデータ読み込みストロ
ーブ信号(以下、リード信号)線、20は制御
部、24は比較器である。
以上のように構成された本実施例のデバツグ装
置について以下その動作を説明する。
主記憶装置2内には被デバツグプログラムと、
デバツグのための支援プログラムが格納されてい
る。操作者はこの支援プログラムによつて、被デ
バツグプログラム内ブレークポイントを設定する
が、この設定はブレークポイントに当たる番地に
格納されている命令をSWI命令に置換することに
よつて行なう。今、第2図に示すようにブレーク
ポイントが100番地であり、100番地の命令がMV
R1,R2であつたとする。
このようにブレークポイント設定後、所定の実
行開始番地からプログラムを実行中100番地に処
理が来ると置換されたSWI命令によつて割込みが
生じ、処理が中断され支援プログラムに制御が移
る。
ブレークポイントでの操作者の一連の操作が終
了し、継続実行する時は、支援プログラムが以下
の作業を行なう。
(1) 中断時の演算処理装置1の命令カウンタの値
(今の場合100)を継続実行番地レジスタ6に書
き込む。
(2) SWI命令に置きかえられた元の命令(今の場
合、MV R1,R2)を継続実行命令レジス
タ7に書き込む。
(3) 継続実行番地レジスタ6に書き込んだ値の番
地(今の場合、100番地)より実行再開する。
この時の各ハードウエアの動作を上記作業の番
号を対比させて説明する。
(1) 継続実行番地レジスタ6には、継続実行番地
レジスタ書込み信号11によつてデータ母線4
より100という値が格納されると同時に、ブレ
ークFF5は継続実行番地レジスタ書込み信号
11によつてセツトされる。
(2) 継続実行命令レジスタ7には、継続実行命令
レジスタ書込み信号12によつてデータ母線4
よりMV R1,R2を意味する命令語が格納
される。
(3) 継続実行番地レジスタ6の内容と同じ値がフ
エツチ信号9とともにアドレス母線3に出力さ
れたことを比較器24が検出し、一致信号25
に“1”を出力する。この時ブレークFF5は
(1)の過程で“1”にセツトされているので、ゲ
ート21,22,23から成る組み合わせ回路
により、演算処理装置1からのリード信号10
の主記憶装置2への伝達が抑止されるとともに
継続実行命令レジスタ7への読み出し信号13
が出力され、継続実行命令レジスタ7の内容が
命令コードとして演算処理装置1に読み込まれ
る。この読み込みサイクル終了後、ブレーク
FF5は継続実行命令読出し信号13によつて
リセツトされる。
この後再び100番地を実行しようとすると、ブ
レークFF5はリセツトされているので演算処理
装置1からのリード信号10の主記憶装置2への
伝達は抑止されず、主記憶装置2からSWI命令が
読み出されソフトウエア割込みにより中断させる
ことができる。
ブレークポイントが複数個設定されていても、
個々に同様の手順で継続実行させることができ
る。
上のように本実施例によれば、演算処理装置が
継続実行番地レジスタに値を設定する動作に呼応
してブレークFFをセツトし、継続実行番地レジ
スタの内容と同じアドレスを命令のフエツチサイ
クルとして主記憶装置をアクセスした時に、主記
憶装置からのデータの出力を抑止し継続実行命令
レジスタの内容を出力するとともにブレークFF
をリセツトする制御部を設けることにより、継続
実のための手順を簡単とするとともにブレークポ
イントの設定可能数がハードウエアレジスタ量に
依存しないデバツグ装置を構成することができ
る。
発明の効果 本発明のデバツグ装置は、演算処理装置がデバ
ツグ中断状態であることを示すブレークFFと、
継続実行番地レジスタと、継続実行命令レジスタ
と、演算処理装置が継続実行番地レジスタの内容
を示すアドレスを命令読み込みサイクルとしてア
クセスしたことを検出し、検出時に主記憶装置か
らのデータの出力を抑止し継続実行命令レジスタ
の内容を読み込ます制御部を設けることにより、
ブレークポイント通過時の中断が一度で済みしか
も設定できるブレークポイント数を実質上無制限
にでき、その実用的効果は大きい。
【図面の簡単な説明】
第1図は本発明の一実施例におけるデバツグ装
置の構成図、第2図はブレークポイントにおける
命令の置きかえを示す図である。 1…演算処理装置、2…主記憶装置、5…ブレ
ークFF、6…継続実行番地レジスタ、7…継続
実行命令レジスタ、20…制御部、21,22,
23…ゲート、24…比較器。

Claims (1)

    【特許請求の範囲】
  1. 1 演算処理装置と前記演算処理装置の実行する
    プログラムを格納する主記憶装置を有する計算機
    システムの、前記演算処理装置がデバツグ中断状
    態であることを示すブレークフリツプフロツプ
    と、前記デバツグ中断状態から復帰後に処理を継
    続実行する開始番地の値を格納する継続実行番地
    レジスタと、前記デバツグ中断状態から復帰後に
    実行すべき命令語を格納する継続実行命令レジス
    タと、前記継続実行番地レジスタへの値の設定に
    呼応して前記ブレークフリツプフロツプをセツト
    し、前記ブレークフリツプフロツプがセツトされ
    ている時に、前記演算処理装置が命令の読み込み
    サイクルとして出力した前記主記憶装置へのアド
    レスと前記継続実行番地レジスタの内容を比較
    し、一致する時に前記主記憶装置からのデータ出
    力を抑止して前記継続実行命令レジスタの内容を
    出力するとともに前記ブレークフリツプフロツプ
    をリセツトする制御部を具備することを特徴とす
    るデバツグ装置。
JP58120515A 1983-07-01 1983-07-01 デバッグ装置 Granted JPS6011945A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58120515A JPS6011945A (ja) 1983-07-01 1983-07-01 デバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58120515A JPS6011945A (ja) 1983-07-01 1983-07-01 デバッグ装置

Publications (2)

Publication Number Publication Date
JPS6011945A JPS6011945A (ja) 1985-01-22
JPH0432418B2 true JPH0432418B2 (ja) 1992-05-29

Family

ID=14788130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58120515A Granted JPS6011945A (ja) 1983-07-01 1983-07-01 デバッグ装置

Country Status (1)

Country Link
JP (1) JPS6011945A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5249738A (en) * 1975-10-16 1977-04-21 Western Electric Co Device for patching memory
JPS57211651A (en) * 1981-06-23 1982-12-25 Toshiba Corp Patch system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5249738A (en) * 1975-10-16 1977-04-21 Western Electric Co Device for patching memory
JPS57211651A (en) * 1981-06-23 1982-12-25 Toshiba Corp Patch system

Also Published As

Publication number Publication date
JPS6011945A (ja) 1985-01-22

Similar Documents

Publication Publication Date Title
EP1125199B1 (en) Method of debugging a program thread
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
JPH0432418B2 (ja)
JP2653412B2 (ja) ブレークポイント設定方法
JP2902861B2 (ja) トレース機能付バッファ装置
JPH0581087A (ja) プロセサのモニタ方式
JPS60124746A (ja) デ−タ処理装置
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법
JPH0149975B2 (ja)
JPS6270947A (ja) デバグ割込み制御方式
JPS59183443A (ja) デバツグ装置
JPH04199336A (ja) マイクロコンピュータ
JPH0314148A (ja) プログラム破壊検出装置
JPH04367902A (ja) プログラマブルコントローラ
JPH0258648B2 (ja)
JPH0333939A (ja) マイクロプロセッサ
JPS63155330A (ja) マイクロプログラム制御装置
JPS61239345A (ja) I/oシミユレ−タ
JPH05241898A (ja) ハードブレーク方式
JPH10289128A (ja) プログラム評価装置、プログラム評価方法、及び、プログラム評価プログラムを記録した機械読み取り可能な記録媒体
JPS61267137A (ja) 割込み動作制御方式
JPS6327933A (ja) トレ−ス用メモリ構成方式
JPH0619726B2 (ja) 情報処理装置
JPS6198455A (ja) デバイスシミユレ−ト方式
JPS61141046A (ja) デバツグ割込み制御方式