JPH03240839A - Firmware executing address tracer - Google Patents

Firmware executing address tracer

Info

Publication number
JPH03240839A
JPH03240839A JP2038903A JP3890390A JPH03240839A JP H03240839 A JPH03240839 A JP H03240839A JP 2038903 A JP2038903 A JP 2038903A JP 3890390 A JP3890390 A JP 3890390A JP H03240839 A JPH03240839 A JP H03240839A
Authority
JP
Japan
Prior art keywords
address
trace memory
write
execution
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2038903A
Other languages
Japanese (ja)
Inventor
Ichiro Shirasaka
白坂 一郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2038903A priority Critical patent/JPH03240839A/en
Publication of JPH03240839A publication Critical patent/JPH03240839A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To attain the effective use of an address trace memory by comparing the contents of an address trace memory with an execution address at detection of a conditional branch instruction and inhibiting the write of the execution address into the address trace memory when the coincidence of comparison is secured via an address comparison part. CONSTITUTION:An address computing element 7 subtracts the relative branch information included in a conditional branch instruction, i.e., the difference value between the present execution address and a branch destination address from the write counter value and outputs the result of this contraction to a read counter 4. An address comparator 8 compares the contents of an address trace memory 6 pointed by a read counter with a microprogram address. A coincidence signal is outputted to a write control part 10 in order to inhibit the transmission of a write signal and also to inhibit the count-up operation of a write address counter 5 as long as the coincidence of addresses is secured via the comparator 8.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプログラムの制御回路の実行アドレス
のトレースを行うためのファームウェア実行アドレスト
レーサに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a firmware execution address tracer for tracing the execution address of a control circuit of a microprogram.

〔従来の技術〕[Conventional technology]

従来、この種のアドレストレーサはトレース開始指示が
あったアドレスからトレース停止指示があった区間のフ
ァームウェア実行アドレスの記録を行っている。しかし
記録を行うメモリの容量には制限があるため、メモリ容
量−杯に書込まれた場合は、一番古く書込まれたメモリ
番地から順次上書きされるような構造となっている。
Conventionally, this type of address tracer records the firmware execution address in the section from the address where the trace start instruction was issued to the address where the trace stop instruction was issued. However, since there is a limit to the memory capacity for recording, the structure is such that when data is written to the maximum memory capacity, data is overwritten sequentially starting from the oldest memory address.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来のファームウェア実行アドレストレーサは
、ファームウェアがループしている部分も判断しないで
無条件にトレースメモリに記録を行うため、アドレスト
レースを行う区間にこのループがあるとアドレストレー
スには不必要なループの記録が多数トレースメモリ内に
残り、本来必要なトレース記録がアドレストレースメモ
リの容量の制限で残らないという欠点がある。
The above-mentioned conventional firmware execution address tracer records unconditionally in the trace memory without determining whether the firmware is looping, so if this loop exists in the area where address tracing is performed, it will be unnecessary for address tracing. This method has the disadvantage that a large number of loop records remain in the trace memory, and essential trace records cannot remain due to the limited capacity of the address trace memory.

〔課題を解決するための手段〕[Means to solve the problem]

本発明のトレーサは、マイクロプログラム制御回路の実
行アドレスのトレースを行うためのファームウェア実行
アドレストレーサにおいて、実行アドレスのトレースを
記憶するアドレストレースメモリと、 該アドレストレースメモリへの書込みアドレスを指示す
るためのアドレスカウンタと、マイクロ命令が条件付分
岐命令であることを検出するコマンドデコーダと、 現在の実行アドレスから分岐先のアドレスとの差分を算
出し、前記アドレスカウンタに保持しているアドレス値
からこの差分の減算を行うアドレス演算部と、 該演算結果を設定し前記アドレストレースメモリの読取
アドレスを生成する読取アドレスカウンタと、 前記コマンドデコーダの条件付分岐命令を検出した後に
前記読取アドレスカウンタが示す番地の前記アドレスト
レースメモリの内容とマイクロプログラムの実行アドレ
スとの比較を行うアドレス比較部と、 該アドレス比較部での比較結果が等しい場合、前記アド
レストレースメモリへの実行アドレスの書込を禁止する
書込制御部とを有することを特徴とする。
The tracer of the present invention is a firmware execution address tracer for tracing execution addresses of a microprogram control circuit, and includes an address trace memory for storing a trace of execution addresses, and an address trace memory for instructing a write address to the address trace memory. An address counter, a command decoder that detects that the microinstruction is a conditional branch instruction, and a command decoder that calculates the difference between the current execution address and the branch destination address, and calculates this difference from the address value held in the address counter. a read address counter that sets the result of the operation and generates a read address of the address trace memory; and a read address counter that sets the result of the operation to generate a read address of the address trace memory; an address comparison unit that compares the contents of the address trace memory and the execution address of the microprogram; and a write that prohibits writing of the execution address to the address trace memory if the comparison results in the address comparison unit are equal. It is characterized by having a control section.

〔実施例〕〔Example〕

第1図は本発明の一実施例のブロック図である。 FIG. 1 is a block diagram of one embodiment of the present invention.

クロック1は、マイクロプログラム制御部に使用されて
いる基本クロックである。アドレス2はマイクロプログ
ラム制御部のマイクロプログラムアドレスである。
Clock 1 is the basic clock used in the microprogram control section. Address 2 is the microprogram address of the microprogram control section.

インストラクション3はマイクロプログラム制御部のマ
イクロコードである。リードカウンタ4はクロックlに
よりカウントアツプしアドレストレースメモリから読出
す番地を指示する。ライトカウンタ5はりpツクlによ
りカウントアツプしアドレストレースメモリにマイクロ
プログラムアドレスを書込む番地を指示する。
Instruction 3 is the microcode of the microprogram control section. The read counter 4 counts up in response to the clock l and indicates the address to be read from the address trace memory. The write counter 5 counts up by the clock P and indicates the address at which the microprogram address is to be written to the address trace memory.

アドレストレースメモリ6はマイクロプログラムアドレ
スの記録を行う。
Address trace memory 6 records microprogram addresses.

アドレス演算器7は条件付分岐命令のインストラクショ
ン内の相対分岐情報(現在の実行アドレスから分岐先ア
ドレスの差を示す)の値をライトカウンタ値より減算し
リードカウンタ4に出力する。アドレス比較器8はリー
ドカウンタにより指示されたアドレストレースメモリ6
の内容トマイクロプログラムアドレスとの比較を行う。
The address calculator 7 subtracts the value of relative branch information (indicating the difference between the current execution address and the branch destination address) in the instruction of the conditional branch instruction from the write counter value and outputs it to the read counter 4. The address comparator 8 is an address trace memory 6 indicated by the read counter.
The contents are compared with the microprogram address.

コマンドデコーダ9はインストラクションが条件付分岐
命令であることを判断する。書込み制御部10はコマン
ドデコーダ9及びアドレス比較器8の出力からアドレス
トレースメモリ6への書込み信号を生成する。
Command decoder 9 determines that the instruction is a conditional branch instruction. A write control unit 10 generates a write signal to the address trace memory 6 from the outputs of the command decoder 9 and address comparator 8.

トレースデータ出力11はアドレストレースメモリ6か
らのトレースデータの読出しに使用する。
Trace data output 11 is used to read trace data from address trace memory 6.

リセット12はリードアドレスカウンタ4及びライトア
ドレスカウンタ5のリセットをマイクロフログラム制御
部から指示するために使用される。
Reset 12 is used to instruct the microprogram control section to reset the read address counter 4 and write address counter 5.

次に本発明の動作について説明する。Next, the operation of the present invention will be explained.

インストラクション3が条件付分岐命令以外のときは、
書込み制御部10から書込信号が出力され、マイクロプ
ログラムアドレス2がライトアドレスカウンタ5で指示
されるアドレストレースメモリ6の番地に書込まれる。
When instruction 3 is other than a conditional branch instruction,
A write signal is output from the write control unit 10, and the microprogram address 2 is written to the address of the address trace memory 6 indicated by the write address counter 5.

ライト7ドレスカウンタ5はクロックlによりカウント
アツプされ順次マイクロプログラムアドレス2が書込ま
れる。
The write 7 address counter 5 is counted up by the clock 1, and the microprogram address 2 is sequentially written.

コマンドデコーダが条件付分岐命令を検出すると、イン
ストラクション内の現在の実行アドレスと分岐先アドレ
スの差を示す値とライトアドレスカウンタの値がアドレ
ス演算器7に入力されリードアドレスが生成される。リ
ードアドレスはリードアドレスカウンタ4に設定されこ
の出力でアドレストレースメモリ6の読出しが行われる
When the command decoder detects a conditional branch instruction, a value indicating the difference between the current execution address and the branch destination address in the instruction and the value of the write address counter are input to the address calculator 7 to generate a read address. The read address is set in the read address counter 4, and the address trace memory 6 is read from this output.

アドレストレースメモリ6から読出されたデータはアド
レス比較器8でマイクロプログラムアドレス2との比較
が行われる。この比較が一致している間は、書込み制御
部lOに一致信号を出力し書込み信号の送出を禁止する
と共にライトアドレスカウンタ5のカウントアツプをも
禁止する。これによりファームウェアのループ部分がア
ドレストレースメモリ6に書込みが禁止される。
The data read from address trace memory 6 is compared with microprogram address 2 by address comparator 8. While the comparison results in a match, a match signal is output to the write control unit 1O to inhibit the sending of the write signal and also inhibit the write address counter 5 from counting up. As a result, writing of the loop portion of the firmware to the address trace memory 6 is prohibited.

アドレストレースメモリ6の内容を読出す場合は、リセ
ット12によりリードアドレスカウンタをリセットしク
ロックlにより順次カウントアツプすることによりトレ
ースデータ出力11から読出すことが出来る。
When reading the contents of the address trace memory 6, the contents can be read from the trace data output 11 by resetting the read address counter by the reset 12 and sequentially counting up by the clock 1.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、条件付分岐命令検出時ア
ドレストレースメモリの内容と実行アドレスを比較する
ことにより、ファームウェアのループしているアドレス
トレースがアドレストレースメモリ内に記録されること
を禁止する。
As explained above, the present invention prohibits the looping address trace of firmware from being recorded in the address trace memory by comparing the contents of the address trace memory and the execution address when a conditional branch instruction is detected. .

これにより、限られた容量しかないアドレストレースメ
モリを有効に使用することが可能となる。
This makes it possible to effectively use the address trace memory, which has a limited capacity.

また障害等でファームウェアのループでストールしてい
るような場合でもループする以前の有効トレース情報を
アドレストレースメモリに残すことが可能となる。
Furthermore, even if the firmware is stalled in a loop due to a failure or the like, valid trace information from before the loop can be left in the address trace memory.

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

第1図は本発明の一実施例のブロック図である。 1・・・・・・クロック、2・・・・・・マイクロプロ
グラムアドレス、3・・・・・・インストラクション、
4・・・・・・リードアドレスカウンタ、5・・・・・
・ライトアドレスカウンタ、6・・・・・・アドレスト
レースメモリ、7・・・・・・アドレス演算器、8・・
・・・・アドレス比較器、9・・・・・・コマンドデコ
ーダ、10・・・・・・書込み制御部、11・・・・・
・トレースデータ出力、12・・・・・・リセット。
FIG. 1 is a block diagram of one embodiment of the present invention. 1...Clock, 2...Microprogram address, 3...Instruction,
4... Read address counter, 5...
・Write address counter, 6... Address trace memory, 7... Address calculator, 8...
... Address comparator, 9 ... Command decoder, 10 ... Write control section, 11 ...
・Trace data output, 12...Reset.

Claims (1)

【特許請求の範囲】 マイクロプログラム制御回路の実行アドレスのトレース
を行うためのファームウェア実行アドレストレーサにお
いて、 実行アドレスのトレースを記憶するアドレストレースメ
モリと、 該アドレストレースメモリへの書込みアドレスを指示す
るためのアドレスカウンタと、 マイクロ命令が条件付分岐命令であることを検出するコ
マンドデコーダと、 現在の実行アドレスから分岐先のアドレスとの差分を算
出し、前記アドレスカウンタに保持しているアドレス値
からこの差分の減算を行うアドレス演算部と、 該演算結果を設定し前記アドレストレースメモリの読取
アドレスを生成する読取アドレスカウンタと、 前記コマンドデコーダの条件付分岐命令を検出した後に
前記読取アドレスカウンタが示す番地の前記アドレスト
レースメモリの内容とマイクロプログラムの実行アドレ
スとの比較を行うアドレス比較部と、 該アドレス比較部での比較結果が等しい場合、前記アド
レストレースメモリへの実行アドレスの書込を禁止する
書込制御部とを有することを特徴とするファームウェア
実行アドレストレーサ。
[Claims] A firmware execution address tracer for tracing execution addresses of a microprogram control circuit, comprising: an address trace memory for storing traces of execution addresses; and an address trace memory for instructing a write address to the address trace memory. An address counter, a command decoder that detects that the microinstruction is a conditional branch instruction, and a command decoder that calculates the difference between the current execution address and the branch destination address, and calculates this difference from the address value held in the address counter. a read address counter that sets the result of the operation and generates a read address of the address trace memory; and a read address counter that sets the result of the operation to generate a read address of the address trace memory; an address comparison unit that compares the contents of the address trace memory and the execution address of the microprogram; and a write that prohibits writing of the execution address to the address trace memory if the comparison results in the address comparison unit are equal. A firmware execution address tracer comprising: a control unit.
JP2038903A 1990-02-19 1990-02-19 Firmware executing address tracer Pending JPH03240839A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2038903A JPH03240839A (en) 1990-02-19 1990-02-19 Firmware executing address tracer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2038903A JPH03240839A (en) 1990-02-19 1990-02-19 Firmware executing address tracer

Publications (1)

Publication Number Publication Date
JPH03240839A true JPH03240839A (en) 1991-10-28

Family

ID=12538154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2038903A Pending JPH03240839A (en) 1990-02-19 1990-02-19 Firmware executing address tracer

Country Status (1)

Country Link
JP (1) JPH03240839A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633973B1 (en) 1999-12-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Trace control circuit adapted for high-speed microcomputer operation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633973B1 (en) 1999-12-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Trace control circuit adapted for high-speed microcomputer operation
US6996704B2 (en) 1999-12-24 2006-02-07 Renesas Technology Corp. Trace control circuit adapted for high-speed microcomputer operation

Similar Documents

Publication Publication Date Title
KR950009435A (en) Method and device for controlling operation of programmed device
JPH03240839A (en) Firmware executing address tracer
JPH0340142A (en) Firmware executing address tracer
KR20020054519A (en) Applied Program Bungle Detection Apparatus and Method by Interrupt
JPH04354040A (en) Circuit for preventing storage of single event upset error
JPS626341A (en) Information processor
JPH0441375B2 (en)
JPH04130932A (en) Address tracing memory
JPS5831668B2 (en) Index clock supervisory circuit
SU1211735A1 (en) Device for checking program run
KR850006743A (en) System for bypass control during computer pipeline operation
SU1471195A1 (en) Program debugger
JPH0326416B2 (en)
JPH04243436A (en) Execution history storage device
JPS63120336A (en) Switching system for memory access mode
JPS60101652A (en) Program tracing device
JPS60147853A (en) System for storing hystory of microprocessor running condition
JPS62166449A (en) History storage device for logical unit
JPH04195552A (en) Address tracer
JPS63124144A (en) Information processor
JPH04241645A (en) Execution history storing system
JPS63103330A (en) Detecting system for misuse of address stack
JPH0553929A (en) Central processing unit with fault information preserving function
JPS626270B2 (en)
JPS61228544A (en) Write protection system