JP2009025964A - 消費電力の制御方法 - Google Patents

消費電力の制御方法 Download PDF

Info

Publication number
JP2009025964A
JP2009025964A JP2007186979A JP2007186979A JP2009025964A JP 2009025964 A JP2009025964 A JP 2009025964A JP 2007186979 A JP2007186979 A JP 2007186979A JP 2007186979 A JP2007186979 A JP 2007186979A JP 2009025964 A JP2009025964 A JP 2009025964A
Authority
JP
Japan
Prior art keywords
power consumption
processor
counter
power
event occurrence
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.)
Withdrawn
Application number
JP2007186979A
Other languages
English (en)
Inventor
Takuma Koseki
拓真 小関
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.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
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 Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2007186979A priority Critical patent/JP2009025964A/ja
Publication of JP2009025964A publication Critical patent/JP2009025964A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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

  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

【課題】アプリケーションのパフォーマンスを犠牲にすることなく、既存のコンピュータシステムの消費電力の制御を行うことができる消費電力の制御方法を提供する。
【解決手段】ハードウェアカウンタは、プロセッサが動作する時の基本クロックのクロック数をカウントする第1のカウンタと、プロセッサ内で発生した各種のイベントの回数をカウントする第2のカウンタとを備える。電力制御部は、プロセッサのイベント発生率からシステムの消費電力を算出するための消費電力算出データを備え、プロセッサの動作中の所定の一定時間毎に、第1および第2のカウンタのカウント値を読み出し、読み出した第1および第2のカウンタのカウント値からプロセッサの単位時間当たりのイベント発生率を算出し、消費電力算出データに基づいて、算出したイベント発生率からシステムの消費電力を算出し、算出した消費電力からシステムの消費電力を制御する処理を行う。
【選択図】図6

Description

本発明は、プロセッサを搭載するシステム(コンピュータシステム)における消費電力の制御方法に関するものである。
従来は、コンピュータシステムの消費電力の制御方法の一例として、システムソフトウェア(OS)が、実行中のアプリケーションによる負荷が低い場合を判定し、その場合に消費電力の低減機構を動作させるものが知られている。
ところが、システムの消費電力は、その負荷だけによって決定できるものではない。そのため、システムの消費する電力の上限を設けたり、与えられた電力容量内で必要な時間コンピュータシステムを動作させたりするような細やかな制御ができなかった。
その改善策の1つとして、例えば、特許文献1に開示の消費電力参照機能を持つコンピュータシステムおよびその制御方法が提案されている。特許文献1には、コンピュータシステムが消費した電力を、システム上で動作するプログラムが知り、実際に消費した電力を元に以降のコンピュータシステムの動作を修正する手段を実現することにより、消費電力を制御する方法が示されている。
しかし、特許文献1に開示の方法では、電源部に、消費電力を測定する消費電力測定部を設ける必要がある。そのため、既存のコンピュータシステムに適用することが難しいという問題がある。また、消費電力測定部がプロセッサの外部に設けられているため、プロセッサから消費電力測定部へのアクセスが発生すると、他のアプリケーションのパフォーマンスが低下する可能性があるという問題もある。
特開2003−140782号公報
本発明の目的は、前記従来技術に基づく問題点を解消し、アプリケーションのパフォーマンスを犠牲にすることなく、既存のコンピュータシステムの消費電力の制御を行うことができる消費電力の制御方法を提供することにある。
上記目的を達成するために、本発明は、プロセッサと、ハードウェアカウンタと、電力制御部とが一体型に構成されたシステムの消費電力を制御する方法であって、
前記ハードウェアカウンタは、前記プロセッサが動作する時の基本クロックのクロック数をカウントする第1のカウンタと、前記プロセッサ内で発生した各種のイベントの回数をカウントする第2のカウンタとを備え、
前記電力制御部は、前記プロセッサのイベント発生率から前記システムの消費電力を算出するための消費電力算出データを備え、前記プロセッサの動作中の所定の一定時間毎に、前記ハードウェアカウンタを構成する第1および第2のカウンタのカウント値を読み出し、前記読み出した第1および第2のカウンタのカウント値から前記プロセッサの単位時間当たりのイベント発生率を算出し、前記消費電力算出データに基づいて、前記算出したプロセッサの単位時間当たりのイベント発生率から前記システムの消費電力を算出し、前記算出したシステムの消費電力から前記システムの消費電力を制御する処理を行うことを特徴とする消費電力の制御方法を提供するものである。
ここで、前記プロセッサの単位時間当たりのイベント発生率を、前記第2のカウンタのカウント値/前記第1のカウンタのカウント値によって求めることが好ましい。
また、前記消費電力算出データは、前記イベント発生率に対する前記システムの消費電力の変化量×前記プロセッサのイベント発生率によって表される前記システムの消費電力の算出式であるか、もしくは、前記プロセッサのイベント発生率と消費電力との関係が登録されたテーブル形式の消費電力データベースであることが好ましい。
本発明によれば、電源内に消費電力測定部を取り付けることなく、既存のシステムの消費電力を算出することが可能となる。また、消費電力の測定は、システム内に設けられたハードウェアカウンタのカウント値を読み出し、消費電力算出式による演算もしくは短時間の消費電力データベースへのアクセスを行うだけでよいので、測定および処理によって占有されるプロセッサ時間は短くなる。その結果、アプリケーションのパフォーマンスを犠牲にすることなく、既存システムの消費電力の制御を行うことができる。
以下に、添付の図面に示す好適実施形態に基づいて、本発明の消費電力の制御方法を詳細に説明する。
図1は、本発明の消費電力の制御方法を適用するプロセッサを含むシステムの構成を表す概念図である。同図に示すコンピュータシステム10は、プロセッサ12と、ハードウェアカウンタ14と、電力制御部16とによって構成されている。システム10は、その外部に配置されたバッテリー18と電源線20によって接続されており、バッテリー18から供給される電源で動作する。
システム10において、プロセッサ12、ハードウェアカウンタ14、電力制御部16は一体型に構成されている。すなわち、プロセッサ12、ハードウェアカウンタ14および電力制御部16は、同一半導体チップ上に搭載されている。
プロセッサ12は、通常、命令を実行する命令実行ユニット、命令を記憶する命令キャッシュやデータを記憶するデータキャッシュなどのキャッシュを搭載している(図示省略)。プロセッサ12は、どのような構成のものでも利用可能である。
ハードウェアカウンタ14は、第1のカウンタと、第2のカウンタとによって構成されている(図示省略)。第1のカウンタは、プロセッサ12が動作する時の基本クロックのクロック数をカウントするカウンタである。第2のカウンタは、プロセッサ12内で発生した各種のイベントの回数、例えば、キャッシュへのアクセスの回数や、命令の実行回数をカウントするカウンタである。
電力制御部16は、プロセッサ12のイベント発生率からシステム10の消費電力を算出するための消費電力算出データを備えている。消費電力算出データは、例えば、システム10の消費電力の算出式(後述する算出式(2))、もしくは、プロセッサ12のイベント発生率と消費電力との関係(相関)が登録されたテーブル形式の消費電力データベース(後述する表1)等である。消費電力算出データは、電力制御部16がシステム10の消費電力を制御する処理を行う前にあらかじめ算出される。
電力制御部16は、プロセッサ12の動作中の所定の一定時間毎に、ハードウェアカウンタ14を構成する第1および第2のカウンタのカウント値を読み出し、読み出した第1および第2のカウンタのカウント値からプロセッサ12の単位時間当たりのイベント発生率を算出し、消費電力算出データに基づいて、算出したプロセッサ12の単位時間当たりのイベント発生率からシステム10の消費電力を算出する。そして、算出したシステムの消費電力からシステム10の消費電力を制御する処理(消費電力の低減を優先する、もしくは、処理速度を優先する)を行う。
例えば、バッテリー18から電源を供給されて動作するシステム10の場合、その残りの駆動時間を算出し、目標とする駆動時間を達成できるかどうかを判断する。達成できると判断した場合にはシステム10を通常動作モード(そのままの状態)とし、達成できないと判断した場合には低消費電力モードにして駆動時間を延長する。その他、クロックの周波数を変更(上昇、もしくは、低下)したり、回路の一部を停止ないし再開したりするなどの、システム10の消費電力を制御する処理を行う。
次に、キャッシュ使用率と消費電力との関係を算出する手順を説明する。以下の説明は、プロセッサ12のイベント発生率として、データキャッシュをアクセスする時のキャッシュ使用率を例に挙げて行う。
図2は、キャッシュ使用率と消費電力との関係を算出する時のシステムの接続状態を表す概念図である。同図に示すように、キャッシュ使用率と消費電力との関係を算出する場合、システム10とバッテリー18とを接続する電源線20の途中に、所定の抵抗値Rを持つ抵抗素子22を接続し、この抵抗素子22の両端の間に電圧計24を並列に接続する。抵抗素子22の抵抗値Rは既知の固定値である。
以下、図5に示すフローチャートを参照して説明する。
キャッシュ使用率と消費電力との関係を算出する場合、まず、ハードウェアカウンタ14に含まれる、クロックカウンタ(第1のカウンタ)およびキャッシュアクセスカウンタ(第2のカウンタ)を同時にリセットして、計測を開始する(S11)。クロックカウンタは、クロックのサイクル数をカウントするカウンタであり、データキャッシュカウンタは、データキャッシュへのアクセス回数をカウントするカウンタである。
その後、所定の一定時間の間に、所定数のデータアクセス命令群を実行し、その時の電圧計24の計測値からシステム10の消費電力を算出する(S12)。一定時間およびデータアクセス命令群の数は既知の固定値である。抵抗素子22の抵抗値Rと電圧計24で計測した電圧値Vとから、システム10に流れる電流量I(I=V/R)を算出し、電圧値Vと電流量Iとから、システム10の消費電力P(P=IV)を算出する。
ここで、データアクセス命令群の実行は、所定のメモリ空間のデータをあらかじめデータキャッシュに記憶しておき、前述の所定のメモリ空間にアクセスし、擬似的にデータキャッシュをアクセスすることによって行われる。
図3は、データアクセス命令群を実行する一例のプログラムリストを表す。同図に示すプログラムのルーチン名はLabel1である。LOAD from Memory (Cacheble)は、前述の所定のメモリアドレス、すなわち、擬似的にデータキャッシュからデータを読み出す命令である。NOPは、何もしない命令であり、クロックのサイクル数のみがカウントされる。ADD Counter+1は、プログラム内部のカウンタのカウント値を+1する命令である。JUMP Label1 (LOOP)は、ルーチンLabel1の先頭に戻って、このルーチンを初めから再度実行するループ命令である。
なお、測定を正確に行うためには、データアクセス命令群は、図3に示す例のように、電圧計24の電圧値Vがほぼ一定となるように、ループが十分短く、データアクセス命令以外の命令の影響が極力少ないことが望ましい。
図3に示すプログラムでは、データキャッシュからデータを読み出す命令を所定回数実行し、その後、何もせずにクロックを所定回数カウントすることを、前述の所定の一定時間の間繰り返し行う。所定の一定時間の間、クロックカウンタは、クロックのサイクル数をカウントし、データキャッシュカウンタは、データキャッシュへのアクセス回数をカウントする。
所定の一定時間の経過後に、クロックカウンタのカウント値およびデータアクセスカウンタのカウント値を読み出し(S13)、これらのカウント値からキャッシュ使用率を算出する(S14)。一定時間は変えずに、データアクセス命令群の数を所定数ずつ増やしながら(S15)、上記動作を所定回数繰り返して、キャッシュ使用率と消費電力との関係を表す、図4のグラフ1ないしグラフ2を得る(S16)。
グラフ1が得られた場合、消費電力は、データキャッシュへのアクセスの割合に比例して増加していることが分かる。従って、データキャッシュ使用率をU、その時のシステム10の消費電力をP、クロックカウンタのカウント値をC、データアクセスカウンタのカウント値をD、データキャッシュの使用率Uに対するシステム10の消費電力の変化量(図4に示すグラフ1の傾きに等しい)をAとすれば、消費電力Pは、下記算出式(1)および(2)に示す一次式によって表される。
U=D/C … (1)
P=A×U … (2)
一方、図4のグラフ2のように、1次式で表現することが難しい結果が得られた場合、表1に一例を示すように、データキャッシュの使用率Uを、所定の一定値毎に増加させた時の、システム10の消費電力を算出し、テーブル形式でデータベース化しても良い。表1の例では、データキャッシュの使用率Uを0,20,…,100まで20%毎に増加させた時の、システム10の消費電力Pを算出している。
Figure 2009025964
表1の例では、キャッシュ使用率とそれに対応する消費電力を、0%〜100%の間で20%刻みで登録しているが、これに限定されず、何%刻みでキャッシュ使用率と消費電力を登録しても良い。
次に、図6に示すフローチャートを参照して、システム10の消費電力を制御する処理を行う時の手順を説明する。
システム10の消費電力を制御する処理を行う場合、まず、クロックカウンタおよびキャッシュアクセスカウンタを同時にリセットして、計測を開始する(S21)。計測の開始は、アプリケーション実行時の任意のタイミングで行うことができる。
続いて、所定の一定時間の間、任意のプログラムでシステム10を動作させる(S22)。所定の一定時間は任意の時間であるが、バッテリー18が目標とする駆動時間を達成できるかどうかを判断するための性能測定時間となる。
その後、クロックカウンタのカウント値Cおよびデータキャッシュカウンタのカウント値Dを読み出す(S23)。そして、前述の式(1)からキャッシュ使用率Uを算出し、算出したキャッシュ使用率Uに基づいて、式(2)からシステム10の消費電力を算出する(S24)、もしくは、表1に示すテーブル形式の消費電力データベースから、算出したキャッシュ使用率Uに対応するシステム10の消費電力を求める(S24)。
表1に示すテーブル形式の消費電力データベースからシステム10の消費電力を算出する場合、登録されているキャッシュ使用率の中から、算出したキャッシュ使用率Uに最も近いキャッシュ使用率に対応する消費電力を選択する。
例えば、算出したキャッシュ使用率Uが55%であれば、表1において最も近い60%を選択し、これに対応する消費電力=21mWを得る。この場合、隣接する2値のキャッシュ使用率の間の消費電力が単調に増加していると仮定すると、2値の消費電力の間の補間演算を行い、算出したキャッシュ使用率Uに対応する消費電力を算出することによって、さらに正確な値を得ることもできる。
続いて、システム10の消費電力の算出結果に基づいて、バッテリー18の残りの駆動時間を算出する(S25)。これによって、システム10の現在の動作状態で、目標とする駆動時間を達成できるかどうかを判断する(S26)。その結果、電力制御部16は、目標とする駆動時間を達成できると判断した場合(S26でYES)には変更なし(通常動作モード)とし(S27)、達成できないと判断した場合(S26でNO)には、低消費電力モードに変更して駆動時間を引き延ばす処理を行う(S28)。
本実施形態の消費電力の制御方法であれば、特許文献1のように、電源内に消費電力測定部を取り付けることなく、システム10の消費電力を算出することが可能となる。また、消費電力の測定は、システム10内に設けられたハードウェアカウンタのカウント値を読み出して、消費電力の算出式による演算、もしくは、短時間の消費電力データベースへのアクセスを行うだけでよいので、測定および処理によって占有されるプロセッサ時間は短くなる。その結果、アプリケーションのパフォーマンスを犠牲にすることなく、既存のコンピュータシステムの消費電力の制御を行うことができる。
なお、データキャッシュをアクセスする時のキャッシュ使用率だけを対象として説明したが、本発明はこれに限らず、これに加えて、プロセッサの命令キャッシュをアクセスする時のキャッシュ使用率や、命令実行ユニットを使用する時の使用率などを含む、プロセッサ内でのイベントの回数に応じてプロセッサの消費電力を算出し、その算出結果に応じてシステムの消費電力を制御する処理を行うことができる。
また、通常動作モードと低消費電力モードとを切り替える例を挙げて説明したが、これも限定されず、消費電力の異なる3以上の動作モードを設けておき、算出したプロセッサの消費電力に応じて、3以上の動作モードを適宜切り替えるようにしても良い。実施形態では、電圧計を使用しているが、電流計を使用して、プロセッサのイベントの発生率と消費電力との関係を測定することもできる。
本発明は、基本的に以上のようなものである。
以上、本発明の消費電力の制御方法について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
本発明の消費電力の制御方法を適用するプロセッサを含むシステムの構成を表す概念図である。 キャッシュ使用率と消費電力との関係を算出する時のシステムの接続状態を表す概念図である。 データアクセス命令群を実行する一例のプログラムリストを表す概念図である。 キャッシュ使用率と消費電力との関係を表すグラフである。 キャッシュ使用率と消費電力との関係を算出する手順を表すフローチャートである。 システムの消費電力を制御する処理を行う時の手順を表すフローチャートである。
符号の説明
10 コンピュータシステム
12 プロセッサ
14 ハードウェアカウンタ
16 電力制御部
18 バッテリー
20 電源線
22 抵抗素子
24 電圧計

Claims (4)

  1. プロセッサと、ハードウェアカウンタと、電力制御部とが一体型に構成されたシステムの消費電力を制御する方法であって、
    前記ハードウェアカウンタは、前記プロセッサが動作する時の基本クロックのクロック数をカウントする第1のカウンタと、前記プロセッサ内で発生した各種のイベントの回数をカウントする第2のカウンタとを備え、
    前記電力制御部は、前記プロセッサのイベント発生率から前記システムの消費電力を算出するための消費電力算出データを備え、前記プロセッサの動作中の所定の一定時間毎に、前記ハードウェアカウンタを構成する第1および第2のカウンタのカウント値を読み出し、前記読み出した第1および第2のカウンタのカウント値から前記プロセッサの単位時間当たりのイベント発生率を算出し、前記消費電力算出データに基づいて、前記算出したプロセッサの単位時間当たりのイベント発生率から前記システムの消費電力を算出し、前記算出したシステムの消費電力から前記システムの消費電力を制御する処理を行うことを特徴とする消費電力の制御方法。
  2. 前記プロセッサの単位時間当たりのイベント発生率を、前記第2のカウンタのカウント値/前記第1のカウンタのカウント値によって求めることを特徴とする請求項1に記載の消費電力の制御方法。
  3. 前記消費電力算出データは、前記イベント発生率に対する前記システムの消費電力の変化量×前記プロセッサのイベント発生率によって表される前記システムの消費電力の算出式であることを特徴とする請求項2に記載の消費電力の制御方法。
  4. 前記消費電力算出データは、前記プロセッサのイベント発生率と消費電力との関係が登録されたテーブル形式の消費電力データベースであることを特徴とする請求項2に記載の消費電力の制御方法。
JP2007186979A 2007-07-18 2007-07-18 消費電力の制御方法 Withdrawn JP2009025964A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007186979A JP2009025964A (ja) 2007-07-18 2007-07-18 消費電力の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007186979A JP2009025964A (ja) 2007-07-18 2007-07-18 消費電力の制御方法

Publications (1)

Publication Number Publication Date
JP2009025964A true JP2009025964A (ja) 2009-02-05

Family

ID=40397729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007186979A Withdrawn JP2009025964A (ja) 2007-07-18 2007-07-18 消費電力の制御方法

Country Status (1)

Country Link
JP (1) JP2009025964A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244393A (ja) * 2009-04-08 2010-10-28 Renesas Electronics Corp パフォーマンス評価装置、及びパフォーマンス評価方法
JP2010262472A (ja) * 2009-05-07 2010-11-18 Nec Corp 消費電力量算出装置
WO2014033941A1 (ja) * 2012-09-03 2014-03-06 株式会社日立製作所 計算機システムおよび計算機システムの制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244393A (ja) * 2009-04-08 2010-10-28 Renesas Electronics Corp パフォーマンス評価装置、及びパフォーマンス評価方法
JP2010262472A (ja) * 2009-05-07 2010-11-18 Nec Corp 消費電力量算出装置
WO2014033941A1 (ja) * 2012-09-03 2014-03-06 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JPWO2014033941A1 (ja) * 2012-09-03 2016-08-08 株式会社日立製作所 計算機システムおよび計算機システムの制御方法

Similar Documents

Publication Publication Date Title
JP5547718B2 (ja) 電源マネージャ及び電源管理方法
KR101526051B1 (ko) 열적 제어 장치 및 방법론
US7519511B2 (en) Method for measuring quantity of usage of CPU
TWI528168B (zh) 微處理器、操作微處理器的方法以及電腦程式產品
WO2017096338A1 (en) Execution time prediction for energy-efficient computer systems
KR20100081130A (ko) 시스템 온 칩 및 그 구동 방법
US8762744B2 (en) Energy management system configured to generate energy management information indicative of an energy state of processing elements
JP2009025964A (ja) 消費電力の制御方法
US9323642B2 (en) Calculation apparatus, calculation method, and recording medium for calculation program
US10578656B2 (en) Method and apparatus for monitoring energy consumption
CN104685473B (zh) 一种软件测试方法及装置
US9223573B2 (en) Data processing device and method of controlling the same
US20110107072A1 (en) Method for self-diagnosing system management interrupt handler
US6643609B2 (en) Performance measurement for embedded systems
WO2009026361A2 (en) Method, system and apparatus for measuring an idle value of a central processing unit
JP2016170004A (ja) モータ制御回路および電子時計
JP2012191684A (ja) パルス生成回路及びモータ装置
JP7173833B2 (ja) 半導体集積回路、及び、同半導体集積回路を備えた装置
JP2017111745A (ja) 半導体装置、半導体システム、及び、半導体装置の制御方法
Liang et al. Performance evaluation for dynamic voltage and frequency scaling using runtime performance counters
JP2012173920A (ja) 情報処理装置
JP2013105388A (ja) 割り込み回路及び割り込み方法
JP2008097410A (ja) 制御装置およびそのソフトウェア実行負荷測定方法
JP2001337847A (ja) プロセッサ回路
JP2012038174A (ja) デジタル信号処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101005