| 【発明の名称】 |
トレースメモリを内蔵した半導体装置及びプロセッサ開発支援装置 |
| 【発明者】 |
【氏名】福島 正展
【氏名】山浦 慎一
【氏名】原 和彦
【氏名】中村 圭治
【氏名】片山 貴雄
【氏名】岩永 和彦
【氏名】高藤 浩資
|
| 【要約】 |
【課題】トレ−スメモリの記憶容量が比較的小さい場合でも、プログラムが正常に走行できているかを効率的にデバッグできるトレース機能をもつ半導体装置及びそのプロセッサ開発支援装置を提供することを目的とする。
【解決手段】デバック用プロセッサを備えた半導体装置において、通常処理命令と、この通常処理命令とは異なるトレースに有用なトレースメモリに出力するためのトレースメモリへの出力命令CHKAを、プロセッサに実装し、予め設定された位置でトレースメモリにデータ書き込む。 |
【特許請求の範囲】
【請求項1】 デバック用プロセッサを備えた半導体装置において、通常処理命令と、この通常処理命令とは異なるトレースに有用なデータを前記トレースメモリへ出力するためのデバック用出力命令とを、プロセッサ内部に実装したことを特徴とする半導体装置。 【請求項2】 前記デバック用出力命令は実行アドレスをトレースメモリに出力するための命令であることを特徴とする請求項1に記載の半導体装置。 【請求項3】 前記半導体装置に、トレースメモリと、トレースライト信号に応じて動作するトレースアドレス生成手段と、を備え、ソフトウェアやシステムデバックのためのトレース機能を有することを特徴とする請求項1又は2に記載の半導体装置。 【請求項4】 前記デバック用出力命令として、これ以降のバスサイクルでトレースメモリの格納を行うトレース開始命令と、これ以降のトレースメモリへの格納は行わないトレース中止命令を備えたことを特徴とする請求項1乃至3のいずれかに記載の半導体装置。 【請求項5】 前記プロセッサ内に、パスカウンタを備え、カウンタ値をインクリメントする命令と、カウンタ値をトレースメモリに出力するためのパスカウンタ値出力命令を有することを特徴とする請求項1乃至4のいずれかに記載の半導体装置。 【請求項6】 前記プロセッサ内に、プロセッサのサイクル数をカウントするカウンタを備えると共に、カウンタ値をトレースメモリに出力するためのサイクルカウンタ値出力命令を有することを特徴とする請求項1乃至5のいずれかに記載の半導体装置。 【請求項7】 前記プロセッサ内に、トレースメモリへのデータ出力バスを持ち、そのバスに、実行アドレス、サイクルを数えるカウンタ、イベントを数えるパスカウンタを選択的に出力する手段を備え、プロセッサのトレースメモリへの出力命令により、選択的にトレースメモリへデータを書き込むことを特徴とする請求項5又は6に記載の半導体装置。 【請求項8】 前記プロセッサ内に、トレースメモリへのデータ出力バスを持ち、そのバスに、実行アドレス、サイクルを数えるカウンタ、イベントを数えるパスカウンタを選択的に出力する手段を備え、プロセッサのトレースメモリへの出力命令により、選択的にトレースメモリへデータを書き込む際に、どのデータが出力されているかという情報も合わせてトレースメモリに書き込むことを特徴とする請求項7に記載の半導体装置。 【請求項9】 トレースメモリへの書き出しを毎バスサイクル行うと共に、前記プロセッサ内に、トレースメモリへの出力命令を持ち、トレース命令の出力命令を実行した場合には、前記プロセッサからトレースメモリへのアドレス生成器に対して、ブロックアドレスインクリメント信号を出力することを特徴とする請求項1乃至8のいずれかに記載の半導体装置。 【請求項10】 通常処理命令と、この通常処理命令とは異なるトレースに有用なデータを前記トレースメモリ出力するためのデバック用出力命令とをデバッグ対象となるプロセッサ内に備え、前記デバック用出力命令は、トレース出力命令に与えられた定数引数をトレースメモリに出力するため命であることを特徴とする半導体装置。 【請求項11】 前記半導体装置に、トレースメモリと、トレースライト信号に応じて動作するトレースアドレス生成手段と、を備え、ソフトウェアやシステムデバックのためのトレース機能を有することを特徴とする請求項10に記載の半導体装置。 【請求項12】 デバッグ対象となるプロセッサからトレースデータを出力する際に、シリアルデータ出力と、シリアルデータを同期化するためのシリアルライト信号を生成する手段を有することを特徴とする請求項10又は12に記載の半導体装置。 【請求項13】 デバッグ対象となるプロセッサからトレースデータを出力する際に、シリアルデータ出力と、シリアルデータを同期化するためのシリアルライト信号を生成する手段備え、前記デバッグ対象となる半導体装置の外部に、トレースメモリ、トレースメモリへのアドレス生成機能、トレースメモリ制御手段を有し、ソフトウェアやシステムデバッグのためのトレース機能をもつプロセッサ開発支援装置。
|
【発明の詳細な説明】【0001】 【産業上の利用分野】この発明は、インサーキットエミュレータ(ICE)等のデバッグ機能を有するマイクロプロセッサなどの半導体装置及びその開発支援装置に関する。 【0002】 【従来の技術】マイクロコンピュータを用いたシステムの開発のために、インサーキットエミュレータが用いられる。このようなエミュレータにおいて、デバッグを支援するための機能として、ブレーク制御機能やトレース機能がある。 【0003】トレース機能は、プロセッサがやり取するデータ、アドレス信号、及び各種制御情報を、順次蓄えていく。このときのトレースの開始及び停止の制御は、通常はプログラムがスタ−トしてから停止(ブレ−ク)するまでのトレ−ス、または、トレ−ス範囲をスタ−トポイント(トレース開始アドレス)とストップポイント(トレース停止アドレス)で指定する、又は特定のステータスメモリへのリードライトのみをトレースする等の方式がある。 【0004】デバッグ対象となるプロセッサは、年々高速化されており、プロセッサ外部にあるトレースメモリにトレースデータをストアすることは、エミュレータ等の開発ツールにおけるスピードのボトルネックになっている。特に、トレースメモリを対象となるプロセッサの外部に持ち、プロセッサから出力されたアドレス信号、ステータス信号でトレースメモリへの格納を行う場合には、スピード的に厳しい。 【0005】そのため、トレースデータを半導体装置内に備え、またトレースメモリへ格納を制御する制御回路を、半導体装置内に備えることで、高速化を行っているデバッグ装置も開発されている。 【0006】しかしながら、トレースメモリを半導体装置内に備える場合には、トレースメモリの容量も限られるため、デバッグに十分な時間のトレースデータをメモリに格納することはできなくなる問題がある。 【0007】ところで、特開平5−46440号公報には、マイクロ命令中に設けられたトレースデータ選択フィードのビットパターンを用いて、トレース対象としての装置各部の状態を表わしたトレースデータのうちの1組をマイクロ命令ごとに選択するセレクタと、このセレクタによって選択されたトレースデータを格納するトレースデータ格納領域と、前記マイクロ命令ごとにその実行アドレスを格納するマイクロ命令アドレス格納領域とを具備することを特徴とするハードウェアトレーサ回路が開示されている。そして、この回路により、必要なトレースデータのみをトレースメモリに書き込むようにして、トレースメモリのサイズの小型化を図るようにしている。 【0008】上記技術は、トレースメモリに、全てのアドレス、データ及びステータスを格納するのではなく命令毎に、どのデータが必要かをハード上で判断し、データをマルチプレクスしてトレースメモリに必要なビット幅を少なくし、トレースメモリのサイズの小型化を行うものである。 【0009】しかしながら、この方法では、プロセッサとトレースメモリ間にデータのマルチプレクサが存在し、マルチプレクサの遅延のため高速性が犠牲になる。また、トレースメモリの格納を制御する方法は含まれないため、全てのバスサイクルを格納した場合、トレースメモリの小型化の効果は少なく、またトレースメモリの格納を外部で制御した場合、その制御回路の遅延があるため、さらに高速対応に関して欠点を有している。 【0010】また、特開平5−173835号公報には、トレースメモリに実行アドレスを格納するのでなく、分岐の成功・不成功のみを1ビットの情報として、シフトレジスタに格納し、シフトレジスタが満杯になった場合にトレースメモリに書き出すと共に、トレースメモリのアドレスをインクリメントすることが開示されている。 【0011】この機能によりマイクロプロセッサを介することなくより多くの分岐の成功、不成功を示すデータをトレースメモリに格納することができ、少ないメモリ容量でプログラムの流れを把握することができる。 【0012】しかしながら、上記技術では、トレースメモリに実行アドレスが格納されないため、どこの分岐点での分岐成功/不成功かの対応がとれない。また、ハードウェア上の障害等により、プログラムが暴走している場合は、デバッグ不可能となるなどの難点がある。 【0013】また、特開平5−197596号公報には、マイクロプロセッサと、前記マイクロプロセッサが実行するプログラムを格納している主記憶装置の間のアドレス、データ、コントロールバスの信号をトレーサ制御回路に入力し、マイクロプロセッサがあらかじめ設定されたある特定の命令を実行した場合のみに、トレースメモリにアドレス値を格納することを特徴とするトレーサが開示されている。 【0014】しかしながら、上記技術では、プロセッサ外にトレーサ制御回路を持つため、制御回路のそのものの遅延や、プロセッサからトレーサ制御回路へのアドレス、データバスの遅延があるため、高速性という点で十分でない。また、プロセッサと主記憶とのアクセスにも、トレーサ制御回路やアドレスをラッチするレジスタがつながることになり、プロセッサの主記憶のアクセスにも負担がかかる。さらに、あらかじめ指定された命令には、装置の動作に影響を与えない入出力命令を用いた場合とあるが、装置の動作に影響を与えない命令が無い場合には、上記技術は適用できないことになり、制限が存在することになるなどの問題がある。 【0015】また、特開平5−241895号公報には、前のブランチ状態と違ったブランチ(その前のブランチが成功で今回不成功、又はその前が不成功で今回成功)が発生したときのみ実行アドレスをアドレス・トレース・メモリ回路に格納することで、時間待ちをするようなルーチンなどでのアドレス・トレース・メモリの無駄を無くし、メモリ容量でプログラムの流れを把握するものが開示されている。 【0016】しかしながら、上記技術は、分岐命令のトレースのみに関連する技術であり制限となっている、それ以外のプログラム部分をトレースすることはできない。また、マイクロ命令デコーダに分岐成功、不成功をデコードする回路が必要であり、また前回の分岐成功、不成功を保持しておく必要もある。このような回路は、高速化という点では、マイナス要因になるなどの問題がある。 【0017】更に、特開平6−187193号公報には、マイクロコンピュータの実行が実行アドレスの分岐を伴うものであるか否かを判別し、分岐動作である場合には分岐実行信号を出力する判別手段をもち、分岐命令および分岐命令の前後所定ステップの命令のみをトレースメモリに格納するプログラムデバッグ装置が開示されている。 【0018】しかし、上記技術では、分岐命令前後のトレースに関連する技術でありトレースメモリへの格納は、分岐命令が存在する必要がある。分岐命令及びその前後以外のプログラム部分をトレースすることはできない。また、マイクロコンピュタ外部の分岐実行格納アドレスメモリをあらかじめ用意するまたは、マイクロプロセッサ内に分岐命令に関わる命令であることを出力する機能が必要である。さらに、外部信号による割り込み処理による分岐動作は、トレースメモリへの判定が、できない制限が存在するなどの問題がある。 【0019】また、特開平7−200352号公報には、データプロセッサに、通常の命令とは命令コードのみ相違されるデバッグ用命令を加えた命令セットを用意し、デバッグ用命令をデバッグ用命令解析部で解析し、対応する通常命令と同じ動作を行う装置が開示されている。そして、この装置によれば、デバッグ用命令を認識しその実行過程をトレースするエミュレータを利用することにより、サブルーチンコールの際に引き渡されるパラメータなどをトレース取得できる。 【0020】上記技術に必要なデバッグ用命令は、デバッグ用命令にはデバッグ用命令とは対になる通常の命令が存在しており、対になる命令とデバッグ用命令との相違は、命令コードのみであり、命令語長、オペランドのサイズと配置、動作、命令実行サイクル数等は、両者の間で相違はない。 【0021】上記技術においては、リアルタイム性を全く損なわずに、デバッグツールが構成できるが、プロセッサにデバッグ用命令を組み込む必要があり、プロセッサの設計の負担が大きい、また、命令コードにデバッグ用命令を組み込むための空きが必要であり、命令の未定義エリアが不足する場合には問題となるなどの問題がある。 【0022】 【発明が解決しようとする課題】上記したように、トレースメモリを半導体装置内に備える場合には、トレースメモリの容量も限られるため、デバッグに十分な時間のトレースデータをメモリに格納することはできなくなる問題がある。 【0023】この発明は、上記した問題点に鑑みなされたものにして、トレ−スメモリの記憶容量が比較的小さい場合でも、プログラムが正常に走行できているかを効率的にデバッグでき、かつマイクロプロセッサが高速になってもスピードのボトルネックにならなく、かつ低コストでマイクロプロセッサのトレース機能をもつ半導体装置及びそのプロセッサ開発支援装置を提供することを目的とする。 【課題を解決するための手段】この発明は、デバック用プロセッサを備えた半導体装置において、通常処理命令と、この通常処理命令とは異なるトレースに有用なデータを前記トレースメモリへ出力するためのデバック用出力命令とを、プロセッサ内部に実装したことを特徴とする。 【0024】上記した構成によれば、予め設定された位置でトレースメモリにデータ書き込むことができる。従って、少ないトレースメモリ記憶容量で長時間に渡って有効な情報をトレースメモリに採取することができるという効果がある。また、プロセッサ外部にトレースメモリへの書き込みを制御する回路が不要になるため、高速プロセッサにも対応するトレース機能を容易に実現できる。 【0025】前記デバック用出力命令は実行アドレスをトレースメモリに出力するための命令であることを特徴とする。 【0026】上記したように、実行アドレスをトレースメモリに出力するためのトレースメモリへの出力命令を持っているため、予め設定された位置でトレースメモリに書き込みするように構成できできる。 【0027】この発明は、前記半導体装置に、トレースメモリと、トレースライト信号に応じて動作するトレースアドレス生成手段と、を備え、ソフトウェアやシステムデバックのためのトレース機能を有するように構成することができる。 【0028】上記した構成によれば、高速マイクロプロセッサ(MPU)がデバッグの対象の場合でも、問題なくトレース機能を使用してデバッグを行うことができる。また、比較的小容量のトレースメモリですむため、半導体装置の製造コストを安くできる。 【0029】又、この発明は、前記デバック用出力命令として、これ以降のバスサイクルでトレースメモリの格納を行うトレース開始命令と、これ以降のトレースメモリへの格納は行わないトレース中止命令を備えることを特徴とする。 【0030】上記した構成によれば、プログラムの詳細デバッグを行いたい場合にも、これらの命令を実行させることで、トレースメモリへの書き込みを制御することができ、少ないトレースメモリ記憶容量で詳細な情報をトレースメモリに採取することができるという効果がある。 【0031】また、この発明は、前記プロセッサ内に、パスカウンタを備え、カウンタ値をインクリメントする命令と、カウンタ値をトレースメモリに出力するためのパスカウンタ値出力命令を有するように構成できる。 【0032】上記した構成によれば、ループ構造を含むプログラムの場合にも、少ないトレースメモリ記憶容量で長時間に渡って有効な情報をトレースメモリに採取することができるという効果がある。 【0033】前記プロセッサ内に、プロセッサのサイクル数をカウントするカウンタを備えると共に、カウンタ値をトレースメモリに出力するためのサイクルカウンタ値出力命令を有するように構成できる。 【0034】上記した構成によれば、プログラムの実行時間をトレースメモリに書き込むことができ、実行時間計測機能を用いて、プログラムデバッグを行うことができる。 【0035】前記プロセッサ内に、トレースメモリへのデータ出力バスを持ち、そのバスに、実行アドレス、サイクルを数えるカウンタ、イベントを数えるパスカウンタを選択的に出力する手段を備え、プロセッサのトレースメモリへの出力命令により、選択的にトレースメモリへデータを書き込むように構成できる。 【0036】上記した構成によれば、プログラムの流れ、実行時間情報、ループ構造のプログラムのループ回数等の多種類のデバッグ情報が1つの小容量のトレースメモリに、長時間に渡って長時間に亘って採取することができる。 【0037】また、この発明は、前記プロセッサ内に、トレースメモリへのデータ出力バスを持ち、そのバスに、実行アドレス、サイクルを数えるカウンタ、イベントを数えるパスカウンタを選択的に出力する手段を備え、プロセッサのトレースメモリへの出力命令により、選択的にトレースメモリへデータを書き込む際に、どのデータが出力されているかという情報も合わせてトレースメモリに書き込むように構成できる。 【0038】上記構成によれば、トレース後の結果の解析を容易行うことができる。また、どのようなデータが格納されているかを区別する必要から、本来必要でない場所で実行アドレスのトレースメモリへの書き出し命令を挿入する必要がなくなる。 【0039】また、この発明は、レースメモリへの書き出しを毎バスサイクル行うと共に、前記プロセッサ内に、トレースメモリへの出力命令を持ち、トレース命令の出力命令を実行した場合には、前記プロセッサからトレースメモリへのアドレス生成器に対して、ブロックアドレスインクリメント信号を出力するように構成できる。 【0040】上記構成によれば、サブルーチンや割込みの分岐がプログラムのどの位置から分岐したかが、少ないトレースメモリ記憶容量で長時間に渡ってトレースメモリに採取することができる。 【0041】また、この発明は、通常処理命令と、この通常処理命令とは異なるトレースに有用なデータを前記トレースメモリ出力するためのデバック用出力命令とをデバッグ対象となるプロセッサ内に備え、前記デバック用出力命令は、トレース出力命令に与えられた定数引数をトレースメモリに出力するため命であることを特徴とする。 【0042】上記した構成によれば、トレースのビット幅を定数引数のデータ長に押さえることができ、少ないトレースメモリ記憶容量で長時間に亘って有効な情報をトレースメモリに採取することができるという効果がある。また、キャッシュメモリを持つプロセッサのように、実行アドレスがアドレスバスに出力されないプロセッサに対しても、問題なくトレース機能が実現できる。 【0043】前記半導体装置に、トレースメモリと、トレースライト信号に応じて動作するトレースアドレス生成手段と、を備え、ソフトウェアやシステムデバックのためのトレース機能を有するように構成できる。 【0044】上記した構成によれば、高速MPUがデバッグの対象の場合でも、問題なくトレース機能を使用してデバッグを行うことができる。また、比較的小容量のトレースメモリですむ為、半導体装置の製造コストが安い。 【0045】また、この発明は、デバッグ対象となるプロセッサからトレースデータを出力する際に、シリアルデータ出力と、シリアルデータを同期化するためのシリアルライト信号を生成する手段を有することを特徴とする。 【0046】上記した構成によれば、デバッグ対象となる半導体装置において、トレース機能に要求されるIOピンの本数を少なくできるとい効果がある。 【0047】また、この発明は、デバッグ対象となるプロセッサからトレースデータを出力する際に、シリアルデータ出力と、シリアルデータを同期化するためのシリアルライト信号を生成する手段備え、前記デバッグ対象となる半導体装置の外部に、トレースメモリ、トレースメモリへのアドレス生成機能、トレースメモリ制御手段を有し、ソフトウェアやシステムデバッグのためのトレース機能をもつことを特徴とする。 【0048】上記した構成によれば、デバッグ対象となる半導体装置の外部に、トレースメモリを持つため、半導体装置内に内蔵する場合と比べて、大容量のトレースメモリを持つ開発支援装置が設計可能である。その際には、より長時間に渡って、プログラムのトレースを行うことができるトレース機能をもつ開発支援装置が提供可能である。 【発明の実施の形態】以下、この発明の実施の形態につき図面を参照して説明する。図1は、この発明の第1の実施形態を示すブロック回路図である。 【0049】図1における半導体チップ(ターゲット)1は、デバッグ対象となるプロセッサ11、メインメモリ16、トレースメモリ13、及びトレースアドレス生成器周辺回路13を備えている。 【0050】このプロセッサ11は、メインメモリ16に格納されているプログラムを読み出し、データアクセスを行いながらプログラムを実行するものとする。そして、プロセッサ11とメインメモリ16は、アドレスバス14、データバス13、コントロールバス12で接続されている。 【0051】アドレスバス14は、プロセッサ11から、メインメモリ16へのアドレスデータが出力されるバスで、プログラムを読み出すアドレスや、データアクセスの際のアドレスが出力されている。また、データバス13は、プログラムデータやデータアクセスの際のデータがこのバスを通じて、プロセッサ11とメインメモリ16の間でやりとりされる。 【0052】この発明は、プロセッサ11内に、通常処理命令と、この通常処理命令とは異なるトレースに有用なデータを前記トレースメモリ出力するためのデバック用出力命令とが実装されている。プロセッサ11内のデバッグを目的とするトレースメモリへの出力命令に基づき、プロセッサ11からは、トレースメモリ17に対してトレースメモリライト信号18が出力される。 【0053】また、トレースメモリ17へのアドレス出力はトレースアドレス生成器19より出力され、トレースメモリアドレス生成器19には、プロセッサ11からトレースライト信号18が与えられる。 【0054】トレースメモリ17にはアドレスバス14と接続されており、トレースメモリ17のライトデータはアドレスバスがつながる。 【0055】上記した図1に示す装置の動作を説明する。図2は、この実施形態で説明するデバック対象となるプログラムを示す図である。このプログラムは、メインルーチンとサブルーチン1,2及び割込みルーチン1,2で構成されている。 【0056】このプログラムをデバッグする際に、このプログラムが設計で意図した通り走行しているかを確かめたいとすると、図2のプログラムに対して、図3のように、メインルーチン、サブルーチン1,2、割込みルーチン1,2の通過をチェックしたいポイント、例えば、メインルーチン内のいくつかのポイントとサブルーチン1,2、割込みルーチン1,2の最初の部分にこの発明の特徴となるchka命令を配置しておく。これは、プログラム設計者があらかじめ設定するものとする。 【0057】ここで用いているchka命令とは、プロセッサ11がこの命令を実行すると、トレースメモリ17へのトレースライト信号18を出力するものである。この発明では、このchka命令が、プロセッサ11内に実装されている。 【0058】アドレス生成器19は、トレースメモリ17へのライト信号が起こると、トレースメモリ17へのアドレスをインクリメントする機能を持っている。 【0059】デバッグを始める際には、トレースメモリ17のアドレス生成器19を初期化する必要があるが、初期化手段としては、図1には示していないが、デバッガプログラムが走行するホストコンピュター等のプロセッサ11外部から初期化コントロールを行う方法などが考えられる。 【0060】デバッガプログラムとは、簡単に説明すると、デバッグ対象となるプログラムをダウンロードしたり、デバッグ対象となるプロセッサのプログラムの走行、停止の制御を行ったり。プロセッサ内のレジスタ、メモリの表示、書き換えや、トレースメモリの内容を表示したりする開発ツールを構成するプログラムのことを指している。 【0061】いま、図3のchka命令を含むプログラムをメインメモリ18に転送し、図3のプログラムを走行させると、トレースメモリには、図4のような結果がプログラムトレースとして格納される。 【0062】すなわち、プログラム走行は、以下の順番で実行されたことが分かる。 【0063】 1)MAIN_ADDRESS12)MAIN_ADDRESS23)SUB_ADDRESS14)INT_ADDRESS15)SUB_ADDRESS26)MAIN_ADDRESS37)INT_ADDRESS28)INT_ADDRESS19)MAIN_ADDRESS410)MAIN_ADDRESS5【0064】このように、本実施形態では、サブルーチンへの分岐が正確に行われているか、又は非同期に発生する割込みがプログラムのどの場所で起こっているか等、プログラムが設計者の意図した通りに走行しているかが、少量のトレースメモリ17の結果から判ることになる。 【0065】また、上記した第1の実施形態では、chka命令の仕様は、ライト信号の生成であり、仕様として軽い。このため、少量のハードウェアの追加で、命令として容易にプロセッサに実装することが可能であり、また、この命令の実装によりプロセッサのスピードを損なうことはない。 【0066】また、chka命令の実装により、プロセッサ外部のハードウェアは、トレースメモリ17へのアドレス生成器19及びトレースメモリ17と簡単でかつ高速な設計が可能であり、プロセッサと共に容易に半導体装置内に搭載し、低コストで高速なトレース機能を持つ開発支援装置が提供可能である。 【0067】また、本実施形態で用いているchka命令は、chka命令自体の実行アドレスをトレースメモリに書き込む命令としているが、chka命令の次に実行するアドレスを書き込むというように、バスサイクルのディレイを持たせてトレースメモリに書き込む仕様でも本発明は応用可能である。 【0068】上記した実施形態1においては、以下のような改善すればよりよい点がある。 【0069】(1)プロセッサ自身に、少量といえどもchka命令のハードウェアの追加が必要である。 (2)デバッグしたいプログラムにchkaを挿入する必要がある。 (3)デバッグ対象プログラムに、chka命令を埋め込むため、chka命令の実行時間のために、リアルタイム性が損なわれる。 (4)chka命令をプログラムに埋め込むため、デバッグ時にはプログラムサイズがオリジナルプログラムより大きくなる。 (5)プログラムの大まかな流れは判るが、全てのバスサイクルのトレースが行われないため、詳細なデバッグはできない。 (6)プログラムがループしている場合にそこにchka命令を配置した場合には、ループが通過する毎に、トレースメモリへの格納が起きるためトレースメモリの格納データが多くなるため、トレースメモリに要求されるサイズが大きくなる。ループ内にchkaを配置しなければ、ループが何回まわっていつ抜け出したか判らない。 (7)本実施例のトレースメモリの結果では、プログラムの実行時間が判らない。 (8)割込みやサブルーチンに分岐しているのは判るが、どこから分岐したのかが判らない。 【0070】上記した(1)から(4)の項目については、本発明の構成上避けることができないが、低コストで高速なトレースシステムを構成する長所に比べて、小さいと考えることができる。 【0071】上記(2)の項目に関しては、ソースプログラムを実行形式に変換するコンパイラやアセンブラ&リンカに自動化の機能を持たせる。例えば、サブルーチンや割込みルーチンの先頭アドレスに自動的に挿入する機能を持たせれば、半自動化が可能になり、問題ない程度に軽減は可能である。 【0072】また、(3)、(4)の項目に関しては、デバッグ後のプログラムには、chka命令が埋め込まれないため、デバッグ完了後は全く問題とならない。 【0073】上記した(5)ないし(8)の点を改良したこの発明の実施形態につき、以下に説明する。 【0074】この発明の第2の実施形態につき説明する。ブロック構成は図1に示すものと同じ構成である。デバッグ対象となるのは、図3のプログラムで、詳細なデバッグを行いたい部分に対して、これ以降全てのバスサイクルで実行アドレスをトレースメモリ17に出力するトレース出力のON命令と全てのバスサイクルのトレース出力を停止するトレース出力のOFF命令を、プロセッサ11に実装するものである。 【0075】例えば、トレースON、OFFの命令のニーモニックをtron、troffとし、図3のデバッグ対象プログラムの内、サブルーチン1内の命令の動作を詳細にデバッグしたい場合には、図5のように変更する。即ち、サブルーチン1の始めtronが挿入され、と終わりにtroffが挿入される。 【0076】図5のプログラムで、トレースを実施した結果を図6に示す。 【0077】図6の結果のように、本トレース結果では、サブルーチン1の全ての命令の動きと、サブルーチン1の途中から、割込みルーチン1に分岐し、割込みルーチンからサブルーチン1に戻って、サブルーチン1が実行されるサブルーチンの最後にあるRET命令(ここではRET命令はサブルーチンからの復帰命令として説明している)でメインルーチンに戻ったプログラムの動きがトレースメモリ17に格納され、プログラムの詳細な動きがデバッグできる。 【0078】また、この第2の実施形態としてtronとtroff命令でプログラムでトレース範囲を指定する方法に対して、トレース範囲の選択である従来技術としてプログラムのアドレス範囲で指定し、プロセッサが出力するアドレス出力やステータス出力を監視し、アドレス範囲とマッチすればトレースメモリに格納するかどうかを判断する技術があった。この従来技術では、アドレス範囲のコンパレータのハードウェアが必要であることと、プロセッサのアドレス出力遅延、アドレス範囲のコンパレータ、トレースメモリへのライト信号の生成回路の遅延があるため、高速なプロセッサやシステムに対応できない問題があった。しかし、この第2の実施形態のように、プロセッサに、tron、troff命令を実装することで、より少ないハードウェアで、低コストでかつ高速なプロセッサのトレース機能をもつデバッグシステムが提供できる。 【0079】次に、この発明の第3の実施形態を図5に示すブロック回路図に従い説明する。 【0080】この第3の実施形態も上記した実施形態と同様にデバッグ対象となるプロセッサ11がメインメモリ16に格納されているプログラムを読み出し、データアクセスを行いながらプログラムを実行するものとする。 【0081】プロセッサ11とメインメモリ16、アドレスバス14、データバス13、コントロールバス12で接続されている。 【0082】アドレスバス14は、プロセッサ11から、メインメモリ16へのアドレスデータが出力されるバスで、プログラムを読み出すアドレスや、データアクセスの際のアドレスが出力されている。そして、データバス13は、プログラムデータやデータアクセスの際のデータがこのバスを通じて、プロセッサ11とメインメモリ16の間でやりとりされる。 【0083】この第3の実施形態では、図1の第1の実施形態と異なり、プロセッサ11内に、システムクロックの計数カウンタ111、パスカウンタ112の2種類のカウンタを内蔵している。また、トレースメモリ17へのデータに対しては、プロセッサ11自身からアドレスバス14とは別に、トレース用のデータ出力バス114を持っている。このデータバス114とトレースメモリ17とが接続されている。 【0084】トレースデータバス114は、プロセッサ11内で、クロック計数カウンタ111、パスカウンタ112、アドレスバス14の出力をマルチプレクサ113にて、選択的に出力するように構成されている。 【0085】この第3の実施形態では、上記した第1,第2の実施形態で説明した(chka)命令、(tron)命令、(troff)命令とは別に、プロセッサ11内に、クロック計数カウンタ111の値をトレースメモリ17へ書き込むchkck命令、パスカウンタ112の値をインクリメントするincctr命令、またパスカウンタ112の値をトレースメモリ17へ書き込むchkctr命令を実装している。 【0086】すなわち、クロック計数カウンタ111は、プロセッサ11のシステムクロックで、毎サイクルインクリメントされ、chkck命令にてトレースメモリ17への書き込みが行われる。クロック計数カウンタ111のリセットに関しては、書き込み後リセットされても良いし、プログラム走行開始時に、別途init命令等をプロセッサ11に実装しプロセッサ自身でリセットを行うか、又はデバッガ等の外部から直接、リセットを制御し、プログラム走行時に初期化し、停止するまでリセットを行わない方法等が考えられる。 【0087】一方、パスカウンタ112は、プログラム走行時に上述のクロック計数カウンタ111と同様の方法で初期化され、incctr命令の実行時にインクリメントされ、chkctr命令でパスカウンタ112の値をトレースメモリ17へ書き込むと共に、書き込み後リセットされるように構成している。 【0088】以上の構成で、図8に示す条件判定を伴うループプログラムをデバッグすることを考える。 【0089】図8でメインA−1からメインC−4は、プログラムのアドレスとする。プログラムのAブロックとBブロックの間には、条件判定プログラムが存在し、条件が成立するとBブロックにプログラムが移るが条件が成立しない場合には、A−4アドレスに戻りAブロック内をループすることになる。 【0090】この図8のようなループを伴うプログラムをchka命令のみでデバッグする場合には、例えば、図8に示したようにループ内であるメインA−4のアドレス位置、ループの出口であるメインB−1の位置、更にメインC−1のプログラム走行をチェックしたい位置にchkaを配置したとすると、プログラム走行後のトレースメモリの結果は、図9のようになる。すなわち、ループ内のメインA−4の実行アドレスはループが回った回数分だけトレースメモリ17に書き込まれるため、例えばn回ループを回ったとするとnアドレス分のトレースメモリ17を消費することになってしまう。メインA−4が格納されているアドレスを数えればループが何回まわったかを知ることができるが、トレースメモリ17の消費が大きい。 【0091】また、図9に示すように、ブロックA,B,Cの順番にプログラムが実行されたことは判るが、どれくらいの実行時間で実行されたかは判らないという問題がある。 【0092】図8のプログラムを、図10のようにchkck、incctr、chkctr命令を用いて変更した場合には、トレースメモリ17は図11のようになる。まず、ループ命令の前のメインA−2のchkck命令にてその時のクロック計数カウンタ111の値がトレースメモリ17にクロック値1として書き込まれ、メインA−3の位置のchka命令でメインA−3アドレスがトレースメモリ17に書き込まれ、ループ内のincctr命令によりループが回る毎にパスカウンタ112がインクリメントされ、ループが抜けだしたメインB−1のchkctr命令で、パスカウンタ112の値であるループ回数nがトレースメモリ17に書き込まれ、chka命令でB−2アドレスが書き込まれる。 【0093】その後もchkck、chka命令でクロック値2,3やメインB−4、メインC−2等の実行アドレスがトレースメモリ17に書き込まれる。 【0094】図11のトレースメモリの結果で、クロック値2とクロック値1の差から、AブロックからBブロックへのプログラム実行時間、クロック値3とクロック値2の差から、BブロックからCブロックへのプログラム実行時間、を情報として得ることができる。 【0095】また、ループの回数も図9のようにnアドレスのトレースメモリを使用するのでなく、回数データとして1アドレスのみトレースメモリを使うため、小用量のトレースメモリ17でデバッグできるメリットがある。 【0096】また、ループがネストしている場合にも、パスカウンタ112を複数個用意し、incctr1、chkctr1incctr2、chkctr1incctr3、chkctr1のようにトレース用命令を複数組み用意すれば、ネストループのプログラムも第3の実施形態と同様の手法でデバッグ可能である。 【0097】また、第3の実施形態の図7では、プロセッサ11内にクロック計数カウンタ11とパスカウンタ112の両方のハードウェアを搭載しているが、不必要な場合にはどちらか一方のカウンタハードウェアとそれに関する命令を実装しても本実施形態は適用できる。 【0098】トレースメモリ17の読み出しと解析を行う場合に、そのデータが実行アドレスか、パスカウンタか、クロック計数値かを区別するため、第3の実施形態では、パスカウンタやクロック計数値を出力させた直後に実行アドレスを出力させている手法を採っている。 【0099】例えば、図11で、メインC−2の直前のデータはクロック計数値3であると見なすことができる方法を採用しているが、図14に示す様に、トレースメモリ17へのデータ種類のステータスデータとしてトレースデータに付加する方法も考えられる。この方法を用いた第4の実施例形態のシステムを図12のブロック回路図に示す。 【0100】この第4の実施形態4では、第3の実施形態の構成に比べて、更にトレースメモリ17に対して、トレースデータ114とは別に、データステータス種類信号115をトレースメモリ17への格納データとしていることを特徴としている。 【0101】図12の第4の実施形態のデバッグ対象プログラムを図13、トレース後のデータを図14に示す。 【0102】図14のトレースデータの上位2ビットには、トレースデータが実行アドレスの場合には”00”データ、クロック計数カウンタ111の場合には”01”データ、パスカウンタ112の値の場合には”10”データがトレースメモリ17に情報として書き込まれる。このため、トレース解析に際して容易に解析できると共にデータを区別するための不必要なchka命令を配置する必要が無くなり、トレースメモリ17の節約ができる。 【0103】上記した第2〜第4の実施形態で、tron、troff命令によるプログラム詳細解析incctr、chkctr命令によるループ構造のプログラム解析chkck命令によるプログラム実行時間の解析が実現可能であり、上記した(5),(6),(7)の項目の解決が行える。 【0104】上記した(8)の項目で挙げた割込みやサブルーチンに分岐しているのは判るが、どこから分岐したのかが判らないという問題を解決する実施形態につき以下に説明する。図15はこの第5の実施形態の構成を示すブロック回路図である。 【0105】図15のシステムは図1の構成と比較して、ブロックインクリメント信号118がプロセッサ11からトレースアドレス生成器19に更に出力されるように構成されている。 【0106】プロセッサ11は、図1の第1の実施形態では、chka命令により、ライト信号が出力されていたが、図15の構成では、全てのバスサイクルでトレースライト信号が生成されるように構成されている。 【0107】トレースアドレス生成器19のアドレスの出力は、全てのバスサイクルでアドレスをインクリメントするが、インクリメントは下位数ビットの範囲でしか行われない構成になっている。 【0108】例えば、アドレス全体で8ビットかつ下位2ビット範囲を例とすると、アドレスは下記のように、4つのアドレスをループする構造となっている。 【0109】 00000000(アドレス00h) 00000001(アドレス01h) 00000010(アドレス02h) 00000011(アドレス03h) 00000000(アドレス00h) 00000001(アドレス01h) 【0110】更に、chka命令に出会うと、残り1回のバスサイクルをトレースメモリ19へ出力した後に、ブロックインクリメント信号118により、アドレスの上位部分がインクリメントされる。 【0111】例えば、以下のようにアドレスが生成されるものとする。 【0112】 00000011(アドレス03h) chka命令の前の前の命令の実行アドレス00000000(アドレス00h) chka命令の前の命令の実行アドレス00000001(アドレス01h) chka命令00000010(アドレス02h) chka命令の次の命令の実行アドレス00000000(アドレス13h) 00000001(アドレス10h) 【0113】この実施形態のchka命令は、アドレス生成のループ範囲を下位2ビットとしているが、本発明の応用として例えば3ビット、4ビットのようにデバッグしやすいビットに変更してもかまわない。また、chka命令のトレース出力後、残り1回のバスサイクルをトレースメモリに出力し、ブロックインクリメント信号を発生するとしているが、別の回数にしても本特許は応用可能である。 【0114】第5の実施形態のブロックインクリメント信号を使った場合の、デバッグ対象プログラムを図16に示す。また、図16プログラムをトレースした結果データを図17に示す。 【0115】図17のトレース結果を見ると、MAIN_A−3のchka命令により、MAIN_A−4までが次のトレースメモリ17のアドレスに格納され、ブロックアドレスがインクリメントされている。また、SUB_A−0のサブルーチンの先頭にあるchka命令により、次のトレースメモリ17のブロックのデータが格納されているが、このブロックのデータにより、メインプログラムのMAIN_A−7アドレスからサブルーチンへの分岐が起こっていることが判る。 【0116】また、MAIN_A−11のchka命令により、次のブロックのトレースメモリ17のデータが格納される。トレースメモリ17のブロック内のデータは、実行時間順には、並んでいないが、chka命令の位置より、トレースメモリ解析の際に、実行時間順に容易にソートできるため問題にはならない。 【0117】以上の第5の実施形態により、第1の実施形態で問題となる上記(8)の項目である割込みやサブルーチンに分岐しているのは判るが、どこから分岐したのかが判らないという問題は解決できる。 【0118】次に、この発明の第6の実施形態を図18に従い説明する。図18に示す第6の実施形態は、図1の第1の実施形態と異なり、プロセッサ11から、トレースメモリ17への出力データバス120をもっている。プロセッサ11に対して、前述した実施形態と異なり、新たなトレース出力命令であるchkp命令を実装している。 【0119】chkp命令の仕様としては、命令に定数引数をもつ。この定数引数は命令コードの中に値として保持し、chkp命令が実行されると、その定数がトレースメモリ17に書き込まれるようにchkp命令をプロセッサ11に実装する。 【0120】例えば、図2のデバッグ対象プログラムを、図19のように書換える。図19のプログラムを走行させた後のトレースメモリの結果は図20のようになる。図20の結果は、第1の実施形態の結果である図3と同様の情報量を持っている。すなわち、プログラム走行は、以下の順番に実行されたことがわかる。 【0121】 1)MAIN_ADDRESS12)MAIN_ADDRESS23)SUB_ADDRESS14)INT_ADDRESS15)SUB_ADDRESS26)MAIN_ADDRESS37)INT_ADDRESS28)INT_ADDRESS19)MAIN_ADDRESS410)MAIN_ADDRESS5【0122】第6の実施形態が第1の実施形態と異なる点は、トレースメモリ17への格納データが第1の実施形態では実行アドレスであるのに対して、第6の実施形態では、chkp命令で指定した定数引数の値が格納されることになる。 【0123】近年一般にプロセッサの実行アドレスは、32ビット以上の場合も珍しくない状況で、このアドレスをトレースメモリ17に格納する場合には、トレースメモリ17のデータ幅が実行アドレスと同じ幅が好ましいため、トレースメモリ17に要求される容量が大きくなる問題がある。しかし、本発明の第6の実施形態のように、chkpの引数に8ビットの定数の場合には、256ポイントまでのアドレスを区別することが可能であり、トレースメモリ17が小容量でも、長時間に渡ってプログラムの実行ポイントがトレースメモリ17に格納されることになる。 【0124】また、キャッシュを搭載したプロセッサの場合には、実行アドレスがアドレスバスに出力されない場合があり、第1の実施形態の場合には、アドレスデータがトレースメモリ17に書き込めない問題が予想されるが、この第6の実施形態では、chkp命令の定数引数をトレースメモリ17に格納するため、この問題は起こらない。 【0125】なお、第6の実施形態6では、chkp命令の定数引数を8ビットとした場合に関して説明を行ったが、その他のビット幅でも、本発明は有効である。 【0126】第6の実施形態を示す図18においては、プロセッサ11からのトレース機能の実現のため、トレースデータ出力バス120とトレースライト信号18を出力しているが、図21の第7の実施形態の様に、トレースデータシリアル出力バスとシリアルライト信号の様に、トレースメモリ機能のインターフェイスをシリアルで構成することも可能である。 【0127】図21では、プロセッサ11内に例えば、シフトレジスタ121を搭載し、chkpの定数引数をパラレル/シリアル変換し、シリアルデータ122として、プロセッサ11の外部に出力すると共に、シリアルデータが出力される度にシリアルライト信号を出力する。トレースデータシリアル出力バス122とシリアルライト信号123の信号は、プロセッサ11の外部にあるトレースメモリ制御器124に入力され、シリアルデータが、パラレルデータに変換され、トレースデータ120とトレースメモリライト信号125がトレースメモリ17に出力され、定数データをトレースメモリ17に格納することになる。トレースメモリライト信号125はトレースアドレス生成器19にも与えられる。 【0128】第6の実施形態6と異なり、第7の実施形態では、プロセッサ11からシリアルデータとして出力されるため、例えばトレースデータシリアル出力バス122とシリアルライト信号123の2本の信号を半導体装置のIO信号に割り付けて、トレースメモリ制御器、アドレス生成器、トレースメモリを半導体装置1の外部に持たせる構成も可能である。 【0129】上記のように、トレースメモリを半導体装置の外部に持たせた場合には、大容量のトレースメモリを使用することができるため、半導体装置内部に持たせた場合に比べて、例えば1日や1週間等の長期に渡ってプログラムが設計通り正しく走行しているかがわかる。 【0130】従って、本発明は、プログラムのデバッグ時にも使用できるし、プログラムが使用されている時に、プログラム走行の異常を検出する機能としての応用も考えられる。 【0131】 【発明の効果】上記したように、請求項1に記載の発明では、プロセッサ内に、トレースに有用なデータをトレースメモリに出力するためのトレースメモリへの出力命令を持っているため、予め設定された位置でトレースメモリにデータ書き込むことができる。従って、少ないトレースメモリ記憶容量で長時間に渡って有効な情報をトレースメモリに採取することができるという効果がある。また、プロセッサ外部にトレースメモリへの書き込みを制御する回路が不要になるため、高速プロセッサにも対応するトレース機能を容易に実現できる。 【0132】また、請求項2の発明ではデバッグ対象となるプロセッサ内に、実行アドレスをトレースメモリに出力するためのトレースメモリへの出力命令を持っているため、予め設定された位置でトレースメモリに書き込みするように構成でき、少ないトレースメモリ記憶容量で長時間に渡って有効な情報をトレースメモリに採取することができるという効果がある。 【0133】請求項3に記載の発明によれば、デバッグ対象となるプロセッサの他に、トレースメモリ、トレースメモリへのアドレス生成機能を合わせて持ち、ソフトウェアやシステムデバッグのためのトレース機能をもつ半導体装置を構成できるため、高速なバスサイクルをもつ、高速マイクロプロセッサ(MPU)がデバッグの対象の場合でも、問題なくトレース機能を使用してデバッグを行うことができる。また、比較的小容量のトレースメモリですむため、半導体装置の製造コストを安くできる。 【0134】請求項4に記載の発明によれば、デバッグ対象となるプロセッサ内に、これ以降のバスサイクルでトレースメモリへの格納を行う、トレース開始命令と、これ以降のトレースメモリへの格納を行わないトレース中止命令を備えるので、プログラムの詳細デバッグを行いたい場合にも、これらの命令を実行させることで、トレースメモリへの書き込みを制御することができ、少ないトレースメモリ記憶容量で詳細な情報をトレースメモリに採取することができるという効果がある。 【0135】また、従来技術としてプログラムのアドレス範囲でトレース範囲を指定し、プロセッサが出力するアドレス出力やステータス出力を監視し、アドレス範囲とマッチすればトレースメモリに格納するかどうかを判断する技術がある。その従来技術では、アドレス範囲のコンパレータのハードウェアが必要であることと、プロセッサのアドレス出力遅延、アドレス範囲のコンパレータ、トレースメモリへのライト信号の生成回路の遅延があるため、高速なプロセッサやシステムに対応できない問題があったが、請求項4に記載の発明ように、命令にてトレース格納を制御することで、より少ないハードウェアで、低コストでかつ高速なプロセッサのトレース機能をもつデバッグシステムが提供できるという効果がある。 【0136】また、請求項5に記載の発明では、デバッグ対象となるプロセッサ内に、パスカウンタを備え、カウンタ値をインクリメントする命令と、カウンタ値をトレースメモリに出力するためのパスカウンタ値出力命令を持っているので、ループ構造を含むプログラムの場合にも、少ないトレースメモリ記憶容量で長時間に渡って有効な情報をトレースメモリに採取することができるという効果がある。 【0137】請求項6に記載の発明では、デバッグ対象となるプロセッサ内に、プロセッサのサイクル数をカウントするカウンタを備えると共に、カウンタ値をトレースメモリに出力するためのサイクルカウンタ値出力命令を持っているので、プログラムの実行時間をトレースメモリに書き込むことができ、実行時間計測機能を用いて、プログラムデバッグを行うことができる。 【0138】請求項7に記載の発明では、デバッグ対象となるプロセッサ内に、トレースメモリへのデータ出力バスを持ち、そのバスに、実行アドレス、サイクルを数えるカウンタ、イベントを数えるパスカウンタを選択的に出力する手段を備え、プロセッサのトレースメモリへの出力命令により、選択的にトレースメモリへデータを書き込む手段を備えているので、プログラムの流れ、実行時間情報、ループ構造のプログラムのループ回数等の多種類のデバッグ情報が1つの小容量のトレースメモリに、長時間に渡って長時間に渡って採取することができるという効果がある。 【0139】請求項8に記載の発明では、デバッグ対象となるプロセッサ内に、トレースメモリへのデータ出力バスを持ち、そのバスに、実行アドレス、サイクルを数えるカウンタ、イベントを数えるパスカウンタを選択的に出力する手段を備え、プロセッサのトレースメモリへの出力命令により、選択的にトレースメモリへデータを書き込む際に、どのデータが出力されているかという情報も合わせて、トレースメモリに書き込む機能を備えているので、トレース後の結果の解析を容易行うことができる。また、どのようなデータが格納されているかを区別する必要から、本来必要でない場所で実行アドレスのトレースメモリへの書き出し命令を挿入する必要がなくなるという効果がある。 【0140】請求項9に記載の発明では、トレースメモリへの書き出しを毎バスサイクル行うと共に、デバッグ対象となるプロセッサ内に、トレースメモリへの出力命令を持ち、トレース命令の出力命令を実行した場合には、プロセッサからトレースメモリへのアドレス生成器に対して、ブロックアドレスインクリメント信号を出力する機能を持備えているので、サブルーチンや割込みの分岐がプログラムのどの位置から分岐したかが、少ないトレースメモリ記憶容量で長時間に渡ってトレースメモリに採取することができるという効果がある。 【0141】請求項10に記載の発明では、デバッグ対象となるプロセッサ内に、トレース出力命令に与えられた定数引数をトレースメモリに出力するためのトレースメモリへの出力命令を備えているので、トレースのビット幅を定数引数のデータ長に押さえることができ、少ないトレースメモリ記憶容量で長時間に亘って有効な情報をトレースメモリに採取することができるという効果がある。また、キャッシュメモリを持つプロセッサのように、実行アドレスがアドレスバスに出力されないプロセッサに対しても、問題なくトレース機能が実現できる。 【0142】請求項11に記載の発明では、デバッグ対象となるプロセッサの他に、トレースメモリ、トレースメモリへのアドレス生成機能を合わせて持ち、ソフトウェアやシステムデバッグのためのトレース機能をもつ開発支援機能を持った半導体装置を構成でき、高速なバスサイクルをもつ、高速MPUがデバッグの対象の場合でも、問題なくトレース機能を使用してデバッグを行うことができる。また、比較的小容量のトレースメモリですむ為、半導体装置の製造コストが安い。 【0143】請求項12に記載の発明では、デバッグ対象となるプロセッサからトレースデータを出力される際に、シリアルデータで出力と、シリアルデータを同期化するためのシリアルライト信号を持っているため、デバッグ対象となる半導体装置において、トレース機能に要求されるIOピンの本数を少なくできるとい効果がある。 【0144】請求項13に記載の発明では、デバッグ対象となる半導体装置の外部に、トレースメモリを持つため、半導体装置内に内蔵する場合と比べて、大容量のトレースメモリを持つ開発支援装置が設計可能である。その際には、より長時間に渡って、プログラムのトレースを行うことができるトレース機能をもつ開発支援装置が提供可能である。
|
| 【出願人】 |
【識別番号】000006747 【氏名又は名称】株式会社リコー
|
| 【出願日】 |
平成12年9月29日(2000.9.29) |
| 【代理人】 |
【識別番号】100085213 【弁理士】 【氏名又は名称】鳥居 洋
|
| 【公開番号】 |
特開2002−108647(P2002−108647A) |
| 【公開日】 |
平成14年4月12日(2002.4.12) |
| 【出願番号】 |
特願2000−298449(P2000−298449) |
|