JP2727947B2 - Address trace method - Google Patents
Address trace methodInfo
- Publication number
- JP2727947B2 JP2727947B2 JP5336198A JP33619893A JP2727947B2 JP 2727947 B2 JP2727947 B2 JP 2727947B2 JP 5336198 A JP5336198 A JP 5336198A JP 33619893 A JP33619893 A JP 33619893A JP 2727947 B2 JP2727947 B2 JP 2727947B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- trace
- instruction
- branch
- storage unit
- 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 - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は情報処理装置の実行アド
レス履歴を採取するためのアドレストレース装置に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an address tracing device for collecting an execution address history of an information processing device.
【0002】[0002]
【従来の技術】第1の従来のアドレストレース装置は、
実行する命令のアドレスをすべてトレース情報として記
憶するものであった。そのため逐次的に実行している命
令のアドレスもトレース情報に含まれるので大量の記憶
回路を必要とするという問題があった。2. Description of the Related Art A first conventional address trace device comprises:
All addresses of instructions to be executed are stored as trace information. Therefore, there is a problem that a large amount of storage circuits are required because the addresses of sequentially executed instructions are also included in the trace information.
【0003】これを改良する技術として、マイクロプロ
グラム制御に関しては以下に述べる第2、第3の装置が
あった。As a technique for improving this, there are second and third devices described below with respect to microprogram control.
【0004】第2の従来のアドレストレース装置は、実
行するすべての命令について分岐命令か否かを保持して
おくことにより、実行過程を再現するものである。例え
ば、特開昭59−194245号公報には、実行するす
べての命令に対して、分岐命令か否かを示すビットと、
トレース停止位置を示すビットの2ビットをトレース情
報として記憶し、トレース停止ビットとそのアドレスか
ら分岐命令か否かを示すビットを参照しながら逆方向に
プログラムをたどることにより実行過程を知る装置が記
載されている。1命令につき2ビットのみの記憶回路し
か必要としないので第1の従来の方式より少量の記憶回
路で済む。しかし、この方式では原理的に同一アドレス
への複数の分岐命令がある場合は、分岐元の位置が判別
できないという問題点がある。マイクロプログラムでは
複数の分岐命令が同一分岐先アドレスをもたないよう制
限をできるかも知れないが、通常のコンピュータプログ
ラムにおいてこの制限を行うことは、例えば別々の場所
からのサブルーチン呼出しができないという問題があ
る。The second conventional address tracing device reproduces an execution process by keeping all instructions to be executed whether they are branch instructions or not. For example, JP-A-59-194245 discloses that for every instruction to be executed, a bit indicating whether or not the instruction is a branch instruction is provided.
A device that stores two bits of a bit indicating a trace stop position as trace information and knows an execution process by following a program in the reverse direction while referring to a bit indicating a branch instruction or not from the trace stop bit and its address is described. Have been. Since only a 2-bit storage circuit is required for one instruction, a smaller amount of storage circuits is required than in the first conventional method. However, this method has a problem in that when there are a plurality of branch instructions to the same address, the position of the branch source cannot be determined in principle. In a microprogram, it may be possible to restrict multiple branch instructions from having the same branch destination address.However, in a normal computer program, this restriction has the problem that subroutines cannot be called from different places. is there.
【0005】第3の従来のアドレストレース装置は、命
令の実行が原則として逐次的な順序で進行することを利
用して、分岐が発生したときのみ分岐アドレスと分岐先
アドレスとを対にして記憶するものである。例えば、特
開昭60−189537号公報には、実行している命令
のアドレスを格納するアドレス格納手段と、その出力を
指示されたように変換するアドレス変換手段と、アドレ
ス格納手段の出力と一つ前のアドレスの変換後アドレス
とを比較しその結果を出力するアドレス比較手段と、ア
ドレス比較手段の結果に従いアドレス変換手段の変換前
アドレスとアドレス格納手段のアドレスとを記憶するア
ドレス記憶手段とを備えて実現した装置が記載されてい
る。アドレス変換手段に変換前アドレスに1を加算する
指示を与え、アドレス比較手段に不一致の時にアドレス
記憶を行う指示を与えれば、アドレス記憶手段に分岐が
起った場合に限り分岐元アドレスと分岐先アドレスの2
つのアドレスを組にして記憶させることができ、冗長な
トレース情報は記憶させず少量の記憶手段でアドレスト
レースを行うことができる。A third conventional address tracing device stores a pair of a branch address and a branch destination address only when a branch occurs, utilizing the fact that the execution of instructions proceeds in a sequential order in principle. Is what you do. For example, Japanese Unexamined Patent Application Publication No. 60-189538 discloses an address storage means for storing the address of an instruction being executed, an address conversion means for converting its output as instructed, and an output from the address storage means. Address comparison means for comparing the post-translation address of the previous address with the converted address and outputting the result; and address storage means for storing the pre-conversion address of the address conversion means and the address of the address storage means according to the result of the address comparison means. A device implemented with is described. If an instruction to add 1 to the pre-translation address is given to the address translating means and an instruction to store the address is given to the address comparing means, the branch source address and the branch destination address are obtained only when a branch occurs in the address storage means. Address 2
One address can be stored as a set, and address trace can be performed with a small amount of storage means without storing redundant trace information.
【0006】[0006]
【発明が解決しようとする課題】第1の従来のアドレス
トレース方式では、逐次的に実行している命令のアドレ
スもトレース情報に含まれるので冗長なトレース情報の
ために大量の記憶回路を必要とするという問題点があっ
た。In the first conventional address tracing method, since the addresses of sequentially executed instructions are also included in the trace information, a large amount of storage circuits are required for redundant trace information. There was a problem of doing.
【0007】第2の従来のアドレストレース方式では、
同一アドレスの複数の分岐命令がある場合は分岐元の位
置が判別できないという問題点があった。In the second conventional address trace method,
When there are a plurality of branch instructions having the same address, there is a problem that the position of the branch source cannot be determined.
【0008】第3の従来のアドレストレース方式では、
1回の分岐について分岐元アドレスと分岐先アドレスの
2つのアドレスを格納するための記憶回路が必要であっ
た。また、アドレス記憶手段の容量を大きくするため
に、アドレス記憶手段のみを別のブロック、例えばボー
ドやチップ、に配置しようとすると、接続に必要な信号
線はアドレスビット数の2倍に増加してしまうという問
題点があった。In the third conventional address trace method,
A storage circuit for storing two addresses of a branch source address and a branch destination address for one branch is required. Further, if it is attempted to arrange only the address storage means in another block, for example, a board or a chip in order to increase the capacity of the address storage means, the number of signal lines required for connection increases to twice the number of address bits. There was a problem that it would.
【0009】[0009]
【課題を解決するための手段】上述した問題点を解決す
るため、本願発明のアドレストレース方式では、プログ
ラムを実行するための実行制御手段と、この実行制御手
段が実行しているプログラムの履歴を採るか否かを示す
トレースモードを保持するためのトレースモード保持手
段と、前記実行制御手段が分岐命令を実行しているか否
かを検出するための分岐検出手段と、前記トレースモー
ド保持手段および前記分岐検出手段からの指示に従いト
レース動作を指示するためのトレース指令手段と、この
トレース指令手段の制御に従い分岐命令の次に実行する
命令のアドレスを出力するアドレス出力手段と、このア
ドレス出力手段からのアドレスをトレースアドレスとし
て格納するトレース記憶手段とを有している。In order to solve the above-mentioned problems, in the address trace method according to the present invention, execution control means for executing a program and history of the program executed by the execution control means are stored. Trace mode holding means for holding a trace mode indicating whether or not to be taken; branch detection means for detecting whether or not the execution control means is executing a branch instruction; Trace instruction means for instructing a tracing operation in accordance with an instruction from the branch detection means, address output means for outputting the address of an instruction to be executed next to the branch instruction under the control of the trace instruction means, and Trace storage means for storing an address as a trace address.
【0010】また、前記トレース指令手段の制御に従い
前記実行制御手段が外部回路をアクセスするときの目的
アドレスまたは前記アドレス出力手段からのトレースア
ドレスのいずれか一方を選んで出力する出力アドレス選
択手段と、このアドレス出力手段からのアドレスがトレ
ースアドレスであればこれを格納するトレース記憶手段
とを有するする。An output address selecting means for selecting and outputting either a target address when the execution control means accesses an external circuit or a trace address from the address output means under the control of the trace command means; If the address from the address output means is a trace address, a trace storage means for storing the address is provided.
【0011】また、前記トレース記憶手段に接続された
拡張記憶手段を備え、前記トレース記憶手段に記憶され
たトレース情報が一定量に達した場合、その領域のトレ
ース情報を前記拡張記憶手段に転送し、該領域を再使用
する。[0011] Further, there is provided an extended storage means connected to the trace storage means, and when the trace information stored in the trace storage means reaches a certain amount, the trace information of the area is transferred to the extended storage means. , Reuse the area.
【0012】[0012]
【実施例】次に本願発明のアドレストレース方式の第1
の実施例について図面を参照して詳細に説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the first example of the address trace method of the present invention will be described.
Will be described in detail with reference to the drawings.
【0013】図1を参照すると、本願発明の第1の実施
例であるアドレストレース方式は、実行制御手段110
と、分岐命令検出手段120と、トレースモード保持手
段130と、トレース指令手段140と、アドレス出力
手段150と、トレース記憶手段200とを含んでい
る。Referring to FIG. 1, the address tracing method according to the first embodiment of the present invention employs an execution control means 110.
, A branch instruction detecting unit 120, a trace mode holding unit 130, a trace instruction unit 140, an address output unit 150, and a trace storage unit 200.
【0014】実行制御手段110はプログラムを実行
し、現在実行中の命令コードを信号線112に、命令ア
ドレスを信号線115にそれぞれ出力する。The execution control means 110 executes the program and outputs the currently executed instruction code to the signal line 112 and the instruction address to the signal line 115, respectively.
【0015】分岐検出手段120は信号線112から送
られてくる命令コードが分岐命令か否かを検出し、その
結果を信号線124に出力する。The branch detection means 120 detects whether or not the instruction code sent from the signal line 112 is a branch instruction, and outputs the result to a signal line 124.
【0016】トレースモード保持手段130は信号線1
33からの制御信号に従い、現在実行中のプログラムを
トレースするか否かのトレースモードを保持し、信号線
134に出力する。The trace mode holding means 130 is connected to the signal line 1
In accordance with the control signal from 33, a trace mode for determining whether or not to trace the currently executing program is held and output to the signal line 134.
【0017】トレース指令手段140は信号線124と
信号線134とからの信号を受け、信号線124が分岐
命令の検出を示し、かつ、信号線134がトレースモー
ドである指示を出しているならばトレース動作を指示す
る制御信号を適切なタイミングで信号線145と信号線
142に出力する。Trace instructing means 140 receives signals from signal lines 124 and 134, and if signal line 124 indicates the detection of a branch instruction and signal line 134 indicates an instruction to be in the trace mode. A control signal instructing a trace operation is output to the signal lines 145 and 142 at appropriate timing.
【0018】アドレス出力手段150は信号線145か
らのトレース動作の指示に従い信号線115から送られ
てくる命令アドレスを格納し、格納した内容を信号線1
52に出力する。Address output means 150 stores an instruction address sent from signal line 115 in accordance with a trace operation instruction from signal line 145, and stores the stored contents on signal line 1.
52.
【0019】トレース指令手段140は分岐命令が終了
した次のクロックでトレース動作の指示を信号線145
に出力するので、信号線115のアドレスは分岐命令を
実行した次の命令のアドレスを表わす。Trace instruction means 140 issues a trace operation instruction on signal line 145 at the next clock after the completion of the branch instruction.
, The address of the signal line 115 indicates the address of the instruction following the execution of the branch instruction.
【0020】トレース記憶手段200は信号線142か
らのトレース動作の指示に従い、152に出力されてい
るアドレスを順次記憶していく。The trace storage means 200 sequentially stores the addresses output to 152 in accordance with a trace operation instruction from the signal line 142.
【0021】トレース指令手段140は、アドレス出力
手段150が格納アドレスを152に出力した時点でト
レース動作の指示を142に出力するのでトレース記憶
手段200に記憶されるアドレスは分岐命令を実行した
次の命令のアドレスであり、これがトレースアドレスに
なる。When the address output means 150 outputs the storage address to 152, the trace command means 140 outputs a trace operation instruction to 142, so that the address stored in the trace storage means 200 is the next address after executing the branch instruction. This is the address of the instruction, which will be the trace address.
【0022】次に本発明のアドレストレース方式の上記
第1の実施例の動作について図面を参照して詳細に説明
する。Next, the operation of the first embodiment of the address trace method of the present invention will be described in detail with reference to the drawings.
【0023】図2を参照すると、実行対象となるプログ
ラムは、1語単位で1つの命令に対してアドレスが付さ
れている。また、命令の内容が空白のアドレスは分岐命
令でも外部アクセス命令でもない命令を格納していると
する。Referring to FIG. 2, in a program to be executed, an address is assigned to one instruction in word units. It is also assumed that an address having a blank instruction content stores an instruction that is neither a branch instruction nor an external access instruction.
【0024】また、プログラム内の条件分岐命令の条件
AおよびBは図3のように変化すると仮定する。It is also assumed that the conditions A and B of the conditional branch instruction in the program change as shown in FIG.
【0025】まず、あらかじめプログラムをトレースす
るモードにするために信号線133によってトレースモ
ード保持手段130をトレースを行うモードに設定して
おく。このトレースモード保持手段130の設定は、プ
ログラムの命令によって行ってもよいし、外部のサービ
スプロセッサなどによって行ってもよい。これにより、
信号線134はトレースモードである旨の指示を出力す
る。First, the trace mode holding means 130 is set to a trace mode by a signal line 133 in advance to set a mode for tracing a program. The setting of the trace mode holding means 130 may be performed by an instruction of a program, or may be performed by an external service processor or the like. This allows
The signal line 134 outputs an instruction indicating that the mode is the trace mode.
【0026】実行制御手段110が100番地の命令を
実行すると、信号線112には100番地の命令コード
が出力されるが、分岐命令ではないので分岐検出手段1
20は信号線124には分岐の検出を指示せず他の手段
に状態の変化は起こらない。この命令が終了すると信号
線115に命令アドレス「101番地」が出力される。When the execution control means 110 executes the instruction at the address 100, the instruction code at the address 100 is output to the signal line 112.
Numeral 20 does not instruct the signal line 124 to detect a branch, and the state does not change in other means. When this instruction ends, the instruction address “address 101” is output to the signal line 115.
【0027】次に実行制御手段110は101番地の分
岐命令を実行する。このとき信号線112には分岐命令
のコードが出力され分岐検出手段120は分岐命令であ
る旨を検出し、信号線124に「分岐命令を検出した」
旨を示す。トレース指令手段140は信号線124と信
号線134の指示により、命令が終了した時点でトレー
ス動作を指示する準備状態になる。この命令が終了する
と分岐により命令アドレスは105番地となり信号線1
15には「105番地」が出力され、トレース指令手段
140は信号線145にトレース動作の指示を出力す
る。Next, the execution control means 110 executes the branch instruction at address 101. At this time, the code of the branch instruction is output to the signal line 112, the branch detection means 120 detects that the instruction is a branch instruction, and the signal line 124 indicates that "branch instruction has been detected".
To the effect. The trace instructing means 140 is ready to instruct a tracing operation at the time when the instruction is completed according to the instructions on the signal lines 124 and 134. When this instruction is completed, the instruction address becomes address 105 by branching, and the signal line 1
The address “105” is output to 15, and the trace command means 140 outputs a trace operation instruction to the signal line 145.
【0028】アドレス出力手段150は信号線145の
トレース動作の指示に従い信号線115のアドレス「1
05番地」を格納し、信号線152にアドレス「105
番地」を出力する。The address output means 150 responds to the instruction of the trace operation of the signal line 145 and outputs the address "1" of the signal line 115.
05 is stored, and the address “105” is stored in the signal line 152.
Address "is output.
【0029】トレース記憶手段200は信号線142の
指示に従い信号線152上のアドレス「105番地」を
トレースアドレスとして記憶する。The trace storage means 200 stores the address "105" on the signal line 152 as a trace address in accordance with the instruction on the signal line 142.
【0030】次に、実行制御手段110は105番地の
命令を実行する。分岐命令ではないので分岐命令の検出
は行われず、命令が終了すると信号線115には命令ア
ドレスとして「106番地」が出力される。Next, the execution control means 110 executes the instruction at address 105. Since the instruction is not a branch instruction, no branch instruction is detected, and when the instruction ends, “106” is output to the signal line 115 as an instruction address.
【0031】次に、実行制御手段110は106番地の
条件分岐命令を実行する。101番地の分岐命令の時と
同様に分岐検出手段120が分岐を検出し、トレース指
令手段140は準備状態になる。命令が終了すると命令
アドレスは「102番地」となり、アドレス出力手段1
50はアドレス「102番地」を格納し、アドレス記憶
手段200は「102番地」をトレースアドレスとして
追加記憶する。Next, the execution control means 110 executes the conditional branch instruction at address 106. As in the case of the branch instruction at the address 101, the branch detection means 120 detects the branch, and the trace command means 140 is in the ready state. When the instruction is completed, the instruction address becomes “address 102” and the address output means 1
Reference numeral 50 stores an address “102”, and the address storage unit 200 additionally stores “address 102” as a trace address.
【0032】このようにして、分岐命令の次に実行され
た命令のアドレス、即ち分岐先のアドレスをトレースア
ドレスとして、トレース記憶手段200に順次記憶して
いくことができる。In this way, the address of the instruction executed after the branch instruction, that is, the address of the branch destination, can be sequentially stored in the trace storage means 200 as the trace address.
【0033】図4を参照すると、図2のプログラムを時
刻14まで実行した時の、時刻と、命令アドレス115
と、分岐命令124と、トレース指令145と、出力ア
ドレス152と、トレース記憶手段200の状態の変化
を示している。但し、この図では1命令を1単位時間で
実行すると仮定している。Referring to FIG. 4, the time and instruction address 115 when the program of FIG.
, A branch instruction 124, a trace command 145, an output address 152, and a change in the state of the trace storage unit 200. However, in this figure, it is assumed that one instruction is executed in one unit time.
【0034】特に指摘すべき点は、条件分岐命令で条件
が成立せず分岐をしない時でも次の命令のアドレスがト
レースアドレスとして記憶される事であり、図4の時刻
9、時刻10の部分がこのことを示している。時刻14
の時点でトレース記憶手段200の各語にはそれぞれ
「105番地」,「102番地」,「107番地」,
「105番地」,「102番地」が記憶されている。こ
れは実行された全ての分岐命令の分岐先アドレスであ
る。この情報と共に、プログラムの実行が100番地か
ら始まり101番地、106番地、108番地に分岐命
令があることを考え合わせれば、次のように実行された
ことが解析できる。すなわち、100番地の次に101
番地が実行され、この101番地から105番地に分岐
し、次に106番地が実行され、この106番地から1
02番地に分岐し、その後103番地、104番地、1
05番地、106番地と実行される。そして、この10
6番地の分岐命令では分岐が発生せず続いて107番
地、108番地を実行する。そして、この108番地か
ら105番地に分岐し、次の106番地から102番地
に分岐した旨が解析できる。It should be pointed out that the address of the next instruction is stored as a trace address even when the condition is not satisfied and the branch is not taken by the conditional branch instruction. Shows this. Time 14
At the time point, the words in the trace storage means 200 are “105”, “102”, “107”,
“Address 105” and “Address 102” are stored. This is the branch destination address of all executed branch instructions. Considering that the execution of the program starts from address 100 and has branch instructions at addresses 101, 106 and 108 together with this information, it can be analyzed that the program has been executed as follows. That is, after address 100, 101
The address is executed, the address 101 branches to the address 105, then the address 106 is executed, and from the address 106 to 1
Branches to address 02, then 103, 104, 1
Execution is performed at addresses 05 and 106. And this 10
With the branch instruction at address 6, no branch occurs, and addresses 107 and 108 are subsequently executed. Then, it can be analyzed that the address 108 branches to address 105 and the next address 106 branches to address 102.
【0035】上記第1の実施例で使用されたトレース記
憶手段200の語数は5で、従来の第1の方法では時刻
と同じ14語を必要とするため、記憶回路を約36%に
少量化できたことになる。また従来の第3の方法では8
語を必要とするため、記憶回路を約63%に少量化できた
ことになる。また、従来の第2の方法では判別できなか
った複数の分岐元から同一アドレスへの分岐、すなわち
本例では101番地と108番地から105番地への分
岐、も容易に判別できる。The number of words in the trace storage means 200 used in the first embodiment is 5, and the conventional first method requires 14 words which are the same as the time. Therefore, the number of storage circuits is reduced to about 36%. You can do it. In the third conventional method, 8
The need for words means that the memory circuit could be reduced to about 63%. Further, it is possible to easily determine a branch from a plurality of branch sources to the same address, which cannot be determined by the conventional second method, that is, a branch from addresses 101 and 108 to address 105 in this example.
【0036】次に本願発明のアドレストレース方式の第
2の実施例について図面を参照して詳細に説明する。Next, a second embodiment of the address trace method of the present invention will be described in detail with reference to the drawings.
【0037】図5を参照すると、本願発明の第2の実施
例のアドレストレース方式は、中央処理装置100内
に、実行制御手段110と、分岐命令検出手段120
と、トレースモード保持手段130と、トレース指令手
段140と、アドレス出力手段150と、出力アドレス
選択手段160とを含んでいる。また、中央処理装置1
00の外側に、トレース記憶手段200と、外部回路3
00を有している。この外部回路300としては、例え
ば、記憶回路や周辺回路などを接続することができる。
ここで、実行制御手段110、分岐命令検出手段12
0、トレースモード保持手段130、トレース指令手段
140、アドレス出力手段150およびトレース記憶手
段200は、第1の実施例と同様の機能を有するもので
ある。Referring to FIG. 5, the address tracing method according to the second embodiment of the present invention includes an execution control unit 110 and a branch instruction detection unit 120 in a central processing unit 100.
, A trace mode holding unit 130, a trace instruction unit 140, an address output unit 150, and an output address selection unit 160. In addition, the central processing unit 1
00, the trace storage means 200 and the external circuit 3
00. As the external circuit 300, for example, a storage circuit or a peripheral circuit can be connected.
Here, execution control means 110, branch instruction detection means 12
0, trace mode holding unit 130, the trace command means 140, address output means 15 0 and trace storage means 200, those having the same functions as those of the first embodiment.
【0038】外部アドレス信号線410は中央処理装置
100が任意の外部回路300をアクセスする際に外部
アドレスを出力する。The external address signal line 410 outputs an external address when the central processing unit 100 accesses an arbitrary external circuit 300.
【0039】実行制御手段110が外部回路300をア
クセスする際には、その目的アドレスは信号線116に
出力される。When the execution control means 110 accesses the external circuit 300, its target address is output to the signal line 116.
【0040】出力アドレス選択手段160は、信号線1
45からのトレース動作の指示に従って、信号線116
に出力された目的アドレス、または、アドレス出力手段
150から信号線156に出力されたトレースアドレス
の一方を選択して、外部アドレス信号線410に出力す
る。信号線145がトレース動作を指示した時は信号線
156のトレースアドレスを、そうでない時は信号線1
16上の目的アドレスを選択する。また、いずれを選択
して出力しているかを区別するための情報を、アドレス
識別信号線420に出力する。アドレス識別信号線42
0はトレース記憶手段200と外部回路300に接続し
ている。The output address selecting means 160 is connected to the signal line 1
45, the signal line 116
, Or one of the trace addresses output from the address output means 150 to the signal line 156 is selected and output to the external address signal line 410. When the signal line 145 instructs the trace operation, the trace address of the signal line 156 is set.
16 is selected. Further, information for discriminating which one is selected and output is output to the address identification signal line 420. Address identification signal line 42
0 is connected to the trace storage means 200 and the external circuit 300.
【0041】トレース記憶手段200は、外部アドレス
信号線410とアドレス識別信号線420とに接続して
いて、トレース識別信号線420がトレースアドレスを
指示している時、外部アドレス信号線410からトレー
スアドレスを受けとり順次記憶する。The trace storage means 200 is connected to the external address signal line 410 and the address identification signal line 420. When the trace identification signal line 420 indicates a trace address, the trace address is transmitted from the external address signal line 410 to the trace address. Receiving and storing sequentially.
【0042】図6を参照すると、図2のプログラムを時
刻16まで実行した時の時刻と、命令アドレス115
と、外部回路アドレス116と、分岐命令124と、ト
レース指令145と、トレースアドレス156と、外部
アドレス410と、アドレス識別信号420と、トレー
ス記憶手段200の状態の変化を示している。但し、こ
の例では外部アクセス命令は外部回路300からの応答
があるまで完了せず、また外部回路300は外部アドレ
ス信号線410にアドレスが出力されてから1単位時間
内に応答を返し、他の命令は1命令を1単位時間で実行
すると仮定している。Referring to FIG. 6, the time when the program of FIG.
, An external circuit address 116, a branch instruction 124, a trace command 145, a trace address 156, an external address 410, an address identification signal 420, and a change in the state of the trace storage unit 200. However, in this example, the external access command is not completed until there is a response from the external circuit 300, and the external circuit 300 returns a response within one unit time after the address is output to the external address signal line 410, and Instructions are assumed to execute one instruction in one unit time.
【0043】時刻3では、105番地の外部回路への書
込み命令と「105番地」のトレース出力とが同時に発
生してしまうため、トレース出力が優先して実行され、
外部回路への書込みは時刻4で実行されている。この事
象は、時刻13でも発生している。一方、時刻9では、
トレース出力が発生しないため、外部回路への書込み命
令が待たされずに実行される。At time 3, a write command to the external circuit at address 105 and a trace output at address 105 are simultaneously generated, so that the trace output is executed with priority.
Writing to the external circuit is executed at time 4. This event also occurs at time 13. On the other hand, at time 9,
Since no trace output is generated, the write instruction to the external circuit is executed without waiting.
【0044】この第2の実施例によるアドレストレース
方式では、中央処理装置100からトレース記憶手段2
00へトレースアドレスを出力する信号線を外部アドレ
ス信号線410と共有することにより、中央処理装置1
00の入出力信号線を削減することができるという利点
がある。In the address trace system according to the second embodiment, the central processing unit 100 sends the trace storage unit 2
By sharing a signal line for outputting a trace address to the external address signal line 410 with the central processing unit 1
There is an advantage that 00 input / output signal lines can be reduced.
【0045】次に本願発明のアドレストレース方式の第
3の実施例について図面を参照して詳細に説明する。Next, a third embodiment of the address trace method of the present invention will be described in detail with reference to the drawings.
【0046】図7を参照すると、本願発明の第3の実施
例のアドレストレース方式は、トレース記憶手段200
に拡張記憶手段210が接続されている以外は、第2の
実施例と同様の構成を有している。Referring to FIG. 7, the address tracing method according to the third embodiment of the present invention employs a trace storage unit 200.
The configuration is the same as that of the second embodiment except that the extended storage means 210 is connected to the.
【0047】拡張記憶手段210は、信号線201によ
ってトレース記憶手段200と接続されている。トレー
ス記憶手段200内のトレース情報が一定量に達した場
合には、その領域のトレース情報を拡張記憶手段210
に転送し、トレース記憶手段200内の転送し終わった
領域を再使用することによって、より大量のトレース情
報を記憶することができるという効果がある。この第3
の実施例を実現するには、例えば、トレース記憶手段2
00を高速低容量のメモリ素子で構成して、拡張記憶手
段210を低速大容量のディスク装置で構成するなどの
組合せによる構成が考えられる。The extended storage means 210 is connected to the trace storage means 200 by a signal line 201. When the trace information in the trace storage unit 200 reaches a certain amount, the trace information in that area is stored in the extended storage unit 210.
By reusing the transferred area in the trace storage means 200, a larger amount of trace information can be stored. This third
For example, the trace storage unit 2
00 may be constituted by a high-speed and low-capacity memory device, and the extended storage means 210 may be constituted by a low-speed and large-capacity disk device.
【0048】[0048]
【発明の効果】以上説明したように、本発明は実行され
た分岐命令の次のアドレスをトレースアドレスとしてト
レース記憶手段に記憶することにより、従来のアドレス
トレース方式より記憶回路を少量化できるという効果が
ある。As described above, according to the present invention, by storing the next address of an executed branch instruction in a trace storage means as a trace address, the number of storage circuits can be reduced as compared with the conventional address trace method. There is.
【図1】本発明のアドレストレース方式の第1の実施例
を表すブロック図である。FIG. 1 is a block diagram illustrating a first embodiment of an address trace method according to the present invention.
【図2】本発明の動作を説明するために使用するプログ
ラムの一例を表す図である。FIG. 2 is a diagram illustrating an example of a program used to explain an operation of the present invention.
【図3】図2のプログラム実行時の条件分岐命令の条件
AおよびBの状態の一例を表す図である。FIG. 3 is a diagram illustrating an example of states of conditions A and B of a conditional branch instruction at the time of executing the program of FIG. 2;
【図4】本発明の第1の実施例において図2のプログラ
ムを実行した時の動作を表すタイミングチャートであ
る。FIG. 4 is a timing chart showing an operation when the program of FIG. 2 is executed in the first embodiment of the present invention.
【図5】本発明のアドレストレース方式の第2の実施例
を表すブロック図である。FIG. 5 is a block diagram showing a second embodiment of the address trace method of the present invention.
【図6】本発明の第2の実施例において図2のプログラ
ムを実行した時の動作を表すタイミングチャートであ
る。FIG. 6 is a timing chart showing an operation when the program of FIG. 2 is executed in the second embodiment of the present invention.
【図7】本発明のアドレストレース方式の第3の実施例
を表すブロック図である。FIG. 7 is a block diagram showing a third embodiment of the address trace method of the present invention.
100 中央処理装置 110 実行制御手段 120 分岐命令検出手段 130 トレースモード保持手段 140 トレース指令手段 150 アドレス出力手段 200 トレース記憶手段 210 拡張記憶手段 300 外部回路 REFERENCE SIGNS LIST 100 Central processing unit 110 Execution control means 120 Branch instruction detection means 130 Trace mode holding means 140 Trace command means 150 Address output means 200 Trace storage means 210 Extended storage means 300 External circuit
Claims (4)
段と、 この実行制御手段が実行しているプログラムの履歴を採
るか否かを示すトレースモードを保持するためのトレー
スモード保持手段と、 前記実行制御手段が分岐命令を実行しているか否かを検
出するための分岐検出手段と、 前記トレースモード保持手段および前記分岐検出手段か
らの指示に従いトレース動作を指示するためのトレース
指令手段と、 このトレース指令手段の制御に従い分岐しない時でも分
岐命令の次に実行する命令のアドレスのみを出力するア
ドレス出力手段と、 このアドレス出力手段からのアドレスをトレースアドレ
スとして格納するトレース記憶手段とを有することを特
徴とするアドレストレース方式。1. An execution control means for executing a program, a trace mode holding means for holding a trace mode indicating whether or not a history of a program executed by the execution control means is taken; Branch detection means for detecting whether or not the control means is executing a branch instruction; trace instruction means for instructing a trace operation in accordance with instructions from the trace mode holding means and the branch detection means; Address output means for outputting only the address of an instruction to be executed next to the branch instruction even when not branching under control of the command means; and trace storage means for storing the address from the address output means as a trace address. An address trace method comprising:
段と、 この実行制御手段が実行しているプログラムの履歴を採
るか否かを示すトレースモードを保持するためのトレー
スモード保持手段と、 前記実行制御手段が分岐命令を実行しているか否かを検
出するための分岐検出手段と、 前記トレースモード保持手段および前記分岐検出手段か
らの指示に従いトレース動作を指示するためのトレース
指令手段と、 このトレース指令手段の制御に従い分岐しない時でも分
岐命令の次に実行する命令のアドレスのみをトレースア
ドレスとして出力するアドレス出力手段と、 前記トレース指令手段の制御に従い前記実行制御手段が
外部回路をアクセスするときの目的アドレスまたは前記
アドレス出力手段からのトレースアドレスのいずれか一
方を選んで出力する出力アドレス選択手段と、 このアドレス出力手段からのアドレスがトレースアドレ
スであればこれを格納するトレース記憶手段とを有する
ことを特徴とするアドレストレース方式。2. An execution control unit for executing a program, a trace mode holding unit for holding a trace mode indicating whether or not a history of the program executed by the execution control unit is taken; Branch detection means for detecting whether or not the control means is executing a branch instruction; trace instruction means for instructing a trace operation in accordance with instructions from the trace mode holding means and the branch detection means; Even when the branch is not taken under the control of the command means, only the address of the instruction executed next to the branch instruction is traced.
Address output means for outputting as an address, and an output address for selecting and outputting one of a target address when the execution control means accesses an external circuit or a trace address from the address output means under the control of the trace command means. An address tracing method comprising: selecting means; and trace storage means for storing an address from the address output means if the address is a trace address.
記憶手段を備え、前記トレース記憶手段に記憶されたト
レース情報が一定量に達した場合、その領域のトレース
情報を前記拡張記憶手段に転送し、該領域を再使用する
ことを特徴とする請求項1に記載のアドレストレース方
式。3. An extended storage unit connected to the trace storage unit, wherein when the trace information stored in the trace storage unit reaches a certain amount, the trace information of the area is transferred to the extended storage unit. 2. The address trace method according to claim 1, wherein said area is reused.
記憶手段を備え、前記トレース記憶手段に記憶されたト
レース情報が一定量に達した場合、その領域のトレース
情報を前記拡張記憶手段に転送し、該領域を再使用する
ことを特徴とする請求項2に記載のアドレストレース方
式。4. An extended storage unit connected to the trace storage unit, wherein when the trace information stored in the trace storage unit reaches a certain amount, the trace information of the area is transferred to the extended storage unit. 3. The address trace method according to claim 2, wherein said area is reused.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5336198A JP2727947B2 (en) | 1993-12-28 | 1993-12-28 | Address trace method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5336198A JP2727947B2 (en) | 1993-12-28 | 1993-12-28 | Address trace method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07200349A JPH07200349A (en) | 1995-08-04 |
JP2727947B2 true JP2727947B2 (en) | 1998-03-18 |
Family
ID=18296657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5336198A Expired - Fee Related JP2727947B2 (en) | 1993-12-28 | 1993-12-28 | Address trace method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2727947B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114556306A (en) | 2019-10-18 | 2022-05-27 | 罗姆股份有限公司 | Tracking circuit, semiconductor device, tracker, and tracking system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56168265A (en) * | 1980-05-29 | 1981-12-24 | Mitsubishi Electric Corp | Branch location storage system of digital computer |
JPS63129432A (en) * | 1986-11-19 | 1988-06-01 | Nec Corp | Program address tracing device |
JPH03263135A (en) * | 1990-03-13 | 1991-11-22 | Nec Corp | Branch control circuit |
JPH04167146A (en) * | 1990-10-31 | 1992-06-15 | Nec Corp | Address tracing system for information processor |
-
1993
- 1993-12-28 JP JP5336198A patent/JP2727947B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07200349A (en) | 1995-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5043868A (en) | System for by-pass control in pipeline operation of computer | |
US6223260B1 (en) | Multi-bus data processing system in which all data words in high level cache memories have any one of four states and all data words in low level cache memories have any one of three states | |
KR970012145A (en) | How to work with the data processor, how to run its debugging operations, and how to modify its breakpoint values | |
US4755936A (en) | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles | |
US5287483A (en) | Prefetched operand storing system for an information processor | |
JP2727947B2 (en) | Address trace method | |
JP3452771B2 (en) | Command control system and method | |
US7240144B2 (en) | Arbitration of data transfer requests | |
US4929938A (en) | Area searching system | |
JPS6020251A (en) | Jump instruction tracing system | |
US6629262B1 (en) | Multiplexed storage controlling device | |
KR900002436B1 (en) | Bypass control system for pipeline processing | |
EP0063612A1 (en) | Numerical control unit | |
JPH06342397A (en) | Circuit device for mapping of logical address space | |
JPS6232508B2 (en) | ||
JPS592058B2 (en) | Storage device | |
JPS59112479A (en) | High speed access system of cache memory | |
JPS6391756A (en) | Partial write instruction processing system for storage device | |
JP2506591B2 (en) | Auxiliary processor | |
JPH0363726A (en) | Hierlarchy type branch history table | |
JPH1027153A (en) | Bus transfer device | |
JPS62166451A (en) | History analyzing device for logical unit | |
JPS63103330A (en) | Detecting system for misuse of address stack | |
JPS62166449A (en) | History storage device for logical unit | |
JPS63188233A (en) | Central processing unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19971111 |
|
LAPS | Cancellation because of no payment of annual fees |