JPH03113646A - トレース回路 - Google Patents

トレース回路

Info

Publication number
JPH03113646A
JPH03113646A JP1252598A JP25259889A JPH03113646A JP H03113646 A JPH03113646 A JP H03113646A JP 1252598 A JP1252598 A JP 1252598A JP 25259889 A JP25259889 A JP 25259889A JP H03113646 A JPH03113646 A JP H03113646A
Authority
JP
Japan
Prior art keywords
address
loop
trace
trace memory
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1252598A
Other languages
English (en)
Other versions
JPH0748183B2 (ja
Inventor
Tadashi Ito
直史 伊藤
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP1252598A priority Critical patent/JPH0748183B2/ja
Publication of JPH03113646A publication Critical patent/JPH03113646A/ja
Publication of JPH0748183B2 publication Critical patent/JPH0748183B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はトレース回路に関し、特に、マイクロプロセッ
サ用インサーキットエミュレータ等に具備されるプログ
ラム実行トレース回路に関する。
(従来の技術) 従来のインサーキットエミュレータのトレース回路は、
トレース開始から常にマイクロプロセッサのバスアクセ
スをトレースし、トレースメモリ(通常、数にステップ
程度を記憶可能)にサイクリックに記憶していき、トレ
ース終了条件が成立した時にトレースメモリへの書込み
を停止I−するようになっている。
(発明が解決しようとする課題) 調べたい個所とトレース終了条件が成立する個所の間で
は、通常の場合、多くの命令が実行される。その間でル
ープが実行されると、従来の方法では、ループの実行結
果ばかりがトレースメモリに残ることになり、調べたい
個所をトレースできない場合があった。
例えば第5図(a)に示すように、トレース条件が成立
するまでにループ(G−H間)を何回も実行する必要が
あるとする。この場合、トレースメモリにプログラム実
行結果をすべて書込んでいき、容量オーバーとなると最
初のメモリーアドレスに戻ってオーバーライドしていく
とすると、最終的にはループの実行結果ばかりが記録さ
れ、調べたい個所Fの実行結果は消えてしまい、トレー
スできない。
また、このような問題を回避するためには大量のトレー
スメモリが必要となり、回路規模が大型化し、専有面積
の増大を招く等の問題があった。
本発明は上述した問題点に鑑みてなされたものであり、
その目的は、ループの実行による有効なトレースデータ
の実質的な減少を防止し、トレースメモリを最大限に活
用できるトレース回路を提供することにある。
(課題を解決するための手段) 本発明のトレース回路は、トレース開始から終了に至る
まで実行されるループの先頭アドレスを記憶しているル
ープアドレスレジスタと、該ループアドレスレジスタの
記憶しているループ先頭アドレスと、ターゲットシステ
ムのアドレスバスの現在のアドレスとの一致を検出する
比較器と、該比較器により一致が検出された場合に、該
現在のアドレスの前記トレースメモリへの書込みアドレ
スを保持する記憶回路と、前記比較器により一致が検出
された場合に前記現在のアドレスが直前のアドレスに連
続するアドレスであるか、あるいは不連続なアドレスで
あるかを検出する比較器と、該比較器により現在のアド
レスと直前のアドレスとが不連続であることが検出され
た場合、前記記憶回路が保持しているアドレスを前記ト
レースメモリへの書込みアドレスとして選択するセレク
タとを有することを特徴とする。
(作用) あらかじめループアドレスレジスタに登録されているル
ープ先頭アドレスに実際の実行アドレスが到達すると、
それがプログラムをシーケンシャルに実行した結果始め
て到達したものであるか、あるいはループを実行するた
めに分岐命令によってループ先頭に分岐してきた結果で
あるかを検出し、ループ先頭に分岐してきた場合には、
この実行結果をトレースメモリの新たな番地に書込まず
、一番最初にシーケンシャルに実行した時のデータが記
憶されている番地にオーバーライドすることにより、ル
ープの実行部分が重複してトレースメモリに記録されな
いようにし、メモリの有効利用を達成する。
(実施例) 次に、本発明の実施例について図面を参照して説明する
第1図は本発明のトレース回路の一実施例のブロック図
である。
本実施例は、ターゲットマイクロプロセッサのデータバ
スおよびアドレスバスの状態を記録するトレースメモリ
1と、命令フェッチサイクルであることを検出するデコ
ーダ2と、現在実行中の命令アドレスに1を加算する加
算器3aと、そのアドレスを保持するラッチ4と、ルー
プ先頭アドレスを保持するループアドレスレジスタ5と
、現在の命令アドレスを、直前の命令アドレスに1を加
算したものおよびループ先頭アドレスと比較して一致を
検出するコンパレータ6b、6aと、トレースメモリへ
の書込みアドレスを保持するラッチ7と、ループ先頭ア
ドレスをトレースメモリに書込んだときのトレースメモ
リアドレスを保持するラッチ8と、トレースメモリアド
レスを通常の命令実行の場合と、ループ先頭への分岐が
起きた場合とで切り換えるセレクタ9と、次のトレース
メモリアドレスを生成するための加算器3bと、ループ
の回数をカウントするループカウンタ11とから構成さ
れている。
以上の回路により、通常の命令実行では、十レースメモ
リアドレスを+1ずつインクリメントしながら、トレー
スを行い、ループ先頭命令をシーケンシャルに実行した
場合には、その時のトレースメモリアドレスを記憶しく
ラッチ8)、ループ先頭命令へ分岐して来て実行した場
合には、トレースメモリアドレスを、前にループ先頭命
令を格納したトレースメモリアドレス(ラッチ8の内容
)に設定することにより、ループ実行部分は最新の実行
結果のみトレースする機能を実現したものである。
各回路の機能は以下のとおりである。
トレースメモリ1は、データ、アドレスおよびループ先
頭に分岐してきたことを示すビットを記憶する。
デコーダ2は、命令フェッチサイクルであればFETC
HをLOWにする。
加算器3a、3bはアドレスに1を加算する。
ラッチ4は、直前の命令フェッチサイクルのアドレス+
1を保持する。
ループアドレスレジスタ5には、ループ先頭アドレスを
設定しておく。
コンパレータ6a、6bは、アドレスの一致を検出する
FETCHにより制御され、命令フェッチサイクルでの
み動作する。
ラッチ7は、トレースメモリの書込みアドレスを保持す
る。
ラッチ8は、ループ先頭が実行されたときのトレースメ
モリアドレスを保持する。
セレクタ9は、通常はラッチ7のアドレスをトレースメ
モリアドレスとして与える。ループ先頭へ分岐してきた
場合は、ラッチ8をセレクトする。
ループカウンタ11は、ループの実行回数をカウントす
る。
次に、本実施例の動作を第2図および第3図を用いて具
体的に説明する。
(1)ループ先頭をシーケンシャルに実行した場合ルー
プアドレスレジスタ5に設定されているループ先頭アド
レスNと現在のアドレスとが一致すると比較器6aから
出力される信号HITが一時的にローレベルとなる(す
なわち負パルスが出力される)。また、現在のアドレス
とラッチ4の出力(直前のアドレス+1)とが共にNで
あり、一致しているため、C0NTもローレベルとなっ
て負パルスが出力される。これにより、ナントゲートT
1の出力がローレベルとなってサンプリングパルスがラ
ッチ8に供給され、ループ先頭データを格納したトレー
スメモリのアドレスTがこのラッチ8に保持される。
すなわち、ナントゲートT2の出力はハイレベル(“l
”)であるため、セレクタの出力YはAfliJ子の入
力(ラッチ7の出力T)に等しくこのラッチ7の出力T
がトレースメモリへの書込みアドレスとなり、一方で、
このアドレスTが後のループ実行に備えてラッチ8に保
持される。
(2)ループ先頭に分岐してきた場合 この場合、ループ先頭アドレス(現在のアドレス)Nと
ラッチ4の出力アドレスM+1とが一致しないためC0
NTはハイレベルを維持する。これにより、ナントゲー
トT2の出力がローレベル(”O” )となってセレク
タ9はラッチ8の出力アドレスを選択する。すなわち、
ラッチ8の内容Tがトレースメモリの書込みアドレスと
なり、ラッチ7にT+lをロードして、以下シーケンシ
ャルに実行した場合と同じアドレスにデータがオーバー
ライドされる。
第4図(a)、  (b)は本実施例のトレース動作の
一例を示す図である。
同図(a)のようなプロセッサ動作が行なわれる場合、
ループが実行される部分B、 Dは、最新のループ実行
結果のみがトレースメモリに残り、それ以前の−ものは
オーバーライドされる(同図(b))。
この場合、ループカウンタ11は、トレース終了後、ル
ープDのループ実行回数を保持している。
また、ループB、 Dの先頭では、ループ先頭への分岐
があったことを示すビットがオンになっている。
以上、本発明を実施例を用いて説明したが、木発明はこ
れに限定されるものでなく、種々、変形、応用が可能で
ある。例えば、ループアドレスレジスタを含む検出回路
を複数設け、多重ループおよび複数シーケンシャルルー
プにも対応可能とすることもできる。
また、本発明はインサーキットエミュレータのトレース
回路だけではなく、例えば、マイクロプログラムのトレ
ース回路等にも利用できる。
(発明の効果) 以上説明したように本発明は、トレース中に、あらかじ
め登録しておいたループがあると、これをリアルタイム
に検出して、ループの実行部分が重複してトレースメモ
リに記録されないようにすることにより、メモリを有効
に利用するトレース機能を実現できる効果がある。
これにより、従来のトレース機能ではとらえられなかっ
た現象も、トレースメモリの容量を増大させることなく
トレースすることがIIJ能となる。
【図面の簡単な説明】
第1図は本発明のトレース回路の一実施例のブロック図
、 第2図はループ先頭をシーケンシャルに実行した場合の
動作を説明するためのタイミングチャート、 第3図はループ先頭に分岐してきた場合の動作を説明す
るためのタイミングチャート、第4図(a)、  (b
)は第1図の実施例のトレース動作の一例を示す図であ
り、(a)はターゲットプロセッサの動作、(b)はト
レースメモリの内容を示す図であり、 第5図(a)、  (b)は従来例のトレース動作の一
例を示す図である。 1・・・トレースメモリ  2・・・デコーダ3a、3
b・・・1加算器 4・・・ラッチ5・・・ループアド
レスレジスタ

Claims (1)

  1. 【特許請求の範囲】 ターゲットシステムにプログラムを実行させ、該ターゲ
    ットシステムのバスアクセスをモニターしながらデータ
    バスおよびアドレスバスの状態をトレースメモリに記録
    するトレース回路において、トレース開始から終了に至
    るまでに実行されるループの先頭アドレスを記憶してい
    るループアドレスレジスタ(5)と、 該ループアドレスレジスタ(5)の記憶しているループ
    先頭アドレスと、ターゲットシステムのアドレスバスの
    現在のアドレスとの一致を検出する比較器(6a)と、 該比較器(6a)により一致が検出された場合に、該現
    在のアドレスの前記トレースメモリへの書込みアドレス
    を保持する記憶回路(8)と、前記比較器(6a)によ
    り一致が検出された場合に前記現在のアドレスが直前の
    アドレスに連続するアドレスであるか、あるいは不連続
    なアドレスであるかを検出する比較器(6b)と、 該比較器(6b)により現在のアドレスと直前のアドレ
    スとが不連続であることが検出された場合、前記記憶回
    路が保持しているアドレスを前記トレースメモリへの書
    込みアドレスとして選択するセレクタ(9)とを有する
    ことを特徴とするトレース回路。
JP1252598A 1989-09-28 1989-09-28 トレース回路 Expired - Lifetime JPH0748183B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1252598A JPH0748183B2 (ja) 1989-09-28 1989-09-28 トレース回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1252598A JPH0748183B2 (ja) 1989-09-28 1989-09-28 トレース回路

Publications (2)

Publication Number Publication Date
JPH03113646A true JPH03113646A (ja) 1991-05-15
JPH0748183B2 JPH0748183B2 (ja) 1995-05-24

Family

ID=17239598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1252598A Expired - Lifetime JPH0748183B2 (ja) 1989-09-28 1989-09-28 トレース回路

Country Status (1)

Country Link
JP (1) JPH0748183B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100407548B1 (ko) * 2000-11-27 2003-11-28 미쓰비시덴키 가부시키가이샤 트레이스 제어 회로
US7155570B1 (en) 2000-09-29 2006-12-26 Intel Corporation FIFO write/LIFO read trace buffer with software and hardware loop compression
JP2012098979A (ja) * 2010-11-04 2012-05-24 Fujitsu Semiconductor Ltd トレース圧縮装置、トレース圧縮プログラム
JP2019509575A (ja) * 2016-03-23 2019-04-04 エイアールエム リミテッド プログラム・ループ制御

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155570B1 (en) 2000-09-29 2006-12-26 Intel Corporation FIFO write/LIFO read trace buffer with software and hardware loop compression
KR100407548B1 (ko) * 2000-11-27 2003-11-28 미쓰비시덴키 가부시키가이샤 트레이스 제어 회로
JP2012098979A (ja) * 2010-11-04 2012-05-24 Fujitsu Semiconductor Ltd トレース圧縮装置、トレース圧縮プログラム
JP2019509575A (ja) * 2016-03-23 2019-04-04 エイアールエム リミテッド プログラム・ループ制御

Also Published As

Publication number Publication date
JPH0748183B2 (ja) 1995-05-24

Similar Documents

Publication Publication Date Title
JPH03113646A (ja) トレース回路
JPS58197553A (ja) プログラム監視装置
JPS60159951A (ja) 情報処理装置におけるトレ−ス方式
JPH02127731A (ja) 演算レジスタのバイパスチェック方式
JPH0581087A (ja) プロセサのモニタ方式
JP2001005689A (ja) トレース採取回路
JPS626341A (ja) 情報処理装置
JPH04328644A (ja) デバッグ支援装置
JPH02103642A (ja) 履歴情報格納方式
JPH03163626A (ja) マイクロコンピュータ
JPH04310138A (ja) データ伝送装置のデバッグ方法
JPH04195552A (ja) アドレストレーサ
JPH04242455A (ja) プロセッサ間通信トレース回路
JPS63165931A (ja) 不連続命令フエツチアドレス情報記憶方式
JPH0399338A (ja) マイクロプロセッサ
JPS6292038A (ja) ヒストリメモリ記録制御方式
JPH03194625A (ja) 情報処理装置のアドレストレース方式
JPS6385940A (ja) 情報処理装置の試験方式
JPH02244342A (ja) 分岐命令のトレーサー
JPS5960657A (ja) 実行パス解析装置
JPS62140157A (ja) デイジタル信号処理用プロセツサ
JPS63639A (ja) プログラムデバツグ方式
JPS6168648A (ja) ブランチトレ−スアドレス記憶方式
JPH01253045A (ja) 論理分析回路
JPS5892046A (ja) デ−タトレ−ス装置