JPH03240839A - Firmware executing address tracer - Google Patents
Firmware executing address tracerInfo
- 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
Links
- 239000000700 radioactive tracer Substances 0.000 title claims description 8
- 230000005540 biological transmission Effects 0.000 abstract 1
- 230000008602 contraction Effects 0.000 abstract 1
- 238000001514 detection method Methods 0.000 abstract 1
- 230000002401 inhibitory effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
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.
従来、この種のアドレストレーサはトレース開始指示が
あったアドレスからトレース停止指示があった区間のフ
ァームウェア実行アドレスの記録を行っている。しかし
記録を行うメモリの容量には制限があるため、メモリ容
量−杯に書込まれた場合は、一番古く書込まれたメモリ
番地から順次上書きされるような構造となっている。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.
上述した従来のファームウェア実行アドレストレーサは
、ファームウェアがループしている部分も判断しないで
無条件にトレースメモリに記録を行うため、アドレスト
レースを行う区間にこのループがあるとアドレストレー
スには不必要なループの記録が多数トレースメモリ内に
残り、本来必要なトレース記録がアドレストレースメモ
リの容量の制限で残らないという欠点がある。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.
本発明のトレーサは、マイクロプログラム制御回路の実
行アドレスのトレースを行うためのファームウェア実行
アドレストレーサにおいて、実行アドレスのトレースを
記憶するアドレストレースメモリと、
該アドレストレースメモリへの書込みアドレスを指示す
るためのアドレスカウンタと、マイクロ命令が条件付分
岐命令であることを検出するコマンドデコーダと、
現在の実行アドレスから分岐先のアドレスとの差分を算
出し、前記アドレスカウンタに保持しているアドレス値
からこの差分の減算を行うアドレス演算部と、
該演算結果を設定し前記アドレストレースメモリの読取
アドレスを生成する読取アドレスカウンタと、
前記コマンドデコーダの条件付分岐命令を検出した後に
前記読取アドレスカウンタが示す番地の前記アドレスト
レースメモリの内容とマイクロプログラムの実行アドレ
スとの比較を行うアドレス比較部と、
該アドレス比較部での比較結果が等しい場合、前記アド
レストレースメモリへの実行アドレスの書込を禁止する
書込制御部とを有することを特徴とする。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.
第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.
以上説明したように本発明は、条件付分岐命令検出時ア
ドレストレースメモリの内容と実行アドレスを比較する
ことにより、ファームウェアのループしているアドレス
トレースがアドレストレースメモリ内に記録されること
を禁止する。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.
第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.
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)
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 |
-
1990
- 1990-02-19 JP JP2038903A patent/JPH03240839A/en active Pending
Cited By (2)
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 |