JP3742364B2 - クロック周波数の制御方法および電子機器 - Google Patents

クロック周波数の制御方法および電子機器 Download PDF

Info

Publication number
JP3742364B2
JP3742364B2 JP2002190890A JP2002190890A JP3742364B2 JP 3742364 B2 JP3742364 B2 JP 3742364B2 JP 2002190890 A JP2002190890 A JP 2002190890A JP 2002190890 A JP2002190890 A JP 2002190890A JP 3742364 B2 JP3742364 B2 JP 3742364B2
Authority
JP
Japan
Prior art keywords
clock frequency
processor
clock
clocks
ratio
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
Application number
JP2002190890A
Other languages
English (en)
Other versions
JP2004038291A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002190890A priority Critical patent/JP3742364B2/ja
Priority to EP03014280A priority patent/EP1376314A1/en
Priority to US10/607,218 priority patent/US7228445B2/en
Publication of JP2004038291A publication Critical patent/JP2004038291A/ja
Application granted granted Critical
Publication of JP3742364B2 publication Critical patent/JP3742364B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、プロセッサのクロック周波数の制御方法に関し、特に、プロセッサを備えた電子機器に適用される電力制御方法に関する。
【0002】
【従来の技術】
従来、コンピュータなどの電子機器において省電力を行う方法の一つとして、プロセッサ(CPUなど)の動作クロック周波数(もしくは動作速度)を低下させることによりプロセッサの消費電力を抑える方法がある。この方法では、プロセッサの使用率や、バッテリ容量、プロセッサの発熱状態などを監視し、それらの情報に基づいて省電力制御を行う。
【0003】
例えば、プロセッサがI/Oデバイスやメモリをアクセスするごとに所定の記憶領域にビジー状態などを示すフラグがセットされるものである場合、オペレーティングシステム(OS)(もしくはOSに付属するドライバソフトウェア)は、そのフラグのセット回数に基づいてプロセッサの負荷の度合いを取得し、これによりプロセッサの使用率を求めることができる。OSは、例えばプロセッサの使用率が低いと判断した場合には、省電力制御においてプロセッサのクロック周波数を低下させる。
【0004】
【発明が解決しようとする課題】
しかしながら、OSの側では、ストール処理に起因してプロセッサの実質的な使用率よりも高い値が認識されてしまう傾向がある。特に、I/Oアクセスの回数やキャッシュミスの回数が多い場合にはそのような現象が生じやすい。
【0005】
すなわち、プロセッサの使用率が実質的に低い状態であっても、OSはその使用率が高いものと判断してしまい、プロセッサのクロック周波数をなかなか低下させようとしないという現象が起こり得る。そのような場合、プロセッサの消費電力を効率よく抑えることができないことになる。
【0006】
一方、特定のハードウェアを別途設けることによってプロセッサの実質的な使用率を検出できるようにすることも考えられる。しかしながら、そのような特定のハードウェアを新たに設けることは、コストの増大や実装スペースの拡張を招くことになるため、望ましいとは言えない。
【0007】
また、特開平11−353052号公報には、コンピュータのパフォーマンス指標と消費電力指標との比をエネルギー指標とし、このエネルギー指標に基づいてCPUの動作速度(動作周波数)を増減させることにより、省電力とパフォーマンスのバランスをとったパワー・マネージメント処理を実施するプロセッサ動作速度制御方法が開示されている。しかし、この文献の技術は、プロセッサの実質的な使用率に着目して省電力化を行うことを目指したものではない。
【0008】
本発明は上記実情に鑑みてなされたものであり、プロセッサの実質的な使用率に見合った消費電力を制御する方法および電子機器を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明に係るクロック周波数の制御方法は、プロセッサを備えた電子機器に適用されるクロック周波数の制御方法であって、前記プロセッサの単位時間当りの実行命令数を取得し、前記プロセッサの単位時間当りのクロック数を取得し、前記クロック数に対する前記実行命令数の割合が所定値を超えているか否かを判定し、前記判定の結果に応じて前記プロセッサのクロック周波数を制御することを特徴とする。
【0010】
また、本発明に係るクロック周波数の制御方法は、プロセッサを備えた電子機器に適用されるクロック周波数の制御方法であって、前記プロセッサの単位時間当りの実行命令数を取得し、前記プロセッサの単位時間当りのクロック数を取得し、前記クロック数に対する前記実行命令数の割合が所定値を超えていないかを判定し、前記割合が所定値を超えていないと判定した場合には、前記プロセッサのクロック周波数を下げるように制御することを特徴とする。
【0011】
また、本発明に係るクロック周波数の制御方法は、プロセッサを備えた電子機器に適用されるクロック周波数の制御方法であって、前記プロセッサの単位時間当りの実行命令数を、所定の時間間隔で取得し、前記プロセッサの単位時間当りのクロック数を取得し、前記クロック数に対する、時間的に前後して取得される二つの実行命令数の差の割合が、所定値を超えているか否かを判定し、前記判定の結果に応じて前記プロセッサのクロック周波数を制御することを特徴とする。
【0012】
また、本発明に係るクロック周波数の制御方法は、プロセッサを備えた電子機器に適用されるクロック周波数の制御方法であって、前記プロセッサの単位時間当りの実行命令数を、所定の時間間隔で取得し、前記プロセッサの単位時間当りのクロック数を、所定の時間間隔で取得し、時間的に前後して取得される個々のクロック数にそれぞれ所定の重み係数を乗じて互いに加算した値に対する、時間的に前後して取得される個々の実行命令数にそれぞれ所定の重み係数を乗じて互いに加算した値の割合が、所定値を超えているか否かを判定し、前記判定の結果に応じて前記プロセッサのクロック周波数を制御することを特徴とする。
【0013】
また、本発明に係る電子機器は、クロック信号を供給するクロック発振器と、前記クロック発振器から供給されるクロック信号に基づいて内部クロックを生成するプロセッサと、前記プロセッサが生成する内部クロックの単位時間当りのクロック数に対する、単位時間当りの実行命令数の割合に応じて、前記内部クロックの周波数を制御する制御手段とを具備することを特徴とする。
【0014】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【0015】
図1は、本発明の一実施形態に係る電子機器の要部構成を示すブロック図である。
【0016】
本実施形態に係る電子機器は、例えばパーソナルコンピュータなどの情報機器であり、主メモリ1、CPU(Central Processing Unit)2、クロック発振器3、I/O(Input/output)デバイス4、記録媒体5などを備えている。
【0017】
主メモリ1は、CPU2のワークエリアとして提供され、CPU2により処理されるOS(Operating System)11、アプリケーション12、パワー・マネージメント・ドライバ13(OS11に含まれる)などを保持している。
【0018】
OS11は、アプリケーション12の動作を制御すると共に、パワー・マネージメント・ドライバ13の動作をも制御する。アプリケーション12は、OS11の管理下で動作するソフトウェアである。また、パワー・マネージメント・ドライバ13は、特定のハードウェアに対応した制御を行うソフトウェアドライバの一種であり、特にパワー・マネージメントを行うためのドライバである。
【0019】
パワー・マネージメント・ドライバ13には、制御部14及びタイマ15が備えられる。制御部14は、本実施形態における省電力を実現するためのソフトウェアに相当するものであり、CPU2の単位時間当りのクロック数(以下、単にクロック数と称す場合がある)に対する、単位時間当りの実行命令数(以下、単に実行命令数と称す場合がある)の割合に応じて、CPU2で生成される内部クロックの周波数を制御する制御機能を有する。上記クロック数および実行命令数については、CPU2から知得することが可能である。上記制御機能の詳細については後で述べる。また、タイマ15は、制御部14によって使用されるものであり、後述するWait時間などをカウントする際に使用される。
【0020】
CPU2は、電子機器全体の制御を司るものであり、主メモリ12をワークエリアとして使用し、各種ソフトウェアを実行する。このCPU2には、実行命令数を保持するレジスタ21が内蔵されている。レジスタ21に保持される実行命令数は、CPU2の処理状況によって変化する。実行命令数は、CPU2の外部から参照することが可能である。
【0021】
また、CPU2には、クロック処理回路22が内蔵されている。このクロック処理回路22は、クロック発振器3から供給されるクロック信号に基づき、CPU2で使用する内部クロックを発生するものである。また、このクロック処理回路22は、制御部14からの指示に従って、内部クロックの周波数を変更する。
【0022】
クロック発振器3は、基本クロック信号を生成してCPU2(の中のクロック処理回路22)へ供給するものである。また、I/Oデバイス4は、CPU2との間でデータの入出力を行うデバイスである。
【0023】
記録媒体5は、HDD(Hard Disk Drive)などに相当するものであり、本電子機器がパワーオフされる際には、上記OS11、アプリケーション12、パワー・マネージメント・ドライバ13などの各種ソフトウェアやデータが保存される。
【0024】
図2は、図1における制御部14の機能構成の一例を示すブロック図である。
【0025】
制御部14は、実行命令数/クロック数取得機能141、判定機能142、閾値テーブル143、クロック周波数変更指示機能144、Wait時間設定機能145を備えている。
【0026】
実行命令数/クロック数取得機能141は、Wait時間設定機能145によって所定の時間間隔で起動され、CPU2のレジスタ21にアクセスすることによって実行命令数を取得すると共に、クロック処理回路にアクセスすることによってクロック数を取得するものである。これらの情報は判定機能142によって使用される。
【0027】
判定機能142は、実行命令数/クロック数取得機能141によって起動され、実行命令数/クロック数取得機能141によって取得された実行命令数およびクロック数を用いて所定の演算(後述)を行い、その演算結果が閾値(所定値)を超えているか否かに応じてCPU2のクロック周波数を上げるべきか下げるべきか(あるいは不変とすべきか)を判定するものである。
【0028】
上記判定機能142で使用される演算の例としては、以下のものが挙げられる。
【0029】
(演算例1)
演算「I/I0」(但し、Iは単位時間当りの実行命令数、I0は単位時間当りのクロック数)を実行する。
【0030】
(演算例2)
演算「(In−In-1)/I0」(但し、Inはn番目に取得された単位時間当りの実行命令数、I0は単位時間当りのクロック数)、もしくは演算「(In-1−In)/I0」を実行する。
【0031】
(演算例3)
演算「(In*αn+In-1*αn-1+ …)/(I0n*αn+I0(n-1)*αn-1+ …)」(但し、Inはn番目に取得された単位時間当りの実行命令数、I0nはn番目に取得された単位時間当りのクロック数、αnはn番目に取得された情報に適用される重み係数)を実行する。この場合、例えば、αnよりもαn-1の方を小さい値にし、αn-1よりもαn-2の方を小さい値にし、…とすることにより、過去に取得された情報よりも最新の情報に重きをおいた演算を実行させることが可能である。なお、重み係数αn,αn-1,…は、予め所定の記憶領域に記憶しておいた基準の重み係数αに基づき、アルゴリズム等を用いて適宜算出される。
【0032】
上記判定機能142は、上記判定に用いる閾値(所定値)を、閾値テーブル143を参照して決定する。閾値テーブル143には、図3に示されるように、各種モード(CPU2の動作モード)の種類に応じて使用されるべき閾値Sの具体的な値が記述されている。図3の例では、CPU2が省電力モードのときは閾値Sを0.9とし、CPU2が標準モードのときは閾値Sを0.5とし、CPU2が高速モードのときは閾値Sを0.1とすることを示している。すわなち、判定機能142は、CPU2の動作モードに対応する閾値(所定値)を、閾値テーブル143を参照することにより決定する。なお、CPU2の動作モード(省電力モード・標準モード・高速モードなど)の情報は、パワー・マネージメント・ドライバ13から取得できるようになっている。
【0033】
クロック周波数変更指示機能144は、判定機能142によって起動され、判定機能142での演算結果が閾値(所定値)を超えているか否かに応じてCPU2のクロック周波数を所定分だけ上げ/下げさせる指示をクロック処理回路22へ送る。この場合のクロック周波数の上げ/下げは、ユーザ側から見てパフォーマンスの変化が殆ど感じられない程度に行う。なお、CPU2の現在のクロック周波数は、CPU2から取得できるようになっている。
【0034】
本実施形態ではクロック処理回路22に対してCPU2のクロック周波数の変更指示を行う構成を示しているが、代わりに、クロック発振器3に対して生成されるクロック周波数の変更指示を行うように構成してもよい。
【0035】
Wait時間設定機能145は、クロック周波数変更指示機能144によって起動され、予め設定されている待ち時間(Wait時間)を経過した後に、実行命令数/クロック数取得機能141を起動する。なお、ここで設定されているWait時間は、必要に応じて変更することが可能である。例えば、現在設定されているCPU2の動作モードの種類に相応しいWait時間となるように設定変更を行うようにしてもよい。
【0036】
次に、図1〜2を参照すると共に、図4〜図6のフローチャートを参照して、本実施形態における3つの動作例を説明する。
【0037】
(第1の動作例)
図4は、前述の演算例1に対応した動作を示している。
【0038】
電子機器の起動時においては、判定機能142は、CPU2の動作モードの種類を認識し、その動作モードに対応する閾値Sを、閾値テーブル143を参照することによって予め取得する(ステップA1)。尚、閾値Sは、動作モード変更時にそのモードに対応する値に変わる。
【0039】
制御部14の実行命令数/クロック数取得機能141により、単位時間当りの実行命令数I、単位時間当りのクロック数I0が取得され、これらの情報が判定機能142に送られる(ステップA2、A3)。
【0040】
次に、判定機能142は、演算「I/I0」(但し、Iは単位時間当りの実行命令数、I0は単位時間当りのクロック数)を実行し、その演算結果が閾値Sを超えているか否かを判定する(ステップA4)。
【0041】
判定機能142により演算結果が閾値Sを超えていると判定された場合(ステップA4のYES)、クロック周波数変更指示機能144は、CPU2のクロック周波数が最高になっていなければ(ステップA5のNO)、そのクロック周波数を所定分だけ上げるための制御を行う(ステップA6)。なお、CPU2のクロック周波数が最高になっていれば(ステップA5のYES)、クロック周波数の変更は行わない。
【0042】
一方、判定機能142により演算結果が閾値Sを超えていないと判定された場合(ステップA4のNO)、クロック周波数変更指示機能144は、CPU2のクロック周波数が最低になっていなければ(ステップA7のNO)、そのクロック周波数を所定分だけ下げるための制御を行う(ステップA8)。なお、CPU2のクロック周波数が最低になっていれば(ステップA7のYES)、クロック周波数の変更は行わない。
【0043】
この後、Wait時間設定機能145は、Wait時間の設定変更を行うべきか否かを判定する(ステップA9)。設定変更を行う場合、Wait時間設定機能145はWait時間の設定変更を行い(ステップA10)、変更後のWait時間の経過を待ち(ステップA11)、Wait時間の経過後に実行命令数/クロック数取得機能141を起動する。一方、設定変更を行わない場合は、Wait時間設定機能145は、既に設定されているWait時間の経過を待ち(ステップA11)、Wait時間の経過後に実行命令数/クロック数取得機能141を起動する。
【0044】
このように第1の動作例では、クロック数に対する実行命令数の割合が所定値を超えているか否かを判定し、その判定結果に応じてCPUのクロック周波数を制御することにより、CPUの実質的な使用率に見合った省電力化を行っている。
【0045】
(第2の動作例)
図5は、前述の演算例2に対応した動作を示している。
【0046】
電子機器の起動時においては、判定機能142は、CPU2の動作モードの種類を認識し、その動作モードに対応する閾値Sを、閾値テーブル143を参照することによって予め取得する(ステップB1)。
【0047】
次に、これから行う実行命令数/クロック数の取得が何番目であるかを示すカウント値nを0とし、これを所定の記憶領域に記憶しておく(ステップB2)。
【0048】
実行命令数/クロック数の取得を開始するため、現在のカウント値に1を加算する(ステップB3)。
【0049】
制御部14の実行命令数/クロック数取得機能141により、単位時間当りの実行命令数I、単位時間当りのクロック数I0が取得され、これらの情報が判定機能142に送られる(ステップB4、B5)。
【0050】
次に、判定機能142は、演算「(In−In-1)/I0」(但し、Inはn番目に取得された単位時間当りの実行命令数、I0は単位時間当りのクロック数)を実行し、その演算結果が閾値Sを超えているか否かを判定する(ステップB6)。
【0051】
判定機能142により演算結果が閾値Sを超えていると判定された場合(ステップB6のYES)、クロック周波数変更指示機能144は、CPU2のクロック周波数が最高になっていなければ(ステップB7のNO)、そのクロック周波数を所定分だけ上げるための制御を行う(ステップB8)。なお、CPU2のクロック周波数が最高になっていれば(ステップB7のYES)、クロック周波数の変更は行わない。
【0052】
一方、判定機能142により演算結果が閾値Sを超えていないと判定された場合(ステップB6のNO)、判定機能142は演算「(In-1−In)/I0」を実行し、その演算結果が閾値Sを超えているか否かを判定する(ステップB9)。ここで、判定機能142により演算結果が閾値Sを超えていると判定された場合(ステップB9のYES)、クロック周波数変更指示機能144は、CPU2のクロック周波数が最低になっていなければ(ステップB10のNO)、そのクロック周波数を所定分だけ下げるための制御を行う(ステップB11)。なお、CPU2のクロック周波数が最低になっていれば(ステップB10のYES)、クロック周波数の変更は行わない。
【0053】
この後、Wait時間設定機能145は、Wait時間の設定変更を行うべきか否かを判定する(ステップB12)。設定変更を行う場合、Wait時間設定機能145はWait時間の設定変更を行い(ステップB13)、変更後のWait時間の経過を待ち(ステップB14)、Wait時間の経過後に実行命令数/クロック数取得機能141を起動する。一方、設定変更を行わない場合は、Wait時間設定機能145は、既に設定されているWait時間の経過を待ち(ステップB14)、Wait時間の経過後に実行命令数/クロック数取得機能141を起動する。
【0054】
このように第2の動作例では、前記クロック数に対する、時間的に前後して取得される二つの実行命令数の差の割合が、所定値を超えているか否かを判定し、その判定結果に応じてCPUのクロック周波数を制御することにより、CPUの実質的な使用率に見合った省電力化を行っている。
【0055】
(第3の動作例)
図6は、前述の演算例3に対応した動作を示している。
【0056】
電子機器の起動時においては、判定機能142は、CPU2の動作モードの種類を認識し、その動作モードに対応する閾値Sを、閾値テーブル143を参照することによって予め取得する。同時に、所定の記憶領域に記憶しておいた重み係数αを予め取得する(ステップC1)。
【0057】
次に、これから行う実行命令数/クロック数の取得が何番目であるかを示すカウント値nを0とし、これを所定の記憶領域に記憶しておく(ステップC2)。
【0058】
実行命令数/クロック数の取得を開始するため、現在のカウント値に1を加算する(ステップC3)。
【0059】
制御部14の実行命令数/クロック数取得機能141により、単位時間当りの実行命令数I、単位時間当りのクロック数I0が取得され、これらの情報が判定機能142に送られる(ステップC4、C5)。
【0060】
次に、判定機能142は、演算「(In*αn+In-1*αn-1+ …)/(I0n*αn+I0(n-1)*αn-1+ …)」(但し、Inはn番目に取得された単位時間当りの実行命令数、I0nはn番目に取得された単位時間当りのクロック数、αnはn番目に取得された情報に適用される重み係数)を実行し、その演算結果が閾値Sを超えているか否かを判定する(ステップC6)。
【0061】
なお、上記演算において、分子の数式と分母の数式に使用すべき項数を所定の数に限定するようにしてもよい。この場合、演算を実行する毎に、最も古く取得された情報に関わる項を演算から適用除外(削除)すればよい。このようにすると、記憶領域に保持しておくべき情報の容量を低減することが可能となる。
【0062】
判定機能142により演算結果が閾値Sを超えていると判定された場合(ステップC6のYES)、クロック周波数変更指示機能144は、CPU2のクロック周波数が最高になっていなければ(ステップC7のNO)、そのクロック周波数を所定分だけ上げるための制御を行う(ステップC8)。なお、CPU2のクロック周波数が最高になっていれば(ステップC7のYES)、クロック周波数の変更は行わない。
【0063】
一方、判定機能142により演算結果が閾値Sを超えていないと判定された場合(ステップC6のNO)、クロック周波数変更指示機能144は、CPU2のクロック周波数が最低になっていなければ(ステップC9のNO)、そのクロック周波数を所定分だけ下げるための制御を行う(ステップC10)。なお、CPU2のクロック周波数が最低になっていれば(ステップC9のYES)、クロック周波数の変更は行わない。
【0064】
この後、Wait時間設定機能145は、Wait時間の設定変更を行うべきか否かを判定する(ステップC11)。設定変更を行う場合、Wait時間設定機能145はWait時間の設定変更を行い(ステップC12)、変更後のWait時間の経過を待ち(ステップC13)、Wait時間の経過後に実行命令数/クロック数取得機能141を起動する。一方、設定変更を行わない場合は、Wait時間設定機能145は、既に設定されているWait時間の経過を待ち(ステップC13)、Wait時間の経過後に実行命令数/クロック数取得機能141を起動する。
【0065】
このように第3の動作例では、時間的に前後して取得される個々のクロック数にそれぞれ所定の重み係数を乗じて互いに加算した値に対する、時間的に前後して取得される個々の実行命令数にそれぞれ所定の重み係数を乗じて互いに加算した値の割合が、所定値を超えているか否かを判定し、その判定結果に応じてCPUのクロック周波数を制御することにより、CPUの実質的な使用率に見合った省電力化を行っている。
【0066】
以上説明したように本実施形態によれば、CPU2の単位時間当りのクロック数に対する、単位時間当りの実行命令数の割合に応じて、CPU2で生成される内部クロックの周波数を制御する制御機能を設けることにより、CPU2の実質的な使用率に見合った消費電力の制御を行うことができる。
【0067】
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。例えば制御部の機能構成は図2に示したものに限定されるものではなく、同じ動作を実現できるのであれば機能構成を変形しても構わない。
【0068】
【発明の効果】
以上詳記したように本発明によれば、プロセッサの実質的な使用率に見合った消費電力を制御することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る電子機器の要部構成を示すブロック図。
【図2】図1における制御部の機能構成の一例を示すブロック図。
【図3】図2における閾値テーブルの内容を説明するための図。
【図4】同実施形態における第1の動作例を示すフローチャート。
【図5】同実施形態における第2の動作例を示すフローチャート。
【図6】同実施形態における第3の動作例を示すフローチャート。
【符号の説明】
1…主メモリ
2…CPU
3…クロック発振器
4…I/Oデバイス
5…記録媒体
11…OS
12…アプリケーション
13…パワー・マネージメント・ドライバ
14…制御部
15…タイマ
21…レジスタ
22…クロック処理回路
141…実行命令数/クロック数取得機能
142…判定機能
143…閾値テーブル
144…クロック周波数変更指示機能
145…Wait時間設定機能

Claims (13)

  1. プロセッサを備えた電子機器に適用されるクロック周波数の制御方法であって、
    前記プロセッサの単位時間当りの実行命令数を取得し、
    前記プロセッサの単位時間当りのクロック数を取得し、
    前記クロック数に対する前記実行命令数の割合が所定値を超えているか否かを判定し、
    前記判定の結果に応じて前記プロセッサのクロック周波数を制御することを特徴とするクロック周波数の制御方法。
  2. 前記実行命令数の取得、前記クロック数の取得、前記判定、及び前記クロック周波数の制御からなる一連の処理を、所定の時間間隔で繰り返し実行することを特徴とする請求項1記載のクロック周波数の制御方法。
  3. プロセッサを備えた電子機器に適用されるクロック周波数の制御方法であって、
    前記プロセッサの単位時間当りの実行命令数を取得し、
    前記プロセッサの単位時間当りのクロック数を取得し、
    前記クロック数に対する前記実行命令数の割合が所定値を超えていないかを判定し、
    前記割合が所定値を超えていないと判定した場合には、前記プロセッサのクロック周波数を下げるように制御することを特徴とするクロック周波数の制御方法。
  4. プロセッサを備えた電子機器に適用されるクロック周波数の制御方法であって、
    前記プロセッサの単位時間当りの実行命令数を、所定の時間間隔で取得し、
    前記プロセッサの単位時間当りのクロック数を取得し、
    前記クロック数に対する、時間的に前後して取得される二つの実行命令数の差の割合が、所定値を超えているか否かを判定し、
    前記判定の結果に応じて前記プロセッサのクロック周波数を制御することを特徴とするクロック周波数の制御方法。
  5. プロセッサを備えた電子機器に適用されるクロック周波数の制御方法であって、
    前記プロセッサの単位時間当りの実行命令数を、所定の時間間隔で取得し、
    前記プロセッサの単位時間当りのクロック数を、所定の時間間隔で取得し、
    時間的に前後して取得される個々のクロック数にそれぞれ所定の重み係数を乗じて互いに加算した値に対する、時間的に前後して取得される個々の実行命令数にそれぞれ所定の重み係数を乗じて互いに加算した値の割合が、所定値を超えているか否かを判定し、
    前記判定の結果に応じて前記プロセッサのクロック周波数を制御することを特徴とするクロック周波数の制御方法。
  6. 前記判定の結果、前記割合が所定値を超えていると判定された場合には前記クロック周波数を上げ、前記割合が所定値を超えていないと判定された場合には前記クロック周波数を下げることを特徴とする請求項1、4、5のいずれかに記載のクロック周波数の制御方法。
  7. 前記所定の時間間隔を可変にすることを特徴とする請求項2、4、5のいずれかに記載のクロック周波数の制御方法。
  8. 前記所定値を可変にすることを特徴とする請求項1、3、4、5のいずれかに記載のクロック周波数の制御方法。
  9. クロック信号を供給するクロック発振器と、
    前記クロック発振器から供給されるクロック信号に基づいて内部クロックを生成するプロセッサと、
    前記プロセッサが生成する内部クロックの単位時間当りのクロック数に対する、単位時間当りの実行命令数の割合に応じて、前記内部クロックの周波数を制御する制御手段と
    を具備することを特徴とする電子機器。
  10. 前記制御手段は、前記クロック数に対する前記実行命令数の割合が所定値を超えているか否かを判定し、前記判定の結果に応じて前記プロセッサのクロック周波数を制御することを特徴とする請求項9記載の電子機器。
  11. 前記制御手段は、前記クロック数に対する、時間的に前後して取得される二つの実行命令数の差の割合が、所定値を超えているか否かを判定し、前記判定の結果に応じて前記プロセッサのクロック周波数を制御することを特徴とする請求項9記載の電子機器。
  12. 前記制御手段は、時間的に前後して取得される個々のクロック数にそれぞれ所定の重み係数を乗じて互いに加算した値に対する、時間的に前後して取得される個々の実行命令数にそれぞれ所定の重み係数を乗じて互いに加算した値の割合が、所定値を超えているか否かを判定し、前記判定の結果に応じて前記プロセッサのクロック周波数を制御することを特徴とする請求項9記載の電子機器。
  13. 前記制御手段は、前記割合が所定値を超えていると判定した場合には前記クロック周波数を上げ、前記割合が所定値を超えていないと判定した場合には前記クロック周波数を下げることを特徴とする請求項10乃至12のいずれかに記載の電子機器。
JP2002190890A 2002-06-28 2002-06-28 クロック周波数の制御方法および電子機器 Expired - Fee Related JP3742364B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002190890A JP3742364B2 (ja) 2002-06-28 2002-06-28 クロック周波数の制御方法および電子機器
EP03014280A EP1376314A1 (en) 2002-06-28 2003-06-25 Clock frequency control method and electronic apparatus
US10/607,218 US7228445B2 (en) 2002-06-28 2003-06-27 Clock frequency control method and electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002190890A JP3742364B2 (ja) 2002-06-28 2002-06-28 クロック周波数の制御方法および電子機器

Publications (2)

Publication Number Publication Date
JP2004038291A JP2004038291A (ja) 2004-02-05
JP3742364B2 true JP3742364B2 (ja) 2006-02-01

Family

ID=29717700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002190890A Expired - Fee Related JP3742364B2 (ja) 2002-06-28 2002-06-28 クロック周波数の制御方法および電子機器

Country Status (3)

Country Link
US (1) US7228445B2 (ja)
EP (1) EP1376314A1 (ja)
JP (1) JP3742364B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4289277B2 (ja) * 2004-10-26 2009-07-01 日本電気株式会社 電子装置、コンピュータ、冷却制御方法、および、冷却制御プログラム
US7469355B1 (en) * 2004-10-26 2008-12-23 Nvidia Corporation Auto tune dynamic over clocking
CN100412814C (zh) * 2005-04-12 2008-08-20 鸿富锦精密工业(深圳)有限公司 中央处理器超频系统及方法
JP2007219854A (ja) * 2006-02-16 2007-08-30 Fujitsu Ltd 出力制御装置および記録媒体駆動装置用制御装置
JP4808108B2 (ja) * 2006-08-29 2011-11-02 パナソニック株式会社 プロセッサシステム
US20080133692A1 (en) * 2006-10-05 2008-06-05 Holt John M Multiple computer system with redundancy architecture
WO2008120274A1 (ja) * 2007-03-29 2008-10-09 Fujitsu Limited 演算能力を制御する処理装置
JP5388864B2 (ja) * 2007-12-13 2014-01-15 パナソニック株式会社 クロック制御装置、クロック制御方法、クロック制御プログラム及び集積回路
JP5311234B2 (ja) * 2008-04-09 2013-10-09 日本電気株式会社 計算機システムとその動作方法
CN103246340A (zh) * 2012-02-06 2013-08-14 索尼公司 动态调整中央处理单元的频率的装置和方法
KR20130110459A (ko) * 2012-03-29 2013-10-10 삼성전자주식회사 시스템-온 칩, 이를 포함하는 전자 시스템 및 그 제어 방법
CN103415823B (zh) * 2012-08-30 2016-05-25 华为终端有限公司 一种控制中央处理器的方法和装置
JP6042217B2 (ja) * 2013-01-28 2016-12-14 ルネサスエレクトロニクス株式会社 半導体装置、電子装置、及び半導体装置の制御方法
US20140237272A1 (en) * 2013-02-19 2014-08-21 Advanced Micro Devices, Inc. Power control for data processor
US9588570B2 (en) * 2013-04-30 2017-03-07 Samsung Electronics Co., Ltd. Apparatus and method for adjusting bandwidth
CN103454492B (zh) * 2013-09-02 2016-02-17 万高(杭州)科技有限公司 电能计量信号处理器的运算频率控制方法
JP6477032B2 (ja) * 2015-03-05 2019-03-06 日本電気株式会社 プロセッサおよびその制御方法
CN106304293B (zh) * 2016-08-30 2019-08-30 广东美的制冷设备有限公司 WiFi模块的单片机控制方法和装置
JP7193718B2 (ja) * 2018-12-19 2022-12-21 富士通株式会社 制御プログラム、情報処理装置及び制御方法
US11327798B1 (en) * 2019-05-08 2022-05-10 Meta Platforms, Inc. Accelerating an application code portion based on a received configuration
WO2021181521A1 (ja) * 2020-03-10 2021-09-16 富士通株式会社 管理装置,コンピュータシステム,温度制御プログラムおよび温度制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924428A (en) * 1987-12-08 1990-05-08 Northern Telecom Limited Real time digital signal processor idle indicator
JPH01292416A (ja) 1988-05-19 1989-11-24 Fuji Facom Corp プロセッサの消費電力低減方式
US5452277A (en) * 1993-12-30 1995-09-19 International Business Machines Corporation Adaptive system for optimizing disk drive power consumption
WO1995031782A1 (en) * 1994-05-12 1995-11-23 Ast Research, Inc. Cpu activity monitoring through cache watching
JP3573957B2 (ja) * 1998-05-20 2004-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ
US6931559B2 (en) * 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism

Also Published As

Publication number Publication date
EP1376314A1 (en) 2004-01-02
US20040073826A1 (en) 2004-04-15
JP2004038291A (ja) 2004-02-05
US7228445B2 (en) 2007-06-05

Similar Documents

Publication Publication Date Title
JP3742364B2 (ja) クロック周波数の制御方法および電子機器
TWI310129B (en) Method, apparatus and system for managing operating points
JP3204251B2 (ja) ハイバネーション装置及び方法、それを格納した記録媒体並びにそれを適用したコンピュータ
KR100858766B1 (ko) 프로세서 시스템의 동적 전력 관리를 위한 방법 및 장치
US7143203B1 (en) Storage device control responsive to operational characteristics of a system
US7539885B2 (en) Method and apparatus for adaptive CPU power management
US7010708B2 (en) Method and apparatus for adaptive CPU power management
EP0730217B1 (en) Power conservation and thermal management arrangements for computers
US5623647A (en) Application specific clock throttling
CN101379453B (zh) 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置
US8135966B2 (en) Method and device for power management
US20050044429A1 (en) Resource utilization mechanism for microprocessor power management
JP5763168B2 (ja) プロセッサパフォーマンスマネジメントシステムからの処理のマスキングによる電源消費の低減
KR20080108460A (ko) 전력 관리 수행 방법 및 컴퓨터 판독가능 매체
US7334138B2 (en) Windows-driven power management for peripheral devices in a computer system
JP2011523149A (ja) スリーププロセッサ
TW200933371A (en) Variably delayed wakeup transition
EP2972826B1 (en) Multi-core binary translation task processing
WO2006056824A2 (en) Apparatus and method for controlling voltage and frequency
Heath et al. Code transformations for energy-efficient device management
Singleton et al. Monitoring of cache miss rates for accurate dynamic voltage and frequency scaling
Heath et al. Application-supported device management for energy and performance
Yan et al. Prefigure: an analytic framework for hdd management
Olsen et al. A work dependent OS timing scheme for power management: Implementation in Linux and modeling of energy savings

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

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: 20051108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101118

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101118

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111118

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121118

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131118

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees