JPH01180647A - デバッグ装置 - Google Patents

デバッグ装置

Info

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
Application number
JP63005432A
Other languages
English (en)
Inventor
Tetsuro Nishimura
西村 哲朗
Yutaka Sato
豊 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP63005432A priority Critical patent/JPH01180647A/ja
Publication of JPH01180647A publication Critical patent/JPH01180647A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、システムデバッグ技術さらにはデバッグ対象
とされるプログラムの効率を評価する技術に関し、例え
ばインサーキット・エミュレータに適用して有効な技術
に関するものである。
[従来の技術] マイクロコンピュータ応用機器の開発において、その応
用システムのデバッグやそのシステムの詳細な評価を行
なうため、インサーキット・エミュレータが使用されて
いる。斯るインサーキット・エミュレータ2は、第3図
に示すごとく、ソフトウェア開発用の親計算機(ホスト
コンピュータ)などのシステム開発装置1と、開発中の
応用機器3との間に接続され、その応用機器に含まれる
マイクロコンピュータ(ターゲット・マイクロコンピユ
ータ)の機能を代行する一方でデバッガ−としての機能
を持ち、詳細なシステムデバッグを支援するマイクロコ
ンピュータシステム開発ツールである。
従来のインサーキット・エミュレータは、第4図に示す
ように、ターゲットマイクロコンピュータの機能を代行
するエミユレーション用のスレーブマイクロコンピュー
タ11と、エミュレーションや各種デバッグ機能を実現
するためのエミュレーション制御部12、プログラムの
実行やトレースの停止条件を設定し、条件が成立したと
きにプログラムもしくはトレースを停止させるブレーク
ポイント制御部13、トレースメモリ部14、応用機器
(ユーザシステム)のメモリが用意されていない場合に
貸し出される代行メモリ部15、親計算機とマイクロコ
ンピュータ間でデータ通信を行なうためのシリアルイン
タフェース16及びそれらの制御を司るためのマスタマ
イクロコンピュータ17などが内蔵されてなる。(昭和
59年11月30日オーム社発行のrLSIハンドブッ
ク」p562乃至p563参照)。
斯るインサーキット・エミュレータは、その本体から延
長されたケーブル4の先端が、応用機器に設けられたタ
ーゲットマイクロコンピュータ用ソケット5に結合され
ることにより、上記スレーブマイクロコンピュータ11
がターゲットマイクロコンピュータの機能を代行するよ
うなエミュレーション機能を備える。更に、エミュレー
ション実行中に各種データやステータス信号などをサン
プリングし、それをトレース用メモリ15などに格納す
るトレース機能や、スレーブマイクロコンピュータ11
による応用機器の制御動作を停止させるブレーク機能な
どの各種デバッグ機能が備えられている。
また、応用機器側のプログラムを構成している各モジュ
ールのスレーブマイクロコンピュータ占有時間を測定す
るパフォーマンスアナライズ機能があり、プログラムの
スループット向上に利用されている。しかしながら、従
来そのようなスレーブマイクロコンピュータ占有時間の
H1ll定は、トレース用メモリに採集されたプログラ
ム実行内容を解析することにより行なっており、その解
析中はサンプリングを中断し、解析終了後にサンプリン
グを再開するという動作を繰り返すことで実現していた
[発明が解決しようとする問題点] 上記従来技術は、応用機器側のプログラムを構成してい
る各モジュールのスレーブマイクロコンピュータ占有時
間を測定する際、プログラム実行のすべての時間につい
てアドレス信号やデータ信号等のサンプリングがされて
おらず、トレース用メモリの容量等に応じて例えばIK
ステップ単位で行なわれる。しかも、サンプリング中断
中もプログラムの実行は継続している。そのため、着目
するモジュールに関してタイミングの良いサンプリング
が困難となり、不規則に実行されるモジュールや非常に
大規模で実行時間が長大なモジュールに関しては、誤差
が大きくなり、プログラムのスループット向上が適確に
行なえないおそれのあることが明らかになった。
本発明の目的は、インサーキット・エミュレータによる
プログラムのパフォーマンスアナライズ機能を向上させ
、もってプログラムのスループットの向上を促進できる
ようなデバッグ技術を提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては1本明細書の記述および添附図面から明らかに
なるであろう。
[問題点を解決するための手段] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
すなわち、デバッグ対象となるユーザプログラムを格納
する代行メモリ以外にユーザプログラムの入ったメモリ
をアクセスするアドレス信号によって同時にアクセスさ
れるモジュール番号格納メモリを設け、ユーザプログラ
ムの実行中そのモジュール番号が上記メモリから出力さ
れるようにし。
そのモジュール番号を監視する監視手段を設け、モジュ
ール番号が変化した場合、モジュール番号とその時刻を
FIFOメモリ等に書込み、その内容をユーザプログラ
ムの実行中においてもホストコンピュータにより自由に
リードできるようにするものである。
[作用] 上記手段によれば、ユーザプログラムを構成する各モジ
ュールの開始時刻とそのモジュールの番号が、エミュレ
ーション実行中に間断なくメモリに記録され、その記録
内容をエミュレーション実行中に何ら制限なくマスタマ
イクロコンピュータがリードできるので、ユーザプログ
ラムを構成する各モジュールの実行時間即ち各モジュー
ルのCPU占有時間を容易に計算できるとともに、モジ
ュールの番号を読み出すことで、各モジュールの継がり
を容易に知ることができ、インサーキット・エミュレー
タによるプログラムのパフォーマンスアナライズ機能を
向上させ、もってプログラムのスループットの向上を図
るという上記目的を達成することができる。
[実施例] 以下、本発明の一実施例を図面を用いて説明する。第1
図には、本発明をインサーキット・エミュレータに適用
した場合に実施例が示されており、それらの回路は、特
に制限されないが、公知の半導体集積回路製造技術によ
って形成されている。
第1図に示されるエミュレータには、ユーザによって開
発されたマイクロコンピュータ応用機器に含まれている
ターゲットマイクロコンピュータの機能を代行してその
応用機器の動作制御即ちエミュレーションを行なうため
のスレーブマイクロコンピュータSMCUと、各種デバ
ッグ機能を達成するための制御を司るマスクマイクロコ
ンピュータMMCUが含まれる。上記スレーブマイクロ
コンピュータSMCUは、代行制御という性質上、少な
くとも図示しないユーザシステム内のターゲットマイク
ロコンピュータと同等の機能を有し、スレーブデータバ
スSDB、スレーブアドレスバスSAB、及びスレーブ
制御バス(図示省略)を内蔵して成るケーブルによって
マイクロコンピュータ応用機器のターゲットマイクロコ
ンピュータ搭載エリア(ソケット)に接続されている。
マイクロコンピュータ応用機器にはそのシステム構成に
応じて種々のデバイスが搭載され、それらは、ユーザプ
ログラムに基づいて動作されるスレーブマイクロコンピ
ュータSMCUの代行制御を受けるようになっている。
エミュレータに接続されてシステムデバッグや評価の対
象となるマイクロコンピュータ応用機器は、未だシステ
ム開発途中にあるから、その開発途上のマイクロコンピ
ュータ応用機器には、その動作に必要な充分な数のユー
ザメモリが搭載されていない場合がある。そのためエミ
ュレータには。
ユーザメモリの不足分を補うためのユーザ代行メモリS
Mが用意され、上記スレーブマイクロコンピュータSM
CU、マスクマイクロコンピュータMMCUのいずれの
側からもアクセスできるように、アドレスマルチプレク
サA−MPXおよびデータマルチプレクサD−MPXを
介してマスク側とスレーブ側のアドレスバスMABとS
ABおよびデータバスMDBとSDBに接続されている
このユーザ代行メモリSMはRAM (ランダム・アク
セス・メモリ)のような書換え可能な半導体記憶装置に
よって構成されている。
本実施例のエミュレータは1図示しないが第3図に示す
従来システムと同様にターゲットマイクロコンピュータ
の機能を代行するエミュレーション機能を実現するため
のエミュレーション制御部や、エミュレーション実行中
に各種データやステータス信号などをサンプリングし、
それを記憶するトレースメモリ部およびスレーブマイク
ロコンピュータSMCUによる応用機器の制御動作を停
止させるブレークポイント制御部など通常のエミュレー
タが持つ各種エミュレーション機能も実現するための回
路を備えている。
さらに、この実施例では上記スレーブマイクロコンピュ
ータSMCUによるエミュレーション実行中に、ユーザ
プログラムの各モジュールの実行時間測定を間断なく行
ない、各モジュールの継がりの関係、各モジュールのマ
イクロコンピュータ占有時間などのモジュール状態評価
ができるように構成されている。すなわち、本実施例で
は、斯るモジュール状態評価機能を達成するために、ス
レーブマイクロコンピュータSMCUのアドレス空間に
それと同じアドレスを入力可能なモジュール番号メモリ
MNMが設けられ、マスタマイクロコンピュータMMC
Uからもライト動作が行なえるようにマスク側のデータ
バスMDBに接続されている。
上記モジュール番号メモリMNMのアドレス空間はユー
ザプログラムの入っているメモリのアドレス空間をすべ
てカバーできるだけの大きさが必要であるが、メモリの
容量としてはデータのビット数が少ない分だけ小さくで
きる。例えば区別したいモジュール数が8種類であれば
、モジュール番号メモリMNMのデータビット数は3ビ
ツトでよい。
さらに、この実施例のエミュレータにはエミュレーショ
ン実行中にモジュール番号メモリMNMから出力される
モジュール番号の変化を検出するモジュール番号変化検
出回路MCCが設られている。モジュール番号変化検出
回路MCCはモジュール番号メモリMNMから出力され
るデータを、スレーブマイクロコンピュータSMCUか
ら出力される命令フェッチタイミング信号LiRにてラ
ッチする第1のラッチ回路LATIと、これにラッチさ
れたデータを信号LiRの立上がりでラッチする第2の
ラッチ回路LAT2と、これらにラッチされたデータを
比較してモジュール番号が変化したときにモジュール番
号変化検出信号を出力するコンパレータCOMPとによ
り構成されている。
さらに、このモジュール番号変化検出回路MCCから出
力されるタイミング信号で、モジュール番号とその変化
時点の時刻を記録し、かつマスタマイクロコンピュータ
MMCUから随時リード可能なFIFOメモリFMが設
けられている。上記時刻は、エミュレーション開始と同
時にカラン1−を始めるカウンタC0UNTとその原発
振を与える発振器O8Cとから成る時計回路TCにより
作成されるようになっている。
上記モジュール番号メモリMNMは、特に制限されない
が、スレーブマイクロコンピュータSMCUのアドレス
空間を網羅できる本数のアドレス入力を持つように構成
されたSRAM(スタティック・ランダム・アクセス・
メモリ)を主体とし、エミュレーション実行中は、スレ
ーブマイクロコンピュータSMCUから出力されるアド
レス信号が入力され、エミュレーション実行中以外では
、マスタマイクロコンピュータMMCUによりライト動
作が行なえるようにされており、予め各モジュール毎に
番号を変えて書き込んでおく。
すなわち、第2図(A)に示すように、ユーザプログラ
ムPGMを構成するモジュールMDL1゜MDL2. 
・−MDLn毎に順番に番号r1」。
[2J、・・・・rn」を与えた場合、モジュール番号
メモリMNM内の同一アドレス位置にぞれぞれ’IJ+
’2J+・・・・「n」なる番号をコードで入れておく
。このようにしておくと、エミュレーション実行中、あ
る命令が実行されるとき、その実行中の命令の属するモ
ジュールの番号がメモリMNMから出力される。そして
その番号がラッチ回路LATIにラッチされ、次の命令
が実行されるときにそのモジュール番号が次段のラッチ
回路LAT2に保持される。
そのため、プログラムの実行が他のモジュールに移った
時点でラッチ回路LAT1とLAT2で保持する値が変
わり、それがコンパレータCOMPによって検出されて
モジュール番号の変化検出信号が出力される。その出力
信号により、FIFOメモリFMには、各モジュール毎
に与えられた番号とそのモジュール開始時刻が記録され
る。そして、FIFOメモリに記録されたデータはマス
タマイクロコンピュータMMCUから随時、リードする
ことができる。その結果、マスタマイクロコンピュータ
MMCUによって、モジュール開始時刻の差を計算する
ことにより、モジュールの実行時間を算出できる。
なお、上記実施例においては、例えばスレーブマイクロ
コンピュータから出力されるオペランドたるアドレスに
よってモジュール番号メモリMNMがアクセスされる場
合を考慮して、モジュール番号変化検出回路MCCを2
つのラッチ回路LAT1とLAT2およびコンパレータ
COMPとによって構成しているが、モジュール番号メ
モリがオペランドたるアドレスによってアクセスされな
いように構成しておけば、モジュール番号変化検出回路
は一つのラッチ回路とコンパレータとで構成することが
できる。
また、モジュールの変化時刻とモジュール番号を記憶す
るメモリとしてFIFOメモリを用いているが、ランダ
ムアクセス方式のメモリを使用してもよい。
以上説明したように上記実施例は、デバッグ対象となる
ユーザプログラムを格納する代行メモリ以外にユーザプ
ログラムの入ったメモリのをアクセスするアドレス信号
によって同時にアクセスされるモジュール番号格納メモ
リを設け、ユーザプログラムの実行中そのモジュールの
番号が上記メモリから出力されるようにし、そのモジュ
ール番号を監視する監視手段を設け、モジュール番号が
変化した場合、モジュール番号とその時刻をFIFOメ
モリ等に書込み、その内容をユーザプログラムの実行中
においてもホストコンピュータにより自由にリードでき
るようにしたので、FIFOメモリに蓄積されたモジュ
ールに開始時刻とモジュール番号を、エミュレーション
実行中にマスタマイクロコンピュータが読み出すことで
、各モジュールのCPU占有時間をリアルタイムで計算
できるとともに、モジュール番号をリードすることで、
各モジュールの継がりを容易に知ることができるという
作用により、インサーキット・エミュレータによるプロ
グラムのパフォーマンスアナライズ機能を向上させ、も
ってプログラムのスループットの向上を図ることができ
るという効果がある。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが1本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば上記実施例では、
ユーザプログラムのアドレス範囲を網羅するようなモジ
ュール番号メモリを設けたが、ユーザプログラムのメモ
リをアクセスするアドレスの下位数ビットを省略したア
ドレスでアクセスされるようなモジュール番号メモリを
設けることで大まかなモジュールの切目を検出するよう
にしてもよい。この場合、アドレスのビットを省略した
分だけモジュール番号メモリの容量を少なくすることが
できる。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるインサーキット・エ
ミュレータのようなデバッグ装置に適用したものについ
て説明したが、この発明はそれに限定されるものでなく
、いわゆるSlカバレージと呼ばれるプログラムのテス
トの充分性を測定するプログラム評価装置に利用するこ
とができる。
[発明の効果] 本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
すなわち、インサーキット・エミュレータによるプログ
ラムのパフォーマンスアナライズ機能を向上させ、もっ
てプログラムのスループットの向上を促進することがで
きる。
【図面の簡単な説明】
第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。

Claims (1)

  1. 【特許請求の範囲】 1、デバッグ対象とされる機器のマイクロプロセッサの
    機能を代行する第1マイクロプロセッサ及びデバッグの
    ための制御を司る第2マイクロプロセッサを有するデバ
    ッグ装置であって、上記第1マイクロプロセッサによる
    プログラムの実行中に、あらかじめ第2マイクロプロセ
    ッサによりプログラムを構成するモジュールごとに設定
    された値を、第1マイクロプロセッサから出力されるア
    ドレス信号に応じて出力するメモリと、そのメモリから
    出力される値を保持し、値の変化を検出する手段とを備
    えてなることを特徴とするデバッグ装置。 2、上記メモリから出力される値が変化したときに、そ
    の値と時刻とを随時取り込んで保持するための記憶手段
    が設けられていることを特徴とする特許請求の範囲第1
    項記載のデバッグ装置。 3、上記記憶手段は、これに保持されている内容を、第
    1マイクロプロセッサによるプログラムの実行中に、第
    2マイクロプロセッサによって随時読出し可能に構成さ
    れていることを特徴とする特許請求の範囲第2項記載の
    デバッグ装置。
JP63005432A 1988-01-12 1988-01-12 デバッグ装置 Pending JPH01180647A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63005432A JPH01180647A (ja) 1988-01-12 1988-01-12 デバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63005432A JPH01180647A (ja) 1988-01-12 1988-01-12 デバッグ装置

Publications (1)

Publication Number Publication Date
JPH01180647A true JPH01180647A (ja) 1989-07-18

Family

ID=11611030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63005432A Pending JPH01180647A (ja) 1988-01-12 1988-01-12 デバッグ装置

Country Status (1)

Country Link
JP (1) JPH01180647A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216710A (ja) * 1991-07-31 1993-08-27 Toyo Tekunika:Kk データ集録・モニタ装置およびデータ集録・モニタ方法
JPH07200368A (ja) * 1993-12-29 1995-08-04 Nec Corp モジュール単位の性能情報管理システム
US6063131A (en) * 1997-03-12 2000-05-16 Mitsubishi Denki Kabushiki Kaisha Emulator system and emulation method
JP2009187189A (ja) * 2008-02-05 2009-08-20 Nec Corp ストール検出装置、ストール検出方法、及びストール検出プログラム
EP2329902A1 (en) 2004-06-25 2011-06-08 Mitsubishi Materials Corporation Metal colloid particles, metal colloid and use of the colloid
JP2014182478A (ja) * 2013-03-18 2014-09-29 Fujitsu Ltd 性能プロファイリング装置及び性能プロファイリング方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216710A (ja) * 1991-07-31 1993-08-27 Toyo Tekunika:Kk データ集録・モニタ装置およびデータ集録・モニタ方法
JPH07200368A (ja) * 1993-12-29 1995-08-04 Nec Corp モジュール単位の性能情報管理システム
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 (ja) * 2008-02-05 2009-08-20 Nec Corp ストール検出装置、ストール検出方法、及びストール検出プログラム
JP2014182478A (ja) * 2013-03-18 2014-09-29 Fujitsu Ltd 性能プロファイリング装置及び性能プロファイリング方法
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
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 (zh) 一种对处理器芯片进行在线检测的装置和方法
US20030154430A1 (en) On-chip instrumenation
US4493078A (en) Method and apparatus for testing a digital computer
WO2017074568A1 (en) Methods and circuits for debugging circuit designs
US20060150021A1 (en) Device and method for analyzing embedded systems
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
JPH01180647A (ja) デバッグ装置
JP2007522554A (ja) 車両内のセキュリティ上問題のあるコンピュータシステムのための埋込式システムの分析装置及び方法
US7360117B1 (en) In-circuit emulation debugger and method of operation thereof
JP2001249823A (ja) マイクロコンピュータ開発支援装置
CN116414682A (zh) 程序的测试方法、装置、电子设备及存储介质
JPWO2002063473A1 (ja) データ処理システムの開発方法及び評価ボード
JPH02267637A (ja) デバッグ装置
JP2000227862A (ja) データ処理装置
JPH07129430A (ja) プログラムの試験方法
JP3695196B2 (ja) データ処理装置
Tsai et al. A replay mechanism for non-interference real-time software testing and debugging
JPH0324641A (ja) デバッグ装置
JP2902861B2 (ja) トレース機能付バッファ装置
JPH0836504A (ja) エミュレータ