(57)【要約】電力管理システム及び方法は、オペレーティングシステムスケジュールに基づきプロセッサのアイドル状態を制御する。少なくとも１つのデバイスのアイドル状態が、プロセッサのアイドル状態と同期される。アイドル状態の同期は、バストランザクションの保留、メモリリフレッシュのサスペンド、クロックソースへの電力供給のオフ及びＯＳスケジュールにおいてアイドルウィンドウ期間中に組み合わせロジックへの電力供給をオフすることに関する。
2008544736.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステム（ＯＳ）スケジュールに基づきプロセッサのアイドル状態を制御する電力管理ロジックと、
前記プロセッサのアイドル状態と少なくとも１つのデバイスのアイドル状態とを同期させる同期ロジックと、
を有する装置。
【請求項２】
前記同期ロジックは、前記ＯＳスケジュールにおいてアクティブウィンドウ期間中の前記デバイスの動作を許可し、前記ＯＳスケジュールにおいてアイドルウィンドウ期間中の前記動作を禁止し、
前記アクティブウィンドウは、前記プロセッサのアクティブ状態に関連付けされ、
前記非アクティブウィンドウは、前記プロセッサのアイドル状態に関連付けされる、請求項１記載の装置。
【請求項３】
前記同期ロジックは、バス上のトランザクションを保留するバスロジックと、メモリのリフレッシュをサスペンドするメモリロジックと、クロックソースへの電力供給をオフするクロックロジックと、コントローラの組み合わせロジックへの電力供給をオフするコントローラロジックとからなる群から選択される、請求項２記載の装置。
【請求項４】
前記アイドルウィンドウの終了近くでアイドル状態離脱手順を開始するプレタイミングロジックをさらに有する、請求項２記載の装置。
【請求項５】
前記同期ロジックは、前記プロセッサのタイマークロック同期遅延に基づき前記アクティブウィンドウを決定する、請求項２記載の装置。
【請求項６】
前記電力管理ロジックは、イベントを検出し、前記イベントに応答して前記プロセッサをアクティブ状態に移行し、前記プロセッサがアイドル状態に入る準備ができた場合、前記プロセッサを前記アクティブ状態から離脱し、前記ＯＳスケジュールにより周期的に前記検出、移行及び離脱を繰り返す、請求項１記載の装置。
【請求項７】
前記電力管理ロジックは、前記プロセッサが前記アイドル状態に入る準備ができた場合、タイマークロックに前記プロセッサを同期させる、請求項６記載の装置。
【請求項８】
前記同期ロジックは、複数のデバイスのそれぞれのアイドル状態と前記プロセッサのアイドル状態とを同期させる、請求項１記載の装置。
【請求項９】
前記同期ロジックは、前記デバイスと前記プロセッサとを有するシステムのアイドル状態に基づき、前記デバイスのアイドル状態と前記プロセッサのアイドル状態とを選択的に同期させる、請求項１記載の装置。
【請求項１０】
オペレーティングシステム（ＯＳ）スケジュールに基づきプロセッサのアイドル状態を制御するステップと、
前記プロセッサのアイドル状態と少なくとも１つのデバイスのアイドル状態とを同期させるステップと、
を有する方法。
【請求項１１】
前記同期させるステップは、
前記ＯＳスケジュールにおいて前記プロセッサのアクティブ状態に関連付けされるアクティブウィンドウ期間中の前記デバイスの動作を許可するステップと、
前記ＯＳスケジュールにおいて前記プロセッサのアイドル状態に関連付けされるアイドルウィンドウ期間中の前記動作を禁止するステップと、
を有する、請求項１０記載の方法。
【請求項１２】
前記禁止するステップは、バス上のトランザクションを保留し、インターラプトを保留し、メモリのリフレッシュをサスペンドし、クロックソースへの電力供給をオフし、コントローラの組み合わせロジックへの電力供給をオフすることからなる群から選択される、請求項１１記載の方法。
【請求項１３】
前記アイドルウィンドウの終了近くにアイドル状態離脱手順を開始するステップをさらに有する、請求項１１記載の方法。
【請求項１４】
前記プロセッサのタイマークロック同期遅延に基づき前記アイドルウィンドウを決定するステップをさらに有する、請求項１１記載の方法。
【請求項１５】
前記制御するステップは、
イベントを検出するステップと、
前記イベントに応答して前記プロセッサをアクティブ状態に移行するステップと、
前記プロセッサがアイドル状態に入る準備ができた場合、前記プロセッサを前記アクティブ状態から離脱するステップと、
前記ＯＳスケジュールにより周期的に前記検出、移行及び離脱を繰り返すステップと、
を有する、請求項１０記載の方法。
【請求項１６】
前記プロセッサが前記アイドル状態に入る準備ができた場合、前記プロセッサとタイマークロックとを同期させるステップをさらに有する、請求項１５記載の方法。
【請求項１７】
前記同期させるステップは、前記プロセッサのアイドル状態と複数のデバイスのそれぞれのアイドル状態とを同期させる、請求項１０記載の方法。
【請求項１８】
前記デバイスと前記プロセッサとを有するシステムのアイドル状態に基づき前記プロセッサのアイドル状態と前記デバイスのアイドル状態とを選択的に同期させるステップをさらに有する、請求項１０記載の方法。
【請求項１９】
メモリコントローラを有するプロセッサと、
オペレーティングシステム（ＯＳ）スケジュールに基づき前記プロセッサのアイドル状態を制御する電力管理ロジックと、
前記プロセッサのアイドル状態と少なくとも１つのデバイスのアイドル状態とを同期させる同期ロジックと、
を有するシステム。
【請求項２０】
前記同期ロジックは、前記ＯＳスケジュールにおいてアクティブウィンドウ期間中の前記デバイスの動作を許可し、前記ＯＳスケジュールにおいてアイドルウィンドウ期間中の前記動作を禁止し、
前記アクティブウィンドウは、前記プロセッサのアクティブ状態に関連付けされ、
前記非アクティブウィンドウは、前記プロセッサのアイドル状態に関連付けされる、請求項１９記載のシステム。
【請求項２１】
前記同期ロジックは、バス上のトランザクションを保留するバスロジックと、メモリのリフレッシュをサスペンドするメモリロジックと、クロックソースへの電力供給をオフするクロックロジックと、コントローラの組み合わせロジックへの電力供給をオフするコントローラロジックとからなる群から選択される、請求項２０記載のシステム。
【請求項２２】
前記電力管理ロジックは、イベントを検出し、前記イベントに応答して前記プロセッサをアクティブ状態に移行し、前記プロセッサがアイドル状態に入る準備ができた場合、前記プロセッサを前記アクティブ状態から離脱し、前記ＯＳスケジュールにより周期的に前記検出、移行及び離脱を繰り返す、請求項１９記載のシステム。
【請求項２３】
前記同期ロジックは、複数のデバイスのそれぞれのアイドル状態と前記プロセッサのアイドル状態とを同期させる、請求項１記載の装置。
【請求項２４】
前記同期ロジックは、当該システムのアイドル状態に基づき、前記デバイスのアイドル状態と前記プロセッサのアイドル状態とを選択的に同期させる、請求項１９記載のシステム。
【請求項２５】
イベントを検出するステップと、
前記イベントに応答してプロセッサをアクティブ状態に移行するステップと、
前記プロセッサが前記アクティブ状態に入る準備ができている場合、複数のデバイスのそれぞれの動作を許可するステップと、
前記プロセッサがアイドル状態に入る準備ができている場合、前記プロセッサを前記アクティブ状態から離脱するステップと、
前記プロセッサが前記アイドル状態にある場合、前記複数のデバイスのそれぞれの動作を禁止するステップと、
オペレーティングシステム（ＯＳ）スケジュールにより周期的に前記検出、移行、許可、離脱及び禁止を繰り返すステップと、
を有する方法。
【請求項２６】
前記禁止するステップは、バス上のトランザクションを保留し、インターラプトを保留し、メモリのリフレッシュをサスペンドし、クロックソースへの電力供給をオフし、コントローラの組み合わせロジックへの電力供給をオフすることからなる群から選択される、請求項２５記載の方法。
【請求項２７】
前記禁止するステップは、前記ＯＳスケジュールにおいて前記プロセッサのアイドル状態に関連付けされるアイドルウィンドウを実行する、請求項２５記載の方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［背景］
技術分野
本発明の実施例は、一般に電力管理に関する。特に、一部の実施例は、オペレーティングシステムスケジュールに基づき各システムデバイスのアイドル状態をシステムプロセッサのアイドル状態に同期させることに関する。
【０００２】
ディスカッション
計算システムの普及は拡大し続けており、より多くの機能に対する要求は新たな段階に到達した。この結果、現在のワークロード及び計算システムは、より多くの電力を消費し、従来よりも大きな熱を発生させる可能性がある。現在のプラットフォーム電力管理技術は、ドライバを使用してハードウェアタイマーをエミュレートしている。この場合、タイマーが経過すると、各デバイスは所定の期間アイドル状態となり、電力を節約するためオフされる。このようなアプローチは低いレベルの精度では許容可能であるが、相対的に詳細なレベルの精度では電力セービング機会が失われるかもしれない。
［詳細な説明］
以下の説明では、説明上、本発明の実施例の完全なる理解を提供するため、多数の具体的詳細が与えられる。しかしながら、本発明の実施例がこれら具体的な詳細なしに実現可能であるということは、当業者に明らかであろう。他の例では、本発明の実施例を不明りょうにしないように、具体的な装置の構成及び方法は説明されていない。以下の説明及び図面は、本発明の実施例を説明するためのものであり、本発明の実施例を限定するものとして解釈されるべきでない。
【０００３】
以下の詳細な説明の一部は、コンピュータメモリ内部のデータビット又はバイナリデジタル信号に対する演算のアルゴリズム及び記号表現に関して提供される。これらのアルゴリズム的な記述及び表現は、他の当業者に自らの成果の本質を伝えるため、データ処理分野の当業者によって使用される技術であるかもしれない。
【０００４】
特段の断りがない場合、以下の説明から明らかなように、本明細書を通じて、“処理”、“計算”、“決定”などの用語を使用した説明は、計算システムのレジスタ及び／又はメモリ内の電子量など物理量として表されるデータを操作し、及び／又はそれを計算システムのメモリ、レジスタ又は他の同様の情報ストレージ、伝送若しくは表示デバイス内の物理量として同様に表される他のデータに変換するコンピュータ、計算システム又は同様の電子計算デバイスのアクション及び／又はプロセスを表すことが理解される。さらに、“第１”、“第２”などの用語の使用は、必ずしも時間的な関係を示すとは限らず、説明を容易にするためのみに使用される。さらに、“接続される”という用語は、直接的又は間接的を問わず、当該コンポーネントが機械的、電気的、光学的、電磁的又は他の関係を有する何れかの構成を表すのに使用されるかもしれない。
【０００５】
図１は、電力管理ロジック１２がオペレーティングシステム（ＯＳ）スケジュール１６に基づきプロセッサ１４のアイドル状態を制御する装置１０を示す。シングルコア又はマルチコアアーキテクチャを有することが可能なプロセッサ１４は、縮小命令セットコンピュータ（ＲＩＳＣ）、パイプラインプロセッサ、複数命令セットコンピュータ（ＣＩＳＣ）などを含む。このため、図示されたプロセッサ１４は、ＯＳソフトウェアなどのプログラムコード／命令を実行可能であり、また命令フェッチユニット、命令デコーダ、実行ユニットなど（図示せず）を含むことが可能である。さらに、装置１０は、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）技術、コントローラファームウェア、マイクロコード、ソフトウェア技術及び上記の何れかの組み合わせなどのハードウェア技術を利用して実現されるかもしれない。
【０００６】
図示されたプロセッサ１０はまた、プロセッサ１４のアイドル状態と１以上のデバイス２４のアイドル状態とを同期させるための同期ロジック２２を有する。これらのデバイス２４は、システムバス、メモリデバイス、クロックソース、コントローラなどであるかもしれない。このようなプラットフォームワイドアイドルネススキームを生成することによって、装置１０は電力セービングにおいてより積極的なものとなりうる。さらに、比較的に高いレベルの精度を有するＯＳスケジュール１６に基づき同期を実行すると、装置１０は、電力管理動作に対してより大きな安定性とより高い分解能を実現することが可能となる。
【０００７】
ＯＳスケジュール
上述されるように、ＯＳスケジュール１６は、比較的に詳細なレベルの精度によってプロセッサ１４をアイドル状態にイン及びアウトさせるのに利用可能である。例えば、ＯＳスケジュール１６は、タイマーによって生成され、１０〜１５ｍｓなどの数値にプログラムされた周期的なインターラプト（ｉｎｔｅｒｒｕｐｔ）として実現可能である。図示されたプロセッサ１４が、Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ（ＡＣＰＩ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｒｅｖ．３．０，Ｓｅｐｔｅｍｂｅｒ  ２，２００３）Ｃ１〜Ｃ３状態の１つなどのアイドル状態にある場合、プロセッサ１４は非アクティブであり、比較的低い電力しか消費しない。ＯＳスケジューラタイマーがカウントダウンすると、タイマーは、プロセッサ１４をアクティブ／実行状態にアウェイクするインターラプトをプロセッサ１４に対して生成することが可能である。ＡＣＰＩでは、アクティブ状態はＣ０状態と呼ばれる。アウェイクされると、図示されたプロセッサ１４は、ＯＳによりスケジュールされたワークロードの実行を開始する。ワークロードが終了すると、プロセッサ１４は、次のＯＳスケジュールタイマーのインターラプトが検出されるまで、アイドル状態の１つに戻ることが可能である。従って、電力管理ロジック１２は、ＯＳスケジュールタイマーのインターラプトなどのイベントを検出することが可能であり、当該イベントに応答してプロセッサ１４をアクティブ状態にし、プロセッサがアイドル状態に入る準備ができた場合、プロセッサ１４をアクティブ状態から解除することが可能となる。このプロセスは、ＯＳスケジュール１６によって周期的に繰り返すことが可能である。
【０００８】
図２は、タイマーインターラプト１８がプロセッサをアウェイクするため、１０〜１５ｍｓ毎に発行されるＯＳスケジュール１６を示す。この結果、プロセッサは、アクティブ状態に移行され、アクティブ期間２０の期間中、ＯＳによりスケジュールされたワークロードの実行を開始する。スケジュールされたワークロードが終了すると、プロセッサは、次のＯＳスケジュールタイマーのインターラプトが検出されるまで、アイドル期間２６の期間中にアイドル状態に戻ることが可能である。図示された例では、プロセッサは、アイドル状態においてＯＳスケジュール１６の約９５％を消費する。これは多くの使用モデルのケースに該当すると判断されている。例えば、１つのモバイルワークロードのベンチマークでは、プロセッサは、時間のかなりの部分を単にユーザ入力を待機するのに使用するかもしれない。従来のアプローチによると、プラットフォーム／システムの残りは、これらのアイドル期間２６の期間中はアクティブである必要はないかもしれないということに留意すべきである。図示された実施例では、アイドル期間２６は、より大きな電力の節約を実現するため、プラットフォーム全体にわたって活用可能である。
【０００９】
アイドル状態の同期
図３を参照するに、ＯＳスケジュール１６と複数のデバイスのアンドル状態を同期させる１つのアプローチが詳細に示される。図示された例では、アクティブウィンドウ（ＡＷ）２８とアンドルウィンドウ（ＩＷ）３０がＯＳスケジュール１６において規定され、そこでは、ＡＷ２８はプロセッサのアクティブ状態に関連付けされ、ＩＷ３０はプロセッサのアイドル状態に関連付けされる。図示されたＯＳスケジュール１６は所与のインターバル中は固定され、ＡＷ２８はプロセッサのワークロードに基づき可変的なものであるため、ＩＷ３０は、各タイマーインターラプトに対して高いレベルの確からしさにより計算／予測することが可能である。特に、ＩＷ３０は、プロセッサのタイマークロック同期待ち時間３２に基づき決定され、そこでは、ＯＳスケジュールタイミング機能は、メインシステムクロックから独立したタイマークロックを使用する。この点において、プロセッサは、メインシステムクロックがＩＷ３０の期間中はダウンされているため、プロセッサがアイドル状態に入る準備ができたときは常に、タイマークロックを使用する必要があるかもしれない。このため、タイマークロックとの同期が必要となるかもしれない。システムバス、インターラプト、メモリデバイス、クロックソース、コントローラなどの各デバイス２４がＡＷ２８の期間中にアクティブ状態であることを可能にし、ＩＷ３０の期間中はアクティブ状態を回避することによって、図示された実施例は、デバイス２４について良好な電力制御環境を生成する。このような環境は、システム動作をより決定的なものにし、より積極的な電力節約技術を可能にする。
【００１０】
例えば、図示された実施例では、上記回避は、バストランザクションの保留、インターラプトの保留、メモリリフレッシュのサスペンド、クロックソースへの電力オフ、次のＡＷまでのシステム／コントローラ組み合わせロジックへの電力オフを含む。組み合わせロジック要素は、一般に少なくとも１つの出力チャネルと、１以上の入力チャネルとを有し、そのすべてが離散的な状態によって特徴付けされている。このため、任意の時点において、各出力チャネルの状態は、同一時点における入力チャネルの状態によって完全に決定可能となる。このようなロジックを選択的に電力オン・オフすることによって、かなりの電力の節約が実現可能となる。結果として得られるスキームでは、すべてのデバイスが一緒に動作及びスリープすることが可能となる。
【００１１】
また、デバイスに応じて、アイドル状態離脱手順がＩＷ３０の終了近くの離脱期間３４（３４ａ〜３４ｃ）の期間中に開始されるかもしれないということを理解することはできる。例えば、メモリコントローラは、次のＡＷ２８に対してメモリを準備するため、離脱期間３４ａの期間中に離脱サスペンドリフレッシュルーチンを実行するようにしてもよい。同様に、位相同期ループ（ＰＬＬ）ウォームアップルーチンが、オフされている何れかのＰＬＬに対して離脱期間３４ｂの期間中に実行されてもよい。図示された例では、電力アップルーチンがまた、ＩＷ３０の期間中にオフされた何れかの組み合わせロジックに対して離脱期間中に実行される。ＩＷ３０の長さはＯＳ１６にリンクされ、このため既知であるため、アイドル状態離脱手順は、次のＡＷ２８を遅延させることなく実行可能である。
【００１２】
図４は、離脱手順スキームの一例を示す。特に、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）デバイスが、サスペンドリフレッシュ時間ＴＳＲに対応するサスペンドリフレッシュ離脱期間３４ａに関連付けることが可能である。メインクロックは、ＰＬＬロック時間ＴＰＬＬに対応するＰＬＬロック離脱期間３４ｂに関連付けされてもよい。組み合わせロジックは、電力オン時間ＴＰＯと初期化時間ＴＩＮＩＴに対応する電力オン離脱時間３４ｃに関連付けることができる。このため、ＤＲＡＭ、メインクロック及び組み合わせロジックはそれぞれ、ＯＳスケジュール１６の次のアクティブウィンドウに対して準備することが可能である。
【００１３】
図５を参照するに、ＯＳスケジュールイベントＴＳＣＨ＃を発行するスケジュールタイマー３８と、アイドル状態離脱手順を開始するプレタイミングロジック３６とが示される。特に、図示されたスケジュールタイマー３８は、タイマークロック入力４０と、初期カウント値ＴＳＣＨからカウントダウンするカウンター４２とを有する。パーソナルコンピュータ（ＰＣ）システムでは、スケジュールタイマー３８は、プロセッサをアイドル状態からアウェイクするＩＲＱ０インターラプトを生成する８２５４タイマーであってもよいが、多くのタイプのタイマーロジックが当該機能を実行するのに利用可能であり、実施例は８２５４の実現形態に限定されない。例えば、一部のＰＣシステムでは、Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ（ＲＴＣ）がＯＳスケジュールタイミングを生成するのに使用され、Ｈｉｇｈ  Ｐｒｅｃｉｓｉｏｎ  Ｅｖｅｎｔ  Ｔｉｍｅｒ（ＨＰＥＴ）が他のケースに使用される。実施例は何れかのＯＳスケジュールタイミングロジックに対処するよう構成可能である。タイマークロック入力４０は、プロセッサに提供されるメインクロック信号から独立したクロック信号を受け取る。一例では、タイマークロック信号は１４ＭＨｚ信号であり、メインクロック信号は１ＧＨｚなどのより高い周波数を有する。カウンター４２がゼロに達すると、それは、ＯＳスケジュールイベントＴＳＣＨ＃を生成し、初期カウント値をリロードし、プロセスを再びスタートすることが可能である。ＯＳは、適切なレジスタに格納される初期カウント値を変更することによって、スケジュールイベントが発行される頻度を変更することができる。上述されるように、ＯＳスケジュールイベントは、アクティブウィンドウを生成／決定するのに利用可能である。ＯＳはＯＳスケジュールインターバルを変更可能であるが、当該インターバルは、それが再び変更されるまで一定に維持される。プレタイミングロジックは、ＯＳハードウェアスケジュールタイマー３８からの実行中のカウント値４４の実際の値とプレタイミングロジックの値とを比較することによって、ＯＳが変更するそれのタイマーインターバルに自動調整することが可能である。
【００１４】
図示されたプレタイミングロジック３６は、実行中のカウント値４４と適切な離脱期間値とを比較する複数の比較モジュール４６に実行中のカウント値４４をラッチする。離脱期間値に達すると、必要な通知（ＴＰＡ＃、ＴＳＲ＃、ＴＰＬＬ＃など）がフリップフロップ４８により生成可能であり、それはまた、タイマークロック入力４０を用いて対応するアイドル状態離脱手順を開始する。スケジュールタイマー３８とプレタイミングロジック３６は、状況に応じて、集中配置されるか、又はプラットフォーム全体に分散されるかもしれない。
【００１５】
図６は、サーバ、デスクトップパーソナルコンピュータ（ＰＣ）、ノートブックＰＣ、携帯情報端末（ＰＤＡ）、無線“スマート”フォンなどの一部となりうるシステム５０を示す。図示されたシステム５０は、プロセッサ１４、グラフィックスメモリコントローラハブ（ＧＭＣＨ）５２及び入出力コントローラハブ（ＩＣＨ）５４を有する。図示されたプロセッサ１４は、システム５０の多数のコンポーネントを相互接続することが可能なＣＳＩ（Ｃｏｍｍｏｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）ポイント・ツー・ポイントファブリックなどの高速バス１０２を介し、ノースブリッジとして知られているＧＭＣＨ５２と通信する。プロセッサ１４はまた、フロントサイドバス（ＦＳＢ）を介しＧＭＣＨ５２と通信可能である。ＧＭＣＨ５２は、メモリバス１０６を介しシステムＤＲＡＭ１０４と通信するようにしてもよい。ＤＲＡＭ１０４は、ＳＩＭＭ（Ｓｉｎｇｌｅ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）、ＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）、ＳＯＤＩＭＭ（Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  ＤＩＭＭ）などに搭載されてもよい。ＧＭＣＨ５２はまた、ハブバス１０８を介して、サウスブリッジと呼ばれるＩＣＨ５４と通信するようにしてもよい。図示された実施例では、ハブバス１０８はＤＭＩ（Ｄｉｒｅｃｔ  Ｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）バスである。ハブバス１０８はまた、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス機能を有することも可能である。ＩＣＨ５４はまた、ハードディスクドライブ（ＨＤＤ）、光ディスクドライブ（ＯＤＤ）、ＵＳＢ（ＵＳＢ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ２．０，ＵＳＢ  Ｉｍｐｌｅｍｅｎｔｅｒｓ  ＦｏｒｕｍなどのＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）バス、フラッシュメモリなどを含む入出力（Ｉ／Ｏ）デバイス５６（５６ａ，５６ｂ）を有することが可能である。
【００１６】
図示された例では、ＧＭＣＨ５２は、タイマークロック４３からタイマークロック信号を受け取るクロックコントローラ４１を有する。ＩＣＨ５４は、ＯＳスケジュールとタイマークロック信号とに基づき、プロセッサ１４のアイドル状態を制御するため、スケジュールタイマー３８（３８ａ，３８ｂ）回路を利用可能な電力管理ロジック１２を有してもよい。アイドル状態同期ロジック（ＩＳＬ）２２（２２ａ〜２２ｇ）は、システム５０の全体に分散可能であり、ＩＳＬ２２は、ＯＳスケジュールベースアイドルポリシー６２に従って、プロセッサ１４のアイドル状態と１以上のデバイスのアイドル状態を同期可能である。一例では、アイドルポリシー６２は、アイドルウィンドウルールを実行可能であり、ＩＳＬ２２は、これらのルールに関してデバイス参加を管理する。例えば、プロセッサインタフェースモジュール６０は、高速バス１０２のアイドル状態とプロセッサ１４のアイドル状態とを同期させるＩＳＬ２２ａを有することが可能である。特に、ＩＳＬ２２ａは、ＯＳスケジュールのアクティブウィンドウ期間中、バス１０２上のトランザクションを許可し、次のアクティブウィンドウまでＯＳスケジュールのアイドルウィンドウ期間中、バス１０２上のトランザクションを保留することが可能である。同様に、ハブインタフェースモジュール６４、６６は、それぞれＩＳＬ２２ｄ、２２ｅを有することが可能であり、ＩＳＬ２２ｄ、２２ｅは、ＯＳスケジュールのアイドルウィンドウ期間中、ハブバス１０８上のトランザクションを保留することが可能である。アイドルウィンドウ期間中にバストランザクションを保留することは、かなりの電力の節約を提供することが可能である。
【００１７】
さらに、メモリコントローラ６８は、アクティブウィンドウ期間中にリード／ライトアクセスやセルフリフレッシュなどのＤＲＡＭ１０４における各動作をサポートするＩＳＬ２２ｃを有するようにしてもよい。ＩＳＬ２２ｃは、アイドルウィンドウ期間中に上記動作をサスペンドすることができる。例えば、ＤＲＡＭ１０４におけるメモリリフレッシュをサスペンドすることは、かなりの電力量を節約するかもしれないことが判明している。また図示された例では、Ｉ／Ｏコントローラ７０、７２はそれぞれ、アイドルウィンドウ期間中にコントローラ７０、７２における組み合わせロジック（図示せず）への電力供給をオフするためのＩＳＬ２２ｆ、２２ｇを有する。上述されるように、組み合わせロジックへの電力供給を選択的にオン・オフすることによって、かなりの電力の節約が実現可能となる。さらに、グラフィックス（Ｇｆｘ）モジュール５８は、より良好な環境を生成するため、Ｇｆｘモジュール５８のアイドル状態とプロセッサ１４のアイドル状態とを同期させるＩＳＬ２２ｂを有することが可能である。さらなる例では、クロックロジック（図示せず）が、各種クロックソースのアイドル状態とプロセッサ１４のアイドル状態とを同期させるため、クロックソースへの電力を選択的にオフすることが可能である。
【００１８】
図示されたシステム５０はまた、アイドルウィンドウの期間中にスリープ状態からの各デバイスの離脱を管理するためのプレタイミングロジック３６（３６ａ、３６ｂ）回路を有する。適切なアイドル状態離脱手順を開始することによって、プレタイミングロジック３６は、アイドル状態関連の待ち時間を実質的に回避することが可能となる。この結果は、固有の電力節約機会を提供する決定的な手段となりうる。
【００１９】
このタイプのプラットフォーム動作を可能にするための１つのキーは、アクティブブロックＩ／Ｏデバイス（バスマスタなど）の動作方法を変更することに関するものである。従来のバスマスタは常時動作するため、現在直面しているシステムレベルの電力管理問題をもたらすかもしれない。１つのアプローチでは、これらのデバイスは、アクティブウィンドウ期間中のみ動作することが許可される。多数のバスコントローラと一部のデバイスの動作は、良好な動作を生成するため、アイドルポリシー６２に従う必要があるかもしれない。このような結果は、これらのデバイスの多くがこのように動作するよう設計されたものではないため、獲得困難なものとなる。しかしながら、このコンプライアンス要求は、システム動作を全体として観察することによって簡単化することが可能となる。
【００２０】
まず、システム５０はほとんどアイドル状態であり、適度なワークロードを実行するときもまた、アイドル状態（何も実行していないなど）となっていることが観察されるかもしれない。システム５０が時間の９０％でアイドル状態となっており、（一般に）デバイスはアイドル時には何も実行していない場合、ブロックＩ／Ｏデバイスにアイドル時にはこのように動作させることは容易であるかもしれない。アイドル状態の同期がアイドルシステムの動作を高めるためだけに使用される場合、その効果の約９０％は、ブロックＩ／Ｏデバイスの動作に係る困難さの９０％を回避しながら実現可能となるかもしれない。
【００２１】
さらに高度なものにするため、ブロックＩ／Ｏデバイスのパフォーマンスの多くは、デバイスが大変なビジー状態にあるときに導かれる（例えば、ＩＳＯＳＹＮＣＨデータストリームの実行など）。これらのアクティブなワークロードに対する最適化の多くは、アイドル状態におけるパフォーマンスを害する可能性がある。なぜなら、当該動作が必要であるときがわかっていないためである。システムがアイドル状態であるときを特定し、その後、精細な電力制御を取得するため、これらのデバイスの動作を変更することが可能である場合、システム動作に急激な影響を与えることなく、これらのデバイスを変更することは容易であるかもしれない。例えば、システム５０は、それが（ＯＳスケジュールインターバルによって）アクティブ状態であると判断されると、アクティブ“モード”にスイッチすることが可能である。ここで、良好なアイドル状態のパフォーマンス動作が、パフォーマンスへの小さな影響だけでレガシーアクティブ動作を維持しながら取得可能である。このようなアプローチは、システムがアクティブ又はアイドル状態である時点を動的に判断し、その後、プラットフォームを通常又はアイドル状態の動作に切り替えることを要求するかもしれない。ＩＳＬ２２／アイドル状態ポリシー６２を単に課すことは、システム５０の全体的なアイドル状態に基づき、プロセッサ１４のアイドル状態と各デバイスのアイドル状態とを選択的に同期させる。
【００２２】
図７は、メモリコントローラ６９がプロセッサ１５と同一のダイ上に搭載される他のシステム５１を示す。図示された例では、バスインタフェースモジュール６５、６７はそれぞれ、バス１０９の待ち時間とプロセッサ１５の待ち時間を同期させるため、次のアクティブウィンドウまでバス１０９上のバストランザクションを選択的に保留するためのＩＳＬ２２ｄ、２２ｅを有する。
【００２３】
図８を参照するに、電力管理方法が示される。図示された方法７４は、例えば、ハードウェア、マイクロコード、又はマシーンにより実行される場合（例えば、マルチ処理ユニット及び／又は他の適切なマシーンにより）、本発明の実施例による方法及び／又は処理をマシーンに実行させる命令又は命令セットを格納可能な何れかのマシーン可読媒体若しくは物を使用して、ロジックとして実現可能である。このようなハードウェアは、例えば、ＣＭＯＳ技術に基づく又はＴＴＬ（Ｔｒａｎｓｉｓｔｏｒ  Ｔｒａｎｓｉｓｔｏｒ  Ｌｏｇｉｃ）技術に基づく構成などを含むかもしれない。上記マシーンは、例えば、何れか適切な処理プラットフォーム、計算プラットフォーム、計算装置、処理装置、計算システム、処理システム、コンピュータ、プロセッサなどを有し、何れか適切なハードウェア及び／又はソフトウェアの組み合わせを使用して実現可能である。
【００２４】
上記マシーン可読媒体又は物は、例えば、メモリ、着脱可能若しくは不可媒体、消去可能若しくは不可媒体、書き込み可能若しくは書き換え可能媒体、デジタル若しくはアナログ媒体、ハードディスク、フロッピー（登録商標）ディｓく、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＣＤ−ＲＷ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｗｒｉｔａｂｌｅ）、光ディスク、磁気ディスク、各種タイプのＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、テープ、カセットなど、何れか適切なタイプのメモリユニット、メモリデバイス、記憶物、記憶媒体、ストレージデバイス、格納物、格納媒体及び／又はストレージユニットなどを含むかもしれない。上記命令は、ソースコード、コンパイルコード、インタープリットコード、実行可能コード、スタティックコード、ダイナミックコードなどの何れか適切なタイプのコードを含み、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、ＢＡＳＩＣ、Ｐａｓｃａｌ、Ｆｏｒｔｒａｎ、Ｃｏｂｏｌ、アセンブリ言語、機械語など、何れか適切なハイレベル、ローレベル、オブジェクト指向、ビジュアル、コンパイル及び／又はインタープリットプログラミング言語を使用して実現可能である。
【００２５】
図示された例では、処理ブロック７６は、ＯＳスケジュールに基づきプロセッサのアイドル状態を制御する。このようなプロセスは、例えば、ＯＳスケジュールイベントの検出、イベントに応答したプロセッサのアクティブ状態への移行、プロセッサがアイドル状態に入る準備ができている場合、プロセッサのアクティブ状態からの離脱、ＯＳスケジュールによるアイドル状態に対する検出、以降及び離脱の繰り返しなどに関するかもしれない。ブロック７８は、少なくとも１つのデバイスのアイドル状態とプロセッサのアイドル状態との同期化を提供する。一例では、このようなプロセスは、ＯＳスケジュールにおけるアクティブウィンドウ期間中のデバイスの動作を許可することと、ＯＳスケジュールにおけるアイドルウィンドウ期間中の動作の禁止を含めることができる。
【００２６】
上記記載から、当業者は、本発明の実施例の広範な技術が各種形式により実現可能であることを認識可能である。従って、本発明の実施例が特定の具体例に関して説明されたが、図面、明細書及び以下の請求項を考察することによって、他の改良が当業者に明らかとなるため、本発明の実施例の真の範囲はこれに限定されるべきでない。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の一実施例による電力管理装置の実施例のブロック図である。
【図２】図２は、本発明の一実施例によるオペレーティングシステムスケジュールの実施例のタイミング図である。
【図３】図３は、本発明の一実施例によるアイドル状態同期スキームの実施例のタイミング図である。
【図４】図４は、本発明の一実施例によるアイドル状態離脱スキームの実施例のタイミング図である。
【図５】図５は、本発明の一実施例によるプレタイミングロジックの実施例の概略図である。
【図６】図６は、本発明の一実施例によるシステムの実施例のブロック図である。
【図７】図７は、本発明の一実施例によるシステムの実施例のブロック図である。
【図８】図８は、本発明の一実施例による電力管理方法の実施例のフローチャートである。
【図１】
2008544736.tif 000003
【図２】
2008544736.tif 000004
【図３】
2008544736.tif 000005
【図４】
2008544736.tif 000006
【図５】
2008544736.tif 000007
【図６】
2008544736.tif 000008
【図７】
2008544736.tif 000009
【図８】
2008544736.tif 000010
【国際調査報告】
2008544736.tif 000011
2008544736.tif 000012