マイクロプロセッサによるプログラムの実行履歴に対するトレース機能を有し、マイクロプロセッサを実装した状態でプログラムのデバッグを行うエミュレータ装置であって、分岐トレースの対象外とする分岐命令の種類を選択指定する指定手段と、前記マイクロプロセッサの実行する命令コードの示す分岐命令が、前記選択指定した種類の分岐命令と一致するか否かを判定する判定手段と、前記判定手段により、前記命令コードの示す分岐命令と前記選択指定した分岐命令とが一致したと判定された場合、該選択指定した分岐命令についての分岐元アドレスと分岐先アドレスのトレースメモリへの格納を禁止する格納禁止手段と、を備えたエミュレータ装置。前記分岐命令のうち条件分岐命令を分岐トレースの対象外として選択指定する指定手段と、既に実行された条件分岐命令の分岐元アドレスと、現在の条件分岐命令の分岐元アドレスとを比較する比較手段と、前記比較の結果、前記分岐元アドレスが一致した場合、前記条件分岐命令の実行回数の制限をもとに、前記分岐トレースの対象外とした条件分岐命令についての分岐元アドレスと分岐先アドレスのトレースメモリへの格納を禁止する格納禁止手段と、をさらに備えた請求項1記載のエミュレータ装置。前記分岐トレースの対象外とした条件分岐命令について1回目のループ実行に限り、該条件分岐命令の分岐元アドレスと分岐先アドレスをトレースメモリに書き込み、該条件分岐命令と同じ条件分岐命令が再度、実行された場合には、該条件分岐命令の分岐元アドレスと分岐先アドレスのトレースメモリへの格納を禁止することを特徴とする請求項2記載のエミュレータ装置。前記マイクロプロセッサがプログラムを実行する際に出力するプログラムアドレスと、分岐トレースの対象外とする分岐命令を置いた特定のプログラムアドレスとが一致するか否かを判定する判定手段と、前記判定結果に応じて、前記特定のプログラムアドレスに置いた分岐命令のトレースの有効又は無効を選択する選択手段と、をさらに備えた請求項3記載のエミュレータ装置。前記選択手段が前記特定のプログラムアドレスに置いた分岐命令のトレースを有効とした場合、該分岐命令の分岐元アドレスと分岐先アドレスがトレースメモリに格納され、前記分岐命令のトレースを無効とした場合、該分岐命令の分岐元アドレスと分岐先アドレスのトレースメモリへの格納が禁止されることを特徴とする請求項4記載のエミュレータ装置。しかしながら、上記従来のオンチップエミュレータやデバッグ装置は、分岐命令の種類にかかわらず、トレースデータとして、分岐命令の分岐元アドレスと分岐先アドレスをトレースメモリに格納している。そのため、従来のオンチップエミュレータ等で、メモリ容量の小さいトレースメモリに対して、局所的なアドレスをループする条件分岐命令等が含まれるプログラムを実行した場合、トレースの結果として、この条件分岐命令の分岐元アドレスと分岐先アドレスが主にトレースされる。その結果、プログラムデバッグとして使用するトレース情報がかなり不足する、という問題があった。本発明は、上述した課題を解決するために提案されたものであり、プログラムデバッグに不要なトレース情報を排除して、限られたトレースメモリのメモリ領域をプログラムデバッグに効率的に使用できるエミュレータ装置を提供することを目的とする。上記目的を達成するために、請求項1記載の発明は、マイクロプロセッサによるプログラムの実行履歴に対するトレース機能を有し、マイクロプロセッサを実装した状態でプログラムのデバッグを行うエミュレータ装置であって、分岐トレースの対象外とする分岐命令の種類を選択指定する指定手段と、前記マイクロプロセッサの実行する命令コードの示す分岐命令が、前記選択指定した種類の分岐命令と一致するか否かを判定する判定手段と、前記判定手段により、前記命令コードの示す分岐命令と前記選択指定した分岐命令とが一致したと判定された場合、該選択指定した分岐命令についての分岐元アドレスと分岐先アドレスのトレースメモリへの格納を禁止する格納禁止手段と、を備えたことを特徴とする。この発明によれば、トレース情報として必要のない分岐命令をトレースメモリから排除して、トレース情報においてプログラムデバッグに意味を持つデータの密度を高め、結果として、トレースメモリのメモリ領域を効率的に使用可能となる。また、請求項2に記載したように、本発明は、前記分岐命令のうち条件分岐命令を分岐トレースの対象外として選択指定する指定手段と、既に実行された条件分岐命令の分岐元アドレスと、現在の条件分岐命令の分岐元アドレスとを比較する比較手段と、前記比較の結果、前記分岐元アドレスが一致した場合、前記条件分岐命令の実行回数の制限をもとに、前記分岐トレースの対象外とした条件分岐命令についての分岐元アドレスと分岐先アドレスのトレースメモリへの格納を禁止する格納禁止手段と、をさらに備えた構成とすることができる。これにより、トレースメモリの領域を効率的に使用でき、加えて、条件分岐命令のトレース情報を最小限のかたちで得ることができる。この場合、請求項3に記載したように、前記分岐トレースの対象外とした条件分岐命令について1回目のループ実行に限り、該条件分岐命令の分岐元アドレスと分岐先アドレスをトレースメモリに書き込み、該条件分岐命令と同じ条件分岐命令が再度、実行された場合には、該条件分岐命令の分岐元アドレスと分岐先アドレスのトレースメモリへの格納を禁止する構成とすることができる。これにより、1回ループの実行に限り、トレース情報として条件分岐命令のアドレスをトレースメモリに書き込むため、デバッグに要する最小限のトレース情報を得ることができる。また、請求項4に記載したように、前記マイクロプロセッサがプログラムを実行する際に出力するプログラムアドレスと、分岐トレースの対象外とする分岐命令を置いた特定のプログラムアドレスとが一致するか否かを判定する判定手段と、前記判定結果に応じて、前記特定のプログラムアドレスに置いた分岐命令のトレースの有効又は無効を選択する選択手段と、をさらに備えた構成とすることができる。この場合、請求項5に記載したように、前記選択手段が前記特定のプログラムアドレスに置いた分岐命令のトレースを有効とした場合、該分岐命令の分岐元アドレスと分岐先アドレスがトレースメモリに格納され、前記分岐命令のトレースを無効とした場合、該分岐命令の分岐元アドレスと分岐先アドレスのトレースメモリへの格納が禁止される構成としてもよい。これにより、分岐命令の種類にかかわらず、ある特定のプログラムアドレスに置いた分岐命令のトレースのみを有効又は無効にし、その分岐命令の分岐元アドレスと分岐先アドレスをトレース情報としてトレースメモリへ書き込むか、あるいは禁止することで、トレースメモリの領域を効率的に使用できる。本発明によれば、プログラムデバッグにおいてトレースメモリのメモリ領域を効率的に使用して、トレース情報不足を解決できる、という効果を奏する。以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。<第1の実施形態>図1は、本発明の第1の実施形態に係るエミュレータ装置オンチップエミュレータの構成を示すブロック図である。図1に示すエミュレータ装置1において、CPU10は、エミュレータ装置1全体の制御を司る中央処理装置である。CPU10は、例えば、実行すべき命令プログラムが格納されたプログラムメモリ60をアクセスして、そのプログラムをフェッチ、デコード、または実行する。具体的には、CPU10がアドレス201を出力すると、そのアドレス201に対応した命令コード206がプログラムメモリ60から出力される。そして、CPU10は、その命令コード206を実行する。第1の実施形態に係るエミュレータ装置1は、マイクロプロセッサ等の命令コードを解析する命令コード解析回路70を有し、トレースさせる分岐命令の種類を選択指定設定できるようにするため、この命令コード解析回路70には、プログラムを実行する前に、選択指定の対象とする分岐命令の種類をあらかじめ設定しておく。なお、マイクロプロセッサ等における分岐命令の種類としては、条件の有無にかかわらず常に分岐する無条件分岐命令、ある条件が成立したときのみ分岐する条件分岐命令、直接分岐命令以外の分岐命令である間接分岐命令、そして、割り込みに大別される。エミュレータ装置1において、CPU10がプログラムメモリ60をアクセスして命令コード206を読み込み、プログラムの実行を開始すると、命令コード解析回路70は、その命令コード206を解析し、その命令コードの示す分岐命令が、あらかじめ選択指定した種類の分岐命令ここでは、トレース情報として不要な分岐命令とする。と一致するか否かを判定する。読み込んだ命令コード206の示す分岐命令が、あらかじめ設定された分岐命令と一致していれば、命令コード解析回路70は、命令コード一致信号208をアクティブにする。この命令コード一致信号208は、トレースメモリ書き込み制御回路40に入力される。読み込んだ命令コード206が分岐命令ではない場合は、アドレス201は1ずつ増加するが、その命令コード206が分岐命令を示していれば、CPU10は、その分岐命令がデコードされるタイミングに分岐タイミング信号203を出力し、その分岐命令が実行されるタイミングに分岐命令実行タイミング信号204を出力する。トレースメモリ書き込み制御回路40は、トレースメモリのアドレス生成回路カウンタと書き込み信号生成回路からなる。トレースメモリ書き込み制御回路40に入力された分岐命令をデコードしたときの分岐タイミング信号203、及び分岐命令の実行したときの分岐命令実行タイミング信号204がアクティブになった場合のみ、トレースメモリのアドレス生成回路カウンタをカウントアップし、トレースメモリへの書き込み信号を生成して、トレースメモリ50にトレースメモリアドレス、及び書き込み制御信号207を出力する。また、トレースメモリ書き込み制御回路40は、例えば、分岐タイミング信号203または分岐命令実行タイミング信号204がアクティブになり、命令コード一致信号208がアクティブとなった場合、トレースデータ生成回路30に対しては、分岐命令トレースデータ生成信号205を出力しない。このとき、トレースメモリ書き込み制御回路40は、トレースメモリ50に対しても書き込み制御信号207を出力しない。この場合、命令コード206の示す分岐命令があらかじめ設定した種類の分岐命令であることを意味しており、トレースデータ生成回路30では、トレースデータ202として、あらかじめ選択指定した分岐命令についての分岐元アドレスと分岐先アドレスが生成されない。その結果、トレースメモリ50にも、これらの分岐元アドレスと分岐先アドレスは書き込まれない。一方、分岐タイミング信号203または分岐命令実行タイミング信号204がアクティブになっても、命令コード一致信号208がアクティブとなっていない場合には、命令コード206の示す分岐命令があらかじめ設定した種類の分岐命令ではないとして、トレースメモリ書き込み制御回路40は、トレースデータ生成回路30に対して分岐命令トレースデータ生成信号205を出力する。その結果、トレースデータ生成回路30は、トレースデータ202として、あらかじめ設定した種類の分岐命令以外の分岐命令についての分岐元アドレスと分岐先アドレスを生成する。そして、トレースメモリ50には、これら生成された分岐元アドレスと分岐先アドレスが書き込まれる。このように、第1の実施形態に係るエミュレータ装置では、分岐トレースの対象外とする分岐命令の種類をあらかじめ選択指定できるように構成することで、トレース情報として必要のない分岐命令を排除して、その分岐命令のトレースデータがトレースメモリに格納されないようにすることができる。その結果、トレース情報においてプログラムデバッグに意味を持つデータの密度を高めることができ、トレースメモリのメモリ領域を効率的に使用可能となる。<第2の実施形態>図2は、本発明の第2の実施形態に係るエミュレータ装置オンチップエミュレータの構成を示すブロック図である。なお、図2に示すエミュレータ装置2において、図1に示す第1の実施形態に係るエミュレータ装置と同一の構成要素には同一の符号を付して、ここではそれらの説明を適宜、省略する。上述した第1の実施形態に係るエミュレータ装置では、分岐トレースの対象外として選択指定された分岐命令はすべて、トレース対象として扱わない制御をしている。しかし、デバッグ作業の過程において、それらの分岐命令のうち特定の分岐命令については、トレース情報として必要となる場合がある。そこで、第2の実施形態に係るエミュレータ装置は、トレース対象外とした条件分岐命令については、トレース情報格納の回数に制限を設ける。具体的には、1回ループの実行に限りトレース情報としてトレースメモリに書き込むよう制御する。以下、そのための具体的な装置構成及び制御について説明する。図2に示すように、第2の実施形態に係るエミュレータ装置2には、命令コード解析回路70からの信号等を入力して、条件分岐命令の分岐元アドレス及び分岐先アドレスを比較するための分岐アドレス比較回路80が配されている。命令コード解析回路70には、例えば、プログラムの実行前に、対象とする条件分岐命令をあらかじめ設定しておく。CPU10によりプログラムの実行が開始されると、命令コード解析回路70は命令コード206を解析して、この命令コード206の示す条件分岐命令が、トレース対象とする条件分岐命令と一致するか否かを判定する。そして、命令コード206の示す条件分岐命令が、対象とする条件分岐命令であると判定した場合、命令コード解析回路70は、命令コード一致信号208をアクティブにする。第2の実施形態に係るエミュレータ装置2では、プログラムによって条件分岐命令が実行された場合、例えば、実行されたのが1回目の条件分岐命令であれば、その条件分岐命令の分岐元アドレスと分岐先アドレスをトレースメモリ50に書き込むように制御する。その後、再度、プログラムによって条件分岐命令が実行されると、命令コード解析回路70は、命令コード一致信号208をアクティブにする。この信号を受けた分岐アドレス比較回路80は、既にトレースメモリ50に格納された分岐元アドレスここでは、1回目の条件分岐命令の分岐元アドレスであり、f-adrとする。と、現在、実行されている条件分岐命令の分岐元アドレスp-adrとする。201とを比較する。そして、これらのアドレスf-adrとp-adrとが一致すれば、分岐アドレス比較回路80は、再度、同じ条件分岐命令が実行されたとしてアドレス比較信号209をアクティブにし、その信号209をトレースメモリ書き込み制御回路40へ入力する。一方、CPU10は、その条件分岐命令について、条件分岐の条件成立を判定し、分岐条件が成立する場合、条件成立信号210をアクティブにして、その信号210をトレースメモリ書き込み制御回路40に入力する。トレースメモリ書き込み制御回路40は、分岐タイミング信号203または分岐命令実行タイミング信号204がアクティブになり、アドレス比較信号209がアクティブとなり、さらに、条件分岐命令の条件成立信号210がアクティブとなった場合、トレースデータ生成回路30に対して分岐命令トレースデータ生成信号205を出力しない。このように、トレースメモリ書き込み制御回路40からトレースデータ生成回路30に対して、分岐命令トレースデータ生成信号205が出力されない場合は、トレースデータ生成回路130はトレースデータ202を生成しない。このとき、トレースメモリ書き込み制御回路40からトレースメモリ50に対して書き込み制御信号207も出力されない。結果として、第2の実施形態に係るエミュレータ装置2は、同じ条件分岐命令は同じループを実行すると判断し、トレース対象外として選択指定した条件分岐命令については、1回目のループ実行に限り、その条件分岐命令の分岐元アドレスと分岐先アドレスをトレースメモリ50に書き込む。そして、1回目のループ実行と同じ条件分岐命令が再度、実行された場合には、その条件分岐命令の分岐元アドレスと分岐先アドレスをトレースメモリ50に格納しないよう制御している。よって、第2の実施形態に係るエミュレータ装置では、同じ条件で分岐する場合について、それらの条件分岐命令すべての分岐元アドレスと分岐先アドレスを、トレース情報としてトレースメモリに書き込まず、トレース対象外に設置した条件分岐命令については、1回ループの実行に限りトレース情報として、分岐元アドレスと分岐先アドレスをトレースメモリに書き込むことで、トレースメモリの領域を効率的に使用できる。さらには、デバッグに必要な条件分岐命令のトレース情報を最小限のかたちで得ることができる。<第3の実施形態>図3は、本発明の第3の実施形態に係るエミュレータ装置オンチップエミュレータの構成を示すブロック図である。なお、図3に示すエミュレータ装置3において、図1に示す第1の実施形態に係るエミュレータ装置及び図2に示す第2の実施形態に係るエミュレータ装置と同一の構成要素には同一の符号を付して、ここではそれらの説明を適宜、省略する。上述したように、第1の実施形態に係るエミュレータ装置では、分岐トレースの対象外として選択指定された種類の分岐命令はすべて、トレース対象として扱わない制御をしている。また、第2の実施形態に係るエミュレータ装置では、同一の条件分岐命令をトレース対象外として選択指定し、その条件分岐命令について、回数を制限して、その分岐元アドレスと分岐先アドレスをトレースメモリに格納する制御をしている。しかし、トレース対象外に指定した分岐命令の種類に対して、プログラムデバッグにおいて必要のないトレース情報をプログラムアドレス上から指定できれば、より作業効率の良いデバッグを行える。以下、そのための具体的な構成及び制御について説明する。図3に示す、第3の実施形態に係るエミュレータ装置3において、プログラムアドレス解析回路90は、CPU10がプログラムを実行等する際に出力するアドレス201を入力し、そのプログラムアドレスを解析する機能を有する。そのため、プログラムアドレス解析回路90には、あらかじめトレースの対象外とする分岐命令を置いたプログラムアドレスが格納されている。第3の実施形態に係るエミュレータ装置3では、上述した第2の実施形態に係るエミュレータ装置と同様、CPU10がプログラムの実行を開始し、命令コードが分岐命令であれば、その命令がデコードされるタイミングに分岐タイミング信号203が出力され、その命令が実行されるタイミングに分岐命令実行タイミング信号204が出力される。また、分岐アドレス比較回路80は、条件分岐命令が実行された場合、その条件分岐命令がトレース対象外とした条件分岐命令であれば、1回ループの実行に限り、その分岐元アドレスと分岐先アドレスをトレース情報としてトレースメモリに書き込むためにアドレス比較信号209をアクティブにする。さらに、CPU10は、その条件分岐命令について、条件分岐の条件成立を判定し、分岐条件が成立する場合には、条件成立信号210がアクティブになる。一方、プログラムアドレス解析回路90は、CPU10がプログラムを実行等する際に出力したプログラムアドレスが、あらかじめ格納されたトレース対象外とした分岐命令のプログラムアドレスか否かを解析する。そして、プログラムアドレス解析回路90は、実行プログラムのプログラムアドレスが、対象外とする分岐命令のプログラムアドレスであれば、アドレス解析信号211をアクティブにする。ここで、第3の実施形態に係るエミュレータ装置3では、分岐タイミング信号203または分岐命令実行タイミング信号204がアクティブになり、アドレス比較信号209がアクティブとなり、さらに、条件分岐命令の条件成立信号210がアクティブとなった場合であって、アドレス解析信号211がアクティブのときは、トレースメモリ書き込み制御回路40がトレースデータ生成回路30に対して分岐命令トレースデータ生成信号205を出力しないように設定されている。そうすることで、第3の実施形態に係るエミュレータ装置において、プログラムデバッグにおいて必要のないトレース情報をプログラムアドレス上から指定し、分岐命令の種類にかかわらず、ある特定のプログラムアドレスに置いた分岐命令のトレースのみを無効にして、その分岐命令の分岐元アドレスと分岐先アドレスをトレース情報としてトレースメモリ50へ書き込むのを禁止できる。結果として、トレースメモリの領域を効率的に使用できる。これとは逆に、分岐タイミング信号203または分岐命令実行タイミング信号204がアクティブになり、アドレス比較信号209と条件成立信号210とがアクティブとなった場合でも、アドレス解析信号211がアクティブのときには、トレースメモリ書き込み制御回路40がトレースデータ生成回路30に対して分岐命令トレースデータ生成信号205を出力するように設定することもできる。このように構成することで、第3の実施形態に係るエミュレータ装置において、トレース対象外に指定した分岐命令の種類に対して、ある特定のプログラムアドレスに置いた分岐命令のトレースのみを可能にする、すなわち、その分岐命令の分岐元アドレスと分岐先アドレスが、トレース情報としてトレースメモリ50へ書き込まれるようにすることができる。