JP2001273167A - Hardware break circuit - Google Patents
Hardware break circuitInfo
- Publication number
- JP2001273167A JP2001273167A JP2000086596A JP2000086596A JP2001273167A JP 2001273167 A JP2001273167 A JP 2001273167A JP 2000086596 A JP2000086596 A JP 2000086596A JP 2000086596 A JP2000086596 A JP 2000086596A JP 2001273167 A JP2001273167 A JP 2001273167A
- Authority
- JP
- Japan
- Prior art keywords
- address
- register
- data
- instruction
- break
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、ソフトウエアのデ
バッグ時に、予め設定したアドレスがアクセスされたと
きにプロセッサに対する割り込み等のブレーク状態を発
生させるハードウエアブレーク回路に関するものであ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a hardware break circuit for generating a break state such as an interrupt to a processor when a preset address is accessed during software debugging.
【0002】[0002]
【従来の技術】従来、ソフトウエアのデバッグに使用す
るハードウエアブレーク回路は、プロセッサの内部また
は外部にブレーク対象のアドレスを予め保持する複数の
レジスタを設け、プロセッサから出力されるアドレス信
号を、これらのレジスタに保持されたアドレスと比較す
るようにしている。そして、アドレス信号がいずれかの
レジスタに保持されたアドレスと一致したときに、プロ
セッサに対して割り込み信号を出力するようになってい
る。2. Description of the Related Art Conventionally, a hardware break circuit used for software debugging is provided with a plurality of registers in advance or internally of a processor for holding a break target address, and outputs an address signal output from the processor. Is compared with the address held in the register. Then, when the address signal matches the address held in any of the registers, an interrupt signal is output to the processor.
【0003】[0003]
【発明が解決しようとする課題】しかしながら、従来の
ハードウエアブレーク回路では、次のような課題があっ
た。例えば、プロセッサ内部にハードウエアブレーク回
路を組み込んだ場合、ソフトウエアのデバッグが終了し
た後はこの回路は不要となるにもかかわらず、製品の中
に組み込まれたままとなる。このため、ハードウエアブ
レーク回路が組み込まれていないプロセッサに比べ、回
路規模が大きくなるだけでなく、処理速度の低下や消費
電力の増大といっが問題点があった。そこで、デバッグ
の完了後、ハードウエアブレーク回路を取り除いたプロ
セッサを、再設計するという方法が取られることがある
が、開発期間や費用の面で困難な場合があった。However, the conventional hardware break circuit has the following problems. For example, when a hardware break circuit is incorporated in a processor, after the software debug is completed, this circuit is not necessary but remains incorporated in the product. Therefore, compared with a processor in which a hardware break circuit is not incorporated, not only the circuit scale is increased, but also the processing speed is reduced and the power consumption is increased. Therefore, after the completion of the debugging, a method of redesigning the processor from which the hardware break circuit has been removed may be adopted, but it is sometimes difficult in terms of development period and cost.
【0004】一方、プロセッサ外部にハードウエアブレ
ーク回路を用意した場合、そのプロセッサ内部にキャッ
シュメモリ・システムが組み込まれていると、このキャ
ッシュメモリの動作中は、プロセッサが実行したプログ
ラムの状況が外部にアドレス信号として出力されない場
合がある。このため、完全なハードウエアブレーク機能
を実現することができない場合があった。本発明は、前
記従来技術が持っていた課題を解決し、プロセッサ内部
に組み込み、デバッグ終了後はキャッシュメモリとして
使用可能なハードウエアブレーク回路を提供するもので
ある。On the other hand, when a hardware break circuit is provided outside the processor and a cache memory system is incorporated in the processor, the status of a program executed by the processor is externally provided during operation of the cache memory. It may not be output as an address signal. For this reason, there were cases where a complete hardware break function could not be realized. An object of the present invention is to provide a hardware break circuit which solves the problem of the prior art and which can be incorporated in a processor and used as a cache memory after debugging is completed.
【0005】[0005]
【課題を解決するための手段】前記課題を解決するため
に、本発明の内の第1の発明は、デバッグモード時に中
央処理装置(以下、「CPU」という)から出力される
アドレス信号が予め設定された特定アドレスとなったと
きに、記憶装置に格納されたプログラムの命令コードに
かかわらず、該CPUを予め設定した特定状態に強制的
に移行させるためのハードウエアブレーク回路におい
て、前記特定アドレスまたは前記CPUで実行されたア
ドレスを保持するアドレスレジスタと、前記CPUを前
記特定状態に移行させるためのブレーク情報または該C
PUで実行された命令コードを保持する命令レジスタと
を備えている。According to a first aspect of the present invention, an address signal output from a central processing unit (hereinafter referred to as a "CPU") in a debug mode is provided. A hardware break circuit for forcibly shifting the CPU to a predetermined specific state regardless of the instruction code of the program stored in the storage device when the set specific address is reached; Or, an address register holding an address executed by the CPU, break information for shifting the CPU to the specific state,
And an instruction register for holding an instruction code executed by the PU.
【0006】更に、このハードウエアブレーク回路は、
前記アドレス信号と前記アドレスレジスタの保持内容が
一致したときに、前記命令レジスタの保持内容を前記C
PUに対する制御情報として出力する比較器と、前記デ
バッグモード時には、前記アドレスレジスタに前記特定
アドレスを設定すると共に前記命令レジスタに前記ブレ
ーク情報を設定し、該デバッグモード時以外の通常動作
モード時には、該アドレスレジスタに前記CPUで実行
されたアドレスを書き込むと共に該命令レジスタに該C
PUで実行された命令コードを書き込むように制御する
制御部とを備えている。Further, this hardware break circuit has
When the address signal matches the content held in the address register, the content held in the instruction register
A comparator that outputs the control information to the PU; and, in the debug mode, the specific address is set in the address register and the break information is set in the instruction register. The address executed by the CPU is written to an address register, and the C register is written to the instruction register.
And a control unit that controls to write the instruction code executed by the PU.
【0007】第1の発明によれば、以上のようにハード
ウエアブレーク回路を構成したので、次のような作用が
行われる。デバッグモード時に、CPUから出力された
アドレス信号は、比較器によってアドレスレジスタに保
持された特定アドレスと比較される。両者が一致する
と、命令レジスタに格納されたブレーク情報が、CPU
を特定状態に移行させるための制御信号として出力され
る。また、通常動作モード時には、CPUで実行された
アドレス及び命令コードが、制御部によってアドレスレ
ジスタ及び命令レジスタにそれぞれ書き込まれる。これ
により、アドレス信号によってアドレスレジスタに保持
されたアドレスが指定されると、記憶装置ではなく命令
レジスタから命令コードが読み出される。[0007] According to the first invention, since the hardware break circuit is configured as described above, the following operation is performed. In the debug mode, an address signal output from the CPU is compared with a specific address held in an address register by a comparator. If they match, the break information stored in the instruction register is
Is output as a control signal for shifting to a specific state. In the normal operation mode, the address and the instruction code executed by the CPU are written in the address register and the instruction register by the control unit. Thus, when the address held in the address register is specified by the address signal, the instruction code is read not from the storage device but from the instruction register.
【0008】第2の発明は、デバッグモード時にCPU
から出力されるアドレス信号が予め設定された特定アド
レスとなったときに、記憶装置に格納されたデータにか
かわらず、該CPUに予め設定した特定データを与える
ためのハードウエアブレーク回路において、前記特定ア
ドレスまたは前記CPUから出力されたアドレスを保持
するアドレスレジスタと、前記CPUに与える前記特定
データまたは前記記憶装置から読み出されたデータを保
持するデータレジスタとを備えている。更に、このハー
ドウエアブレーク回路は、前記アドレス信号と前記アド
レスレジスタの保持内容が一致したときに、前記データ
レジスタの保持内容を前記CPUに対するデータとして
出力する比較器と、デバッグモード時には、前記アドレ
スレジスタに前記特定アドレスを設定すると共に前記デ
ータレジスタに前記特定データを設定し、通常動作モー
ド時には、該アドレスレジスタに前記CPUから出力さ
れたアドレスを書き込むと共に該データレジスタに前記
記憶装置から読み出されたデータを書き込むように制御
する制御部とを備えている。[0008] A second aspect of the present invention is a CPU in a debug mode.
A hardware break circuit for providing the CPU with specific data set when the address signal output from the CPU becomes a predetermined specific address, regardless of the data stored in the storage device. An address register holds an address or an address output from the CPU, and a data register holds the specific data to be given to the CPU or the data read from the storage device. The hardware break circuit further includes a comparator for outputting the content held in the data register as data to the CPU when the address signal matches the content held in the address register; The specific address is set and the specific data is set in the data register.In the normal operation mode, the address output from the CPU is written to the address register and the address is read from the storage device to the data register. And a control unit for controlling to write data.
【0009】第2の発明によれば、次のような作用が行
われる。デバッグモード時に、CPUから出力されたア
ドレス信号は、比較器によってアドレスレジスタに保持
された特定アドレスと比較され、両者が一致するとデー
タレジスタに格納された特定データがCPUに与えられ
る。また、通常動作モード時には、CPUで指定された
アドレス及び記憶装置から読み出されたデータが、制御
部によってアドレスレジスタ及びデータレジスタにそれ
ぞれ書き込まれる。これにより、アドレス信号によって
アドレスレジスタに保持されたアドレスが指定される
と、記憶装置ではなくデータレジスタからデータが読み
出される。According to the second aspect, the following operation is performed. In the debug mode, the address signal output from the CPU is compared by the comparator with the specific address held in the address register, and when they match, the specific data stored in the data register is given to the CPU. In the normal operation mode, the address specified by the CPU and the data read from the storage device are written into the address register and the data register by the control unit. Thus, when the address held in the address register is specified by the address signal, data is read from the data register instead of the storage device.
【0010】[0010]
【発明の実施の形態】(第1の実施形態)図1は、本発
明の第1の実施形態を示すハードウエアブレーク回路の
構成図である。このハードウエアブレーク回路は、CP
U1と主記憶装置2との間に設けられるもので、複数の
ブレーク部101〜10n、制御部21、n入力の否定
的論理和ゲート(以下、「NOR」という)22、及び
3ステート・バッファ(以下、単に「バッファ」とい
う)23で構成されている。CPU1と主記憶装置2の
間は、アドレスバス(ABUS)3及びデータバス(D
BUS)4で接続されている。更に、主記憶装置2から
読み出された命令コードは、バッファ23及び命令用デ
ータバス(IBUS)5を介して、CPU1に与えられ
るようになっている。DESCRIPTION OF THE PREFERRED EMBODIMENTS (First Embodiment) FIG. 1 is a configuration diagram of a hardware break circuit showing a first embodiment of the present invention. This hardware break circuit is
A plurality of break units 10 1 to 10 n , a control unit 21, an n-input NOR gate (hereinafter referred to as “NOR”) 22, and three states are provided between U 1 and the main storage device 2. A buffer (hereinafter simply referred to as “buffer”) 23; An address bus (ABUS) 3 and a data bus (D bus) are provided between the CPU 1 and the main storage device 2.
BUS) 4. Further, the instruction code read from the main storage device 2 is provided to the CPU 1 via the buffer 23 and the instruction data bus (IBUS) 5.
【0011】ブレーク部101〜10nは、いずれも同
一の構成となっている。例えばブレーク部101は、2
入力のセレクタ(SEL)11を有しており、その入力
端子A,Bが、それぞれアドレスバス3及びデータバス
4に接続されている。セレクタ11は、モード信号MO
Dによって通常動作モードが指定されたときに入力端子
Aが選択され、デバッグモードが指定されたときに入力
端子Bが選択されるものである。セレクタ11の出力側
は、アドレスレジスタ(AREG)12に接続され、こ
のアドレスレジスタ12の出力側が比較器(CMP)1
3の第1の入力側に接続されている。比較器13の第2
の入力側は、アドレスバス3に接続されている。比較器
13は、第1及び第2の入力側の信号が一致したとき
に、レベル“H”の一致信号を出力するものである。The break sections 10 1 to 10 n have the same configuration. For example the break unit 10 1, 2
It has an input selector (SEL) 11, and its input terminals A and B are connected to the address bus 3 and the data bus 4, respectively. The selector 11 outputs the mode signal MO
The input terminal A is selected when the normal operation mode is designated by D, and the input terminal B is selected when the debug mode is designated. The output side of the selector 11 is connected to an address register (AREG) 12, and the output side of the address register 12 is a comparator (CMP) 1
3 is connected to the first input side. The second of the comparator 13
Are connected to the address bus 3. The comparator 13 outputs a match signal of level “H” when the signals on the first and second input sides match.
【0012】更に、アドレス比較部101は、2入力の
セレクタ14を有しており、その入力端子A,Bが、そ
れぞれ命令データバス5及びデータバス4に接続されて
いる。セレクタ14は、モード信号MODによってセレ
クタ11と同様に制御される。セレクタ14の出力側
は、命令レジスタ(IREG)15に接続され、この命
令レジスタ15の出力側がバッファ16を介して命令用
データバス5に接続されている。バッファ16の制御端
子は、比較器13の出力側に接続されている。バッファ
16は、比較器13の一致信号が“H”のときにオン状
態、レベル“L”のときにハイインピーダンス状態とな
るように導通制御される。ブレーク部101〜10nの
比較器13の出力側は、更に制御部21とNOR22の
入力側に接続されている。NOR22の出力側は、バッ
ファ25の制御端子に接続されている。制御部21は、
各ブレーク部101〜10nの比較器13の出力信号と
モード信号MOD等に従って、各ブレーク部101〜1
0n内のアドレスレジスタ12及び命令レジスタ15を
制御するものである。Furthermore, the address comparison unit 10 1 has a two-input of the selector 14, the input terminals A, B are connected to each instruction data bus 5 and a data bus 4. The selector 14 is controlled in the same manner as the selector 11 by the mode signal MOD. The output side of the selector 14 is connected to an instruction register (IREG) 15, and the output side of the instruction register 15 is connected to the instruction data bus 5 via a buffer 16. The control terminal of the buffer 16 is connected to the output side of the comparator 13. The conduction of the buffer 16 is controlled so as to be in the on state when the coincidence signal of the comparator 13 is “H” and to be in the high impedance state when it is at the level “L”. The output of the comparator 13 of the break portion 10 1 to 10 n is further connected to the input side of the control unit 21 and NOR 22. The output side of the NOR 22 is connected to the control terminal of the buffer 25. The control unit 21
In accordance with the output signal and the mode signal MOD, etc. of the comparators 13 of each break 10 1 to 10 n, each break portions 10 1 to 1
0n to control the address register 12 and the instruction register 15 within n .
【0013】次に、図1の動作を、(1)デバッグモー
ド時の動作、及び(2)通常動作モード時の動作に分け
て説明する。 (1) デバッグモード時の動作 デバッグ時に、モード信号MODによってデバッグモー
ドが指定されると、各ブレーク部101〜10nのセレ
クタ11,14は、すべて入力端子B側に切り替えられ
る。ソフトウエアデバッグの開始に先立ち、ブレークポ
イントの設定を行う。即ち、ブレーク対象のアドレス
を、データバス4からセレクタ11を通してアドレスレ
ジスタ12に書き込む。更に、ブレーク対象のアドレス
の命令コードを、例えば停止命令、割り込み命令、また
は特定番地へのジャンプ命令等のデバッグ用のブレーク
情報に置き換えるために、そのブレーク情報をデータバ
ス4からセレクタ14を介して命令レジスタ15に書き
込む。このようにして、各ブレーク部101〜10nの
アドレスレジスタ12及び命令レジスタ15に、それぞ
れ異なるブレークポイントを設定する。Next, the operation of FIG. 1 will be described by dividing it into (1) an operation in the debug mode and (2) an operation in the normal operation mode. (1) Operation to debugging when debugging mode, when the debug mode is designated by the mode signal MOD, the selector 11 and 14 of each break portions 10 1 to 10 n is switched to the all the input terminal B side. Set breakpoints before starting software debugging. That is, the address of the break is written from the data bus 4 to the address register 12 through the selector 11. Further, in order to replace the instruction code of the address to be broken with debug break information such as a stop instruction, an interrupt instruction, or a jump instruction to a specific address, the break information is transmitted from the data bus 4 via the selector 14. Write to the instruction register 15. In this manner, the address register 12 and the instruction register 15 of each break portions 10 1 to 10 n, to set different breakpoint respectively.
【0014】複数のブレークポイントを設定した後、デ
バッグ対象のソフトウエアの実行を開始させる。ソフト
ウエアの実行に従い、CPU1からアドレスバス3に、
命令アドレスが順次出力される。アドレスバス3上の命
令アドレスは、各ブレーク部101〜10nの比較器1
3において、アドレスレジスタ12に保持されたアドレ
スと比較される。命令アドレスが、各ブレーク部101
〜10nのアドレスレジスタ12に設定されたブレーク
ポイントのアドレスに一致していなければ、各比較器1
3の一致信号は“L”である。従って、各ブレーク部1
01〜10nのバッファ16はハイインピーダンス状態
となる。一方、NOR22の出力信号は“H”となって
バッファ23はオン状態となり、主記憶装置2から読み
出された命令コードが、バッファ23及び命令用データ
バス5を介して、CPU1に与えられる。これにより、
命令アドレスがブレークポイントに一致していない限
り、デバッグ対象のソフトウエアは中断されることなく
順次実行される。After setting a plurality of breakpoints, execution of the software to be debugged is started. According to the execution of the software, the CPU 1 transfers the address bus 3
Instruction addresses are sequentially output. The instruction address on the address bus 3 is stored in the comparator 1 of each of the break units 10 1 to 10 n.
At 3, the address is compared with the address held in the address register 12. Instruction address, each break 10 1
If the address does not match the address of the breakpoint set in the address register 12 of each of the comparators
The match signal of No. 3 is "L". Therefore, each break unit 1
The buffers 16 of 0 1 to 10 n enter a high impedance state. On the other hand, the output signal of the NOR 22 becomes “H”, the buffer 23 is turned on, and the instruction code read from the main storage device 2 is supplied to the CPU 1 via the buffer 23 and the instruction data bus 5. This allows
As long as the instruction address does not match the breakpoint, the software to be debugged is sequentially executed without interruption.
【0015】ここで、アドレスバス3上の命令アドレス
がブレークポイントに一致すると、いずれかのブレーク
部10i(但し、i=1〜n)において、アドレスレジ
スタ12の内容と命令アドレスが一致する。これによ
り、ブレーク部10iの比較器13の一致信号が“H”
となり、その命令レジスタ15に保持されているブレー
ク情報が、バッファ16を介して命令用データバス5に
出力される。一方、NOR22の出力信号は“L”とな
り、バッファ23はハイインピダンス状態となる。従っ
て、CPU1には、命令レジスタ15に保持されている
デバッグ用のブレーク情報が与えられ、停止、割り込
み、または特定の処理等のデバッグ動作が行われる。Here, when the instruction address on the address bus 3 coincides with the break point, the contents of the address register 12 and the instruction address coincide in any one of the break sections 10 i (i = 1 to n). Thereby, the coincidence signal of the comparator 13 of the break portion 10 i is "H"
The break information stored in the instruction register 15 is output to the instruction data bus 5 via the buffer 16. On the other hand, the output signal of the NOR 22 becomes “L”, and the buffer 23 enters a high impedance state. Accordingly, the break information for debugging held in the instruction register 15 is given to the CPU 1, and a debugging operation such as stop, interruption, or specific processing is performed.
【0016】(2) 通常動作モード時の動作 通常動作時に、モード信号MODによって通常動作モー
ドが指定されると、各ブレーク部101〜10nのセレ
クタ11,14は、すべて入力端子A側に切り替えられ
る。通常業務のソフトウエアが実行されると、CPU1
からアドレスバス3に、命令アドレスが順次出力され
る。アドレスバス3上の命令アドレスは、各ブレーク部
101〜10nの比較器13において、アドレスレジス
タ12に保持されたアドレスと比較される。(2) Operation in Normal Operation Mode During normal operation, when the normal operation mode is designated by the mode signal MOD, all the selectors 11 and 14 of the break sections 10 1 to 10 n are connected to the input terminal A side. Can be switched. When the normal business software is executed, the CPU 1
, The instruction addresses are sequentially output to the address bus 3. Instruction address on the address bus 3, in the comparator 13 of each break portions 10 1 to 10 n, it is compared with the address held in the address register 12.
【0017】命令アドレスが、各ブレーク部101〜1
0nのアドレスレジスタ12に保持されたアドレスに一
致していなければ、各比較器13の一致信号は“L”で
ある。従って、各ブレーク部101〜10nのバッファ
16はハイインピーダンス状態となる。一方、NOR2
2の出力信号は“H”となってバッファ23はオン状態
となり、主記憶装置2から読み出された命令コードが、
バッファ23及び命令用データバス5を介してCPU1
に与えられる。これにより、CPU1では、主記憶装置
2から読み出された命令コードに従って、通常業務プロ
グラムが実行される。[0017] The instruction address, each break section 10 1 to 1
If the address does not match the address held in the address register 12 of 0n, the match signal of each comparator 13 is "L". Therefore, the buffer 16 of each break portions 10 1 to 10 n becomes high-impedance state. On the other hand, NOR2
2 becomes “H”, the buffer 23 is turned on, and the instruction code read from the main storage device 2 is:
CPU 1 via the buffer 23 and the instruction data bus 5
Given to. Thus, the CPU 1 executes the normal business program according to the instruction code read from the main storage device 2.
【0018】一方、制御部21から、1つのブレーク部
10iのアドレスレジスタ12及び命令レジスタ15に
対して、データ保持用の制御信号が与えられる。これに
より、アドレスレジスタ12及び命令レジスタ15に、
それぞれCPU1で実行された命令アドレスとその命令
コードが対応して保持される。このように、各ブレーク
部101〜10nの命令レジスタ12に保持されていな
い命令アドレスが指定されると、主記憶装置2から命令
コードが読み出されると共に、その命令アドレスと命令
コードが、ブレーク部101〜10nのアドレスレジス
タ12及び命令レジスタ15に、順次保持される。Meanwhile, the control unit 21, for one break portion 10 i address register 12 and the instruction register 15, the control signal for data retention is provided. Thus, the address register 12 and the instruction register 15 store
The instruction address executed by the CPU 1 and its instruction code are stored in correspondence. As described above, when an instruction address that is not held in the instruction register 12 of each of the break units 10 1 to 10 n is specified, the instruction code is read from the main storage device 2 and the instruction address and the instruction code are stored in the break address. the address register 12 and the instruction register 15 parts 10 1 to 10 n, it is sequentially held.
【0019】ここで、CPU1から出力された命令アド
レスが、いずれかのブレーク部10 iのアドレスレジス
タ12に保持された命令アドレスに一致すると、比較器
13の一致信号が“H”となり命令レジスタ15に保持
されている命令コードが、バッファ16を介して命令用
データバス5に出力される。一方、NOR22の出力信
号は“L”となり、バッファ23はハイインピーダンス
状態となる。これにより、CPU1には、主記憶装置2
ではなく命令レジスタ15から命令コードが与えられ
る。即ち、ブレーク部101〜10nは、キャッシュメ
モリとして動作する。Here, the instruction address output from the CPU 1 is
If any of the breaks 10 iAddress Regis
When the instruction address matches the instruction address held in the
13 coincidence signal becomes “H” and held in the instruction register 15
The instruction code used for the instruction via the buffer 16
Output to the data bus 5. On the other hand, the output signal of NOR22
Signal becomes "L", and the buffer 23 has high impedance.
State. Thus, the CPU 1 has the main storage device 2
Instead, the instruction code is given from the instruction register 15.
You. That is, the break unit 101-10nIs the cache
Works as a moly.
【0020】以上のように、この第1の実施形態のハー
ドウエアブレーク回路は、アドレスレジスタ12と比較
器13による従来のハードウエアブレーク機能を有して
いる。更に、ブレークポイントにおける命令を書き替え
るための命令レジスタ15を有しているので、この命令
レジスタ15にプログラム修正用の命令コードを設定し
て、ROM等の書き替え不可能な主記憶領域に対するプ
ログラムの修正を行うことができる。一方、通常動作モ
ードでは、プログラムの実行に応じて最も近い過去にア
クセスされた命令のアドレスとその命令コードを、アド
レスレジスタ12と命令レジスタ15に保持するように
構成している。これにより、ハードウエアブレーク回路
をキャッシュメモリとして動作させることが可能にな
り、プログラムの実行速度を向上させることができる。As described above, the hardware break circuit of the first embodiment has a conventional hardware break function using the address register 12 and the comparator 13. Further, since it has an instruction register 15 for rewriting an instruction at a breakpoint, an instruction code for correcting a program is set in the instruction register 15 so that a program for a non-rewritable main storage area such as a ROM can be set. Can be modified. On the other hand, in the normal operation mode, the configuration is such that the address of the instruction accessed in the past in the past in accordance with the execution of the program and the instruction code thereof are stored in the address register 12 and the instruction register 15. As a result, the hardware break circuit can be operated as a cache memory, and the execution speed of the program can be improved.
【0021】(第2の実施形態)図2は、本発明の第2
の実施形態を示すハードウエアブレーク回路の構成図で
あり、図1中の要素と共通の要素には共通の符号が付さ
れている。このハードウエアブレーク回路では、図1中
のブレーク部101〜10nに代えて、構成の異なるブ
レーク部10A1〜10Anを設けると共に、キャッシ
ュメモリ24を追加した構成となっている。これに伴
い、制御部21に代えて機能の異なる制御部21Aを設
けている。(Second Embodiment) FIG. 2 shows a second embodiment of the present invention.
FIG. 2 is a configuration diagram of a hardware break circuit according to the first embodiment, in which components common to those in FIG. 1 are denoted by common reference numerals. This hardware breakpoint circuit, instead of the break unit 10 1 to 10 n in FIG. 1, provided with a different break portion 10A 1 10 A n constitutively, has a configuration obtained by adding the cache memory 24. Accordingly, a control unit 21A having a different function is provided in place of the control unit 21.
【0022】ブレーク部10A1〜10Anは、いずれ
も同一の構成で、例えばブレーク部10A1は、3入力
のセレクタ17,18を備えている。セレクタ17の入
力端子Aはアドレスバス3に、入力端子Bはキャッシュ
メモリ24からアドレス情報が出力されるキャッシュア
ドレスバス(CBUS)6に、入力端子Cはデータバス
4にそれぞれ接続されている。セレクタ17の出力側
は、アドレスレジスタ12の入力側に接続されている。The break portion 10A 1 10 A n are all in the same configuration, for example, the break portion 10A 1 is provided with a selector 17, 18 of the three inputs. The input terminal A of the selector 17 is connected to the address bus 3, the input terminal B is connected to a cache address bus (CBUS) 6 from which address information is output from the cache memory 24, and the input terminal C is connected to the data bus 4. The output side of the selector 17 is connected to the input side of the address register 12.
【0023】また、セレクタ18の入力端子Aはキャッ
シュメモリ25のデータ出力端子に、入力端子Bは命令
用データバス5に、入力端子Cはデータバス4にそれぞ
れ接続されている。セレクタ18の出力側は、命令レジ
スタ15の入力側に接続されている。セレクタ17,1
8は、制御部21Aによって切り替えの制御が行われる
ようになっている。各ブレーク部10A1〜10Anの
比較器13の出力側は、それぞれバッファ16の制御端
子に接続されると共に、制御部21Aに接続されてい
る。バッファ23は、制御部21Aから与えられる制御
信号によって導通状態が制御されるようになっている。The input terminal A of the selector 18 is connected to the data output terminal of the cache memory 25, the input terminal B is connected to the instruction data bus 5, and the input terminal C is connected to the data bus 4. The output side of the selector 18 is connected to the input side of the instruction register 15. Selector 17, 1
The control unit 8 controls the switching by the control unit 21A. The output of the comparator 13 of each break portions 10A 1 10 A n is connected to the control terminal of the buffer 16 respectively, are connected to the control unit 21A. The conduction state of the buffer 23 is controlled by a control signal provided from the control unit 21A.
【0024】キャッシュメモリ24は、主記憶装置2よ
りもアクセス速度の速い小容量のメモリで構成され、ア
クセスされたアドレスを含む一定領域の記憶内容を主記
憶装置2からコピーして保持し、トータルとしてアクセ
ス速度を向上させるものである。キャッシュメモリ24
は、アドレス信号が与えられるアドレス端子、書き込み
用のデータが与えられるデータ入力端子、読み出された
データを出力するデータ出力端子、保持しているデータ
のアドレス情報を出力するキャッシュアドレス端子、及
び与えられたアドレス信号に対応したデータが存在する
か否かのヒット情報を出力するヒット出力端子等を有し
ている。キャッシュメモリ24のアドレス端子はアドレ
スバス1に、データ入力端子は命令用データバス5に、
データ出力端子はバッファ25を介して命令用データバ
ス5に、キャッシュアドレス端子はキャッシュアドレス
バス6に、ヒット出力端子は制御部21Aにそれぞれ接
続されている。バッファ25は、制御部21Aからの制
御信号によって導通状態が制御されるようになってい
る。その他の構成は、図1と同様である。The cache memory 24 is composed of a small-capacity memory having an access speed higher than that of the main storage device 2. The content of a fixed area including an accessed address is copied from the main storage device 2 and held, and This is to improve the access speed. Cache memory 24
Is an address terminal to which an address signal is applied, a data input terminal to which write data is applied, a data output terminal to output read data, a cache address terminal to output address information of held data, and And a hit output terminal for outputting hit information as to whether or not data corresponding to the given address signal exists. The address terminal of the cache memory 24 is connected to the address bus 1, the data input terminal is connected to the instruction data bus 5,
The data output terminal is connected to the instruction data bus 5 via the buffer 25, the cache address terminal is connected to the cache address bus 6, and the hit output terminal is connected to the control unit 21A. The conduction state of the buffer 25 is controlled by a control signal from the control unit 21A. Other configurations are the same as those in FIG.
【0025】次に、図2の動作を、(1)デバッグモー
ド時の動作、及び(2)通常動作モード時の動作に分け
て説明する。 (1) デバッグモード時の動作 デバッグ時に、モード信号MODによってデバッグモー
ドが指定されると、ブレークポイントの設定のために、
制御部21Aによって各ブレーク部10A1〜10An
のセレクタ17,18が、入力端子C側へ切り替えられ
る。まず、ブレーク対象のアドレスを、データバス4か
らセレクタ17を介してアドレスレジスタ12に書き込
む。更に、デバッグ用のブレーク情報をデータバス4か
らセレクタ18を介して命令レジスタ15に書き込む。
このようにして、各ブレーク部A101〜10Anに、
それぞれ異なるブレークポイントを設定する。Next, the operation of FIG. 2 will be described by dividing it into (1) an operation in the debug mode and (2) an operation in the normal operation mode. (1) Operation in debug mode When the debug mode is specified by the mode signal MOD during debugging,
Each break unit 10A 1 to 10A n is controlled by the control unit 21A.
Selectors 17 and 18 are switched to the input terminal C side. First, the address to be broken is written from the data bus 4 to the address register 12 via the selector 17. Further, the debug information is written from the data bus 4 to the instruction register 15 via the selector 18.
In this manner, the break portion A10 1 10 A n,
Set different breakpoints for each.
【0026】複数のブレークポイントを設定した後、デ
バッグ対象のソフトウエアの実行を開始させる。ソフト
ウエアの実行に従い、CPU1からアドレスバス3に、
命令アドレスが順次出力される。アドレスバス3上の命
令アドレスは、各ブレーク部101〜10nの比較器1
3において、アドレスレジスタ12に保持されたアドレ
スと比較される。各ブレーク部10A1〜10Anの比
較器13の比較結果は、制御部21Aとバッファ16に
与えられる。同時に、アドレスバス3上の命令アドレス
は、キャッシュメモリ24に与えられ、該当するアドレ
スがこのキャッシュメモリ24内に存在するか否かのヒ
ット情報が制御部21Aに出力される。命令アドレス
が、各ブレーク部10A1〜10Anのアドレスレジス
タ12に設定されたブレークポイントのいずれかに一致
していれば、そのブレーク部10Ai(但し、i=1〜
n)の命令レジスタ15に保持されている命令コード
が、バッファ16を介して命令用データバス5に出力さ
れる。これにより、CPU1には、命令レジスタ15に
保持されているデバッグ用のブレーク情報が与えられ、
デバッグ動作が行われる。After setting a plurality of breakpoints, execution of the software to be debugged is started. According to the execution of the software, the CPU 1 transfers the address bus 3
Instruction addresses are sequentially output. The instruction address on the address bus 3 is stored in the comparator 1 of each of the break units 10 1 to 10 n.
At 3, the address is compared with the address held in the address register 12. Comparison result of the comparator 13 of each break portions 10A 1 10 A n is given to the control unit 21A and the buffer 16. At the same time, the instruction address on the address bus 3 is given to the cache memory 24, and hit information indicating whether the corresponding address exists in the cache memory 24 is output to the control unit 21A. Instruction address, if match one of the set break points in the address register 12 of each break portions 10A 1 10 A n, the break portion 10A i (where, i =. 1 to
The instruction code stored in the instruction register 15 of (n) is output to the instruction data bus 5 via the buffer 16. Thereby, the break information for debugging held in the instruction register 15 is given to the CPU 1,
A debugging operation is performed.
【0027】一方、命令アドレスが、各ブレーク部10
A1〜10Anに設定されたブレークポイントのいずれ
にも一致せず、キャッシュメモリ24中に存在すれば、
このキャッシュメモリ24から該当する命令コードが、
バッファ25を介して命令用データバス5に出力され
る。また、命令アドレスがキャッシュメモリ24中にも
存在しなければ、主記憶装置2から読み出された命令コ
ードが、バッファ23及び命令用データバス5を介して
CPU1に与えられる。これにより、命令アドレスがブ
レーク部10A1〜10Anに設定されたブレークポイ
ントに一致していない限り、デバッグ対象のソフトウエ
アは中断されることなく順次実行される。On the other hand, if the instruction address is
To both not match the breakpoints set in A 1 10 A n, if present in the cache memory 24,
The corresponding instruction code from the cache memory 24 is
The data is output to the instruction data bus 5 via the buffer 25. If the instruction address does not exist in the cache memory 24, the instruction code read from the main storage device 2 is supplied to the CPU 1 via the buffer 23 and the instruction data bus 5. Thus, as long as the instruction address does not match the set break point break portion 10A 1 10 A n, debugged software are executed sequentially without interruption.
【0028】(2) 通常動作モード時の動作 通常動作時に、モード信号MODによって通常動作モー
ドが指定されると、制御部21Aによって、各ブレーク
部10A1〜10Anのセレクタ17,18が、入力端
子AまたはB側に切り替えられる。通常業務のソフトウ
エアが実行されると、CPU1からアドレスバス3に、
命令アドレスが順次出力される。アドレスバス3上の命
令アドレスは、各ブレーク部10A1〜10Anの比較
器13において、アドレスレジスタ12に保持されたア
ドレスと比較される。同時に、アドレスバス3上の命令
アドレスは、キャッシュメモリ24に与えられ、該当す
るアドレスがこのキャッシュメモリ24内に存在するか
否かのヒット情報が制御部21Aに出力される。[0028] (2) during normal operation the normal operation of the operation mode, when the normal operation mode is designated by the mode signal MOD, the control unit 21A, the selector 17, 18 of each break portions 10A 1 10 A n, input Switch to terminal A or B side. When the software for the normal business is executed, the CPU 1 transfers the software to the address bus 3.
Instruction addresses are sequentially output. Instruction address on the address bus 3, in the comparator 13 of each break portions 10A 1 10 A n, is compared with the address held in the address register 12. At the same time, the instruction address on the address bus 3 is given to the cache memory 24, and hit information indicating whether the corresponding address exists in the cache memory 24 is output to the control unit 21A.
【0029】命令アドレスが、各ブレーク部10A1〜
10Anのアドレスレジスタ12に保持されたアドレス
のいずれかに一致していれば、一致したブレーク部10
Aiの命令レジスタ15に保持された命令コードが、バ
ッファ16を介して命令用データバス5に出力される。
CPU1では、命令用データバス5上の命令に従って、
通常業務のプログラムが実行される。この時、キャッシ
ュメモリ24内の対応するラインの命令と、レジスタ1
5に保持されている命令コードとの入れ替えが行われ
る。命令アドレスが、各ブレーク部10A1〜10An
のアドレスレジスタ12に保持されたアドレスに一致せ
ず、キャッシュメモリ24中に存在すれば、対応する命
令コードがキャッシュメモリ24からバッファ25を介
して命令用データバス5に出力される。If the instruction address is in each of the break sections 10A 1 to 10A 1
If the address matches one of the addresses held in the address register 12 of 10An, the matching break unit 10
Instruction code held in the instruction register 15 of A i are outputted to the instruction data bus 5 via the buffer 16.
In the CPU 1, according to the instruction on the instruction data bus 5,
A normal business program is executed. At this time, the instruction of the corresponding line in the cache memory 24 and the register 1
5 is exchanged with the instruction code stored in 5. When the instruction address is in each of the break sections 10A 1 to 10A n
If the address does not match the address held in the address register 12 and exists in the cache memory 24, the corresponding instruction code is output from the cache memory 24 to the instruction data bus 5 via the buffer 25.
【0030】命令アドレスが、各ブレーク部10A1〜
10Anのアドレスレジスタ12に保持されたアドレス
に一致せず、かつキャッシュメモリ24中にも存在しな
ければ、主記憶装置2から、対応する命令コードが読み
出され、バッファ23を介して命令用データバス5に出
力される。同時に、アドレスバス3上のアドレス信号
が、セレクタ17を介してアドレスレジスタ12に保持
される。また、命令データバス5上の命令コードがセレ
クタ18を介して命令レジスタ15に保持される。以上
のように、この第2の実施形態のハードウエアブレーク
回路は、第1の実施形態のハードウエアブレーク回路
に、キャッシュメモリ24を追加している。これによ
り、第1の実施形態の利点に加えて、キャッシュメモリ
24による高速処理が可能になるという利点がある。The instruction address is set to each of the break units 10A 1 to 10A 1 to
If the address does not match the address held in the address register 12 of 10An and does not exist in the cache memory 24, the corresponding instruction code is read from the main storage device 2, and the instruction code is read out via the buffer 23. Output to the data bus 5. At the same time, the address signal on the address bus 3 is held in the address register 12 via the selector 17. The instruction code on the instruction data bus 5 is held in the instruction register 15 via the selector 18. As described above, the hardware break circuit according to the second embodiment adds the cache memory 24 to the hardware break circuit according to the first embodiment. Thereby, in addition to the advantage of the first embodiment, there is an advantage that high-speed processing by the cache memory 24 becomes possible.
【0031】(第3の実施形態)図3は、本発明の第3
の実施形態を示すハードウエアブレーク回路の構成図で
あり、図2中の要素と共通の要素には共通の符号が付さ
れている。このハードウエアブレーク回路では、図2中
のブレーク部10A1〜10Anに代えて、構成の異な
るブレーク部10B1〜10Bnを設けると共に、制御
部21Aに代えて、機能の異なる制御部21Bを設けて
いる。ブレーク部10B1〜10Bnは、いずれも同一
の構成で、例えばブレーク部10B1は、3入力のセレ
クタ17と、2入力のセレクタ19を備えている。セレ
クタ17の入力端子A,B,Cは、それぞれアドレスバ
ス3、キャッシュアドレスバス6、及びデータバス4に
接続され、このセレクタ17の出力側が、アドレスレジ
スタ12に接続されている。(Third Embodiment) FIG. 3 shows a third embodiment of the present invention.
FIG. 3 is a configuration diagram of a hardware break circuit according to the embodiment of the present invention, wherein components common to those in FIG. 2 are denoted by common reference numerals. This hardware breakpoint circuit, instead of the break portion 10A 1 10 A n in FIG. 2, provided with a different break portion 10B 1 ~10B n constitutively, in place of the control unit 21A, a different control unit 21B of function Provided. The break units 10B 1 to 10B n have the same configuration. For example, the break unit 10B 1 includes a selector 17 with three inputs and a selector 19 with two inputs. The input terminals A, B, and C of the selector 17 are connected to the address bus 3, the cache address bus 6, and the data bus 4, respectively, and the output side of the selector 17 is connected to the address register 12.
【0032】また、セレクタ19の入力端子Aはキャッ
シュメモリ25のデータ出力端子に、入力端子Bはデー
タバス4にそれぞれ接続されている。セレクタ19の出
力側はデータレジスタ(DREG)20に接続され、こ
のデータレジスタ20の出力側が、バッファ16を介し
てデータバス4に接続されている。各ブレーク部10B
1〜10Bnの比較器13の出力側は、制御部21Bに
接続され、セレクタ17,19、及びバッファ16は、
この制御部21Bによって切り替えの制御が行われるよ
うになっている。更に、制御部21BからCPU1に対
してブレーク要求信号BRKが出力され、このCPU1
から制御部21Bに対してアクセス制御信号ACSが与
えられるようになっている。キャッシュメモリ24のデ
ータ入力端子はデータバス4に、データ出力端子はセレ
クタ19の入力端子Aの他、バッファ25を介してデー
タバス4に、ヒット出力端子は制御部21Bにそれぞれ
接続されている。その他の構成は、図2と同様である。The input terminal A of the selector 19 is connected to the data output terminal of the cache memory 25, and the input terminal B is connected to the data bus 4. The output side of the selector 19 is connected to a data register (DREG) 20, and the output side of the data register 20 is connected to the data bus 4 via the buffer 16. Each break part 10B
1 output of the comparator 13 of ~10B n is connected to the control unit 21B, a selector 17, 19, and buffer 16,
Switching control is performed by the control unit 21B. Further, a break request signal BRK is output from the control unit 21B to the CPU 1, and the CPU 1
, An access control signal ACS is supplied to the control unit 21B. The data input terminal of the cache memory 24 is connected to the data bus 4, the data output terminal is connected to the input terminal A of the selector 19, the data bus 4 via the buffer 25, and the hit output terminal is connected to the control unit 21B. Other configurations are the same as those in FIG.
【0033】次に、図3の動作を、(1)ハードウエア
ブレーク動作、(2)デバッグ時の動作、及び(3)通
常運用時の動作に分けて説明する。 (1) ハードウエアブレーク動作 ハードウエアブレーク動作の開始に先立ち、ブレークポ
イントを設定するために、制御部21Bから各ブレーク
部10B1〜10Bnに、セレクタ17を入力端子C側
へ切り替える制御信号を出力する。そして、ブレーク対
象のアドレスを、データバス4からセレクタ17を介し
てアドレスレジスタ12に書き込む。複数のブレークポ
イントを設定した後、ソフトウエアの実行を開始させ
る。ソフトウエアの実行に従い、CPU1からアドレス
バス3に、アドレス信号が順次出力され、各ブレーク部
10B1〜10Bnの比較器13において、アドレスレ
ジスタ12に保持されたアドレスと比較される。各ブレ
ーク部10B1〜10B nの比較器13による比較結果
は、制御部21Bに与えられる。同時に、アドレスバス
3上のアドレス信号は、キャッシュメモリ24に与えら
れ,このキャッシュメモリ24からヒット情報が制御部
21Bに出力される。Next, the operation of FIG. 3 is described by (1) hardware
Break operation, (2) Debug operation, and (3)
The operation will be described separately for normal operation. (1) Hardware break operation Before starting the hardware break operation, a breakpoint
In order to set points, the control unit 21B
Part 10B1-10BnAnd the selector 17 is connected to the input terminal C side.
Outputs a control signal to switch to. And break vs
Address of the elephant from the data bus 4 via the selector 17
To the address register 12. Multiple breakpoints
After setting the point, start software execution.
You. Following the execution of the software, the address from CPU1
Address signals are sequentially output to the bus 3 and each break unit
10B1-10BnAddress comparator 13
The address is compared with the address held in the register 12. Each blur
Work part 10B1-10B nResult of comparator 13
Is given to the control unit 21B. At the same time, the address bus
3 is given to the cache memory 24.
The hit information is transferred from the cache memory 24 to the control unit.
21B.
【0034】アドレス信号が、各ブレーク部10B1〜
10Bnに設定されたブレークポイントのいずれかに一
致すると、そのブレーク部10i(但し、i=1〜n)
の比較器13から制御部21Bに、アドレスの一致とリ
ード・ライト等の条件が送られる。制御部21Bでは、
CPU1からのアクセス制御信号ACSと、比較器13
からの一致信号に基づいてブレーク要否が判定され、ブ
レーク条件が成立した場合は、CPU1に対してブレー
ク要求信号BRKが送られる。CPU1では、ブレーク
要求信号BRKに応じてブレーク処理が行われる。The address signal is applied to each of the break units 10B 1 to 10B 1 .
When any one of the breakpoints set in 10B n is matched, the break part 10 i (where i = 1 to n)
Are sent from the comparator 13 to the control unit 21B, such as address matching and read / write conditions. In the control unit 21B,
The access control signal ACS from the CPU 1 and the comparator 13
Is determined based on the match signal from the CPU 1 and a break request signal BRK is sent to the CPU 1 when the break condition is satisfied. In the CPU 1, a break process is performed according to the break request signal BRK.
【0035】一方、アドレスバス3上のアドレス信号
が、各ブレーク部10B1〜10Bnに設定されたブレ
ークポイントのいずれにも一致せず、キャッシュメモリ
24中に存在すれば、このキャッシュメモリ24上のデ
ータへのアクセスとして処理される。また、該当するア
ドレスがキャッシュメモリ24中にも存在しなければ、
主記憶装置2に対するデータのアクセスとして処理され
ると共に、この主記憶装置2にアクセスされたデータに
よって、キャッシュメモリ24のデータ置き換え処理が
行われる。On the other hand, the address signals on the address bus 3, to both not match the breakpoints set in the break portion 10B 1 ~10B n, if present in the cache memory 24, the cache memory 24 on Is processed as access to the data. If the corresponding address does not exist in the cache memory 24,
The process is performed as data access to the main storage device 2, and a data replacement process of the cache memory 24 is performed by the data accessed to the main storage device 2.
【0036】(2) デバッグ時の動作 ソフトウエアデバッグの開始に先立ち、対象アドレス及
びリード・ライト等の条件を、データバス4からセレク
タ17を介してアドレスレジスタ12に書き込む。ま
た、データレジスタ20には、データバス4からセレク
タ19を介してデバッグ用の特定データを書き込む。ソ
フトウエアデバッグが開始されると、CPU1からアド
レスバス3に出力さたアドレス信号が、各ブレーク部1
0B1〜10Bnの比較器13によって、アドレスレジ
スタ12に保持されたアドレスと比較される。また、ア
ドレスバス3上のアドレス信号は、キャッシュメモリ2
4に与えられ、ヒット判定とデータアクセスが行われ
る。(2) Operation during Debugging Prior to the start of software debugging, conditions such as a target address and read / write are written from the data bus 4 to the address register 12 via the selector 17. Further, specific data for debugging is written from the data bus 4 to the data register 20 via the selector 19. When software debugging is started, the address signal output from the CPU 1 to the address bus 3
By the comparator 13 of 0B 1 ~10B n, it is compared with the address held in the address register 12. The address signal on the address bus 3 is transmitted to the cache memory 2.
4 for hit determination and data access.
【0037】アドレスバス3上のアドレス信号が、アド
レスレジスタ12に保持されたアドレスに一致すると、
比較器13から制御部21Bへ一致信号が送られる。制
御部21Bでは、CPU1からのアクセス制御信号AC
Sと比較器13からの一致信号に基づいて、リードアク
セスの場合は、バッファ16がオン状態に制御され、デ
ータレジスタ20からデータバス4に、該当アドレスに
対応する特定データが出力される。ライトアクセスの場
合は、データバス4上のデータが、セレクタ19を介し
てデータレジスタ20に書き込まれる。When the address signal on the address bus 3 matches the address held in the address register 12,
A match signal is sent from comparator 13 to control unit 21B. In the control unit 21B, the access control signal AC
In the case of read access, the buffer 16 is controlled to the ON state on the basis of the coincidence signal from the comparator 13 and S, and the specific data corresponding to the address is output from the data register 20 to the data bus 4. In the case of write access, data on the data bus 4 is written to the data register 20 via the selector 19.
【0038】アドレスバス3上のアドレス信号が、アド
レスレジスタ12の保持内容に一致せず、キャッシュメ
モリ24内に存在する場合、このキャッシュメモリ24
内のデータへのアクセスとして処理される。アドレスバ
ス3上のアドレス信号が、アドレスレジスタ12の保持
内容に一致せず、かつキャッシュメモリ24内にも存在
しない場合、主記憶装置2に対するデータアクセスとし
て処理される。同時に、主記憶装置2にアクセスされた
データによって、キャッシュメモリ24へのデータ置き
換え処理が行われる。If the address signal on the address bus 3 does not match the content held in the address register 12 and exists in the cache memory 24, the cache memory 24
Treated as access to data in If the address signal on the address bus 3 does not match the content held in the address register 12 and does not exist in the cache memory 24, it is processed as a data access to the main storage device 2. At the same time, data replacement processing to the cache memory 24 is performed by the data accessed to the main storage device 2.
【0039】(3) 通常運用時の動作 通常運用のソフトウエアが実行されると、CPU1から
アドレスバス3に出力さたアドレス信号は、比較器13
において、アドレスレジスタ12に保持されたアドレス
と比較される。また、アドレスバス3上のアドレス信号
は、キャッシュメモリ24に与えられ、ヒット判定とデ
ータアクセスが行われる。アドレスバス3上のアドレス
信号が、アドレスレジスタ12に保持されたアドレスに
一致すると、比較器13から制御部21Bへ一致信号が
送られる。制御部21Bでは、CPU1からのアクセス
制御信号ACSと比較器13からの一致信号に基づい
て、リードアクセスの場合は、バッファ16がオン状態
に制御され、データレジスタ20からデータバス4に、
該当アドレスに対応するデータが出力される。ライトア
クセスの場合は、データバス4上のデータが、セレクタ
19を介してデータレジスタ20に書き込まれる。この
時、キャッシュメモリ24内の対応するラインのデータ
をデータレジスタ20へ、対応するラインのアドレスを
キャッシュアドレスバス6とセレクタ17を介してアド
レスレジスタ12へ、データレジスタ20内のデータを
キャッシュメモリ24内の対応するラインへ、アドレス
バス3上のアドレスをキャッシュメモリ24内の対応す
るラインへ、互いにデータの入れ替えが行われる。(3) Operation in Normal Operation When the software for normal operation is executed, the address signal output from the CPU 1 to the address bus 3
Is compared with the address held in the address register 12. Further, the address signal on the address bus 3 is given to the cache memory 24, and hit determination and data access are performed. When the address signal on the address bus 3 matches the address held in the address register 12, a match signal is sent from the comparator 13 to the control unit 21B. In the control unit 21B, based on the access control signal ACS from the CPU 1 and the coincidence signal from the comparator 13, in the case of read access, the buffer 16 is controlled to the ON state, and the data register 20
The data corresponding to the address is output. In the case of write access, data on the data bus 4 is written to the data register 20 via the selector 19. At this time, the data of the corresponding line in the cache memory 24 is sent to the data register 20, the address of the corresponding line is sent to the address register 12 via the cache address bus 6 and the selector 17, and the data in the data register 20 is sent to the cache memory 24. , The data on the address on the address bus 3 and the corresponding line in the cache memory 24 are exchanged with each other.
【0040】アドレスバス3上のアドレス信号が、アド
レスレジスタ12の保持内容に一致せず、キャッシュメ
モリ24内に存在する場合、このキャッシュメモリ24
内のデータへのアクセスとして処理される。アドレスバ
ス3上のアドレス信号が、アドレスレジスタ12の保持
内容に一致せず、かつキャッシュメモリ24内にも存在
しない場合、主記憶装置2に対するデータへのアクセス
として処理される。同時に、アドレスレジスタ12及び
データレジスタ20と、主記憶装置2上のデータのデー
タ置き換え処理が行われる。If the address signal on the address bus 3 does not match the content held in the address register 12 and exists in the cache memory 24, the cache memory 24
Treated as access to data in If the address signal on the address bus 3 does not match the content held in the address register 12 and does not exist in the cache memory 24, it is processed as an access to data in the main storage device 2. At the same time, data replacement processing of the data in the address register 12 and the data register 20 and the data in the main storage device 2 is performed.
【0041】以上のように、この第3の実施形態のハー
ドウエアブレーク回路は、ブレーク対象のアドレス及び
リード・ライト等のフレーク条件を設定するアドレスレ
ジスタ12を有しているので、従来と同様のCPU1に
対するハードウエアブレーク機能を実現することができ
る。また、プログラム修正用の特定データを設定するこ
とができるデータレジスタ20を有しているので、デバ
ッグ時等に、ROM等の書き換え不可能が主記憶領域に
対し、プログラムの修正をすることができる。更に、通
常運用時には、キャッシュメモリ24に対してブレーク
部10B1〜10Bnを、2次キャッシュメモリとして
動作させることができ、キャッシュメモリの容量が増加
して、プログラムの実行速度を更に向上させることがで
きる。As described above, the hardware break circuit of the third embodiment has the address register 12 for setting the break target address and the flake condition such as read / write, so that the hardware break circuit is the same as the conventional one. A hardware break function for the CPU 1 can be realized. Further, since the data register 20 which can set specific data for program correction is provided, it is possible to correct the program in the main storage area such as the ROM which cannot be rewritten at the time of debugging or the like. . Furthermore, during normal operation, the break portion 10B 1 ~10B n on the cache memory 24 can be operated as a secondary cache memory, the capacity of the cache memory is increased, further improving the execution speed of the program Can be.
【0042】[0042]
【発明の効果】以上詳細に説明したように、第1の発明
によれば、デバッグモード時には、CPUをブレークす
るための特定アドレスが設定され、通常動作モード時に
はこのCPUから出力されたアドレスを書き込むアドレ
スレジスタと、デバッグモード時にはCPUに対するブ
レークデータが設定され、通常動作モード時には記憶装
置から読み出された命令コードを書き込む命令レジスタ
を有している。これにより、デバッグモード時にハード
ウエアブレーク動作が行われると共に、通常動作モード
時には、キャッシュメモリとして使用できるという効果
がある。As described above in detail, according to the first aspect, a specific address for breaking the CPU is set in the debug mode, and the address output from this CPU is written in the normal operation mode. It has an address register and an instruction register in which break data for the CPU is set in the debug mode and an instruction code read from the storage device is written in the normal operation mode. Thus, there is an effect that the hardware break operation is performed in the debug mode and the cache memory can be used in the normal operation mode.
【0043】第2の発明によれば、デバッグモード時に
は、CPUをブレークするための特定アドレスが設定さ
れ、通常動作モード時にはこのCPUから出力されたア
ドレスを書き込むアドレスレジスタと、デバッグモード
時にはCPUに対する特定データが設定され、通常動作
モード時には記憶装置から読み出されたデータを書き込
むデータレジスタを有している。これにより、デバッグ
モード時にハードウエアブレーク動作が行われると共
に、通常動作モード時には、キャッシュメモリとして使
用できるという効果がある。According to the second aspect, in the debug mode, a specific address for breaking the CPU is set. In the normal operation mode, an address register for writing an address output from the CPU, and in the debug mode, a specific address for the CPU is set. It has a data register in which data is set and in which data read from the storage device is written in the normal operation mode. Thus, there is an effect that the hardware break operation is performed in the debug mode and the cache memory can be used in the normal operation mode.
【図1】本発明の第1の実施形態を示すハードウエアブ
レーク回路の構成図である。FIG. 1 is a configuration diagram of a hardware break circuit according to a first embodiment of the present invention.
【図2】本発明の第2の実施形態を示すハードウエアブ
レーク回路の構成図である。FIG. 2 is a configuration diagram of a hardware break circuit according to a second embodiment of the present invention.
【図3】本発明の第3の実施形態を示すハードウエアブ
レーク回路の構成図である。FIG. 3 is a configuration diagram of a hardware break circuit according to a third embodiment of the present invention.
1 CPU 2 主記憶装置 3 アドレスバス 4 データバス 5 命令用データバス 6 キャッシュアドレスバス 10,10A,10B ブレーク部 11,14,17,18,19 セレクタ 12 アドレスレジスタ 13 比較器 15 命令レジスタ 16,23,25 バッファ 20 データバッファ 21,21A,21B 制御部 24 キャッシュメモリ DESCRIPTION OF SYMBOLS 1 CPU 2 Main storage device 3 Address bus 4 Data bus 5 Instruction data bus 6 Cache address bus 10, 10A, 10B Break part 11, 14, 17, 18, 19 Selector 12 Address register 13 Comparator 15 Instruction register 16, 23 , 25 buffers 20 data buffers 21, 21A, 21B control unit 24 cache memory
Claims (2)
力されるアドレス信号が予め設定された特定アドレスと
なったときに、記憶装置に格納されたプログラムの命令
コードにかかわらず、該中央処理装置を予め設定した特
定状態に強制的に移行させるためのハードウエアブレー
ク回路において、 前記特定アドレスまたは前記中央処理装置で実行された
アドレスを保持するアドレスレジスタと、 前記中央処理装置を前記特定状態に移行させるためのブ
レーク情報または該中央処理装置で実行された命令コー
ドを保持する命令レジスタと、 前記アドレス信号と前記アドレスレジスタの保持内容が
一致したときに、前記命令レジスタの保持内容を前記中
央処理装置に対する制御情報として出力する比較器と、 前記デバッグモード時には、前記アドレスレジスタに前
記特定アドレスを設定すると共に前記命令レジスタに前
記ブレーク情報を設定し、該デバッグモード時以外の通
常動作モード時には、該アドレスレジスタに前記中央処
理装置で実行されたアドレスを書き込むと共に該命令レ
ジスタに該中央処理装置で実行された命令コードを書き
込むように制御する制御部とを、 備えたことを特徴とするハードウエアブレーク回路。When an address signal output from a central processing unit in a debug mode reaches a predetermined specific address, the central processing unit is controlled in advance regardless of an instruction code of a program stored in a storage device. A hardware break circuit for forcibly shifting to the set specific state; an address register for holding the specific address or the address executed by the central processing unit; and for shifting the central processing unit to the specific state. An instruction register for holding break information or an instruction code executed by the central processing unit; and controlling the content of the instruction register to the central processing unit when the address signal matches the content of the address register. A comparator that outputs the information; and Address register and the break information in the instruction register. In a normal operation mode other than the debug mode, the address executed by the central processing unit is written into the address register and the instruction is written. A control unit for controlling the instruction code executed by the central processing unit to be written into the register.
力されるアドレス信号が予め設定された特定アドレスと
なったときに、記憶装置に格納されたデータにかかわら
ず、該中央処理装置に予め設定した特定データを与える
ためのハードウエアブレーク回路において、 前記特定アドレスまたは前記中央処理装置から出力され
たアドレスを保持するアドレスレジスタと、 前記中央処理装置に与える前記特定データまたは前記記
憶装置から読み出されたデータを保持するデータレジス
タと、 前記アドレス信号と前記アドレスレジスタの保持内容が
一致したときに、前記データレジスタの保持内容を前記
中央処理装置に対するデータとして出力する比較器と、 前記デバッグモード時には、前記アドレスレジスタに前
記特定アドレスを設定すると共に前記データレジスタに
前記特定データを設定し、該デバッグモード時以外の通
常動作モード時には、該アドレスレジスタに前記中央処
理装置から出力されたアドレスを書き込むと共に該デー
タレジスタに前記記憶装置から読み出されたデータを書
き込むように制御する制御部とを、 備えたことを特徴とするハードウエアブレーク回路。2. When the address signal output from the central processing unit in the debug mode becomes a predetermined specific address, regardless of the data stored in the storage device, the specific signal set in the central processing unit is set in advance. A hardware break circuit for providing data, an address register holding the specific address or an address output from the central processing unit; and the specific data to be supplied to the central processing unit or the data read from the storage device. A data register for holding the address register; and a comparator for outputting the held content of the data register as data to the central processing unit when the address signal matches the held content of the address register. Setting the specific address in the register The specific data is set in the data register, and in a normal operation mode other than the debug mode, an address output from the central processing unit is written to the address register and read from the storage device to the data register. A hardware break circuit, comprising: a control unit that controls so as to write data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000086596A JP2001273167A (en) | 2000-03-27 | 2000-03-27 | Hardware break circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000086596A JP2001273167A (en) | 2000-03-27 | 2000-03-27 | Hardware break circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001273167A true JP2001273167A (en) | 2001-10-05 |
Family
ID=18602730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000086596A Withdrawn JP2001273167A (en) | 2000-03-27 | 2000-03-27 | Hardware break circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001273167A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8745446B2 (en) | 2009-03-25 | 2014-06-03 | Spansion Llc | Integrated circuit, debugging circuit, and debugging command control method |
-
2000
- 2000-03-27 JP JP2000086596A patent/JP2001273167A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8745446B2 (en) | 2009-03-25 | 2014-06-03 | Spansion Llc | Integrated circuit, debugging circuit, and debugging command control method |
US9514070B2 (en) | 2009-03-25 | 2016-12-06 | Cypress Semiconductor Corporation | Debug control circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7334161B2 (en) | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus | |
US6959367B2 (en) | System having read-modify-write unit | |
JPH06314213A (en) | Debugging device | |
JPH01263760A (en) | Data transfer control method and its circuit for coprocessor | |
JPH1078889A (en) | Microcomputer | |
US6581120B1 (en) | Interrupt controller | |
US4095268A (en) | System for stopping and restarting the operation of a data processor | |
JPH0155505B2 (en) | ||
JPS62179033A (en) | Ic microprocessor | |
JP2000353092A (en) | Information processor and register file switching method for the processor | |
JP2001273167A (en) | Hardware break circuit | |
JP3097602B2 (en) | Data processing device | |
JP3197045B2 (en) | Extended central processing unit | |
JP2619416B2 (en) | emulator | |
JPH0241770B2 (en) | ||
JPS6220034A (en) | Program status word switching control system | |
JP2965585B2 (en) | Cache memory test method | |
JP2000029508A (en) | Programmable controller | |
JP2004185356A (en) | Debug system | |
JPH0535499A (en) | Data processing device and method | |
JPH0833825B2 (en) | Microprocessor | |
JPH0836499A (en) | Microcomputer | |
JP2002007154A (en) | Information processor | |
JPS62248043A (en) | Memory switching circuit for fetching microcomputer instruction | |
JPH01169639A (en) | Memory |
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: 20070605 |