JPH06259282A - Debugging interruption processor - Google Patents

Debugging interruption processor

Info

Publication number
JPH06259282A
JPH06259282A JP5076362A JP7636293A JPH06259282A JP H06259282 A JPH06259282 A JP H06259282A JP 5076362 A JP5076362 A JP 5076362A JP 7636293 A JP7636293 A JP 7636293A JP H06259282 A JPH06259282 A JP H06259282A
Authority
JP
Japan
Prior art keywords
instruction
interrupt
debug
debug interrupt
information
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
JP5076362A
Other languages
Japanese (ja)
Inventor
Naomichi Yonezawa
直道 米澤
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 JP5076362A priority Critical patent/JPH06259282A/en
Publication of JPH06259282A publication Critical patent/JPH06259282A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To reduce the performance drop of debugging interruption processing in comparison with the case of sampling trace information with the software of debugging interruption processing. CONSTITUTION:A stack pointer 2 is incremented or decremented corresponding to an interrupting instruction from a debugging interruption generating part 1 and when interruption is generated and incremented by inputting an interruption processing end instruction, it is decremented or when the interruption is decremented, it is incremented. A trace information storage pointer 4 is incremented by the interrupting instruction from the debugging interruption generating part 1. A main storage part 3 stores internal information 100 at the time of interruption generation respectively with the interrupting instruction of the debugging interruption generating part 1 as a write instruction B and with the values of the stack pointer 2 and trace information storage pointer 4 as write addresses A.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はデバグ割込み処理装置に
関し、特にデバグ割込みを利用してソフトウェアの命令
シーケンスを解析するための情報を採取する方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a debug interrupt processing device, and more particularly to a method for collecting information for analyzing a software instruction sequence using a debug interrupt.

【0002】[0002]

【従来の技術】従来、デバグ割込みを利用してトレース
情報を採取する方法としては、デバグ割込み処理のソフ
トウェアによってトレース情報を採取する方法がある。
2. Description of the Related Art Conventionally, as a method of collecting trace information by utilizing a debug interrupt, there is a method of collecting trace information by software for debug interrupt processing.

【0003】通常、多くの情報処理装置はデバグ割込み
という機構を有しており、この機構によって例えば1命
令毎にデバグ割込みを発生させることが可能となってい
る。また、デバグ割込みが発生した場合、デバグ割込み
の発生原因を探すため、デバグ割込み発生前の情報処理
装置の状態を再現できるようにその内部状態をスタック
領域などに格納している。
Usually, many information processing apparatuses have a mechanism called a debug interrupt, and this mechanism enables a debug interrupt to be generated for each instruction, for example. When a debug interrupt occurs, the internal state is stored in a stack area or the like so that the state of the information processing device before the debug interrupt can be reproduced in order to find the cause of the debug interrupt.

【0004】すなわち、図7に示すように、デバグ割込
み発生部1からデバグ割込みが発生したとき、情報処理
装置の内部情報100をスタックポインタ2が示す主記
憶部3のスタック領域に格納している。
That is, as shown in FIG. 7, when the debug interrupt generation unit 1 generates a debug interrupt, the internal information 100 of the information processing apparatus is stored in the stack area of the main storage unit 3 indicated by the stack pointer 2. .

【0005】デバグ割込み発生部1は1または複数のデ
バグ割込み要因1a−1〜1a−nを有しており、これ
らデバグ割込み要因1a−1〜1a−nのオアをとるオ
アゲート1bの結果に応じて割込み指示を発生させてい
る。
The debug interrupt generator 1 has one or more debug interrupt factors 1a-1 to 1a-n, and depending on the result of the OR gate 1b which takes the OR of these debug interrupt factors 1a-1 to 1a-n. To generate an interrupt instruction.

【0006】スタックポインタ2はデバグ割込み発生部
1からの割込み指示によってレジスタ2aの値を加算器
2bまたは減算器2cでインクリメントまたはデクリメ
ントしている。また、スタックポインタ2は割込み処理
終了指示101が入力されると、割込み発生時にインク
リメントされるのであればレジスタ2aの値をデクリメ
ントし、デクリメントされるのであればレジスタ2aの
値をインクリメントするようになっている。
The stack pointer 2 increments or decrements the value of the register 2a by the adder 2b or the subtractor 2c according to an interrupt instruction from the debug interrupt generator 1. When the interrupt processing end instruction 101 is input, the stack pointer 2 decrements the value of the register 2a if it is incremented when an interrupt occurs, and increments the value of the register 2a if it is decremented. ing.

【0007】主記憶部3は情報処理装置のプログラムや
データなどを記憶しており、デバグ割込み発生部1から
の割込み指示を書込み指示とし、スタックポインタ2の
値を書込みアドレスとして割込み発生時の内部情報10
0の格納も行う。
The main storage unit 3 stores the programs and data of the information processing device, and the interrupt instruction from the debug interrupt generation unit 1 is used as a write instruction, and the value of the stack pointer 2 is used as a write address, and an internal state at the time of an interrupt is generated. Information 10
It also stores 0.

【0008】デバグ割込み発生時に内部情報100を主
記憶部3へ格納する処理は、図8に示すようにして行わ
れる。すなわち、デバグ割込み発生部1でデバグ割込み
が発生すると、主記憶部3の内部状態は状態1から状態
6へと変化する。
The process of storing the internal information 100 in the main memory 3 when a debug interrupt occurs is performed as shown in FIG. That is, when the debug interrupt generation unit 1 generates a debug interrupt, the internal state of the main storage unit 3 changes from state 1 to state 6.

【0009】ここで、図8中のICは命令カウンタ(図
示せず)の値が示す番地であり、情報処理装置の実行す
る命令の位置を示している。また、SPはスタックポイ
ンタ2の値が示す番地であり、デバグ割込み発生部1で
デバグ割込みが発生したときに内部情報100を格納す
る位置を示している。
Here, the IC in FIG. 8 is an address indicated by the value of an instruction counter (not shown), and indicates the position of the instruction executed by the information processing device. Further, SP is an address indicated by the value of the stack pointer 2 and indicates a position where the internal information 100 is stored when the debug interrupt generation unit 1 generates a debug interrupt.

【0010】さらに、A,B,Cは夫々情報処理装置が
実行する命令を示しており、A’,B’,C’は夫々命
令A,B,C実行後に割込みが発生した際に格納される
内部情報を示している。尚、図8はスタックポインタ2
が割込み発生時にデクリメントされ、割込み処理終了時
にインクリメントされる例を示している。
Further, A, B, and C respectively indicate the instructions executed by the information processing apparatus, and A ', B', and C'are stored when an interrupt occurs after the execution of the instructions A, B, and C, respectively. It shows internal information. 8 shows the stack pointer 2
Is decremented when an interrupt occurs and incremented when the interrupt process ends.

【0011】まず、状態1ではICが命令Aの前を示し
ており、命令Aの実行直前の状態を示している。この状
態で命令Aが実行された後にデバグ割込み発生部1がデ
バグ割込みを発生すると、ICの位置が割込み処理の位
置に移るとともに、スタックポインタ2がデクリメント
されてSPの位置に命令A実行後の内部情報A’が格納
される(図8の状態2参照)。
First, in the state 1, the IC shows the state before the instruction A, and shows the state immediately before the execution of the instruction A. When the debug interrupt generation unit 1 generates a debug interrupt after the instruction A is executed in this state, the IC position moves to the interrupt processing position and the stack pointer 2 is decremented to the SP position after execution of the instruction A. Internal information A ′ is stored (see state 2 in FIG. 8).

【0012】次に、割込み処理終了指示101によって
元のプログラムに戻る場合、状態2のSPの位置に格納
されている内部情報A’を基に情報処理装置内を命令A
実行後の状態に設定する。このとき、ICの値が命令A
実行後の位置に設定されるとともに、スタックポインタ
2がインクリメントされてSPの位置がデバグ割込み発
生前の位置に戻る(図8の状態3参照)。
Next, when returning to the original program by the interrupt processing end instruction 101, a command A is given to the inside of the information processing apparatus based on the internal information A'stored in the SP position of state 2.
Set to the state after execution. At this time, the value of IC is the instruction A
The position after execution is set, and the stack pointer 2 is incremented to return the position of SP to the position before the occurrence of the debug interrupt (see state 3 in FIG. 8).

【0013】上述した動作と同様にして、命令B,Cが
実行され、その後にデバグ割込み発生部1がデバグ割込
みを発生すると、主記憶部3の内部状態は状態4から状
態6へと変化する。この場合、命令A実行後に内部情報
A’が格納されていた主記憶部3のスタック領域には命
令B,C実行後の内部情報B’,C’が順次上書きされ
る。
When the instructions B and C are executed and the debug interrupt generation unit 1 subsequently generates a debug interrupt in the same manner as the above-described operation, the internal state of the main memory unit 3 changes from state 4 to state 6. . In this case, the internal information B ′ and C ′ after the execution of the instructions B and C are sequentially overwritten in the stack area of the main storage unit 3 where the internal information A ′ was stored after the execution of the instruction A.

【0014】上記の割込み処理期間中は、各命令A,
B,C実行後の内部情報A’,B’,C’がSPの位置
に格納されており、割込み処理にはいる前にどのような
命令が実行されたかを知ることが可能である。
During the above interrupt processing period, each instruction A,
The internal information A ′, B ′, C ′ after execution of B, C is stored in the SP position, and it is possible to know what instruction was executed before entering the interrupt processing.

【0015】したがって、情報処理装置が1命令毎にど
のような動作をしたかは1命令毎にデバグ割込みを発生
させ、そのときのスタック領域などに格納された内部情
報を見ることで確認を行うことができ、トレース情報を
採取することができる。
Therefore, the operation of the information processing apparatus for each instruction is confirmed by generating a debug interrupt for each instruction and looking at the internal information stored in the stack area at that time. It is possible to collect trace information.

【0016】ただし、状態4及び状態6に示すように、
スタック領域に格納される内部情報は命令実行毎に破壊
される。そのため、トレース情報を採取しようとする場
合には1回のデバグ割込み毎にスタック領域などに格納
される内部情報を割込み処理の中でソフトウェアによっ
て別の領域に格納する必要がある。
However, as shown in states 4 and 6,
The internal information stored in the stack area is destroyed every time an instruction is executed. Therefore, when trying to collect trace information, it is necessary to store the internal information stored in the stack area or the like in another area by software during interrupt processing for each debug interrupt.

【0017】[0017]

【発明が解決しようとする課題】上述した従来のデバグ
割込みを利用したトレース情報の採取方法では、デバグ
割込みを使用してトレース情報を採取しようとした場
合、割込み処理にかかるソフトウェアの処理量が増大
し、実行性能が低下するという問題がある。
In the above-described conventional trace information collection method using debug interrupts, when attempting to collect trace information using debug interrupts, the processing amount of software for interrupt processing increases. However, there is a problem that the execution performance is reduced.

【0018】そこで、本発明の目的は上記の問題点を解
消し、デバグ割込み処理のソフトウェアによってトレー
ス情報を採取する場合に比較してデバグ割込み処理の性
能低下を軽減することができるデバグ割込み処理装置を
提供することにある。
Therefore, an object of the present invention is to solve the above problems and to reduce the performance degradation of debug interrupt processing as compared with the case where trace information is collected by software for debug interrupt processing. To provide.

【0019】[0019]

【課題を解決するための手段】本発明によるデバグ割込
み処理装置は、ソフトウェアの動作に応じて割込み発生
時に該割込みに応答してスタックポインタが指示する主
記憶上に装置の内部状態を格納する機能を用いてデバグ
割込み発生時の内部状態を記憶するデバグ割込み処理装
置であって、前記スタックポインタが指示する前記主記
憶上の領域外に設けられ、前記内部状態を格納する格納
領域と、前記デバグ割込みに応答して前記格納領域のア
ドレスを順次生成する生成手段と、前記デバグ割込みに
応答して前記主記憶上の領域及び前記格納領域に夫々前
記内部状態を格納する手段とを備えている。
A debug interrupt processing apparatus according to the present invention has a function of storing an internal state of the apparatus in a main memory designated by a stack pointer in response to an interrupt when an interrupt occurs according to the operation of software. A debug interrupt processing device for storing an internal state at the time of a debug interrupt by using a storage area for storing the internal state, which is provided outside the area on the main memory designated by the stack pointer, and the debug state. There is provided a generation means for sequentially generating addresses of the storage area in response to an interrupt, and a means for storing the internal state in the area on the main memory and the storage area in response to the debug interrupt.

【0020】[0020]

【実施例】次に、本発明について図面を参照して説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0021】図1は本発明の一実施例の構成を示すブロ
ック図である。図において、デバグ割込み発生部1は1
または複数のデバグ割込み要因1a−1〜1a−nを有
しており、これらデバグ割込み要因1a−1〜1a−n
のオアをとるオアゲート1bの結果に応じて割込み指示
を発生させている。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention. In the figure, the debug interrupt generator 1 is 1
Or, it has a plurality of debug interrupt factors 1a-1 to 1a-n, and these debug interrupt factors 1a-1 to 1a-n are included.
The interrupt instruction is generated in accordance with the result of the OR gate 1b which takes the OR of.

【0022】スタックポインタ2はデバグ割込み発生部
1からの割込み指示によってレジスタ2aの値を加算器
2bまたは減算器2cでインクリメントまたはデクリメ
ントしている。また、スタックポインタ2は割込み処理
終了指示101が入力されると、割込み発生時にインク
リメントされるのであればレジスタ2aの値をデクリメ
ントし、デクリメントされるのであればレジスタ2aの
値をインクリメントするようになっている。
The stack pointer 2 increments or decrements the value of the register 2a by the adder 2b or the subtractor 2c according to an interrupt instruction from the debug interrupt generator 1. When the interrupt processing end instruction 101 is input, the stack pointer 2 decrements the value of the register 2a if it is incremented when an interrupt occurs, and increments the value of the register 2a if it is decremented. ing.

【0023】主記憶部3は情報処理装置のプログラムや
データなどを記憶しているとともに、デバグ割込み発生
部1の割込み指示を書込み指示とし、スタックポインタ
2の値を書込みアドレスとして割込み発生時の内部情報
100の格納も行う。
The main memory 3 stores programs and data of the information processing device, and the interrupt instruction of the debug interrupt generator 1 is used as a write instruction, and the value of the stack pointer 2 is used as a write address, so that the internal memory at the time of the interrupt is generated. The information 100 is also stored.

【0024】トレース情報格納ポインタ4はデバグ割込
み発生部1からの割込み指示によってレジスタ4aの値
を加算器4bでインクリメントしている。ここで、トレ
ース情報格納ポインタ4の値はスタックポインタ2で指
定される主記憶部3のアドレスとは独立に、デバグ割込
み発生部1からの割込み指示によって内部情報100が
格納されるアドレスを指定する。
The trace information storage pointer 4 increments the value of the register 4a by the adder 4b in response to an interrupt instruction from the debug interrupt generator 1. Here, the value of the trace information storage pointer 4 specifies the address at which the internal information 100 is stored by the interrupt instruction from the debug interrupt generation unit 1, independently of the address of the main storage unit 3 specified by the stack pointer 2. .

【0025】図中、デバグ割込み発生部1からの割込み
指示が主記憶部3の書込み指示に二重に入力されている
のは内部情報100をスタックポインタ2が示すアドレ
スと、トレース情報格納ポインタ4が示すアドレスとに
夫々書込みを行うことを示している。
In the figure, the interrupt instruction from the debug interrupt generation unit 1 is doubly input to the write instruction of the main storage unit 3 because the internal information 100 is the address indicated by the stack pointer 2 and the trace information storage pointer 4. Indicates that writing is performed at the address indicated by.

【0026】図2は図1の主記憶部3にデバグ割込み発
生時に内部情報100を格納する処理を示す図である。
図においては、1命令毎にデバグ割込み発生部1でデバ
グ割込みを発生させる場合の主記憶部3の内部状態を状
態1から状態6の順に示している。
FIG. 2 is a diagram showing a process of storing the internal information 100 in the main memory 3 of FIG. 1 when a debug interrupt occurs.
In the figure, the internal states of the main memory unit 3 when the debug interrupt generation unit 1 generates a debug interrupt for each instruction are shown in order from state 1 to state 6.

【0027】ここで、図中のICは命令カウンタ(図示
せず)の値が示す番地であり、情報処理装置の実行する
命令の位置を示している。SPはスタックポインタ2の
値が示す番地であり、デバグ割込み発生部1でデバグ割
込みが発生したときに内部情報100を格納する位置を
示している。
Here, the IC in the figure is an address indicated by the value of an instruction counter (not shown), and indicates the position of the instruction executed by the information processing apparatus. SP is an address indicated by the value of the stack pointer 2, and indicates a position where the internal information 100 is stored when the debug interrupt generation unit 1 generates a debug interrupt.

【0028】TPはトレース情報格納ポインタ4の値が
示す番地であり、デバグ割込み発生部1でデバグ割込み
が発生したときに内部情報100を格納する位置を示し
ている。
TP is an address indicated by the value of the trace information storage pointer 4, and indicates the position where the internal information 100 is stored when the debug interrupt generation unit 1 generates a debug interrupt.

【0029】A,B,Cは夫々情報処理装置が実行する
命令を示しており、A’,B’,C’は夫々命令A,
B,C実行後に割込みが発生した際に格納される内部情
報を示している。尚、図2はスタックポインタ2が割込
み発生時にデクリメントされ、割込み処理終了時にイン
クリメントされる例を示している。
A, B, and C respectively indicate the instructions executed by the information processing apparatus, and A ', B', and C'indicate the instructions A and B, respectively.
The internal information stored when an interrupt occurs after executing B and C is shown. FIG. 2 shows an example in which the stack pointer 2 is decremented when an interrupt occurs and incremented when the interrupt process ends.

【0030】これら図1及び図2を用いて本発明の一実
施例による内部情報100の格納動作について以下説明
する。
The operation of storing the internal information 100 according to the embodiment of the present invention will be described below with reference to FIGS. 1 and 2.

【0031】まず、状態1ではICが命令Aの前を示し
ており、命令Aの実行直前の状態を示している。この状
態で命令Aが実行された後にデバグ割込み発生部1がデ
バグ割込みを発生すると、ICの位置が割込み処理の位
置に移る。
First, in state 1, the IC shows the state before the instruction A, and shows the state immediately before the execution of the instruction A. When the debug interrupt generating unit 1 generates a debug interrupt after the instruction A is executed in this state, the IC position moves to the interrupt processing position.

【0032】このとき、スタックポインタ2がデクリメ
ントされてSPの位置に命令A実行後の内部情報A’が
格納される。同時に、TPの位置に命令A実行後の内部
情報A’が格納されるとともに、トレース情報格納ポイ
ンタ4がインクリメントされる(図2の状態2参照)。
At this time, the stack pointer 2 is decremented and the internal information A'after execution of the instruction A is stored in the position of SP. At the same time, the internal information A ′ after the execution of the instruction A is stored in the position of TP, and the trace information storage pointer 4 is incremented (see state 2 in FIG. 2).

【0033】次に、割込み処理終了指示101によって
元のプログラムに戻る場合、状態2のSPの位置に格納
されている内部情報A’を基に情報処理装置内を命令A
実行後の状態に設定する。このとき、ICの値が命令A
実行後の位置に設定されるとともに、スタックポインタ
2がインクリメントされてSPの位置がデバグ割込み発
生前の位置に戻る。ただし、割込み処理から元のプログ
ラムに戻る場合、TPの位置は更新されない(図2の状
態3参照)。
Next, when returning to the original program by the interrupt processing end instruction 101, the instruction A is given to the inside of the information processing apparatus based on the internal information A'stored in the SP position of state 2.
Set to the state after execution. At this time, the value of IC is the instruction A
The position after execution is set, and the stack pointer 2 is incremented to return the position of SP to the position before the occurrence of the debug interrupt. However, when returning to the original program from the interrupt processing, the position of TP is not updated (see state 3 in FIG. 2).

【0034】上述した内部情報100の格納動作と同様
にして、命令Bが実行された後にデバグ割込み発生部1
がデバグ割込みを発生すると、ICの位置が割込み処理
の位置に移る。
Similar to the storage operation of the internal information 100 described above, after the instruction B is executed, the debug interrupt generation unit 1
Generates a debug interrupt, the IC position moves to the interrupt processing position.

【0035】このとき、スタックポインタ2がデクリメ
ントされてSPの位置に命令B実行後の内部情報B’が
格納される。同時に、TPの位置に命令B実行後の内部
情報B’が格納されるとともに、トレース情報格納ポイ
ンタ4がインクリメントされる(図2の状態4参照)。
At this time, the stack pointer 2 is decremented and the internal information B'after execution of the instruction B is stored at the SP position. At the same time, the internal information B ′ after execution of the instruction B is stored in the position of TP and the trace information storage pointer 4 is incremented (see state 4 in FIG. 2).

【0036】この場合、SPで指示される位置では命令
A実行後の内部情報A’が格納されている領域に命令B
実行後の内部情報B’が上書きされている。これに対し
て、TPで指示される位置ではトレース情報格納ポイン
タ4が割込み処理終了指示101によって更新されな
い。よって、主記憶部3のTPで指示される位置には1
命令前の命令A実行後の内部情報A’の次に命令B実行
後の内部情報B’が格納されることになる。
In this case, at the position designated by the SP, the instruction B is stored in the area where the internal information A'after execution of the instruction A is stored.
The internal information B ′ after execution is overwritten. On the other hand, the trace information storage pointer 4 is not updated by the interrupt processing end instruction 101 at the position designated by TP. Therefore, 1 is set at the position indicated by TP in the main storage unit 3.
The internal information B ′ after the execution of the instruction B is stored next to the internal information A ′ after the execution of the instruction A before the instruction.

【0037】割込み処理終了指示101によって元のプ
ログラムに戻る場合、状態2のSPの位置に格納されて
いる内部情報B’を基に情報処理装置内を命令B実行後
の状態に設定する。
When returning to the original program by the interrupt processing end instruction 101, the inside of the information processing apparatus is set to the state after the execution of the instruction B based on the internal information B ′ stored in the SP position of state 2.

【0038】このとき、ICの値が命令B実行後の位置
に設定されるとともに、スタックポインタ2がインクリ
メントされてSPの位置がデバグ割込み発生前の位置に
戻る。ただし、割込み処理から元のプログラムに戻る場
合、TPの位置は更新されない(図2の状態5参照)。
At this time, the value of IC is set to the position after execution of the instruction B, the stack pointer 2 is incremented, and the position of SP returns to the position before the occurrence of the debug interrupt. However, when returning from the interrupt processing to the original program, the position of TP is not updated (see state 5 in FIG. 2).

【0039】続いて、命令Cが実行された後にデバグ割
込み発生部1がデバグ割込みを発生すると、ICの位置
が割込み処理の位置に移る。このとき、スタックポイン
タ2がデクリメントされてSPの位置に命令C実行後の
内部情報C’が格納される。同時に、TPの位置に命令
C実行後の内部情報C’が格納されるとともに、トレー
ス情報格納ポインタ4がインクリメントされる(図2の
状態6参照)。
Subsequently, when the debug interrupt generator 1 generates a debug interrupt after the instruction C is executed, the IC position moves to the interrupt processing position. At this time, the stack pointer 2 is decremented and the internal information C ′ after the execution of the instruction C is stored in the position of SP. At the same time, the internal information C ′ after execution of the instruction C is stored in the position of TP, and the trace information storage pointer 4 is incremented (see state 6 in FIG. 2).

【0040】この場合、SPで指示される位置では命令
B実行後の内部情報B’が格納されている領域に命令C
実行後の内部情報C’が上書きされている。これに対し
て、TPで指示される位置ではトレース情報格納ポイン
タ4が割込み処理終了指示101によって更新されな
い。よって、主記憶部3のTPで指示される位置には1
命令前の命令B実行後の内部情報B’の次に命令C実行
後の内部情報C’が格納されることになる。
In this case, at the position designated by the SP, the instruction C is stored in the area where the internal information B'after execution of the instruction B is stored.
The internal information C ′ after execution is overwritten. On the other hand, the trace information storage pointer 4 is not updated by the interrupt processing end instruction 101 at the position designated by TP. Therefore, 1 is set at the position indicated by TP in the main storage unit 3.
The internal information C ′ after the execution of the instruction C is stored next to the internal information B ′ after the execution of the instruction B before the instruction.

【0041】したがって、全ての命令A,B,C実行後
に、TPの初期値から最後の命令の実行完了後のTPの
位置までの間に1命令実行毎の内部情報A’,B’,
C’が格納されることになり、これら内部情報A’,
B’,C’を解析することでトレース情報を採取するこ
とができる。
Therefore, after execution of all the instructions A, B, C, internal information A ', B', for each instruction execution from the initial value of TP to the position of TP after completion of execution of the last instruction.
C'is stored, and these internal information A ',
Trace information can be collected by analyzing B ′ and C ′.

【0042】このように、本発明の一実施例ではデバグ
割込み処理の中でソフトウェアによって内部情報A’,
B’,C’を別の領域に格納する必要がなくなるので、
ソフトウェアのみでトレース情報を採取する場合に比べ
てデバグ割込み処理の性能低下を軽減することができ
る。
As described above, in one embodiment of the present invention, the internal information A ',
Since it is not necessary to store B'and C'in another area,
The performance degradation of debug interrupt processing can be reduced as compared with the case of collecting trace information only by software.

【0043】しかしながら、デバグ割込み発生時にトレ
ース情報が常に必要なわけではなく、トレース情報が不
要な場合にはトレース情報格納ポインタ4で指定される
領域への内部情報の書込みが無駄な処理となる。この無
駄な処理がデバグ割込み処理の性能を低下させる要因と
もなる。
However, the trace information is not always necessary when the debug interrupt occurs, and when the trace information is unnecessary, writing the internal information to the area designated by the trace information storage pointer 4 is a wasteful process. This useless processing also causes the performance of debug interrupt processing to deteriorate.

【0044】そこで、本発明の他の実施例ではデバグ割
込み発生時にトレース情報格納ポインタ4で指定される
領域への内部情報の書込みを行うか否かを指定するフラ
グを設け、このフラグの情報にしたがって内部情報の書
込みを行うことで、トレース情報が不要な場合のデバグ
割込み処理の性能低下を抑えている。
Therefore, in another embodiment of the present invention, a flag for designating whether or not the internal information is written to the area designated by the trace information storage pointer 4 when a debug interrupt occurs is provided. Therefore, by writing the internal information, the performance degradation of the debug interrupt processing when the trace information is unnecessary is suppressed.

【0045】図3は本発明の他の実施例の構成を示すブ
ロック図である。図において、本発明の他の実施例によ
るデバグ割込み処理装置はデバグ割込み発生時にトレー
ス情報格納ポインタ4で指定される領域への内部情報1
00の書込みを行うか否かを指定するトレース採取フラ
グ(F)5を設けた以外は図1の本発明の一実施例の構
成と同様の構成となっており、同一構成要素には同一符
号を付してある。また、同一構成要素の動作は本発明の
一実施例と同様であるので、その動作の説明は省略す
る。
FIG. 3 is a block diagram showing the configuration of another embodiment of the present invention. In the figure, a debug interrupt processing apparatus according to another embodiment of the present invention uses internal information 1 to an area designated by a trace information storage pointer 4 when a debug interrupt occurs.
The configuration is the same as that of the embodiment of the present invention shown in FIG. 1 except that a trace collection flag (F) 5 for designating whether to write 00 is provided. Is attached. Further, the operation of the same component is the same as that of the embodiment of the present invention, and thus the description of the operation will be omitted.

【0046】トレース採取フラグ5は割込み指示によっ
てトレース情報格納ポインタ4で指定されるアドレスに
対し、内部情報100を格納するか否かを指定するフラ
グである。トレース採取指示部6はデバグ割込み発生部
1からの割込み指示とトレース採取フラグ5の内容とに
応じて主記憶部3に書込み指示を出力する。
The trace collection flag 5 is a flag for designating whether or not the internal information 100 is stored at the address designated by the trace information storage pointer 4 by the interrupt instruction. The trace collection instruction unit 6 outputs a write instruction to the main storage unit 3 according to the interrupt instruction from the debug interrupt generation unit 1 and the content of the trace collection flag 5.

【0047】すなわち、トレース採取指示部6はトレー
ス採取フラグ5が有効のときにデバグ割込み発生部1か
らの割込み指示を主記憶部3の書込み指示に出力し、ト
レース情報格納ポインタ4で指定される主記憶部3のア
ドレスに内部情報100を書込む。同時に、トレース採
取指示部6はトレース情報格納ポインタ4に対してイン
クリメントを指示する。
That is, the trace collection instruction unit 6 outputs the interrupt instruction from the debug interrupt generation unit 1 to the write instruction in the main storage unit 3 when the trace collection flag 5 is valid, and is designated by the trace information storage pointer 4. The internal information 100 is written in the address of the main storage unit 3. At the same time, the trace collection instruction unit 6 instructs the trace information storage pointer 4 to increment.

【0048】また、トレース採取指示部6はトレース採
取フラグ5が無効のときにデバグ割込み発生部1からの
割込み指示を主記憶部3の書込み指示に出力するのを抑
止する。同時に、トレース採取指示部6はトレース情報
格納ポインタ4に対するインクリメントの指示を抑止す
る。よって、トレース情報格納ポインタ4で指定される
主記憶部3のアドレスに内部情報100が書込まれるこ
とはない。
Further, the trace collection instruction unit 6 suppresses outputting the interrupt instruction from the debug interrupt generation unit 1 to the write instruction of the main storage unit 3 when the trace collection flag 5 is invalid. At the same time, the trace collection instruction unit 6 suppresses the increment instruction to the trace information storage pointer 4. Therefore, the internal information 100 is not written to the address of the main memory 3 designated by the trace information storage pointer 4.

【0049】図4は図3の主記憶部3にデバグ割込み発
生時に内部情報100を格納する処理を示す図である。
図においては、1命令毎にデバグ割込み発生部1でデバ
グ割込みを発生させる場合の主記憶部3の内部状態を状
態1から状態6の順に示している。ここで、トレース採
取フラグ5は命令A,Cの実行前に有効となっており、
命令Bの実行前に無効となっている。
FIG. 4 is a diagram showing a process of storing the internal information 100 in the main memory 3 of FIG. 3 when a debug interrupt occurs.
In the figure, the internal states of the main memory unit 3 when the debug interrupt generation unit 1 generates a debug interrupt for each instruction are shown in order from state 1 to state 6. Here, the trace collection flag 5 is valid before the execution of the instructions A and C,
It is invalid before the execution of instruction B.

【0050】これら図3及び図4を用いて本発明の他の
実施例による内部情報100の格納動作について以下説
明する。
A storage operation of the internal information 100 according to another embodiment of the present invention will be described below with reference to FIGS. 3 and 4.

【0051】まず、状態1ではICが命令Aの前を示し
ており、命令Aの実行直前の状態を示している。この状
態で命令Aが実行された後にデバグ割込み発生部1がデ
バグ割込みを発生すると、ICの位置が割込み処理の位
置に移る。
First, in state 1, the IC shows the state before the instruction A, and shows the state immediately before the execution of the instruction A. When the debug interrupt generating unit 1 generates a debug interrupt after the instruction A is executed in this state, the IC position moves to the interrupt processing position.

【0052】このとき、スタックポインタ2がデクリメ
ントされてSPの位置に命令A実行後の内部情報A’が
格納される。この場合、トレース採取フラグ5が有効と
なっているので、トレース採取指示部6はデバグ割込み
発生部1からの割込み指示を主記憶部3の書込み指示に
出力する。よって、TPの位置に命令A実行後の内部情
報A’が格納されるとともに、トレース情報格納ポイン
タ4がインクリメントされる(図4の状態2参照)。
At this time, the stack pointer 2 is decremented and the internal information A'after execution of the instruction A is stored at the SP position. In this case, since the trace collection flag 5 is valid, the trace collection instruction unit 6 outputs the interrupt instruction from the debug interrupt generation unit 1 to the write instruction of the main storage unit 3. Therefore, the internal information A ′ after execution of the instruction A is stored at the position of TP, and the trace information storage pointer 4 is incremented (see state 2 in FIG. 4).

【0053】次に、割込み処理終了指示101によって
元のプログラムに戻る場合、状態2のSPの位置に格納
されている内部情報A’を基に情報処理装置内を命令A
実行後の状態に設定する。
Next, when returning to the original program by the interrupt processing end instruction 101, a command A is given to the inside of the information processing apparatus based on the internal information A'stored in the SP position of state 2.
Set to the state after execution.

【0054】このとき、ICの値が命令A実行後の位置
に設定されるとともに、スタックポインタ2がインクリ
メントされてSPの位置がデバグ割込み発生前の位置に
戻る。ただし、割込み処理から元のプログラムに戻る場
合、TPの位置は更新されない(図4の状態3参照)。
At this time, the value of IC is set to the position after execution of the instruction A, the stack pointer 2 is incremented, and the position of SP returns to the position before the occurrence of the debug interrupt. However, when returning to the original program from the interrupt processing, the position of TP is not updated (see state 3 in FIG. 4).

【0055】この後、命令Bが実行された後にデバグ割
込み発生部1がデバグ割込みを発生すると、ICの位置
が割込み処理の位置に移る。このとき、スタックポイン
タ2がデクリメントされてSPの位置に命令B実行後の
内部情報B’が格納される。
After that, when the debug interrupt generation unit 1 generates a debug interrupt after the instruction B is executed, the IC position moves to the interrupt processing position. At this time, the stack pointer 2 is decremented and the internal information B ′ after the execution of the instruction B is stored at the SP position.

【0056】これに対し、この場合にはトレース採取フ
ラグ5が無効となっているので、トレース採取指示部6
はデバグ割込み発生部1からの割込み指示を主記憶部3
の書込み指示に出力するのを抑止する。よって、TPの
位置に命令B実行後の内部情報B’が格納されることは
なく、トレース情報格納ポインタ4がインクリメントさ
れることもない(図4の状態4参照)。
On the other hand, in this case, since the trace collection flag 5 is invalid, the trace collection instruction unit 6
Is an interrupt instruction from the debug interrupt generator 1 to the main memory 3
Suppress output to the writing instruction of. Therefore, the internal information B ′ after execution of the instruction B is not stored in the position of TP, and the trace information storage pointer 4 is not incremented (see state 4 in FIG. 4).

【0057】割込み処理終了指示101によって元のプ
ログラムに戻る場合、状態2のSPの位置に格納されて
いる内部情報B’を基に情報処理装置内を命令B実行後
の状態に設定する。このとき、ICの値が命令B実行後
の位置に設定されるとともに、スタックポインタ2がイ
ンクリメントされてSPの位置がデバグ割込み発生前の
位置に戻る(図4の状態5参照)。
When returning to the original program by the interrupt processing end instruction 101, the inside of the information processing apparatus is set to the state after the execution of the instruction B based on the internal information B'stored in the SP position of the state 2. At this time, the value of IC is set to the position after the execution of instruction B, the stack pointer 2 is incremented, and the position of SP returns to the position before the occurrence of the debug interrupt (see state 5 in FIG. 4).

【0058】続いて、命令Cが実行された後にデバグ割
込み発生部1がデバグ割込みを発生すると、ICの位置
が割込み処理の位置に移る。このとき、スタックポイン
タ2がデクリメントされてSPの位置に命令C実行後の
内部情報C’が格納される。
Then, when the debug interrupt generation unit 1 generates a debug interrupt after the instruction C is executed, the IC position moves to the interrupt processing position. At this time, the stack pointer 2 is decremented and the internal information C ′ after the execution of the instruction C is stored in the position of SP.

【0059】この場合、トレース採取フラグ5が有効と
なっているので、トレース採取指示部6はデバグ割込み
発生部1からの割込み指示を主記憶部3の書込み指示に
出力する。よって、TPの位置に命令C実行後の内部情
報C’が格納されるとともに、トレース情報格納ポイン
タ4がインクリメントされる(図4の状態6参照)。
In this case, since the trace collection flag 5 is valid, the trace collection instruction unit 6 outputs the interrupt instruction from the debug interrupt generation unit 1 to the write instruction of the main storage unit 3. Therefore, the internal information C ′ after execution of the instruction C is stored at the position of TP, and the trace information storage pointer 4 is incremented (see state 6 in FIG. 4).

【0060】この状態6のSPで指示される位置では命
令B実行後の内部情報B’が格納されている領域に命令
C実行後の内部情報C’が上書きされている。これに対
して、TPで指示される位置ではトレース情報格納ポイ
ンタ4が割込み処理終了指示101によって更新され
ず、また命令Bの実行前にトレース採取フラグ5が無効
となっている。よって、主記憶部3のTPで指示される
位置には2命令前の命令A実行後の内部情報A’の次に
命令C実行後の内部情報C’が格納されることになる。
At the position indicated by SP in this state 6, the internal information C'after execution of the instruction C is overwritten in the area where the internal information B'after execution of the instruction B is stored. On the other hand, at the position designated by TP, the trace information storage pointer 4 is not updated by the interrupt processing end instruction 101, and the trace collection flag 5 is invalid before the execution of the instruction B. Therefore, the internal information C ′ after the execution of the instruction C is stored next to the internal information A ′ after the execution of the instruction A two instructions before in the position indicated by TP in the main storage unit 3.

【0061】このように、トレース採取フラグ5及びト
レース採取指示部6を設けることによって、トレース情
報が不要な場合、トレース情報格納ポインタ4で指定さ
れる領域への内部情報の書込みを抑止することができ
る。これによって、トレース情報格納ポインタ4で指定
される領域への内部情報の書込みにともなうデバグ割込
み処理の性能低下を抑止することができる。
As described above, by providing the trace collection flag 5 and the trace collection instruction section 6, the writing of the internal information to the area designated by the trace information storage pointer 4 can be suppressed when the trace information is unnecessary. it can. As a result, it is possible to prevent the performance of debug interrupt processing from being degraded due to the writing of internal information to the area designated by the trace information storage pointer 4.

【0062】ところで、本発明の一実施例及び他の実施
例ではトレース情報を主記憶部3に格納している。その
ため、トレース情報採取時の割込み処理では主記憶部3
への書込み指示が通常のデバグ割込みよりも多く出力さ
れており、トレース情報採取時のデバグ割込み処理の性
能低下を零にすることができない。
By the way, in one embodiment and another embodiment of the present invention, the trace information is stored in the main memory 3. Therefore, in the interrupt process at the time of collecting trace information, the main storage unit 3
Since more write instructions are output than normal debug interrupts, the performance degradation of debug interrupt processing when collecting trace information cannot be made zero.

【0063】そこで、本発明の別の実施例ではトレース
情報を採取するための専用の記憶装置を設け、トレース
情報採取時の割込み処理における主記憶部3への書込み
指示の出力を減らしてデバグ割込み処理の性能低下を抑
えている。
Therefore, in another embodiment of the present invention, a dedicated storage device for collecting the trace information is provided, and the output of the write instruction to the main storage unit 3 in the interrupt processing at the time of collecting the trace information is reduced to reduce the debug interrupt. It suppresses the deterioration of processing performance.

【0064】図5は本発明の別の実施例の構成を示すブ
ロック図である。図において、本発明の別の実施例によ
るデバグ割込み処理装置はトレース情報を採取するため
の専用のトレース情報記憶部7を設け、トレース情報格
納ポインタ4及びトレース採取指示部6の出力をトレー
ス情報記憶部7に入力するようにした以外は図3の本発
明の他の実施例の構成と同様の構成となっており、同一
構成要素には同一符号を付してある。また、同一構成要
素の動作は本発明の他の実施例と同様であるので、その
動作の説明は省略する。
FIG. 5 is a block diagram showing the configuration of another embodiment of the present invention. In the figure, a debug interrupt processing apparatus according to another embodiment of the present invention is provided with a dedicated trace information storage unit 7 for collecting trace information, and outputs the trace information storage pointer 4 and the trace collection instruction unit 6 as trace information storage. The configuration is the same as that of the other embodiment of the present invention in FIG. 3 except that the input is made to the section 7, and the same components are designated by the same reference numerals. Also, the operation of the same component is the same as that of the other embodiments of the present invention, and thus the description of the operation is omitted.

【0065】トレース情報記憶部7はトレース採取指示
部6の出力を書込み指示とし、トレース情報格納ポイン
タ4の値を書込みアドレスとしてデバグ割込み発生時の
内部情報100の格納を行う。
The trace information storage unit 7 uses the output of the trace collection instruction unit 6 as a write instruction, and stores the internal information 100 when a debug interrupt occurs with the value of the trace information storage pointer 4 as a write address.

【0066】図6は図5の主記憶部3及びトレース情報
記憶部7にデバグ割込み発生時に内部情報100を格納
する処理を示す図である。図においては、1命令毎にデ
バグ割込み発生部1でデバグ割込みを発生させる場合の
主記憶部3及びトレース情報記憶部7の内部状態を状態
1から状態6の順に示している。ここで、トレース採取
フラグ5は命令A,Cの実行前に有効となっており、命
令Bの実行前に無効となっている。
FIG. 6 is a diagram showing a process of storing the internal information 100 in the main storage unit 3 and the trace information storage unit 7 of FIG. 5 when a debug interrupt occurs. In the figure, the internal states of the main storage unit 3 and the trace information storage unit 7 when the debug interrupt generation unit 1 generates a debug interrupt for each instruction are shown in order from state 1 to state 6. Here, the trace collection flag 5 is valid before the instructions A and C are executed, and is invalid before the instruction B is executed.

【0067】これら図5及び図6を用いて本発明の別の
実施例による内部情報100の格納動作について以下説
明する。
A storage operation of the internal information 100 according to another embodiment of the present invention will be described below with reference to FIGS. 5 and 6.

【0068】まず、状態1ではICが命令Aの前を示し
ており、命令Aの実行直前の状態を示している。この状
態で命令Aが実行された後にデバグ割込み発生部1がデ
バグ割込みを発生すると、ICの位置が割込み処理の位
置に移る。
First, in state 1, the IC shows the state before the instruction A, and shows the state immediately before the execution of the instruction A. When the debug interrupt generating unit 1 generates a debug interrupt after the instruction A is executed in this state, the IC position moves to the interrupt processing position.

【0069】このとき、スタックポインタ2がデクリメ
ントされてSPの位置に命令A実行後の内部情報A’が
格納される。この場合、トレース採取フラグ5が有効と
なっているので、トレース採取指示部6はデバグ割込み
発生部1からの割込み指示をトレース情報記憶部7の書
込み指示に出力する。よって、トレース情報記憶部7の
TPの位置に命令A実行後の内部情報A’が格納される
とともに、トレース情報格納ポインタ4がインクリメン
トされる(図6の状態2参照)。
At this time, the stack pointer 2 is decremented and the internal information A'after execution of the instruction A is stored in the position of SP. In this case, since the trace collection flag 5 is valid, the trace collection instruction unit 6 outputs the interrupt instruction from the debug interrupt generation unit 1 to the write instruction of the trace information storage unit 7. Therefore, the internal information A ′ after execution of the instruction A is stored in the position TP of the trace information storage unit 7 and the trace information storage pointer 4 is incremented (see state 2 in FIG. 6).

【0070】次に、割込み処理終了指示101によって
元のプログラムに戻る場合、状態2のSPの位置に格納
されている内部情報A’を基に情報処理装置内を命令A
実行後の状態に設定する。
Next, when returning to the original program by the interrupt processing end instruction 101, the instruction A is given to the inside of the information processing apparatus based on the internal information A'stored in the SP position of state 2.
Set to the state after execution.

【0071】このとき、ICの値が命令A実行後の位置
に設定されるとともに、スタックポインタ2がインクリ
メントされてSPの位置がデバグ割込み発生前の位置に
戻る。ただし、割込み処理から元のプログラムに戻る場
合、TPの位置は更新されない(図6の状態3参照)。
At this time, the value of IC is set to the position after the execution of the instruction A, the stack pointer 2 is incremented, and the position of SP returns to the position before the occurrence of the debug interrupt. However, when returning to the original program from the interrupt processing, the position of TP is not updated (see state 3 in FIG. 6).

【0072】この後、命令Bが実行された後にデバグ割
込み発生部1がデバグ割込みを発生すると、ICの位置
が割込み処理の位置に移る。このとき、スタックポイン
タ2がデクリメントされてSPの位置に命令B実行後の
内部情報B’が格納される。
After that, when the debug interrupt generator 1 generates a debug interrupt after the instruction B is executed, the IC position moves to the interrupt processing position. At this time, the stack pointer 2 is decremented and the internal information B ′ after the execution of the instruction B is stored at the SP position.

【0073】これに対し、この場合にはトレース採取フ
ラグ5が無効となっているので、トレース採取指示部6
はデバグ割込み発生部1からの割込み指示をトレース情
報記憶部7の書込み指示に出力するのを抑止する。よっ
て、トレース情報記憶部7のTPの位置に命令B実行後
の内部情報B’が格納されることはなく、トレース情報
格納ポインタ4がインクリメントされることもない(図
6の状態4参照)。
On the other hand, in this case, since the trace collection flag 5 is invalid, the trace collection instruction unit 6
Suppresses outputting the interrupt instruction from the debug interrupt generating section 1 to the write instruction of the trace information storage section 7. Therefore, the internal information B ′ after execution of the instruction B is not stored in the position TP of the trace information storage unit 7, and the trace information storage pointer 4 is not incremented (see state 4 in FIG. 6).

【0074】割込み処理終了指示101によって元のプ
ログラムに戻る場合、状態2のSPの位置に格納されて
いる内部情報B’を基に情報処理装置内を命令B実行後
の状態に設定する。このとき、ICの値が命令B実行後
の位置に設定されるとともに、スタックポインタ2がイ
ンクリメントされてSPの位置がデバグ割込み発生前の
位置に戻る(図6の状態5参照)。
When returning to the original program by the interrupt processing end instruction 101, the inside of the information processing apparatus is set to the state after the execution of the instruction B based on the internal information B ′ stored in the SP position of the state 2. At this time, the value of IC is set to the position after the execution of the instruction B, the stack pointer 2 is incremented, and the position of SP returns to the position before the occurrence of the debug interrupt (see state 5 in FIG. 6).

【0075】続いて、命令Cが実行された後にデバグ割
込み発生部1がデバグ割込みを発生すると、ICの位置
が割込み処理の位置に移る。このとき、スタックポイン
タ2がデクリメントされてSPの位置に命令C実行後の
内部情報C’が格納される。
Subsequently, when the debug interrupt generator 1 generates a debug interrupt after the instruction C is executed, the IC position moves to the interrupt processing position. At this time, the stack pointer 2 is decremented and the internal information C ′ after the execution of the instruction C is stored in the position of SP.

【0076】この場合、トレース採取フラグ5が有効と
なっているので、トレース採取指示部6はデバグ割込み
発生部1からの割込み指示をトレース情報記憶部7の書
込み指示に出力する。よって、トレース情報記憶部7の
TPの位置に命令C実行後の内部情報C’が格納される
とともに、トレース情報格納ポインタ4がインクリメン
トされる(図6の状態6参照)。
In this case, since the trace collection flag 5 is valid, the trace collection instruction unit 6 outputs the interrupt instruction from the debug interrupt generation unit 1 to the write instruction of the trace information storage unit 7. Therefore, the internal information C ′ after execution of the instruction C is stored in the position of TP of the trace information storage unit 7 and the trace information storage pointer 4 is incremented (see state 6 in FIG. 6).

【0077】この状態6のSPで指示される位置では命
令B実行後の内部情報B’が格納されている領域に命令
C実行後の内部情報C’が上書きされている。これに対
して、トレース情報記憶部7のTPで指示される位置で
はトレース情報格納ポインタ4が割込み処理終了指示1
01によって更新されず、また命令Bの実行前にトレー
ス採取フラグ5が無効となっている。よって、トレース
情報記憶部7のTPで指示される位置には2命令前の命
令A実行後の内部情報A’の次に命令C実行後の内部情
報C’が格納されることになる。
At the position designated by SP in this state 6, the internal information C ′ after execution of the instruction C is overwritten in the area where the internal information B ′ after execution of the instruction B is stored. On the other hand, at the position indicated by TP in the trace information storage unit 7, the trace information storage pointer 4 indicates the interrupt processing end instruction 1
01 is not updated, and the trace collection flag 5 is invalid before the instruction B is executed. Therefore, the internal information C ′ after the execution of the instruction C is stored next to the internal information A ′ after the execution of the instruction A two instructions before at the position indicated by TP in the trace information storage unit 7.

【0078】上記の如く、主記憶部3とトレース情報記
憶部7とはまったく独立に動作を行えるため、内部情報
の格納を主記憶部3とトレース情報記憶部7とで平行し
て実行することができる。
As described above, since the main storage unit 3 and the trace information storage unit 7 can be operated completely independently, the storage of internal information should be performed in parallel in the main storage unit 3 and the trace information storage unit 7. You can

【0079】よって、主記憶部3から見た場合、トレー
ス情報を採取するときとトレース情報を採取しないとき
とで内部情報の格納条件が同等となる。これはトレース
情報を採取することによる内部情報の書込み量増加にと
もなう性能低下を抑止できることを意味している。
Therefore, when viewed from the main storage unit 3, the storage condition of the internal information becomes equal when the trace information is collected and when the trace information is not collected. This means that it is possible to prevent the performance deterioration due to the increase in the writing amount of the internal information due to the collection of the trace information.

【0080】したがって、トレース情報記憶部7を設け
ることによって、トレース情報採取時のデバグ割込み処
理を実行する場合のデバグ割込み処理の性能低下を抑止
することができる。
Therefore, by providing the trace information storage unit 7, it is possible to prevent the performance degradation of the debug interrupt processing when executing the debug interrupt processing at the time of collecting the trace information.

【0081】このように、デバグ割込み発生時にスタッ
クポインタ2が指示する主記憶部3に格納される内部情
報A’,B’,C’をトレース情報格納ポインタ4が順
次指示する主記憶部3またはトレース情報記憶部7に格
納することによって、デバグ割込み処理のソフトウェア
によってトレース情報を採取する場合に比較してデバグ
割込み処理の性能低下を軽減することができる。
As described above, when the debug interrupt occurs, the internal information A ', B', and C'stored in the main storage unit 3 designated by the stack pointer 2 is sequentially designated by the trace information storage pointer 4 or by the main storage unit 3. By storing the trace information in the trace information storage unit 7, it is possible to reduce the performance degradation of the debug interrupt processing as compared with the case where the trace information is collected by the software for the debug interrupt processing.

【0082】また、トレース採取フラグ5及びトレース
採取指示部6を設けることによって、トレース情報が不
要な場合、トレース情報格納ポインタ4で指定される領
域への内部情報の書込みを抑止することができ、該領域
への内部情報の書込みにともなうデバグ割込み処理の性
能低下を抑止することができる。
Further, by providing the trace collection flag 5 and the trace collection instruction section 6, it is possible to suppress the writing of the internal information to the area designated by the trace information storage pointer 4 when the trace information is unnecessary. It is possible to suppress the performance degradation of the debug interrupt processing due to the writing of the internal information to the area.

【0083】さらに、トレース情報採取専用のトレース
情報記憶部7を設けることによって、デバグ割込み処理
の性能を低下させることなく、トレース情報の採取を行
うことができる。
Furthermore, by providing the trace information storage unit 7 dedicated to collecting trace information, it is possible to collect trace information without degrading the performance of debug interrupt processing.

【0084】[0084]

【発明の効果】以上説明したように本発明によれば、装
置の内部状態を格納する格納領域をスタックポインタが
指示する主記憶上の領域外に設け、デバグ割込みに応答
して順次生成されるアドレスが指示する領域に装置の内
部状態を格納することによって、デバグ割込み処理のソ
フトウェアによってトレース情報を採取する場合に比較
してデバグ割込み処理の性能低下を軽減することができ
るという効果がある。
As described above, according to the present invention, the storage area for storing the internal state of the apparatus is provided outside the area on the main memory designated by the stack pointer and is sequentially generated in response to the debug interrupt. By storing the internal state of the device in the area designated by the address, it is possible to reduce the performance degradation of the debug interrupt processing as compared with the case where the trace information is collected by the software for the debug interrupt processing.

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

【図1】本発明の一実施例の構成を示すブロック図であ
る。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

【図2】図1の主記憶部にデバグ割込み発生時に内部情
報を格納する処理を示す図である。
FIG. 2 is a diagram showing a process of storing internal information in the main memory unit of FIG. 1 when a debug interrupt occurs.

【図3】本発明の他の実施例の構成を示すブロック図で
ある。
FIG. 3 is a block diagram showing the configuration of another embodiment of the present invention.

【図4】図3の主記憶部にデバグ割込み発生時に内部情
報を格納する処理を示す図である。
FIG. 4 is a diagram showing a process of storing internal information in the main storage unit of FIG. 3 when a debug interrupt occurs.

【図5】本発明の別の実施例の構成を示すブロック図で
ある。
FIG. 5 is a block diagram showing the configuration of another embodiment of the present invention.

【図6】図5の主記憶部及びトレース情報記憶部にデバ
グ割込み発生時に内部情報を格納する処理を示す図であ
る。
6 is a diagram showing a process of storing internal information when a debug interrupt occurs in the main storage unit and the trace information storage unit of FIG. 5;

【図7】従来例の構成を示すブロック図である。FIG. 7 is a block diagram showing a configuration of a conventional example.

【図8】図7の主記憶部にデバグ割込み発生時に内部情
報を格納する処理を示す図である。
8 is a diagram showing a process of storing internal information in the main storage unit of FIG. 7 when a debug interrupt occurs.

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

1 デバグ割込み発生部 2 スタックポインタ 3 主記憶部 4 トレース情報格納ポインタ 5 トレース採取フラグ 6 トレース採取指示部 7 トレース情報記憶部 A,B,C 命令 A’,B’,C’ 内部情報 1 debug interrupt generation unit 2 stack pointer 3 main storage unit 4 trace information storage pointer 5 trace collection flag 6 trace collection instruction unit 7 trace information storage unit A, B, C instructions A ', B', C'internal information

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 ソフトウェアの動作に応じて割込み発生
時に該割込みに応答してスタックポインタが指示する主
記憶上に装置の内部状態を格納する機能を用いてデバグ
割込み発生時の内部状態を記憶するデバグ割込み処理装
置であって、前記スタックポインタが指示する前記主記
憶上の領域外に設けられ、前記内部状態を格納する格納
領域と、前記デバグ割込みに応答して前記格納領域のア
ドレスを順次生成する生成手段と、前記デバグ割込みに
応答して前記主記憶上の領域及び前記格納領域に夫々前
記内部状態を格納する手段とを有することを特徴とする
デバグ割込み処理装置。
1. The internal state at the time of a debug interrupt is stored by using the function of storing the internal state of the device in the main memory designated by the stack pointer in response to the interrupt at the time of an interrupt according to the operation of software. A debug interrupt processing device, which is provided outside the area on the main memory designated by the stack pointer and stores the internal state, and sequentially generates addresses of the storage area in response to the debug interrupt. And a means for storing the internal states in the main memory area and the storage area in response to the debug interrupt, respectively.
【請求項2】 前記デバグ割込みの発生時に前記格納領
域に前記内部状態を格納するか否かを示す情報を保持す
る手段と、該情報に応じて前記格納領域への前記内部状
態の格納を抑止する手段とを含むことを特徴とする請求
項1記載のデバグ割込み処理装置。
2. A means for holding information indicating whether or not to store the internal state in the storage area when the debug interrupt occurs, and suppressing storage of the internal state in the storage area according to the information. The debug interrupt processing device according to claim 1, further comprising:
【請求項3】 前記格納領域を前記主記憶以外の記憶装
置に設けたことを特徴とする請求項1または請求項2記
載のデバグ割込み処理装置。
3. The debug interrupt processing device according to claim 1, wherein the storage area is provided in a storage device other than the main memory.
JP5076362A 1993-03-10 1993-03-10 Debugging interruption processor Pending JPH06259282A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5076362A JPH06259282A (en) 1993-03-10 1993-03-10 Debugging interruption processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5076362A JPH06259282A (en) 1993-03-10 1993-03-10 Debugging interruption processor

Publications (1)

Publication Number Publication Date
JPH06259282A true JPH06259282A (en) 1994-09-16

Family

ID=13603251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5076362A Pending JPH06259282A (en) 1993-03-10 1993-03-10 Debugging interruption processor

Country Status (1)

Country Link
JP (1) JPH06259282A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55115146A (en) * 1979-02-27 1980-09-04 Toshiba Corp Program trace unit
JPS59180755A (en) * 1983-03-31 1984-10-13 Toshiba Corp Tracing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55115146A (en) * 1979-02-27 1980-09-04 Toshiba Corp Program trace unit
JPS59180755A (en) * 1983-03-31 1984-10-13 Toshiba Corp Tracing system

Similar Documents

Publication Publication Date Title
JP3290280B2 (en) Information processing device
US5870607A (en) Method and apparatus for selective replay of computer programs
JPH01310441A (en) Data processor
US20070079109A1 (en) Simulation apparatus and simulation method
US8499285B2 (en) Method of logging stack trace information
JP3538292B2 (en) Runtime program translation method
JPH06259282A (en) Debugging interruption processor
JPH1196006A (en) Information processor
JP2878264B1 (en) Tracer device, trace data compression method, and compressed trace data reading method
JPH0895798A (en) Data processor
JP2715988B2 (en) Program simulator device and program debugging method
JP2671160B2 (en) Exception handling method
JPH08249206A (en) Computer with stack area destruction detection function
JPH05108404A (en) Debugger system
JPH0561717A (en) Program debugging device
JP2504151B2 (en) Data processing device
JP3039450B2 (en) Stack area switching method and method, and storage medium storing stack area switching program
JP3098501B2 (en) Source step execution method and apparatus
JP3079825B2 (en) Electronic computer equipment
CN117435495A (en) Function test method, function test device, computer readable storage medium and electronic equipment
JP3014701B2 (en) Information processing device
JPH03139723A (en) Data processor
JPH06295252A (en) Computer
JPS6149695B2 (en)
JPH04147339A (en) Information processor