JPH07134665A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH07134665A
JPH07134665A JP5304692A JP30469293A JPH07134665A JP H07134665 A JPH07134665 A JP H07134665A JP 5304692 A JP5304692 A JP 5304692A JP 30469293 A JP30469293 A JP 30469293A JP H07134665 A JPH07134665 A JP H07134665A
Authority
JP
Japan
Prior art keywords
register
instruction
program
trap
write
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
JP5304692A
Other languages
English (en)
Inventor
Masae Kawamata
眞江 川又
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 JP5304692A priority Critical patent/JPH07134665A/ja
Publication of JPH07134665A publication Critical patent/JPH07134665A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 情報処理装置において、指定レジスタに書込
みが生じたときにはそれを中断することにより、特定レ
ジスタの書込み前にデータ確認を可能として、プログラ
ム開発中のデバッグ工数の削減を図る。 【構成】 レジスタトラップ発生回路3に対して、予め
制御部1より特定レジスタの指定107を行なってお
く。プログラム実行中にレジスタファイル4内の特定レ
ジスタに対するデータの書込みが生じたとき、レジスタ
トラップ発生回路3はこれを検出してレジスタトラップ
108を発生し、書込の中断を行い、その書込みデータ
のセーブとプログラムカンウタのセーブとを行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置に関し、特
にハードウェアやソフトウェア中に含まれる不良箇所の
抽出を行うデバック機能を有する情報処理装置に関する
ものである。
【0002】
【従来の技術】一般に、情報処理装置の一つであるマイ
クロプロセッサは図3に示す構成となっている。図にお
いて、制御部1は実行中のプログラムの命令に従って演
算部2やレジスタファイル4等に対する各種動作指示1
05,106を生成する。
【0003】演算部2は制御部1からの演算指示105
に従って演算を実行し、その演算結果109はレジスタ
ファイル4内の指定レジスタへ書込まれる。この演算結
果109が書込まれるべきレジスタファイル4内の所定
レジスタは制御部1からの指示106により決定される
ようになっている。
【0004】また、従来のデバッグ装置の一例を図4に
示しており、この例は特開平3−73035号公報の開
示のものである。図において、命令デコーダ41は実行
プログラム中の命令の解析を行い、レジスタ群42内の
どのレジスタに対する如何なる処理か(例えば、ライト
イネーブル等)という指示情報406,407を生成す
る。
【0005】インプット部43はプログラム実行中(デ
バック処理実行中)の特定レジスタ(レジスタ群42
内)の指定を予め行っておくものであり、マッチ判定部
44は、このインプット部43にて指定されている特定
レジスタとデコーダ41により指定されたレジスタとの
一致を判定するレジスタマッチ機能を有する。更に、こ
のマッチ判定部44は、レジスタマッチが判定される
と、CPUクロックストップ指示を生成すると共に、そ
のときのCPUやレジスタ群42の状態表示をなす様表
示部45へ指示する。
【0006】この様なデバッグ装置では、予めインプッ
ト部43によりレジスタマッチを行うべきレジスタの指
定をマッチ判定部44にて行っておく。そして、デコー
ダ41によるプログラム命令解析により、どのレジスタ
へどのような処理を施すかの指示406,407がレジ
スタ群42へ送出される。この場合、予め指定されてい
る特定レジスタに対する書込み処理であれば、マッチ判
定部44によりレジスタマッチ判定が行われ、CPUク
ロック停止及びそのときのCPUの状態やレジスタ群の
内容を表示部45へ表示させる様に制御が行われること
になる。
【0007】こうすることにより、プログラム等のデバ
ッグ機能が可能となっている。
【0008】
【発明が解決しようとする課題】上述した図3のマイク
ロプロセッサでは、レジスタファイル内の特定レジスタ
に書込みが生じた場合にこれを中断させるための機能が
付加されていない。そのために、プログラム実行中に行
われたレジスタへの間違った書込みを検出する場合、膨
大な時間と労力とを必要とするという欠点がある。
【0009】また、図4に示したデバッグ装置では、特
定レジスタへの書込みが生じた後に、CPUクロック停
止が行われ状態表示が行われるようになっているので、
特定レジスタに対する書込み前の正しい状態への復帰が
不可能である。更に、CPUクロック停止が行われるた
めに、マルチタスクシステム等の場合には、特定タスク
のみ停止させて他のタスクの動作は継続する必要がある
場合には、それが不可能であるという欠点がある。
【0010】本発明の目的は、特定レジスタに書込みが
生じた場合にこの書込み中断を行って特定レジスタのデ
ータ保存及び書込みデータ保存を可能としてプログラム
デパッグ工数の削減を行うようにした情報処理装置を提
供することである。
【0011】
【課題を解決するための手段】本発明による情報処理装
置は、複数のレジスタからなるレジスタファイルと、プ
ログラム中の命令に従って前記レジスタファイル内のレ
ジスタを選択してデータを書込む書込み手段と、特定レ
ジスタを予め指定するレジスタ指定手段と、この指定さ
れた特定レジスタに対して前記書込み手段によるデータ
書込みが生じた時にこの書込み命令の実行中断指示を生
成すると共にこの中断された命令のプログラムカウンタ
内容および書込みデータの保持指示を生成するトラップ
手段とを含むことを特徴とする。
【0012】
【作用】情報処理装置において、指定された特定レジス
タに書込みが生じたときにレジスタトラップ機能により
トラップを発生させる。このトラップは、デバッグ時に
特定レジスタに割付けられた変数に書込みが生じると、
その書込みを中断してこの書込みデータを保存すると共
に、中断された命令のプログラムカウンタの内容をも保
存する様にするものである。
【0013】こうすることにより、特定レジスタの変数
が更新されずに保存され、また書込みデータも保存され
ているのでデバッグ時の解析も容易となり、プログラム
カウンタの内容も保存されているので、実行中断後も最
初からやり直す必要がなくなる。
【0014】
【実施例】以下に本発明の実施例について図面を用いて
詳述する。
【0015】図1は本発明の実施例のシステムブロック
図であり、図3と同等部分は同一符号により示してい
る。本例でもマイクロプロセッサに通用した場合であ
る。制御部1はプログラムのデコードを行い、各ブロッ
クへの各種指示を行うもので、演算指示105や、レジ
スタの選択指示及び書込み/読出し指示106を生成
し、またレジスタトラップ発生回路3に対してレジスタ
トラップを発生させるためのレジスタ指定107をな
す。上記指示106はレジスタトラップ発生回路3を介
してレジスタファイル4へ送出される(111)。
【0016】演算部2は制御部1からの指示105に従
って演算実行を行うもので、その演算結果109はレジ
スタトラップ発生回路3を経由してレジスタファイル4
へ送出される(110)。
【0017】レジスタファイル発生回路3は、制御部1
から予め指定された特定レジスタへの書込みが生じた場
合にレジスタトラップ108を発生して制御部1へ通知
するものである。このレジスタトラップ108は当該特
定レジスタへの書込み中断指示をなすと共に、そのとき
のプログラムカウンタの内容及び特定レジスタへの書込
みデータのセーブを夫々指示するものである。
【0018】図2は図1の装置の動作を示す処理フロー
図である。先ず、ステップ201にて、制御部1によ
り、予めレジスタトラップを発生させたいレジスタの設
定を107により、レジスタトラップ発生回路3に対し
て行なう。続いて、ステップ202で、制御部1はプロ
グラムのデコードを行ない、ステップ203で、演算部
2へ演算の指示105を行ない、演算部2は演算を実行
する。
【0019】ステップ204で、演算結果109はレジ
スタトラップ発生回路3を経由してレジスタファイル4
へ通知され(110)、それと並行して、制御部1より
同じくレジスタトラップ発生回路3を経由して書込みを
行うべきレジスタの指定106,111が行なわれよう
とする。
【0020】この時ステップ205において、レジスタ
トラップ発生回路3で、予め設定されていたレジスタト
ラップを発生させるべきレジスタと指示106により書
込を指示されたレジスタとが同じであるか否かの判定を
行なう。判定の結果、レジスタトラップを発生させるべ
きレジスタでなかった場合は、ステップ207により、
指示106の情報をそのまま情報111として、また演
算結果109をそのまま情報110としてレジスタファ
イル4へ与え、演算結果の書込を行ない、次のプログラ
ムの処理を行なう。
【0021】一方、判定の結果がレジスタトラップを発
生させるべきレジスタへの書込みであると判定された場
合は、レジスタファイル4への書込は行なわず、ステッ
プ206によりレジスタトラップ108を発生させ、こ
のトラップの発生を制御部1へ通知する。
【0022】制御部1はレジスタトラップ処理としてレ
ジスタトラップの発生したプログラムカウンタおよび書
込もうとしたデータ等をセーブし、例外ハンドラへプロ
グラムの制御を移す(ステップ208)。
【0023】ハンドラ内では、デバッグ装置により色々
な処理が可能であるが、例えば、この書込が正しいか否
かの判断を行ない、正しい場合は、演算結果のレジスタ
への書込や、必要なら、レジスタトラップをさせるレジ
スタの再設定等を行ない、プログラムの継続を再開す
る。
【0024】一方、この書込が不正な書込であると判断
した場合は、該当命令をスキップする、プログラムの該
当命令を修正する、正しい演算結果をレジスタに書込む
等の処理を行なった後、プログラムの継続を再開する等
して、プログラムの該当箇所の修正/確認を行なうこと
ができる。これにより、プログラムのバッグ処理の短縮
化を図ることができる。
【0025】特に、不正な値の書込が行なわれる前にプ
ログラムを停止することができるため、以降のプログラ
ムを正しいプログラムに修正して継続できることにな
り、プログラムの修正後、再び最初からプログラムを実
行する必要がなく、デバッグ時間を短縮することができ
る。
【0026】
【発明の効果】以上説明したように、本発明のレジスタ
トラップ機能により、レジスタ内で処理される変数に不
正値の書込が生じた際にプログラムを停止することがで
き、デバッグの工数が削減できる。
【0027】もし、この機能が存在しなかった場合は、
プログラム中の該当箇所、つまり、対応するレジスタへ
の書込を示す命令を検索し、その命令にブレークポイン
トの設定を行ない、プログラムがブレークする度に処理
が正しいか否かの判断を行ない、結果が正しかった場合
は、更に次の該当箇所を検索し、その命令にブレークポ
イントの設定を行なうという作業を繰返す必要がある。
【0028】この場合、N番目のブレークポイントで問
題の箇所が発見されたら、ブレークポイントの設定をN
回行なう必要があり、本発明では、1回のレジスタの設
定で良いので、1/Nの作業で該当箇所が発見できる。
また、検索に失敗し、問題の箇所を発見できずに通り過
ぎる可能性もあり、その場合は、最初からやり直す必要
がある。
【0029】また、本発明は、不正な処理の実行前にプ
ログラムを停止するので、不正箇所の修正後、プログラ
ムの継続が行なえることになり、プログラム中の問題箇
所の発見と共に修正プログラムの確認を行なうことがで
き、更にデバッグ時間の短縮が図れる。
【0030】又、本発明は、レジスタトラップが発生す
ると共に、例外ハンドラへ制御が移されるだけで、CP
Uクロックの停止などを行なわないので、他の例外処理
と同様に、特にシステム全体を停止させる必要はなく、
マルチタスクのシステムなどでは、対象のタスクのみを
停止させるだけで、他のタスクは停止させることなく、
プログラムのデバッグが行なえ、実稼働中のシステムの
デバッグなどにも有効な手段となる。
【0031】又、本発明は、特定のレジスタへの書込を
保護するためにも有効な手段となり、デバッグに用いる
だけでなく、特定の目的に仕様されるレジスタへの書込
の保護やマルチタスクシステムなどでは、タスク毎に使
用するレジスタの分配を行なった場合などその信頼性の
向上や、性能の向上に有効な手段ともなる。
【図面の簡単な説明】
【図1】本発明の実施例のシステムブロック図である。
【図2】本発明の実施例の動作処理フロー図である。
【図3】従来のマイクロプロセッサのシステムブロック
図である。
【図4】従来のデバッグ装置のシステムブロック図であ
る。
【符号の説明】
1 制御部 2 演算部 3 レジスタトラップ発生回路 4 レジスタファイル

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のレジスタからなるレジスタファイ
    ルと、プログラム中の命令に従って前記レジスタファイ
    ル内のレジスタを選択してデータを書込む書込み手段
    と、特定レジスタを予め指定するレジスタ指定手段と、
    この指定された特定レジスタに対して前記書込み手段に
    よるデータ書込みが生じた時にこの書込み命令の実行中
    断指示を生成すると共にこの中断された命令のプログラ
    ムカウンタ内容および書込みデータの保持指示を生成す
    るトラップ手段とを含むことを特徴とする情報処理装
    置。
  2. 【請求項2】 前記指定手段により指定される特定レジ
    スタはデバック時において特定変数が予め割り付けられ
    るレジスタであることを特徴とする請求項1記載の情報
    処理装置。
JP5304692A 1993-11-10 1993-11-10 情報処理装置 Pending JPH07134665A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5304692A JPH07134665A (ja) 1993-11-10 1993-11-10 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5304692A JPH07134665A (ja) 1993-11-10 1993-11-10 情報処理装置

Publications (1)

Publication Number Publication Date
JPH07134665A true JPH07134665A (ja) 1995-05-23

Family

ID=17936076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5304692A Pending JPH07134665A (ja) 1993-11-10 1993-11-10 情報処理装置

Country Status (1)

Country Link
JP (1) JPH07134665A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251844A (ja) * 1986-04-23 1987-11-02 Nec Corp 中央処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251844A (ja) * 1986-04-23 1987-11-02 Nec Corp 中央処理装置

Similar Documents

Publication Publication Date Title
JP2002268914A (ja) 特権命令の実行を監視する方法
JPS6250934A (ja) 処理装置の割込制御方式
JPH02294739A (ja) 障害検出方式
JPH07134665A (ja) 情報処理装置
US20020129301A1 (en) System and method for monitoring unaligned memory accesses
JPH03113648A (ja) プログラムデバツグ方式
JP2653412B2 (ja) ブレークポイント設定方法
JP2000076095A (ja) プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体
JP2800577B2 (ja) デバッグ装置
JP2653411B2 (ja) ブレークポイント設定方法
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JP2786215B2 (ja) 再開処理制御方式
JPH03105529A (ja) Psw形式エラー制御回路
JPH07225681A (ja) 割込制御装置
JPH06324911A (ja) プログラム実行の中断方法
JPS62113238A (ja) 電子計算機システムにおけるプログラム修正装置
JPH02231634A (ja) ソフトウェア互換性維持方法
JP2002055846A (ja) 障害検出システムおよび障害検出方法
JPH0772874B2 (ja) 割込み受取り装置
JPH0340143A (ja) パイプライン方式計算機におけるデバッグ方式
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPH0287237A (ja) Execute命令制御方式
JPH05313916A (ja) 電子計算機における割込み処理方法及び電子計算機
JPH03109643A (ja) データ例外手続き実行方式
JPH0769846B2 (ja) エラー処理回路の検証装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees