(57)【要約】      （修正有）【課題】半導体回路の動作速度が変化する場合に動作速度に応じて計数するクロック装置を提供する。【解決手段】中央演算処理装置１００は、動作クロック装置を内蔵し、自らが生成する動作クロック信号に基づいて動作する。動作クロック制御部１２０は、動作クロック信号を生成して命令処理部１１０に供給する。環境情報制御部１２１は、温度又は電力など、中央演算処理装置の動作環境を示す環境情報に基づいて動作クロック周波数を決定する。周波数設定レジスタ１２３は、環境情報制御部から取得した動作クロック情報を記憶する。クロック出力部１２４は、周波数設定レジスタが記憶する動作クロック情報を参照して、動作クロック情報が示す周波数の動作クロック信号を生成し命令処理部へ出力する。動作周波履歴集計部１３０は、クロック出力部が出力する動作クロック信号のクロック数を示す指標値を、環境情報制御部が決定した周波数毎に計数する。【選択図】図１
2018142112.tif 000002
【特許請求の範囲】
【請求項１】
クロック周波数を複数の周波数のいずれかに決定する周波数決定部と、
前記周波数決定部が決定した周波数のクロック信号を出力するクロック出力部と、
前記クロック出力部が出力するクロック信号のクロック数を示す指標値を、前記周波数決定部が決定した周波数毎に計数する計数部と、
を備えるクロック装置。
【請求項２】
前記クロック周波数の上限値を設定する上限値設定部を備え、
前記周波数決定部は、前記クロック周波数を前記上限値以下の周波数に決定する、
請求項１に記載のクロック装置。
【請求項３】
請求項１または請求項２に記載のクロック装置を備える中央演算処理装置。
【請求項４】
クロック周波数を複数の周波数のいずれかに決定し、決定した周波数のクロック信号を出力するクロック装置が出力するクロック信号のクロック数を示す指標値を、前記クロック装置が決定した周波数毎に計数する計数部を備える計数装置。
【請求項５】
クロック周波数を複数の周波数のいずれかに決定し、決定した周波数のクロック信号を出力するクロック装置が出力するクロック信号のクロック数を示す指標値を、前記クロック装置が決定した周波数毎に計数することを含む計数方法。
【請求項６】
コンピュータに、
クロック周波数を複数の周波数のいずれかに決定し、決定した周波数のクロック信号を出力するクロック装置が出力するクロック信号のクロック数を示す指標値を、前記クロック装置が決定した周波数毎に計数させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック装置、中央演算処理装置、計数装置、計数方法及びプログラムに関する。
【背景技術】
【０００２】
省電力制御機能など半導体回路の動作周波数を変更する機能を有する装置がある。かかる動作周波数の変更に関連して、特許文献１には、マルチプロセッサでプロセッサ毎に用意されるクロックサイクルカウンタのカウント値をプロセッサに共通の経過時刻に補正する、マルチプロセッサのカウント補正装置が示されている。このマルチプロセッサのカウント補正装置は、プロセッサ毎の動作周波数の変更を検知すると、周波数変更後の動作周波数及び周波数変更時のクロックサイクルカウント値に基づいて仮想時刻を導出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５２６７５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
半導体回路の動作周波数が変更されることで、半導体回路の動作速度が変化する。例えば、サーバ装置の利用時間による従量制課金でサービスを提供している場合、動作速度の変化を料金に反映できることが公平性の観点から好ましい。このように、半導体回路の動作速度が変化する場合に、動作速度に応じた処理を行えることが好ましい。
【０００５】
本発明は、上述の課題を解決することのできるクロック装置、中央演算処理装置、計数装置、計数方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、クロック装置は、クロック周波数を複数の周波数のいずれかに決定する周波数決定部と、前記周波数決定部が決定した周波数のクロック信号を出力するクロック出力部と、前記クロック出力部が出力するクロック信号のクロック数を示す指標値を、前記周波数決定部が決定した周波数毎に計数する計数部と、を備える。
【０００７】
本発明の第２の態様によれば、計数装置は、クロック周波数を複数の周波数のいずれかに決定し、決定した周波数のクロック信号を出力するクロック装置が出力するクロック信号のクロック数を示す指標値を、前記クロック装置が決定した周波数毎に計数する計数部を備える。
【０００８】
本発明の第３の態様によれば、計数方法は、クロック周波数を複数の周波数のいずれかに決定し、決定した周波数のクロック信号を出力するクロック装置が出力するクロック信号のクロック数を示す指標値を、前記クロック装置が決定した周波数毎に計数することを含む。
【０００９】
本発明の第４の態様によれば、プログラムは、コンピュータに、クロック周波数を複数の周波数のいずれかに決定し、決定した周波数のクロック信号を出力するクロック装置が出力するクロック信号のクロック数を示す指標値を、前記クロック装置が決定した周波数毎に計数させるためのプログラムである。
【発明の効果】
【００１０】
この発明によれば、半導体回路の動作速度が変化する場合に動作速度に応じた処理を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る中央演算処理装置の機能構成を示す概略ブロック図である。
【図２】動作クロック周波数の区別を行わずにクロック数を計数する中央演算処理装置の機能構成を示す概略ブロック図である。
【図３】本発明の実施形態に係るクロックカウンタが計数するクロック数の例を示す図である。
【図４】本発明の実施形態に係る中央演算処理装置が計数するサイクル数の例を示す図である。
【図５】本発明の実施形態に係る動作クロック周波数の上限値を設定可能な中央演算処理装置の機能構成を示す概略ブロック図である。
【図６】本発明に係るクロック装置の最小構成の例を示す図である。
【図７】本発明に係る計数装置の最小構成の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、本発明の実施形態に係る中央演算処理装置（Central Processing Unit；ＣＰＵ）の機能構成を示す概略ブロック図である。図１に示すように、中央演算処理装置１００は、命令処理部１１０と、動作クロック制御部１２０と、動作周波履歴制御部１３０とを備える。動作クロック制御部１２０は、環境情報制御部１２１と、クロック制御部１２２と、周波数設定レジスタ１２３と、クロック出力部１２４とを備える。動作周波履歴制御部１３０は、カウンタ制御部１３１と、積算カウンタ部１３２と、積算カウンタ１３３と、積算カウンタ１３４と、積算カウンタ１３５とを備える。
【００１３】
中央演算処理装置１００は、動作クロック装置を内蔵している。中央演算処理装置１００は、例えばコンピュータに搭載されて中央演算処理装置１００自らが生成する動作クロック信号に基づいて動作し、記憶デバイスからプログラムを読み出して実行する。
ここでいう動作クロック信号は、半導体回路の動作タイミングを示す信号として用いられるクロック信号である。動作クロック信号を単にクロック信号とも称する。
命令処理部１１０は、プログラム（命令列）を実行する機能を有する。
【００１４】
動作クロック制御部１２０は、動作クロック信号を生成して命令処理部１１０に供給する。
本実施形態では、中央演算処理装置１００の動作クロック周波数（動作クロック信号の周波数）が３段階に切替可能である場合を例に説明する。中央演算処理装置１００の動作クロック周波数を、周波数が高い順に「標準」、「低」、「極低」と称する。但し、中央演算処理装置１００の動作クロック周波数は、３段階に限らず２段階以上に切替可能であればよい。
【００１５】
環境情報制御部１２１は、温度又は電力など、中央演算処理装置１００の動作環境を示す環境情報を取得し、環境情報に基づいて動作クロック周波数を決定する。環境情報制御部１２１は周波数決定部の例に該当し、動作クロック周波数を上記の３段階の周波数のいずれかに決定する。
環境情報制御部１２１は、中央演算処理装置１００の動作中に温度情報又は消費電力情報が閾値を越えた場合、動作クロックを低下させて温度の上昇、もしくは電力の消費を抑制する。
【００１６】
例えば、環境情報制御部１２１は、環境情報として中央演算処理装置１００の温度を示す情報を取得し、第一閾値、及び、第一閾値よりも高温の第二閾値の２段階の閾値と中央演算処理装置１００の温度とを比較する。中央演算処理装置１００の温度が第一閾値以下である場合、環境情報制御部１２１は、動作クロック周波数を「標準」に決定する。中央演算処理装置１００の温度が第一閾値よりも高く、かつ、第二閾値以下である場合、環境情報制御部１２１は、動作クロック周波数を「低」に設定する。中央演算処理装置１００の温度が第二閾値よりも高い場合、環境情報制御部１２１は、動作クロック周波数を「極低」に決定する。
環境情報制御部１２１は、決定した周波数を示す動作クロック情報をクロック制御部１２２へ出力する。
【００１７】
クロック制御部１２２は、環境情報制御部１２１が決定した周波数の動作クロック信号を生成し、生成した動作クロック信号を命令処理部１１０に供給する。
周波数設定レジスタ１２３は、環境情報制御部１２１から取得した動作クロック情報を記憶する。
クロック出力部１２４は、周波数設定レジスタ１２３が記憶する動作クロック情報を参照して、動作クロック情報が示す周波数の動作クロック信号を生成する。これによりクロック出力部１２４は、環境情報制御部１２１が決定した周波数の動作クロック信号を出力する。
クロック出力部１２４は、生成した動作クロック信号を命令処理部１１０へ出力する。
【００１８】
周波数設定レジスタ１２３が周波数「標準」の動作クロック情報を記憶してクロック出力部１２４が周波数「標準」の動作クロック信号を出力している状態で、環境情報制御部１２１が周波数「低」に対応する環境情報を取得すると、環境情報制御部１２１はクロック制御部１２２に周波数「低」の動作クロック情報を出力する。クロック制御部１２２は、周波数設定レジスタ１２３が記憶している周波数「標準」の動作クロック情報を、周波数「低」の動作クロック情報に更新する。クロック出力部１２４は、更新された動作クロック情報に従って、周波数「低」の動作クロック信号を出力する。
動作クロック制御部１２０は、同様に周波数「低」から「極低」、「極低」から「低」、「低」から「標準」、「標準」から「極低」、「極低」から「標準」の切り替わりに対応する。
【００１９】
動作周波履歴制御部１３０は、計数部の例に該当し、クロック出力部１２４が出力する動作クロック信号のクロック数を示す指標値を、環境情報制御部１２１が決定した周波数毎に計数する。ここでいうクロック数を示す指標値は、クロック数を算出可能な値である。例えば、動作周波履歴制御部１３０がクロック数を計数するようにしてもよいし、サイクル数を計数するようにしてもよい。
【００２０】
ここでいうサイクルは、動作クロック信号の基準となるクロック信号のサイクルであり、具体的には周波数が「標準」のときの動作クロック信号のサイクルである。本実施形態では、周波数が「標準」のときの動作クロック信号に対して、周波数が「低」、「極低」のときの動作クロック信号は、周期がそれぞれ２倍、４倍になっている。従って、周波数が「標準」の場合、サイクル数がクロック数に等しい。周波数が「低」の場合、サイクル数を２で割った商がクロック数に等しい。周波数が「極低」の場合、サイクル数を４で割った商がクロック数に等しい。
以下では、動作周波履歴制御部１３０がサイクル数を計数する場合を例に説明する。
【００２１】
カウンタ制御部１３１は一定のクロックで動作して積算カウンタ部１３２を制御し、クロック出力部１２４が出力する動作クロック信号のクロック数の指標値としてサイクル数を、環境情報制御部１２１が決定した周波数毎に計数させる。
積算カウンタ部１３２は、カウンタ制御部１３１の制御に従って、クロック出力部１２４が出力する動作クロック信号のクロック数の指標値としてサイクル数を、環境情報制御部１２１が決定した周波数毎に計数する。
【００２２】
積算カウンタ１３３は、クロック出力部１２４が出力する動作クロック信号に対応するサイクル数のうち、周波数が「標準」の場合のサイクル数を計数する。積算カウンタ１３４は、クロック出力部１２４が出力する動作クロック信号に対応するサイクル数のうち、周波数が「低」の場合のサイクル数を計数する。積算カウンタ１３５は、クロック出力部１２４が出力する動作クロック信号に対応するサイクル数のうち、周波数が「極低」の場合のサイクル数を計数する。
積算カウンタ１３３、積算カウンタ１３４及び積算カウンタ１３５は、ソフトウェアビジブルレジスタであってもよい。ここで言うソフトウェアビジブルレジスタは、ソフトウェアから読み出し可能なレジスタである。
【００２３】
このように、動作周波履歴制御部１３０が中央演算処理装置１００の動作クロック信号のクロック数を示す指標値を周波数毎に集計することで、周波数毎の処理が可能になる。例えば、中央演算処理装置１００を備えるサーバ装置のユーザに従量制の課金を行う場合、周波数毎の使用時間に応じて課金することで、単純な使用時間に応じて課金する場合よりも公平性を高めることができる。
【００２４】
ここで、中央演算処理装置１００との比較のために、動作クロック周波数の区別を行わずにクロック数を計数する中央演算処理装置について説明する。
図２は、動作クロック周波数の区別を行わずにクロック数を計数する中央演算処理装置の機能構成を示す概略ブロック図である。図２に示すように、中央演算処理装置９００は、命令処理部９１０と、動作クロック制御部９２０とを備える。命令処理部９１０は、クロックカウンタ９１１を備える。動作クロック制御部９２０は環境情報制御部９２１と、クロック制御部９２２とを備える。クロック制御部９２２は、周波数設定レジスタ９２３と、クロック出力部９２４とを備える。
【００２５】
中央演算処理装置１００が、動作クロック周波数毎にサイクル数を計数するのに対し、中央演算処理装置９００は、動作クロック周波数の区別を行わずにクロック数を計数する。それ以外の点では、中央演算処理装置９００は、中央演算処理装置１００と同様である。
動作クロック制御部９２０は、動作クロック制御部１２０と同様、動作クロック信号を生成して命令処理部９１０に供給する。動作クロック制御部９２０の各部の機能は、動作クロック制御部１２０の各部の機能と同様である。
命令処理部９１０は、命令処理部１１０と同様、プログラムを実行する機能を有する。一方、命令処理部９１０は、クロックカウンタ９１１を備える点で命令処理部１１０と異なる。
【００２６】
クロックカウンタ９１１はクロック出力部９２４が出力する動作クロック信号のクロック数を計数する。クロック出力部９２４がクロック出力部１２４と同様に動作クロック信号を３段階の周波数で出力するのに対し、クロックカウンタ９１１は、周波数を区別せずに動作クロック信号の１サイクルごとにカウントアップすることでクロック数を計数する。
クロックカウンタ９１１は、ソフトウェアビジブルレジスタであってもよい。
クロックカウンタ９１１が計数するクロック数は、例えば中央演算処理装置９００を備えるサーバ装置のユーザへの課金、又は、パフォーマンスモニタ等の用途に用いられる。
【００２７】
図３は、クロックカウンタ９１１が計数するクロック数の例を示す図である。図３の上側には、クロック出力部９２４が「標準」の周波数のままクロック信号を出力した場合の例を示している。下側には、クロック出力部９２４が周波数を「標準」から「低」に切り替え、さらに「極低」に切り替えた場合の例を示している。この例では、時刻ｔ４に動作クロック周波数が「標準」から「低」に切り替わっている。さらに、時刻ｔ１０に動作クロック周波数が「低」から「極低」に切り替わっている。
【００２８】
上側の例と下側の例とを比較すると、クロック数はいずれも９（０〜８）である。一方、９クロックに要した動作時間は、上側の例で９単位時間（時刻ｔ０〜時刻ｔ８）であるのに対し、下側の例では１８単位時間（時刻ｔ０〜時刻ｔ１７）と、上側の例の２倍の時間を要している。
上側の例と下側の例とで中央演算処理装置９００に同一の処理を行わせた場合、上側の例の方が処理速度（動作速度）が速い。この点から、上側の例における課金を下側の例における課金よりも高額にすることが、公平性が高いと考えられる。
ところが、図２に示す構成では、中央演算処理装置９００は、上側の例、下側の例のいずれでもクロック数を９と計数する。このため、上側の例と下側の例とで課金に差をつけることができない。
【００２９】
図４は、中央演算処理装置１００が計数するサイクル数の例を示す図である。図４では、動作クロック周波数が「標準」から「低」、「標準」、「低」、「極低」の順に切り替わった場合の例を示している。
例えば、周波数設定レジスタ１２３が「標準」を示した時刻ｔ０の次のサイクル（時刻ｔ１）で積算カウンタ１３３がカウントアップされている。周波数設定レジスタ１２３が「低」を示した時刻ｔ４の次のサイクル（時刻ｔ５）で積算カウンタ１３４がカウントアップされている。周波数設定レジスタ１２３が「極低」を示した時刻ｔ１１次のサイクル（時刻ｔ１２）で積算カウンタ１３５がカウントアップされている。
【００３０】
上記のように、積算カウンタ１３３〜１３５はソフトウェアビジブルレジスタとなっている。ユーザの実行プログラムの開始タイミング（時刻ｔ０）と終了タイミング（時刻ｔ１５）の差分をみることで、実行プログラムがどの動作クロック周波数で何サイクル動作していたかを知ることができる。図４の例では最終的な積算カウンタ１３３の差分が「７」、積算カウンタ１３４の差分が「５」、積算カウンタ１３５の差分が「４」となる。これらの値から、周波数が「標準」のサイクルが７サイクル、電力制御のために性能低下しているサイクルが、積算カウンタ１３４、積算カウンタ１３５の合計値９サイクルあったことを知ることができる。
【００３１】
以上のように、環境情報制御部１２１は、クロック周波数を複数の周波数のいずれかに決定する。クロック出力部１２４は、環境情報制御部１２１が決定した周波数のクロック信号を出力する。動作周波履歴制御部１３０は、クロック出力部１２４が出力するクロック信号のクロック数を示す指標値を、環境情報制御部１２１が決定した周波数毎に計数する。
【００３２】
このように、動作周波履歴制御部１３０が周波数毎にクロック数を示す指標値を計数することで、半導体回路の動作速度が変化する場合に動作速度に応じた処理を行うことができる。ここでいう半導体回路は、クロック信号に基づいて動作し、クロック信号の変化に対応可能なものであればよい。例えば、ここでいう半導体回路はＣＰＵであってもよいが、これに限定されない。
【００３３】
半導体回路の動作速度に応じた処理の例として、省電力制御の影響を考慮したプログラムの性能測定が挙げられる。ユーザは、プログラム実行時の動作レベルの情報を得ることができ、プログラム実行時の性能値とあわせ、動作レベルの情報も評価の指標として使用できる。プログラムの実行時の性能値として、例えば単位時間あたりの演算量及び実行時間を用いることができる。
【００３４】
また、ここでいう動作レベルは、環境情報制御部１２１が設定する動作クロック周波数の候補である。例えば、環境情報制御部１２１が動作クロック周波数を「標準」、「低」、「極低」の３段階に設定する場合、これら３段階の周波数の各々が動作レベルに該当する。
例えば、チューニングしたプログラムＡとＢとで実行時間は同等であったが、動作レベルはＡの方が低かった場合、プログラムＡのチューニングほうが良好と判断することができる。
【００３５】
半導体回路の動作速度に応じた処理のもう１つの例として、省電力制御の影響を考慮した課金方法が挙げられる。時間による定量課金方法で運用するシステムにて、省電力制御の影響で性能低下が発生すると同一プログラムの実行でも料金が変わってきてしまうことが想定される。時間の他に動作レベルも課金計算の考慮に入れることで平等性の高い課金方法を実現できる。
【００３６】
例えば、式（１）を用いて課金用カウント値を計算することができる。
課金用カウント値  ＝  Ａ×（周波数が「標準」のときのサイクル数）
＋  Ｂ×（周波数が「低」のときのサイクル数）
＋  Ｃ×（周波数が「低」のときのサイクル数）  ・・・  （１）
ここで、Ａ、Ｂ、Ｃはいずれも係数であり、Ａ＞Ｂ＞Ｃである。
【００３７】
上述したように、動作クロック周波数は３段階に限らず２段階以上であればよい。また、動作クロック周波数が、「極高」、「高」、「標準」、「低」、「極低」など、標準より周波数が上がる方向にも設定されていてもよい。
なお、積算カウンタ部１３２を、ハードウェアカウンタを用いて実装するようにしてもよいし、ソフトウェアで実現するようにしてもよい。積算カウンタ部１３２をソフトウェアで実現する場合、動作クロック制御部１２０の周波数設定レジスタ１２３をソフトウェアビジブルレジスタとし、周波数設定レジスタ１２３の値をプログラムにて定期的に読み込む。そして、システムタイマに連動したカウントタイミングで周波数設定レジスタ１２３の値に対応した変数に値をカウントしていくことで積算カウンタ部１３２を実現できる。
【００３８】
ユーザが動作クロック周波数の上限値を設定できるようにしてもよい。
図５は、動作クロック周波数の上限値を設定可能な中央演算処理装置の機能構成を示す概略ブロック図である。図５に示すように、中央演算処理装置２００は、命令処理部１１０と、動作クロック制御部２２０と、動作周波履歴制御部１３０とを備える。動作クロック制御部２２０は、環境情報制御部１２１と、クロック制御部１２２と、周波数設定レジスタ１２３と、クロック出力部１２４と、動作レベル上限設定レジスタ２２５とを備える。動作周波履歴制御部１３０は、カウンタ制御部１３１と、積算カウンタ部１３２と、積算カウンタ１３３と、積算カウンタ１３４と、積算カウンタ１３５とを備える。
【００３９】
図５の各部のうち図１の各部に対応して同様の機能を有する部分には同一の符号（１１０、１２１〜１２４、１３０〜１３５）を付して説明を省略する。
中央演算処理装置２００では、動作クロック制御部２２０が動作レベル上限設定レジスタ２２５を備える点で中央演算処理装置１００と異なる。それ以外の点は、中央演算処理装置１００と同様である。
動作レベル上限設定レジスタ２２５は、上限値設定部の例に該当し、動作クロック周波数（動作クロック信号の周波数）の上限値を設定する。例えば、動作レベル上限設定レジスタ２２５は、ユーザ操作にて入力された周波数を動作クロック周波数の上限値として設定する。
【００４０】
動作レベル上限設定レジスタ２２５による上限値の設定を受けて、環境情報制御部１２１は、動作クロック周波数を上限値以下の周波数に決定する。具体的には、環境情報制御部１２１は、環境情報に基づいて決定した動作クロック周波数が、上限値以下である場合は、決定した動作クロック周波数をそのまま採用する。一方、環境情報に基づいて決定した動作クロック周波数が上限値より大きい場合、環境情報制御部１２１は、上限値（あるいは、上限値以下の動作クロック周波数選択候補のうち上限値に最も近いもの）を動作クロック周波数として採用する。
あるいは、環境情報制御部１２１が、動作開始時の動作クロック周波数を上限値に設定し、その後の更新タイミングで、上記のように環境情報に基づいて上限値以下の動作クロック周波数を設定するようにしてもよい。
【００４１】
以上のように、動作レベル上限設定レジスタ２２５は、動作クロック周波数の上限値を設定する。環境情報制御部１２１は、動作クロック周波数を、動作レベル上限設定レジスタ２２５が設定した上限値以下の周波数に決定する。
これによりユーザは、プログラム等の性能比較をより容易に行うことができる。例えば、プログラムチューニングの確認などの用途で安定した環境で性能の比較を行いたい場合、ユーザは最も低い動作レベルを上限値に設定することで、中央演算処理装置２００に一定の動作クロック周波数でプログラムを実行させることができる。これにより、中央演算処理装置２００に複数のプログラムを同じ動作クロック周波数で実行させることができ、この点でプログラムの性能の比較を容易に行うことができる。
【００４２】
また、ユーザは動作クロック周波数の上限値を設定することで、中央演算処理装置２００を利用する用途に応じて処理速度及び課金を選択することができる。処理速度を求める場合、ユーザは、上限値を高く設定することで高い動作クロック周波数での高速な処理の提供を受けることができる。一方、処理速度を求めない場合、ユーザは上限値を低く設定することで、課金を比較的安く抑えることができる。
【００４３】
次に、図６及び図７を参照して、本発明の最小構成について説明する。
図６は、本発明に係るクロック装置の最小構成の例を示す図である。図６に示すクロック装置１０は、周波数決定部１１と、クロック出力部１２と、計数部１３とを備える。
かかる構成にて、周波数決定部１１は、クロック周波数を複数の周波数のいずれかに決定する。クロック出力部１２は、前記周波数決定部が決定した周波数のクロック信号を出力する。計数部１３は、クロック出力部１２が出力するクロック信号のクロック数を示す指標値を、周波数決定部１１が決定した周波数毎に計数する。
このように、計数部１３が周波数毎にクロック数を示す指標値を計数することで、半導体回路の動作速度が変化する場合に動作速度に応じた処理を行うことができる。
【００４４】
図７は、本発明に係る計数装置の最小構成の例を示す図である。図６に示す計数装置２０は、計数部２１を備える。
かかる構成にて、計数部２１は、クロック周波数を複数の周波数のいずれかに決定し、決定した周波数のクロック信号を出力するクロック装置が出力するクロック信号のクロック数を示す指標値を、クロック装置が決定した周波数毎に計数する。
このように、計数部２１が周波数毎にクロック数を示す指標値を計数することで、半導体回路の動作速度が変化する場合に動作速度に応じた処理を行うことができる。
【００４５】
なお、中央演算処理装置１００及び２００の機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより中央演算処理装置１００及び２００の機能の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００４６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００４７】
１００、２００  中央演算処理装置
１１０  命令処理部
１２０、２２０  動作クロック制御部
１２１  環境情報制御部
１２２  クロック制御部
１２３  周波数設定レジスタ
１２４  クロック出力部
１３０  動作周波履歴制御部
１３１  カウンタ制御部
１３２  積算カウンタ部
１３３、１３４、１３５  積算カウンタ
２２５  動作レベル上限設定レジスタ
【図１】
2018142112.tif 000003
【図２】
2018142112.tif 000004
【図３】
2018142112.tif 000005
【図４】
2018142112.tif 000006
【図５】
2018142112.tif 000007
【図６】
2018142112.tif 000008
【図７】
2018142112.tif 000009