JP4406119B2 - インサーキットエミュレータ - Google Patents

インサーキットエミュレータ Download PDF

Info

Publication number
JP4406119B2
JP4406119B2 JP23663299A JP23663299A JP4406119B2 JP 4406119 B2 JP4406119 B2 JP 4406119B2 JP 23663299 A JP23663299 A JP 23663299A JP 23663299 A JP23663299 A JP 23663299A JP 4406119 B2 JP4406119 B2 JP 4406119B2
Authority
JP
Japan
Prior art keywords
branch
address
cpu
trace
branch instruction
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.)
Expired - Lifetime
Application number
JP23663299A
Other languages
English (en)
Other versions
JP2001060162A (ja
Inventor
健次 崎山
恵津子 広瀬
達也 西村
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP23663299A priority Critical patent/JP4406119B2/ja
Publication of JP2001060162A publication Critical patent/JP2001060162A/ja
Application granted granted Critical
Publication of JP4406119B2 publication Critical patent/JP4406119B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE

Description

【0001】
【発明の属する技術分野】
本発明は、マイクロプロセッサ等に使用され、トレースメモリを持つインサーキットエミュレータに関するものである。
【0002】
【従来の技術】
インサーキットエミュレータは、マイクロプロセッサ等のプログラムをデバッグするための装置として用いられている。インサーキットエミュレータが持つ機能の中で、トレース機能は、プログラムの何番地をどのような順序で実行したかの実行履歴をトレースメモリに残すことができ、デバッグを行う上で有用な機能である。
【0003】
従来のインサーキットエミュレータでは、トレース機能において、トレースメモリに格納するトレースデータ容量を大きく圧縮する方法として、分岐命令以外では、実行アドレスが1ずつ増加することを利用し、分岐命令前後のアドレスのみをトレースメモリへ格納することで、プログラムの実行履歴を再現していた。
【0004】
図4は、従来のインサーキットエミュレータの構成を示すブロック図を示す。本図においてCPU11は、プログラムが実行したアドレスを実行アドレス101として出力する。分岐命令でない時は、実行アドレス101は、1ずつ増加する。又、CPU11は、実行したアドレスが分岐命令だった時、その命令と分岐先命令が実行されるタイミングに、分岐タイミング信号401にアクティブ信号を出力する。実行アドレス101と分岐タイミング信号401は、トレースデータ生成回路14に入力される。トレースデータ生成回路14は、分岐タイミング信号401にアクティブ信号が出力された場合のみ、実行アドレス101をトレースデータ107としてトレースメモリ12に出力する。又、分岐タイミング信号401は、トレースメモリ書込み制御回路16に入力されている。トレースメモリ書込み制御回路16は、分岐タイミング信号401にアクティブ信号が出力された場合のみ、トレースメモリ12に順次トレースデータ107が書き込まれるように制御する。結果的にトレースメモリ12には、プログラムが実行された以降に実行された分岐命令の、分岐元アドレスと分岐先アドレスが格納される。
【0005】
マイクロプロセッサ等の分岐命令は、
(1)無条件分岐命令
(2)条件分岐命令
(3)割込み・間接分岐命令
に大別される。従来のインサーキットエミュレータでは、分岐命令の種類にかかわらず、トレースデータとして、分岐元アドレスと分岐先アドレスをトレースメモリに格納している。
【0006】
図8(a)はプログラムの実行において無条件分岐命令701、条件分岐命令702、条件分岐命令703、無条件分岐命令704、条件分岐命令705、割込み・間接分岐命令706の順に分岐命令が実行されたことを示している。図8(b)はインサーキットエミュレータのトレースメモリに格納されるトレースデータで、CPUの命令メモリアドレスのビット幅が16ビット(2バイト)の場合のトレースメモリ12の格納データを示す。
【0007】
まず無条件分岐命令701が実行された時に、トレースメモリ12には、分岐元アドレス7011と分岐先アドレス7012それぞれ2バイトが格納される。次に条件分岐命令702が実行された時に、トレースメモリ12には、分岐元アドレス7021と分岐先アドレス7022それぞれ2バイトが格納される。以降、トレースメモリ12には、分岐元アドレス7031と分岐先アドレス7032、分岐元アドレス7041と分岐先アドレス7042、分岐元アドレス7051と分岐先アドレス7052、分岐元アドレス7061と分岐先アドレス7062それぞれ2バイトが格納される。よって、合計24バイトのトレースデータが、トレースメモリ12に格納されることとなる。
【0008】
【発明が解決しようとする課題】
従来のインサーキットエミュレータ4では、トレースメモリ12には、分岐命令が実行される毎に分岐元アドレスと分岐先アドレスを格納する必要があり、トレースメモリの容量としては、CPUの命令メモリアドレスのビット幅×2×分岐命令実行回数が必要となっていた。
【0009】
本発明は、かかる課題に鑑み、トレースメモリに分岐命令の実行結果と分岐命令の種類を示す2ビットの符号を分岐命令の実行回数分格納することで、トレースメモリの容量を圧縮することを目的とする。
【0010】
【課題を解決するための手段】
本願の請求項1の発明は、CPUと、前記CPUから得られる内部クロックを計数することにより一定周期の一定ステップ信号を出力するカウンタと、前記CPUから得られる条件分岐の条件判別信号、前記CPUから得られる割り込み・間接分岐タイミング信号、及び前記カウンタから得られる一定ステップ信号からトレースメモリ書込み制御信号を出力するトレースメモリ書込み制御回路と、前記CPUから得られる条件分岐の条件判別信号、前記CPUから得られる割り込み・間接分岐タイミング信号、及び前記カウンタから得られる一定ステップ信号から符号・タイミング信号を出力する符号生成回路と、
前記符号生成回路から得られる符号・タイミング信号及びCPUから得られる実行アドレスからトレースデータを出力するトレースデータ生成回路と、前記トレースメモリ書込み制御回路から得られるトレースメモリ書込み制御信号に基づいて前記トレースデータ生成回路から得られるトレースデータを格納するトレースメモリと、を備え、前記トレースデータは、条件分岐命令の分岐結果を示す符号、前記符号生成回路より一定ステップ信号生成時に前記CPUより得られる実行アドレス信号と一定ステップ信号を示す符号、及び割込み・間接分岐命令の分岐元アドレス、分岐先アドレスと間接割込み分岐命令を示す符号であることを特徴とするものである。
【0011】
本願の請求項2の発明は、請求項1のインサーキットエミュレータにおいて、前記CPUから得られるループ・リピートタイミング信号からスタート・ストップ制御信号を出力するスタート・ストップ制御回路と、前記CPUから得られる内部クロックと前記スタート・ストップ制御回路と、を更に備えたことを特徴とするものである。
【0012】
本願の請求項3の発明は、請求項1のインサーキットエミュレータにおいて、前記CPUから得られる割り込み・間接分岐タイミング信号が入力されたときに前記カウンタにクリア制御信号を出力し、前記カウンタの計数をクリアするクリア制御回路を更に備えたことを特徴とするものである。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。図1は、本発明の第1の実施の形態におけるインサーキットエミュレータの構成を示すブロック図である。図1において、CPU11は、プログラムが実行したアドレスを実行アドレス101として出力すると共に、条件分岐命令において分岐条件が成立したかどうかを示す分岐条件判別信号102を出力するものである。又CPU11は、割込みが発生した場合もしくは間接分岐命令が実行された場合は、割込み・間接分岐タイミング信号103を出力する。又CPU11は、内部クロック104を出力する。
【0015】
カウンタ13は、内部クロック104をカウントしてある値以上になった時に、一定ステップ信号105を出力するものである。トレースメモリ書込み制御回路16は、分岐条件判別信号102と割り込み・間接分岐タイミング信号103と一定ステップ信号105から、トレースメモリ書込み制御信号108を出力する。
【0016】
符号生成回路15は、分岐条件判別信号102と割り込み・間接分岐タイミング信号103と一定ステップ信号105から、後述する4ビットの符号・タイミング信号106を出力する。トレースデータ生成回路14は、実行アドレス101と、符号・タイミング信号106から、トレースデータ107を出力する。トレースメモリ12には、トレースメモリ書込み制御回路16から出力されたトレースメモリ書込み制御信号108に従って、トレースデータ生成回路14から出力されたトレースデータ107が順次書き込まれる。
【0017】
図5(a)は、本発明の第1の実施の形態における分岐命令の実行履歴を示し、図5(b)はインサーキットエミュレータのトレースメモリ12に格納されるトレースデータで、命令メモリアドレスのビット幅が16ビット(2バイト)、符号のビット幅が4ビットの場合の例を示す。
マイクロプロセッサ等の分岐命令は、
(1)無条件分岐命令
(2)条件分岐命令
(3)割込み・間接分岐命令
に大別される。本発明の第1の実施の形態におけるインサーキットエミュレータにおいては、無条件分岐命令についてのトレースデータは不要である。又、本発明の第1の実施の形態におけるインサーキットエミュレータにおいては、一定ステップ信号105が出力された場合に、その時の実行プログラムのアドレスをトレースデータとしてトレースメモリに格納する。
【0018】
符号・タイミング信号106は、4ビットのデータで、条件分岐命令において、
分岐条件が成立し、分岐が行われた場合は、0000、
分岐条件が成立しなくて、分岐が行われなかった場合は、0001、
割込み・間接分岐命令が実行された場合は、0010、
一定ステップ信号105が出力された場合は、0011
を出力する。
【0019】
トレースデータ生成回路14はこれらの出力を夫々トレースデータとしてトレースメモリ12に順次格納する。又、符号・タイミング信号106に加えて、割込み・間接分岐命令の場合は、分岐元アドレスと分岐先アドレス夫々2バイトを、一定ステップ信号の場合は、一定ステップ信号が発生した時の実行アドレス2バイトを、夫々トレースメモリ12に格納する。
【0020】
図5(a)はプログラムの実行の例を示しており、この例において無条件分岐命令501、条件分岐命令502、条件分岐命令503、無条件分岐命令504、条件分岐命令505、割込み・間接分岐命令506の順に分岐命令が実行され、無条件分岐命令504と条件分岐命令505の間に一定ステップ信号507が発生したものとする。図5(b)はこの場合のトレースメモリ12の格納データを示す。
【0021】
まず無条件分岐命令501が実行された時には、トレースメモリ12には、トレースデータは格納されない。次に条件分岐命令502が実行された時に、トレースメモリの最初の4ビット、即ち符号5021には、
分岐条件が成立し、分岐が行われた場合は、0000、
分岐条件が成立しなくて、分岐が行われなかった場合は、0001
が格納される。次に条件分岐命令503が実行された時には、トレースメモリの次の4ビットに、符号5031として0000もしくは0001が格納される。無条件分岐命令504が実行された時には、トレースメモリ12には、トレースデータは格納されない。次に一定ステップ信号507が発生すると、トレースメモリ12には、その時のプログラムの実行アドレス5071として2バイトが格納され、次の4ビットに、符号5072として0011が格納される。条件分岐命令505が実行された時には、トレースメモリ12の次の4ビットに、符号5051として0000もしくは0001が格納される。更に割込み・間接分岐命令506が実行された時には、トレースメモリ12には、分岐元アドレス5061と分岐先アドレス5062それぞれ2バイトが格納され、次の4ビットに、符号5063として0010が格納される。
【0022】
図6,図7は、本発明の第1の実施の形態におけるインサーキットエミュレータのトレースデータからプログラムの実行履歴を復元する際のフローチャートを示す。ここでIPは、プログラムの実行履歴復元の開始アドレスである。TPは、4ビット単位でのトレースメモリの参照位置を示す。又TP' は、4ビット単位でのトレースメモリの参照位置を示し、トレースデータからプログラムの実行履歴を復元する際に、トレースデータが格納されている最終アドレスを保存する際に用いられる。図5の場合は、トレースデータが格納されている最終アドレスは、アドレス8の下位4ビットである。まずステップ601で、TP' に現在のTPの値、即ち、トレースデータが格納されているトレースメモリ内の最終アドレスを保存する。
【0023】
次にステップ602で、TPで指し示されたトレースデータの符号が一定ステップ信号を示す0011でなければ、トレースメモリをさかのぼって、次に符号を見に行く。ステップ603でTPが0でなかったら、まだトレースメモリの先頭アドレスまで解析を終了していないことがわかるため、ステップ604でTPを次の符号データが格納されているアドレスにすると共に、どの参照位置TPに符号データが格納されているかを記録してステップ602に戻る。そしてステップ603で、TPであれば、トレースメモリの先頭アドレスまで解析を終了したことがわかるため、ステップ605で、IPをプログラムの開始アドレスにして、ステップ614に進む。
【0024】
一方ステップ602で、TPで指し示されたトレースデータの符号が一定ステップ信号を示す0011であれば、ステップ606に進んでIPを一定ステップ信号の実行アドレスとし、後述するようにこの実行アドレスから実行履歴を復元する。次にステップ607でTP=TP’、即ちトレースメモリの最終アドレスに一定ステップ信号を示す「0011」が格納されていたかどうかをチェックし、TPがTP’であればステップ614に進む。ステップ607において、TP=TP’でなければステップ608に進み、ステップ604の記録を元にTPを次の符号データが格納されているアドレスとする。
【0025】
このようにしてIP、即ちプログラムの実行履歴復元の開始アドレスが確定したら、トレースメモリの符号を今までとは逆の方向にたどりながら実行履歴を復元していく。即ち、ステップ609は、TPで指し示されたトレースデータの符号が条件分岐命令で分岐が行われたことを示す0000だった場合は、610で、ソースプログラムを解析しながら一定ステップ信号のアドレスから最初の条件分岐命令までアドレスIPをインクリメントする。条件分岐命令の次のプログラム実行アドレスは、ソースプログラムに記載された条件分岐命令の飛び先アドレスである。ステップ609で、TPで指し示されたトレースデータの符号が、条件分岐命令で分岐が行われなかったことを示す0001だった場合は、ステップ611で、ソースプログラムを解析しながら最初の条件分岐命令までIPをインクリメントする。この場合、分岐が行われなかったということで、条件分岐命令の次に実行されたアドレスは、条件分岐命令の次のアドレスということになる。又、ステップ609で、TPで指し示されたトレースデータの符号が割込み・間接分岐命令だったことを示す0010だった場合は、ステップ612で、IPを割込み・間接分岐命令の分岐元アドレスと等しくなるまでインクリメントさせる。割込み・間接分岐命令の分岐元アドレスの次のプログラム実行アドレスは、トレースメモリ12に保持されている割込み・間接分岐命令の分岐先アドレスとなる。
【0026】
そしてステップ613でステップ604の記録を元にトレースメモリの参照位置TPを次の符号データが格納されているアドレスにすると共に、アドレスIPをインクリメントさせる。そしてステップ614でTP=TP’、即ちトレースメモリの最終アドレスまで実行履歴を復元したかどうかをチェックし、又最終アドレスまで復元していなければ続きを復元するため、ステップ609に戻る。TP=TP’であれば、ステップ615に進んでステップIPをインクリメントさせてIP’まで復元する。これで一定ステップ期間以下の復元が終了するが、ステップ616で更に古い実行履歴を復元するかどうかを判別する。更に古い実行履歴を復元する場合はステップ616からステップ617に進んで、ステップ602で符号0011を検出したTPより1つ古い符号が格納されているアドレスをTP’に代入すると共に、前回のステップ606で代入されたIPをディクリメントしてIP’に代入し、ステップ602に戻る。以後同様の処理を繰り返すことによって、一定ステップ信号毎に順次古い実行履歴を復元することができる。
【0027】
ここで、図5を用いて、アドレスの復元について説明する。実行終了時のトレースメモリの最終位置TP’は8バイト目の下位ビット(以下、8Lという)なので、まずステップ601でTP’に8Lを代入する。次いでステップ602で符号5063をチェックする。符号5063の値は0011ではないのでステップ603,604に進み、次の符号データが格納されているアドレスとして3バイト目の上位ビット(3H)を代入して、ステップ602に戻る。ステップ602では符号5051の値をチェックするが、この値も0011ではないため、ステップ604でTPに3バイト目の下位ビット(3L)が代入される。符号5072の値は0011なので、ステップ606に進んでIPに実行アドレス5071が代入される。そしてステップ607,608を介してステップ609に進み、TPの示す符号によりステップ610又は611を実行して実行アドレス5071から実行停止時のIPまでを復元する。更に古い実行履歴を復元する場合には、ステップ617でTP’に0バイト目の上位ビット(0H)を代入すると共に、IP’に実行アドレス5071−1を代入する。そしてステップ602に戻って同様の処理を繰り返す。一定ステップ信号はここではもうトレースメモリ12に格納されていないので、ステップ604でTPに0バイト目の下位ビット(0L)を代入し、ステップ605で実行開始時のアドレスをIPに代入する。そしてステップ609から615のフローにより実行開始時のアドレスから実行アドレス5071−1を復元する。
【0028】
以上のように本発明の第1の実施の形態によれば、従来、(1)無条件分岐命令では、4バイト必要だったトレースデータが0に、(2)条件分岐命令では4バイト必要だったトレースデータが4ビットに圧縮できる。反面、(3)割込み・間接分岐命令では、必要なトレースデータが4ビット増えている。加えて、本発明の第1の実施の形態によれば、(4)一定ステップ信号が発生した時に実行アドレスの格納が必要となる。しかし、(3)割込み・間接分岐命令の実行や(4)一定ステップ信号の発生よりも、(1)無条件分岐命令の実行や、(2)条件分岐命令の実行の方がはるかに頻度が高いため、全体としてトレースメモリの使用量を大幅に圧縮することが可能となる。
【0029】
図2は、本発明の第2の実施の形態におけるインサーキットエミュレータの構成を示すブロック図である。図2において、本発明の第1の実施の形態と同じ構成要素は同じ符号を付して説明を省略し、異なる点を中心に説明する。
【0030】
CPU11はループ命令やリピート命令の実行において2回目以降の繰り返し処理であるループ動作期間、リピート動作期間を示すタイミング信号をループ・リピートタイミング信号201に出力する。スタート・ストップ制御回路21はループ・リピートタイミング信号201からカウンタ13に対し、カウントのスタート及びストップを制御するスタート・ストップ制御信号202を出力する。スタート・ストップ制御信号202によりカウンタ13はループ命令やリピート命令の実行において2回目以降の繰り返し期間中カウントをストップさせ、繰り返し期間が終了するとカウントを再スタートする。
【0031】
以上のように本発明の第2の実施の形態によれば、ループ命令やリピート命令等の繰り返し実行される命令の場合、プログラムの内容により何回繰り返されたかは分かるので、復元されるプログラムの実行履歴としては1回の実行分の復元で十分である。そこでループ命令やリピート命令等の繰り返し期間中に一定ステップ数のカウントをストップさせている。こうすることにより、第1の実施の形態による効果に加えて、一定ステップ信号の発生によって生じるトレースデータを削減することができる。
【0032】
図3は、本発明の第3の実施の形態におけるインサーキットエミュレータの構成を示すブロック図を示す。図3において、本発明の第1の実施の形態と同じ構成要素は同じ符号を付して説明を省略し、異なる点を中心に説明する。
【0033】
クリア制御回路31はCPU11が出力する割込み・間接分岐タイミング信号103が入力されたときにカウンタ13に対し、カウントをクリアするクリア制御信号301を出力するものである。クリア制御信号301によりカウンタ13は割込み・間接分岐命令の実行期間、一定ステップのカウントを一旦クリアし、次の命令実行よりカウントを再スタートする。
【0034】
以上のように本発明の第3の実施の形態によれば、第1の実施の形態による効果の他に、割込み・間接分岐命令が一定ステップ数より少ない間隔で実行された場合、割込み・間接分岐命令の実行により一定ステップのカウントが0からカウントし直されるため、一定ステップ信号の発生によるトレースデータを削減することができる。
【0035】
尚、実行させたプログラムの内容、量、及びトレースメモリ容量によってはトレースメモリがオーバーフローし、実行履歴の復元が不可能になることも有り得る。そのため一定ステップ数をトレースメモリの容量以下に設定すると共に、トレースメモリ書き込み制御回路16にオーバーフローを検出し、検出時に実行を停止する機能を付加すれば、トレースメモリがオーバーフローした際、実行履歴の復元が不可能になることを回避することができる。この時の実行履歴の復元方法としては本発明の第1の実施の形態に従い、トレースデータが格納されているトレースメモリの最終アドレスからトレースメモリの物理的な先頭アドレスである0番地までのトレースデータ内容を解析し、実行履歴を復元した後、トレースメモリの物理的な末尾アドレス(例えば32Kバイトのトレースメモリの場合、7FFF (16進)番地がこの末尾アドレスになる)からトレースデータが格納されているトレースメモリの最終アドレス+1までのトレースデータ内容を解析し、実行履歴を復元する。この場合、トレースメモリに残っているトレースデータの内、最初に格納された割込み・間接分岐命令に対するトレースデータ、又は一定ステップ信号発生に対するトレースデータが示すアドレスより実行が停止されたアドレスまでの実行履歴が復元されることになる。更に、完全に実行開始から実行停止までの実行履歴を復元したい場合はオーバーフロー検出時にCPU11の実行を停止させれば良い。
【0036】
又以上の本発明の実施の形態では、トレースデータを8ビット単位でトレースメモリへ出力する構成を示したが、トレースデータ量が大幅に圧縮され、トレースメモリへのデータ転送が低ビットレートで可能になるため、シリアル転送によるトレースデータ出力であっても良い。
【0037】
【発明の効果】
以上のように本願の請求項1〜の発明に係るインサーキットエミュレータによれば、無条件分岐命令の実行や、条件分岐命令の実行に対するトレースデータ量を大幅に削減できる。割込み・間接分岐命令の実行や一定ステップ信号の発生時にはトレースデータ量が増えることになるが、割込み・間接分岐命令の実行や一定ステップ信号の発生よりも、無条件分岐命令の実行や、条件分岐命令の実行の方がはるかに頻度が高いため、全体としてトレースメモリの使用量を、大幅に圧縮することが可能となる。
【0038】
又請求項2の発明によれば、上記効果に加え、ループ命令やリピート命令等の繰り返し実行される命令の場合、ループ命令やリピート命令等の繰り返し期間中に一定ステップ数のカウントをストップさせることにより、一定ステップ信号発生によるトレースデータを削減することができる。
【0039】
更に本願の請求項3の発明によれば、上記効果に加え、割込み・間接分岐命令が一定ステップ数より少ない間隔で実行された場合、一定ステップのカウントが0からカウントし直されるため、一定ステップ信号発生によるトレースデータを削減することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態におけるインサーキットエミュレータの構成を示すブロック図である。
【図2】本発明の第2の実施の形態におけるインサーキットエミュレータの構成を示すブロック図である。
【図3】本発明の第3の実施の形態におけるインサーキットエミュレータの構成を示すブロック図である。
【図4】従来のインサーキットエミュレータの構成を示すブロック図である。
【図5】本発明の第1の実施の形態におけるインサーキットエミュレータにおけるトレースメモリ内に格納されたトレースデータを示す図である。
【図6】本発明の第1の実施の形態におけるトレースデータからプログラムの実行履歴復元方法を示すフローチャート(その1)である。
【図7】本発明の第1の実施の形態におけるトレースデータからプログラムの実行履歴復元方法を示すフローチャート(その2)である。
【図8】従来のインサーキットエミュレータにおけるトレースメモリ内に格納されたトレースデータを示す図である。
【符号の説明】
1 インサーキットエミュレータ
2 インサーキットエミュレータ
3 インサーキットエミュレータ
4 インサーキットエミュレータ
11 CPU
12 トレースメモリ
13 カウンタ
14 トレースデータ生成回路
15 符号生成回路
16 トレースメモリ書込み制御回路
21 スタート・ストップ制御回路
31 クリア制御回路
101 実行アドレス
102 分岐条件判別信号
103 割り込み・間接分岐タイミング信号
104 内部クロック
105 一定ステップ信号
106 符号・タイミング信号
107 トレースデータ
108 トレースメモリ書込み制御信号
201 ループ・リピートタイミング信号
202 スタート・ストップ制御信号
301 クリア制御信号
401 分岐タイミング信号
501 無条件分岐命令
502 条件分岐命令
503 条件分岐命令
504 無条件分岐命令
505 条件分岐命令
506 割込み・間接分岐命令
507 一定ステップ信号
701 無条件分岐命令
702 条件分岐命令
703 条件分岐命令
704 無条件分岐命令
705 条件分岐命令
706 割込み・間接分岐命令
5021 条件分岐命令502の符号
5031 条件分岐命令503の符号
5071 一定ステップ信号507の実行アドレス
5072 一定ステップ信号507の符号
5051 条件分岐命令505の符号
5061 割込み・間接分岐命令506の分岐元アドレス
5062 割込み・間接分岐命令506の分岐先アドレス
5063 割込み・間接分岐命令506の符号
7011 無条件分岐命令701の分岐元アドレス
7012 無条件分岐命令701の分岐先アドレス
7021 無条件分岐命令702の分岐元アドレス
7022 無条件分岐命令702の分岐先アドレス
7031 無条件分岐命令703の分岐元アドレス
7032 無条件分岐命令703の分岐先アドレス
7041 無条件分岐命令704の分岐元アドレス
7042 無条件分岐命令704の分岐先アドレス
7051 無条件分岐命令705の分岐元アドレス
7052 無条件分岐命令705の分岐先アドレス
7061 無条件分岐命令706の分岐元アドレス
7062 無条件分岐命令706の分岐先アドレス

Claims (3)

  1. CPUと、
    前記CPUから得られる内部クロックを計数することにより一定周期の一定ステップ信号を出力するカウンタと、
    前記CPUから得られる条件分岐の条件判別信号、前記CPUから得られる割り込み・間接分岐タイミング信号、及び前記カウンタから得られる一定ステップ信号からトレースメモリ書込み制御信号を出力するトレースメモリ書込み制御回路と、
    前記CPUから得られる条件分岐の条件判別信号、前記CPUから得られる割り込み・間接分岐タイミング信号、及び前記カウンタから得られる一定ステップ信号から符号・タイミング信号を出力する符号生成回路と、
    前記符号生成回路から得られる符号・タイミング信号及びCPUから得られる実行アドレスからトレースデータを出力するトレースデータ生成回路と、
    前記トレースメモリ書込み制御回路から得られるトレースメモリ書込み制御信号に基づいて前記トレースデータ生成回路から得られるトレースデータを格納するトレースメモリと、を備え
    前記トレースデータは、条件分岐命令の分岐結果を示す符号、前記符号生成回路より一定ステップ信号生成時に前記CPUより得られる実行アドレス信号と一定ステップ信号を示す符号、及び割込み・間接分岐命令の分岐元アドレス、分岐先アドレスと間接割込み分岐命令を示す符号であることを特徴とするインサーキットエミュレータ。
  2. 前記CPUから得られるループ・リピートタイミング信号からスタート・ストップ制御信号を出力するスタート・ストップ制御回路と、
    前記CPUから得られる内部クロックと前記スタート・ストップ制御回路と、を更に備えたことを特徴とする請求項1記載のインサーキットエミュレータ。
  3. 前記CPUから得られる割り込み・間接分岐タイミング信号が入力されたときに前記カウンタにクリア制御信号を出力し、前記カウンタの計数をクリアするクリア制御回路を更に備えたことを特徴とする請求項1記載のインサーキットエミュレータ。
JP23663299A 1999-08-24 1999-08-24 インサーキットエミュレータ Expired - Lifetime JP4406119B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23663299A JP4406119B2 (ja) 1999-08-24 1999-08-24 インサーキットエミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23663299A JP4406119B2 (ja) 1999-08-24 1999-08-24 インサーキットエミュレータ

Publications (2)

Publication Number Publication Date
JP2001060162A JP2001060162A (ja) 2001-03-06
JP4406119B2 true JP4406119B2 (ja) 2010-01-27

Family

ID=17003510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23663299A Expired - Lifetime JP4406119B2 (ja) 1999-08-24 1999-08-24 インサーキットエミュレータ

Country Status (1)

Country Link
JP (1) JP4406119B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3629181B2 (ja) * 2000-03-28 2005-03-16 Necマイクロシステム株式会社 プログラム開発支援装置
JP6221966B2 (ja) * 2013-08-29 2017-11-01 株式会社デンソー マイクロコンピュータ

Also Published As

Publication number Publication date
JP2001060162A (ja) 2001-03-06

Similar Documents

Publication Publication Date Title
US5367550A (en) Break address detecting circuit
EP1187003A2 (en) Program development support apparatus
US5845064A (en) Method for testing and verification of a CPU using a reference model
US8037363B2 (en) Generation of trace elements within a data processing apparatus
JP2006260542A (ja) コード部分実行時のプロセッサ消費実時間量の決定
US6691080B1 (en) Task execution time estimating method
JP4406119B2 (ja) インサーキットエミュレータ
CN110609706A (zh) 配置寄存器的方法及应用
JP2878264B1 (ja) トレーサ装置、トレースデータ圧縮方法および圧縮トレースデータ読み出し方法
US6880072B1 (en) Pipelined processor and method using a profile register storing the return from exception address of an executed instruction supplied by an exception program counter chain for code profiling
KR102346253B1 (ko) 처리 활동 추적
JPH10275092A (ja) マイクロプロセッサのトレース情報出力方法
JP2009043061A (ja) デバッグ装置及びデバッグ方法
JPH11353205A (ja) トレースメモリ内蔵のプロセッサ
JPH11327927A (ja) Cpu使用率測定方式
JP5937530B2 (ja) ソフトエラー解析装置、エラー情報作成装置
JP2731047B2 (ja) プログラムのオペランドチェック方式
JP2804934B2 (ja) システム開発装置
JPH0934754A (ja) プログラムの性能測定装置と方法
JP2758624B2 (ja) マイクロプログラムの調速方式
CN109614148B (zh) 数据逻辑运算方法、监测方法及装置
JP4305389B2 (ja) 時間追跡可能メッセージを送信することによるマイクロプロセッサプログラムの監視
JPH11219293A (ja) アドレストレース方法及びトレーサメモリ制御装置
JP2775830B2 (ja) 命令頻度測定方式
JP2789737B2 (ja) 時変データのサンプリング装置及びサンプリングデータの再現方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091013

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4406119

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term