JPH0877037A - Jamming device - Google Patents
Jamming deviceInfo
- Publication number
- JPH0877037A JPH0877037A JP6208439A JP20843994A JPH0877037A JP H0877037 A JPH0877037 A JP H0877037A JP 6208439 A JP6208439 A JP 6208439A JP 20843994 A JP20843994 A JP 20843994A JP H0877037 A JPH0877037 A JP H0877037A
- Authority
- JP
- Japan
- Prior art keywords
- jamming
- instruction
- code
- breakpoint
- user program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、インサーキットエミュ
レータに関するもので、特にユーザプログラムのブレー
クを実現する際に有効なジャミング装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an in-circuit emulator, and more particularly to a jamming device effective for realizing a break of a user program.
【0002】[0002]
【従来の技術】インサーキットエミュレータにおいて
は、ユーザプログラムの実行のブレークを実現するため
のものとしてジャミングと呼ばれる手法が用いられてい
る。2. Description of the Related Art In-circuit emulators use a technique called jamming as a means for realizing a break in execution of a user program.
【0003】以下従来のジャミング装置について説明す
る。従来のジャミング装置は図3に示すように、アドレ
ス比較回路9と、1個のジャミング命令を保持するジャ
ミングメモリ11と、選択回路13とを備える。A conventional jamming device will be described below. As shown in FIG. 3, the conventional jamming apparatus includes an address comparison circuit 9, a jamming memory 11 that holds one jamming instruction, and a selection circuit 13.
【0004】次に、従来のジャミング装置の動作につい
て説明する。従来のジャミング装置では、ブレークの対
象となるアドレスの命令を実行しようとした時に、 1.ブレークの対象となるアドレスの命令フェッチをア
ドレス比較回路9により検出する。 2.検出した時には、ジャミングメモリ11内に予め設
定したジャミング用の命令コードを選択回路13に出力
する。 3.選択回路13は、ジャミング用の命令コードを入力
した場合には、ジャミング用の命令コードをデータバス
(図示せず)へ出力し、それ以外の場合には、ユーザプ
ログラムの命令コード(図示せず)を出力する。 4.選択回路により出力された命令は、データバスを経
由してCPU(図示せず)に出力し、必要に応じて、デ
バッガプログラムへの制御の移行、その番地への分岐命
令の繰り返しを行なう。そして、デバッガで必要な制御
を行なうものである。Next, the operation of the conventional jamming device will be described. In the conventional jamming device, when an instruction of an address targeted for a break is executed, The address comparison circuit 9 detects the instruction fetch of the address to be the break target. 2. When detected, the jamming instruction code preset in the jamming memory 11 is output to the selection circuit 13. 3. The selection circuit 13 outputs the jamming instruction code to the data bus (not shown) when the jamming instruction code is input, and otherwise outputs the user program instruction code (not shown). ) Is output. 4. The instruction output by the selection circuit is output to the CPU (not shown) via the data bus, and if necessary, the control is transferred to the debugger program and the branch instruction to the address is repeated. Then, the debugger performs necessary control.
【0005】このような方法であれば、ユーザプログラ
ムの命令コードをインサーキットエミュレータのハード
ウエアにより置き換えるため、CPUが命令のプリフェ
ッチや、パイプライン処理を行なっていても問題なく、
実行前ブレークを実現することが可能である。なお、こ
のジャミングは、命令コードの命令部をフェッチしたと
きのみ行われるものである。With such a method, the instruction code of the user program is replaced by the hardware of the in-circuit emulator, so that there is no problem even if the CPU is prefetching instructions or performing pipeline processing.
It is possible to realize a break before execution. Note that this jamming is performed only when the instruction part of the instruction code is fetched.
【0006】[0006]
【発明が解決しようとする課題】しかしながら、従来の
ジャミング装置による方法では、ブレークポイント設定
用の命令コードが2以上の命令長であって、命令の命令
長の間にブレークポイントを設定した場合には、処理が
分岐先から戻った際、命令の命令長の間から処理が開始
することととなってしまう。この場合、命令が途中から
始まるため、全く意味をなさない命令になるという不具
合を生じる。従って、上記不具合を回避するため、以下
に示すいずれの制限がある。However, in the conventional method using the jamming apparatus, when the instruction code for setting the breakpoint has an instruction length of 2 or more and the breakpoint is set between the instruction lengths of the instructions. When the processing returns from the branch destination, the processing will start from within the instruction length of the instruction. In this case, since the instruction starts in the middle, the instruction becomes meaningless at all. Therefore, in order to avoid the above-mentioned problems, there are the following restrictions.
【0007】1.ブレークポイント設定の命令コード
は、CPUの最小の命令長とする。 2.やむを得ず、複数のブレークポイント設定命令コー
ドによりジャミングする場合は、ジャミングする命令の
命令長の間には、ブレークポイントを設定できない。1. The instruction code for setting a breakpoint is the minimum instruction length of the CPU. 2. Inevitably, when jamming with a plurality of breakpoint setting instruction codes, a breakpoint cannot be set between the instruction lengths of the jamming instructions.
【0008】上記の制限は、CPUの最小の命令長が1
6ビット以上あるCPUでは、特に問題としない場合も
あるが、Z80等の様に基本命令長が8ビット(1バイ
ト)のものでは、十分な制御が行えない。即ち、基本命
令長が短ければ目的とする処理を実現することができな
い場合があるため、ジャミングで制御できる範囲に大き
な制限があった。The above limitation is that the minimum instruction length of the CPU is 1.
A CPU having 6 bits or more may not cause any particular problem, but a basic instruction length of 8 bits (1 byte) such as Z80 cannot provide sufficient control. That is, if the basic instruction length is short, the intended processing may not be realized, so that there is a large limitation in the range that can be controlled by jamming.
【0009】本発明は、前述の事情に鑑みてなされたも
ので、その目的とするところは、基本命令長より長いジ
ャミングコードを設定可能とすること及び複数の命令に
よる柔軟なジャミング処理を実現可能にすることであ
る。The present invention has been made in view of the above circumstances, and an object thereof is to enable setting of a jamming code longer than the basic instruction length and to realize flexible jamming processing by a plurality of instructions. Is to
【0010】[0010]
【課題を解決するための手段】上記目的を達成するた
め、本発明は、インサーキットエミュレータでユーザプ
ログラムのブレークを実現するジャミング装置におい
て、前記ユーザプログラム中のブレークポイントを検出
するブレークポイント検出手段と、ジャミングで使用す
る命令コードを少なくとも2個保持するジャミングコー
ド保持手段と、前記ジャミングコード若しくはユーザプ
ログラムの命令コードを出力する出力選択手段とを有
し、前記ブレークポイント検出手段によりブレークポイ
ントの検出がされた場合には、前記ジャミングコード保
持手段にて保持された全ての命令コードを順番に前記出
力選択手段に出力するジャミング制御手段を有すること
である。To achieve the above object, the present invention relates to a jamming device for realizing a break of a user program by an in-circuit emulator, and a break point detecting means for detecting a break point in the user program. , A jamming code holding means for holding at least two instruction codes used for jamming and an output selecting means for outputting the jamming code or the instruction code of the user program, and the breakpoint detection means detects a breakpoint. In this case, a jamming control means for sequentially outputting all the instruction codes held by the jamming code holding means to the output selecting means is provided.
【0011】ここで、前記ブレークポイント検出手段
は、前記出力選択手段が前記ジャミングコード保持手段
にて保持された命令コードを出力している場合には、ブ
レークポイントの検出を中断し、CPUが分岐命令を実
行した場合には、前記中断したブレークポイントの検出
を再開することが望ましい。Here, when the output selection means outputs the instruction code held by the jamming code holding means, the break point detection means interrupts the detection of the breakpoint and the CPU branches. When the instruction is executed, it is desirable to restart the detection of the interrupted breakpoint.
【0012】[0012]
【作用】本発明では、 1.前記ユーザプログラム中のブレークポイントを検出
するブレークポイント検出手段 2.ジャミングで使用する命令コードを少なくとも2個
保持することができるジャミングコード保持手段 3.前記ジャミングコード若しくはユーザプログラムの
命令コードを出力する出力選択手段 4.前記ブレークポイント検出手段によりブレークポイ
ントの検出がされた場合には、前記ジャミングコード保
持手段にて保持された全ての命令コードを順番に前記出
力選択手段に出力するジャミング制御手段 を有し、ジャミングコード保持手段にて複数のジャミン
グ命令コードを保持し、ジャミング制御手段にて前記ジ
ャミングコード保持手段にて保持された全ての命令コー
ドを順番に前記出力選択手段に出力することにより、複
数命令コードによるジャミングを実現することができる
のである。In the present invention, 1. Breakpoint detecting means for detecting a breakpoint in the user program. 2. A jamming code holding means capable of holding at least two instruction codes used for jamming. 3. Output selecting means for outputting the jamming code or the instruction code of the user program When a break point is detected by the break point detecting means, a jamming control means for sequentially outputting all the instruction codes held by the jamming code holding means to the output selecting means is provided. The holding means holds a plurality of jamming instruction codes, and the jamming control means sequentially outputs all the instruction codes held by the jamming code holding means to the output selecting means, thereby jamming by a plurality of instruction codes. Can be realized.
【0013】[0013]
【実施例】本発明に係る実施例のブロック図を図1に示
す。本発明に係るジャミング装置は、CPU(図示しな
い)のアドレスバスの内容を比較することによりブレー
クするアドレスを検出するアドレス比較回路1と、ジャ
ミングのための命令コードをnワード(n個)保持する
ことができるジャミングメモリ3と、ジャミングメモリ
の内容とユーザの命令コードのいずれかを選択する選択
回路5と、アドレス比較回路で一致信号を検出した時に
は、ジャミングメモリの内容を1番地から選択して出力
し、選択回路にジャミングメモリの内容を選択出力する
制御回路7とを備えている。FIG. 1 is a block diagram of an embodiment according to the present invention. The jamming apparatus according to the present invention holds an address comparison circuit 1 for detecting an address at which a break occurs by comparing the contents of an address bus of a CPU (not shown), and n words (n pieces) of instruction codes for jamming. The jamming memory 3 that can be used, the selection circuit 5 that selects one of the contents of the jamming memory and the user's instruction code, and when the address comparison circuit detects a match signal, the contents of the jamming memory are selected from the first address And a control circuit 7 for outputting and selectively outputting the contents of the jamming memory to the selection circuit.
【0014】以下、具体的に本発明に係るジャミング装
置の動作を説明し、ジャミングブレークが実現される様
子を図1及び図2を用いて説明する。なお図2は、ジャ
ミング命令コードが4ワード(個)の場合を示した。 1.アドレス比較回路1は、CPU(図示しない)から
アドレスバス(図示しない)を経由して、ブレークを行
いたいアドレスを検出した場合に、制御回路7にこの旨
を出力する。 2.制御回路7では、この旨を受けてCPUの命令リー
ドの信号に同期して、nワード(n=2,3,4,・
・)のジャミングコートの第1ワードを選択する信号を
ジャミングメモリに出力する。 3.ジャミングメモリ3では、この信号により、ジャミ
ングコートの第1ワードを選択回路へ出力する。 4.制御回路7では、CPUの命令フェッチで得たデー
タが無効になることにより、ジャミングコードの第1ワ
ードがフェッチされたとして、第2ワードを選択する信
号をジャミングメモリに出力する。 5.選択回路5は、ジャミングメモリ3からの出力があ
った場合には、このジャミングメモリ3の出力をCPU
のデータバスへ出力し、それ以外の場合には、ユーザプ
ログラムの命令コードの内容を出力する。 6.以下、この手順を繰り返して、分岐命令等によりC
PUのフェッチ(プリフェッチ)が無駄になった場合の
信号、即ち、命令キューがフラッシュされた信号を検出
するか、全てのジャミングコードを出力するまでこの手
順を繰り返す。なお、制御回路は、この間に、アドレス
比較回路から一致信号が送出されたとしても、命令キュ
ーがフラッシュされるかジャミングコードを全て出力す
るまで無視する。 以上の手順を行なうことにより、CPUはジャミングコ
ードの内容をフェッチし、その処理を行なう。The operation of the jamming apparatus according to the present invention will be specifically described below, and how the jamming break is realized will be described with reference to FIGS. 1 and 2. Note that FIG. 2 shows a case where the jamming instruction code is 4 words (pieces). 1. When the address comparison circuit 1 detects an address for which a break is desired from a CPU (not shown) via an address bus (not shown), it outputs a message to this effect to the control circuit 7. 2. In response to this, the control circuit 7 synchronizes with the instruction read signal of the CPU and synchronizes with n words (n = 2, 3, 4, ...
The signal for selecting the first word of the jamming coat is output to the jamming memory. 3. The jamming memory 3 outputs the first word of the jamming coat to the selection circuit according to this signal. 4. The control circuit 7 outputs a signal for selecting the second word to the jamming memory assuming that the first word of the jamming code has been fetched because the data obtained by the instruction fetch of the CPU becomes invalid. 5. When there is an output from the jamming memory 3, the selection circuit 5 outputs the output of the jamming memory 3 to the CPU.
Of the instruction code of the user program in other cases. 6. Hereinafter, this procedure is repeated, and C is executed by a branch instruction or the like.
This procedure is repeated until the signal when the PU fetch (prefetch) is wasted, that is, the signal in which the instruction queue is flushed is detected or all the jamming codes are output. It should be noted that the control circuit ignores the coincidence signal sent from the address comparison circuit until the instruction queue is flushed or all the jamming codes are output even if the coincidence signal is sent out. By performing the above procedure, the CPU fetches the contents of the jamming code and performs the processing.
【0015】次に、ブレークポイントの次の番地にある
命令から命令フェッチが始まった場合について説明す
る。この場合、アドレス比較回路は、上記検出信号を出
力しないため、一連のジャミング処理が行われない。従
って、ブレークポイントの次の番地への命令実行には一
切影響が現れない。また、この制御回路は分岐命令の実
行などにより、命令フェッチが途中で終了した場合に
は、再度アドレス比較を最初から始めるので、分岐命令
などより問題が現れない。このような構成により、ジャ
ミングで複数ワードの命令を必要とする時も容易に制御
可能となる。Next, the case where the instruction fetch starts from the instruction at the address next to the breakpoint will be described. In this case, the address comparison circuit does not output the detection signal, so that a series of jamming processes is not performed. Therefore, the instruction execution to the address next to the breakpoint is not affected at all. Further, when the instruction fetch is completed in the middle due to the execution of the branch instruction or the like, the address comparison is restarted from the beginning, so that the problem does not appear from the branch instruction. With such a configuration, it is possible to easily control even when jamming requires a plurality of words of instructions.
【0016】[0016]
【発明の効果】以上より、本発明に係るジャミング装置
によれば、複数のジャミング命令コードを保持する手段
を有しているため、複数ワードの命令によるジャミング
が可能となる。更に、デバッガプログラムで必要なさま
ざまな処理が、ジャミングで実現できるようになるた
め、より柔軟できめの細かい制御が可能となり、より優
れたデバッガを構築可能となる。As described above, the jamming apparatus according to the present invention has the means for holding a plurality of jamming instruction codes, so that it is possible to perform jamming by a plurality of word instructions. Further, various processes required by the debugger program can be realized by jamming, so that more flexible and fine control is possible, and a better debugger can be constructed.
【図1】本発明に係るジャミング装置の概要の構成を示
したブロック図である。FIG. 1 is a block diagram showing a schematic configuration of a jamming device according to the present invention.
【図2】本発明に係るジャミング装置により、ジャミン
グが行われている時を説明するタイムチャートを示す図
である。FIG. 2 is a diagram showing a time chart for explaining when jamming is being performed by the jamming apparatus according to the present invention.
【図3】従来のジャミング装置の概要の構成を示したブ
ロック図である。FIG. 3 is a block diagram showing a schematic configuration of a conventional jamming device.
1 アドレス比較回路 3 ジャミングメモリ 5 選択回路 7 制御回路 9 アドレス比較回路 11 ジャミングメモリ 13 選択回路 1 Address Comparison Circuit 3 Jamming Memory 5 Selection Circuit 7 Control Circuit 9 Address Comparison Circuit 11 Jamming Memory 13 Selection Circuit
Claims (2)
ログラムのブレークを実現するジャミング装置におい
て、 前記ユーザプログラム中のブレークポイントを検出する
ブレークポイント検出手段と、 ジャミングで使用する命令コードを少なくとも2個保持
するジャミングコード保持手段と、 前記ジャミングコード若しくはユーザプログラムの命令
コードを出力する出力選択手段とを有し、 前記ブレークポイント検出手段によりブレークポイント
の検出がされた場合には、前記ジャミングコード保持手
段にて保持された全ての命令コードを順番に前記出力選
択手段に出力するジャミング制御手段を有することを特
徴とするジャミング装置。1. A jamming device for realizing a break of a user program with an in-circuit emulator, a break point detecting means for detecting a break point in the user program, and a jamming code for holding at least two instruction codes used for jamming. Holding means and output selecting means for outputting the jamming code or the instruction code of the user program are held by the jamming code holding means when a breakpoint is detected by the breakpoint detecting means. And a jamming control means for sequentially outputting all the instruction codes to the output selection means.
保持された命令コードを出力している場合には、ブレー
クポイントの検出を中断し、 CPUが分岐命令を実行した場合には、前記中断したブ
レークポイントの検出を再開することを特徴とする請求
項1記載のジャミング装置。2. The breakpoint detecting means interrupts the detection of the breakpoint when the output selecting means outputs the instruction code held by the jamming code holding means, and the CPU branches the branch instruction. The jamming apparatus according to claim 1, wherein detection of the interrupted breakpoint is restarted when is executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6208439A JPH0877037A (en) | 1994-09-01 | 1994-09-01 | Jamming device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6208439A JPH0877037A (en) | 1994-09-01 | 1994-09-01 | Jamming device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0877037A true JPH0877037A (en) | 1996-03-22 |
Family
ID=16556235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6208439A Pending JPH0877037A (en) | 1994-09-01 | 1994-09-01 | Jamming device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0877037A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331201A (en) * | 2005-05-27 | 2006-12-07 | Matsushita Electric Ind Co Ltd | Instruction execution device, debugging method, debugging device and debugging program |
KR101967886B1 (en) * | 2017-10-20 | 2019-04-10 | 국방과학연구소 | Apparatus and method for generating jamming signal |
-
1994
- 1994-09-01 JP JP6208439A patent/JPH0877037A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331201A (en) * | 2005-05-27 | 2006-12-07 | Matsushita Electric Ind Co Ltd | Instruction execution device, debugging method, debugging device and debugging program |
JP4718901B2 (en) * | 2005-05-27 | 2011-07-06 | パナソニック株式会社 | Instruction execution device, debugging method, debugging device, and debugging program |
KR101967886B1 (en) * | 2017-10-20 | 2019-04-10 | 국방과학연구소 | Apparatus and method for generating jamming signal |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63175934A (en) | Data processor | |
KR100423910B1 (en) | Method and apparatus for executing coprocessor instructions | |
KR860007589A (en) | Data processing device | |
US4747045A (en) | Information processing apparatus having an instruction prefetch circuit | |
JP2513417B2 (en) | Information processing device | |
JPH0877037A (en) | Jamming device | |
JPH1031595A (en) | Simulator and its simulating method | |
EP1177499B1 (en) | Processor and method of executing instructions from several instruction sources | |
JP2577023B2 (en) | Address extension control method for information processing equipment | |
JPH04287231A (en) | Microprocessor | |
JP3739556B2 (en) | Information processing device | |
JPH06103109A (en) | Data processor and debugging device using the same | |
JPS60250438A (en) | Information processor | |
KR100471137B1 (en) | Data processor having reduced register-clear-instruction execution cycles | |
JPH01258031A (en) | Data processor | |
JPS60198640A (en) | Pipeline type information processor | |
JPH04338825A (en) | Arithmetic processor | |
JPH03164945A (en) | Data processor | |
JP3414579B2 (en) | Programmable controller | |
JPS5875256A (en) | Monitoring system for execution instruction processing state | |
JPH04288633A (en) | Microprocessor | |
JPH036758A (en) | Microprocessor | |
JPH08286912A (en) | Program controller | |
JPH0659916A (en) | Instruction prefetching device | |
JPH01240941A (en) | Information processor |