JPH01180647A - Debugging device - Google Patents
Debugging deviceInfo
- Publication number
- JPH01180647A JPH01180647A JP63005432A JP543288A JPH01180647A JP H01180647 A JPH01180647 A JP H01180647A JP 63005432 A JP63005432 A JP 63005432A JP 543288 A JP543288 A JP 543288A JP H01180647 A JPH01180647 A JP H01180647A
- Authority
- JP
- Japan
- Prior art keywords
- program
- module
- memory
- microcomputer
- time
- 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
- 230000006870 function Effects 0.000 claims abstract description 24
- 230000008859 change Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims 1
- XXMFDABRSPXOBZ-WOPPDYDQSA-N 5-chloro-1-[(2r,3s,4s,5r)-4-hydroxy-5-(hydroxymethyl)-3-methyloxolan-2-yl]pyrimidine-2,4-dione Chemical compound C[C@H]1[C@H](O)[C@@H](CO)O[C@H]1N1C(=O)NC(=O)C(Cl)=C1 XXMFDABRSPXOBZ-WOPPDYDQSA-N 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 7
- 102100038235 Large neutral amino acids transporter small subunit 2 Human genes 0.000 description 5
- 108091006238 SLC7A8 Proteins 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 4
- 230000033772 system development Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 102100038204 Large neutral amino acids transporter small subunit 1 Human genes 0.000 description 2
- 108091006232 SLC7A5 Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 102100040841 C-type lectin domain family 5 member A Human genes 0.000 description 1
- 101150008824 CLEC5A gene Proteins 0.000 description 1
- 101150056111 MDL1 gene Proteins 0.000 description 1
- 101150095628 MDL2 gene Proteins 0.000 description 1
- 101100386697 Magnaporthe oryzae (strain 70-15 / ATCC MYA-4617 / FGSC 8958) DCL1 gene Proteins 0.000 description 1
- 101100062770 Magnaporthe oryzae (strain 70-15 / ATCC MYA-4617 / FGSC 8958) DCL2 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、システムデバッグ技術さらにはデバッグ対象
とされるプログラムの効率を評価する技術に関し、例え
ばインサーキット・エミュレータに適用して有効な技術
に関するものである。Detailed Description of the Invention [Field of Industrial Application] The present invention relates to a system debugging technique and a technique for evaluating the efficiency of a program to be debugged, and relates to a technique that is effective when applied to, for example, an in-circuit emulator. It is something.
[従来の技術]
マイクロコンピュータ応用機器の開発において、その応
用システムのデバッグやそのシステムの詳細な評価を行
なうため、インサーキット・エミュレータが使用されて
いる。斯るインサーキット・エミュレータ2は、第3図
に示すごとく、ソフトウェア開発用の親計算機(ホスト
コンピュータ)などのシステム開発装置1と、開発中の
応用機器3との間に接続され、その応用機器に含まれる
マイクロコンピュータ(ターゲット・マイクロコンピユ
ータ)の機能を代行する一方でデバッガ−としての機能
を持ち、詳細なシステムデバッグを支援するマイクロコ
ンピュータシステム開発ツールである。[Prior Art] In the development of microcomputer application equipment, in-circuit emulators are used to debug the application system and perform detailed evaluation of the system. As shown in FIG. 3, such an in-circuit emulator 2 is connected between a system development device 1 such as a parent computer (host computer) for software development and an application device 3 under development, and is connected to the application device 3. It is a microcomputer system development tool that performs the functions of the microcomputer (target microcomputer) included in the system and also functions as a debugger, supporting detailed system debugging.
従来のインサーキット・エミュレータは、第4図に示す
ように、ターゲットマイクロコンピュータの機能を代行
するエミユレーション用のスレーブマイクロコンピュー
タ11と、エミュレーションや各種デバッグ機能を実現
するためのエミュレーション制御部12、プログラムの
実行やトレースの停止条件を設定し、条件が成立したと
きにプログラムもしくはトレースを停止させるブレーク
ポイント制御部13、トレースメモリ部14、応用機器
(ユーザシステム)のメモリが用意されていない場合に
貸し出される代行メモリ部15、親計算機とマイクロコ
ンピュータ間でデータ通信を行なうためのシリアルイン
タフェース16及びそれらの制御を司るためのマスタマ
イクロコンピュータ17などが内蔵されてなる。(昭和
59年11月30日オーム社発行のrLSIハンドブッ
ク」p562乃至p563参照)。As shown in FIG. 4, a conventional in-circuit emulator includes a slave microcomputer 11 for emulation that performs functions of a target microcomputer, an emulation control unit 12 for realizing emulation and various debugging functions, When the breakpoint control unit 13, the trace memory unit 14, and the memory of the application equipment (user system) are not prepared, the conditions for stopping program execution or tracing are set and the program or tracing is stopped when the conditions are met. Built-in are a substitute memory unit 15 to be lent, a serial interface 16 for data communication between the parent computer and the microcomputer, and a master microcomputer 17 for controlling these. (Refer to "rLSI Handbook" published by Ohm Publishing, November 30, 1980, p.562 to p.563).
斯るインサーキット・エミュレータは、その本体から延
長されたケーブル4の先端が、応用機器に設けられたタ
ーゲットマイクロコンピュータ用ソケット5に結合され
ることにより、上記スレーブマイクロコンピュータ11
がターゲットマイクロコンピュータの機能を代行するよ
うなエミュレーション機能を備える。更に、エミュレー
ション実行中に各種データやステータス信号などをサン
プリングし、それをトレース用メモリ15などに格納す
るトレース機能や、スレーブマイクロコンピュータ11
による応用機器の制御動作を停止させるブレーク機能な
どの各種デバッグ機能が備えられている。Such an in-circuit emulator connects the tip of a cable 4 extending from its main body to a target microcomputer socket 5 provided in an application device, thereby allowing the slave microcomputer 11 to be connected to the slave microcomputer 11.
It has an emulation function that performs the functions of the target microcomputer. Additionally, there is a trace function that samples various data and status signals during emulation execution and stores them in a trace memory 15, etc.
Various debugging functions are provided, including a break function that stops the control operation of applied equipment.
また、応用機器側のプログラムを構成している各モジュ
ールのスレーブマイクロコンピュータ占有時間を測定す
るパフォーマンスアナライズ機能があり、プログラムの
スループット向上に利用されている。しかしながら、従
来そのようなスレーブマイクロコンピュータ占有時間の
H1ll定は、トレース用メモリに採集されたプログラ
ム実行内容を解析することにより行なっており、その解
析中はサンプリングを中断し、解析終了後にサンプリン
グを再開するという動作を繰り返すことで実現していた
。It also has a performance analysis function that measures the time occupied by the slave microcomputer of each module that makes up the program on the application equipment side, and is used to improve program throughput. However, conventionally, H1ll determination of the slave microcomputer occupation time has been carried out by analyzing the program execution contents collected in the trace memory, and sampling is interrupted during the analysis, and sampling is resumed after the analysis is completed. This was achieved by repeating this action.
[発明が解決しようとする問題点]
上記従来技術は、応用機器側のプログラムを構成してい
る各モジュールのスレーブマイクロコンピュータ占有時
間を測定する際、プログラム実行のすべての時間につい
てアドレス信号やデータ信号等のサンプリングがされて
おらず、トレース用メモリの容量等に応じて例えばIK
ステップ単位で行なわれる。しかも、サンプリング中断
中もプログラムの実行は継続している。そのため、着目
するモジュールに関してタイミングの良いサンプリング
が困難となり、不規則に実行されるモジュールや非常に
大規模で実行時間が長大なモジュールに関しては、誤差
が大きくなり、プログラムのスループット向上が適確に
行なえないおそれのあることが明らかになった。[Problems to be Solved by the Invention] In the above-mentioned conventional technology, when measuring the slave microcomputer occupation time of each module constituting a program on the application equipment side, address signals and data signals are not used for the entire program execution time. For example, IK is not sampled, and depending on the trace memory capacity etc.
It is done in steps. Moreover, the program continues to be executed even during sampling interruption. Therefore, it is difficult to sample the module of interest at a good time, and for modules that are executed irregularly or modules that are extremely large and take a long time to execute, the error becomes large, making it difficult to improve the program throughput appropriately. It has become clear that there is a possibility that this is not the case.
本発明の目的は、インサーキット・エミュレータによる
プログラムのパフォーマンスアナライズ機能を向上させ
、もってプログラムのスループットの向上を促進できる
ようなデバッグ技術を提供することにある。SUMMARY OF THE INVENTION An object of the present invention is to provide a debugging technique that can improve the program performance analysis function of an in-circuit emulator, thereby promoting an improvement in program throughput.
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては1本明細書の記述および添附図面から明らかに
なるであろう。The above and other objects and novel features of the present invention will become clear from the description of this specification and the accompanying drawings.
[問題点を解決するための手段]
本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。[Means for Solving the Problems] Representative inventions disclosed in this application will be summarized as follows.
すなわち、デバッグ対象となるユーザプログラムを格納
する代行メモリ以外にユーザプログラムの入ったメモリ
をアクセスするアドレス信号によって同時にアクセスさ
れるモジュール番号格納メモリを設け、ユーザプログラ
ムの実行中そのモジュール番号が上記メモリから出力さ
れるようにし。In other words, in addition to the proxy memory that stores the user program to be debugged, there is also a module number storage memory that is simultaneously accessed by an address signal that accesses the memory that contains the user program, and during execution of the user program, the module number is transferred from the memory. Make it output.
そのモジュール番号を監視する監視手段を設け、モジュ
ール番号が変化した場合、モジュール番号とその時刻を
FIFOメモリ等に書込み、その内容をユーザプログラ
ムの実行中においてもホストコンピュータにより自由に
リードできるようにするものである。A monitoring means is provided to monitor the module number, and when the module number changes, the module number and its time are written to a FIFO memory, etc., so that the contents can be freely read by the host computer even while the user program is running. It is something.
[作用]
上記手段によれば、ユーザプログラムを構成する各モジ
ュールの開始時刻とそのモジュールの番号が、エミュレ
ーション実行中に間断なくメモリに記録され、その記録
内容をエミュレーション実行中に何ら制限なくマスタマ
イクロコンピュータがリードできるので、ユーザプログ
ラムを構成する各モジュールの実行時間即ち各モジュー
ルのCPU占有時間を容易に計算できるとともに、モジ
ュールの番号を読み出すことで、各モジュールの継がり
を容易に知ることができ、インサーキット・エミュレー
タによるプログラムのパフォーマンスアナライズ機能を
向上させ、もってプログラムのスループットの向上を図
るという上記目的を達成することができる。[Operation] According to the above means, the start time of each module constituting the user program and the number of that module are continuously recorded in the memory during execution of emulation, and the recorded contents are stored in the master microprocessor without any restriction during execution of emulation. Since it can be read by a computer, it is easy to calculate the execution time of each module that makes up the user program, that is, the CPU occupation time of each module, and by reading the module number, you can easily know the continuity of each module. , it is possible to achieve the above object of improving the program performance analysis function of the in-circuit emulator, thereby improving the program throughput.
[実施例]
以下、本発明の一実施例を図面を用いて説明する。第1
図には、本発明をインサーキット・エミュレータに適用
した場合に実施例が示されており、それらの回路は、特
に制限されないが、公知の半導体集積回路製造技術によ
って形成されている。[Example] Hereinafter, an example of the present invention will be described using the drawings. 1st
The figure shows an embodiment in which the present invention is applied to an in-circuit emulator, and these circuits are formed by known semiconductor integrated circuit manufacturing techniques, although not particularly limited thereto.
第1図に示されるエミュレータには、ユーザによって開
発されたマイクロコンピュータ応用機器に含まれている
ターゲットマイクロコンピュータの機能を代行してその
応用機器の動作制御即ちエミュレーションを行なうため
のスレーブマイクロコンピュータSMCUと、各種デバ
ッグ機能を達成するための制御を司るマスクマイクロコ
ンピュータMMCUが含まれる。上記スレーブマイクロ
コンピュータSMCUは、代行制御という性質上、少な
くとも図示しないユーザシステム内のターゲットマイク
ロコンピュータと同等の機能を有し、スレーブデータバ
スSDB、スレーブアドレスバスSAB、及びスレーブ
制御バス(図示省略)を内蔵して成るケーブルによって
マイクロコンピュータ応用機器のターゲットマイクロコ
ンピュータ搭載エリア(ソケット)に接続されている。The emulator shown in FIG. 1 includes a slave microcomputer SMCU that performs the functions of a target microcomputer included in a microcomputer application device developed by a user and controls the operation of the application device, that is, performs emulation. , a mask microcomputer MMCU that controls controls for achieving various debugging functions. Due to the nature of proxy control, the slave microcomputer SMCU has at least the same function as a target microcomputer in a user system (not shown), and has a slave data bus SDB, a slave address bus SAB, and a slave control bus (not shown). It is connected to the target microcomputer mounting area (socket) of microcomputer application equipment by a built-in cable.
マイクロコンピュータ応用機器にはそのシステム構成に
応じて種々のデバイスが搭載され、それらは、ユーザプ
ログラムに基づいて動作されるスレーブマイクロコンピ
ュータSMCUの代行制御を受けるようになっている。The microcomputer application equipment is equipped with various devices depending on its system configuration, and these devices are controlled by a slave microcomputer SMCU operated based on a user program.
エミュレータに接続されてシステムデバッグや評価の対
象となるマイクロコンピュータ応用機器は、未だシステ
ム開発途中にあるから、その開発途上のマイクロコンピ
ュータ応用機器には、その動作に必要な充分な数のユー
ザメモリが搭載されていない場合がある。そのためエミ
ュレータには。The microcomputer-applied equipment that is connected to the emulator and is subject to system debugging and evaluation is still in the process of system development, so the microcomputer-applied equipment that is still under development has a sufficient amount of user memory necessary for its operation. It may not be installed. So for emulators.
ユーザメモリの不足分を補うためのユーザ代行メモリS
Mが用意され、上記スレーブマイクロコンピュータSM
CU、マスクマイクロコンピュータMMCUのいずれの
側からもアクセスできるように、アドレスマルチプレク
サA−MPXおよびデータマルチプレクサD−MPXを
介してマスク側とスレーブ側のアドレスバスMABとS
ABおよびデータバスMDBとSDBに接続されている
。User proxy memory S to compensate for insufficient user memory
M is prepared, and the slave microcomputer SM
Address buses MAB and S on the mask side and slave side are connected via address multiplexers A-MPX and data multiplexers D-MPX so that they can be accessed from either side of the CU or mask microcomputer MMCU.
AB and data buses MDB and SDB.
このユーザ代行メモリSMはRAM (ランダム・アク
セス・メモリ)のような書換え可能な半導体記憶装置に
よって構成されている。This user surrogate memory SM is constituted by a rewritable semiconductor storage device such as a RAM (Random Access Memory).
本実施例のエミュレータは1図示しないが第3図に示す
従来システムと同様にターゲットマイクロコンピュータ
の機能を代行するエミュレーション機能を実現するため
のエミュレーション制御部や、エミュレーション実行中
に各種データやステータス信号などをサンプリングし、
それを記憶するトレースメモリ部およびスレーブマイク
ロコンピュータSMCUによる応用機器の制御動作を停
止させるブレークポイント制御部など通常のエミュレー
タが持つ各種エミュレーション機能も実現するための回
路を備えている。Although not shown in the figure, the emulator of this embodiment has an emulation control unit for realizing an emulation function that substitutes the functions of the target microcomputer, and various data and status signals during emulation execution, similar to the conventional system shown in Figure 3. sample,
It is equipped with circuits for realizing various emulation functions of a normal emulator, such as a trace memory section for storing the data and a breakpoint control section for stopping the control operation of the application equipment by the slave microcomputer SMCU.
さらに、この実施例では上記スレーブマイクロコンピュ
ータSMCUによるエミュレーション実行中に、ユーザ
プログラムの各モジュールの実行時間測定を間断なく行
ない、各モジュールの継がりの関係、各モジュールのマ
イクロコンピュータ占有時間などのモジュール状態評価
ができるように構成されている。すなわち、本実施例で
は、斯るモジュール状態評価機能を達成するために、ス
レーブマイクロコンピュータSMCUのアドレス空間に
それと同じアドレスを入力可能なモジュール番号メモリ
MNMが設けられ、マスタマイクロコンピュータMMC
Uからもライト動作が行なえるようにマスク側のデータ
バスMDBに接続されている。Furthermore, in this embodiment, during the emulation execution by the slave microcomputer SMCU, the execution time of each module of the user program is continuously measured, and the module status such as the connection relationship of each module and the time occupied by the microcomputer of each module is measured. It is structured so that it can be evaluated. That is, in this embodiment, in order to achieve such a module status evaluation function, a module number memory MNM is provided in which the same address can be input into the address space of the slave microcomputer SMCU, and
It is connected to the data bus MDB on the mask side so that write operations can also be performed from U.
上記モジュール番号メモリMNMのアドレス空間はユー
ザプログラムの入っているメモリのアドレス空間をすべ
てカバーできるだけの大きさが必要であるが、メモリの
容量としてはデータのビット数が少ない分だけ小さくで
きる。例えば区別したいモジュール数が8種類であれば
、モジュール番号メモリMNMのデータビット数は3ビ
ツトでよい。The address space of the module number memory MNM needs to be large enough to cover the entire address space of the memory containing the user program, but the memory capacity can be made smaller as the number of bits of data is smaller. For example, if the number of modules to be distinguished is eight, the number of data bits in the module number memory MNM may be three bits.
さらに、この実施例のエミュレータにはエミュレーショ
ン実行中にモジュール番号メモリMNMから出力される
モジュール番号の変化を検出するモジュール番号変化検
出回路MCCが設られている。モジュール番号変化検出
回路MCCはモジュール番号メモリMNMから出力され
るデータを、スレーブマイクロコンピュータSMCUか
ら出力される命令フェッチタイミング信号LiRにてラ
ッチする第1のラッチ回路LATIと、これにラッチさ
れたデータを信号LiRの立上がりでラッチする第2の
ラッチ回路LAT2と、これらにラッチされたデータを
比較してモジュール番号が変化したときにモジュール番
号変化検出信号を出力するコンパレータCOMPとによ
り構成されている。Further, the emulator of this embodiment is provided with a module number change detection circuit MCC that detects a change in the module number output from the module number memory MNM during execution of emulation. The module number change detection circuit MCC includes a first latch circuit LATI that latches the data output from the module number memory MNM using an instruction fetch timing signal LiR output from the slave microcomputer SMCU, and a first latch circuit LATI that latches the data output from the module number memory MNM using the instruction fetch timing signal LiR output from the slave microcomputer SMCU. It is composed of a second latch circuit LAT2 that latches at the rising edge of the signal LiR, and a comparator COMP that compares the data latched thereto and outputs a module number change detection signal when the module number changes.
さらに、このモジュール番号変化検出回路MCCから出
力されるタイミング信号で、モジュール番号とその変化
時点の時刻を記録し、かつマスタマイクロコンピュータ
MMCUから随時リード可能なFIFOメモリFMが設
けられている。上記時刻は、エミュレーション開始と同
時にカラン1−を始めるカウンタC0UNTとその原発
振を与える発振器O8Cとから成る時計回路TCにより
作成されるようになっている。Furthermore, a FIFO memory FM is provided which records the module number and the time at which the module number changes using a timing signal output from the module number change detection circuit MCC, and which can be read at any time from the master microcomputer MMCU. The above-mentioned time is created by a clock circuit TC consisting of a counter C0UNT which starts a run 1- at the same time as emulation starts, and an oscillator O8C which provides its original oscillation.
上記モジュール番号メモリMNMは、特に制限されない
が、スレーブマイクロコンピュータSMCUのアドレス
空間を網羅できる本数のアドレス入力を持つように構成
されたSRAM(スタティック・ランダム・アクセス・
メモリ)を主体とし、エミュレーション実行中は、スレ
ーブマイクロコンピュータSMCUから出力されるアド
レス信号が入力され、エミュレーション実行中以外では
、マスタマイクロコンピュータMMCUによりライト動
作が行なえるようにされており、予め各モジュール毎に
番号を変えて書き込んでおく。The module number memory MNM is, although not particularly limited, an SRAM (static random access
During emulation, the address signal output from the slave microcomputer SMCU is input, and when the emulation is not running, the master microcomputer MMCU can perform write operations. Write down a different number each time.
すなわち、第2図(A)に示すように、ユーザプログラ
ムPGMを構成するモジュールMDL1゜MDL2.
・−MDLn毎に順番に番号r1」。That is, as shown in FIG. 2(A), the modules MDL1, MDL2, .
-Number r1 in order for each MDLn.
[2J、・・・・rn」を与えた場合、モジュール番号
メモリMNM内の同一アドレス位置にぞれぞれ’IJ+
’2J+・・・・「n」なる番号をコードで入れておく
。このようにしておくと、エミュレーション実行中、あ
る命令が実行されるとき、その実行中の命令の属するモ
ジュールの番号がメモリMNMから出力される。そして
その番号がラッチ回路LATIにラッチされ、次の命令
が実行されるときにそのモジュール番号が次段のラッチ
回路LAT2に保持される。[2J,...rn], 'IJ+' is given at the same address position in the module number memory MNM
'2J+...Enter the number "n" as a code. In this way, when a certain instruction is executed during emulation, the number of the module to which the instruction currently being executed belongs is output from the memory MNM. The number is then latched in the latch circuit LATI, and when the next instruction is executed, the module number is held in the next stage latch circuit LAT2.
そのため、プログラムの実行が他のモジュールに移った
時点でラッチ回路LAT1とLAT2で保持する値が変
わり、それがコンパレータCOMPによって検出されて
モジュール番号の変化検出信号が出力される。その出力
信号により、FIFOメモリFMには、各モジュール毎
に与えられた番号とそのモジュール開始時刻が記録され
る。そして、FIFOメモリに記録されたデータはマス
タマイクロコンピュータMMCUから随時、リードする
ことができる。その結果、マスタマイクロコンピュータ
MMCUによって、モジュール開始時刻の差を計算する
ことにより、モジュールの実行時間を算出できる。Therefore, when execution of the program is transferred to another module, the values held in the latch circuits LAT1 and LAT2 change, which is detected by the comparator COMP, and a module number change detection signal is output. Based on the output signal, the number assigned to each module and the module start time are recorded in the FIFO memory FM. The data recorded in the FIFO memory can be read from the master microcomputer MMCU at any time. As a result, the master microcomputer MMCU can calculate the module execution time by calculating the difference in module start times.
なお、上記実施例においては、例えばスレーブマイクロ
コンピュータから出力されるオペランドたるアドレスに
よってモジュール番号メモリMNMがアクセスされる場
合を考慮して、モジュール番号変化検出回路MCCを2
つのラッチ回路LAT1とLAT2およびコンパレータ
COMPとによって構成しているが、モジュール番号メ
モリがオペランドたるアドレスによってアクセスされな
いように構成しておけば、モジュール番号変化検出回路
は一つのラッチ回路とコンパレータとで構成することが
できる。In the above embodiment, considering the case where the module number memory MNM is accessed by an address as an operand output from a slave microcomputer, for example, the module number change detection circuit MCC is set to 2.
The module number change detection circuit consists of two latch circuits LAT1 and LAT2 and a comparator COMP, but if the module number memory is configured so that it is not accessed by an address as an operand, the module number change detection circuit is composed of one latch circuit and a comparator. can do.
また、モジュールの変化時刻とモジュール番号を記憶す
るメモリとしてFIFOメモリを用いているが、ランダ
ムアクセス方式のメモリを使用してもよい。Further, although a FIFO memory is used as a memory for storing module change times and module numbers, a random access type memory may also be used.
以上説明したように上記実施例は、デバッグ対象となる
ユーザプログラムを格納する代行メモリ以外にユーザプ
ログラムの入ったメモリのをアクセスするアドレス信号
によって同時にアクセスされるモジュール番号格納メモ
リを設け、ユーザプログラムの実行中そのモジュールの
番号が上記メモリから出力されるようにし、そのモジュ
ール番号を監視する監視手段を設け、モジュール番号が
変化した場合、モジュール番号とその時刻をFIFOメ
モリ等に書込み、その内容をユーザプログラムの実行中
においてもホストコンピュータにより自由にリードでき
るようにしたので、FIFOメモリに蓄積されたモジュ
ールに開始時刻とモジュール番号を、エミュレーション
実行中にマスタマイクロコンピュータが読み出すことで
、各モジュールのCPU占有時間をリアルタイムで計算
できるとともに、モジュール番号をリードすることで、
各モジュールの継がりを容易に知ることができるという
作用により、インサーキット・エミュレータによるプロ
グラムのパフォーマンスアナライズ機能を向上させ、も
ってプログラムのスループットの向上を図ることができ
るという効果がある。As explained above, in the above embodiment, in addition to the proxy memory that stores the user program to be debugged, there is provided a module number storage memory that is simultaneously accessed by an address signal that accesses the memory containing the user program. During execution, the module number is output from the above memory, a monitoring means is provided to monitor the module number, and when the module number changes, the module number and its time are written to a FIFO memory etc., and the contents are transmitted to the user. Since the program can be freely read by the host computer even while the program is running, the master microcomputer can read the start time and module number from the modules stored in the FIFO memory while emulation is running, allowing the CPU occupancy of each module. By being able to calculate the time in real time and reading the module number,
The ability to easily know the connections between modules improves the program performance analysis function of the in-circuit emulator, thereby improving program throughput.
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが1本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば上記実施例では、
ユーザプログラムのアドレス範囲を網羅するようなモジ
ュール番号メモリを設けたが、ユーザプログラムのメモ
リをアクセスするアドレスの下位数ビットを省略したア
ドレスでアクセスされるようなモジュール番号メモリを
設けることで大まかなモジュールの切目を検出するよう
にしてもよい。この場合、アドレスのビットを省略した
分だけモジュール番号メモリの容量を少なくすることが
できる。Although the invention made by the present inventor has been specifically explained above based on examples, it goes without saying that the present invention is not limited to the above-mentioned examples, and can be modified in various ways without departing from the gist thereof. Nor. For example, in the above example,
A module number memory that covers the address range of the user program is provided, but by providing a module number memory that is accessed with an address that omits the lower several bits of the address used to access the user program memory, it is possible to roughly Alternatively, the cuts may be detected. In this case, the capacity of the module number memory can be reduced by the amount by which address bits are omitted.
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるインサーキット・エ
ミュレータのようなデバッグ装置に適用したものについ
て説明したが、この発明はそれに限定されるものでなく
、いわゆるSlカバレージと呼ばれるプログラムのテス
トの充分性を測定するプログラム評価装置に利用するこ
とができる。In the above explanation, the invention made by the present inventor was mainly applied to a debugging device such as an in-circuit emulator, which is the background field of application of the invention, but the invention is not limited thereto. This method can be used in a program evaluation device that measures the sufficiency of a program test, so-called Sl coverage.
[発明の効果]
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
。[Effects of the Invention] The effects obtained by typical inventions disclosed in this application are briefly explained below.
すなわち、インサーキット・エミュレータによるプログ
ラムのパフォーマンスアナライズ機能を向上させ、もっ
てプログラムのスループットの向上を促進することがで
きる。That is, it is possible to improve the performance analysis function of a program by an in-circuit emulator, thereby promoting an improvement in program throughput.
第1図は本発明に係るデバッグ装置の一実施例を示す構
成ブロック図、
第2図(A)−、(B)はユーザプログラムのメモリの
アドレス空間と、モジュール番号メモリのアドレス空間
との対応を示すメモリマツプ、第3図は本発明に係るデ
バッグ装置(インサーキット・エミュレータ)が適用さ
れるシステム開発装置の全体の構成を示すブロック図、
第4図は従来のインサーキット・エミュレータの構成例
を示すブロック図である。
MMCU・・・・マスタマイクロコンピュータ、SMC
U・・・・スレーブマイクロコンピュータ、FM・・・
・FIFOメモリ、TC・・・・時計回路、MCC・・
・・モジュール番号変化検出回路、MAB・・・・マス
クアドレスバス、MDB・・・・マスタデータバス、S
AB・・・・スレーブアドレスバス。
SDB・・・・スレーブデータバス、SM°°゛°ユー
ザ代行メモリ、MNM・・・・モジュール番号メモリ、
LATI、LAT2・・=5ツチ回路、COMP・・・
・コンパレータ。
第2図
(A) (B)
七ジ゛どルNo。FIG. 1 is a configuration block diagram showing an embodiment of a debugging device according to the present invention, and FIGS. 2(A) to 2(B) show the correspondence between the address space of the user program memory and the address space of the module number memory. 3 is a block diagram showing the overall configuration of a system development device to which a debugging device (in-circuit emulator) according to the present invention is applied,
FIG. 4 is a block diagram showing an example of the configuration of a conventional in-circuit emulator. MMCU・・・Master microcomputer, SMC
U...Slave microcomputer, FM...
・FIFO memory, TC...clock circuit, MCC...
...Module number change detection circuit, MAB...mask address bus, MDB...master data bus, S
AB...Slave address bus. SDB...Slave data bus, SM°°゛°user proxy memory, MNM...Module number memory,
LATI, LAT2...=5 circuit, COMP...
·comparator. Figure 2 (A) (B) Seventh grade No.
Claims (1)
機能を代行する第1マイクロプロセッサ及びデバッグの
ための制御を司る第2マイクロプロセッサを有するデバ
ッグ装置であって、上記第1マイクロプロセッサによる
プログラムの実行中に、あらかじめ第2マイクロプロセ
ッサによりプログラムを構成するモジュールごとに設定
された値を、第1マイクロプロセッサから出力されるア
ドレス信号に応じて出力するメモリと、そのメモリから
出力される値を保持し、値の変化を検出する手段とを備
えてなることを特徴とするデバッグ装置。 2、上記メモリから出力される値が変化したときに、そ
の値と時刻とを随時取り込んで保持するための記憶手段
が設けられていることを特徴とする特許請求の範囲第1
項記載のデバッグ装置。 3、上記記憶手段は、これに保持されている内容を、第
1マイクロプロセッサによるプログラムの実行中に、第
2マイクロプロセッサによって随時読出し可能に構成さ
れていることを特徴とする特許請求の範囲第2項記載の
デバッグ装置。[Scope of Claims] 1. A debugging device comprising a first microprocessor that performs the functions of a microprocessor of a device to be debugged, and a second microprocessor that controls debugging, the first microprocessor comprising: A memory for outputting values set in advance for each module constituting the program by a second microprocessor in response to an address signal output from the first microprocessor during execution of the program by the processor; What is claimed is: 1. A debugging device comprising means for holding a value and detecting a change in the value. 2. The first aspect of the present invention is characterized in that, when the value output from the memory changes, storage means is provided for capturing and holding the value and time at any time.
Debugging equipment as described in section. 3. The storage means is configured such that the contents held therein can be read by the second microprocessor at any time while the first microprocessor is executing a program. The debug device according to item 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63005432A JPH01180647A (en) | 1988-01-12 | 1988-01-12 | Debugging device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63005432A JPH01180647A (en) | 1988-01-12 | 1988-01-12 | Debugging device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01180647A true JPH01180647A (en) | 1989-07-18 |
Family
ID=11611030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63005432A Pending JPH01180647A (en) | 1988-01-12 | 1988-01-12 | Debugging device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01180647A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05216710A (en) * | 1991-07-31 | 1993-08-27 | Toyo Tekunika:Kk | Data collecting and monitoring device and method therefor |
JPH07200368A (en) * | 1993-12-29 | 1995-08-04 | Nec Corp | Performance information management system in unit of module |
US6063131A (en) * | 1997-03-12 | 2000-05-16 | Mitsubishi Denki Kabushiki Kaisha | Emulator system and emulation method |
JP2009187189A (en) * | 2008-02-05 | 2009-08-20 | Nec Corp | Stall detection device, stall detection method and stall detection program |
EP2329902A1 (en) | 2004-06-25 | 2011-06-08 | Mitsubishi Materials Corporation | Metal colloid particles, metal colloid and use of the colloid |
JP2014182478A (en) * | 2013-03-18 | 2014-09-29 | Fujitsu Ltd | Performance profiling device, and performance profiling method |
-
1988
- 1988-01-12 JP JP63005432A patent/JPH01180647A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05216710A (en) * | 1991-07-31 | 1993-08-27 | Toyo Tekunika:Kk | Data collecting and monitoring device and method therefor |
JPH07200368A (en) * | 1993-12-29 | 1995-08-04 | Nec Corp | Performance information management system in unit of module |
US6063131A (en) * | 1997-03-12 | 2000-05-16 | Mitsubishi Denki Kabushiki Kaisha | Emulator system and emulation method |
EP2329902A1 (en) | 2004-06-25 | 2011-06-08 | Mitsubishi Materials Corporation | Metal colloid particles, metal colloid and use of the colloid |
JP2009187189A (en) * | 2008-02-05 | 2009-08-20 | Nec Corp | Stall detection device, stall detection method and stall detection program |
JP2014182478A (en) * | 2013-03-18 | 2014-09-29 | Fujitsu Ltd | Performance profiling device, and performance profiling method |
US9619361B2 (en) | 2013-03-18 | 2017-04-11 | Fujitsu Limited | Performance profiling apparatus and performance profiling method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6961872B2 (en) | Microcomputer and debugging system | |
US6854029B2 (en) | DSP bus monitoring apparatus and method | |
JP4138021B2 (en) | Processor-based device, method for providing software performance profiling information, and software development system for generating and analyzing software performance profiling information | |
US5828825A (en) | Method and apparatus for pseudo-direct access to embedded memories of a micro-controller integrated circuit via the IEEE test access port | |
US5884023A (en) | Method for testing an integrated circuit with user definable trace function | |
EP0849670B1 (en) | Integrated computer providing an instruction trace | |
CN101719088B (en) | Device and method for detecting processor chip on line | |
US20030154430A1 (en) | On-chip instrumenation | |
EP0084431A2 (en) | Monitoring computer systems | |
US4493078A (en) | Method and apparatus for testing a digital computer | |
EP3369015B1 (en) | Methods and circuits for debugging circuit designs | |
JPH11296403A (en) | Improved embedded logic analyzer | |
US20060150021A1 (en) | Device and method for analyzing embedded systems | |
CN100492315C (en) | Embedded signal processor simulator | |
CN117076337B (en) | Data transmission method and device, electronic equipment and readable storage medium | |
JPH01180647A (en) | Debugging device | |
US7360117B1 (en) | In-circuit emulation debugger and method of operation thereof | |
JP2007522554A (en) | Embedded system analysis apparatus and method for in-vehicle security problematic computer systems | |
JPWO2002063473A1 (en) | Data processing system development method and evaluation board | |
JPS62164140A (en) | Testing of data processing system | |
JPH02267637A (en) | Debugging device | |
JPH07129430A (en) | Testing method for program | |
JP3695196B2 (en) | Data processing device | |
JP2000227862A (en) | Data processor | |
JPH0324641A (en) | Debugging device |