(57)【要約】【課題】周波数情報の制御を容易に行うことができる半導体装置を提供することを課題とする。【解決手段】半導体装置は、半導体装置が有する回路に発振したクロックを供給する発振部（１０２）と、発振部が供給する周波数の設定を表す周波数情報と、周波数情報を識別する周波数識別情報との組を複数記憶するとともに、入力する周波数識別情報に基づいて、複数の周波数情報のいずれかを発振部に出力する周波数設定情報記憶部（１２４）と、半導体装置の速度を表す速度識別情報と、速度識別情報に対応する周波数識別情報とを記憶する速度設定情報記憶部（１１４）と、周波数設定情報記憶部に入力する周波数識別情報の値を保持する周波数識別情報計数部（１２２）と、速度設定情報記憶部に記憶された周波数識別情報の値に近づくように、保持された周波数識別情報の値を、周波数識別情報計数部に増分又は減分させる制御部（１２１）を有する。【選択図】図１
2013196619.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置が有する回路に発振したクロックを供給する発振部と、
前記発振部が供給する周波数の設定を表す周波数情報と、前記周波数情報を識別する周波数識別情報との組を複数記憶するとともに、入力する周波数識別情報に基づいて、複数の前記周波数情報のいずれかを前記発振部に出力する周波数設定情報記憶部と、
前記半導体装置の速度を表す速度識別情報と、前記速度識別情報に対応する周波数識別情報とを記憶する速度設定情報記憶部と、
前記周波数設定情報記憶部に入力する周波数識別情報の値を保持する周波数識別情報計数部と、
前記速度設定情報記憶部に記憶された周波数識別情報の値に近づくように、保持された前記周波数識別情報の値を、前記周波数識別情報計数部に増分又は減分させる制御部を有することを特徴とする半導体装置。
【請求項２】
前記速度設定情報記憶部はさらに、
前記速度識別情報に対応する電圧識別情報を記憶し、
前記半導体装置はさらに、
前記回路に電圧を供給する電源部と、
前記電源部が供給する電圧の設定を表す電圧情報と、前記電圧情報を識別する電圧識別情報との組を複数記憶するとともに、入力する電圧識別情報に基づいて、複数の前記電圧情報のいずれかを前記電源部に出力する電圧設定情報記憶部と、
前記速度設定情報記憶部に入力する電圧識別情報の値を保持する電圧識別情報計数部とを有し、
前記制御部はさらに、
前記速度設定情報記憶部に記憶された電圧識別情報の値に近づくように、保持された前記電圧識別情報の値を、前記電圧識別情報計数部に増分又は減分させることを特徴とする請求項１記載の半導体装置。
【請求項３】
前記半導体装置はさらに、
前記速度設定情報記憶部に記憶された周波数識別情報の値と、前記周波数識別情報計数部に保持された周波数識別情報の値とを比較する周波数識別情報比較部を有し、
前記制御部は、
前記周波数識別情報比較部の比較結果に基づき、保持された前記周波数識別情報の値を、前記周波数識別情報計数部に増分又は減分させることを特徴とする請求項１又は２記載の半導体装置。
【請求項４】
前記半導体装置はさらに、
前記速度設定情報記憶部に記憶された電圧識別情報の値と、前記電圧識別情報計数部に保持された電圧識別情報の値とを比較する電圧識別情報比較部を有し、
前記制御部は、
前記電圧識別情報比較部の比較結果に基づき、保持された前記電圧識別情報の値を、前記電圧識別情報計数部に増分又は減分させることを特徴とする請求項２記載の半導体装置。
【請求項５】
発振部が供給する周波数の設定を表す周波数情報と前記周波数情報を識別する周波数識別情報との組を複数記憶する周波数設定情報記憶部と、半導体装置の速度を表す速度識別情報と前記速度識別情報に対応する周波数識別情報とを記憶する速度設定情報記憶部と、前記周波数設定情報記憶部に入力する周波数識別情報の値を保持する周波数識別情報計数部とを有する半導体装置の制御方法において、
前記半導体装置が有する発振部が、前記半導体装置が有する回路に発振したクロックを供給し、
入力する周波数識別情報に基づいて、前記半導体装置が有する周波数設定情報記憶部が、記憶した複数の前記周波数情報のいずれかを前記発振部に出力し、
前記半導体装置はさらに、前記速度設定情報記憶部に記憶された周波数識別情報の値に近づくように、保持された前記周波数識別情報の値を、前記周波数識別情報計数部に増分又は減分させる制御部を有することを特徴とする半導体装置の制御方法。
【請求項６】
前記半導体装置はさらに、
前記回路に電圧を供給する電源部と、
前記電源部が供給する電圧の設定を表す電圧情報と、前記電圧情報を識別する電圧識別情報との組を複数記憶するとともに、入力する電圧識別情報に基づいて、複数の前記電圧情報のいずれかを前記電源部に出力する電圧設定情報記憶部と、
前記速度設定情報記憶部に入力する電圧識別情報の値を保持する電圧識別情報計数部とを有し、
前記速度設定情報記憶部はさらに、
前記速度識別情報に対応する電圧識別情報を記憶し、
前記制御部はさらに、
前記速度設定情報記憶部に記憶された電圧識別情報の値に近づくように、保持された前記電圧識別情報の値を、前記電圧識別情報計数部に増分又は減分させることを特徴とする請求項５記載の半導体装置の制御方法。
【請求項７】
前記半導体装置はさらに、
前記速度設定情報記憶部に記憶された周波数識別情報の値と、前記周波数識別情報計数部に保持された周波数識別情報の値とを比較する周波数識別情報比較部を有し、
前記制御部は、
前記周波数識別情報比較部の比較結果に基づき、保持された前記周波数識別情報の値を、前記周波数識別情報計数部に増分又は減分させることを特徴とする請求項５又は６記載の半導体装置の制御方法。
【請求項８】
前記半導体装置はさらに、
前記速度設定情報記憶部に記憶された電圧識別情報の値と、前記電圧識別情報計数部に保持された電圧識別情報の値とを比較する電圧識別情報比較部を有し、
前記制御部は、
前記電圧識別情報比較部の比較結果に基づき、保持された前記電圧識別情報の値を、前記電圧識別情報計数部に増分又は減分させることを特徴とする請求項６記載の半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及び半導体装置の制御方法に関する。
【背景技術】
【０００２】
電力を制御する電力制御回路と、電力制御回路を制御する回路制御部とを備え、電力制御回路は、所定の電力の値を設定する電力設定フィールドと、電力を制御する電力制御部と、電力制御部が電力の制御を実施している状態であることを示す有効状態を設定する制御有効フィールドとを備えた電力制御装置において以下の制御を行う技術が知られている（例えば、特許文献１参照）。すなわち、制御有効フィールドが有効状態に設定されている場合に、電力制御部が電力の制御を実行し、電力制御回路の外部から電力制御回路へ所定の動作が実施された場合に、回路制御部が制御有効フィールドを有効状態に設定するとともに、電力設定フィールドへ設定された電力の値に電力が到達するまで、所定の動作を停止させる。
【０００３】
また、電源供給部と、クロック信号発生部と、演算処理コア部を含む演算処理回路と、通常モードと省電力モードとの移行処理を制御する省電力制御部とを備えた電子機器において以下の制御を行う技術が知られている（例えば、特許文献２参照）。すなわち、省電力制御部が、省電力モードへの移行の際に、クロック信号発生部に対するクロック周波数ダウン信号を有効にし、第１の時間経過後に、電源供給部に対する電圧ダウン信号を有効にする。そして、クロック周波数ダウン信号が有効になると、クロック信号発生部が、演算処理回路に供給するクロックの周波数を第１の周波数からそれより低い第２の周波数に徐々に変化させる。さらに、電圧ダウン信号が有効になると、電源供給部が、演算処理回路の演算処理コア部に供給する電圧を第１の電圧からそれより低い第２の電圧に落とす。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１５０２８３号公報
【特許文献２】特開２００８−１０７９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＰＬＬ（Phase Locked Loop）設定レジスタに設定された周波数パラメータにより、ＰＬＬが発振するクロック信号の周波数を制御し、電圧制御レジスタに設定された電圧パラメータによりプロセッサ内部の電圧を制御するプロセッサが知られている。近年、サーバ等の情報処理装置に実装されるプロセッサ数の増加に伴い、情報処理装置全体の省電力化が要求されており、情報処理装置に含まれる個々のプロセッサの消費電力を低減することがプロセッサの技術分野における課題となっている。プロセッサ等の半導体装置の消費電力は、半導体装置内部の回路に供給される電源電圧の２乗と周波数との積に比例することが一般に知られている。したがって、プロセッサの消費電力を低減するため、周波数及び電圧を適切に制御することが望まれている。しかし、プロセッサの種類及びプロセッサを製造する半導体プロセスのばらつきにより生じる個体差により、プロセッサ毎に適切な周波数パラメータ及び電圧パラメータが異なる。そのため、周波数パラメータ及び電圧パラメータを適切に制御するためには、プロセッサの種類及び半導体プロセスのばらつきを吸収するように複雑な制御を行うソフトウェアが必要となる。
【０００６】
１つの側面では、本発明の目的は、周波数情報の制御を容易に行うことができる半導体装置及び半導体装置の制御方法を提供することである。
【課題を解決するための手段】
【０００７】
半導体装置は、半導体装置が有する回路に発振したクロックを供給する発振部と、前記発振部が供給する周波数の設定を表す周波数情報と、前記周波数情報を識別する周波数識別情報との組を複数記憶するとともに、入力する周波数識別情報に基づいて、複数の前記周波数情報のいずれかを前記発振部に出力する周波数設定情報記憶部と、前記半導体装置の速度を表す速度識別情報と、前記速度識別情報に対応する周波数識別情報とを記憶する速度設定情報記憶部と、前記周波数設定情報記憶部に入力する周波数識別情報の値を保持する周波数識別情報計数部と、前記速度設定情報記憶部に記憶された周波数識別情報の値に近づくように、保持された前記周波数識別情報の値を、前記周波数識別情報計数部に増分又は減分させる制御部を有する。
【発明の効果】
【０００８】
対象となる半導体装置について、速度識別情報を与えるだけで、周波数情報の制御を容易に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態による半導体装置の構成例を示す図である。
【図２】図２（Ａ）は図１の周波数テーブルの例を示す図であり、図２（Ｂ）は図１の電圧テーブルの例を示す図である。
【図３】図３（Ａ）及び（Ｂ）は図１の要求レベルレジスタを説明するための図である。
【図４】図４（Ａ）〜（Ｃ）は図１の速度レベルテーブルの例を示す図である。
【図５】図１の制御部が制御する状態遷移を示す図である。
【図６】図５の比較状態から次の状態への遷移を説明するための図である。
【図７】図１の演算処理装置の制御例を示すタイムチャートである。
【発明を実施するための形態】
【００１０】
図１は、実施形態による半導体装置の構成例を示す図である。演算処理装置１０１は、例えばプロセッサであり、位相ロックループ（ＰＬＬ：Phase Locked Loop）回路１０２、実行部１０４、要求レベルレジスタ１１１、目標レベルレジスタ１１２、現在レベルレジスタ１１３、速度レベルテーブル１１４、不揮発性メモリ１１５、速度レベルセレクタ１１６、比較器１１７、制御部１１８、周波数比較器１１９、電圧比較器１２０、判定部１２１、周波数カウンタ１２２、電圧カウンタ１２３、周波数テーブル１２４、周波数セレクタ１２５、電圧テーブル１２６及び電圧セレクタ１２７を有する。演算処理装置１０１には、メモリ１０５及び電圧レギュレータ１０３が接続される。
【００１１】
演算処理装置１０１は、周波数パラメータを位相ロックループ回路１０２に入力して周波数の設定を行うとともに、電圧パラメータを電圧レギュレータ１０３に入力して電圧の設定を行う。位相ロックループ回路１０２は、入力した周波数パラメータに応じた周波数のクロック信号ＣＫを生成し、実行部１０４に出力する。実行部１０４は、クロック信号ＣＫに同期し、メモリ１０５に記憶されているプログラム（オペレーティングシステム（ＯＳ：Operating System）を含む）を実行し、種々の処理を行う。電圧レギュレータ１０３は、入力した電圧パラメータに応じた大きさの電圧Ｖ１を生成し、実行部１０４に出力する。実行部１０４は、電圧Ｖ１の供給を受けて動作する。演算処理装置１０１は、周波数パラメータによりクロック信号ＣＫの周波数を制御し、電圧パラメータにより電圧Ｖ１の大きさを制御することができる。
【００１２】
ここで、仮に、実行部１０４がプログラムの実行により、位相ロックループ回路１０２の周波数パラメータ及び電圧レギュレータ１０３の電圧パラメータを制御する場合における課題を説明する。
【００１３】
近年、プロセッサやＡＳＩＣ（Application Specific Integrated Circuit）を含むＳｏＣ（System on Chip）等の半導体装置の分野においては、半導体を企画・設計するユーザーメーカーと半導体を製造する半導体ファウンドリとの分業体制により、半導体装置を協働して製造することが行われている。ユーザーメーカーと半導体ファウンドリとの分業体制により半導体装置を製造する場合には、位相ロックループ回路１０２は、演算処理装置１０１に内蔵され、半導体ファウンドリからユーザーメーカーに提供されるが、標準化されたインターフェースが無く、半導体ファウンドリ毎に周波数パラメータの種類及び値が異なる。また、同一半導体ファウンドリでも位相ロックループ回路１０２の種類及び半導体プロセスの世代によって、周波数パラメータの種類及び値が異なっているため、新しい位相ロックループ回路１０２を採用した演算処理装置１０１を提供する場合には、まず、プログラムによって位相ロックループ回路１０２の対応を行う必要があり、新しい演算処理装置１０１を容易に提供できなくなる。
【００１４】
また、電圧Ｖ１の変更は、業界標準のインターフェース（ＶＩＤ）を用いて行われる。電圧レギュレータ１０３は、演算処理装置１０１がクロック信号ＣＫの周波数で動作するために適切な電圧Ｖ１を生成する必要がある。その適切な電圧Ｖ１の設定値は、演算処理装置１０１の製造時に各種試験において決定される演算処理装置１０１のチップ個体毎に異なる値のため、プログラムはチップ毎の適切な電圧パラメータを知り、チップ毎に電圧パラメータを変える必要がある。
【００１５】
また、プロセッサの動作中に、クロック信号ＣＫの周波数を段階的ではなく大きく変更すると、負荷が大きく変動する結果、大きな電源ノイズとなる。また、電圧を段階的ではなく大きく変更すると、電源が不安定となり、プロセッサ内部の回路の動作が安定しなくなる。そのため、周波数及び／又は電圧を変更する場合には、目標となる値に一気に変更するのではなく、段階的に変更していき、目標の値になるように制御する必要がある。
【００１６】
また、周波数及び／又は電圧の変更は、１回の変更にμｓからｍｓオーダーの時間が必要となる。この処理を演算処理装置１０１上で動作するプログラムで行った場合には、周波数又は電圧の変更、そして変更の完了待ちの操作を繰り返し行うことになり、演算処理装置１０１の処理能力を無駄に消費する。また、１回にどの程度変更して良いかは、演算処理装置１０１と電源の設計に依存するため、変更対象である演算処理装置１０１のハードウェアに依存したプログラムになってしまう。
【００１７】
以下、上記の課題を解決するための実施形態を説明する。図２（Ａ）は、図１の周波数テーブル１２４の例を示す図であり、１６ステップで０．１ＧＨｚ単位の周波数を制御可能である。周波数テーブル１２４は、複数組みの「０」〜「１５」の周波数識別番号（周波数ＩＤ：Identification）及び「０．１」ＧＨｚ〜「１．６」ＧＨｚの周波数パラメータの対応関係を周波数順かつ周波数識別番号順に記憶する。周波数パラメータは、位相ロックループ回路１０２により生成されるクロック信号ＣＫの周波数を制御するためのデジタルコードである。例えば、周波数識別番号の「０」は、０．１ＧＨｚの周波数の周波数パラメータに対応付けられて記憶され、周波数識別番号の「１」は、０．２ＧＨｚの周波数の周波数パラメータに対応付けられて記憶される。以下同様に、周波数テーブル１２４の周波数パラメータは、「０」〜「１５」の周波数識別番号順、かつ「０．１」ＧＨｚ〜「１．６」ＧＨｚの周波数順に記憶されている。その順番は、昇順でも降順でもよい。
【００１８】
図２（Ｂ）は、図１の電圧テーブル１２６の例を示す図であり、３２ステップで０．０５Ｖ単位の電圧を制御可能である。電圧テーブル１２６は、複数組みの「０」〜「３１」の電圧識別番号（電圧ＩＤ：Identification）及び「０．２０」Ｖ〜「１．７５」Ｖの電圧パラメータの対応関係を電圧順かつ電圧識別番号順に記憶する。電圧パラメータは、電圧レギュレータ１０３により生成される電圧Ｖ１の値を制御するためのデジタルコードである。例えば、電圧識別番号の「０」は、０．２０Ｖの電圧の電圧パラメータに対応付けられて記憶され、電圧識別番号の「１」は、０．２５Ｖの電圧の電圧パラメータに対応付けられて記憶される。以下同様に、電圧テーブル１２６の電圧パラメータは、「０」〜「３１」の電圧識別番号順、かつ「０．２０」Ｖ〜「１．７５」Ｖの電圧順に記憶されている。その順番は、昇順でも降順でもよい。
【００１９】
上記の周波数テーブル１２４及び電圧テーブル１２６は、一部を変更可能なレジスタで構成し、その他の部分を電源電位ノード又はグランド電位ノード（接地ノード）への単純な接続による固定値になるように構成してもよい。変更することがない周波数テーブル１２４及び電圧テーブル１２６の一部の固定値を簡単な構成で実現でき、周波数及び電圧の変更範囲を広くしても、回路規模を小さくすることができる。
【００２０】
すなわち、周波数テーブル１２４の周波数識別番号と周波数パラメータの関係及び電圧テーブル１２６の電圧識別番号と電圧パラメータの関係は、演算処理装置１０１の設計段階で決定しており、ＰＬＬ１０２に対する各周波数パラメータの具体的な値及び電圧レギュレータに対する各電圧パラメータの具体的な値に関しても設計段階で確定するものが多い。したがって、各周波数パラメータと各電圧パラメータの大部分を更新可能なレジスタでなく、電源電位ノード又はグランド電位ノードへの単純な接続によって構成し、製造後に調整が必要なパラメータのみを更新可能なレジスタで構成することによって、回路面積を削減することができる。
【００２１】
図１において、実行部１０４は、メモリ１０５に記憶されているプログラムを実行することにより、システム動作時における標準の動作周波数を１００％とした場合における周波数の増減率である速度レベルについて、要求する速度レベルを要求レベルレジスタ１１１に書き込む。実行部１０４は、要求レベルレジスタ１１１に速度レベルを書き込むだけで、位相ロックループ回路１０２の周波数パラメータ及び電圧レギュレータ１０３の電圧パラメータの制御が可能になる。
【００２２】
要求レベルレジスタ１１１は、実行部１０４により要求された速度レベルを記憶する。目標レベルレジスタ１１２は、制御部１１８がアイドル状態で、且つ要求レベルレジスタ１１１と現在レベルレジスタ１１３を比較器１１７で比較した結果、要求レベルレジスタ１１１に保持された速度レベルと現在レベルレジスタ１１３に保持された速度レベルが異なる場合に、制御部をアイドル状態から制御状態に遷移させ、制御状態中の目標の速度レベルとして、制御を開始した時点の要求レベルレジスタ１１１の速度レベルを記憶する。制御部１１８がアイドル状態のとき、現在レベルレジスタ１１３は、現在の速度レベルを記憶する。
【００２３】
目標レベルレジスタ１１２は、現在、制御状態中の目標の速度レベルを記憶するので、制御途中であっても、実行部１０４は、制御部１１８による制御の完了を待つことなく、次の速度レベルを要求レベルレジスタ１１１に書き込むことができる。この書き込みがされても、制御部１１８による上記の制御は継続され、実行部１０４からの要求は要求レベルレジスタ１１１に保持される。制御部１１８による制御が完了すると現在レベルレジスタ１１３は目標レベルレジスタ１１２の速度レベルを記憶し、要求レベルレジスタ１１１に保持された要求レベルレジスタ１１１の速度レベルと現在レベルレジスタ１１３を比較器１１７で比較し、速度レベルが異なる場合には、要求レベルレジスタ１１１に保持した新たな速度レベルが目標レベルレジスタ１１２に書き込まれ、次の目標の速度レベルに向けた制御が開始される。この制御は、制御部１１８が行うため、実行部１０４が行わなくてよい。実行部１０４は、速度レベルを要求レベルレジスタ１１１に書き込むという簡単な処理で、周波数パラメータ及び電圧パラメータの制御を可能にする。
【００２４】
図３（Ａ）及び（Ｂ）は、図１の要求レベルレジスタ１１１を説明するための図である。図３（Ａ）は、要求レベルレジスタ１１１のビットフォーマット例を示す図である。要求レベルレジスタ１１１は、３ビットのレジスタであり、１ビットのエラー情報３０１及び２ビットの速度レベル３０２を記憶する。エラー情報３０１は、「０」がエラーなしを示し、「１」がエラーありを示す。エラーの内容は、後に図６を参照しながら説明する。速度レベル３０２は、図３（Ｂ）を参照しながら説明する。
【００２５】
図３（Ｂ）は、図３（Ａ）の速度レベル３０２を説明するための図である。速度レベル３０２は、例えば「０」〜「３」の４レベルであり、演算処理装置１０１の速度を示す。「１」の速度レベル３０２は、プロセッサのシステム動作時における標準の速度レベルであり、例えば、このレベルの周波数（処理性能）を１００％とする。「０」の速度レベル３０２は、「１」の速度レベル３０２よりも速い速度レベルであり、例えば、このレベルの周波数（処理性能）は１２０％である。「２」の速度レベル３０２は、「１」の速度レベル３０２よりも遅い速度レベルであり、例えば、このレベルの周波数（処理性能）は６０％である。「３」の速度レベル３０２は、「２」の速度レベル３０２よりも遅い速度レベルであり、例えば、このレベルの周波数（処理性能）は２０％である。図３（Ｂ）の例では、速度レベル３０２は、周波数を下げる（性能低下）方向に４０％刻みで２段階、周波数を上げる（性能向上）方向に２０％で１段階と定義している。実行部１０４は、高速処理モード、低速処理モード及びスリープモード等、処理内容に応じて、速度レベル３０２を要求レベルレジスタ１１１に書き込むことができる。
【００２６】
図４（Ａ）〜（Ｃ）は、図１の速度レベルテーブル１１４の例を示す図である。速度レベルテーブル１１４は、速度レベル、周波数識別番号及び電圧識別番号の対応関係を記憶する。速度レベルは図３（Ｂ）の速度レベルに対応し、周波数識別番号は図２（Ａ）の周波数識別番号に対応し、電圧識別番号は図２（Ｂ）の電圧識別番号に対応する。
【００２７】
まず、図４（Ａ）の速度レベルテーブル１１４を説明する。速度レベルテーブル１１４においては、半導体回路の周波数が高くなるに従い、半導体回路が要求する電圧も高くなるという、半導体回路における周波数と電圧間の関係が規定される。「１」の速度レベルは、周波数識別番号「９」及び電圧識別番号「１８」に対応付けられている。周波数識別番号「９」は、図２（Ａ）に示すように、例えば、「１．０」ＧＨｚの周波数パラメータに対応する。電圧識別番号「１８」は、図２（Ｂ）に示すように、例えば、「１．１０」Ｖの電圧パラメータに対応する。このように、「１」の速度レベルは周波数が「１．０」ＧＨｚであり、この「１．０」ＧＨｚの周波数は、図３（Ｂ）に示すように、１００％の周波数（処理性能）を意味する。この演算処理装置１０１は、「１．０」ＧＨｚの周波数のクロック信号ＣＫで動作するには、「１．１０」Ｖの電圧Ｖ１が必要であることを意味する。
【００２８】
「０」の速度レベルは、周波数識別番号「１１」及び電圧識別番号「２８」に対応付けられている。周波数識別番号「１１」は、図２（Ａ）に示すように、例えば、「１．２」ＧＨｚの周波数パラメータに対応する。電圧識別番号「２８」は、図２（Ｂ）に示すように、例えば、「１．６０」Ｖの電圧パラメータに対応する。このように、「０」の速度レベルは周波数が「１．２」ＧＨｚであり、この「１．２」ＧＨｚの周波数は、図３（Ｂ）に示すように、１２０％の周波数（処理性能）を意味する。この演算処理装置１０１は、「１．２」ＧＨｚの周波数のクロック信号ＣＫで動作するには、「１．６０」Ｖの電圧Ｖ１が必要であることを意味する。
【００２９】
「２」の速度レベルは、周波数識別番号「５」及び電圧識別番号「１５」に対応付けられている。周波数識別番号「５」は、図２（Ａ）に示すように、例えば、「０．６」ＧＨｚの周波数パラメータに対応する。電圧識別番号「１５」は、図２（Ｂ）に示すように、例えば、「０．９５」Ｖの電圧パラメータに対応する。このように、「２」の速度レベルは周波数が「０．６」ＧＨｚであり、この「０．６」ＧＨｚの周波数は、図３（Ｂ）に示すように、６０％の周波数（処理性能）を意味する。この演算処理装置１０１は、「０．６」ＧＨｚの周波数のクロック信号ＣＫで動作するには、「０．９５」Ｖの電圧Ｖ１が必要であることを意味する。
【００３０】
「３」の速度レベルは、周波数識別番号「１」及び電圧識別番号「２」に対応付けられている。周波数識別番号「１」は、図２（Ａ）に示すように、例えば、「０．２」ＧＨｚの周波数パラメータに対応する。電圧識別番号「２」は、図２（Ｂ）に示すように、例えば、「０．３０」Ｖの電圧パラメータに対応する。このように、「３」の速度レベルは周波数が「０．２」ＧＨｚであり、この「０．２」ＧＨｚの周波数は、図３（Ｂ）に示すように、２０％の周波数（処理性能）を意味する。この演算処理装置１０１は、「０．２」ＧＨｚの周波数のクロック信号ＣＫで動作するには、「０．３０」Ｖの電圧Ｖ１が必要であることを意味する。
【００３１】
以上のように、速度レベルテーブル１１４では、速度レベルを大きくすれば、周波数も高くなる。その周波数のクロック信号ＣＫで動作させるためには、低消費電力の観点から、速度レベルテーブル１１４では、半導体回路が要求する最低限必要な適切な電圧が設定される。
【００３２】
図４（Ｂ）は、図４（Ａ）の演算処理装置１０１とは異なる演算処理装置１０１の速度レベルテーブル１１４の例を示す図である。図４（Ｂ）の演算処理装置１０１は、図４（Ａ）の演算処理装置１０１と同種類の演算処理装置である。したがって、図４（Ｂ）の速度レベルテーブル１１４は、図４（Ａ）の速度レベルテーブル１１４に対して、速度レベル及び周波数識別番号が同様であり、電圧識別番号が異なる。各周波数のクロック信号ＣＫで動作させるためには、演算処理装置１０１のチップ個体毎に適切な電圧が異なる。したがって、同種類の演算処理装置１０１であっても、チップ個体差により、演算処理装置１０１毎に、速度レベルテーブル１１４には異なる電圧識別番号が記憶される。
【００３３】
図４（Ｃ）は、図４（Ａ）及び図４（Ｂ）の演算処理装置１０１とはさらに異なる演算処理装置１０１の速度レベルテーブル１１４の例を示す図である。図４（Ｃ）の演算処理装置１０１は、図４（Ａ）及び図４（Ｂ）の演算処理装置１０１に対して高性能の次世代の演算処理装置である。したがって、図４（Ｃ）の速度レベルテーブル１１４は、図４（Ａ）及び図４（Ｂ）の速度レベルテーブル１１４に対して、システム動作時における標準の周波数（速度レベル「１」）の設定値が高くなるため、速度テーブル全体の周波数識別番号及び電圧識別番号の対応関係が異なる。次世代の演算処理装置であるため製造ルール、製造過程などの差によって、その周波数に必要な電圧も異なる。その結果、速度レベルテーブル１１４は、同じ速度レベルであっても、周波数識別番号及び電圧識別番号が変わる。
【００３４】
図１において、不揮発性メモリ１１５は、例えばＲＯＭ（リードオンリーメモリ：Read Only Memory）やＦＬＡＳＨメモリであり、図４（Ａ）〜（Ｃ）に示すような速度レベルテーブル１１４を記憶する。演算処理装置１０１の電源をオンにすると、初期化処理により、速度レベルテーブル１１４の記憶内容は、不揮発性メモリ１１５に記憶されている速度レベルテーブルの内容に初期化される。不揮発性メモリ１１５には、演算処理装置１０１毎に異なる速度レベルテーブルを記憶させることにより、速度レベルテーブル１１４を演算処理装置１０１毎に適した記憶内容に初期化することができる。これにより、試験結果により得られた演算処理装置１０１の個別の電圧に速度レベルテーブル１１４を初期化することができ、各速度レベルに対する周波数と電圧の関係を容易に変更することができる。
【００３５】
制御部１１８は、ステートマシンを有し、ステートマシンにより状態遷移を制御する。制御部１１８のステートマシンの詳細を、後に図５を参照しながら説明する。再び図１を参照すると、比較器１１７は、要求レベルレジスタ１１１に記憶されている速度レベルと現在レベルレジスタ１１３に記憶されている速度レベルとを比較し、その比較結果を制御部１１８に出力する。具体的には、実行部１０４が要求レベルレジスタ１１１に速度レベルを書き込むことにより、要求レベルレジスタ１１１の速度レベルが現在レベルレジスタ１１３の速度レベルと異なるレベルになると、制御部１１８は周波数パラメータ及び電圧パラメータの制御を開始する。目標レベルレジスタ１１２には、要求レベルレジスタ１１１に記憶されている速度レベルが書き込まれる。
【００３６】
速度レベルセレクタ１１６は、速度レベルテーブル１１４の中で、目標レベルレジスタ１１２に記憶されている速度レベルに対応する周波数識別番号及び電圧識別番号を選択してそれぞれ周波数比較器１１９及び電圧比較器１２０に出力する。
【００３７】
周波数カウンタ１２２は、判定部１２１の制御により、目標の速度レベルに対応する速度レベルテーブル１１４の周波数識別番号まで周波数識別番号をカウントする。電圧カウンタ１２３は、判定部１２１の制御により、目標の速度レベルに対応する速度レベルテーブル１１４の電圧識別番号まで電圧識別番号をカウントする。
【００３８】
周波数比較器１１９は、周波数カウンタ１２２によりカウントされた周波数識別番号が速度レベルセレクタ１１６により出力された周波数識別番号より小さいときにはアップ信号ＵＰを判定部１２１に出力し、周波数カウンタ１２２によりカウントされた周波数識別番号が速度レベルセレクタ１１６により出力された周波数識別番号より大きいときにはダウン信号ＤＮを判定部１２１に出力する。
【００３９】
電圧比較器１２０は、電圧カウンタ１２３によりカウントされた電圧識別番号が速度レベルセレクタ１１６により出力された電圧識別番号より小さいときにはアップ信号ＵＰを判定部１２１に出力し、電圧カウンタ１２３によりカウントされた周波数識別番号が速度レベルセレクタ１１６により出力された電圧識別番号より大きいときにはダウン信号ＤＮを判定部１２１に出力する。
【００４０】
判定部１２１は、上記のアップ信号ＵＰ及びダウン信号ＤＮに応じて、周波数カウンタ１２２又は電圧カウンタ１２３にインクリメント信号ＩＮＣ又はデクリメント信号ＤＥＣを出力する。その詳細は、後に図６を参照しながら説明する。周波数カウンタ１２２は、インクリメント信号ＩＮＣを入力すると周波数識別番号をインクリメントし、デクリメント信号ＤＥＣを入力すると周波数識別番号をデクリメントする。電圧カウンタ１２３は、インクリメント信号ＩＮＣを入力すると電圧識別番号をインクリメントし、デクリメント信号ＤＥＣを入力すると電圧識別番号をデクリメントする。
【００４１】
周波数セレクタ１２５は、周波数カウンタ１２２によりカウントされた周波数識別番号に対応する周波数テーブル１２４の周波数パラメータを選択し、位相ロックループ回路１０２に出力する。位相ロックループ回路１０２は、周波数セレクタ１２５により出力された周波数パラメータを入力し、その入力した周波数パラメータに応じた周波数のクロック信号ＣＫを生成し、クロック信号ＣＫを実行部１０４に出力する。
【００４２】
電圧セレクタ１２７は、電圧カウンタ１２３によりカウントされた電圧識別番号に対応する電圧テーブル１２６の電圧パラメータを選択し、電圧レギュレータ１０３に出力する。電圧レギュレータ１０３は、電圧セレクタ１２７により出力された電圧パラメータを入力し、その入力した電圧パラメータに応じた大きさの電圧Ｖ１を生成し、実行部１０４に出力する。
【００４３】
図５は、図１の制御部１１８が制御する状態遷移を示す図である。制御部１１８の状態遷移は、アイドル状態と、アイドル状態以外の制御状態とに分けることができる。初期時は、アイドル状態Ｓ１である。実行部１０４が要求レベルレジスタ１１１に速度レベルを書き込み、比較器１１７が要求レベルレジスタ１１１の速度レジスタと現在レベルレジスタ１１３の速度レベルが異なる旨を制御部１１８に出力すると、制御部１１８は、アイドル状態Ｓ１から制御状態のうち比較状態Ｓ２に遷移させる。比較状態Ｓ２からは、アイドル状態Ｓ１、エラー状態Ｓ３、周波数カウント状態Ｓ４又は電圧カウント状態Ｓ５の各制御状態に遷移する。その詳細は、図６を参照しながら説明する。
【００４４】
図６は、図５の比較状態Ｓ２から次の状態への遷移を説明するための図である。比較状態Ｓ２では、周波数比較器１１９及び電圧比較器１２０が比較を行う。周波数比較器１１９は、周波数カウンタ１２２によりカウントされた周波数識別番号が速度レベルセレクタ１１６により出力された周波数識別番号と同じときには、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを出力する。また、周波数比較器１１９は、周波数カウンタ１２２によりカウントされた周波数識別番号が速度レベルセレクタ１１６により出力された周波数識別番号より小さいときには、「１」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを出力する。また、周波数比較器１１９は、周波数カウンタ１２２によりカウントされた周波数識別番号が速度レベルセレクタ１１６により出力された周波数識別番号より大きいときには、「０」のアップ信号ＵＰ及び「１」のダウン信号ＤＮを出力する。
【００４５】
電圧比較器１２０は、電圧カウンタ１２３によりカウントされた電圧識別番号が速度レベルセレクタ１１６により出力された電圧識別番号と同じときには、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを出力する。また、電圧比較器１２０は、電圧カウンタ１２３によりカウントされた電圧識別番号が速度レベルセレクタ１１６により出力された電圧識別番号より小さいときには、「１」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを出力する。また、電圧比較器１２０は、電圧カウンタ１２３によりカウントされた電圧識別番号が速度レベルセレクタ１１６により出力された電圧識別番号より大きいときには、「０」のアップ信号ＵＰ及び「１」のダウン信号ＤＮを出力する。
【００４６】
判定部１２１は、周波数比較器１１９のアップ信号ＵＰ及びダウン信号ＤＮ並びに電圧比較器１２０のアップ信号ＵＰ及びダウン信号ＤＮに応じて、次の状態への遷移を制御部１１８に指示する。
【００４７】
周波数比較器１１９のアップ信号ＵＰが「０」、ダウン信号ＤＮが「０」、電圧比較器１２０のアップ信号ＵＰが「０」、ダウン信号ＤＮが「０」であるときには、制御が終了し、目標の速度レベルに到達したので、比較状態Ｓ２からアイドル状態Ｓ１に遷移する。アイドル状態Ｓ１では、現在レベルレジスタ１１３に、目標レベルレジスタ１１２に記憶されている速度レベルが書き込まれる。
【００４８】
周波数比較器１１９のアップ信号ＵＰが「０」、ダウン信号ＤＮが「０」、電圧比較器１２０のアップ信号ＵＰが「０」、ダウン信号ＤＮが「１」であるときには、電圧を１段階下げるため、比較状態Ｓ２から電圧カウント状態Ｓ５に遷移する。判定部１２１は、デクリメント信号ＤＥＣを電圧カウンタ１２３に出力し、電圧カウンタ１２３は電圧識別番号をデクリメントする。
【００４９】
周波数比較器１１９のアップ信号ＵＰが「０」、ダウン信号ＤＮが「０」、電圧比較器１２０のアップ信号ＵＰが「１」、ダウン信号ＤＮが「０」であるときには、電圧を１段階上がるため、比較状態Ｓ２から電圧カウント状態Ｓ５に遷移する。判定部１２１は、インクリメント信号ＩＮＣを電圧カウンタ１２３に出力し、電圧カウンタ１２３は電圧識別番号をインクリメントする。
【００５０】
周波数比較器１１９のアップ信号ＵＰが「０」、ダウン信号ＤＮが「０」、電圧比較器１２０のアップ信号ＵＰが「１」、ダウン信号ＤＮが「１」であるときには、矛盾する状態であるので、比較状態Ｓ２からエラー状態Ｓ３に遷移する。
【００５１】
周波数比較器１１９のアップ信号ＵＰが「０」、ダウン信号ＤＮが「１」、電圧比較器１２０のアップ信号ＵＰが「０」、ダウン信号ＤＮが「０」であるときには、周波数を１段階下げるため、比較状態Ｓ２から周波数カウント状態Ｓ４に遷移する。判定部１２１は、デクリメント信号ＤＥＣを周波数カウンタ１２２に出力し、周波数カウンタ１２２は周波数識別番号をデクリメントする。
【００５２】
周波数比較器１１９のアップ信号ＵＰが「０」、ダウン信号ＤＮが「１」、電圧比較器１２０のアップ信号ＵＰが「０」、ダウン信号ＤＮが「１」であるときには、周波数のみを１段階下げるため、比較状態Ｓ２から周波数カウント状態Ｓ４に遷移する。判定部１２１は、デクリメント信号ＤＥＣを周波数カウンタ１２２に出力し、周波数カウンタ１２２は周波数識別番号をデクリメントする。
【００５３】
周波数比較器１１９のアップ信号ＵＰが「０」、ダウン信号ＤＮが「１」、電圧比較器１２０のアップ信号ＵＰが「１」、ダウン信号ＤＮが「０」であるときには、矛盾する状態であるので、比較状態Ｓ２からエラー状態Ｓ３に遷移する。
【００５４】
周波数比較器１１９のアップ信号ＵＰが「０」、ダウン信号ＤＮが「１」、電圧比較器１２０のアップ信号ＵＰが「１」、ダウン信号ＤＮが「１」であるときには、矛盾する状態であるので、比較状態Ｓ２からエラー状態Ｓ３に遷移する。
【００５５】
周波数比較器１１９のアップ信号ＵＰが「１」、ダウン信号ＤＮが「０」、電圧比較器１２０のアップ信号ＵＰが「０」、ダウン信号ＤＮが「０」であるときには、周波数を１段階上げるため、比較状態Ｓ２から周波数カウント状態Ｓ４に遷移する。判定部１２１は、インクリメント信号ＩＮＣを周波数カウンタ１２２に出力し、周波数カウンタ１２２は周波数識別番号をインクリメントする。
【００５６】
周波数比較器１１９のアップ信号ＵＰが「１」、ダウン信号ＤＮが「０」、電圧比較器１２０のアップ信号ＵＰが「０」、ダウン信号ＤＮが「１」であるときには、矛盾する状態であるので、比較状態Ｓ２からエラー状態Ｓ３に遷移する。
【００５７】
周波数比較器１１９のアップ信号ＵＰが「１」、ダウン信号ＤＮが「０」、電圧比較器１２０のアップ信号ＵＰが「１」、ダウン信号ＤＮが「０」であるときには、電圧を１段階上げるため、比較状態Ｓ２から電圧カウント状態Ｓ５に遷移する。判定部１２１は、インクリメント信号ＩＮＣを電圧カウンタ１２３に出力し、電圧カウンタ１２３は電圧識別番号をインクリメントする。
【００５８】
周波数比較器１１９のアップ信号ＵＰが「１」、ダウン信号ＤＮが「０」、電圧比較器１２０のアップ信号ＵＰが「１」、ダウン信号ＤＮが「１」であるときには、矛盾する状態であるので、比較状態Ｓ２からエラー状態Ｓ３に遷移する。
【００５９】
周波数比較器１１９のアップ信号ＵＰが「１」、ダウン信号ＤＮが「１」、電圧比較器１２０のアップ信号ＵＰが「０」、ダウン信号ＤＮが「０」であるときには、矛盾する状態であるので、比較状態Ｓ２からエラー状態Ｓ３に遷移する。
【００６０】
周波数比較器１１９のアップ信号ＵＰが「１」、ダウン信号ＤＮが「１」、電圧比較器１２０のアップ信号ＵＰが「０」、ダウン信号ＤＮが「１」であるときには、矛盾する状態であるので、比較状態Ｓ２からエラー状態Ｓ３に遷移する。
【００６１】
周波数比較器１１９のアップ信号ＵＰが「１」、ダウン信号ＤＮが「１」、電圧比較器１２０のアップ信号ＵＰが「１」、ダウン信号ＤＮが「０」であるときには、矛盾する状態であるので、比較状態Ｓ２からエラー状態Ｓ３に遷移する。
【００６２】
周波数比較器１１９のアップ信号ＵＰが「１」、ダウン信号ＤＮが「１」、電圧比較器１２０のアップ信号ＵＰが「１」、ダウン信号ＤＮが「１」であるときには、矛盾する状態であるので、比較状態Ｓ２からエラー状態Ｓ３に遷移する。
【００６３】
図５において、エラー状態Ｓ３では、ハードウェアにエラーが発生したとして、図３（Ａ）の要求レベルレジスタ１１１に、エラー情報３０１として「１」のエラーありの情報が書き込まれる。実行部１０４は、要求レベルレジスタ１１１に書き込まれたエラー情報３０１の内容を確認することによって制御回路にエラーが発生した旨を知ることができる。
【００６４】
周波数カウント状態Ｓ４では、次に周波数制御状態Ｓ６に遷移する。周波数制御状態Ｓ６では、周波数セレクタ１２５は、周波数カウンタ１２２によりカウントされた周波数識別番号に対応する周波数テーブル１２４の周波数パラメータを選択し、位相ロックループ回路１０２に出力する。位相ロックループ回路１０２は、入力した周波数パラメータに応じた周波数のクロック信号ＣＫを生成する。周波数制御状態Ｓ６の制御が終了すると、次に上記の比較状態Ｓ２に戻る。
【００６５】
電圧カウント状態Ｓ５では、次に電圧制御状態Ｓ７に遷移する。電圧制御状態Ｓ７では、電圧セレクタ１２７は、電圧カウンタ１２３によりカウントされた電圧識別番号に対応する電圧テーブル１２６の電圧パラメータを選択し、電圧レギュレータ１０３に出力する。電圧レギュレータ１０３は、入力した電圧パラメータに応じた大きさの電圧Ｖ１を生成する。電圧制御状態Ｓ７の制御が終了すると、次に上記の比較状態Ｓ２に戻る。
【００６６】
図７は、図１の演算処理装置の制御例を示すタイムチャートである。周波数識別番号７０１は、時間経過に対する周波数識別番号の変化を示す。電圧識別番号７０２は、時間経過に対する電圧識別番号の変化を示す。周波数テーブル１２４は図２（Ａ）の内容を記憶し、電圧テーブル１２６は図２（Ｂ）の内容を記憶し、速度レベルテーブル１１４は図４（Ａ）の内容を記憶する例を説明する。
【００６７】
時刻「１」では、要求レベルレジスタ１１１、目標レベルレジスタ１１２及び現在レベルレジスタ１１３は、「１」の速度レベルに初期化される。図４（Ａ）に示すように、「１」の速度レベルは、「９」の周波数識別番号及び「１８」の電圧識別番号に対応する。したがって、周波数カウンタ１２２はカウント値の周波数識別番号７０１が「９」に初期化され、電圧カウンタ１２３はカウント値の電圧識別番号７０２が「１８」に初期化される。位相ロックループ回路１０２は、「９」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「１．０」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１８」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「１．１０」Ｖの電圧Ｖ１を生成する。
【００６８】
次に、時刻「３」では、実行部１０４が要求レベルレジスタ１１１に、「３」の速度レベルを書き込む。すると、目標レベルレジスタ１１２には、「３」の速度レジスタが書き込まれる。すなわち、要求レベルレジスタ１１１に記憶されている速度レベルと現在レベルレジスタ１１３に記憶されている速度レベルとが同様である状態において、要求レベルレジスタ１１１に現在レベルレジスタ１１３に記憶されている速度レベルと異なる速度レベルが書き込まれると、要求レベルレジスタ１１１に書き込まれた速度レベルが目標の速度レベルとして目標レベルレジスタ１１２に書き込まれる。
【００６９】
以下、「１」の速度レベルから「３」の速度レベルへの変更制御を行う。速度レベルセレクタ１１６は、図４（Ａ）の速度レベルテーブル１１４を参照し、「３」の速度レベルに対応する「１」の周波数識別番号及び「２」の電圧識別番号を選択してそれぞれ周波数比較器１１９及び電圧比較器１２０に出力する。周波数比較器１１９は、周波数カウンタ１２２が出力する「９」の周波数識別番号と速度レベルセレクタ１１６が出力する「１」の周波数識別番号を比較し、「０」のアップ信号ＵＰ及び「１」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「１８」の電圧識別番号と速度レベルセレクタ１１６が出力する「２」の電圧識別番号を比較し、「０」のアップ信号ＵＰ及び「１」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、周波数カウンタ１２２にデクリメント信号ＤＥＣを出力する。
【００７０】
次に、時刻「４」では、周波数カウンタ１２２は、周波数識別番号７０１を「９」から「８」にデクリメントする。位相ロックループ回路１０２は、「８」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．９」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１８」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「１．１０」Ｖの電圧Ｖ１を生成する。
【００７１】
次に、周波数比較器１１９は、周波数カウンタ１２２が出力する「８」の周波数識別番号と速度レベルセレクタ１１６が出力する「１」の周波数識別番号を比較し、「０」のアップ信号ＵＰ及び「１」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「１８」の電圧識別番号と速度レベルセレクタ１１６が出力する「２」の電圧識別番号を比較し、「０」のアップ信号ＵＰ及び「１」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、周波数カウンタ１２２にデクリメント信号ＤＥＣを出力する。
【００７２】
次に、時刻「５」では、周波数カウンタ１２２は、周波数識別番号７０１を「８」から「７」にデクリメントする。位相ロックループ回路１０２は、「７」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．８」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１８」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「１．１０」Ｖの電圧Ｖ１を生成する。
【００７３】
上記と同様に、時刻「６」では、周波数カウンタ１２２は、周波数識別番号７０１を「７」から「６」にデクリメントする。時刻「７」では、周波数カウンタ１２２は、周波数識別番号７０１を「６」から「５」にデクリメントする。時刻「８」では、周波数カウンタ１２２は、周波数識別番号７０１を「５」から「４」にデクリメントする。時刻「９」では、周波数カウンタ１２２は、周波数識別番号７０１を「４」から「３」にデクリメントする。時刻「１０」では、周波数カウンタ１２２は、周波数識別番号７０１を「３」から「２」にデクリメントする。時刻「１１」では、周波数カウンタ１２２は、周波数識別番号７０１を「２」から「１」にデクリメントする。
【００７４】
位相ロックループ回路１０２は、「１」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．２」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１８」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「１．１０」Ｖの電圧Ｖ１を生成する。
【００７５】
次に、周波数比較器１１９は、周波数カウンタ１２２が出力する「１」の周波数識別番号と速度レベルセレクタ１１６が出力する「１」の周波数識別番号を比較し、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「１８」の電圧識別番号と速度レベルセレクタ１１６が出力する「２」の電圧識別番号を比較し、「０」のアップ信号ＵＰ及び「１」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、電圧カウンタ１２３にデクリメント信号ＤＥＣを出力する。
【００７６】
次に、時刻「１２」では、電圧カウンタ１２３は、電圧識別番号７０２を「１８」から「１７」にデクリメントする。位相ロックループ回路１０２は、「１」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．２」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１７」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「１．０５」Ｖの電圧Ｖ１を生成する。
【００７７】
次に、周波数比較器１１９は、周波数カウンタ１２２が出力する「１」の周波数識別番号と速度レベルセレクタ１１６が出力する「１」の周波数識別番号を比較し、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「１７」の電圧識別番号と速度レベルセレクタ１１６が出力する「２」の電圧識別番号を比較し、「０」のアップ信号ＵＰ及び「１」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、電圧カウンタ１２２にデクリメント信号ＤＥＣを出力する。
【００７８】
次に、時刻「１３」では、電圧カウンタ１２３は、電圧識別番号７０２を「１７」から「１６」にデクリメントする。位相ロックループ回路１０２は、「１」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．２」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１６」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「１．００」Ｖの電圧Ｖ１を生成する。
【００７９】
上記と同様の処理を繰り返し、電圧識別番号７０２が順次デクリメントされる。時刻「２７」では、周波数カウンタ１２２の周波数識別番号７０１が「１」になり、電圧カウンタ１２３の電圧識別番号７０２が「２」になる。位相ロックループ回路１０２は、「１」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．２」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「２」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「０．３０」Ｖの電圧Ｖ１を生成する。
【００８０】
次に、周波数比較器１１９は、周波数カウンタ１２２が出力する「１」の周波数識別番号と速度レベルセレクタ１１６が出力する「１」の周波数識別番号を比較し、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「２」の電圧識別番号と速度レベルセレクタ１１６が出力する「２」の電圧識別番号を比較し、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、アイドル状態Ｓ１に遷移する。アイドル状態Ｓ１では、現在レベルレジスタ１１３に、「３」の速度レベルが書き込まれる。
【００８１】
以上で、「１」の速度レベルから「３」の速度レベルへの変更制御が終了する。速度レベルを「１」から「３」に遅くする場合には、上記のように、まず、周波数識別番号７０１により周波数のみを１．０ＧＨｚから０．２ＧＨｚまで、０．１ＧＨｚずつ段階的に下げる。その後、電圧識別番号７０２により電圧のみを１．１０Ｖから０．３０Ｖまで、０．０５Ｖずつ段階的に下げる。以上のように、速度レベルを遅くする場合には、まず、周波数識別番号７０１による周波数を下げ、電圧を下げることが可能な状態にしてから、その後に、電圧識別番号７０２による電圧を下げる必要がある。
【００８２】
具体的には、図６に示すように、周波数比較器１１９が、周波数カウンタ１２２によりカウントされた周波数識別番号７０１の周波数が速度レベルセレクタ１１６により出力された周波数識別番号の周波数より高い旨の比較結果を出力し、かつ、電圧比較器１２０が、電圧カウンタ１２３によりカウントされた電圧識別番号７０２の電圧が速度レベルセレクタ１１６により出力された電圧識別番号の電圧より高い旨の比較結果を出力した場合には、周波数カウンタ１２２は、周波数が低くなる方向に周波数識別番号７０１をカウントし、電圧カウンタ１２３は、電圧識別番号７０２のカウントを停止する。
【００８３】
また、周波数比較器１１９が、周波数カウンタ１２２によりカウントされた周波数識別番号７０１が速度レベルセレクタ１１６により出力された周波数識別番号と同じである旨の比較結果を出力し、かつ、電圧比較器１２０が、電圧カウンタ１２３によりカウントされた電圧識別番号７０２の電圧が速度レベルセレクタ１１６により出力された電圧識別番号の電圧より高い旨の比較結果を出力した場合には、周波数カウンタ１２２は、周波数識別番号７０１のカウントを停止し、電圧カウンタ１２３は、電圧が低くなる方向に電圧識別番号７０２をカウントする。
【００８４】
また、周波数比較器１１９が、周波数カウンタ１２２によりカウントされた周波数識別番号７０１の周波数が速度レベルセレクタ１１６により出力された周波数識別番号の周波数より高い旨の比較結果を出力し、かつ、電圧比較器１２０が、電圧カウンタ１２３によりカウントされた電圧識別番号７０２が速度レベルセレクタ１１６により出力された電圧識別番号と同じである旨の比較結果を出力した場合には、周波数カウンタ１２２は、周波数が低くなる方向に周波数識別番号７０１をカウントし、電圧カウンタ１２３は、電圧識別番号７０２のカウントを停止する。
【００８５】
次に、速度レベルを「３」から「２」に速くする変更制御を説明する。時刻「２９」では、実行部１０４が要求レベルレジスタ１１１に、「２」の速度レベルを書き込む。すると、目標レベルレジスタ１１２には、「２」の速度レジスタが書き込まれる。速度レベルセレクタ１１６は、図４（Ａ）の速度レベルテーブル１１４を参照し、「２」の速度レベルに対応する「５」の周波数識別番号及び「１５」の電圧識別番号を選択してそれぞれ周波数比較器１１９及び電圧比較器１２０に出力する。周波数比較器１１９は、周波数カウンタ１２２が出力する「１」の周波数識別番号と速度レベルセレクタ１１６が出力する「５」の周波数識別番号を比較し、「１」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「２」の電圧識別番号と速度レベルセレクタ１１６が出力する「１５」の電圧識別番号を比較し、「１」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、電圧カウンタ１２３にインクリメント信号ＩＮＣを出力する。
【００８６】
次に、時刻「３０」では、電圧カウンタ１２３は、電圧識別番号７０２を「２」から「３」にインクリメントする。位相ロックループ回路１０２は、「１」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．２」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「３」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「０．３５」Ｖの電圧Ｖ１を生成する。
【００８７】
次に、周波数比較器１１９は、周波数カウンタ１２２が出力する「１」の周波数識別番号と速度レベルセレクタ１１６が出力する「５」の周波数識別番号を比較し、「１」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「３」の電圧識別番号と速度レベルセレクタ１１６が出力する「１５」の電圧識別番号を比較し、「１」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、電圧カウンタ１２３にインクリメント信号ＩＮＣを出力する。
【００８８】
次に、時刻「３１」では、電圧カウンタ１２３は、電圧識別番号７０２を「３」から「４」にインクリメントする。位相ロックループ回路１０２は、「１」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．２」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「４」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「０．４０」Ｖの電圧Ｖ１を生成する。
【００８９】
上記と同様の処理を繰り返し、電圧識別番号７０２が順次インクリメントされる。時刻「４２」では、周波数カウンタ１２２の周波数識別番号７０１が「１」になり、電圧カウンタ１２３の電圧識別番号７０２が「１５」になる。位相ロックループ回路１０２は、「１」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．２」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１５」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「０．９５」Ｖの電圧Ｖ１を生成する。
【００９０】
次に、周波数比較器１１９は、周波数カウンタ１２２が出力する「１」の周波数識別番号と速度レベルセレクタ１１６が出力する「５」の周波数識別番号を比較し、「１」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「１５」の電圧識別番号と速度レベルセレクタ１１６が出力する「１５」の電圧識別番号を比較し、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、周波数カウンタ１２２にインクリメント信号ＩＮＣを出力する。
【００９１】
次に、時刻「４３」では、周波数カウンタ１２２は、周波数識別番号７０１を「１」から「２」にインクリメントする。位相ロックループ回路１０２は、「２」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．３」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１５」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「０．９５」Ｖの電圧Ｖ１を生成する。
【００９２】
次に、周波数比較器１１９は、周波数カウンタ１２２が出力する「２」の周波数識別番号と速度レベルセレクタ１１６が出力する「５」の周波数識別番号を比較し、「１」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「１５」の電圧識別番号と速度レベルセレクタ１１６が出力する「１５」の電圧識別番号を比較し、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、周波数カウンタ１２２にインクリメント信号ＩＮＣを出力する。
【００９３】
次に、時刻「４４」では、周波数カウンタ１２２は、周波数識別番号７０１を「２」から「３」にインクリメントする。位相ロックループ回路１０２は、「３」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．４」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１５」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「０．９５」Ｖの電圧Ｖ１を生成する。
【００９４】
上記と同様の処理を繰り返し、周波数識別番号７０１が順次インクリメントされる。時刻「４６」では、周波数カウンタ１２２の周波数識別番号７０１が「５」になり、電圧カウンタ１２３の電圧識別番号７０２が「１５」になる。位相ロックループ回路１０２は、「５」の周波数識別番号に対応する周波数パラメータを入力し、図２（Ａ）に示すように、「０．６」ＧＨｚの周波数のクロック信号ＣＫを生成する。電圧レギュレータ１０３は、「１５」の電圧識別番号に対応する電圧パラメータを入力し、図２（Ｂ）に示すように、「０．９５」Ｖの電圧Ｖ１を生成する。
【００９５】
次に、周波数比較器１１９は、周波数カウンタ１２２が出力する「５」の周波数識別番号と速度レベルセレクタ１１６が出力する「５」の周波数識別番号を比較し、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。電圧比較器１２０は、電圧カウンタ１２３が出力する「１５」の電圧識別番号と速度レベルセレクタ１１６が出力する「１５」の電圧識別番号を比較し、「０」のアップ信号ＵＰ及び「０」のダウン信号ＤＮを判定部１２１に出力する。判定部１２１は、図６に示すように、アイドル状態Ｓ１に遷移する。アイドル状態Ｓ１では、現在レベルレジスタ１１３に、「２」の速度レベルが書き込まれる。
【００９６】
以上で、「３」の速度レベルから「２」の速度レベルへの変更制御が終了する。速度レベルを「３」から「２」に速くする場合には、上記のように、まず、電圧識別番号７０２により電圧のみを０．３０Ｖから０．９５Ｖまで、０．０５Ｖずつ段階的に上げる。その後、周波数識別番号７０１により周波数のみを０．２ＧＨｚから０．６ＧＨｚまで、０．１ＧＨｚずつ段階的に上げる。以上のように、速度レベルを速くする場合には、まず、電圧識別番号７０２による電圧を上げ、周波数を上げることが可能な状態にしてから、その後に、周波数識別番号７０１による周波数を上げる必要がある。
【００９７】
具体的には、図６に示すように、周波数比較器１１９が、周波数カウンタ１２２によりカウントされた周波数識別番号７０１の周波数が速度レベルセレクタ１１６により出力された周波数識別番号の周波数より低い旨の比較結果を出力し、かつ、電圧比較器１２０が、電圧カウンタ１２３によりカウントされた電圧識別番号７０２の電圧が速度レベルセレクタ１１６により出力された電圧識別番号の電圧より低い旨の比較結果を出力した場合には、電圧カウンタ１２３は、電圧が高くなる方向に電圧識別番号７０２をカウントし、周波数カウンタ１２２は、周波数識別番号７０１のカウントを停止する。
【００９８】
また、周波数比較器１１９が、周波数カウンタ１２２によりカウントされた周波数識別番号７０１の周波数が速度レベルセレクタ１１６により出力された周波数識別番号の周波数より低い旨の比較結果を出力し、かつ、電圧比較器１２０が、電圧カウンタ１２３によりカウントされた電圧識別番号が速度レベルセレクタ１１６により出力された電圧識別番号と同じである旨の比較結果を出力した場合には、周波数カウンタ１２２は、周波数が高くなる方向に周波数識別番号７０１をカウントし、電圧カウンタ１２３は、電圧識別番号７０２のカウントを停止する。
【００９９】
また、周波数比較器１１９が、周波数カウンタ１２２によりカウントされた周波数識別番号７０１が速度レベルセレクタ１１６により出力された周波数識別番号と同じである旨の比較結果を出力し、かつ、電圧比較器１２０が、電圧カウンタ１２３によりカウントされた電圧識別番号７０２の電圧が速度レベルセレクタ１１６により出力された電圧識別番号の電圧より低い旨の比較結果を出力した場合には、周波数カウンタ１２２は、周波数識別番号７０１のカウントを停止し、電圧カウンタ１２３は、電圧が高くなる方向に電圧識別番号７０２をカウントする。
【０１００】
本実施形態によれば、演算処理装置１０１毎に、周波数パラメータの種類及び値並びに電圧パラメータの種類及び値が異なっても、周波数テーブル１２４及び電圧テーブル１２６の内容を変えることで対応することができ、実行部１０４が速度レベルを要求レベルレジスタ１１１に書き込むプログラムの内容を変える必要がない。したがって、種々の演算処理装置１０１に対して、簡単に周波数パラメータ及び電圧パラメータの制御を行うことができる。
【０１０１】
また、クロック信号ＣＫの周波数を急激に大きく変更すると、急激な負荷変動となり、大きな電源ノイズとなる。また、急激な大きな電圧の変更は、電源が不安定となり、動作が安定しなくなる。本実施形態によれば、現在の周波数から目標の周波数まで０．１ＧＨｚずつ段階的に変更し、現在の電圧から目標の電圧まで０．０５Ｖずつ段階的に変更することにより、電源ノイズを防止し、動作を安定化させることができる。
【０１０２】
また、目標レベルレジスタ１１２は、現在、制御中の目標の速度レベルを記憶するので、制御途中であっても、実行部１０４は、制御の完了を待つことなく、次の速度レベルを要求レベルレジスタ１１１に書き込むことができる。この書き込みがされても、制御部１１８による制御が継続され、実行部１０４からの要求は要求レベルレジスタ１１１に保持される。制御部１１８による制御が完了すると現在レベルレジスタ１１３は目標レベルレジスタ１１２の速度レベルを保持し、先ほど保持した要求レベルレジスタ１１１の速度レベルと現在レベルレジスタ１１３を比較器１１７で比較し、要求レベルレジスタ１１１に保持された速度レベルの値と現在レベルレジスタ１１３に保持された速度レベルの値とが異なる場合には、要求レベルレジスタ１１１に保持した新たな速度レベルが目標レベルレジスタ１１２に書き込まれ、次の目標の速度レベルに向けた制御が開始される。この制御は、制御部１１８が行うため、実行部１０４が行わなくてよい。実行部１０４は、速度レベルを要求レベルレジスタ１１１に書き込むという簡単な処理で、周波数パラメータ及び電圧パラメータの制御を可能にする。
【０１０３】
本実施形態によれば、目標の速度レベルを与えるだけで、周波数パラメータ及び電圧パラメータを制御することができるので、周波数パラメータ及び電圧パラメータの制御を簡単に行うことができる。
【０１０４】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０５】
１０１  演算処理装置
１０２  位相ロックループ回路
１０３  電圧レギュレータ
１０４  実行部
１０５  メモリ
１１１  要求レベルレジスタ
１１２  目標レベルレジスタ
１１３  現在レベルレジスタ
１１４  速度レベルテーブル
１１５  不揮発性メモリ
１１６  速度レベルセレクタ
１１７  比較器
１１８  制御部
１１９  周波数比較器
１２０  電圧比較器
１２１  判定部
１２２  周波数カウンタ
１２３  電圧カウンタ
１２４  周波数テーブル
１２５  周波数セレクタ
１２６  電圧テーブル
１２７  電圧セレクタ
【図１】
2013196619.tif 000003
【図２】
2013196619.tif 000004
【図３】
2013196619.tif 000005
【図４】
2013196619.tif 000006
【図５】
2013196619.tif 000007
【図６】
2013196619.tif 000008
【図７】
2013196619.tif 000009