JPH0365736A - System developing tool - Google Patents
System developing toolInfo
- Publication number
- JPH0365736A JPH0365736A JP1202378A JP20237889A JPH0365736A JP H0365736 A JPH0365736 A JP H0365736A JP 1202378 A JP1202378 A JP 1202378A JP 20237889 A JP20237889 A JP 20237889A JP H0365736 A JPH0365736 A JP H0365736A
- Authority
- JP
- Japan
- Prior art keywords
- trace
- microprocessor
- queue
- timing
- instruction
- 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.)
- Granted
Links
- 230000033772 system development Effects 0.000 claims description 15
- 230000008859 change Effects 0.000 abstract description 5
- 238000012937 correction Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 238000000034 method Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はエミュレータやロジックステートアナライザの
ようなシステム開発ツール特にそれらにおけるトレース
技術に関し、例えば命令プリフエッチキューが保有する
命令数のトレースに適用して有効な技術に関するもので
ある。[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to system development tools such as emulators and logic state analyzers, particularly to tracing techniques therein, and is applied, for example, to tracing the number of instructions held in an instruction prefetch queue. It is related to effective technology.
マイクロプロセッサ応用機器の開発においてそのシステ
ムデバッグもしくはシステム評価に利用されるエミュレ
ータは、評価対象マイクロプロセッサ応用機器(以下単
にターゲットシステムとも記す)に含まれる対象マイク
ロプロセッサ(以下単にターゲットマイクロプロセッサ
とも記す)の機能をエミユレーション用マイクロプロセ
ッサで代行しながらソフトウェアデバッグを可能にする
ものである。このエミュレータを用いて対象プログラム
(以下単にユーザープログラムとも記す)をデバッグし
たりシステム評価を行う場合、例えばそのユーザープロ
グラム上にブレークポイントを設定しておき、ユーザー
プログラムの実行状態がそのブレークポイントに到達し
たことが検出されると、ユーザープログラムの実行を停
止する。An emulator used for system debugging or system evaluation in the development of microprocessor application equipment is an emulator used for system debugging or system evaluation of the target microprocessor (hereinafter simply referred to as target microprocessor) included in the evaluation target microprocessor application equipment (hereinafter simply referred to as target system). This enables software debugging while functions are substituted by an emulation microprocessor. When using this emulator to debug a target program (hereinafter simply referred to as a user program) or perform system evaluation, for example, you can set a breakpoint on the user program and the execution state of the user program reaches that breakpoint. If this is detected, the execution of the user program is stopped.
ブレークされるまでの間には、前記エミユレーション用
マイクロプロセッサによるユーザープログラムの実行状
態に従って各種バス情報や制御情報がトレースメモリと
呼ばれる記憶装置にリアルタイムに蓄積されていく。こ
のようにして蓄積されたトレース情報は、ブレーク後に
システム開発装置などに与えられて解析され、前記ユー
ザープログラムの逆アッセンブルが行われることによっ
てユーザープログラム及びターゲットシステムのデバッ
グや評価が行われる。Until the break occurs, various bus information and control information are accumulated in a storage device called a trace memory in real time according to the execution state of the user program by the emulation microprocessor. The trace information thus accumulated is given to a system development device or the like after the break and is analyzed, and the user program is disassembled, thereby debugging and evaluating the user program and the target system.
ところで、従来のエミュレータにおけるトレースは、例
えば株式会社日立製作所発行のr68000ASE−1
1ユーザーズマニユアル」 (昭和60年12月発行)
第57頁及び第58頁に記載されているように、バスサ
イクル単位、或いは動作クロック単位で行われるように
なっていた。例えば動作クロック単位でトレースされる
場合にはエミュレータの内部クロックの1サイクル毎に
所定の情報が順次トレースされる。また、バスサイクル
単位のトレースは例えばバスサイクルを規定するような
アドレスストローブ信号又はデータストローブ信号のネ
ゲートタイミングに同期して順次行われる。前記動作ク
ロック単位でのトレースモードは、バスサイクルとは非
同期で発生する事象の変化を追跡するようなときに利用
することができる。By the way, tracing in a conventional emulator is, for example, r68000ASE-1 published by Hitachi, Ltd.
1 User’s Manual” (published in December 1985)
As described on pages 57 and 58, this was performed in bus cycle units or operating clock units. For example, when tracing is performed in units of operating clocks, predetermined information is sequentially traced for each cycle of the emulator's internal clock. Further, tracing in units of bus cycles is performed sequentially in synchronization with the negation timing of an address strobe signal or a data strobe signal that defines a bus cycle, for example. The trace mode in units of operating clocks can be used to trace changes in events that occur asynchronously with bus cycles.
しかしながら、バスサイクルとは非同期で発生する事象
の変化を追跡するようなときに前記動作クロック単位で
のトレースモードを利用すると。However, when the trace mode in units of operating clocks is used to trace changes in events that occur asynchronously with bus cycles.
トレースメモリに膨大な記憶容量を設定しておかなけれ
ばトレース情報を有効に保持することができない。しか
も、トレース情報からユーザープログラムの逆アッセン
ブルを行う場合に、情報量が極めて多いことからその解
析手法が極めて複雑になってしまう。そうかといって前
記単なるバスサイクル単位のトレースモードを利用した
のでは、トレースポイント間での状態変化を全てトレー
スすることができず、欠落した情報により、ブレーク後
のトレース内容解析によってユーザープログラムを逆ア
ッセンブルすることができないという問題点があった。Trace information cannot be effectively retained unless a huge storage capacity is set in the trace memory. Moreover, when disassembling a user program from trace information, the analysis method becomes extremely complicated because the amount of information is extremely large. However, if you use the above-mentioned trace mode in units of bus cycles, it is not possible to trace all the state changes between trace points, and the user program can be reversed by analyzing the trace contents after a break due to the missing information. There was a problem that it could not be assembled.
特に、マイクロプロセッサの高機能化並びに動作の高速
化に従って命令プリフェッチキューを内蔵するものが提
供されている今日、その命令プリフェッチキューは通常
バスサイクルとは非同期に動作されることから、プリフ
ェッチキューに残存する命令数を確実に捕捉しておかな
ければユーザープログラムの逆アッセンブルを行うこと
はできない1例えば例外処理や割込み処理さらにはリセ
ット処理のような命令フローの分岐を伴う処理が発生し
たときには、ブリフェッチされている命令の実行状態を
個々の命令に対応させて容易に把握することができるこ
と、或いはプリフェッチされている命令のうちどの命令
を実行したかを容易に追跡できることが必要になる。In particular, as microprocessors become more sophisticated and operate faster, microprocessors with built-in instruction prefetch queues are being provided, and since the instruction prefetch queue is normally operated asynchronously with the bus cycle, the instruction prefetch queue remains in the prefetch queue. It is not possible to disassemble a user program unless the number of instructions to be executed is captured reliably.1 For example, when processing that involves a branch in the instruction flow such as exception processing, interrupt processing, or reset processing occurs, the prefetch is not performed. It is necessary to be able to easily understand the execution status of instructions being executed in correspondence with each individual instruction, or to be able to easily trace which instruction among prefetched instructions has been executed.
本発明の目的は、トレースメモリに膨大な記憶容量を確
保しておかなくても、バスサイクルとは非同期で発生す
る所要の事象の変化を確実に追跡することができるシス
テム開発ツールを提供することにある。An object of the present invention is to provide a system development tool that can reliably track changes in required events that occur asynchronously with bus cycles without having to secure a huge storage capacity in a trace memory. It is in.
また本発明の別の目的は、ユーザープログラムの逆アッ
センブルさらにはシステムデパックやソフトウェアデパ
ックに対する確実性と容易性とを得られるように所望の
情報をトレースすることができるシステム開発ツールを
提供することにある。Another object of the present invention is to provide a system development tool capable of tracing desired information so as to provide reliability and ease in disassembling user programs, as well as system depacking and software depacking. There is a particular thing.
また、本発明のさらに別の目的は、命令プリフェッチキ
ューを有するマイクロプロセッサの動作プログラムに対
する逆アッセンブルなどに容易に対応することができる
システム開発ツールを提供することにある。Still another object of the present invention is to provide a system development tool that can easily handle disassembly of an operating program of a microprocessor having an instruction prefetch queue.
本発明の前記並びにそのほかの目的と新規な特徴は、本
明細書の記述及び添付図面から明らかになるであろう。The above and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.
(111題を解決するための手段〕
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば下記の通りである。(Means for Solving Problem 111) A brief overview of typical inventions disclosed in this application is as follows.
すなわち、マイクロプロセッサの動作に従ったある一定
のタイミングに同期して各種情報をトレースしていくシ
ステム開発ツールにおいて、前記一定のトレースタイミ
ングの間で変化するマイクロプロセッサ内部の特定事象
の発生状態をトレースタイミングまで保持するトレース
情報保持手段を設けるものである。In other words, in a system development tool that traces various information in synchronization with a certain timing according to the operation of a microprocessor, it is possible to trace the occurrence state of a specific event inside the microprocessor that changes between the certain trace timings. A trace information holding means is provided to hold the trace information up to the timing.
このとき、トレースすべき情報が直接マイクロプロセッ
サの外部に出力されない場合には、マイクロプロセッサ
の動作状態指示信号に基づいて、トレースタイミングと
は非同期で発生するマイクロプロセッサの内部事象の発
生状態を再現していく事象追跡手段を設ける。例えばマ
イクロプロセッサに含まれる命令プリフェッチキューが
保有する命令数を取得する。At this time, if the information to be traced is not directly output to the outside of the microprocessor, the occurrence state of internal events of the microprocessor that occur asynchronously with the trace timing is reproduced based on the microprocessor's operating state indication signal. Establish a means of tracking events. For example, the number of instructions held in an instruction prefetch queue included in a microprocessor is obtained.
このとき、前記トレース情報保持手段は、その事象追跡
手段で取得された情報を全て保持する必要はなく選択保
持すれば足りる場合がある。例えば、前記命令プリフェ
ッチキューが保有する命令数を前記事象追跡手段によっ
て取得する場合、前記トレース情報保持手段は、命令プ
リフェッチキューからの第1オペレーションコード取出
し直前における残存命令数と、キュークリア発生直前に
おける残存命令数とを最低限保持するようにすれば足り
る。At this time, the trace information holding means does not need to hold all of the information acquired by the event tracking means, and it may be sufficient to selectively hold the information. For example, when the event tracking means acquires the number of instructions held by the instruction prefetch queue, the trace information holding means stores the number of remaining instructions immediately before the first operation code is taken out from the instruction prefetch queue, and the number of instructions remaining immediately before the queue clearing occurs. It is sufficient to maintain the minimum number of remaining instructions in .
また、逆アッセンブルの従来手法を流用可能にすると共
に、トレース情報量が過剰にならないようにするには、
マイクロプロセッサが起動する各バスサイクル毎にトレ
ースタイミングを設定するとよい。In addition, in order to make it possible to reuse the conventional disassembly method and to prevent the amount of trace information from becoming excessive,
It is preferable to set the trace timing for each bus cycle that the microprocessor starts.
上記した手段によれば、前記トレース情報保持手段は、
トレースタイミングの間で変化する特定事象の発生状態
をトレースタイミングまで保持することにより、その特
定事象の変化タイミングを全て含むような1−レースタ
イミングを設定しなくても、所定のトレースタイミング
の間で変化する特定事象の発生状態を捕捉するように作
用し、これにより、トレースメモリに膨大な記憶容量を
確保しておかなくても、バスサイクルとは非同期で発生
する所要事象の変化を確実に捕捉することを遠戚する。According to the above means, the trace information holding means:
By retaining the occurrence state of a specific event that changes between trace timings until the trace timing, the occurrence state of a specific event that changes between trace timings can be maintained until the trace timing. Acts to capture the changing occurrence state of specific events, thereby ensuring that changes in required events that occur asynchronously with bus cycles can be captured without requiring a huge amount of storage capacity in the trace memory. to a distant relative.
そしてこれにより、ユーザープログラムの逆アッセンブ
ルに対する確実性並びに容易性を保証する。This ensures reliability and ease in disassembling the user program.
前記トレース情報保持手段に保持された第1オペレーシ
ヨンコードの取出し直前における残存命令数がトレース
されると、当該命令数と共にトレースされるその第1オ
ペレーシヨンコードから当該第1オペレーシヨンコード
に続く第2以降のオペレーションコードの実行状態は、
他と区別されて把握可能になる。また、キュークリア発
生直前における残存命令数がトレースされることにより
、例外処理や割込み処理などの分岐を伴う処理の発生に
よって捨てられた命令の把握が可能になる。When the number of remaining instructions immediately before the first operation code held in the trace information holding means is traced, the number of remaining instructions from the first operation code traced together with the number of instructions to the second operation code following the first operation code is traced. The execution status of operation codes after 2 is as follows:
It becomes distinguishable from others and can be grasped. Furthermore, by tracing the number of remaining instructions immediately before the queue clearing occurs, it becomes possible to grasp instructions that have been discarded due to the occurrence of processing that involves a branch, such as exception processing or interrupt processing.
このことにより、命令プリフェッチキューを有するマイ
クロプロセッサの動作プログラムに対する逆アッセンブ
ルへの対応を少ないトレース情報で効率的且つ容易に可
能とする。This makes it possible to efficiently and easily deal with disassembly of an operating program of a microprocessor having an instruction prefetch queue with less trace information.
第1図には本発明の一実施例であるエミュレータにおけ
るトレース回路部分の詳細が示されている。同図におい
て1は、図示しないターゲットマイクロプロセッサの機
能を代行してターゲットシステムを制御するためのマイ
クロプロセッサであり、例えば8086型マイクロプロ
セツサに対応する評価チップによって構成される。この
マイクロプロセッサlは、エミュレーションバス2を介
して外部との間でのデータ、アドレス信号、各種制御信
号をやりとりするようになっている。第1図においてそ
のエミュレーションバス2には、代表的に示されている
トレースタイミング生成回路3、及びRAM (ランダ
ム・アクセス・メモリ)で成るようなトレースメモリ4
が接続されているが、その他にも特に図示はされていな
いブレークコントロール回路1代行メモリ回路、ホスト
インタフェース回路、システムプログラムメモリなどが
接続されている。前記トレースタイミング生成回路3は
、アドレスストローブ信号As (又はデータストロー
ブ信号など)のようなバスサイクルを規定するバススト
ローブ信号のネゲートタイミングに従ってバスサイクル
毎に一定のタイミングでトレースメモリ4にエミュレー
ションバス2の情報などを書き込んだりするためのタイ
ミング制御を行う。前記ブレークコントロール回路は、
任意に設定されたブレーク条件の成立を監視し、条件成
立と共にブレーク信号を発生してエミュレーション動作
を停止制御したりする。前記代行メモリ回路はターゲッ
トシステムのユーザーメモリ空間の記憶容量不足を補っ
たり、ソフトウェアデバッグ途上のユーザプログラムの
格納領域などに利用される。前記ホストインタフェース
はシステム開発装置などとインタフェースされ、ユーザ
プログラムのダウンロード、エミュレーション動作の制
御、トレース情報の転送などに利用される。前記システ
ムプログラムは、ユーザプログラムの非実行状態におい
てエミュレータ内部の制御を前記マイクロプロセッサl
に実行させるための動作プログラムが格納される。尚、
ブレーク信号がアサートされると、マイクロプロセッサ
1のプログラム空間はユーザプログラム空間からシステ
ムプログラム空間に切換制御される。また、そのエミュ
レーションバス2は図示しないターゲットシステムのタ
ーゲットプロセッサ搭載領域に結合可能なインタフェー
ス部を持つ。このインタフェース部をターゲットシステ
ムに結合することにより、マイクロプロセッサ1はター
ゲットシステムを代行制御する。FIG. 1 shows details of a trace circuit portion in an emulator that is an embodiment of the present invention. In the figure, reference numeral 1 denotes a microprocessor for controlling the target system by substituting the functions of a target microprocessor (not shown), and is constituted by an evaluation chip compatible with, for example, an 8086 type microprocessor. The microprocessor 1 is configured to exchange data, address signals, and various control signals with the outside via an emulation bus 2. In FIG. 1, the emulation bus 2 includes a trace timing generation circuit 3, which is typically shown, and a trace memory 4, such as a RAM (random access memory).
In addition, a break control circuit 1, a proxy memory circuit, a host interface circuit, a system program memory, etc., which are not particularly shown, are also connected. The trace timing generation circuit 3 stores the emulation bus 2 in the trace memory 4 at a constant timing for each bus cycle according to the negation timing of a bus strobe signal such as an address strobe signal As (or a data strobe signal, etc.) that defines a bus cycle. Performs timing control for writing information, etc. The break control circuit includes:
It monitors whether an arbitrarily set break condition is met, and when the condition is met, a break signal is generated to stop the emulation operation. The proxy memory circuit is used to compensate for insufficient storage capacity in the user memory space of the target system, or as a storage area for user programs during software debugging. The host interface is interfaced with a system development device, etc., and is used for downloading user programs, controlling emulation operations, transferring trace information, and the like. The system program controls the internal control of the emulator when the user program is not being executed.
The operating program to be executed is stored. still,
When the break signal is asserted, the program space of the microprocessor 1 is switched from the user program space to the system program space. Further, the emulation bus 2 has an interface unit that can be connected to a target processor mounting area of a target system (not shown). By coupling this interface section to the target system, the microprocessor 1 performs proxy control of the target system.
このエミュレータを用いてユーザープログラムをデバッ
グしたり図示しないターゲットシステムの評価を行う場
合、例えばそのユーザープログラム上の所定のメモリア
ドレスをブレークポイントとして図示しないブレークコ
ントロール回路に設定しておき、ユーザープログラムの
実行状態がそのブレークポイントに到達したことが検出
されると、ユーザープログラムの実行が停止される。ブ
レークされるまでの間には、前記マイクロプロセッサ1
によるユーザープログラムの実行状態に従って各種バス
情報や制御情報がトレースメモリ4にリアルタイムに蓄
積されていく。このようにして蓄積されたトレース情報
は、ブレーク後にシステム開発装置などに与えられて解
析され、前記ユーザープログラムの逆アッセンブルガ行
われることによってユーザープログラム及びターゲット
システムのデバッグや評価に供される。When using this emulator to debug a user program or evaluate a target system (not shown), for example, set a predetermined memory address on the user program as a breakpoint in a break control circuit (not shown), and then execute the user program. Execution of the user program is halted when it is detected that the state has reached its breakpoint. Until the break occurs, the microprocessor 1
Various bus information and control information are accumulated in the trace memory 4 in real time according to the execution status of the user program. The trace information thus accumulated is given to a system development device or the like after the break and is analyzed, and the user program is disassembled to be used for debugging and evaluation of the user program and the target system.
ここまでの説明は従来のエミュレータと何ら特別に変わ
る点はない。以下、前記バスサイクル毎のトレースタイ
ミングの間で変化するマイクロプロセッサ内部の特定事
象の発生状態をもトレース可能にする点について説明す
る。The explanation up to this point is not particularly different from conventional emulators. Hereinafter, a description will be given of the point that it is possible to trace even the occurrence state of a specific event inside the microprocessor that changes between the trace timings of each bus cycle.
前記マイクロプロセッサ1は、特に制限されないが、6
バイトの命令を先入れ先出し形式で蓄える命令プリフェ
ッチキュー10を内蔵し、1度に最大2バイト単位で命
令を外部からブリフェッチすることができるようになっ
ている。命令のブリフェッチ動作は、データバスが空い
ているとき、或いは命令プリフェッチキュー10に命令
が無くなったときに適宜行われる。この命令プリフェッ
チキュー10にプリフェッチされている有効な命令の数
は、命令のシーケンス制御に従ってバスサイクルとは非
同期で変化される。したがってこの変化の状態は必ずし
もエミュレーションバス2には現れない。The microprocessor 1 may include, but is not particularly limited to, 6
It has a built-in instruction prefetch queue 10 that stores byte instructions in a first-in, first-out format, so that instructions can be pre-fetched from the outside in units of up to 2 bytes at a time. The instruction prefetch operation is performed as appropriate when the data bus is empty or when there are no more instructions in the instruction prefetch queue 10. The number of valid instructions prefetched into the instruction prefetch queue 10 is changed asynchronously with bus cycles in accordance with instruction sequence control. Therefore, this changing state does not necessarily appear on the emulation bus 2.
そこで1本実施例のエミュレータは、命令プリフェッチ
キュー3.0における内部動作状態を、前記マイクロプ
ロセッサlの動作状態指示信号に基づいて外部で再現し
ていくためのキュー内バイト数追跡回路11が設けられ
、さらに、そのキュー内バイト数追跡回路11の出力を
利用して命令プリフェッチキューIOにおける特定事象
の発生状態をトレースタイミングまで保持するために、
第1オペ時バイト数保持回路12、キュークリア時バイ
ト数保持回路13、及びキュー内バイト数補正回111
4が設けられている。尚、それら回路11〜14の全て
はマイクロプロセッサ10の動作基準クロック信号CL
Kに同期動作する。Therefore, the emulator of this embodiment is provided with an in-queue byte number tracking circuit 11 for externally reproducing the internal operating state of the instruction prefetch queue 3.0 based on the operating state instruction signal of the microprocessor l. Furthermore, in order to maintain the occurrence state of a specific event in the instruction prefetch queue IO until the trace timing by using the output of the number of bytes in the queue tracking circuit 11,
First operation byte number holding circuit 12, queue clearing byte number holding circuit 13, and queue byte number correction circuit 111
4 is provided. Incidentally, all of these circuits 11 to 14 are connected to the operation reference clock signal CL of the microprocessor 10.
Operates in synchronization with K.
キュー内バイト数追跡回路11に供給されるマイクロプ
ロセッサ1の動作状態指示信号は、特に制限されないが
、バス・ハイ・イネーブル信号BHE、アドレス信号の
最下位ビットAO12ビットのキューステータス信号Q
SO,QSI、及び3ビツトのアクセスタイプステータ
ス信号SO〜S2とされる。前記バス・ハイ・イネーブ
ル信号BHE及びアドレス信号の最下位ビットAOは、
マイクロプロセッサ1によるバスアクセス幅を外部に指
示する信号とみなされ、例えば第3図に示されるように
、そのレベルの組合せに従って下位バイト(8ビツト)
アクセス、上位バイトアクセス、ワード(16ビツト)
アクセスの区別が示される。前記キューステータス信号
QSO,QSIは命令プリフェッチキュー10の動作状
態を外部に示すための信号であり、例えば第4図に示さ
れるようにそのレベルの組合せによって、ノン・オペレ
ーション、命令プリフェッチキュー10からの第1オペ
レーシヨンコード取り出しくバイト単位)、命令プリフ
ェッチキュー10に残っている命令を無効したことを意
味するキュークリア、命令プリフェッチキュー10から
の第2オペレーシヨンコード以降のオペレーションコー
ド取り出しくバイト単位)が示される。前記アクセスタ
イプステータス信号5o−82はそのレベルの組合せに
従ってバスサイクルが命令フェッチサイクルかデータの
リード・ライトサイクルかなどを外部に示すための信号
とみなされる。これら状態指示信号を受けるキュー内バ
イト数追跡回路11は、命令プリフェッチキュー10の
記憶容量が6バイトであることに呼応して3ビツトカウ
ンタで構成される。このキュー内バイト数追跡回路11
による追跡処理は次のようにして行われる。リセット又
はキュークリアが指示されると、計数値は初期化される
。アクセスタイプステータス信号5O−S2によって命
令ブリフェッチサイクルが指示されると、バイトアクセ
スの場合にはlだけカウントアツプされ、ワードアクセ
スのときには2だけカウントアツプされる。また、命令
プリフェッチキュー10からのオペレーションコード取
り出しが指示されると、lだけカウントダウンされる。The operating state instruction signals of the microprocessor 1 supplied to the number of bytes in queue tracking circuit 11 are not particularly limited, but include the bus high enable signal BHE, the least significant bit AO of the address signal, and the queue status signal Q of 12 bits.
SO, QSI, and 3-bit access type status signals SO to S2. The bus high enable signal BHE and the least significant bit AO of the address signal are:
It is regarded as a signal that instructs the bus access width by the microprocessor 1 to the outside, and as shown in FIG. 3, for example, the lower byte (8 bits) is
Access, upper byte access, word (16 bits)
Access distinction is indicated. The queue status signals QSO and QSI are signals for externally indicating the operating state of the instruction prefetch queue 10. For example, as shown in FIG. The first operation code is retrieved in bytes), the queue clear means that the instructions remaining in the instruction prefetch queue 10 have been invalidated, and the second and subsequent operation codes are retrieved from the instruction prefetch queue 10 in bytes) is shown. The access type status signal 5o-82 is regarded as a signal for indicating to the outside whether the bus cycle is an instruction fetch cycle or a data read/write cycle according to the combination of levels thereof. The in-queue byte number tracking circuit 11 that receives these status indication signals is configured with a 3-bit counter in response to the fact that the storage capacity of the instruction prefetch queue 10 is 6 bytes. This in-queue byte count tracking circuit 11
The tracking process is performed as follows. When a reset or queue clear is instructed, the count value is initialized. When an instruction briftetch cycle is instructed by the access type status signal 5O-S2, the count is incremented by 1 in the case of byte access, and by 2 in the case of word access. Furthermore, when an instruction is given to take out an operation code from the instruction prefetch queue 10, the count is counted down by l.
したがって、キュー内バイト数追跡回路11には命令プ
リフェッチキュー10に残存する命令バイト数が3ビツ
トの計数値QCO−QC2によってリアルタイムに出力
される。Therefore, the number of instruction bytes remaining in the instruction prefetch queue 10 is output to the in-queue byte number tracking circuit 11 in real time as a 3-bit count value QCO-QC2.
前記キュー内バイト数補正回路14は、命令プリフェッ
チキュー10からの命令取り出しと命令のブリフェッチ
タイミングが重なった場合においても、命令プリフェッ
チキュー10の残存バイト数に対するトレース基準点を
直前のトレースポイントに合せるという規約を実現して
逆アッセンブルを容易化するためのもであり、例えば前
記アクセスタイプステータス信号5o−82により命令
ブリフェッチサイクルが指示されたときにキュー内バイ
ト数の計数データQCO−QC2を1マシンサイクルの
最初のステートに同期して取り込み、これを補正データ
QCCO−QCC2として出力する。尚、斯る動作は前
記アクセスタイプステータス信号5o−82とは無関係
に常時1マシンサイクルの最初のステートで行うように
してもよい。The number of bytes in the queue correction circuit 14 aligns the trace reference point for the number of remaining bytes of the instruction prefetch queue 10 with the immediately preceding trace point even when the instruction fetch timing from the instruction prefetch queue 10 and the instruction prefetch timing overlap. For example, when an instruction briefetch cycle is instructed by the access type status signal 5o-82, the count data QCO-QC2 of the number of bytes in the queue is set to 1. It is captured in synchronization with the first state of the machine cycle and output as correction data QCCO-QCC2. Incidentally, this operation may always be performed in the first state of one machine cycle, regardless of the access type status signal 5o-82.
前記第1オペ時バイト数保持回路12は、キューステー
タス信号QSO,QSIにより第1オペレーシヨンコー
ドの取り出しが指示されたとき、キュー内バイト数の計
数データQCO−QC2又はキュー内バイト数補正回路
14の出力データQCCO−QCC2を選択的に取り込
み、取り込んだ値をデータQISTO−QIST2とし
て前記トレースメモリ4に出力する。いずれを選択する
かはアクセスタイプステータス信号5o−82のレベル
によって決定され、これによって命令プリフェッチサイ
クルが指示されているときには補正データQCCO−Q
CC2が選択され、それ以外の場合には計数データQC
O−QC2が選択される。尚、補正データQCCO−Q
CC2が選択される場合には、そのときのブリフェッチ
動作による命令数の変化はトレースされないことになる
が。When the first operation byte number holding circuit 12 is instructed to retrieve the first operation code by the queue status signals QSO, QSI, the first operation byte number holding circuit 12 stores the count data QCO-QC2 of the number of bytes in the queue or the number of bytes in the queue correction circuit 14. output data QCCO-QCC2 is selectively taken in, and the taken values are outputted to the trace memory 4 as data QISTO-QIST2. Which one is selected is determined by the level of the access type status signal 5o-82, and when an instruction prefetch cycle is designated by this, the correction data QCCO-Q
CC2 is selected, otherwise count data QC
O-QC2 is selected. In addition, the correction data QCCO-Q
If CC2 is selected, the change in the number of instructions due to the brief fetch operation at that time will not be traced.
後で説明する逆アッセンブル手法上何ら問題にはならな
い。This does not pose any problem in the disassembling method described later.
前記キュークリア時バイト数保持回路13は、キュース
テータス信号QSO,QSIにより命令キュー10に対
するクリア処理が指示されているとき、キュー内バイト
数の計数データQCO−QC2又はキュー内バイト数補
正回路14の出力データQCCO−QCC2を選択的に
取り込み、取り込んだ値をデータQCLRO〜QCLR
2としてトレースメモリ4に出力する。いずれを選択す
るかはアクセスタイプステータス信号5o−82のレベ
ルによって決定され、これによって命令ブリフェッチサ
イクルが指示されているときには補正データQCCO−
QCC2が選択され、それ以外の場合には計数データQ
CO〜QC2が選択される。The queue clearing byte number holding circuit 13 stores the count data QCO-QC2 of the number of bytes in the queue or the number of bytes in the queue correction circuit 14 when clear processing for the instruction queue 10 is instructed by the queue status signals QSO and QSI. Selectively capture the output data QCCO-QCC2 and set the captured values to data QCLRO to QCLR.
2 to the trace memory 4. Which one is selected is determined by the level of the access type status signal 5o-82, and when an instruction pre-fetch cycle is designated by this, the correction data QCCO-82 is determined.
QCC2 is selected, otherwise the count data Q
CO to QC2 are selected.
尚、前記第1オペ時バイト数保持回路12の出力データ
QISTO−QIST2及び前記キュークリア時バイト
数保持回路13の出力データQCLRO−QCLR2に
おいて、その値は0〜6が有効とされ、7は無効である
ことを示す。Note that in the output data QISTO-QIST2 of the first operation byte number holding circuit 12 and the output data QCLRO-QCLR2 of the queue clearing byte number holding circuit 13, values 0 to 6 are valid, and 7 is invalid. .
第2図には命令プリフェッチキュー10の残存命令バイ
ト数に関するトレース動作の一例が示されている。第2
図にはワード単位の2回のブリフェッチサイクル(PF
Tl、PFT、)に前後して、キュークリア(CLR)
と、2回の第1オペレーシヨンコードの取り出しくIS
T工、IST、)が行われる場合について示され、夫々
のトレースポイント(TP、、 Tp、)はバスサイク
ルの終了に同期されるようになっている。FIG. 2 shows an example of a trace operation regarding the number of remaining instruction bytes in the instruction prefetch queue 10. Second
The figure shows two brief fetch cycles (PF
Clear the queue (CLR) before and after Tl, PFT, )
and IS to retrieve the first operation code twice.
The case is shown in which the following trace points (TP,, Tp,) are performed and each trace point (TP,, Tp,) is synchronized to the end of a bus cycle.
第2図に従えば、キュークリア(CLR)が発生すると
、キュークリア時バイト数保持回路工3が、その直前の
キュー内バイト数データQCO〜QC2(3バイト)を
保持し、この値を示すデータQCLRO〜QCLIR2
がトレースポイント(TP工)でトレースメモリ4に格
納される。尚、当該バスサイクルの終了時点でそのデー
タQCLRO−QCLR2は無効値7にされている。ま
た、キュークリア(CLR)の指示に呼応してキュー内
バイト数追跡回路11の計数値はOに初期化される。According to FIG. 2, when a queue clear (CLR) occurs, the queue clear byte number holding circuit 3 holds the immediately previous queue byte number data QCO to QC2 (3 bytes) and indicates this value. Data QCLRO~QCLIR2
is stored in the trace memory 4 at a trace point (TP). Note that the data QCLRO to QCLR2 are set to an invalid value of 7 at the end of the bus cycle. Further, in response to a queue clear (CLR) instruction, the count value of the in-queue byte number tracking circuit 11 is initialized to O.
エワードのブリフェッチバスサイクル(PFT□)では
その動作の指示に呼応してキュー内バイト数追跡回路1
1は順次ステートTl、T2でカウントアツプされてそ
の保持値は2にされる。In Edward's briefetch bus cycle (PFT□), the number of bytes in the queue tracking circuit 1 responds to the operation instruction.
1 is sequentially counted up in states Tl and T2, and the held value is set to 2.
第1オペレーシヨンコードの取り出しくl5T1)が指
示されると、これに連動して第1オペ時バイト数保持回
路12に、その直前のキュー内バイト数追跡回路11の
計数値2が保持される。これと共に、キュー内バイト数
追跡回路11は1だけダウンカウントされ、その保持値
は1にされる。When the first operation code extraction l5T1) is instructed, the count value 2 of the immediately preceding byte number tracking circuit 11 in the queue is held in the first operation byte number holding circuit 12. . At the same time, the in-queue byte count tracking circuit 11 is counted down by 1, and its held value is set to 1.
その次の1ワードプリフエツチバスサイクル(PFT、
)では、第1オペレーシヨンコードの取り出しくIST
、)も指示されるため、キュー内バイト数追跡回路11
の値はT3ステートにおいて計数値2のままにされる。The next one word prefetch bus cycle (PFT,
), then IST to extract the first operation code.
, ) are also instructed, so the number of bytes in the queue tracking circuit 11
The value of is left at the count value 2 in the T3 state.
実際には2バイト目のブリフェッチによるカウントアツ
プと第1オペコード取り出しによるカウントダウンとが
重なってキュー内バイト数追跡回路11の出力計数値が
途中で撹乱される虞がある。このとき、キュー内バイト
数補正回路14は当該ブリフェッチバスサイクル(PF
T、)のステートT1でその直前のデータQCO−QC
2によって示される値上を保持している。したがって、
第1オペ時バイト数保持回路12は、第1オペレーシヨ
ンコードの取り出しくl5T2)指示に呼応して前記キ
ュー内バイト数補正回路14の出力データQCCO−Q
CC2が示す値1を取り込む、このようにして取り込ま
れた値は1次のトレースポイント(TP2)でトレース
メモリ4に格納される。このブリフェッチバスサイクル
(PFT2)が終了されると、データQISTO−QI
ST2は無効値7に変化される。In reality, there is a possibility that the count up due to the second byte brifetch and the countdown due to the extraction of the first operation code overlap, and the output count value of the in-queue byte number tracking circuit 11 may be disturbed on the way. At this time, the in-queue byte number correction circuit 14 performs the corresponding brifetch bus cycle (PF
In state T1 of T, ), the immediately preceding data QCO-QC
The value indicated by 2 is maintained. therefore,
During the first operation, the byte number holding circuit 12 extracts the first operation code.15T2) In response to the instruction, the byte number correction circuit 14 outputs data QCCO-Q.
The value 1 indicated by CC2 is taken in. The value thus taken in is stored in the trace memory 4 at the primary trace point (TP2). When this brief fetch bus cycle (PFT2) is completed, data QISTO-QI
ST2 is changed to an invalid value of 7.
次にこのようにしてトレースされた情報を解析する手法
について説明する。Next, a method for analyzing the information traced in this manner will be described.
先ず、第1オペレーションコード取り出しを行っている
地点を、データQISTO−QIST2の値から見出す
。すなわち、その値が有効値O〜6になっている部分を
見つけ出す。そして、そのデータQISTO−QIST
2の値で示される数の命令がその前のブリフェッチサイ
クルで取り込まれていることがわかる。この第1オペレ
ーションコード取り込み時にブリフェッチサイクルが重
なっている場合にも同様である。何故ならば、このよう
なときには前記キュ内バイト数補正回路14から出力さ
れる値QCCO〜QCC2が第1オペ時バイト数保持回
路12に取り込まれてトレースされるからである。この
ようにして得られたその地点以前に実行された命令の種
別は、斯る地点以前のその他のトレース情報を参照しな
がら逆アッセンブルすることによって知ることができる
。First, the point where the first operation code is extracted is found from the value of data QISTO-QIST2. That is, a portion whose value is a valid value of O to 6 is found. And that data QISTO-QIST
It can be seen that the number of instructions indicated by the value 2 was fetched in the previous brieffetch cycle. The same applies when brief fetch cycles overlap when the first operation code is fetched. This is because in such a case, the values QCCO to QCC2 output from the queued byte number correction circuit 14 are taken into the first operation byte number holding circuit 12 and traced. The type of instruction executed before the point thus obtained can be known by disassembling the instructions while referring to other trace information before the point.
また、その地点以降における実行命令に関しては、当該
ブリフェッチされた第1オペレーシヨンコードの内容を
トレース結果を参照して検証することにより命令全体の
バイト数が把握され、さらに別のトレース情報を参照し
ながら逆アッセンブルすることによって当該第1オペレ
ーシヨンコードに付随する命令の種別がわかる。Furthermore, for instructions to be executed after that point, the number of bytes of the entire instruction can be grasped by verifying the contents of the first operation code that was brifetched by referring to the trace results, and further referring to other trace information. However, by disassembling the first operation code, the type of instruction associated with the first operation code can be determined.
但し、上記解析中にキュークリアを(QCLRO−QC
LR2=O〜6)を検出したら、その値が示す命令バイ
ス数分の命令は実行されなかったものとして処理する。However, during the above analysis, queue clearing (QCLRO-QC
When LR2=0 to 6) is detected, the instructions corresponding to the number of instruction bits indicated by the value are processed as if they were not executed.
上記実施例によれば以下の作用効果を得るものである。According to the above embodiment, the following effects can be obtained.
(1)マイクロプロセッサlに内蔵される命令プリフェ
ッチキュー10の動作状態をキュー内バイト数追跡回路
11で再現し、第1オペ時バイト数保持回路12、キュ
ークリア時バイト数保持回路13、及びキュー内バイト
数補正回路14によって、命令プリフェッチキュー10
における特定事象の発性状態即ち第1オペレーシヨンコ
ードの取り出しとキュークリアの発生状態がトレースタ
イミングまで保持されるから、その特定事象の変化タイ
ミングを全て含むようなトレースタイミングを設定しな
くても、バスサイクルの終了イミノジというような所定
のトレースタイミングの間で変化する特定事象の発生状
態を確実に捕捉することができる。(1) The operating state of the instruction prefetch queue 10 built into the microprocessor l is reproduced by the in-queue byte number tracking circuit 11, the first operation byte number holding circuit 12, the queue clearing byte number holding circuit 13, and the queue By the internal byte number correction circuit 14, the instruction prefetch queue 10
Since the state of occurrence of a specific event in , that is, the state of occurrence of first operation code retrieval and queue clearing, is retained until the trace timing, there is no need to set a trace timing that includes all change timings of that specific event. It is possible to reliably capture the occurrence state of a specific event that changes between predetermined trace timings, such as the end of a bus cycle.
(2)上記作用効果により、トレースメモリ4に膨大な
記憶容量を確保しておかなくても、バスサイクルとは非
同期で発生するプリフェッチキュー10の所要の動作変
化もしくは動作状態を確実に捕捉することができる。(2) Due to the above-mentioned effects, it is possible to reliably capture required operational changes or operational states of the prefetch queue 10 that occur asynchronously with the bus cycle, without having to secure a huge storage capacity in the trace memory 4. I can do it.
(3)上記作用効果(2)により、ユーザープログラム
の逆アッセンブルを確実性且つ容易に行うことができる
。(3) With the above-mentioned effect (2), it is possible to reliably and easily disassemble a user program.
(4)ブリフェッチされた第1オペレーシヨンコードの
取出し直前における残存命令数と、キュークリア発生直
前における残存命令数とをトレースすることにより、少
ないトレース情報によって逆アッセンブルを確実に行う
ことができる。即ち、第1オペレーシヨンコードの取出
し直前における残存命令数がトレースされると、当該命
令数と共にトレースされるその第1オペレーシヨンコー
ドから当該第1オペレーシヨンコードに続く第2以降の
オペレーションコードの実行状態も他と区別されて把握
可能になる。また、キュークリア発生直前における残存
命令数がトレースされることにより、例外処理や割込み
処理などの分岐を伴う処理の発生によって捨てられた命
令の把握が可能になる・
(5)キュー内バイト数補正回路14を設けることによ
り、命令プリフェッチキュー10からの命令取り出しと
命令のブリフェッチとが重なった場合にも、命令プリフ
ェッチキュー1oの残存バイト数に対するトレース基準
点を直前のトレースポイントに合わせることができ、こ
の点においても逆アッセンブルを容易化することができ
る。(4) By tracing the number of remaining instructions immediately before the fetching of the pre-fetched first operation code and the number of remaining instructions immediately before the queue clearing occurs, disassembly can be reliably performed with less trace information. That is, when the number of remaining instructions immediately before the first operation code is taken out is traced, the execution of the second and subsequent operation codes following the first operation code is traced along with the number of instructions. The state can also be distinguished from others and can be grasped. In addition, by tracing the number of remaining instructions immediately before the queue clearing occurs, it becomes possible to understand instructions that were discarded due to the occurrence of processing that involves branching, such as exception processing or interrupt processing. (5) Correcting the number of bytes in the queue By providing the circuit 14, even if instruction fetching from the instruction prefetch queue 10 and instruction prefetching overlap, the trace reference point for the number of remaining bytes of the instruction prefetch queue 1o can be aligned with the immediately preceding trace point. In this respect as well, disassembly can be facilitated.
(6)上記各作用効果により、従来のエミュレータのハ
ードウェアに対して回路11〜14を設けるだけで、ま
た、従来同様バスサイクル単位のトレース方式を採用し
ても、命令プリフェッチキュー10を内蔵するような高
機能のマイクロプロセッサに対応可能なエミュレータを
容易に提供することができる。(6) As a result of the above-mentioned effects, the instruction prefetch queue 10 can be built-in by simply providing circuits 11 to 14 in the hardware of a conventional emulator, and even if a bus cycle unit tracing method is adopted as in the conventional emulator. It is possible to easily provide an emulator that is compatible with such high-performance microprocessors.
以上本発明者によってなされた発明を実施例に基づいて
具体的に説明したが本発明はそれに限定されるものでは
なく、その要旨を逸脱しない範囲において種々変更可能
であることは言うまでもない。Although the invention made by the present inventor has been specifically described above based on examples, it goes without saying that the present invention is not limited thereto and can be modified in various ways without departing from the gist thereof.
例えば上記実施例では命令プリフェッチキューにおける
所要の内部動作状態をトレースする場合について説明し
たが、本発明はそれに限定されるものではなく、エミュ
レーションバスなどを介して直接トレースすることがで
きないようなマイクロプロセッサの各種内部状態のトレ
ースにも広く応用することができる。したがって、必要
とされる内部事象に応じてその状態の追跡手法も適宜変
更可能になる。また、キュー内バイト数補正回路のよう
な回路の機能は、トレースポイントをどの位置にするか
というような点に応じて変更することができる。また、
オペレーションコードの取り出し毎に残存命令バイト数
をトレースするようにしてもよい。但しこの場合には上
記実施例に比べてトレース情報が増えてしまう。For example, in the above embodiment, a case has been described in which the required internal operating state in the instruction prefetch queue is traced, but the present invention is not limited thereto, and the present invention is not limited to this, and the present invention is applicable to microprocessors that cannot be directly traced via an emulation bus or the like. It can also be widely applied to tracing various internal states of. Therefore, the method of tracking the state can be changed as appropriate depending on the required internal event. Further, the function of a circuit such as the in-queue byte number correction circuit can be changed depending on the position of a trace point. Also,
The number of remaining instruction bytes may be traced each time an operation code is retrieved. However, in this case, the amount of trace information increases compared to the above embodiment.
以上の説明では主として本発明ものによってなされた発
明をその背景となった利用分野であるエミュレータに適
用した場合について説明したが、本発明はそれに限定さ
れるものではなく、ロジックステートアナライザなどシ
ステム開発ツールに広く適用することができる。In the above explanation, we have mainly explained the case where the invention made by the present invention is applied to an emulator, which is the field of application that is the background of the present invention, but the present invention is not limited to this, and the present invention is not limited to this, and the present invention is not limited to this, and the present invention is not limited to this, and the present invention is not limited to this. It can be widely applied to
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。A brief explanation of the effects obtained by typical inventions disclosed in this application is as follows.
すなわち、一定のトレースタイミングの間で変化するマ
イクロプロセッサ内部の特定事象の発生状態をトレース
タイミングまで保持するトレース情報保持手段を設けた
から、その特定事象の変化タイミングを全て含むような
トレースタイミングを設定しなくても、所定のトレース
タイミングの間で変化する特定事象の発生状態を捕捉す
ることができる。これにより、トレースメモリに膨大な
記憶容量を確保しておかなくても、バスサイクルとは非
同期で発生する所要事象の変化を確実にトレースするこ
とができるという効果がある。したがって、ユーザープ
ログラムの逆アッセンブルに対する確実性並びに容易性
を達成することができる。In other words, since a trace information holding means is provided that holds the occurrence state of a specific event inside the microprocessor that changes between certain trace timings until the trace timing, it is possible to set a trace timing that includes all the change timings of the specific event. Even if there is no trace, it is possible to capture the occurrence state of a specific event that changes between predetermined trace timings. This has the effect that changes in required events that occur asynchronously with bus cycles can be reliably traced without having to secure a huge storage capacity in the trace memory. Therefore, reliability and ease of disassembling the user program can be achieved.
また、マイクロプロセッサの動作状態指示信号に基づい
て、トレースタイミングとは非同期で発生するマイクロ
プロセッサの内部事象の発生状態例えばマイクロプロセ
ッサに含まれる命令プリフェッチキューが保有する命令
数の変化を再現していく事象追跡手段を設けることによ
り、トレースすべき情報が直接マイクロプロセッサの外
部に出力されない場合にも容易に対応できる。Also, based on the microprocessor's operating state instruction signal, it reproduces the occurrence state of internal events of the microprocessor that occur asynchronously with the trace timing, for example, changes in the number of instructions held in the instruction prefetch queue included in the microprocessor. By providing the event tracking means, it is possible to easily deal with cases where the information to be traced is not directly output to the outside of the microprocessor.
命令プリフェッチキューが保有する命令数を前記事象追
跡手段によって取得する場合、プリフェッチされた第1
オペレーシヨンコードの取出し直前における残存命令数
と、キュークリア発生直前における残存命令数とを前記
トレース情報保持手段に保持させてそれら情報をトレー
スすることにより、少ないトレース情報によって逆アッ
センブルを確実に行うことができる。When the number of instructions held by the instruction prefetch queue is acquired by the event tracking means, the number of instructions held by the prefetch queue is
To surely perform disassembly with a small amount of trace information by causing the trace information holding means to hold the number of remaining instructions immediately before fetching the operation code and the number of remaining instructions immediately before the occurrence of queue clearing and tracing these information. I can do it.
そして上記各効果により、エミュレータなど従来のシス
テム開発ツールのハードウェアに対してトレース情報保
持手段や事象追跡手段を設けるだけで、また、従来同様
バスサイクル単位のトレース方式を採用しても、命令プ
リフェッチキューなどを内蔵するような高機能のマイク
ロプロセッサに対応可能なシステム開発ツールを容易に
提供することができるという効果がある。As a result of the above-mentioned effects, instruction prefetching can be performed simply by providing a trace information holding means and an event tracking means in the hardware of conventional system development tools such as emulators, and even if the traditional bus cycle-based tracing method is adopted. This has the effect that it is possible to easily provide a system development tool that can be used with a high-performance microprocessor that has a built-in queue or the like.
第1図は本発明の一実施例であるエミュレータにおける
トレース回路部分のブロック図。
第2図は命令プリフェッチキューの残存命令バイト数に
関するトレース動作の一例タイミングチヤード、
第3図はマイクロプロセッサによるバスアクセス幅を外
部に指示するための信号定義説明図、第4図は命令プリ
フェッチキューの動作状態を外部に示すためのステータ
ス信号定義説明図である。
1・・・マイクロプロセッサ、2・・・エミュレーショ
ンバス、3・・・トレースタイミング生成回路、4・・
・トレースメモリ、lO・・・命令プリフェッチキュー
11・・・キュー内バイト数追跡回路、12・・・第1
オペ時バイト数保持回路、13・・・キュークリア時バ
イト数保持回路、14・・・キュー内バイト数補正回路
、BHE・・・バス・ハイ・イネーブル信号AO・・・
アドレス信号最下位ビット、QSO−QSI・・・キュ
ーステータス信号、5o−82・・・アクセスタイプス
テータス信号、AS・・・アドレスストローブ信号、C
LK・・・動作基準クロック信号。FIG. 1 is a block diagram of a trace circuit portion in an emulator that is an embodiment of the present invention. Figure 2 is a timing chart showing an example of a trace operation related to the number of remaining instruction bytes in the instruction prefetch queue. Figure 3 is an explanatory diagram of signal definitions for externally instructing the bus access width by the microprocessor. Figure 4 is an instruction prefetch queue. FIG. 4 is an explanatory diagram of status signal definitions for externally indicating the operating state of the device. 1...Microprocessor, 2...Emulation bus, 3...Trace timing generation circuit, 4...
・Trace memory, IO...Instruction prefetch queue 11...Number of bytes in queue tracking circuit, 12...First
Byte number holding circuit during operation, 13... Byte number holding circuit when queue clearing, 14... Byte number correction circuit in queue, BHE... Bus high enable signal AO...
Address signal least significant bit, QSO-QSI...queue status signal, 5o-82...access type status signal, AS...address strobe signal, C
LK: Operation reference clock signal.
Claims (1)
ミングに同期して各種情報をトレースしていくシステム
開発ツールにおいて、 前記一定のトレースタイミングの間で変化するマイクロ
プロセッサ内部の特定事象の発生状態をトレースタイミ
ングまで保持するトレース情報保持手段を設けたことを
特徴とするシステム開発ツール。 2、前記一定のトレースタイミングとは非同期で発生す
るマイクロプロセッサの内部事象の発生状態を、前記マ
イクロプロセッサの動作状態指示信号に基づいて再現し
ていく事象追跡手段を設け、 前記トレース情報保持手段は、その事象追跡手段で取得
された情報を選択保持するようにされて成る 請求項1記載のシステム開発ツール。 3、前記事象追跡手段は、マイクロプロセッサに含まれ
る命令プリフェッチキューが保有する命令数を取得する
ようにされ、 前記トレース情報保持手段は、命令プリフェッチキュー
からの第1オペレーションコード取出し直前における残
存命令数と、キュークリア発生直前における残存命令数
とを保持するようにされて成る 請求項2記載のシステム開発ツール。 4、前記トレースタイミングは、マイクロプロセッサが
起動する各バスサイクルに同期して行われるようにされ
て成る請求項1乃至3項の何れか1項記載のシステム開
発ツール。[Claims] 1. In a system development tool that traces various information in synchronization with a certain timing according to the operation of a microprocessor, the identification of the inside of the microprocessor that changes between the certain trace timings. A system development tool characterized by having a trace information holding means for holding the occurrence state of an event until the trace timing. 2. An event tracking means is provided for reproducing the occurrence state of an internal event of the microprocessor that occurs asynchronously with the certain trace timing based on an operating state instruction signal of the microprocessor, and the trace information holding means is 2. The system development tool according to claim 1, wherein information acquired by the event tracking means is selectively held. 3. The event tracking means acquires the number of instructions held by an instruction prefetch queue included in the microprocessor, and the trace information holding means acquires the number of instructions remaining immediately before the first operation code is extracted from the instruction prefetch queue. 3. The system development tool according to claim 2, wherein the number of remaining instructions immediately before the queue clearing occurs is held. 4. The system development tool according to claim 1, wherein the trace timing is performed in synchronization with each bus cycle activated by the microprocessor.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1202378A JP2804934B2 (en) | 1989-08-04 | 1989-08-04 | System development equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1202378A JP2804934B2 (en) | 1989-08-04 | 1989-08-04 | System development equipment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0365736A true JPH0365736A (en) | 1991-03-20 |
| JP2804934B2 JP2804934B2 (en) | 1998-09-30 |
Family
ID=16456506
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1202378A Expired - Fee Related JP2804934B2 (en) | 1989-08-04 | 1989-08-04 | System development equipment |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2804934B2 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62173542A (en) * | 1986-01-27 | 1987-07-30 | Yokogawa Electric Corp | Emulator |
| JPS62182946A (en) * | 1986-02-07 | 1987-08-11 | Anritsu Corp | Tracing circuit |
| JPS62197831A (en) * | 1986-02-26 | 1987-09-01 | Hitachi Ltd | Data processor |
| JPS62279438A (en) * | 1986-05-29 | 1987-12-04 | Mitsubishi Electric Corp | Tracking circuit |
-
1989
- 1989-08-04 JP JP1202378A patent/JP2804934B2/en not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62173542A (en) * | 1986-01-27 | 1987-07-30 | Yokogawa Electric Corp | Emulator |
| JPS62182946A (en) * | 1986-02-07 | 1987-08-11 | Anritsu Corp | Tracing circuit |
| JPS62197831A (en) * | 1986-02-26 | 1987-09-01 | Hitachi Ltd | Data processor |
| JPS62279438A (en) * | 1986-05-29 | 1987-12-04 | Mitsubishi Electric Corp | Tracking circuit |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2804934B2 (en) | 1998-09-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7080283B1 (en) | Simultaneous real-time trace and debug for multiple processing core systems on a chip | |
| US5265254A (en) | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation | |
| JP2776602B2 (en) | Test system and instruction execution sequence determination method | |
| JP4233893B2 (en) | Instruction tracing in data processing systems. | |
| JP4038372B2 (en) | Tracing out-of-order data | |
| US5544311A (en) | On-chip debug port | |
| US6243836B1 (en) | Apparatus and method for circular buffering on an on-chip discontinuity trace | |
| US6754856B2 (en) | Memory access debug facility | |
| EP3785124B1 (en) | Memory validity states in time-travel debugging | |
| JP2002189611A (en) | Emulation device and method therefor | |
| US20020144235A1 (en) | Debugging embedded systems | |
| US6212493B1 (en) | Profile directed simulation used to target time-critical crossproducts during random vector testing | |
| JPH0731615B2 (en) | Information processing equipment | |
| JP2001236245A (en) | Method and apparatus for regenerating an emulated instruction set trace upon execution on hardware specific to different instruction set fields | |
| US7562258B2 (en) | Generation of trace elements within a data processing apparatus | |
| CN115516430A (en) | Techniques for collecting status information of a device | |
| US5930470A (en) | Debugging system and debugging method | |
| Narayanasamy et al. | Bugnet: Recording application-level execution for deterministic replay debugging | |
| JP2008033849A (en) | Failure analysis system | |
| US20060259826A1 (en) | Method and system of identifying overlays | |
| JPH0365736A (en) | System developing tool | |
| JPS6383841A (en) | Central processing unit of computer capable of program test | |
| JP5937530B2 (en) | Software error analysis device, error information creation device | |
| US7225365B2 (en) | Apparatus and method for identification of a new secondary code start point following a return from a secondary code execution | |
| JP3349911B2 (en) | Microprocessor and development support device thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080724 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080724 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090724 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |