JPH0272440A - Observation system for program executing step - Google Patents

Observation system for program executing step

Info

Publication number
JPH0272440A
JPH0272440A JP63225212A JP22521288A JPH0272440A JP H0272440 A JPH0272440 A JP H0272440A JP 63225212 A JP63225212 A JP 63225212A JP 22521288 A JP22521288 A JP 22521288A JP H0272440 A JPH0272440 A JP H0272440A
Authority
JP
Japan
Prior art keywords
branch
instruction
address
branch instruction
held
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
JP63225212A
Other languages
Japanese (ja)
Inventor
Kenji Takahashi
賢二 高橋
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 JP63225212A priority Critical patent/JPH0272440A/en
Publication of JPH0272440A publication Critical patent/JPH0272440A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To attain the effective application of a main memory by recording the satisfaction or dissatisfaction of branch to the lower two bits of a branch address part of a branch instruction and observing the execution or non- execution of the program executing step. CONSTITUTION:A branch process part 130 fetches the contents of a main memory 200 shown by an execution mode instruction address holding part 111 into a branch instruction holding part 131. Then a branch condition deciding part 132 checks whether the branch conditions of a branch instruction are satisfied or not. If so, one of two lower bits of a branch destination address part of the branch instruction held by the part 131 is set at logic '1'. Then the branch instruction is written back to an address of the memory 200 held by the part 111. If not, the other bit is set at logic '1' and the branch instruction is written back to the address of the memory 200. In such a way, only the branch instruction is observed and therefore the deterioration of the actual performance is reduced. Then the memory 200 is effectively used since the memory 200 records the branch instruction itself and requires no other recording area.

Description

【発明の詳細な説明】[Detailed description of the invention]

[産業上の利用分野] 本発明は分岐命令における分岐先アドレスが4の倍数ア
ドレスに制限されている計算機システムのプログラム実
行ステップ観測方式に関する。 [従来の技術] 従来、プログラムの評価方法の一手法として網羅率を測
定する方法があり、このためにプログラムの各ステップ
に対応するエリアを有する表を主記憶上に用意し、命令
の実行ごとにこの表の対応するエリアを塗りつぶしてい
た。 [発明が解決しようとする課題] 上述した従来のプログラム実行ステップ観測方式は、プ
ログラムの各ステップに対応するエリアを有する表を主
記憶上に用意して命令の実行ごとにその表の対応するエ
リアを塗りつぶしているために計算機システムの実性能
の低下が大きく、また、実性能の低下を抑えるためには
、多くの専用回路を用意しなければならないとともに、
主記憶上に前記の対応表を用意するために主記憶の利用
効率が低下するという欠点がある。 〔課題を解決するための手段] 本発明の第1のプログラム実行ステップ観測方式は、 現在実行中の命令の主記憶上のアドレスを保持する実行
中命令アドレス保持手段と、 現在実行中の命令が分岐命令であるならば該分岐命令を
保持する分岐命令保持手段と、前記分岐命令の分岐条件
が成立したならば前記分岐命令保持手段に保持されてい
る該分岐命令の分岐先アドレス部の下位2ビットのうち
の1ビットを論理“1”にした後、前記実行中命令アド
レス保持手段に保持されている主記憶上のアドレスに該
分岐命令を書戻す分岐成立記録手段と、前記分岐命令の
分岐条件が不成立ならば前記分岐命令保持手段に保持さ
れている該分岐命令の分岐先アドレス部の下位2ビット
のうちの前記分岐成立記録手段で使用されたビットの他
のビットを論理”l”にし前記実行中命令アドレス保持
手段に保持されている主記憶上のアドレスに該分岐命令
を書戻す分岐成立記録手段とを有する。 本発明の第2のプログラム実行ステップ観測方式は、 現在実行中の命令の主記憶上のアドレスを保持する実行
中命令アドレス保持手段と、 現在実行中の命令が分岐命令であるならば該分岐命令を
保持する分岐命令保持手段と、前記分岐命令の分岐トレ
ースを行なうかどうかが設定される分岐トレースモード
設定手段と、前記分岐命令の分岐条件が成立し前記分岐
トレースモード設定手段が分岐命令の分岐トレースを示
しているならば、前記分岐命令保持手段に保持されてい
る該分岐命令の分岐先アドレス部の下位2ビットのうち
の1ビットを論理“l”にし、前記実行中命令アドレス
保持手段に保持されている主記憶上のアドレスに該分岐
命令を書戻す分岐成立記録手段と、 前記分岐命令の分岐条件が不成立となり前記分岐トレー
スモード設定手段が分岐命令の分岐トレースを示してい
るならば、前記分岐命令保持手段に保持されている該分
岐命令の分岐先アドレス部の下位2ビットのうちの前記
分岐成立記録手段に使用されたビットの他のビットを論
理“1“にし、前記実行中命令アドレス保持手段に保持
されている主記憶上のアドレスに該分岐命令を書戻す分
岐不成立記録手段とを有する。
[Field of Industrial Application] The present invention relates to a program execution step observation method for a computer system in which branch destination addresses in branch instructions are limited to addresses that are multiples of four. [Prior Art] Conventionally, there is a method of measuring coverage as one method for evaluating programs. For this purpose, a table having an area corresponding to each step of the program is prepared in main memory, and the data is measured every time an instruction is executed. The corresponding area of this table was filled in. [Problems to be Solved by the Invention] The conventional program execution step observation method described above prepares a table in main memory that has an area corresponding to each step of the program, and reads the corresponding area of the table each time an instruction is executed. The actual performance of the computer system is greatly reduced due to the blackout, and in order to suppress the decline in actual performance, many dedicated circuits must be prepared.
Since the correspondence table is prepared on the main memory, there is a drawback that the utilization efficiency of the main memory is reduced. [Means for Solving the Problems] The first program execution step observation method of the present invention includes: an executing instruction address holding means for holding an address on main memory of an instruction currently being executed; If the branch instruction is a branch instruction, the branch instruction holding means holds the branch instruction; and if the branch condition of the branch instruction is satisfied, the lower two of the branch destination address field of the branch instruction held in the branch instruction holding means; branch establishment recording means for writing back the branch instruction to an address on the main memory held in the executing instruction address holding means after setting one bit of the bits to logic "1"; and branching of the branch instruction. If the condition is not satisfied, the other bits of the lower two bits of the branch destination address part of the branch instruction held in the branch instruction holding means used by the branch establishment recording means are set to logic "L". and branch completion recording means for writing back the branch instruction to the address on the main memory held in the executing instruction address holding means. The second program execution step observation method of the present invention includes a currently executed instruction address holding unit that retains an address on main memory of an instruction currently being executed, and a branch instruction if the currently executed instruction is a branch instruction. branch instruction holding means for holding the branch instruction; branch trace mode setting means for setting whether or not to perform branch tracing of the branch instruction; and branch trace mode setting means for setting whether or not to perform branch tracing of the branch instruction; If the trace is indicated, one bit of the lower two bits of the branch destination address part of the branch instruction held in the branch instruction holding means is set to logic "L", and branch establishment recording means for writing back the branch instruction to an address on the main memory held; and if the branch condition of the branch instruction is not satisfied and the branch trace mode setting means indicates branch tracing of the branch instruction; Among the lower two bits of the branch destination address part of the branch instruction held in the branch instruction holding means, other bits of the bit used by the branch establishment recording means are set to logic "1", and the execution instruction is set to logic "1". and branch failure recording means for writing back the branch instruction to the address on the main memory held in the address holding means.

【作 用】 分岐命令の分岐アドレス部の下位2ビットに分岐の成立
または不成立が記録されてプログラムの実行ステップの
実行または不実行が観測でき、ブログラムの各ステップ
に対応するエリアを有する表を主記憶上に用意して塗り
つぶすことがないので、計算機システムの実性能の低下
が少なく、したがって実性能の低下を抑えるための専用
回路の必要もなく、また分岐命令そのものに実行が記録
されて他の記憶領域が占有されないので主記憶を有効に
利用することができる。 さらに、第2のプログラム実行ステップ観測方式は分岐
トレースモード設定手段に分岐命令の分岐トレースを行
なうかどうかが設定されていて、分岐トレースの必要が
ないときは分岐トレースをしないので、−層実性能低下
を防止できる。 [実施例] 次に、本発明の実施例について図面を参照して説明する
。 第1図は本発明のプログラム実行ステップ観測方式(特
許請求の範囲第1項)の一実施例が適用された計算機シ
ステムのブロック図、第2図は第1図の計算機システム
で使用される分岐命令の形式を示す図、第3図は第1図
の分岐成立記録手段133の処理を示すフローチャート
、第4図は第1図の分岐不成立記録手段135の処理を
示すフローチャートである。 論理装置100と主記憶装置200とは計算機システム
を構成している。論理装置100は、命令解読部110
、演算処理部120および分岐処理部130から構成さ
れている。命令解読部110は実行中命令アドレス保持
部111と命令取出し部112とから構成され、演算処
理部120は演算部121と命令アドレス更新部122
とから構成され、分岐処理部130は分岐命令保持部1
31、分岐条件判断部132、分岐成立記録手段133
、命令アドレス変更部134、分岐不成立記録手段13
5および命令アドレス加算部136から構成されている
。また、この計算機システムでは分岐命令における分岐
先アドレスが4の倍数に制限されており、プログラムの
命令形式は、第2図に示すように、命令コード部1と補
助コード部2とアドレス部3とから構成され、命令コー
ド部1は分岐の有無を、補助コード部2は分岐条件を、
アドレス部3は分岐先アドレスをそれぞれ表わしている
。分岐先アドレスが4の倍数に制限されているのでアド
レス部3の下位2ビットは通常は“0”となっている。 主記憶装置200にはこれから実行すべきプログラムの
命令およびデータが記憶されている。 論理装置100は命令解読部110に含まれる実行中命
令アドレス保持部111によって示される主記憶装置2
00上の内容を命令取出し部112に取り出しその命令
の種類を調べ、分岐命令ならば分岐処理部130に、分
岐命令以外ならば演算処理部120に制御を渡す、演算
処理部120は演算部121で演算を行ない、命令アド
レス更新部122によって、実行した命令の命令長に相
当する値だけ実行中命令アドレス保持部111の保持す
るアドレスを更新する。一方、分岐命令ならば分岐処理
部130は実行中命令アドレス保持部111で示す主記
憶装置200の内容の4バイトを分岐命令保持部131
に取込む。その後分岐条件判断部132によって分岐命
令の分岐条件が成立するかどうかを調べる。分岐条件が
成立するならば、第3図に示すように、分岐成立記録手
段133によって分岐が成立したことが主記憶装置20
0上に記録される。すなわち、分岐命令保持部131で
保持している4バイト(32ビット)の分岐命令のうち
下位から2ビット目(ビット30)を論理“l”にしく
ステップ11)、次に、実行中命令アドレス保持部11
1が保持しているその分岐命令の主記憶装置200上の
アドレスを取出しくステップ12)、ビット30を論理
゛1“にした分岐命令を主記憶装置200上に書き戻す
(ステップ13)、その後、命令アドレス変更部134
により分岐命令保持部131が保持している分岐先アド
レス20ビットのうちの下2ビットを“00”にして実
行中命令アドレス保持部111に設定する。 また、分岐条件が不成立ならば、第4図に示すように、
分岐不成立記録手段135によって分岐が成立しなかっ
たことが主記憶装置200上に記録される。すなわち、
分岐命令保持部131で保持している4バイト(32ビ
ット)の分岐命令のうち下位から1ビット目(ビット3
1)を論理“1“にしくステップ21)、次に実行中命
令アドレス保持部111が保持しているその分岐命令の
主記憶装置200上のアドレスを取出しくステップ22
)、ビット31を論理“1”にした分岐命令を主記憶装
置200上に書き戻す(ステップ23)その後、命令ア
ドレス加算部136により分岐命令の命令長に相当する
“4”を実行中命令アドレス保持部111に加算する。 最後に、主記憶装置200に書戻された分岐命令を読出
してアドレス部のビット30およびビット31が論理“
1“どなっているものの数をそれぞれAおよびBとし、
分岐命令の全数なCとすれば網羅率りは、 A+B により求められる。 第5図は本発明のプログラム実行ステップ観測方式(特
許請求の範囲第2項)の一実施例が適用された計算機シ
ステムのブロック図、第6図は第5図の分岐成立記録手
段137の処理を示すフローチャート、第7図は第5図
の分岐不成立記録手段138の処理を示すフローチャー
トである。 この計算機システムは、第1図の論理装置100の命令
解読部110に分岐トレースモード設定部113が付加
され、これに伴なって関係各部各手段の機能が増加され
、なかんずく分岐処理部130.の分岐記録手段133
に代って機能が増加された分岐成立記録手段137が、
また、分岐不成立記録手段135に代って機能が増加さ
れた分岐不成立記録手段138が備えられている。 論理装置100は主記憶装置200上の内容を分岐取出
し部112に取出しその命令の種類を調べ分岐命令なら
ば分岐処理部130に制御を渡し、分岐トレースモード
設定命令ならば分岐トレースモード設定部113を論理
“1“にし、それ以外ならば演算処理部120に制御を
渡す、ここで、分岐命令および分岐トレースモード設定
命令以外の命令ならば演算処理部120中の演算部12
1で演算を行ない、命令アドレス更新部122によって
、実行した命令の命令長に相当する値だけ実行中命令ア
ドレス保持部111の保持するアドレスを更新する。一
方、与えられた命令が分岐命令ならば第1図の実施例と
同様に、分岐処理部130は実行中命令アドレス保持部
111で示す主記憶装置200の内容の4バイトを分岐
命令保持部131に取込む、その後、分岐条件判断部1
32によって分岐命令の分岐条件が成立するかどうかを
調べ、分岐条件が成立し、かつ分岐トレースモニド設定
部113に論理“1”が設定されているならば第6図に
示すように、分岐成立記録手段137によって分岐が成
立したことが主記憶装置200上に記録される。すなわ
ち、分岐トレースモード設定部113が”1”かどうか
が判定(ステップ31)、“l”ならば分岐トレースモ
ードであるので分岐命令保持部131で保持している4
バイト(32ビット)の分岐命令のうち下位から2ビッ
ト目(ビット30)を論理“1”にしくステップ32)
、次に、実行中命令アドレス保持部111の保持してい
るその分岐命令の主記憶装置200上のアドレスを取出
しくステップ33)ビット30を論理“l”にした分岐
命令を主記憶装置200上に書戻す(ステップ34)、
その後、命令アドレス変更部134により分岐命令保持
部131が保持している分岐先アドレス20ビットのう
ちの下2ビットを“OO″とみなして実行中命令アドレ
ス保持部111の内容を変更する。 また、分岐条件が不成立で、分岐トレースモード設定部
113に論理“l”が設定されているならば第7図に示
すように分岐不成立記録手段138によって分岐が成立
しなかったことが主記憶装置200上に記録される。す
なわち、分岐トレースモード設定部113が“1”かど
うか判定しくステップ41)、“1”ならば分岐トレー
スモードであるので分岐命令保持部131で保持されて
いる4バイト(32ビット)の分岐命令のうち下位から
1ビット目(ビット31)を論理“1“にしくステップ
42)、次に実行中命令アドレス保持部111に保持さ
れているその分岐命令の主記憶装置200上のアドレス
を取出しくステップ43)ビット31を論理“l”にし
た分岐命令を主記憶装置200上に書戻す(ステップ4
4)、その後、命令アドレス加算部136により分岐命
令の命令長に相当する“4”を実行中命令アドレス保持
部Illに加算する。 この後、分岐トレースモード設定部113に論理“1”
が設定されているときは、第1図の計算機システムの場
合と同様に主記憶装置200を参照して網羅率を測定す
る。
[Operation] The establishment or failure of a branch is recorded in the lower two bits of the branch address field of a branch instruction, and the execution or non-execution of a program execution step can be observed, and a table having an area corresponding to each step of the program can be created. Since there is no need to prepare and fill in the main memory, there is little deterioration in the actual performance of the computer system.Therefore, there is no need for a dedicated circuit to suppress the deterioration in actual performance, and the execution is recorded in the branch instruction itself. Since the storage area is not occupied, the main memory can be used effectively. Furthermore, in the second program execution step observation method, whether or not to perform branch tracing of branch instructions is set in the branch tracing mode setting means, and branch tracing is not performed when branch tracing is not necessary. Deterioration can be prevented. [Example] Next, an example of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of a computer system to which an embodiment of the program execution step observation method (claim 1) of the present invention is applied, and FIG. 2 is a branch diagram used in the computer system of FIG. 3 is a flowchart showing the processing of the branch taken record means 133 of FIG. 1, and FIG. 4 is a flowchart of the processing of the branch not taken record means 135 of FIG. 1. The logical device 100 and the main storage device 200 constitute a computer system. The logic device 100 includes an instruction decoder 110
, an arithmetic processing section 120, and a branch processing section 130. The instruction decoding unit 110 includes an executing instruction address holding unit 111 and an instruction fetching unit 112, and the arithmetic processing unit 120 includes an arithmetic unit 121 and an instruction address updating unit 122.
The branch processing unit 130 includes a branch instruction holding unit 1
31, branch condition determination section 132, branch establishment recording means 133
, instruction address changing unit 134, branch failure recording unit 13
5 and an instruction address adder 136. In addition, in this computer system, the branch destination address in a branch instruction is limited to a multiple of 4, and the program instruction format consists of an instruction code section 1, an auxiliary code section 2, and an address section 3, as shown in Figure 2. The instruction code section 1 indicates the presence or absence of a branch, the auxiliary code section 2 indicates the branch condition,
Address portions 3 each represent a branch destination address. Since the branch destination address is limited to a multiple of 4, the lower two bits of the address field 3 are normally "0". The main storage device 200 stores instructions and data for programs to be executed from now on. The logic device 100 has a main memory 2 indicated by an executing instruction address holding unit 111 included in an instruction decoding unit 110.
00 is fetched to the instruction fetching unit 112, and the type of the instruction is checked. If it is a branch instruction, control is passed to the branch processing unit 130, and if it is other than a branch instruction, control is passed to the arithmetic processing unit 120. The instruction address updating unit 122 updates the address held in the currently executing instruction address holding unit 111 by a value corresponding to the instruction length of the executed instruction. On the other hand, if it is a branch instruction, the branch processing unit 130 transfers 4 bytes of the contents of the main storage device 200 indicated by the currently executed instruction address holding unit 111 to the branch instruction holding unit 131.
Incorporate into. Thereafter, the branch condition determining unit 132 checks whether the branch condition of the branch instruction is satisfied. If the branch condition is satisfied, as shown in FIG.
recorded on 0. That is, the second lowest bit (bit 30) of the 4-byte (32-bit) branch instruction held in the branch instruction holding unit 131 is set to logic "L" (step 11), and then the address of the instruction being executed is Holding part 11
Step 12) to retrieve the address on the main memory 200 of the branch instruction held by ``1'', write back the branch instruction with bit 30 set to logic ``1'' on the main memory 200 (step 13), and then , instruction address change unit 134
As a result, the lower two bits of the 20 bits of the branch destination address held by the branch instruction holding unit 131 are set to “00” and set in the currently executing instruction address holding unit 111. Also, if the branch condition is not satisfied, as shown in Figure 4,
The branch failure recording means 135 records on the main storage device 200 that the branch was not taken. That is,
The first bit (bit 3) from the lowest of the 4 bytes (32 bits) of branch instructions held in the branch instruction holding unit 131
Step 21) of setting 1) to logic "1", and then retrieving the address on the main storage device 200 of the branch instruction held by the currently executing instruction address holding unit 111 (step 22).
), the branch instruction with bit 31 set to logic "1" is written back onto the main memory 200 (step 23). After that, the instruction address adder 136 writes "4" corresponding to the instruction length of the branch instruction to the currently executed instruction address. It is added to the holding unit 111. Finally, the branch instruction written back to the main memory 200 is read and bits 30 and 31 of the address part are set to logic "".
1. Let the numbers of shouting objects be A and B, respectively.
If C is the total number of branch instructions, the coverage rate can be found by A+B. FIG. 5 is a block diagram of a computer system to which an embodiment of the program execution step observation method (claim 2) of the present invention is applied, and FIG. 6 is the processing of the branch establishment recording means 137 of FIG. FIG. 7 is a flowchart showing the processing of the branch failure recording means 138 in FIG. In this computer system, a branch trace mode setting section 113 is added to the instruction decoding section 110 of the logic device 100 in FIG. Branch recording means 133
Branch establishment recording means 137 with increased functions instead of
Further, in place of the branch failure record means 135, a branch failure record means 138 with increased functionality is provided. The logic device 100 fetches the contents on the main memory device 200 to the branch fetch unit 112, checks the type of instruction, and if it is a branch instruction, passes control to the branch processing unit 130, and if it is a branch trace mode setting instruction, the branch trace mode setting unit 113 is set to logic "1", and if it is not, the control is passed to the arithmetic processing unit 120. Here, if the instruction is other than a branch instruction or a branch trace mode setting instruction, the arithmetic processing unit 12 in the arithmetic processing unit 120
1, and the instruction address updating unit 122 updates the address held in the currently executing instruction address holding unit 111 by a value corresponding to the instruction length of the executed instruction. On the other hand, if the given instruction is a branch instruction, as in the embodiment shown in FIG. Then, branch condition judgment unit 1
32, it is checked whether the branch condition of the branch instruction is satisfied, and if the branch condition is satisfied and logic "1" is set in the branch trace monitor setting section 113, a branch establishment record is made as shown in FIG. The means 137 records on the main storage device 200 that the branch has been taken. That is, it is determined whether the branch trace mode setting section 113 is "1" (step 31), and if it is "l", it is the branch trace mode, so the branch instruction holding section 131 holds the value 4.
Set the second bit from the lowest (bit 30) of the byte (32 bits) branch instruction to logic “1” (Step 32)
Next, step 33) fetches the address on the main memory 200 of the branch instruction held by the executing instruction address holding unit 111. (step 34),
Thereafter, the instruction address changing unit 134 changes the contents of the currently executing instruction address holding unit 111 by regarding the lower two bits of the 20 bits of the branch destination address held by the branch instruction holding unit 131 as “OO”. Further, if the branch condition is not taken and the logic "l" is set in the branch trace mode setting unit 113, the branch not taken recording means 138 indicates that the branch was not taken, as shown in FIG. 200. That is, it is determined whether the branch trace mode setting section 113 is "1" (step 41), and if it is "1", it is the branch trace mode, so the 4-byte (32-bit) branch instruction held in the branch instruction holding section 131 is The first bit from the lowest (bit 31) is set to logic "1" (step 42), and then the address on the main storage device 200 of the branch instruction held in the currently executing instruction address holding unit 111 is retrieved. Step 43) Write back the branch instruction with bit 31 set to logic "L" onto main memory 200 (Step 4
4) After that, the instruction address addition unit 136 adds “4” corresponding to the instruction length of the branch instruction to the currently executed instruction address holding unit Ill. After this, the branch trace mode setting unit 113 is set to logic “1”.
is set, the coverage rate is measured by referring to the main storage device 200, as in the case of the computer system shown in FIG.

【発明の効果】【Effect of the invention】

以上説明したように本発明は、現在実行中の分岐命令の
分岐条件が成立したならば、分岐命令保持手段に保持さ
れている該分岐命令の分岐先アドレス部の下位2ビット
のうちの1ビットを論理“1”にし実行中命令アドレス
保持手段に保持されている主記憶上のアドレスに該分岐
命令を書戻し、前記分岐命令の分岐条件が不成立ならば
、前記分岐命令保持手段に保持されている該分岐命令の
分岐先アドレス部の下位2ビットのうちの他のビットを
論理“1”にして主記憶上の前記アドレスに該分岐命令
を書戻すことにより、プログラムステップ観測のために
主記憶上にプログラムの各ステップの対応表を用意して
塗りつぶすことなく、分岐命令だけを観測の対象として
いるので実性能の低下が少なく、また少ない専用回路で
実現でき、分岐命令そのものに記録して他の記録領域を
必要としないので主記憶を有効利用することができ、さ
らに分岐命令の分岐トレースを行なうかどうかが設定さ
れる分岐トレースモード設定手段を設けた場合は、分岐
トレースの必要がないときは一層、実性能の低下を減す
ることができるという効果がある。
As explained above, in the present invention, when the branch condition of the branch instruction currently being executed is satisfied, one bit of the lower two bits of the branch destination address field of the branch instruction held in the branch instruction holding means is is set to logic "1" and the branch instruction is written back to the address on the main memory held in the executing instruction address holding means, and if the branch condition of the branch instruction is not satisfied, the branch instruction held in the branch instruction holding means is written back. By setting the other bits of the lower two bits of the branch destination address part of the branch instruction in the main memory to logic "1" and writing the branch instruction back to the address in the main memory, the main memory is stored for program step observation. Instead of preparing a correspondence table for each step of the program and filling it in, only the branch instructions are observed, so there is less deterioration in actual performance, and it can be realized with less dedicated circuitry. Since it does not require a recording area of This has the effect of further reducing deterioration in actual performance.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明のプログラム実行ステップ観測方式(特
許請求の範囲第1項)の一実施例が適用された計算機シ
ステムのブロック図、第2図は第1図および第5図の計
算機システムで使用される分岐命令の形式を示す図、第
3図は第1図の分岐成立記録手段133の処理を示すフ
ローチャート、第4図は第1図の分岐不成立記録手段1
35の処理を示すフローチャート、第5図は本発明のプ
ログラム実行ステップ観測方式(特許請求の範囲第2項
)の一実施例が適用された計算機システムのブロック図
、第6図は第5図の分岐成立記録手段137の処理を示
すフローチャート、第7図は第5図の分岐不成立記録手
段138の処理を示すフローチャートである。 l・・・・・・・・・命令コード部、2・・・・・・・
・・条件部、3・・・・・・・・・分岐先アドレス部、
11、12.13.21.22.23.31.32.3
3.34.41.42.43.44・・・・・・・・・
・・・ステップ、 100・・・・・・・・・・・・論理装置、 ■0・・
・命令解読部、Ill・・・・・・・・・・・・実行中
命令アドレス保持部、112・・・・・・・・・・・・
命令取出し部、+13・・・・・・・・・・・・分岐ト
レースモード設定部、20・・・・・・・・・・・・演
算処理部、21・・・・・・演算部、 22・・・・・・・・・・・・命令アドレス更新部、3
0・・・・・・・・・・・・分岐処理部、31・・・・
・・・・・・・・分岐命令保持部、32・・・・・・・
・・・・・分岐条件判断部、33、137・・・・・・
分岐成立記録手段、34・・・・・・・・・・・・命令
アドレス変更部、35、138・・・・・・分岐不成立
記録手段、36・・・・・・・・・・・・命令アドレス
加算部、200・・・・・・・・・・・・主記憶装置。
FIG. 1 is a block diagram of a computer system to which an embodiment of the program execution step observation method (claim 1) of the present invention is applied, and FIG. 2 is a block diagram of the computer system of FIGS. 1 and 5. 3 is a flow chart showing the processing of the branch taken record means 133 of FIG.
FIG. 5 is a block diagram of a computer system to which an embodiment of the program execution step observation method (claim 2) of the present invention is applied, and FIG. 6 is a flowchart showing the processing of step 35. FIG. 7 is a flowchart showing the processing of the branch taken recorder 137, and FIG. 7 is a flowchart showing the processing of the branch not taken recorder 138 of FIG. l......Instruction code part, 2...
...condition part, 3...branch destination address part,
11, 12.13.21.22.23.31.32.3
3.34.41.42.43.44・・・・・・・・・
...Step, 100......Logical device, ■0...
・Instruction decoding unit, Ill......In-execution instruction address holding unit, 112...
Instruction fetching section, +13......Branch trace mode setting section, 20...... Arithmetic processing section, 21...... Arithmetic section, 22........Instruction address update section, 3
0......Branch processing section, 31...
...Branch instruction holding unit, 32...
...Branch condition judgment unit, 33, 137...
Branch taken record means, 34... Instruction address change unit, 35, 138... Branch not taken record means, 36... Instruction address adder, 200... Main memory.

Claims (1)

【特許請求の範囲】 1、分岐命令における分岐先アドレスが4の倍数に制限
されている計算機システムにおいて、現在実行中の命令
の主記憶上のアドレスを保持する実行中命令アドレス保
持手段と、現在実行中の命令が分岐命令であるならば該
分岐命令を保持する分岐命令保持手段と、 前記分岐命令の分岐条件が成立したならば前記分岐命令
保持手段に保持されている該分岐命令の分岐先アドレス
部の下位2ビットのうちの1ビットを論理“1”にした
後、前記実行中命令アドレス保持手段に保持されている
主記憶上のアドレスに該分岐命令を書戻す分岐成立記録
手段と、前記分岐命令の分岐条件が不成立ならば前記分
岐命令保持手段に保持されている該分岐命令の分岐先ア
ドレス部の下位2ビットのうちの前記分岐成立記録手段
で使用されたビットの他のビットを論理“1”にした後
前記実行中命令アドレス保持手段に保持されている主記
憶上のアドレスに該分岐命令を書戻す分岐成立記録手段
とを有するプログラム実行ステップ観測方式。 2、分岐命令における分岐先アドレスが4の倍数に制限
されている計算機システムにおいて、現在実行中の命令
の主記憶上のアドレスを保持する実行中命令アドレス保
持手段と、現在実行中の命令が分岐命令であるならば該
分岐命令を保持する分岐命令保持手段と、 前記分岐命令の分岐トレースを行なうかどうかが設定さ
れる分岐トレースモード設定手段と、前記分岐命令の分
岐条件が成立し前記分岐トレースモード設定手段が分岐
命令の分岐トレースを示しているならば、前記分岐命令
保持手段に保持されている該分岐命令の分岐先アドレス
部の下位2ビットのうちの1ビットを論理“1”にし、
前記実行中命令アドレス保持手段に保持されている主記
憶上のアドレスに該分岐命令を書戻す分岐成立記録手段
と、 前記分岐命令の分岐条件が不成立となり前記分岐トレー
スモード設定手段が分岐命令の分岐トレースを示してい
るならば、前記分岐命令保持手段に保持されている該分
岐命令の分岐先アドレス部の下位2ビットのうちの前記
分岐成立記録手段に使用されたビットの他のビットを論
理“1”にし、前記実行中命令アドレス保持手段に保持
されている主記憶上のアドレスに該分岐命令を書戻す分
岐不成立記録手段とを有するプログラム実行ステップ観
測方式。
[Claims] 1. In a computer system in which a branch destination address in a branch instruction is limited to a multiple of 4, currently executing instruction address holding means for holding an address in main memory of an instruction currently being executed; A branch instruction holding unit that holds the branch instruction if the instruction being executed is a branch instruction, and a branch destination of the branch instruction held in the branch instruction holding unit if the branch condition of the branch instruction is satisfied. branch establishment recording means that writes back the branch instruction to the address on the main memory held in the executing instruction address holding means after setting one bit of the lower two bits of the address field to logic "1"; If the branch condition of the branch instruction is not satisfied, the other bits of the lower two bits of the branch destination address field of the branch instruction held in the branch instruction holding means are used by the branch establishment recording means. A program execution step observation system comprising: a branch execution recording means for writing back the branch instruction to the address on the main memory held in the executing instruction address holding means after setting the logic to "1". 2. In a computer system in which the branch destination address of a branch instruction is limited to a multiple of 4, an executing instruction address holding means that holds the address in main memory of the currently executing instruction, and a branch destination address of the currently executing instruction is branch instruction holding means for holding the branch instruction if it is an instruction; branch trace mode setting means for setting whether to perform branch tracing of the branch instruction; and branch trace mode setting means for setting whether or not to perform branch tracing of the branch instruction; If the mode setting means indicates a branch trace of the branch instruction, set one bit of the lower two bits of the branch destination address part of the branch instruction held in the branch instruction holding means to logic "1";
branch establishment recording means for writing back the branch instruction to an address on the main memory held in the executing instruction address holding means; and when the branch condition of the branch instruction is not satisfied, the branch trace mode setting means executes the branch execution of the branch instruction. If the trace is indicated, the other bits of the lower two bits of the branch destination address field of the branch instruction held in the branch instruction holding means used by the branch establishment recording means are set to logic "1'' and a branch failure recording means for writing back the branch instruction to the address on the main memory held in the executing instruction address holding means.
JP63225212A 1988-09-07 1988-09-07 Observation system for program executing step Pending JPH0272440A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63225212A JPH0272440A (en) 1988-09-07 1988-09-07 Observation system for program executing step

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63225212A JPH0272440A (en) 1988-09-07 1988-09-07 Observation system for program executing step

Publications (1)

Publication Number Publication Date
JPH0272440A true JPH0272440A (en) 1990-03-12

Family

ID=16825744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63225212A Pending JPH0272440A (en) 1988-09-07 1988-09-07 Observation system for program executing step

Country Status (1)

Country Link
JP (1) JPH0272440A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155570B1 (en) 2000-09-29 2006-12-26 Intel Corporation FIFO write/LIFO read trace buffer with software and hardware loop compression

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155570B1 (en) 2000-09-29 2006-12-26 Intel Corporation FIFO write/LIFO read trace buffer with software and hardware loop compression

Similar Documents

Publication Publication Date Title
KR930008686B1 (en) Data processor
JPS59194245A (en) Microprogram controller
JPH0272440A (en) Observation system for program executing step
JPS60159951A (en) Tracing system in information processing device
JPH03113646A (en) Trace circuit
JP3428253B2 (en) Sequencer
JP3523407B2 (en) Information processing equipment
JPH05265799A (en) Data processor
JP2910548B2 (en) Data check device
JP3403424B2 (en) Data file system
JPS6286442A (en) Data processor
JPH05289908A (en) Program tracer
JPH04167146A (en) Address tracing system for information processor
JPH04147339A (en) Information processor
JPS61153737A (en) Data processor
JPH0795288B2 (en) Microcomputer
JPS63237143A (en) Programmable controller
JPS6212532B2 (en)
JPS5829057A (en) Trace device for register
JPS6244663B2 (en)
JPH07191879A (en) Microprocessor provided with executing function of instruction for debugging and debugging method
JP2002278793A (en) Simulating device and method
JPH0195337A (en) System for controlling retry
JPS61112237A (en) Data processor
JPH06103172A (en) Memory test method