JPH10260864A - トレース装置 - Google Patents

トレース装置

Info

Publication number
JPH10260864A
JPH10260864A JP6520597A JP6520597A JPH10260864A JP H10260864 A JPH10260864 A JP H10260864A JP 6520597 A JP6520597 A JP 6520597A JP 6520597 A JP6520597 A JP 6520597A JP H10260864 A JPH10260864 A JP H10260864A
Authority
JP
Japan
Prior art keywords
tracing
program
time
information
trace
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
JP6520597A
Other languages
English (en)
Inventor
Iwao Negishi
巌 根岸
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.)
NEC Engineering Ltd
Original Assignee
NEC 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP6520597A priority Critical patent/JPH10260864A/ja
Publication of JPH10260864A publication Critical patent/JPH10260864A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 プログラム実行の際の経過時間情報をも同時
に記録し、編集して出力することができるトレース装置
を提供する。 【解決手段】 マイクロプロセッサ7が実行するプログ
ラムのトレースを行なうトレース装置1は、前記プログ
ラムの各命令段階を実行するごとに、各命令を実行した
時刻の情報と、トレース結果情報の履歴とを記録するト
レースメモリ2と、前記時刻の情報とトレース結果情報
とを対応させて出力させるトレースメモリ制御部3を有
し、履歴を編集して出力部11に表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サを実装してマイクロプロセッサシステムのハードウエ
ア動作確認とソフトウエアデバッグに用いるインサーキ
ットエミュレータ、あるいはチップ内にソフトウエア命
令セットを持つマイクロプロセッサ等において、トレー
スを実行するトレース装置に関する。
【0002】
【従来の技術】マイクロプロセッサシステムのプログラ
ムのデバッグを行なう方法の一つとして、命令の実行履
歴をトレースする方法がある。従来、レジスタのリード
/ライトのトレースや、主記憶装置の特定のアドレスへ
のアクセスのトレース等は、インサーキットエミュレー
タの機能の一つとして行われている。レジスタや主記憶
装置の内容の推移は、表として出力される。
【0003】ところで、マルチプロセッサ構成のプログ
ラムを設計するときは必ずプロセッサ間の同期をとる必
要があり、プロセッサ間のインターフェースコマンドに
おいては、コマンドを発行した時間が特に重要となる。
このコマンド発行のタイミングがずれるとプログラムの
処理が全く誤った結果を生じてしまう。従って、このよ
うなタイミングのずれに起因する問題を解決するには、
命令及び命令を発した時刻を各CPU単位にトレースす
ることが有効な手段となる。しかし、従来のインサーキ
ットエミュレータは、時間管理を行なう機能を有してい
なかった。
【0004】プログラム実行時間の計測及び表示に関す
る技術としては、特開平3−14041号公報記載の技
術が存在する。同公報に開示される技術は、演算処理装
置、記憶装置、共通バスを有するプログラマブルコント
ローラにおいて、共通バスにはプログラム検出器とトレ
ースメモリが接続され、トレースメモリの内容は表示装
置に出力可能に構成されているものである。
【0005】このプログラマブルコントローラは、プロ
グラム開始と終了を検出するプログラム検出器をさらに
備えて、プログラム実行時に、前記トレースメモリにプ
ログラム種別と現在時刻とを記憶させる。その後、所望
時にトレースメモリの記憶内容を順に読みだし、プログ
ラム種別とその時の時刻を対応させて表示し、プログラ
ムの実行時間を計測するものである。
【0006】
【発明が解決しようとする課題】上記公報記載の技術
は、プログラマブルコントローラにおけるプログラム実
行時間の計測方法に関するものである。従って、以下の
ようにマイクロプロセッサシステムのプログラムのデバ
ッグを行なうのに必要とされる機能に対応するものでは
ない。すなわち、プログラム検出器は、プログラムの開
始及び終了しか検出できず、プログラムの実行時の状
況、すなわち「プログラムが正しく実行されているか」
等の解析はできない。
【0007】また、指定した命令(例えばI/O命令)
を選択してトレースするなどのプログラムデバッグに有
効な機能は持っておらず、さらに、指定した範囲のアド
レスを用いたプログラムのトレースを実行する機能もな
い。加えて、時刻に関して外部同期機能がなく、2台の
装置を同時に動作させ、精度高く(マイクロセカンドの
オーダーで)同じ時間経過で2台の装置がどのようにプ
ログラムを実行しているか等を比較解析できない。一
方、従来のインサーキットエミュレータはプログラムの
命令及びレジスタ類のトレースはできるが、同時に経過
時間をトレースする機能はなかった。
【0008】また、マルチプロセッサ環境でインサーキ
ットエミュレータを用い、2つ以上のインサーキットエ
ミュレータ内で同時間にどのようなプログラムが実行さ
れているかを比較解析する手段を持っていなかった。
【0009】そこで、本発明の課題は、プログラム実行
の際の経過時間情報をも同時に記録し、編集して出力す
ることができるトレース装置を提供することにある。
【0010】
【課題を解決するための手段】上記課題を解決するた
め、マイクロプロセッサが実行するプログラムのトレー
スを行なう本発明のトレース装置は、前記プログラムの
各命令段階を実行するごとに、各命令を実行した時刻の
情報とトレース結果情報の履歴とを記録するとともに、
前記時刻の情報とトレース結果情報とを対応させて出力
させる履歴編集手段を有する。これにより、従来のトレ
ース結果情報に経過時間情報を加えてトレースすること
ができ、命令ごとの時間経過が解析できるようになる。
【0011】このトレース装置を、マルチプロセッッサ
構成からなるマイクロプロセッサシステムを監視対象と
して、各マイクロプロセッサに対して用いる場合は、自
装置と、前記監視対象マイクロプロセッサシステムの他
のマイクロプロセッサが実行するプログラムのトレース
を行なう他装置との同期を図るための同期手段をも備え
るように構成する。このように構成することにより、2
つ以上の本発明のトレース装置を動作させた場合、各ト
レース装置の間で、正確に時間を合わせることが可能と
なる。
【0012】
【発明の実施形態】以下、本発明の実施形態について図
面を参照して説明する。まず、本発明のトレース装置を
説明する前に、このトレース装置が監視対象装置に接続
される場合の構成例を図2を用いて説明する。
【0013】図2を参照すると、マイクロプロセッサ
7、主記憶装置8、及び周辺機器制御部9は、各々共通
バス6に接続されている。周辺機器制御部9は、操作部
10や、出力部11等の各種周辺機器と接続されて、そ
れら周辺機器の制御を行なう。操作部10は、キーボー
ド等の入力用デバイスからの操作者による入力に従い、
マイクロプロセッサシステムの操作を行なう。出力部1
1は、トレース結果データ及び後述の時刻に関するデー
タの印字出力又は画面表示等を行なう。トレース装置1
は、共通バス6を介して、マイクロプロセッサ7が実行
するプログラムにより制御可能に接続されている。
【0014】マルチプロセッサ構成のマイクロプロセッ
サシステムを監視対象装置として、本発明のトレース装
置1を用いるときは、共通バス6を介して接続される複
数のマイクロプロセッサ及び主記憶装置に、それぞれ対
応する数のトレース装置1が接続される。
【0015】トレース装置1は、データを記録、保持し
ておくためのトレースメモリ2と、トレース結果データ
及び時刻データをトレースメモリ2に書込ませ、編集し
て読み出させるトレースメモリ制御部3と、時刻データ
を生成する時刻情報部4とを有する。なお、このトレー
ス装置1は、いわゆる1チップLSIにより構成するこ
とができる。
【0016】図1は、トレース装置1のより詳細な構成
図である。トレースメモリ2は、ステータスバス61か
らデータを受け取り可能に、かつアドレスバス62及び
データバス63を介して主記憶装置8等と双方向通信可
能に接続される。トレースメモリ制御部3は、アドレス
バス62及びデータバス63からデータを受け取り可能
なレジスタ31と、ステータスバス61、アドレスバス
62及びレジスタ31からデータ受け取り可能に配され
るメモリ書込み制御部32とからなる。レジスタ31
は、コマンドレジスタ及びアドレスレジスタとしての役
割を担う。時刻情報部4は、マルチプレクサ41を備え
て、レジスタ31からの制御信号33と、時計42の出
力と、カウンタ43の出力とを入力し、これらの信号の
中から、選択的に1個の信号をトレースメモリ2に対し
て出力可能に構成されている。
【0017】次に、トレース装置1の処理手順を表わす
フローチャートである図4をも参照して、本実施形態に
おける各部の動作について説明する。
【0018】まず、I/O命令のトレースを行なう場合
の例について、実行時刻の高精度(マイクロセカンドの
オーダー)の分解能が要求される場合と、高い精度が要
求されない場合との流れについて説明する。
【0019】高精度な分解能が要求される場合には、マ
イクロプロセッサ7により、時刻情報部4をカウンタと
して動作させるためのコマンドが、レジスタ31に書込
まれる。この際書込まれるコマンドは、カウンタ43の
情報がマルチプレクサ41を通してトレースメモリ2に
入力されるようにするものである(ステップS101:
YES,S102)。
【0020】一方、実行時刻に関して、高い精度が要求
されない場合には(ステップS101:NO)、マイク
ロプロセッサ7により、時刻情報部4を時計として用い
るためのコマンドがレジスタ31に書込まれる。この場
合のコマンドは、時計42の出力がマルチプレクサ41
を通してトレースメモリ2に入力されるようにするもの
である。そして、マイクロプロセッサ7より時計42に
標準時間がセットされる(ステップS103,S10
4)。
【0021】ここで、マルチプロセッサ構成からなるマ
イクロプロセッサシステムを監視対象装置とする場合
は、実施形態のトレース装置1を、複数台、各マイクロ
プロセッサごとに取り付けて動作させる。この場合に
は、外部同期信号5を用いて、各々のトレース装置のカ
ウンタ43を同時にリセットする(ステップS105:
YES,S106)。
【0022】次に、I/O命令のトレースを指示するコ
マンドをレジスタ31にセットする(ステップS10
7)。このコマンドにより、制御信号33が、メモリ書
込み制御部32に対して送られる。制御信号33の制御
内容は、メモリ書込み制御部32が、ステータスバス6
1の情報でI/O命令を検出した場合に、トレースメモ
リ2に対しメモリアドレス34a及び書込み信号34b
を出し、トレースメモリ2への書込み終了後、アドレス
をインクリメントするように指示するものである(ステ
ップS108,S109)。
【0023】マイクロプロセッサ7が命令の実行を開始
しI/O命令を実行すると、ステータスバス61に対し
て、I/O命令の実行中を表わすステータス情報を出
す。メモリ書込み制御部32はステータスバス61のス
テータス情報信号により、書込み信号34bを送出し、
トレースメモリ2に各バス61〜63のデータを書込む
ように指示する。メモリ書込み制御部32は、書込みが
完了するとメモリアドレスをインクリメントし、次のI
/O命令を検出し、各バス61〜63のデータを書込め
るように準備する(ステップS110,S111)。こ
の書込み動作が繰返されることにより、トレースメモリ
2にI/O命令が書込まれる。アドレスはリングカウン
タ構成をとり、データは上書きされ、トレースメモリ2
の容量で制限される深さの最新の情報がトレースされ
る。
【0024】次に、主記憶装置8への書込み命令(ME
MW)をトレースする場合の例を、図5を参照して説明
する。時刻の設定については、高精度な分解能が要求さ
れる場合と、高い精度が要求されない場合とについて、
既述の例と同様であるので説明を省略する(ステップS
201〜S204)。また、監視対象装置がマルチプロ
セッサ構成である場合についての処理についても、既述
の例と同様である(ステップS205,S206)。
【0025】MEMWのトレースを指示するコマンドを
レジスタ31にセットする。次に、トレースすべきME
MWのアドレス範囲をレジスタ31にセットする(ステ
ップS207)。すると、制御信号33は、メモリ書込
み制御部32に対してステータスバス61の情報でME
MWを検出し、かつアドレスバス62の情報が指定され
たアドレスの範囲であることを検出した場合、トレース
メモリ2に書込み信号34bを出し、トレースメモリ2
への書込み終了後、アドレスをインクリメントするよう
に指示する(ステップS208:YES,S209:Y
ES,S210)。
【0026】次に、マイクロプロセッサ7がMEMW命
令を実行すると、ステータスバス61に対してMEMW
の実行中を表わす情報を出し、アドレスバス62に対し
て書込みアドレスの情報を出す。
【0027】メモリ書込み制御部32は、ステータスバ
ス61及びアドレスバス62の信号より指示された情報
と一致することを確認すると、書込み信号34を送出
し、トレースメモリ2に各バス61〜63のデータを書
込むよう指示する。メモリ書込み制御部32は、データ
の書込みが完了するとメモリアドレスをインクリメント
し、次のデータを書込めるように準備する(ステップS
211,S212)。
【0028】トレースされるデータは、既述のI/O命
令のトレースにおける場合と同様、アドレスはリングカ
ウンタ構成をとり、データは上書きされ、トレースメモ
リ2の容量で制限される深さの最新の情報がトレースさ
れる。
【0029】次にトレースしたデータを読み出す手順に
ついて説明する。障害やプログラムによる停止等で命令
の実行が中止されると、操作部10からの入力に従い、
マイクロプロセッサ7は、トレースメモリ2に記録され
ているデータをダンプするプログラムを実行する。デー
タはCRT表示装置又はプリンタ等からなる出力部11
に出力される。
【0030】図3は、トレースメモリ2に記録され、編
集して出力されたデータの構成を表わすデータ構造図で
ある。図3に示されるように、データは時刻情報を有し
ているため、複数の装置のトレースデータに対し、「こ
の命令はどの装置が速く出したか?」「ある命令は何時
に出したか?」等の解析が可能となる。
【0031】本実施形態は以上のとおりであるが、本発
明は、上記実施形態に限定されるものではなく、その要
旨を逸脱しない範囲での構成変更が可能である。例え
ば、本実施形態では、トレース装置1が、マイクロプロ
セッサシステムのマイクロプロセッサが実行するプログ
ラムのトレースを行なうものとして説明したが、本発明
のトレース装置は、必ずしもこのような構成下で使用さ
れるとは限らない。トレース装置自体に、チップ内にソ
フトウエア命令セットを持つマイクロプロセッサを備え
て、マイクロプロセッサシステムのマイクロプロセッサ
に代替してプログラムを実行させ、そのトレースを行な
うようにすることも可能である。
【0032】
【発明の効果】以上説明したように、本発明のトレース
装置では、マイクロプロセッサが実行するプログラムの
各命令段階を実行するごとに、各命令を実行した時刻の
情報と、トレース結果情報の履歴とを記録し、これらを
対応させて出力させることができるから、プログラムの
デバッグを効率的に実施することが可能となった。
【0033】また、マルチプロセッサに対応しているこ
とから、LAN等で多くのプロセッサが接続されている
環境においても、不正命令を実行しているプロセッサを
容易に見つけ出すことができるようになった。
【図面の簡単な説明】
【図1】本発明の一実施形態のトレース装置の構成図。
【図2】本実施形態のトレース装置が用いられる場合の
接続構成例を示す図。
【図3】トレースメモリに記録されたデータのデータ構
造説明図。
【図4】I/O命令のトレースを行なう際の手順説明
図。
【図5】メモリ書込命令のトレースを行なう際の手順説
明図。
【符号の説明】
1 トレース装置 2 トレースメモリ 3 トレースメモリ制御部 31 レジスタ 32 メモリ書込み制御部 4 時刻情報部 41 マルチプレクサ 42 時計 43 カウンタ 5 外部同期信号 6 共通バス 7 マイクロプロセッサ 8 主記憶装置 11 出力部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサが実行する複数の命
    令を含むプログラムのトレースを行なうトレース装置に
    おいて、 前記プログラムの命令段階を実行するごとに、各命令を
    実行した時刻の情報とトレース結果情報の履歴とを記録
    するとともに、前記時刻の情報とトレース結果情報とを
    対応させて出力させる履歴編集手段を有することを特徴
    とするトレース装置。
  2. 【請求項2】 マルチプロセッサ構成からなる監視対象
    マイクロプロセッサシステムの、一のマイクロプロセッ
    サが実行する複数の命令を含むプログラムのトレースを
    行なうトレース装置であって、 前記プログラムの各命令段階を実行するごとに、各命令
    を実行した時刻の情報とトレース結果情報の履歴とを記
    録するとともに、前記時刻の情報とトレース結果情報と
    を対応させて出力させる履歴編集手段と、 自装置と、前記監視対象マイクロプロセッサシステムの
    他のマイクロプロセッサが実行するプログラムのトレー
    スを行なう他装置との同期を図るための同期手段とを有
    することを特徴とするトレース装置。
JP6520597A 1997-03-18 1997-03-18 トレース装置 Pending JPH10260864A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6520597A JPH10260864A (ja) 1997-03-18 1997-03-18 トレース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6520597A JPH10260864A (ja) 1997-03-18 1997-03-18 トレース装置

Publications (1)

Publication Number Publication Date
JPH10260864A true JPH10260864A (ja) 1998-09-29

Family

ID=13280193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6520597A Pending JPH10260864A (ja) 1997-03-18 1997-03-18 トレース装置

Country Status (1)

Country Link
JP (1) JPH10260864A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635040B2 (en) 2006-12-21 2014-01-21 Nec Corporation Signal measuring device and signal measuring method
JP6469330B1 (ja) * 2018-04-25 2019-02-13 三菱電機株式会社 モニタ支援装置、モニタ支援方法およびモニタ支援プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635040B2 (en) 2006-12-21 2014-01-21 Nec Corporation Signal measuring device and signal measuring method
JP6469330B1 (ja) * 2018-04-25 2019-02-13 三菱電機株式会社 モニタ支援装置、モニタ支援方法およびモニタ支援プログラム
WO2019207679A1 (ja) * 2018-04-25 2019-10-31 三菱電機株式会社 モニタ支援装置、プログラマブルロジックコントローラ、モニタ支援方法およびモニタ支援プログラム
CN110637263A (zh) * 2018-04-25 2019-12-31 三菱电机株式会社 监视辅助装置、可编程逻辑控制器、监视辅助方法及监视辅助程序
CN110637263B (zh) * 2018-04-25 2022-08-19 三菱电机株式会社 监视辅助装置、监视辅助方法及记录介质

Similar Documents

Publication Publication Date Title
US8180620B2 (en) Apparatus and method for performing hardware and software co-verification testing
US6598178B1 (en) Peripheral breakpoint signaler
US4782461A (en) Logical grouping of facilities within a computer development system
EP0084431A2 (en) Monitoring computer systems
US6961872B2 (en) Microcomputer and debugging system
JPS61204749A (ja) ソフトウエア動作解析装置
JPH10260864A (ja) トレース装置
JP2003263339A (ja) デバック機能内蔵型マイクロコンピュータ
Kline et al. The in-circuit approach to the development of microcomputer-based products
JP2010102372A (ja) データ処理装置、検証システム、データ処理装置検証方法
JP2006323726A (ja) モニタプログラムおよびリアルタイムトレースシステム
JP3002341B2 (ja) ロジックアナライザ
JP2005165825A (ja) トレース情報記録装置
JPH0934754A (ja) プログラムの性能測定装置と方法
CN117422026B (zh) 一种基于risc-v架构的处理器验证系统
JP2000348007A (ja) マルチプロセッサシステムのための動作トレース時刻同期方式およびその方法
JP2011164860A (ja) 検証装置及び検証プログラム
KR20070035570A (ko) 에뮬레이션 및 디버그 시스템, 집적 회로 목표 장치 및에뮬레이션 방법
CN117892661A (zh) 一种基于risc-v处理器验证的模拟器比对系统
JPH05250221A (ja) シミュレータ実行方式
JPH01131934A (ja) 動的シングルクロツクトレース方式
KR20230162413A (ko) 스토리지 장치를 검사하는 디버그 장치, 디버그 시스템 및 디버그 방법
JPS607554A (ja) コンピユ−タシステムの性能測定方式
JP2004145670A (ja) テストベンチ生成方法、テストベンチ生成装置、及びコンピュータプログラム
Conrad et al. The Integration Of Microcomputer Hardware And Software Development Tools And Techniques