JP2002108647A - Semiconductor device with built-in trace memory and processor development support device - Google Patents
Semiconductor device with built-in trace memory and processor development support deviceInfo
- Publication number
- JP2002108647A JP2002108647A JP2000298449A JP2000298449A JP2002108647A JP 2002108647 A JP2002108647 A JP 2002108647A JP 2000298449 A JP2000298449 A JP 2000298449A JP 2000298449 A JP2000298449 A JP 2000298449A JP 2002108647 A JP2002108647 A JP 2002108647A
- Authority
- JP
- Japan
- Prior art keywords
- trace
- trace memory
- processor
- instruction
- data
- 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)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【課題】 トレ−スメモリの記憶容量が比較的小さい場
合でも、プログラムが正常に走行できているかを効率的
にデバッグできるトレース機能をもつ半導体装置及びそ
のプロセッサ開発支援装置を提供することを目的とす
る。
【解決手段】 デバック用プロセッサを備えた半導体装
置において、通常処理命令と、この通常処理命令とは異
なるトレースに有用なトレースメモリに出力するための
トレースメモリへの出力命令CHKAを、プロセッサに
実装し、予め設定された位置でトレースメモリにデータ
書き込む。
(57) [Problem] To provide a semiconductor device having a trace function capable of efficiently debugging whether a program can run normally even when the storage capacity of a trace memory is relatively small, and a processor development support device therefor. The purpose is to do. SOLUTION: In a semiconductor device provided with a debug processor, a processor is provided with a normal processing instruction and a trace memory output instruction CHKA for outputting to a trace memory useful for tracing different from the normal processing instruction. Write data to the trace memory at a preset position.
Description
【0001】[0001]
【産業上の利用分野】この発明は、インサーキットエミ
ュレータ(ICE)等のデバッグ機能を有するマイクロ
プロセッサなどの半導体装置及びその開発支援装置に関
する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor device such as a microprocessor having a debugging function such as an in-circuit emulator (ICE) and a development support device therefor.
【0002】[0002]
【従来の技術】マイクロコンピュータを用いたシステム
の開発のために、インサーキットエミュレータが用いら
れる。このようなエミュレータにおいて、デバッグを支
援するための機能として、ブレーク制御機能やトレース
機能がある。2. Description of the Related Art An in-circuit emulator is used for developing a system using a microcomputer. In such an emulator, functions for supporting debugging include a break control function and a trace function.
【0003】トレース機能は、プロセッサがやり取する
データ、アドレス信号、及び各種制御情報を、順次蓄え
ていく。このときのトレースの開始及び停止の制御は、
通常はプログラムがスタ−トしてから停止(ブレ−ク)
するまでのトレ−ス、または、トレ−ス範囲をスタ−ト
ポイント(トレース開始アドレス)とストップポイント
(トレース停止アドレス)で指定する、又は特定のステ
ータスメモリへのリードライトのみをトレースする等の
方式がある。The trace function sequentially stores data exchanged by the processor, address signals, and various control information. The control of the start and stop of the trace at this time is as follows.
Normally, stop after program starts (break)
To specify the trace or trace range by start point (trace start address) and stop point (trace stop address), or trace only read / write to a specific status memory. There is a method.
【0004】デバッグ対象となるプロセッサは、年々高
速化されており、プロセッサ外部にあるトレースメモリ
にトレースデータをストアすることは、エミュレータ等
の開発ツールにおけるスピードのボトルネックになって
いる。特に、トレースメモリを対象となるプロセッサの
外部に持ち、プロセッサから出力されたアドレス信号、
ステータス信号でトレースメモリへの格納を行う場合に
は、スピード的に厳しい。The speed of a processor to be debugged is increasing year by year, and storing trace data in a trace memory outside the processor is a bottleneck in speed in a development tool such as an emulator. In particular, an address signal output from the processor having the trace memory outside the target processor,
When the status signal is stored in the trace memory, the speed is severe.
【0005】そのため、トレースデータを半導体装置内
に備え、またトレースメモリへ格納を制御する制御回路
を、半導体装置内に備えることで、高速化を行っている
デバッグ装置も開発されている。[0005] Therefore, a debug device has been developed in which trace data is provided in a semiconductor device and a control circuit for controlling storage in a trace memory is provided in the semiconductor device to increase the speed.
【0006】しかしながら、トレースメモリを半導体装
置内に備える場合には、トレースメモリの容量も限られ
るため、デバッグに十分な時間のトレースデータをメモ
リに格納することはできなくなる問題がある。However, when a trace memory is provided in a semiconductor device, the capacity of the trace memory is limited, so that there is a problem that it is impossible to store trace data for a time sufficient for debugging in the memory.
【0007】ところで、特開平5−46440号公報に
は、マイクロ命令中に設けられたトレースデータ選択フ
ィードのビットパターンを用いて、トレース対象として
の装置各部の状態を表わしたトレースデータのうちの1
組をマイクロ命令ごとに選択するセレクタと、このセレ
クタによって選択されたトレースデータを格納するトレ
ースデータ格納領域と、前記マイクロ命令ごとにその実
行アドレスを格納するマイクロ命令アドレス格納領域と
を具備することを特徴とするハードウェアトレーサ回路
が開示されている。そして、この回路により、必要なト
レースデータのみをトレースメモリに書き込むようにし
て、トレースメモリのサイズの小型化を図るようにして
いる。Japanese Patent Laid-Open Publication No. Hei 5-46440 discloses that one bit of trace data representing the state of each part of a device to be traced is determined by using a bit pattern of a trace data selection feed provided in a microinstruction.
A selector for selecting a set for each microinstruction, a trace data storage area for storing trace data selected by the selector, and a microinstruction address storage area for storing an execution address for each microinstruction. A featured hardware tracer circuit is disclosed. With this circuit, only the necessary trace data is written into the trace memory, so that the size of the trace memory can be reduced.
【0008】上記技術は、トレースメモリに、全てのア
ドレス、データ及びステータスを格納するのではなく命
令毎に、どのデータが必要かをハード上で判断し、デー
タをマルチプレクスしてトレースメモリに必要なビット
幅を少なくし、トレースメモリのサイズの小型化を行う
ものである。The above technique does not store all addresses, data and statuses in a trace memory, but determines on a hardware which data is required for each instruction, multiplexes the data and stores the data in the trace memory. The bit width is reduced and the size of the trace memory is reduced.
【0009】しかしながら、この方法では、プロセッサ
とトレースメモリ間にデータのマルチプレクサが存在
し、マルチプレクサの遅延のため高速性が犠牲になる。
また、トレースメモリの格納を制御する方法は含まれな
いため、全てのバスサイクルを格納した場合、トレース
メモリの小型化の効果は少なく、またトレースメモリの
格納を外部で制御した場合、その制御回路の遅延がある
ため、さらに高速対応に関して欠点を有している。However, in this method, a data multiplexer exists between the processor and the trace memory, and the high speed is sacrificed due to the delay of the multiplexer.
In addition, since the method of controlling the storage of the trace memory is not included, the effect of reducing the size of the trace memory is small when all the bus cycles are stored. However, there is a drawback with regard to high-speed operation.
【0010】また、特開平5−173835号公報に
は、トレースメモリに実行アドレスを格納するのでな
く、分岐の成功・不成功のみを1ビットの情報として、
シフトレジスタに格納し、シフトレジスタが満杯になっ
た場合にトレースメモリに書き出すと共に、トレースメ
モリのアドレスをインクリメントすることが開示されて
いる。Japanese Patent Application Laid-Open No. Hei 5-173835 discloses that, instead of storing an execution address in a trace memory, only the success / failure of a branch is taken as 1-bit information.
It is disclosed that the data is stored in a shift register, written to a trace memory when the shift register becomes full, and the address of the trace memory is incremented.
【0011】この機能によりマイクロプロセッサを介す
ることなくより多くの分岐の成功、不成功を示すデータ
をトレースメモリに格納することができ、少ないメモリ
容量でプログラムの流れを把握することができる。With this function, more data indicating the success or failure of branching can be stored in the trace memory without passing through the microprocessor, and the flow of the program can be grasped with a small memory capacity.
【0012】しかしながら、上記技術では、トレースメ
モリに実行アドレスが格納されないため、どこの分岐点
での分岐成功/不成功かの対応がとれない。また、ハー
ドウェア上の障害等により、プログラムが暴走している
場合は、デバッグ不可能となるなどの難点がある。However, in the above technique, since the execution address is not stored in the trace memory, it is not possible to determine at which branch point the branch has succeeded or failed. Further, when the program runs away due to a hardware failure or the like, there is a problem that debugging becomes impossible.
【0013】また、特開平5−197596号公報に
は、マイクロプロセッサと、前記マイクロプロセッサが
実行するプログラムを格納している主記憶装置の間のア
ドレス、データ、コントロールバスの信号をトレーサ制
御回路に入力し、マイクロプロセッサがあらかじめ設定
されたある特定の命令を実行した場合のみに、トレース
メモリにアドレス値を格納することを特徴とするトレー
サが開示されている。Japanese Patent Application Laid-Open No. 5-197596 discloses an address, data, and control bus signal between a microprocessor and a main storage device storing a program to be executed by the microprocessor. A tracer is disclosed in which an address value is stored in a trace memory only when an instruction is input and a microprocessor executes a predetermined specific instruction.
【0014】しかしながら、上記技術では、プロセッサ
外にトレーサ制御回路を持つため、制御回路のそのもの
の遅延や、プロセッサからトレーサ制御回路へのアドレ
ス、データバスの遅延があるため、高速性という点で十
分でない。また、プロセッサと主記憶とのアクセスに
も、トレーサ制御回路やアドレスをラッチするレジスタ
がつながることになり、プロセッサの主記憶のアクセス
にも負担がかかる。さらに、あらかじめ指定された命令
には、装置の動作に影響を与えない入出力命令を用いた
場合とあるが、装置の動作に影響を与えない命令が無い
場合には、上記技術は適用できないことになり、制限が
存在することになるなどの問題がある。However, in the above technique, since the tracer control circuit is provided outside the processor, there is a delay in the control circuit itself, and there is a delay in the address and data bus from the processor to the tracer control circuit. Not. Further, a tracer control circuit and a register for latching an address are connected to the access between the processor and the main memory, so that the access to the main memory of the processor is burdensome. In addition, there are cases where input / output instructions that do not affect the operation of the device are used as pre-specified instructions, but if there is no instruction that does not affect the operation of the device, the above technology can not be applied And there are problems such as the existence of restrictions.
【0015】また、特開平5−241895号公報に
は、前のブランチ状態と違ったブランチ(その前のブラ
ンチが成功で今回不成功、又はその前が不成功で今回成
功)が発生したときのみ実行アドレスをアドレス・トレ
ース・メモリ回路に格納することで、時間待ちをするよ
うなルーチンなどでのアドレス・トレース・メモリの無
駄を無くし、メモリ容量でプログラムの流れを把握する
ものが開示されている。Japanese Patent Application Laid-Open No. Hei 5-241895 discloses that only when a branch different from the previous branch state (the previous branch was successful and unsuccessful before, or the previous branch was unsuccessful and succeeded this time) is generated. A method is disclosed in which an execution address is stored in an address trace memory circuit, thereby eliminating waste of an address trace memory in a routine or the like that waits for time and grasping a program flow by a memory capacity. .
【0016】しかしながら、上記技術は、分岐命令のト
レースのみに関連する技術であり制限となっている、そ
れ以外のプログラム部分をトレースすることはできな
い。また、マイクロ命令デコーダに分岐成功、不成功を
デコードする回路が必要であり、また前回の分岐成功、
不成功を保持しておく必要もある。このような回路は、
高速化という点では、マイナス要因になるなどの問題が
ある。However, the above technique is a technique relating only to the tracing of a branch instruction and is limited, and cannot trace other program parts. Also, the microinstruction decoder needs a circuit to decode the branch success / failure.
You also need to keep unsuccessful. Such a circuit
In terms of speeding up, there are problems such as a negative factor.
【0017】更に、特開平6−187193号公報に
は、マイクロコンピュータの実行が実行アドレスの分岐
を伴うものであるか否かを判別し、分岐動作である場合
には分岐実行信号を出力する判別手段をもち、分岐命令
および分岐命令の前後所定ステップの命令のみをトレー
スメモリに格納するプログラムデバッグ装置が開示され
ている。Further, Japanese Patent Laid-Open No. Hei 6-187193 discloses a method for judging whether or not execution of a microcomputer involves branching of an execution address, and outputting a branch execution signal in the case of a branch operation. There is disclosed a program debugging apparatus having means and storing only a branch instruction and an instruction in a predetermined step before and after the branch instruction in a trace memory.
【0018】しかし、上記技術では、分岐命令前後のト
レースに関連する技術でありトレースメモリへの格納
は、分岐命令が存在する必要がある。分岐命令及びその
前後以外のプログラム部分をトレースすることはできな
い。また、マイクロコンピュタ外部の分岐実行格納アド
レスメモリをあらかじめ用意するまたは、マイクロプロ
セッサ内に分岐命令に関わる命令であることを出力する
機能が必要である。さらに、外部信号による割り込み処
理による分岐動作は、トレースメモリへの判定が、でき
ない制限が存在するなどの問題がある。However, the above technique relates to tracing before and after a branch instruction, and the storage in the trace memory requires the presence of a branch instruction. It is not possible to trace the program instructions other than the branch instruction and its surroundings. Further, it is necessary to prepare a branch execution storage address memory external to the microcomputer in advance, or to have a function of outputting an instruction related to a branch instruction in the microprocessor. Further, the branching operation by interrupt processing by an external signal has a problem that there is a limitation that determination to the trace memory cannot be made.
【0019】また、特開平7−200352号公報に
は、データプロセッサに、通常の命令とは命令コードの
み相違されるデバッグ用命令を加えた命令セットを用意
し、デバッグ用命令をデバッグ用命令解析部で解析し、
対応する通常命令と同じ動作を行う装置が開示されてい
る。そして、この装置によれば、デバッグ用命令を認識
しその実行過程をトレースするエミュレータを利用する
ことにより、サブルーチンコールの際に引き渡されるパ
ラメータなどをトレース取得できる。Japanese Patent Application Laid-Open No. 7-200352 discloses an instruction set in which a data processor is added with a debug instruction which differs from a normal instruction only in instruction code, and the debug instruction is analyzed by a debug instruction analysis. Analyzed by the department,
A device is disclosed that performs the same operation as the corresponding normal instruction. According to this device, by using an emulator that recognizes a debugging instruction and traces the execution process, it is possible to obtain a trace of parameters passed at the time of a subroutine call.
【0020】上記技術に必要なデバッグ用命令は、デバ
ッグ用命令にはデバッグ用命令とは対になる通常の命令
が存在しており、対になる命令とデバッグ用命令との相
違は、命令コードのみであり、命令語長、オペランドの
サイズと配置、動作、命令実行サイクル数等は、両者の
間で相違はない。The debugging instructions necessary for the above technology include ordinary instructions that are paired with the debugging instructions in the debugging instructions. The difference between the paired instruction and the debugging instruction is the instruction code. There is no difference in instruction word length, operand size and arrangement, operation, instruction execution cycle number, and the like.
【0021】上記技術においては、リアルタイム性を全
く損なわずに、デバッグツールが構成できるが、プロセ
ッサにデバッグ用命令を組み込む必要があり、プロセッ
サの設計の負担が大きい、また、命令コードにデバッグ
用命令を組み込むための空きが必要であり、命令の未定
義エリアが不足する場合には問題となるなどの問題があ
る。In the above technique, a debugging tool can be configured without impairing the real-time property at all. However, it is necessary to incorporate debugging instructions into the processor, which places a heavy burden on the design of the processor. There is a problem that an empty space is required to incorporate the instruction, and a problem occurs when the undefined area of the instruction is insufficient.
【0022】[0022]
【発明が解決しようとする課題】上記したように、トレ
ースメモリを半導体装置内に備える場合には、トレース
メモリの容量も限られるため、デバッグに十分な時間の
トレースデータをメモリに格納することはできなくなる
問題がある。As described above, when a trace memory is provided in a semiconductor device, the capacity of the trace memory is limited. Therefore, it is difficult to store trace data in the memory for a sufficient time for debugging. There is a problem that can not be done.
【0023】この発明は、上記した問題点に鑑みなされ
たものにして、トレ−スメモリの記憶容量が比較的小さ
い場合でも、プログラムが正常に走行できているかを効
率的にデバッグでき、かつマイクロプロセッサが高速に
なってもスピードのボトルネックにならなく、かつ低コ
ストでマイクロプロセッサのトレース機能をもつ半導体
装置及びそのプロセッサ開発支援装置を提供することを
目的とする。SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems, and even if the storage capacity of a trace memory is relatively small, it is possible to efficiently debug whether or not a program can run normally, and It is an object of the present invention to provide a semiconductor device which does not become a speed bottleneck even at high speed and has a trace function of a microprocessor at low cost and a processor development support device therefor.
【課題を解決するための手段】この発明は、デバック用
プロセッサを備えた半導体装置において、通常処理命令
と、この通常処理命令とは異なるトレースに有用なデー
タを前記トレースメモリへ出力するためのデバック用出
力命令とを、プロセッサ内部に実装したことを特徴とす
る。According to the present invention, there is provided a semiconductor device having a debug processor, comprising: a debugger for outputting a normal processing instruction and data useful for tracing different from the normal processing instruction to the trace memory; And an output instruction for use in the processor.
【0024】上記した構成によれば、予め設定された位
置でトレースメモリにデータ書き込むことができる。従
って、少ないトレースメモリ記憶容量で長時間に渡って
有効な情報をトレースメモリに採取することができると
いう効果がある。また、プロセッサ外部にトレースメモ
リへの書き込みを制御する回路が不要になるため、高速
プロセッサにも対応するトレース機能を容易に実現でき
る。According to the above configuration, data can be written to the trace memory at a preset position. Therefore, there is an effect that effective information can be collected in the trace memory for a long time with a small trace memory storage capacity. Further, since a circuit for controlling writing to the trace memory is not required outside the processor, a trace function corresponding to a high-speed processor can be easily realized.
【0025】前記デバック用出力命令は実行アドレスを
トレースメモリに出力するための命令であることを特徴
とする。The debug output instruction is an instruction for outputting an execution address to a trace memory.
【0026】上記したように、実行アドレスをトレース
メモリに出力するためのトレースメモリへの出力命令を
持っているため、予め設定された位置でトレースメモリ
に書き込みするように構成できできる。As described above, since there is an output instruction to the trace memory for outputting the execution address to the trace memory, it can be configured to write to the trace memory at a preset position.
【0027】この発明は、前記半導体装置に、トレース
メモリと、トレースライト信号に応じて動作するトレー
スアドレス生成手段と、を備え、ソフトウェアやシステ
ムデバックのためのトレース機能を有するように構成す
ることができる。According to the present invention, the semiconductor device is provided with a trace memory and a trace address generating means which operates in response to a trace write signal, and is configured to have a trace function for software or system debugging. it can.
【0028】上記した構成によれば、高速マイクロプロ
セッサ(MPU)がデバッグの対象の場合でも、問題な
くトレース機能を使用してデバッグを行うことができ
る。また、比較的小容量のトレースメモリですむため、
半導体装置の製造コストを安くできる。According to the above configuration, even when a high-speed microprocessor (MPU) is to be debugged, debugging can be performed using the trace function without any problem. Also, since a relatively small amount of trace memory is required,
The manufacturing cost of the semiconductor device can be reduced.
【0029】又、この発明は、前記デバック用出力命令
として、これ以降のバスサイクルでトレースメモリの格
納を行うトレース開始命令と、これ以降のトレースメモ
リへの格納は行わないトレース中止命令を備えることを
特徴とする。Further, according to the present invention, a trace start instruction for storing a trace memory in a subsequent bus cycle and a trace stop instruction for not storing data in a trace memory thereafter are provided as the debug output instructions. It is characterized by.
【0030】上記した構成によれば、プログラムの詳細
デバッグを行いたい場合にも、これらの命令を実行させ
ることで、トレースメモリへの書き込みを制御すること
ができ、少ないトレースメモリ記憶容量で詳細な情報を
トレースメモリに採取することができるという効果があ
る。According to the above configuration, even when it is desired to perform detailed debugging of a program, by executing these instructions, writing to the trace memory can be controlled, and detailed trace memory storage capacity can be achieved. There is an effect that information can be collected in the trace memory.
【0031】また、この発明は、前記プロセッサ内に、
パスカウンタを備え、カウンタ値をインクリメントする
命令と、カウンタ値をトレースメモリに出力するための
パスカウンタ値出力命令を有するように構成できる。Further, according to the present invention, in the processor,
The apparatus can be configured to include a path counter and include a command for incrementing the counter value and a path counter value output command for outputting the counter value to the trace memory.
【0032】上記した構成によれば、ループ構造を含む
プログラムの場合にも、少ないトレースメモリ記憶容量
で長時間に渡って有効な情報をトレースメモリに採取す
ることができるという効果がある。According to the above configuration, even in the case of a program including a loop structure, there is an effect that effective information can be collected in the trace memory for a long time with a small trace memory storage capacity.
【0033】前記プロセッサ内に、プロセッサのサイク
ル数をカウントするカウンタを備えると共に、カウンタ
値をトレースメモリに出力するためのサイクルカウンタ
値出力命令を有するように構成できる。[0033] The processor may include a counter for counting the number of cycles of the processor and a cycle counter value output instruction for outputting a counter value to the trace memory.
【0034】上記した構成によれば、プログラムの実行
時間をトレースメモリに書き込むことができ、実行時間
計測機能を用いて、プログラムデバッグを行うことがで
きる。According to the above configuration, the execution time of the program can be written into the trace memory, and the program can be debugged using the execution time measurement function.
【0035】前記プロセッサ内に、トレースメモリへの
データ出力バスを持ち、そのバスに、実行アドレス、サ
イクルを数えるカウンタ、イベントを数えるパスカウン
タを選択的に出力する手段を備え、プロセッサのトレー
スメモリへの出力命令により、選択的にトレースメモリ
へデータを書き込むように構成できる。The processor has a data output bus to the trace memory, and the bus has a means for selectively outputting an execution address, a counter for counting cycles, and a pass counter for counting events, to the trace memory of the processor. Can be configured to selectively write data to the trace memory.
【0036】上記した構成によれば、プログラムの流
れ、実行時間情報、ループ構造のプログラムのループ回
数等の多種類のデバッグ情報が1つの小容量のトレース
メモリに、長時間に渡って長時間に亘って採取すること
ができる。According to the above configuration, various types of debug information such as program flow, execution time information, and the number of loops of a program having a loop structure can be stored in a single small-capacity trace memory for a long time. Can be collected over a wide area.
【0037】また、この発明は、前記プロセッサ内に、
トレースメモリへのデータ出力バスを持ち、そのバス
に、実行アドレス、サイクルを数えるカウンタ、イベン
トを数えるパスカウンタを選択的に出力する手段を備
え、プロセッサのトレースメモリへの出力命令により、
選択的にトレースメモリへデータを書き込む際に、どの
データが出力されているかという情報も合わせてトレー
スメモリに書き込むように構成できる。Further, the present invention provides the above-mentioned processor,
It has a data output bus to the trace memory, and has a means for selectively outputting an execution address, a counter for counting cycles, and a pass counter for counting events on the bus.
When data is selectively written to the trace memory, information indicating which data is being output can also be written to the trace memory.
【0038】上記構成によれば、トレース後の結果の解
析を容易行うことができる。また、どのようなデータが
格納されているかを区別する必要から、本来必要でない
場所で実行アドレスのトレースメモリへの書き出し命令
を挿入する必要がなくなる。According to the above configuration, it is possible to easily analyze the result after tracing. Further, since it is necessary to distinguish what kind of data is stored, it is not necessary to insert an instruction to write the execution address into the trace memory at a place not originally required.
【0039】また、この発明は、レースメモリへの書き
出しを毎バスサイクル行うと共に、前記プロセッサ内
に、トレースメモリへの出力命令を持ち、トレース命令
の出力命令を実行した場合には、前記プロセッサからト
レースメモリへのアドレス生成器に対して、ブロックア
ドレスインクリメント信号を出力するように構成でき
る。Further, according to the present invention, the writing to the race memory is performed every bus cycle, and the processor has an output instruction to the trace memory in the processor. It can be configured to output a block address increment signal to an address generator for the trace memory.
【0040】上記構成によれば、サブルーチンや割込み
の分岐がプログラムのどの位置から分岐したかが、少な
いトレースメモリ記憶容量で長時間に渡ってトレースメ
モリに採取することができる。According to the above configuration, it is possible to collect from the trace memory over a long period of time a small trace memory storage capacity from which position in the program the branch of the subroutine or the interrupt has branched.
【0041】また、この発明は、通常処理命令と、この
通常処理命令とは異なるトレースに有用なデータを前記
トレースメモリ出力するためのデバック用出力命令とを
デバッグ対象となるプロセッサ内に備え、前記デバック
用出力命令は、トレース出力命令に与えられた定数引数
をトレースメモリに出力するため命であることを特徴と
する。Further, the present invention comprises a normal processing instruction and a debug output instruction for outputting data useful for tracing different from the normal processing instruction to the trace memory in a processor to be debugged. The debug output instruction is a command for outputting a constant argument given to the trace output instruction to the trace memory.
【0042】上記した構成によれば、トレースのビット
幅を定数引数のデータ長に押さえることができ、少ない
トレースメモリ記憶容量で長時間に亘って有効な情報を
トレースメモリに採取することができるという効果があ
る。また、キャッシュメモリを持つプロセッサのよう
に、実行アドレスがアドレスバスに出力されないプロセ
ッサに対しても、問題なくトレース機能が実現できる。According to the above configuration, the bit width of the trace can be reduced to the data length of the constant argument, and effective information can be collected in the trace memory for a long time with a small trace memory storage capacity. effective. Further, the trace function can be realized without any problem even for a processor whose execution address is not output to the address bus, such as a processor having a cache memory.
【0043】前記半導体装置に、トレースメモリと、ト
レースライト信号に応じて動作するトレースアドレス生
成手段と、を備え、ソフトウェアやシステムデバックの
ためのトレース機能を有するように構成できる。The semiconductor device may include a trace memory, and a trace address generating means that operates in response to a trace write signal, and may have a trace function for software or system debugging.
【0044】上記した構成によれば、高速MPUがデバ
ッグの対象の場合でも、問題なくトレース機能を使用し
てデバッグを行うことができる。また、比較的小容量の
トレースメモリですむ為、半導体装置の製造コストが安
い。According to the above configuration, even when the high-speed MPU is to be debugged, debugging can be performed using the trace function without any problem. Further, since a relatively small capacity trace memory is required, the manufacturing cost of the semiconductor device is low.
【0045】また、この発明は、デバッグ対象となるプ
ロセッサからトレースデータを出力する際に、シリアル
データ出力と、シリアルデータを同期化するためのシリ
アルライト信号を生成する手段を有することを特徴とす
る。Further, the present invention is characterized in that when outputting trace data from a processor to be debugged, there is provided means for generating a serial data output and a serial write signal for synchronizing the serial data. .
【0046】上記した構成によれば、デバッグ対象とな
る半導体装置において、トレース機能に要求されるIO
ピンの本数を少なくできるとい効果がある。According to the above configuration, in the semiconductor device to be debugged, the IO required for the trace function
The effect is that the number of pins can be reduced.
【0047】また、この発明は、デバッグ対象となるプ
ロセッサからトレースデータを出力する際に、シリアル
データ出力と、シリアルデータを同期化するためのシリ
アルライト信号を生成する手段備え、前記デバッグ対象
となる半導体装置の外部に、トレースメモリ、トレース
メモリへのアドレス生成機能、トレースメモリ制御手段
を有し、ソフトウェアやシステムデバッグのためのトレ
ース機能をもつことを特徴とする。Also, the present invention includes means for generating a serial data output and a serial write signal for synchronizing serial data when outputting trace data from a processor to be debugged, and the debug target is provided. The semiconductor device has a trace memory, a function of generating an address to the trace memory, and a trace memory control unit outside the semiconductor device, and has a trace function for software and system debugging.
【0048】上記した構成によれば、デバッグ対象とな
る半導体装置の外部に、トレースメモリを持つため、半
導体装置内に内蔵する場合と比べて、大容量のトレース
メモリを持つ開発支援装置が設計可能である。その際に
は、より長時間に渡って、プログラムのトレースを行う
ことができるトレース機能をもつ開発支援装置が提供可
能である。According to the above configuration, since the trace memory is provided outside the semiconductor device to be debugged, a development support device having a large-capacity trace memory can be designed as compared with the case where the trace memory is built in the semiconductor device. It is. In this case, a development support device having a trace function capable of tracing a program for a longer time can be provided.
【発明の実施の形態】以下、この発明の実施の形態につ
き図面を参照して説明する。図1は、この発明の第1の
実施形態を示すブロック回路図である。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block circuit diagram showing a first embodiment of the present invention.
【0049】図1における半導体チップ(ターゲット)
1は、デバッグ対象となるプロセッサ11、メインメモ
リ16、トレースメモリ13、及びトレースアドレス生
成器周辺回路13を備えている。Semiconductor chip (target) in FIG.
1 comprises a processor 11 to be debugged, a main memory 16, a trace memory 13, and a trace address generator peripheral circuit 13.
【0050】このプロセッサ11は、メインメモリ16
に格納されているプログラムを読み出し、データアクセ
スを行いながらプログラムを実行するものとする。そし
て、プロセッサ11とメインメモリ16は、アドレスバ
ス14、データバス13、コントロールバス12で接続
されている。The processor 11 includes a main memory 16
Is read, and the program is executed while accessing data. The processor 11 and the main memory 16 are connected by an address bus 14, a data bus 13, and a control bus 12.
【0051】アドレスバス14は、プロセッサ11か
ら、メインメモリ16へのアドレスデータが出力される
バスで、プログラムを読み出すアドレスや、データアク
セスの際のアドレスが出力されている。また、データバ
ス13は、プログラムデータやデータアクセスの際のデ
ータがこのバスを通じて、プロセッサ11とメインメモ
リ16の間でやりとりされる。The address bus 14 is a bus through which address data is output from the processor 11 to the main memory 16, and outputs an address from which a program is read and an address at the time of data access. In the data bus 13, program data and data for data access are exchanged between the processor 11 and the main memory 16 through the bus.
【0052】この発明は、プロセッサ11内に、通常処
理命令と、この通常処理命令とは異なるトレースに有用
なデータを前記トレースメモリ出力するためのデバック
用出力命令とが実装されている。プロセッサ11内のデ
バッグを目的とするトレースメモリへの出力命令に基づ
き、プロセッサ11からは、トレースメモリ17に対し
てトレースメモリライト信号18が出力される。In the present invention, a normal processing instruction and a debug output instruction for outputting data useful for tracing different from the normal processing instruction to the trace memory are mounted in the processor 11. The processor 11 outputs a trace memory write signal 18 to the trace memory 17 based on an output instruction to the trace memory for the purpose of debugging in the processor 11.
【0053】また、トレースメモリ17へのアドレス出
力はトレースアドレス生成器19より出力され、トレー
スメモリアドレス生成器19には、プロセッサ11から
トレースライト信号18が与えられる。The address output to the trace memory 17 is output from a trace address generator 19, to which a trace write signal 18 is given from the processor 11.
【0054】トレースメモリ17にはアドレスバス14
と接続されており、トレースメモリ17のライトデータ
はアドレスバスがつながる。The trace memory 17 has an address bus 14
The write data of the trace memory 17 is connected to an address bus.
【0055】上記した図1に示す装置の動作を説明す
る。図2は、この実施形態で説明するデバック対象とな
るプログラムを示す図である。このプログラムは、メイ
ンルーチンとサブルーチン1,2及び割込みルーチン
1,2で構成されている。The operation of the apparatus shown in FIG. 1 will be described. FIG. 2 is a diagram showing a program to be debugged described in this embodiment. This program includes a main routine, subroutines 1 and 2, and interrupt routines 1 and 2.
【0056】このプログラムをデバッグする際に、この
プログラムが設計で意図した通り走行しているかを確か
めたいとすると、図2のプログラムに対して、図3のよ
うに、メインルーチン、サブルーチン1,2、割込みル
ーチン1,2の通過をチェックしたいポイント、例え
ば、メインルーチン内のいくつかのポイントとサブルー
チン1,2、割込みルーチン1,2の最初の部分にこの
発明の特徴となるchka命令を配置しておく。これ
は、プログラム設計者があらかじめ設定するものとす
る。When debugging this program, if it is desired to confirm that this program is running as intended in the design, the main routine, subroutines 1 and 2 are executed as shown in FIG. The chka instruction, which is a feature of the present invention, is arranged at points where it is desired to check the passage of the interrupt routines 1 and 2, for example, at some points in the main routine and the first part of the subroutines 1 and 2 and the interrupt routines 1 and 2. Keep it. This is set in advance by the program designer.
【0057】ここで用いているchka命令とは、プロ
セッサ11がこの命令を実行すると、トレースメモリ1
7へのトレースライト信号18を出力するものである。
この発明では、このchka命令が、プロセッサ11内
に実装されている。The chka instruction used here means that when the processor 11 executes this instruction, the trace memory 1
7 to output a trace write signal 18.
In the present invention, this chka instruction is implemented in the processor 11.
【0058】アドレス生成器19は、トレースメモリ1
7へのライト信号が起こると、トレースメモリ17への
アドレスをインクリメントする機能を持っている。The address generator 19 is provided in the trace memory 1
7 has a function of incrementing the address to the trace memory 17 when a write signal to 7 occurs.
【0059】デバッグを始める際には、トレースメモリ
17のアドレス生成器19を初期化する必要があるが、
初期化手段としては、図1には示していないが、デバッ
ガプログラムが走行するホストコンピュター等のプロセ
ッサ11外部から初期化コントロールを行う方法などが
考えられる。When starting debugging, it is necessary to initialize the address generator 19 of the trace memory 17,
Although not shown in FIG. 1 as the initialization means, a method of performing initialization control from outside the processor 11 such as a host computer on which a debugger program runs can be considered.
【0060】デバッガプログラムとは、簡単に説明する
と、デバッグ対象となるプログラムをダウンロードした
り、デバッグ対象となるプロセッサのプログラムの走
行、停止の制御を行ったり。プロセッサ内のレジスタ、
メモリの表示、書き換えや、トレースメモリの内容を表
示したりする開発ツールを構成するプログラムのことを
指している。In brief, the debugger program downloads a program to be debugged, and controls running and stopping of a program of a processor to be debugged. Registers in the processor,
This refers to a program that constitutes a development tool that displays and rewrites memory and displays the contents of trace memory.
【0061】いま、図3のchka命令を含むプログラ
ムをメインメモリ18に転送し、図3のプログラムを走
行させると、トレースメモリには、図4のような結果が
プログラムトレースとして格納される。Now, when the program including the chka instruction of FIG. 3 is transferred to the main memory 18 and the program of FIG. 3 is run, the result as shown in FIG. 4 is stored in the trace memory as a program trace.
【0062】すなわち、プログラム走行は、以下の順番
で実行されたことが分かる。That is, it can be seen that the program running was executed in the following order.
【0063】 1)MAIN_ADDRESS1 2)MAIN_ADDRESS2 3)SUB_ADDRESS1 4)INT_ADDRESS1 5)SUB_ADDRESS2 6)MAIN_ADDRESS3 7)INT_ADDRESS2 8)INT_ADDRESS1 9)MAIN_ADDRESS4 10)MAIN_ADDRESS5[0063] 1) MAIN_ADDRESS1 2) MAIN_ADDRESS2 3) SUB_ADDRESS1 4) INT_ADDRESS1 5) SUB_ADDRESS2 6) MAIN_ADDRESS3 7) INT_ADDRESS2 8) INT_ADDRESS1 9) MAIN_ADDRESS4 10) MAIN_ADDRESS5
【0064】このように、本実施形態では、サブルーチ
ンへの分岐が正確に行われているか、又は非同期に発生
する割込みがプログラムのどの場所で起こっているか
等、プログラムが設計者の意図した通りに走行している
かが、少量のトレースメモリ17の結果から判ることに
なる。As described above, in the present embodiment, the program is executed in accordance with the intention of the designer, for example, whether the branch to the subroutine is performed accurately or where the interrupt generated asynchronously occurs in the program. Whether or not the vehicle is running can be known from the result of the small amount of the trace memory 17.
【0065】また、上記した第1の実施形態では、ch
ka命令の仕様は、ライト信号の生成であり、仕様とし
て軽い。このため、少量のハードウェアの追加で、命令
として容易にプロセッサに実装することが可能であり、
また、この命令の実装によりプロセッサのスピードを損
なうことはない。In the first embodiment described above, the channel
The specification of the ka instruction is generation of a write signal, and is light as a specification. Therefore, with a small amount of additional hardware, it can be easily implemented in the processor as instructions.
Also, the implementation of this instruction does not impair the speed of the processor.
【0066】また、chka命令の実装により、プロセ
ッサ外部のハードウェアは、トレースメモリ17へのア
ドレス生成器19及びトレースメモリ17と簡単でかつ
高速な設計が可能であり、プロセッサと共に容易に半導
体装置内に搭載し、低コストで高速なトレース機能を持
つ開発支援装置が提供可能である。Also, by implementing the chka instruction, the hardware external to the processor can be designed simply and at high speed with the address generator 19 and the trace memory 17 for the trace memory 17, and the hardware inside the semiconductor device can be easily installed together with the processor. And a development support device having a low-cost and high-speed tracing function can be provided.
【0067】また、本実施形態で用いているchka命
令は、chka命令自体の実行アドレスをトレースメモ
リに書き込む命令としているが、chka命令の次に実
行するアドレスを書き込むというように、バスサイクル
のディレイを持たせてトレースメモリに書き込む仕様で
も本発明は応用可能である。Although the chka instruction used in this embodiment is an instruction for writing the execution address of the chka instruction itself to the trace memory, a delay in the bus cycle such as writing the address to be executed next to the chka instruction is used. The present invention can also be applied to a specification in which the data is written to the trace memory with a value.
【0068】上記した実施形態1においては、以下のよ
うな改善すればよりよい点がある。In the first embodiment, there is a better point if the following improvements are made.
【0069】(1)プロセッサ自身に、少量といえども
chka命令のハードウェアの追加が必要である。 (2)デバッグしたいプログラムにchkaを挿入する
必要がある。 (3)デバッグ対象プログラムに、chka命令を埋め
込むため、chka命令の実行時間のために、リアルタ
イム性が損なわれる。 (4)chka命令をプログラムに埋め込むため、デバ
ッグ時にはプログラムサイズがオリジナルプログラムよ
り大きくなる。 (5)プログラムの大まかな流れは判るが、全てのバス
サイクルのトレースが行われないため、詳細なデバッグ
はできない。 (6)プログラムがループしている場合にそこにchk
a命令を配置した場合には、ループが通過する毎に、ト
レースメモリへの格納が起きるためトレースメモリの格
納データが多くなるため、トレースメモリに要求される
サイズが大きくなる。ループ内にchkaを配置しなけ
れば、ループが何回まわっていつ抜け出したか判らな
い。 (7)本実施例のトレースメモリの結果では、プログラ
ムの実行時間が判らない。 (8)割込みやサブルーチンに分岐しているのは判る
が、どこから分岐したのかが判らない。(1) It is necessary to add even a small amount of hardware for the chka instruction to the processor itself. (2) It is necessary to insert chka into a program to be debugged. (3) Since the chka instruction is embedded in the program to be debugged, the execution time of the chka instruction impairs the real-time property. (4) Since the chka instruction is embedded in the program, the program size becomes larger than the original program during debugging. (5) Although the general flow of the program can be understood, detailed debugging cannot be performed because tracing of all bus cycles is not performed. (6) If the program is looping, chk there
In the case where the instruction a is arranged, each time the loop passes, data is stored in the trace memory, so that the amount of data stored in the trace memory increases, and the size required for the trace memory increases. Unless chka is arranged in the loop, it is not known how many times the loop has been turned and exited. (7) The execution time of the program is not known from the result of the trace memory of this embodiment. (8) It is known that the program branches to an interrupt or a subroutine, but it is not clear where the program branches from.
【0070】上記した(1)から(4)の項目について
は、本発明の構成上避けることができないが、低コスト
で高速なトレースシステムを構成する長所に比べて、小
さいと考えることができる。The above items (1) to (4) cannot be avoided due to the configuration of the present invention, but can be considered to be small in comparison with the advantages of configuring a low-cost and high-speed trace system.
【0071】上記(2)の項目に関しては、ソースプロ
グラムを実行形式に変換するコンパイラやアセンブラ&
リンカに自動化の機能を持たせる。例えば、サブルーチ
ンや割込みルーチンの先頭アドレスに自動的に挿入する
機能を持たせれば、半自動化が可能になり、問題ない程
度に軽減は可能である。Regarding the above item (2), a compiler or assembler that converts a source program into an executable form
Give the linker an automation function. For example, if a function for automatically inserting a program at the head address of a subroutine or an interrupt routine is provided, semi-automation can be performed, and the reduction can be made to the extent that there is no problem.
【0072】また、(3)、(4)の項目に関しては、
デバッグ後のプログラムには、chka命令が埋め込ま
れないため、デバッグ完了後は全く問題とならない。Further, regarding the items (3) and (4),
Since the chka instruction is not embedded in the program after debugging, there is no problem after the debugging is completed.
【0073】上記した(5)ないし(8)の点を改良し
たこの発明の実施形態につき、以下に説明する。An embodiment of the present invention in which the above points (5) to (8) are improved will be described below.
【0074】この発明の第2の実施形態につき説明す
る。ブロック構成は図1に示すものと同じ構成である。
デバッグ対象となるのは、図3のプログラムで、詳細な
デバッグを行いたい部分に対して、これ以降全てのバス
サイクルで実行アドレスをトレースメモリ17に出力す
るトレース出力のON命令と全てのバスサイクルのトレ
ース出力を停止するトレース出力のOFF命令を、プロ
セッサ11に実装するものである。Next, a second embodiment of the present invention will be described. The block configuration is the same as that shown in FIG.
The debug target is the program shown in FIG. 3, and for a portion to be debugged in detail, a trace output ON instruction for outputting an execution address to the trace memory 17 in all bus cycles thereafter and all bus cycles A trace output OFF instruction for stopping the trace output is implemented in the processor 11.
【0075】例えば、トレースON、OFFの命令のニ
ーモニックをtron、troffとし、図3のデバッ
グ対象プログラムの内、サブルーチン1内の命令の動作
を詳細にデバッグしたい場合には、図5のように変更す
る。即ち、サブルーチン1の始めtronが挿入され、
と終わりにtroffが挿入される。For example, if the mnemonics of the trace ON and OFF instructions are tron and troff, and it is desired to debug in detail the operation of the instruction in the subroutine 1 of the program to be debugged in FIG. I do. That is, tron is inserted at the beginning of subroutine 1,
Is inserted at the end.
【0076】図5のプログラムで、トレースを実施した
結果を図6に示す。FIG. 6 shows the result of tracing with the program of FIG.
【0077】図6の結果のように、本トレース結果で
は、サブルーチン1の全ての命令の動きと、サブルーチ
ン1の途中から、割込みルーチン1に分岐し、割込みル
ーチンからサブルーチン1に戻って、サブルーチン1が
実行されるサブルーチンの最後にあるRET命令(ここ
ではRET命令はサブルーチンからの復帰命令として説
明している)でメインルーチンに戻ったプログラムの動
きがトレースメモリ17に格納され、プログラムの詳細
な動きがデバッグできる。As shown in the result of FIG. 6, in the trace result, the movement of all the instructions in subroutine 1 and the middle of subroutine 1 branch to interrupt routine 1, return from interrupt routine to subroutine 1, and return to subroutine 1. Is executed at the end of the subroutine (here, the RET instruction is described as a return instruction from the subroutine), and the movement of the program returned to the main routine is stored in the trace memory 17, and the detailed movement of the program is executed. Can be debugged.
【0078】また、この第2の実施形態としてtron
とtroff命令でプログラムでトレース範囲を指定す
る方法に対して、トレース範囲の選択である従来技術と
してプログラムのアドレス範囲で指定し、プロセッサが
出力するアドレス出力やステータス出力を監視し、アド
レス範囲とマッチすればトレースメモリに格納するかど
うかを判断する技術があった。この従来技術では、アド
レス範囲のコンパレータのハードウェアが必要であるこ
とと、プロセッサのアドレス出力遅延、アドレス範囲の
コンパレータ、トレースメモリへのライト信号の生成回
路の遅延があるため、高速なプロセッサやシステムに対
応できない問題があった。しかし、この第2の実施形態
のように、プロセッサに、tron、troff命令を
実装することで、より少ないハードウェアで、低コスト
でかつ高速なプロセッサのトレース機能をもつデバッグ
システムが提供できる。In the second embodiment, a tron is used.
In contrast to the method of specifying a trace range in a program by using a program and a troff instruction, a conventional technique of selecting a trace range is specified by a program address range, and an address output or status output output from a processor is monitored and matched with the address range. If so, there was a technique for determining whether to store the data in the trace memory. In this conventional technique, the hardware of the address range comparator is required, and the address output delay of the processor, the address range comparator, and the delay of the circuit for generating the write signal to the trace memory are delayed, so that a high-speed processor or system is required. There was a problem that could not be addressed. However, as in the second embodiment, by mounting the tron and troff instructions in the processor, a debug system having less hardware, a low cost, and a high-speed processor trace function can be provided.
【0079】次に、この発明の第3の実施形態を図5に
示すブロック回路図に従い説明する。Next, a third embodiment of the present invention will be described with reference to the block circuit diagram shown in FIG.
【0080】この第3の実施形態も上記した実施形態と
同様にデバッグ対象となるプロセッサ11がメインメモ
リ16に格納されているプログラムを読み出し、データ
アクセスを行いながらプログラムを実行するものとす
る。In the third embodiment, it is assumed that the processor 11 to be debugged reads the program stored in the main memory 16 and executes the program while performing data access, similarly to the above-described embodiment.
【0081】プロセッサ11とメインメモリ16、アド
レスバス14、データバス13、コントロールバス12
で接続されている。Processor 11, main memory 16, address bus 14, data bus 13, control bus 12
Connected by
【0082】アドレスバス14は、プロセッサ11か
ら、メインメモリ16へのアドレスデータが出力される
バスで、プログラムを読み出すアドレスや、データアク
セスの際のアドレスが出力されている。そして、データ
バス13は、プログラムデータやデータアクセスの際の
データがこのバスを通じて、プロセッサ11とメインメ
モリ16の間でやりとりされる。The address bus 14 is a bus for outputting address data from the processor 11 to the main memory 16, and outputs an address for reading a program and an address for data access. In the data bus 13, program data and data for data access are exchanged between the processor 11 and the main memory 16 through the bus.
【0083】この第3の実施形態では、図1の第1の実
施形態と異なり、プロセッサ11内に、システムクロッ
クの計数カウンタ111、パスカウンタ112の2種類
のカウンタを内蔵している。また、トレースメモリ17
へのデータに対しては、プロセッサ11自身からアドレ
スバス14とは別に、トレース用のデータ出力バス11
4を持っている。このデータバス114とトレースメモ
リ17とが接続されている。In the third embodiment, unlike the first embodiment shown in FIG. 1, two kinds of counters, a system clock count counter 111 and a pass counter 112, are built in the processor 11. Also, the trace memory 17
Data from the processor 11 to the data output bus 11 for tracing separately from the address bus 14.
I have four. The data bus 114 and the trace memory 17 are connected.
【0084】トレースデータバス114は、プロセッサ
11内で、クロック計数カウンタ111、パスカウンタ
112、アドレスバス14の出力をマルチプレクサ11
3にて、選択的に出力するように構成されている。The trace data bus 114 connects the clock counter 111, the pass counter 112 and the output of the address bus 14 to the multiplexer 11 in the processor 11.
At 3, it is configured to selectively output.
【0085】この第3の実施形態では、上記した第1,
第2の実施形態で説明した(chka)命令、(tro
n)命令、(troff)命令とは別に、プロセッサ1
1内に、クロック計数カウンタ111の値をトレースメ
モリ17へ書き込むchkck命令、パスカウンタ11
2の値をインクリメントするincctr命令、またパ
スカウンタ112の値をトレースメモリ17へ書き込む
chkctr命令を実装している。In the third embodiment, the first and the second
The (chka) instruction and (tro) described in the second embodiment
n) instruction and (troff) instruction separately from processor 1
1, a chkck instruction for writing the value of the clock counter 111 to the trace memory 17, a path counter 11
An incctr instruction for incrementing the value of 2 and a chkctr instruction for writing the value of the pass counter 112 to the trace memory 17 are implemented.
【0086】すなわち、クロック計数カウンタ111
は、プロセッサ11のシステムクロックで、毎サイクル
インクリメントされ、chkck命令にてトレースメモ
リ17への書き込みが行われる。クロック計数カウンタ
111のリセットに関しては、書き込み後リセットされ
ても良いし、プログラム走行開始時に、別途init命
令等をプロセッサ11に実装しプロセッサ自身でリセッ
トを行うか、又はデバッガ等の外部から直接、リセット
を制御し、プログラム走行時に初期化し、停止するまで
リセットを行わない方法等が考えられる。That is, the clock counter 111
Is incremented every cycle by the system clock of the processor 11, and writing to the trace memory 17 is performed by the chkck instruction. Regarding the reset of the clock counter 111, the reset may be performed after writing, or at the start of the program running, a separate init instruction or the like is mounted on the processor 11 and reset by the processor itself, or the reset is directly performed from outside the debugger or the like. , The program is initialized when the program runs, and the reset is not performed until the program stops.
【0087】一方、パスカウンタ112は、プログラム
走行時に上述のクロック計数カウンタ111と同様の方
法で初期化され、incctr命令の実行時にインクリ
メントされ、chkctr命令でパスカウンタ112の
値をトレースメモリ17へ書き込むと共に、書き込み後
リセットされるように構成している。On the other hand, the path counter 112 is initialized in the same manner as the above-described clock counter 111 when the program is running, is incremented when the incctr instruction is executed, and writes the value of the path counter 112 into the trace memory 17 with the chkctr instruction. In addition, it is configured to be reset after writing.
【0088】以上の構成で、図8に示す条件判定を伴う
ループプログラムをデバッグすることを考える。With the above configuration, it is considered to debug a loop program involving the condition determination shown in FIG.
【0089】図8でメインA−1からメインC−4は、
プログラムのアドレスとする。プログラムのAブロック
とBブロックの間には、条件判定プログラムが存在し、
条件が成立するとBブロックにプログラムが移るが条件
が成立しない場合には、A−4アドレスに戻りAブロッ
ク内をループすることになる。In FIG. 8, main A-1 to main C-4 are:
This is the program address. A condition determination program exists between the A block and the B block of the program,
If the condition is satisfied, the program moves to block B. If the condition is not satisfied, the process returns to address A-4 and loops through block A.
【0090】この図8のようなループを伴うプログラム
をchka命令のみでデバッグする場合には、例えば、
図8に示したようにループ内であるメインA−4のアド
レス位置、ループの出口であるメインB−1の位置、更
にメインC−1のプログラム走行をチェックしたい位置
にchkaを配置したとすると、プログラム走行後のト
レースメモリの結果は、図9のようになる。すなわち、
ループ内のメインA−4の実行アドレスはループが回っ
た回数分だけトレースメモリ17に書き込まれるため、
例えばn回ループを回ったとするとnアドレス分のトレ
ースメモリ17を消費することになってしまう。メイン
A−4が格納されているアドレスを数えればループが何
回まわったかを知ることができるが、トレースメモリ1
7の消費が大きい。When debugging a program with a loop as shown in FIG. 8 using only the chka instruction, for example,
As shown in FIG. 8, suppose that chka is arranged at the address position of main A-4 in the loop, the position of main B-1 at the exit of the loop, and further at the position where it is desired to check the program running of main C-1. FIG. 9 shows the result of the trace memory after running the program. That is,
The execution address of the main A-4 in the loop is written into the trace memory 17 by the number of times the loop has been turned.
For example, if the loop is performed n times, the trace memory 17 for n addresses will be consumed. By counting the addresses where the main A-4 is stored, it is possible to know how many times the loop has been turned.
7 consumption is large.
【0091】また、図9に示すように、ブロックA,
B,Cの順番にプログラムが実行されたことは判るが、
どれくらいの実行時間で実行されたかは判らないという
問題がある。Also, as shown in FIG.
It can be seen that the program was executed in the order of B and C,
The problem is that it is not known how long the execution took.
【0092】図8のプログラムを、図10のようにch
kck、incctr、chkctr命令を用いて変更
した場合には、トレースメモリ17は図11のようにな
る。まず、ループ命令の前のメインA−2のchkck
命令にてその時のクロック計数カウンタ111の値がト
レースメモリ17にクロック値1として書き込まれ、メ
インA−3の位置のchka命令でメインA−3アドレ
スがトレースメモリ17に書き込まれ、ループ内のin
cctr命令によりループが回る毎にパスカウンタ11
2がインクリメントされ、ループが抜けだしたメインB
−1のchkctr命令で、パスカウンタ112の値で
あるループ回数nがトレースメモリ17に書き込まれ、
chka命令でB−2アドレスが書き込まれる。The program shown in FIG. 8 is converted into a channel as shown in FIG.
When the data is changed using the kck, incctr, and chkctr instructions, the trace memory 17 becomes as shown in FIG. First, chkck of main A-2 before the loop instruction
The value of the clock counter 111 at that time is written into the trace memory 17 as a clock value 1 by an instruction, the main A-3 address is written to the trace memory 17 by the chka instruction at the position of the main A-3, and the in
Each time the loop is turned by the cctr instruction, the pass counter 11
Main B where 2 has been incremented and the loop has come out
With the chkctr instruction of −1, the loop count n, which is the value of the pass counter 112, is written into the trace memory 17,
The B-2 address is written by the chka instruction.
【0093】その後もchkck、chka命令でクロ
ック値2,3やメインB−4、メインC−2等の実行ア
ドレスがトレースメモリ17に書き込まれる。Thereafter, the chkck and chka instructions are used to write the clock values 2 and 3 and the execution addresses such as the main B-4 and the main C-2 into the trace memory 17.
【0094】図11のトレースメモリの結果で、クロッ
ク値2とクロック値1の差から、AブロックからBブロ
ックへのプログラム実行時間、クロック値3とクロック
値2の差から、BブロックからCブロックへのプログラ
ム実行時間、を情報として得ることができる。From the result of the trace memory shown in FIG. 11, the program execution time from the A block to the B block from the difference between the clock value 2 and the clock value 1 and the difference between the clock value 3 and the clock value 2 from the B block to the C block Program execution time can be obtained as information.
【0095】また、ループの回数も図9のようにnアド
レスのトレースメモリを使用するのでなく、回数データ
として1アドレスのみトレースメモリを使うため、小用
量のトレースメモリ17でデバッグできるメリットがあ
る。Also, since the number of loops does not use the trace memory of n addresses as shown in FIG. 9, but only one address is used as the number of times data, there is an advantage that debugging can be performed with the trace memory 17 of a small amount.
【0096】また、ループがネストしている場合にも、
パスカウンタ112を複数個用意し、 incctr1、chkctr1 incctr2、chkctr1 incctr3、chkctr1 のようにトレース用命令を複数組み用意すれば、ネスト
ループのプログラムも第3の実施形態と同様の手法でデ
バッグ可能である。Also, when a loop is nested,
If a plurality of path counters 112 are prepared and plural sets of trace instructions such as incctr1, chkctr1 incctr2, chkctr1 incctr3, and chkctr1 are prepared, the program of the nest loop can be debugged by the same method as in the third embodiment. .
【0097】また、第3の実施形態の図7では、プロセ
ッサ11内にクロック計数カウンタ11とパスカウンタ
112の両方のハードウェアを搭載しているが、不必要
な場合にはどちらか一方のカウンタハードウェアとそれ
に関する命令を実装しても本実施形態は適用できる。In FIG. 7 of the third embodiment, both hardware of the clock counter 11 and the pass counter 112 are mounted in the processor 11, but if unnecessary, either counter is used. This embodiment can be applied even if hardware and instructions related thereto are implemented.
【0098】トレースメモリ17の読み出しと解析を行
う場合に、そのデータが実行アドレスか、パスカウンタ
か、クロック計数値かを区別するため、第3の実施形態
では、パスカウンタやクロック計数値を出力させた直後
に実行アドレスを出力させている手法を採っている。When reading and analyzing the trace memory 17, in order to distinguish whether the data is an execution address, a pass counter, or a clock count value, the third embodiment outputs a pass counter or a clock count value. The method of outputting the execution address immediately after the execution is adopted.
【0099】例えば、図11で、メインC−2の直前の
データはクロック計数値3であると見なすことができる
方法を採用しているが、図14に示す様に、トレースメ
モリ17へのデータ種類のステータスデータとしてトレ
ースデータに付加する方法も考えられる。この方法を用
いた第4の実施例形態のシステムを図12のブロック回
路図に示す。For example, in FIG. 11, a method is employed in which the data immediately before the main C-2 can be regarded as the clock count value 3, but as shown in FIG. A method of adding the type of status data to the trace data is also conceivable. The system of the fourth embodiment using this method is shown in the block circuit diagram of FIG.
【0100】この第4の実施形態4では、第3の実施形
態の構成に比べて、更にトレースメモリ17に対して、
トレースデータ114とは別に、データステータス種類
信号115をトレースメモリ17への格納データとして
いることを特徴としている。In the fourth embodiment, compared to the configuration of the third embodiment, the trace memory 17
In addition to the trace data 114, a data status type signal 115 is used as data stored in the trace memory 17.
【0101】図12の第4の実施形態のデバッグ対象プ
ログラムを図13、トレース後のデータを図14に示
す。FIG. 13 shows a program to be debugged according to the fourth embodiment shown in FIG. 12, and FIG. 14 shows data after tracing.
【0102】図14のトレースデータの上位2ビットに
は、トレースデータが実行アドレスの場合には”00”
データ、クロック計数カウンタ111の場合には”0
1”データ、パスカウンタ112の値の場合には”1
0”データがトレースメモリ17に情報として書き込ま
れる。このため、トレース解析に際して容易に解析でき
ると共にデータを区別するための不必要なchka命令
を配置する必要が無くなり、トレースメモリ17の節約
ができる。In the upper two bits of the trace data in FIG. 14, "00" when the trace data is an execution address.
"0" in the case of the data / clock counter 111
1 "if the data is the value of the pass counter 112," 1 "
0 "data is written as information in the trace memory 17. Therefore, trace analysis can be easily performed, and unnecessary chka instructions for discriminating data need not be arranged, so that the trace memory 17 can be saved.
【0103】上記した第2〜第4の実施形態で、 tron、troff命令によるプログラム詳細解析 incctr、chkctr命令によるループ構造のプ
ログラム解析 chkck命令によるプログラム実行時間の解析 が実現可能であり、上記した(5),(6),(7)の
項目の解決が行える。In the second to fourth embodiments, the detailed program analysis by the tron and troff instructions The program analysis of the loop structure by the incctr and chkctr instructions The analysis of the program execution time by the chkck instruction can be realized. 5), (6) and (7) can be solved.
【0104】上記した(8)の項目で挙げた割込みやサ
ブルーチンに分岐しているのは判るが、どこから分岐し
たのかが判らないという問題を解決する実施形態につき
以下に説明する。図15はこの第5の実施形態の構成を
示すブロック回路図である。An embodiment which solves the problem that the branch to the interrupt or the subroutine mentioned in the above item (8) is known but the branch from the branch is unknown is described below. FIG. 15 is a block circuit diagram showing the configuration of the fifth embodiment.
【0105】図15のシステムは図1の構成と比較し
て、ブロックインクリメント信号118がプロセッサ1
1からトレースアドレス生成器19に更に出力されるよ
うに構成されている。The system shown in FIG. 15 is different from the configuration shown in FIG.
1 is further output to the trace address generator 19.
【0106】プロセッサ11は、図1の第1の実施形態
では、chka命令により、ライト信号が出力されてい
たが、図15の構成では、全てのバスサイクルでトレー
スライト信号が生成されるように構成されている。In the first embodiment shown in FIG. 1, the processor 11 outputs the write signal by the chka instruction. In the configuration shown in FIG. 15, the processor 11 generates the trace write signal in every bus cycle. It is configured.
【0107】トレースアドレス生成器19のアドレスの
出力は、全てのバスサイクルでアドレスをインクリメン
トするが、インクリメントは下位数ビットの範囲でしか
行われない構成になっている。The output of the address of the trace address generator 19 increments the address in every bus cycle, but the increment is performed only in the range of the lower several bits.
【0108】例えば、アドレス全体で8ビットかつ下位
2ビット範囲を例とすると、アドレスは下記のように、
4つのアドレスをループする構造となっている。For example, assuming that the entire address has a range of 8 bits and lower 2 bits, the address is as follows:
It has a structure in which four addresses are looped.
【0109】 00000000(アドレス00h) 00000001(アドレス01h) 00000010(アドレス02h) 00000011(アドレス03h) 00000000(アドレス00h) 00000001(アドレス01h)00000000 (address 00h) 00000001 (address 01h) 00000010 (address 02h) 00000011 (address 03h) 00000000 (address 00h) 00000001 (address 01h)
【0110】更に、chka命令に出会うと、残り1回
のバスサイクルをトレースメモリ19へ出力した後に、
ブロックインクリメント信号118により、アドレスの
上位部分がインクリメントされる。Further, upon encountering the chka instruction, after outputting the remaining one bus cycle to the trace memory 19,
The upper part of the address is incremented by the block increment signal 118.
【0111】例えば、以下のようにアドレスが生成され
るものとする。For example, it is assumed that an address is generated as follows.
【0112】 00000011(アドレス03h) chka命令の前の前の命令の実行 アドレス 00000000(アドレス00h) chka命令の前の命令の実行アド レス 00000001(アドレス01h) chka命令 00000010(アドレス02h) chka命令の次の命令の実行アド レス 00000000(アドレス13h) 00000001(アドレス10h)00000011 (address 03h) Execution of instruction before chka instruction Address 00000000 (address 00h) Execution address of instruction before chka instruction 00000001 (address 01h) chka instruction 00000010 (address 02h) Next to chka instruction Execution address of instruction 00000000 (address 13h) 00000001 (address 10h)
【0113】この実施形態のchka命令は、アドレス
生成のループ範囲を下位2ビットとしているが、本発明
の応用として例えば3ビット、4ビットのようにデバッ
グしやすいビットに変更してもかまわない。また、ch
ka命令のトレース出力後、残り1回のバスサイクルを
トレースメモリに出力し、ブロックインクリメント信号
を発生するとしているが、別の回数にしても本特許は応
用可能である。In the chka instruction of this embodiment, the loop range of the address generation is set to the lower 2 bits. However, as an application of the present invention, it may be changed to a bit that is easy to debug such as 3 bits or 4 bits. Also, ch
After the trace of the ka instruction is output, the remaining one bus cycle is output to the trace memory to generate a block increment signal. However, the present invention can be applied to other times.
【0114】第5の実施形態のブロックインクリメント
信号を使った場合の、デバッグ対象プログラムを図16
に示す。また、図16プログラムをトレースした結果デ
ータを図17に示す。FIG. 16 shows a program to be debugged when the block increment signal of the fifth embodiment is used.
Shown in FIG. 17 shows data obtained by tracing the program shown in FIG.
【0115】図17のトレース結果を見ると、MAIN
_A−3のchka命令により、MAIN_A−4まで
が次のトレースメモリ17のアドレスに格納され、ブロ
ックアドレスがインクリメントされている。また、SU
B_A−0のサブルーチンの先頭にあるchka命令に
より、次のトレースメモリ17のブロックのデータが格
納されているが、このブロックのデータにより、メイン
プログラムのMAIN_A−7アドレスからサブルーチ
ンへの分岐が起こっていることが判る。Looking at the trace result in FIG.
By the chka instruction of _A-3, the data up to MAIN_A-4 is stored in the next address of the trace memory 17, and the block address is incremented. Also, SU
The chka instruction at the head of the B_A-0 subroutine stores the data of the next block of the trace memory 17, but the data of this block causes a branch from the MAIN_A-7 address of the main program to the subroutine. It turns out that there is.
【0116】また、MAIN_A−11のchka命令
により、次のブロックのトレースメモリ17のデータが
格納される。トレースメモリ17のブロック内のデータ
は、実行時間順には、並んでいないが、chka命令の
位置より、トレースメモリ解析の際に、実行時間順に容
易にソートできるため問題にはならない。The data of the trace memory 17 of the next block is stored by the chka instruction of MAIN_A-11. Although the data in the blocks of the trace memory 17 are not arranged in the order of the execution time, it does not pose a problem because the data can be easily sorted in the order of the execution time when analyzing the trace memory from the position of the chka instruction.
【0117】以上の第5の実施形態により、第1の実施
形態で問題となる上記(8)の項目である割込みやサブ
ルーチンに分岐しているのは判るが、どこから分岐した
のかが判らないという問題は解決できる。According to the fifth embodiment, it is known that the process branches to the interrupt or the subroutine which is the item (8) which is a problem in the first embodiment, but it is not possible to know where the process has branched from. The problem can be solved.
【0118】次に、この発明の第6の実施形態を図18
に従い説明する。図18に示す第6の実施形態は、図1
の第1の実施形態と異なり、プロセッサ11から、トレ
ースメモリ17への出力データバス120をもってい
る。プロセッサ11に対して、前述した実施形態と異な
り、新たなトレース出力命令であるchkp命令を実装
している。Next, a sixth embodiment of the present invention will be described with reference to FIG.
It will be described according to the following. The sixth embodiment shown in FIG.
Unlike the first embodiment, an output data bus 120 from the processor 11 to the trace memory 17 is provided. Unlike the above-described embodiment, the processor 11 is provided with a chkp instruction which is a new trace output instruction.
【0119】chkp命令の仕様としては、命令に定数
引数をもつ。この定数引数は命令コードの中に値として
保持し、chkp命令が実行されると、その定数がトレ
ースメモリ17に書き込まれるようにchkp命令をプ
ロセッサ11に実装する。As a specification of the chkp instruction, the instruction has a constant argument. The constant argument is held as a value in the instruction code, and when the chkp instruction is executed, the chkp instruction is implemented in the processor 11 so that the constant is written to the trace memory 17.
【0120】例えば、図2のデバッグ対象プログラム
を、図19のように書換える。図19のプログラムを走
行させた後のトレースメモリの結果は図20のようにな
る。図20の結果は、第1の実施形態の結果である図3
と同様の情報量を持っている。すなわち、プログラム走
行は、以下の順番に実行されたことがわかる。For example, the program to be debugged in FIG. 2 is rewritten as shown in FIG. The result of the trace memory after running the program of FIG. 19 is as shown in FIG. The result of FIG. 20 is the result of the first embodiment.
Has the same amount of information. That is, it can be seen that the program running was executed in the following order.
【0121】 1)MAIN_ADDRESS1 2)MAIN_ADDRESS2 3)SUB_ADDRESS1 4)INT_ADDRESS1 5)SUB_ADDRESS2 6)MAIN_ADDRESS3 7)INT_ADDRESS2 8)INT_ADDRESS1 9)MAIN_ADDRESS4 10)MAIN_ADDRESS5[0121] 1) MAIN_ADDRESS1 2) MAIN_ADDRESS2 3) SUB_ADDRESS1 4) INT_ADDRESS1 5) SUB_ADDRESS2 6) MAIN_ADDRESS3 7) INT_ADDRESS2 8) INT_ADDRESS1 9) MAIN_ADDRESS4 10) MAIN_ADDRESS5
【0122】第6の実施形態が第1の実施形態と異なる
点は、トレースメモリ17への格納データが第1の実施
形態では実行アドレスであるのに対して、第6の実施形
態では、chkp命令で指定した定数引数の値が格納さ
れることになる。The sixth embodiment is different from the first embodiment in that the data stored in the trace memory 17 is an execution address in the first embodiment, whereas the data stored in the trace memory 17 is chkp in the sixth embodiment. The value of the constant argument specified by the instruction will be stored.
【0123】近年一般にプロセッサの実行アドレスは、
32ビット以上の場合も珍しくない状況で、このアドレ
スをトレースメモリ17に格納する場合には、トレース
メモリ17のデータ幅が実行アドレスと同じ幅が好まし
いため、トレースメモリ17に要求される容量が大きく
なる問題がある。しかし、本発明の第6の実施形態のよ
うに、chkpの引数に8ビットの定数の場合には、2
56ポイントまでのアドレスを区別することが可能であ
り、トレースメモリ17が小容量でも、長時間に渡って
プログラムの実行ポイントがトレースメモリ17に格納
されることになる。In recent years, the execution address of a processor is generally
When it is not uncommon for the address to be stored in the trace memory 17 to be 32 bits or more, since the data width of the trace memory 17 is preferably the same as the execution address, the required capacity of the trace memory 17 is large. There is a problem. However, when the chkp argument is an 8-bit constant as in the sixth embodiment of the present invention, 2
Addresses up to 56 points can be distinguished, and even if the trace memory 17 has a small capacity, the execution point of the program is stored in the trace memory 17 for a long time.
【0124】また、キャッシュを搭載したプロセッサの
場合には、実行アドレスがアドレスバスに出力されない
場合があり、第1の実施形態の場合には、アドレスデー
タがトレースメモリ17に書き込めない問題が予想され
るが、この第6の実施形態では、chkp命令の定数引
数をトレースメモリ17に格納するため、この問題は起
こらない。In the case of a processor having a cache, the execution address may not be output to the address bus. In the case of the first embodiment, a problem that address data cannot be written to the trace memory 17 is expected. However, in the sixth embodiment, since the constant argument of the chkp instruction is stored in the trace memory 17, this problem does not occur.
【0125】なお、第6の実施形態6では、chkp命
令の定数引数を8ビットとした場合に関して説明を行っ
たが、その他のビット幅でも、本発明は有効である。In the sixth embodiment, the case where the constant argument of the chkp instruction is 8 bits has been described. However, the present invention is effective for other bit widths.
【0126】第6の実施形態を示す図18においては、
プロセッサ11からのトレース機能の実現のため、トレ
ースデータ出力バス120とトレースライト信号18を
出力しているが、図21の第7の実施形態の様に、トレ
ースデータシリアル出力バスとシリアルライト信号の様
に、トレースメモリ機能のインターフェイスをシリアル
で構成することも可能である。In FIG. 18 showing the sixth embodiment,
The trace data output bus 120 and the trace write signal 18 are output to realize the trace function from the processor 11, but as in the seventh embodiment of FIG. 21, the trace data serial output bus and the serial write signal As described above, the interface of the trace memory function can be configured in serial.
【0127】図21では、プロセッサ11内に例えば、
シフトレジスタ121を搭載し、chkpの定数引数を
パラレル/シリアル変換し、シリアルデータ122とし
て、プロセッサ11の外部に出力すると共に、シリアル
データが出力される度にシリアルライト信号を出力す
る。トレースデータシリアル出力バス122とシリアル
ライト信号123の信号は、プロセッサ11の外部にあ
るトレースメモリ制御器124に入力され、シリアルデ
ータが、パラレルデータに変換され、トレースデータ1
20とトレースメモリライト信号125がトレースメモ
リ17に出力され、定数データをトレースメモリ17に
格納することになる。トレースメモリライト信号125
はトレースアドレス生成器19にも与えられる。In FIG. 21, for example, in the processor 11, for example,
A shift register 121 is mounted, converts the constant argument of chkp from parallel to serial, outputs the serial argument 122 to the outside of the processor 11, and outputs a serial write signal every time the serial data is output. The signals of the trace data serial output bus 122 and the serial write signal 123 are input to a trace memory controller 124 provided outside the processor 11, and the serial data is converted into parallel data.
20 and the trace memory write signal 125 are output to the trace memory 17, and the constant data is stored in the trace memory 17. Trace memory write signal 125
Is also supplied to the trace address generator 19.
【0128】第6の実施形態6と異なり、第7の実施形
態では、プロセッサ11からシリアルデータとして出力
されるため、例えばトレースデータシリアル出力バス1
22とシリアルライト信号123の2本の信号を半導体
装置のIO信号に割り付けて、トレースメモリ制御器、
アドレス生成器、トレースメモリを半導体装置1の外部
に持たせる構成も可能である。Unlike the sixth embodiment, in the seventh embodiment, the data is output as serial data from the processor 11.
22 and the serial write signal 123 are assigned to the IO signal of the semiconductor device, and a trace memory controller,
A configuration in which the address generator and the trace memory are provided outside the semiconductor device 1 is also possible.
【0129】上記のように、トレースメモリを半導体装
置の外部に持たせた場合には、大容量のトレースメモリ
を使用することができるため、半導体装置内部に持たせ
た場合に比べて、例えば1日や1週間等の長期に渡ってプ
ログラムが設計通り正しく走行しているかがわかる。As described above, when the trace memory is provided outside the semiconductor device, a large-capacity trace memory can be used. You can see if the program runs correctly as designed over a long period of time, such as a day or a week.
【0130】従って、本発明は、プログラムのデバッグ
時にも使用できるし、プログラムが使用されている時
に、プログラム走行の異常を検出する機能としての応用
も考えられる。Therefore, the present invention can be used when debugging a program, and can also be applied as a function of detecting an abnormality in the running of a program when the program is being used.
【0131】[0131]
【発明の効果】上記したように、請求項1に記載の発明
では、プロセッサ内に、トレースに有用なデータをトレ
ースメモリに出力するためのトレースメモリへの出力命
令を持っているため、予め設定された位置でトレースメ
モリにデータ書き込むことができる。従って、少ないト
レースメモリ記憶容量で長時間に渡って有効な情報をト
レースメモリに採取することができるという効果があ
る。また、プロセッサ外部にトレースメモリへの書き込
みを制御する回路が不要になるため、高速プロセッサに
も対応するトレース機能を容易に実現できる。As described above, according to the first aspect of the present invention, since the processor has an output instruction to the trace memory for outputting useful data for tracing to the trace memory, it is set in advance. Data can be written to the trace memory at the specified position. Therefore, there is an effect that effective information can be collected in the trace memory for a long time with a small trace memory storage capacity. Further, since a circuit for controlling writing to the trace memory is not required outside the processor, a trace function corresponding to a high-speed processor can be easily realized.
【0132】また、請求項2の発明ではデバッグ対象と
なるプロセッサ内に、実行アドレスをトレースメモリに
出力するためのトレースメモリへの出力命令を持ってい
るため、予め設定された位置でトレースメモリに書き込
みするように構成でき、少ないトレースメモリ記憶容量
で長時間に渡って有効な情報をトレースメモリに採取す
ることができるという効果がある。According to the second aspect of the present invention, since the processor to be debugged has an output instruction to the trace memory for outputting the execution address to the trace memory, the instruction is stored in the trace memory at a preset position. It can be configured to write, and there is an effect that effective information can be collected in the trace memory for a long time with a small trace memory storage capacity.
【0133】請求項3に記載の発明によれば、デバッグ
対象となるプロセッサの他に、トレースメモリ、トレー
スメモリへのアドレス生成機能を合わせて持ち、ソフト
ウェアやシステムデバッグのためのトレース機能をもつ
半導体装置を構成できるため、高速なバスサイクルをも
つ、高速マイクロプロセッサ(MPU)がデバッグの対
象の場合でも、問題なくトレース機能を使用してデバッ
グを行うことができる。また、比較的小容量のトレース
メモリですむため、半導体装置の製造コストを安くでき
る。According to the third aspect of the present invention, in addition to the processor to be debugged, a semiconductor having a trace memory and an address generation function for the trace memory, and having a trace function for software and system debugging. Since the device can be configured, even when a high-speed microprocessor (MPU) having a high-speed bus cycle is to be debugged, debugging can be performed using the trace function without any problem. Further, since a relatively small-capacity trace memory is sufficient, the manufacturing cost of the semiconductor device can be reduced.
【0134】請求項4に記載の発明によれば、デバッグ
対象となるプロセッサ内に、これ以降のバスサイクルで
トレースメモリへの格納を行う、トレース開始命令と、
これ以降のトレースメモリへの格納を行わないトレース
中止命令を備えるので、プログラムの詳細デバッグを行
いたい場合にも、これらの命令を実行させることで、ト
レースメモリへの書き込みを制御することができ、少な
いトレースメモリ記憶容量で詳細な情報をトレースメモ
リに採取することができるという効果がある。According to the fourth aspect of the present invention, a trace start instruction for storing data in a trace memory in a subsequent bus cycle is provided in a processor to be debugged.
Since a trace stop instruction that does not store data in the trace memory after that is provided, even if you want to debug the program in detail, it is possible to control writing to the trace memory by executing these instructions, There is an effect that detailed information can be collected in the trace memory with a small trace memory storage capacity.
【0135】また、従来技術としてプログラムのアドレ
ス範囲でトレース範囲を指定し、プロセッサが出力する
アドレス出力やステータス出力を監視し、アドレス範囲
とマッチすればトレースメモリに格納するかどうかを判
断する技術がある。その従来技術では、アドレス範囲の
コンパレータのハードウェアが必要であることと、プロ
セッサのアドレス出力遅延、アドレス範囲のコンパレー
タ、トレースメモリへのライト信号の生成回路の遅延が
あるため、高速なプロセッサやシステムに対応できない
問題があったが、請求項4に記載の発明ように、命令に
てトレース格納を制御することで、より少ないハードウ
ェアで、低コストでかつ高速なプロセッサのトレース機
能をもつデバッグシステムが提供できるという効果があ
る。As a conventional technique, there is a technique in which a trace range is designated by an address range of a program, an address output and a status output output by a processor are monitored, and if the address output matches the address range, it is determined whether or not the data is stored in a trace memory. is there. In the prior art, the hardware of the address range comparator is required, and the address output delay of the processor, the address range comparator, and the delay of the circuit for generating the write signal to the trace memory are delayed. A debug system having a low-cost, high-speed processor trace function with less hardware by controlling trace storage by instructions as in the invention according to claim 4, There is an effect that can be provided.
【0136】また、請求項5に記載の発明では、デバッ
グ対象となるプロセッサ内に、パスカウンタを備え、カ
ウンタ値をインクリメントする命令と、カウンタ値をト
レースメモリに出力するためのパスカウンタ値出力命令
を持っているので、ループ構造を含むプログラムの場合
にも、少ないトレースメモリ記憶容量で長時間に渡って
有効な情報をトレースメモリに採取することができると
いう効果がある。According to the fifth aspect of the present invention, a path counter is provided in a processor to be debugged, an instruction for incrementing the counter value, and a path counter value output instruction for outputting the counter value to the trace memory. Therefore, even in the case of a program including a loop structure, there is an effect that effective information can be collected in the trace memory for a long time with a small trace memory storage capacity.
【0137】請求項6に記載の発明では、デバッグ対象
となるプロセッサ内に、プロセッサのサイクル数をカウ
ントするカウンタを備えると共に、カウンタ値をトレー
スメモリに出力するためのサイクルカウンタ値出力命令
を持っているので、プログラムの実行時間をトレースメ
モリに書き込むことができ、実行時間計測機能を用い
て、プログラムデバッグを行うことができる。According to the present invention, the processor to be debugged has a counter for counting the number of cycles of the processor and a cycle counter value output instruction for outputting the counter value to the trace memory. Therefore, the execution time of the program can be written in the trace memory, and the program can be debugged using the execution time measurement function.
【0138】請求項7に記載の発明では、デバッグ対象
となるプロセッサ内に、トレースメモリへのデータ出力
バスを持ち、そのバスに、実行アドレス、サイクルを数
えるカウンタ、イベントを数えるパスカウンタを選択的
に出力する手段を備え、プロセッサのトレースメモリへ
の出力命令により、選択的にトレースメモリへデータを
書き込む手段を備えているので、プログラムの流れ、実
行時間情報、ループ構造のプログラムのループ回数等の
多種類のデバッグ情報が1つの小容量のトレースメモリ
に、長時間に渡って長時間に渡って採取することができ
るという効果がある。According to the seventh aspect of the present invention, a processor to be debugged has a data output bus to a trace memory, and an execution address, a counter for counting cycles, and a path counter for counting events are selectively provided on the bus. And a means for selectively writing data to the trace memory in response to an output instruction to the trace memory of the processor, so that the program flow, execution time information, the number of loops of a program having a loop structure, etc. There is an effect that various types of debug information can be collected in one small-capacity trace memory for a long time.
【0139】請求項8に記載の発明では、デバッグ対象
となるプロセッサ内に、トレースメモリへのデータ出力
バスを持ち、そのバスに、実行アドレス、サイクルを数
えるカウンタ、イベントを数えるパスカウンタを選択的
に出力する手段を備え、プロセッサのトレースメモリへ
の出力命令により、選択的にトレースメモリへデータを
書き込む際に、どのデータが出力されているかという情
報も合わせて、トレースメモリに書き込む機能を備えて
いるので、トレース後の結果の解析を容易行うことがで
きる。また、どのようなデータが格納されているかを区
別する必要から、本来必要でない場所で実行アドレスの
トレースメモリへの書き出し命令を挿入する必要がなく
なるという効果がある。According to the present invention, the processor to be debugged has a data output bus to the trace memory, and the bus is selectively provided with an execution address, a counter for counting cycles, and a path counter for counting events. And a function of writing to the trace memory together with information on which data is being output when selectively writing data to the trace memory by an output instruction to the trace memory of the processor. Therefore, it is possible to easily analyze the result after tracing. Further, since it is necessary to distinguish what kind of data is stored, there is an effect that it is not necessary to insert an instruction to write the execution address to the trace memory at a place that is not originally required.
【0140】請求項9に記載の発明では、トレースメモ
リへの書き出しを毎バスサイクル行うと共に、デバッグ
対象となるプロセッサ内に、トレースメモリへの出力命
令を持ち、トレース命令の出力命令を実行した場合に
は、プロセッサからトレースメモリへのアドレス生成器
に対して、ブロックアドレスインクリメント信号を出力
する機能を持備えているので、サブルーチンや割込みの
分岐がプログラムのどの位置から分岐したかが、少ない
トレースメモリ記憶容量で長時間に渡ってトレースメモ
リに採取することができるという効果がある。According to the ninth aspect of the present invention, the writing to the trace memory is performed every bus cycle, the processor to be debugged has an output instruction to the trace memory, and the output instruction of the trace instruction is executed. Has a function of outputting a block address increment signal to the address generator from the processor to the trace memory. There is an effect that the data can be collected in the trace memory for a long time with a storage capacity.
【0141】請求項10に記載の発明では、デバッグ対
象となるプロセッサ内に、トレース出力命令に与えられ
た定数引数をトレースメモリに出力するためのトレース
メモリへの出力命令を備えているので、トレースのビッ
ト幅を定数引数のデータ長に押さえることができ、少な
いトレースメモリ記憶容量で長時間に亘って有効な情報
をトレースメモリに採取することができるという効果が
ある。また、キャッシュメモリを持つプロセッサのよう
に、実行アドレスがアドレスバスに出力されないプロセ
ッサに対しても、問題なくトレース機能が実現できる。According to the tenth aspect of the present invention, the processor to be debugged has an output instruction to the trace memory for outputting the constant argument given to the trace output instruction to the trace memory. Has the effect that the effective information can be collected in the trace memory for a long time with a small trace memory storage capacity. Further, the trace function can be realized without any problem even for a processor whose execution address is not output to the address bus, such as a processor having a cache memory.
【0142】請求項11に記載の発明では、デバッグ対
象となるプロセッサの他に、トレースメモリ、トレース
メモリへのアドレス生成機能を合わせて持ち、ソフトウ
ェアやシステムデバッグのためのトレース機能をもつ開
発支援機能を持った半導体装置を構成でき、高速なバス
サイクルをもつ、高速MPUがデバッグの対象の場合で
も、問題なくトレース機能を使用してデバッグを行うこ
とができる。また、比較的小容量のトレースメモリです
む為、半導体装置の製造コストが安い。According to the eleventh aspect, in addition to a processor to be debugged, a development support function having a trace memory and an address generation function for the trace memory and having a trace function for software and system debugging. And a high-speed bus cycle. Even when a high-speed MPU is to be debugged, debugging can be performed using the trace function without any problem. Further, since a relatively small capacity trace memory is required, the manufacturing cost of the semiconductor device is low.
【0143】請求項12に記載の発明では、デバッグ対
象となるプロセッサからトレースデータを出力される際
に、シリアルデータで出力と、シリアルデータを同期化
するためのシリアルライト信号を持っているため、デバ
ッグ対象となる半導体装置において、トレース機能に要
求されるIOピンの本数を少なくできるとい効果があ
る。According to the twelfth aspect of the present invention, when trace data is output from a processor to be debugged, the output has serial data and a serial write signal for synchronizing the serial data. In the semiconductor device to be debugged, the number of IO pins required for the trace function can be reduced.
【0144】請求項13に記載の発明では、デバッグ対
象となる半導体装置の外部に、トレースメモリを持つた
め、半導体装置内に内蔵する場合と比べて、大容量のト
レースメモリを持つ開発支援装置が設計可能である。そ
の際には、より長時間に渡って、プログラムのトレース
を行うことができるトレース機能をもつ開発支援装置が
提供可能である。According to the thirteenth aspect of the present invention, since the trace memory is provided outside the semiconductor device to be debugged, a development support device having a large-capacity trace memory can be provided as compared with the case where the trace memory is built in the semiconductor device. Can be designed. In this case, a development support device having a trace function capable of tracing a program for a longer time can be provided.
【図1】この発明の第1の実施形態を示すブロック回路
図である。FIG. 1 is a block circuit diagram showing a first embodiment of the present invention.
【図2】この発明の実施形態で説明するデバック対象と
なるプログラムを示す図である。FIG. 2 is a diagram showing a program to be debugged described in the embodiment of the present invention.
【図3】この発明の第1の実施形態におけるデバック対
象となるプログラムを示す図である。FIG. 3 is a diagram showing a program to be debugged in the first embodiment of the present invention.
【図4】図3に示すプログラムでトレースメモリへの書
き込んだ状態を示す図である。FIG. 4 is a diagram showing a state where data is written to a trace memory by the program shown in FIG. 3;
【図5】この発明の第1の実施形態におけるデバック対
象となるプログラムを示す図である。FIG. 5 is a diagram showing a program to be debugged in the first embodiment of the present invention.
【図6】図5に示すプログラムでトレースメモリへの書
き込んだ状態を示す図である。FIG. 6 is a diagram showing a state where data is written to a trace memory by the program shown in FIG. 5;
【図7】この発明の第3の実施形態を示すブロック回路
図である。FIG. 7 is a block circuit diagram showing a third embodiment of the present invention.
【図8】この発明の実施形態で説明するデバック対象と
なるプログラムを示す図である。FIG. 8 is a diagram showing a program to be debugged described in the embodiment of the present invention.
【図9】図8に示すプログラムでトレースメモリへの書
き込んだ状態を示す図である。FIG. 9 is a diagram showing a state in which the program shown in FIG. 8 is written to a trace memory.
【図10】この発明の第4の実施形態におけるデバック
対象となるプログラムを示す図である。FIG. 10 is a diagram showing a program to be debugged according to a fourth embodiment of the present invention.
【図11】図10に示すプログラムでトレースメモリへ
の書き込んだ状態を示す図である。11 is a diagram showing a state in which the program shown in FIG. 10 is written into a trace memory.
【図12】この発明の第4の実施形態を示すブロック回
路図である。FIG. 12 is a block circuit diagram showing a fourth embodiment of the present invention.
【図13】この発明の第5の実施形態におけるデバック
対象となるプログラムを示す図である。FIG. 13 is a diagram showing a program to be debugged according to a fifth embodiment of the present invention.
【図14】図13に示すプログラムでトレースメモリへ
の書き込んだ状態を示す図である。FIG. 14 is a diagram showing a state in which the program shown in FIG. 13 is written into a trace memory.
【図15】この発明の第5の実施形態を示すブロック回
路図である。FIG. 15 is a block circuit diagram showing a fifth embodiment of the present invention.
【図16】この発明の第5の実施形態におけるデバック
対象となるプログラムを示す図である。FIG. 16 is a diagram showing a program to be debugged according to a fifth embodiment of the present invention.
【図17】図16に示すプログラムでトレースメモリへ
の書き込んだ状態を示す図である。17 is a diagram showing a state where data is written to a trace memory by the program shown in FIG. 16;
【図18】この発明の第6の実施形態を示すブロック回
路図である。FIG. 18 is a block circuit diagram showing a sixth embodiment of the present invention.
【図19】この発明の第6の実施形態におけるデバック
対象となるプログラムを示す図である。FIG. 19 is a diagram showing a program to be debugged according to a sixth embodiment of the present invention.
【図20】図19に示すプログラムでトレースメモリへ
の書き込んだ状態を示す図である。20 is a diagram showing a state in which the program shown in FIG. 19 has been written to the trace memory.
【図21】この発明の第7の実施形態を示すブロック回
路図である。FIG. 21 is a block circuit diagram showing a seventh embodiment of the present invention.
1 半導体装置 11 プロセッサ 16 メインメモリ 17 トレースメモリ 19 トレースアドレス生成器 Reference Signs List 1 semiconductor device 11 processor 16 main memory 17 trace memory 19 trace address generator
───────────────────────────────────────────────────── フロントページの続き (72)発明者 原 和彦 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 中村 圭治 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 片山 貴雄 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 岩永 和彦 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 高藤 浩資 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 Fターム(参考) 5B033 AA06 BE00 BF00 DB00 FA24 5B042 GA13 GA33 GC02 GC08 HH05 HH30 LA01 MA08 MA20 MC03 MC24 MC25 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Kazuhiko Hara 1-3-6 Nakamagome, Ota-ku, Tokyo Inside Ricoh Company (72) Inventor Keiji Nakamura 1-3-6 Nakamagome, Ota-ku, Tokyo Share In Ricoh Company (72) Inventor Takao Katayama 1-3-6 Nakamagome, Ota-ku, Tokyo Stock Company Ricoh Company (72) Inventor Kazuhiko Iwanaga 1-3-6 Nakamagome, Ota-ku, Tokyo Stock Company Ricoh ( 72) Inventor Hiroshi Takato 1-3-6 Nakamagome, Ota-ku, Tokyo F-term in Ricoh Co., Ltd. 5B033 AA06 BE00 BF00 DB00 FA24 5B042 GA13 GA33 GC02 GC08 HH05 HH30 LA01 MA08 MA20 MC03 MC24 MC25
Claims (13)
置において、通常処理命令と、この通常処理命令とは異
なるトレースに有用なデータを前記トレースメモリへ出
力するためのデバック用出力命令とを、プロセッサ内部
に実装したことを特徴とする半導体装置。In a semiconductor device having a debug processor, a normal processing instruction and a debug output instruction for outputting data useful for tracing different from the normal processing instruction to the trace memory are stored in the processor. A semiconductor device characterized by being mounted on a semiconductor device.
をトレースメモリに出力するための命令であることを特
徴とする請求項1に記載の半導体装置。2. The semiconductor device according to claim 1, wherein said debug output instruction is an instruction for outputting an execution address to a trace memory.
トレースライト信号に応じて動作するトレースアドレス
生成手段と、を備え、ソフトウェアやシステムデバック
のためのトレース機能を有することを特徴とする請求項
1又は2に記載の半導体装置。3. A semiconductor device comprising: a trace memory;
3. The semiconductor device according to claim 1, further comprising: a trace address generating unit that operates in response to a trace write signal, and having a trace function for software or system debugging.
降のバスサイクルでトレースメモリの格納を行うトレー
ス開始命令と、これ以降のトレースメモリへの格納は行
わないトレース中止命令を備えたことを特徴とする請求
項1乃至3のいずれかに記載の半導体装置。4. A debug start instruction for storing a trace memory in a subsequent bus cycle and a trace stop instruction for not storing data in a trace memory thereafter as the debug output instruction. The semiconductor device according to claim 1.
え、カウンタ値をインクリメントする命令と、カウンタ
値をトレースメモリに出力するためのパスカウンタ値出
力命令を有することを特徴とする請求項1乃至4のいず
れかに記載の半導体装置。5. The processor according to claim 1, further comprising a pass counter provided in said processor, a command for incrementing the counter value, and a pass counter value output command for outputting the counter value to a trace memory. The semiconductor device according to any one of the above.
クル数をカウントするカウンタを備えると共に、カウン
タ値をトレースメモリに出力するためのサイクルカウン
タ値出力命令を有することを特徴とする請求項1乃至5
のいずれかに記載の半導体装置。6. The processor according to claim 1, further comprising a counter for counting the number of cycles of the processor, and a cycle counter value output instruction for outputting a counter value to a trace memory.
The semiconductor device according to any one of the above.
のデータ出力バスを持ち、そのバスに、実行アドレス、
サイクルを数えるカウンタ、イベントを数えるパスカウ
ンタを選択的に出力する手段を備え、プロセッサのトレ
ースメモリへの出力命令により、選択的にトレースメモ
リへデータを書き込むことを特徴とする請求項5又は6
に記載の半導体装置。7. A data output bus to a trace memory in the processor, the bus having an execution address,
7. A system according to claim 5, further comprising means for selectively outputting a counter for counting cycles and a pass counter for counting events, wherein data is selectively written to the trace memory by an output instruction to the trace memory of the processor.
3. The semiconductor device according to claim 1.
のデータ出力バスを持ち、そのバスに、実行アドレス、
サイクルを数えるカウンタ、イベントを数えるパスカウ
ンタを選択的に出力する手段を備え、プロセッサのトレ
ースメモリへの出力命令により、選択的にトレースメモ
リへデータを書き込む際に、どのデータが出力されてい
るかという情報も合わせてトレースメモリに書き込むこ
とを特徴とする請求項7に記載の半導体装置。8. The processor has a data output bus to a trace memory, and has an execution address,
A means for selectively outputting a cycle counter and a path counter for counting events is provided. When a data is selectively written to the trace memory by an output instruction to the trace memory of the processor, which data is output. 8. The semiconductor device according to claim 7, wherein information is also written into the trace memory.
イクル行うと共に、前記プロセッサ内に、トレースメモ
リへの出力命令を持ち、トレース命令の出力命令を実行
した場合には、前記プロセッサからトレースメモリへの
アドレス生成器に対して、ブロックアドレスインクリメ
ント信号を出力することを特徴とする請求項1乃至8の
いずれかに記載の半導体装置。9. A writing operation to a trace memory is performed every bus cycle, and an output instruction to a trace memory is provided in the processor. When an output instruction of a trace instruction is executed, the processor transfers the instruction to the trace memory. 9. The semiconductor device according to claim 1, wherein a block address increment signal is output to an address generator.
は異なるトレースに有用なデータを前記トレースメモリ
出力するためのデバック用出力命令とをデバッグ対象と
なるプロセッサ内に備え、前記デバック用出力命令は、
トレース出力命令に与えられた定数引数をトレースメモ
リに出力するため命であることを特徴とする半導体装
置。10. A debug target processor comprising a normal processing instruction and a debug output instruction for outputting data useful for tracing different from the normal processing instruction to the trace memory, wherein the debug output instruction is provided. Is
A semiconductor device which outputs a constant argument given to a trace output instruction to a trace memory.
と、トレースライト信号に応じて動作するトレースアド
レス生成手段と、を備え、ソフトウェアやシステムデバ
ックのためのトレース機能を有することを特徴とする請
求項10に記載の半導体装置。11. The semiconductor device according to claim 10, further comprising: a trace memory; and a trace address generating unit that operates in response to a trace write signal, and has a trace function for software and system debugging. 3. The semiconductor device according to claim 1.
レースデータを出力する際に、シリアルデータ出力と、
シリアルデータを同期化するためのシリアルライト信号
を生成する手段を有することを特徴とする請求項10又
は12に記載の半導体装置。12. When outputting trace data from a processor to be debugged, a serial data output,
13. The semiconductor device according to claim 10, further comprising means for generating a serial write signal for synchronizing serial data.
レースデータを出力する際に、シリアルデータ出力と、
シリアルデータを同期化するためのシリアルライト信号
を生成する手段備え、前記デバッグ対象となる半導体装
置の外部に、トレースメモリ、トレースメモリへのアド
レス生成機能、トレースメモリ制御手段を有し、ソフト
ウェアやシステムデバッグのためのトレース機能をもつ
プロセッサ開発支援装置。13. When outputting trace data from a processor to be debugged, a serial data output:
A means for generating a serial write signal for synchronizing serial data, a trace memory, a function for generating an address to the trace memory, and a trace memory control means outside the semiconductor device to be debugged; Processor development support device with a trace function for debugging.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000298449A JP2002108647A (en) | 2000-09-29 | 2000-09-29 | Semiconductor device with built-in trace memory and processor development support device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000298449A JP2002108647A (en) | 2000-09-29 | 2000-09-29 | Semiconductor device with built-in trace memory and processor development support device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002108647A true JP2002108647A (en) | 2002-04-12 |
Family
ID=18780410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000298449A Pending JP2002108647A (en) | 2000-09-29 | 2000-09-29 | Semiconductor device with built-in trace memory and processor development support device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002108647A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007305126A (en) * | 2006-05-12 | 2007-11-22 | Samsung Electronics Co Ltd | Circuit emulation with state recovery |
JP2008071227A (en) * | 2006-09-15 | 2008-03-27 | Nec Electronics Corp | Semiconductor integrated circuit |
JP2009157874A (en) * | 2007-12-28 | 2009-07-16 | Nec Electronics Corp | Information processor, and debugging method of software |
JP4931804B2 (en) * | 2005-04-11 | 2012-05-16 | パナソニック株式会社 | System performance profiling equipment |
WO2017022016A1 (en) * | 2015-07-31 | 2017-02-09 | 株式会社東芝 | Program information generating system, method, and program |
-
2000
- 2000-09-29 JP JP2000298449A patent/JP2002108647A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4931804B2 (en) * | 2005-04-11 | 2012-05-16 | パナソニック株式会社 | System performance profiling equipment |
JP2007305126A (en) * | 2006-05-12 | 2007-11-22 | Samsung Electronics Co Ltd | Circuit emulation with state recovery |
JP2008071227A (en) * | 2006-09-15 | 2008-03-27 | Nec Electronics Corp | Semiconductor integrated circuit |
JP2009157874A (en) * | 2007-12-28 | 2009-07-16 | Nec Electronics Corp | Information processor, and debugging method of software |
WO2017022016A1 (en) * | 2015-07-31 | 2017-02-09 | 株式会社東芝 | Program information generating system, method, and program |
JPWO2017022016A1 (en) * | 2015-07-31 | 2017-09-21 | 株式会社東芝 | Program information generation system, method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7840842B2 (en) | Method for debugging reconfigurable architectures | |
KR100350568B1 (en) | Data processing system and method for performing debug functions | |
US6145122A (en) | Development interface for a data processor | |
US5652875A (en) | Implementation of a selected instruction set CPU in programmable hardware | |
US5960198A (en) | Software profiler with runtime control to enable and disable instrumented executable | |
US6223228B1 (en) | Apparatus for synchronizing multiple processors in a data processing system | |
US5345580A (en) | Microprocessor device and emulator device thereof | |
US4879646A (en) | Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging | |
JP5904993B2 (en) | Method, system, and computer program for debugging multithreaded code | |
JP4094724B2 (en) | Apparatus and method for identifying exceptions when debugging software | |
US20020147965A1 (en) | Tracing out-of-order data | |
JP6122749B2 (en) | Computer system | |
US7376820B2 (en) | Information processing unit, and exception processing method for specific application-purpose operation instruction | |
EP0869434A2 (en) | Method for outputting trace information of a microprocessor | |
JP2535252B2 (en) | Parallel processor | |
US5185745A (en) | Scan path diagnostic method | |
JP2002108647A (en) | Semiconductor device with built-in trace memory and processor development support device | |
JP3260083B2 (en) | Debug system and debugging method | |
US8468393B2 (en) | Triggering diagnostic operations within a data processing apparatus | |
US6230263B1 (en) | Data processing system processor delay instruction | |
US6052700A (en) | Calendar clock caching in a multiprocessor data processing system | |
KR950001057B1 (en) | MICRO PROCESSOR | |
JPH0744401A (en) | Logic integrated circuit and data processing system thereof | |
KR100658485B1 (en) | Microprocessor Development System | |
KR100257772B1 (en) | An apparatus for generating breakpoint in superscalar microprocessor |