JPH11219293A - Address tracing method and tracer memory controller - Google Patents

Address tracing method and tracer memory controller

Info

Publication number
JPH11219293A
JPH11219293A JP10020622A JP2062298A JPH11219293A JP H11219293 A JPH11219293 A JP H11219293A JP 10020622 A JP10020622 A JP 10020622A JP 2062298 A JP2062298 A JP 2062298A JP H11219293 A JPH11219293 A JP H11219293A
Authority
JP
Japan
Prior art keywords
address
loop
tracer
instruction
register
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.)
Withdrawn
Application number
JP10020622A
Other languages
Japanese (ja)
Inventor
Naoki Kamibayashi
直毅 上林
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 Engineering Ltd
Original Assignee
NEC Engineering Ltd
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 Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP10020622A priority Critical patent/JPH11219293A/en
Publication of JPH11219293A publication Critical patent/JPH11219293A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To suppress the consumption of a tracer memory by means of a loop without causing the shortage of trace data by identifying a loop instruction, making a loop part degenerate and writing a degenerate loop part in the tracer memory. SOLUTION: A tracer memory controller 100 is roughly constituted of a control storage part 1 and a tracer part 2. The loop instruction detecting circuit of a tracer control part 21 in the tracer part 2 detects the loop instruction. A control storage(CS) address copy register stores the copy of a CS read address. An OR circuit generates the hold signal of the address copy register. In this case, the loop instruction is identified, the loop part is made degenerate and the degenerate loop part is written in the tracer memory 28. When a CS address is looped at the time of every T-tracing, especially, a repetition part in the middle of the loop part is erased and only the last loop is left.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、マイクロプログラ
ムのアドレストレース方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprogram address tracing method.

【0002】[0002]

【従来の技術】マイクロプログラムにより制御されるデ
ータ処理装置では、RAS(信頼性、可用性及び保守
性)を向上するためにアドレストレースを行うトレーサ
メモリ制御装置を備える。トレーサメモリ制御装置はマ
イクロ命令アドレス等の時系列データを履歴情報として
トレーサメモリに格納する。この履歴情報を障害発生時
やデバッグ作業時に読み出して解析することにより、問
題が発生した原因の究明等を行うことができる。
2. Description of the Related Art A data processing device controlled by a microprogram includes a tracer memory control device for performing an address trace in order to improve RAS (reliability, availability, and maintainability). The tracer memory control device stores time-series data such as microinstruction addresses in the tracer memory as history information. By reading and analyzing this history information at the time of occurrence of a failure or at the time of debugging, it is possible to investigate the cause of the problem.

【0003】従来のトレーサメモリ制御装置300の構
成を図3を参照して説明する。トレーサメモリ制御装置
300は制御記憶部1とトレーサ部2を備える。
A configuration of a conventional tracer memory control device 300 will be described with reference to FIG. The tracer memory control device 300 includes a control storage unit 1 and a tracer unit 2.

【0004】制御記憶部1は次の以下の要素を備える。 (1)制御記憶(CS)アドレス制御部11 制御記憶13のリードアドレスを制御する。 (2)制御記憶(CS)リードアドレスレジスタ12 制御記憶13のリードアドレスをセットする。 (3)制御記憶(CS)13 命令を格納する。 (4)制御記憶(CS)リードデータレジスタ14 制御記憶13からリードした命令をセットする。 (5)命令解読部15 命令をデコードしてHW(ハードウェア)に指示を出
す。
The control storage unit 1 has the following elements. (1) Control storage (CS) address control unit 11 The read address of the control storage 13 is controlled. (2) Control storage (CS) read address register 12 The read address of the control storage 13 is set. (3) Control storage (CS) 13 Stores an instruction. (4) Control storage (CS) read data register 14 An instruction read from the control storage 13 is set. (5) Instruction Decoding Unit 15 Decodes an instruction and issues an instruction to HW (hardware).

【0005】トレーサ部2は以下の要素を備える。 (1)トレーサ制御部21 命令解読部15によりトレースの開始終了等を制御す
る。 (2)トレーサライトアドレスセレクタ22 トレーサメモリ28のライトアドレスを選択する。 (3)トレーサライトアドレスレジスタ23 トレーサメモリ28のライトアドレスをセットする。 (4)トレーサライトデータレジスタ26 トレーサメモリ28にライトするトレースデータをセッ
トする。 (5)トレーサメモリ28 トレースデータを格納する。
[0005] The tracer unit 2 has the following elements. (1) Tracer control unit 21 The instruction decoding unit 15 controls the start and end of the trace. (2) Tracer write address selector 22 Selects a write address of the tracer memory 28. (3) Tracer write address register 23 The write address of the tracer memory 28 is set. (4) Tracer write data register 26 The trace data to be written to the tracer memory 28 is set. (5) Tracer memory 28 Stores trace data.

【0006】信号線はそれぞれ以下の意味を有する。 (1)信号線31 CSリードアドレスレジスタ12の出力である。 (2)信号線32 命令解読部15の出力である。 (3)信号線35 トレーサライトアドレスセレクタ22のセレクト信号で
ある。
The signal lines have the following meanings. (1) Signal line 31 This is an output of the CS read address register 12. (2) Signal line 32 This is an output of the instruction decoding unit 15. (3) Signal line 35 This is a select signal of the tracer write address selector 22.

【0007】次に、トレーサメモリ制御装置300によ
るアドレストレースを説明する。代表的なアドレストレ
ース方式として毎Tトレース方式とイベントトレース方
式がある。いずれの方式でも、最初に制御記憶13から
命令が読み出され、CSリードデータレジスタ14に格
納される。次にCSリードデータレジスタ14に格納さ
れた命令が命令解読部15でデコードされ、トレーサ制
御部21にトレース開始の指示が出てアドレストレース
が開始される。
Next, address tracing by the tracer memory controller 300 will be described. Typical address trace methods include a T-trace method and an event trace method. In either case, an instruction is first read from the control storage 13 and stored in the CS read data register 14. Next, the instruction stored in the CS read data register 14 is decoded by the instruction decoding unit 15, and a trace start instruction is issued to the tracer control unit 21 to start the address trace.

【0008】毎Tトレース方式の場合、次のようにアド
レストレースを行う。 (1)トレーサメモリ28にトレースデータ(CSアド
レスとHW状態値)をライトする。ここで、ライトする
アドレスはトレーサライトアドレスレジスタ23の値が
指示するアドレスであり、トレースデータはトレーサラ
イトデータレジスタ26にセットされているデータであ
る。 (2)トレーサライトアドレスレジスタ23をインクリ
メントする。同時に、トレーサライトデータレジスタ2
6に次のトレースデータをセットする。 (3)トレース終了指示が出るまで(1)に戻って繰り
返す。
In the case of the every-T trace method, an address trace is performed as follows. (1) Write trace data (CS address and HW state value) to the tracer memory 28. Here, the address to be written is the address indicated by the value of the tracer write address register 23, and the trace data is the data set in the tracer write data register 26. (2) The tracer write address register 23 is incremented. At the same time, tracer write data register 2
The next trace data is set in 6. (3) Return to (1) and repeat until a trace end instruction is issued.

【0009】このように、毎Tトレース方式ではトレー
スしている期間のすべてのCSアドレスをトレースす
る。このため、ループがある場合、同じCSアドレスの
繰り返しでトレーサメモリ内が埋め尽くされる可能性が
ある。つまり、長時間のトレースをするためには大きな
トレーサメモリを用意する必要がある。
As described above, in every T tracing method, all the CS addresses during the tracing period are traced. Therefore, if there is a loop, the tracer memory may be filled up by the repetition of the same CS address. In other words, it is necessary to prepare a large tracer memory for long-time tracing.

【0010】一方、イベントトレース方式の場合、次の
ようにアドレストレースを行う。 (1)指示されたイベントの場合、例えばジャンプ命令
が検出された時に、トレーサメモリ28のトレーサライ
トアドレスレジスタ23の値が指示するアドレスに、ト
レーサライトデータレジスタ26にセットされているト
レースデータ(CSアドレスとHW状態値)をライトす
る。 (2)トレーサライトアドレスレジスタ23をインクリ
メントする。同時に、トレーサライトデータレジスタ2
6に次のトレースデータをセットする。 (3)トレース終了指示が出るまで(1)に戻って繰り
返す。
On the other hand, in the event tracing method, address tracing is performed as follows. (1) In the case of the designated event, for example, when a jump instruction is detected, the trace data (CS) set in the tracer write data register 26 is set at the address indicated by the value of the tracer write address register 23 of the tracer memory 28. Address and HW state value). (2) The tracer write address register 23 is incremented. At the same time, tracer write data register 2
The next trace data is set in 6. (3) Return to (1) and repeat until a trace end instruction is issued.

【0011】イベントトレースの場合、トレーサメモリ
の容量が同じならば毎Tトレースより長時間のトレース
が可能である。しかし、トレースするイベントの発生間
隔によってはトレースデータが不足することがある。
In the event trace, if the tracer memory has the same capacity, it is possible to trace for a longer time than every T trace. However, trace data may be insufficient depending on the occurrence interval of the event to be traced.

【0012】こうした毎Tトレース方式及びイベントト
レース方式の欠点を補うための発明が特開平2−103
642号公報(以下、引用例1)に記載されている。引
用例1に記載されたトレース方式では、命令にループが
ない期間は毎Tトレース方式と同様だが、命令にループ
が現れると次のようにアドレストレースを行う。 (1)あるループ(Aとする)の最初のアドレス(a)
をホールドし、同じアドレス(a)が現れる毎にその繰
り返し回数(Na)をカウントし、ループAの最初のア
ドレス(a)をライトしたトレーサメモリのアドレス
(x)のその次のアドレス(x+1)に繰り返し回数
(Na)をライトする。 (2)ループAの最初のアドレス(a)は、別のループ
(Bとする)が現れるまでホールドされる。ループBが
現れると、その最初のアドレス(b)をホールドし、こ
こからは、アドレス(b)の繰り返し回数(Nb)をカ
ウントする。ループBの最初のアドレス(b)は、トレ
ーサメモリのアドレス(x+2)にライトされる。ルー
プBの最初のアドレス(b)を格納したトレーサメモリ
のアドレス(x+2)のその次のアドレス(x+3)に
繰り返し回数(Nb)を格納する。 (3)トレース終了指示が出るまで、(2)と同様の事
を繰り返す。
An invention for compensating for the drawbacks of the T-trace method and the event trace method is disclosed in Japanese Patent Laid-Open No. 2-103.
No. 642 (hereinafter referred to as Reference 1). In the tracing method described in the cited example 1, while there is no loop in the instruction, it is the same as the T tracing method, but when a loop appears in the instruction, address tracing is performed as follows. (1) First address (a) of a certain loop (supposed to be A)
And the number of repetitions (Na) is counted each time the same address (a) appears, and the next address (x + 1) of the address (x) of the tracer memory where the first address (a) of the loop A is written Is written the number of repetitions (Na). (2) The first address (a) of loop A is held until another loop (referred to as B) appears. When the loop B appears, the first address (b) is held, and thereafter, the number of repetitions (Nb) of the address (b) is counted. The first address (b) of the loop B is written to the address (x + 2) of the tracer memory. The number of repetitions (Nb) is stored at the next address (x + 3) of the address (x + 2) of the tracer memory storing the first address (b) of the loop B. (3) The same operation as (2) is repeated until a trace end instruction is issued.

【0013】引用例1のアドレストレース方式によれば
トレーサメモリを節約することができる。しかし、次の
二つの問題点がある。 (問題点1)制御記憶のアドレスループが複数のアドレ
スで構成される場合に、ループの最初のアドレスしかト
レースされない。 (問題点2)トレース開始後、すぐにループがあって、
その後ループが全くない場合、最初のループのアドレス
しかトレースできない。
According to the address tracing method of the cited example 1, the tracer memory can be saved. However, there are two problems. (Problem 1) When the address loop of the control memory is composed of a plurality of addresses, only the first address of the loop is traced. (Problem 2) There is a loop immediately after the trace starts,
If there are no loops thereafter, only the address of the first loop can be traced.

【0014】[0014]

【発明が解決しようとする課題】このように、従来のア
ドレストレース方式である毎Tトレース方式ではトレー
サメモリの使用量が大きく、一方、イベントトレース方
式ではトレースデータが不足する可能性がある。
As described above, in the conventional address tracing method, the use of the tracer memory is large in the every T tracing method, while the trace data may be insufficient in the event tracing method.

【0015】また、引用例1のアドレストレース方式に
よれば、毎Tトレース方式の欠点を補いトレーサメモリ
の使用量を抑えることができるが、トレースデータが不
足する可能性がある。
Further, according to the address tracing method of the cited example 1, the drawback of the every T tracing method can be compensated and the amount of the tracer memory used can be suppressed, but the trace data may be insufficient.

【0016】本発明が解決しようとする課題は、トレー
サメモリの使用量を抑えつつトレースデータが不足する
ことのないアドレストレース方法及びトレーサメモリ制
御装置を提供することである。
An object of the present invention is to provide an address tracing method and a tracer memory control device in which the amount of tracer memory used is suppressed and trace data does not run short.

【0017】[0017]

【課題を解決するための手段】本発明では、特に毎Tト
レース時に制御記憶(CS)アドレスがループをしてい
る場合、ループ部分の途中の繰り返し部分を削除し、最
後のループだけを残すようにして、引用例1における問
題点1を解決している。また、ループの終了をタイマー
によって検出することで、引用例1における問題点2を
解決している。以上によって、トレースデータの不足を
招くことなくループによるトレーサメモリの消費を抑え
ることができる。
According to the present invention, especially when the control storage (CS) address is looped at every T trace, a repeated portion in the middle of the loop portion is deleted, and only the last loop is left. Thus, Problem 1 in Reference 1 is solved. In addition, by detecting the end of the loop using a timer, the problem 2 in Reference 1 is solved. As described above, it is possible to suppress the consumption of the tracer memory by the loop without causing a shortage of the trace data.

【0018】本発明のトレーサメモリ制御装置はトレー
サ部に以下の回路を備える。 (1)トレーサライトアドレスコピーレジスタ トレーサメモリに格納されているループのスタートを記
録しておくために、トレーサライトアドレスレジスタの
コピーをセットする。 (2)制御記憶リードアドレス繰り返し回数カウンタ ループ命令検出中に制御記憶リードアドレスのループ回
数をカウントする。 (3)トレーサライトデータセレクタ ループ命令検出中は、ループの回数をトレースするため
に、トレース中のHW状態値と制御記憶リードアドレス
繰り返し回数カウンタの値を選択する。
The tracer memory control device of the present invention includes the following circuit in the tracer section. (1) Tracer write address copy register A copy of the tracer write address register is set in order to record the start of the loop stored in the tracer memory. (2) Control storage read address repetition counter The number of loops of the control storage read address is counted during detection of a loop instruction. (3) Tracer Write Data Selector While the loop instruction is being detected, the HW state value during the trace and the value of the control storage read address repetition number counter are selected in order to trace the number of loops.

【0019】また、トレーサ制御部には以下の回路を備
える。 (1)ループ命令検出回路 ループ命令を検出する手段である。 (2)ループ中フラグ ループ命令検出回路がループ命令を検出したことを示
す。 (3)制御記憶アドレスコピーレジスタ 制御記憶リードアドレスのコピーを格納する。 (4)OR回路 制御記憶アドレスコピーレジスタのホールド信号を生成
する。 (5)ループスタートアドレス保持期間タイマ ループ開始アドレスとトレースデータのループのスター
トアドレスをホールドしておく期間を設定する。 (6)タイムアウト検出回路 ループスタートアドレス保持期間タイマのタイムアウト
を検出する手段。 (7)第1の比較回路 制御記憶リードアドレスレジスタと制御記憶アドレスコ
ピーレジスタとが等しくなったことを検出する手段。 (8)第2の比較回路 制御記憶アドレス繰り返し回数カウンタの値が2以上で
あることを検出する手段。 (9)第1のAND回路 トレーサライトアドレスセレクタのセレクト信号を生成
する。 (10)第2のAND回路 トレーサライトデータセレクタのセレクト信号を生成す
る。
The tracer control unit includes the following circuits. (1) Loop instruction detection circuit This is means for detecting a loop instruction. (2) Loop flag Indicates that the loop instruction detection circuit has detected a loop instruction. (3) Control storage address copy register This register stores a copy of the control storage read address. (4) OR circuit Generates a hold signal for the control storage address copy register. (5) Loop start address holding period timer A period for holding the loop start address and the start address of the loop of the trace data is set. (6) Timeout detection circuit Means for detecting timeout of the loop start address holding period timer. (7) First comparison circuit A means for detecting that the control storage read address register and the control storage address copy register have become equal. (8) Second comparison circuit Means for detecting that the value of the control storage address repetition number counter is 2 or more. (9) First AND circuit Generates a select signal for the tracer write address selector. (10) Second AND Circuit Generates a select signal for the tracer write data selector.

【0020】[0020]

【発明の実施の形態】本発明の一実施の形態であるトレ
ーサメモリ制御装置100の構成について図面を参照し
て説明する。トレーサメモリ制御装置100は大きく分
けて制御記憶部1とトレーサ部2で構成される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The configuration of a tracer memory control device 100 according to an embodiment of the present invention will be described with reference to the drawings. The tracer memory control device 100 is roughly composed of a control storage unit 1 and a tracer unit 2.

【0021】制御記憶部1は以下の要素を備える。 (1)制御記憶(CS)アドレス制御部11 制御記憶のアドレスを制御する。 (2)制御記憶(CS)リードアドレスレジスタ12 制御記憶リードレジスタをセットする。 (3)制御記憶(CS)13 命令を格納する。 (4)制御記憶(CS)リードデータレジスタ14 制御記憶13からリードしたデータをセットする。 (5)命令解読部15 CSリードデータレジスタ14の出力をデコードしてH
Wに指示を出す。
The control storage unit 1 has the following elements. (1) Control storage (CS) address control section 11 The address of the control storage is controlled. (2) Control storage (CS) read address register 12 The control storage read register is set. (3) Control storage (CS) 13 Stores an instruction. (4) Control storage (CS) read data register 14 The data read from the control storage 13 is set. (5) The instruction decoding unit 15 decodes the output of the CS read data register 14 and
Gives instructions to W.

【0022】トレーサ部2は以下の要素を備える。 (1)トレーサ制御部21 命令解読部15によりトレースの開始終了等を制御す
る。 (2)トレーサライトアドレスセレクタ22 トレーサメモリ28のライトアドレスを選択する。 (3)トレーサライトアドレスレジスタ23 トレーサメモリ28のライトアドレスをセットする。 (4)トレーサライトアドレスコピーレジスタ24 トレーサライトアドレスレジスタ23のコピーをセット
する。 (5)制御記憶(CS)リードアドレス繰り返し回数カ
ウンタ25 ループ命令検出中にCSリードアドレスのループ回数を
カウントする。 (6)トレーサライトデータレジスタ26 トレーサメモリ28にライトするトレースデータをセッ
トする。 (7)トレーサライトデータセレクタ27 トレース中のHW状態値とCSリードアドレス繰り返し
回数カウンタ25の値とを選択する。 (8)トレーサメモリ28 トレースデータを格納する。
The tracer unit 2 has the following elements. (1) Tracer control unit 21 The instruction decoding unit 15 controls the start and end of the trace. (2) Tracer write address selector 22 Selects a write address of the tracer memory 28. (3) Tracer write address register 23 The write address of the tracer memory 28 is set. (4) Tracer write address copy register 24 A copy of the tracer write address register 23 is set. (5) Control storage (CS) read address repetition counter 25 The number of loops of the CS read address is counted while detecting a loop instruction. (6) Tracer write data register 26 The trace data to be written to the tracer memory 28 is set. (7) Tracer write data selector 27 Selects the HW state value during tracing and the value of the CS read address repetition number counter 25. (8) Tracer memory 28 Stores trace data.

【0023】信号線は以下の通りになっている。 (1)信号線31 CSリードアドレスレジスタ12の出力である。 (2)信号線32 命令解読部15の出力である。 (3)信号線33 CSリードアドレス繰り返し回数カウンタ25の出力で
ある。 (4)信号線34 トレーサライトアドレスコピーレジスタ24のホールド
信号である。 (5)信号線35 トレーサライトアドレスセレクタ22のセレクト信号で
ある。 (6)信号線36 CSアドレス繰り返し回数カウンタ25のリセット信号
である。 (7)信号線37 CSアドレス繰り返し回数カウンタ25のストローブ信
号である。 (8)信号線38 トレーサライトデータセレクタ27のセレクト信号であ
る。
The signal lines are as follows. (1) Signal line 31 This is an output of the CS read address register 12. (2) Signal line 32 This is an output of the instruction decoding unit 15. (3) Signal line 33 This is the output of the CS read address repetition counter 25. (4) Signal line 34 This is a hold signal for the tracer write address copy register 24. (5) Signal line 35 This is a select signal of the tracer write address selector 22. (6) Signal line 36 This is a reset signal for the CS address repetition counter 25. (7) Signal line 37 This is a strobe signal of the CS address repetition number counter 25. (8) Signal line 38 This is a select signal of the tracer write data selector 27.

【0024】次に、トレーサ制御部21の一実施の形態
を図2を参照して説明する。 (1)ループ命令検出回路2101 ループ命令を検出する手段である。 (2)ループ中フラグ2102 ループ命令検出回路2101がループ命令を検出したこ
とを示す。 (3)制御記憶(CS)アドレスコピーレジスタ210
4 CSリードアドレスのコピーを格納する。 (4)OR回路2103 CSアドレスコピーレジスタ2104のホールド信号を
生成する。 (5)ループスタートアドレス保持期間タイマ2105 HW制御命令でループが開始したアドレスと、トレーサ
メモリに格納されているループの始まりのトレーサアド
レスをホールドしておく期間を設定する。一回のループ
が長いものはループとみなさないようにする、あるいは
ループの回数が多いものは何回かに分けてトレースする
制御のために用いる。 (6)タイムアウト検出回路2106 ループスタートアドレス保持期間タイマ2105のタイ
ムアウトを検出する手段である。 (7)比較回路2107 CSリードアドレスレジスタ12とCSアドレスコピー
レジスタ2104とが等しいことを検出する手段であ
る。 (8)比較回路2108 CSアドレス繰り返し回数カウンタ25の値が2以上で
あることを検出する手段である。 (9)AND回路2109 トレーサライトアドレスセレクタ22のセレクト信号を
生成する。 (10)AND回路2110 トレーサライトデータセレクタ27のセレクト信号を生
成する。
Next, an embodiment of the tracer control section 21 will be described with reference to FIG. (1) Loop instruction detection circuit 2101 This is means for detecting a loop instruction. (2) Loop flag 2102 Indicates that the loop instruction detection circuit 2101 has detected a loop instruction. (3) Control storage (CS) address copy register 210
4 Store a copy of the CS read address. (4) OR circuit 2103 Generates a hold signal for CS address copy register 2104. (5) Loop start address holding period timer 2105 A period for holding the address at which the loop started by the HW control instruction and the tracer address at the beginning of the loop stored in the tracer memory is set. A loop with a long loop is not regarded as a loop, or a loop with a large number of loops is used for control of tracing by dividing into several loops. (6) Timeout detection circuit 2106 This is a means for detecting a timeout of the loop start address holding period timer 2105. (7) Comparison circuit 2107 This is a means for detecting that the CS read address register 12 and the CS address copy register 2104 are equal. (8) Comparison circuit 2108 This is a means for detecting that the value of the CS address repetition number counter 25 is 2 or more. (9) AND circuit 2109 Generates a select signal for the tracer write address selector 22. (10) AND circuit 2110 Generates a select signal for the tracer write data selector 27.

【0025】次に、トレーサ制御部21が図2の実施の
形態をとる場合を例にトレーサメモリ制御装置100の
動作を説明する。 (1)制御記憶13から命令が読み出され、CSリード
データレジスタ14に格納される。 (2)CSリードデータレジスタ14に格納された命令
が命令解読部15でデコードされ、トレーサ制御部21
にトレース開始の指示が出る(トレースが開始され
る)。 (3)トレーサメモリ28のトレーサライトアドレスレ
ジスタ23の値で指示されたアドレスにトレーサライト
データレジスタ26にセットされているトレースデータ
をライトする。 (4)トレーサライトアドレスコピーレジスタ24にト
レーサライトアドレスレジスタ23の値をセットし、ト
レーサライトアドレスレジスタ23をインクリメント
し、トレーサライトデータレジスタ26に次のトレース
データをセットする。
Next, the operation of the tracer memory control device 100 will be described by taking as an example the case where the tracer controller 21 adopts the embodiment of FIG. (1) An instruction is read from the control storage 13 and stored in the CS read data register 14. (2) The instruction stored in the CS read data register 14 is decoded by the instruction decoding unit 15 and the tracer control unit 21
Is instructed to start tracing (tracing is started). (3) The trace data set in the tracer write data register 26 is written to the address indicated by the value of the tracer write address register 23 of the tracer memory 28. (4) The value of the tracer write address register 23 is set in the tracer write address copy register 24, the tracer write address register 23 is incremented, and the next trace data is set in the tracer write data register 26.

【0026】(1)〜(4)のように命令のアドレスを
トレースしていくが、ループまたは条件分岐命令などに
よって同じアドレスの命令が繰り返される場合、この繰
り返される命令群のアドレストレースをトレーサメモリ
に上書きし、又繰り返し回数をトレーサメモリに記憶す
るため、同じデータをトレースすることがない。
The addresses of the instructions are traced as in (1) to (4). When an instruction having the same address is repeated by a loop or a conditional branch instruction, the address trace of the repeated instruction group is traced to the tracer memory. And the number of repetitions is stored in the tracer memory, so that the same data is not traced.

【0027】以下の(5)〜(9)は命令に繰り返しが
あった場合の動作である。 (5)CSリードデータレジスタ14の内容が、ループ
命令、条件分岐だったならば、CSアドレスコピーレジ
スタ2104のループスタートアドレス保持期間タイマ
2105をスタートする。ループスタートアドレス保持
期間タイマ2105がカウントしている間(ループAと
する)、CSアドレスコピーレジスタ2104をホール
ドし、トレーサライトアドレスレジスタ23の値で指示
されたアドレスにトレーサライトデータレジスタ26に
格納されているトレースデータをトレーサメモリ28に
ライトする。 (6)ループA中で、CSリードデータレジスタ14の
内容が、ループ命令、条件分岐命令でなかった場合、ル
ープスタートアドレス保持期間タイマ2105がタイム
アウトを検出する前であれば、CSアドレスコピーレジ
スタ2104をホールドし、トレーサライトアドレスレ
ジスタ23の値で指示されたアドレスにトレーサライト
データレジスタ26に格納されているトレースデータを
トレーサメモリ28にライトする。トレーサライトアド
レスレジスタ23をインクリメントし、トレーサライト
データレジスタ26に次のトレースデータをセットす
る。 (7)ループA中で、制御記憶リードデータレジスタ1
4の内容が、ループ命令、条件分岐命令であった時、ル
ープスタートアドレス保持期間タイマ2105がタイム
アウトを検出する前であれば、制御記憶リードアドレス
レジスタ12と先にホールドしてあった制御記憶アドレ
スコピーレジスタ2104の値とを比較する。
The following (5) to (9) are operations when the instruction is repeated. (5) If the contents of the CS read data register 14 are a loop instruction and a conditional branch, the loop start address holding period timer 2105 of the CS address copy register 2104 is started. While the loop start address holding period timer 2105 is counting (referred to as loop A), the CS address copy register 2104 is held and stored in the tracer write data register 26 at the address indicated by the value of the tracer write address register 23. The trace data is written to the tracer memory 28. (6) In the loop A, if the content of the CS read data register 14 is not a loop instruction or a conditional branch instruction, and if the loop start address holding period timer 2105 does not detect a timeout, the CS address copy register 2104 And writes the trace data stored in the tracer write data register 26 to the tracer memory 28 at the address specified by the value of the tracer write address register 23. The tracer write address register 23 is incremented, and the next trace data is set in the tracer write data register 26. (7) In the loop A, the control storage read data register 1
4 is a loop instruction or a conditional branch instruction, and if the loop start address holding period timer 2105 does not detect a timeout, the control storage read address register 12 and the control storage address previously held The value of the copy register 2104 is compared.

【0028】2つのアドレス値が一致したならば、同じ
制御記憶アドレスのループ命令、条件分岐命令であるか
ら、制御記憶リードアドレス繰り返し回数カウンタ25
のインクリメントと、ループスタートアドレス保持期間
タイマ2105のリセット・リスタートを実行する。
If the two address values match, it means that the instruction is a loop instruction or a conditional branch instruction having the same control storage address.
And the reset / restart of the loop start address holding period timer 2105 is executed.

【0029】また、ループスタートアドレス保持期間タ
イマ2105がカウントしている間であり、かつ制御記
憶リードアドレス繰り返し回数カウンタ25の値が2以
上の時、トレーサライトアドレスレジスタ23にトレー
サライトアドレスコピーレジスタ24の値をセットし、
トレーサライトアドレスレジスタ23の値で指示された
アドレスにトレーサライトデータレジスタ26に格納さ
れているトレースデータと制御記憶アドレス繰り返し回
数カウンタ25の値をトレーサメモリ28にライトす
る。 (8)ループA中で、制御記憶リードデータレジスタ1
4の内容が、ループ命令、条件分岐命令であった場合、
ループスタートアドレス保持期間タイマ2105がタイ
ムアウトを検出する前であれば、制御記憶リードアドレ
スレジスタ2と先にホールドしていた制御記憶アドレス
コピーレジスタ2104の値とを比較する。
When the count value of the control storage read address repetition counter 25 is 2 or more while the loop start address holding period timer 2105 is counting, the tracer write address copy register 24 Set the value of
The trace data stored in the tracer write data register 26 and the value of the control storage address repetition number counter 25 are written to the tracer memory 28 at the address specified by the value of the tracer write address register 23. (8) In the loop A, the control storage read data register 1
4 is a loop instruction or a conditional branch instruction,
If the loop start address holding period timer 2105 has not detected a timeout, the control storage read address register 2 is compared with the value stored in the control storage address copy register 2104 previously held.

【0030】2つのアドレス値が一致しなければ、異な
る制御記憶アドレスのループ命令、条件分岐命令である
から、制御記憶リードアドレス繰り返し回数カウンタ2
5のリセットと、ループスタートアドレス保持期間タイ
マ2105のリセット・リスタートを実行する。
If the two address values do not match, it means that the instruction is a loop instruction or a conditional branch instruction having a different control storage address.
5 and the reset / restart of the loop start address holding period timer 2105 are executed.

【0031】また、ループスタートアドレス保持期間タ
イマ2105がカウントしている間(ループBとす
る)、制御記憶アドレスコピーレジスタ2104をホー
ルドし、トレーサライトアドレスレジスタ23の値で指
示されたアドレスにトレーサライトデータレジスタ26
に格納されているトレースデータをトレーサメモリ28
にライトする。 (9)ループA中で、制御記憶リードデータレジスタ1
4の内容が、ループ命令、条件分岐命令であった場合、
ループスタートアドレス保持期間タイマ2105がタイ
ムアウトを検出した後であれば、同じ制御記憶アドレス
であっても、新しいループとして扱う。
While the loop start address holding period timer 2105 is counting (referred to as loop B), the control storage address copy register 2104 is held, and the tracer write address is designated by the value of the tracer write address register 23. Data register 26
Trace data stored in the tracer memory 28
Write to (9) In the loop A, the control storage read data register 1
4 is a loop instruction or a conditional branch instruction,
After the loop start address holding period timer 2105 detects a timeout, the same control storage address is treated as a new loop.

【0032】このため、(8)と同様に、制御記憶リー
ドアドレス繰り返し回数カウンタ25のリセットと、ル
ープスタートアドレス保持期間タイマ2105のリセッ
ト・リスタートを実行する。
Therefore, as in (8), the control storage read address repetition number counter 25 is reset, and the loop start address holding period timer 2105 is reset and restarted.

【0033】また、ループスタートアドレス保持期間タ
イマ2105がカウントしている間、制御記憶アドレス
コピーレジスタ2104をホールドし、トレーサライト
アドレスレジスタ23の値で指示されたアドレスにトレ
ーサライトデータレジスタ26に格納されているトレー
スデータをトレーサメモリ28にライトする。
While the loop start address holding period timer 2105 is counting, the control storage address copy register 2104 is held, and is stored in the tracer write data register 26 at the address indicated by the value of the tracer write address register 23. The trace data is written to the tracer memory 28.

【0034】[0034]

【発明の効果】本発明のアドレストレース方法及びトレ
ーサメモリ制御装置によれば、小さなトレースメモリで
長時間のトレースが可能であり、かつ、イベントの発生
間隔やアドレスループの構成に起因するトレースデータ
の不足を生じることのない、制御記憶アドレスのアドレ
ストレースを実行することができる。
According to the address tracing method and the tracer memory control device of the present invention, a long trace can be performed with a small trace memory, and trace data resulting from an event occurrence interval and an address loop configuration can be obtained. An address trace of the control storage address without causing a shortage can be executed.

【0035】以上、本発明を実施の形態に基づいて説明
したが、本発明はこれに限定されるものではなく、当業
者の通常の知識の範囲内でその変更や改良が可能である
ことは勿論である。
Although the present invention has been described based on the embodiments, the present invention is not limited to these embodiments, and it is understood that changes and improvements can be made within the ordinary knowledge of those skilled in the art. Of course.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施の形態であるトレーサメモリ制
御装置100の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a tracer memory control device 100 according to an embodiment of the present invention.

【図2】トレーサ制御部21の一実施の形態のブロック
図である。
FIG. 2 is a block diagram of an embodiment of a tracer control unit 21;

【図3】従来のトレーサメモリ制御装置300の構成を
示すブロック図である。
FIG. 3 is a block diagram showing a configuration of a conventional tracer memory control device 300.

【符号の説明】[Explanation of symbols]

1 制御記憶部 2 トレーサ部 11 制御記憶(CS)アドレス制御部 12 制御記憶(CS)リードアドレスレジスタ 13 制御記憶(CS) 14 制御記憶(CS)リードデータレジスタ 15 命令解読部 21 トレーサ制御部 22 トレーサライトアドレスセレクタ 23 トレーサライトアドレスレジスタ 24 トレーサライトアドレスコピーレジスタ 25 制御記憶(CS)リードアドレス繰り返し回数カ
ウンタ 26 トレーサライトデータレジスタ 27 トレーサライトデータセレクタ 28 トレーサメモリ 31、32、33、34、35、36、37、38 信
号線 2101 ループ命令検出回路 2102 ループ中フラグ 2103 OR回路 2104 制御記憶(CS)アドレスコピーレジスタ 2105 ループスタートアドレス保持期間タイマ 2106 タイムアウト検出回路 2107、2108 比較回路 2109、2110 AND回路
REFERENCE SIGNS LIST 1 control storage unit 2 tracer unit 11 control storage (CS) address control unit 12 control storage (CS) read address register 13 control storage (CS) 14 control storage (CS) read data register 15 instruction decoding unit 21 tracer control unit 22 tracer Write address selector 23 Tracer write address register 24 Tracer write address copy register 25 Control storage (CS) read address repetition counter 26 Tracer write data register 27 Tracer write data selector 28 Tracer memory 31, 32, 33, 34, 35, 36, 37, 38 signal line 2101 loop instruction detecting circuit 2102 loop flag 2103 OR circuit 2104 control storage (CS) address copy register 2105 loop start address holding period Ma 2106 time-out detection circuit 2107 and 2108 comparison circuit 2109,2110 AND circuit

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 毎Tトレース方式により制御記憶アドレ
スのトレースを行うアドレストレース方法において、 ループ命令を識別する段階と、 ループ部分を縮退する段階と、 縮退したループ部分をトレーサメモリに書き込む段階と
を含むことを特徴とするアドレストレース方法。
1. An address tracing method for tracing a control storage address by a T-tracing method, comprising the steps of: identifying a loop instruction; degenerating a loop portion; and writing the degenerated loop portion to a tracer memory. An address tracing method comprising:
【請求項2】 毎Tトレース方式により制御記憶アドレ
スのトレースを行うアドレストレース方法において、 同一アドレスの繰り返しを検出する段階と、 ループ部分のうち、最後のループのみを残してトレーサ
メモリに書き込む段階とを含むことを特徴とするアドレ
ストレース方法。
2. An address tracing method for tracing a control storage address by every T tracing method, wherein a step of detecting repetition of the same address, and a step of writing only the last loop of a loop portion into a tracer memory. An address tracing method comprising:
【請求項3】 請求項2記載のアドレストレース方法に
おいて、ループの終了をタイマーによって検出すること
を特徴とするアドレストレース方法。
3. The address trace method according to claim 2, wherein the end of the loop is detected by a timer.
【請求項4】 毎Tトレース方式により制御記憶アドレ
スのトレースを行うアドレストレース方法において、 同一アドレスの繰り返しを検出する段階と、 タイマーを用いてループの終了を検出する段階と、 ループ部分のうち、最後のループのみを残してトレーサ
メモリに書き込む段階とを含むことを特徴とするアドレ
ストレース方法。
4. An address tracing method for tracing a control storage address by every T tracing method, wherein: a step of detecting repetition of the same address; a step of detecting the end of a loop by using a timer; Writing only the last loop to the tracer memory.
【請求項5】 毎Tトレース方式により制御記憶アドレ
スのトレースを行うトレーサメモリ制御装置において、 同一アドレスの繰り返しを検出するループ検出手段と、 ループの繰り返し回数を数える繰り返し回数カウンタ
と、 ループ部分のうち、最後のループのみをトレーサメモリ
に書き込むトレーサメモリ書込手段とを備えることを特
徴とするトレーサメモリ制御装置。
5. A tracer memory control device for tracing a control storage address by a T-trace method, a loop detecting means for detecting repetition of the same address, a repetition counter for counting the number of repetitions of a loop, Tracer memory control means for writing only the last loop into the tracer memory.
【請求項6】 請求項5記載のトレーサメモリ制御装置
において、更に、 タイマと、 前記タイマにより、予め定められたループスタートアド
レス保持期間が経過することを検出するタイムアウト検
出回路とを備えることを特徴とするトレーサメモリ制御
装置。
6. The tracer memory control device according to claim 5, further comprising: a timer; and a time-out detection circuit for detecting, by the timer, that a predetermined loop start address holding period has elapsed. Tracer memory controller.
JP10020622A 1998-02-02 1998-02-02 Address tracing method and tracer memory controller Withdrawn JPH11219293A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10020622A JPH11219293A (en) 1998-02-02 1998-02-02 Address tracing method and tracer memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10020622A JPH11219293A (en) 1998-02-02 1998-02-02 Address tracing method and tracer memory controller

Publications (1)

Publication Number Publication Date
JPH11219293A true JPH11219293A (en) 1999-08-10

Family

ID=12032351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10020622A Withdrawn JPH11219293A (en) 1998-02-02 1998-02-02 Address tracing method and tracer memory controller

Country Status (1)

Country Link
JP (1) JPH11219293A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042815A (en) * 2007-08-06 2009-02-26 Renesas Technology Corp Semiconductor integrated circuit and debugging system
WO2009157036A1 (en) * 2008-06-24 2009-12-30 富士通株式会社 Information processor and control method
JP2016177564A (en) * 2015-03-20 2016-10-06 Necプラットフォームズ株式会社 Debug control circuit and debug control method
US11347628B2 (en) 2018-01-17 2022-05-31 Mitsubishi Electric Corporation Test case generation apparatus, test case generation method, and computer readable medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042815A (en) * 2007-08-06 2009-02-26 Renesas Technology Corp Semiconductor integrated circuit and debugging system
US8060790B2 (en) 2007-08-06 2011-11-15 Renesas Electronics Corporation Semiconductor integrated circuit and debugging system
WO2009157036A1 (en) * 2008-06-24 2009-12-30 富士通株式会社 Information processor and control method
JP2016177564A (en) * 2015-03-20 2016-10-06 Necプラットフォームズ株式会社 Debug control circuit and debug control method
US11347628B2 (en) 2018-01-17 2022-05-31 Mitsubishi Electric Corporation Test case generation apparatus, test case generation method, and computer readable medium

Similar Documents

Publication Publication Date Title
US4423508A (en) Logic tracing apparatus
US9086969B2 (en) Establishing a useful debugging state for multithreaded computer program
US20080016415A1 (en) Evaluation system and method
US5146586A (en) Arrangement for storing an execution history in an information processing unit
JPH11219293A (en) Address tracing method and tracer memory controller
US20230314513A1 (en) In-circuit emulator device
JPS6011943A (en) Inspection system for test program
US20230315612A1 (en) In-circuit emulator device
JP2007241431A (en) Trace data recording device
JPS6045853A (en) History diagnosing system
JP2001005689A (en) Trace sampling circuit
SU896626A1 (en) Input-output monitoring device
SU1509929A1 (en) Graphic display with check
JPS63123140A (en) History information storage device
JPS6227422B2 (en)
JPS6239782B2 (en)
JPH05173846A (en) Fault analysis information tracing method
JPS6320637A (en) Execution history storage device
JPH01166144A (en) Debugging system for firmware program
JPH05342063A (en) Tracer circuit
JP2001060162A (en) In-circuit emulator
JPS5936853A (en) Operation processor
JPH0784827A (en) Trace device
JPS6029128B2 (en) microprogram controller
JPS61190636A (en) Information processor with trace function

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050405