JPH0831054B2 - History information storage method - Google Patents
History information storage methodInfo
- Publication number
- JPH0831054B2 JPH0831054B2 JP63256844A JP25684488A JPH0831054B2 JP H0831054 B2 JPH0831054 B2 JP H0831054B2 JP 63256844 A JP63256844 A JP 63256844A JP 25684488 A JP25684488 A JP 25684488A JP H0831054 B2 JPH0831054 B2 JP H0831054B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- tracer
- timing
- history information
- address
- 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
Links
- 238000000034 method Methods 0.000 title claims description 6
- 239000000700 radioactive tracer Substances 0.000 claims description 41
- 238000010586 diagram Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は履歴情報の格納方式に係り、特に制御記憶に
格納されたマイクロプログラムで制御されるデータ処理
システムで、実行したマイクロ命令のアドレスおよび制
御情報を履歴情報として格納するトレーサにおける履歴
情報格納方式に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of storing history information, and more particularly to a data processing system controlled by a micro program stored in a control memory, and an address of a micro instruction executed and The present invention relates to a history information storage method in a tracer that stores control information as history information.
マイクロプログラムで制御されるデータ処理システム
においては、RAS(Reliability Availability Servicea
eility)の一環としてマイクロ命令アドレスなどの時系
列データをトレーサメモリ中に格納しておき、障害発生
時やデバグ作業においてトレーサメモリに格納された履
歴情報を読み出し、その内容を解析し、問題の発生原因
の究明や処理対策を行うようにしている。In data processing systems controlled by microprograms, RAS (Reliability Availability Servicea
time series data such as microinstruction addresses is stored in the tracer memory as part of the eility), and history information stored in the tracer memory is read when a failure occurs or debugging work is performed, and the contents are analyzed to generate a problem. The cause is investigated and measures are taken.
そして、従来のマイクロ命令シーケンストレースは第
5図に示すように、実行したマイクロ命令アドレスをす
べて一率にトレースする構成となつていた。As shown in FIG. 5, the conventional microinstruction sequence trace has a structure in which all executed microinstruction addresses are traced at a uniform rate.
従来のマイクロ命令シーケンストレースの一例を示す
第5図において、1はマイクロプログラムを格納してい
る制御記憶(メモリ)、2はこの制御記憶(メモリ)1
をアクセスするためのマイクロ命令アドレスを保持する
レジスタである。3はアクセスされたマイクロ命令を受
けるレジスタであり、いくつかのフイールドに分かれて
いる。そして、各フイールドの出力が直接個々の回路
(図示せず)を制御し、マイクロ命令を実行することに
なる。フイールド31はマイクロ命令の順序制御を行うコ
マンドのフイールドであり、信号線103を介して分岐判
定回路4に入力される。ここで、上記コマンドは大きく
分けると、無条件分岐コマンドと条件分岐コマンドの2
つに分かれるが、無条件分岐コマンドであると分岐判定
回路4の出力はレジスタ2に保持されているアドレスそ
のものとなり、条件分岐コマンドであると分岐判定回路
4の出力はレジスタ2に保持されているアドレスを分岐
判定条件104で修飾したアドレスとなる。そして、レジ
スタ5は分岐判定回路4の出力を受けるレジスタであ
り、常に実際に実行するマイクロ命令のアドレスを保持
する。In FIG. 5 showing an example of a conventional microinstruction sequence trace, 1 is a control memory (memory) for storing a microprogram, 2 is this control memory (memory) 1
Is a register that holds a microinstruction address for accessing. Reference numeral 3 is a register for receiving the accessed micro-instruction, which is divided into several fields. Then, the output of each field directly controls an individual circuit (not shown) to execute the micro instruction. The field 31 is a field of a command for controlling the order of microinstructions, and is input to the branch determination circuit 4 via the signal line 103. Here, the above command is roughly divided into an unconditional branch command and a conditional branch command.
If it is an unconditional branch command, the output of the branch judgment circuit 4 becomes the address itself held in the register 2, and if it is a conditional branch command, the output of the branch judgment circuit 4 is held in the register 2. The address is modified by the branch determination condition 104. The register 5 is a register that receives the output of the branch determination circuit 4, and always holds the address of the microinstruction to be actually executed.
レジスタ2には命令開始時または割込み処理開始時で
はその開始アドレスが信号線101を介してセツトされ、
その後は開始アドレスでアクセスしたマイクロ命令語の
中のネクストアドレスが信号線102を介してセットさ
れ、順次マイクロプログラムを実行していく。The register 2 has its start address set via the signal line 101 at the start of an instruction or an interrupt process.
After that, the next address in the microinstruction word accessed at the start address is set via the signal line 102, and the microprogram is sequentially executed.
レジスタ6はトレーサへの書込みデータを保持するレ
ジスタであり、レジスタ5の保持しているデータ(マイ
クロ命令アドレス)がセツトされる。レジスタ7はトレ
ーサメモリ8のアドレスを保持するアドレスレジスタ
で、トレーサへデータが格納される毎に+1加算され
る。The register 6 is a register for holding the write data to the tracer, and the data (microinstruction address) held by the register 5 is set. The register 7 is an address register that holds the address of the tracer memory 8, and +1 is added every time data is stored in the tracer.
以上説明した構成により実行したマイクロ命令のアド
レスがすべて一率にトレーサメモリ8にサイクリツクに
履歴情報として格納される。All the addresses of the micro-instructions executed by the above-described structure are all cyclically stored in the tracer memory 8 as history information.
上述した従来のマイクロ命令シーケンストレースで
は、本来、履歴情報としてはマイクロ命令のシーケンス
が分岐するときの分岐方向だけ残せばその履歴情報から
実際のシーケンスを追うことが可能であるにもかかわら
ず、実行したマイクロ命令アドレスを全て一率に履歴情
報としてトレーサメモリに格納していた。このため、ト
レーサメモリは大容量のメモリを必要とするのみなら
ず、特にループを構成するマイクロプログラムにおいて
は、その履歴内容に冗長の部分が多くなり、メモリ資源
が有利に利用されないという課題があつた。In the conventional microinstruction sequence trace described above, it is originally possible to trace the actual sequence from the history information by leaving only the branch direction when the microinstruction sequence branches as history information. All the micro-instruction addresses were stored in the tracer memory as history information. For this reason, the tracer memory not only requires a large capacity memory, but especially in a microprogram forming a loop, there are many redundant parts in the history contents, and there is a problem that the memory resource is not used to advantage. It was
本発明の履歴情報格納方式は、制御記憶に格納された
マイクロプログラムで制御されるデータ処理システム
で、実行したマイクロ命令のアドレスおよび制御情報を
履歴情報として格納するトレーサにおいて、マイクロ命
令が条件分岐したときその分岐方向が前回条件分岐した
ときの分岐方向と一致しているかをチェックし、一致し
ていればマイクロプログラムのループ処理の出現とみな
してその連続一致回数を計数し、この計数結果を履歴情
報と格納する格納手段を備え、この計数結果が2以上と
なるときは、計数結果のみを履歴情報として格納するよ
うにしたものである。The history information storage method of the present invention is a data processing system controlled by a microprogram stored in a control memory, and a microinstruction branches conditionally in a tracer that stores the address and control information of an executed microinstruction as history information. At that time, it is checked whether the branch direction matches the branch direction at the time of the previous conditional branch, and if they match, it is regarded as the appearance of the loop processing of the microprogram and the number of consecutive matches is counted. A storage means for storing information is provided, and when the count result is two or more, only the count result is stored as history information.
本発明においては、不必要な履歴情報が格納されな
く、また、ループのような繰り返しシーケンスのトレー
スにおいてはその繰り返しの回数を履歴情報とする。In the present invention, unnecessary history information is not stored, and in the trace of a repeating sequence such as a loop, the number of times of repetition is used as history information.
以下、図面に基づき本発明の実施例を詳細に説明す
る。Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
第1図は本発明による履歴情報格納方式の一実施例を
示すブロック図である。FIG. 1 is a block diagram showing an embodiment of a history information storage system according to the present invention.
この第1図において第5図と同一符号のものは相当部
分を示し、9はレジスタ3のフイールド31を次のタイミ
ングでセットするレジスタであり、マイクロ命令順序制
御コマンドを保持する。10はレジスタ9の保持している
データが条件分岐コマンドであることを検出するデコー
ダであり、その結果がレジスタ11にセツトされる。そし
て、デコーダ10の出力105はレジスタ(トレーサ書込み
データレジスタ)6とレジスタ(トレーサアドレスレジ
スタ)7およびカウンタ12ならびにレジスタ13のセツト
信号でもある。レジスタ11はトレーサ書込み許可を示す
イネーブル信号を出力する。In FIG. 1, the same reference numerals as those in FIG. 5 indicate corresponding parts, and 9 is a register for setting the field 31 of the register 3 at the next timing, which holds a micro instruction sequence control command. A decoder 10 detects that the data held in the register 9 is a conditional branch command, and the result is set in the register 11. The output 105 of the decoder 10 is also a set signal of the register (tracer write data register) 6, the register (tracer address register) 7, the counter 12 and the register 13. The register 11 outputs an enable signal indicating the tracer write permission.
そして、レジスタ(トレーサ書込みデータレジスタ)
6には、レジスタ9が条件分岐コマンドを保持したとき
だけ、レジスタ5の保持しているマイクロ命令アドレス
がセツトされる。つまり、マイクロ命令シーケンスが条
件分岐したときのその分岐方向アドレスを保持する。比
較回路14はレジスタ5とレジスタ6の値を比較し、その
比較結果はデコーダ10の出力105(セツト信号)により
レジスタ13にセツトされる。このレジスタ(分岐方向一
致フラグレジスタ)13はマイクロ命令シーケンスが条件
分岐したときの分岐方向が、前回の条件分岐時の分岐方
向と同じであるかどうかを示す。そして、レジスタ(分
岐方向一致フラグレジスタ)13の出力はセレクタ15の選
択信号108となり、このセレクタ15は分岐方向一致フラ
グが不一致であればレジスタ(トレーサ書込みデータレ
ジスタ)6の出力を選択し、一致であればカウンタ12の
出力を選択する。このカウンタ12はデコーダ10の出力10
5(セツト信号)により+1ずつ加算するカウンタであ
る。そして、デコーダ10の出力105(セツト信号)がON
でも比較回路14の比較結果が不一致であると常に初期値
「001」にリセットされる。And register (tracer write data register)
The microinstruction address held by the register 5 is set in the register 6 only when the register 9 holds the conditional branch command. That is, the branch direction address when the microinstruction sequence branches conditionally is held. The comparison circuit 14 compares the values of the registers 5 and 6, and the comparison result is set in the register 13 by the output 105 (set signal) of the decoder 10. This register (branch direction matching flag register) 13 indicates whether or not the branch direction when the micro instruction sequence branches conditionally is the same as the branch direction at the previous conditional branch. Then, the output of the register (branch direction match flag register) 13 becomes the selection signal 108 of the selector 15, and the selector 15 selects the output of the register (tracer write data register) 6 if the branch direction match flags do not match, and matches. If so, the output of the counter 12 is selected. This counter 12 is the output 10 of the decoder 10.
It is a counter that increments +1 by 5 (set signal). And the output 105 (set signal) of the decoder 10 is turned on.
However, if the comparison result of the comparison circuit 14 does not match, it is always reset to the initial value “001”.
このカウンタ12のカウント値はマイクロ命令シーケン
スが同一方向に連続して条件分岐した回数を表わす。The count value of the counter 12 represents the number of times the microinstruction sequence successively branches in the same direction.
デコーダ16はカウンタ12のカウント値が初期値「00
1」であることを検出し、その出力はレジスタ7のセツ
ト条件の1つとなる。そのレジスタ7はトレーサのアド
レスを保持するアドレスレジスタであり、デコーダ16の
出力107と比較回路14の出力106の反転値110がオアゲー
ト17でORされた出力109とデコーダ10の出力105(セット
信号)とがアンドゲート18でANDされた結果により+1
加算される。すなわち、マイクロ命令シーケンスが条件
分岐であり、かつカウンタ12のカウント値が初期値「00
1」であるか、または比較回路14の比較結果が不一致で
あるとき+1加算される。また、その加算結果のオーバ
ーフローは無視されサイクリツクなアドレスとなる。19
は比較回路14の出力106を入力とするナンドゲートであ
る。In the decoder 16, the count value of the counter 12 is the initial value "00.
"1" is detected, and its output becomes one of the set conditions of the register 7. The register 7 is an address register that holds the address of the tracer. The output 107 of the decoder 16 and the inverted value 110 of the output 106 of the comparison circuit 14 are ORed with the OR gate 17 and the output 105 of the decoder 10 (set signal). +1 due to the result of ANDing AND with AND gate 18.
Is added. That is, the microinstruction sequence is a conditional branch, and the count value of the counter 12 is the initial value "00".
When it is "1" or the comparison result of the comparison circuit 14 does not match, +1 is added. Further, the overflow of the addition result is ignored and the address becomes cyclic. 19
Is a NAND gate having the output 106 of the comparison circuit 14 as an input.
そして、レジスタ5,6,7とトレーサメモリ8およびレ
ジスタ9ならびにデコーダ10,レジスタ11,セレクタ15は
マイクロ命令が条件分岐したときその分岐方向を履歴情
報として格納する手段を構成し、また、レジスタ5,6,7
とトレーサメモリ8およびカウンタ12ならびにレジスタ
13,比較回路14,セレクタ15はマイクロ命令が条件分岐し
たときその分岐方向が前回条件分岐したときの分岐方向
と一致しているかをチエツクし一致していればその連続
一致回数を計数し履歴情報として格納する手段を構成し
ている。The registers 5, 6, and 7, the tracer memory 8 and the register 9, the decoder 10, the register 11, and the selector 15 constitute means for storing the branch direction as history information when the microinstruction branches conditionally. , 6,7
And tracer memory 8 and counter 12 and register
13, the comparison circuit 14 and the selector 15 check if the branch direction of the microinstruction branches in the same way as the branch direction of the previous conditional branch, and if they match, count the number of consecutive matches and record the history information. It constitutes a means to store as.
つぎに、動作フローについて第2図に示すマイクロプ
ログラムを例に説明する。Next, the operation flow will be described by taking the microprogram shown in FIG. 2 as an example.
この第2図において、アルファベットA,B,C・・・は
マイクロ命令アドレスを示し、マイクロ命令Aと呼ぶと
きは、アドレスAのマイクロ命令のことである。この例
では、BからEへ条件分岐し、EからGへ条件分岐し、
Kから3回Jへ条件分岐し、最後にKからLへ条件分岐
する。すなわち、トレーサメモリの格納結果を示す第3
図の(a)で示される順序でマイクロプログラムが実行
されるものとする。なお、この第3図において、(a)
は従来のトレーサメモリの格納結果を示したものであ
り、(b)は本発明のトレーサメモリの格納結果を示し
たものである。In FIG. 2, alphabets A, B, C, ... Show microinstruction addresses, and when called as microinstruction A, it means the microinstruction at address A. In this example, conditional branch from B to E, conditional branch from E to G,
A conditional branch is made from K to J three times, and finally a conditional branch is made from K to L. That is, the third indicating the storage result of the tracer memory
It is assumed that the microprograms are executed in the order shown in FIG. In addition, in FIG. 3, (a)
Shows the storage result of the conventional tracer memory, and (b) shows the storage result of the tracer memory of the present invention.
第4図は本発明における動作のタイムチヤートで、第
2図のマイクロプログラムを実行したときの各レジスタ
のタイムチヤートを示す。FIG. 4 is a time chart of the operation in the present invention, and shows the time chart of each register when the microprogram of FIG. 2 is executed.
この第4図において、(a)はレジスタ9(:マイク
ロ命令順序制御コマンド)を示したものであり、(b)
はレジスタ5(:マイクロ命令実行アドレス)、(c)
はレジスタ6(:トレーサ書込みデータ)、(d)はレ
ジスタ11(:トレーサライトイネーブル)、(e)はレ
ジスタ13(:分岐方向一致フラグ)、(f)はカウンタ
12、(g)はレジスタ7(:トレーサアドレス)、
(h)はトレーサメモリ8を示したものである。In FIG. 4, (a) shows the register 9 (: microinstruction order control command), and (b).
Is register 5 (: microinstruction execution address), (c)
Is register 6 (: tracer write data), (d) is register 11 (: tracer write enable), (e) is register 13 (: branch direction match flag), (f) is counter.
12, (g) is register 7 (: tracer address),
(H) shows the tracer memory 8.
そして、第4図の(a)に示すレジスタ9において
「BR」はマイクロ命令順序制御コマンドが条件分岐コマ
ンドであることを示し、それ以外は無条件分岐コマンド
であることを示す。そして、トレーサ書込み許可を示す
レジスタ11はデコーダ10によりレジスタ9が条件分岐コ
マンドを保持した次のタイミングでONとなるから第4図
に示すT4,T5,T9,T11,T13,T15のタイミングでONと
なり、また、デコーダ10の出力105(セツト信号)も同
じタイミングでONとなる。このデコーダ10の出力105
(セツト信号)によりレジスタ(トレーサ書込みデータ
レジスタ)6には第4図(c)に示すように、T4のタイ
ミングでアドレスEが、T5のタイミングでGが、T9のタ
イミングでJが、T11のタイミイグでJが、T13のタイミ
ングでJが、T15のタイミングでLがそれぞれセツトさ
れ、他のタイミングでは値がホールドされる。In the register 9 shown in FIG. 4 (a), "BR" indicates that the microinstruction order control command is a conditional branch command, and the rest is an unconditional branch command. Then, the register 11 indicating the tracer write permission is turned ON at the next timing when the register 9 holds the conditional branch command by the decoder 10, so that T 4 , T 5 , T 9 , T 11 , T 13 shown in FIG. It turns on at the timing of T 15 , and the output 105 (set signal) of the decoder 10 also turns on at the same timing. Output 105 of this decoder 10
By the (set signal), the register (tracer write data register) 6 has an address E at the timing of T 4 , a G at the timing of T 5 , and a J at the timing of T 9 , as shown in FIG. 4 (c). , At the timing of T 11 , J is set at the timing of T 13 , J is set at the timing of T 15 , and L is set at the timing of T 15 , and the values are held at other timings.
また、第4図の(e)に示すレジスタ(分岐方向一致
フラグレジスタ)13は、第4図の(b)に示すレジスタ
5と第4図の(c)に示すレジスタ6がT10とT12のタイ
ミングで一致するからデコーダ10の出力105(セツト信
号)によりタイミングT4,T5,T9,T15で値「0」がセ
ツトされ、タイミングT11,T13で値「1」がセツトされ
る。そして、他のタイミングでは値がホールドされるか
らレジスタ13の値が「1」となるのはT11〜T14のタイミ
ングとなる。The register (branch direction matching flag register) 13 shown in (e) of FIG. 4 has T 10 and T when the register 5 shown in (b) of FIG. 4 and the register 6 shown in (c) of FIG. Since they match at the timing of 12 , the output 105 (set signal) of the decoder 10 sets the value “0” at the timings T 4 , T 5 , T 9 , and T 15 , and the value “1” at the timings T 11 and T 13. Is set. And, since the value in the other timing is held the value of the register 13 is "1" is the timing of T 11 through T 14.
また、カウンタ12は、デコーダ10の出力105(セット
信号)と比較回路14の出力とにより第4図(f)に示す
ように、タイミングT11で001→002にカウントアツプさ
れ、タイミングT13で002→003にカウントアツプされ
る。そして、タイミングT4とタイミングT5とタイミング
T9とタイミングT15では初期値001にリセットされ、他の
タイミングでは値がホールドされる。Further, the counter 12 counts up from 001 to 002 at timing T 11 as shown in FIG. 4 (f) by the output 105 (set signal) of the decoder 10 and the output of the comparison circuit 14, and at timing T 13 . Count up from 002 to 003. And timing T 4 and timing T 5 and timing
The initial value 001 is reset at T 9 and timing T 15 , and the value is held at other timings.
また、レジスタ(トレーサアドレスレジスタ)7は、
セツト条件が満足される第4図に示すタイミングT4,
T5,T9,T11,T13で+1加算される。そして、タイミン
グT13ではデコーダ10の出力105(セツト信号)はONであ
るが、このタイミングT13で比較回路14の結果が不一致
でなくかつタイミングT12でのカウンタ12のカウント値
が初期値「001」でないのでレジスタ(トレーサアドレ
スレジスタ)7のセツト条件は満たされず値がホールド
(Hold)される。また、他のタイミングでも値はホール
ドされる。In addition, the register (tracer address register) 7 is
Timing T 4 shown in FIG. 4 at which the set condition is satisfied,
+1 is added at T 5 , T 9 , T 11 , and T 13 . Then, at timing T 13 , the output 105 (set signal) of the decoder 10 is ON, but at this timing T 13 , the result of the comparison circuit 14 does not match, and the count value of the counter 12 at timing T 12 is the initial value “ Since it is not "001", the set condition of the register (tracer address register) 7 is not satisfied and the value is held. Also, the value is held at other timings.
そして、トレーサメモリ8への書込み動作は、レジス
タ11の出力であるイネーブル信号によるので、レジスタ
11の値により第4図に示すタイミングT5,T6,T10,
T12,T14,T16で書込みが行なわれる。T5のタイミング
では、T4のタイミングでのレジスタ(分岐方向一致フラ
グレジスタ)13の値が「0」であるからセレクタ15がレ
ジスタ(トレーサ書込みレジスタ)6を選択するので、
トレーサメモリ8にはT4のタイミングでのレジスタ6の
値であるマイクロ命令アドレスEが格納される。同様に
タイミングT6ではマイクロ命令アドレスGがトレーサメ
モリ8の次の番地に格納され、タイミング10ではマイク
ロ命令アドレスJが更に次の番地に格納される。そし
て、タイミングT12ではタイミングT11でレジスタ(分岐
方向一致フラグレジスタ)13の値が「1」となるので、
セレクタ15はカウンタ12を選択し、タイミングT11での
カウンタ12の値「002」が次の番地に格納される。Since the write operation to the tracer memory 8 depends on the enable signal output from the register 11,
Depending on the value of 11, the timing T 5 , T 6 , T 10 , shown in FIG.
Writing is performed at T 12 , T 14 , and T 16 . At the timing of T 5 , since the value of the register (branch direction match flag register) 13 at the timing of T 4 is “0”, the selector 15 selects the register (tracer write register) 6,
The tracer memory 8 stores the micro instruction address E which is the value of the register 6 at the timing of T 4 . Similarly, at the timing T 6 , the micro instruction address G is stored in the next address of the tracer memory 8, and at the timing 10 , the micro instruction address J is further stored in the next address. Then, at timing T 12 , the value of the register (branch direction match flag register) 13 becomes “1” at timing T 11 , so
The selector 15 selects the counter 12, and the value “002” of the counter 12 at the timing T 11 is stored in the next address.
タイミングT14では同様にしてカウン値「003」が格納
されるが、タイミングT13においてレジスタ(トレーサ
アドレスレジスタ)7はホールドされるので、カウンタ
値「003」はタイミングT12で格納した番地に上書きされ
る。At timing T 14 , the count value “003” is stored in the same manner, but since the register (tracer address register) 7 is held at timing T 13 , the counter value “003” is overwritten on the address stored at timing T 12. To be done.
タイミングT16では、タイミングT15でレジスタ(分岐
方向一致フラグレジスタ)13の値が「0」となるので、
セレクタ15はレジスタ(トレーサ書込みデータレジス
タ)6を選択し、タイミングT15での値のマイクロ命令
アドレスLが次の番地に格納される。At timing T 16 , the value of the register (branch direction match flag register) 13 becomes “0” at timing T 15 , so
The selector 15 selects the register (tracer write data register) 6, and the micro instruction address L of the value at the timing T 15 is stored in the next address.
以上の結果、トレーサメモリ8の格納データは第3図
の(b)で示されるとおりとなり、第3図(a)の従来
方式での結果を比べてかなり少なくなる。As a result, the data stored in the tracer memory 8 becomes as shown in FIG. 3 (b), which is considerably smaller than the result of the conventional method shown in FIG. 3 (a).
以上説明したように本発明によれば、不必要な履歴情
報が格納されないのでトレーサメモリの容量を低減でき
る効果がある。また、ループのような繰り返しシーケン
スのトレースにおいては、その繰り返しの回数を履歴情
報とすることにより、冗長の部分を削除でき、トレーサ
メモリを有効に活用できる効果がある。As described above, according to the present invention, unnecessary history information is not stored, so that it is possible to reduce the capacity of the tracer memory. Further, in tracing a repeating sequence such as a loop, by setting the number of times of repeating as history information, there is an effect that a redundant portion can be deleted and the tracer memory can be effectively used.
第1図は本発明による履歴情報格納方式の一実施例を
示すブロツク図、第2図および第3図は第1図の動作説
明に供する本発明の説明に用いたマイクロプログラムお
よびトレーサメモリの格納結果を示す動作説明図、第4
図は本発明における動作のタイムチヤート、第5図は従
来のマイクロ命令シーケンストレースの一例を示すブロ
ツク図である。 1……制御記憶、2,3……レジスタ、4……分岐判定回
路、5,6,7……レジスタ、8……トレーサメモリ、9…
…レジスタ、10……デコーダ、11……レジスタ、12……
カウンタ、13……レジスタ、14……比較回路、15……セ
レクタ、16……デコーダ、17……オアゲート、18,19…
…アンドゲート。FIG. 1 is a block diagram showing an embodiment of a history information storage system according to the present invention, and FIGS. 2 and 3 are used for explanation of the operation of FIG. 1 and storage of microprogram and tracer memory used for explanation of the present invention. Operation explanatory diagram showing results, No. 4
FIG. 5 is a time chart of the operation in the present invention, and FIG. 5 is a block diagram showing an example of a conventional microinstruction sequence trace. 1 ... control memory, 2,3 ... register, 4 ... branch judgment circuit, 5,6,7 ... register, 8 ... tracer memory, 9 ...
… Register, 10 …… Decoder, 11 …… Register, 12 ……
Counter, 13 ... Register, 14 ... Comparison circuit, 15 ... Selector, 16 ... Decoder, 17 ... OR gate, 18,19 ...
… And gate.
Claims (1)
で制御されるデータ処理システムで、実行したマイクロ
命令のアドレスおよび制御情報を履歴情報として格納す
るトレーサにおいて、 前記マイクロ命令が条件分岐したときその分岐方向が前
回条件分岐したときの分岐方向と一致しているかをチェ
ックし、一致していればマイクロプログラムのループ処
理の出現とみなしてその連続一致回数を計数し、この計
数結果を履歴情報として格納する格納手段を備え、 前記計数結果が2以上となるときは、前記計数結果のみ
を履歴情報として格納するようにしたことを特徴とする
履歴情報格納方式。1. A data processing system controlled by a microprogram stored in a control memory, wherein a tracer stores the address and control information of an executed microinstruction as history information, the branch being performed when the microinstruction branches conditionally. It is checked whether the direction matches the branch direction at the time of the previous conditional branch. If they match, it is regarded as the appearance of the loop processing of the microprogram, the number of consecutive matches is counted, and the count result is stored as history information. The history information storage method is characterized in that when the count result is 2 or more, only the count result is stored as history information.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63256844A JPH0831054B2 (en) | 1988-10-12 | 1988-10-12 | History information storage method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63256844A JPH0831054B2 (en) | 1988-10-12 | 1988-10-12 | History information storage method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02103642A JPH02103642A (en) | 1990-04-16 |
| JPH0831054B2 true JPH0831054B2 (en) | 1996-03-27 |
Family
ID=17298200
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63256844A Expired - Lifetime JPH0831054B2 (en) | 1988-10-12 | 1988-10-12 | History information storage method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0831054B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2727996B2 (en) * | 1995-01-10 | 1998-03-18 | 日本電気株式会社 | Program execution monitoring method and program execution monitoring system |
| CN116166561A (en) * | 2023-03-02 | 2023-05-26 | 成都海光集成电路设计有限公司 | Program dynamic information extraction method and program compiling method |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61290544A (en) * | 1985-06-19 | 1986-12-20 | Hitachi Ltd | Program trace device |
-
1988
- 1988-10-12 JP JP63256844A patent/JPH0831054B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02103642A (en) | 1990-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4430706A (en) | Branch prediction apparatus and method for a data processing system | |
| US3518413A (en) | Apparatus for checking the sequencing of a data processing system | |
| US4794522A (en) | Method for detecting modified object code in an emulator | |
| GB1274830A (en) | Data processing system | |
| US3659272A (en) | Digital computer with a program-trace facility | |
| JPH0248931B2 (en) | ||
| US4370729A (en) | Microprogram sequencer | |
| US3411147A (en) | Apparatus for executing halt instructions in a multi-program processor | |
| JPS59194245A (en) | Microprogram controller | |
| US4047245A (en) | Indirect memory addressing | |
| US3618042A (en) | Error detection and instruction reexecution device in a data-processing apparatus | |
| JPH0831054B2 (en) | History information storage method | |
| US4562534A (en) | Data processing system having a control device for controlling an intermediate memory during a bulk data transport between a source device and a destination device | |
| JPH064345A (en) | History information storage system | |
| JP2758624B2 (en) | Speed control method of micro program | |
| JPH02148339A (en) | Tracer control circuit | |
| JPH01125633A (en) | System for debugging multi-processing system | |
| JP2581214B2 (en) | Logic simulator | |
| JPS5939777B2 (en) | control storage | |
| JPS626341A (en) | Information processor | |
| JPH02143337A (en) | Microprogram controller for data processor | |
| JPH038029A (en) | Microprogram controller | |
| JPH0243626A (en) | Apparatus for controlling execution speed of computer processor | |
| JPS62111336A (en) | Debugging system | |
| JPS5936853A (en) | Operation processor |