(57)【要約】      （修正有）【課題】オペレーティングシステムは、プロセッサの実行状態を予測して性能及び電力損失レベルを設定し、省電力を図る。【解決手段】動的電力管理システムは、プロセッサを、性能および／または電力損失のレベルの異なる複数の実行状態のうちの１つで動作させるオペレーティングシステム（ＯＳ）を含む。ＯＳは、ＯＳによって監視されるプロセッサ情報（例えば、プロセッサの負荷）に応答して実行状態を選択する。ＯＳは、サンプリングされたプロセッサ情報に基づいて、プロセッサ情報の未来の状態を予測できる。ＯＳは、予測されたサンプルと実際のサンプルとの平均をとり、これをしきい値と比較して実行状態を選択することができる。ＯＳは、選択されたサンプル窓において発生する、連続する飽和サンプルの数を追跡できる。ＯＳは、連続する飽和サンプルの数に基づいて、未来のプロセッサ情報サンプルを予測できる。【選択図】図３
2008010000.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
オペレーティングシステムを格納するシステムメモリと、
を備え、
前記オペレーティングシステムが、プロセッサ情報の１つまたは複数のサンプルを含むサンプル履歴の関数として複数の状態から選択された状態で前記プロセッサを動作させ、
前記オペレーティングシステムが、前記プロセッサ情報の未来の状態を前記プロセッサに予測させ、
前記複数の状態の各状態がそれぞれ異なる性能レベルを有する、
コンピュータシステム。
【請求項２】
コンピューティングプラットフォームのオペレーティングシステムによって実行される方法であって、
プロセッサの動作に関連するプロセッサ情報のサンプルを受信するステップと、
前記プロセッサ情報の１つまたは複数のサンプルを含むサンプル履歴の関数として複数の状態から選択された状態で前記プロセッサが動作するように、前記オペレーティングシステムに前記プロセッサを構成させるステップと、
を有し、
前記プロセッサが前記プロセッサ情報の未来の状態を予測するように、前記オペレーティングシステムに前記プロセッサを構成させ、
前記複数の状態の各状態がそれぞれ異なる性能レベルを有する、
方法。
【請求項３】
プロセッサで使用するためのオペレーティングシステムであって、
前記プロセッサの動作に関連するプロセッサ情報のサンプルを受信する手段と、
前記プロセッサ情報の飽和サンプルの数の追跡を含むサンプル履歴の関数として複数の状態から選択された状態で前記プロセッサが動作するように、前記プロセッサを構成する手段と、
を備え、
前記プロセッサが前記プロセッサ情報の未来の状態を予測するように、前記プロセッサを構成し、
前記複数の状態の各状態がそれぞれ異なる性能レベルを有する、
オペレーティングシステム。
【請求項４】
実行されたときに、
プロセッサの動作に関連する情報のサンプルを受信するステップと、
前記情報の１つまたは複数のサンプルを含むサンプル履歴の関数として複数の状態から選択された状態で前記プロセッサが動作するように、オペレーティングシステムに前記プロセッサを構成させるステップと、
を備える動作を前記オペレーティングシステムに実行させる命令を有し、
前記プロセッサが前記プロセッサ情報の未来の状態を予測するように、前記オペレーティングシステムに前記プロセッサを構成させ、
前記複数の状態の各状態がそれぞれ異なる性能レベルを有する、
マシン可読媒体。
【請求項５】
サブシステムと、
プログラムを格納するメモリと、
を備え、
前記プログラムが、サブシステム情報の１つまたは複数のサンプルを含むサンプル履歴の関数として複数の状態から選択された状態で前記サブシステムを動作させ、
前記プログラムが、前記サブシステムの未来の状態を前記サブシステムに予測させ、
前記複数の状態の各状態がそれぞれ異なる性能レベルを有する、
データプロセッシングシステム。
【請求項６】
実行されたときに、
データプロセッシングシステムの動作に関連する情報のサンプルを受信するステップと、
前記情報のサンプルを含むサンプル履歴の関数として複数の状態から選択された状態で前記データプロセッシングシステムが動作するように、前記データプロセッシングシステムを構成するステップと、
前記データプロセッシングシステムが前記データプロセッシングシステムの未来の状態を予測するように、前記データプロセッシングシステムを構成するステップと、
を有する方法を前記データプロセッシングシステムに実行させる命令を有し、
前記複数の状態の各状態がそれぞれ異なる性能レベルを有する、
マシン可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明の分野は、主にプロセッサシステムに関し、より具体的にはプロセッサシステムの電力管理に関するが、これだけには限定されない。
【背景技術】
【０００２】
[0002]コンピューティングプラットフォームで使用されるようなプロセッサシステムの設計では、（プロセッサを含む）コンピューティングプラットフォームは、一般に、性能を高めるように設計される。一方、特にモバイル用途では、コンピューティングプラットフォームは、電力消費を低減するようにも設計される。一般に、これらの設計目標は対立する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
[0003]これらの目標に対する従来の解決策の１つは、ユーザがコンピューティングプラットフォームの構成を高性能モードと電力節約モードとの間で必要に応じて切り替える手段を提供することである。例えば、あるコンピューティングプラットフォームは、ハードウェアスイッチか、コンピューティングプラットフォームによって表示されるメニューおよびダイアログボックスで、所望のモードをユーザに選択させることが可能である。そのような方式は、ユーザの関与を必要とする。
【課題を解決するための手段】
【０００４】
[0004]本発明の態様によれば、システムは、プロセッサとシステムメモリとを含み、システムメモリに格納されるオペレーティングシステムが、プロセッサを、性能および／または電力損失のレベルの異なる複数の実行状態のうちの１つで動作させる。一実施形態では、オペレーティングシステムは、オペレーティングシステムによって監視されるプロセッサ情報に応答して実行状態を選択する。プロセッサ情報として、例えば、プロセッサ負荷履歴がある。
【０００５】
[0005]本発明の別の態様では、オペレーティングシステムは、プロセッサ情報の未来の状態を予測する。一実施形態では、オペレーティングシステムは、監視されたプロセッサ負荷履歴に基づいて未来のプロセッサ負荷を予測する。この態様のさらなる改良では、オペレーティングシステムは、予測と実際のプロセッサ情報との平均をとってプロセッサの実行状態の選択に使用することができる。
【０００６】
[0006]本発明のさらに別の態様では、オペレーティングシステムは、プロセッサ情報の監視時に、選択されたサンプル窓において発生する、連続する飽和サンプルの数を追跡する。オペレーティングシステムは、連続する飽和サンプルの数に基づいて未来のプロセッサ情報サンプルの予測を行う。さらなる改良では、オペレーティングシステムは、ウィンドウのサイズ、飽和サンプルを定義するしきい値、実行状態間の移行が起こるしきい値、および／またはプロセッサ情報のサンプルレートを変えることができる。
【０００７】
[0007]以下、本発明の非限定的かつ非網羅的な実施形態について、添付図面を参照しながら説明する。添付図面全体を通して、同様の参照符号は、特に指定されない限り、同様の部分を指す。
【発明を実施するための最良の形態】
【０００８】
[0013]図１は、本発明の一実施形態による動的電力管理を有する例示的コンピューティングシステム１００を示す。この実施形態では、コンピュータシステム１００は、中央処理装置１０２と、周辺装置１０４１〜１０４Ｘとを含む。中央処理装置１０２は、１つまたは複数のバス１０６で周辺装置１０４１〜１０４Ｘと接続されている。実施形態によっては、中央処理装置１０２は、周辺装置１０４１〜１０４Ｘと通信する周辺装置コントローラ（「サウスブリッジ」（図示せず））を含む場合がある。
【０００９】
[0014]この実施形態では、中央処理装置１０２は、プロセッサ１１０と、システムメモリ１１２（通常はＲＡＭおよびＲＯＭに実装されている）とを含む。プロセッサ１１０は、１つまたは複数のバス１１４でシステムメモリ１１２と接続されている。実施形態によっては、プロセッサ１１０とシステムメモリ１１２との間の情報転送にメモリコントローラ（図示せず）が用いられる場合がある。他の実施形態では、中央処理装置１０２は、複数のプロセッサを含むことができる。
【００１０】
[0015]システムメモリ１１２は、一般に、基本入出力システム（ＢＩＯＳ）１２１、オペレーティングシステム１２２、１つまたは複数のアプリケーションプログラム１２３、およびデータ１２３を格納するために用いられる。プロセッサ１１０としては、任意の好適なプロセッサデバイス（例えば、汎用マイクロプロセッサ（いくつかのベンダから市販されているものなど）、マイクロコントローラ、デジタル信号プロセッサなど）を用いることができる。ここで挙げたプロセッサデバイスは代表的なものであって、網羅的であることを意図していない。
【００１１】
[0016]この実施形態では、周辺装置１０４１〜１０４Ｘとして、１つまたは複数のモニタ、メモリドライブ（例えば、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤドライブ、フラッシュメモリドライブなど）、プリンタ、スキャナなどが挙げられる。ここで挙げた周辺装置は代表的なものであって、網羅的であることを意図していない。
【００１２】
[0017]本発明の実施形態によれば、オペレーティングシステム１２２は、監視されたプロセッサ情報に基づいて、いくつかの実行状態のうちの１つで動作するようにプロセッサ１１０を構成することによって、動的電力管理を提供するように構成されている。この動的電力管理については、後で詳述する。
【００１３】
[0018]図２は、本発明の一実施形態による、中央処理装置１０２（図１）に実装された動的電力管理システム２００を示す。この実施形態では、動的電力管理システム２００は、プロセッサモニタ２０１と電力／性能状態コントローラ（本明細書では状態コントローラとも呼ぶ）２０３とを有するオペレーティングシステム１２２（図１）を含む。動的電力管理システム２００はさらに、１つまたは複数のソフトウェアドライバ２０５と、プロセッサ電力／性能ハードウェア２０７とを含む。複数のプロセッサを有する他の実施形態では、動的電力管理システム２００は、単一プロセッサ内で、すべてのプロセッサを用いて電力／性能を管理するように「動作」できる。あるいは、複数のプロセッサをグループ分けして、各グループの１つのプロセッサがそのグループのプロセッサを用いて電力／性能を管理するようにできる。
【００１４】
[0019]この実施形態では、プロセッサモニタ２０１は、選択された１つまたは複数のパラメータを、プロセッサ１１０（図１）の動作中に監視するモジュールである。例えば、プロセッサモニタ２０１は、プロセッサの作業負荷を監視できる。そのようなモニタは、ほとんどの市販オペレーティングシステムに最初から実装されている。
【００１５】
[0020]状態コントローラ２０３は、この実施形態では、プロセッサモニタ２０１によって監視された情報に基づいてプロセッサ１１０（図１）の実行状態を決定するモジュールである。一実施形態では、状態コントローラ２０３は、有限状態マシンとして実装されている。
【００１６】
[0021]ドライバ２０５は、プロセッサ１１０（図１）の性能および／または電力損失特性を変更するために、プロセッサハードウェアに制御信号を供給するモジュールである。例えば、実施形態によっては、プロセッサ１１０（図１）のクロック周波数または「コア」電圧を変更してプロセッサ１１０（図１）の性能／電力損失特性を変えるためにドライバ２０５が用いられる。この実施形態では、プロセッサ電力／性能ハードウェア２０７は、クロックジェネレータ、コア電圧レギュレータ、またはプロセッサ１１０（図１）の電力／性能特性を変えることのできる他の回路を含む。
【００１７】
[0022]動的電力管理システム２００の構成要素は、次のように相互接続されている。オペレーティングシステム１２２のプロセッサモニタ２０１は、状態コントローラ２０３と通信するために結合されている。状態コントローラ２０３は、ドライバ２０５と通信するために結合されており、ドライバ２０５は、プロセッサ電力／性能ハードウェア２０７と通信するために結合されている。
【００１８】
[0023]さらに、一実施形態では、オペレーティングシステム１２２は、破線矢印２０９で図示されているように、ユーザが動的電力管理システム２００に入力を行うことを可能にする手段を有する。例えば、オペレーティングシステム１２２は、ユーザが入力を行うことができるメニューおよび／またはダイアログボックスを表示させることができる。後で詳述するように、動的電力管理システム２００は、実施形態によっては、様々なユーザ構成可能パラメータ（例えば、しきい値、履歴サイズなど）を有する。
【００１９】
[0024]図３は、本発明の一実施形態による、動的電力管理システム２００（図２）の動作フローを示す。図２および３を参照すると、動的電力管理システム２００は次のように動作する。
【００２０】
[0025]ブロック３０２で、プロセッサ情報がサンプリングされる。この実施形態では、プロセッサモニタ２０１は、プロセッサ１１０（図１）の動作の１つまたは複数のパラメータを監視する。ある特定の実施形態では、プロセッサモニタ２０１は、プロセッサ１１０（図１）の作業負荷を監視するが、他の実施形態では別のパラメータが監視可能である。例えば、スケジューラ情報（例えば、実行可能スレッドの数）やスレッド別統計（例えば、優先度、実時間要件、スケジューリング量子の％使用率など）が監視可能である。さらなる改良では、プロセッサモニタ２０１がプロセッサ情報をサンプリングするレートをユーザ構成可能にすることができる。一実施形態では、最新のＮサンプル分のプロセッサ情報がサンプル履歴に格納される。実施形態によっては、Ｎをユーザ構成可能にすることができる。
【００２１】
[0026]ブロック３０４で、プロセッサ１１０（図１）の実行状態が、サンプル履歴の関数として決定される。一実施形態では、状態コントローラ２０３は、プロセッサ１１０（図１）が動作できる、２つ以上の可能な実行状態のうちの１つを選択する。例えば、一実施形態では、複数の実行状態が、プロセッサのクロック周波数および／またはコア電圧の様々な組合せを有する。したがって、プロセッサの実行状態を変更することによって、プロセッサの性能および電力損失特性を変えることができる。一実施形態では、状態コントローラ２０３は、未来のプロセッサ情報サンプルを予測し、それから、サンプル履歴と予測サンプルの平均をとる。状態コントローラ２０３は、この平均を用いて、どの実行状態を選択するかを決定する。例えば、平均の範囲を、それぞれが個々の実行状態に対応するサブ範囲に分割し、平均がどのサブ範囲に当てはまるかを状態コントローラ２０３が調べるようにできる。そして、状態コントローラ２０３は、そのサブ範囲に対応する実行状態でプロセッサ１１０（図１）を動作させる。ブロック３０４の一実施形態について、後で図４と併せて詳述する。
【００２２】
[0027]ブロック３０６で、プロセッサが、ブロック３０４で決定された実行状態で動作するように構成される。一実施形態では、状態コントローラ２０３は、プロセッサのクロック周波数および／またはコア電圧が、決定された実行状態に対応するレベルまで変化するように、１つまたは複数のドライバ２０５に、（必要に応じて）プロセッサ電力／性能ハードウェア２０７を制御させる。
【００２３】
[0028]図４は、本発明の一実施形態による、ブロック３０４（図３）の動作フローを示す。図２および４を参照すると、この実施形態のブロック３０４は、次のように実行される。
【００２４】
[0029]ブロック４０２で、プロセッサ情報のサンプルがサンプル履歴（図示せず）に挿入される。一実施形態では、このサンプル履歴は、システムメモリ１１２（図１）に格納されて、最新のＮサンプルを格納するデータ構造体である。プロセスモニタ２０１は、この実施形態では、最新のサンプルをサンプル履歴に挿入する。サンプル履歴が既に満杯の場合は、最も古いサンプルが廃棄され、その空いた場所に最新のサンプルが格納される。
【００２５】
[0030]ブロック４０４で、サンプル履歴に基づいて未来のサンプルが予測される。この実施形態では、状態コントローラ２０３が、未来のサンプルの予測を決定する。一実施形態では、この予測は、連続する最新の、選択されたしきい値を上回るサンプル（本明細書では「飽和サンプル」とも呼ぶ）の数に基づく。その実施形態では、連続する最新の飽和サンプルの数に、あらかじめ選択された係数が乗ぜられる。この積（例えば、非負整数Ｐに丸められる）は、未来に受信される飽和サンプルの数の予測としての働きをする。他の実施形態では、別のアルゴリズムを用いて、未来のサンプル（飽和サンプルである必要がない）を予測することができる。
【００２６】
[0031]ブロック４０６で、サンプル履歴と、ブロック４０４での予測サンプルとを用いて平均が求められる。一実施形態では、状態コントローラ２０３は、サンプル履歴に格納されているＮ個（サンプル履歴が満杯でない場合はＮ個未満でも可）のサンプルに、Ｐ個の予測飽和サンプルが加算されたものの平均を求める。一実施形態では、Ｐ個の飽和サンプル（Ｐがゼロより大きい場合）が、プロセッサ情報のサンプルが持ちうる最大値を有すると見なされる。例えば、プロセッサ情報が作業負荷の場合は、一実施形態では、Ｐ個の飽和サンプルが、それぞれ１００％の値を有する（すなわち、プロセッサが１００％の能力で稼動していることを示す）。他の実施形態では、各飽和サンプルの値が、他の何らかのあらかじめ選択された値になることが可能であり、平均は別の方法で計算されることが可能である。この意味で、平均は、サンプル履歴と予測サンプルとを用いて計算される値であることが可能であり、これを、プロセッサ１１０（図１）の可能な実行状態の１つにマッピングすることが可能である。
【００２７】
[0032]ブロック４０８で、実行状態が、ブロック４０６で決定された平均の関数として決定される。一実施形態では、状態コントローラ２０３は、実行状態を、プロセッサの複数の可能な実行状態から選択する。例えば、平均の範囲は、重なり合わないが隣接するサブ範囲に分割されることが可能であり、その各サブ範囲は、複数の可能な実行状態のうちの一意の実行状態に対応する。この実施形態では、状態コントローラ２０３は、平均がどのサブ範囲に含まれるかを調べ、これによって実行状態が事実上決まる。他の実施形態では、実行状態間の移行にヒステリシスを導入できるように、サブ範囲が重なり合うことが可能である。
【００２８】
[0033]図５Ａ〜５Ｃは、本発明の一実施形態に従って、動的電力管理システム２００（図２）が様々な一連のサンプルをどのように処理するかの例を示す。この実施形態では、プロセッサ情報がプロセッサ作業負荷であり、サンプルが作業負荷パーセンテージである。
【００２９】
[0034]図５Ａでは、プロセッサモニタ２０１（図２）が最新の８個のサンプル（すなわち、Ｎ＝８）をサンプル履歴（図示せず）に格納する。この実施例では、最新のサンプルが飽和している場合に、予測飽和サンプルの数が、最新の蓄積された飽和サンプルの数と等しい（すなわち、乗ずる係数が１）。一方、最新のサンプルが飽和していない場合には、予測飽和サンプルの数が、最新の蓄積された飽和サンプルの数の半分に等しくなる。また、サンプルが飽和しているかどうかを決定するしきい値が９５％である（すなわち、９５％を超えるサンプルが、飽和していると見なされる）。さらに、この実施例では、実行状態の数が２である（１つは高性能状態で、もう１つは電力節約状態である）。この実施例では、２つの状態の間のしきい値も９５％である（すなわち、平均が９５％を超える場合が高性能状態に該当する）。また、この実施例では、予測飽和サンプルのそれぞれの値が１００％に設定されている。さらに、平均は、サンプル履歴全体と予測サンプルとの平均として計算される。
【００３０】
[0035]この実施例では、最新のサンプル（すなわち、サンプルＳｎ）が１００％である。したがって、サンプルＳｎは飽和している。この実施例の予測アルゴリズムによれば、予測飽和サンプルの数が、最新の連続する飽和サンプルの数と同じである。この例では最新の４個のサンプルが飽和していたので、Ｐは４に等しい。サンプル履歴の８個のサンプル（すなわち、サンプルＳｎ−７、Ｓｎ−６、．．．、Ｓｎ）および４個の予測飽和サンプルの平均は９５．６％である。したがって、動的電力管理システム２００（図２）は、プロセッサ１１０（図１）を高性能実行状態に移行させる。
【００３１】
[0036]この実施例を図５Ｂで続けると、次のサンプル（すなわち、Ｓｎ＋１）は８０％である。このように、サンプルＳｎ＋１は飽和していない。結果として、予測アルゴリズムは、予測飽和サンプルの数を半分にすることを必要とする。したがって、この実施例では、Ｐは２まで低減される。サンプル履歴の８個のサンプル（すなわち、サンプルＳｎ−６、Ｓｎ−５、．．．、Ｓｎ、Ｓｎ＋１）および２個の予測飽和サンプルの平均は９２．９％である。したがって、動的電力管理システム２００（図２）は、プロセッサ１１０（図１）を電力節約実行状態に移行させる。
【００３２】
[0037]この例示的実施形態は、動的電力管理システム２００（図２）が負荷の変化にいかに早く応答できるかを示している。作業負荷が比較的軽ければ、プロセッサは、プロセッサ性能の低下をユーザに実感させることなく、コンピュータプラットフォームの電力損失が少なくなるように、低性能／電力節約実行状態で動作することが可能である。このように実感させることが可能なのは、作業負荷が比較的軽いので、低性能実行状態になっても作業が比較的高速で実行され続けるからである。このようにして、ユーザの実感に影響を及ぼすことなく電力損失が低減される。この実施形態では、電力節約実行状態におけるプロセッサの作業時間を、プロセッサ性能の低下をユーザに実感させない範囲で最大化するという目標でアルゴリズムが設計されている。他の実施形態では、別の電力／性能目標を達成するようにアルゴリズムを用いることができる。
【００３３】
[0038]図５Ｃは、サンプル履歴に格納された別の８個のサンプルのシーケンスを示す（すなわち、サンプルＳｍ−７、Ｓｍ−６、．．．、Ｓｍ。Ｓｍが最新）。この実施例では、連続する６個の飽和サンプルがサンプル履歴に格納され、その後に、飽和していない最新のサンプル（すなわち、７５％のサンプルＳｍ）が続いている。結果として、サンプルＳｍが受信された後のＰは、この実施例では３である。サンプル履歴と３個の予測飽和サンプルの平均は約９５．３％である。
【００３４】
[0039]前のサイクルであれば（すなわち、サンプルＳｍ−１が受信された場合は）、Ｐが６に等しくなり、それによって、サンプル履歴と６個の予測飽和サンプルとの平均が、高性能実行状態になるためのしきい値９５％を十分に上回ったはずである。したがって、動的電力管理システム２００（図２）は、プロセッサ１１０（図１）を高性能実行状態にとどまらせる。この実施例は、いくつかの連続する飽和サンプルを受信した後に非飽和サンプルを１つ受信しても、必ずしもプロセッサが低電力実行状態に移行するわけではない様子を示している。
【００３５】
[0040]本明細書には、動的電力管理の方法および装置の実施形態を記載した。これまでの記述では、本発明の実施形態が十分に理解されるように、多数の具体的な詳細を説明した。しかしながら、当業者であれば、これらの特定の詳細の１つまたは複数を用いないか、他の方法、コンポーネント、材料などを用いて本発明を実施できることを認識されるであろう。他の実例、よく知られた構造、材料、または動作については、本発明の態様が曖昧になることを避けるために、詳細までは図示または記載していない。
【００３６】
[0041]本明細書を通しての「一実施形態」または「実施形態」への参照は、その実施形態に関連して記載された特定の機能、構造、または特徴が、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書の随所に見られる「一実施形態では」または「実施形態では」という句は、必ずしもすべてが同一の実施形態を参照するわけではない。さらに、特定の機能、構造、または特徴は、１つまたは複数の実施形態において、任意の好適な形で組み合わせられることが可能である。
【００３７】
[0042]本発明の実施形態は、何らかの形のプロセシングコア（コンピュータのＣＰＵなど）に対して実行されるソフトウェアプログラムとして、またはそのソフトウェアプログラムをサポートするために、用いられることが可能である。あるいは、マシン可読媒体に対して、またはマシン可読媒体内で、実装または実現されることが可能である。マシン可読媒体は、マシン（例えば、コンピュータ）が読み取れる形式で情報を格納または伝送する任意のメカニズムを含む。例えば、マシン可読媒体として、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイスなどが挙げられる。さらに、マシン可読媒体として、電気、光、音などの伝搬信号やその他の形の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号など）が挙げられる。
【００３８】
[0043]前述の本発明の実施形態の説明は、要約書に記載された内容を含め、網羅的であること、および開示された形態に本発明を厳密に限定することを目的とするものではない。本発明の特定の実施形態および本発明の実施例は、例示を目的として本明細書に記載されており、当業者であれば認識されるように、本発明の範囲内で様々な等価な修正が可能である。
【００３９】
[0044]それらの修正は、前述の詳細な説明に照らして、本発明に対して行われることが可能である。添付の特許請求項で用いられている用語は、本発明を、本明細書ならびに本特許請求項で開示された特定の実施形態に限定するものであると解釈されてはならない。もっと正確に言えば、本発明の範囲は、添付の特許請求項によって完全に決定されるべきであり、特許請求項は、特許請求項の解釈についての確立された原則に従って解釈されるべきである。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態による例示的コンピュータシステムの概略ブロック図である。
【図２】本発明の一実施形態による動的電力管理システムのブロック図である。
【図３】本発明の一実施形態による、図２のシステムの動作フローを示すフロー図である。
【図４】本発明の一実施形態による、図３に示した動作の動作フローを示すフロー図である。
【図５Ａ】サンプル予測と、サンプル履歴の各種の実施例の平均とを示す図である。
【図５Ｂ】サンプル予測と、サンプル履歴の各種の実施例の平均とを示す図である。
【図５Ｃ】サンプル予測と、サンプル履歴の各種の実施例の平均とを示す図である。
【符号の説明】
【００４１】
１００…コンピュータシステム、１０２…中央処理装置、１０６…バス、１１０…プロセッサ、１１２…システムメモリ、１１４…バス、１２２…オペレーティングシステム、１２３…アプリケーションプログラム，データ、２００…動的電力管理システム、２０１…プロセッサモニタ、２０３…状態コントローラ、２０５…ドライバ、２０７…性能ハードウェア、２０９…破線矢印、３０２，３０４，３０６，４０２，４０４，４０６，４０８…ブロック、１０４１-１０４Ｘ…周辺装置。
【図１】
2008010000.tif 000003
【図２】
2008010000.tif 000004
【図３】
2008010000.tif 000005
【図４】
2008010000.tif 000006
【図５Ａ】
2008010000.tif 000007
【図５Ｂ】
2008010000.tif 000008
【図５Ｃ】
2008010000.tif 000009