JPS5960657A - 実行パス解析装置 - Google Patents
実行パス解析装置Info
- Publication number
- JPS5960657A JPS5960657A JP57171700A JP17170082A JPS5960657A JP S5960657 A JPS5960657 A JP S5960657A JP 57171700 A JP57171700 A JP 57171700A JP 17170082 A JP17170082 A JP 17170082A JP S5960657 A JPS5960657 A JP S5960657A
- Authority
- JP
- Japan
- Prior art keywords
- latch
- timing
- instruction
- contents
- pulse
- 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
【発明の詳細な説明】
本発明ニマイクロψコンピュータ・システムにおけるプ
ログラム・デバッグ装置の制御回路に関する。
ログラム・デバッグ装置の制御回路に関する。
ソフトウェア(プログラム)のデパックとは、艇似的な
入力条件′fr設定し、仕泳に基つく出力が得られるか
どうかをチェックする行為である。ここで仮に入力条件
に見合わない結果が出力された場合、プログラムにバッ
グ(課り)が存在していることになる。しかし、プログ
ラムのどの部分に誤りが存在しているか分見究めるのは
、設計者の経験による勘にたよっているのが実情である
◎この際、被試験プログラムの実行パス(動作経過)?
[認すること、特にプログラムの分枝光を確認すること
に、バグの存在する個所全発見するために必要不可欠な
行為である。
入力条件′fr設定し、仕泳に基つく出力が得られるか
どうかをチェックする行為である。ここで仮に入力条件
に見合わない結果が出力された場合、プログラムにバッ
グ(課り)が存在していることになる。しかし、プログ
ラムのどの部分に誤りが存在しているか分見究めるのは
、設計者の経験による勘にたよっているのが実情である
◎この際、被試験プログラムの実行パス(動作経過)?
[認すること、特にプログラムの分枝光を確認すること
に、バグの存在する個所全発見するために必要不可欠な
行為である。
従来、デバッグ作業中に実行バス、特にプログラムの分
枝先ケ確認するために、作条省が手動で一砧令ずつ実行
させたり、プログラムが特定のアドレスに達したときに
自動的に実行全停止させることで対処していた。しかし
、自動制御分野における機械制御プログラム等の実時間
対応が必要なアプリケーションにおいては、基本的に上
記の方法では対処不可能という欠点があった。
枝先ケ確認するために、作条省が手動で一砧令ずつ実行
させたり、プログラムが特定のアドレスに達したときに
自動的に実行全停止させることで対処していた。しかし
、自動制御分野における機械制御プログラム等の実時間
対応が必要なアプリケーションにおいては、基本的に上
記の方法では対処不可能という欠点があった。
促って不発明の目的は、マイクロ・コンピュータ・シス
テムのプログラム・デバッグVC際して、現在実行丁べ
き命令と直前に実行された命令のアドレスを夾時101
でチェックでき、分肢や呼び出しが実行された除の実行
バスの解析をOT能にした実行パス解析1trrr−提
供することIcある。
テムのプログラム・デバッグVC際して、現在実行丁べ
き命令と直前に実行された命令のアドレスを夾時101
でチェックでき、分肢や呼び出しが実行された除の実行
バスの解析をOT能にした実行パス解析1trrr−提
供することIcある。
本発明によれば、被に鮪システムのコントロール・ハス
に印加されるインストラクション・フェッチ・タイミン
グパルスからIm次第−1纂二および第三のタイミング
パルスを発生する手段と、この第一のタイミングパルス
VCよって被試験システムのアドレスバスの内容會Bα
厖する第一のラッチレジスタと、第三のタイミングパル
スによって第一のラッチレジスタの内容を占山息する第
二のラッチレジスタと、これら第一お工び側二のラッチ
レジスタの内容の関係が予め定められfc末件を滴た丁
時に検出信号を発生する手段と、この検出信号送出時1
c第二のタイミング・パルスKjつてi−のラッチレジ
スタの内容會gピ憶蓄槓する手段とを具備し、被試験プ
ログラム実行時の蝕び先番地を実時間で順次記録できる
こと全%敵とする実行パス解析装置が得られる。
に印加されるインストラクション・フェッチ・タイミン
グパルスからIm次第−1纂二および第三のタイミング
パルスを発生する手段と、この第一のタイミングパルス
VCよって被試験システムのアドレスバスの内容會Bα
厖する第一のラッチレジスタと、第三のタイミングパル
スによって第一のラッチレジスタの内容を占山息する第
二のラッチレジスタと、これら第一お工び側二のラッチ
レジスタの内容の関係が予め定められfc末件を滴た丁
時に検出信号を発生する手段と、この検出信号送出時1
c第二のタイミング・パルスKjつてi−のラッチレジ
スタの内容會gピ憶蓄槓する手段とを具備し、被試験プ
ログラム実行時の蝕び先番地を実時間で順次記録できる
こと全%敵とする実行パス解析装置が得られる。
次に本発明の一実施例を承丁図面を参照して不実行パス
′M析装置10のインストラクションフェッチ検出部1
は、被試験システム11のコントロール・バスCかライ
ンストラクション・7エ。
′M析装置10のインストラクションフェッチ検出部1
は、被試験システム11のコントロール・バスCかライ
ンストラクション・7エ。
チ・タイミングTを検出し、第2図Vc下すようなタイ
ミングでパルスTo 、TI 、T2’i発生し、ラッ
チ2、ラッチ3お工びバッファ畳込制御部5に出力する
。ラッチ21”1.、被試験システム11のアドレス・
バスAの内容をパルスTOのタイミングにより記憶し、
う、ッチ3に、このう、Vチ2の内容分パルスT2のタ
イミングVcエク記憶する。バッファ誉込制(2)回路
5に、ラッチ2の内容とラッチ3の内容と全比較演算す
る比較部4からの検出信号を受けると、パルスT1のタ
イミングによりラッチ2のV:J容′に取り込む。バッ
ファ耽出曲J御部7に、バッフ了薔込制御部5の出力v
r−蓄槓するFirst In −First Out
(11造のFIFOバッファ6の内容を順次取り出し
外部出力装置8Vc出力する。
ミングでパルスTo 、TI 、T2’i発生し、ラッ
チ2、ラッチ3お工びバッファ畳込制御部5に出力する
。ラッチ21”1.、被試験システム11のアドレス・
バスAの内容をパルスTOのタイミングにより記憶し、
う、ッチ3に、このう、Vチ2の内容分パルスT2のタ
イミングVcエク記憶する。バッファ誉込制(2)回路
5に、ラッチ2の内容とラッチ3の内容と全比較演算す
る比較部4からの検出信号を受けると、パルスT1のタ
イミングによりラッチ2のV:J容′に取り込む。バッ
ファ耽出曲J御部7に、バッフ了薔込制御部5の出力v
r−蓄槓するFirst In −First Out
(11造のFIFOバッファ6の内容を順次取り出し
外部出力装置8Vc出力する。
通常マイクロ・コンピュータ・システムにおいては、メ
モリ中VC*かれているグログラムの命令コードをCP
U内部に取り込むタイミングがある〇これをインストラ
クション滲フェッチ・タイミングといい、このタイミン
グ情報はコントロール・バス上に出力される。本実施例
でに、インストラクション・フェッチ検出部1において
、被試験システム10のコントロールeバスCIC出力
されるインストラクション・フェッチ・タイミングTか
ら第2図にボ丁工うなタイミングでパルスTO9″f’
l、T2′?を発生させている。このパルスToの時点
で扱眩躾システムlOのアドレス・バスAの内容分ラッ
チ2に記憶する。またパルスT2の時点でラッチ2に記
憶されfc内内容ラッチ3に記憶する。従って被試験プ
ログラムが実行されると、インストラクション・フェッ
チ・タイミングTが順次繰り返し出力されるので、パル
スTIの時点でラッチ2とラッチ3との内容を観察する
と、ラッチ2には、これから実行される命令コードのア
ドレスが記憶され、う、チ3には直前VC実行された命
令コードのアドレスが記憶されていることになる。
モリ中VC*かれているグログラムの命令コードをCP
U内部に取り込むタイミングがある〇これをインストラ
クション滲フェッチ・タイミングといい、このタイミン
グ情報はコントロール・バス上に出力される。本実施例
でに、インストラクション・フェッチ検出部1において
、被試験システム10のコントロールeバスCIC出力
されるインストラクション・フェッチ・タイミングTか
ら第2図にボ丁工うなタイミングでパルスTO9″f’
l、T2′?を発生させている。このパルスToの時点
で扱眩躾システムlOのアドレス・バスAの内容分ラッ
チ2に記憶する。またパルスT2の時点でラッチ2に記
憶されfc内内容ラッチ3に記憶する。従って被試験プ
ログラムが実行されると、インストラクション・フェッ
チ・タイミングTが順次繰り返し出力されるので、パル
スTIの時点でラッチ2とラッチ3との内容を観察する
と、ラッチ2には、これから実行される命令コードのア
ドレスが記憶され、う、チ3には直前VC実行された命
令コードのアドレスが記憶されていることになる。
一万、マイクロ・コンピータ独自の命令体系においては
、−命令コードがメモリ中に占める最大の長さが設定さ
れている(インテル808(1例にとると、3バイト命
令が最大)。ここでほこの長さをNとする。本実施例に
おける比較部4は、矢の二つの条件のうち、どちらか’
fr−1mた丁とき出力全発生する。
、−命令コードがメモリ中に占める最大の長さが設定さ
れている(インテル808(1例にとると、3バイト命
令が最大)。ここでほこの長さをNとする。本実施例に
おける比較部4は、矢の二つの条件のうち、どちらか’
fr−1mた丁とき出力全発生する。
条件(1) ラッチ2の内容〈ラッチ3の円谷栄件(
2)ラッチ2の内容−ラッチ3の内容〉Nこの比較部4
を具体的に説明すると、ラッチ2の内容からラッチ3の
円谷全強葬する減算回路と、その結果の解読回路によっ
て実現される。この減算回路をよ、通常ラッチ30同容
の2−M法における禰叙をと9、ラッチ2の同容と力[
1其することにょクーC実現されている。この場合条件
(1) ’に一滴たー「と、債襄結来の取上位Yc悄上
すビットが元年しない。
2)ラッチ2の内容−ラッチ3の内容〉Nこの比較部4
を具体的に説明すると、ラッチ2の内容からラッチ3の
円谷全強葬する減算回路と、その結果の解読回路によっ
て実現される。この減算回路をよ、通常ラッチ30同容
の2−M法における禰叙をと9、ラッチ2の同容と力[
1其することにょクーC実現されている。この場合条件
(1) ’に一滴たー「と、債襄結来の取上位Yc悄上
すビットが元年しない。
“止た、解読回路は、この減算回路の演X結果が0゜1
.2・・・・・・、NVcなった場合以外を検出するこ
とによって宋件(ωの状態音検出することかできる。
.2・・・・・・、NVcなった場合以外を検出するこ
とによって宋件(ωの状態音検出することかできる。
したがって条件(1)°または(2)が収豆する〃)ど
うかは容易Vて検出e=J能でめり、具体的な回路も笑
境町りヒである。
うかは容易Vて検出e=J能でめり、具体的な回路も笑
境町りヒである。
バッファ書込i1+lJ御品5はパルスTIの時点テ比
較部4の出力がめる場合しで、ラッチA2の内容を取り
込み、FIシ175バッファ6に曹き込む。ぜらVこ、
バッファ読出制御部7でtゴ、F工p′5バッファ6に
データが書込゛まれている時しで外部出力装置8(ここ
では、プリンタ、フロッピィ・ディスク、カセットM装
置等が考えられる。)にF l h゛55バツフア6容
を、谷外部出力装置8に対応するデータVc9換して出
力する。
較部4の出力がめる場合しで、ラッチA2の内容を取り
込み、FIシ175バッファ6に曹き込む。ぜらVこ、
バッファ読出制御部7でtゴ、F工p′5バッファ6に
データが書込゛まれている時しで外部出力装置8(ここ
では、プリンタ、フロッピィ・ディスク、カセットM装
置等が考えられる。)にF l h゛55バツフア6容
を、谷外部出力装置8に対応するデータVc9換して出
力する。
以上のようトて構成すると、被試験プログラムがgi5
tδ、 cail、return等の命令を含まない単
純な順欠構造(read 、 write 、等)ノ場
合は、実行中の命令のアドレスVil臓次増加するのみ
である。また前述したように、−命令コードがメモリ中
に占める敲大の長さがNであるから、実行音令のアドレ
スの増加分は常VcN以下である。したがってこの場合
、実行中の命令のアドレスの差は、常に正値でNt越え
ることはない。p[」ち、条件(1)。
tδ、 cail、return等の命令を含まない単
純な順欠構造(read 、 write 、等)ノ場
合は、実行中の命令のアドレスVil臓次増加するのみ
である。また前述したように、−命令コードがメモリ中
に占める敲大の長さがNであるから、実行音令のアドレ
スの増加分は常VcN以下である。したがってこの場合
、実行中の命令のアドレスの差は、常に正値でNt越え
ることはない。p[」ち、条件(1)。
(2)は成立せず、FIFOバッファ6にはデータが曹
き込まれないことになる0ただし例外としてg;t″0
0命令び先が、そのgoto謔令目身のアドレスの場合
に、ラッチ2とラッチ3の同容が+=−で差が生じない
ため、本発明の機能ではget:命令の存在が確認でき
ないこととなる。したし、このような場合プログラムは
一力PAiC停涌してし筐い、何ら有効な機舵分英行し
得ないので現実的には無視してさしつかえない。
き込まれないことになる0ただし例外としてg;t″0
0命令び先が、そのgoto謔令目身のアドレスの場合
に、ラッチ2とラッチ3の同容が+=−で差が生じない
ため、本発明の機能ではget:命令の存在が確認でき
ないこととなる。したし、このような場合プログラムは
一力PAiC停涌してし筐い、何ら有効な機舵分英行し
得ないので現実的には無視してさしつかえない。
欠に、被試験プログラムがg”; to 、 cal
l命令を含む場曾ケ考える。いま、これらの防令が実行
されると矢の力電び先のアドレスは、このgEto 1
call命令の存在するアドレスより後戻りするか、N
+1以上先にジャンプする。なぜならは、gOEO+c
all命令は、次にプログラムが実行する命令のアドレ
ス?オペランドとして持って2.!17、通電−命令の
長さがN′″C最大であるからであるOつ1りgot:
、call命令が実行されると後戻り↑るか1N+1以
上先にジャンプしないとgot: 、call命令が実
行されたことにならない。
l命令を含む場曾ケ考える。いま、これらの防令が実行
されると矢の力電び先のアドレスは、このgEto 1
call命令の存在するアドレスより後戻りするか、N
+1以上先にジャンプする。なぜならは、gOEO+c
all命令は、次にプログラムが実行する命令のアドレ
ス?オペランドとして持って2.!17、通電−命令の
長さがN′″C最大であるからであるOつ1りgot:
、call命令が実行されると後戻り↑るか1N+1以
上先にジャンプしないとgot: 、call命令が実
行されたことにならない。
以上のように、被試験プログラム中に分岐や呼び出しが
ある場合のみ、条件(1) 、 (2)のどちらかが満
足され、その飛び先のアドレスがF’If”5 /<
ソファに順次書き込まれる。そこで、このアドレス内容
全外部出力装置8にIh次記1慈することにより、被試
験プログラムの実行バスが傅らル、テノ<ラグ作業に、
有用な情報が与えられることになる。
ある場合のみ、条件(1) 、 (2)のどちらかが満
足され、その飛び先のアドレスがF’If”5 /<
ソファに順次書き込まれる。そこで、このアドレス内容
全外部出力装置8にIh次記1慈することにより、被試
験プログラムの実行バスが傅らル、テノ<ラグ作業に、
有用な情報が与えられることになる。
本発明は以上説明したように、プログラムテノく、グ開
VC現仕実行丁べき命令と、直前に実行された品賃のア
ドレスを実時間で比較し、分岐や呼び出しが実行され九
時のアドレス変化ケ梅゛出し、この検出により分岐また
は呼び出し先のアドレスを順欠配憶することで被試験プ
ログラムの実行ノくスを得るように構成したことVCよ
って、実時間処理の必要なソフトウェアのアバ1.グの
際に、システムケ停止することなしに、実行バスの確認
ができ、作業を効率良〈遂行できる等の効果がある。
VC現仕実行丁べき命令と、直前に実行された品賃のア
ドレスを実時間で比較し、分岐や呼び出しが実行され九
時のアドレス変化ケ梅゛出し、この検出により分岐また
は呼び出し先のアドレスを順欠配憶することで被試験プ
ログラムの実行ノくスを得るように構成したことVCよ
って、実時間処理の必要なソフトウェアのアバ1.グの
際に、システムケ停止することなしに、実行バスの確認
ができ、作業を効率良〈遂行できる等の効果がある。
第1図μ本発明の一実施例會ボ丁ブロック図、第2図に
第1図にボした回路の制御タイムチャートでちる。 1・・・・・・インストラクション・フェッチ検出部、
2.3・・・・・・ラッチレジスタ、4・・・・・・比
較部、5・・・・・・バッファ書込制御部、6・・・・
・・FIFOバ、ファ、7・・・・・・バッファ読出制
御部、8・・・・・・外部出力装置、11・・・・・・
被試験システム。 ■
第1図にボした回路の制御タイムチャートでちる。 1・・・・・・インストラクション・フェッチ検出部、
2.3・・・・・・ラッチレジスタ、4・・・・・・比
較部、5・・・・・・バッファ書込制御部、6・・・・
・・FIFOバ、ファ、7・・・・・・バッファ読出制
御部、8・・・・・・外部出力装置、11・・・・・・
被試験システム。 ■
Claims (1)
- 被試験システムのコントロール・バスに印刀口されるイ
ンストラクション・フエ、ッチ・タイミングパルスから
順久第−1第二お工び第三のタイミングパルス全発生す
る手段と、il記第−のタイミングパルスによってfJ
TIHa被試験システムのアドレスバスの内容全記憶す
る第一のラッチレジスタと、前記第三のタイミングパル
スによって前dピ第一のラッチレジスタの内容に+]:
haする第二のラッチレジスタと、fnJ8己祇−およ
び第二のラッチレジスタの内容の関係が予め定められた
条件を満たす時に検出信号を発生する手段と、前記検出
信号送出時にり118己第二のタイミングパルス全発生
って串几己第−のラッチレジスタの内容を記憶蓄積する
手段とを具備することケ特徴とする実行バス解析装置0
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57171700A JPS5960657A (ja) | 1982-09-30 | 1982-09-30 | 実行パス解析装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57171700A JPS5960657A (ja) | 1982-09-30 | 1982-09-30 | 実行パス解析装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS5960657A true JPS5960657A (ja) | 1984-04-06 |
Family
ID=15928055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57171700A Pending JPS5960657A (ja) | 1982-09-30 | 1982-09-30 | 実行パス解析装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5960657A (ja) |
-
1982
- 1982-09-30 JP JP57171700A patent/JPS5960657A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100695187B1 (ko) | 단일 스텝 처리 방법 및 장치 | |
US5359608A (en) | Apparatus for activation and deactivation of instruction tracing through use of conditional trace field in branch instructions | |
US5751942A (en) | Trace event detection during trace enable transitions | |
EP0241946B1 (en) | Information processing system | |
JP4094724B2 (ja) | ソフトウェアをデバッグする際に例外を識別するための装置および方法 | |
JPH02235149A (ja) | 試験システムおよび命令実行シーケンス判定方法 | |
JPS6120145A (ja) | マイクロプロセツサ動作解析装置 | |
JPH01310441A (ja) | データ処理装置 | |
JPH0332818B2 (ja) | ||
JPH07334483A (ja) | データ駆動型情報処理装置 | |
JPH11110255A (ja) | ソフトウェアをデバッグするための装置および方法 | |
US20050060690A1 (en) | Microprocessor system with software emulation processed by auxiliary hardware | |
JPS5960657A (ja) | 実行パス解析装置 | |
JPH03113646A (ja) | トレース回路 | |
JP2520158B2 (ja) | ディジタルシグナルプロセッサのデバッグ方式 | |
JPH04310138A (ja) | データ伝送装置のデバッグ方法 | |
JP3182287B2 (ja) | マイクロプロセッサ | |
JPH04162150A (ja) | ウォッチドッグタイマ制御回路 | |
JPS6270947A (ja) | デバグ割込み制御方式 | |
KR950033821A (ko) | 트레이스장치 및 이것을 사용한 에뮬레이터 | |
JPH01169639A (ja) | 記憶装置 | |
JPS6247752A (ja) | 情報処理装置の命令実行回数計数回路 | |
JPS63639A (ja) | プログラムデバツグ方式 | |
JPS62154148A (ja) | トレ−サ制御方式 | |
JPH10177505A (ja) | エミュレータ装置 |