JP2011100449A - 動的電圧周波数スケーリング方法 - Google Patents

動的電圧周波数スケーリング方法 Download PDF

Info

Publication number
JP2011100449A
JP2011100449A JP2010238708A JP2010238708A JP2011100449A JP 2011100449 A JP2011100449 A JP 2011100449A JP 2010238708 A JP2010238708 A JP 2010238708A JP 2010238708 A JP2010238708 A JP 2010238708A JP 2011100449 A JP2011100449 A JP 2011100449A
Authority
JP
Japan
Prior art keywords
microprocessor
duration
power level
unit
section
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.)
Granted
Application number
JP2010238708A
Other languages
English (en)
Other versions
JP5694735B2 (ja
JP2011100449A5 (ja
Inventor
Jong-Lae Park
鐘 来 朴
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2011100449A publication Critical patent/JP2011100449A/ja
Publication of JP2011100449A5 publication Critical patent/JP2011100449A5/ja
Application granted granted Critical
Publication of JP5694735B2 publication Critical patent/JP5694735B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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
    • 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
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Control Of Electrical Variables (AREA)

Abstract

【課題】動的電圧周波数スケーリング方法を提供する。
【解決手段】
動的電圧周波数スケーリング方法によれば、マイクロプロセッサの単位作業負荷率が第1持続区間で単位区間ごとに計算され、第1持続区間の長さが単位作業負荷率の変化量に基づいて指数的に変更され、マイクロプロセッサの区間作業負荷率が第1持続区間でマイクロプロセッサの単位作業負荷率が累積することによって計算され、マイクロプロセッサの電力レベルがマイクロプロセッサの区間作業負荷率に基づいて変更される。従って、マイクロプロセッサの未来電力レベルが正確に予測されることができ、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下および電力消費が防止されることができる。
【選択図】図1

Description

本発明は、電子機器に関し、さらに詳細には電子機器内部のマイクロプロセッサのための動的電圧周波数スケーリング方法に関するものである。
電子機器は、マイクロプロセッサが高い動作周波数及びそれに伴う高い動作電圧で動作しているため、多くの電力を消費している。特に、制限された容量のバッテリーに基づいて動作する移動通信端末機などのような携帯用電子機器では、マイクロプロセッサの高い電力消費が大きな問題として認識されている。したがって、電子機器の動作モードを使用モード(running mode)とアイドルモード(idle mode)に区分し、電子機器の動作モードによってマイクロプロセッサの動作周波数及び動作電圧を変更する動的電圧及び周波数スケーリング(Dynamic Voltage and Frequency Scaling;DVFS)が提示されている。
一般的に、動的電圧周波数スケーリングは、持続区間でマイクロプロセッサの現在の作業負荷率をモニタリングし、その結果によってマイクロプロセッサの未来電力レベルを予測する方式で、マイクロプロセッサの電力レベルを変更することである。しかし、従来の動的電圧周波数スケーリング方法は、持続区間が相対的に長く、マイクロプロセッサの未来電力レベルを正確に予測できない場合があり、または、持続区間が相対的に短く、マイクロプロセッサの動作周波数または、動作電圧を変更する回数の増加に伴う性能低下及び電力消費が大きいという問題点がある。
米国特許出願公開第2008−098254号明細書 米国特許出願公開第2009−049314号明細書 米国特許出願公開第2007−168055号明細書 特開平11−224233号公報
本発明の目的は、マイクロプロセッサの未来電力レベルを正確に予測でき、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費を減少させることができる動的電圧周波数スケーリング方法を提供することである。
本発明の目的を達成するために、本発明の一実施形態に係る動的電圧周波数スケーリング方法によれば、マイクロプロセッサの単位作業負荷率(unit workload rate)が第1持続区間で単位区間ごとに計算され、前記第1持続区間の長さが前記単位作業負荷率の変化量に基づいて指数的(exponentially)に変更され、前記マイクロプロセッサの区間作業負荷率は、前記第1持続区間で前記単位作業負荷率を累積することによって計算することができる。また、前記マイクロプロセッサの電力レベルを前記区間作業負荷率に基づいて変更することができる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記電力レベルは,前記マイクロプロセッサの動作周波数または動作電圧に対応することができる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記単位作業負荷率の計算は、前記単位区間ごとに前記マイクロプロセッサのアクティブ(active)区間が計算され、前記単位区間ごとに前記マイクロプロセッサのアイドル(idle)区間が計算され、前記アクティブ区間及び前記アイドル区間に基づいて前記単位作業負荷率を推定することによって行われる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記単位作業負荷率の計算は下記の[式1]を利用して行われる。
Figure 2011100449
「前記式において、UWRは単位作業負荷率を示し、UTは単位区間を示し、ATは単位区間でのアクティブ区間を示し、ITは単位区間でのアイドル区間を示す。」
前記動的電圧周波数スケーリング方法の実施形態によれば、前記アクティブ区間は、前記マイクロプロセッサにメインクロック信号が印加される区間に対応でき、前記アイドル区間は、前記マイクロプロセッサに前記メインクロック信号が印加されない区間に対応することができる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記アクティブ区間及び前記アイドル区間は運営体制(Operating System)によって決定される。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記第1持続区間の長さは、前記変化量が安定基準値より大きければ、前記第1持続区間の長さが指数的に増加し、前記変化量が前記安定基準値より小さければ、前記第1持続区間の長さが指数的に減少し、前記変化量が前記安定基準値と同一であれば、前記第1持続区間の長さが維持される。
前記動的電圧周波数スケーリング方法の実施形態によると、前記第1持続区間の長さの変更は下記の[式2]を利用して行われる。
Figure 2011100449
「前記式において、FPRは変更前の第1持続区間の長さを示し、SPRは変更後の第1持続区間の長さを示し、rは使用者が決定する指数の比(exponential ratio)を示し、dUWRは単位作業負荷率の変化量を示し、SVは安定基準値を示す。」
前記動的電圧周波数スケーリング方法の実施形態によれば、前記第1持続区間の長さは、予め設定された最大区間の長さと予め設定された最小区間の長さとの間で変更される。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記区間作業負荷率の計算は、前記単位作業負荷率に加重値を適用することによって行うことができる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記区間作業負荷率の計算は、下記の[式3]を利用して行うことができる。
Figure 2011100449
「前記式において、PWRは区間作業負荷率を示し、UWRxはX番目の段位作業負荷率を示し、Cは加重値を示し、第1持続区間はn個の単位区間の和に対応する。」
前記動的電圧周波数スケーリング方法の実施形態によれば、前記電力レベルは、前記区間作業負荷率がアップ基準値より大きければ前記電力レベルが増加し、前記区間作業負荷率がダウン基準値より小さければ前記電力レベルが減少し、前記区間作業負荷率が前記アップ基準値と前記ダウン基準値との間であれば、前記電力レベルが維持される。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記電力レベルは、予め設定された最大電力レベルと予め設定された最小電力レベルとの間で変更される。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記電力レベルの変更は、複数の離散的な電力レベルに対して前記電力レベルを段階的に増加または、減少させることができる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記離散的な電力レベルは、1つの電力レベルが他の1つの電力レベルの2倍に対応する。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、前記変更された電力レベルを前記第1持続区間に連続する第2持続区間で維持させることができる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、外部コマンドに基づいて前記電力レベルを予め設定された電力レベルに変更することができる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、外部コマンドに基づいて前記電力レベルを予め設定された値ほど増加または、減少させることができる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、外部コマンドに基づいて前記第1持続区間の長さを予め設定された長さに変更することができる。
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、外部コマンドに基づいて前記第1持続区間の長さを予め設定された値ほど増加または、減少させることができる。
本発明の動的電圧周波数スケーリング方法は、マイクロプロセッサの動作状態が急変する場合に、持続区間を指数的に減少させることによってマイクロプロセッサの電力レベルを正確に予測して、マイクロプロセッサの動作状態が一定の場合には、持続区間を指数的に増加させることによって不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費を防止することができる。
本発明の一実施形態に係る動的電圧周波数スケーリング方法を示したフローチャートである。 図1の動的電圧周波数スケーリング方法において持続区間を説明するための図面である。 図1の動的電圧周波数スケーリング方法において単位作業負荷率が計算される一例を示したフローチャートである。 図3の単位作業負荷率計算を説明するためのグラフである。 図1の動的電圧周波数スケーリング方法において持続区間の長さが変更される一形態を示したフローチャートである。 図5の持続期間の長さの変更を説明するためのグラフである。 図1の動的電圧周波数スケーリング方法において、マイクロプロセッサの電力レベルに変更される一例を示したフローチャートである。 図7の電力レベルの変更を説明するためのグラフである。 図1の動的電圧周波数スケーリング方法において外部コマンドに基づいて、マイクロプロセッサの電力レベルが変更される一例を示したフローチャートである。 図9の電力レベル変更を説明するためのグラフである。 図1の動的電圧周波数スケーリング方法において外部コマンドに基づいて、マイクロプロセッサの電力レベルが変更される他の例を示したフローチャートである。 図11の電力レベルの変更を説明するためのグラフである。 図1の動的電圧周波数スケーリング方法において外部コマンドに基づいて、持続区間の長さが変更する一例を示したフローチャートである。 図13の持続区間の長さの変更を説明するためのグラフである。 図1の動的電圧周波数スケーリング方法において外部コマンドに基づいて、持続区間の長さが変更する他の例を示したフローチャートである。 図15の持続区間の長さの変更を説明するためのグラフである。 図1の動的電圧周波数スケーリング方法を遂行する電力管理装置の一例を示したブロック図である。 図17の電力管理装置に含まれる電力管理部の一例を示したブロック図である。 図17の電力管理装置に含まれる電圧−クロック供給部の一例を示したブロック図である。 図17の電力管理装置を含む電子機器の一例を示したブロック図である。
本文に開示されている本発明の実施形態に対して、特定の構造的乃至機能的説明は単に本発明の実施形態を説明するための目的として例示されたものであり、本発明の実施形態は多様な形態で実施され、本文に説明された実施形態に限定されると解釈されてはいけない。
本発明は多様な変更を加えることができ、色々な形態を有することができるところ、特定実施形態を図面に例示して本文に詳細に説明する。しかし、これは本発明を特定の開示形態に対して限定しようとするのではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物ないし代替物を含むこととして理解されなければならない。
第1、第2などの用語は多様な構成要素を説明するのに使われることができるが、前記構成要素は前記用語によって限定されてはいけない。前記用語は1つの構成要素を他の構成要素から区別する目的として使われることができる。例えば、本発明の権利範囲から離脱せず第1構成要素は第2構成要素と命名されることができ、同様に第2構成要素も第1構成要素と命名されることができる。
ある構成要素が他の構成要素に「接続されて」あるまたは「接続されて」あると言及された場合には、その他の構成要素に直接的に接続されていたりまたは、接続されていたりすることもできるが、中間に他の構成要素が存在することもできると理解されるべきである。反面、どんな構成要素が他の構成要素に「直接接続されて」あるまたは「直接接続されて」あると言及された場合には、中間に他の構成要素が存在しないことと理解されるべきである。構成要素の間の関係を説明する他の表現、すなわち「〜間に」と「すぐに〜間に」または「〜に隣接する」と「〜に直接隣接する」等も同じように解釈されるべきである。
本明細書で使った用語は単に特定の実施形態を説明するために使われたことで、本発明を限定しようとする意図ではない。単数の表現は文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書で、「含む」または「有する」等の用語は明細書上に記載された特徴、数字、段階、動作、構成要素、部品または、これを組み合わせたのが存在するということを指定しようとすることであって、1つまたは、それ以上の他の特徴や数字、段階、動作、構成要素、部品または、これを組み合わせたものなどの存在または、付加の可能性を、予め排除しないことと理解されるべきである。
また、別に定義しない限り、技術的或いは科学的用語を含んで、ここにおいて使用される全ての用語は本発明が属する技術分野で通常の知識を有する者であれば、一般的に理解されることと同一な意味を有する。一般的に使用される辞書において定義する用語と同じ用語は関連技術の文脈上に有する意味と一致する意味を有することと理解されるべきで、本明細書において明白に定義しない限り、理想的或いは形式的な意味として解釈しない。
以下、添付図面を参照して、本発明の望ましい実施形態をより詳細に説明する。図面上の同じ構成要素に対しては同じ参照符号を使って同じ構成要素に対して重複した説明は省略する。
図1は本発明の一実施形態に係る動的電圧周波数スケーリング方法を示すフローチャートである。
図1を参照すると、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第1持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率(unit workload rate)を計算(S110)し、マイクロプロセッサの単位作業負荷率に基づいて単位作業負荷率の変化量を計算(S120)し、単位作業負荷率の変化量に基づいて第1持続区間の長さを指数的(exponentially)に変更(S130)することができる。以後、第1持続区間でマイクロプロセッサの単位作業負荷率を累積することによってマイクロプロセッサの区間作業負荷率(period workload rate)を計算(S140)し、マイクロプロセッサの区間作業負荷率に基づいてマイクロプロセッサの電力レベルを変更(S150)し、第2持続区間でマイクロプロセッサの変更された電力レベルを維持(S160)することができる。
一般的に、動的電圧周波数スケーリング(Dynamic Voltage Frequency Scaling:DVFS)方法は、マイクロプロセッサの作業負荷率に基づいてマイクロプロセッサの電力レベル(すなわち、動作電圧または、動作周波数)を動的に変化させる方法のことである。すなわち、マイクロプロセッサの現在の作業負荷率に基づいて、マイクロプロセッサの未来電力レベルを予測することである。このような電力レベル予測は、第1持続区間での区間作業負荷率が第2持続区間での区間作業負荷率と同様であることを仮定して形成される。具体的に、動的電圧周波数スケーリング方法は、第1持続区間でマイクロプロセッサの区間作業負荷率に比べてマイクロプロセッサの電力レベルが低いと判断される場合、マイクロプロセッサの電力レベルを増加させることによって第2持続区間でマイクロプロセッサの性能低下を防ぐことができ、第1持続区間でマイクロプロセッサの区間作業負荷率に比べてマイクロプロセッサの電力レベルが高いと判断される場合、マイクロプロセッサの電力レベルを減少させることによって第2持続区間でマイクロプロセッサの不必要な電力消費を防ぐことができる。しかし、従来の動的電圧周波数スケーリング方法では、持続区間の長さが固定されたり、または、線形的に変更されたりするため、持続区間の長さがマイクロプロセッサの動作状態を反映することができないという問題点がある。
これにより、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第1持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率を計算(S110)し、第1持続区間でマイクロプロセッサの単位作業負荷率を累積することによってマイクロプロセッサの区間作業負荷率を計算(S140)し、マイクロプロセッサの区間作業負荷率に基づいてマイクロプロセッサの電力レベルを変更(S150)することができる。また、第2持続区間ではマイクロプロセッサの変更された電力レベルを維持(S160)することができる。この時、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第1持続区間で単位区間ごとに単位作業負荷率の変化量が計算(S120)されると、このような単位作業負荷率の変化量に基づいて第1持続区間を指数的に続けて変更(S130)することができる。一実施形態において、マイクロプロセッサの単位作業負荷率は単位区間でマイクロプロセッサが遂行できる最大作業量に対するマイクロプロセッサが遂行した作業量の比率として定義することができ、マイクロプロセッサの区間作業負荷率は持続区間でマイクロプロセッサが遂行できる最大作業量に対しマイクロプロセッサが遂行した作業量の比率として定義することができる。以下、本発明の一実施形態に係る動的電圧周波数スケーリング方法を具体的に説明する。
マイクロプロセッサの単位作業負荷率は第1持続区間で単位区間ごとに計算(S110)されることができる。ここで、第1持続区間の長さは、マイクロプロセッサの単位作業負荷率の変化量によって継続的に変更される可変的な値であり、単位区間の長さはシステム、または、使用者によって決められる固定された値である。例えば、単位区間はシステムで発生するシステムティック(system tick)に基づいて決定されることができる。一実施形態において、単位区間ごとにマイクロプロセッサのアクティブ区間及びアイドル区間が計算されると、アクティブ区間及びアイドル区間に基づいてマイクロプロセッサの単位作業負荷率が計算される。アクティブ区間はマイクロプロセッサにメインクロック信号が印加される区間に対応でき、アイドル区間はマイクロプロセッサにメインクロック信号が印加されない区間に対応することができる。アクティブ区間及びアイドル区間はリナックス(linux)、ウィンドウズ(windows)のような運営体制(Operating System)によって決定できる。実施形態によって、運営体制がマイクロプロセッサのアイドル区間を決めれば、マイクロプロセッサのアクティブ区間は単位区間でアイドル区間を除いた区間に決定される。
第1持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率が計算(S120)されると、単位作業負荷率の変化量が計算(S130)できる。具体的に、単位作業負荷率の変化量は、第n+1単位区間での単位作業負荷率で第n単位区間での単位作業負荷率を抜いた値に対応することができる。このように、単位作業負荷率の変化量が次々と計算(S120)されると、第1持続区間の長さは単位作業負荷率の変化量に基づいて指数的に変更(S130)される。この時、第1持続区間の長さはそれぞれの変化量に基づいて変更されるが、使用者の設定によって一部変化量にだけ基づいて変更されることもある。例えば、奇数番目または、偶数番目の変化量に基づいて変更されることがある。一実施形態において、第1持続区間の長さは、単位作業負荷率の変化量が安定基準値より大きければ第1持続区間の長さを指数的に増加させ、単位作業負荷率の変化量が安定基準値より小さければ第1持続区間の長さを指数的に減少させ、単位作業負荷率の変化量が安定基準値と同一であれば、第1持続区間の長さを維持させる。この時、安定基準値はシステムにより決定される値であり、システムに求められる条件により使用者によって多様に決定することができる。
一般的に、単位作業負荷率の変化量が大きいということは、マイクロプロセッサの動作状態が急変するということであり、単位作業負荷率の変化量が大きいにもかかわらず、第1持続区間の長さが相対的に長ければ、第1持続区間はマイクロプロセッサの動作状態を正確に反映することができない。その結果、第1持続区間で予測された第2持続区間での電力レベルが第2持続区間でのマイクロプロセッサの区間作業負荷率に比べて高い状態のオーバーシュート(overshoot)が発生したり、または、第1持続区間で予測された第2持続区間での電力レベルが第2持続区間でのマイクロプロセッサの区間作業負荷率より低い状態のアンダーシュート(undershoot)が発生したりすることがある。その反面、単位作業負荷率の変化量が小さいということは、マイクロプロセッサの動作状態が一定であるということを意味するため、単位作業負荷率の変化量が小さいにもかかわらず、第1持続区間の長さが相対的に短ければ、マイクロプロセッサの電力レベルを変更する回数が不必要に多くなることがある。その結果、不必要な電力レベル変更によってマイクロプロセッサの性能が低下したり、または、マイクロプロセッサにとって不必要な電力を消費させたりすることがある。このような問題点を解決するために、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第1区間でマイクロプロセッサの動作状態が急変する場合には第1持続区間を指数的に減少させ、第1区間でマイクロプロセッサの動作状態が一定の場合には第1持続区間を指数的に増加させる。
マイクロプロセッサの区間作業負荷率は、第1持続区間でマイクロプロセッサの単位作業負荷率を累積することによって計算(S140)することができる。一実施形態において、マイクロプロセッサの単位作業負荷率は加重値が適用される方式で累積される。例えば、マイクロプロセッサの区間作業負荷率を計算することにおいて直前の単位作業負荷率には大きい加重値を付与し、その前の単位作業負荷率には小さい加重値を与えることができる。ただし、移動通信端末機などのようなモバイルシステムでは、マイクロプロセッサの区間作業負荷率を計算することにおいてマイクロプロセッサの単位作業負荷率に加重値を付与することがモバイルシステム全体に大きい負担を与えられるため、マイクロプロセッサの単位作業負荷率に加重値を付与するのはシステムの性能によって選択的に遂行される。また、マイクロプロセッサの単位作業負荷率に付与される加重値もシステムの性能によって多様に決定される。
マイクロプロセッサの電力レベルはマイクロプロセッサが電力を消費する程度を示すものであり、マイクロプロセッサの動作周波数または、動作電圧に対応する。従って、マイクロプロセッサの電力レベルが大きいということはマイクロプロセッサの動作周波数または、動作電圧が大きいということを意味する。例えば、マイクロプロセッサが同じアプリケーションを遂行する場合に、マイクロプロセッサの電力レベル(すなわち、動作周波数または、動作電圧)が大きいほど、消費電力は増加し、マイクロプロセッサの作業速度は速くなる。従って、マイクロプロセッサの区間作業負荷率に比べて高い周波数のクロック信号、または、高い電源電圧をマイクロプロセッサに供給するのはマイクロプロセッサの電力消費を不必要に増加させる原因となる。一方、マイクロプロセッサの動作周波数と動作電圧は互いに関連しているため、マイクロプロセッサの動作周波数が増加すればマイクロプロセッサの動作電圧が大きくなり、マイクロプロセッサの動作周波数が減少すればマイクロプロセッサの動作電圧が小さくなる。
マイクロプロセッサの電力レベルはマイクロプロセッサの区間作業負荷率に基づいて変更(S150)される。マイクロプロセッサの電力レベルは、マイクロプロセッサの区間作業負荷率がアップ基準値より大きければ増加し、マイクロプロセッサの区間作業負荷率がダウン基準値より小さければ減少し、アップ基準値とダウン基準値の間であれば、そのまま維持される。一実施形態で、マイクロプロセッサの電力レベル変更は、離散的な(discrete)電力レベルのうち1つを選択する方式で遂行されるが、それぞれの電力レベルは1つの電力レベルが他の1つの電力レベルの2倍に対応する。例えば、マイクロプロセッサの電力レベル変更は、離散的な電力レベルに対して電力レベルが段階的に増加または減少する方式で遂行される。すなわち、マイクロプロセッサの電力レベル変更が500MHz、250MHz、125MHzのような離散的な動作周波数に対して動作周波数が段階的に増加または、減少させる方式で遂行される。このような離散的な電力レベルの個数、数値などはマイクロプロセッサの機能、種類などによって多様に変更される。他の実施形態で、マイクロプロセッサの電力レベル変更は連続的な電力レベルに対して電力レベルが増加または減少する方式で遂行することもできる。マイクロプロセッサの動作周波数が増加することによって、内部の論理素子が十分なスイッチング速度を確保できるようにマイクロプロセッサの動作電圧も増加する必要があるので、マイクロプロセッサの電力レベル変更はマイクロプロセッサの動作周波数と動作電圧が共に変更される方式で遂行することもできる。
マイクロプロセッサの変更された電力レベルは第1持続区間に連続する第2持続区間で維持(S160)することができる。第2持続区間も第1持続区間と同様に、第2持続区間で継続的に計算される単位作業負荷率の変化量によって指数的に続けて変更される。実施形態によって、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、マイクロプロセッサの変更された電力レベルを第2持続区間で維持することが適合でないと判断される場合(例えば、オーバーシュートまたはアンダーシュートが過度に発生する場合)には外部コマンドに基づいてマイクロプロセッサの変更された電力レベルを予め設定された電力レベルに変更したり、または、予め設定された値ほど増減させたりすることができる。また、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、マイクロプロセッサがアプリケーションを遂行することにおいて求められる条件によって第1持続区間の長さを予め設定された長さに変更したり、または、予め設定された値ほど増加させたりすることができる。このように、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第1持続区間で単位区間ごとに単位作業負荷率の変化量に基づいて第1持続区間の長さを指数的に変更(S130)することによって、第2持続区間でのマイクロプロセッサの電力レベルを比較的正確に予測でき、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費も減少させることができる。
図2は図1の動的電圧周波数スケーリング方法で持続区間を説明するための図面である。
図2を参照すれば、第1持続区間は第1時点T(n−1)で第2時点T(n)までの区間に対応でき、第2持続区間は第2時点T(n)で第3時点T(n+1)までの区間に対応することができる。上述した通り、第1持続区間は第1持続区間で単位作業負荷率の変化量に基づいて指数的に続けて変更することができ、第2持続区間は第2持続区間で単位作業負荷率の変化量に基づいて指数的に続けて変更することができる。すなわち、第1及び第2持続区間は固定された値でなく、マイクロプロセッサの動作状態によって指数的に変更される値である。従って、第1ないし第3時点T(n−1)、T(n)、T(n+1)は時間が経つにつれてそれぞれ変更される。
図1の動的電圧周波数スケーリング方法は、第1持続区間での区間作業負荷率に基づいて第2持続区間でのマイクロプロセッサの電力レベルを決めることができる。すなわち、マイクロプロセッサの電力レベル変更は、第1持続区間での区間作業負荷率が第2持続区間での区間作業負荷率と同様であるとの仮定の下に形成される。一実施形態において、図1の動的電圧周波数スケーリング方法は、第1持続区間での区間適業負荷率に基づいて第1持続区間でのマイクロプロセッサの電力レベルを段階的に増加または、減少させる方式で第2持続区間でのマイクロプロセッサの電力レベルを決めることができる。従来の動的電圧周波数スケーリング方法では、持続区間の長さが固定されたり線形的に変更されたりするため、持続区間の長さが該当持続区間でのマイクロプロセッサの動作状態を正確に反映できないという問題点がある。従って、従来の動的電圧周波数スケーリング方法は時間が経つにつれてマイクロプロセッサの全体作業負荷率の変化を観察するのに適した面があるが、持続区間が相対的に長い場合にはマイクロプロセッサの未来電力レベルを間違って予測する場合が多く、持続区間が相対的に短い場合には不必要な電力レベル変更によってシステムに負担を与える場合が多い。
これにより、図1の動的電圧周波数スケーリング方法は、第1持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率を計算し、単位作業負荷率の変化量に基づいて第1持続区間の長さを指数的に続けて変更することができる。従って、図1の動的電圧周波数スケーリング方法は、第1持続区間でマイクロプロセッサの動作状態が急変する場合、第1持続区間の長さを指数的に減少させ、第2持続区間でのマイクロプロセッサの電力レベルを正確に予測でき、第1持続区間でのマイクロプロセッサの動作状態が一定の場合、第1持続区間の長さを指数的に増加させ、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費を減少させることができる。特に、図1の動的電圧周波数スケーリング方法は、第1持続区間の長さを指数的に変更するため、第1持続区間の長さを線形的に変更する場合に比べて、マイクロプロセッサの動作状態に対する高い反応性を確保することができる。さらに、図1の動的電圧周波数スケーリング方法は、持続区間の長さが対応持続区間でマイクロプロセッサの動作状態を正確に反映できない場合に、外部コマンドに基づいて該当持続区間の長さを予め設定された長さに変更したり、または、予め設定された値ほど増加または、減少させたりすることができる。
図1の動的電圧周波数スケーリング方法は、第1持続区間の長さと第1持続区間内の単位区間の和が同一になる時点、すなわち、第1持続区間が終了する時点で、第1持続区間での区間作業負荷率に基づいて第2持続区間でのマイクロプロセッサの電力レベル(すなわち、動作周波数または、動作電圧)を決めることができる。以後、図1の動的電圧周波数スケーリング方法は、第1持続区間で決定されたマイクロプロセッサの電力レベルを第2持続区間で維持して、第2持続区間の長さと第2持続区間内の単位区間の和が同一になる時点、すなわち、第2持続区間が終了する時点で、第2持続区間での区間作業負荷率に基づいて第3持続区間でのマイクロプロセッサの電力レベルを決めることができる。このように、図1の動的電圧周波数スケーリング方法は、マイクロプロセッサの動作状態に基づいて該当持続区間の長さを適応的(adaptive)に変更させることができる。ただし、マイクロプロセッサの電力レベルがマイクロプロセッサに実際求められる電力レベルと違った場合には、図1の動的電圧周波数スケーリング方法は、外部コマンドに基づいてマイクロプロセッサの電力レベルを予め設定された電力レベルに変更したり、または、予め設定された値ほど増加または、減少させたりすることもできる。
図3は図1の動的電圧周波数スケーリング方法で単位作業負荷率が計算されること例を示すフローチャートである。
図3を参照すれば、図1の動的電圧周波数スケーリング方法は、単位区間ごとにマイクロプロセッサのアクティブ区間を計算(S220)し、単位区間ごとにマイクロプロセッサのアイドル区間を計算(S240)し、アクティブ区間及びアイドル区間に基づいて単位作業負荷率を推定(S260)することによって、マイクロプロセッサの単位作業負荷率を計算することができる。一実施形態において、単位作業負荷率の計算は下記の[式1]を利用して求めることができる。
Figure 2011100449
「前記式で、UWRは単位作業負荷率を示し、UTは単位区間を示し、ATは単位区間でのアクティブ区間を示し、ITは単位区間でのアイドル区間を示す。」
上述した通り、マイクロプロセッサのアクティブ区間は、マイクロプロセッサにメインクロック信号が印加される区間に対応でき、マイクロプロセッサのアイドル区間は、マイクロプロセッサにメインクロック信号が印加されない区間に対応することができる。例えば、アクティブ区間は移動通信端末機のトラフィックモード(traffice mode)及び待機モード(standby mode)に対応でき、アイドル区間はスリープモード(sleep mode)に対応することができる。このようなアクティブ区間とアイドル区間は運営体制によって決定されるが、運営体制はシステムの動作必要性に基づいてマイクロプロセッサをアクティブ区間、または、アイドル区間に直ちに転換させることができる。マイクロプロセッサに印加されるメインクロック信号の周波数はマイクロプロセッサの動作周波数に対応することができる。一方、[式1]は例示的なものとして、マイクロプロセッサの性能及び求められる条件によって多様に修正及び変更されることができる。
図4は図3の単位作業負荷率計算を説明するためのグラフである。
図4を参照すれば、図1の動的電圧周波数スケーリング方法は、第1アクティブ区間AT1及び第1アイドル区間IT1に基づいて第1単位作業負荷率を計算でき、第2アクティブ区間AT2及び第2アイドル区間IT2に基づいて第2単位作業負荷率を計算することができる。具体的に、第1単位作業負荷率はUWR1=(UT1−IT1)/UT1=AT1/UT1で計算されることができ、第2単位作業負荷率はUWR2=(UT2−IT2)/UT2=AT2/UT2で計算されることができる。図4に示された通り、第1単位区間UT1の長さと第2単位区間UT2の長さは固定された値として相互同一である。一方、第1単位作業負荷率と第2単位作業負荷率が計算されることによって、第1単位作業負荷率と第2単位作業負荷率との間の単位作業負荷率の変化量が計算されることができる。すなわち、単位作業負荷率の変化量は、dUWR=(UWR2−UWR1)=(AT2−AT1)/UTであってもよい。このような方式で、単位作業負荷率の変化量は持続区間が終了する時点まで継続的に計算され、持続区間は単位作業負荷率の変化量に基づいて継続的に変更することができる。この時、持続区間の長さはそれぞれの単位作業負荷率の変化量に基づいて変更することができるが、上述した通り、使用者の設定によって一部単位作業負荷率の変化量にだけ基づいて変更されることもできる。
図5は図1の動的電圧周波数スケーリング方法で持続区間の長さが変更される一例を示すフローチャートである。
図5を参照すれば、図1の動的電圧周波数スケーリング方法は、単位作業負荷率の変化量と安定基準値を比較(S310)して、その比較結果によって持続区間の長さを変更することができる。図1の動的電圧周波数スケーリング方法は、単位作業負荷率の変化量が安定基準値より大きい値なのかを判断(S320)して、単位作業負荷率の変化量が安定基準値より大きければ、持続区間の長さを指数的に増加(S330)させる。また、単位作業負荷率の変化量が安定基準値より小さい値なのかを判断S340して、単位作業負荷率の変化量が安定基準値より小さければ、持続区間の長さを指数的に減少(S350)させる。さらに、単位作業負荷率の変化量が安定基準値と同一であれば持続区間の長さを維持(S360)させる。一方、持続区間の長さは、予め設定された最大区間の長さと予め設定された最小区間の長さとの間で変更されることがある。一実施形態において、持続区間の長さの変更は下の[式2]を利用して形成することができる。
Figure 2011100449
「前記式で、FPRは変更前の持続区間の長さを示し、SPRは変更後の持続区間の長さを示し、rは使用者が決める指数の比を示し、dUWRは単位作業負荷率の変化量を示し、SVは安定基準値を示す。」
上述した通り、図1の動的電圧周波数スケーリング方法は、単位作業負荷率の変化量が大きい場合には、マイクロプロセッサの動作状態を正確に反映するために、持続区間の長さを指数的に減少(S350)させることができ、単位作業負荷率の変化量が小さい場合には、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費を減少させるために、持続区間を指数的に増加(S330)させることができる。このように、図1の動的電圧周波数スケーリング方法は、持続区間でマイクロプロセッサの動作状態に基づいて該当持続区間の長さを適応的に変更することによって動的電圧周波数スケーリングを最適に遂行することができる。一方、[式2]は例示的なものとして、マイクロプロセッサの性能及び求められる条件により多様に修正及び変更される。
図6は図5の持続区間の長さの変更を説明するためのグラフである。
図6を参照すれば、図1の動的電圧周波数スケーリング方法は、持続区間で持続区間の長さを継続的に変更することができる。従来の動的電圧周波数スケーリング方法は持続区間の長さが固定されていたり線形的に変更されていたりするため、マイクロプロセッサの動作状態を正確に反映することができなかった反面、図1の動的電圧周波数スケーリング方法は単位区間UT1、...、UTnごとに単位作業負荷率を計算し、このような単位作業負荷率の変化量に基づいて持続区間の長さを指数的に続けて変更することによって、マイクロプロセッサの動作状態を正確に反映することができる。上述した通り、単位区間UT1、...、UTnの長さは固定された値として相互同一である。図6に示された通り、図1の動的電圧周波数スケーリング方法は単位区間UT1、...、UTnごとに単位作業負荷率を計算し、このような単位作業負荷率の変化量に基づいて持続区間の長さを指数的に続けて変更することによって、マイクロプロセッサの動作状態に対する高い反応性を確保することができる。図1の動的電圧周波数スケーリング方法は、持続区間で単位作業負荷率の変化量に基づいて持続区間の長さを指数的に続けて変更して、単位区間UT1、...、UTnの長さの和が持続区間の長さと同一になる持続区間の終了時点でマイクロプロセッサの電力レベルを変更することができる。
図7は図1の動的電圧周波数スケーリング方法でマイクロプロセッサの電力レベルが変更されること例を示すフローチャートである。
図7を参照すれば、図1の動的電圧周波数スケーリング方法は、区間作業負荷率をアップ基準値及びダウン基準値と比較(S410)し、その比較結果によってマイクロプロセッサの電力レベルを変更することができる。ここで、マイクロプロセッサの区間作業負荷率は持続区間でマイクロプロセッサの単位作業負荷率を累積した値に対応することができる。図1の動的電圧周波数スケーリング方法は区間作業負荷率がアップ基準値より大きい値なのかを判断(S420)して、区間作業負荷率がアップ基準値より大きければ、マイクロプロセッサの電力レベルを増加(S430)させる。また、区間作業負荷率がダウン基準値より小さい値なのかを判断(S440)して、区間作業負荷率がダウン基準値より小さければ、マイクロプロセッサの電力レベルを減少(S450)させる。さらに、区間作業負荷率がアップ基準値とダウン基準値の間であれば、マイクロプロセッサの電力レベルを維持(S460)させる。マイクロプロセッサの電力レベルは予め設定された最大電力レベルと予め設定された最小電力レベルの間で変更されることができる。一実施形態で、マイクロプロセッサの電力レベル変更は複数の離散的な電力レベルに対して電力レベルを段階的に増加または、減少させる方式で遂行されることができる。例えば、マイクロプロセッサの電力レベル変更は500MHz、250MHz、125MHzのような離散的な動作周波数に対して動作周波数が段階的に増加または減少する方式で形成することができる。このような離散的な電力レベルの個数、数値などはマイクロプロセッサの機能、種類などによって多様に変更されることができる。
一方、マイクロプロセッサの区間作業負荷率の計算は持続区間でマイクロプロセッサの単位作業負荷率を累積することによって行うことができる。一実施形態で、マイクロプロセッサの区間作業負荷率の計算は、最近の単位作業負荷率に大きい加重値Cを付与して、以前の単位作業負荷率には小さい加重値Cを付与する方式からなることができる。一実施形態で、マイクロプロセッサの区間作業負荷率の計算は下記の[式3]を利用して行うことができる。
Figure 2011100449
「前記式で、PWRは区間作業負荷率を示し、UWRxはx番目の単位作業負荷率を示し、Cは加重値を示し、第1持続区間はn個の単位区間の和に対応する。」
ただし、マイクロプロセッサの単位作業負荷率に加重値を付与するのはシステムに大きな負担として作用する場合もあるため、システムの性能によって選択的に遂行される。従って、[式3]で加重値Cはマイクロプロセッサの機能、種類などによって多様に決定されることができる。例えば、移動通信端末機などと同じモバイルシステムでは単位作業負荷率に加重値Cを付与することがシステムに大きな負担として作用する場合があるため、加重値Cを0に設定することによってマイクロプロセッサの単位作業負荷率に加重値が付与されないようにすることができる。一方、[式3]は例示的なものとして、マイクロプロセッサの性能及び求められる条件によって多様に修正及び変更することができる。
図8は図7の電力レベル変更を説明するためのグラフである。
図8を参照すれば、図1の動的電圧周波数スケーリング方法は、複数の離散的な電力レベルに対して電力レベルを段階的に増加または、減少させる方式でマイクロプロセッサの電力レベルを変更することができる。また、複数の離散的な電力レベルは1つの電力レベルが他の1つの電力レベルの2倍に対応させることができる。例えば、第3レベルLEVEL3は第2レベルLEVEL2の2倍に対応し、第2レベルLEVEL2は第1レベルLEVEL1の2倍に対応する。説明の便宜のために、第n持続区間は第n時点T(n)で第n+1時点T(n+1)までと定義する。例えば、図1の動的電圧周波数スケーリング方法は、第1持続区間での区間作業負荷率がアップ基準値より大きければ、マイクロプロセッサの電力レベルを第1レベルLEVEL1で第2レベルLEVEL2に増加させることができる。また、第3持続区間での区間作業負荷率がダウン基準値より小さければ、マイクロプロセッサの電力レベルを第3レベルLEVEL3で、第2レベルLEVEL2で減少させることができる。さらに、第5持続区間での区間作業負荷率がアップ基準値とダウン基準値の間であれば、第6持続区間でのマイクロプロセッサの電力レベルは第3レベルLEVEL3で維持させることができる。このように、図1の動的電圧周波数スケーリング方法は、第n持続区間での区間作業負荷率をアップ基準値及びダウン基準値と比較することによって、第n+1持続区間でのマイクロプロセッサの電力レベルを決めることができる。
図9は図1の動的電圧周波数スケーリング方法で外部コマンドに基づいてマイクロプロセッサの電力レベルが変更される一例を示すフローチャートである。
図9を参照すれば、図1の動的電圧周波数スケーリング方法は、持続区間でマイクロプロセッサの電力レベルを維持(S520)し、外部コマンドが入力S540されると、マイクロプロセッサの電力レベルを予め設定された電力レベルに変更(S560)することができる。図1の動的電圧周波数スケーリング方法は、第n持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第n+1持続区間でのマイクロプロセッサの電力レベルを予測するものであるので、予測されたマイクロプロセッサの電力レベルはマイクロプロセッサに実際求められる電力レベルと異なる。このような場合、図1の動的電圧周波数スケーリング方法は、外部コマンドに基づいてマイクロプロセッサの電力レベルを予め設定された電力レベルに変更(S560)することによって、マイクロプロセッサの電力レベルをマイクロプロセッサに実際求められる電力レベルに作ることができる。一実施形態で、予め設定された電力レベルは離散的な電力レベルで、外部コマンドに基づいて1つの電力レベルが選択される。他の実施形態で、予め設定された電力レベルは予め設定された最大電力レベルまたは、予め設定された最小電力レベルであってもよい。実施形態に係り、外部コマンドはマイクロプロセッサの変更された電力レベルをどのくらいの間維持させるのかに関する情報を含むことができる。
図10は図9の電力レベル変更を説明するためのグラフである。
図10を参照すれば、図1の動的電圧周波数スケーリング方法は、マイクロプロセッサの電力レベルを維持し、第1外部コマンドCOMMAND1、または、第2外部コマンドCOMMAND2が入力されると、マイクロプロセッサの電力レベルを予め設定された第1レベルPD LEVEL1、または、予め設定された第2レベルPD LEVEL2に変更することができる。説明の便宜のために、第n持続区間は第n時点T(n)で第n+1時点T(n+1)までと定義する。例えば、図1の動的電圧周波数スケーリング方法は、第2持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第3持続区間でのマイクロプロセッサの電力レベルが第3レベルLEVEL3に決定されると、第3持続区間でマイクロプロセッサの電力レベルを第3レベルLEVEL3で維持することができる。しかし、第3持続区間でのマイクロプロセッサの電力レベルが第3持続区間で実際求められる電力レベルに比べて小さいと判断される場合、図1の動的電圧周波数スケーリング方法は、第1外部コマンドCOMMAND1に基づいて、第3持続区間でのマイクロプロセッサの電力レベルを予め設定された第1レベルPD LEVEL1に変更することができる。同様に、第4持続区間でのマイクロプロセッサの区間作業負荷率に基づいて、第5持続区間でのマイクロプロセッサの電力レベルが第3レベルLEVEL3に決定されれば、第5持続区間でマイクロプロセッサの電力レベルを第3レベルLEVEL3で維持することができる。しかし、第5持続区間でのマイクロプロセッサの電力レベルが第5持続区間で実際求められる電力レベルに比べて大きいと判断される場合、図1の動的電圧周波数スケーリング方法は第2外部コマンドCOMMAND2に基づいて第5持続区間でのマイクロプロセッサの電力レベルを予め設定された第2レベルPD LEVEL2に変更することができる。図10ではマイクロプロセッサの変更された電力レベルが該当持続区間の終了時点まで維持されると示されているが、これは1つの例示として多様に設計変更することができる。
図11は図1の動的電圧周波数スケーリング方法で外部コマンドに基づいてマイクロプロセッサの電力レベルが変更される他の形態を示すフローチャートである。
図11を参照すれば、図1の動的電圧周波数スケーリング方法は、持続区間でマイクロプロセッサの電力レベルを維持(S620)し、外部コマンドが入力(S640)されると、マイクロプロセッサの電力レベルを予め設定された値ほど増加または、減少(S660)させることができる。図1の動的電圧周波数スケーリング方法は、第n持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第n+1持続区間でのマイクロプロセッサの電力レベルを予測するため、予測されたマイクロプロセッサの電力レベルはマイクロプロセッサに実際求められる電力レベルと異なる。このような場合、図1の動的電圧周波数スケーリング方法は、外部コマンドに基づいてマイクロプロセッサの電力レベルを予め設定された値ほど増加、または、減少(S660)させることによって、マイクロプロセッサの電力レベルをマイクロプロセッサに実際求められる電力レベルにすることができる。実施形態に係り、外部コマンドはマイクロプロセッサの変更された電力レベルをどのくらいの間維持させるのかに関する情報を含むことができる。
図12は図11の電力レベル変更を説明するためのグラフである。
図12を参照すれば、図1の動的電圧周波数スケーリング方法は、マイクロプロセッサの電力レベルを維持し、第1外部コマンドCOMMAND1または、第2外部コマンドCOMMAND2が入力されると、マイクロプロセッサの電力レベルを予め設定されたレベルだけに増加または、減少させることができる。説明の便宜のために、第n持続区間は第n時点T(n)で第n+1時点T(n+1)までと定義する。図1の動的電圧周波数スケーリング方法は、第2持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第3持続区間でのマイクロプロセッサの電力レベルが第3レベルLEVEL3に決定されれば、第3持続区間でマイクロプロセッサの電力レベルを第3レベルLEVEL3で維持することができる。しかし、第3持続区間でのマイクロプロセッサの電力レベルが第3持続区間で実際求められる電力レベルに比べて小さいと判断される場合、図1の動的電圧周波数スケーリング方法は第1外部コマンドCOMMAND1に基づいて第3持続区間でのマイクロプロセッサの電力レベルを予め設定された値ほど増加させることができる。同様に、第4持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第5持続区間でのマイクロプロセッサの電力レベルが第3レベルLEVEL3に決定されると、第5持続区間でマイクロプロセッサの電力レベルを第3レベルLEVEL3で維持することができる。しかし、第5持続区間でのマイクロプロセッサの電力レベルが第5持続区間で実際求められる電力レベルに比べて大きいと判断される場合、図1の動的電圧周波数スケーリング方法は、第2外部コマンドCOMMAND2に基づいて第5持続区間でのマイクロプロセッサの電力レベルを予め設定された値ほど減少させることができる。図12ではマイクロプロセッサの変更された電力レベルが該当持続区間の終了時点まで維持されると示されているが、これは1つの例示として多様に設計変更することができる。
図13は図1の動的電圧周波数スケーリング方法で外部コマンドに基づいて持続区間の長さが変更される一例を示すフローチャートである。
図13を参照すれば、図1の動的電圧周波数スケーリング方法は、持続区間の長さを単位区間ごとに継続的に変更(S720)し、外部コマンドが入力(S740)されると、持続区間の長さを予め設定された長さに変更(S760)することができる。上述した通り、図1の動的電圧周波数スケーリング方法はマイクロプロセッサの動作状態が急変する場合に持続区間の長さを指数的に減少させ、マイクロプロセッサの動作状態が一定の場合に持続区間の長さを指数的に増加させることによって、持続区間でのマイクロプロセッサの動作状態に基づいて該当持続区間の長さを指数的に変更することができる。しかし、マイクロプロセッサがアプリケーションなどを遂行することにおいて求められる条件によってマイクロプロセッサの動作状態が一定でも持続区間の長さを減少させたり、マイクロプロセッサの動作状態が急変しても持続区間の長さを増加させたりする必要がある。このような場合、図1の動的電圧周波数スケーリング方法は外部コマンドに基づいて持続区間の長さを予め設定された長さに変更(S760)することによって、アプリケーションなどを遂行するということにおいて求められる条件を満たすことができる。一実施形態で、予め設定された長さは予め設定された最大長さまたは、予め設定された最小長さであってもよい。実施形態によって、外部コマンドは変更された持続区間の長さをどのくらいの間維持させるのかに関する情報を含むことができる。
図14は図13の持続区間長さ変更を説明するためのグラフである。
図14を参照すれば、図1の動的電圧周波数スケーリング方法は、マイクロプロセッサの単位作業負荷率の変化量に基づいて持続区間の長さを変更して、外部コマンドCOMMANDが入力されれば、持続区間の長さを予め設定された長さPD LNGTHに変更することができる。例えば、図1の動的電圧周波数スケーリング方法は、第3単位区間UT3で外部コマンドCOMMANDが入力されれば、持続区間の長さを予め設定された長さPD LENGTHに変更し、単位区間UT1、...、UTnの長さの和が予め設定された長さ PD LENGTHと同じになる持続区間の終了時点でマイクロプロセッサの電力レベルを変更することができる。図14では変更された持続区間の長さが持続区間の終了時点まで維持されることが示されているが、これは1つの例示として多様に設計変更されることができる。実施形態に係り、予め設定された長さPD LENGTHは予め設定された最大長さまたは、予め設定された最小長さであってもよい。
図15は図1の動的電圧周波数スケーリング方法で外部コマンドに基づいて持続区間の長さが変更される他の例を示すフローチャートである。
図15を参照すれば、図1の動的電圧周波数スケーリング方法は、持続区間の長さを単位区間ごとに継続的に変更(S820)し、外部コマンドが入力(S840)されれば、持続区間の長さを予め設定された値ほど増加または、減少(S860)させることができる。上述した通り、図1の動的電圧周波数スケーリング方法は、マイクロプロセッサの動作状態が急変すれば持続区間の長さを指数的に減少させ、マイクロプロセッサの動作状態が一定であれば持続区間の長さを指数的に増加させることによって、持続区間でのマイクロプロセッサの動作状態に基づいて該当持続区間の長さを指数的に変更することができる。しかし、マイクロプロセッサがアプリケーションなどを遂行することにおいて求められる条件によってマイクロプロセッサの動作状態が一定でも持続区間の長さを減少させたり、マイクロプロセッサの動作状態が急変しても持続区間の長さを増加させたりする必要がある。このような場合に、図1の動的電圧周波数スケーリング方法は外部コマンドに基づいて持続区間の長さを予め設定された値ほど増加または、減少(S860)させることによってアプリケーションなどを遂行することにおいて求められる条件を満たすことができる。実施形態に係り、外部コマンドは変更された持続区間の長さをどのくらいの間維持させるのかに関する情報を含むことができる。
図16は図15の持続区間の長さ変更を説明するためのグラフである。
図16を参照すれば、図1の動的電圧周波数スケーリング方法は、マイクロプロセッサの単位作業負荷率の変化量に基づいて持続区間の長さを変更し、外部コマンドCOMMANDが入力されれば、持続区間の長さを予め設定された値だけに減少または、増加させることができる。例えば、図1の動的電圧周波数スケーリング方法は第3単位区間UT3で外部コマンドCOMMANDが入力されれば、持続区間の長さを予め設定された値だけに減少させ、単位区間UT1、...、UTnの長さの和が予め設定された値だけに減少した持続区間の長さと同じになる持続区間の終了時点でマイクロプロセッサの電力レベルを変更することができる。図16では変更された持続区間の長さが持続区間の終了時点まで維持されることとして示されているが、これは1つの例示として多様に設計変更される。
図17は図1の動的電圧周波数スケーリング方法を遂行する電力管理装置の一例を示すブロック図である。
図17を参照すれば、電力管理装置100は作業負荷検出部110、電力管理部120及び電圧−クロック供給部130を含むことによって、マイクロプロセッサ210の電力レベルを管理することができる。このような電力管理装置100は移動通信端末機などの電子機器または、電子機器の内部に含まれる別途の装置であってもよい。図17には示されていないが、電力管理装置100は、システムティックのような周期的な信号を発生するためのシステムタイマー及び外部コマンドや周期的な信号などのような特定信号を制御するためのコントローラなどをさらに含むことができる。
マイクロプロセッサ210は、中央処理ユニットCPU、デジタル信号処理器DSP、マイクロコントローラなどであってもよく、電子機器内部で特定タスクtaskを遂行することができる。マイクロプロセッサ210は、電力管理装置100の電圧−クロック供給部130から供給されるメインクロック信号MCLK及びメイン電源電圧MVDDが入力され、メインクロック信号MCLKに同期して動作することができる。一実施形態で、マイクロプロセッサ210は、アクティブ区間ATPでメインクロック信号MCLKの入力を受けることができ、アイドル区間ITPでメインクロック信号MCLKが入力されないことがある。上述した通り、アクティブ区間ATP及びアイドル区間ITPは運営体制によって決定されることができ、運営体制がアイドル区間ITPを決めれば、アクティブ区間ATPは単位区間でアイドル区間ITPを除いた区間に決定されることができる。メインクロック信号MCLKの周波数は、マイクロプロセッサ210の動作周波数に相応することができ、メイン電源電圧MVDDはマイクロプロセッサ210の動作電圧に相応することができる。
作業負荷検出部110は、マイクロプロセッサ210の動作状態をモニタリングすることによって、マイクロプロセッサ210の単位作業負荷率UWR及び持続区間の長さDPLを電力管理部120に出力することができる。具体的に、作業負荷検出部110は、単位区間ごとにマイクロプロセッサ210からアクティブ区間ATP及びアイドル区間ITPに対する情報を入力され、このようなアクティブ区間ATP及びアイドル区間ITPに基づいてマイクロプロセッサ210の単位作業負荷率UWRを次々と計算することができる。また、作業負荷検出部110は、単位作業負荷率の変化量dUWRに基づいて持続区間の長さDPLを指数的に続けて変更することができる。実施形態に係り、作業負荷検出部110は、外部コマンドに基づいて持続区間の長さDPLを予め設定された長さに変更、または、予め設定された値ほど増減させることができる。ただし、持続区間の長さDPLを変更することに対しては前記で具体的に説明したので、重複する説明を省略する。以後、作業負荷検出部110は持続区間の長さDPLが該当持続区間内の単位区間の和と同一になる持続区間の終了時点で持続区間の長さDPLを電力管理部120に出力することができる。
電力管理部120は、作業負荷検出部110から次々と入力される単位作業負荷率UWR及び持続区間の終了時点で入力される持続区間の長さDPLに基づいてマイクロプロセッサ210の区間作業負荷率PWRを計算することができ、このような区間作業負荷率PWRに基づいてマイクロプロセッサ210の電力レベルを変更するためのレベル制御信号LCTRを電圧−クロック供給部130に出力することができる。電力管理部120は、図17に示されている通り、マイクロプロセッサ210の外部に別途のハードウェアで具現される物理的な構成要素であってもよく、他の構成要素に少なくとも一部分が統合された形態で具現されることもできる。例えば、電力管理部120はマイクロプロセッサ210の一部であってもよく、少なくとも一部分がソフトウェアで具現される電力管理プログラムであってもよい。一実施形態で、電力管理部120は、マイクロプロセッサ210の単位作業負荷率UWRに加重値を適用する方式でマイクロプロセッサ210の区間作業負荷率PWRを計算することができ、このような区間作業負荷率PWRをアップ基準値及びダウン基準値と比較することによって、マイクロプロセッサ210の電力レベルを増加、または、減少させるためのレベル制御信号LCTRを生成することができる。実施形態に係り、電力管理部120は外部コマンドに基づいてマイクロプロセッサ210の電力レベルを予め設定された電力レベルに変更、または、予め設定された値ほど増減させるためのレベル制御信号LCTRを生成することができる。ただし、マイクロプロセッサ210の電力レベルを変更することに対しては、前記で具体的に説明したので、重複した説明を省略する。以後、電力管理部120は生成されたレベル制御信号LCTRを電圧−クロック供給部130に出力することができる。
電圧−クロック供給部130は、電力管理部120から出力されるレベル制御信号LCTRを入力され、マイクロプロセッサ210に供給されるメインクロック信号MCLKの周波数または、メイン電源電圧MVDDを調節することができる。上述した通り、メインクロック信号MCLKの周波数はマイクロプロセッサ210の動作周波数に相応することができ、メイン電源電圧MVDDはマイクロプロセッサ210の動作電圧に相応することができる。実施形態に係り、メインクロック信号MCLKの周波数とメイン電源電圧MVDDは共に調節されることができる。例えば、メインクロック信号MCLKの周波数が大きくなると、メイン電源電圧MVDDも大きくなる。このように、電力管理装置100は作業負荷検出部110、電力管理部120及び電圧−クロック供給部130を含むことによって、マイクロプロセッサ210の動作状態が急変する場合に持続区間を指数的に減少させることによってマイクロプロセッサ210の電力レベルを正確に予測することができ、マイクロプロセッサ210の動作状態が一定の場合には持続区間を指数的に増加させることによって、不必要な電力レベル変更に伴うマイクロプロセッサ210の性能低下及び電力消費を防止することができる。
図18は図17の電力管理装置に含まれる電力管理部の一例を示すブロック図である。
図18を参照すれば、電力管理部120は、計算部121、比較部122及びステートマシン123を含むことができる。図18には示されていないが、電力管理部120は、持続区間の長さDPLによって相異する個数の単位作業負荷率UWRを累積するために、計算部121の複数のバッファ41、42、43、44、複数の増幅器51、52、53、54、55及び複数の加算器61、62、63、64の個数を選択するための選択部をさらに含むことができる。
計算部121は、作業部下検出部110から持続区間で単位区間ごとに次々と入力される単位作業負荷率UWRを該当持続区間で累積することによって、マイクロプロセッサ210の区間作業負荷率PWRを計算することができる。この時、持続区間の長さDPLは固定された値ではなく、単位作業負荷率の変化量dUWRに基づいて指数的に続けて変更されるので、それぞれの持続区間別に相異することもある。従って、計算部121で累積する単位作業負荷率UWRの個数もそれぞれの持続区間別に相異することができる。例えば、第1持続区間でマイクロプロセッサ210の区間作業負荷率PWRは、4つの単位作業負荷率UWRが累積することによって計算される反面、第2持続区間でマイクロプロセッサ210の区間作業負荷率PWRは、2つの単位作業負荷率UWRが累積することによって計算することができる。一実施形態で、計算部121は単位作業負荷率UWRに加重値を適用することによって区間作業負荷率PWRを計算することができる。
一実施形態で、計算部121は、複数のバッファ41、42、43、44、複数の増幅器51、52、53、54、55、複数の加算器61、62、63、64及び除算器71を含むことができる。複数のバッファ41、42、43、44は任意の保存手段であってもよく、例えば、レジスタまたは定められたアドレスに相応するメモリの特定空間などであってもよい。複数のバッファ41、42、43、44は、直列接続されて前端から出力される単位作業負荷率Ukを保存し、一定の遅延時間経過後、次の順番の単位作業負荷率Uk+1として後段に出力する遅延期で具現される。従って、作業部下検出部110から入力された単位作業負荷率UWRは時間が過ぎるにつれて複数のバッファ41、42、43、44を経て第1段の単位作業負荷率U1で第k段の単位作業負荷率Ukに変更される。このような複数のバッファ41、42、43、44はラッチ(latch)で具現され、この場合シフトレジスタとしての機能を遂行することができる。
複数の増幅器51、52、53、54、55は、複数のバッファ41、42、43、44の各段の単位作業負荷率U1、...、Ukを増幅して出力することができる。複数の増幅器51、52、53、54、55の利得(gain)は全部同一であってもよく、相異させて設定することもできる。これは、最近の単位作業負荷率UWRがマイクロプロセッサ210の現在の作業負荷率を最も適合に反映しているためである。一実施形態で、最近の単位作業負荷率UWRであるほどより大きい加重値を適用するために、最初の増幅器51の利得が最も大きく、後段でますます利得が順次減少して最後の増幅器56の利益が一番小さく設定される。これは[式3]を参照して説明されるが、最近の単位作業負荷率U1には大きい加重値を付与し、ずっと前の単位作業負荷率Ukには小さい加重値を付与するものでる。複数の加算器61、62、63、64は、前端の出力と各増幅器の出力を合算して出力することができる。各加算器は前端の増幅器の出力を全部合算する機能を遂行する。除算器71は最後の増幅器64の出力を増幅器51、52、53、54、55の利益の合で分けて区間作業負荷率PWRを出力することができる。
比較部122は、マイクロプロセッサ210の区間作業負荷率PWRをアップ基準値Ru及びダウン基準値Rdとそれぞれ比較して、マイクロプロセッサ210の電力レベル上昇または、電力レベル下降を示す比較信号CMPを発生することができる。一実施形態で、比較部122は、第1比較器81及び第2比較器82を含むことができる。第1比較器81は、区間作業負荷率PWRとアップ基準値Ruを比較して、区間作業負荷率PWRがアップ基準値Ruより大きい場合活性化する第1比較信号CMP1を出力することができる。第2比較器82は、区間作業負荷率PWRとダウン基準値Rdを比較して、区間作業負荷率PWRがダウン基準値Rdより小さい場合、活性化する第2比較信号CMP2を出力することができる。
第1及び第2比較信号CMP1、CMP2は、ステートマシン123に保存され、ステートマシン123は出力制御信号LCTR_OUTに応答して、レベル制御信号LCTRを電圧−クロック供給部130で出力する。例えば、レベル制御信号LCTRはレベル上昇信号LV_UP及びレベル下降信号LV_DNを含むことができる。レベル上昇信号LV_UPが活性化した場合には電力レベルが上昇されることを示し、レベル下降信号LV_UPが活性化した場合には電力レベルが下降されることを示す。レベル上昇信号LV_UP及びレベル下降信号LV_DNはパルス(pulse)形態で活性化することができる。一方、電力管理部120がソフトウェア的に具現される場合にはステートマシン123はマイクロプロセッサ210内部、または、外部のレジスタであってもよい。実施形態によって、ステートマシン123は省略可能で、ステートマシン120が省略された場合には第1及び第2比較信号CMP1、CMP2が直接電圧−クロック供給部130にレベル制御信号LCTRとして提供されることができる。
図19は図17の電力管理装置に含まれる電圧−クロック供給部の一例を示すブロック図である。
図19を参照すれば、電圧−クロック供給部130は電圧制御部131及びクロック制御部134を含むことができる。
電圧制御部130は、基準電圧発生器132及びレギュレータ133を含むことができる。この場合、電力管理部120から提供されたレベル制御信号LCTRは、基準電圧発生器132で入力され、基準電圧発生器132は、レベル制御信号LCTRに相応するように基準電圧を調節してレギュレータ133に提供することができる。レギュレータ133は、前記調節された基準電圧とフィードバックされるメイン電源電圧MVDDを比較してレベル制御信号LCTRに相応する大きさのメイン電源電圧MVDDをマイクロプロセッサ210に提供することができる。クロック制御部134は、図19に示された通り、位相固定ループPLLの形態で具現される。この場合、電力管理部120から提供されたレベル制御信号LCTRは周波数分周期139で入力され、周波数分周期139はレベル制御信号LCTRに相応する分周比によってメインクロック信号MCLKを分周して出力する。位相/周波数検出器135は、基準クロック信号RCLKと分周されたクロック信号を比較してアップ/ダウン信号を発生し、チャージポンプ136はアップ/ダウン信号に基づいて制御電圧を発生する。電圧−制御発振器138はループフィルタ137によって、フィルタリングされた制御電圧に応答してメインクロック信号MCLKを発生してマイクロプロセッサ210に提供する。このように、電力レベルの変更のためのレベル制御信号LCTRを利用して基準電圧発生器132の出力及び/または、分周器139の分周比を調節する方式でマイクロプロセッサ210に提供されるメイン電源電圧MVDD及び/または、メインクロック信号MCLKの周波数を調節することができる。ただし、これは一つの例示として、電圧−クロック供給部130は多様に設計変更されることができる。
図20は図17の電力管理装置を含む電子機器の一例を示すブロック図である。
図20を参照すれば、電子機器200は、マイクロプロセッサ210、メモリ装置220、保存装置230、入出力装置240、電源装置250及び電力管理装置100を含む。図20には示されていないが、電子機器200はビデオカード、サウンドカード、メモリカード、USB装置とデータ通信を遂行、または、他の電子機器と通信を遂行するための複数のポートをさらに含むことができる。電子機器200は、コンピュータ、ノートブック、デジタルカメラ、ビデオカメラ、携帯電話、スマートフォン、PMP(potable multimedia player;PMP)、PDA(personal digital assistant;PDA)、MP3プレーヤ、車両用ナビゲーションなどであってもよい。
マイクロプロセッサ210は、中央処理ユニット、デジタル信号処理ユニット、マイクロコントローラなどであてもよく、電子機器200内部で特定タスクを遂行できる。このために、マイクロプロセッサ210は周辺構成要素相互接続(peripheral component interconnect、PCI)バスのような拡張バスに接続されることができる。一方、マイクロプロセッサ210は、電力管理装置100からメインクロック信号MCLK及びメイン電源電圧MVDDが入力され、メインクロック信号MCLKに同期して動作させることができる。電力管理装置100はマイクロプロセッサ210に対し動的電圧周波数スケーリングDVFSを遂行することができる。このために、電力管理装置100は、作業部下検出部110、電力管理部120及び電圧−クロック供給部130を含むことができる。上述した通り、電力管理装置100は、マイクロプロセッサ210の動作状態が急変する場合に、持続区間を指数的に減少させることによってマイクロプロセッサ210の電力レベルを正確に予測することができ、マイクロプロセッサ210の動作状態が一定の場合には、持続区間を指数的に増加させることによって、不必要な電力レベル変更に伴うマイクロプロセッサ210の性能低下及び電力消費を防止することができる。
マイクロプロセッサ210は、少なくとも一つ以上のメモリ装置220、少なくとも一つ以上の保存装置230及び少なくとも一つ以上の入出力装置240等を制御することができる。少なくとも一つ以上のメモリ装置220は、アドレスバス、制御バス及び/または、データバスを通じてマイクロプロセッサ210に接続されることができる。例えば、少なくとも一つ以上のメモリ装置220は、動的ランダムアクセスメモリ(Dynamic Random Access Memory;DRAM)、静的ランダムアクセスメモリ(Static Random Access Memory;SRAM)、またはEPROM(Erasable Programmable Read−Only Memory;EPROM)、EEPROM(Electrically Erasable Programmable Read−Only Memory;EEPROM)及びフラッシュメモリ装置(flash memory device)などのような非揮発性メモリ装置であってもよい。少なくとも一つ以上の保存装置230はソリードステートドライブ(solid state drive)、ハードディスクドライブ及びシーディーロム(CD−ROM)などのような保存装置であってもよい。少なくとも一つ以上の入出力装置240は、キーボード、キーパッド、タッチパッド、マウスなどのような入力装置及びプリンタ、ディスプレイ、スピーカなどのような出力装置であってもよい。電源装置250は、電子機器200に求められる動作電圧を供給することができる。
以上、本発明の実施形態を参照して動作電圧周波数スケーリング方法及びこれを遂行する電力管理装置に対し説明したが、前記で説明された数式、グラフ、構造などは例示的なものとして、本発明の技術的思想を離れない範囲において該当技術分野で通常の知識を有する者によって多様に修正及び変更されることができる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特徴請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
本発明はマイクロプロセッサを含む電子機器に多様に適用されることができる。例えば、本発明はコンピュータ、ノートブック、デジタルカメラ、ビデオカメラ、携帯電話、スマートフォン、PMP、PDP、MP3プレーヤ、車両用ナビゲーション、ビデオフォン、監視システム、追跡システム、動作感知システム、イメージ安定化システムなどに適用される。
100 電力管理装置、
110 マイクロプロセッサ、
120 作業負荷検出部、
130 電力管理部、
140 電圧−クロック供給部。

Claims (10)

  1. 第1持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率(unit workload rate)を計算する段階と、
    前記単位作業負荷率の変化量に基づいて第1持続区間の長さを指数的(exponentially)に変更する段階と、
    前記第1持続区間で前記単位作業負荷率を累積して前記マイクロプロセッサの区間作業負荷率を計算する段階と、
    前記区間作業負荷率に基づいて前記マイクロプロセッサの電力レベルを変更する段階と、
    を含む動的電力レベルスケーリング方法。
  2. 前記電力レベルは、前記マイクロプロセッサの動作周波数、または、動作電圧に対応することを特徴とする請求項1に記載の動的電力レベルスケーリング方法。
  3. 前記単位作業負荷率の計算は、
    前記単位区間ごとに前記マイクロプロセッサのアクティブ(active)区間を計算する段階と、
    前記単位区間ごとに前記マイクロプロセッサのアイドル(idle)区間を計算する段階と、
    前記アクティブ区間及び前記アイドル区間に基づいて前記単位作業負荷率が推定する段階と、
    を含むことを特徴とする請求項1または2に記載の動的電力レベルスケーリング方法。
  4. 前記単位作業負荷率を計算する段階は、下記の[式1]を利用して行われることを特徴とする請求項1から3のいずれかに記載の動的電力レベルスケーリング方法。
    Figure 2011100449
    (前記式において、UWRは単位作業負荷率を示し、UTは単位区間を示し、ATは単位区間でのアクティブ区間を示し、ITは単位区間でのアイドル区間を示す。)
  5. 前記第1持続区間の長さを変更する段階は、
    前記変化量が安定基準値より大きければ、前記第1持続区間の長さを指数的に増加する段階と、
    前記変化量が前記安定基準値より小さければ、前記第1持続区間の長さを指数的に減少する段階と、
    前記変化量が前記安定基準値と同一であれば、前記第1持続区間の長さを維持させる段階と、
    を含むことを特徴とする請求項1から4のいずれかに記載の動的電力レベルスケーリング方法。
  6. 前記第1持続区間の長さの変更は、下記の[式2]を利用して求めることを特徴とする請求項5に記載の動的電力レベルスケーリング方法。
    Figure 2011100449
    (前記式において、FPRは変更前の第1持続区間の長さを示し、SPRは変更後の第1持続区間の長さを示し、rは使用者が決定する指数の比(exponential ratio)を示し、dUWRは単位作業負荷率の変化量を示し、SVは安定基準値を示す。)
  7. 前記区間作業負荷率を計算する段階は、前記単位作業負荷率に加重値を適用することを特徴とする請求項1から6のいずれかに記載の動的電力レベルスケーリング方法。
  8. 前記区間作業負荷率を計算する段階は、下記の[式3]を利用して求めることを特徴とする請求項7に記載の動的電力レベルスケーリング方法。
    Figure 2011100449
    (前記式において、PWRは区間作業負荷率を示し、UWRxはX番目の段位作業負荷率を示し、Cは加重値を示し、第1持続区間はn個の単位区間の和に対応する。)
  9. 前記電力レベルを変更する段階は、
    前記区間作業負荷率がアップ基準値より大きければ、前記電力レベルを増加させる段階と、
    前記区間作業負荷率がダウン基準値より小さければ、前記電力レベルを減少させる段階と、
    前記区間作業負荷率が前記アップ基準値と前記ダウン基準値との間であれば、前記電力レベルを維持させる段階と、
    を含むことを特徴とする請求項1から8のいずれかに記載の動的電力レベルスケーリング方法。
  10. 前記変更された電力レベルを、前記第1持続区間に連続する第2持続区間で維持させる段階をさらに含むことを特徴とする請求項1から9のいずれかに記載の動的電力レベルスケーリング方法。
JP2010238708A 2009-11-06 2010-10-25 動的電圧周波数スケーリング方法 Active JP5694735B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0106822 2009-11-06
KR1020090106822A KR101617377B1 (ko) 2009-11-06 2009-11-06 동적 전압 주파수 스케일링 방법

Publications (3)

Publication Number Publication Date
JP2011100449A true JP2011100449A (ja) 2011-05-19
JP2011100449A5 JP2011100449A5 (ja) 2013-11-07
JP5694735B2 JP5694735B2 (ja) 2015-04-01

Family

ID=43958100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010238708A Active JP5694735B2 (ja) 2009-11-06 2010-10-25 動的電圧周波数スケーリング方法

Country Status (4)

Country Link
US (4) US8631262B2 (ja)
JP (1) JP5694735B2 (ja)
KR (1) KR101617377B1 (ja)
CN (1) CN102053700B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016505913A (ja) * 2012-11-05 2016-02-25 クアルコム,インコーポレイテッド 保証された過渡期限とともに中央処理装置の電力を制御するためのシステムおよび方法
JP2018503184A (ja) * 2014-12-23 2018-02-01 インテル コーポレイション 動的時間的電力ステアリングのためのシステム及び方法
CN112325981A (zh) * 2020-11-03 2021-02-05 常州市鼎兴电子有限公司 一种电感式液位传感器最佳匹配参数设计方法

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101289882B1 (ko) * 2011-08-02 2013-07-24 전자부품연구원 동적 전압 스케일링 장치 및 그 방법
US8650423B2 (en) 2011-10-12 2014-02-11 Qualcomm Incorporated Dynamic voltage and clock scaling control based on running average, variant and trend
US8832478B2 (en) * 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US9152203B2 (en) 2012-05-31 2015-10-06 At&T Intellectual Property I, Lp Managing power consumption state of electronic devices responsive to predicting future demand
US9026817B2 (en) * 2012-06-29 2015-05-05 Intel Corporation Joint optimization of processor frequencies and system sleep states
KR101991682B1 (ko) * 2012-08-29 2019-06-21 삼성전자 주식회사 Dvfs 제어 방법 및 이를 이용한 시스템-온 칩
KR101832821B1 (ko) 2012-09-10 2018-02-27 삼성전자주식회사 동적 전압 주파수 스케일링 방법, 어플리케이션 프로세서 및 이를 구비하는 모바일 기기
US9363749B2 (en) 2012-09-13 2016-06-07 Qualcomm Incorporated Dynamic power scaling of digital modems
FR2999373B1 (fr) * 2012-12-12 2018-04-06 Harmonic Inc. Procede d'adaptation dynamique du codage d'un flux audio et/ou video transmis a un dispositif
KR102002899B1 (ko) 2012-12-18 2019-07-23 삼성전자 주식회사 시스템-온 칩, 이의 동작 방법, 및 이를 포함하는 장치
US9575542B2 (en) * 2013-01-31 2017-02-21 Hewlett Packard Enterprise Development Lp Computer power management
CN103116418B (zh) * 2013-02-04 2016-04-13 Tcl通讯(宁波)有限公司 一种动态调整触摸屏输入检测速率的方法及移动终端
US9170642B2 (en) * 2013-03-21 2015-10-27 Applied Micro Circuits Corporation Dynamic power control
US9588570B2 (en) 2013-04-30 2017-03-07 Samsung Electronics Co., Ltd. Apparatus and method for adjusting bandwidth
KR102135100B1 (ko) * 2013-08-23 2020-07-17 삼성전자주식회사 전자 장치의 동적 전압 주파수 제어 방법 및 장치
US9705684B2 (en) 2013-12-16 2017-07-11 At&T Mobility Ii Llc Systems, methods, and computer readable storage device for delivering power to tower equipment
US9244747B2 (en) * 2014-03-13 2016-01-26 Qualcomm Incorporated System and method for providing dynamic clock and voltage scaling (DCVS) aware interprocessor communication
US9582027B2 (en) 2014-06-09 2017-02-28 Qualcomm Incorporated Clock swallowing device for reducing voltage noise
US20160098339A1 (en) * 2014-10-06 2016-04-07 Qualcomm Incorporated Smart power scheduling for user-directed battery duration
KR102329473B1 (ko) 2014-11-24 2021-11-19 삼성전자주식회사 프로세서와 이를 포함하는 반도체 장치
KR101655030B1 (ko) 2015-05-21 2016-09-07 성균관대학교산학협력단 태스크 특성 기반의 여유시간 분배를 통한 동적 전압 주파수 스케일링 방법, 그 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램 및 그 매체
US9778676B2 (en) 2015-08-03 2017-10-03 Qualcomm Incorporated Power distribution network (PDN) droop/overshoot mitigation in dynamic frequency scaling
US10025641B2 (en) * 2015-09-15 2018-07-17 Qualcomm Incorporated Workload differentiation for processor frequency scaling
KR20170124017A (ko) 2016-04-29 2017-11-09 삼성전자주식회사 동작 전압을 조절하는 메모리 장치, 메모리 장치를 제어하는 어플리케이션 프로세서 및 메모리 장치의 동작방법
US10649518B2 (en) * 2017-01-26 2020-05-12 Ati Technologies Ulc Adaptive power control loop
US10599481B2 (en) 2017-06-04 2020-03-24 Apple Inc. Scheduler for amp architecture using a closed loop performance controller and deferred inter-processor interrupts
US10529407B2 (en) * 2017-07-20 2020-01-07 Samsung Electronics Co., Ltd. Memory device including a plurality of power rails and method of operating the same
KR101983463B1 (ko) * 2017-09-27 2019-05-28 이화여자대학교 산학협력단 Dvfs 기법을 이용하는 모바일 디바이스
CN111164538A (zh) 2017-12-15 2020-05-15 英特尔公司 处理单元的功率管理
KR20200101210A (ko) * 2019-02-19 2020-08-27 삼성전자주식회사 전자 장치 및 프로세서의 동작 주파수를 결정하는 방법
KR20210032213A (ko) 2019-09-16 2021-03-24 삼성전자주식회사 전력 스텝에 기초한 동적 다이내믹 전압 주파주 스케일링(dvfs) 수행 방법
JP7199329B2 (ja) 2019-09-19 2023-01-05 株式会社東芝 制御方法及び半導体集積回路
US11409341B2 (en) 2019-10-01 2022-08-09 Intel Corporation Repeating graphics render pattern detection
US11307634B1 (en) 2021-01-28 2022-04-19 Red Hat, Inc. Maintaining historical power level metadata for dynamic voltage and frequency scaling of processor instructions
US11650655B2 (en) * 2021-03-30 2023-05-16 Rosemount Inc. Power management for loop-powered field devices with low power wireless communication

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10268963A (ja) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
JPH11184550A (ja) * 1997-12-24 1999-07-09 Toshiba Corp コンピュータシステムおよびタイマ割り込み制御方法
JP2000089848A (ja) * 1998-07-24 2000-03-31 Shinki Kagi Kofun Yugenkoshi プロセッサの処理速度の動的制御方法及びシステム
JP2001517332A (ja) * 1995-09-29 2001-10-02 インテル・コーポレーション 電圧スケーリングと周波数スケーリングの両方を通じて電力消費量を削減する装置および方法
JP2001273057A (ja) * 2000-03-09 2001-10-05 Internatl Business Mach Corp <Ibm> プロセッサ利用状況に基づくデータ処理システム内の電力管理
JP2003084856A (ja) * 2001-09-12 2003-03-19 Hitachi Ltd 計算機の処理性能変更装置
JP2004029983A (ja) * 2002-06-24 2004-01-29 Hitachi Ltd 半導体装置または上記半導体装置の消費電力を削減するプログラム
JP2004240971A (ja) * 2003-02-07 2004-08-26 Agilent Technol Inc ウェイクアップの検出方法及びこれを実施した装置
JP2006524374A (ja) * 2003-05-07 2006-10-26 アップル コンピュータ,インコーポレイテッド プロセッサシステムにおける動的電力管理の方法および装置
US20060242433A1 (en) * 2005-04-22 2006-10-26 Cheng-Long Fu Method of Adjusting CPU Clock Speed of an Electronic Appliance
JP2009521761A (ja) * 2005-12-29 2009-06-04 聯想(北京)有限公司 プロセッサーの消費電力の節減方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719800A (en) * 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
JPH11224233A (ja) 1998-02-06 1999-08-17 Sharp Corp バスサイクル制御装置
US7017060B2 (en) * 2001-03-19 2006-03-21 Intel Corporation Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down
US6771134B2 (en) * 2002-05-02 2004-08-03 Intel Corporation Frequency control for clock generating circuit
US7761874B2 (en) * 2004-08-13 2010-07-20 Intel Corporation Managing processing system power and performance based on utilization trends
US7711966B2 (en) * 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
CN100412814C (zh) * 2005-04-12 2008-08-20 鸿富锦精密工业(深圳)有限公司 中央处理器超频系统及方法
US7386739B2 (en) * 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints
WO2007056705A2 (en) * 2005-11-03 2007-05-18 Los Alamos National Security Adaptive real-time methodology for optimizing energy-efficient computing
KR101254009B1 (ko) * 2006-02-03 2013-04-12 삼성전자주식회사 워크로드 추정치를 사용하는 cpu의 동적 전압 스케일링방법 및 그 방법을 실행시키기 위한 프로그램을 기록한기록매체
US7272517B1 (en) * 2006-04-25 2007-09-18 International Business Machines Corporation Method and system for providing performance estimations for a specified power budget
JP4839164B2 (ja) * 2006-09-15 2011-12-21 株式会社日立製作所 ハードウェアモニタを用いた性能評価システム及び再構築可能な計算機システム
US7840825B2 (en) 2006-10-24 2010-11-23 International Business Machines Corporation Method for autonomous dynamic voltage and frequency scaling of microprocessors
US7689851B2 (en) 2006-10-27 2010-03-30 Hewlett-Packard Development Company, L.P. Limiting power state changes to a processor of a computer device
CN100501644C (zh) * 2006-12-05 2009-06-17 中兴通讯股份有限公司 动态降低cpu功耗的方法
US7730340B2 (en) * 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
US8918496B2 (en) * 2007-04-30 2014-12-23 Hewlett-Packard Development Company, L.P. System and method for generating synthetic workload traces
US20090049314A1 (en) 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
US7925873B2 (en) * 2008-03-13 2011-04-12 Oracle America, Inc. Method and apparatus for controlling operating parameters in a computer system
WO2009138953A1 (en) * 2008-05-13 2009-11-19 Nxp B.V. Power manager and method for managing power
US8707060B2 (en) * 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors
KR101533572B1 (ko) * 2009-05-20 2015-07-03 삼성전자주식회사 전력 관리 방법
US8589875B2 (en) * 2009-06-16 2013-11-19 International Business Machines Corporation Computing system with compile farm
US8224497B2 (en) * 2009-08-21 2012-07-17 International Business Machines Corporation Energy limit in a sliding window in power and heat management

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001517332A (ja) * 1995-09-29 2001-10-02 インテル・コーポレーション 電圧スケーリングと周波数スケーリングの両方を通じて電力消費量を削減する装置および方法
JPH10268963A (ja) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
JPH11184550A (ja) * 1997-12-24 1999-07-09 Toshiba Corp コンピュータシステムおよびタイマ割り込み制御方法
JP2000089848A (ja) * 1998-07-24 2000-03-31 Shinki Kagi Kofun Yugenkoshi プロセッサの処理速度の動的制御方法及びシステム
JP2001273057A (ja) * 2000-03-09 2001-10-05 Internatl Business Mach Corp <Ibm> プロセッサ利用状況に基づくデータ処理システム内の電力管理
JP2003084856A (ja) * 2001-09-12 2003-03-19 Hitachi Ltd 計算機の処理性能変更装置
JP2004029983A (ja) * 2002-06-24 2004-01-29 Hitachi Ltd 半導体装置または上記半導体装置の消費電力を削減するプログラム
JP2004240971A (ja) * 2003-02-07 2004-08-26 Agilent Technol Inc ウェイクアップの検出方法及びこれを実施した装置
JP2006524374A (ja) * 2003-05-07 2006-10-26 アップル コンピュータ,インコーポレイテッド プロセッサシステムにおける動的電力管理の方法および装置
US20060242433A1 (en) * 2005-04-22 2006-10-26 Cheng-Long Fu Method of Adjusting CPU Clock Speed of an Electronic Appliance
JP2009521761A (ja) * 2005-12-29 2009-06-04 聯想(北京)有限公司 プロセッサーの消費電力の節減方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016505913A (ja) * 2012-11-05 2016-02-25 クアルコム,インコーポレイテッド 保証された過渡期限とともに中央処理装置の電力を制御するためのシステムおよび方法
JP2018503184A (ja) * 2014-12-23 2018-02-01 インテル コーポレイション 動的時間的電力ステアリングのためのシステム及び方法
CN112325981A (zh) * 2020-11-03 2021-02-05 常州市鼎兴电子有限公司 一种电感式液位传感器最佳匹配参数设计方法
CN112325981B (zh) * 2020-11-03 2023-12-26 常州市鼎兴电子有限公司 一种电感式液位传感器最佳匹配参数设计方法

Also Published As

Publication number Publication date
CN102053700B (zh) 2015-09-16
US20110113269A1 (en) 2011-05-12
US20160091962A1 (en) 2016-03-31
US8631262B2 (en) 2014-01-14
CN102053700A (zh) 2011-05-11
JP5694735B2 (ja) 2015-04-01
US20170344103A1 (en) 2017-11-30
US20140129857A1 (en) 2014-05-08
US9239614B2 (en) 2016-01-19
KR101617377B1 (ko) 2016-05-02
US10394312B2 (en) 2019-08-27
KR20110050010A (ko) 2011-05-13
US9720492B2 (en) 2017-08-01

Similar Documents

Publication Publication Date Title
JP5694735B2 (ja) 動的電圧周波数スケーリング方法
KR101533572B1 (ko) 전력 관리 방법
CN101401056B (zh) 用于计算设备的电源管理的空闲检测度量缩放
US8880924B2 (en) Hot-plugging of multi-core processor
US8135966B2 (en) Method and device for power management
TWI588752B (zh) 執行動態電壓與頻率調整操作的方法、應用處理器執行方法以及包含該應用處理器的行動裝置
US7340623B2 (en) Power-save computing apparatus and method, a power-save computing program and a program product
US8769322B2 (en) Method for adjusting clock frequency of a processing unit of a computer system and related device
WO2013090637A1 (en) Dynamically modifying a power/performance tradeoff based on processor utilization
US20110078477A1 (en) Power management method for electronic device
US7975155B2 (en) Apparatus and method for controlling voltage and frequency
US20030023890A1 (en) Method for reducing current consumption in a mobile communication terminal
US20080141047A1 (en) Apparatus and Method for Controlling Voltage and Frequency
JP2007249638A (ja) 電子機器の消費電力制御システム、電子機器の消費電力制御方法およびプログラム
US20140245044A1 (en) Method for hibernation control based on usage pattern
US20140245042A1 (en) Method for hibernation control based on battery capacity
CN116997878A (zh) 一种功率预算的分配方法及相关设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130924

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150205

R150 Certificate of patent or registration of utility model

Ref document number: 5694735

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250