(57)【要約】【課題】  中央処理装置とアクセラレータとを有するプロセッサシステムにおいて、ステップ実行を可能にし、プログラムのデバッグ効率を向上する。【解決手段】  デバッグ支援装置は、プログラムに従って動作する中央処理装置と、専用命令を処理する命令処理部と、専用命令を一時的に記憶する記憶部とを有するプロセッサシステムのデバッグを支援する。なお、デバッグ支援装置は、デバッグ時に、記憶部に記憶されている専用命令の発行のタイミングを制御する制御部を有している。【選択図】    図１
2010224766.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに従って動作する中央処理装置と、専用命令を処理する命令処理部と、前記専用命令を一時的に記憶する記憶部とを有するプロセッサシステムのデバッグを支援するデバッグ支援装置において、
デバッグ時に、前記記憶部に記憶されている前記専用命令の発行のタイミングを制御する制御部を備えていることを特徴とするデバッグ支援装置。
【請求項２】
請求項１記載のデバッグ支援装置において、
前記中央処理装置によるプログラムの実行がブレークポイントで一時停止したときから前記命令処理部による前記専用命令の処理が終了するまでの時間を計測するカウンタを備え、
前記制御部は、前記中央処理装置によるプログラムの実行がブレークポイントで一時停止したことに応答して、前記記憶部に記憶されている前記専用命令の発行を抑制し、前記ブレークポイントからプログラムの実行が再開されたとき、前記カウンタにより計測された時間に基づいたタイミングで、前記記憶部に記憶されている前記専用命令の発行を再開することを特徴とするデバッグ支援装置。
【請求項３】
請求項１記載のデバッグ支援装置において、
前記専用命令の発行のタイミングを制御するためのデバッグ条件情報を記憶するレジスタを備え、
前記制御部は、前記中央処理装置によるプログラムの実行がブレークポイントで一時停止したことに応答して、前記記憶部に記憶されている前記専用命令の発行を抑制し、前記ブレークポイントからプログラムの実行が再開されたとき、前記レジスタに記憶された前記デバッグ条件情報に基づいたタイミングで、前記記憶部に記憶されている前記専用命令の発行を再開することを特徴とするデバッグ支援装置。
【請求項４】
プログラムに従って動作する中央処理装置と、
専用命令を処理する命令処理部と、
前記専用命令を一時的に記憶する記憶部と、
請求項１、請求項２および請求項３のいずれか１項に記載のデバッグ支援装置とを備えていることを特徴とするプロセッサシステム。
【請求項５】
プログラムに従って動作する中央処理装置と、専用命令を処理する命令処理部と、前記専用命令を一時的に記憶する記憶部とを有するプロセッサシステムのデバッグを支援するデバッグ支援方法であって、
デバッグ時に、前記記憶部に記憶されている前記専用命令の発行のタイミングを制御することを特徴とするデバッグ支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバッグ支援装置、プロセッサシステムおよびデバッグ支援方法に関する。
【背景技術】
【０００２】
ソフトウエアを開発する際、プロセッサシステム上でプログラムのデバッグやチューニング（プログラムの最適化）が実施される。例えば、中央処理装置（以下、ＣＰＵとも称する）を有するプロセッサシステム上でプログラムのデバッグを実施する場合、デバッグ対象のプログラムにブレークポイントが設定され、プログラムの一時停止、再開を繰り返すステップ実行が実施される。
【０００３】
また、高い処理性能が要求されるプロセッサシステムは、ＡＳＩＣ（Application Specific Integrated Circuit）等のアクセラレータと、ＣＰＵとを有している。例えば、アクセラレータは、受け付けた専用命令を一時的に記憶する命令メモリと、命令メモリに記憶された専用命令を順次処理する命令処理部とを有している。なお、例えば、ＣＰＵとアクセラレータとを有するプロセッサシステム上でプログラムのデバッグが実施される場合、アクセラレータの命令処理部は、ブレークポイントでプログラムが一時停止した後でも、命令メモリに既に記憶されている専用命令を順次処理する。
【０００４】
グラフィックアクセラレータとマイクロプロセッサとを有するシステムのデバッグにおいて、システムクロックに同期して動作する集積回路（マイクロプロセッサ等）に相当するソフトウエアモデルでシミュレーションを実施する技術が提案されている（例えば、特許文献１参照）。また、大規模集積回路の設計において、ハードウエア・アクセラレータを用いた論理シミュレーション方法が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−１１１８１５号公報
【特許文献２】特公平７−２７５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、ＣＰＵとアクセラレータとを有するプロセッサシステム上でプログラムのデバッグが実施される場合、アクセラレータの命令処理部は、ブレークポイントでプログラムが一時停止した後でも、命令メモリに既に記憶されている専用命令を順次処理する。すなわち、アクセラレータの命令メモリが専用命令を受け付けた場合、専用命令を受け付けた後の命令処理部の動作は、制御されない。したがって、ステップ実行によりブレークポイントからプログラムが再開された場合とブレークポイントが設定されずにプログラムが実行された場合とで、専用命令を処理するタイミングがずれ、処理結果の不整合が発生するおそれがある。
【０００７】
ブレークポイントの有無により処理結果の不整合が発生するおそれがある場合、ステップ実行を活用できないため、プログラムのデバッグ効率が悪くなる。例えば、デバッグ対象のプログラムにブレークポイントを設定してデバッグする場合、ブレークポイントでプログラムが一時停止する度に、一時停止した位置のブレークポイントを無効にしてプログラムを先頭から再度実施する必要がある。このように、ＣＰＵとアクセラレータとを有するプロセッサシステムは、アクセラレータを含まずに構成されたステップ実行が可能なプロセッサシステムに比べて、プログラムのデバッグ効率が悪い。
【０００８】
本発明の目的は、ＣＰＵとアクセラレータとを有するプロセッサシステムにおいて、ステップ実行を可能にし、プログラムのデバッグ効率を向上することである。
【課題を解決するための手段】
【０００９】
デバッグ支援装置は、プログラムに従って動作する中央処理装置と、専用命令を処理する命令処理部と、専用命令を一時的に記憶する記憶部とを有するプロセッサシステムのデバッグを支援する。なお、デバッグ支援装置は、デバッグ時に、記憶部に記憶されている専用命令の発行のタイミングを制御する制御部を有している。
【発明の効果】
【００１０】
ＣＰＵとアクセラレータとを有するプロセッサシステムにおいて、ステップ実行を可能にし、プログラムのデバッグ効率を向上できる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態におけるプロセッサシステムの概要を示す図である。
【図２】図１に示したプロセッサシステムの動作の一例を示す図である。
【図３】プログラムを一時停止したときのプロセッサシステムの動作の一例を示す図である。
【図４】プログラムを再開したときのプロセッサシステムの動作の一例を示す図である。
【図５】図１に示したＣＰＵの動作の一例を示す図である。
【図６】図１に示したデバッグ支援装置の動作の一例を示す図である。
【図７】図１に示したプロセッサシステムにおける通常走行時およびデバッグ走行時のプログラム実行時間の概要を示す図である。
【図８】別の実施形態におけるプロセッサシステムの概要を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面を用いて説明する。
【００１３】
図１は、本発明の一実施形態を示している。プロセッサシステム１０は、中央処理装置（以下、ＣＰＵとも称する）２０、デバッグ支援装置３０および専用命令を処理するアクセラレータ（以下、ＡＣＣとも称する）４０を有している。例えば、ＣＰＵ２０、デバッグ支援装置３０およびＡＣＣ４０は、バスＢＵＳにそれぞれ接続されている。また、バスＢＵＳには、メインメモリ５０が接続されている。なお、デバッグ支援装置３０は、バスＢＵＳに接続されていなくてもよい。
【００１４】
ＣＰＵ２０は、メインメモリ５０等に記憶されたプログラムに従って動作する中央処理装置である。また、ＣＰＵ２０は、プログラムのデバッグ時に、デバッガ６０に接続され、デバッグ対象のプログラムに従って動作する。例えば、プログラムのデバッグ時では、ＣＰＵ２０は、デバッグ対象のプログラム、デバッグ制御信号ＰＣＮＴ、プログラム停止信号ＰＳＴおよびプログラム再開信号ＰＲＳ等をデバッガ６０から受け、デバッグに必要なＣＰＵ情報ＣＩＮＦをデバッガ６０に出力する。例えば、ＣＰＵ情報ＣＩＮＦは、メインメモリ５０に記憶されたデータ、レジスタ値およびプログラムカウンタ値等のＣＰＵ２０を用いて収集される情報である。なお、デバッグ制御信号ＰＣＮＴは、プログラム停止信号ＰＳＴおよびプログラム再開信号ＰＲＳを含んでもよい。
【００１５】
デバッグ支援装置３０は、カウンタ３２および制御部３４を有し、プロセッサシステム１０のデバッグを支援する。例えば、デバッグ支援装置３０は、デバッガ６０からＣＰＵ２０を介してプログラム停止信号ＰＳＴおよびプログラム再開信号ＰＲＳを受ける。なお、デバッグ支援装置３０は、後述する図８に示すように、プログラム停止信号ＰＳＴおよびプログラム再開信号ＰＲＳを、ＣＰＵ２０を介さずにデバッガ６０から受けてもよい。また、デバッグ支援装置３０は、ＡＣＣ４０からＡＣＣ処理完了信号ＥＳＩＧａを受ける。そして、デバッグ支援装置３０は、ＡＣＣ４０から受けたＡＣＣ処理完了信号ＥＳＩＧａに応答して、ＡＣＣ処理完了信号ＥＳＩＧｂおよびＡＣＣ制御信号ＡＣＮＴをＣＰＵ２０およびＡＣＣ４０にそれぞれ出力する。
【００１６】
例えば、カウンタ３２は、プログラム停止信号ＰＳＴおよびＡＣＣ処理完了信号ＥＳＩＧａに基づいて、ＣＰＵによるプログラムの実行がブレークポイントで一時停止したときからＡＣＣ４０の命令処理部４４による専用命令の処理が終了するまでの時間を計測する。また、例えば、制御部３４は、プログラムのデバッグ時に、ＡＣＣ制御信号ＡＣＮＴを用いて、ＡＣＣ４０の命令キュー４２に記憶されている専用命令の発行のタイミングを制御する。
【００１７】
ＡＣＣ４０は、受け付けた専用命令を一時的に記憶する命令キュー４２と、命令キュー４２に記憶された専用命令を処理する命令処理部４４とを有している。例えば、命令キュー４２は、ＳＲＡＭ（Static RAM）等のメモリで構成され、ＣＰＵ２０やメインメモリ５０からバスＢＵＳを介して専用命令を受信する。そして、命令キュー４２は、ＡＣＣ制御信号ＡＣＮＴに応答して、一時的に記憶している専用命令を命令処理部４４に発行する。また、例えば、命令処理部４４は、命令キュー４２から発行された専用命令を処理し、専用命令の処理が終了する度に、ＡＣＣ処理完了信号ＥＳＩＧａをデバッグ支援装置３０に出力する。さらに、命令処理部４４は、ＣＰＵ２０やメインメモリ５０にバスＢＵＳを介して、専用命令の処理結果等を送信する。
【００１８】
メインメモリ５０は、ＣＰＵ２０の処理結果、ＡＣＣ４０の処理結果およびＣＰＵ２０が実行するプログラム等を記憶する主記憶装置である。デバッガ６０は、例えば、デバッグ用のソフトウエアが搭載されたパーソナルコンピュータ等である。
【００１９】
図２は、図１に示したプロセッサシステム１０の動作の一例を示している。なお、図２は、プログラムを先頭から最後まで一時停止させずに実施したとき（以下、通常走行時とも称する）のプロセッサシステム１０の動作の一例を示している。図中の命令処理部４４およびメインメモリ５０間の矢印は、専用命令ＡＣＯＭ（ＡＣＯＭ１、ＡＣＯＭ２、ＡＣＯＭ３、ＡＣＯＭ４）が処理される際の命令処理部４４およびメインメモリ５０間のデータ転送を示している。なお、専用命令ＡＣＯＭは、ＡＣＣ４０に処理される専用命令を示している。また、キューＱ１、Ｑ２、Ｑ３は、命令キュー４２内のキューを示している。例えば、キューＱ１は、命令キュー４２に記憶されている専用命令ＡＣＯＭのうち、最初に受け付けた専用命令ＡＣＯＭに対応し、キューＱ２は、キューＱ１の次に受け付けた専用命令ＡＣＯＭに対応し、キューＱ３は、キューＱ２の次に受け付けた専用命令ＡＣＯＭに対応している。
【００２０】
先ず、ＣＰＵ２０は、プログラムの実行開始を示すデバッグ制御信号ＰＣＮＴを、デバッガ５０から受ける（図２（ａ））。そして、ＣＰＵ２０は、プログラムが示す処理を順次実施する。例えば、ＣＰＵ２０は、専用命令ＡＣＯＭ１をＡＣＣ４０に発行する（図２（ｂ１））。ＡＣＣ４０は、受け付けた専用命令ＡＣＯＭ１を命令キュー４２に記憶する（図２（ｃ１））。なお、未処理の専用命令ＡＣＯＭが命令キュー４２に存在しないため、命令キュー４２は、専用命令ＡＣＯＭ１をキューＱ１に記憶する（図２（ｃ１））。
【００２１】
また、デバッグ支援装置３０（より詳細には、上述した図１に示した制御部３４）は、命令キュー４２を監視し、命令キュー４２に専用命令ＡＣＯＭが記憶されたときに、専用命令ＡＣＯＭの発行指示であるＡＣＣ制御信号ＡＣＮＴを命令キュー４２に出力する（図２（ｄ１））。そして、命令キュー４２は、デバッグ支援装置３０から受けたＡＣＣ制御信号ＡＣＮＴに応答して、キューＱ１の専用命令ＡＣＯＭ１を命令処理部４４に発行する（図２（ｅ１））。専用命令ＡＣＯＭ１を受けた命令処理部４４は、専用命令ＡＣＯＭ１を処理する（図２（ｆ１））。命令処理部４４は、専用命令ＡＣＯＭ１の処理が終了したときに、専用命令ＡＣＯＭの処理の終了を示すＡＣＣ処理完了信号ＥＳＩＧａをデバッグ支援装置３０に出力する（図２（ｇ１））。
【００２２】
デバッグ支援装置３０は、命令処理部４４から受けたＡＣＣ処理完了信号ＥＳＩＧａに応答して、ＡＣＣ制御信号ＡＣＮＴおよびＡＣＣ処理完了信号ＥＳＩＧｂを、命令キュー４２およびＣＰＵ２０にそれぞれ出力する（図２（ｄ２、ｈ１））。なお、図では、図面を見やすくするために、ＡＣＣ処理完了信号ＥＳＩＧｂの矢印がＣＰＵ２０まで到達していないが、ＡＣＣ処理完了信号ＥＳＩＧｂは、デバッグ支援装置３０からＣＰＵ２０に転送される。
【００２３】
ここで、ＡＣＣ４０が専用命令ＡＣＯＭを処理している最中でも、ＣＰＵ２０は、プログラムが示す処理を順次実施する。例えば、ＣＰＵ２０は、専用命令ＡＣＯＭ２をＡＣＣ４０に発行する（図２（ｂ２））。命令キュー４２は、未処理の専用命令ＡＣＯＭが命令キュー４２に存在しないため、専用命令ＡＣＯＭ２をキューＱ１に記憶する（図２（ｃ２））。また、ＣＰＵ２０は、専用命令ＡＣＯＭ３をＡＣＣ４０に発行する（図２（ｂ３））。命令キュー４２は、専用命令ＡＣＯＭ２が払い出されていないため、専用命令ＡＣＯＭ３をキューＱ２に記憶する（図２（ｃ３））。さらに、ＣＰＵ２０は、専用命令ＡＣＯＭ４をＡＣＣ４０に発行する（図２（ｂ４））。命令キュー４２は、専用命令ＡＣＯＭ２、ＡＣＯＭ３が払い出されていないため、専用命令ＡＣＯＭ４をキューＱ３に記憶する（図２（ｃ４））。
【００２４】
また、上述したように、デバッグ支援装置３０は、専用命令ＡＣＯＭ１の処理の終了に応答して、ＡＣＣ制御信号ＡＣＮＴをＡＣＣ４０に出力する（図２（ｄ２））。そして、命令キュー４２は、ＡＣＣ制御信号ＡＣＮＴに応答して、キューＱ１の専用命令ＡＣＯＭ２を命令処理部４４に発行する（図２（ｅ２））。さらに、命令キュー４２は、専用命令ＡＣＯＭ２の払い出しにともない、専用命令ＡＣＯＭ３をキューＱ２からキューＱ１に移動し（図２（ｂ５））、ＡＣＯＭ４をキューＱ３からキューＱ２に移動する（図２（ｂ６））。
【００２５】
専用命令ＡＣＯＭ２を受けた命令処理部４４は、専用命令ＡＣＯＭ２を処理し（図２（ｆ２））、専用命令ＡＣＯＭ２の処理が終了したときに、ＡＣＣ処理完了信号ＥＳＩＧａをデバッグ支援装置３０に出力する（図２（ｇ２））。デバッグ支援装置３０は、ＡＣＣ処理完了信号ＥＳＩＧａに応答して、ＡＣＣ制御信号ＡＣＮＴおよびＡＣＣ処理完了信号ＥＳＩＧｂを、命令キュー４２およびＣＰＵ２０にそれぞれ出力する（図２（ｄ３、ｈ２））。命令キュー４２は、ＡＣＣ制御信号ＡＣＮＴに応答して、キューＱ１の専用命令ＡＣＯＭ３を命令処理部４４に発行する（図２（ｅ３））。そして、命令キュー４２は、専用命令ＡＣＯＭ３の払い出しにともない、ＡＣＯＭ４をキューＱ２からキューＱ１に移動する（図２（ｂ７））。
【００２６】
専用命令ＡＣＯＭ３を受けた命令処理部４４は、専用命令ＡＣＯＭ３を処理し（図２（ｆ３））、専用命令ＡＣＯＭ３の処理が終了したときに、ＡＣＣ処理完了信号ＥＳＩＧａをデバッグ支援装置３０に出力する（図２（ｇ３））。デバッグ支援装置３０は、ＡＣＣ処理完了信号ＥＳＩＧａに応答して、ＡＣＣ制御信号ＡＣＮＴおよびＡＣＣ処理完了信号ＥＳＩＧｂを、命令キュー４２およびＣＰＵ２０にそれぞれ出力する（図２（ｄ４、ｈ３））。命令キュー４２は、ＡＣＣ制御信号ＡＣＮＴに応答して、キューＱ１の専用命令ＡＣＯＭ４を命令処理部４４に発行する（図２（ｅ４））。
【００２７】
専用命令ＡＣＯＭ４を受けた命令処理部４４は、専用命令ＡＣＯＭ４を処理し（図２（ｆ４））、専用命令ＡＣＯＭ４の処理が終了したときに、ＡＣＣ処理完了信号ＥＳＩＧａをデバッグ支援装置３０に出力する（図２（ｇ４））。デバッグ支援装置３０は、ＡＣＣ処理完了信号ＥＳＩＧａに応答して、ＡＣＣ処理完了信号ＥＳＩＧｂをＣＰＵ２０に出力する（図２（ｈ４））。なお、この場合、デバッグ支援装置３０は、未処理の専用命令ＡＣＯＭが命令キュー４２に存在しないため、ＡＣＣ制御信号ＡＣＮＴを命令キュー４２に出力しない。ここで、デバッグが終了した後のプロセッサシステム１０の通常動作は、ＣＰＵ２０がデバッグ制御信号ＰＣＮＴをデバッガ５０から受けずに処理を開始することを除いて、図２に示した動作と同じである。
【００２８】
図３は、プログラムを一時停止したときのプロセッサシステム１０の動作の一例を示している。なお、図３は、上述した図２に示した動作において、ブレークポイントＢＰ（図の星印）でプログラムを一時停止する場合のプロセッサシステム１０の動作の一例を示している。図中の破線は、図２に示した動作のうち、プログラムを一時停止したことにより実行されない処理を示している。ブレークポイントＢＰに到達するまでのプロセッサシステム１０の動作は、図２の動作と同じであるため、詳細な説明を省略する。
【００２９】
ＣＰＵ２０の処理がプログラムに設定されたブレークポイントＢＰに到達したとき、ＣＰＵ２０は、デバッガ６０からプログラム停止信号ＰＳＴ受け、プログラムの実行を中断する。そして、ＣＰＵ２０は、デバッグ支援装置３０にプログラム停止信号ＰＳＴを発行する（図３（ｉ１））。なお、デバッグ支援装置３０は、ＣＰＵ２０を介さずに、プログラム停止信号ＰＳＴをデバッガ６０から受けてもよい。
【００３０】
プログラム停止信号ＰＳＴを受けたデバッグ支援装置３０の制御部３４は、カウンタ３２を用いて、時間の計測を開始する（図３（ｊ１））。そして、デバッグ支援装置３０の制御部３４は、ＡＣＣ処理完了信号ＥＳＩＧａを受けたときに（図３（ｇ１））、カウンタ３２の計測を終了させる（図３（ｊ２））。すなわち、デバッグ支援装置３０のカウンタ３２は、ＣＰＵ２０によるプログラムの実行がブレークポイントＢＰで一時停止したときから命令処理部４４による専用命令ＡＣＯＭ１の処理が終了するまでの時間Ｔ１を計測する。
【００３１】
なお、デバッグ支援装置３０の制御部３４は、プログラム停止信号ＰＳＴを受けているため、ＡＣＣ制御信号ＡＣＮＴおよびＡＣＣ処理完了信号ＥＳＩＧｂを出力せずに、プログラムが再開されるまで待機する。すなわち、制御部３４は、プログラム停止信号ＰＳＴを受けたときに、命令キュー４２に記憶されている専用命令ＡＣＯＭの発行を抑制する。これにより、この実施形態では、命令キュー４２に記憶されている専用命令ＡＣＯＭ２、ＡＣＯＭ３を処理することなく、ＡＣＣ４０の動作を停止させることができる。
【００３２】
例えば、デバッグ支援装置３０を用いないプロセッサシステムでは、ＣＰＵ２０の処理がブレークポイントＢＰで停止した場合でも、命令処理部４４は、命令キュー４２に既に記憶されている専用命令ＡＣＯＭ２、ＡＣＯＭ３を処理する。この状態で、プログラムがブレークポイントＢＰから再開された場合、プログラムの再開とほぼ同時に専用命令ＡＣＯＭ４が処理されるため、専用命令ＡＣＯＭ４の処理タイミングが通常走行時（例えば、上述した図２に示した動作時）と異なり、処理結果の不整合が発生するおそれがある。
【００３３】
これに対し、この実施形態では、命令キュー４２に未処理の専用命令ＡＣＯＭ２、ＡＣＯＭ３が記憶された状態で、ＡＣＣ４０の動作が停止しているため、専用命令ＡＣＯＭ２、ＡＣＯＭ３、ＡＣＯＭ４が処理されるタイミングを、通常走行時のタイミングに合わせることができる。この結果、この実施形態では、通常走行時とデバッグ時とで処理結果の不整合が発生することを防止できる。なお、プログラムがブレークポイントＢＰから再開されたときのプロセッサシステム１０の動作の詳細は、後述する図４で説明する。
【００３４】
図４は、プログラムを再開したときのプロセッサシステム１０の動作の一例を示している。なお、図４は、上述した図３に示した動作において、ブレークポイントＢＰ（図の星印）からプログラムを再開する場合のプロセッサシステム１０の動作の一例を示している。図中の破線は、図２に示した動作のうち、プログラムの再開前に既に実行された処理（図３に示した動作）を示している。
【００３５】
ＣＰＵ２０は、デバッガ６０からプログラム再開信号ＰＲＳを受け、プログラムの実行を再開するとともに、デバッグ支援装置３０にプログラム再開信号ＰＲＳを発行する（図４（ｉ２））。なお、デバッグ支援装置３０は、ＣＰＵ２０を介さずに、プログラム再開信号ＰＲＳをデバッガ６０から受けてもよい。
【００３６】
デバッグ支援装置３０の制御部３４は、プログラム再開信号ＰＲＳを受けてから時間Ｔ１後に、ＡＣＣ制御信号ＡＣＮＴおよび専用命令ＡＣＯＭ１の処理の終了を示すＡＣＣ処理完了信号ＥＳＩＧｂを、命令キュー４２およびＣＰＵ２０にそれぞれ出力する（図４（ｄ２、ｈ１））。すなわち、制御部３４は、プログラム再開信号ＰＲＳを受けてから時間Ｔ１後に、命令キュー４２に記憶されている専用命令ＡＣＯＭの発行を再開する。ここで、時間Ｔ１は、図３に示した動作においてデバッグ支援装置３０のカウンタ３２により計測された時間Ｔ１（ＣＰＵ２０によるプログラムの実行がブレークポイントＢＰで一時停止したときから命令処理部４４による専用命令ＡＣＯＭ１の処理が終了するまでの時間Ｔ１）である。
【００３７】
また、ブレークポイントＢＰからプログラムを再開したＣＰＵ２０は、専用命令ＡＣＯＭ４をＡＣＣ４０に発行する（図４（ｂ４））。なお、ＣＰＵ２０が専用命令ＡＣＯＭ４を発行したとき、デバッグ支援装置３０は、ＡＣＣ制御信号ＡＣＮＴおよびＡＣＣ処理完了信号ＥＳＩＧｂの出力を抑制している状態（時間Ｔ１が経過するまで待機している状態）である。したがって、ＣＰＵ２０が専用命令ＡＣＯＭ４を発行したとき、命令キュー４２に記憶されている専用命令ＡＣＯＭ２は、命令処理部４４に発行されていない。専用命令ＡＣＯＭ２、ＡＣＯＭ３が払い出されていないため、命令キュー４２は、専用命令ＡＣＯＭ４をキューＱ３に記憶する（図４（ｃ４））。
【００３８】
そして、命令キュー４２は、プログラムの再開から時間Ｔ１後に受けたＡＣＣ制御信号ＡＣＮＴに応答して、キューＱ１の専用命令ＡＣＯＭ２を命令処理部４４に発行する（図４（ｅ２））。さらに、命令キュー４２は、専用命令ＡＣＯＭ２の払い出しにともない、専用命令ＡＣＯＭ３をキューＱ２からキューＱ１に移動し（図４（ｂ５））、ＡＣＯＭ４をキューＱ３からキューＱ２に移動する（図４（ｂ６））。
【００３９】
キューＱ１の専用命令ＡＣＯＭ２が命令処理部４４に発行された後のプロセッサシステム１０の動作は、図２の動作と同じであるため、詳細な説明を省略する。例えば、専用命令ＡＣＯＭ２を受けた命令処理部４４は、専用命令ＡＣＯＭ２を処理し（図４（ｆ２））、専用命令ＡＣＯＭ２の処理が終了したときに、ＡＣＣ処理完了信号ＥＳＩＧａをデバッグ支援装置３０に出力する（図４（ｇ２））。
【００４０】
このように、この実施形態では、ブレークポイントＢＰからプログラムが再開されたときでも、専用命令ＡＣＯＭ２、ＡＣＯＭ３、ＡＣＯＭ４が処理されるタイミングを、通常走行時のタイミングに合わせることができる。すなわち、この実施形態では、ブレークポイントＢＰで一時停止および再開が実施されるデバッグ時（ステップ実行が実施されるデバッグ時）と通常走行時とで処理結果の不整合が発生することを防止できる。
【００４１】
図５は、図１に示したＣＰＵ２０の動作の一例を示している。
【００４２】
先ず、処理Ｓ１００では、ＣＰＵ２０は、プログラムの実行開始を示すデバッグ制御信号ＰＣＮＴに応答して、プログラムが示す処理を順次実施する。処理Ｓ１１０では、ＣＰＵ２０は、プログラムが終了したか否かを判定する。プログラムが終了した場合（処理Ｓ１１０のＹｅｓ）、ＣＰＵ２０の処理は終了し、プログラムが終了していない場合（処理Ｓ１１０のＮｏ）、ＣＰＵ２０の動作は、処理Ｓ１２０に移る。
【００４３】
処理Ｓ１２０では、ＣＰＵ２０は、プログラム停止信号ＰＳＴを受信したか否かを判定する。プログラム停止信号ＰＳＴを受信した場合（処理Ｓ１２０のＹｅｓ）、ＣＰＵ２０は、処理Ｓ１３０において、プログラムの実行を一時停止する。一方、プログラム停止信号ＰＳＴを受信していない場合（処理Ｓ１２０のＮｏ）、ＣＰＵ２０の動作は、処理Ｓ１１０に移る。
【００４４】
処理Ｓ１４０では、ＣＰＵ２０は、プログラム再開信号ＰＲＳを受信したか否かを判定する。プログラム再開信号ＰＲＳを受信した場合（処理Ｓ１４０のＹｅｓ）、ＣＰＵ２０は、処理Ｓ１５０において、プログラムの実行を再開する。なお、ＣＰＵ２０の動作は、プログラムの実行を再開した後、処理Ｓ１１０に移る。一方、プログラム再開信号ＰＲＳを受信していない場合（処理Ｓ１４０のＮｏ）、ＣＰＵ２０は、プログラム再開信号ＰＲＳを受信するまで待機する。
【００４５】
図６は、図１示したデバッグ支援装置３０の動作の一例を示している。
【００４６】
先ず、処理Ｓ２００では、デバッグ支援装置３０の制御部３４は、ＡＣＣ４０の命令キュー４２に未処理の専用命令ＡＣＯＭが記憶されているか否かを判定する。未処理の専用命令ＡＣＯＭが存在する場合（処理Ｓ２００のＹｅｓ）、デバッグ支援装置３０の制御部３４の動作は、処理Ｓ２１０に移る。未処理の専用命令ＡＣＯＭが存在しない場合（処理Ｓ２００のＮｏ）、デバッグ支援装置３０の制御部３４の処理は終了する。処理Ｓ２１０では、デバッグ支援装置３０の制御部３４は、ＡＣＣ制御信号ＡＣＮＴをＡＣＣ４０の命令キュー４２に送信する。
【００４７】
処理Ｓ２２０では、デバッグ支援装置３０の制御部３４は、プログラム停止信号ＰＳＴを受信したか否かを判定する。プログラム停止信号ＰＳＴを受信した場合（処理Ｓ２２０のＹｅｓ）、デバッグ支援装置３０の制御部３４の動作は、処理Ｓ２２１に移り、プログラム停止信号ＰＳＴを受信していない場合（処理Ｓ２２０のＮｏ）、デバッグ支援装置３０の制御部３４の動作は、処理Ｓ２３０に移る。
【００４８】
処理Ｓ２３０では、デバッグ支援装置３０の制御部３４は、ＡＣＣ処理完了信号ＥＳＩＧａを受信したか否かを判定する。ＡＣＣ処理完了信号ＥＳＩＧａを受信した場合（処理Ｓ２３０のＹｅｓ）、デバッグ支援装置３０の制御部３４は、処理Ｓ２４０において、ＡＣＣ処理完了信号ＥＳＩＧｂをＣＰＵ２０に送信し、かつ、処理Ｓ２００を実施する。一方、ＡＣＣ処理完了信号ＥＳＩＧａを受信していない場合（処理Ｓ２３０のＮｏ）、デバッグ支援装置３０の制御部３４の動作は、処理Ｓ２２０に移る。
【００４９】
処理Ｓ２２１（プログラム停止信号ＰＳＴを受信した場合）では、デバッグ支援装置３０の制御部３４は、カウンタ３２を用いて、時間の計測を開始する。すなわち、カウンタ３２は、デバッグ支援装置３０がプログラム停止信号ＰＳＴを受信したときに、時間の計測を開始する。処理Ｓ２２２では、デバッグ支援装置３０の制御部３４は、ＡＣＣ処理完了信号ＥＳＩＧａを受信したか否かを判定する。ＡＣＣ処理完了信号ＥＳＩＧａを受信した場合（処理Ｓ２２２のＹｅｓ）、デバッグ支援装置３０の制御部３４は、処理Ｓ２２３において、カウンタ３２の計測を終了させる。一方、ＡＣＣ処理完了信号ＥＳＩＧａを受信していない場合（処理Ｓ２２２のＮｏ）、デバッグ支援装置３０の制御部３４は、ＡＣＣ処理完了信号ＥＳＩＧａを受信するまで待機する。すなわち、カウンタ３２は、デバッグ支援装置３０がＡＣＣ処理完了信号ＥＳＩＧａを受信したときに、時間の計測を終了する。
【００５０】
処理Ｓ２２４では、デバッグ支援装置３０の制御部３４は、プログラム再開信号ＰＲＳを受信したか否かを判定する。プログラム再開信号ＰＲＳを受信した場合（処理Ｓ２２４のＹｅｓ）、デバッグ支援装置３０の制御部３４の動作は、処理Ｓ２２５に移る。一方、プログラム再開信号ＰＲＳを受信していない場合（処理Ｓ２２４のＮｏ）、デバッグ支援装置３０の制御部３４は、プログラム再開信号ＰＲＳを受信するまで待機する。
【００５１】
処理Ｓ２２５では、デバッグ支援装置３０の制御部３４は、処理Ｓ２２１−Ｓ２２３においてカウンタ３２により計測された時間だけ待機し、ＡＣＣ４０の命令キュー４２に記憶されている専用命令ＡＣＯＭの発行を再開するタイミングを調整する。そして、デバッグ支援装置３０の制御部３４は、処理Ｓ２２１−Ｓ２２３においてカウンタ３２により計測された時間だけ待機した後に、処理Ｓ２４０において、ＡＣＣ処理完了信号ＥＳＩＧｂをＣＰＵ２０に送信し、かつ、処理Ｓ２００を実施する。
【００５２】
これにより、この実施形態では、プログラムが一時停止した後に再開された場合でも、ＡＣＣ４０により実施される各処理（例えば、専用命令ＡＣＯＭの処理）のタイミングを通常走行時のタイミングに合わせることができる。
【００５３】
図７は、図１に示したプロセッサシステムにおける通常走行時およびデバッグ走行時のプログラム実行時間の概要を示している。なお、図中の星印は、ブレークポイントＢＰ（ＢＰ１、ＢＰ２）を示している。また、図の比較例のデバッグ走行時は、デバッグ支援装置３０を用いないプロセッサシステム上でプログラムのデバッグが実施された場合を示している。
【００５４】
通常走行時では、１つめのブレークポイントＢＰ１および２つめのブレークポイントＢＰ２で一時停止することなく、プログラムが先頭から最後まで実行される。例えば、通常走行時のプログラム実行時間は、時間ＰＴ１０である。
【００５５】
ステップ実行によるデバッグ走行時では、デバッグ対象のプログラムに設定されたブレークポイントＢＰ１、ＢＰ２毎に一時停止および再開（ステップ実行）が実施される。例えば、ステップ実行によるデバッグ走行時では、先ず、プログラムは、先頭からブレークポイントＢＰ１まで実行される。そして、ブレークポイントＢＰ１での検証が終了した後に、プログラムは、ブレークポイントＢＰ１からブレークポイントＢＰ２まで実行される。さらに、ブレークポイントＢＰ２での検証が終了した後に、プログラムは、ブレークポイントＢＰ２から最後まで実行される。この場合、ステップ実行によるデバッグ走行時のプログラム実行時間ＰＴ２０は、時間ＰＴ２１と、時間ＰＴ２２と、時間ＰＴ２３との和である。
【００５６】
例えば、時間ＰＴ２１は、先頭からブレークポイントＢＰ１までのプログラム実行時間であり、時間ＰＴ２２は、ブレークポイントＢＰ１からブレークポイントＢＰ２までのプログラム実行時間であり、時間ＰＴ２３は、ブレークポイントＢＰ２から最後までのプログラム実行時間である。ここで、プログラム実行時間ＰＴ２０は、ブレークポイントＢＰ（ＢＰ１、ＢＰ２）で一時停止したときから命令処理部４４による専用命令ＡＣＯＭの処理が終了するまでの時間（例えば、上述した図３に示した時間Ｔ１）だけ、プログラム実行時間ＰＴ１０より長い。なお、ブレークポイントＢＰ（ＢＰ１、ＢＰ２）で一時停止したときから命令処理部４４による専用命令ＡＣＯＭの処理が終了するまでの時間（例えば、図３に示した時間Ｔ１）は、プログラム実行時間ＰＴ２１、ＰＴ２２に比べて、非常に短い。したがって、ステップ実行によるデバッグ走行時のプログラム実行時間ＰＴ２０は、通常走行時のプログラム実行時間ＰＴ１０とほぼ同じである。
【００５７】
デバッグ支援装置３０を用いないプロセッサシステムでは、ブレークポイントＢＰ１、ＢＰ２からプログラムを再開した場合、デバッグ走行時と通常走行時とで処理結果の不整合が発生するおそれがある。このため、比較例のデバッグ走行時では、先ず、プログラムは、先頭からブレークポイントＢＰ１まで実行される。そして、ブレークポイントＢＰ１での検証が終了した後に、プログラムは、先頭からブレークポイントＢＰ２まで実行される。さらに、ブレークポイントＢＰ２での検証が終了した後に、プログラムは、先頭から最後まで実行される。
【００５８】
例えば、比較例のデバッグ走行時のプログラム実行時間ＰＴ３０は、先頭からブレークポイントＢＰ１までのプログラム実行時間ＰＴ３１と、先頭からブレークポイントＢＰ２までのプログラム実行時間ＰＴ３２と、先頭から最後までのプログラム実行時間ＰＴ１０との和である。このように、比較例のデバッグ走行時のプログラム実行時間ＰＴ３０は、プログラム実行時間ＰＴ３１とプログラム実行時間ＰＴ３２との和だけ、通常走行時のプログラム実行時間ＰＴ１０より長くなる。したがって、ステップ実行を用いてデバッグができないプロセッサシステムは、デバッグ時のプログラム実行時間が長くなり、ステップ実行が可能なプロセッサシステム１０に比べて、デバッグ効率が悪い。換言すれば、この実施形態では、ステップ実行を用いてプログラムをデバッグできるため、プログラムのデバッグ効率を向上できる。
【００５９】
以上、この実施形態では、デバッグ支援装置３０の制御部３４は、デバッグ時にプログラムが一時停止した場合、命令キュー４２に記憶されている専用命令ＡＣＯＭの発行指示であるＡＣＣ制御信号ＡＣＮＴの出力を抑制する。そして、デバッグ支援装置３０の制御部３４は、プログラムが再開された場合、カウンタ３２により計測された時間だけ待機した後に、ＡＣＣ制御信号ＡＣＮＴおよびＡＣＣ処理完了信号ＥＳＩＧｂを命令キュー４２およびＣＰＵ２０にそれぞれ出力する。これにより、この実施形態では、ステップ実行が実施されるデバッグ時と、通常走行時とで処理結果の不整合が発生することを防止できる。この結果、この実施形態では、ＣＰＵ２０とＡＣＣ４０とを有するプロセッサシステム１０において、ステップ実行を可能にし、プログラムのデバッグ効率を向上できる。
【００６０】
図８は、別の実施形態におけるプロセッサシステム１０の概要を示している。この実施形態のプロセッサシステム１０は、上述した図１に示したデバッグ支援装置３０の代わりに、デバッグ支援装置３１が設けられている。また、デバッグ支援装置３１は、プログラム停止信号ＰＳＴおよびプログラム再開信号ＰＲＳを、ＣＰＵ２０を介さずにデバッガ６０から受けている。その他の構成は、図１−図７で説明したプロセッサシステム１０と同じである。図１−図７で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【００６１】
デバッグ支援装置３１は、書き換え可能なレジスタ３６が図１に示したデバッグ支援装置３０に追加されて構成されている。デバッグ支援装置３１のその他の構成は、図１に示したデバッグ支援装置３０と同じである。なお、デバッグ支援装置３１は、図１に示したように、デバッガ６０からＣＰＵ２０を介してプログラム停止信号ＰＳＴおよびプログラム再開信号ＰＲＳを受けてもよい。
【００６２】
例えば、デバッグ支援装置３１のレジスタ３６は、バスＢＵＳを介してアクセス可能に設けられ、デバッグ条件情報を記憶する。例えば、デバッグ条件情報は、ＣＰＵ２０あるいはデバッガ６０により、レジスタ３６に設定される。ここで、デバッグ条件情報は、ＡＣＣ４０の命令キュー４２に記憶されている専用命令の発行のタイミングを制御するための情報である。例えば、デバッグ条件情報は、カウンタ３２がカウントするクロックの情報、プログラムが再開される際の制御部３４の待機時間を調整するための調整時間、プログラムが再開される際の制御部３４の固定待機時間等である。例えば、ＣＰＵ２０の動作クロックとＡＣＣ４０の動作クロックとが異なる場合、カウンタ３２がカウントするクロック（ＣＰＵ２０の動作クロック、ＡＣＣ４０の動作クロック等）を示す情報がレジスタ３６に設定される。
【００６３】
また、例えば、レジスタ３６に調整時間が設定された場合、制御部３４は、プログラムが再開される際、プログラムが一時停止した際にカウンタ３２に計測された時間と、レジスタ３６に設定された調整時間とを加算した時間だけ待機する。例えば、上述した図４に示した動作では、制御部３４は、プログラム再開信号ＰＲＳを受けてから、時間Ｔ１とレジスタ３６に設定された調整時間とを加算した時間だけ待機した後に、ＡＣＣ制御信号ＡＣＮＴおよびＡＣＣ処理完了信号ＥＳＩＧｂを命令キュー４２およびＣＰＵ２０にそれぞれ出力する。ここで、待機時間を時間Ｔ１より短くする場合、負の調整時間がレジスタ３６に設定される。なお、時間Ｔ１と負の調整時間との加算結果が負の値の場合、例えば、制御部３４は、プログラムの再開と同時に、ＡＣＣ制御信号ＡＣＮＴおよびＡＣＣ処理完了信号ＥＳＩＧｂを命令キュー４２およびＣＰＵ２０にそれぞれ出力する。
【００６４】
例えば、レジスタ３６に固定待機時間が設定された場合、制御部３４は、プログラムが再開されてから、レジスタ３６に設定された固定待機時間だけ待機した後に、ＡＣＣ制御信号ＡＣＮＴおよびＡＣＣ処理完了信号ＥＳＩＧｂを命令キュー４２およびＣＰＵ２０にそれぞれ出力する。この場合、ブレークポイントＢＰで一時停止したときから命令処理部４４による専用命令の処理が終了するまでの時間をカウンタ３２が計測する必要がないため、デバッグ支援装置３１の動作を簡易にできる。なお、固定待機時間として、ＣＰＵ２０の命令数やメインメモリ５０へのアクセス回数がレジスタ３６に設定されてもよい。この場合、デバッグ支援装置３１は、バスＢＵＳ等の信号を監視し、ＣＰＵ２０の命令数やメインメモリ５０へのアクセス回数を計測する。
【００６５】
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、デバッグ支援装置３１の制御部３４は、デバッグ時に、レジスタ３６に記憶されたデバッグ条件情報に基づいて、命令キュー４２に記憶されている専用命令の発行のタイミングを制御する。この結果、この実施形態では、プログラムを再開するときのＡＣＣ４０の専用命令の処理のタイミングを任意に調整でき、ステップ実行によるデバッグの効率をさらに向上できる。
【００６６】
なお、上述した実施形態では、ＡＣＣ４０がキュー構造の命令キュー４２を有する例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、ＡＣＣ４０は、先に入力された専用命令が先に出力されるように動作するメモリを、命令キュー４２の代わりに有してもよい。この場合にも、上述した実施形態と同様の効果を得ることができる。
【００６７】
上述した実施形態では、制御部３４が、プログラム停止信号ＰＳＴを受けた後、最初に受けたＡＣＣ処理完了信号ＥＳＩＧａに対応するＡＣＣ処理完了信号ＥＳＩＧｂおよびＡＣＣ制御信号ＡＣＮＴの出力を抑制する例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、プログラム停止信号ＰＳＴを受けたときに、命令キュー４２に複数の専用命令ＡＣＯＭが記憶されている場合、制御部３４は、プログラム停止信号ＰＳＴを受けた後、最初に受けたＡＣＣ処理完了信号ＥＳＩＧａに対応するＡＣＣ処理完了信号ＥＳＩＧｂおよびＡＣＣ制御信号ＡＣＮＴを出力してもよい。この場合、制御部３４は、プログラム停止信号ＰＳＴを受けた後、例えば、２回目に受けたＡＣＣ処理完了信号ＥＳＩＧａに対応するＡＣＣ処理完了信号ＥＳＩＧｂおよびＡＣＣ制御信号ＡＣＮＴの出力を抑制する。この場合にも、上述した実施形態と同様の効果を得ることができる。
【００６８】
あるいは、例えば、デバッグ条件情報として、出力許容回数が、上述した図８に示したレジスタ３６に設定されてもよい。この場合、出力許容回数より多い専用命令ＡＣＯＭが命令キュー４２に記憶されているとき、制御部３４は、プログラム停止信号ＰＳＴを受けた後、出力許容回数より後のＡＣＣ処理完了信号ＥＳＩＧａに対応するＡＣＣ処理完了信号ＥＳＩＧｂおよびＡＣＣ制御信号ＡＣＮＴの出力を抑制する。この場合にも、上述した実施形態と同様の効果を得ることができる。
【００６９】
上述した実施形態では、本発明を、ＣＰＵ２０とＡＣＣ４０とを有するプロセッサシステム１０に適用する例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、本発明を、専用命令を一時的に記憶する記憶部が実装されるモジュール（ＤＳＰ（Digital Signal Processor）、コアプロセッサ等）と、ＣＰＵ２０とを有するプロセッサシステムに適用してもよい。この場合にも、上述した実施形態と同様の効果を得ることができる。
【００７０】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
プログラムに従って動作する中央処理装置と、専用命令を処理する命令処理部と、前記専用命令を一時的に記憶する記憶部とを有するプロセッサシステムのデバッグを支援するデバッグ支援装置において、
デバッグ時に、前記記憶部に記憶されている前記専用命令の発行のタイミングを制御する制御部を備えていることを特徴とするデバッグ支援装置。
（付記２）
付記１記載のデバッグ支援装置において、
前記中央処理装置によるプログラムの実行がブレークポイントで一時停止したときから前記命令処理部による前記専用命令の処理が終了するまでの時間を計測するカウンタを備え、
前記制御部は、前記中央処理装置によるプログラムの実行がブレークポイントで一時停止したことに応答して、前記記憶部に記憶されている前記専用命令の発行を抑制し、前記ブレークポイントからプログラムの実行が再開されたとき、前記カウンタにより計測された時間に基づいたタイミングで、前記記憶部に記憶されている前記専用命令の発行を再開することを特徴とするデバッグ支援装置。
（付記３）
付記１記載のデバッグ支援装置において、
前記専用命令の発行のタイミングを制御するためのデバッグ条件情報を記憶するレジスタを備え、
前記制御部は、前記中央処理装置によるプログラムの実行がブレークポイントで一時停止したことに応答して、前記記憶部に記憶されている前記専用命令の発行を抑制し、前記ブレークポイントからプログラムの実行が再開されたとき、前記レジスタに記憶された前記デバッグ条件情報に基づいたタイミングで、前記記憶部に記憶されている前記専用命令の発行を再開することを特徴とするデバッグ支援装置。
（付記４）
付記３記載のデバッグ支援装置において、
前記中央処理装置によるプログラムの実行がブレークポイントで一時停止したときから前記命令処理部による前記専用命令の処理が終了するまでの時間を計測するカウンタを備え、
前記レジスタとして、カウンタ指定レジスタを備え、
前記カウンタ指定レジスタは、前記デバッグ条件情報として、前記カウンタが使用する動作クロックを示す情報を記憶し、
前記制御部は、前記ブレークポイントからプログラムの実行が再開されたとき、前記カウンタにより計測された時間に基づいたタイミングで、前記記憶部に記憶されている前記専用命令の発行を再開することを特徴とするデバッグ支援装置。
（付記５）
付記３記載のデバッグ支援装置において、
前記レジスタとして、待機時間調整レジスタを備え、
前記待機時間調整レジスタは、前記デバッグ条件情報として、前記ブレークポイントからプログラムの実行が再開される際の前記制御部の待機時間の調整に使用される情報を記憶することを特徴とするデバッグ支援装置。
（付記６）
付記３記載のデバッグ支援装置において、
前記レジスタとして、固定待機時間設定レジスタを備え、
前記固定待機時間設定レジスタは、前記デバッグ条件情報として、前記ブレークポイントからプログラムの実行が再開される際の前記制御部の待機時間を示す情報を記憶し、
前記待機時間は、固定時間であることを特徴とするデバッグ支援装置。
（付記７）
付記１記載のデバッグ支援装置において、
前記中央処理装置によるプログラムの実行がブレークポイントで一時停止した後に継続して実施される前記専用命令の許容数を示すデバッグ条件情報を記憶する専用命令処理回数設定レジスタを備え、
前記制御部は、前記ブレークポイントでプログラムの実行が一時停止した場合、前記許容数の前記専用命令が前記一時停止後に処理されてから、前記記憶部に記憶されている前記専用命令の発行を抑制することを特徴とするデバッグ支援装置。
（付記８）
プログラムに従って動作する中央処理装置と、
専用命令を処理する命令処理部と、
前記専用命令を一時的に記憶する記憶部と、
付記１、付記２、付記３、付記４、付記５、付記６および付記７のいずれか１項に記載のデバッグ支援装置とを備えていることを特徴とするプロセッサシステム。
（付記９）
プログラムに従って動作する中央処理装置と、専用命令を処理する命令処理部と、前記専用命令を一時的に記憶する記憶部とを有するプロセッサシステムのデバッグを支援するデバッグ支援方法であって、
デバッグ時に、前記記憶部に記憶されている前記専用命令の発行のタイミングを制御することを特徴とするデバッグ支援方法。
【００７１】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【符号の説明】
【００７２】
１０‥プロセッサシステム；２０‥ＣＰＵ；３０‥デバッグ支援装置；３２‥カウンタ；３４‥制御部；３６‥レジスタ；４０‥ＡＣＣ；４２‥命令キュー；４４‥命令処理部；５０‥メインメモリ；６０‥デバッガ
【図１】
2010224766.tif 000003
【図２】
2010224766.tif 000004
【図３】
2010224766.tif 000005
【図４】
2010224766.tif 000006
【図５】
2010224766.tif 000007
【図６】
2010224766.tif 000008
【図７】
2010224766.tif 000009
【図８】
2010224766.tif 000010