JPH0512071A - トレース回路 - Google Patents

トレース回路

Info

Publication number
JPH0512071A
JPH0512071A JP3189563A JP18956391A JPH0512071A JP H0512071 A JPH0512071 A JP H0512071A JP 3189563 A JP3189563 A JP 3189563A JP 18956391 A JP18956391 A JP 18956391A JP H0512071 A JPH0512071 A JP H0512071A
Authority
JP
Japan
Prior art keywords
trace
signal
necessity
circuit
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.)
Pending
Application number
JP3189563A
Other languages
English (en)
Inventor
Hidekazu Tanaka
英和 田中
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3189563A priority Critical patent/JPH0512071A/ja
Publication of JPH0512071A publication Critical patent/JPH0512071A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 プログラムの実行状態をトレースするトレー
ス回路において、トレースメモリに格納される信号を、
トレースの対象となっているプログラムに関するものの
みとする。 【構成】 トレース要否選択回路12は、バス4に出力
されたアドレス信号が、トレースの対象となっているプ
ログラムが占有するメモリ空間内のアドレスを示してい
るときに、トレースが必要であることを示す信号を出力
する。トレース書込タイミング発生回路11は、その信
号を入力したときに、トレースメモリ8に対して書込信
号を与える。トレースメモリ8は、書込信号に従ってバ
ス4上の信号を取り込む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、マイクロプロセッサ
が実行した命令や入出力したデータを実行順序および入
出力順序に従って記憶するトレース回路に関するもので
ある。
【0002】
【従来の技術】図8は例えば特開昭62−279438
号公報に示された従来のトレース回路を示すブロック図
である。図において、1はマイクロプロセッサ(以下、
CPUという。)、2はCPU1が実行するプログラム
および取り扱うデータが格納されるメモリ、3は入出力
装置あるいは入出力装置とインタフェースするためのI
/Oポート(以下、IOという。)、4はCPU1が入
出力するコントロール信号、アドレス信号、データ信号
およびステータス信号などが通過するバスであり、これ
らはトレース回路のトレース対象となるシステムを構成
するものである。
【0003】5,6,7はそれぞれバス4とインタフェ
ースするためのバッファ、8はバス4から取り込まれた
信号が格納されるトレースメモリ、9はトレースメモリ
8のアドレスを指定するアドレスカウンタ、10はバス
上の信号などからトレース停止条件を検出するトレース
停止条件検出回路、11はバス4上のコントロール信号
やステータス信号からトレースメモリ8に対する書込信
号やアドレスカウンタ9へのカウントアップ信号を生成
するトレース書込タイミング生成回路である。
【0004】次に動作について説明する。CPU1から
トレース書込タイミング生成回路11にトレース開始コ
マンドが出力されると、トレース書込タイミング生成回
路11は、トレース動作を開始する。トレース動作が開
始されると、トレース書込タイミング生成回路11は、
CPU1がプログラムを実行しているときに、CPU1
から出力されるステータス信号を監視する。
【0005】そして、CPU1のバスアクセス実行(メ
モリ2からの命令の取出しすなわち命令フェッチおよび
メモリ2やIO3に対する書込みもしくは読出し)を知
ると、トレースメモリ8に書込信号を与える。すると、
トレースメモリ8は、バス4上のアドレス信号、データ
信号およびステータス信号などを取り込んで、アドレス
カウンタ9が示すアドレスにそれらを記憶する。
【0006】また、トレース書込タイミング生成回路1
1は、トレースメモリ8に対する書込信号が無意になる
タイミングで、アドレスカウンタ9にカウントアップ信
号を与える。アドレスカウンタ9は、カウントアップ信
号に応じてアドレスを更新する。以上の動作が繰り返さ
れて、プログラムの実行順序に従って、アドレス信号な
どのトレース対象内容がトレースメモリ8に格納されて
いく。
【0007】トレース停止条件検出回路10は、あらか
じめ設定されているトレース停止条件とバス4上の各信
号の状態との一致を検出したら、トレース停止信号を出
力する。すると、トレース書込タイミング生成回路11
は、動作を止める。また、通常、CPU1のプログラム
実行も停止する。
【0008】トレースメモリ8の内容の読出しは以下の
ように実行される。まず、CPU1は、トレースが停止
した時点のアドレスカウンタ9の値をバッファゲート7
を介して読出して、トレースメモリ8におけるトレース
対象内容の最終格納アドレスを知る。次に、読出すべき
内容が格納されているトレースメモリ8のアドレスを、
アドレスカウンタ9に設定し、トレースメモリ8に読出
し信号を与える。そして、トレースメモリ8から出力さ
れた内容を、バッファゲート5を介して入力する。
【0009】以上の動作が繰り返されて、所望のトレー
ス対象内容がCPU1に順次入力される。それらの内容
は、例えばCRT(図示せず)に、所定のフォーマット
で表示される。
【0010】
【発明が解決しようとする課題】従来のトレース回路は
以上のように構成されているので、長期間にわたるトレ
ース情報が要求される場合には非常に大きなトレースメ
モリ8の容量が必要となり、また、トレース情報の解析
を行う際にその中に不必要なデータが多く含まれるため
解析するのに時間を要するという課題があった。
【0011】例えば、オペレーティングシステムのもと
で動作するプログラムのデバッグに対してトレース回路
を使用した場合には、デバッグ対象のプログラムに関す
るトレース情報の他にオペレーティングシステムに関す
る情報もトレース対象内容としてトレースメモリ8に残
ることになる。さらに、オペレーティングシステムのも
とで複数のプログラムが動作しそのうちの1つをデバッ
グ対象とした場合には、他のプログラムに関するトレー
ス情報もトレースメモリ8に残る。
【0012】このように、所望のプログラムのトレース
情報の他に不必要なトレース情報が入り込むので、トレ
ースメモリ8の容量によっては、所望のプログラムのト
レース情報がトレースメモリ8からはみ出してしまう。
すなわち消失してしまう。また、大量の不必要なものを
含むトレース情報から真に必要なものを抜き出す手間も
かかる。
【0013】この発明は上記のような課題を解消するた
めになされたもので、必要なトレース対象のみに対する
トレースを可能とし、トレースメモリの有効活用がはか
れるとともにトレース内容の解析時間を短縮しうるトレ
ース回路を得ることを目的とする。
【0014】
【課題を解決するための手段】この発明に係るトレース
回路は、バス上の信号の内容に応じてトレースを実行す
るか否か判定し、トレースを実行しないと判定した場合
には、トレース書込タイミング発生回路のタイミング発
生を禁止するトレース要否選択回路を備えたものであ
る。
【0015】
【作用】この発明におけるトレース要否選択回路は、ト
レース対象とならないバス上の信号を、トレース書込タ
イミング生成回路を制御することにより、トレースメモ
リに格納しないようにする。
【0016】
【実施例】
実施例1.図1はこの発明の第1の実施例によるトレー
ス回路を示すブロック図であり、図において、12はバ
ス4上の信号のトレースメモリ8への格納の要否すなわ
ちトレースの要否を選択するトレース要否選択回路であ
る。その他のものは同一符号を付して図8に示したもの
と同一のものである。
【0017】また、図2はトレース要否選択回路12を
ROM12Aで構成した場合を示したものである。な
お、この場合には、バス4上のアドレス信号の内容に応
じて、トレースの要否が決定される。
【0018】ここでは、CPU1は1Mバイトのメモリ
空間を有し、そのメモリ空間にプログラムA〜プログラ
ムEの5種のプログラムが存在し、そのうちプログラム
A,C,Eがトレース対象となるプログラムであるとす
る。また、ROM12Aは32K×8ビットの容量を有
し、データ8ビットのうちの1ビットがトレースの要否
を示す信号に割り当てられているとする。そして、RO
M12Aの15ビットのアドレス入力のうち、アドレス
A13,A14は4つのトレース要否パターンのうちの
1つを選択するために使用され、アドレスA12にはメ
モリ・IO選択信号が入力される。
【0019】次に、ROM12Aの内容の決定方法につ
いて説明する。図3は、CPU1のメモリ空間とROM
12Aのマップとの対応関係を示したものである。RO
M12Aのアドレス端子には、バス4からCPU1側の
アドレスADR8〜ADR19が導入されているので、
ROM12Aの任意の1バイトは、CPU1のメモリ空
間内の256バイトに対応している。すなわち、256
バイト空間単位にトレース要否を設定することができ
る。
【0020】図3に示したように、プログラムA〜Eの
それぞれの占有空間を、00000H〜0FFFFH,
10000H〜1FFFFH,20000H〜2FFF
FH,80000H〜8FFFFH,90000H〜9
FFFFHの各64Kバイト空間とする。このとき、プ
ログラムA〜Eの占有空間は、それぞれROM12Aの
0000H〜00FFH,0100H〜01FFH,0
200H〜02FFH,0800H〜08FFH,09
00H〜09FFHの各256バイト空間に対応する。
トレース要否を示す信号が「0」のときトレース不要、
「1」のときトレース要と定義すると、プログラムB,
Dに対応したROM12Aの領域0100H〜01FF
Hおよび0800〜08FFHのデータのビット0が
「0」その他のデータのビット0が「1」となるよう
に、ROM12Aのデータが設定されればよい。
【0021】なお、図2は、ROM12AのA13,A
14を「0,0」に固定して、ROM12Aからトレー
ス要否パターン#1(ROM12Aの0000H〜1F
FFHの領域で定められる。)のトレース要否を示す信
号が出力される場合を示しているが、ROM12AのA
13,A14の入力を他の値とすれば、ROM12Aか
らは、トレース要否パターン#2,#3,#4のトレー
ス要否を示す信号が出力される。トレース要否パターン
#2,#3,#4に応じたROM12A内のデータ(2
000H〜7FFFHのデータ)の作成方法は、トレー
ス要否パターン#1のそれと同様である。
【0022】次に、以上のようにして作成されたROM
12Aを用いたトレース動作について説明する。トレー
ス動作が開始されると、トレース書込タイミング生成回
路11は、CPU1から出力されるステータス信号を監
視する。また、トレース要否選択回路12は、CPU1
から出力されるアドレス信号ADR8〜ADR19およ
びメモリ・IO選択信号を入力する。そして、アドレス
信号ADR8〜ADR19がプログラムA,C,Eが占
有するメモリ空間内のアドレスを示しているときには、
ROM12Aから出力されるトレース要否を示す信号は
「1」である。
【0023】トレース書込タイミング生成回路11は、
CPU1のバスアクセスの実行を知って、そのときにト
レース要否を示す信号が「1」であれば、トレースメモ
リ8に書込信号を与える。すると、トレースメモリ8
は、バス4上のアドレス信号,データ信号およびステー
タス信号などを取り込んで、アドレスカウンタ9が示す
アドレスにそれらを記憶する。また、トレース書込タイ
ミング生成回路11は、トレースメモリ8に対する書込
信号が無意になるタイミングで、アドレスカウンタ9に
カウントアップ信号を与える。
【0024】トレース要否選択回路12に入力されたア
ドレス信号ADR8〜ADR19がプログラムB,Dが
占有するメモリ空間内のアドレスを示しているときに
は、ROM12Aから出力されるトレース要否を示す信
号は「0」である。よって、そのときには、トレース書
込タイミング生成回路11は、トレースメモリ8に書込
信号を与えず、また、アドレスカウンタ9にカウントア
ップ信号を出力しない。以上の動作が繰り返されて、ト
レース対象であるプログラムA,C,Eの実行順序に従
ってトレース対象内容がトレースメモリ8に格納され
る。
【0025】なお、トレースの停止およびトレースメモ
リ8の読出しは、従来の場合と同様に行われる。
【0026】実施例2.図4はこの発明の第2の実施例
によるトレース回路を示すブロック図である。図におい
て、14はトレース要否パターンを切替えるためのトレ
ース要否パターン切替回路である。また、図5はトレー
ス要否パターン切替回路14およびトレース要否選択回
路12の構成例を示したもので、トレース要否選択回路
12の構成は、第1の実施例における構成と同じであ
る。ただし、アドレスA13,A14にはトレース要否
パターン切替回路14の出力が接続される。また、トレ
ース要否切替回路14はラッチ回路14Aで構成されて
いる。
【0027】次に動作について説明する。トレースを開
始する前に、CPU1は、ラッチ回路14Aにトレース
要否パターンを選択する2ビットの信号を出力する。そ
の信号が「0」であれば、ラッチ回路の出力は「0,
0」であり、ROM12Aにおいてトレース要否パター
ン#1が選択される。また、その信号が「1」であれば
トレース要否パターン#2が、「2」であればトレース
要否パターン#3が、そして、「3」であればトレース
要否パターン#4が選択される。トレース要否パターン
がいずれかに設定された後、トレース動作を開始するこ
とができる。トレース動作については第1の実施例の場
合と同じである。
【0028】実施例3.図6はこの発明の第3の実施例
によるトレース回路を示すブロック図である。図におい
て、16はトレース要否選択回路12が取扱うトレース
要否パターンを設定しもしくは変更するためのトレース
要否書込回路である。図ではトレース要否書込回路16
およびトレース要否選択回路12の構成例を示したもの
で、トレース要否選択回路12は、32K×8ビットの
容量を持つRAM12Bで構成されている。
【0029】また、トレース要否書込回路16におい
て、18はトレース要否パターンの書込みを行っている
か否かのトレース要否書込状態を示すDフリップフロッ
プ、19,20,21はトレース要否書込状態信号によ
って出力が制御されるバッファゲート、22はCPU1
がRAM17を選択したことを示す信号とトレース要否
状態のときにハイレベルとなる信号とを入力とし出力が
RAM12Bのチップ選択信号端子CS(ローアクティ
ブ)に接続される論理積ゲート、23はCPU1が出力
する書込信号WRCLとトレース要否書込状態のときに
ローレベルとなる信号とを入力し出力がRAM12Bの
書込信号端子WR(ローアクティブ)に接続された論理
和ゲートである。
【0030】次に動作について説明する。まず、CPU
1は、トレース要否選択回路12のRAM12Bにトレ
ース要否パターンを設定する。そのために、トレース要
否書込イネーブルコマンドを発行する。Dフリップフロ
ップ18はそのコマンドでセットされ、出力端子(Q端
子)がハイレベル、反転出力端子がローレベルとなる。
よって、バッファゲート19,21は出力イネーブル状
態となり、バッファゲート20は出力ディスエーブル状
態となる。すなわち、バス4からのアドレス信号ADR
0〜ADR12がRAM12Bのアドレス端子に接続さ
れ、バスからのデータ信号DATA0がRAM12Bの
データD0端子に接続される。
【0031】また、CPU1の書込信号が論理和ゲート
23を通過しうる状態となり、RAM12Bの選択信号
が論理積ゲートを通過しうる状態となる。そして、RA
M12Bの出力コントロール端子OE(ローアクティ
ブ)には、ハイレベルの信号が出力され、RAM12B
は出力禁止状態となる。この状態は、CPU1がバス4
を介してRAM12Bにデータを書き込める状態であ
る。よって、CPU1は、例えば図2に示すトレース要
否パターン#1をRAM12Bに書き込む。
【0032】RAM12Bのトレース要否パターンの設
定が終わると、CPU1は、トレース要否書込ディスエ
ーブルコマンドを発行する。このコマンドにより、Dフ
リップフロップ18は入力端子Dに入力されているロー
レベルをラッチし、Dフリップフロップ18の出力端子
がローレベル、反転出力端子がハイレベルとなる。よっ
て、バス4からのアドレス信号ADR8〜ADR19が
RAM12Bのアドレス端子に接続され、バッファゲー
ト19,21の出力はハイインピーダンス状態となる。
【0033】また、RAM12Bのチップ選択信号端子
には論理積ゲート22を介して常時ハイレベルが供給さ
れ、書込信号端子には論理和ゲート23を介して常時ハ
イレベルが供給される。さらに、出力コントロール端子
にも常時ハイレベルが供給される。この状態は、RAM
12Bがバス4と切離されバス4を単にモニタできる状
態であり、図3に示した状態と等価な状態である。すな
わち、この状態で、第1の実施例の場合と同様にトレー
ス動作を行うことができる。
【0034】この場合には、任意の形式のトレース要否
パターンを設定でき、プログラムのメモリマップが固定
されていないシステムやプログラム数が多くメモリマッ
プが複雑なシステムに対しても、トレース対象とするプ
ログラムの選択が確実にでき、有効なトレースを行うこ
とができる。
【0035】
【発明の効果】以上のようにこの発明によれば、トレー
ス回路を、トレース要否選択回路によってトレースメモ
リに格納されるべき信号を選択するように構成したの
で、必要とされるトレース対象のみに対するトレースを
可能とし、トレースメモリの容量が従来のものと同じで
あってもトレース対象プログラムにおけるトレース範囲
を広げることができ、また、解析の際に必要とされない
ものがトレースメモリに入らないことから解析時間を短
縮するものが得られる効果がある。
【図面の簡単な説明】
【図1】この発明の第1の実施例によるトレース回路を
示すブロック図である。
【図2】図1に示すトレース要否選択回路の一構成例を
示す回路図である。
【図3】CPUのメモリマップとトレース要否選択回路
におけるメモリマップとの対応を示す説明図である。
【図4】この発明の第2の実施例によるトレース回路を
示すブロック図である。
【図5】図4に示すトレース要否選択回路およびトレー
ス要否パターン切替回路の一構成例を示す回路図であ
る。
【図6】この発明の第3の実施例によるトレース回路を
示すブロック図である。
【図7】図6に示すトレース要否選択回路およびトレー
ス要否書込回路の一構成例を示す回路図である。
【図8】従来のトレース回路を示すブロック図である。
【符号の説明】
8 トレースメモリ 11 トレース書込タイミング生成回路 12 トレース要否選択回路

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 マイクロプロセッサがバスに出力した信
    号およびバスから入力する信号をモニタするタイミング
    を発生するトレース書込タイミング生成回路と、前記タ
    イミングに従って前記バス上の信号を取り込んでその信
    号を記憶するトレースメモリとを備えたトレース回路に
    おいて、前記バス上の信号の内容に応じてトレースを実
    行するか否か判定し、トレースを実行しないと判定した
    場合に前記トレース書込タイミング発生回路のタイミン
    グ発生を禁止するトレース要否選択回路を備えたことを
    特徴とするトレース回路。
JP3189563A 1991-07-04 1991-07-04 トレース回路 Pending JPH0512071A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3189563A JPH0512071A (ja) 1991-07-04 1991-07-04 トレース回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3189563A JPH0512071A (ja) 1991-07-04 1991-07-04 トレース回路

Publications (1)

Publication Number Publication Date
JPH0512071A true JPH0512071A (ja) 1993-01-22

Family

ID=16243430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3189563A Pending JPH0512071A (ja) 1991-07-04 1991-07-04 トレース回路

Country Status (1)

Country Link
JP (1) JPH0512071A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123050A (ja) * 2008-11-21 2010-06-03 Renesas Technology Corp 半導体装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123050A (ja) * 2008-11-21 2010-06-03 Renesas Technology Corp 半導体装置

Similar Documents

Publication Publication Date Title
JPH0212541A (ja) コンピユーテイング・システム及びその動作方法
JPH02133834A (ja) インサートキットエミュレータ
US5210847A (en) Noncacheable address random access memory
KR20200123799A (ko) 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법
US11360713B2 (en) Semiconductor device and debug system
JPH0512071A (ja) トレース回路
JPS60159951A (ja) 情報処理装置におけるトレ−ス方式
KR20200124243A (ko) 처리회로 상에서 실행할 프로그램을 디버깅할 때 메타데이터를 액세스하는 방법
JPH0581087A (ja) プロセサのモニタ方式
JP2000029508A (ja) プログラマブルコントローラ
JPH02281341A (ja) デバッグ時のライトデータ確認方法
JP2919357B2 (ja) Cpuインタフェース回路
KR940006823B1 (ko) 메모리 라이트 보호회로
JPS62251857A (ja) メモリ制御方式
JPS61262945A (ja) 記憶装置
JPH01100799A (ja) 読出し専用メモリ制御回路
JPS6238746B2 (ja)
JP2000148535A (ja) プロセッサ及びこれを用いたインサーキットエミュレータ
JPH04359326A (ja) 履歴情報記録方式
JPH06332696A (ja) マイクロコンピュータ
JPS5922150A (ja) メモリ制御方式
JPH06139374A (ja) マイクロコンピュータ
JPH0296257A (ja) 主記憶装置の診断方式
JPS61169943A (ja) スタツクトレ−サ回路
JPH0412855B2 (ja)