JP4061888B2 - 周波数制御回路 - Google Patents
周波数制御回路 Download PDFInfo
- Publication number
- JP4061888B2 JP4061888B2 JP2001343042A JP2001343042A JP4061888B2 JP 4061888 B2 JP4061888 B2 JP 4061888B2 JP 2001343042 A JP2001343042 A JP 2001343042A JP 2001343042 A JP2001343042 A JP 2001343042A JP 4061888 B2 JP4061888 B2 JP 4061888B2
- Authority
- JP
- Japan
- Prior art keywords
- frequency
- clock
- operating state
- circuit
- margin
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Power Sources (AREA)
Description
【発明の属する技術分野】
本発明は、システムクロックに同期して所定の処理を行うターゲット回路に供給するシステムクロックのクロック周波数を制御する周波数制御回路に関するものである。
【0002】
【従来の技術】
電子回路システムにおける消費電力は、そのシステムを稼動する電源電圧とクロック周波数により決定される。
しかしながら、与えられたプログラムを実行するコンピュータなど、システムによって常に所定の処理を行っているとは限らず、処理すべきタスクが存在する場合に稼動状態となり、そのタスクを処理し、処理すべきタスクが存在しない場合には待機状態となるものもある。
このようなシステムにおいて、システムの稼動状態を観測し、その状態に応じてクロックを制御することにより無駄な消費電力を削減する方法がとられている。
この種の方法としては、たとえば次の2つの方法が知られている。
【0003】
第1の方法は、たとえば特開平11−219237号公報に記載されているように、システムが待機状態になったことを検出して周波数を低減する方法である。
【0004】
また、第2の方法は、特開平11−184554号公報に記載されているように、バスの負荷状況を計測し、所定時間内でのバスアクセス率を計算し、アクセス率に応じてクロックを切替える方法である。
【0005】
【発明が解決しようとする課題】
しかしながら、上述した第1の方法では、システムが待機状態と稼動状態を頻繁に繰り返す場合には、その都度、クロック周波数を切替える処理を行う必要が生じることになる。
また、システムの消費電力を考えた場合、ある程度の時間に亘って稼動状態の割合に応じた低いクロック周波数を供給し、待機状態を削減し、クロック周波数を低くした(下げた)分、供給する電源電圧を下げた方が消費電力の削減効果が期待される。
【0006】
また、第2の方法では、バスのプロトコルに準じてバスの負荷状況を監視する回路を作成する必要があるとともに、システムによっては、必ずしもバスの負荷状況とシステムの負荷状況は一致するとも限らず、汎用性に問題がある。
また、ソフトウエアによりシステムの稼動状態を観測し、クロックの周波数を制御する方法もある。ソフトウエアによる制御は、自由度が高い反面、この処理自体がシステムの負荷を増加させるという問題がある。
【0007】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、システムの稼動状態の割合に応じて、システムに供給するクロックの周波数を自動的に変更することができ、システムの消費電力をアクティビティに応じた最適なものに制御することが可能で、また、汎用性が高く、システムの負荷を軽減できる周波数制御回路を提供することにある。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明の第1の観点に係る周波数制御回路は、複数のクロック周波数のシステムクロックを供給可能で、システムクロックに同期して処理を行う少なくとも一つのターゲット回路に対して、制御信号に応じたクロック周波数のシステムクロックを供給するクロック供給回路と、上記ターゲット回路の稼動状態を示す信号に基づいてシステムクロックのクロックパルスを計測し、一定の時間ごとに上記ターゲット回路の稼動状態を観測する観測手段と、上記観測手段にて観測した上記ターゲット回路の稼動状態に基づきシステムクロックの周波数を決定し、決定したクロック周波数のシステムクロックを供給するように指示する上記制御信号を上記クロック供給回路に出力する制御手段と、を有し、上記ターゲット回路は、稼働状態にあるか待機状態にあるかを示すフラグを設定するフラグレジスタを含み、当該フラグレジスタに設定されたフラグを上記稼働状態を示す信号として上記観測手段に出力し、上記観測手段は、所定の時間を計測するタイマ回路を有し、当該タイマ回路により計測された時間における上記ターゲット回路の稼動状態の割合を算出する。
【0009】
本発明の第2の観点に係る周波数制御回路は、複数のクロック周波数のシステムクロックを供給可能で、システムクロックに同期して処理を行う少なくとも一つのターゲット回路に対して、第1の制御信号に応じたクロック周波数のシステムクロックを供給するクロック供給回路と、第2の制御信号に応じた値の電源電圧を少なくとも上記ターゲット回路に供給する電源電圧供給回路と、上記ターゲット回路の稼動状態を示す信号に基づいてシステムクロックのクロックパルスを計測し、一定の時間ごとに上記ターゲット回路の稼動状態を観測する観測手段と、上記観測手段にて観測した上記ターゲット回路の稼動状態に基づきシステムクロックの周波数を決定し、決定したクロック周波数のシステムクロックを供給するように指示する上記第1の制御信号を上記クロック供給回路に出力し、かつ、クロック供給回路に指示したクロック周波数においてターゲット回路の動作が保証される最低値近傍の電源電圧を供給するように上記第2の制御信号を上記電源電圧供給回路に出力する制御手段とを有し、上記ターゲット回路は、稼働状態にあるか待機状態にあるかを示すフラグを設定するフラグレジスタを含み、当該フラグレジスタに設定されたフラグを上記稼働状態を示す信号として上記観測手段に出力し、上記観測手段は、所定の時間を計測するタイマ回路を有し、当該タイマ回路により計測された時間における上記ターゲット回路の稼動状態の割合を算出する。
【0011】
また、本発明では、上記ターゲット回路が複数存在する場合に、上記観測手段は、各ターゲット回路の稼動状態を示す信号の論理和をとった信号を上記稼動状態を示す信号とし、当該信号に基づいてシステムクロックのクロックパルスを計測する。
好適には、上記各ターゲット回路は、稼働状態にあるか待機状態にあるかを示すフラグを設定するフラグレジスタを含み、当該フラグレジスタに設定されたフラグを上記稼働状態を示す信号として上記観測手段に出力する。
【0013】
また、本発明では、上記制御手段は、上記観測手段で算出された稼動状態の割合にマージンを付加することによりシステムクロックの周波数を決定する。
【0014】
また、本発明では、上記制御手段は、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値より大きい場合は、クロック周波数を高くする決定を行う。
【0015】
また、本発明では、上記制御手段は、現在の周波数より周波数の階調の所定の刻み分だけ高い周波数に次のクロック周波数を決定する。
【0016】
また、本発明では、上記制御手段は、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値より小さい場合は、クロック周波数を低くする決定を行う。
【0017】
また、本発明では、上記制御手段は、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値以下で、かつ、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値以上の場合は、現在のクロック周波数を維持する決定を行う。
【0018】
また、本発明では、上記制御手段は、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値より大きい場合は、クロック周波数を高くする決定を行い、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値より小さい場合は、クロック周波数を低くする決定を行い、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値以下で、かつ、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値以上の場合は、現在のクロック周波数を維持する決定を行う。
【0019】
本発明によれば、たとえばターゲット回路では、多階調のクロック周波数を生成することができるクロック供給回路から供給されるシステムクロックに同期して動作し、待機状態と稼動状態を繰り返しながら、所望の処理が行われる。
ターゲット回路では、稼働状態にあるときには、アクティブであることを示すアクティビティフラグがフラグレジスタにたとえば論理「1」としてセットされる。また、ターゲット回路では、待機状態のときには、フラグレジスタに非アクティブの論理「0」がセットされる。
そして、ターゲット回路からは、フラグレジスタにセットされるアクティビティフラグが観測手段に送出されることにより、その稼動状態が示される。
観測手段においては、たとえばシステムクロックに同期して動作し、ターゲット回路によるアクティビティフラグに従い、ターゲット回路が稼動状態のときのシステムクロックのパルスがカウントされ、このカウント値が制御手段に出力される。
【0020】
制御手段においては、たとえば観測手段でカウントされた稼動状態におけるシステムクロックのパルス数をもとに、所定の計測時間Tにおけるターゲット回路の稼動状態の割合(以下、アクティビティという)が算出される。
そして、たとえば得られたアクティビティが現在の周波数からマージンを差し引いた値より大きい否かの判別が行われる。
このとき、アクティビティが現在の周波数からマージンを差し引いた値より大きいと判別された場合には、システムクロックの周波数を高くする(上げる)必要があり、現在の周波数の周波数刻み分、たとえば現在の周波数より1段階高くした(上げた)周波数を次の周波数とする決定が行われ、決定された周波数選択を指示する制御信号がクロック供給回路に出力される。
【0021】
また、たとえばアクティビティが現在の周波数からマージンを差し引いた値より大きくないと判別された場合には、アクティビティが現在の周波数より周波数刻み分、たとえば1段階低くした(下げた)周波数からマージンを差し引いた値より小さいか否かの判別が行われる。
このとき、たとえばアクティビティが現在の周波数より1段階下げた周波数からマージンを差し引いた値より小さいと判別された場合には、システムクロックの周波数を下げる必要があり、現在の周波数の周波数刻み分、たとえば現在の周波数より1段階下げた周波数を次の周波数とする決定が行われ、決定された周波数選択を指示する信号がクロック供給回路に出力される。
【0022】
また、たとえばアクティビティが現在の周波数より1段階下げた周波数からマージンを差し引いた値より小さくないと判別された場合には、すなわち、上記のいずれの条件も満たさない場合には、現在の周波数を維持するように指示する信号がクロック供給回路に出力される。
そして、クロック供給回路では、制御手段による制御信号により指示されたクロック周波数のシステムクロックが選択され、ターゲット回路に供給される。
【0023】
【発明の実施の形態】
第1実施形態
図1は、本発明に係る周波数制御回路を適用した電子回路システムの第1の実施形態を示すブロック図である。
【0024】
本回路システム10は、図1に示すように、ターゲット回路としてのCPU11、タイマ12、カウンタ13、制御回路14、およびクロック供給回路15を有している。
そして、これらの構成要素のうち、タイマ12、カウンタ13、制御回路14、およびクロック供給回路15により周波数制御回路が構成され、また、タイマ12およびカウンタ13により観測手段が構成される。
【0025】
CPU11が、クロック周波数の制御対象となるシステムのターゲット回路を構成し、後述するように、多階調のクロック周波数を生成することができるクロック供給回路15から供給されるシステムクロックSYSCLKに同期して動作し、待機状態と稼動状態を繰り返しながら、所望のタスクを処理する。
CPU11は、稼働状態にあるときに、アクティブであることを示す1ビットのアクティビティフラグACFLGがセットされるアクティビティフラグレジスタ111を有する。アクティビティフラグレジスタ111には、たとえばCPU11が稼働状態にあるときは、論理「1」のフラグがセットされ、待機状態のときには、非アクティブの論理「0」がセットされる。
CPU11は、レジスタ111にセットされる1ビットのアクティビティフラグACFLGをカウンタ13に送ることにより、その稼動状態を示す。
なお、CPU11のアクティビティを計測するための計測時間Tは、タイマ12により計測される。
【0026】
タイマ12は、周波数が固定のクロックFXCLKに同期して動作することにより、一定の時間を計測し、計測結果をその都度、一致信号S12としてカウンタ13および制御回路14に出力する。
【0027】
図2は、図1のタイマの具体的な構成例を示す図である。
このタイマ12は、図2に示すように、クロックCLKに同期して動作するカウンタ121、カウンタ121のカウント値VCNTと比較する比較値VCMPを保持しておくコンペアレジスタ122、カウンタ121のカウント値VCNTとコンペアレジスタ122に保持された比較値VCMPとを比較するコンパレータ123により構成されている。
【0028】
このタイマ12においては、コンペアレジスタ122に保持される比較値VCMPは制御回路14により信号S141として設定され、カウンタ121のカウント値VCNTが比較値VCMPと一致した時点で、一致したことを報知する一致信号S12がコンパレータ123からカウンタ13および制御回路14に出力される。
また、タイマ12においては、カウンタ121のカウント値VCNTが比較値VCMPと一致する度にカウンタ121はウント値がクリアされる。これにより、コンペアレジスタ122に設定された比較値、換言すれば計測時間Tに従い、一定の周期で一致信号S12が出力される。
【0029】
カウンタ13は、CPU11のアクティビティ(稼動状態の割合)を計測する回路であり、システムクロックSYSCLKに同期して動作し、CPU11によるアクティビティフラグACFLGに従い、CPU11が稼動状態のときのシステムクロックSYSCLKのパルスをカウントし、このカウント値を信号S13として制御回路14に出力する。
【0030】
図3は、図1のカウンタの構成例を示す図である。
このカウンタ13は、図3に示すように、CPU11によるアクティビティフラグACFLGをイネーブル信号とするカウンタであり、アクティビティフラグACFLGが活性化状態のときに、システムクロックSYSCLKに同期してカウント値を加算する。
また、カウンタ13は、タイマ12による一致信号S12をクリア信号として、一致信号S12の入力の度にカウント値を初期化する。
【0031】
図4は、図1のカウンタ13の動作を説明するためのタイミングチャートである。
【0032】
カウンタ13は、図4(C)に示すように、タイマ12から計測時間Tごとに送られてくる一致信号S12に従い、カウント値を初期化する。
そして、図4(B)に示すように、CPU11によるアクティビティフラグACFLGの値が、CPU11の稼動状態を示しているとき(この例ではアクティビティフラグACFLGがハイレベル(論理「1」)のとき)には加算処理を行う。
一方、CPU11によるアクティビティフラグACFLGの値が、CPU11の待機状態を示しているとき(この例ではアクティビティフラグACFLGがローレベル(論理「0」)のとき) には加算処理を停止させる。
【0033】
制御回路14は、タイマ12からの一致信号S12に同期してカウンタ13の値を示す信号S13をとりこみ、所定の計測時間TにおけるCPU11のアクティビティを計測し、この計測したアクティビティに基づき次に設定するシステムクロックSYSCLKの周波数を決定し、決定した周波数を選択させ、システムクロックの周波数を変更させるための制御信号S142をクロック供給回路15に出力する。
また、制御回路14は、上述したように、タイマ12のコンペアレジスタ122に設定すべき比較値VCMPを信号S141としてタイマ12に出力する。
【0034】
クロック供給回路15は、多階調のクロック周波数のシステムクロックSYSCLKを生成することが可能で、制御回路14による制御信号S142により指示されたクロック周波数のシステムクロックSYSCLKを、CPU11、カウンタ13に供給する。
クロック供給回路15は、たとえば複数の周波数のクロックから1つを選択する方法、クロック発振回路の設定を変更する方法などを用いて多階調のクロック周波数を実現可能である。
【0035】
図5は、図1のクロック供給回路の具体的な構成例を示す図である。
このクロック供給回路15は、図5に示すように、所定周波数のクロックを発振する位相同期回路(PLL回路)151、複数の分周比にて複数、たとえば4つのクロック周波数f0,f1,f2,f3のクロックを生成する分周器152、および制御回路14による制御信号S142により指示されたクロック周波数のシステムクロックを選択して出力するセレクタ153により構成されている。
【0036】
このクロック供給回路15においては、PLL回路151のたとえば周波数300MHzの発振クロックが分周器152に供給される。
分周器152では、複数の分周比、たとえば1/3、1/4、1/6、1/12の分周比にてPLL回路15の発振クロックが分周されることにより、たとえばf0(=100MHz),f1(=75MHz),f2(=50MHz),f3(=25MHz)のクロック周波数のクロックが生成され、セレクタ153に供給される。
そして、セレクタ153においては、制御回路14による制御信号S142に従って、所望の周波数のクロックが選択され、システムクロックSYSCLKとしてCPU11、カウンタ13に供給される。
【0037】
上述した本実施形態に係る回路システムの10のクロック周波数の制御方法は、現在のアクティビティから次のクロックの周波数を決定するフィードバック型処理である。必ずしも次のアクティビティも同等になる保証はない。
また、対象となるシステムにおいては、割り込み等予測不可能な処理の増加も考えられる。このため、アクティビティが上がることが予想される。
したがって、システムの周波数の決定にはある程度のマージンを考慮する必要がある場合もある。
また、クロック供給回路15は、多階調の周波数のクロックを生成する分周器152を備えるが、その周波数の階調の刻みも考慮する必要がある。
【0038】
次に、上記構成による動作を、制御回路14においてシステムの周波数の決定にある程度のマージンを考慮し、クロック供給回路15で多階調の周波数の刻みも考慮した場合の動作を、図6のフローチャートに関連付けて説明する。
【0039】
CPU11においては、多階調のクロック周波数を生成することができるクロック供給回路15から供給されるシステムクロックSYSCLKに同期して動作し、待機状態と稼動状態を繰り返しながら、所望のタスクが処理される。
CPU11では、稼働状態にあるときには、アクティブであることを示す1ビットのアクティビティフラグACFLGがレジスタ111に論理「1」としてセットされる。また、CPU11では、待機状態のときには、レジスタ111に非アクティブの論理「0」がセットされる。
そして、CPU11からは、レジスタ111にセットされる1ビットのアクティビティフラグACFLGがカウンタ13に送出されることにより、その稼動状態が示される。
【0040】
また、タイマ12において、カウンタ121のカウント値VCNTがコンペアレジスタ122に保持される比較値VCMPと一致した時点で、一致したことを報知する一致信号S12がコンパレータ123からカウンタ13および制御回路14に出力される。
また、タイマ12においては、カウンタ121のカウント値VCNTが比較値VCMPと一致する度にカウンタ121はウント値がクリアされる。これにより、タイマ12から計測時間Tに従い、一定の周期で一致信号S12が出力される。
【0041】
カウンタ13においては、システムクロックSYSCLKに同期して動作し、CPU11によるアクティビティフラグACFLGに従い、CPU11が稼動状態のときのシステムクロックSYSCLKのパルスがカウントされ、このカウント値が信号S13として制御回路14に出力される。
【0042】
制御回路14においては、カウンタ13でカウントされた稼動状態におけるシステムクロックSYSCLKのパルス数をもとに、所定の計測時間TにおけるシステムのアクティビティACTが計算される(ST1)。
【0043】
そして、得られたアクティビティACTが現在の周波数CFからマージンMGNを差し引いた値より大きい否かの判別が行われる(ST2)。
【0044】
ステップST2において、アクティビティACTが現在の周波数CFからマージンMGNを差し引いた値より大きいと判別された場合には、システムクロックSYSCLKの周波数を上げる必要があり、現在の周波数FCの周波数刻み分、たとえば現在の周波数FCより1段階上げた周波数を次の周波数とする決定が行われ、決定された周波数選択を指示する制御信号S142がクロック供給回路15に出力され(ST3)、ステップST1の処理に戻る。
【0045】
ステップST2において、アクティビティACTが現在の周波数CFからマージンMGNを差し引いた値より大きくないと判別された場合には、アクティビティACTが現在の周波数FCより周波数刻み分、たとえば1段階下げた周波数からマージンMGNを差し引いた値より小さいか否かの判別が行われる(ST4)。
【0046】
ステップST4において、アクティビティACTが現在の周波数FCより1段階下げた周波数からマージンを差し引いた値より小さいと判別された場合には、システムクロックSYSCLKの周波数を下げる必要があり、現在の周波数FCの周波数刻み分、たとえば現在の周波数FCより1段階下げた周波数を次の周波数とする決定が行われ、決定された周波数選択を指示する信号S142がクロック供給回路15に出力され(ST5)、ステップST1の処理に戻る。
【0047】
ステップST4において、アクティビティACTが現在の周波数FCより1段階下げた周波数からマージンを差し引いた値より小さくないと判別された場合には、すなわち、ステップST2およびST4のいずれの条件も満たさない場合には、現在の周波数を維持するように指示する信号S142がクロック供給回路15に出力され(ST6)、ステップST1の処理に戻る。
【0048】
なお、次のシステムクロックの周波数を決定するためには、(1)周波数を上げるための条件、(2)周波数を下げるための条件、(3)周波数を上げる場合の、次の周波数の与え方、(4) 周波数を下げる場合の、次の周波数の与え方を規定すればよい。
【0049】
そして、クロック供給回路15では、制御回路14による制御信号S142により指示されたクロック周波数のシステムクロックSYSCLKが選択され、CPU11、カウンタ13に供給される。
【0050】
このように所定の計測時間Tごとに周波数を変更し、このフローが繰り返されていく。
【0051】
以上説明したように、本第1の実施形態によれば、システムクロックSYSCLKに同期して動作し、待機状態と稼動状態を繰り返しながら、所望のタスクを処理し、レジスタ111にセットされる1ビットのアクティビティフラグACFLGをカウンタ13に送ることにより、その稼動状態を示すCPU11と、周波数が固定のクロックFXCLKに同期して動作することにより、一定の時間を計測し、計測結果をその都度、一致信号S12として出力するタイマ12と、システムクロックSYSCLKに同期して動作し、CPU11によるアクティビティフラグACFLGに従い、CPU11が稼動状態のときのシステムクロックSYSCLKのパルスをカウントし、このカウント値を信号S13として出力するカウンタ13と、タイマ12からの一致信号S12に同期してカウンタ13の値を示す信号S13をとりこみ、所定の計測時間TにおけるCPU11のアクティビティを計測し、この計測したアクティビティに基づき次に設定するシステムクロックSYSCLKの周波数を決定し、決定した周波数を選択させ、システムクロックの周波数を変更させるための制御信号S142を出力する制御回路14と、多階調のクロック周波数のシステムクロックSYSCLKを生成することが可能で、制御回路14による制御信号S142により指示されたクロック周波数のシステムクロックSYSCLKを、CPU11、カウンタ13に供給するクロック供給回路15とを設けたので、システムのアクティビティ(稼動状態の割合)に応じて、システムに供給するクロックの周波数を自動的に変更することができ、システムの消費電力をアクティビティに応じた最適なものに制御することが可能となる利点がある。
また、1ビットのアクティビティフラグによる稼動状態の指定により、システムの構成要素、制御回路ともに汎用性が高い。
また、専用のハードウェアによる制御のため、システムの負荷が増加することがない。
【0052】
第2実施形態
図7は、本発明に係る周波数制御回路を適用した電子回路システムの第2の実施形態を示すブロック図である。
【0053】
本第2の実施形態が上述した第1の実施形態と異なる点は、クロック周波数を制御する対象となるターゲット回路がCPU11のみに限らず、複数の周辺回路16−1,・・・を含むことにある。
【0054】
実際の電子回路システムでは、このように、クロック周波数を制御する対象となるターゲット回路がCPU11のみに限らず、複数の周辺回路16−1,・・・を含む場合が多く、CPU11と周辺回路16−1,・・・が同時に稼動状態である場合もあれば、CPU11が稼動状態で周辺回路16−1が待機状態の場合もある。
また逆に、CPU11が待機状態で、周辺回路16−1が稼動状態の場合もある。
【0055】
本第2の実施形態によれば、このようなシステム10Aにおいて、システム全体の稼動状態を把握するためには、CPU11に加えて周辺回路16−1,・・・もアクティビティフラグを示す。すなわち、周辺回路16−1,・・・もアクティビティフラグレジスタ161を含み、レジスタ161の内容で稼働状態を示す。
【0056】
本第2の実施形態では、これらCPU11および周辺回路16−1,・・・による複数のアクティビティフラグACFLGの論理和がORゲート17においてとられ、その結果が信号S17としてカウント13に出力される。
そして、カウンタ13は、これら複数のアクティビティフラグの論理和をシステム全体の稼動状態を示すアクティビティフラグとみなすことにより、システム全体のアクティビティを計測することができる。
【0057】
本第2の実施形態によれば、周辺回路の数によらず所望の制御を行うことができる。
また、システムの各構成回路は1ビットのアクティビティフラグを出力するだけでよく、従来の回路から容易な修正で実現が可能である。
【0058】
また、本第2の実施形態によれば、CPU11および周辺回路16−1,・・・のアクティビティフラグの論理和を算出する機能を追加するだけで、構成要素の数や種類によらず、同一の制御方法を採用することができ、汎用性が高いという利点がある。
【0059】
第3実施形態
図8は、本発明に係る周波数制御回路を適用した電子回路システムの第3の実施形態を示すブロック図である。
【0060】
本第3の実施形態が上述した第1の実施形態と異なる点は、クロック周波数の制御に加えて、電源電圧を制御する構成を加えた点にある。
【0061】
本第3の実施形態に係る回路システム10Bは、多階調の電源電圧を供給することが可能で、制御回路14Bの制御信号(第2の制御信号)S142Bに応じた値の電源電圧をCPU11等に供給する電源電圧供給回路18を有している。
【0062】
このシステム10Bにおいて、システムクロックSYSCLKの周波数が下げられた場合、システムの動作を保証する範囲内で電源電圧を下げる(低くする)ことが可能となる。
システムの消費電力はシステムクロックの周波数に比例し、電源電圧の2乗に比例するため、更なる消費電力の削減ができる。
【0063】
図5の回路システム10Bにおいては、制御回路14Bによる制御信号S142B(第1の制御信号)の指示に従いクロック供給回路15から供給されるシステムクロックSTSCLKの周波数が変更され、あるいはそのままに保持される。
このとき、制御回路14Bは、クロック供給回路15に指示した周波数においてシステムの動作が保証される最低の電源電圧VDDを供給するように電源電圧供給回路18に指示する。
電源電圧供給回路18は、制御回路14Bの制御信号(第2の制御信号)S142Bの指示に従い、システムに供給する電源電圧VDDを変動させ、あるいはそのままに保持させる。
【0064】
本第3の実施形態によれば、上述した第1の実施形態の効果に加えて、より効率的な低消費電力化が実現できる利点がある。
【0065】
なお、本第3の実施形態に係るクロック周波数クロック周波数の制御に加えて、電源電圧を制御する構成は、図7に関連付けて説明した第2の実施形態に係るシステムに適用することも可能である。
【0066】
【発明の効果】
以上説明したように、本発明によれば、システムの稼動状態の割合を算出することにより、より効率的な低消費電力化を実現できる。
また、1ビットのアクティビティフラグによる稼動状態の指定により、システムの構成要素、制御回路ともに汎用性がある。
さらに、専用のハードウェアによる制御のため、システムの負荷の増加を防止できる利点がある。
また、本発明によれば、電源電圧制御を加えることにより効率的な低消費電力化を実現できる。
【図面の簡単な説明】
【図1】本発明に係る周波数制御回路を適用した電子回路システムの第1の実施形態を示すブロック図である。
【図2】本実施形態に係るタイマの具体的な構成例を示す図である。
【図3】本実施形態に係るカウンタの構成例を示す図である。
【図4】本実施形態に係るカウンタの動作を説明するためのタイミングチャートである。
【図5】本実施形態に係るクロック供給回路の具体的な構成例を示す図である。
【図6】本実施形態に係るアクティビティに基づき次に設定するシステムクロックの周波数を決定する動作を説明するためのフローチャートである。
【図7】本発明に係る周波数制御回路を適用した電子回路システムの第2の実施形態を示すブロック図である。
【図8】本発明に係る周波数制御回路を適用した電子回路システムの第3の実施形態を示すブロック図である。
【符号の説明】
10,10A,10B…電子回路システム、11…CPU、12…タイマ、121…カウンタ、122…コンペアレジスタ、123…コンパレータ、13…カウンタ、14…制御回路、15…クロック供給回路、151…位相同期回路(PLL回路)、152…分周器、153…セレクタ、16−1〜…周辺回路、17…ORゲート、18…電源電圧供給回路。
Claims (20)
- 複数のクロック周波数のシステムクロックを供給可能で、システムクロックに同期して処理を行う少なくとも一つのターゲット回路に対して、制御信号に応じたクロック周波数のシステムクロックを供給するクロック供給回路と、
上記ターゲット回路の稼動状態を示す信号に基づいてシステムクロックのクロックパルスを計測し、一定の時間ごとに上記ターゲット回路の稼動状態を観測する観測手段と、
上記観測手段にて観測した上記ターゲット回路の稼動状態に基づきシステムクロックの周波数を決定し、決定したクロック周波数のシステムクロックを供給するように指示する上記制御信号を上記クロック供給回路に出力する制御手段と、
を有し、
上記ターゲット回路は、
稼働状態にあるか待機状態にあるかを示すフラグを設定するフラグレジスタを含み、当該フラグレジスタに設定されたフラグを上記稼働状態を示す信号として上記観測手段に出力し、
上記観測手段は、
所定の時間を計測するタイマ回路を有し、当該タイマ回路により計測された時間における上記ターゲット回路の稼動状態の割合を算出する
周波数制御回路。 - 上記ターゲット回路が複数存在する場合に、上記観測手段は、各ターゲット回路の稼動状態を示す信号の論理和をとった信号を上記稼動状態を示す信号とし、当該信号に基づいてシステムクロックのクロックパルスを計測する
請求項1記載の周波数制御回路。 - 上記各ターゲット回路は、稼働状態にあるか待機状態にあるかを示すフラグを設定するフラグレジスタを含み、当該フラグレジスタに設定されたフラグを上記稼働状態を示す信号として上記観測手段に出力する
請求項2記載の周波数制御回路。 - 上記制御手段は、上記観測手段で算出された稼動状態の割合にマージンを付加することによりシステムクロックの周波数を決定する
請求項1記載の周波数制御回路。 - 上記制御手段は、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値より大きい場合は、クロック周波数を高くする決定を行う
請求項4記載の周波数制御回路。 - 上記制御手段は、現在の周波数より周波数の階調の所定の刻み分だけ高い周波数に次のクロック周波数を決定する
請求項5記載の周波数制御回路。 - 上記制御手段は、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値より小さい場合は、クロック周波数を低くする決定を行う
請求項4記載の周波数制御回路。 - 上記制御手段は、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値以下で、かつ、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値以上の場合は、現在のクロック周波数を維持する決定を行う
請求項4記載の周波数制御回路。 - 上記制御手段は、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値より大きい場合は、クロック周波数を高くする決定を行い、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値より小さい場合は、クロック周波数を低くする決定を行い、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値以下で、かつ、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値以上の場合は、現在のクロック周波数を維持する決定を行う
請求項4記載の周波数制御回路。 - 上記制御手段は、現在の周波数より周波数の階調の所定の刻み分だけ高い周波数に次のクロック周波数を決定する
請求項9記載の周波数制御回路。 - 複数のクロック周波数のシステムクロックを供給可能で、システムクロックに同期して処理を行う少なくとも一つのターゲット回路に対して、第1の制御信号に応じたクロック周波数のシステムクロックを供給するクロック供給回路と、
第2の制御信号に応じた値の電源電圧を少なくとも上記ターゲット回路に供給する電源電圧供給回路と、
上記ターゲット回路の稼動状態を示す信号に基づいてシステムクロックのクロックパルスを計測し、一定の時間ごとに上記ターゲット回路の稼動状態を観測する観測手段と、
上記観測手段にて観測した上記ターゲット回路の稼動状態に基づきシステムクロックの周波数を決定し、決定したクロック周波数のシステムクロックを供給するように指示する上記第1の制御信号を上記クロック供給回路に出力し、かつ、クロック供給回路に指示したクロック周波数においてターゲット回路の動作が保証される最低値近傍の電源電圧を供給するように上記第2の制御信号を上記電源電圧供給回路に出力する制御手段と
を有し、
上記ターゲット回路は、
稼働状態にあるか待機状態にあるかを示すフラグを設定するフラグレジスタを含み、当該フラグレジスタに設定されたフラグを上記稼働状態を示す信号として上記観測手段に出力し、
上記観測手段は、
所定の時間を計測するタイマ回路を有し、当該タイマ回路により計測された時間における上記ターゲット回路の稼動状態の割合を算出する
周波数制御回路。 - 上記ターゲット回路が複数存在する場合に、上記観測手段は、各ターゲット回路の稼動状態を示す信号の論理和をとった信号を上記稼動状態を示す信号とし、当該信号に基づいてシステムクロックのクロックパルスを計測する
請求項11記載の周波数制御回路。 - 上記各ターゲット回路は、稼働状態にあるか待機状態にあるかを示すフラグを設定するフラグレジスタを含み、当該フラグレジスタに設定されたフラグを上記稼働状態を示す信号として上記観測手段に出力する
請求項12記載の周波数制御回路。 - 上記制御手段は、上記観測手段で算出された稼動状態の割合にマージンを付加することによりシステムクロックの周波数を決定する
請求項11記載の周波数制御回路。 - 上記制御手段は、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値より大きい場合は、クロック周波数を高くする決定を行う
請求項14記載の周波数制御回路。 - 上記制御手段は、現在の周波数より周波数の階調の所定の刻み分だけ高い周波数に次のクロック周波数を決定する
請求項15記載の周波数制御回路。 - 上記制御手段は、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値より小さい場合は、クロック周波数を低くする決定を行う
請求項14記載の周波数制御回路。 - 上記制御手段は、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値以下で、かつ、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値以上の場合は、現在のクロック周波数を維持する決定を行う
請求項14記載の周波数制御回路。 - 上記制御手段は、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値より大きい場合は、クロック周波数を高くする決定を行い、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値より小さい場合は、クロック周波数を低くする決定を行い、算出された稼動状態の割合が現在の周波数からマージンを差し引いた値以下で、かつ、算出された稼動状態の割合が現在の周波数から周波数の階調の所定の刻み分だけ低い周波数からマージンを差し引いた値以上の場合は、現在のクロック周波数を維持する決定を行う
請求項14記載の周波数制御回路。 - 上記制御手段は、現在の周波数より周波数の階調の所定の刻み分だけ高い周波数に次のクロック周波数を決定する
請求項19記載の周波数制御回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001343042A JP4061888B2 (ja) | 2001-11-08 | 2001-11-08 | 周波数制御回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001343042A JP4061888B2 (ja) | 2001-11-08 | 2001-11-08 | 周波数制御回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003140768A JP2003140768A (ja) | 2003-05-16 |
JP4061888B2 true JP4061888B2 (ja) | 2008-03-19 |
Family
ID=19156800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001343042A Expired - Fee Related JP4061888B2 (ja) | 2001-11-08 | 2001-11-08 | 周波数制御回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4061888B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007141020A (ja) * | 2005-11-21 | 2007-06-07 | Seiko Epson Corp | データ処理装置及び電子機器 |
US8352759B2 (en) * | 2010-01-11 | 2013-01-08 | Qualcomm Incorporated | System and method of monitoring a central processing unit in real time |
JP5946251B2 (ja) | 2011-07-06 | 2016-07-06 | ルネサスエレクトロニクス株式会社 | 半導体装置およびシステム |
JP5806529B2 (ja) | 2011-07-06 | 2015-11-10 | ルネサスエレクトロニクス株式会社 | 半導体装置、それを用いた無線通信端末、及びクロック周波数制御方法 |
CN117561563A (zh) * | 2022-04-26 | 2024-02-13 | 西安青松光电技术有限公司 | 一种参数确定方法、装置、设备及存储介质 |
-
2001
- 2001-11-08 JP JP2001343042A patent/JP4061888B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003140768A (ja) | 2003-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11709534B2 (en) | Method and apparatus for managing global chip power on a multicore system on chip | |
US8924765B2 (en) | Method and apparatus for low jitter distributed clock calibration | |
JP4118849B2 (ja) | 電圧を調整するためのシステム及び方法 | |
US6225840B1 (en) | Clock generation circuit which reduces a transition time period and semiconductor device using the same | |
JP4061888B2 (ja) | 周波数制御回路 | |
US20040000939A1 (en) | Clock generation circuit and clock conversion circuit | |
US6778418B2 (en) | Power-supply voltage frequency control circuit | |
JP2003324944A (ja) | 電源回路 | |
US6597735B1 (en) | Timer assembly for generating a PWM signal | |
US20100295582A1 (en) | Clock circuit for digital circuit | |
KR100347557B1 (ko) | 펄스신호발생장치 및 펄스신호발생방법 | |
JPS61246840A (ja) | 情報処理装置の性能調整方式 | |
US20040095169A1 (en) | Clock generating circuit including memory for regulating delay amount of variable delay circuit in ring oscillator | |
KR20150049424A (ko) | 모터 구동 제어장치 및 그 제어방법 | |
US8384463B2 (en) | Clock supply circuit and control method thereof | |
EP0946912B1 (en) | Reduction of electromagnetic emission | |
JPS61105629A (ja) | クロツク制御方式 | |
JP2006500813A (ja) | 遅延の予測に基づく適応データ処理スキーム | |
JP3000783B2 (ja) | 車両用発電機の励磁電流制御装置 | |
JP3979062B2 (ja) | 周波数制御回路 | |
JPS63200918A (ja) | 放電加工装置 | |
JPH11345129A (ja) | インターバルタイマ回路 | |
JP2000235437A (ja) | 電子機器の省電力化装置および電子機器の省電力化方法 | |
JP3012001B2 (ja) | パルス発生方法およびその装置 | |
JPH11327701A (ja) | マイクロコンピュ−タ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040727 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070810 |
|
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: 20071204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071217 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |