(57)【特許請求の範囲】
【請求項１】
減少電力状態を検出するための減少電力検出プロセスを実行するステップと、
減少電力状態エントリープロセスを実行するステップであって、
前記減少電力状態エントリープロセスは、
システムコンテクスト情報に対するポインタとシステムコンテクスト確認情報とを含む迅速回復情報を常時オンドメインのレジスタにセーブする段階と、
前記常時オンドメインを含むシステム・オン・チップの外に設けられた外部メモリを自己リフレッシュモードにして、チップが減少電力状態にある間、前記システムコンテクスト情報を保存する段階と、
を含む、ステップと、
回復指示事象を検出するための回復検出プロセスを実行するステップと、
前記回復指示事象の検出に基づいて迅速回復プロセスを実行するステップであって、
前記迅速回復プロセスは、
メモリコントローラのレジスタを初期化し、前記外部メモリを前記自己リフレッシュモードから退出させるように制御する段階と、
前記常時オンドメインのレジスタに記憶された前記システムコンテクスト確認情報を使用して、前記外部メモリから回復された前記システムコンテクスト情報を確認する段階と、
を含む、ステップと、
を備え、オペレーティングシステム不可知である、電力制御方法。
【請求項２】
前記減少電力検出プロセスは、
中央リソースマネージャーモジュールによりシステム内の異なる周辺機器の状態を収集する段階と、
スケジューラーアイドルループを計装して、前記中央リソースマネージャーモジュールでチェックすることによりシステムアイドル条件状態を決定する段階と、
次のオペレーティングシステムチックに対する時間及び前記システムのアイドル条件状態に基づいて減少電力状態に入ることを判断する段階と、
を含む請求項１に記載の電力制御方法。
【請求項３】
前記迅速回復情報は、減少電力状態回復指示と、回復コードアドレス指示と、回復コード確認情報とを含む、請求項１に記載の電力制御方法。
【請求項４】
前記システムコンテクスト情報は、ＣＰＵ状態情報と、周辺機器状態情報と、前記減少電力状態からパワーアップした後に整然としたシーケンスで連続動作する状態へシステムを回復することに関連した他のコンポーネント情報とを含む、請求項１に記載の電力制御方法。
【請求項５】
前記迅速回復プロセスは、
前記迅速回復プロセスで進むか否かを決定する段階と、
前記外部メモリ内の回復インストラクションへジャンプする段階と、
オペレーティングシステム情報を回復して、オペレーティングシステム制御へ戻る段階と、
を含む請求項１に記載の電力制御方法。
【請求項６】
前記迅速回復プロセスで進むか否かを決定する前記段階は、
前記常時オンドメインにおける迅速回復指示をチェックする工程と、
前記迅速回復指示がセットされた場合に前記迅速回復プロセスで進む工程と、
を含む請求項５に記載の電力制御方法。
【請求項７】
オペレーティングシステム情報を回復する前記段階は、電力減少前の最後の動作状態に対応する状態においてオペレーティングシステムと対話するためにプロセッサ及び周辺機器レジスタ情報を回復させる工程を含む、請求項５に記載の電力制御方法。
【請求項８】
前記迅速回復プロセスで進む前記工程は、迅速回復への移行を中央リソースマネージャーモジュールに指示することを含む、請求項６に記載の電力制御方法。
【請求項９】
前記減少電力状態エントリープロセスは、
前記システムコンテクスト情報を前記外部メモリに書き出す段階と、
前記システムコンテクスト情報の第１のチェック和を前記システムコンテクスト確認情報として計算する段階と、
を更に含み、
前記迅速回復プロセスは、
前記外部メモリから回復された前記システムコンテクスト情報の第２のチェック和と前記第１のチェック和を比較し、前記第１のチェック和が前記第２のチェック和に一致しない場合に装置のコールドリセットを実行する段階、を更に含む、請求項１〜８のいずれか一項に記載の電力制御方法。
【請求項１０】
前記減少電力状態エントリープロセスは、回復コードの第３のチェック和を回復コード確認情報として計算する段階、を更に含み、
前記迅速回復情報は、前記回復コードに対するポインタと前記回復コード確認情報とを更に含み、
前記迅速回復プロセスは、
前記外部メモリから回復された前記回復コードの第４のチェック和と前記第３のチェック和を比較し、前記第３のチェック和が前記第４のチェック和に一致しない場合に前記コールドリセットを実行する段階、を更に含む、請求項９に記載の電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、電力制御の分野に係る。より詳細には、本発明は、減少電力状態から迅速に回復して効率的に電力制御するシステム及び方法に係る。
【背景技術】
【０００２】
[0002]電子システム及び回路は、近代社会の進歩に向けて著しく貢献し、多数の用途に利用されて効果的な結果を得ている。デジタルコンピュータ、計算器、オーディオ装置、ビデオ装置及び電話システムのような多数の電子技術は、ビジネス、科学、教育及び娯楽のほとんどのエリアでデータ、アイデア及びトレンドを分析し伝達する上で、生産性の向上及びコストの削減を促進している。多くの場合に、これらの活動は、典型的に著しい量の電力を消費する著しい情報処理を伴う。しかしながら、多くの装置は、電源に制限がある。
【０００３】
[0003]進歩的アプリケーションは、システム性能に絶えず大きな需要を生み出している。例えば、多数のアプリケーションの望ましい目的は、ユーザに（例えば、ディスプレイ又はモニタにおいて）視覚的なプレゼンテーションを与えること、他の装置と通信すること、等々である。これら機能に関連した動作は、通常、大量のデータの著しい処理を迅速なレートで行うことを含む。これら機能に関連したほとんどの動作を実行するための１つの基本的電子コンポーネントは、トランジスタである。トランジスタは、スイッチングするときに電力を消費し、又、スイッチングしないときには漏洩電流を受け易い。システムにおける機能が増加するにつれて、トランジスタが動作する頻度及びトランジスタの個数が急速に増加し、それに対応して電力消費が指数関数的に増加する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]電力保存における慣習的な試みは、しばしば制限があり、動作及び／又はユーザの経験に悪影響を及ぼす。システムのパワーダウン及びパワーアップにおける従来の試みは、ユーザ経験の観点から遅延をしばしば生じさせる。例えば、従来のシステムがパワーダウンされ、ユーザがシステムと対話するように試みるときに、ユーザは、典型的に、ブランクのスクリーンを見て、情報が表示されるのを待つ。又、従来のパワーダウンされたシステムでは、アプリケーションも悪影響を受ける。例えば、リアルタイム通信アプリケーションは、情報の送信及び／又は再送信の試みをしばしば遅延しなければならず、リアルタイム効果に悪影響を及ぼす。更に、情報がダンプされ永久的に失われることもあり、ユーザの経験を更に悪化させる。
【課題を解決するための手段】
【０００５】
[0005]減少電力状態から迅速に回復する効率的及び効果的な電力制御システム及び方法について説明する。ある実施形態では、本発明の電力制御システムは、減少電力状態を検出するための減少電力検出プロセスを実行し、減少電力状態は迅速な回復に関連したものであり、減少電力状態エントリープロセスを実行し、回復指示事象を検出するための回復検出プロセスを実行し、更に、回復指示事象の検出に基づいて迅速回復プロセスを実行することを含む。減少電力状態エントリープロセスは、迅速回復情報を常時オンドメインのレジスタにセーブし、外部メモリを自己リフレッシュモードに入れて、チップがターンオフされる間にシステムコンテクストを保存することを含む。又、迅速回復プロセスは、常時オンドメインに記憶された情報を使用して、回復を開始し、メモリコントローラレジスタを初期化し、自己リフレッシュから出るようにメモリコントローラに指令し、常時オンドメインに記憶されたキーを使用してメモリから回復されたシステムコンテクストを確認し、メモリ内の回復インストラクションへジャンプし、オペレーティングシステム情報を復帰させ、そしてオペレーティングシステム制御に戻ることを含む。
【０００６】
[0006]本明細書に添付されてその一部分を形成する添付図面は、本発明の原理を例示するために含まれたもので、そこに示された特定の実施形態に本発明を限定するものではない。添付図面は、特に指示のない限り、正しいスケールではない。
【図面の簡単な説明】
【０００７】
【図１Ａ】本発明の一実施形態による例示的システムのブロック図である。
【図１Ｂ】本発明の一実施形態による例示的電力状態及びそれに対応する電力消費指示のテーブルである。
【図２】本発明の一実施形態による別の例示的システムのブロック図である。
【図３】本発明の一実施形態による例示的非電力ゲートアイランドのブロック図である。
【図４】本発明の一実施形態による例示的常時オン電力ドメインのブロック図である。
【図５】本発明の一実施形態に基づく例示的電力制御方法のブロック図である。
【図６】本発明の一実施形態に基づく例示的減少電力検出プロセスのブロック図である。
【図７】本発明の一実施形態に基づく例示的減少電力状態エントリープロセスのブロック図である。
【図８】本発明の一実施形態に基づく例示的迅速回復プロセスのフローチャートである。
【図９】本発明の一実施形態に基づく電力制御方法のブロック図である。
【図１０】本発明の一実施形態に基づく深いスリープ状態（例えば、ＬＰ０）のための電力遮断又は減少プロセスの例示的アクションのテーブルである。
【図１１】本発明の一実施形態に基づく停止電力状態（例えば、ＬＰ１）のための電力遮断又は減少プロセスの例示的アクションのテーブルである。
【図１２】本発明の一実施形態に基づく深いスリープ状態（例えば、ＬＰ０）からの回復プロセスの例示的アクションのテーブルである。
【図１３】本発明の一実施形態に基づく停止電力状態（例えば、ＬＰ１）からの回復プロセスの例示的アクションのテーブルである。
【発明を実施するための形態】
【０００８】
[00021]添付図面に一例が示された本発明の好ましい実施形態について、以下に詳細に説明する。本発明は、好ましい実施形態に関連して説明するが、本発明をこれら実施形態に限定するものでないことを理解されたい。逆に、本発明は、特許請求の範囲により規定される本発明の精神及び範囲内に包含される代替物、変更、及び等効物を網羅するものとする。更に、本発明の以下の詳細な説明において、本発明を完全に理解するために多数の特定の細部を述べる。しかしながら、当業者であれば、これら特定の細部を伴わずに本発明を実施できることが明らかであろう。他の点については、良く知られた方法、手順、コンポーネント、及び回路は、本発明の態様を不必要に不明瞭にしないために、詳細に説明しない。
【０００９】
[00022]以下の詳細な説明のある部分は、コンピュータメモリ内のデータビットに対する動作の手順、論理的ブロック、処理、及び他の象徴的表現に関して表わされる。これらの説明及び表現は、データ処理技術の当業者が、自分の仕事の実体を他の当業者に有効に伝えるために一般的に使用する手段である。手順、論理的ブロック、プロセス等は、ここでは、又、一般的には、希望の結果を導くステップ又はインストラクションの自己矛盾のないシーケンスと考えられる。ステップは、物理量の物理的操作を含む。必ずしもそうでないが、通常、これらの量は、コンピュータシステムにおいて記憶、転送、合成、比較、及びその他操作することのできる電気的、磁気的、光学的又は量子的信号の形態をとる。これらの信号を、ビット、値、エレメント、記号、キャラクタ、項、数字、等として言及することは、主として、普通に使用するという理由で、時々、便利であることが分かっている。
【００１０】
[00023]しかしながら、これら及び同様の語は、適切な物理量に関連付けられ、それらの量に適用される便利な表示に過ぎないことを銘記されたい。特に指示のない限り、以下の説明から明らかなように、本出願全体にわたり、「処理(processing)」、「コンピューティング(computing)」、「計算(calculating)」、「決定(determining)」、「表示(displaying)」、等の語を使用する記載は、物理的（例えば、電子的）量として表わされたデータを操作及び変換するコンピュータシステム又は同様の処理装置（例えば、電気的、光学的又は量子、コンピューティング装置）のアクション及び処理を指すことが明らかであろう。これらの語は、コンピュータシステムのコンポーネント（例えば、レジスタ、メモリ、他の情報記憶、伝達又は表示装置、等）内の物理量を操作し又はそれを、他のコンポーネント内の物理量として同様に表わされた他のデータへ変換する処理装置のアクション及びプロセスを指す。
【００１１】
[00024]本発明は、効率的で且つ有効な電力制御を促進しながらシステム性能の向上を可能にする。一実施形態では、本発明は、種々の基準（例えば、ユーザと装置との対話、他の装置からの通信、等）に応答してシステムの電力状態（例えば、全電力、減少電力、オフ、等）を調整することに関する。１つの実施例では、本発明は、減少電力状態からの迅速な回復も可能にする。又、本発明は、オペレーティングシステム不可知(agnostic)であり、異なるオペレーティングシステム環境での種々の具現化を受け容れるように容易に適応できる。電力制御は、種々のレベル及び粒度での電力保存に利用することができる。一実施形態では、電力保存動作の部分が種々のモジュール（例えば、ドライバ、リソースマネージメントモジュール、等）に分配される。
【００１２】
[00025]図１Ａは、本発明の一実施形態による例示的システム１００のブロック図である。このシステム１００は、外部電源１９０と、周辺機器１４０と、システム・オン・チップ(system-on-chip)（ＳｏＣ）１０１とを備えている。単一のブロックとして示されているが、周辺機器１４０は、種々の周辺装置又は外部装置（例えば、メモリ、通信インターフェイス、入力装置、等）を含み得ることが明らかであろう。システム・オン・チップ１０１は、複数の電力ドメイン１１０、１２０及び１３０を含む。これらの電力ドメインは、種々のコンフィギュレーションで構成できる電力アイランドを含む。一実施形態では、電力ドメイン１１０は、電力アイランド１１１を備え、電力ドメイン１２０は、電力アイランド１２１及び電力アイランド１２３を備え、電力ドメイン１３０は、電力アイランド１３１、電力アイランド１３３及び電力アイランド１３５を備えている。又、電力アイランドの各々は、種々の機能的ブロックコンフィギュレーションを含み得ることが明らかであろう。例えば、電力アイランド１１１は、機能的ブロック１１２を備え、電力アイランド１２１は、機能的ブロック１２２を備え、電力アイランド１２３は、機能的ブロック１２４を備え、電力アイランド１３１は、機能的ブロック１３２を備え、電力アイランド１３３は、機能的ブロック１３４を備え、そして電力アイランド１３５は、機能的ブロック１３７、１３８及び１３９を備えている。
【００１３】
[00026]システム１００の電力ドメイン及び電力アイランドは、種々の構造的なハイアラーキーで実施できることが明らかであろう。一実施形態では、電力ドメイン１１０は、常時オンドメインであり、又、電力ドメイン１３０は、主電力ドメインである。システム１００のコンポーネントに対する電力制御は、種々のレベル及び／又は粒度で異なる電力状態を実現できるように柔軟に実施できることが明らかであろう。異なる電力状態については、ここに使用する「常時オン(always on)」ドメインは、必ずしも文字通り常時オンでないことが明らかである。一実施形態では、常時オンドメインは、ターンオフすることができない。又、一実施形態では、「常時オン」ドメインは、装置が完全にオフ状態にある場合には、パワーアップされない。１つの実施例では、ユーザが装置をターンオフ（例えば、装置のオフボタンをオフ位置に切り換え、電源を遮断し、等々）したときに、完全なオフ状態に入る。しかしながら、装置がユーザによりターンオン（例えば、ユーザが装置のパワーオンボタンを作動し、電源を接続し、等々）された場合には、常時オンドメインが常時オンとなる。常時オンドメインは、比較的低い公称電力消費をもつように設計できるが、一実施形態では、常時オンドメインは、装置を完全にターンオフするためのユーザからの指示以外、動的な電力減少を受けることがない。例えば、常時オンドメインは、比較的少数のトランジスタ、小さな設置面積、及び／又は低い動作周波数のために、最小の公称電力しか消費しないが、この公称電力は、減少電力状態が他の電力ドメインにおいて指令された電力保存機構の一部分として変化するために、更に動的に減少されることはない。
【００１４】
[00027]システム１００のコンポーネントは、システム内のコンポーネントの効率的で且つ有効な電力管理を促進するように協働する。電力ドメインは、独立してターンオン及びターンオフすることができ又は電力ゲート作動することができる。一実施例では、電力ドメイン内の各電力アイランドによる電力消費も、アイランド内で独立して制御することができる（例えば、電力ゲート作動(power gated)、クロックゲート作動(clock gated)、等）。一実施形態において、各機能的ブロックは、特定の機能又は最終使用目的（例えば、電話、インターネットアプリケーション、ワードプロセッサ、等）に関連付けられる。電力アイランド内の電力消費機能的ブロックは、機能の利用又は最終使用目的に基づいて制御することができる。
【００１５】
[00028]種々の電力制御メカニズムを利用できることが明らかであろう。例えば、電力アイランドは、電力ゲート作動及び／又はクロックゲート作動することができる。一般的な提案として、ある領域がクロックゲート作動される場合には、電力がスイッチングトランジスタによって消費されず、漏洩電流の発生によって消費される。又、一般的な提案として、ある領域が電力ゲート作動される場合には、電力がスイッチングトランジスタによって消費されず、最小の漏洩電流から無漏洩電流までの状態となる。１つの実施例では、特定の領域又はアイランドが電力ゲート作動される場合には、電力消費に対する「電力ゲート作動漏洩電流」の影響が、クロックゲート作動されたときの同じ領域に関連したクロックゲート作動漏洩電流電力消費影響の３０％である。
【００１６】
[00029]一実施形態では、システム１００は、複数の例示的電力状態に入ったり出たりすることができ、それに対応する例示的電力消費指示が図１Ｂに示されている。装置完全オフ状態では、常時オンドメイン及び主ドメインがオフであって電力消費がない。第１の減少電力状態（例えば、ＬＰ０、深いスリープの電力状態、等）では、常時オンドメインがオンであり、主ドメインがオフである（例えば、主ドメインへのレールがスイッチオフされ、電力ゲート作動がオフであり、等）。第２の減少電力状態（例えば、ＬＰ１、停止電力状態、等）では、常時オンドメインがオンであり、主ドメイン内のアイランドが、特に制約のない限り、柔軟に電力ゲート作動及び／又はクロックゲート作動することができる。例えば、あるアイランドは、付加的な制約を伴って、非電力ゲート作動アイランドと呼称することができ、又、このアイランドは、個々に電力ゲート作動されず、クロックゲート作動することができる。第２の減少電力状態における電力消費は、どのアイランドが電力ゲート作動され及び／又はクロックゲート作動されるかに基づいて変化する。
【００１７】
[00030]図１Ａを参照すれば、各電力ドメインは、１つの実施形態において、外部電力レールに結合される。例えば、電力ドメイン１１０は、電力レール１９１に結合され、又、電力ドメイン１３０は、電力レール１９３に結合される。各電力ドメインに給電する各電力レールは、ターンオフ又は電力ゲート作動することができる。
【００１８】
[00031]又、常時オンドメインは、減少電力状態からの迅速な回復を促進することもできる。一実施形態では、常時オン電力ドメインは、電力変更トリガー事象の指示を受け取るためのコンポーネント、電力変更動作に関連した情報を記憶すると共に、減少電力状態から回復するか又はパワーアップする情報を記憶するためのレジスタを備えている。常時オンドメインにより記憶された回復情報は、減少電力状態からの迅速な回復を促進することができる。１つの実施例では、常時オンドメインは、システム１００内のコンポーネントの動作状態に関連したコンテクスト情報を記憶する。このコンテクスト情報は、選択されたコンポーネント（例えば、内部ＲＯＭ、外部ＲＡＭインターフェイス、等）への電力及び動作を回復し、次いで、これら選択されたコンポーネントを使用して、他のコンポーネントへの電力及び動作を回復することに関連した最小量の情報である。
【００１９】
[00032]図２は、本発明の一実施形態に基づくシステム２００の例示的ブロック図である。このシステム２００は、システム・オン・チップ２０１と、電力管理ユニット２０２と、電源２０３（例えば、電力セル、バッテリ、連続的又は商用電源への接続、等）と、メモリ２０４と、ＵＡＲＴ２０５とを備えている。システム・オン・チップ２０１は、常時オン電力ドメイン２１０と、主電力ドメイン２２０とを備えている。主電力ドメイン２２０は、中央処理（ＣＰＵ）アイランド２２１と、グラフィック処理（ＧＰＵ）アイランド２２２と、ビデオプロセッサアイランド２２４と、非電力ゲート作動アイランド２２３とを備えている。
【００２０】
[00033]システム２００は、種々のコンフィギュレーションで実施できることが明らかである。一実施形態では、ＣＰＵアイランド２２１は、コアプロセッサコンプレックス（例えば、コアプロセッサ、メモリコントローラ、レベル１キャッシュ、バスブリッジコンポーネント、等）を含む。一実施形態では、システム２００は、ビデオエンコーダアイランドも備えている。ビデオプロセッサアイランド２２４は、ビデオエンコーダコンポーネント、映像信号プロセッサ（ＩＳＰ）、ビデオ入力モジュール（ＶＩ）、後処理（ＥＰＰ）、カメラセンサインターフェイス（ＣＳＩ）、等を含むビデオエンコーダアイランドである。グラフィック処理アイランド２２２は、三次元処理アイランドである。二次元処理は、分離させて、別のアイランドに含ませられることが明らかである。１つの実施例では、非電力ゲート作動アイランド２２３は、オーディオビデオプロセッサ、二次元処理コンポーネント、ディスプレイ、内部ランダムアクセスメモリ（ＩＲＡＭ）、ビデオデコーディングエンジン、メモリコントローラ、レベル２キャッシュ、他の周辺機器、等を含むことができる。一実施形態では、非電力ゲート作動アイランドは、主電力ドメイン２２０内の他のアイランドのように独立して電力ゲート作動されないが、主ドメインの主電力ドメイン２２０全体への電力が（例えば、主レール又は電源において）カットオフ又はゲートオフされた場合には、非電力ゲート作動アイランド（ＮＰＧ）も効果的にターンオフされる。というのは、それが主ドメイン２２０に含まれているからである。
【００２１】
[00034]コンポーネント又はシステム２００は、効率的で且つ有効な電力管理制御を実施するように協働する。常時オンコンポーネント２１０は、コンポーネントの電力状態、及び減少電力状態からの迅速な回復の開始に関連した情報を記憶する。電力管理ユニット２０２は、常時オンコンポーネントからの情報に基づいて、減少電力状態からの迅速な回復を指令する。メモリ２０４は、自己リフレッシュモードにおいて完全な迅速回復情報を記憶し、そしてその情報を、減少電力状態からの迅速な回復の開始に応答して、リソース管理モジュールへ転送する。
【００２２】
[00035]一実施形態では、減少電力状態からの迅速な回復のために常時オンドメインに記憶される情報は、ウオームブートフラグ、回復コードに対するポインタ、回復コード確認情報、コンテクストに対するポインタ、コンテクスト確認情報、メモリコントローラコンフィギュレーション、位相固定ループ周波数及び安定化時間、電力管理ユニットの安全電圧及び最悪ケースの遅延を含む。１つの実施例では、コンテクスト情報は、電力減少前の最後の動作状態に対応する状態においてオペレーティングシステムと対話するためのプロセッサ及び周辺レジスタ情報を含む。メモリ２０４は、減少電力状態からの迅速な回復に関連したインストラクションの一部分を記憶するためのＤＲＡＭである。メモリ２０４は、減少電力状態に入る際に自己リフレッシュ状態に入る。一実施形態では、システム２００は、減少電力状態からの迅速な回復に関連したインストラクションの一部分を記憶するためのブートＲＯＭ（図示せず）も備えている。
【００２３】
[00036]図３は、本発明の一実施形態による例示的非電力ゲート作動アイランド３００のブロック図である。非電力ゲート作動アイランド３００は、非電力ゲート作動アイランド２２３と同様である。非電力ゲート作動アイランド３００は、キャッシュメモリ３１０と、メモリコントローラ３２０と、割り込みコントローラ３３０と、周辺コントローラ３４０と、オーディオプレイバック３５０と、ビデオプレイバック３６０と、位相固定ループ３７０と、電圧制御発振器３８０と、周波数乗算器３９０とを備えている。
【００２４】
[00037]図４は、本発明の一実施形態による常時オン電力ドメイン４００の例示的ブロック図である。常時オン電力ドメイン４００は、常時オンドメイン２１０と同様である。常時オンドメイン４００は、リアルタイムクロック（ＲＴＣ）コンポーネント４１０と、回復コントローラ４２０と、電力管理コントローラ（ＰＭＣ）４３０と、記憶レジスタ４４０とを備えている。常時オンドメイン４００のコンポーネントは、電力減少及び迅速な回復を促進するように協働する。リアルタイムクロック４１０は、全電力、及び停止又は減少電力状態の間に連続的なクロック信号を与える。回復コントローラ４２０は、回復開始トリガー事象指示を受け取り、そして減少電力状態からの回復を開始する。１つの実施例では、回復コントローラ４２０は、キーボードとのユーザアクティビティを感知するためのキーボードコントローラ（ＫＢＣ）を備えている。回復コントローラ４２０は、（例えば、周辺装置、通信インターフェイス、ＵＡＲＴ、等から）種々の開始又はトリガー指示を受信できることが明らかである。電力管理コントローラ４３０は、他のコンポーネントオンチップ及びオフチップと対話して、迅速な回復を含む減少電力状態からの回復を指令する。記憶レジスタ４４０は、減少電力状態情報及び迅速回復情報を記憶する。
【００２５】
[00038]図５は、本発明の一実施形態による電力制御方法５００のブロック図である。一実施形態では、電力制御方法は、オペレーティングシステム不可知であり、種々のオペレーティングシステムに適合できる。
【００２６】
[00039]ブロック５１０では、減少電力状態エントリーを指示する条件を検出するための減少電力状態エントリー検出プロセスが実行される。一実施形態では、システムのコンポーネント（周辺機器を含む）のアクティビティ及び／又は予想されるアクティビティが検査される。この検査で、システムが減少電力状態に対応する減少レベルのアクティビティにあることが指示された場合には、プロセスがブロック５２０へ進む。１つの実施例では、減少電力状態のレベルの指示が、アクティビティ及び／又は予想されるアクティビティのレベルに基づいて転送される。一実施形態では、指示された減少電力状態が、迅速な回復に関連付けられる。
【００２７】
[00040]ブロック５２０では、減少電力状態エントリープロセスが実行される。一実施形態では、複数の減少電力状態が存在する。複数の減少電力状態の各々は、異なる電力消費レベルに関連付けることができる。１つの実施例では、異なる減少電力状態が、システム内の異なるコンポーネントの動作及び電力消費を異なる仕方で変更する。減少電力状態エントリープロセスは、ブロック５１０から受け取られる減少電力指示のレベルに基づいて変化することができる。
【００２８】
[00041]ブロック５３０では、回復指示事象を検出するための回復検出プロセスが実行される。一実施形態では、深いスリープの電力減少状態（例えば、ＬＰ０、等）からのウェイクアップ事象は、キーボードコントローラ（ＫＢＣ）により受け取られるキーパッドプレス指示、内部ＲＴＣ事象、通信インターフェイスからのベースバンド割り込み（例えば、ＵＡＲＴ／ＳＰＩ到来コール、等）、ブルーツース割り込み（例えば、ＵＡＲＴ／Ｉ２Ｓ）、ＷＬＡＮ割り込み（例えば、安全なデジタル入力出力ＳＤＩＯ）、ＰＭＵ割り込み（外部ＲＴＣ事象、チャージャープラグイン、等）、ＰＭＵ  ＰＷＲ  ＦＡＩＬ割り込み（例えば、低バッテリ）、ＵＳＢ検出割り込み、メモリカード挿入割り込み（例えば、ＳＤＩＯ）、フリップオープン割り込み（例えば、汎用入力出力ＧＰＩＯ）、及びヘッドセット検出割り込み（例えば、ジャックセンス、ＧＰＩＯ、等）を含む。
【００２９】
[00042]一実施形態では、深いスリープのエントリー事象の伝播は、常時オンドメインにおいて開始される。ウェイクアップ事象は、常時オン（ＡＯ）ドメインに配置された特殊なパッドを使用して検出することができる。これらのパッドは、上述したウェイクアップ事象の幾つかを生じさせる種々のラインに結合される。ＰＭＣのレジスタは、これらラインの状態を記憶し、ソフトウェアがそれを読み取ってウェイクソースを決定することができる。又、ＡＯドメインは、ウェイクアップ事象をマスクするためのレジスタを含むこともできる。ウェイクアップ事象を合成して、ＰＭＵ及びプロセッサコアの両方に対する割り込みを発生することができる。ウェイクアップ事象が発生された後に、ＰＭＵがＭＡＩＮ（主）ドメインをパワーアップする。これは、ＳｏＣにパワーオンリセットを与える。システムは、ＬＰ０モードを出て、ウェイクアップ事象の将来の発生をディスエイブルすることができる。一実施形態では、ウェイクアップ事象は、電力管理コントローラ４３０及び割り込みコントローラ３３０の両方へルーティングされる。システムが完全に機能するときには、ＩＳＲが更なる処理を行う。ＩＳＲは、割り込みがＡＯウェイク事象からのものであることを確認し、適当なＰＭＣレジスタから割り込みの実際のソースを読み取り、そしてそのドライバに対する割り込みサービススレッド（ＩＳＴ）をスケジュールする。
【００３０】
[00043]ブロック５４０では、回復指示事象の検出に基づく迅速な回復プロセスが実行される。回復コンテクストのチェック和の検証が、そのコンテクストデータを使用する前に実行される。これは、このアクティビティを、回復コードが位置するＤＤＲメモリ内の記憶アドレスへの分岐の前に入れる。これは、セキュリティを揺るがす試みにおいて誰かがＤＤＲメモリにクリップしてそのコンテンツを外部から変更するのを防止するために行われる。
【００３１】
[00044]一実施形態では、オーディオビデオプロセッサ回復シーケンスが、ＣＰＵ及びオペレーティングシステムの観点からのオーディオビデオ実行環境及びオーディオビデオ「ドライバ」において取り扱われる。オーディオビデオプロセッサコンテクストは、ＬＰ０状態へ移動する前にセーブすることができる。１つの実施例では、ドライバが再びウェイクアップしたときに、アームブートシナリオにおいてそのコンテクストを回復させる処理を行う。
【００３２】
[00045]一実施形態では、より大きな融通性をもつように、ＰＬＬ及びＰＭＵをプログラムするインストラクション又はソフトウェアコードがＤＤＲメモリに入れられる。これら２つの動作は並列に行うことができ、合計待ち時間が減少される。
【００３３】
[00046]図６は、本発明の一実施形態による減少電力検出プロセス６００のブロック図である。
【００３４】
[00047]ブロック６１０において、システム内の異なる周辺機器の状態が中央リソースマネージャーモジュールにより収集される。一実施形態では、ドライバは、それら自身の電力レベルを監視してリソースマネージャーモジュールへ報告する役目を果たす。
【００３５】
[00048]ある電力減少動作がドライバに割り振られ、各ドライバは、中央リソースマネージャーに登録され、その電力状態に関して中央リソースマネージャーに通知する。リソースマネージャーは、登録されたドライバが減少電力状態を報告したときにシステムのアイドル条件を確認することができる。又、中央リソースマネージャーは、登録されたドライバの少なくとも１つが全電力状態を報告したときにシステムのアクティブ状態を確認することもできる。中央リソースマネージャーは、システム電力状態の変化を検出し、それに応じて、ＣＰＵアイドルループとで共有するメモリ又はレジスタ空間内の電力状態変数を更新することができる。従って、中央リソースマネージャーは、オペレーティングシステム電力マネージャーとは独立して実施することができ、オペレーティングシステム不可知な、電力減少動作の実施を促進することができる。ドライバへの電力減少制御の割り振り及び中央リソースマネージャーとの対話に関する付加的な情報は、以下に述べる。
【００３６】
[00049]ブロック６２０では、中央リソースマネージャーモジュールでチェックすることによりシステムのアイドル条件状態を決定するために、スケジューラーアイドルループが計装される。
【００３７】
[00050]ブロック６３０では、次のオペレーティングシステムチックに対する時間及びシステムのアイドル条件状態に基づいて減少電力状態へのエントリーに関して判断が行われる。
【００３８】
[00051]図７は、本発明の一実施形態による例示的減少電力状態エントリープロセス７００のブロック図である。
【００３９】
[00052]ブロック７１０では、迅速回復の情報が常時オンドメインのレジスタにセーブされる。一実施形態では、迅速回復の情報は、減少電力状態回復指示、システムコンテクスト情報、回復コードアドレス指示、及び回復コード確認情報を含む。１つの実施例では、システムコンテクスト情報は、ＣＰＵ状態情報と、周辺機器状態情報と、減少電力状態からパワーアップした後に整然としたシーケンスで連続動作する状態へシステムを回復することに関連した他のコンポーネント情報とを含む。
【００４０】
[00053]ブロック７２０では、減少電力状態エントリーに関連した回復情報を記憶するためにメモリ記憶エリアが準備される。一実施形態では、外部メモリ（例えば、ＤＲＡＭ、フラッシュ、等）を使用して、回復情報を記憶する。チップがターンオフされる間にシステムコンテクストを保存するために、メモリ（例えば、ＤＲＡＭ、等）を自己リフレッシュモードに入れることができる。
【００４１】
[00054]ブロック７３０では、システム内のコンポーネントの電力状態が減少される。種々の減少電力状態を実施できることが明らかである。一実施形態では、システムは、深いスリープの電力状態及び停止電力状態を含む２つの減少電力状態を有する。深いスリープの電力状態及び停止電力状態は、異なる電力ドメインに異なる仕方で影響を及ぼす。
【００４２】
[00055]深いスリープの電力状態（例えば、ＬＰ０、等）の一実施形態では、主ドメインへの電力が遮断される。１つの実施例では、主ドメインへの電力の遮断は、ＣＰＵアイランド（ＣＰＵ  Ｌ１キャッシュ、オーディオビデオプロセッサ及びその関連キャッシュ、等を含む）、ビデオエンコーダアイランド、グラフィック処理アイランド（例えば、三次元プロセッサ、等）、及び非電力ゲート作動アイランドへの電力を遮断することを含む。又、レベル２キャッシュも同様にパワーダウンすることができる。又、位相固定ループ及び結晶発振子もターンオフすることができる。常時オンドメインは、電力供給されると共に、常時オンドメイン内のコンポーネント（例えば、ＰＭＣ、ＫＢＣ及びＲＴＣ）は、「アクティブ」である。常時オンドメインは、常時オンドメイン内のクロック（例えば、他のシステムクロックに比して比較的低い周波数のクロック）を通して動作することができる。外部メモリは、自己リフレッシュモードに入れることができる。
【００４３】
[00056]停止電力状態（例えば、ＬＰ１、等）の一実施形態では、主ドメインへの電力が遮断されない。ＣＰＵアイランド（例えば、プロセッサコアコンプレックス、等）は、電力ゲート作動される。しかしながら、ＣＰＵ  Ｌ１キャッシュはその状態を保存する。ＣＰＵ  Ｌ２キャッシュは、クロックゲート作動される。別の実施例では、これらキャッシュは、電力減少を増加するために電力ゲート作動することができる。ビデオエンコーダ（ＶＥ）及び三次元（ＴＤ）アイランドは、電力ゲート作動される。幾つかのコンポーネント（例えば、オーディオビデオプロセッサ、等）は、ＨＡＬＴ状態に入れることができる。オーディオビデオプロセッサキャッシュは、ディスエイブルし、クロックゲート作動することができる。外部メモリは、自己リフレッシュモードに入れることができる。割り込みコントローラ及び割り込みコントローラは、オンにすることができる。位相固定ループは、オフにすることができ、又、システムは、結晶発振子の周波数で動作することができる。あるモジュールは、それらのドライバによりプロトコル割り込みでウェイクできるようにクロックイネーブルすることができる。非電力ゲート作動アイランド内の機能的ブロックは、クロックゲート作動することができる。常時オンドメインは、電力供給され、又、常時オンドメイン内のコンポーネント（例えば、ＰＭＣ、ＫＢＣ及びＲＴＣ）は、「アクティブ」である。
【００４４】
[00057]停止スリープ状態（例えば、ＬＰ１）の一実施例では、オーディオビデオプロセッサアイランドがクロックゲート作動され、タスクを実行するようにウェイクアップすることができる。オーディオビデオプロセッサは、（例えば、オーディオビデオプロセッサにおいてタスク、割り込み、等を実行すべきときに）中央処理ユニットによりウェイクアップすることができる。オーディオビデオプロセッサは、ソフトウェア設計の観点から中央プロセッサのスレーブであり、外部の割り込みを処理することが予想されない。
【００４５】
[00058]図１０は、本発明の一実施形態による深いスリープ状態（例えば、ＬＰ０）のための電力遮断又は減少プロセスの例示的アクションのテーブルである。図１１は、本発明の一実施形態による停止電力状態（例えば、ＬＰ１）のための電力遮断又は減少プロセスの例示的アクションのテーブルである。
【００４６】
[00059]図８は、本発明の一実施形態による例示的迅速回復プロセス８００のフローチャートである。一実施形態では、迅速回復プロセスは、オペレーティングシステムが回復遅延により影響を受けないように減少電力状態からの高速回復を促進する。
【００４７】
[00060]ブロック８１０において、迅速回復プロセスで進むべきかどうかの決定がなされる。一実施形態では、迅速回復プロセスで進むべきかどうかの決定は、常時オンドメインにおいて迅速回復指示をチェックし、その迅速回復指示がセットされた場合に迅速回復プロセスで進むことを含む。一実施例では、迅速回復プロセスで進むことは、中央リソースマネージャーモジュールに迅速回復移行を指示することを含む。
【００４８】
[00061]ブロック８２０では、メモリコントローラのレジスタが初期化され、メモリコントローラが、自己リフレッシュから出るように指令される。
【００４９】
[00062]ブロック８３０において、メモリから回復されたシステムコンテクストが、常時オンドメインに記憶されたキーを使用して、確認される。一実施形態では、メモリから受け取られたコンテクスト情報のチェック和と、常時オンレジスタに記憶された情報との比較が行われる。１つの実施例では、メモリから検索された回復コードのチェック和が、常時オンドメインに記憶されたチェック和の値に対して確認される。チェック和又は回復情報及び／又はコードが、（例えば、メモリの崩壊又は外部ハッカーのために）常時オンドメインのレジスタに記憶された値に一致しない場合には、回復を進めることができず、装置は、装置の完全性を保存するためにコールドリセットを実行する。
【００５０】
[00063]ブロック８４０では、メモリの回復インストラクションへのジャンプが行われる。一実施形態では、回復インストラクションへのジャンプは、自己リフレッシュ状態から出た後に外部メモリへ行われる。
【００５１】
[00064]ブロック８５０では、オペレーティングシステム情報が回復され、制御がオペレーティングシステムへ復帰される。一実施形態では、オペレーティングシステム情報の回復は、電力減少の前の最後の動作状態に対応する状態においてオペレーティングシステムと対話するためにプロセッサ及び周辺機器レジスタ情報を回復することを含む。一実施形態では、プロセッサ汎用レジスタ情報、コプロセッサレジスタ情報、及び任意のベクトルフローティングポイントレジスタ情報が回復される。又、回復インストラクションは、回復状態移行を指示する通知をリソースマネージャーモジュールへ向けることができる。
【００５２】
[00065]ブロック８６０では、装置ドライバは、システムが減少電力状態を通して移行したことを検出し、それに対応するドライバレジスタ（例えば、周辺機器レジスタ、等）を回復させる。
【００５３】
[00066]一実施形態では、迅速回復プロセスを使用して、深いスリープの減少電力状態（例えば、ＬＰ０、等）からウェイクアップさせる。ＬＰ０からの退出は、ウェイクアップ事象を検出した後に開始される。減少電力状態ＬＰ０から完全動作状態へ戻るプロセスは、ウォームブート０（ＷＢ０）と称することができる。主ドメインはＬＰ０の間にパワーダウンすることができるので、ウェイクアップ信号は、検出のために常時オンドメインの電力管理ユニットインターフェイス（ＰＭＣ）へリルートすることができる。ウェイクアップ事象が検出された後に、システムの状態は、ＣＰＵ、グラフィック処理及びビデオエンコーディングアイランドが電力ゲート作動され、割り込みコントローラがオンというものである。結晶発振子は、オンであり、プロセッサのクロックソースである。位相固定ループ及びクロックダブラーは、ディスエイブルされる。ＮＰＧアイランドの残り部分は、デフォールトパワーオンリセット状態に基づき、クロックゲート作動されるか又はオンである。外部メモリは、自己リフレッシュモードに入れることができる。
【００５４】
[00067]一実施形態では、迅速回復プロセスを使用して、停止減少電力状態（例えば、ＬＰ１、等）からウェイクアップさせる。ＬＰ１からの退出は、ウェイクアップ事象を検出した後に開始される。減少電力状態ＬＰ１から完全動作状態へ戻るプロセスは、ウォームブート１（ＷＢ１）と称することができる。ＬＰ１からのウェイクアップ事象は、割り込みコントローラがアクティブであるから、「通常」割り込みである。ウェイクアップ事象が検出された後に、システムの状態は、ＣＰＵアイランドが電力供給され、グラフィックアイランド及びビデオエンコーディングアイランドが電力ゲート作動されるというものである。幾つかのプロセッサをホルトにすることができる。割り込みコントローラは、オンである。結晶発振子は、オンであり、プロセッサのためのクロックソースである。位相固定ループ及びダブラーは、ディスエイブルされる。ＮＰＧアイランドの残り部分は、デフォールトパワーオンリセット状態に基づき、クロックゲート作動されるか又はオンである。外部メモリは、自己リフレッシュモードに入れることができる。
【００５５】
[00068]図１２は、本発明の一実施形態により深いスリープ状態（例えば、ＬＰ０）からの回復プロセスの例示的アクションのテーブルである。図１３は、本発明の一実施形態により停止電力状態（例えば、ＬＰ１）からの回復プロセスの例示的アクションのテーブルである。
【００５６】
[00069]一実施形態では、オペレーティングシステムカーネルアイドル状態の間に電力状態変更又は電力減少が実行される。一実施例では、減少電力状態に入る判断が、オペレーティングシステムにより、「ユーザ時間切れ」タイマー、装置ドライバアクティビティ及び予想されるアクティビティの指示に基づいて行われる。一実施形態では、４つの減少電力状態がある。
【００５７】
[00070]第１の減少電力状態に入るのは、「ユーザ時間切れ」が満了にならないか、又は装置ドライバがアクティブであるか、又は予想されるアクティビティの指示が第２の所定のアイドル時間より短い場合である。第１の減少電力状態において、中央プロセッサがホルトにされる。この状態では、フローコントローラは、割り込みが生じたときに中央プロセスをウェイクアップさせる。他の機能的ブロック及び／又は電力アイランドの電力状態は、変更されず、「現在」電力状態に保たれる。一実施例では、「現在」電力状態は、使用パターンにより指図される。オーディオビデオプロセッサは、同様に取り扱われる。位相固定ループは、オンであっても、なくてもよい。システムは、どんなクロックレートでも動作を続けることができる。
【００５８】
[00071]第２の減少電力状態に入るのは、「ユーザ時間切れ」が満了にならないか、又は装置ドライバがアクティブであるか、又は予想されるアクティビティの指示が第２の所定アイドル時間より長いが第１の所定アイドル時間より短い場合である。第２の減少電力状態では、中央プロセッサが電力ゲート作動される。又、第２の電力状態では、フローコントローラは、割り込みが生じたときに中央プロセッサをウェイクアップする。他の機能的ブロック及び／又は電力アイランドの電力状態は、変更されず、「現在」電力状態に保持される。一実施例では、「現在」電力状態は、使用パターンにより指図される。オーディオビデオプロセッサは、同様に取り扱われる。位相固定ループは、オンであっても、なくてもよい。システムは、どんなクロックレートでも動作を続けることができる。一実施例では、全電力状態又は完全オンモードへの移行又はウェイクアップが第２の電力状態から最も遠い。
【００５９】
[00072]第３及び第４の電力状態は、各々、停止スリープ（例えば、ＬＰ１）及び深いスリープ状態（例えば、ＬＰ０）に対応する。第３の減少電力状態に入るのは、「ユーザ時間切れ」が満了となり、且つ装置ドライバがアクティブでないか、又は予想されるアクティビティの指示が第１の所定のアイドル時間より長いが第３の所定のアイドル時間より短い場合である。第４の減少電力状態に入るのは、「ユーザ時間切れ」が満了となり、且つ装置ドライバがアクティブでないか、又は予想されるアクティビティの指示が第３の所定のアイドル時間より長い場合である。
【００６０】
[00073]一実施形態では、電力減少動作が割り振られる。一実施例では、装置ドライバは、電力管理に能動的に参加する。例えば、装置ドライバは、関連コンポーネントのアクティビティを能動的に監視し、そしてそれらが必要でないか又は使用されないときにそれらをディスエイブルする（例えば、それらのオンチップコントローラ、外部インターフェイス、等をディスエイブルする）か、又はクロックをゲート遮断することができる。又、装置ドライバは、それらが必要であるか又は使用されるときに、それらをイネーブルする（例えば、それらのオンチップコントローラ、外部インターフェイス、等をイネーブルする）か、又はクロックをイネーブルすることができる。一実施形態では、装置ドライバは、関連コンポーネントの電力消費を管理する上で積極的である。一実施形態では、装置ドライバは、それらのオンチップコントローラをディスエイブルすることができる。
【００６１】
[00074]一実施形態では、対応コンポーネント電力消費を制御することのできる装置ドライバが検出される。対応コンポーネント電力消費を制御することのできる装置ドライバは、オペレーティングシステムの電力マネージャーコマンドに従ってターンオンしない。例えば、ＵＳＢポートドライバは、コンポーネントが挿入又は除去されるときを検出することができ、不要時にＵＳＢインターフェイスをイネーブルする必要はない。同様に、メモリカードドライバは、カードがソケットに挿入されるとき及び除去されるときを検出することができる。対応コンポーネント電力消費を制御できない装置ドライバは、オペレーティングシステム電力マネージャー及び／又は電力システムマネージャーコマンドに基づいてターンオン又はオフする（例えば、電力マネージャー時間切れ事象、等）。
【００６２】
[00075]一実施形態では、ドライバは、非電力ゲート作動アイランド、ビデオエンコーダ及び三次元機能的ブロック、並びにオーディオビデオプロセッサ実行環境において、シム(shim)層、装置ドライバ又はドライバ開発キット及びリソースマネージャーモジュールコンポーネントを含む。オーディオビデオ実行環境は、その状態を追跡する中央プロセッサで実行されるオーディオビデオプロセッサドライバにより表わすことができる。ドライバは、リソースマネージャーと対話して、それらの現在状態（例えば、それらがアクティブであるか、停止されているか、等）を記憶することができる。減少電力状態に入る前に、ドライバは、それらのコンテクスト情報を、必要に応じて記憶する。
【００６３】
[00076]一実施形態において、ＮＰＧアイランドにおけるＡＶＰ、ＶＥ、ＴＤ及び他のブロックの状態を制御する責任は、個々の装置ドライバにある。ＶＥ及びＴＤ電力アイランドを制御することは、中央リソースマネージャーによって行われてもよいことに注意されたい。というのは、これらのリソースは、共有することができ、且つ個々のドライバが他のユーザについて知らなくてもよいからである。オーディオビデオプロセッサの状態を管理する責任は、そのプロセッサの実行環境にある。一実施例では、それがカーネルアイドルモードと同等であることを検出し、それ自身を単にＨＡＬＴ状態に入れるメカニズムをもたせることができる。オーディオビデオプロセッサの場合に、「停止(suspended)」状態に入り込むことは、全てのレジスタを記憶し、キャッシュをフラッシュすることを意味する。コンテクストをいつ、どのように記憶するかは、オーディオビデオプロセッサの実行環境によって取り扱われる。オーディオビデオプロセッサは、オーディオビデオプロセッサについて何のタスクもスケジュールされていない場合にはＨＡＬＴモードに入る前にそれを行うことができる。或いは又、ＬＰ０モードに入り込むときには、ＣＰＵが、そのコンテクストを記憶するためのメッセージをＡＶＰに送信することができる。ウェイクアップ事象が受け取られると、製品ブートコードが適当な機能を使用して、ドライバコンテクストを回復する。
【００６４】
[00077]一実施形態では、オペレーティングシステムのアイドル機能には、コンポーネント、ＡＶＰ及びハードウェア加速度計の状態が共有メモリエリアを通して通知される。一実施例では、これは、リソースマネージャーを通して行われる。
【００６５】
[00078]図９は、本発明の一実施形態による電力制御方法９００のブロック図である。一実施形態では、この電力制御方法９００は、電力状態インジケータをセットし、そしてこの電力状態インジケータを使用して、減少電力状態エントリー及び適当な回復プロセスを決定する。一実施例では、電力状態インジケータは、システムが全電力状態にあるか、又は迅速回復全電力状態モードであるかを指示する。
【００６６】
[00079]ブロック９１０では、電力状態インジケータが、アイドル値にセットされる。一実施形態では、電力状態インジケータは、中央電力マネージャーによってセットされたアイドル値にセットされる。
【００６７】
[00080]ブロック９２０では、アイドル値に関連したアイドル状態と、電力クライアント要求に基づくアクティブな状態との間で交番する。一実施形態では、電力状態の交番は、中央電力マネージャーにより実行される。
【００６８】
[00081]ブロック９３０では、電力状態インジケータに基づき減少電力状態に入るのが安全であるかどうかの判断がなされる。一実施形態では、この決定は、ＣＰＵアイドルループにより実行される。
【００６９】
[00082]ブロック９４０では、電力状態インジケータの値が、減少電力状態へのエントリーに基づいて変化される。一実施形態では、減少電力状態へのエントリーの際に、減少電力状態に対応するように電力状態インジケータを変化させる。一実施形態では、電力状態インジケータの値の変化は、ＣＰＵアイドルループにより実行される。
【００７０】
[00083]ブロック９５０では、減少電力状態から退出する。一実施形態では、減少電力状態から退出するときに、アクティブな電力状態がセットされ、ウェイク事象信号が他の登録された電力クライアントへ転送される。一実施例では、アクティブな状態が、ここでも、中央電力マネージャーによりセットされる。
【００７１】
[00084]従って、本発明は、プロセッサ性能及び電力保存の向上を促進する。減少電力状態からの迅速な回復が可能となり、オペレーティングシステム不可知である。最小電力消費の常時オンドメインは、迅速な回復を促進する一方、種々のレベルの粒度及び電力保存で他のドメイン及び／又はアイランドの電力状態を変更する上で、便宜性及び効率的な融通性を許す。又、電力減少動作を、システムのコンポーネントとの更に多くの効率的な対話に対して割り振ることもできる。
【００７２】
[00085]本発明の特定の実施形態の以上の説明は、例示のためのものである。それらは、余す所のないものでもなく、又は、本発明を、ここに開示する正確な形態に限定するものでもなく、明らかに、前記教示に鑑み、多数の変更や修正が考えられる。前記実施形態は、本発明の原理及びその実際の応用を最良に説明するために選択されて述べられたものであり、従って、当業者であれば、本発明及び種々の実施形態を、意図される特定の用途に適するように種々の変更を加えて、最良に利用することができよう。本発明の範囲は、特許請求の範囲及びその等効物により限定されることが意図される。方法の請求項におけるステップの列挙は、特に指示のない限り、それらステップを実行する特定の順序を意味するものでない。
【符号の説明】
【００７３】
１００・・・システム、１０１・・・システム・オン・チップ（ＳｏＣ）、１１０・・・電力ドメイン、１１１・・・電力アイランド、１１２・・・機能的ブロック、１２０・・・電力ドメイン、１２１・・・電力アイランド、１２２・・・機能的ブロック、１２３・・・電力アイランド、１２４・・・機能的ブロック、１３０・・・電力ドメイン、１３１・・・電力アイランド、１３２・・・機能的ブロック、１３３・・・電力アイランド、１３４・・・機能的ブロック、１３５・・・電力アイランド、１３７・・・機能的ブロック、１３８・・・機能的ブロック、１３９・・・機能的ブロック、１４０・・・周辺機器、１９０・・・外部電源、２０２・・・電力管理ユニット、２０３・・・電力セル、２０４・・・メモリ、２０５・・・ＵＡＲＴ、２１０・・・常時オンドメイン、２２０・・・主ドメイン、２２１・・・ＣＰＵ、２２２・・・ＧＰＵ、２２３・・・非電力ゲート機能、２２４・・・ビデオプロセッサ、３００・・・非電力ゲート機能、３１０・・・キャッシュメモリ、３２０・・・メモリコントローラ、３３０・・・割り込みコントローラ３３０、３４０・・・周辺コントローラ、３５０・・・オーディオプレイバック、３６０・・・ビデオプレイバック３６０、３７０・・・ＰＬＬ、３８０・・・ＶＣＯ、３９０・・・周波数乗算器、４００・・・常時オンドメイン、４１０・・・リアルタイムクロック、４２０・・・回復コントローラ、４３０・・・電力管理コントローラ、４４０・・・記憶レジスタ
【図１Ａ】
0005410109.tif 000002
【図１Ｂ】
0005410109.tif 000003
【図２】
0005410109.tif 000004
【図３】
0005410109.tif 000005
【図４】
0005410109.tif 000006
【図５】
0005410109.tif 000007
【図６】
0005410109.tif 000008
【図７】
0005410109.tif 000009
【図８】
0005410109.tif 000010
【図９】
0005410109.tif 000011
【図１０】
0005410109.tif 000012
【図１１】
0005410109.tif 000013
【図１２】
0005410109.tif 000014
【図１３】
0005410109.tif 000015