JP6492969B2 - 位相ロックループ回路制御装置及び位相ロックループ回路の制御方法 - Google Patents

位相ロックループ回路制御装置及び位相ロックループ回路の制御方法 Download PDF

Info

Publication number
JP6492969B2
JP6492969B2 JP2015105572A JP2015105572A JP6492969B2 JP 6492969 B2 JP6492969 B2 JP 6492969B2 JP 2015105572 A JP2015105572 A JP 2015105572A JP 2015105572 A JP2015105572 A JP 2015105572A JP 6492969 B2 JP6492969 B2 JP 6492969B2
Authority
JP
Japan
Prior art keywords
frequency
voltage
identifier
speed level
loop circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015105572A
Other languages
English (en)
Other versions
JP2016218903A (ja
Inventor
慎之介 藤原
慎之介 藤原
充治 原
充治 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015105572A priority Critical patent/JP6492969B2/ja
Priority to US15/064,685 priority patent/US9698801B2/en
Publication of JP2016218903A publication Critical patent/JP2016218903A/ja
Application granted granted Critical
Publication of JP6492969B2 publication Critical patent/JP6492969B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/10Details of the phase-locked loop for assuring initial synchronisation or for broadening the capture range
    • H03L7/113Details of the phase-locked loop for assuring initial synchronisation or for broadening the capture range using frequency discriminator

Landscapes

  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Description

本発明は、位相ロックループ回路制御装置及び位相ロックループ回路の制御方法に関する。
CPU、クロック発生回路及び電源回路を有する半導体集積回路が知られている(特許文献1参照)。クロック発生回路は、CPUに動作クロック信号を供給する。CPUは、クロック発生回路に動作クロック信号の周波数を指示し、電源回路に内部電源電圧を指示する。電源回路は、外部電源電圧から内部電源電圧を生成する電圧レギュレータと、指定された内部電源電圧への遷移状態を判定する判定回路とを有する。判定回路は、CPUから出力される第1信号を入力した後、指定された内部電源電圧への到達を判定してCPUに第2信号を出力する。
また、半導体集積回路のシステムクロック発生回路に自動的にCPUシステムクロックの周波数を変更可能にするための電源電圧検知回路を付加した半導体装置が知られている(特許文献2参照)。
また、半導体装置が有する回路に発振したクロックを供給する発振部を有する半導体装置が知られている(特許文献3参照)。周波数設定情報記憶部は、発振部が供給する周波数の設定を表す周波数情報と、周波数情報を識別する周波数識別情報との組を複数記憶するとともに、入力する周波数識別情報に基づいて、複数の周波数情報のいずれかを発振部に出力する。速度設定情報記憶部は、半導体装置の速度を表す速度識別情報と、速度識別情報に対応する周波数識別情報とを記憶する。周波数識別情報計数部は、周波数設定情報記憶部に入力する周波数識別情報の値を保持する。制御部は、速度設定情報記憶部に記憶された周波数識別情報の値に近づくように、保持された周波数識別情報の値を、周波数識別情報計数部に増分又は減分させる。
特開2003−330549号公報 特開平6−4169号公報 特開2013−196619号公報
プロセッサの動作中に、クロック信号の周波数を段階的ではなく大きく変更すると、負荷が大きく変動する結果、大きな電源ノイズとなる。そのため、周波数を変更する場合には、目標となる値に一気に変更するのではなく、段階的に変更していき、目標の値になるように制御することが好ましい。しかし、周波数を段階的に変更すると、現在の周波数から目標の周波数に変更するまでの時間が長くなってしまう課題がある。
1つの側面では、本発明の目的は、電源ノイズを防止しつつ、周波数を高速に変更することができる位相ロックループ回路制御装置及び位相ロックループ回路の制御方法を提供することである。
位相ロックループ回路制御装置は、クロック信号を生成する位相ロックループ回路と、電圧を生成する電源部と、速度レベルに対応する周波数識別子及び電圧識別子の組みを複数記憶する速度レベルテーブルを有し、現在の速度レベルから目標の速度レベルへの変更が指示されると、前記現在の速度レベルに対応する前記周波数識別子が示す周波数から前記目標の速度レベルに対応する前記周波数識別子が示す周波数に前記位相ロックループ回路が生成するクロック信号の周波数を変更し、前記現在の速度レベルに対応する前記電圧識別子が示す電圧から前記目標の速度レベルに対応する前記電圧識別子が示す電圧に前記電源部が生成する電圧を変更するように制御する制御部とを有し、前記制御部は、前記周波数識別子と周波数情報とフラグの組みを複数記憶する周波数テーブルと、前記電圧識別子及び電圧情報の組みを複数記憶する電圧テーブルと、前記現在の速度レベルに対応する前記周波数識別子から前記目標の速度レベルに対応する前記周波数識別子まで周波数識別子の値をカウントする周波数カウンタと、前記現在の速度レベルに対応する前記電圧識別子から前記目標の速度レベルに対応する前記電圧識別子まで電圧識別子の値をカウントする電圧カウンタと、前記フラグに応じて、前記周波数カウンタによりカウントされた周波数識別子に対応する前記周波数情報を選択して前記位相ロックループ回路に出力する周波数セレクタと、前記電圧カウンタによりカウントされた電圧識別子に対応する前記電圧情報を選択して前記電源部に出力する電圧セレクタとを有し、前記制御部は、前記フラグに応じて、第1の変化量及び第2の変化量を決定し、前記現在の周波数から前記目標の周波数までのうちの第1の周波数範囲では前記第1の変化量で前記クロック信号の周波数を変化させ、前記現在の周波数から前記目標の周波数までのうちの第2の周波数範囲では前記第2の変化量で前記クロック信号の周波数を変化させる。
源ノイズを防止することができる。また、周波数を高速に変更することができる。
図1は、第1の実施形態による半導体装置の構成例を示す図である。 図2(A)は周波数テーブルの例を示す図であり、図2(B)は電圧テーブルの例を示す図である。 図3(A)及び(B)は、要求レベルレジスタを説明するための図である。 図4(A)〜(C)は、速度レベルテーブルの例を示す図である。 図5は、制御部が制御する状態遷移を示す図である。 図6は、比較状態から次の状態への遷移を説明するための図である。 図7は、演算処理装置の制御例を示すタイムチャートである。 図8は、周波数テーブルのフラグがすべて「1」である場合の演算処理装置の制御例を示すタイムチャートである。 図9は、第2の実施形態による半導体装置の構成例を示す図である。 図10は、制御部が制御する状態遷移を示す図である。 図11は、セッティング部が設定する周波数テーブルのフラグを示す図である。
(第1の実施形態)
図1は、第1の実施形態による半導体装置の構成例を示す図である。半導体装置は、位相ロックループ回路制御装置であり、演算処理装置101、電圧レギュレータ103及びメモリ105を有する。演算処理装置101は、例えばプロセッサであり、位相ロックループ(PLL:Phase Locked Loop)回路102、実行部104、要求レベルレジスタ111、目標レベルレジスタ112、現在レベルレジスタ113、速度レベルテーブル114、不揮発性メモリ115、速度レベルセレクタ116、比較器117、制御部118、周波数比較器119、電圧比較器120、判定部121、周波数カウンタ122、電圧カウンタ123、周波数テーブル124、周波数セレクタ125、電圧テーブル126、電圧セレクタ127、フラグセレクタ128及びフラグチェック部129を有する。演算処理装置101には、メモリ105及び電圧レギュレータ103が接続される。
演算処理装置101の高性能化と高集積化に伴い、演算処理装置101が消費する電力を低減する必要がある。演算処理装置101の消費電力は、電源電圧V1の2乗とクロック信号CKの周波数との積に比例する。したがって、演算処理装置101の消費電力を低減するため、周波数及び電圧を適切に制御することが望まれる。しかし、演算処理装置101の種類及び演算処理装置101を製造する半導体プロセスのばらつきにより生じる個体差により、演算処理装置101毎に適切な周波数パラメータ及び電圧パラメータが異なる。そのため、周波数パラメータ及び電圧パラメータを適切に制御するためには、演算処理装置101の種類及び半導体プロセスのばらつきを吸収するような制御が必要になる。
演算処理装置101は、周波数パラメータ(周波数情報)を位相ロックループ回路102に入力して周波数の設定を行うとともに、電圧パラメータ(電圧情報)を電圧レギュレータ103に入力して電圧の設定を行う。位相ロックループ回路102は、入力した周波数パラメータに応じた周波数のクロック信号CKを生成し、実行部104に出力する。実行部104は、クロック信号CKに同期し、メモリ105に記憶されているプログラム(オペレーティングシステム(OS:Operating System)を含む)を実行し、種々の処理を行う。電圧レギュレータ103は、入力した電圧パラメータに応じた大きさの電圧V1を生成し、実行部104に出力する電源部である。実行部104は、電圧V1の供給を受けて動作する。演算処理装置101は、周波数パラメータによりクロック信号CKの周波数を制御し、電圧パラメータにより電圧V1の大きさを制御することができる。
ここで、仮に、実行部104がプログラムの実行により、位相ロックループ回路102の周波数パラメータ及び電圧レギュレータ103の電圧パラメータを制御する場合における課題を説明する。
近年、プロセッサやASIC(Application Specific Integrated Circuit)を含むSoC(System on Chip)等の半導体装置の分野においては、半導体を企画・設計するユーザーメーカーと半導体を製造する半導体ファウンドリとの分業体制により、半導体装置を協働して製造することが行われている。ユーザーメーカーと半導体ファウンドリとの分業体制により半導体装置を製造する場合には、位相ロックループ回路102は、演算処理装置101に内蔵され、半導体ファウンドリからユーザーメーカーに提供されるが、標準化されたインターフェースが無く、半導体ファウンドリ毎に周波数パラメータの種類及び値が異なる。また、同一半導体ファウンドリでも位相ロックループ回路102の種類及び半導体プロセスの世代によって、周波数パラメータの種類及び値が異なっているため、新しい位相ロックループ回路102を採用した演算処理装置101を提供する場合には、まず、プログラムによって位相ロックループ回路102の対応を行う必要があり、新しい演算処理装置101を容易に提供できなくなる。
また、電圧V1の変更は、業界標準のインターフェース(VID)を用いて行われる。電圧レギュレータ103は、演算処理装置101がクロック信号CKの周波数で動作するために適切な電圧V1を生成する必要がある。その適切な電圧V1の設定値は、演算処理装置101の製造時に各種試験において決定される演算処理装置101のチップ個体毎に異なる値のため、プログラムはチップ毎の適切な電圧パラメータを知り、チップ毎に電圧パラメータを変える必要がある。
また、演算処理装置101の動作中に、クロック信号CKの周波数を段階的ではなく大きく変更すると、負荷が大きく変動する結果、大きな電源ノイズとなる。また、電圧V1を段階的ではなく大きく変更すると、電源が不安定となり、演算処理装置101内部の回路の動作が安定しなくなる。そのため、周波数及び電圧を変更する場合には、目標となる値に一気に変更するのではなく、段階的に変更していき、目標の値になるように制御する必要がある。
また、周波数及び電圧の変更は、1回の変更にμsからmsオーダーの時間が必要となる。この処理を演算処理装置101上で動作するプログラムで行った場合には、周波数又は電圧の変更、そして変更の完了待ちの操作を繰り返し行うことになり、演算処理装置101の処理能力を無駄に消費する。また、1回にどの程度変更して良いかは、演算処理装置101と電源の設計に依存するため、変更対象である演算処理装置101のハードウェアに依存したプログラムになってしまう。
以下、上記の課題を解決するための実施形態を説明する。図2(A)は、図1の周波数テーブル124の例を示す図であり、16ステップで0.1GHz単位の周波数を制御可能である。周波数テーブル124は、「0」〜「15」の周波数識別子(周波数ID:Identification)と「0.1」GHz〜「1.6」GHzの周波数パラメータ(周波数情報)とフラグとの複数の組みを周波数順かつ周波数識別子順に記憶する。周波数パラメータは、位相ロックループ回路102により生成されるクロック信号CKの周波数を制御するためのデジタルコードである。例えば、周波数識別子の「0」は、0.1GHzの周波数の周波数パラメータ及び「0」のフラグに対応付けられて記憶され、周波数識別子の「1」は、0.2GHzの周波数の周波数パラメータ及び「1」のフラグに対応付けられて記憶される。以下同様に、周波数テーブル124の周波数パラメータは、「0」〜「15」の周波数識別子順、かつ「0.1」GHz〜「1.6」GHzの周波数順に記憶されている。その順番は、昇順でも降順でもよい。
図2(B)は、図1の電圧テーブル126の例を示す図であり、32ステップで0.05V単位の電圧を制御可能である。電圧テーブル126は、「0」〜「31」の電圧識別子(電圧ID:Identification)及び「0.20」V〜「1.75」Vの電圧パラメータの複数の組みを電圧順かつ電圧識別子順に記憶する。電圧パラメータは、電圧レギュレータ103により生成される電圧V1の値を制御するためのデジタルコードである。例えば、電圧識別子の「0」は、0.20Vの電圧の電圧パラメータに対応付けられて記憶され、電圧識別子の「1」は、0.25Vの電圧の電圧パラメータに対応付けられて記憶される。以下同様に、電圧テーブル126の電圧パラメータは、「0」〜「31」の電圧識別子順、かつ「0.20」V〜「1.75」Vの電圧順に記憶されている。その順番は、昇順でも降順でもよい。
上記の周波数テーブル124及び電圧テーブル126は、一部を変更可能なレジスタで構成し、その他の部分を電源電位ノード又はグランド電位ノード(接地ノード)への単純な接続による固定値になるように構成してもよい。変更することがない周波数テーブル124及び電圧テーブル126の一部の固定値を簡単な構成で実現でき、周波数及び電圧の変更範囲を広くしても、回路規模を小さくすることができる。
すなわち、周波数テーブル124の周波数識別子と周波数パラメータの関係及び電圧テーブル126の電圧識別子と電圧パラメータの関係は、演算処理装置101の設計段階で決定しており、位相ロックループ回路102に対する各周波数パラメータの具体的な値及び電圧レギュレータ103に対する各電圧パラメータの具体的な値に関しても設計段階で確定するものが多い。したがって、各周波数パラメータと各電圧パラメータの大部分を更新可能なレジスタでなく、電源電位ノード又はグランド電位ノードへの単純な接続によって構成し、製造後に調整が必要なパラメータのみを更新可能なレジスタで構成することによって、回路面積を削減することができる。
図1において、実行部104は、メモリ105に記憶されているプログラムを実行することにより、システム動作時における標準の動作周波数を100%とした場合における周波数の増減率である速度レベルについて、要求する速度レベルを要求レベルレジスタ111に書き込む。実行部104は、要求レベルレジスタ111に速度レベルを書き込むだけで、位相ロックループ回路102の周波数パラメータ及び電圧レギュレータ103の電圧パラメータの制御が可能になる。
要求レベルレジスタ111は、実行部104により要求された速度レベルを記憶する。目標レベルレジスタ112は、制御部118がアイドル状態で、且つ要求レベルレジスタ111と現在レベルレジスタ113を比較器117で比較した結果、要求レベルレジスタ111に保持された速度レベルと現在レベルレジスタ113に保持された速度レベルが異なる場合に、制御部118をアイドル状態から制御状態に遷移させ、制御状態中の目標の速度レベルとして、制御を開始した時点の要求レベルレジスタ111の速度レベルを記憶する。制御部118がアイドル状態のとき、現在レベルレジスタ113は、現在の速度レベルを記憶する。
目標レベルレジスタ112は、現在、制御状態中の目標の速度レベルを記憶するので、制御途中であっても、実行部104は、制御部118による制御の完了を待つことなく、次の速度レベルを要求レベルレジスタ111に書き込むことができる。この書き込みがされても、制御部118による上記の制御は継続され、実行部104からの要求は要求レベルレジスタ111に保持される。制御部118による制御が完了すると現在レベルレジスタ113は目標レベルレジスタ112の速度レベルを記憶し、要求レベルレジスタ111に保持された要求レベルレジスタ111の速度レベルと現在レベルレジスタ113を比較器117で比較し、速度レベルが異なる場合には、要求レベルレジスタ111に保持した新たな速度レベルが目標レベルレジスタ112に書き込まれ、次の目標の速度レベルに向けた制御が開始される。この制御は、制御部118が行うため、実行部104が行わなくてよい。実行部104は、速度レベルを要求レベルレジスタ111に書き込むという簡単な処理で、周波数パラメータ及び電圧パラメータの制御を可能にする。
図3(A)及び(B)は、図1の要求レベルレジスタ111を説明するための図である。図3(A)は、要求レベルレジスタ111のビットフォーマット例を示す図である。要求レベルレジスタ111は、3ビットのレジスタであり、1ビットのエラー情報301及び2ビットの速度レベル302を記憶する。エラー情報301は、「0」がエラーなしを示し、「1」がエラーありを示す。エラーの内容は、後に図6を参照しながら説明する。速度レベル302は、図3(B)を参照しながら説明する。
図3(B)は、図3(A)の速度レベル302を説明するための図である。速度レベル302は、例えば「0」〜「3」の4レベルであり、演算処理装置101の速度を示す。「1」の速度レベル302は、演算処理装置101のシステム動作時における標準の速度レベルであり、例えば、このレベルの周波数(処理性能)を100%とする。「0」の速度レベル302は、「1」の速度レベル302よりも速い速度レベルであり、例えば、このレベルの周波数(処理性能)は120%である。「2」の速度レベル302は、「1」の速度レベル302よりも遅い速度レベルであり、例えば、このレベルの周波数(処理性能)は60%である。「3」の速度レベル302は、「2」の速度レベル302よりも遅い速度レベルであり、例えば、このレベルの周波数(処理性能)は20%である。図3(B)の例では、速度レベル302は、周波数を下げる(性能低下)方向に40%刻みで2段階、周波数を上げる(性能向上)方向に20%で1段階と定義している。実行部104は、高速処理モード、低速処理モード及びスリープモード等、処理内容に応じて、速度レベル302を要求レベルレジスタ111に書き込むことができる。
図4(A)〜(C)は、図1の速度レベルテーブル114の例を示す図である。速度レベルテーブル114は、速度レベルに対応する周波数識別子及び電圧識別子の組みを複数記憶する。速度レベルは図3(B)の速度レベルに対応し、周波数識別子は図2(A)の周波数識別子に対応し、電圧識別子は図2(B)の電圧識別子に対応する。
まず、図4(A)の速度レベルテーブル114を説明する。速度レベルテーブル114においては、半導体回路の周波数が高くなるに従い、半導体回路が要求する電圧も高くなるという、半導体回路における周波数と電圧間の関係が規定される。「1」の速度レベルは、周波数識別子「9」及び電圧識別子「18」に対応付けられている。周波数識別子「9」は、図2(A)に示すように、例えば、「1.0」GHzの周波数パラメータに対応する。電圧識別子「18」は、図2(B)に示すように、例えば、「1.10」Vの電圧パラメータに対応する。このように、「1」の速度レベルは周波数が「1.0」GHzであり、この「1.0」GHzの周波数は、図3(B)に示すように、100%の周波数(処理性能)を意味する。この演算処理装置101は、「1.0」GHzの周波数のクロック信号CKで動作するには、「1.10」Vの電圧V1が必要であることを意味する。
「0」の速度レベルは、周波数識別子「11」及び電圧識別子「28」に対応付けられている。周波数識別子「11」は、図2(A)に示すように、例えば、「1.2」GHzの周波数パラメータに対応する。電圧識別子「28」は、図2(B)に示すように、例えば、「1.60」Vの電圧パラメータに対応する。このように、「0」の速度レベルは周波数が「1.2」GHzであり、この「1.2」GHzの周波数は、図3(B)に示すように、120%の周波数(処理性能)を意味する。この演算処理装置101は、「1.2」GHzの周波数のクロック信号CKで動作するには、「1.60」Vの電圧V1が必要であることを意味する。
「2」の速度レベルは、周波数識別子「5」及び電圧識別子「15」に対応付けられている。周波数識別子「5」は、図2(A)に示すように、例えば、「0.6」GHzの周波数パラメータに対応する。電圧識別子「15」は、図2(B)に示すように、例えば、「0.95」Vの電圧パラメータに対応する。このように、「2」の速度レベルは周波数が「0.6」GHzであり、この「0.6」GHzの周波数は、図3(B)に示すように、60%の周波数(処理性能)を意味する。この演算処理装置101は、「0.6」GHzの周波数のクロック信号CKで動作するには、「0.95」Vの電圧V1が必要であることを意味する。
「3」の速度レベルは、周波数識別子「1」及び電圧識別子「2」に対応付けられている。周波数識別子「1」は、図2(A)に示すように、例えば、「0.2」GHzの周波数パラメータに対応する。電圧識別子「2」は、図2(B)に示すように、例えば、「0.30」Vの電圧パラメータに対応する。このように、「3」の速度レベルは周波数が「0.2」GHzであり、この「0.2」GHzの周波数は、図3(B)に示すように、20%の周波数(処理性能)を意味する。この演算処理装置101は、「0.2」GHzの周波数のクロック信号CKで動作するには、「0.30」Vの電圧V1が必要であることを意味する。
以上のように、速度レベルテーブル114では、速度レベルを大きくすれば、周波数も高くなる。その周波数のクロック信号CKで動作させるためには、低消費電力の観点から、速度レベルテーブル114では、半導体回路が要求する最低限必要な適切な電圧が設定される。
図4(B)は、図4(A)の演算処理装置101とは異なる演算処理装置101の速度レベルテーブル114の例を示す図である。図4(B)の演算処理装置101は、図4(A)の演算処理装置101と同種類の演算処理装置である。したがって、図4(B)の速度レベルテーブル114は、図4(A)の速度レベルテーブル114に対して、速度レベル及び周波数識別子が同様であり、電圧識別子が異なる。各周波数のクロック信号CKで動作させるためには、演算処理装置101のチップ個体毎に適切な電圧が異なる。したがって、同種類の演算処理装置101であっても、チップ個体差により、演算処理装置101毎に、速度レベルテーブル114には異なる電圧識別子が記憶される。
図4(C)は、図4(A)及び図4(B)の演算処理装置101とはさらに異なる演算処理装置101の速度レベルテーブル114の例を示す図である。図4(C)の演算処理装置101は、図4(A)及び図4(B)の演算処理装置101に対して高性能の次世代の演算処理装置である。したがって、図4(C)の速度レベルテーブル114は、図4(A)及び図4(B)の速度レベルテーブル114に対して、システム動作時における標準の周波数(速度レベル「1」)の設定値が高くなるため、速度テーブル全体の周波数識別子及び電圧識別子の対応関係が異なる。次世代の演算処理装置であるため製造ルール、製造過程などの差によって、その周波数に必要な電圧も異なる。その結果、速度レベルテーブル114は、同じ速度レベルであっても、周波数識別子及び電圧識別子が変わる。
図1において、不揮発性メモリ115は、例えばROM(リードオンリーメモリ:Read Only Memory)やフラッシュメモリであり、図4(A)〜(C)に示すような速度レベルテーブル114を記憶する。演算処理装置101の電源をオンにすると、初期化処理により、速度レベルテーブル114の記憶内容は、不揮発性メモリ115に記憶されている速度レベルテーブルの内容に初期化される。不揮発性メモリ115には、演算処理装置101毎に異なる速度レベルテーブルを記憶させることにより、速度レベルテーブル114を演算処理装置101毎に適した記憶内容に初期化することができる。これにより、試験結果により得られた演算処理装置101の個別の電圧に速度レベルテーブル114を初期化することができ、各速度レベルに対する周波数と電圧の関係を容易に変更することができる。また、不揮発性メモリ115は、図2(A)の周波数テーブル124のフラグを記憶し、初期化処理により、周波数テーブル124のフラグは、不揮発性メモリ115に記憶されている周波数テーブルのフラグに初期化される。
制御部118は、ステートマシンを有し、ステートマシンにより状態遷移を制御する。制御部118のステートマシンの詳細を、後に図5を参照しながら説明する。再び図1を参照すると、比較器117は、要求レベルレジスタ111に記憶されている速度レベルと現在レベルレジスタ113に記憶されている速度レベルとを比較し、その比較結果を制御部118に出力する。具体的には、実行部104が要求レベルレジスタ111に速度レベルを書き込むことにより、要求レベルレジスタ111の速度レベルが現在レベルレジスタ113の速度レベルと異なるレベルになると、制御部118は周波数パラメータ及び電圧パラメータの制御を開始する。目標レベルレジスタ112には、要求レベルレジスタ111に記憶されている速度レベルが書き込まれる。
速度レベルセレクタ116は、速度レベルテーブル114の中で、目標レベルレジスタ112に記憶されている速度レベルに対応する周波数識別子及び電圧識別子を選択してそれぞれ周波数比較器119及び電圧比較器120に出力する。
周波数カウンタ122は、判定部121の制御により、目標の速度レベルに対応する速度レベルテーブル114の周波数識別子まで周波数識別子の値をカウントする。電圧カウンタ123は、判定部121の制御により、目標の速度レベルに対応する速度レベルテーブル114の電圧識別子まで電圧識別子の値をカウントする。
周波数比較器119は、周波数カウンタ122によりカウントされた周波数識別子が速度レベルセレクタ116により出力された周波数識別子より小さいときにはアップ信号UPを判定部121に出力し、周波数カウンタ122によりカウントされた周波数識別子が速度レベルセレクタ116により出力された周波数識別子より大きいときにはダウン信号DNを判定部121に出力する。
電圧比較器120は、電圧カウンタ123によりカウントされた電圧識別子が速度レベルセレクタ116により出力された電圧識別子より小さいときにはアップ信号UPを判定部121に出力し、電圧カウンタ123によりカウントされた電圧識別子が速度レベルセレクタ116により出力された電圧識別子より大きいときにはダウン信号DNを判定部121に出力する。
判定部121は、上記のアップ信号UP及びダウン信号DNに応じて、周波数カウンタ122又は電圧カウンタ123にインクリメント信号INC又はデクリメント信号DECを出力する。その詳細は、後に図6を参照しながら説明する。周波数カウンタ122は、インクリメント信号INCを入力すると周波数識別子をインクリメントし、デクリメント信号DECを入力すると周波数識別子をデクリメントする。電圧カウンタ123は、インクリメント信号INCを入力すると電圧識別子をインクリメントし、デクリメント信号DECを入力すると電圧識別子をデクリメントする。
電圧セレクタ127は、電圧カウンタ123によりカウントされた電圧識別子に対応する電圧テーブル126の電圧パラメータを選択し、電圧レギュレータ103に出力する。電圧レギュレータ103は、電圧セレクタ127により出力された電圧パラメータを入力し、その入力した電圧パラメータに応じた大きさの電圧V1を生成し、実行部104に出力する。
フラグセレクタ128は、周波数カウンタ122によりカウントされた周波数識別子に対応する周波数テーブル124のフラグを選択し、フラグチェック部129を介して制御部118に出力する。
周波数セレクタ125は、制御部118の制御の下、フラグチェック部129に入力されたフラグが「1」の場合、周波数カウンタ122によりカウントされた周波数識別子に対応する周波数テーブル124の周波数パラメータを選択し、位相ロックループ回路102に出力する。位相ロックループ回路102は、周波数セレクタ125により出力された周波数パラメータを入力し、その入力した周波数パラメータに応じた周波数のクロック信号CKを生成し、クロック信号CKを実行部104に出力する。
図5は、図1の制御部118が制御する状態遷移を示す図である。制御部118の状態遷移は、アイドル状態S1と、アイドル状態S1以外の制御状態とに分けることができる。初期時は、アイドル状態S1である。実行部104が要求レベルレジスタ111に速度レベルを書き込み、比較器117が要求レベルレジスタ111の速度レベルと現在レベルレジスタ113の速度レベルが異なる旨を制御部118に出力すると、制御部118は、アイドル状態S1から比較状態S2に遷移する。比較状態S2からは、アイドル状態S1、エラー状態S3、周波数カウント状態S4又は電圧カウント状態S5に遷移する。その詳細は、図6を参照しながら説明する。
図6は、図5の比較状態S2から次の状態への遷移を説明するための図である。比較状態S2では、周波数比較器119及び電圧比較器120が比較を行う。周波数比較器119は、周波数カウンタ122によりカウントされた周波数識別子が速度レベルセレクタ116により出力された周波数識別子と同じときには、「0」のアップ信号UP及び「0」のダウン信号DNを出力する。また、周波数比較器119は、周波数カウンタ122によりカウントされた周波数識別子が速度レベルセレクタ116により出力された周波数識別子より小さいときには、「1」のアップ信号UP及び「0」のダウン信号DNを出力する。また、周波数比較器119は、周波数カウンタ122によりカウントされた周波数識別子が速度レベルセレクタ116により出力された周波数識別子より大きいときには、「0」のアップ信号UP及び「1」のダウン信号DNを出力する。
電圧比較器120は、電圧カウンタ123によりカウントされた電圧識別子が速度レベルセレクタ116により出力された電圧識別子と同じときには、「0」のアップ信号UP及び「0」のダウン信号DNを出力する。また、電圧比較器120は、電圧カウンタ123によりカウントされた電圧識別子が速度レベルセレクタ116により出力された電圧識別子より小さいときには、「1」のアップ信号UP及び「0」のダウン信号DNを出力する。また、電圧比較器120は、電圧カウンタ123によりカウントされた電圧識別子が速度レベルセレクタ116により出力された電圧識別子より大きいときには、「0」のアップ信号UP及び「1」のダウン信号DNを出力する。
判定部121は、周波数比較器119のアップ信号UP及びダウン信号DN並びに電圧比較器120のアップ信号UP及びダウン信号DNに応じて、次の状態への遷移を制御部118に指示する。
周波数比較器119のアップ信号UPが「0」、ダウン信号DNが「0」、電圧比較器120のアップ信号UPが「0」、ダウン信号DNが「0」であるときには、制御が終了し、目標の速度レベルに到達したので、比較状態S2からアイドル状態S1に遷移する。アイドル状態S1では、現在レベルレジスタ113に、目標レベルレジスタ112に記憶されている速度レベルが書き込まれる。
周波数比較器119のアップ信号UPが「0」、ダウン信号DNが「0」、電圧比較器120のアップ信号UPが「0」、ダウン信号DNが「1」であるときには、電圧を1段階下げるため、比較状態S2から電圧カウント状態S5に遷移する。判定部121は、デクリメント信号DECを電圧カウンタ123に出力し、電圧カウンタ123は電圧識別子をデクリメントする。
周波数比較器119のアップ信号UPが「0」、ダウン信号DNが「0」、電圧比較器120のアップ信号UPが「1」、ダウン信号DNが「0」であるときには、電圧を1段階上げるため、比較状態S2から電圧カウント状態S5に遷移する。判定部121は、インクリメント信号INCを電圧カウンタ123に出力し、電圧カウンタ123は電圧識別子をインクリメントする。
周波数比較器119のアップ信号UPが「0」、ダウン信号DNが「0」、電圧比較器120のアップ信号UPが「1」、ダウン信号DNが「1」であるときには、矛盾する状態であるので、比較状態S2からエラー状態S3に遷移する。
周波数比較器119のアップ信号UPが「0」、ダウン信号DNが「1」、電圧比較器120のアップ信号UPが「0」、ダウン信号DNが「0」であるときには、周波数を1段階下げるため、比較状態S2から周波数カウント状態S4に遷移する。判定部121は、デクリメント信号DECを周波数カウンタ122に出力し、周波数カウンタ122は周波数識別子をデクリメントする。
周波数比較器119のアップ信号UPが「0」、ダウン信号DNが「1」、電圧比較器120のアップ信号UPが「0」、ダウン信号DNが「1」であるときには、周波数のみを1段階下げるため、比較状態S2から周波数カウント状態S4に遷移する。判定部121は、デクリメント信号DECを周波数カウンタ122に出力し、周波数カウンタ122は周波数識別子をデクリメントする。
周波数比較器119のアップ信号UPが「0」、ダウン信号DNが「1」、電圧比較器120のアップ信号UPが「1」、ダウン信号DNが「0」であるときには、矛盾する状態であるので、比較状態S2からエラー状態S3に遷移する。
周波数比較器119のアップ信号UPが「0」、ダウン信号DNが「1」、電圧比較器120のアップ信号UPが「1」、ダウン信号DNが「1」であるときには、矛盾する状態であるので、比較状態S2からエラー状態S3に遷移する。
周波数比較器119のアップ信号UPが「1」、ダウン信号DNが「0」、電圧比較器120のアップ信号UPが「0」、ダウン信号DNが「0」であるときには、周波数を1段階上げるため、比較状態S2から周波数カウント状態S4に遷移する。判定部121は、インクリメント信号INCを周波数カウンタ122に出力し、周波数カウンタ122は周波数識別子をインクリメントする。
周波数比較器119のアップ信号UPが「1」、ダウン信号DNが「0」、電圧比較器120のアップ信号UPが「0」、ダウン信号DNが「1」であるときには、矛盾する状態であるので、比較状態S2からエラー状態S3に遷移する。
周波数比較器119のアップ信号UPが「1」、ダウン信号DNが「0」、電圧比較器120のアップ信号UPが「1」、ダウン信号DNが「0」であるときには、電圧を1段階上げるため、比較状態S2から電圧カウント状態S5に遷移する。判定部121は、インクリメント信号INCを電圧カウンタ123に出力し、電圧カウンタ123は電圧識別子をインクリメントする。
周波数比較器119のアップ信号UPが「1」、ダウン信号DNが「0」、電圧比較器120のアップ信号UPが「1」、ダウン信号DNが「1」であるときには、矛盾する状態であるので、比較状態S2からエラー状態S3に遷移する。
周波数比較器119のアップ信号UPが「1」、ダウン信号DNが「1」、電圧比較器120のアップ信号UPが「0」、ダウン信号DNが「0」であるときには、矛盾する状態であるので、比較状態S2からエラー状態S3に遷移する。
周波数比較器119のアップ信号UPが「1」、ダウン信号DNが「1」、電圧比較器120のアップ信号UPが「0」、ダウン信号DNが「1」であるときには、矛盾する状態であるので、比較状態S2からエラー状態S3に遷移する。
周波数比較器119のアップ信号UPが「1」、ダウン信号DNが「1」、電圧比較器120のアップ信号UPが「1」、ダウン信号DNが「0」であるときには、矛盾する状態であるので、比較状態S2からエラー状態S3に遷移する。
周波数比較器119のアップ信号UPが「1」、ダウン信号DNが「1」、電圧比較器120のアップ信号UPが「1」、ダウン信号DNが「1」であるときには、矛盾する状態であるので、比較状態S2からエラー状態S3に遷移する。
図5において、エラー状態S3では、ハードウェアにエラーが発生したとして、図3(A)の要求レベルレジスタ111に、エラー情報301として「1」のエラーありの情報が書き込まれる。実行部104は、要求レベルレジスタ111に書き込まれたエラー情報301の内容を確認することによって制御回路にエラーが発生した旨を知ることができる。
電圧カウント状態S5では、次に電圧制御状態S8に遷移する。電圧制御状態S8では、電圧セレクタ127は、電圧カウンタ123によりカウントされた電圧識別子に対応する電圧テーブル126の電圧パラメータを選択し、電圧レギュレータ103に出力する。電圧レギュレータ103は、入力した電圧パラメータに応じた大きさの電圧V1を生成する。電圧制御状態S8の制御が終了すると、次に上記の比較状態S2に戻る。
周波数カウント状態S4では、次にフラグチェック状態S6に遷移する。フラグチェック状態S6では、フラグセレクタ128は、周波数カウンタ122によりカウントされた周波数識別子に対応する周波数テーブル124のフラグを選択し、フラグチェック部129を介して制御部118に出力する。制御部118が「0」のフラグを入力した場合には、フラグチェック状態S6から比較状態S2に戻る。制御部118が「1」のフラグを入力した場合には、フラグチェック状態S6から周波数制御状態S7に遷移する。
周波数制御状態S7では、周波数セレクタ125は、周波数カウンタ122によりカウントされた周波数識別子に対応する周波数テーブル124の周波数パラメータを選択し、位相ロックループ回路102に出力する。位相ロックループ回路102は、入力した周波数パラメータに応じた周波数のクロック信号CKを生成する。周波数制御状態S7の制御が終了すると、次に上記の比較状態S2に戻る。
図7は、図1の演算処理装置101の制御例を示すタイムチャートである。周波数識別子701は、時間経過に対する周波数識別子の変化を示す。電圧識別子702は、時間経過に対する電圧識別子の変化を示す。周波数テーブル124は図2(A)の内容を記憶し、電圧テーブル126は図2(B)の内容を記憶し、速度レベルテーブル114は図4(A)の内容を記憶する例を説明する。
時刻「1」では、要求レベルレジスタ111、目標レベルレジスタ112及び現在レベルレジスタ113は、「2」の速度レベルに設定されている。図4(A)に示すように、「2」の速度レベルは、「5」の周波数識別子及び「15」の電圧識別子に対応する。したがって、周波数カウンタ122はカウント値の周波数識別子701が「5」であり、電圧カウンタ123はカウント値の電圧識別子702が「15」である。位相ロックループ回路102は、「5」の周波数識別子に対応する周波数パラメータを入力し、図2(A)に示すように、「0.6」GHzの周波数のクロック信号CKを生成する。電圧レギュレータ103は、「15」の電圧識別子に対応する電圧パラメータを入力し、図2(B)に示すように、「0.95」Vの電圧V1を生成する。
次に、時刻「3」では、実行部104が要求レベルレジスタ111に、「3」の速度レベルを書き込む。すると、目標レベルレジスタ112には、「3」の速度レベルが書き込まれる。すなわち、要求レベルレジスタ111に記憶されている速度レベルと現在レベルレジスタ113に記憶されている速度レベルとが同じである状態において、要求レベルレジスタ111に現在レベルレジスタ113に記憶されている速度レベルと異なる速度レベルが書き込まれると、要求レベルレジスタ111に書き込まれた速度レベルが目標の速度レベルとして目標レベルレジスタ112に書き込まれる。
以下、「2」の速度レベルから「3」の速度レベルへの変更制御を行う。速度レベルセレクタ116は、図4(A)の速度レベルテーブル114を参照し、「3」の速度レベルに対応する「1」の周波数識別子及び「2」の電圧識別子を選択してそれぞれ周波数比較器119及び電圧比較器120に出力する。周波数比較器119は、周波数カウンタ122が出力する「5」の周波数識別子と速度レベルセレクタ116が出力する「1」の周波数識別子を比較し、「0」のアップ信号UP及び「1」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「15」の電圧識別子と速度レベルセレクタ116が出力する「2」の電圧識別子を比較し、「0」のアップ信号UP及び「1」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、周波数カウンタ122にデクリメント信号DECを出力する。
次に、周波数カウンタ122は、周波数識別子701を「5」から「4」にデクリメントする。フラグセレクタ128は、「4」の周波数識別子701に対応する「0」のフラグを出力する。そのフラグは「0」であるので、比較状態S2に戻る。周波数比較器119は、周波数カウンタ122が出力する「4」の周波数識別子と速度レベルセレクタ116が出力する「1」の周波数識別子を比較し、「0」のアップ信号UP及び「1」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「15」の電圧識別子と速度レベルセレクタ116が出力する「2」の電圧識別子を比較し、「0」のアップ信号UP及び「1」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、周波数カウンタ122にデクリメント信号DECを出力する。次に、周波数カウンタ122は、周波数識別子701を「4」から「3」にデクリメントする。フラグセレクタ128は、「3」の周波数識別子701に対応する「0」のフラグを出力する。そのフラグは「0」であるので、比較状態S2に戻る。上記と同様の処理を繰り返し、周波数識別子701が順次デクリメントされ、周波数識別子701が「1」になる。
次に、時刻「4」では、フラグセレクタ128は、「1」の周波数識別子701に対応する「1」のフラグを出力する。そのフラグは「1」であるので、周波数セレクタ125は、「1」の周波数識別子701に対応する周波数パラメータを位相ロックループ回路102に出力する。位相ロックループ回路102は、「1」の周波数識別子に対応する周波数パラメータを入力し、図2(A)に示すように、「0.2」GHzの周波数のクロック信号CKを生成する。クロック信号CKは、「5」の周波数識別子701の周波数から「1」の周波数識別子701の周波数に変化したことになる。
次に、周波数比較器119は、周波数カウンタ122が出力する「1」の周波数識別子と速度レベルセレクタ116が出力する「1」の周波数識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「15」の電圧識別子と速度レベルセレクタ116が出力する「2」の電圧識別子を比較し、「0」のアップ信号UP及び「1」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、電圧カウンタ123にデクリメント信号DECを出力する。
次に、時刻「5」では、電圧カウンタ123は、電圧識別子702を「15」から「14」にデクリメントする。電圧レギュレータ103は、「14」の電圧識別子に対応する電圧パラメータを入力し、図2(B)に示すように、「0.90」Vの電圧V1を生成する。
次に、周波数比較器119は、周波数カウンタ122が出力する「1」の周波数識別子と速度レベルセレクタ116が出力する「1」の周波数識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「14」の電圧識別子と速度レベルセレクタ116が出力する「2」の電圧識別子を比較し、「0」のアップ信号UP及び「1」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、電圧カウンタ12にデクリメント信号DECを出力する。
次に、時刻「6」では、電圧カウンタ123は、電圧識別子702を「14」から「13」にデクリメントする。電圧レギュレータ103は、「13」の電圧識別子に対応する電圧パラメータを入力し、図2(B)に示すように、「0.85」Vの電圧V1を生成する。
上記と同様の処理を繰り返し、電圧識別子702が順次デクリメントされる。時刻「17」では、周波数カウンタ122の周波数識別子701が「1」になり、電圧カウンタ123の電圧識別子702が「2」になる。電圧レギュレータ103は、「2」の電圧識別子に対応する電圧パラメータを入力し、図2(B)に示すように、「0.30」Vの電圧V1を生成する。
次に、周波数比較器119は、周波数カウンタ122が出力する「1」の周波数識別子と速度レベルセレクタ116が出力する「1」の周波数識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「2」の電圧識別子と速度レベルセレクタ116が出力する「2」の電圧識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、アイドル状態S1に遷移する。アイドル状態S1では、現在レベルレジスタ113に、「3」の速度レベルが書き込まれる。
以上で、「2」の速度レベルから「3」の速度レベルへの変更制御が終了する。速度レベルを「2」から「3」に遅くする場合には、上記のように、まず、周波数識別子701により周波数のみを0.6GHzから0.2GHzまで下げる。その後、電圧識別子702により電圧のみを0.95Vから0.30Vまで、0.05Vずつ段階的に下げる。以上のように、速度レベルを遅くする場合には、まず、周波数識別子701による周波数を下げ、電圧を下げることが可能な状態にしてから、その後に、電圧識別子702による電圧を下げる必要がある。
具体的には、図6に示すように、周波数比較器119が、周波数カウンタ122によりカウントされた周波数識別子701の周波数が速度レベルセレクタ116により出力された周波数識別子の周波数より高い旨の比較結果を出力し、かつ、電圧比較器120が、電圧カウンタ123によりカウントされた電圧識別子702の電圧が速度レベルセレクタ116により出力された電圧識別子の電圧より高い旨の比較結果を出力した場合には、周波数カウンタ122は、周波数が低くなる方向に周波数識別子701をカウントし、電圧カウンタ123は、電圧識別子702のカウントを停止する。
また、周波数比較器119が、周波数カウンタ122によりカウントされた周波数識別子701が速度レベルセレクタ116により出力された周波数識別子と同じである旨の比較結果を出力し、かつ、電圧比較器120が、電圧カウンタ123によりカウントされた電圧識別子702の電圧が速度レベルセレクタ116により出力された電圧識別子の電圧より高い旨の比較結果を出力した場合には、周波数カウンタ122は、周波数識別子701のカウントを停止し、電圧カウンタ123は、電圧が低くなる方向に電圧識別子702をカウントする。
また、周波数比較器119が、周波数カウンタ122によりカウントされた周波数識別子701が速度レベルセレクタ116により出力された周波数識別子と同じである旨の比較結果を出力し、かつ、電圧比較器120が、電圧カウンタ123によりカウントされた電圧識別子702が速度レベルセレクタ116により出力された電圧識別子と同じである旨の比較結果を出力した場合には、周波数カウンタ122は、周波数識別子701のカウントを停止し、電圧カウンタ123は、電圧識別子702のカウントを停止する。
次に、速度レベルを「3」から「0」に速くする変更制御を説明する。時刻「22」では、実行部104が要求レベルレジスタ111に「0」の速度レベルを書き込む。すると、目標レベルレジスタ112には、「0」の速度レベルが書き込まれる。速度レベルセレクタ116は、図4(A)の速度レベルテーブル114を参照し、「0」の速度レベルに対応する「11」の周波数識別子及び「28」の電圧識別子を選択してそれぞれ周波数比較器119及び電圧比較器120に出力する。周波数比較器119は、周波数カウンタ122が出力する「1」の周波数識別子と速度レベルセレクタ116が出力する「11」の周波数識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「2」の電圧識別子と速度レベルセレクタ116が出力する「28」の電圧識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、電圧カウンタ123にインクリメント信号INCを出力する。
次に、時刻「23」では、電圧カウンタ123は、電圧識別子702を「2」から「3」にインクリメントする。電圧レギュレータ103は、「3」の電圧識別子に対応する電圧パラメータを入力し、図2(B)に示すように、「0.35」Vの電圧V1を生成する。
次に、周波数比較器119は、周波数カウンタ122が出力する「1」の周波数識別子と速度レベルセレクタ116が出力する「11」の周波数識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「3」の電圧識別子と速度レベルセレクタ116が出力する「28」の電圧識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、電圧カウンタ123にインクリメント信号INCを出力する。
次に、時刻「24」では、電圧カウンタ123は、電圧識別子702を「3」から「4」にインクリメントする。電圧レギュレータ103は、「4」の電圧識別子に対応する電圧パラメータを入力し、図2(B)に示すように、「0.40」Vの電圧V1を生成する。
上記と同様の処理を繰り返し、電圧識別子702が順次インクリメントされる。時刻「48」では、周波数カウンタ122の周波数識別子701が「1」になり、電圧カウンタ123の電圧識別子702が「28」になる。電圧レギュレータ103は、「28」の電圧識別子に対応する電圧パラメータを入力し、図2(B)に示すように、「1.60」Vの電圧V1を生成する。
次に、周波数比較器119は、周波数カウンタ122が出力する「1」の周波数識別子と速度レベルセレクタ116が出力する「11」の周波数識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「28」の電圧識別子と速度レベルセレクタ116が出力する「28」の電圧識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、周波数カウンタ122にインクリメント信号INCを出力する。
次に、周波数カウンタ122は、周波数識別子701を「1」から「2」にインクリメントする。フラグセレクタ128は、「2」の周波数識別子701に対応する「0」のフラグを出力する。そのフラグは「0」であるので、比較状態S2に戻る。周波数比較器119は、周波数カウンタ122が出力する「2」の周波数識別子と速度レベルセレクタ116が出力する「11」の周波数識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「28」の電圧識別子と速度レベルセレクタ116が出力する「28」の電圧識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、周波数カウンタ122にインクリメント信号INCを出力する。次に、周波数カウンタ122は、周波数識別子701を「2」から「3」にインクリメントする。フラグセレクタ128は、「3」の周波数識別子701に対応する「0」のフラグを出力する。そのフラグは「0」であるので、比較状態S2に戻る。上記と同様の処理を繰り返し、周波数識別子701が順次インクリメントされ、周波数識別子701が「5」になる。
次に、時刻「49」では、フラグセレクタ128は、「5」の周波数識別子701に対応する「1」のフラグを出力する。そのフラグは「1」であるので、周波数セレクタ125は、「5」の周波数識別子701に対応する周波数パラメータを位相ロックループ回路102に出力する。位相ロックループ回路102は、「5」の周波数識別子に対応する周波数パラメータを入力し、図2(A)に示すように、「0.6」GHzの周波数のクロック信号CKを生成する。クロック信号CKは、「1」の周波数識別子701の周波数から「5」の周波数識別子701の周波数に変化したことになる。
次に、周波数比較器119は、周波数カウンタ122が出力する「5」の周波数識別子と速度レベルセレクタ116が出力する「11」の周波数識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「28」の電圧識別子と速度レベルセレクタ116が出力する「28」の電圧識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、周波数カウンタ122にインクリメント信号INCを出力する。
次に、周波数カウンタ122は、周波数識別子701を「5」から「6」にインクリメントする。フラグセレクタ128は、「6」の周波数識別子701に対応する「0」のフラグを出力する。そのフラグは「0」であるので、比較状態S2に戻る。周波数比較器119は、周波数カウンタ122が出力する「6」の周波数識別子と速度レベルセレクタ116が出力する「11」の周波数識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「28」の電圧識別子と速度レベルセレクタ116が出力する「28」の電圧識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、周波数カウンタ122にインクリメント信号INCを出力する。次に、周波数カウンタ122は、周波数識別子701を「6」から「7」にインクリメントする。フラグセレクタ128は、「」の周波数識別子701に対応する「0」のフラグを出力する。そのフラグは「0」であるので、比較状態S2に戻る。上記と同様の処理を繰り返し、周波数識別子701が順次インクリメントされ、周波数識別子701が「9」になる。
次に、時刻「50」では、フラグセレクタ128は、「9」の周波数識別子701に対応する「1」のフラグを出力する。そのフラグは「1」であるので、周波数セレクタ125は、「9」の周波数識別子701に対応する周波数パラメータを位相ロックループ回路102に出力する。位相ロックループ回路102は、「9」の周波数識別子に対応する周波数パラメータを入力し、図2(A)に示すように、「1.0」GHzの周波数のクロック信号CKを生成する。クロック信号CKは、「5」の周波数識別子701の周波数から「9」の周波数識別子701の周波数に変化したことになる。
次に、周波数比較器119は、周波数カウンタ122が出力する「9」の周波数識別子と速度レベルセレクタ116が出力する「11」の周波数識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「28」の電圧識別子と速度レベルセレクタ116が出力する「28」の電圧識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、周波数カウンタ122にインクリメント信号INCを出力する。
次に、時刻「51」では、周波数カウンタ122は、周波数識別子701を「9」から「10」にインクリメントする。フラグセレクタ128は、「10」の周波数識別子701に対応する「1」のフラグを出力する。そのフラグは「1」であるので、周波数セレクタ125は、「10」の周波数識別子701に対応する周波数パラメータを位相ロックループ回路102に出力する。位相ロックループ回路102は、「10」の周波数識別子に対応する周波数パラメータを入力し、図2(A)に示すように、「1.1」GHzの周波数のクロック信号CKを生成する。クロック信号CKは、「9」の周波数識別子701の周波数から「10」の周波数識別子701の周波数に変化したことになる。
次に、周波数比較器119は、周波数カウンタ122が出力する「10」の周波数識別子と速度レベルセレクタ116が出力する「11」の周波数識別子を比較し、「1」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「28」の電圧識別子と速度レベルセレクタ116が出力する「28」の電圧識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、周波数カウンタ122にインクリメント信号INCを出力する。
次に、時刻「52」では、周波数カウンタ122は、周波数識別子701を「10」から「11」にインクリメントする。フラグセレクタ128は、「11」の周波数識別子701に対応する「1」のフラグを出力する。そのフラグは「1」であるので、周波数セレクタ125は、「11」の周波数識別子701に対応する周波数パラメータを位相ロックループ回路102に出力する。位相ロックループ回路102は、「11」の周波数識別子に対応する周波数パラメータを入力し、図2(A)に示すように、「1.2」GHzの周波数のクロック信号CKを生成する。クロック信号CKは、「10」の周波数識別子701の周波数から「11」の周波数識別子701の周波数に変化したことになる。
次に、周波数比較器119は、周波数カウンタ122が出力する「11」の周波数識別子と速度レベルセレクタ116が出力する「11」の周波数識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。電圧比較器120は、電圧カウンタ123が出力する「28」の電圧識別子と速度レベルセレクタ116が出力する「28」の電圧識別子を比較し、「0」のアップ信号UP及び「0」のダウン信号DNを判定部121に出力する。判定部121は、図6に示すように、アイドル状態S1に遷移する。アイドル状態S1では、現在レベルレジスタ113に、「0」の速度レベルが書き込まれる。
以上で、「3」の速度レベルから「0」の速度レベルへの変更制御が終了する。速度レベルを「3」から「0」に速くする場合には、上記のように、まず、電圧識別子702により電圧のみを0.30Vから1.60Vまで、0.05Vずつ段階的に上げる。その後、周波数識別子701により周波数のみを0.2GHzから1.2GHzまで段階的に上げる。以上のように、速度レベルを速くする場合には、まず、電圧識別子702による電圧を上げ、周波数を上げることが可能な状態にしてから、その後に、周波数識別子701による周波数を上げる必要がある。
具体的には、図6に示すように、周波数比較器119が、周波数カウンタ122によりカウントされた周波数識別子701の周波数が速度レベルセレクタ116により出力された周波数識別子の周波数より低い旨の比較結果を出力し、かつ、電圧比較器120が、電圧カウンタ123によりカウントされた電圧識別子702の電圧が速度レベルセレクタ116により出力された電圧識別子の電圧より低い旨の比較結果を出力した場合には、電圧カウンタ123は、電圧が高くなる方向に電圧識別子702をカウントし、周波数カウンタ122は、周波数識別子701のカウントを停止する。
また、周波数比較器119が、周波数カウンタ122によりカウントされた周波数識別子701の周波数が速度レベルセレクタ116により出力された周波数識別子の周波数より低い旨の比較結果を出力し、かつ、電圧比較器120が、電圧カウンタ123によりカウントされた電圧識別子が速度レベルセレクタ116により出力された電圧識別子と同じである旨の比較結果を出力した場合には、周波数カウンタ122は、周波数が高くなる方向に周波数識別子701をカウントし、電圧カウンタ123は、電圧識別子702のカウントを停止する。
また、周波数比較器119が、周波数カウンタ122によりカウントされた周波数識別子701が速度レベルセレクタ116により出力された周波数識別子と同じである旨の比較結果を出力し、かつ、電圧比較器120が、電圧カウンタ123によりカウントされた電圧識別子702が速度レベルセレクタ116により出力された電圧識別子と同じである旨の比較結果を出力した場合には、周波数カウンタ122は、周波数識別子701のカウントを停止し、電圧カウンタ123は、電圧識別子702のカウントを停止する。
本実施形態によれば、演算処理装置101毎に、周波数パラメータの種類及び値並びに電圧パラメータの種類及び値が異なっても、周波数テーブル124及び電圧テーブル126の内容を変えることで対応することができ、実行部104が速度レベルを要求レベルレジスタ111に書き込むプログラムの内容を変える必要がない。したがって、種々の演算処理装置101に対して、簡単に周波数パラメータ及び電圧パラメータの制御を行うことができる。
図4(A)〜(C)に示すように、速度レベルが遅くなるように速度レベルの変更が指示されると、クロック信号CKの周波数が低くなるように制御され、その後に、電圧レギュレータ103が生成する電圧V1が低くなるように制御される。これに対し、速度レベルが速くなるように速度レベルの変更が指示されると、電圧レギュレータ103が生成する電圧V1が高くなるように制御され、その後に、クロック信号CKの周波数が高くなるように制御される。
上記の時刻「3」〜「4」では、現在の「5」の周波数識別子701から目標の「1」の周波数識別子701への低い周波数範囲で周波数識別子701が変更されるので、電源ノイズの影響は小さい。そこで、時刻「3」〜「4」では、周波数識別子701を「5」から「1」に一気に変更する。この場合、電源ノイズはほとんど発生しない。
また、上記の時刻「48」〜「52」では、周波数識別子701が「1」から「11」へ段階的に変更される。その際、現在の「1」の周波数識別子701から目標の「11」の周波数識別子701までのうちの「1」の周波数識別子701から「9」の周波数識別子701までの第1の周波数範囲では、「0.4GHz」の第1の変化量でクロック信号CKの周波数を変化させる。これに対し、現在の「1」の周波数識別子701から目標の「11」の周波数識別子701までのうちの「9」の周波数識別子701から「11」の周波数識別子701までの第2の周波数範囲では、「0.1GHz」の第2の変化量でクロック信号CKの周波数を変化させる。
第1の周波数範囲は、第2の周波数範囲に対して低い周波数の範囲であるので、電源ノイズの影響が小さい。そこで、「1」の周波数識別子701から「9」の周波数識別子701までの第1の周波数範囲では、「0.4GHz」の大きい変化量でクロック信号CKの周波数を変化させる。この場合、電源ノイズはほとんど発生しない。
第2の周波数範囲は、第1の周波数範囲に対して高い周波数の範囲であるので、電源ノイズの影響が大きい。そこで、「9」の周波数識別子701から「11」の周波数識別子701までの第2の周波数範囲では、「0.1GHz」の小さい変化量でクロック信号CKの周波数を変化させる。これにより、電源ノイズを低減することができる。
これに対し、電圧レギュレータ103の現在の電圧識別子702から電圧レギュレータ103の目標の電圧識別子702まで同じ変化量で、電圧レギュレータ103の電圧識別子702は段階的に変化する。
次に、周波数識別子を「11」から「1」に下げる場合を説明する。現在、位相ロックループ回路102は、「11」の周波数識別子に対応する周波数のクロック信号CKを生成している。次に、「10」の周波数識別子に対応するフラグは「1」であるので、位相ロックループ回路102は、「10」の周波数識別子に対応する周波数のクロック信号CKを生成する。次に、「9」の周波数識別子に対応するフラグは「1」であるので、位相ロックループ回路102は、「9」の周波数識別子に対応する周波数のクロック信号CKを生成する。次に、「8」〜「6」の周波数識別子に対応するフラグは「0」であり、「5」の周波数識別子に対応するフラグは「1」であるので、位相ロックループ回路102は、「5」の周波数識別子に対応する周波数のクロック信号CKを生成する。次に、「4」〜「2」の周波数識別に対応するフラグは「0」であり、「1」の周波数識別子に対応するフラグは「1」であるので、位相ロックループ回路102は、「1」の周波数識別子に対応する周波数のクロック信号CKを生成する。
次に、図7の本実施形態は、高速に周波数の変更及び速度レベルの変更を行うことができることを、図8と比較しながら説明する。
図8は、図2(A)の周波数テーブル124のフラグがすべて「1」である場合の演算処理装置101の制御例を示すタイムチャートである。時刻「3」〜「20」では、速度レベルが「2」から「3」に変更される。まず、時刻「3」〜「7」では、周波数識別子801は、「5」から「1」まで、「1」ずつ変更される。次に、時刻「7」〜「20」では、電圧識別子802は、「15」から「2」まで、「1」ずつ変更される。この場合、図7の速度レベルを「2」から「3」に変更するための時間703は、図8の速度レベルを「2」から「3」に変更するための時間803より短いことが分かる。すなわち、図7の本実施形態は、周波数識別子701を「5」から「1」に変更する時の変動量を大きくすることにより、速度レベルの変更時間703を短くすることができる。その結果、図7では、速度レベルを「3」に下げるまでの時間を短くすることができるので、早期に、演算処理装置101の消費電力を低減することができる利点がある。
また、時刻「22」〜「58」では、速度レベルが「3」から「0」に変更される。まず、時刻「22」〜「48」では、電圧識別子802は、「2」から「28」まで、「1」ずつ変更される。次に、時刻「48」〜「58」では、周波数識別子801は、「1」から「11」まで、「1」ずつ変更される。この場合、図7の速度レベルを「3」から「0」に変更するための時間704は、図8の速度レベルを「3」から「0」に変更するための時間804より短いことが分かる。すなわち、図7の本実施形態は、周波数識別子701を「1」から「9」に変更する時の変動量を「9」から「11」に変更する時の変動量より大きくすることにより、速度レベルの変更時間704を短くすることができる。その結果、図7では、速度レベルを「0」に上げるまでの時間を短くことができるので、早期に、演算処理装置101の高速演算が可能になる利点がある。
以上のように、クロック信号CKの周波数を高周波数範囲で急激に大きく変更すると、急激な負荷変動となり、大きな電源ノイズとなる。また、急激な大きな電圧の変更は、電源が不安定となり、動作が安定しなくなる。本実施形態によれば、高周波数範囲ではクロック信号CKの周波数を0.1GHzずつ小さい変動量で変更し、低周波数範囲ではクロック信号CKの周波数を0.4GHzずつ大きい変動量で変更する。また、電圧V1は、現在の電圧から目標の電圧まで0.05Vずつ段階的に変更する。これにより、電源ノイズを防止し、動作を安定化させることができ、高速に速度レベルを変更することができる。
また、目標レベルレジスタ112は、現在、制御中の目標の速度レベルを記憶するので、制御途中であっても、実行部104は、制御の完了を待つことなく、次の速度レベルを要求レベルレジスタ111に書き込むことができる。この書き込みがされても、制御部118による制御が継続され、実行部104からの要求は要求レベルレジスタ111に保持される。制御部118による制御が完了すると現在レベルレジスタ113は目標レベルレジスタ112の速度レベルを保持し、先ほど保持した要求レベルレジスタ111の速度レベルと現在レベルレジスタ113を比較器117で比較し、要求レベルレジスタ111に保持された速度レベルの値と現在レベルレジスタ113に保持された速度レベルの値とが異なる場合には、要求レベルレジスタ111に保持した新たな速度レベルが目標レベルレジスタ112に書き込まれ、次の目標の速度レベルに向けた制御が開始される。この制御は、制御部118が行うため、実行部104が行わなくてよい。実行部104は、速度レベルを要求レベルレジスタ111に書き込むという簡単な処理で、周波数パラメータ及び電圧パラメータの制御を可能にする。本実施形態によれば、目標の速度レベルを与えるだけで、周波数パラメータ及び電圧パラメータを制御することができるので、周波数パラメータ及び電圧パラメータの制御を簡単に行うことができる。
(第2の実施形態)
図9は、第2の実施形態による半導体装置の構成例を示す図である。図9は、図1に対して、セッティング部901を追加したものである。以下、本実施形態が第1の実施形態と異なる点を説明する。セッティング部901は、速度レベルセレクタ116が出力する周波数識別子及び周波数カウンタ122が出力する周波数識別子に応じて、周波数テーブル124のフラグを変更する。具体的には、セッティング部901は、速度レベルセレクタ116が出力する周波数識別子及び周波数カウンタ122が出力する周波数識別子に応じて、周波数テーブル124にフラグを設定する。
図10は、本実施形態による図9の制御部118が制御する状態遷移を示す図である。図10は、図5に対し、セッティング状態S9を追加したものである。初期時は、アイドル状態S1である。実行部104が要求レベルレジスタ111に速度レベルを書き込み、比較器117が要求レベルレジスタ111の速度レベルと現在レベルレジスタ113の速度レベルが異なる旨を制御部118に出力すると、制御部118は、アイドル状態S1からセッティング状態S9に遷移する。セッティング状態S9では、セッティング部901は、速度レベルセレクタ116が出力する周波数識別子及び周波数カウンタ122が出力する周波数識別子に応じて、周波数テーブル124にフラグを設定する。その後、制御部118は、セッティング状態S9から比較状態S2に遷移する。
図11は、セッティング部901が設定する周波数テーブル124のフラグを示す図である。セッティング部901は、周波数カウンタ122が出力する現在の周波数識別子と、速度レベルセレクタ116が出力する目標の周波数識別子に応じて、周波数テーブル124の適切なフラグを設定する。位相ロックループ回路102は、第1の実施形態と同様に、周波数テーブル124のフラグが「1」である周波数識別子の周波数のクロック信号CKを生成する。
まず、現在の周波数識別子が「11」であり、目標の周波数識別子が「9」である場合を説明する。その場合、現在、位相ロックループ回路102は、「11」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「10」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「11」であり、目標の周波数識別子が「5」である場合を説明する。その場合、現在、位相ロックループ回路102は、「11」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「10」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「5」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「11」であり、目標の周波数識別子が「1」である場合を説明する。その場合、現在、位相ロックループ回路102は、「11」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「10」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「1」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「9」であり、目標の周波数識別子が「11」である場合を説明する。その場合、現在、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「10」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「11」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「9」であり、目標の周波数識別子が「5」である場合を説明する。その場合、現在、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「8」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「7」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「5」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「9」であり、目標の周波数識別子が「1」である場合を説明する。その場合、現在、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「8」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「7」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「1」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「5」であり、目標の周波数識別子が「11」である場合を説明する。その場合、現在、位相ロックループ回路102は、「5」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「10」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「11」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「5」であり、目標の周波数識別子が「9」である場合を説明する。その場合、現在、位相ロックループ回路102は、「5」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「7」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「8」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「5」であり、目標の周波数識別子が「1」である場合を説明する。その場合、現在、位相ロックループ回路102は、「5」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「4」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「3」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「1」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「1」であり、目標の周波数識別子が「11」である場合を説明する。その場合、現在、位相ロックループ回路102は、「1」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「10」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「11」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「1」であり、目標の周波数識別子が「9」である場合を説明する。その場合、現在、位相ロックループ回路102は、「1」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「7」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「8」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「9」の周波数識別子の周波数のクロック信号CKを生成する。
次に、現在の周波数識別子が「1」であり、目標の周波数識別子が「5」である場合を説明する。その場合、現在、位相ロックループ回路102は、「1」の周波数識別子の周波数のクロック信号CKを生成している。次に、位相ロックループ回路102は、「3」の周波数識別子の周波数のクロック信号CKを生成する。次に、位相ロックループ回路102は、「4」の周波数識別子の周波数のクロック信号CKを生成する。最後に、位相ロックループ回路102は、「5」の周波数識別子の周波数のクロック信号CKを生成する。
以上のように、目標の周波数識別子が現在の周波数識別子より大きい場合、現在の周波数識別子から目標の周波数識別子までのうちの高周波数側の3個の周波数識別子のフラグを「1」にし、それ以外の周波数識別子のフラグを「0」にする。また、目標の周波数識別子が現在の周波数識別子より小さい場合、現在の周波数識別子から目標の周波数識別子までのうちの高周波数側の3個の周波数識別子のフラグを「1」にし、目標の周波数識別子のフラグを「1」にし、それ以外の周波数識別子のフラグを「0」にする。
また、現在の周波数識別子から目標の周波数識別子までのうちの低周波数範囲では第1の変化量でクロック信号CKの周波数を変化させ、現在の周波数識別子から目標の周波数識別子までのうちの高周波数範囲では第2の変化量でクロック信号CKの周波数を変化させる。低周波数範囲は高周波数範囲に比べて電源ノイズの影響が小さいので、第1の変化量は第2の変化量より大きくする。これにより、周波数の変更及び速度レベルの変更を高速に行うことができる。上記の低周波数範囲及び高周波数範囲は、現在の周波数識別子及び目標の周波数識別子に応じて変化する。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101 演算処理装置
102 位相ロックループ回路
103 電圧レギュレータ
104 実行部
105 メモリ
111 要求レベルレジスタ
112 目標レベルレジスタ
113 現在レベルレジスタ
114 速度レベルテーブル
115 不揮発性メモリ
116 速度レベルセレクタ
117 比較器
118 制御部
119 周波数比較器
120 電圧比較器
121 判定部
122 周波数カウンタ
123 電圧カウンタ
124 周波数テーブル
125 周波数セレクタ
126 電圧テーブル
127 電圧セレクタ
128 フラグセレクタ
129 フラグチェック部

Claims (10)

  1. クロック信号を生成する位相ロックループ回路と、
    電圧を生成する電源部と、
    速度レベルに対応する周波数識別子及び電圧識別子の組みを複数記憶する速度レベルテーブルを有し、現在の速度レベルから目標の速度レベルへの変更が指示されると、前記現在の速度レベルに対応する前記周波数識別子が示す周波数から前記目標の速度レベルに対応する前記周波数識別子が示す周波数に前記位相ロックループ回路が生成するクロック信号の周波数を変更し、前記現在の速度レベルに対応する前記電圧識別子が示す電圧から前記目標の速度レベルに対応する前記電圧識別子が示す電圧に前記電源部が生成する電圧を変更するように制御する制御部とを有し、
    前記制御部は、
    前記周波数識別子と周波数情報とフラグの組みを複数記憶する周波数テーブルと、
    前記電圧識別子及び電圧情報の組みを複数記憶する電圧テーブルと、
    前記現在の速度レベルに対応する前記周波数識別子から前記目標の速度レベルに対応する前記周波数識別子まで周波数識別子の値をカウントする周波数カウンタと、
    前記現在の速度レベルに対応する前記電圧識別子から前記目標の速度レベルに対応する前記電圧識別子まで電圧識別子の値をカウントする電圧カウンタと、
    前記フラグに応じて、前記周波数カウンタによりカウントされた周波数識別子に対応する前記周波数情報を選択して前記位相ロックループ回路に出力する周波数セレクタと、
    前記電圧カウンタによりカウントされた電圧識別子に対応する前記電圧情報を選択して前記電源部に出力する電圧セレクタとを有し、
    前記制御部は、前記フラグに応じて、第1の変化量及び第2の変化量を決定し、前記現在の周波数から前記目標の周波数までのうちの第1の周波数範囲では前記第1の変化量で前記クロック信号の周波数を変化させ、前記現在の周波数から前記目標の周波数までのうちの第2の周波数範囲では前記第2の変化量で前記クロック信号の周波数を変化させることを特徴とする位相ロックループ回路制御装置。
  2. 前記位相ロックループ回路制御装置は、
    前記目標の速度レベルに対応する前記速度レベルテーブルの周波数識別子と前記周波数カウンタによりカウントされた周波数識別子とを比較する周波数比較器と、
    前記目標の速度レベルに対応する前記速度レベルテーブルの電圧識別子と前記電圧カウンタによりカウントされた電圧識別子とを比較する電圧比較器とを有し、
    前記周波数カウンタは、前記周波数比較器の比較結果に応じて、前記周波数識別子の値をカウントアップ又はカウントダウンし、
    前記電圧カウンタは、前記電圧比較器の比較結果に応じて、前記電圧識別子の値をカウントアップ又はカウントダウンすることを特徴とする請求項記載の位相ロックループ回路制御装置。
  3. 前記制御部は、前記クロック信号の周波数が低くなるように変更する場合には、前記電源部が生成する電圧が低くなるように変更し、前記クロック信号の周波数が高くなるように変更する場合には、前記電源部が生成する電圧が高くなるように変更することを特徴とする請求項1又は2記載の位相ロックループ回路制御装置。
  4. 前記制御部は、
    前記速度レベルが遅くなるように前記速度レベルの変更が指示されると、前記クロック信号の周波数が低くなるように制御し、その後に、前記電源部が生成する電圧が低くなるように制御し、
    前記速度レベルが速くなるように前記速度レベルの変更が指示されると、前記電源部が生成する電圧が高くなるように制御し、その後に、前記クロック信号の周波数が高くなるように制御することを特徴とする請求項記載の位相ロックループ回路制御装置。
  5. 前記制御部は、前記電源部の現在の電圧から前記電源部の目標の電圧まで同じ変化量で前記電源部の電圧を段階的に変化させることを特徴とする請求項のいずれか1項に記載の位相ロックループ回路制御装置。
  6. 前記第1の周波数範囲及び前記第2の周波数範囲は、前記現在の周波数及び前記目標の周波数に応じて変化することを特徴とする請求項1〜のいずれか1項に記載の位相ロックループ回路制御装置。
  7. 前記周波数テーブルのフラグは、前記現在の周波数及び前記目標の周波数に応じて変化することを特徴とする請求項1〜6のいずれか1項に記載の位相ロックループ回路制御装置。
  8. 前記第2の周波数範囲は、前記第1の周波数範囲より高い周波数の範囲であることを特徴とする請求項1〜のいずれか1項に記載の位相ロックループ回路制御装置。
  9. 前記第1の変化量は、前記第2の変化量より大きいことを特徴とする請求項1〜のいずれか1項に記載の位相ロックループ回路制御装置。
  10. クロック信号を生成する位相ロックループ回路と、
    電圧を生成する電源部と、
    制御部とを有する位相ロックループ回路の制御方法であって、
    前記制御部は、
    速度レベルに対応する周波数識別子及び電圧識別子の組みを複数記憶する速度レベルテーブルと、
    前記周波数識別子と周波数情報とフラグの組みを複数記憶する周波数テーブルと、
    前記電圧識別子及び電圧情報の組みを複数記憶する電圧テーブルと、
    現在の速度レベルから目標の速度レベルへの変更が指示されると、前記現在の速度レベルに対応する前記周波数識別子から前記目標の速度レベルに対応する前記周波数識別子まで周波数識別子の値をカウントする周波数カウンタと、
    前記現在の速度レベルに対応する前記電圧識別子から前記目標の速度レベルに対応する前記電圧識別子まで電圧識別子の値をカウントする電圧カウンタと、
    前記フラグに応じて、前記周波数カウンタによりカウントされた周波数識別子に対応する前記周波数情報を選択して前記位相ロックループ回路に出力する周波数セレクタと、
    前記電圧カウンタによりカウントされた電圧識別子に対応する前記電圧情報を選択して前記電源部に出力する電圧セレクタとを有し、
    前記制御部が、前記現在の速度レベルに対応する前記周波数識別子が示す周波数から前記目標の速度レベルに対応する前記周波数識別子が示す周波数に前記位相ロックループ回路が生成するクロック信号の周波数を変更し、前記現在の速度レベルに対応する前記電圧識別子が示す電圧から前記目標の速度レベルに対応する前記電圧識別子が示す電圧に前記電源部が生成する電圧を変更するように制御し、
    前記制御部が、前記フラグに応じて、第1の変化量及び第2の変化量を決定し、前記現在の周波数から前記目標の周波数までのうちの第1の周波数範囲では前記第1の変化量で前記クロック信号の周波数を変化させ、前記現在の周波数から前記目標の周波数までのうちの第2の周波数範囲では前記第2の変化量で前記クロック信号の周波数を変化させることを特徴とする位相ロックループ回路の制御方法。
JP2015105572A 2015-05-25 2015-05-25 位相ロックループ回路制御装置及び位相ロックループ回路の制御方法 Active JP6492969B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015105572A JP6492969B2 (ja) 2015-05-25 2015-05-25 位相ロックループ回路制御装置及び位相ロックループ回路の制御方法
US15/064,685 US9698801B2 (en) 2015-05-25 2016-03-09 Phase locked loop circuit control device and control method of phase locked loop circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015105572A JP6492969B2 (ja) 2015-05-25 2015-05-25 位相ロックループ回路制御装置及び位相ロックループ回路の制御方法

Publications (2)

Publication Number Publication Date
JP2016218903A JP2016218903A (ja) 2016-12-22
JP6492969B2 true JP6492969B2 (ja) 2019-04-03

Family

ID=57399173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015105572A Active JP6492969B2 (ja) 2015-05-25 2015-05-25 位相ロックループ回路制御装置及び位相ロックループ回路の制御方法

Country Status (2)

Country Link
US (1) US9698801B2 (ja)
JP (1) JP6492969B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113054B2 (en) 2013-09-10 2021-09-07 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression
US10783102B2 (en) * 2016-10-11 2020-09-22 Oracle International Corporation Dynamically configurable high performance database-aware hash engine
US10725947B2 (en) 2016-11-29 2020-07-28 Oracle International Corporation Bit vector gather row count calculation and handling in direct memory access engine

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064169A (ja) 1992-06-23 1994-01-14 Matsushita Electron Corp 半導体装置
JP2003330549A (ja) 2002-05-10 2003-11-21 Hitachi Ltd 半導体集積回路、電源回路及び情報記録媒体
JP3738245B2 (ja) * 2002-10-02 2006-01-25 株式会社リコー 低電圧動作モードを備える演算部の電源及び上記演算部への給電制御方法
US7693611B2 (en) * 2003-12-31 2010-04-06 Silicon Laboratories, Inc. Power supply control using supply power transition control and dynamic controller parameter(s)
WO2005093956A1 (ja) * 2004-03-29 2005-10-06 Nec Corporation Pll回路
JP5083290B2 (ja) * 2009-10-23 2012-11-28 富士通株式会社 記憶システム
US9454197B2 (en) * 2011-01-28 2016-09-27 Renesas Electronics Corporation Controller and semiconductor system
JP2013196619A (ja) * 2012-03-22 2013-09-30 Fujitsu Ltd 半導体装置及び半導体装置の制御方法
CN104700886B (zh) * 2013-12-06 2019-05-31 恩智浦美国有限公司 具有电源状态传感器的存储器电路

Also Published As

Publication number Publication date
US20160352342A1 (en) 2016-12-01
JP2016218903A (ja) 2016-12-22
US9698801B2 (en) 2017-07-04

Similar Documents

Publication Publication Date Title
US9134782B2 (en) Maintaining optimum voltage supply to match performance of an integrated circuit
CN107852133B (zh) 响应于电源电压变化提供时钟频率调节的电路和方法
JP2013196619A (ja) 半導体装置及び半導体装置の制御方法
US9413361B1 (en) Closed loop clock signal generator with multiple reference clocks
JP6432699B2 (ja) メモリコントローラ
US9182768B2 (en) Voltage optimization circuit and managing voltage margins of an integrated circuit
JP6492969B2 (ja) 位相ロックループ回路制御装置及び位相ロックループ回路の制御方法
US9411360B2 (en) Method to manage current during clock frequency changes
JP2007024865A (ja) 半導体装置
CN105242127A (zh) 用于抖动均衡和相位误差检测的装置、方法和系统
JP7399622B2 (ja) 半導体装置及び半導体装置の制御方法
US8937511B2 (en) Frequency scaling of variable speed systems for fast response and power reduction
US9035710B2 (en) PWM signal generating circuit, printer, and PWM signal generating method
US10411683B2 (en) Information processing device, information processing method, and computer-readable recording medium
JP2007264853A (ja) 入出力共用端子制御回路
JP2003023343A (ja) 遅延信号生成回路
US20130308406A1 (en) Semiconductor device, method for operating the same, and memory system including the same
CN113504826B (zh) 动态电压频率调整电路以及动态电压频率调整方法
US20130222074A1 (en) Oscillation frequency regulating circuit, semiconductor device, electronic device and oscillation frequency regulation method
JP5890998B2 (ja) 半導体装置および電源供給方法
US9847869B1 (en) Frequency synthesizer with microcode control
US9915696B1 (en) Area-efficient performance monitors for adaptive voltage scaling
US20080172568A1 (en) Apparatus for power control of electronic device
JP7173833B2 (ja) 半導体集積回路、及び、同半導体集積回路を備えた装置
CN109901665B (zh) 用于调整时钟频率的存储系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6492969

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150