(57)【要約】【課題】プログラム中の反復実行される測定対象区間を指定してパフォーマンス測定を実施する際に、パフォーマンス測定結果と同時に測定対象区間の通過回数を把握すること。【解決手段】パフォーマンス評価装置２００は、評価対象プログラムに予め設定された測定区間の測定開始時点を示す測定開始信号ＳＩＧ＿ＳＴＡＲＴの到達から測定区間の測定終了時点を示す測定終了信号ＳＩＧ＿ＳＴＯＰの到達まで、評価対象プログラムの実行に伴って生じるイベントをカウントするイベントカウンタ部１０と、反復して実行される測定区間の反復回数を、測定開始信号ＳＩＧ＿ＳＴＡＲＴ及び測定終了信号ＳＩＧ＿ＳＴＯＰの少なくとも一方に基づいてカウントする反復回数カウンタ部２０と、を備える。【選択図】図１
2010244393.tif 000002
【特許請求の範囲】
【請求項１】
評価対象プログラムに予め設定された測定区間の測定開始時点を示す測定開始信号の到達から前記測定区間の測定終了時点を示す測定終了信号の到達まで、前記評価対象プログラムの実行に伴って生じるイベントをカウントする第１カウンタ部と、
反復して実行される前記測定区間の反復回数を、前記測定開始信号及び前記測定終了信号の少なくとも一方に基づいてカウントする第２カウンタ部と、
を備えるパフォーマンス評価装置。
【請求項２】
前記第２カウンタ部は、前記測定開始信号及び前記測定終了信号に応じた値を有する測定状態値の変化に基づいて、反復して実行される前記測定区間の反復回数をカウントすることを特徴とする請求項１に記載のパフォーマンス評価装置。
【請求項３】
前記第１カウンタ部は、
互いに異なる内容の前記イベントの発生を通知する複数のイベント信号のうち、予め選択されたイベントに対応するイベント信号を選択し、選択した前記イベント信号をカウントすることを特徴とする請求項１又は２に記載のパフォーマンス評価装置。
【請求項４】
前記第１カウンタ部は、
前記測定状態値を保持するレジスタと、
前記測定状態値の変化に応じて、前記イベントに対応するイベント信号のカウントを開始及び停止するカウンタと、
を備えることを特徴とする請求項２に記載のパフォーマンス評価装置。
【請求項５】
前記第１カウンタ部は、
互いに異なる内容の前記イベントの発生を通知する複数の前記イベント信号のうち、予め選択されたイベントに対応するイベント信号を選択するセレクタを更に備えることを特徴とする請求項４に記載のパフォーマンス評価装置。
【請求項６】
前記第２カウンタ部は、反復して実行される前記測定区間の反復回数に応じたカウント値が予め設定された値に到達したことを検出することを特徴とする請求項１乃至５のいずれか一項に記載のパフォーマンス評価装置。
【請求項７】
評価対象プログラムを実行するＣＰＵと、
前記評価対象プログラムに予め設定された測定区間の測定開始時点及び測定終了時点を検出して、測定開始信号及び測定終了信号を生成する信号生成部と、
前記測定開始信号の到達から前記測定終了信号の到達まで、前記評価対象プログラムの実行に伴って生じるイベントをカウントする第１カウンタ部と、
反復して実行される前記測定区間の反復回数を、前記測定開始信号及び前記測定終了信号の少なくとも一方に基づいてカウントする第２カウンタ部と、
を備える半導体集積装置。
【請求項８】
前記第２カウンタ部は、前記測定開始信号及び前記測定終了信号に応じた値を有する測定状態値の変化に基づいて、反復して実行される前記測定区間の反復回数をカウントすることを特徴とする請求項７に記載の半導体集積装置。
【請求項９】
前記第１カウンタ部は、
互いに異なる内容の前記イベントの発生を通知する複数のイベント信号のうち、予め選択された前記イベントに対応する前記イベント信号を選択し、選択した前記イベント信号をカウントすることを特徴とする請求項７又は８に記載の半導体集積装置。
【請求項１０】
前記第１カウンタ部は、
前記測定状態値を保持するレジスタと、
前記測定状態値に応じて、前記イベントに対応するイベント信号のカウントを開始及び停止するカウンタと、
を備えることを特徴とする請求項８に記載の半導体集積装置。
【請求項１１】
前記第１カウンタ部は、
互いに異なる内容の前記イベントの発生を通知する複数の前記イベント信号のうち、予め選択されたイベントに対応するイベント信号を選択するセレクタを更に備えることを特徴とする請求項１０に記載の半導体集積装置。
【請求項１２】
前記第２カウンタ部は、反復して実行される前記測定区間の反復回数に応じたカウント値が予め設定された値に到達したことを検出することを特徴とする請求項７乃至１１のいずれか一項に記載の半導体集積回路。
【請求項１３】
評価対象プログラムに予め設定された測定区間の測定開始時点を示す測定開始信号の到達から前記測定区間の測定終了時点を示す測定終了信号の到達まで、前記評価対象プログラムの実行に伴って生じるイベントをカウントし、
反復して実行される前記測定区間の反復回数を、前記測定開始信号及び前記測定終了信号の少なくとも一方に基づいてカウントする、
パフォーマンス評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パフォーマンス評価装置、及びパフォーマンス評価方法に関する。
【背景技術】
【０００２】
近年のマイクロプロセッサには、プログラムの性能改善やデバッグ等を目的として、プログラムのパフォーマンスを評価するパフォーマンス評価装置が搭載されることがある。パフォーマンス評価装置のプロセッサへの組み込みによって、プログラムの実行に伴うプロセッサでのイベントの発生回数を測定することができる。プログラムの開発者は、パフォーマンス測定装置の測定結果に基づいて、プログラムの性能改善やデバッグ等の作業を行うことができる。
【０００３】
プログラムには、特定区間が繰り返し実行される処理（ループ、関数等）が多数存在する。プログラムの特定区間を繰り返して実行する場合であっても、計算結果の違い、及びプロセッサ外部からの割り込みの発生等により、各回間で異なる処理が実行される場合がある。つまり、特定区間を繰り返す場合であっても、各回に測定されるパフォーマンスは必ずしも同じにはならない。
【０００４】
特許文献１には、ソフトウェアの任意の開始アドレスと終了アドレスとで決定される区間の処理時間を外部の装置を介さずに測定することが可能なソフトウェア評価装置が開示されている。第１比較器は、実行中のＰＣのカウント値と開始アドレスの値とが一致すると、時間測定装置に起動指令を発行する。第２比較器は、実行中のＰＣのカウント値と終了アドレスの値とが一致すると、時間測定装置に停止命令を発行する。時間測定装置は、比較器から停止指令を受けると直ちに時間測定動作を停止し、測定結果をレジスタに格納する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２９３４２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のように、プログラムの特定区間を繰り返して実行する場合であっても、測定されるパフォーマンスは各回で必ずしも同じにはならない。ソフトウェアの開発、改良を推し進めるためには、ソフトウェアのパフォーマンスを適切に評価することが前提条件となる。しかし、従来のパフォーマンス測定装置は、反復して実行される測定対象区間を対象としてパフォーマンス測定を行う際に、反復して実行される測定対象区間の通過回数を把握できる手段を提供していないため、ソフトウェア開発者は、得られたパフォーマンス測定結果が、反復実行される測定対象区間を何回通過した後の測定結果であるかを把握できず、ソフトウェアのパフォーマンスを適切に評価することができない。なお、特許文献１の場合も、測定対象区間の通過回数を把握することはできない。
【０００７】
上述の説明から明かなように、ソフトウェアのパフォーマンスを適切に評価するためには、反復して実行される測定対象区間を指定してパフォーマンス測定を実施する際に、パフォーマンス測定と同時に測定対象区間の通過回数を把握することが強く求められる。
【課題を解決するための手段】
【０００８】
本発明に係るパフォーマンス評価装置は、評価対象プログラムに予め設定された測定区間の測定開始時点を示す測定開始信号の到達から前記測定区間の測定終了時点を示す測定終了信号の到達まで、前記評価対象プログラムの実行に伴って生じるイベントをカウントする第１カウンタ部と、反復して実行される前記測定区間の反復回数を、前記測定開始信号及び前記測定終了信号の少なくとも一方に基づいてカウントする第２カウンタ部と、を備える。
【０００９】
第２カウンタ部のカウント値を参酌することによって、パフォーマンス測定の際の測定対象区間の通過回数を把握することが可能になる。
【００１０】
本発明に係る半導体集積回路は、評価対象プログラムを実行するＣＰＵと、前記評価対象プログラムに予め設定された測定区間の測定開始時点及び測定終了時点を検出して、測定開始信号及び測定終了信号を生成する信号生成部と、前記測定開始信号の到達から前記測定終了信号の到達まで、前記評価対象プログラムの実行に伴って生じるイベントをカウントする第１カウンタ部と、反復して実行される前記測定区間の反復回数を、前記測定開始信号及び前記測定終了信号の少なくとも一方に基づいてカウントする第２カウンタ部と、を備える。
【００１１】
本発明に係るパフォーマンス評価方法は、評価対象プログラムに予め設定された測定区間の測定開始時点を示す測定開始信号の到達から前記測定区間の測定終了時点を示す測定終了信号の到達まで、前記評価対象プログラムの実行に伴って生じるイベントをカウントし、反復して実行される前記測定区間の反復回数を、前記測定開始信号及び前記測定終了信号の少なくとも一方に基づいてカウントする。
【発明の効果】
【００１２】
本発明によれば、プログラム中の反復実行される測定対象区間を指定してパフォーマンス測定を実施する際に、パフォーマンス測定結果と同時に測定対象区間の通過回数を把握することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態にかかるマイクロプロセッサの概略的なブロック図である。
【図２】本発明の第１の実施形態にかかる評価対象のプログラムのパフォーマンス評価の手順を示す概略的なフローチャートである。
【図３】本発明の第１の実施形態にかかるマイクロプロセッサの動作を示す概略的なタイミングチャートである。
【図４】本発明の第２の実施形態にかかるマイクロプロセッサの概略的なブロック図である。
【図５】本発明の第２の実施形態にかかるマイクロプロセッサの動作を示す概略的なタイミングチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態について説明する。なお、各実施の形態は、説明の便宜上、簡略化されている。図面は簡略的なものであるから、図面の記載を根拠として本発明の技術的範囲を狭く解釈してはならない。図面は、もっぱら技術的事項の説明のためのものであり、図面に示された要素の正確な大きさ等は反映していない。同一の要素には、同一の符号を付し、重複する説明は省略するものとする。
【００１５】
［第１の実施形態］
以下、図面を参照して本発明の実施の形態について説明する。図１は、マイクロプロセッサの概略的なブロック図である。図２は、評価対象のプログラムのパフォーマンス評価の手順を示す概略的なフローチャートである。図３は、マイクロプロセッサの動作を示す概略的なタイミングチャートである。
【００１６】
図１に示すように、マイクロプロセッサ１００は、ＣＰＵ１１０、及びパフォーマンス測定部（パフォーマンス測定装置）２００を有する。ＣＰＵ１１０は、ブレーク判定部（信号生成部）１２０を有する。パフォーマンス測定部２００は、イベントカウンタ部（カウンタ部）１０及び反復回数カウンタ部（カウンタ部）２０を有する。イベントカウンタ部１０は、セレクタ１１、及びカウンタ部１３を有する。反復回数カウンタ部２０は、カウンタ部２３を有する。カウンタ部１３は、レジスタ１４及びカウンタ１５を有する。カウンタ部２３は、カウンタ２５を有する。
【００１７】
はじめに接続関係について説明する。ブレーク判定部１２０の出力は、カウンタ部１３に入力される。ＣＰＵ１１０の出力は、セレクタ１１、カウンタ部１３に入力される。セレクタ１１の出力は、カウンタ部１３に入力される。カウンタ部１３の出力は、カウンタ部２３に入力される。なお、カウンタ１５、カウンタ２５のカウント値は、ＣＰＵ１１０又はその他の機能回路に供給されているものとする。
【００１８】
ＣＰＵ１１０は、プログラム（評価対象プログラム）を実行する。ＣＰＵ１１０によるプログラムの実行に応じて、ＣＰＵ１１０からパフォーマンス測定部２００には様々な信号（SIG_START、SIG_STOP、SIG_E1、SIG_E2、SIG_E3、SIG_SEL等）が伝送される。プログラムの実行過程で特定のイベントが発生すると、ＣＰＵ１１０は、イベント信号SIG_E1〜SIG_E3をセレクタ１１へ出力する。なお、特定のイベントとは、メモリアクセス、分岐の成立又は不成立、割り込み、パイプラインストール等が例示できる。
【００１９】
ブレーク判定部１２０は、マイクロプロセッサの一般的なデバッグ用機構である。ブレーク判定部１２０は、ＣＰＵ１１０でプログラムが実行されることで生じる結果が予め設定した条件を満足するか否かを判定し、条件満足の場合、条件満足したことを示す信号を出力する。
【００２０】
ブレーク判定部１２０は、プログラム中で反復して実行される測定区間の開始時点を検出し、測定区間の開始時点を示す信号を生成する。ブレーク判定部１２０は、プログラムカウンタの値が所定の値と一致したとき、測定開始信号SIG_STARTをカウンタ部１３に出力する。なお、プログラムカウンタの値の比較以外の方法によって、測定区間の開始時点を検出しても良い。
【００２１】
ブレーク判定部１２０は、プログラム中で反復して実行される測定区間の終了時点を検出し、測定区間の終了時点を示す信号を生成する。ブレーク判定部１２０は、プログラムカウンタの値が所定の値と一致したとき、測定終了信号SIG_STOPをカウンタ部１３に出力する。なお、上述と同様、プログラムカウンタの値の比較以外の方法によって、測定区間の終了時点を検出しても良い。
【００２２】
イベントカウンタ部１０は、測定開始信号SIG_STARTに基づいて、イベントのカウント開始を検出する。イベントカウンタ部１０は、測定終了信号SIG_STOPに基づいて、イベントのカウント終了を検出する。イベントカウンタ部１０は、イベント信号SIG_E1〜SIG_E3に基づいて、ＣＰＵ１１０でのプログラムの実行により生じるイベントをカウントする。イベントカウンタ部１０は、レジスタ１４の保持値の１から０への更新時、カウントアップ信号SIG_UP2を反復回数カウンタ部２０へ出力する。なお、レジスタ１４の保持値の０から１への更新時にカウントアップ信号SIG_UP1が出力されるように、イベントカウンタ部１０を設計しても良い。
【００２３】
セレクタ１１は、ＣＰＵ１１０から伝達するセレクト信号SIG_SELにより特定されるイベント信号を選択して出力する。例えば、セレクト信号SIG_SEL=00のとき、セレクタ１１は、イベント信号SIG_E1を選択して出力する。セレクト信号SIG_SEL=01のとき、セレクタ１１は、イベント信号SIG_E2を選択して出力する。セレクト信号SIG_SEL=11のとき、セレクタ１１は、イベント信号SIG_E3を選択して出力する。
【００２４】
カウンタ部１３は、レジスタ１４の保持値に応じて、カウントアップ信号SIG_UP1に基づいてカウンタ１５のカウント値を更新する。レジスタ１４には、カウンタ部１３の動作状態を決定付ける測定状態値がセットされる。
【００２５】
カウンタ部１３は、測定開始信号SIG_STARTの受信に応じて、レジスタ１４の保持値を１にセットする。カウンタ部１３は、測定終了信号SIG_STOPの受信に応じて、レジスタ１４の保持値を０にセットする。
【００２６】
レジスタ１４の保持値＝１のとき、カウンタ部１３は、カウントアップ信号SIG_UP1をカウントして、カウンタ１５のカウント値を更新する。レジスタ１４の保持値＝０のとき、カウンタ部１３は、上述のカウント動作を実行しない。
【００２７】
反復回数カウンタ部２０は、イベントカウンタ部１０から出力されるカウントアップ信号SIG_UP2に基づいて、プログラム中で反復して実行される測定区間の反復回数をカウントする。上述のように、カウントアップ信号SIG_UP2は、測定終了信号SIG_STOP又は測定開始信号SIG_STARTに応じてカウンタ部１３から出力される。従って、反復回数カウンタ部２０は、測定終了信号SIG_STOP又は測定開始信号SIG_STARTに基づいて、プログラム中で反復して実行される測定区間の反復回数をカウントしている、と把握できる。カウンタ部２３は、カウントアップ信号SIG_UP2に基づいて、カウンタ２５のカウント値を更新する。
【００２８】
カウンタ１５はパフォーマンス測定装置によって測定中にリセットされることなく、反復実行される測定対象区間で発生したイベントの回数を累積してカウントする。なお、パフォーマンス測定の用途に応じて、カウンタ１５をパフォーマンス測定装置によって測定中にリセットするように設計してもよい。その場合、イベントカウンタ部１０がレジスタ１４の保持値の０から１への更新時に、カウンタ１５をリセットするように設計すれば、カウンタ１５は反復実行される測定対象区間の１回の通過毎のイベントの回数をカウントするカウンタとなる。カウンタ２５はパフォーマンス測定装置によって測定中にリセットされることなく、測定区間の反復回数をカウントする。
【００２９】
図２を参酌して、マイクロプロセッサ１００の動作について説明する。なお、ブレーク判定部１２０による測定開始信号SIG_STARTの生成条件は、予めブレーク判定部１２０に設定されているものとする。測定終了信号SIG_STOPの生成条件についても同様である。セレクタ１１は、イベント信号SIG_E1を選択して出力するように設定されているものとする。カウンタ１５、カウンタ２５のカウント値は、初期値０にセットされているものとする。レジスタ１４の保持値は、初期値０にセットされているものとする。
【００３０】
まず、測定開始信号SIG_STARTが生成される（Ｓ１００）。具体的には、ブレーク判定部１２０は、反復して実行される測定区間の開始位置を検出し、測定開始信号SIG_STARTを生成してカウンタ部１３へ出力する。なお、例えば、ブレーク判定部１２０は、プログラムカウンタの値を所定の値と比較することに基づいて、測定開始信号SIG_STRATを生成する。
【００３１】
次に、イベントのカウントを実行する（Ｓ１０１）。具体的には、カウンタ部１３は、測定開始信号SIG_STARTに基づいて、レジスタ１４の保持値を１にセットする。これに応じて、カウンタ部１３は、セレクタ１１から順次出力されるカウントアップ信号SIG_UP1に基づいて、カウンタ１５の値を更新する。このようにして、ＣＰＵ１１０でのプログラムの実行に応じて生じるイベントがカウントされる。
【００３２】
その後、測定終了信号SIG_STOPを生成する(Ｓ１０２)。具体的には、ブレーク判定部１２０は、反復して実行される測定区間の終了位置を検出し、測定終了信号SIG_STOPを生成してカウンタ部１３へ出力する。なお、例えば、ブレーク判定部１２０は、プログラムカウンタの値を所定の値と比較することに基づいて、測定開始信号SIG_STOPを生成する。
【００３３】
次に、イベントのカウントを終了する（Ｓ１０３）。具体的には、カウンタ部１３は、測定終了信号SIG_STOPに基づいて、レジスタ１４の保持値を０にセットする。これに応じて、カウンタ部１３は、今まで継続していたイベントのカウントアップを停止する。
【００３４】
次に、反復回数のカウントをする（Ｓ１０４）。具体的には、カウンタ部１３は、レジスタ１４の保持値の１から０への更新時、カウンタ部２３へカウントアップ信号SIG_UP2を出力する。カウンタ部２３は、カウントアップ信号SIG_UP2に基づいてカウンタ２５のカウント値を更新する。このようにして、反復して実行される測定区間の反復回数をカウントすることができる。
【００３５】
プログラム実行中、マイクロプロセッサ１００は、Ｓ１００〜Ｓ１０４のステップを繰り返し実行する。
【００３６】
冒頭で説明したように、プログラムの特定区間を繰り返す場合であっても、測定されるパフォーマンスは各回で必ずしも同じにはならない。ソフトウェアの開発、改良を推し進めるためには、ソフトウェアのパフォーマンスを適切に評価することが前提条件となる。反復実行される測定対象区間のパフォーマンス測定結果と同時に測定対象区間の通過回数を把握することなしに、ソフトウェアのパフォーマンスを適切に評価することはできない。
【００３７】
本実施形態では、反復して実行される測定対象区間の反復回数は、カウンタ２５のカウント値を参照すれば明らかである。これによって、例えば、共通の測定区間を対象として反復してプログラムのパフォーマンスを測定するとき、第１回目のパフォーマンス測定結果と第２回目のパフォーマンス測定結果とで測定対象区間の通過回数の差異を識別することが可能になる。また、プログラムの開発者は、イベントのカウント回数を測定区間の反復回数で除算することで、測定区間単位でのイベントの発生回数の平均値を求めることが可能になる。これによって、ソフトウェアのパフォーマンスを適切に評価することが可能になり、ソフトウェアの開発、改良を効率的に適切に推し進めることが可能になる。
【００３８】
図３を参照して、マイクロプロセッサ１００の動作について補足的に説明する。なお、各信号は、説明の便宜上、２値化されているが、複数ビットの論理値からなるデジタル信号であっても良い。
【００３９】
時刻ｔ１のとき、測定開始信号SIG_STARTが生成される。これに応じて、レジスタ１４の保持値が０から１へ更新される。
【００４０】
時刻ｔ２のとき、イベント信号SIG_E1が生成される。その直後、セレクタ１１からカウントアップ信号SIG_UP1が出力される。そして、カウンタ１５のカウント値が＋１される。
【００４１】
時刻ｔ３については、時刻ｔ２と同様の動作が実行される。
【００４２】
時刻ｔ４のとき、測定終了信号SIG_STOPが生成される。測定終了信号SIG_STOPに応じて、レジスタ１４の保持値は１から０へ更新される。そして、カウントアップ信号SIG_UP2が生成される。カウントアップ信号SIG_UP2に応じて、カウンタ２５のカウント値が＋１される。
【００４３】
時刻ｔ１からｔ４までの区間は、反復実行される測定対象区間の１回目の開始から終了までに相当する。同様に、時刻ｔ５からｔ７までの区間は測定対象区間の２回目の開始から終了まで、時刻ｔ８からｔ１２までの区間は測定対象区間の３回目の開始から終了までに相当する。
【００４４】
時刻ｔ５、ｔ８については、時刻ｔ１と同様の動作が実行される。時刻ｔ６、ｔ９、ｔ１０、ｔ１１については、時刻ｔ２と同様の動作が実行される。時刻ｔ７、ｔ１２については、時刻ｔ４と同様の動作が実行される。
【００４５】
［第２の実施形態］
以下、図面を参照して本発明の実施の形態について説明する。図４は、マイクロプロセッサの概略的なブロック図である。図５は、マイクロプロセッサの動作を示す概略的なタイミングチャートである。
【００４６】
第１実施形態とは異なり、本実施形態では、反復回数カウンタ部２０は、ブレーク信号生成部２９を更に備える。ブレーク信号生成部２９は、レジスタ３０、及び比較器３１を有する。比較器３１には、レジスタ３０の出力及びカウンタ２５の出力が接続される。比較器３１の出力は、ＣＰＵ１１０に接続される。
【００４７】
ブレーク信号生成部２９は、カウンタ２５のカウント値が所定値に到達したとき、ブレーク信号SIG_BREAKをＣＰＵ１１０へ出力する。これによって、所定の反復回数だけ測定区画を反復して実行したことを検出することができる。これによって、測定区間の反復回数を一定回数とした条件で、様々な観点からプログラムのパフォーマンスを測定することが可能になる。そして、プログラムのパフォーマンスを適切に評価することが可能になる。なお、レジスタ３０へは、適切な値がＣＰＵ１１０によりセットされるものとする。
【００４８】
図４に示すように、レジスタ３０から比較器３１の第１入力端子へはリファレンス値V_REFが入力される。比較器３１の第２入力端子へはカウンタ２５からカウント値V_COUNTが入力される。比較器３１は、入力する２つの値を比較し、両者が一致したとき、ブレーク信号SIG_BREAKを生成する。ＣＰＵ１１０は、ブレーク信号SIG_BREAKの入力に応じて、例えば、プログラムの実行を一時的に停止したり、あるいは割り込み等の手段によりプログラムに通知したりする。
【００４９】
図５を参照して、上述の点について補足的に説明する。
【００５０】
測定区間の反復実行に応じて、カウンタ２５のカウント値は、順次＋１される。これに応じて、カウンタ２５から出力されるカウント値V_COUNTが図５に模式的に示すように変化する。カウント値V_COUNTがリファレンス値V_REFに一致したとき、比較器３１は、ブレーク信号SIG_BREAKをＣＰＵ１１０に出力する。
【００５１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。カウンタ１５、カウンタ２５のカウント値を常時モニターに表示しておくのも良い。また、カウンタ１５、カウンタ２５の履歴を取得しておくのも良い。
【符号の説明】
【００５２】
１００    マイクロプロセッサ
１１０    ＣＰＵ
１２０    ブレーク判定部
２００    パフォーマンス測定部
１０    イベントカウンタ部
１１    セレクタ
１３    カウンタ部
１４    レジスタ
１５    カウンタ
２０    反復回数カウンタ部
２３    カウンタ部
２５    カウンタ
２９    ブレーク信号生成部
３０    レジスタ
３１    比較器
【図１】
2010244393.tif 000003
【図２】
2010244393.tif 000004
【図３】
2010244393.tif 000005
【図４】
2010244393.tif 000006
【図５】
2010244393.tif 000007