(57)【特許請求の範囲】
【請求項１】
モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、
前記調速対象コマンドの繰り返し処理の実行回数をカウントするカウンタと、
モデル毎の前記実行回数の期待値の情報および所望の前記期待値の情報を選択するためのモデル情報を格納した期待値テーブルと、
モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記タイマ回路により前記一定時間の計測が終了した時点で前記モデル情報を基に前記期待値テーブルの中から所望の前記期待値の情報を選択して前記カウンタがカウントした前記実行回数との比較を実行し、当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えている
ことを特徴とするプロセッサ。
【請求項２】
モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、
前記調速対象コマンドの繰り返し処理の実行回数をカウントするカウンタと、
モデル毎の前記実行回数の期待値の情報および所望の前記期待値の情報を選択するためのモデル名の情報を格納した期待値テーブルと、
モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記タイマ回路により前記一定時間の計測が終了した時点で前記モデル名の情報を基に前記期待値テーブルの中から所望の前記期待値の情報を選択して前記カウンタがカウントした前記実行回数との比較を実行し、当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えている
ことを特徴とするプロセッサ。
【請求項３】
モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、
前記調速対象コマンドの繰り返し処理の実行回数をカウントするカウンタと、
モデル毎の前記実行回数の期待値下限および／または期待値上限の情報および所望の前記期待値下限および／または期待値上限の情報を選択するためのモデル情報を格納した期待値テーブルと、
モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記タイマ回路により前記一定時間の計測が終了した時点で前記モデル情報を基に前記期待値テーブルの中から所望の前記期待値下限および／または期待値上限の情報を選択して前記カウンタがカウントした前記実行回数との比較を実行し、当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えている
ことを特徴とするプロセッサ。
【請求項４】
モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、
前記調速対象コマンドの繰り返し処理の実行回数をカウントするカウンタと、
モデル毎の前記実行回数の期待値下限および／または期待値上限の情報および所望の前記期待値下限および／または期待値上限の情報を選択するためのモデル名の情報を格納した期待値テーブルと、
モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記タイマ回路により前記一定時間の計測が終了した時点で前記モデル名の情報を基に前記期待値テーブルの中から所望の前記期待値下限および／または期待値上限の情報を選択して前記カウンタがカウントした前記実行回数との比較を実行し、当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えている
ことを特徴とするプロセッサ。
【請求項５】
前記命令実行部は、モデルやハードウェアに依存せずに一定の周期で発振する発振器である発振器を基に動作し、マイクロ命令に従って処理を実行するような構成を有する
ことを特徴とする請求項１乃至４のいずれか一項に記載のプロセッサ。
【請求項６】
前記タイマ回路は、モデルやハードウェアに依存せずに一定の周期で発振する発振器である基準発振器を基に動作する時限手段であって、前記命令実行部からのリセット信号により前記タイマ回路をリセットし、前記命令実行部からのスタート信号により計時を開始するような構成を有する
ことを特徴とする請求項１乃至４のいずれか一項に記載のプロセッサ。
【請求項７】
前記命令実行部を用いて前記タイマ回路および前記カウンタをリセットした後、前記調速対象コマンドを実行し前記カウンタに１カウントアップの処理を実行する指示を行い、前記タイマ回路のタイマ値が所定の値になっているかどうかをチェックし、当該所定値でなければ再度前記調速対象コマンドを実行し前記カウンタに１カウントアップの処理を実行する指示を行い、また、前記タイマ回路のタイマ値が所定の値になっていれば当該カウンタのカウンタ値を読み出すような構成を有する
ことを特徴とする請求項５または６に記載のプロセッサ。
【請求項８】
タイマ回路と、カウンタと、期待値テーブルと、命令実行部とを備えるプロセッサにおいて、
前記タイマ回路を用いて、モデル毎に実行時間が異なり、前記プロセッサの動作速度を調整するための調速処理の対象となる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測を実行し、
前記カウンタを用いて前記調速対象コマンドの繰り返し処理の実行回数をカウントし、
前記期待値テーブルに、モデル毎の前記実行回数の期待値の情報および所望の前記期待値の情報を選択するためのモデル情報を格納し、
前記命令実行部を用いてモデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記タイマ回路により前記一定時間の計測が終了した時点で前記モデル情報を基に前記期待値テーブルの中から所望の前記期待値の情報を選択して前記カウンタがカウントした前記実行回数との比較を実行し、当該比較した結果が不正となったときに動作停止の処理を行う
ことを特徴とするプロセッサ調速方法。
【請求項９】
モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、前記調速対象コマンドの繰り返し処理の実行回数をカウントするカウンタと、モデル毎の前記実行回数の期待値の情報および所望の前記期待値の情報を選択するためのモデル情報を格納した期待値テーブルと、モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記タイマ回路により前記一定時間の計測が終了した時点で前記モデル情報を基に前記期待値テーブルの中から所望の前記期待値の情報を選択して前記カウンタがカウントした前記実行回数との比較を実行し、当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えたプロセッサに対して、前記命令実行部が初期化動作時にモデル名を前記プロセッサの外部から取得し、前記タイマ回路および前記カウンタをリセットし、続いて、前記タイマ回路をスタートさせて計時を始めた後、前記調速対象コマンドを実行し、当該調速対象コマンドの実行後に前記カウンタがカウントする前記実行回数をインクリメントし、続いて、前記タイマ回路のタイマ値を読み出し、前記タイマ回路のタイマ値が０かどうかチェックし、続いて、前記タイマ回路のタイマ値が０で無ければ、再度前記調速対象コマンドを実行して前記カウンタがカウントする前記実行回数のインクリメントを行い、また、前記タイマ回路のタイマ値が０であれば、前記カウンタがカウントした前記実行回数を読み出し、モデルに対応した前記カウンタの期待値（期待値下限、期待値上限）の情報を読み込み、当該期待値（期待値下限、期待値上限）の情報と前記カウンタがカウントした前記実行回数と比較を行い、また、比較の結果が不一致であれば、動作を停止させ、比較の結果一致すれば、処理を続行する
ことを特徴とするプロセッサ調速方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセッサの調速技術に係り、特に期待したクロック数で調速対象コマンドが動作していることを確認することで誤った性能値でプロセッサが動作することが防止するプロセッサおよびプロセッサ調速方法に関する。
【０００２】
【従来の技術】
従来、プロセッサの調速を行う手法としては一般的に２つの方法がある。その１つは動作クロックの周波数を落とす手法である。そしてもう１つはマイクロ命令の実行ステップ数を意図的にのばす手法である。ここで、調速処理とは、動作速度を調整する行為を意味する。例えば、次のようなことを実行して動作速度を調整（遅く）することを調速と呼んでいる。プロセッサに入力する動作クロックをわざと遅いものにしてプロセッサの動作を調整（遅く）する処理、プロセッサに設けられているキャッシュ等のＨＷ（ハードウェア）高速化機構を使用不能にすることや、キャッシュサイズを縮小することによりプロセッサの動作を調整（遅く）する処理、マイクロ命令にＮＯＰ命令（Ｎｏｎ  Ｏｐｅｒａｔｉｏｎ  命令：なにもしないことを指示するプロセッサ用のコマンド）をプロセッサに入力してプロセッサの動作をわざと調整（遅く）する処理が、調速処理に該当する。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来技術は、プロセッサに入力する動作クロックが何らかの要因で本来のクロック周波数と異なる周波数で入力された状態でプロセッサが動作した場合（ケース１）、あるいは誤ったマイクロ命令群がＨＷ（ハードウェア）に取り込まれた状態でプロセッサが動作した場合（ケース２）に、本来意図した性能でのプロセッサの動作が難しいという問題点があった。このため、ケース１，２の発生をチェックする機構の導入が必要となり、ハードウェア構成が複雑かつ大規模になってしまうという問題点があった。
【０００４】
本発明は斯かる問題点を鑑みてなされたものであり、その目的とするところは、期待したクロック数で調速対象コマンドが動作していることを確認することで誤った性能値でプロセッサが動作することが防止するプロセッサおよびプロセッサ調速方法を提供する点にある。
【０００５】
【課題を解決するための手段】
請求項１に記載の発明の要旨は、モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、前記調速対象コマンドの繰り返し処理の実行回数を保持するカウンタと、モデル毎の実行回数の期待値の情報および所望の前記期待値の情報を選択するためのモデル情報を格納した期待値テーブルと、モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記モデル情報を基に前記期待値テーブルの中から所望の前記期待値の情報を選択して前記カウンタのカウンタ値との比較を実行し当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えていることを特徴とするプロセッサに存する。
また、請求項２に記載の発明の要旨は、モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、前記調速対象コマンドの繰り返し処理の実行回数を保持するカウンタと、モデル毎の実行回数の期待値の情報および所望の前記期待値の情報を選択するためのモデル名の情報を格納した期待値テーブルと、モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記モデル名の情報を基に前記期待値テーブルの中から所望の前記期待値の情報を選択して前記カウンタのカウンタ値との比較を実行し当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えていることを特徴とするプロセッサに存する。
また、請求項３に記載の発明の要旨は、モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、前記調速対象コマンドの繰り返し処理の実行回数を保持するカウンタと、モデル毎の実行回数の期待値下限および／または期待値上限の情報および所望の前記期待値下限および／または期待値上限の情報を選択するためのモデル情報を格納した期待値テーブルと、モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記モデル情報を基に前記期待値テーブルの中から所望の前記期待値下限および／または期待値上限の情報を選択して前記カウンタのカウンタ値との比較を実行し当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えていることを特徴とするプロセッサに存する。
また、請求項４に記載の発明の要旨は、モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、前記調速対象コマンドの繰り返し処理の実行回数を保持するカウンタと、モデル毎の実行回数の期待値下限および／または期待値上限の情報および所望の前記期待値下限および／または期待値上限の情報を選択するためのモデル名の情報を格納した期待値テーブルと、モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記モデル名の情報を基に前記期待値テーブルの中から所望の前記期待値下限および／または期待値上限の情報を選択して前記カウンタのカウンタ値との比較を実行し当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えていることを特徴とするプロセッサに存する。
また、請求項５に記載の発明の要旨は、前記命令実行部は、モデルやハードウェアに依存せずに一定の周期で発振する発振器である発振器を基に動作し、マイクロ命令に従って処理を実行するような構成を有することを特徴とする請求項１乃至４のいずれか一項に記載のプロセッサに存する。
また、請求項６に記載の発明の要旨は、前記タイマ回路は、モデルやハードウェアに依存せずに一定の周期で発振する発振器である基準発振器を基に動作する時限手段であって、前記命令実行部からのリセット信号により前記タイマ回路をリセットし、前記命令実行部からのスタート信号により計時を開始するような構成を有することを特徴とする請求項１乃至４のいずれか一項に記載のプロセッサに存する。
また、請求項７に記載の発明の要旨は、前記命令実行部を用いて前記タイマ回路および前記カウンタをリセットした後、前記調速対象コマンドを実行し前記カウンタに１カウントアップの処理を実行する指示を行い、前記タイマ回路のタイマ値が所定の値になっているかどうかをチェックし、当該所定値でなければ再度前記調速対象コマンドを実行し前記カウンタに１カウントアップの処理を実行する指示を行い、また、前記タイマ回路のタイマ値が所定の値になっていれば当該カウンタのカウンタ値を読み出すような構成を有することを特徴とする請求項５または６に記載のプロセッサに存する。
また、請求項８に記載の発明の要旨は、タイマ回路を用いてモデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測を実行し、カウンタを用いて前記調速対象コマンドの繰り返し処理の実行回数を保持し、期待値テーブルを用いてモデル毎の実行回数の期待値の情報および所望の前記期待値の情報を選択するためのモデル情報を格納し、命令実行部を用いてモデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記モデル情報を基に前記期待値テーブルの中から所望の前記期待値の情報を選択して前記カウンタのカウンタ値との比較を実行し当該比較した結果が不正となったときに動作停止の処理を行うことを特徴とするプロセッサ調速方法に存する。
また、請求項９に記載の発明の要旨は、モデル毎に実行時間が異なる調速対象コマンドの繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、前記調速対象コマンドの繰り返し処理の実行回数を保持するカウンタと、モデル毎の実行回数の期待値の情報および所望の前記期待値の情報を選択するためのモデル情報を格納した期待値テーブルと、モデル毎に実行時間が異なる前記調速対象コマンドの繰り返し処理を行うとともに、前記モデル情報を基に前記期待値テーブルの中から所望の前記期待値の情報を選択して前記カウンタのカウンタ値との比較を実行し当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を備えたプロセッサに対して、前記命令実行部が初期化動作時にモデル名をプロセッサ４０の外部から取得し、前記タイマ回路および前記カウンタをリセットし、続いて、前記タイマ回路をスタートさせて計時を始めた後、前記調速対象コマンドを実行し、当該調速対象コマンドの実行後に前記カウンタのカウンタ値をインクリメントし、続いて、前記タイマ回路のタイマ値を読み出し、前記タイマ回路のタイマ値が０かどうかチェックし、続いて、前記タイマ回路のタイマ値が０で無ければ、再度前記調速対象コマンドを実行して前記カウンタのカウンタ値のインクリメントを行い、また、前記タイマ回路のタイマ値が０であれば、前記カウンタのカウンタ値を読み出し、モデルに対応した前記カウンタの期待値（期待値下限、期待値上限）の情報を読み込み、当該期待値（期待値下限、期待値上限）の情報と前記カウンタのカウンタ値と比較を行い、また、比較の結果が不一致であれば、動作を停止させ、比較の結果一致すれば、処理を続行することを特徴とするプロセッサ調速方法に存する。
【０００６】
【発明の実施の形態】
本発明は、モデル毎に実行時間が異なる調速対象コマンド（調速処理を実行する対象命令）の繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路と、前記繰り返し処理の実行回数を保持するカウンタと、モデル毎の実行回数の期待値（期待値下限、期待値上限）の情報および所望の期待値（期待値下限、期待値上限）の情報を選択するためのモデル情報（モデル名の情報）を格納した期待値テーブルと、モデル毎に実行時間が異なる調速対象コマンド（調速処理を実行する対象命令）の繰り返し処理を行うとともに、モデル情報（モデル名の情報）を基に期待値テーブルの中から所望の期待値（期待値下限、期待値上限）の情報を選択してカウンタのカウンタ値との比較を実行し当該比較した結果が不正となったときに動作停止の処理を行う命令実行部を設けることにより、期待したクロック数で調速対象コマンド（調速処理を実行する対象命令）が動作していることを確認できるようになり、その結果、誤った性能値でプロセッサが動作することが防止できるようになるといった効果を奏する。
【０００７】
ここで、調速処理とは、動作速度を調整する行為を意味する。調速処理とは、例えば、次のようなことを実行して動作速度を調整（遅く）することを調速と呼んでいる。プロセッサに入力する動作クロックをわざと遅いものにしてプロセッサの動作を調整（遅く）する処理、プロセッサに設けられているキャッシュ等のＨＷ（ハードウェア）高速化機構を使用不能にすることや、キャッシュサイズを縮小することによりプロセッサの動作を調整（遅く）する処理、マイクロ命令にＮＯＰ命令（Ｎｏｎ  Ｏｐｅｒａｔｉｏｎ  命令：なにもしないことを指示するプロセッサ用のコマンド）をプロセッサに入力してプロセッサの動作をわざと調整（遅く）する処理が、本発明の調速処理に該当する。以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【０００８】
図１は本発明の一実施の形態に係るプロセッサの構成を説明するための機能ブロック図である。図１において、１０は命令実行部、１１はリセット信号、１２はスタート信号、１３はカウントアップ信号、１６はモデル名取得実行コマンド、１７は検索コマンド、２２は基準発振器、２３は発振器、２４はタイマ回路、２５はカウンタ、２６は期待値テーブル、４０はプロセッサを示している。
【０００９】
図１を参照すると、本実施の形態のプロセッサ４０は、モデル毎に実行時間が異なる調速対象コマンド（調速処理を実行する対象命令）の繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路２４と、前記繰り返し処理の実行回数を保持するカウンタ２５と、モデル毎の実行回数の期待値（期待値下限、期待値上限）の情報および所望の期待値（期待値下限、期待値上限）の情報を選択するためのモデル情報（モデル名の情報）を格納した期待値テーブル２６と、モデル毎に実行時間が異なる調速対象コマンド（調速処理を実行する対象命令）の繰り返し処理を行うとともに、モデル情報（モデル名の情報）を基に期待値テーブル２６の中から所望の期待値（期待値下限、期待値上限）の情報を選択してカウンタ２５のカウンタ値との比較を実行し当該比較した結果が不正となったときに動作停止の処理を行う命令実行部１０を備えている。
【００１０】
図１を参照すると、基準発振器２２および発振器２３はモデルやＨＷ（ハードウェア）に依存せずに一定の周期で発振する発振器である。
【００１１】
命令実行部１０はマイクロ命令に従って処理を実行する。命令実行部１０は発振器２３を基に動作する。タイマ回路２４は基準発振器２２（モデルやＨＷ（ハードウェア）に依存せずに一定の周期で発振する発振器）を基に動作する時限手段であって、命令実行部１０からのリセット信号１１によりリセットし、スタート信号１２で計時を開始する。本実施の形態では、リセット動作でタイマ回路２４を１０００にセットし、スタート信号１２でタイマ回路２４の減算を開始し、タイマ回路２４のタイマ値が０になったときに停止するタイマ回路２４とする。カウンタ２５は発振器２３を基に動作し、命令実行部１０からのリセット信号１１によりリセット動作を実行し、カウントアップ信号１３を基にカウントアップを行う。
【００１２】
また、命令実行部１０はプロセッサ４０の外部からモデル名を取得するモデル名取得実行コマンド１６を生成・出力する機能、期待値テーブル２６と取得したモデル名を基に期待値（期待値下限、期待値上限）の情報を索引する検索コマンド１７を生成・出力する機能、索引した期待値（期待値下限、期待値上限）の情報とカウンタ２５のカウンタ値を比較して異なっていれば停止する機能を有している。
【００１３】
期待値テーブル２６はモデル名と期待値（期待値下限、期待値上限）の情報を保持するテーブルである。期待値（期待値下限、期待値上限）は一般的に数％の動作マージンがあるため、図１に示すように、期待上限値と期待下限値を持つことが好ましい。
【００１４】
ここで、調速対象コマンド（調速処理を実行する対象命令）とは、動作速度を調整するための調速処理がなされてプロセッサ４０に入力されるコマンドを意味する。調速処理としては、例えば、プロセッサ４０に入力するクロックをわざと遅いものにしてプロセッサ４０の動作を調整（遅く）すること、プロセッサ４０に設けられているキャッシュ等のＨＷ（ハードウェア）高速化機構を使用不能にすることや、キャッシュサイズを縮小することによりプロセッサ４０の動作を調整（遅く）すること、マイクロ命令にＮＯＰ命令（Ｎｏｎ  Ｏｐｅｒａｔｉｏｎ  命令：なにもしないことを指示するプロセッサ４０用のコマンド）をプロセッサ４０に入力してプロセッサ４０の動作をわざと調整（遅く）することなどがある。そして、これら調速処理を命令の実行とともに実行するものが調速対象コマンド（調速処理を実行する対象命令）に該当する。
【００１５】
次に本実施の形態のプロセッサ４０の動作について説明する。図１を参照すると、本実施の形態では、命令実行部１０を用いて、タイマ回路２４およびカウンタ２５をリセットした後、調速対象コマンド（調速処理を実行する対象命令）を実行しカウンタ２５に１カウントアップの処理を実行する指示を行う。また、タイマ回路２４のタイマ値が所定の値になっているかどうかをチェックし、当該所定値でなければ再度調速対象コマンド（調速処理を実行する対象命令）を実行しカウンタ２５に１カウントアップの処理を実行する指示を行う。この間タイマ回路２４は動作し続ける。一方、タイマ回路２４のタイマ値が所定の値になっていれば当該カウンタ２５のカウンタ値を読み出す。これにより、タイマ回路２４に設定された時間内に調速対象コマンド（調速処理を実行する対象命令）が何回実行できたかを読み出すことができる。
【００１６】
また、本実施の形態では、期待値テーブル２６を用いて、タイマ回路２４に設定された時間内に調速対象コマンド（調速処理を実行する対象命令）が何回実行されるべきかを各モデル毎に保持するとともに、現在プロセッサ４０が実行しているモデルの期待値（期待値下限、期待値上限）の情報とカウンタ２５のカウンタ値を比較し当該比較の結果が正しくなければ動作を停止させる。
【００１７】
以上説明したように本実施の形態によれば、モデル毎に実行時間が異なる調速対象コマンド（調速処理を実行する対象命令）の繰り返し処理を一定時間実行するための一定時間の計測が可能なタイマ回路２４と、前記繰り返し処理の実行回数を保持するカウンタ２５と、モデル毎の実行回数の期待値（期待値下限、期待値上限）の情報および所望の期待値（期待値下限、期待値上限）の情報を選択するためのモデル情報（モデル名の情報）を格納した期待値テーブル２６と、モデル毎に実行時間が異なる調速対象コマンド（調速処理を実行する対象命令）の繰り返し処理を行うとともに、モデル情報（モデル名の情報）を基に期待値テーブル２６の中から所望の期待値（期待値下限、期待値上限）の情報を選択してカウンタ２５のカウンタ値との比較を実行し当該比較した結果が不正となったときに動作停止の処理を行う命令実行部１０を設けることにより、期待したクロック数で調速対象コマンド（調速処理を実行する対象命令）が動作していることを確認できるようになり、その結果、誤った性能値でプロセッサ４０が動作することが防止できるようになるといった効果を奏する。
【００１８】
次に、図１の機能ブロック図および図２のフローチャートを参照して本発明の一実施の形態に係るプロセッサ調速方法を説明する。図２は本発明の一実施の形態に係るプロセッサ調速方法を説明するためのフローチャートである。
【００１９】
図２を参照すると、本実施の形態では、まず、命令実行部１０が初期化動作時にモデル名をプロセッサ４０の外部から取得し（ステップＳ２１）、タイマ回路２４およびカウンタ２５をリセットする（ステップＳ２２）。タイマ回路２４をスタートさせて計時を始めた後（ステップＳ２３）、調速対象コマンド（調速処理を実行する対象命令）を実行し（ステップＳ２４）、当該調速対象コマンド（調速処理を実行する対象命令）の実行後にカウンタ２５のカウンタ値をインクリメントする（ステップＳ２５）。タイマ回路２４のタイマ値を読み出し（ステップＳ２６）、タイマ回路２４のタイマ値が０かどうかチェックする（ステップＳ２７）。タイマ回路２４のタイマ値が０で無ければ（ステップＳ２７のＮＯ）、再度調速対象コマンド（調速処理を実行する対象命令）を実行してカウンタ２５のカウンタ値のインクリメントを行う。タイマ回路２４のタイマ値が０であれば（ステップＳ２７のＹＥＳ）、カウンタ２５のカウンタ値を読み出し（ステップＳ２８）、モデルに対応したカウンタ２５の期待値（期待値下限、期待値上限）の情報を読み込み（ステップＳ２９）、当該期待値（期待値下限、期待値上限）の情報とカウンタ２５のカウンタ値と比較を行う（ステップＳ３０）。比較の結果が不一致であれば（ステップＳ３０のＮＯ）、動作を停止させる（ステップＳ３２）。比較の結果一致すれば（ステップＳ３０のＹＥＳ）、処理を続行する（ステップＳ３１）。
【００２０】
例えば、基準発振器２２が１０ＭＨｚ、発振器２３の動作クロック周波数が１０００ＭＨｚであり、カウンタ２５のカウンタ値のインクリメントに１クロックを要し、タイマ回路２４のタイマ値の読み出しに１クロックを要し、カウンタ２５が０かどうかを確認して分岐するのに１クロックを要すると仮定する。また、調速対象コマンド（調速処理を実行する対象命令）は、モデルＡの場合に１クロックで命令が終了し、モデルＢおよびモデルＣが調速モデルであって、それぞれ、４クロック、７クロックで命令が終了すると仮定する。
【００２１】
このとき、タイマ回路２４の初期値を１００、基準発振器２２の動作クロック周波数を１０ＭＨｚとすると、タイマ回路２４のタイマ値が０になるのに１０μＳ（＝１００ｎｓｅｃ×１００＝１００００ｎｓｅｃ）を要することになる。
【００２２】
発振器２３が動作クロック周波数１０００ＭＨｚ（動作クロック周期＝１ｎｓｅｃ）であるので、モデルＡでは、命令実行の所要時間が１クロック、カウンタ２５のカウンタ値のインクリメントの所要時間が１クロック、タイマ回路２４のタイマ値の読み出しの所要時間が１クロック、タイマ回路２４のタイマ値が０であるかの確認の所要時間が１クロックであるため、タイマ回路２４のタイマ値が０になったことを検出するまでに、調速対象コマンド（調速処理を実行する対象命令）を２５００回実行することになりカウンタ２５のカウンタ値は２５００となる。
【００２３】
一方モデルＢでは、命令実行の所要時間が４クロック、カウンタ２５のカウンタ値のインクリメントの所要時間が１クロック、タイマ回路２４のタイマ値の読み出しの所要時間が１クロック、タイマ回路２４のタイマ値が０であるかの確認の所要時間が１クロックであるため、タイマ回路２４のタイマ値が０になったことを検出するまでに、調速対象コマンド（調速処理を実行する対象命令）を１４２９回実行することになりカウンタ２５のカウンタ値は１４２９となる。
【００２４】
同様にモデルＣでは、命令実行の所要時間が７クロック、カウンタ２５のカウンタ値のインクリメントの所要時間が１クロック、タイマ回路２４のタイマ値の読み出しの所要時間が１クロック、タイマ回路２４のタイマ値が０であるかの確認の所要時間が１クロックであるため、タイマ回路２４のタイマ値が０になったことを検出するまでに、調速対象コマンド（調速処理を実行する対象命令）を１０００回実行することになりカウンタ２５のカウンタ値は１０００となる。
【００２５】
本実施の形態では、期待値（期待値下限、期待値上限）の情報は、動作許容範囲のマージンを持った値を設定することにより、期待する範囲内で動作していることを確認できる。
【００２６】
なお、本発明が上記実施の形態に限定されず、本発明の技術思想の範囲内において、実施の形態は適宜変更され得ることは明らかである。また上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。また、各図において、同一構成要素には同一符号を付している。
【００２７】
【発明の効果】
本発明は以上のように構成されているので、期待したクロック数で調速対象コマンドが動作していることが確認でき、その結果、誤った性能値でプロセッサが動作することが防止できるようになるといった効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係るプロセッサの構成を説明するための機能ブロック図である。
【図２】本発明の一実施の形態に係るプロセッサ調速方法を説明するためのフローチャートである。
【符号の説明】
１０…命令実行部
１１…リセット信号
１２…スタート信号
１３…カウントアップ信号
１６…モデル名取得実行コマンド
１７…検索コマンド
２２…基準発振器
２３…発振器
２４…タイマ回路
２５…カウンタ
２６…期待値テーブル
４０…プロセッサ
【図１】
0003921319.tif 000002
【図２】
0003921319.tif 000003