(57)【要約】【課題】動的電圧周波数スケーリング方法を提供する。【解決手段】  動的電圧周波数スケーリング方法によれば、マイクロプロセッサの単位作業負荷率が第１持続区間で単位区間ごとに計算され、第１持続区間の長さが単位作業負荷率の変化量に基づいて指数的に変更され、マイクロプロセッサの区間作業負荷率が第１持続区間でマイクロプロセッサの単位作業負荷率が累積することによって計算され、マイクロプロセッサの電力レベルがマイクロプロセッサの区間作業負荷率に基づいて変更される。従って、マイクロプロセッサの未来電力レベルが正確に予測されることができ、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下および電力消費が防止されることができる。【選択図】図１
2011100449.tif 000002
【特許請求の範囲】
【請求項１】
第１持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率(ｕｎｉｔ ｗｏｒｋｌｏａｄ ｒａｔｅ)を計算する段階と、
前記単位作業負荷率の変化量に基づいて第１持続区間の長さを指数的(ｅｘｐｏｎｅｎｔｉａｌｌｙ)に変更する段階と、
前記第１持続区間で前記単位作業負荷率を累積して前記マイクロプロセッサの区間作業負荷率を計算する段階と、
前記区間作業負荷率に基づいて前記マイクロプロセッサの電力レベルを変更する段階と、
を含む動的電力レベルスケーリング方法。
【請求項２】
前記電力レベルは、前記マイクロプロセッサの動作周波数、または、動作電圧に対応することを特徴とする請求項１に記載の動的電力レベルスケーリング方法。
【請求項３】
前記単位作業負荷率の計算は、
前記単位区間ごとに前記マイクロプロセッサのアクティブ(ａｃｔｉｖｅ)区間を計算する段階と、
前記単位区間ごとに前記マイクロプロセッサのアイドル(ｉｄｌｅ)区間を計算する段階と、
前記アクティブ区間及び前記アイドル区間に基づいて前記単位作業負荷率が推定する段階と、
を含むことを特徴とする請求項１または２に記載の動的電力レベルスケーリング方法。
【請求項４】
前記単位作業負荷率を計算する段階は、下記の[式１]を利用して行われることを特徴とする請求項１から３のいずれかに記載の動的電力レベルスケーリング方法。
【数７】
2011100449.tif 000009
（前記式において、ＵＷＲは単位作業負荷率を示し、ＵＴは単位区間を示し、ＡＴは単位区間でのアクティブ区間を示し、ＩＴは単位区間でのアイドル区間を示す。）
【請求項５】
前記第１持続区間の長さを変更する段階は、
前記変化量が安定基準値より大きければ、前記第１持続区間の長さを指数的に増加する段階と、
前記変化量が前記安定基準値より小さければ、前記第１持続区間の長さを指数的に減少する段階と、
前記変化量が前記安定基準値と同一であれば、前記第１持続区間の長さを維持させる段階と、
を含むことを特徴とする請求項１から４のいずれかに記載の動的電力レベルスケーリング方法。
【請求項６】
前記第１持続区間の長さの変更は、下記の[式２]を利用して求めることを特徴とする請求項５に記載の動的電力レベルスケーリング方法。
【数８】
2011100449.tif 000010
（前記式において、ＦＰＲは変更前の第１持続区間の長さを示し、ＳＰＲは変更後の第１持続区間の長さを示し、ｒは使用者が決定する指数の比(ｅｘｐｏｎｅｎｔｉａｌ ｒａｔｉｏ)を示し、ｄＵＷＲは単位作業負荷率の変化量を示し、ＳＶは安定基準値を示す。）
【請求項７】
前記区間作業負荷率を計算する段階は、前記単位作業負荷率に加重値を適用することを特徴とする請求項１から６のいずれかに記載の動的電力レベルスケーリング方法。
【請求項８】
前記区間作業負荷率を計算する段階は、下記の[式３]を利用して求めることを特徴とする請求項７に記載の動的電力レベルスケーリング方法。
【数９】
2011100449.tif 000011
（前記式において、ＰＷＲは区間作業負荷率を示し、ＵＷＲｘはＸ番目の段位作業負荷率を示し、Ｃは加重値を示し、第１持続区間はｎ個の単位区間の和に対応する。）
【請求項９】
前記電力レベルを変更する段階は、
前記区間作業負荷率がアップ基準値より大きければ、前記電力レベルを増加させる段階と、
前記区間作業負荷率がダウン基準値より小さければ、前記電力レベルを減少させる段階と、
前記区間作業負荷率が前記アップ基準値と前記ダウン基準値との間であれば、前記電力レベルを維持させる段階と、
を含むことを特徴とする請求項１から８のいずれかに記載の動的電力レベルスケーリング方法。
【請求項１０】
前記変更された電力レベルを、前記第１持続区間に連続する第２持続区間で維持させる段階をさらに含むことを特徴とする請求項１から９のいずれかに記載の動的電力レベルスケーリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に関し、さらに詳細には電子機器内部のマイクロプロセッサのための動的電圧周波数スケーリング方法に関するものである。
【背景技術】
【０００２】
電子機器は、マイクロプロセッサが高い動作周波数及びそれに伴う高い動作電圧で動作しているため、多くの電力を消費している。特に、制限された容量のバッテリーに基づいて動作する移動通信端末機などのような携帯用電子機器では、マイクロプロセッサの高い電力消費が大きな問題として認識されている。したがって、電子機器の動作モードを使用モード(ｒｕｎｎｉｎｇ ｍｏｄｅ)とアイドルモード(ｉｄｌｅ ｍｏｄｅ)に区分し、電子機器の動作モードによってマイクロプロセッサの動作周波数及び動作電圧を変更する動的電圧及び周波数スケーリング(Ｄｙｎａｍｉｃ Ｖｏｌｔａｇｅ ａｎｄ Ｆｒｅｑｕｅｎｃｙ Ｓｃａｌｉｎｇ；ＤＶＦＳ)が提示されている。
【０００３】
一般的に、動的電圧周波数スケーリングは、持続区間でマイクロプロセッサの現在の作業負荷率をモニタリングし、その結果によってマイクロプロセッサの未来電力レベルを予測する方式で、マイクロプロセッサの電力レベルを変更することである。しかし、従来の動的電圧周波数スケーリング方法は、持続区間が相対的に長く、マイクロプロセッサの未来電力レベルを正確に予測できない場合があり、または、持続区間が相対的に短く、マイクロプロセッサの動作周波数または、動作電圧を変更する回数の増加に伴う性能低下及び電力消費が大きいという問題点がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００８−０９８２５４号明細書
【特許文献２】米国特許出願公開第２００９−０４９３１４号明細書
【特許文献３】米国特許出願公開第２００７−１６８０５５号明細書
【特許文献４】特開平１１−２２４２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、マイクロプロセッサの未来電力レベルを正確に予測でき、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費を減少させることができる動的電圧周波数スケーリング方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明の目的を達成するために、本発明の一実施形態に係る動的電圧周波数スケーリング方法によれば、マイクロプロセッサの単位作業負荷率(ｕｎｉｔ ｗｏｒｋｌｏａｄ ｒａｔｅ)が第１持続区間で単位区間ごとに計算され、前記第１持続区間の長さが前記単位作業負荷率の変化量に基づいて指数的(ｅｘｐｏｎｅｎｔｉａｌｌｙ)に変更され、前記マイクロプロセッサの区間作業負荷率は、前記第１持続区間で前記単位作業負荷率を累積することによって計算することができる。また、前記マイクロプロセッサの電力レベルを前記区間作業負荷率に基づいて変更することができる。
【０００７】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記電力レベルは,前記マイクロプロセッサの動作周波数または動作電圧に対応することができる。
【０００８】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記単位作業負荷率の計算は、前記単位区間ごとに前記マイクロプロセッサのアクティブ(ａｃｔｉｖｅ)区間が計算され、前記単位区間ごとに前記マイクロプロセッサのアイドル(ｉｄｌｅ)区間が計算され、前記アクティブ区間及び前記アイドル区間に基づいて前記単位作業負荷率を推定することによって行われる。
【０００９】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記単位作業負荷率の計算は下記の[式１]を利用して行われる。
【００１０】
【数１】
2011100449.tif 000003
【００１１】
「前記式において、ＵＷＲは単位作業負荷率を示し、ＵＴは単位区間を示し、ＡＴは単位区間でのアクティブ区間を示し、ＩＴは単位区間でのアイドル区間を示す。」
前記動的電圧周波数スケーリング方法の実施形態によれば、前記アクティブ区間は、前記マイクロプロセッサにメインクロック信号が印加される区間に対応でき、前記アイドル区間は、前記マイクロプロセッサに前記メインクロック信号が印加されない区間に対応することができる。
【００１２】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記アクティブ区間及び前記アイドル区間は運営体制(Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ)によって決定される。
【００１３】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記第１持続区間の長さは、前記変化量が安定基準値より大きければ、前記第１持続区間の長さが指数的に増加し、前記変化量が前記安定基準値より小さければ、前記第１持続区間の長さが指数的に減少し、前記変化量が前記安定基準値と同一であれば、前記第１持続区間の長さが維持される。
【００１４】
前記動的電圧周波数スケーリング方法の実施形態によると、前記第１持続区間の長さの変更は下記の[式２]を利用して行われる。
【００１５】
【数２】
2011100449.tif 000004
【００１６】
「前記式において、ＦＰＲは変更前の第１持続区間の長さを示し、ＳＰＲは変更後の第１持続区間の長さを示し、ｒは使用者が決定する指数の比(ｅｘｐｏｎｅｎｔｉａｌ ｒａｔｉｏ)を示し、ｄＵＷＲは単位作業負荷率の変化量を示し、ＳＶは安定基準値を示す。」
前記動的電圧周波数スケーリング方法の実施形態によれば、前記第１持続区間の長さは、予め設定された最大区間の長さと予め設定された最小区間の長さとの間で変更される。
【００１７】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記区間作業負荷率の計算は、前記単位作業負荷率に加重値を適用することによって行うことができる。
【００１８】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記区間作業負荷率の計算は、下記の[式３]を利用して行うことができる。
【００１９】
【数３】
2011100449.tif 000005
【００２０】
「前記式において、ＰＷＲは区間作業負荷率を示し、ＵＷＲｘはＸ番目の段位作業負荷率を示し、Ｃは加重値を示し、第１持続区間はｎ個の単位区間の和に対応する。」
前記動的電圧周波数スケーリング方法の実施形態によれば、前記電力レベルは、前記区間作業負荷率がアップ基準値より大きければ前記電力レベルが増加し、前記区間作業負荷率がダウン基準値より小さければ前記電力レベルが減少し、前記区間作業負荷率が前記アップ基準値と前記ダウン基準値との間であれば、前記電力レベルが維持される。
【００２１】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記電力レベルは、予め設定された最大電力レベルと予め設定された最小電力レベルとの間で変更される。
【００２２】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記電力レベルの変更は、複数の離散的な電力レベルに対して前記電力レベルを段階的に増加または、減少させることができる。
【００２３】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記離散的な電力レベルは、１つの電力レベルが他の１つの電力レベルの２倍に対応する。
【００２４】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、前記変更された電力レベルを前記第１持続区間に連続する第２持続区間で維持させることができる。
【００２５】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、外部コマンドに基づいて前記電力レベルを予め設定された電力レベルに変更することができる。
【００２６】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、外部コマンドに基づいて前記電力レベルを予め設定された値ほど増加または、減少させることができる。
【００２７】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、外部コマンドに基づいて前記第１持続区間の長さを予め設定された長さに変更することができる。
【００２８】
前記動的電圧周波数スケーリング方法の実施形態によれば、前記動的電圧周波数スケーリング方法は、外部コマンドに基づいて前記第１持続区間の長さを予め設定された値ほど増加または、減少させることができる。
【発明の効果】
【００２９】
本発明の動的電圧周波数スケーリング方法は、マイクロプロセッサの動作状態が急変する場合に、持続区間を指数的に減少させることによってマイクロプロセッサの電力レベルを正確に予測して、マイクロプロセッサの動作状態が一定の場合には、持続区間を指数的に増加させることによって不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費を防止することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係る動的電圧周波数スケーリング方法を示したフローチャートである。
【図２】図１の動的電圧周波数スケーリング方法において持続区間を説明するための図面である。
【図３】図１の動的電圧周波数スケーリング方法において単位作業負荷率が計算される一例を示したフローチャートである。
【図４】図３の単位作業負荷率計算を説明するためのグラフである。
【図５】図１の動的電圧周波数スケーリング方法において持続区間の長さが変更される一形態を示したフローチャートである。
【図６】図５の持続期間の長さの変更を説明するためのグラフである。
【図７】図１の動的電圧周波数スケーリング方法において、マイクロプロセッサの電力レベルに変更される一例を示したフローチャートである。
【図８】図７の電力レベルの変更を説明するためのグラフである。
【図９】図１の動的電圧周波数スケーリング方法において外部コマンドに基づいて、マイクロプロセッサの電力レベルが変更される一例を示したフローチャートである。
【図１０】図９の電力レベル変更を説明するためのグラフである。
【図１１】図１の動的電圧周波数スケーリング方法において外部コマンドに基づいて、マイクロプロセッサの電力レベルが変更される他の例を示したフローチャートである。
【図１２】図１１の電力レベルの変更を説明するためのグラフである。
【図１３】図１の動的電圧周波数スケーリング方法において外部コマンドに基づいて、持続区間の長さが変更する一例を示したフローチャートである。
【図１４】図１３の持続区間の長さの変更を説明するためのグラフである。
【図１５】図１の動的電圧周波数スケーリング方法において外部コマンドに基づいて、持続区間の長さが変更する他の例を示したフローチャートである。
【図１６】図１５の持続区間の長さの変更を説明するためのグラフである。
【図１７】図１の動的電圧周波数スケーリング方法を遂行する電力管理装置の一例を示したブロック図である。
【図１８】図１７の電力管理装置に含まれる電力管理部の一例を示したブロック図である。
【図１９】図１７の電力管理装置に含まれる電圧−クロック供給部の一例を示したブロック図である。
【図２０】図１７の電力管理装置を含む電子機器の一例を示したブロック図である。
【発明を実施するための形態】
【００３１】
本文に開示されている本発明の実施形態に対して、特定の構造的乃至機能的説明は単に本発明の実施形態を説明するための目的として例示されたものであり、本発明の実施形態は多様な形態で実施され、本文に説明された実施形態に限定されると解釈されてはいけない。
【００３２】
本発明は多様な変更を加えることができ、色々な形態を有することができるところ、特定実施形態を図面に例示して本文に詳細に説明する。しかし、これは本発明を特定の開示形態に対して限定しようとするのではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物ないし代替物を含むこととして理解されなければならない。
【００３３】
第１、第２などの用語は多様な構成要素を説明するのに使われることができるが、前記構成要素は前記用語によって限定されてはいけない。前記用語は１つの構成要素を他の構成要素から区別する目的として使われることができる。例えば、本発明の権利範囲から離脱せず第１構成要素は第２構成要素と命名されることができ、同様に第２構成要素も第１構成要素と命名されることができる。
【００３４】
ある構成要素が他の構成要素に「接続されて」あるまたは「接続されて」あると言及された場合には、その他の構成要素に直接的に接続されていたりまたは、接続されていたりすることもできるが、中間に他の構成要素が存在することもできると理解されるべきである。反面、どんな構成要素が他の構成要素に「直接接続されて」あるまたは「直接接続されて」あると言及された場合には、中間に他の構成要素が存在しないことと理解されるべきである。構成要素の間の関係を説明する他の表現、すなわち「〜間に」と「すぐに〜間に」または「〜に隣接する」と「〜に直接隣接する」等も同じように解釈されるべきである。
【００３５】
本明細書で使った用語は単に特定の実施形態を説明するために使われたことで、本発明を限定しようとする意図ではない。単数の表現は文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書で、「含む」または「有する」等の用語は明細書上に記載された特徴、数字、段階、動作、構成要素、部品または、これを組み合わせたのが存在するということを指定しようとすることであって、１つまたは、それ以上の他の特徴や数字、段階、動作、構成要素、部品または、これを組み合わせたものなどの存在または、付加の可能性を、予め排除しないことと理解されるべきである。
【００３６】
また、別に定義しない限り、技術的或いは科学的用語を含んで、ここにおいて使用される全ての用語は本発明が属する技術分野で通常の知識を有する者であれば、一般的に理解されることと同一な意味を有する。一般的に使用される辞書において定義する用語と同じ用語は関連技術の文脈上に有する意味と一致する意味を有することと理解されるべきで、本明細書において明白に定義しない限り、理想的或いは形式的な意味として解釈しない。
【００３７】
以下、添付図面を参照して、本発明の望ましい実施形態をより詳細に説明する。図面上の同じ構成要素に対しては同じ参照符号を使って同じ構成要素に対して重複した説明は省略する。
【００３８】
図１は本発明の一実施形態に係る動的電圧周波数スケーリング方法を示すフローチャートである。
【００３９】
図１を参照すると、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第１持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率(ｕｎｉｔ ｗｏｒｋｌｏａｄ ｒａｔｅ)を計算（Ｓ１１０)し、マイクロプロセッサの単位作業負荷率に基づいて単位作業負荷率の変化量を計算（Ｓ１２０）し、単位作業負荷率の変化量に基づいて第１持続区間の長さを指数的(ｅｘｐｏｎｅｎｔｉａｌｌｙ)に変更（Ｓ１３０）することができる。以後、第１持続区間でマイクロプロセッサの単位作業負荷率を累積することによってマイクロプロセッサの区間作業負荷率(ｐｅｒｉｏｄ ｗｏｒｋｌｏａｄ ｒａｔｅ)を計算（Ｓ１４０）し、マイクロプロセッサの区間作業負荷率に基づいてマイクロプロセッサの電力レベルを変更（Ｓ１５０）し、第２持続区間でマイクロプロセッサの変更された電力レベルを維持（Ｓ１６０）することができる。
【００４０】
一般的に、動的電圧周波数スケーリング(Ｄｙｎａｍｉｃ Ｖｏｌｔａｇｅ Ｆｒｅｑｕｅｎｃｙ Ｓｃａｌｉｎｇ：ＤＶＦＳ)方法は、マイクロプロセッサの作業負荷率に基づいてマイクロプロセッサの電力レベル（すなわち、動作電圧または、動作周波数）を動的に変化させる方法のことである。すなわち、マイクロプロセッサの現在の作業負荷率に基づいて、マイクロプロセッサの未来電力レベルを予測することである。このような電力レベル予測は、第１持続区間での区間作業負荷率が第２持続区間での区間作業負荷率と同様であることを仮定して形成される。具体的に、動的電圧周波数スケーリング方法は、第１持続区間でマイクロプロセッサの区間作業負荷率に比べてマイクロプロセッサの電力レベルが低いと判断される場合、マイクロプロセッサの電力レベルを増加させることによって第２持続区間でマイクロプロセッサの性能低下を防ぐことができ、第１持続区間でマイクロプロセッサの区間作業負荷率に比べてマイクロプロセッサの電力レベルが高いと判断される場合、マイクロプロセッサの電力レベルを減少させることによって第２持続区間でマイクロプロセッサの不必要な電力消費を防ぐことができる。しかし、従来の動的電圧周波数スケーリング方法では、持続区間の長さが固定されたり、または、線形的に変更されたりするため、持続区間の長さがマイクロプロセッサの動作状態を反映することができないという問題点がある。
【００４１】
これにより、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第１持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率を計算（Ｓ１１０）し、第１持続区間でマイクロプロセッサの単位作業負荷率を累積することによってマイクロプロセッサの区間作業負荷率を計算（Ｓ１４０）し、マイクロプロセッサの区間作業負荷率に基づいてマイクロプロセッサの電力レベルを変更（Ｓ１５０）することができる。また、第２持続区間ではマイクロプロセッサの変更された電力レベルを維持（Ｓ１６０）することができる。この時、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第１持続区間で単位区間ごとに単位作業負荷率の変化量が計算（Ｓ１２０）されると、このような単位作業負荷率の変化量に基づいて第１持続区間を指数的に続けて変更（Ｓ１３０）することができる。一実施形態において、マイクロプロセッサの単位作業負荷率は単位区間でマイクロプロセッサが遂行できる最大作業量に対するマイクロプロセッサが遂行した作業量の比率として定義することができ、マイクロプロセッサの区間作業負荷率は持続区間でマイクロプロセッサが遂行できる最大作業量に対しマイクロプロセッサが遂行した作業量の比率として定義することができる。以下、本発明の一実施形態に係る動的電圧周波数スケーリング方法を具体的に説明する。
【００４２】
マイクロプロセッサの単位作業負荷率は第１持続区間で単位区間ごとに計算（Ｓ１１０）されることができる。ここで、第１持続区間の長さは、マイクロプロセッサの単位作業負荷率の変化量によって継続的に変更される可変的な値であり、単位区間の長さはシステム、または、使用者によって決められる固定された値である。例えば、単位区間はシステムで発生するシステムティック（ｓｙｓｔｅｍ ｔｉｃｋ）に基づいて決定されることができる。一実施形態において、単位区間ごとにマイクロプロセッサのアクティブ区間及びアイドル区間が計算されると、アクティブ区間及びアイドル区間に基づいてマイクロプロセッサの単位作業負荷率が計算される。アクティブ区間はマイクロプロセッサにメインクロック信号が印加される区間に対応でき、アイドル区間はマイクロプロセッサにメインクロック信号が印加されない区間に対応することができる。アクティブ区間及びアイドル区間はリナックス（ｌｉｎｕｘ）、ウィンドウズ（ｗｉｎｄｏｗｓ）のような運営体制(Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ)によって決定できる。実施形態によって、運営体制がマイクロプロセッサのアイドル区間を決めれば、マイクロプロセッサのアクティブ区間は単位区間でアイドル区間を除いた区間に決定される。
【００４３】
第１持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率が計算（Ｓ１２０）されると、単位作業負荷率の変化量が計算（Ｓ１３０）できる。具体的に、単位作業負荷率の変化量は、第ｎ＋１単位区間での単位作業負荷率で第ｎ単位区間での単位作業負荷率を抜いた値に対応することができる。このように、単位作業負荷率の変化量が次々と計算（Ｓ１２０）されると、第１持続区間の長さは単位作業負荷率の変化量に基づいて指数的に変更（Ｓ１３０）される。この時、第１持続区間の長さはそれぞれの変化量に基づいて変更されるが、使用者の設定によって一部変化量にだけ基づいて変更されることもある。例えば、奇数番目または、偶数番目の変化量に基づいて変更されることがある。一実施形態において、第１持続区間の長さは、単位作業負荷率の変化量が安定基準値より大きければ第１持続区間の長さを指数的に増加させ、単位作業負荷率の変化量が安定基準値より小さければ第１持続区間の長さを指数的に減少させ、単位作業負荷率の変化量が安定基準値と同一であれば、第１持続区間の長さを維持させる。この時、安定基準値はシステムにより決定される値であり、システムに求められる条件により使用者によって多様に決定することができる。
【００４４】
一般的に、単位作業負荷率の変化量が大きいということは、マイクロプロセッサの動作状態が急変するということであり、単位作業負荷率の変化量が大きいにもかかわらず、第１持続区間の長さが相対的に長ければ、第１持続区間はマイクロプロセッサの動作状態を正確に反映することができない。その結果、第１持続区間で予測された第２持続区間での電力レベルが第２持続区間でのマイクロプロセッサの区間作業負荷率に比べて高い状態のオーバーシュート(ｏｖｅｒｓｈｏｏｔ)が発生したり、または、第１持続区間で予測された第２持続区間での電力レベルが第２持続区間でのマイクロプロセッサの区間作業負荷率より低い状態のアンダーシュート（ｕｎｄｅｒｓｈｏｏｔ)が発生したりすることがある。その反面、単位作業負荷率の変化量が小さいということは、マイクロプロセッサの動作状態が一定であるということを意味するため、単位作業負荷率の変化量が小さいにもかかわらず、第１持続区間の長さが相対的に短ければ、マイクロプロセッサの電力レベルを変更する回数が不必要に多くなることがある。その結果、不必要な電力レベル変更によってマイクロプロセッサの性能が低下したり、または、マイクロプロセッサにとって不必要な電力を消費させたりすることがある。このような問題点を解決するために、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第１区間でマイクロプロセッサの動作状態が急変する場合には第１持続区間を指数的に減少させ、第１区間でマイクロプロセッサの動作状態が一定の場合には第１持続区間を指数的に増加させる。
【００４５】
マイクロプロセッサの区間作業負荷率は、第１持続区間でマイクロプロセッサの単位作業負荷率を累積することによって計算（Ｓ１４０）することができる。一実施形態において、マイクロプロセッサの単位作業負荷率は加重値が適用される方式で累積される。例えば、マイクロプロセッサの区間作業負荷率を計算することにおいて直前の単位作業負荷率には大きい加重値を付与し、その前の単位作業負荷率には小さい加重値を与えることができる。ただし、移動通信端末機などのようなモバイルシステムでは、マイクロプロセッサの区間作業負荷率を計算することにおいてマイクロプロセッサの単位作業負荷率に加重値を付与することがモバイルシステム全体に大きい負担を与えられるため、マイクロプロセッサの単位作業負荷率に加重値を付与するのはシステムの性能によって選択的に遂行される。また、マイクロプロセッサの単位作業負荷率に付与される加重値もシステムの性能によって多様に決定される。
【００４６】
マイクロプロセッサの電力レベルはマイクロプロセッサが電力を消費する程度を示すものであり、マイクロプロセッサの動作周波数または、動作電圧に対応する。従って、マイクロプロセッサの電力レベルが大きいということはマイクロプロセッサの動作周波数または、動作電圧が大きいということを意味する。例えば、マイクロプロセッサが同じアプリケーションを遂行する場合に、マイクロプロセッサの電力レベル（すなわち、動作周波数または、動作電圧）が大きいほど、消費電力は増加し、マイクロプロセッサの作業速度は速くなる。従って、マイクロプロセッサの区間作業負荷率に比べて高い周波数のクロック信号、または、高い電源電圧をマイクロプロセッサに供給するのはマイクロプロセッサの電力消費を不必要に増加させる原因となる。一方、マイクロプロセッサの動作周波数と動作電圧は互いに関連しているため、マイクロプロセッサの動作周波数が増加すればマイクロプロセッサの動作電圧が大きくなり、マイクロプロセッサの動作周波数が減少すればマイクロプロセッサの動作電圧が小さくなる。
【００４７】
マイクロプロセッサの電力レベルはマイクロプロセッサの区間作業負荷率に基づいて変更（Ｓ１５０）される。マイクロプロセッサの電力レベルは、マイクロプロセッサの区間作業負荷率がアップ基準値より大きければ増加し、マイクロプロセッサの区間作業負荷率がダウン基準値より小さければ減少し、アップ基準値とダウン基準値の間であれば、そのまま維持される。一実施形態で、マイクロプロセッサの電力レベル変更は、離散的な（ｄｉｓｃｒｅｔｅ）電力レベルのうち１つを選択する方式で遂行されるが、それぞれの電力レベルは１つの電力レベルが他の１つの電力レベルの２倍に対応する。例えば、マイクロプロセッサの電力レベル変更は、離散的な電力レベルに対して電力レベルが段階的に増加または減少する方式で遂行される。すなわち、マイクロプロセッサの電力レベル変更が５００ＭＨｚ、２５０ＭＨｚ、１２５ＭＨｚのような離散的な動作周波数に対して動作周波数が段階的に増加または、減少させる方式で遂行される。このような離散的な電力レベルの個数、数値などはマイクロプロセッサの機能、種類などによって多様に変更される。他の実施形態で、マイクロプロセッサの電力レベル変更は連続的な電力レベルに対して電力レベルが増加または減少する方式で遂行することもできる。マイクロプロセッサの動作周波数が増加することによって、内部の論理素子が十分なスイッチング速度を確保できるようにマイクロプロセッサの動作電圧も増加する必要があるので、マイクロプロセッサの電力レベル変更はマイクロプロセッサの動作周波数と動作電圧が共に変更される方式で遂行することもできる。
【００４８】
マイクロプロセッサの変更された電力レベルは第１持続区間に連続する第２持続区間で維持（Ｓ１６０）することができる。第２持続区間も第１持続区間と同様に、第２持続区間で継続的に計算される単位作業負荷率の変化量によって指数的に続けて変更される。実施形態によって、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、マイクロプロセッサの変更された電力レベルを第２持続区間で維持することが適合でないと判断される場合（例えば、オーバーシュートまたはアンダーシュートが過度に発生する場合）には外部コマンドに基づいてマイクロプロセッサの変更された電力レベルを予め設定された電力レベルに変更したり、または、予め設定された値ほど増減させたりすることができる。また、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、マイクロプロセッサがアプリケーションを遂行することにおいて求められる条件によって第１持続区間の長さを予め設定された長さに変更したり、または、予め設定された値ほど増加させたりすることができる。このように、本発明の一実施形態に係る動的電圧周波数スケーリング方法は、第１持続区間で単位区間ごとに単位作業負荷率の変化量に基づいて第１持続区間の長さを指数的に変更（Ｓ１３０）することによって、第２持続区間でのマイクロプロセッサの電力レベルを比較的正確に予測でき、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費も減少させることができる。
【００４９】
図２は図１の動的電圧周波数スケーリング方法で持続区間を説明するための図面である。
【００５０】
図２を参照すれば、第１持続区間は第１時点Ｔ（ｎ−１）で第２時点Ｔ（ｎ）までの区間に対応でき、第２持続区間は第２時点Ｔ（ｎ）で第３時点Ｔ（ｎ＋１）までの区間に対応することができる。上述した通り、第１持続区間は第１持続区間で単位作業負荷率の変化量に基づいて指数的に続けて変更することができ、第２持続区間は第２持続区間で単位作業負荷率の変化量に基づいて指数的に続けて変更することができる。すなわち、第１及び第２持続区間は固定された値でなく、マイクロプロセッサの動作状態によって指数的に変更される値である。従って、第１ないし第３時点Ｔ（ｎ−１）、Ｔ（ｎ）、Ｔ（ｎ＋１）は時間が経つにつれてそれぞれ変更される。
【００５１】
図１の動的電圧周波数スケーリング方法は、第１持続区間での区間作業負荷率に基づいて第２持続区間でのマイクロプロセッサの電力レベルを決めることができる。すなわち、マイクロプロセッサの電力レベル変更は、第１持続区間での区間作業負荷率が第２持続区間での区間作業負荷率と同様であるとの仮定の下に形成される。一実施形態において、図１の動的電圧周波数スケーリング方法は、第１持続区間での区間適業負荷率に基づいて第１持続区間でのマイクロプロセッサの電力レベルを段階的に増加または、減少させる方式で第２持続区間でのマイクロプロセッサの電力レベルを決めることができる。従来の動的電圧周波数スケーリング方法では、持続区間の長さが固定されたり線形的に変更されたりするため、持続区間の長さが該当持続区間でのマイクロプロセッサの動作状態を正確に反映できないという問題点がある。従って、従来の動的電圧周波数スケーリング方法は時間が経つにつれてマイクロプロセッサの全体作業負荷率の変化を観察するのに適した面があるが、持続区間が相対的に長い場合にはマイクロプロセッサの未来電力レベルを間違って予測する場合が多く、持続区間が相対的に短い場合には不必要な電力レベル変更によってシステムに負担を与える場合が多い。
【００５２】
これにより、図１の動的電圧周波数スケーリング方法は、第１持続区間で単位区間ごとにマイクロプロセッサの単位作業負荷率を計算し、単位作業負荷率の変化量に基づいて第１持続区間の長さを指数的に続けて変更することができる。従って、図１の動的電圧周波数スケーリング方法は、第１持続区間でマイクロプロセッサの動作状態が急変する場合、第１持続区間の長さを指数的に減少させ、第２持続区間でのマイクロプロセッサの電力レベルを正確に予測でき、第１持続区間でのマイクロプロセッサの動作状態が一定の場合、第１持続区間の長さを指数的に増加させ、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費を減少させることができる。特に、図１の動的電圧周波数スケーリング方法は、第１持続区間の長さを指数的に変更するため、第１持続区間の長さを線形的に変更する場合に比べて、マイクロプロセッサの動作状態に対する高い反応性を確保することができる。さらに、図１の動的電圧周波数スケーリング方法は、持続区間の長さが対応持続区間でマイクロプロセッサの動作状態を正確に反映できない場合に、外部コマンドに基づいて該当持続区間の長さを予め設定された長さに変更したり、または、予め設定された値ほど増加または、減少させたりすることができる。
【００５３】
図１の動的電圧周波数スケーリング方法は、第１持続区間の長さと第１持続区間内の単位区間の和が同一になる時点、すなわち、第１持続区間が終了する時点で、第１持続区間での区間作業負荷率に基づいて第２持続区間でのマイクロプロセッサの電力レベル（すなわち、動作周波数または、動作電圧）を決めることができる。以後、図１の動的電圧周波数スケーリング方法は、第１持続区間で決定されたマイクロプロセッサの電力レベルを第２持続区間で維持して、第２持続区間の長さと第２持続区間内の単位区間の和が同一になる時点、すなわち、第２持続区間が終了する時点で、第２持続区間での区間作業負荷率に基づいて第３持続区間でのマイクロプロセッサの電力レベルを決めることができる。このように、図１の動的電圧周波数スケーリング方法は、マイクロプロセッサの動作状態に基づいて該当持続区間の長さを適応的（ａｄａｐｔｉｖｅ）に変更させることができる。ただし、マイクロプロセッサの電力レベルがマイクロプロセッサに実際求められる電力レベルと違った場合には、図１の動的電圧周波数スケーリング方法は、外部コマンドに基づいてマイクロプロセッサの電力レベルを予め設定された電力レベルに変更したり、または、予め設定された値ほど増加または、減少させたりすることもできる。
【００５４】
図３は図１の動的電圧周波数スケーリング方法で単位作業負荷率が計算されること例を示すフローチャートである。
【００５５】
図３を参照すれば、図１の動的電圧周波数スケーリング方法は、単位区間ごとにマイクロプロセッサのアクティブ区間を計算（Ｓ２２０）し、単位区間ごとにマイクロプロセッサのアイドル区間を計算（Ｓ２４０）し、アクティブ区間及びアイドル区間に基づいて単位作業負荷率を推定（Ｓ２６０）することによって、マイクロプロセッサの単位作業負荷率を計算することができる。一実施形態において、単位作業負荷率の計算は下記の[式１]を利用して求めることができる。
【００５６】
【数４】
2011100449.tif 000006
【００５７】
「前記式で、ＵＷＲは単位作業負荷率を示し、ＵＴは単位区間を示し、ＡＴは単位区間でのアクティブ区間を示し、ＩＴは単位区間でのアイドル区間を示す。」
上述した通り、マイクロプロセッサのアクティブ区間は、マイクロプロセッサにメインクロック信号が印加される区間に対応でき、マイクロプロセッサのアイドル区間は、マイクロプロセッサにメインクロック信号が印加されない区間に対応することができる。例えば、アクティブ区間は移動通信端末機のトラフィックモード（ｔｒａｆｆｉｃｅ ｍｏｄｅ）及び待機モード（ｓｔａｎｄｂｙ ｍｏｄｅ）に対応でき、アイドル区間はスリープモード（ｓｌｅｅｐ ｍｏｄｅ）に対応することができる。このようなアクティブ区間とアイドル区間は運営体制によって決定されるが、運営体制はシステムの動作必要性に基づいてマイクロプロセッサをアクティブ区間、または、アイドル区間に直ちに転換させることができる。マイクロプロセッサに印加されるメインクロック信号の周波数はマイクロプロセッサの動作周波数に対応することができる。一方、[式１]は例示的なものとして、マイクロプロセッサの性能及び求められる条件によって多様に修正及び変更されることができる。
【００５８】
図４は図３の単位作業負荷率計算を説明するためのグラフである。
【００５９】
図４を参照すれば、図１の動的電圧周波数スケーリング方法は、第１アクティブ区間ＡＴ１及び第１アイドル区間ＩＴ１に基づいて第１単位作業負荷率を計算でき、第２アクティブ区間ＡＴ２及び第２アイドル区間ＩＴ２に基づいて第２単位作業負荷率を計算することができる。具体的に、第１単位作業負荷率はＵＷＲ１＝（ＵＴ１−ＩＴ１）／ＵＴ１＝ＡＴ１／ＵＴ１で計算されることができ、第２単位作業負荷率はＵＷＲ２＝（ＵＴ２−ＩＴ２）／ＵＴ２＝ＡＴ２／ＵＴ２で計算されることができる。図４に示された通り、第１単位区間ＵＴ１の長さと第２単位区間ＵＴ２の長さは固定された値として相互同一である。一方、第１単位作業負荷率と第２単位作業負荷率が計算されることによって、第１単位作業負荷率と第２単位作業負荷率との間の単位作業負荷率の変化量が計算されることができる。すなわち、単位作業負荷率の変化量は、ｄＵＷＲ＝（ＵＷＲ２−ＵＷＲ１）＝（ＡＴ２−ＡＴ１）／ＵＴであってもよい。このような方式で、単位作業負荷率の変化量は持続区間が終了する時点まで継続的に計算され、持続区間は単位作業負荷率の変化量に基づいて継続的に変更することができる。この時、持続区間の長さはそれぞれの単位作業負荷率の変化量に基づいて変更することができるが、上述した通り、使用者の設定によって一部単位作業負荷率の変化量にだけ基づいて変更されることもできる。
【００６０】
図５は図１の動的電圧周波数スケーリング方法で持続区間の長さが変更される一例を示すフローチャートである。
【００６１】
図５を参照すれば、図１の動的電圧周波数スケーリング方法は、単位作業負荷率の変化量と安定基準値を比較（Ｓ３１０）して、その比較結果によって持続区間の長さを変更することができる。図１の動的電圧周波数スケーリング方法は、単位作業負荷率の変化量が安定基準値より大きい値なのかを判断（Ｓ３２０）して、単位作業負荷率の変化量が安定基準値より大きければ、持続区間の長さを指数的に増加（Ｓ３３０）させる。また、単位作業負荷率の変化量が安定基準値より小さい値なのかを判断Ｓ３４０して、単位作業負荷率の変化量が安定基準値より小さければ、持続区間の長さを指数的に減少（Ｓ３５０）させる。さらに、単位作業負荷率の変化量が安定基準値と同一であれば持続区間の長さを維持（Ｓ３６０）させる。一方、持続区間の長さは、予め設定された最大区間の長さと予め設定された最小区間の長さとの間で変更されることがある。一実施形態において、持続区間の長さの変更は下の[式２]を利用して形成することができる。
【００６２】
【数５】
2011100449.tif 000007
【００６３】
「前記式で、ＦＰＲは変更前の持続区間の長さを示し、ＳＰＲは変更後の持続区間の長さを示し、ｒは使用者が決める指数の比を示し、ｄＵＷＲは単位作業負荷率の変化量を示し、ＳＶは安定基準値を示す。」
上述した通り、図１の動的電圧周波数スケーリング方法は、単位作業負荷率の変化量が大きい場合には、マイクロプロセッサの動作状態を正確に反映するために、持続区間の長さを指数的に減少（Ｓ３５０）させることができ、単位作業負荷率の変化量が小さい場合には、不必要な電力レベル変更に伴うマイクロプロセッサの性能低下及び電力消費を減少させるために、持続区間を指数的に増加（Ｓ３３０）させることができる。このように、図１の動的電圧周波数スケーリング方法は、持続区間でマイクロプロセッサの動作状態に基づいて該当持続区間の長さを適応的に変更することによって動的電圧周波数スケーリングを最適に遂行することができる。一方、[式２]は例示的なものとして、マイクロプロセッサの性能及び求められる条件により多様に修正及び変更される。
【００６４】
図６は図５の持続区間の長さの変更を説明するためのグラフである。
【００６５】
図６を参照すれば、図１の動的電圧周波数スケーリング方法は、持続区間で持続区間の長さを継続的に変更することができる。従来の動的電圧周波数スケーリング方法は持続区間の長さが固定されていたり線形的に変更されていたりするため、マイクロプロセッサの動作状態を正確に反映することができなかった反面、図１の動的電圧周波数スケーリング方法は単位区間ＵＴ１、．．．、ＵＴｎごとに単位作業負荷率を計算し、このような単位作業負荷率の変化量に基づいて持続区間の長さを指数的に続けて変更することによって、マイクロプロセッサの動作状態を正確に反映することができる。上述した通り、単位区間ＵＴ１、．．．、ＵＴｎの長さは固定された値として相互同一である。図６に示された通り、図１の動的電圧周波数スケーリング方法は単位区間ＵＴ１、．．．、ＵＴｎごとに単位作業負荷率を計算し、このような単位作業負荷率の変化量に基づいて持続区間の長さを指数的に続けて変更することによって、マイクロプロセッサの動作状態に対する高い反応性を確保することができる。図１の動的電圧周波数スケーリング方法は、持続区間で単位作業負荷率の変化量に基づいて持続区間の長さを指数的に続けて変更して、単位区間ＵＴ１、．．．、ＵＴｎの長さの和が持続区間の長さと同一になる持続区間の終了時点でマイクロプロセッサの電力レベルを変更することができる。
【００６６】
図７は図１の動的電圧周波数スケーリング方法でマイクロプロセッサの電力レベルが変更されること例を示すフローチャートである。
【００６７】
図７を参照すれば、図１の動的電圧周波数スケーリング方法は、区間作業負荷率をアップ基準値及びダウン基準値と比較（Ｓ４１０）し、その比較結果によってマイクロプロセッサの電力レベルを変更することができる。ここで、マイクロプロセッサの区間作業負荷率は持続区間でマイクロプロセッサの単位作業負荷率を累積した値に対応することができる。図１の動的電圧周波数スケーリング方法は区間作業負荷率がアップ基準値より大きい値なのかを判断（Ｓ４２０）して、区間作業負荷率がアップ基準値より大きければ、マイクロプロセッサの電力レベルを増加（Ｓ４３０）させる。また、区間作業負荷率がダウン基準値より小さい値なのかを判断（Ｓ４４０）して、区間作業負荷率がダウン基準値より小さければ、マイクロプロセッサの電力レベルを減少（Ｓ４５０）させる。さらに、区間作業負荷率がアップ基準値とダウン基準値の間であれば、マイクロプロセッサの電力レベルを維持（Ｓ４６０）させる。マイクロプロセッサの電力レベルは予め設定された最大電力レベルと予め設定された最小電力レベルの間で変更されることができる。一実施形態で、マイクロプロセッサの電力レベル変更は複数の離散的な電力レベルに対して電力レベルを段階的に増加または、減少させる方式で遂行されることができる。例えば、マイクロプロセッサの電力レベル変更は５００ＭＨｚ、２５０ＭＨｚ、１２５ＭＨｚのような離散的な動作周波数に対して動作周波数が段階的に増加または減少する方式で形成することができる。このような離散的な電力レベルの個数、数値などはマイクロプロセッサの機能、種類などによって多様に変更されることができる。
【００６８】
一方、マイクロプロセッサの区間作業負荷率の計算は持続区間でマイクロプロセッサの単位作業負荷率を累積することによって行うことができる。一実施形態で、マイクロプロセッサの区間作業負荷率の計算は、最近の単位作業負荷率に大きい加重値Ｃを付与して、以前の単位作業負荷率には小さい加重値Ｃを付与する方式からなることができる。一実施形態で、マイクロプロセッサの区間作業負荷率の計算は下記の[式３]を利用して行うことができる。
【００６９】
【数６】
2011100449.tif 000008
【００７０】
「前記式で、ＰＷＲは区間作業負荷率を示し、ＵＷＲｘはｘ番目の単位作業負荷率を示し、Ｃは加重値を示し、第１持続区間はｎ個の単位区間の和に対応する。」
ただし、マイクロプロセッサの単位作業負荷率に加重値を付与するのはシステムに大きな負担として作用する場合もあるため、システムの性能によって選択的に遂行される。従って、[式３]で加重値Ｃはマイクロプロセッサの機能、種類などによって多様に決定されることができる。例えば、移動通信端末機などと同じモバイルシステムでは単位作業負荷率に加重値Ｃを付与することがシステムに大きな負担として作用する場合があるため、加重値Ｃを０に設定することによってマイクロプロセッサの単位作業負荷率に加重値が付与されないようにすることができる。一方、[式３]は例示的なものとして、マイクロプロセッサの性能及び求められる条件によって多様に修正及び変更することができる。
【００７１】
図８は図７の電力レベル変更を説明するためのグラフである。
【００７２】
図８を参照すれば、図１の動的電圧周波数スケーリング方法は、複数の離散的な電力レベルに対して電力レベルを段階的に増加または、減少させる方式でマイクロプロセッサの電力レベルを変更することができる。また、複数の離散的な電力レベルは１つの電力レベルが他の１つの電力レベルの２倍に対応させることができる。例えば、第３レベルＬＥＶＥＬ３は第２レベルＬＥＶＥＬ２の２倍に対応し、第２レベルＬＥＶＥＬ２は第1レベルＬＥＶＥＬ１の２倍に対応する。説明の便宜のために、第ｎ持続区間は第ｎ時点Ｔ（ｎ）で第ｎ＋１時点Ｔ（ｎ＋１）までと定義する。例えば、図１の動的電圧周波数スケーリング方法は、第１持続区間での区間作業負荷率がアップ基準値より大きければ、マイクロプロセッサの電力レベルを第１レベルＬＥＶＥＬ１で第２レベルＬＥＶＥＬ２に増加させることができる。また、第３持続区間での区間作業負荷率がダウン基準値より小さければ、マイクロプロセッサの電力レベルを第３レベルＬＥＶＥＬ３で、第２レベルＬＥＶＥＬ２で減少させることができる。さらに、第５持続区間での区間作業負荷率がアップ基準値とダウン基準値の間であれば、第６持続区間でのマイクロプロセッサの電力レベルは第３レベルＬＥＶＥＬ３で維持させることができる。このように、図１の動的電圧周波数スケーリング方法は、第ｎ持続区間での区間作業負荷率をアップ基準値及びダウン基準値と比較することによって、第ｎ＋１持続区間でのマイクロプロセッサの電力レベルを決めることができる。
【００７３】
図９は図１の動的電圧周波数スケーリング方法で外部コマンドに基づいてマイクロプロセッサの電力レベルが変更される一例を示すフローチャートである。
【００７４】
図９を参照すれば、図１の動的電圧周波数スケーリング方法は、持続区間でマイクロプロセッサの電力レベルを維持（Ｓ５２０）し、外部コマンドが入力Ｓ５４０されると、マイクロプロセッサの電力レベルを予め設定された電力レベルに変更（Ｓ５６０）することができる。図１の動的電圧周波数スケーリング方法は、第ｎ持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第ｎ＋１持続区間でのマイクロプロセッサの電力レベルを予測するものであるので、予測されたマイクロプロセッサの電力レベルはマイクロプロセッサに実際求められる電力レベルと異なる。このような場合、図１の動的電圧周波数スケーリング方法は、外部コマンドに基づいてマイクロプロセッサの電力レベルを予め設定された電力レベルに変更（Ｓ５６０）することによって、マイクロプロセッサの電力レベルをマイクロプロセッサに実際求められる電力レベルに作ることができる。一実施形態で、予め設定された電力レベルは離散的な電力レベルで、外部コマンドに基づいて１つの電力レベルが選択される。他の実施形態で、予め設定された電力レベルは予め設定された最大電力レベルまたは、予め設定された最小電力レベルであってもよい。実施形態に係り、外部コマンドはマイクロプロセッサの変更された電力レベルをどのくらいの間維持させるのかに関する情報を含むことができる。
【００７５】
図１０は図９の電力レベル変更を説明するためのグラフである。
【００７６】
図１０を参照すれば、図１の動的電圧周波数スケーリング方法は、マイクロプロセッサの電力レベルを維持し、第１外部コマンドＣＯＭＭＡＮＤ１、または、第２外部コマンドＣＯＭＭＡＮＤ２が入力されると、マイクロプロセッサの電力レベルを予め設定された第１レベルＰＤ ＬＥＶＥＬ１、または、予め設定された第２レベルＰＤ ＬＥＶＥＬ２に変更することができる。説明の便宜のために、第ｎ持続区間は第ｎ時点Ｔ(ｎ)で第ｎ＋１時点Ｔ(ｎ＋１)までと定義する。例えば、図１の動的電圧周波数スケーリング方法は、第２持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第３持続区間でのマイクロプロセッサの電力レベルが第３レベルＬＥＶＥＬ３に決定されると、第３持続区間でマイクロプロセッサの電力レベルを第３レベルＬＥＶＥＬ３で維持することができる。しかし、第３持続区間でのマイクロプロセッサの電力レベルが第３持続区間で実際求められる電力レベルに比べて小さいと判断される場合、図１の動的電圧周波数スケーリング方法は、第１外部コマンドＣＯＭＭＡＮＤ１に基づいて、第３持続区間でのマイクロプロセッサの電力レベルを予め設定された第１レベルＰＤ ＬＥＶＥＬ１に変更することができる。同様に、第４持続区間でのマイクロプロセッサの区間作業負荷率に基づいて、第５持続区間でのマイクロプロセッサの電力レベルが第３レベルＬＥＶＥＬ３に決定されれば、第５持続区間でマイクロプロセッサの電力レベルを第３レベルＬＥＶＥＬ３で維持することができる。しかし、第５持続区間でのマイクロプロセッサの電力レベルが第５持続区間で実際求められる電力レベルに比べて大きいと判断される場合、図１の動的電圧周波数スケーリング方法は第２外部コマンドＣＯＭＭＡＮＤ２に基づいて第５持続区間でのマイクロプロセッサの電力レベルを予め設定された第２レベルＰＤ ＬＥＶＥＬ２に変更することができる。図１０ではマイクロプロセッサの変更された電力レベルが該当持続区間の終了時点まで維持されると示されているが、これは１つの例示として多様に設計変更することができる。
【００７７】
図１１は図１の動的電圧周波数スケーリング方法で外部コマンドに基づいてマイクロプロセッサの電力レベルが変更される他の形態を示すフローチャートである。
【００７８】
図１１を参照すれば、図１の動的電圧周波数スケーリング方法は、持続区間でマイクロプロセッサの電力レベルを維持（Ｓ６２０）し、外部コマンドが入力（Ｓ６４０）されると、マイクロプロセッサの電力レベルを予め設定された値ほど増加または、減少（Ｓ６６０）させることができる。図１の動的電圧周波数スケーリング方法は、第ｎ持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第ｎ＋１持続区間でのマイクロプロセッサの電力レベルを予測するため、予測されたマイクロプロセッサの電力レベルはマイクロプロセッサに実際求められる電力レベルと異なる。このような場合、図１の動的電圧周波数スケーリング方法は、外部コマンドに基づいてマイクロプロセッサの電力レベルを予め設定された値ほど増加、または、減少（Ｓ６６０）させることによって、マイクロプロセッサの電力レベルをマイクロプロセッサに実際求められる電力レベルにすることができる。実施形態に係り、外部コマンドはマイクロプロセッサの変更された電力レベルをどのくらいの間維持させるのかに関する情報を含むことができる。 
【００７９】
図１２は図１１の電力レベル変更を説明するためのグラフである。
【００８０】
図１２を参照すれば、図１の動的電圧周波数スケーリング方法は、マイクロプロセッサの電力レベルを維持し、第１外部コマンドＣＯＭＭＡＮＤ１または、第２外部コマンドＣＯＭＭＡＮＤ２が入力されると、マイクロプロセッサの電力レベルを予め設定されたレベルだけに増加または、減少させることができる。説明の便宜のために、第ｎ持続区間は第ｎ時点Ｔ(ｎ)で第ｎ＋１時点Ｔ(ｎ＋１)までと定義する。図１の動的電圧周波数スケーリング方法は、第２持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第３持続区間でのマイクロプロセッサの電力レベルが第３レベルＬＥＶＥＬ３に決定されれば、第３持続区間でマイクロプロセッサの電力レベルを第３レベルＬＥＶＥＬ３で維持することができる。しかし、第３持続区間でのマイクロプロセッサの電力レベルが第３持続区間で実際求められる電力レベルに比べて小さいと判断される場合、図１の動的電圧周波数スケーリング方法は第１外部コマンドＣＯＭＭＡＮＤ１に基づいて第３持続区間でのマイクロプロセッサの電力レベルを予め設定された値ほど増加させることができる。同様に、第４持続区間でのマイクロプロセッサの区間作業負荷率に基づいて第５持続区間でのマイクロプロセッサの電力レベルが第３レベルＬＥＶＥＬ３に決定されると、第５持続区間でマイクロプロセッサの電力レベルを第３レベルＬＥＶＥＬ３で維持することができる。しかし、第５持続区間でのマイクロプロセッサの電力レベルが第５持続区間で実際求められる電力レベルに比べて大きいと判断される場合、図１の動的電圧周波数スケーリング方法は、第２外部コマンドＣＯＭＭＡＮＤ２に基づいて第５持続区間でのマイクロプロセッサの電力レベルを予め設定された値ほど減少させることができる。図１２ではマイクロプロセッサの変更された電力レベルが該当持続区間の終了時点まで維持されると示されているが、これは１つの例示として多様に設計変更することができる。
【００８１】
図１３は図１の動的電圧周波数スケーリング方法で外部コマンドに基づいて持続区間の長さが変更される一例を示すフローチャートである。
【００８２】
図１３を参照すれば、図１の動的電圧周波数スケーリング方法は、持続区間の長さを単位区間ごとに継続的に変更（Ｓ７２０）し、外部コマンドが入力（Ｓ７４０）されると、持続区間の長さを予め設定された長さに変更（Ｓ７６０）することができる。上述した通り、図１の動的電圧周波数スケーリング方法はマイクロプロセッサの動作状態が急変する場合に持続区間の長さを指数的に減少させ、マイクロプロセッサの動作状態が一定の場合に持続区間の長さを指数的に増加させることによって、持続区間でのマイクロプロセッサの動作状態に基づいて該当持続区間の長さを指数的に変更することができる。しかし、マイクロプロセッサがアプリケーションなどを遂行することにおいて求められる条件によってマイクロプロセッサの動作状態が一定でも持続区間の長さを減少させたり、マイクロプロセッサの動作状態が急変しても持続区間の長さを増加させたりする必要がある。このような場合、図１の動的電圧周波数スケーリング方法は外部コマンドに基づいて持続区間の長さを予め設定された長さに変更（Ｓ７６０）することによって、アプリケーションなどを遂行するということにおいて求められる条件を満たすことができる。一実施形態で、予め設定された長さは予め設定された最大長さまたは、予め設定された最小長さであってもよい。実施形態によって、外部コマンドは変更された持続区間の長さをどのくらいの間維持させるのかに関する情報を含むことができる。
【００８３】
図１４は図１３の持続区間長さ変更を説明するためのグラフである。
【００８４】
図１４を参照すれば、図１の動的電圧周波数スケーリング方法は、マイクロプロセッサの単位作業負荷率の変化量に基づいて持続区間の長さを変更して、外部コマンドＣＯＭＭＡＮＤが入力されれば、持続区間の長さを予め設定された長さＰＤ ＬＮＧＴＨに変更することができる。例えば、図１の動的電圧周波数スケーリング方法は、第３単位区間ＵＴ３で外部コマンドＣＯＭＭＡＮＤが入力されれば、持続区間の長さを予め設定された長さＰＤ ＬＥＮＧＴＨに変更し、単位区間ＵＴ１、．．．、ＵＴｎの長さの和が予め設定された長さ ＰＤ ＬＥＮＧＴＨと同じになる持続区間の終了時点でマイクロプロセッサの電力レベルを変更することができる。図１４では変更された持続区間の長さが持続区間の終了時点まで維持されることが示されているが、これは１つの例示として多様に設計変更されることができる。実施形態に係り、予め設定された長さＰＤ ＬＥＮＧＴＨは予め設定された最大長さまたは、予め設定された最小長さであってもよい。
【００８５】
図１５は図１の動的電圧周波数スケーリング方法で外部コマンドに基づいて持続区間の長さが変更される他の例を示すフローチャートである。
【００８６】
図１５を参照すれば、図１の動的電圧周波数スケーリング方法は、持続区間の長さを単位区間ごとに継続的に変更（Ｓ８２０）し、外部コマンドが入力（Ｓ８４０）されれば、持続区間の長さを予め設定された値ほど増加または、減少（Ｓ８６０）させることができる。上述した通り、図１の動的電圧周波数スケーリング方法は、マイクロプロセッサの動作状態が急変すれば持続区間の長さを指数的に減少させ、マイクロプロセッサの動作状態が一定であれば持続区間の長さを指数的に増加させることによって、持続区間でのマイクロプロセッサの動作状態に基づいて該当持続区間の長さを指数的に変更することができる。しかし、マイクロプロセッサがアプリケーションなどを遂行することにおいて求められる条件によってマイクロプロセッサの動作状態が一定でも持続区間の長さを減少させたり、マイクロプロセッサの動作状態が急変しても持続区間の長さを増加させたりする必要がある。このような場合に、図１の動的電圧周波数スケーリング方法は外部コマンドに基づいて持続区間の長さを予め設定された値ほど増加または、減少（Ｓ８６０）させることによってアプリケーションなどを遂行することにおいて求められる条件を満たすことができる。実施形態に係り、外部コマンドは変更された持続区間の長さをどのくらいの間維持させるのかに関する情報を含むことができる。
【００８７】
図１６は図１５の持続区間の長さ変更を説明するためのグラフである。
【００８８】
図１６を参照すれば、図１の動的電圧周波数スケーリング方法は、マイクロプロセッサの単位作業負荷率の変化量に基づいて持続区間の長さを変更し、外部コマンドＣＯＭＭＡＮＤが入力されれば、持続区間の長さを予め設定された値だけに減少または、増加させることができる。例えば、図１の動的電圧周波数スケーリング方法は第３単位区間ＵＴ３で外部コマンドＣＯＭＭＡＮＤが入力されれば、持続区間の長さを予め設定された値だけに減少させ、単位区間ＵＴ１、．．．、ＵＴｎの長さの和が予め設定された値だけに減少した持続区間の長さと同じになる持続区間の終了時点でマイクロプロセッサの電力レベルを変更することができる。図１６では変更された持続区間の長さが持続区間の終了時点まで維持されることとして示されているが、これは１つの例示として多様に設計変更される。
【００８９】
図１７は図１の動的電圧周波数スケーリング方法を遂行する電力管理装置の一例を示すブロック図である。
【００９０】
図１７を参照すれば、電力管理装置１００は作業負荷検出部１１０、電力管理部１２０及び電圧−クロック供給部１３０を含むことによって、マイクロプロセッサ２１０の電力レベルを管理することができる。このような電力管理装置１００は移動通信端末機などの電子機器または、電子機器の内部に含まれる別途の装置であってもよい。図１７には示されていないが、電力管理装置１００は、システムティックのような周期的な信号を発生するためのシステムタイマー及び外部コマンドや周期的な信号などのような特定信号を制御するためのコントローラなどをさらに含むことができる。
【００９１】
マイクロプロセッサ２１０は、中央処理ユニットＣＰＵ、デジタル信号処理器ＤＳＰ、マイクロコントローラなどであってもよく、電子機器内部で特定タスクｔａｓｋを遂行することができる。マイクロプロセッサ２１０は、電力管理装置１００の電圧−クロック供給部１３０から供給されるメインクロック信号ＭＣＬＫ及びメイン電源電圧ＭＶＤＤが入力され、メインクロック信号ＭＣＬＫに同期して動作することができる。一実施形態で、マイクロプロセッサ２１０は、アクティブ区間ＡＴＰでメインクロック信号ＭＣＬＫの入力を受けることができ、アイドル区間ＩＴＰでメインクロック信号ＭＣＬＫが入力されないことがある。上述した通り、アクティブ区間ＡＴＰ及びアイドル区間ＩＴＰは運営体制によって決定されることができ、運営体制がアイドル区間ＩＴＰを決めれば、アクティブ区間ＡＴＰは単位区間でアイドル区間ＩＴＰを除いた区間に決定されることができる。メインクロック信号ＭＣＬＫの周波数は、マイクロプロセッサ２１０の動作周波数に相応することができ、メイン電源電圧ＭＶＤＤはマイクロプロセッサ２１０の動作電圧に相応することができる。
【００９２】
作業負荷検出部１１０は、マイクロプロセッサ２１０の動作状態をモニタリングすることによって、マイクロプロセッサ２１０の単位作業負荷率ＵＷＲ及び持続区間の長さＤＰＬを電力管理部１２０に出力することができる。具体的に、作業負荷検出部１１０は、単位区間ごとにマイクロプロセッサ２１０からアクティブ区間ＡＴＰ及びアイドル区間ＩＴＰに対する情報を入力され、このようなアクティブ区間ＡＴＰ及びアイドル区間ＩＴＰに基づいてマイクロプロセッサ２１０の単位作業負荷率ＵＷＲを次々と計算することができる。また、作業負荷検出部１１０は、単位作業負荷率の変化量ｄＵＷＲに基づいて持続区間の長さＤＰＬを指数的に続けて変更することができる。実施形態に係り、作業負荷検出部１１０は、外部コマンドに基づいて持続区間の長さＤＰＬを予め設定された長さに変更、または、予め設定された値ほど増減させることができる。ただし、持続区間の長さＤＰＬを変更することに対しては前記で具体的に説明したので、重複する説明を省略する。以後、作業負荷検出部１１０は持続区間の長さＤＰＬが該当持続区間内の単位区間の和と同一になる持続区間の終了時点で持続区間の長さＤＰＬを電力管理部１２０に出力することができる。
【００９３】
電力管理部１２０は、作業負荷検出部１１０から次々と入力される単位作業負荷率ＵＷＲ及び持続区間の終了時点で入力される持続区間の長さＤＰＬに基づいてマイクロプロセッサ２１０の区間作業負荷率ＰＷＲを計算することができ、このような区間作業負荷率ＰＷＲに基づいてマイクロプロセッサ２１０の電力レベルを変更するためのレベル制御信号ＬＣＴＲを電圧−クロック供給部１３０に出力することができる。電力管理部１２０は、図１７に示されている通り、マイクロプロセッサ２１０の外部に別途のハードウェアで具現される物理的な構成要素であってもよく、他の構成要素に少なくとも一部分が統合された形態で具現されることもできる。例えば、電力管理部１２０はマイクロプロセッサ２１０の一部であってもよく、少なくとも一部分がソフトウェアで具現される電力管理プログラムであってもよい。一実施形態で、電力管理部１２０は、マイクロプロセッサ２１０の単位作業負荷率ＵＷＲに加重値を適用する方式でマイクロプロセッサ２１０の区間作業負荷率ＰＷＲを計算することができ、このような区間作業負荷率ＰＷＲをアップ基準値及びダウン基準値と比較することによって、マイクロプロセッサ２１０の電力レベルを増加、または、減少させるためのレベル制御信号ＬＣＴＲを生成することができる。実施形態に係り、電力管理部１２０は外部コマンドに基づいてマイクロプロセッサ２１０の電力レベルを予め設定された電力レベルに変更、または、予め設定された値ほど増減させるためのレベル制御信号ＬＣＴＲを生成することができる。ただし、マイクロプロセッサ２１０の電力レベルを変更することに対しては、前記で具体的に説明したので、重複した説明を省略する。以後、電力管理部１２０は生成されたレベル制御信号ＬＣＴＲを電圧−クロック供給部１３０に出力することができる。
【００９４】
電圧−クロック供給部１３０は、電力管理部１２０から出力されるレベル制御信号ＬＣＴＲを入力され、マイクロプロセッサ２１０に供給されるメインクロック信号ＭＣＬＫの周波数または、メイン電源電圧ＭＶＤＤを調節することができる。上述した通り、メインクロック信号ＭＣＬＫの周波数はマイクロプロセッサ２１０の動作周波数に相応することができ、メイン電源電圧ＭＶＤＤはマイクロプロセッサ２１０の動作電圧に相応することができる。実施形態に係り、メインクロック信号ＭＣＬＫの周波数とメイン電源電圧ＭＶＤＤは共に調節されることができる。例えば、メインクロック信号ＭＣＬＫの周波数が大きくなると、メイン電源電圧ＭＶＤＤも大きくなる。このように、電力管理装置１００は作業負荷検出部１１０、電力管理部１２０及び電圧−クロック供給部１３０を含むことによって、マイクロプロセッサ２１０の動作状態が急変する場合に持続区間を指数的に減少させることによってマイクロプロセッサ２１０の電力レベルを正確に予測することができ、マイクロプロセッサ２１０の動作状態が一定の場合には持続区間を指数的に増加させることによって、不必要な電力レベル変更に伴うマイクロプロセッサ２１０の性能低下及び電力消費を防止することができる。
【００９５】
図１８は図１７の電力管理装置に含まれる電力管理部の一例を示すブロック図である。
【００９６】
図１８を参照すれば、電力管理部１２０は、計算部１２１、比較部１２２及びステートマシン１２３を含むことができる。図１８には示されていないが、電力管理部１２０は、持続区間の長さＤＰＬによって相異する個数の単位作業負荷率ＵＷＲを累積するために、計算部１２１の複数のバッファ４１、４２、４３、４４、複数の増幅器５１、５２、５３、５４、５５及び複数の加算器６１、６２、６３、６４の個数を選択するための選択部をさらに含むことができる。
【００９７】
計算部１２１は、作業部下検出部１１０から持続区間で単位区間ごとに次々と入力される単位作業負荷率ＵＷＲを該当持続区間で累積することによって、マイクロプロセッサ２１０の区間作業負荷率ＰＷＲを計算することができる。この時、持続区間の長さＤＰＬは固定された値ではなく、単位作業負荷率の変化量ｄＵＷＲに基づいて指数的に続けて変更されるので、それぞれの持続区間別に相異することもある。従って、計算部１２１で累積する単位作業負荷率ＵＷＲの個数もそれぞれの持続区間別に相異することができる。例えば、第１持続区間でマイクロプロセッサ２１０の区間作業負荷率ＰＷＲは、４つの単位作業負荷率ＵＷＲが累積することによって計算される反面、第２持続区間でマイクロプロセッサ２１０の区間作業負荷率ＰＷＲは、２つの単位作業負荷率ＵＷＲが累積することによって計算することができる。一実施形態で、計算部１２１は単位作業負荷率ＵＷＲに加重値を適用することによって区間作業負荷率ＰＷＲを計算することができる。
【００９８】
一実施形態で、計算部１２１は、複数のバッファ４１、４２、４３、４４、複数の増幅器５１、５２、５３、５４、５５、複数の加算器６１、６２、６３、６４及び除算器７１を含むことができる。複数のバッファ４１、４２、４３、４４は任意の保存手段であってもよく、例えば、レジスタまたは定められたアドレスに相応するメモリの特定空間などであってもよい。複数のバッファ４１、４２、４３、４４は、直列接続されて前端から出力される単位作業負荷率Ｕｋを保存し、一定の遅延時間経過後、次の順番の単位作業負荷率Ｕｋ＋１として後段に出力する遅延期で具現される。従って、作業部下検出部１１０から入力された単位作業負荷率ＵＷＲは時間が過ぎるにつれて複数のバッファ４１、４２、４３、４４を経て第１段の単位作業負荷率Ｕ１で第ｋ段の単位作業負荷率Ｕｋに変更される。このような複数のバッファ４１、４２、４３、４４はラッチ（ｌａｔｃｈ）で具現され、この場合シフトレジスタとしての機能を遂行することができる。
【００９９】
複数の増幅器５１、５２、５３、５４、５５は、複数のバッファ４１、４２、４３、４４の各段の単位作業負荷率Ｕ１、．．．、Ｕｋを増幅して出力することができる。複数の増幅器５１、５２、５３、５４、５５の利得（ｇａｉｎ）は全部同一であってもよく、相異させて設定することもできる。これは、最近の単位作業負荷率ＵＷＲがマイクロプロセッサ２１０の現在の作業負荷率を最も適合に反映しているためである。一実施形態で、最近の単位作業負荷率ＵＷＲであるほどより大きい加重値を適用するために、最初の増幅器５１の利得が最も大きく、後段でますます利得が順次減少して最後の増幅器５６の利益が一番小さく設定される。これは[式３]を参照して説明されるが、最近の単位作業負荷率Ｕ１には大きい加重値を付与し、ずっと前の単位作業負荷率Ｕｋには小さい加重値を付与するものでる。複数の加算器６１、６２、６３、６４は、前端の出力と各増幅器の出力を合算して出力することができる。各加算器は前端の増幅器の出力を全部合算する機能を遂行する。除算器７１は最後の増幅器６４の出力を増幅器５１、５２、５３、５４、５５の利益の合で分けて区間作業負荷率ＰＷＲを出力することができる。
【０１００】
比較部１２２は、マイクロプロセッサ２１０の区間作業負荷率ＰＷＲをアップ基準値Ｒｕ及びダウン基準値Ｒｄとそれぞれ比較して、マイクロプロセッサ２１０の電力レベル上昇または、電力レベル下降を示す比較信号ＣＭＰを発生することができる。一実施形態で、比較部１２２は、第１比較器８１及び第２比較器８２を含むことができる。第１比較器８１は、区間作業負荷率ＰＷＲとアップ基準値Ｒｕを比較して、区間作業負荷率ＰＷＲがアップ基準値Ｒｕより大きい場合活性化する第１比較信号ＣＭＰ１を出力することができる。第２比較器８２は、区間作業負荷率ＰＷＲとダウン基準値Ｒｄを比較して、区間作業負荷率ＰＷＲがダウン基準値Ｒｄより小さい場合、活性化する第２比較信号ＣＭＰ２を出力することができる。
【０１０１】
第１及び第２比較信号ＣＭＰ１、ＣＭＰ２は、ステートマシン１２３に保存され、ステートマシン１２３は出力制御信号ＬＣＴＲ＿ＯＵＴに応答して、レベル制御信号ＬＣＴＲを電圧−クロック供給部１３０で出力する。例えば、レベル制御信号ＬＣＴＲはレベル上昇信号ＬＶ＿ＵＰ及びレベル下降信号ＬＶ＿ＤＮを含むことができる。レベル上昇信号ＬＶ＿ＵＰが活性化した場合には電力レベルが上昇されることを示し、レベル下降信号ＬＶ＿ＵＰが活性化した場合には電力レベルが下降されることを示す。レベル上昇信号ＬＶ＿ＵＰ及びレベル下降信号ＬＶ＿ＤＮはパルス（ｐｕｌｓｅ）形態で活性化することができる。一方、電力管理部１２０がソフトウェア的に具現される場合にはステートマシン１２３はマイクロプロセッサ２１０内部、または、外部のレジスタであってもよい。実施形態によって、ステートマシン１２３は省略可能で、ステートマシン１２０が省略された場合には第１及び第２比較信号ＣＭＰ１、ＣＭＰ２が直接電圧−クロック供給部１３０にレベル制御信号ＬＣＴＲとして提供されることができる。
【０１０２】
図１９は図１７の電力管理装置に含まれる電圧−クロック供給部の一例を示すブロック図である。
【０１０３】
図１９を参照すれば、電圧−クロック供給部１３０は電圧制御部１３１及びクロック制御部１３４を含むことができる。
【０１０４】
電圧制御部１３０は、基準電圧発生器１３２及びレギュレータ１３３を含むことができる。この場合、電力管理部１２０から提供されたレベル制御信号ＬＣＴＲは、基準電圧発生器１３２で入力され、基準電圧発生器１３２は、レベル制御信号ＬＣＴＲに相応するように基準電圧を調節してレギュレータ１３３に提供することができる。レギュレータ１３３は、前記調節された基準電圧とフィードバックされるメイン電源電圧ＭＶＤＤを比較してレベル制御信号ＬＣＴＲに相応する大きさのメイン電源電圧ＭＶＤＤをマイクロプロセッサ２１０に提供することができる。クロック制御部１３４は、図１９に示された通り、位相固定ループＰＬＬの形態で具現される。この場合、電力管理部１２０から提供されたレベル制御信号ＬＣＴＲは周波数分周期１３９で入力され、周波数分周期１３９はレベル制御信号ＬＣＴＲに相応する分周比によってメインクロック信号ＭＣＬＫを分周して出力する。位相／周波数検出器１３５は、基準クロック信号ＲＣＬＫと分周されたクロック信号を比較してアップ／ダウン信号を発生し、チャージポンプ１３６はアップ／ダウン信号に基づいて制御電圧を発生する。電圧−制御発振器１３８はループフィルタ１３７によって、フィルタリングされた制御電圧に応答してメインクロック信号ＭＣＬＫを発生してマイクロプロセッサ２１０に提供する。このように、電力レベルの変更のためのレベル制御信号ＬＣＴＲを利用して基準電圧発生器１３２の出力及び／または、分周器１３９の分周比を調節する方式でマイクロプロセッサ２１０に提供されるメイン電源電圧ＭＶＤＤ及び／または、メインクロック信号ＭＣＬＫの周波数を調節することができる。ただし、これは一つの例示として、電圧−クロック供給部１３０は多様に設計変更されることができる。
【０１０５】
図２０は図１７の電力管理装置を含む電子機器の一例を示すブロック図である。
【０１０６】
図２０を参照すれば、電子機器２００は、マイクロプロセッサ２１０、メモリ装置２２０、保存装置２３０、入出力装置２４０、電源装置２５０及び電力管理装置１００を含む。図２０には示されていないが、電子機器２００はビデオカード、サウンドカード、メモリカード、ＵＳＢ装置とデータ通信を遂行、または、他の電子機器と通信を遂行するための複数のポートをさらに含むことができる。電子機器２００は、コンピュータ、ノートブック、デジタルカメラ、ビデオカメラ、携帯電話、スマートフォン、ＰＭＰ（ｐｏｔａｂｌｅ ｍｕｌｔｉｍｅｄｉａ ｐｌａｙｅｒ；ＰＭＰ）、ＰＤＡ（ｐｅｒｓｏｎａｌ ｄｉｇｉｔａｌ ａｓｓｉｓｔａｎｔ；ＰＤＡ）、ＭＰ３プレーヤ、車両用ナビゲーションなどであってもよい。
【０１０７】
マイクロプロセッサ２１０は、中央処理ユニット、デジタル信号処理ユニット、マイクロコントローラなどであてもよく、電子機器２００内部で特定タスクを遂行できる。このために、マイクロプロセッサ２１０は周辺構成要素相互接続（ｐｅｒｉｐｈｅｒａｌ ｃｏｍｐｏｎｅｎｔ ｉｎｔｅｒｃｏｎｎｅｃｔ、ＰＣＩ）バスのような拡張バスに接続されることができる。一方、マイクロプロセッサ２１０は、電力管理装置１００からメインクロック信号ＭＣＬＫ及びメイン電源電圧ＭＶＤＤが入力され、メインクロック信号ＭＣＬＫに同期して動作させることができる。電力管理装置１００はマイクロプロセッサ２１０に対し動的電圧周波数スケーリングＤＶＦＳを遂行することができる。このために、電力管理装置１００は、作業部下検出部１１０、電力管理部１２０及び電圧−クロック供給部１３０を含むことができる。上述した通り、電力管理装置１００は、マイクロプロセッサ２１０の動作状態が急変する場合に、持続区間を指数的に減少させることによってマイクロプロセッサ２１０の電力レベルを正確に予測することができ、マイクロプロセッサ２１０の動作状態が一定の場合には、持続区間を指数的に増加させることによって、不必要な電力レベル変更に伴うマイクロプロセッサ２１０の性能低下及び電力消費を防止することができる。
【０１０８】
マイクロプロセッサ２１０は、少なくとも一つ以上のメモリ装置２２０、少なくとも一つ以上の保存装置２３０及び少なくとも一つ以上の入出力装置２４０等を制御することができる。少なくとも一つ以上のメモリ装置２２０は、アドレスバス、制御バス及び／または、データバスを通じてマイクロプロセッサ２１０に接続されることができる。例えば、少なくとも一つ以上のメモリ装置２２０は、動的ランダムアクセスメモリ（Ｄｙｎａｍｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ；ＤＲＡＭ）、静的ランダムアクセスメモリ(Ｓｔａｔｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ；ＳＲＡＭ)、またはＥＰＲＯＭ（Ｅｒａｓａｂｌｅ Ｐｒｏｇｒａｍｍａｂｌｅ Ｒｅａｄ−Ｏｎｌｙ Ｍｅｍｏｒｙ；ＥＰＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ Ｅｒａｓａｂｌｅ Ｐｒｏｇｒａｍｍａｂｌｅ Ｒｅａｄ−Ｏｎｌｙ Ｍｅｍｏｒｙ；ＥＥＰＲＯＭ）及びフラッシュメモリ装置（ｆｌａｓｈ ｍｅｍｏｒｙ ｄｅｖｉｃｅ）などのような非揮発性メモリ装置であってもよい。少なくとも一つ以上の保存装置２３０はソリードステートドライブ（ｓｏｌｉｄ ｓｔａｔｅ ｄｒｉｖｅ）、ハードディスクドライブ及びシーディーロム（ＣＤ−ＲＯＭ）などのような保存装置であってもよい。少なくとも一つ以上の入出力装置２４０は、キーボード、キーパッド、タッチパッド、マウスなどのような入力装置及びプリンタ、ディスプレイ、スピーカなどのような出力装置であってもよい。電源装置２５０は、電子機器２００に求められる動作電圧を供給することができる。
【０１０９】
以上、本発明の実施形態を参照して動作電圧周波数スケーリング方法及びこれを遂行する電力管理装置に対し説明したが、前記で説明された数式、グラフ、構造などは例示的なものとして、本発明の技術的思想を離れない範囲において該当技術分野で通常の知識を有する者によって多様に修正及び変更されることができる。 
【０１１０】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特徴請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【０１１１】
本発明はマイクロプロセッサを含む電子機器に多様に適用されることができる。例えば、本発明はコンピュータ、ノートブック、デジタルカメラ、ビデオカメラ、携帯電話、スマートフォン、ＰＭＰ、ＰＤＰ、ＭＰ３プレーヤ、車両用ナビゲーション、ビデオフォン、監視システム、追跡システム、動作感知システム、イメージ安定化システムなどに適用される。
【符号の説明】
【０１１２】
１００  電力管理装置、
１１０  マイクロプロセッサ、
１２０  作業負荷検出部、
１３０  電力管理部、
１４０  電圧−クロック供給部。
【図１】
2011100449.tif 000012
【図２】
2011100449.tif 000013
【図３】
2011100449.tif 000014
【図４】
2011100449.tif 000015
【図５】
2011100449.tif 000016
【図６】
2011100449.tif 000017
【図７】
2011100449.tif 000018
【図８】
2011100449.tif 000019
【図９】
2011100449.tif 000020
【図１０】
2011100449.tif 000021
【図１１】
2011100449.tif 000022
【図１２】
2011100449.tif 000023
【図１３】
2011100449.tif 000024
【図１４】
2011100449.tif 000025
【図１５】
2011100449.tif 000026
【図１６】
2011100449.tif 000027
【図１７】
2011100449.tif 000028
【図１８】
2011100449.tif 000029
【図１９】
2011100449.tif 000030
【図２０】
2011100449.tif 000031