JPS59200356A - プログラムトレ−ス方式 - Google Patents
プログラムトレ−ス方式Info
- Publication number
- JPS59200356A JPS59200356A JP58072920A JP7292083A JPS59200356A JP S59200356 A JPS59200356 A JP S59200356A JP 58072920 A JP58072920 A JP 58072920A JP 7292083 A JP7292083 A JP 7292083A JP S59200356 A JPS59200356 A JP S59200356A
- Authority
- JP
- Japan
- Prior art keywords
- program
- address
- processor
- interrupt
- tracing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の属する技術分野〕
この発明は、プログラム命令語を1つ実行する毎に該プ
ログラムを実行しているプロセッサの内部状態(主とし
てレジスタの内容)をタイプアウトして、例えば、後の
デバッグ用に供するためのプログラムトレース方式に関
する。
ログラムを実行しているプロセッサの内部状態(主とし
てレジスタの内容)をタイプアウトして、例えば、後の
デバッグ用に供するためのプログラムトレース方式に関
する。
従来、かかる方式としては、例えば特開昭57−109
058号に示されるようなものが知られている。これは
、マイクロプロセッサによって設定されるアドレスを記
憶するアドレスレジスタと、マイクロコンピュータによ
って実行されるプログラム命令のメモリアドレスと上記
設定アドレスとを比較する比較回路と、これらアドレス
が一致したとき割込み信号を送出する割込み回路とを設
けることによシ、プロセッサの内部状態を表示するもの
である。しかしながら、この方法には次のような欠点が
ある。すなわち、割込み信号が発生するとプロセッサを
停止させてしまうため、表示処理を行なうのに別のプロ
セッサ(サービスプロセッサ)が必要になるばか夛でな
く、表示するためのアドレスを+at(次更新するもの
であるため、そのアドレスの範囲全指定することができ
ない。
058号に示されるようなものが知られている。これは
、マイクロプロセッサによって設定されるアドレスを記
憶するアドレスレジスタと、マイクロコンピュータによ
って実行されるプログラム命令のメモリアドレスと上記
設定アドレスとを比較する比較回路と、これらアドレス
が一致したとき割込み信号を送出する割込み回路とを設
けることによシ、プロセッサの内部状態を表示するもの
である。しかしながら、この方法には次のような欠点が
ある。すなわち、割込み信号が発生するとプロセッサを
停止させてしまうため、表示処理を行なうのに別のプロ
セッサ(サービスプロセッサ)が必要になるばか夛でな
く、表示するためのアドレスを+at(次更新するもの
であるため、そのアドレスの範囲全指定することができ
ない。
この発明はかかる点に鑑みてなされたもので、同一のプ
ロセッサによってプログラムの実行および核プログラム
のトレース(追跡、記録)を可能にするとともに、トレ
ースするアドレスの範囲を指定する指定手段を設けるこ
とにより、プログラムの実行過程を正確に把持し、デパ
ックの効率を高めることを°目的とする。
ロセッサによってプログラムの実行および核プログラム
のトレース(追跡、記録)を可能にするとともに、トレ
ースするアドレスの範囲を指定する指定手段を設けるこ
とにより、プログラムの実行過程を正確に把持し、デパ
ックの効率を高めることを°目的とする。
〔発明の要点〕
その要点は、プロセッサが実行するプログラムのトレー
スすべき範囲を予め記憶しておくとともに、この純囲内
のプログラム命令語がプロセッサによって1つずつ実行
される毎に割込み信号を発生させ、この割込み信号を受
ける毎に所定の割込み処理プログラムを実行することに
より、プロセッサの各種レジスタ等の内部状態をプリン
トアウトするようにした点にある。
スすべき範囲を予め記憶しておくとともに、この純囲内
のプログラム命令語がプロセッサによって1つずつ実行
される毎に割込み信号を発生させ、この割込み信号を受
ける毎に所定の割込み処理プログラムを実行することに
より、プロセッサの各種レジスタ等の内部状態をプリン
トアウトするようにした点にある。
以下、この発明の実施例を図面を参照して説明する。
第1図はこの発明の実施例を示す構成図である。
同図において、1はプロセッサ、2は主記憶装置、31
p32は比較回路、41t42はアドレスレジスタ、5
.6は7リツプフロツプ(以下、FFと略記する。)、
7はアンドゲート、8は割込み回路、11はデータバス
、12はアドレスバスでおる。なお、主記憶装置2には
トレースすべきプログラムおよび割込み処理プログラム
が格納され、アドレスレジスタ41にはプログラムアド
レスのトレースを開始すべき開始アドレスが、了た、ア
ドレスレジスタ42には同じくトレースを終了すべき終
了アドレスがそれぞれ一時的に記憶される。
p32は比較回路、41t42はアドレスレジスタ、5
.6は7リツプフロツプ(以下、FFと略記する。)、
7はアンドゲート、8は割込み回路、11はデータバス
、12はアドレスバスでおる。なお、主記憶装置2には
トレースすべきプログラムおよび割込み処理プログラム
が格納され、アドレスレジスタ41にはプログラムアド
レスのトレースを開始すべき開始アドレスが、了た、ア
ドレスレジスタ42には同じくトレースを終了すべき終
了アドレスがそれぞれ一時的に記憶される。
動作について説明する。
プロセッサ1は、葦ずFF5をリセット、FF6をセッ
トし、主記憶装置2に格納されているプログラム命令語
を順次取9出して実行する。比較回路31はプロセッサ
1が実行するプログラムアドレスと、アドレスレジスタ
41に記憶されているアドレスとを比較し、一致したと
きハイレベル00の信号を割込み用FF5に送出する。
トし、主記憶装置2に格納されているプログラム命令語
を順次取9出して実行する。比較回路31はプロセッサ
1が実行するプログラムアドレスと、アドレスレジスタ
41に記憶されているアドレスとを比較し、一致したと
きハイレベル00の信号を割込み用FF5に送出する。
これによシ、FF5がセットされるが、このとき、FF
6もプロセッサ1によってセットされているのでアンド
ゲート7の入力がともにHとなシ、その出力からはHの
信号が出力される。この信号は、FF6のリセット端子
Rに与えられる一方、割込み回路8に与えられるので、
FF6はリセットされるとともに、割込み回路8を介し
てプロセッサ1に割込み信号が与えられる。なお、FF
6がリセットされると、アンドゲート7の出力がローレ
ベル(L)になるので、割込み回路8は割込み信号の送
出を停止する。このため、プロセッサ1は割込み信号に
妨げられることなく、主記憶装置2に格納されている割
込み処理ブロクラムを実行することができる。プロセッ
サ1は、割込み信号によってプログラムの実行を中断し
、割込み処理プログラムにff1lJJ41渡す。割込
み処理プログラムが実行されると、図示されない、中断
したプログラムのブロクラムカウンタおよび各柚内部レ
ジスタ等の内容が読み取られて主記憶装置2に格納され
るとともに、これらの情報がタイプアウトされた後、プ
ロセッサ1の内部状態が中断直前の状態に復元され、中
断していたプログラムに制御が渡されると同時に、F
F 6がセットされる。これにより、割込み回路8は再
びプロセッサ1に割込み信号を送出し、以後、1都令実
行する毎にこの動作が繰り返され、その都度割込み処理
プログラムが実行される。この−作は、プログラムの実
行アドレスがアドレスレジスタ42に記憶されているア
ドレスと一致する迄続けられる。つまシ、プログラムの
実行アドレスとレジスタ42の内容とが一致すると、比
較回路32 はHの信号をFF5のリセット端子に与え
るので、FF5はリセットされ、これによシアンドゲー
ト7が閉じられるため割込み回路8は動作せず、したが
って、プロセッサ1には割込みが掛からず、割込み処理
プログラムも実行されないということになる。
6もプロセッサ1によってセットされているのでアンド
ゲート7の入力がともにHとなシ、その出力からはHの
信号が出力される。この信号は、FF6のリセット端子
Rに与えられる一方、割込み回路8に与えられるので、
FF6はリセットされるとともに、割込み回路8を介し
てプロセッサ1に割込み信号が与えられる。なお、FF
6がリセットされると、アンドゲート7の出力がローレ
ベル(L)になるので、割込み回路8は割込み信号の送
出を停止する。このため、プロセッサ1は割込み信号に
妨げられることなく、主記憶装置2に格納されている割
込み処理ブロクラムを実行することができる。プロセッ
サ1は、割込み信号によってプログラムの実行を中断し
、割込み処理プログラムにff1lJJ41渡す。割込
み処理プログラムが実行されると、図示されない、中断
したプログラムのブロクラムカウンタおよび各柚内部レ
ジスタ等の内容が読み取られて主記憶装置2に格納され
るとともに、これらの情報がタイプアウトされた後、プ
ロセッサ1の内部状態が中断直前の状態に復元され、中
断していたプログラムに制御が渡されると同時に、F
F 6がセットされる。これにより、割込み回路8は再
びプロセッサ1に割込み信号を送出し、以後、1都令実
行する毎にこの動作が繰り返され、その都度割込み処理
プログラムが実行される。この−作は、プログラムの実
行アドレスがアドレスレジスタ42に記憶されているア
ドレスと一致する迄続けられる。つまシ、プログラムの
実行アドレスとレジスタ42の内容とが一致すると、比
較回路32 はHの信号をFF5のリセット端子に与え
るので、FF5はリセットされ、これによシアンドゲー
ト7が閉じられるため割込み回路8は動作せず、したが
って、プロセッサ1には割込みが掛からず、割込み処理
プログラムも実行されないということになる。
第2図はこの発明に用いられるプログラムの構成例を示
す構成図でめる。
す構成図でめる。
以下、第2図をも参照してもう少し具体的に説明する。
なお、21はプロセッサ1が実行する、命令It +
I2・・・・・・工□からなるプログラム、22は割込
み処理プログラムで、割込み時のプロセッサの内部状態
の退避、トレース情報のタイプアウト、内部情態の復元
、フリップフロップ8のセット等の機能を有している。
I2・・・・・・工□からなるプログラム、22は割込
み処理プログラムで、割込み時のプロセッサの内部状態
の退避、トレース情報のタイプアウト、内部情態の復元
、フリップフロップ8のセット等の機能を有している。
いま、第2図に示される命令11の格納アドレスがアド
レスレジスタ41に、また命令Inの格納アドレスがア
ドレスレジスタ42にそれぞれ記憶されているものとす
ると、1ず、命令工1の実行により、上述の如くしてプ
ロセッサ1に割込み信号が送出されるので、割込み処理
プログラムが実行され、図示されないプログラムカウン
タを含む内部状態情報を退避、保存する。なお、このと
き、プログラムカウンタは命令工2が格納されているア
ドレスを示している。次いで、トレース情報をタイプア
ウトした後、内部状態を復元するとともに、フリップフ
ロップ6をセットする。その後、命令I2に制御が戻る
ので、該命令の実行に応じてトレース情報がタイプアウ
トされる。やがて、命令Inが実行されると、比較回路
32が割込みフリップ70ツブ5をリセットするため、
割込み回路8への大刀がLとなって割込み信号は送出さ
れなくなるので、以後は、トレース処理報のタイプアウ
トは行なわれない。
レスレジスタ41に、また命令Inの格納アドレスがア
ドレスレジスタ42にそれぞれ記憶されているものとす
ると、1ず、命令工1の実行により、上述の如くしてプ
ロセッサ1に割込み信号が送出されるので、割込み処理
プログラムが実行され、図示されないプログラムカウン
タを含む内部状態情報を退避、保存する。なお、このと
き、プログラムカウンタは命令工2が格納されているア
ドレスを示している。次いで、トレース情報をタイプア
ウトした後、内部状態を復元するとともに、フリップフ
ロップ6をセットする。その後、命令I2に制御が戻る
ので、該命令の実行に応じてトレース情報がタイプアウ
トされる。やがて、命令Inが実行されると、比較回路
32が割込みフリップ70ツブ5をリセットするため、
割込み回路8への大刀がLとなって割込み信号は送出さ
れなくなるので、以後は、トレース処理報のタイプアウ
トは行なわれない。
以上のように、この発明によれば、比較回路31゜32
、アドレスレジスタ41 w 42およヒ割込みンロツ
プフロッグ5にょシ、プログラムのトレースすべき範囲
が指厘できるため、デバッグの効率を旨めることができ
るとともに、フリップフロップ6を設けることにょシ、
割込み処理プログラムの処理を割込み信号に妨げられる
ことなく実行することができる。また、トレースをすべ
きが否かは、アドレスレジ曇夕41 、42および7リ
ツプフロツプ5,6の内容によって一義的に決定できる
ので、これらの内容を退避、復元することによって、ト
レース処理の中断、再開をいつでも行なうことができる
。したがって、プログラムの実行を制御するプログラム
、例えばオペレーティングシステムの如きものを介在さ
せることにょシ、成るプログラムノドレース処理を一時
中断させて別のプログラムを実行し、そのプログラムが
終了したらトレース処理を再開させるような処理をする
ことも可能である。
、アドレスレジスタ41 w 42およヒ割込みンロツ
プフロッグ5にょシ、プログラムのトレースすべき範囲
が指厘できるため、デバッグの効率を旨めることができ
るとともに、フリップフロップ6を設けることにょシ、
割込み処理プログラムの処理を割込み信号に妨げられる
ことなく実行することができる。また、トレースをすべ
きが否かは、アドレスレジ曇夕41 、42および7リ
ツプフロツプ5,6の内容によって一義的に決定できる
ので、これらの内容を退避、復元することによって、ト
レース処理の中断、再開をいつでも行なうことができる
。したがって、プログラムの実行を制御するプログラム
、例えばオペレーティングシステムの如きものを介在さ
せることにょシ、成るプログラムノドレース処理を一時
中断させて別のプログラムを実行し、そのプログラムが
終了したらトレース処理を再開させるような処理をする
ことも可能である。
第1図はこの発明の実施例を示す構成図、第2図はプロ
グラムの何成金示す構成図である。 符号説明 1・・・プロセッサ、2・・・主記憶装置、31,32
・・・比較回路、41+42・・・アドレスレジスタ、
5.6・・・フリップ70ツブ(FF)、7・・・アン
ドゲート、8・・・割込み回路、11・・・データバス
、12・・・アドレスバス。 代理人弁理士 並 木 昭 夫 代理人弁理士 松 崎 清 第 1 図 第 2 履 2ノ22
グラムの何成金示す構成図である。 符号説明 1・・・プロセッサ、2・・・主記憶装置、31,32
・・・比較回路、41+42・・・アドレスレジスタ、
5.6・・・フリップ70ツブ(FF)、7・・・アン
ドゲート、8・・・割込み回路、11・・・データバス
、12・・・アドレスバス。 代理人弁理士 並 木 昭 夫 代理人弁理士 松 崎 清 第 1 図 第 2 履 2ノ22
Claims (1)
- メモリの所定アドレスから順次プログラム命令語を読み
出して所定の処理を実行するとともに割込み信号を受け
て所定の割込み処理を実行するプロセッサと、プログラ
ムのトレースを開始すべきメモリアドレスおよびトレー
スを終了すべきメモリアドレスをそれぞれ記憶する開始
アドレス、終了アドレス記憶手段と、プロセッサが実行
するプログラムアドレスと該記憶されたトレース開始ア
ドレスおよび終了アドレスとをそれぞれ比較し一致した
とき所定の信号を出力する第1.第2比較手段と、該第
1比較手段よシ出力が得られてから@2比較手段より出
力が得られる迄の間はプログラムをトレースすべき旨の
トレース指令信号を出力する指令信号出力手段と、該ト
レース指令が出されている間はプロセッサが1命令語実
行する毎に割込み1ご号を発生する割込み信号発生手段
とを備え、前記プロセッサは該割込み信号を受ける毎に
所定の割込み処理プログラムによる割込み処理を実行し
てその内部状態をプリントアウトすることを特徴とする
プログラムトレース方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58072920A JPS59200356A (ja) | 1983-04-27 | 1983-04-27 | プログラムトレ−ス方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58072920A JPS59200356A (ja) | 1983-04-27 | 1983-04-27 | プログラムトレ−ス方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59200356A true JPS59200356A (ja) | 1984-11-13 |
Family
ID=13503266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58072920A Pending JPS59200356A (ja) | 1983-04-27 | 1983-04-27 | プログラムトレ−ス方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59200356A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61245247A (ja) * | 1985-04-23 | 1986-10-31 | Mitsubishi Electric Corp | トレ−ス制御装置 |
JPH04256036A (ja) * | 1991-02-08 | 1992-09-10 | Nec Corp | プログラム解析システム |
-
1983
- 1983-04-27 JP JP58072920A patent/JPS59200356A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61245247A (ja) * | 1985-04-23 | 1986-10-31 | Mitsubishi Electric Corp | トレ−ス制御装置 |
JPH04256036A (ja) * | 1991-02-08 | 1992-09-10 | Nec Corp | プログラム解析システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4095268A (en) | System for stopping and restarting the operation of a data processor | |
US5481756A (en) | DMA controller mailing auto-initialize halting unit | |
JPS59200356A (ja) | プログラムトレ−ス方式 | |
JPH1069470A (ja) | マルチプロセッサシステム | |
JPH0581070A (ja) | プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法 | |
JPH02103643A (ja) | デバッグ用割込発生回路 | |
JPS5947651A (ja) | プログラム制御装置 | |
JPS59144955A (ja) | 情報処理装置 | |
JPH0573296A (ja) | マイクロコンピユータ | |
JPS60124746A (ja) | デ−タ処理装置 | |
JPH0581087A (ja) | プロセサのモニタ方式 | |
JPH11338712A (ja) | 割込順序保存回路 | |
JPH06103110A (ja) | ブレークポイント設定方式 | |
JPH0417530B2 (ja) | ||
JPS6086625A (ja) | デ−タ処理装置 | |
JPH05241852A (ja) | 情報処理システムの割り込み発生装置 | |
JPS6128144A (ja) | トレ−ス動作実行装置 | |
JPS63155330A (ja) | マイクロプログラム制御装置 | |
JPS58158746A (ja) | 情報処理装置 | |
JPH01233628A (ja) | メモリアドレス変換制御回路 | |
JPH0683638A (ja) | 割込み制御回路 | |
JPH04299742A (ja) | 割込み制御装置 | |
JPS59106057A (ja) | アドレス・ストツプ方式 | |
JPH04367902A (ja) | プログラマブルコントローラ | |
JPS59212966A (ja) | デ−タ処理装置の実行停止回路 |