(57)【要約】  一つの実施例において、本装置は、多数のプロセッサコンポーネントと、多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントに対して通信可能に接続された一つまたはそれ以上のデバイスコンポーネントと、少なくとも一部がハードウェアであるロジックを含むコントローラとを含んでいる。ロジックは、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、一つの強制アイドル期間は、一つまたはそれ以上の多数のプロセッサコンポーネントおよび一つまたはそれ以上のデバイスコンポーネントが、同時にアイドル状態に置かれている最中のデュレーションにわたるものである。アイドル状態は、強制アドレス期間の分離されたサブ期間の最中の強制アイドル電力状態を定める。
2016520933.tif 000002
【特許請求の範囲】
【請求項１】
電力管理のための装置であって、
多数のプロセッサコンポーネントと、
前記多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントに対して通信可能に接続された一つまたはそれ以上のデバイスコンポーネントと、
少なくとも一部がハードウェアであるロジックを含むコントローラと、を含み、
前記ロジックは、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、
一つの強制アイドル期間は、前記多数のプロセッサコンポーネントのうち一つまたはそれ以上および一つまたはそれ以上のデバイスコンポーネントが、同時にアイドル状態に置かれている最中のデュレーションにわたるものであり、
前記アイドル状態は、前記強制アイドル期間の分離されたサブ期間の最中の強制アイドル電力状態を定める、
装置。
【請求項２】
前記ロジックは、前記一つまたはそれ以上の強制アイドル期間の最中に、前記強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールし、
前記電力状態の最中は、前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである、
請求項１に記載の装置。
【請求項３】
前記一つまたはそれ以上の浅いアクティブ期間は、前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つのバッファ容量により定められるインターバルによって配置された複数の浅いアクティブ期間を含む、
請求項２に記載の装置。
【請求項４】
前記ロジックは、強制アイドル期間の中で浅いアクティブ期間の間におけるサイクル化に対する多数のネストレベルを設定し、
一つのネストレベルは、別のネストレベルのものと異なるネスト期間を有している、
請求項２に記載の装置。
【請求項５】
前記多数のプロセッサコンポーネントは、グラフィクス処理ユニットを含み、
前記ロジックは、一つまたはそれ以上の強制アイドル期間を、前記グラフィクス処理ユニットのためのグラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように整列させる、
請求項１に記載の装置。
【請求項６】
前記ロジックは、一つまたはそれ以上の強制アイドル期間のうち一つの強制アイドル期間の中に一つまたはそれ以上の強制アイドルサブ期間を生成し、
前記強制アイドル期間は、プロセッサコア、グラフィクス処理ユニット、および一つまたはそれ以上のデバイスコンポーネントが非アクティブである期間に対応している、
請求項５に記載の装置。
【請求項７】
前記ロジックは、一つまたはそれ以上のグラフィクスアイドル期間の中に一つまたはそれ以上の深い強制アイドルサブ期間、および、一つのアクティブ期間の中に一つまたはそれ以上の浅い強制アイドルサブ期間をスケジュールし、
前記一つまたはそれ以上の深い強制アイドルサブ期間における深いグラフィクス電力状態は、前記一つまたはそれ以上の浅い強制アイドルサブ期間における浅いグラフィクス電力状態よりも低い、
請求項５に記載の装置。
【請求項８】
前記一つまたはそれ以上のプロセッサコンポーネントのうち少なくとも一つ、および、前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つは、単一の半導体ダイを含むシステムオンチップ上に配置されている、
請求項１に記載の装置。
【請求項９】
インストラクションを含むコンピュータプログラムであって、前記インストラクションが実行されるとコントローラは、
プラットフォームに対して、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、かつ、
前記プラットフォームの多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントを同時にアイドル状態に置き、かつ、前記強制アイドル期間の分離されたサブ期間の最中に前記プラットフォームの一つまたはそれ以上のデバイスコンポーネントをアイドル状態に置く、
コンピュータプログラム。
【請求項１０】
前記インストラクションが実行されるとコントローラは、
前記一つまたはそれ以上の強制アイドル期間の最中に、強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールし、
前記電力状態の最中は、前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである、
請求項９に記載のコンピュータプログラム。
【請求項１１】
前記インストラクションが実行されるとコントローラは、
強制アイドル期間の中で浅いアクティブ期間の間におけるサイクル化に対する多数のネストレベルを設定し、
一つのネストレベルは、別のネストレベルのものと異なるネスト期間を有している、
請求項９に記載のコンピュータプログラム。
【請求項１２】
前記インストラクションが実行されるとコントローラは、
一つまたはそれ以上の強制アイドル期間を、グラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように整列させる、
請求項９に記載のコンピュータプログラム。
【請求項１３】
電力管理のための装置であって、
多数のプロセッサコンポーネントと、
前記多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントに対して通信可能に接続された一つまたはそれ以上のデバイスコンポーネントと、
少なくとも一部がハードウェアであるロジックを含むプロセッサと、を含み、
前記ロジックは、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、
一つの強制アイドル期間は、前記多数のプロセッサコンポーネントのうち一つまたはそれ以上および前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つが、同時にアイドル状態に置かれている最中のデュレーションにわたるものであり、
前記アイドル状態は、前記強制アイドル期間の分離されたサブ期間の最中の強制アイドル電力状態を定める、
装置。
【請求項１４】
前記ロジックは、前記一つまたはそれ以上の強制アイドル期間の最中に、前記強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールし、
前記電力状態の最中は、前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである、
請求項１３に記載の装置。
【請求項１５】
前記ロジックは、強制アイドル期間の中で浅いアクティブ期間の間におけるサイクル化に対する多数のネストレベルを設定し、
一つのネストレベルは、別のネストレベルのものと異なるネスト期間を有している、
請求項１３に記載の装置。
【請求項１６】
前記多数のプロセッサコンポーネントは、グラフィクス処理ユニットを含み、
前記ロジックは、一つまたはそれ以上の強制アイドル期間を、前記グラフィクス処理ユニットのためのグラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように整列させる、
請求項１３に記載の装置。
【請求項１７】
前記ロジックは、一つまたはそれ以上の強制アイドル期間のうち一つの強制アイドル期間の中に一つまたはそれ以上の強制アイドルサブ期間を生成し、
前記強制アイドル期間は、プロセッサコア、グラフィクス処理ユニット、および一つまたはそれ以上のデバイスコンポーネントが非アクティブである期間に対応している、
請求項１６に記載の装置。
【請求項１８】
前記ロジックは、一つまたはそれ以上のグラフィクスアイドル期間の中に一つまたはそれ以上の深い強制アイドルサブ期間、および、一つのアクティブ期間の中に一つまたはそれ以上の浅い強制アイドルサブ期間をスケジュールし、
前記一つまたはそれ以上の深い強制アイドルサブ期間における深いグラフィクス電力状態は、前記一つまたはそれ以上の浅い強制アイドルサブ期間における浅いグラフィクス電力状態よりも低い、
請求項１６に記載の装置。
【請求項１９】
前記一つまたはそれ以上のプロセッサコンポーネントのうち少なくとも一つ、および、前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つは、単一の半導体ダイを含むシステムオンチップ上に配置されている、
請求項１３に記載の装置。
【請求項２０】
インストラクションを含むコンピュータプログラムであって、前記インストラクションが実行されるとプロセッサは、
プラットフォームに対して、一つまたはそれ以上のアクティブ期間それぞれの間に散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、かつ、
前記プラットフォームの多数のプロセッサコンポーネントのうち一つまたはそれ以上を同時にアイドル状態に置き、かつ、前記強制アイドル期間の分離されたサブ期間の最中に前記プラットフォームの一つまたはそれ以上のデバイスコンポーネントをそれぞれアイドル状態に置く、
コンピュータプログラム。
【請求項２１】
前記インストラクションが実行されるとプロセッサは、
前記一つまたはそれ以上の強制アイドル期間の最中に、強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールし、
前記電力状態の最中は、前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである、
請求項２０に記載のコンピュータプログラム。
【請求項２２】
前記インストラクションが実行されるとプロセッサは、
強制アイドル期間の中で浅いアクティブ期間の間におけるサイクル化に対する多数のネストレベルを設定し、
一つのネストレベルは、別のネストレベルのものと異なるネスト期間を有している、
請求項２０に記載のコンピュータプログラム。
【請求項２３】
前記インストラクションが実行されるとプロセッサは、
一つまたはそれ以上の強制アイドル期間を、グラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように整列させる、
請求項２０に記載のコンピュータプログラム。
【請求項２４】
電力管理のためのシステムであって、
多数のプロセッサコンポーネントと、
前記多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントに対して通信可能に接続された一つまたはそれ以上のデバイスコンポーネントと、
前記多数のプロセッサコンポーネントに接続されたコントローラとプロセッサと、
少なくとも一部がハードウェアであるロジックを含む前記コントローラ及び/又は前記プロセッサと、を含み、
前記ロジックは、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、
一つの強制アイドル期間は、前記多数のプロセッサコンポーネントのうち一つまたはそれ以上および前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つが、同時にアイドル状態に置かれている最中のデュレーションにわたるものであり、
前記アイドル状態は、前記強制アイドル期間の分離されたサブ期間の最中の強制アイドル電力状態を定める、
システム。
【請求項２５】
前記ロジックは、前記一つまたはそれ以上の強制アイドル期間の最中に、前記強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールし、
前記電力状態の最中は、前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである、
請求項２４に記載のシステム。
【請求項２６】
前記多数のプロセッサコンポーネントは、グラフィクス処理ユニットを含み、
前記ロジックは、一つまたはそれ以上の強制アイドル期間を、前記グラフィクス処理ユニットのためのグラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように整列させる、
請求項２４に記載のシステム。
【請求項２７】
前記ロジックは、一つまたはそれ以上のグラフィクスアイドル期間の中に一つまたはそれ以上の深い強制アイドルサブ期間、および、一つのアクティブ期間の中に一つまたはそれ以上の浅い強制アイドルサブ期間をスケジュールし、
前記一つまたはそれ以上の深い強制アイドルサブ期間における深いグラフィクス電力状態は、前記一つまたはそれ以上の浅い強制アイドルサブ期間における浅いグラフィクス電力状態よりも低い、
請求項２６に記載のシステム。
【請求項２８】
前記一つまたはそれ以上のプロセッサコンポーネントのうち少なくとも一つ、および、前記一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つは、単一の半導体ダイを含むシステムオンチップ上に配置されている、
請求項２４に記載のシステム。
【請求項２９】
請求項９乃至１２および請求項２０乃至２３のうちいずれか一項に記載のコンピュータプログラムを記憶したコンピュータ読取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
ここにおいて説明される本発明の実施例は、一般的には、集積回路デバイスにおける消費電力管理に関する。より特定的には、複数の異なるプロセッサコンポーネント及び/又はデバイス間におけるデバイスアクティビティのコントロールに関する。
【背景技術】
【０００２】
昨今、コンピューティングおよび通信デバイスプラットフォームに係る多くの異なるデバイスコンポーネントが、しばしば一つのプリント回路基板上に、パッケージに、もしくは、単一の半導体ダイ（ｄｉｅ）にさえ、配置されている。後者は、しばしばシステムオンチップ（ＳｏＣ）として参照されるものである。ＳｏＣチップ上に存在し得るデバイスコンポーネントは、ほんの数コンポーネントを挙げると、例えば、汎用プロセッサコア、グラフィクス処理ユニット、メモリコントローラ、ディスプレイエンジン、キャッシュ、を含んでいる。消費電力管理ユニットといった他のコンポーネントは、一つのＳｏＣチップまたは別のダイ上に配置され得る。いくつかのＳｏＣアーキテクチャの効率的なオペレーションに伴う問題が、最適に効率的なパフォーマンスを達成するためにそれぞれのサブシステムにわたりアクティビティを管理することから生じる。周辺領域（ｐｅｒｉｐｈｅｒａｌ  ｒｅｇｉｏｎ）がアクティブになり、かつ、ダイレクトアクセス、インタラプト、または他の信号といったイベントを生成するときはいつも、プロセッサコア、グラフィクス処理ユニットを含む他のコンポーネントは、プロセッサコア機能が要求されないにもかかわらず、過剰な電力を消費する比較的に高電力状態に居ることを強いられ得る。このことは、多くのタイプまたはワークロードの下、そして、特にはセミアクティブワークロードの下での、効率的なオペレーションに対する障害となり得るものである。
【０００３】
従って、これら及び他の問題を解決するための改善された技術と装置に対するニーズが存在し得る。
【図面の簡単な説明】
【０００４】
【図１】図１は、一つの典型的なシステムのブロックダイアグラムを示している。
【図２】図２は、デューティサイクルの第１実施例に係るオペレーションを示している。
【図３】図３は、デューティサイクルの第２実施例に係るオペレーションを示している。
【図４】図４は、デューティサイクルの第３実施例に係るオペレーションを示している。
【図５Ａ】図５Ａは、デューティサイクルの第４実施例に係るオペレーションを示している。
【図５Ｂ】図５Ｂは、デューティサイクルの第５実施例に係るオペレーションを示している。
【図５Ｃ】図５Ｃは、デューティサイクルの第６実施例に係るオペレーションを示している。
【図６】図６は、典型的な第１ロジックフローを表している。
【図７】図７は、典型的な第２ロジックフローを表している。
【図８】図８は、典型的な第３ロジックフローを表している。
【図９】図９は、典型的なシステムの実施例に係るダイヤグラムである。
【発明を実施するための形態】
【０００５】
種々の実施例が、マルチコンポーネントプラットフォームにおけるアクティビティを調整することに向けられている。マルチコンポーネントプラットフォームは、コンピューティングデバイス、通信デバイス、ハイブリッド通信／コンピューティングデバイス、コントローラデバイス、または他のハードウェアの一部分を形成し得る。本実施例のマルチコンポーネントプラットフォームは、複数の電子的な処理コンポーネントを含んでいる。グラフィクス処理ユニット（ＧＰＵ）および汎用プロセッサといったものであり、ここにおいては「ＣＰＵ」として参照され得る。汎用プロセッサは、一つまたはそれ以上のプロセッサコア、もしくは「ＣＰＵコア」を含み得る。マルチコンポーネントプラットフォームは、種々の追加的なコンポーネントを含む。ＣＰＵに対してローカルなキャッシュ、システムクロック、入力／出力（Ｉ／Ｏ）デバイス、ディスプレイエンジン、メモリコントローラ、Ｉ／Ｏコンポーネント、デジタル信号プロセッサ、ディスクドライブ、ラジオ周波数通信回路、デジタルカメラ機器または他のセンサデバイス、アンテナを含む通信インターフェイス、ユニバーサルシリアルバス（ＵＳＢ）インターフェイス、および、消費電力コントロールユニット（消費電力管理ユニット）、などを含み得る。実施例は、このコンテクストに限定されるものではない。
【０００６】
本実施例と一貫した、方法および装置が、コンポーネントのデューティサイクル化を実行するために提供される。プラットフォームに係る複数の異なるコンポーネント間におけるアクティビティを調整するためのものである。ここにおいて使用されるような用語「デューティサイクル化（”ｄｕｔｙ  ｃｙｃｌｉｎｇ”）」は、プラットフォームに係る複数の異なるコンポーネント間におけるアイドル期間（ｉｄｌｅ  ｐｅｒｉｏｄ）の連続に係る強制された又はスケジュールされた整列（ａｌｉｇｎｍｅｎｔ）を一般的には参照している。デューティサイクル化は、さらに、複数のコンポーネントプラットフォーム間におけるアクティブ期間の強制された整列を必要とし得る。デューティサイクル化は、従って、強制アイドル期間とアクティブ期間との間におけるサイクル化を必要とする。特に、本実施例は、強制アイドル期間を定めるために効果的である。その期間の最中に、マルチプルプラットフォームコンポーネントは、強制アイドル状態を定めるアイドルまたは低電力状態に同時に置かれる。種々の実施例においては、以下に詳しく述べるように、マルチコンポーネントシステムに係る異なるコンポーネントの異なる要求に適応するために、ハイブリッドまたはネストされた（ｎｅｓｔｅｄ）デューティサイクルが実行される。そこでは、強制アイドル期間の中により小さな期間（ここにおいては「サブ期間（”ｓｕｂ−ｐｅｒｉｏｄ”）」として代替的に参照され得るもの）がスケジュールされる。
【０００７】
図１は、本実施例と一貫性のあるプラットフォームまたはシステム１００のブロックダイアグラムを示している。システム１００は、一般的なコンピューティングおよびグラフィクス処理機能を少なくとも実行するように一般的には向けられている。しかしながら、種々の実施例において、システム１００といったシステムは、図１において示されるものに加えて従来的なコンポーネントを含んでよい。そして、無線通信を行うこと、電子的な画像化を実行すること、および他の機能といった、追加の機能を実行してよい。
【０００８】
図示されるように、システム１００は、一式のコンポーネント１０２を含んでいる。いくつかの実施例において、一式のコンポーネント１０２は、単一の半導体ダイ（チップ）上に配置されてよく、いわゆるシステムオンチップを形成している。しかしながら、他の実施例においては、一式のコンポーネント１０２の個々のコンポーネントが、複数の異なるチップ間において分散配置されてよく、または、異なる物理的システムにわたり分散配置されて、有線又は無線ネットワークもしくは他の通信媒体を通じて接続されてよい。図１に係る所定の実施例において、システム１００は、ＣＰＵコア１０４、グラフィクス処理ユニット（ＧＰＵ）１０６、キャッシュ１０８、Ｉ／Ｏコントローラ１１０、メモリコントローラ１１２、消費電力コントロールユニット１１４、ディスプレイエンジン１１６、Ｉ／Ｏデバイス１１８、メモリ１２０、およびセンサ１２２、を含んでいる。種々の実施例において、ＣＰＵコア１０４は、一つまたはそれ以上のＣＰＵコアを含んでよい。
【０００９】
システム１００は、所望のパフォーマンスを不当に犠牲にすることなく、システム１００の種々のコンポーネントの間におけるアクティビティを調整するためのより効率的で効果的な消費電力管理スキームを提供し得る。特に、システム１００は、低プラットフォーム（ｌｏｗ  ｐｌａｔｆｏｒｍ）電力消費のメンテナンスを促進するためのデューティサイクルコントロールコンポーネントを含んでいる。ＣＰＵコア１０４、ＧＰＵ１０６、およびシステム１００の他のコンポーネント、を含むシステム１００の種々のコンポーネントに係るアイドル期間を整列させることによるものである。このことは、従来のプラットフォームオペレーションに関する問題の回避を手助けする。従来は、ＣＰＵまたはＧＰＵの処理能力を必要としないプラットフォームコンポーネントにおける小さなレベルのアクティビティでさえ、そうしたデバイスによる過剰な電力消費を生じさせ得る。ＣＰＵコア１０４、ＧＰＵ１０６、およびシステム１００の他のコンポーネントのアイドル期間の整列によって、全てがアクティブな場合のシステム１００のパフォーマンス能力に影響を与えることなく、プラットフォーム全体の電力消費が削減され得る。
【００１０】
本実施例に調和し、かつ、後続の図面に関して詳細に示されるように、デューティサイクルコントロールコンポーネント１２４は、システム１００の複数のコンポーネントにわたりアクティビティを強制的に整列またはスケジュールすることによって、プラットフォーム１００に対する一つまたはそれ以上の新たな軽量（ｌｉｇｈｔｗｅｉｇｈｔ）電力状態を定める。このことは、今日のコンピューティングプラットフォームにおいて定められている従来のコンポーネントレベルの電力状態と比較して、システム１００についてアクセス可能な電力レベルのより広いダイナミックレンジを生成する。
【００１１】
デューティサイクルコントロールコンポーネント１２４は、種々のハードウェアエレメント、ソフトウェアエレメント、または両方の組合せを含み得る。ハードウェアエレメントの実施例は、デバイス、コンポーネント、プログラム、マイクロプロセッサ、回路、回路エレメント（例えば、トランジスタ、抵抗、キャパシタ、インダクタ、等）、集積回路、特定アプリケーション集積回路（ＡＳＩＣ）、プログラム可能ロジックデバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、メモリユニット、ロジックゲートウェイ、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット、等を含み得る。ソフトウェアエレメントの実施例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインターフェイス、アプリケーションプログラムインターフェイス（ＡＰＩ）、インストラクションセット、コンピューティングコード、コードセグメント、コンピュータコードセグメント、ワード、バリュー、シンボル、または、これらのあらゆる組合せ、を含み得る。実施例がハードウェアエレメント及び/又はソフトウェアエレメントを使用して実施されるか否かの判断は、あらゆる要因に応じて変化し得る。要因は、所望の計算速度、電力レベル、熱許容性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度、および、他のデザイン又はパフォーマンスの制限、といったものである。所与の実施に対して望まれるようにである。
【００１２】
所定の実施例において、デューティサイクルコントロールコンポーネント１２４は、ロジックを含んでおり、少なくともその一部は、ハードウェアにおけるものであり、コントローラまたはプロセッサの中に含まれる。例えば、ロジックは、システム１００の他のコンポーネントに対してリンクされたプロセッサ回路の中に含まれてよい。一つの所定の実施例において、ロジックは、ＣＰＵコア１０４といったプロセッサの部分を形成し、かつ、システム１００の他のコンポーネントに対して通信可能にリンクされている。他の実施例において、デューティサイクルコントロールコンポーネント１２４のロジックは、消費電力コントロールユニット１１４といったコントローラの中に配置され得る。さらなる実施例において、デューティサイクルコントロールコンポーネントは、キャッシュ及び/又はメモリコンポーネントを含む複数のプラットフォームコンポーネントにわたり配置され得る。オペレーションにおいて、デューティサイクルコントロールコンポーネント１２４は、システム１００のオペレーションに対して適切なときにデューティサイクル化を引き起こし得る。いくつかの実施例において、デューティサイクル化は、システム１００に対するオペレーションのデフォルトモードとして確立され得る。所定の実施例において、デューティサイクルコントロールコンポーネント１２４は、独立または一斉のいずれかでシステム１００の異なるコンポーネント上で強制アイドル状態を実行し得る。そして、他のものと分離してシステムコンポーネントの部分を循環する（ｃｙｃｌｅ）やり方でデューティサイクル化を実行し得る。加えて、デューティサイクルコントロールコンポーネント１２４は、システム１００の異なるコンポーネントに対する要求に適応するために複数の異なるレベルのデューティサイクル化を生成し得る。
【００１３】
所定の実施例においては、上述のように、デューティサイクルコントロールコンポーネント１２４が、ネストされた又はハイブリッドのデューティサイクル化を開始する。そこでは、アクティビティが整列された数多くのコンポーネントが、異なる期間の間で変動する。このことは、全てのコンポーネント間またはシステム１００の所定のコンポーネント間でのアクティビティの同時整列が可能でない又は望ましくない状況を処理するために特に役に立つものである。例えば、ＣＰＵコア１０４、ＧＰＵ１０６、およびＩ／Ｏデバイス１１８のアイドル期間の強制された整列は、所与のＩ／Ｏデバイス、例えば、所与の制限されたバッファリング能力に対する制限されたアイドルデュレーション（ｉｄｌｅ  ｄｕｒａｔｉｏｎ）によって妥協して解決され得る。
【００１４】
図２は、本実施例と調和したデューティサイクル化の一例の詳細を示している。図２においては、アイドル期間を伴って散在された一連のアクティブ期間を含むデューティサイクル構成２００が示されている。グローバルデューティサイクル２０２、２０４といった隣接するアイドル期間が後に続くアクティブ期間によって、単一のグローバルサイクル化インターバルまたはグローバルデューティサイクルが定められ得る。本実施例において、アクティブ期間２０６、２１０、２１４は、同一または類似のデュレーション（ｄｕｒａｔｉｏｎ）を含んでよく、または、デュレーションが、アクティブ期間の間で変動してよい。アクティブ期間の最中に、プロセッサコア１０４、ＧＰＵ１０６，およびシステム１００の他のコンポーネントは、比較的により高い状態においてオペレーションされ得る。例えば、一式のＰ（またはＰＣ）状態は、最高パフォーマンス状態（Ｐ０またはＰＣ０）を含むパワーパフォーマンス（ｐｏｗｅｒ−ｐｅｒｆｏｒｍａｎｃｅ）状態に対応してよい。アイドル期間の最中に、ここにおいては強制アイドル期間２０８、２１２等として参照されるものは、プロセッサコア１０４、ＧＰＵ１０６，およびシステム１００の他のコンポーネントを含む複数のターゲットシステムコンポーネントが整列され、それぞれのターゲットシステムコンポーネントが、強制アイドル期間の少なくとも一部分に対して他のターゲットシステムと同時にアイドル状態に置かれる。図２の実施例において、強制アイドル期間２０８は、強制アイドル期間２１２とは長さが異なっているが、他の実施例においては、強制アイドル期間は同一または類似のデュレーションを有し得る。
【００１５】
図２においてさらに示されるように、それぞれのアイドル強制期間は、一つまたはそれ以上のアクティブサブ期間２１６を伴って散在されたアイドルサブ期間２１８から成っている。アイドルサブ期間２１８は、一つまたはそれ以上のプロセッサコア１０４が低電力状態においてオペレーションされ得るいわゆるアイドル状態に対応し得る。Ｃ状態（またはＰＣ状態）といったものであり、ＰＣ０状態と比較して。より低いプロセッサのクロック周波数、より低い電圧、等を反映し得るものである。例えば、コアＣ状態のファミリーは、ハードウェア状態を表してよく、かつ、一式のコアに対して適用され得る数個の異なるコアアイドルじ状態を含み得る。同時に、ＧＰＵ１０６は、より低い電力状態またはアイドル状態においてオペレーションされてよく、ＲＣ６といった、ＲＣ状態によって表わされ得る。最終的に、コントローラ、Ｉ／Ｏデバイスといった、他のプラットフォームコンポーネントが、アイドルサブ期間２１８の最中に、アイドル状態に置かれてよい。プラットフォームワイドベースの、ＣＰＵコア１０４、ＧＰＵ１０６，および他のプラットフォームコンポーネントに対するアイドル状態の整列は、一緒に強制アイドル状態を定めている。アイドル期間がサブ期間２１８の中に配置されている全てのコンポーネントが共通の（単一の）半導体ダイ上に配置されている実施例において、強制アイドル状態は、いわゆるＳｏＣアイドル状態を表し得る。
【００１６】
図２においてさらに示されるように、アクティブサブ期間２１６および隣接するアイドルサブ期間２１８は、それぞれの強制アイドル期間２０８、２１２等を伴って一回またはそれ以上に発生するネストされたデューティサイクル２２０を定める。ネストされたデューティサイクル２２０の機能は、サイクル化を適応するためにシステムコンポーネントの電力状態が（より高い電力状態へ）上方へ調整される最中に、浅い（ｓｈａｌｌｏｗ）アクティブスロットまたはサブ期間をシステム１００の一つまたはそれ以上のコンポーネントに対するアクティブ状態の中に割り当てることである。コンポーネントは、強制アイドル期間のデュレーションについてアイドル状態に保持される場合には、適切に機能し得ないものである。図２は、また、システム１００のプロセッサコンポーネントに対する状態またはアクティビティレベルを示している。ＣＰＵコア１０４、ＧＰＵ１０６といった個々のコンポーネントのアクティビティレベルを表し、または、ＣＰＵコア１０４、ＧＰＵ１０６、メモリコンポーネント、等を含む複数のコンポーネント間におけるアクティビティレベルの複合であり得る。示されるように、それぞれのアイドル期間の最中に、アクティビティレベルは、アクティブ状態２２２（部分２３０、２３２を参照）と中間状態２２０（部分２３４を参照）において変動し得る。この変動は、従来のプロシージャに従って、かつ、現在の処理状況に応じて発生し得るものである。
【００１７】
それぞれの強制アイドル期間２０８、２１２の最中に、ＣＰＵコア１０４、ＧＰＵ１０６、および他のコンポーネントは、それぞれの強制アイドル期間の部分（部分２３６、２３８を参照）について強制アイドル状態２２６までアクティビティレベルを低減するように、強制アイドル状態に置かれる。例えば、部分２３６は、アイドルサブ期間２１８に対応している。加えて、浅いアクティブサブ期間２１６の最中に、アクティビティは、浅いアクティブ状態２２８（部分２４０を参照）まで上がる。図２に示されるように、これらの浅いアクティブ期間の最中に、メモリへのパス（ｐａｔｈ）が、一つまたはそれ以上のシステムコンポーネントのためにアライブ（ａｌｉｖｅ）に保持されてよい。このようにして、所定のシステムコンポーネントの適切な機能が、所与の浅いアクティブサブ期間２１６の最中に促進される。このことは、また、図２においてもハイライトされており、ｄｅｖ０とラベル付けされた、システムコンポーネントのアクティビティをさらに示している。一つの実施例において、ｄｅｖ０は、強制アイドル期間２０８、２１２のデュレーションより小さなインターバルにおいてリフレッシュが生じる必要があるように、サイズが制限されたバッファを有するＩ／Ｏコンポーネントを示している。示されるように、ｄｅｖ０コンポーネントは、アクティブ状態２４４とバッファ状態２４６の間を交互に繰り返す。
【００１８】
アクティブ期間２０６、２１０、等の最中に、ｄｅｖ０のアクティビティ状態は、複数のアクティブ部分によって特徴付けられ得る。部分２４８、２５２といったものであり、従来のプロシージャに従ってスケジュールされてよい。アクティブ状態の最中に、データは、例えば、キャッシュまたはシステムメモリといったメモリに対して転送され得る。アクティブ期間２０６，２１０の最中のｄｅｖ０に対するアクティブ状態のスケジュール化は、現在の処理要求に従って発生してよい。
【００１９】
強制アイドル期間２０８、２１２の最中に、デューティサイクルコントロールコンポーネント１２４は、ｄｅｖ０が浅いアクティブサブ期間２１６の最中にだけアクティブ状態にあるように、ｄｅｖ０に対するアクティビティをスケジュールする。浅いアクティブサブ期間は、規則的なインターバルで置かれてよい。図２の実施例と一貫して、アクティブサブ期間２１８のデュレーションがコンポーネントのオペレーションｄｅｖ０に関連する閾値時間（ｔｈｒｅｓｈｏｌｄ  ｔｉｍｅ）を越えないように、浅いアクティブサブ期間２１６の配置が構成される。閾値時間は、例えばｄｅｖ０のバッファ容量に基づいてよい。特に、閾値時間は、ダイレクトメモリアクセスまたはデータ損失を防ぐためにｄｅｖ０のバッファからデータを転送する類似のオペレーションを実行する必要なく、安全にｄｅｖ０をオペレーションするための計算され又は見積りされた最大時間であってよい。従って、図２に示されるように、ｄｅｖ０のアクティビティレベルは、アクティブ部分２５０、２５４、２５６によって例示されるように、アクティブレベル２４４まで増加する。アクティブ部分は、強制アイドル期間の最中にそれぞれ発生する。特に、浅いアクティブサブ期間２１６は、隣接するアクティブ期間２１０、２１４によって提供されるよりも短いインターバルによって配置された異なるインスタンスにおいて、ｄｅｖ０コンポーネントをアクティブ状態に置く必要性に適応する。
【００２０】
一旦浅いアクティブサブ期間が完了すると、ｄｅｖ０サイクルにおけるバッファ状態へのアクティビティおよび追加ＤＭＡといった後続のアクティビティは、次の浅いアクティブサブ期間へ据え置かれる。従って、ネストされたデューティサイクルを提供することによって、強制アイドル期間の最中に、ＣＰＵコア、ＧＰＵ、および他のコンポーネントといった、プラットフォームの大部分の全体的なアクティビティレベルは、電力管理状態に深く保持される。ＣＰＵコアおよびＧＰＵのアクティビティが、強制アイドルレベル２２６および浅いアクティブ状態２２８といった、低アクティブレベルに保持されることを許可することによるものである。同時に「軽（”ｌｉｇｈｔ”）」アクティブ状態が、強制アイドル期間の中で複数のインスタンスにおいてサイクル化されてよい。必要な周波数を伴うメモリへのパス（ｐａｔｈ−ｔｏ−ｍｅｍｏｒｙ）を生成するためであり、制限されたバッファ能力を用いてこれらのコンポーネントをサービスする。より一般的に、ネストされたデューティサイクルにより、Ｄｅｖ０といったデバイスは、タイムリーにあらゆる必要とされるアクティビティを定期的に実行することができる。ＤＭＡオペレーションといったものであり、ＣＰＵプロセッサコアまたは他のプロセッサアクティビティを巻き込むものではなく、ＣＰＵコア１０４及び/又はＧＰＵ１０６を不必要に高電力状態にサイクル化することがない。所定の実施例において、強制アイドル期間は、１ミリ秒又はそれ以上の期間であってよく、かつ、隣接する浅いアクティブサブ期間におけるネストされたデューティサイクルは、約１００マイクロ秒であってよい。
【００２１】
図３は、本実施例と調和したデューティサイクル化の第２の実施例の詳細を示している。図３の構成３００において示されるシナリオは、図２に示された構成の考えられる変形であってよく、そして、類似のエレメントは、両方の図において同一の参照番号及び/又はラベルを維持している。特に、図３のシナリオは、第２コンポーネントｄｅｖ１のアクティビティが追加的に示されているという一つの観点において図２のシナリオと異なっており、アクティブレベル３２２と３２４の間を交互に繰り返す。加えて、アクティブ期間３０２、３０６、３１０は、散在された強制アイドル期間３０４、３０８から以降インターバル３１２によって分離されている。
【００２２】
図示されるように、ｄｅｖ１コンポーネントは、アクティブ部分３２６、３２８、３３０、３３２、３３４、３３６、および３３８を示しており、アクティブ期間３０２、３０６、および、強制アイドル期間３０４、３０８の両方の最中に発生する。時に、アクティブ部分３３０、３３６、および３３８は、浅いアクティブ期間２１６の最中にそれぞれ発生する。図３においてさらに示されるように、浅いアクティブ期間２１６の最中のプロセッサに対する複合アクティブ状態が部分３４０によって定められ、その電力は浅いアクティブ状態３４２によって定められる。いくつかのインスタンスにおいて、浅いアクティブ状態３４２に対する電力レベルは、部分２４０の浅いアクティブ状態２２８の電力レベルよりも高くてよい。浅いアクティブ期間の中で複数のアクティブデバイスを適応する必要性のためである。例えば、コンポーネントｄｅｖ０およびｄｅｖ１それぞれに対する（アクティブ）部分２５６および３３８は、一つの浅いアクティブ期間１２６の中でオーバーラップしている。
【００２３】
図３によって示されるように、本実施例は、ネストされたデューティサイクルを使用してプラットフォームに係る異なるコンポーネントのアクティビティの整列を促進する。プラットフォームコンポーネントのオペレーションを譲歩することなく、かつ、強制アイドル期間の最中にプロセッサコンポーネントを不必要に回復することなく、プロセッサコンポーネント以外のプラットフォームコンポーネントによって実行される時折のアクティビティが適応され得るようにである。本実施例においては、浅いアクティブ期間の最中だけにＤＭＡアクティビティをスケジュール化することに加えて、他のプロセスまたは信号化が同様に制限され得る。例えば、ハードウェアまたはソフトウェアで生成されたインタラプト（ｉｎｔｅｒｒｕｐｔ）は、強制アイドル期間の中の所与の浅いアクティブ期間において処理され得る。その後で、例えば、次のアクティブ期間まで、さらなるインタラプトが処理のために遅延され得る。
【００２４】
さらなる実施例において、デューティサイクルに対する複数のネストレベル（ｎｅｓｔｉｎｇ  ｌｅｖｅｌ）が、所与の強制アイドル期間の中で提供される。このことは、適切なオペレーションのために異なるプラットフォームコンポーネントが異なる周波数においてサービスされることを必要とする状況において有利であり得る。例えば、プラットフォームのカメラセンサにおける制限されたバッファは、頻繁にサービスされる（例えば、５０マイクロ秒）ことが必要であり得る。一つのシナリオにおいては、カメラセンサのバッファの中へストリームされるデータが、５０マイクロ秒の「内部レベル（”ｉｎｎｅｒ−ｌｅｖｅｌ”）」デューティサイクルにおいて、プラットフォームに存在するより大きな共有ＳＲＡＭの中へプル（ｐｕｌｌ）されてよい。ＳＲＡＭにおいて累積されたカメラセンサのデータは、次に、「内部レベル」デューティサイクルの５サイクル毎、または２５０マイクロ秒に相当する「中間レベル（”ｍｉｄｌｅｖｅｌ”）」デューティサイクルにおいてメインメモリに対してフラッシュ（ｆｒｕｓｈ）され得る。メインメモリに保管されたカメラのデータは、次に、画像信号プロセッサ（ＩＳＰ）アクセラレータといったコンポーネントによって、１ミリ秒ごとにサービスされる。最高のデューティサイクルレベルの１ミリ秒を表しているものである。
【００２５】
図４は、本実施例と調和したデューティサイクル化の第３の実施例の詳細を示しており、強制アイドル期間の中で複数のデューティサイクルのネストレベルが適応されている。この実施例において、アクティブ期間２０６、２１０は、強制アイドル期間４０４、４０６と交互に起こる。前出のコンポーネントｄｅｖ０およびｄｅｖ１に加えて、この実施例においては、複数のネスト構成４００が第３コンポーネントｄｅｖ２のアクティビティを適応する。ｄｅｖ２は、異なるデューティサイクルによって特徴付けられるものであり、その中でアクティブ状態４２８とバッファ状態４２６との間でアクティビティが循環する。示されるように、複数のネスト構成４００は、それぞれの強制アイドル期間の中に、浅いアクティブサブ期間２１６に加えて浅いアクティブサブ期間４０８を含んでいる。浅いアクティブサブ期間４０８は、浅いアクティブサブ期間２１６よりも大きな周波数において発生し、かつ、示されるように、浅いアクティブ状態４２０に対する異なるアクティビティレベルによって定められる。この場合、それぞれの浅いアクティブサブ期間４０８の最中に、プラットフォームアクティビティの部分４２２が、相対的により短いデュレーションに対する浅いアクティブ状態４２０のためのアクティビティレベルによって定められる。カメラセンサのデータをメモリへ転送するといった、オペレーションを促進するために必要な時間と電力に対応し得るものである。次に、ｄｅｖ２デバイスのアクティブ部分４３０Ａ−４３０Ｄそれぞれが、アクティブ期間２０６（４３０Ａ）、２１０（４３０Ｃ）において、または、強制アイドル期間４０４（４３０Ｂ）、４０６（４３０Ｄ）の中、のいずれかにおいて発生する。図２と３において示された以前のシナリオと同様に、浅いアクティブ状態２２８、４２０に対するアクティビティレベルを定めるデューティサイクル、および、コンポーネントｄｅｖ０、ｄｅｖ１、ｄｅｖ２のオペレーションを適応するために必要とされる浅いアクティブサブ期間２１６、４０８それぞれのデュレーションにより、強制アイドル期間４０４、４０６、等に対する全体または平均電力を、必要なコンポーネント機能が実行される一方で最小化することができる。
【００２６】
追加の実施例においては、デューティサイクルコントロールコンポーネントが、グラフィクスドライバといったソフトウェアコンポーネントを用いて、異なるプラットフォームコンポーネントのアクティビティを整列するように調整することができる。特に、デューティサイクルコントロールコンポーネントは、アクティブ状態とアイドルとの間、または、深く電力管理された状態期間において、ＧＰＵが移行するのをスケジュールするグラフィクスドライバを用いて、調整することができる。これらの実施例において、デューティサイクルコントロールコンポーネントは、電力コントロールユニットとグラフィクスドライバとの間といった、ハードウェアとソフトウェアのコンポーネント間でのポリシヒント（ｐｏｌｉｃｙ  ｈｉｎｔ）および他の情報の共有を調整することができる。典型的なシナリオは、ドライバベースのＧＰＵおよびハードウェアによるＩ／Ｏデューティサイクル化を用いたオペレーティングシステムによるＣＰＵコアのデューティサイクル化の調整を含んでいる。
【００２７】
図５Ａは、「ハイブリッド（”ｈｙｂｒｉｄ”）」デューティサイクル化の一つの実施例を示しており、ソフトウェアデューティサイクル化を用いてハードウェアデューティサイクル化が調整される。ソフトウェアデューティサイクル化では、グラフィクスドライバが、ＧＰＵを、アクティブ（ＧＰＵアクティブ）とアイドル（ＧＰＵアイドル）状態の間で循環させる。それぞれのソフトウェアサイクル５０２は、アクティブ期間５０４といった、アクティブ期間、および、アイドル期間５０６といった、強制アイドル期間を含んでいる。後続のアクティブ期間５０８は、新たなソフトウェアサイクルの一部を形成している。アクティビティ曲線５１０は、ＧＰＵがアクティブ状態５０７とアイドル状態５１２の間を循環していることを示しており、一つの実施例においてはＲＣ６状態であり得る。図５にさらに示されるように、ＣＰＵコアおよび非コアエレメントを含むハードウェアコンポーネントに対する強制アイドル期間のタイミングは、グラフィクスドライバによって設定されたアイドル状態５１２と同時に起こるようにスケジュールされる。別の言葉で言えば、アクティブ期間と強制アイドル期間との間のハードウェアによるデューティサイクル化は、ＧＰＵがアイドル状態にあるグラフィクスドライバ設定の（ｇｒａｐｈｉｃｓ−ｄｒｉｖｅｒ−ｓｅｔ）アイドル期間の最中にだけ発生する。特に、ハードウェア設定のアクティブ期間５１４が（ソフトウェアによる）アクティブ期間５０４と同時に起こるように整列され、ハードウェア設定のデューティサイクル化期間５１６が（ソフトウェアによる）アクティブ期間５０６と同時に起こるように整列され、ハードウェア設定のデューティサイクル化期間５２４が（ソフトウェアによる）アクティブ期間５０８と同時に起こるように整列されている、等。
【００２８】
図５Ａのシナリオにおいて、デューティサイクル化期間５１６は、アイドル期間５１８と５２２を伴って散在されたアクティブ期間５２０を含んでいる。アクティビティ曲線５２８によって示されるように、ハードウェア設定アクティブ期間５１４、５２４の最中に、ＣＰＵコアと非コアエレメントは、部分５４６によって例示されるように、ＣＰＵコア（ＩＡ）と非コアコンポーネントの両方がアクティブである（部分５４０、５４２、５４４を参照）アクティブ状態５３０と、非コアはアクティブであるがＣＰＵコアが非アクティブである中間状態５３４との間を循環してよい。非コアエレメントの例は、ＣＰＵコアに対してローカルな所定のキャッシュ、コントローラ、およびＣＰＵコアと共通のダイ上に在り得る他のエレメントを含んでおり、ＧＰＵは含まない。アクティブ状態５３０と中間状態５３４との間のサイクル化は、従来のプロシージャに従って、発生してよく、そして、一般的には、複数のプラットフォームコンポーネントのアクティビティの整列を含まない。
【００２９】
（ソフトウェアによる）アイドル期間５０６の最中に、デューティサイクルコントロールコンポーネントは、アイドル期間５１８の最中のコンポーネントアクティビティをスケジュールする。スケジュールは、深く電力管理された強制アイドル部分５４８、または、ＣＰＵコア、非コア、およびＧＰＵが全て低電力又はアイドル状態にある全体のシステム（プラットフォーム）にわたるアイドル状態５３６、に対応するものである。デューティサイクル化期間５１６は、従って、強制アイドル期間と考えられてよい。強制アイドル期間は、分離されたサブ期間（例えば、アイドル期間５１８）を含み、そこでは、ＣＰＵコア、ＧＰＵ、および非コアコンポーネントが全て、強制アイドル状態５４８を定めるアイドル状態に置かれている。デューティサイクル化期間５１６の最中に、ＧＰＵ、非コア、およびＣＰＵコアコンポーネントのオペレーションは、また、アイドル期間５２２において発生する部分５５２によって例示されるように、ナチュラル（ｎａｔｕｒａｌ）アイドル状態５３２への移行に対して整列されてよい。
【００３０】
ハイブリッドデューティサイクル化の他の実施例において、ＧＰＵコンポーネントは、グラフィクスドライバ定義の（ｇｒａｐｈｉｃｓ−ｄｒｉｖｅｒ−ｄｅｆｉｎｅｄ）アクティブ期間およびアイドル期間の両方において、アクティブ状態とアイドル又は中間状態との間を循環してよい。図５Ｂは、そういった一つの実施例を示している。構成５５０は、アクティブ期間５５２といった、アクティブ期間、および、上記のアイドル期間５０６といった、強制アイドル期間を含んでいる。この実施例においては、アイドル期間５０６の最中に、ＣＰＵコア、非コア、およびＧＰＵアクティビティの整列が、図５Ａに関して説明されたようであるように、デューティサイクル化が構成される。このように、アクティブ期間５２０の間に、一連のアイドル（サブ）期間５１８が設定される。そこでは、ＣＰＵコア、ＧＰＵ，および非コアが、アイドル状態５３６を定めるそれぞれのアイドル状態に同時に置かれている。
【００３１】
アクティブ期間５５２の最中に、ソフトウェアドライバは、アクティブ状態５０７に対応するためにＧＰＵに対してデフォルトオペレーションを設定し得る。しかしながら、デューティサイクルコントロールコンポーネントは、アクティブ期間５５２の中に一連の強制アイドル期間５６２を確立するように、ＣＰＵコア、ＧＰＵ、および他のコンポーネント間でのデューティサイクル化を調整する。図５Ｂに示されるように、ＧＰＵは、従って、アクティブ期間５５６と強制アイドル期間５５８との間を循環する。プラットフォームにわたる（ｐｌａｔｆｏｒｍ−ｗｉｄｅ）強制アイドルサブ期間、または強制アイドル期間５６２に対応するものである。アイドル期間５５８は、グラフィクスドライバによって設定されたアイドル期間５０６から区別するために、Ｉｄｌｅ１として表示されている。アイドル期間５０６は、異なるアクティビティ状態に対応し得るものであり、Ｉｄｌｅ２とラベル付けされている。図５Ｂにさらに示されるように、アイドル期間５５８（強制アイドル期間５６２）の最中に、ＧＰＵは、アクティビティ状態５６０に置かれており、アイドル状態５１２ほど深くはないものである。一つのインスタンスにおいて、アクティビティ状態５６０は、ＲＣ３  ＧＰＵ状態に対応してよく、一方で、アイドル状態５１２は、ＲＣ６  ＧＰＵ状態に対応してよい。さらに、プラットフォームにわたるアクティビティを示すアクティビティ部分５６６によって示されるように、強制アイドル期間５６２は、別のアクティビティ状態５６４を定める。アイドル状態５３６ほど深くはないものである。従って、図５Ｂの実施例においては、デューティサイクル化がＧＰＵドライバ定義のアクティブ（５５６）およびアイドル（５０６）期間の両方において連続的に発生するのだが、期間５０６といった、強制アイドル期間の最中にだけ、ＧＰＵ及びそれによって全体としてのプラットフォームが、最低のアクティビティ状態へ循環される。一方、アクティブ期間において、ＧＰＵ及びプラットフォームは、アイドルサブ期間の最中に、より浅い状態へ循環される。
【００３２】
図５Ｃは、ハイブリッドデューティサイクル化の別の実施例を示している。ハードウェアデューティサイクル化がソフトウェアデューティサイクル化と共に調整され、グラフィクスドライバが、ＧＰＵを、アクティブ（ＧＰＵアクティブ）とアイドル（ＧＰＵアイドル）状態の間で循環させる。構成５７０において、グラフィクスドライバは、図５Ａの実施例と実質的に同様に動作してソフトウェアサイクル５０２を生成する。ソフトウェアサイクルは、アクティブ期間５０４、およびアイドル期間５０６を含んでおり、それ自身を繰返してよい。しかしながら、アイドル期間５０６の最中に、デューティサイクルコントロールコンポーネントは、強制アイドル期間２１２に対して、図２に示されたものと実質的に同様にネストされたデューティサイクル化を実行する。従って、グラフィクスドライバは、アクティブおよび強制アイドル期間（アイドル期間５０６といったもの）を定める「外側（”ｏｕｔｅｒ”）」デューティサイクルを確立するように動作する。一方、強制アイドル期間の中で発生する「内側（”ｉｎｎｅｒ”）」デューティサイクルは、デューティサイクルコントロールコンポーネントによって設定されるが、本来ハードウェアによるものであってよい。
【００３３】
ここにおいては、開示されたアーキテクチャの新規な態様を実行するための典型的な方法論を表わす一式のフローチャートが含まれている。一方で、説明の簡素化のために、例えば、フローチャートまたはフローダイヤグラムの形式において、ここにおいて示される一つまたはそれ以上の方法は、一連のアクトとして示され説明されている。方法は、いくつかのアクトがそうであり得るように、フローに応じた、アクトの順序によって限定されるものではなく、異なる順序で、及び/又は、ここにおいて示され説明されたものと異なる他のアクトを伴って同時に発生することが、理解され、かつ、認識されるべきである。例えば、当業者であれば、方法が、状態図といった、一連の相互に関係する状態またはイベントとして代替的に表現され得ることを理解し、認識するであろう。さらに、方法論において説明されたアクトの必ずしも全てが新規な実施例のために必要とはされないことがある。
【００３４】
図６は、第１の論理フロー６００の一つの実施例を示している。いくつかの実施例において、第１の論理フロー６００は、ブロック６０２において、デューティサイクル化モードに入り、ＣＰＵ、ＧＰＵ、およびＩ／Ｏアクティビティが同期化される。一つの実施例において、デューティサイクル化モードは、ＳｏＣチップといった、ＣＰＵおよびＧＰＵコンポーネントを含むプラットフォームのコンポーネントによって設定される。
【００３５】
ブロック６０４において、アクティブ期間に入り、または保持され、ＣＰＵコアコンポーネント、ＧＰＵ、およびＩ／Ｏコンポーネントを含むプラットフォームコンポーネントがアクティブ状態において保持される。いくつかの変形において、一つまたはそれ以上のコンポーネントは、アクティブ期間の少なくとも一部分についてアクティブ状態より低い電力状態へ循環してよい。
【００３６】
ブロック６０６においては、強制アイドル期間が到来したか否かに関して判断がなされる。いくつかの実施例において、強制アイドル期間は、ハードウェアコンポーネントによって設定されてよく、一方、他の実施例において、強制アイドル期間は、グラフィクスドライバといった、ソフトウェアエレメントによって設定されてよい。そうでなければ、フローは、ブロック６０８に進み、アクティブ期間が継続される。そして、その後にブロック６０６へ戻る。
【００３７】
ブロック６０６において、強制アイドル期間が到来した場合に、フローはブロック６１０へ進み、強制アイドル状態を定めるように、ＣＰＵコアアクティビティ、ＧＰＵコアアクティビティ、およびＩ／Ｏアクティビティが、低電力またはアイドル状態へ同時に低減される。いくつかの場合に、強制アイドル状態はプラットフォームにわたるアイドル状態に対応する。ＳｏＣダイに対するＳｏＣアイドル状態といったものである。
【００３８】
フローは、次に、ブロック６１２へ進み、強制アイドル期間の中のアイドルサブ期間が終了したか否かに関して判断がなされる。種々の実施例において、アイドルサブ期間は、一つまたはそれ以上のＩ／Ｏコンポーネントのオペレーションから決定されるインターバルの後で終了するように設定され得る。例えば、アイドルサブ期間のデュレーションは、バッファーオーバーフローを防ぐためのＤＭＡオペレーションを実行する必要なく、カン（ｃａｎ）のＩ／Ｏコンポーネントがアイドル状態に留まっているデュレーションに対応してよい。アイドルサブ期間が終了していない場合、フローは、次に、ブロック６１４へ進み、ＣＰＵ、ＧＰＵ、およびＩ／Ｏコンポーネントがアイドルである強制アイドル状態が保持される。フローは、次に、ブロック６１２へ戻る。
【００３９】
ブロック６１２において、アイドルサブ期間が終了した場合に、フローは、ブロック６１６へ移動する。ブロック６０６において、一つまたはそれ以上のＩ／Ｏデバイスは、強制アイドル期間の浅いアクティブサブ期間のデュレーションに対してアクティブ状態に回復される。浅いアクティブ期間のデュレーションは、一つまたはそれ以上のＩ／Ｏデバイスの要求に従って、設定されてよい。例えば、一つまたはそれ以上のＩ／Ｏデバイスと他のプラットフォームコンポーネントとの間でのシグナル化およびデータ転送を調整するためである。
【００４０】
フローは、次に、ブロック６１８へ進み、浅いアクティブサブ期間の終了後に一つまたはそれ以上のＩ／Ｏデバイスがアイドル状態に置かれ、それによって、プラットフォームが強制アイドル状態に戻っている。フローは、次に、ブロック６２０へ移動し、強制アイドル期間が終了したか否かについて判断がなされる。そうでない場合、フローはブロック６１２に戻り。そうである場合、フローはブロック６２２へ進み、デューティサイクル化モードが終了するか否かについて決断がなされる。そうでない場合、フローはブロック６１２に戻り、アクティブ状態が再開する。そうである場合、フローは終了する。
【００４１】
図７は、第２の論理フロー７００の一つの実施例を示している。ブロック７０２において、ハイブリッドグラフィクスドライバ／ハードウェアデューティサイクルコントロールモードに入り、または、開始される。ブロック７０４において、グラフィクスソフトウェア電力管理期間が到来したか否かについて判断がなされる。グラフィクスソフトウェア電力管理期間は、ドライブが、ＧＰＵのアクティビティをアイドル状態といった低電力状態に設定する期間を定め得る。そうでない場合、フローは、ブロック７０６へ進み、ＣＰＵコアと追加プラットフォームエレメントの整列されていないオペレーションが発生する。ＣＰＵコア及び/又は追加プラットフォームエレメントは、例えば、異なるアクティビティ（電力）状態の間をお互いに独立して移行し得る。グラフィクスソフトウェア電力管理期間が到来した場合、フローは、ブロック７０８へ進み、ＣＰＵコアとＩ／Ｏ及び/又は他のプラットフォームコンポーネントのアクティブおよびアイドル期間それぞれが整列される。
【００４２】
フローは、次に、ブロック７１０へ進み、グラフィクスソフトウェア電力管理期間が終了したか否かについて判断がなされる。そうでない場合、フローは、ブロック７０８へ戻る。そうである場合、フローは、ブロック７１２へ移動し、グラフィクスドライバ／ハードウェアデューティサイクルコントロールモードの継続について決断がなされる。そうである場合、フローはブロック７０６に戻る。そうでない場合、フローは終了する。
【００４３】
図８は、第３の論理フロー８００の一つの実施例を示している。ブロック８０２において、ハイブリッドグラフィクスドライバ／ハードウェアデューティサイクルコントロールモードに入り、複数の低電力状態を含んでいる。ブロック８０４において、グラフィクスソフトウェア電力管理期間が到来したか否かについて判断がなされる。そうでない場合、フローは、ブロック８０６へ進む。
【００４４】
ブロック８０６において、ＣＰＵコア、ＧＰＵ、およびＩ／Ｏコンポーネントのアクティビティと追加プラットフォームエレメントの整列されていないオペレーションが整列され、第１ＧＰＵ電力状態に対応する第１強制アイドル状態に周期的に出入りする。例えば、第１強制アイドル状態は、ＣＰＵコアとＩ／Ｏコンポーネントをアイドル状態に置くことができ、一方で、ＲＣ３状態といった電力管理状態にＧＰＵを置いている。フローは、次に、ブロック８０４へ戻る。
【００４５】
ブロック８０４において、グラフィクスソフトウェア電力管理期間が到来した場合、フローは、ブロック８０８へ進む。ブロック８０８において、ＣＰＵコア、ＧＰＵ、およびＩ／Ｏコンポーネントのアクティビティが整列され、第１ＧＰＵ電力状態より低い第２ＧＰＵ電力状態に対応する第２強制アイドル状態に周期的に出入りする。例えば、第２強制アイドル状態は、ＣＰＵコアとＩ／Ｏコンポーネントをアイドル状態に置くことができ、一方で、ＧＰＵをＲＣ６状態に置いている。フローは、次に、ブロック８１０へ進む。
【００４６】
ブロック８１０において、ソフトウェア電力管理期間が終了したか否かについて決断がなされる。そうでない場合、フローは、ブロック８０８へ戻る。そうである場合、フローは、ブロック８１２へ移動する。
【００４７】
ブロック８１２において、ハイブリッドグラフィクスドライバ／ハードウェアデューティサイクルコントロールモードを継続するか否かについて判断がなされる。そうである場合、フローはブロック８０６に戻る。そうでない場合、フローは終了する。
【００４８】
図９は、典型的なシステムの実施例のダイヤグラムであって、特に、図９は、プラットフォーム９００を示しているダイヤグラムであり、種々のエレメントを含んでよい。例えば、図９は、プラットフォーム９００が、以下のものを含み得ることを示している。プロセッサ／グラフィクスコア９０２、チップセット／プラットフォームコントロールハブ（ＰＣＨ）９０４、入力／出力（Ｉ／Ｏ）デバイス９０６、ランダムアクセスメモリ（ＲＡＭ）（ダイナミックＲＡＭ（ＤＲＡＭ）といったもの）９０８、そして、読出し専用メモリ（ＲＯＭ）９１０、ディスプレイ電子装置９２０、ディスプレイバックライト９２２、および、種々の他のプラットフォームコンポーネント９１４（例えば、ファン、クロスフローブロワ、ヒートシンク、ＤＴＭシステム、冷却システム、ハウジング、ベント、等）である。システム９００は、また、無線通信チップ９１６とグラフィクスデバイス９１８を含んでよい。実施例は、しかしながら、これらのエレメントに限定されるものではない。
【００４９】
図９に示されるように、Ｉ／Ｏデバイス９０６、ＲＡＭ９０８、およびＲＯＭ９１０は、チップセット９０４を経由してプロセッサ９０２に接続されている。チップセット９０４は、バス９１２によってプロセッサ９０２に接続され得る。従って、バス９１２は、複数のラインを含み得る。
【００５０】
プロセッサ９０２は、一つまたはそれ以上のプロセッサコアを含んでいる中央処理装置であってよく、あらゆる数量のプロセッサコアを有しているあらゆる数量のプロセッサを含んでよい。プロセッサ９０２は、あらゆるタイプの処理装置を含んでよい。例えば、ＣＰＵ、マルチプロセッシング装置、縮小命令セットコンピュータ（ＲＩＳＣ）、パイプラインを有するプロセッサ、複合命令セットコンピュータ（ＣＩＳＣ）、デジタル信号プロセッサ（ＤＳＰ）、等といったものである。いくつかの実施例において、プロセッサ９０２は、別々の集積回路チップ上に配置された複数の別々のプロセッサであってよい。いくつかの実施例において、プロセッサ９０２は、統合グラフィクス（ｉｎｔｅｇｒａｔｅｄ  ｇｒａｐｈｉｃｓ）を有するプロセッサであってよく、一方、他の実施例において、プロセッサ９０２は、グラフィクスコアまたは複数コアであってよい。
【００５１】
以降の例は、さらなる実施例に適するものである。
【００５２】
実施例１は、電力管理のための装置である。本装置は、多数のプロセッサコンポーネントと、多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントに対して通信可能に接続された一つまたはそれ以上のデバイスコンポーネントと、少なくとも一部がハードウェアであるロジックを含むコントローラと、を含む。ロジックは、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、一つの強制アイドル期間は、多数のプロセッサコンポーネントのうち一つまたはそれ以上および一つまたはそれ以上のデバイスコンポーネントが、同時にアイドル状態に置かれている最中のデュレーションにわたるものであり、アイドル状態は、強制アイドル期間の分離されたサブ期間の最中の強制アイドル電力状態を定める。
【００５３】
実施例２において、実施例１に係る多数のプロセッサコンポーネントは、任意的に、一つまたはそれ以上の汎用プロセッサコアおよびグラフィクス処理ユニットを含んでよく、一つまたはそれ以上のデバイスコンポーネントは、一つまたはそれ以上のそれぞれの入力／出力デバイスを含んでいる。
【００５４】
実施例３において、実施例１または２のコントローラは、任意的に、一つまたはそれ以上の強制アイドル期間の最中に、強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールしてよい。電力状態の最中は、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである。
【００５５】
実施例４において、実施例１乃至３いずれかに係る一つまたはそれ以上の浅いアクティブ期間は、任意的に、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つのバッファ容量により定められるインターバルによって配置された複数の浅いアクティブ期間を含んでよい。
【００５６】
実施例５において、実施例１乃至４いずれかに係るコントローラは、任意的に、強制アイドル期間の中で浅いアクティブ期間の間におけるサイクル化に対する多数のネストレベルを設定してよい。一つのネストレベルは、別のネストレベルのものと異なるネスト期間を有している。
【００５７】
実施例６において、実施例１乃至５いずれかに係る一つまたはそれ以上の浅いアクティブ期間は、任意的に、一つまたはそれ以上のデバイスコンポーネントのうちの一つまたはそれ以上のがアクティブであり、かつ、一つまたはそれ以上のデバイスコンポーネントのうちアクティブなデバイスのためにメモリへのパスがアクティブである期間を含んでよい。
【００５８】
実施例７において、実施例１乃至６いずれかに係るコントローラは、任意的に、一つまたはそれ以上のアクティブ期間を定めるために、多数のプロセッサコンポーネントのうち２つまたはそれ以上のアクティビティを整列させてよい。アクティブ期間は、アクティブ期間の少なくとも一部分について、多数のプロセッサコンポーネントのうち２つまたはそれ以上が同時にアクティブであるアクティブ電力状態を含んでいる。
【００５９】
実施例８において、実施例１乃至７いずれかに係る多数のプロセッサコンポーネントは、グラフィクス処理ユニットを含んでよく、グラフィクス処理ユニットのためのグラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように一つまたはそれ以上の強制アイドル期間を整列させるためのデューティサイクルコントロールコンポーネントを含む。
【００６０】
実施例９において、実施例１乃至８いずれかに係るコントローラは、任意的に、グラフィクスドライバに対して通信可能に接続された電力管理ユニットを含んでよく、一つまたはそれ以上の強制アイドル期間と少なくとも一つのグラフィクスアイドル期間のうち一つまたはそれ以上を整列させるための情報を交換する。
【００６１】
実施例１０において、実施例１乃至９いずれかに係るコントローラは、任意的に、一つまたはそれ以上の強制アイドル期間のうち一つの強制アイドル期間の中に一つまたはそれ以上の強制アイドルサブ期間を生成してよく、強制アイドル期間は、プロセッサコア、グラフィクス処理ユニット、および一つまたはそれ以上のデバイスコンポーネントが非アクティブである期間に対応している。
【００６２】
実施例１１において、実施例１乃至１０いずれかに係るコントローラは、任意的に、一つまたはそれ以上のグラフィクスアイドル期間の中に一つまたはそれ以上の深い強制アイドルサブ期間、および、一つのアクティブ期間の中に一つまたはそれ以上の浅い強制アイドルサブ期間をスケジュールしてよい。一つまたはそれ以上の深い強制アイドルサブ期間における深いグラフィクス電力状態は、一つまたはそれ以上の浅い強制アイドルサブ期間における浅いグラフィクス電力状態よりも低いものである。
【００６３】
実施例１２において、実施例１乃至１１いずれかの装置に係る、一つまたはそれ以上のプロセッサコンポーネントのうち少なくとも一つ、および、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つは、単一の半導体ダイを含むシステムオンチップ上に配置されている。
【００６４】
実施例１３において、インストラクションを含む少なくとも一つのコンピュータで読取り可能な記録媒体であって、インストラクションが実行されるとコントローラは、プラットフォームに対して、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、かつ、プラットフォームの多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントを同時にアイドル状態に置き、かつ、強制アイドル期間の分離されたサブ期間の最中にプラットフォームの一つまたはそれ以上のデバイスコンポーネントをアイドル状態に置く。
【００６５】
実施例１４において、実施例１３に係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとコントローラは、一つまたはそれ以上の強制アイドル期間の最中に、強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールする。電力状態の最中は、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである。
【００６６】
実施例１５において、実施例１３または１４に係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとコントローラは、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つのバッファ容量により定められるインターバルによって配置された複数の浅いアクティブ期間をスケジュールする。
【００６７】
実施例１６において、実施例１３乃至１５いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとコントローラは、強制アイドル期間の中で浅いアクティブ期間の間におけるサイクル化に対する多数のネストレベルを設定する。一つのネストレベルは、別のネストレベルのものと異なるネスト期間を有している。
【００６８】
実施例１７において、実施例１３乃至１６いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとコントローラは、一つまたはそれ以上の浅いアクティブ期間の最中に、一つまたはそれ以上のデバイスコンポーネントのためメモリへのパスをアクティブに保持する。
【００６９】
実施例１８において、実施例１３乃至１７いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとコントローラは、一つまたはそれ以上のアクティブ期間を定めるために、多数のプロセッサコンポーネントのうち２つまたはそれ以上のアクティビティを整列させる。アクティブ期間は、アクティブ期間の少なくとも一部分について、多数のプロセッサコンポーネントのうち２つまたはそれ以上が同時にアクティブであるアクティブ電力状態を含んでいる。
【００７０】
実施例１９において、実施例１３乃至１８いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとコントローラは、一つまたはそれ以上の強制アイドル期間を、グラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように整列させる。
【００７１】
実施例２０において、実施例１３乃至１９いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとコントローラは、一つまたはそれ以上の強制アイドル期間のうち一つの強制アイドル期間の中に一つまたはそれ以上の強制アイドルサブ期間を生成する。強制アイドル期間は、プロセッサコア、グラフィクス処理ユニット、および一つまたはそれ以上のデバイスコンポーネントが非アクティブである期間に対応している。
【００７２】
実施例２１において、実施例１３乃至２０いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとコントローラは、一つまたはそれ以上のグラフィクスアイドル期間の中に一つまたはそれ以上の深い強制アイドルサブ期間、および、一つのアクティブ期間の中に一つまたはそれ以上の浅い強制アイドルサブ期間をスケジュールする。一つまたはそれ以上の深い強制アイドルサブ期間における深いグラフィクス電力状態は、一つまたはそれ以上の浅い強制アイドルサブ期間における浅いグラフィクス電力状態よりも低い。
【００７３】
実施例２２は、電力管理のための装置である。本装置は、多数のプロセッサコンポーネントと、多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントに対して通信可能に接続された一つまたはそれ以上のデバイスコンポーネントと、少なくとも一部がハードウェアであるロジックを含むプロセッサと、を含む。ロジックは、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、一つの強制アイドル期間は、多数のプロセッサコンポーネントのうち一つまたはそれ以上および一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つが、同時にアイドル状態に置かれている最中のデュレーションにわたるものであり、アイドル状態は、強制アイドル期間の分離されたサブ期間の最中の強制アイドル電力状態を定める。
【００７４】
実施例２３において、実施例２２に係る多数のプロセッサコンポーネントは、任意的に、一つまたはそれ以上の汎用プロセッサコアおよびグラフィクス処理ユニットを含み、かつ、一つまたはそれ以上のデバイスコンポーネントは、一つまたはそれ以上の入力／出力デバイスを含んでいる。
【００７５】
実施例２４において、実施例２２または２３に係るプロセッサは、任意的に、一つまたはそれ以上の強制アイドル期間の最中に、強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールする。電力状態の最中は、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである。
【００７６】
実施例２５において、実施例２２乃至２４いずれかに係る一つまたはそれ以上の浅いアクティブ期間は、任意的に、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つのバッファ容量により定められるインターバルによって配置された複数の浅いアクティブ期間を含む。
【００７７】
実施例２６において、実施例２２乃至２５いずれかに係るプロセッサは、任意的に、強制アイドル期間の中で浅いアクティブ期間の間におけるサイクル化に対する多数のネストレベルを設定する。一つのネストレベルは、別のネストレベルのものと異なるネスト期間を有している。
【００７８】
実施例２７において、実施例２２乃至２６いずれかに係る一つまたはそれ以上の浅いアクティブ期間は、任意的に、一つまたはそれ以上のデバイスコンポーネントのうちの一つまたはそれ以上のがアクティブであり、かつ、一つまたはそれ以上のデバイスコンポーネントのうちアクティブなデバイスのためにメモリへのパスがアクティブである期間を含む。
【００７９】
実施例２８において、実施例２２乃至２７いずれかに係るプロセッサは、任意的に、一つまたはそれ以上のアクティブ期間を定めるために、多数のプロセッサコンポーネントのうち２つまたはそれ以上のアクティビティを整列させる。アクティブ期間は、アクティブ期間の少なくとも一部分について、多数のプロセッサコンポーネントのうち２つまたはそれ以上が同時にアクティブであるアクティブ電力状態を含んでいる。
【００８０】
実施例２９において、実施例２２乃至２８いずれかに係る多数のプロセッサコンポーネントは、任意的に、グラフィクス処理ユニットを含む。プロセッサは、任意的に、グラフィクス処理ユニットのためのグラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように一つまたはそれ以上の強制アイドル期間を整列させる。
【００８１】
実施例３０において、実施例２２乃至２９いずれかに係るプロセッサは、任意的に、グラフィクスドライバに対して通信可能に接続された電力管理ユニットを含み、一つまたはそれ以上の強制アイドル期間と少なくとも一つのグラフィクスアイドル期間のうち一つまたはそれ以上を整列させるための情報を交換する。
【００８２】
実施例３１において、実施例２２乃至３０いずれかに係るプロセッサは、任意的に、一つまたはそれ以上の強制アイドル期間のうち一つの強制アイドル期間の中に一つまたはそれ以上の強制アイドルサブ期間を生成する。強制アイドル期間は、プロセッサコア、グラフィクス処理ユニット、および一つまたはそれ以上のデバイスコンポーネントが非アクティブである期間に対応している。
【００８３】
実施例３２において、実施例２２乃至３１いずれかに係るプロセッサは、任意的に、一つまたはそれ以上のグラフィクスアイドル期間の中に一つまたはそれ以上の深い強制アイドルサブ期間、および、一つのアクティブ期間の中に一つまたはそれ以上の浅い強制アイドルサブ期間をスケジュールする。一つまたはそれ以上の深い強制アイドルサブ期間における深いグラフィクス電力状態は、一つまたはそれ以上の浅い強制アイドルサブ期間における浅いグラフィクス電力状態よりも低いものである。
【００８４】
実施例３３において、実施例２２乃至３２いずれかの装置に係る、一つまたはそれ以上のプロセッサコンポーネントのうち少なくとも一つ、および、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つは、単一の半導体ダイを含むシステムオンチップ上に配置されている。
【００８５】
実施例３４において、インストラクションを含む少なくとも一つのコンピュータで読取り可能な記録媒体であって、インストラクションが実行されるとプロセッサは、プラットフォームに対して、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、かつ、プラットフォームの多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントを同時にアイドル状態に置き、かつ、強制アイドル期間の分離されたサブ期間の最中にプラットフォームの一つまたはそれ以上のデバイスコンポーネントをアイドル状態に置く。
【００８６】
実施例３５において、実施例３４に係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとプロセッサは、一つまたはそれ以上の強制アイドル期間の最中に、強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールする。電力状態の最中は、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである。
【００８７】
実施例３６において、実施例３４または３５に係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとプロセッサは、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つのバッファ容量により定められるインターバルによって配置された複数の浅いアクティブ期間をスケジュールする。
【００８８】
実施例３７において、実施例３４乃至３６いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとプロセッサは、強制アイドル期間の中で浅いアクティブ期間の間におけるサイクル化に対する多数のネストレベルを設定する。一つのネストレベルは、別のネストレベルのものと異なるネスト期間を有している。
【００８９】
実施例３８において、実施例３４乃至３７いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとプロセッサは、一つまたはそれ以上の浅いアクティブ期間の最中に、一つまたはそれ以上のデバイスコンポーネントのためメモリへのパスをアクティブに保持する。
【００９０】
実施例３９において、実施例３４乃至３８いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとプロセッサは、一つまたはそれ以上のアクティブ期間を定めるために、多数のプロセッサコンポーネントのうち２つまたはそれ以上のアクティビティを整列させる。アクティブ期間は、アクティブ期間の少なくとも一部分について、多数のプロセッサコンポーネントのうち２つまたはそれ以上が同時にアクティブであるアクティブ電力状態を含んでいる。
【００９１】
実施例４０において、実施例３４乃至３９いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとプロセッサは、一つまたはそれ以上の強制アイドル期間を、グラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように整列させる。
【００９２】
実施例４１において、実施例３４乃至４０いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとプロセッサは、一つまたはそれ以上の強制アイドル期間のうち一つの強制アイドル期間の中に一つまたはそれ以上の強制アイドルサブ期間を生成する。強制アイドル期間は、プロセッサコア、グラフィクス処理ユニット、および一つまたはそれ以上のデバイスコンポーネントが非アクティブである期間に対応している。
【００９３】
実施例４２において、実施例３４乃至４１いずれかに係る少なくとも一つのコンピュータで読取り可能な記録媒体は、任意的に、インストラクションを含む。インストラクションが実行されるとプロセッサは、一つまたはそれ以上のグラフィクスアイドル期間の中に一つまたはそれ以上の深い強制アイドルサブ期間、および、一つのアクティブ期間の中に一つまたはそれ以上の浅い強制アイドルサブ期間をスケジュールする。一つまたはそれ以上の深い強制アイドルサブ期間における深いグラフィクス電力状態は、一つまたはそれ以上の浅い強制アイドルサブ期間における浅いグラフィクス電力状態よりも低い。
【００９４】
実施例４３は、電力管理のためのシステムである。本システムは、多数のプロセッサコンポーネントと、多数のプロセッサコンポーネントのうち一つまたはそれ以上のプロセッサコンポーネントに対して通信可能に接続された一つまたはそれ以上のデバイスコンポーネントと、少なくとも一部がハードウェアであるロジックを含むプロセッサと、を含む。ロジックは、一つまたはそれ以上のアクティブ期間を伴って散在された一つまたはそれ以上の強制アイドル期間をスケジュールし、一つの強制アイドル期間は、多数のプロセッサコンポーネントのうち一つまたはそれ以上および一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つが、同時にアイドル状態に置かれている最中のデュレーションにわたるものであり、アイドル状態は、強制アイドル期間の分離されたサブ期間の最中の強制アイドル電力状態を定める。
【００９５】
実施例４４において、実施例４３に係る多数のプロセッサコンポーネントは、任意的に、一つまたはそれ以上の汎用プロセッサコアおよびグラフィクス処理ユニットを含み、かつ、一つまたはそれ以上のデバイスコンポーネントは、一つまたはそれ以上の入力／出力デバイスを含んでいる。
【００９６】
実施例４５において、実施例４３または４４に係るロジックは、任意的に、一つまたはそれ以上の強制アイドル期間の最中に、強制アイドル電力状態とアクティブ電力状態との中間である電力状態を含む一つまたはそれ以上の浅いアクティブ期間をスケジュールする。電力状態の最中は、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つがアクティブである。
【００９７】
実施例４６において、実施例４３乃至４５いずれかに係る一つまたはそれ以上の浅いアクティブ期間は、任意的に、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つのバッファ容量により定められるインターバルによって配置された複数の浅いアクティブ期間を含む。
【００９８】
実施例４７において、実施例４３乃至４６いずれかに係るロジックは、任意的に、強制アイドル期間の中で浅いアクティブ期間の間におけるサイクル化に対する多数のネストレベルを設定する。一つのネストレベルは、別のネストレベルのものと異なるネスト期間を有している。
【００９９】
実施例４８において、実施例４３乃至４７いずれかに係る一つまたはそれ以上の浅いアクティブ期間は、任意的に、一つまたはそれ以上のデバイスコンポーネントのうちの一つまたはそれ以上のがアクティブであり、かつ、一つまたはそれ以上のデバイスコンポーネントのうちアクティブなデバイスのためにメモリへのパスがアクティブである期間を含む。
【０１００】
実施例４９において、実施例４３乃至４８いずれかに係るロジックは、任意的に、一つまたはそれ以上のアクティブ期間を定めるために、多数のプロセッサコンポーネントのうち２つまたはそれ以上のアクティビティを整列させる。アクティブ期間は、アクティブ期間の少なくとも一部分について、多数のプロセッサコンポーネントのうち２つまたはそれ以上が同時にアクティブであるアクティブ電力状態を含んでいる。
【０１０１】
実施例５０において、実施例４３乃至４９いずれかに係る多数のプロセッサコンポーネントは、任意的に、グラフィクス処理ユニットを含む。ロジックは、グラフィクス処理ユニットのためのグラフィクスドライバによって定められる少なくとも一つのグラフィクスアイドル期間と一致するように一つまたはそれ以上の強制アイドル期間を整列させる。
【０１０２】
実施例５１において、実施例４３乃至５０いずれかに係るロジックは、任意的に、グラフィクスドライバに対して通信可能に接続された電力管理ユニットを含み、一つまたはそれ以上の強制アイドル期間と少なくとも一つのグラフィクスアイドル期間のうち一つまたはそれ以上を整列させるための情報を交換する。
【０１０３】
実施例５２において、実施例４３乃至５１いずれかに係るロジックは、任意的に、一つまたはそれ以上の強制アイドル期間のうち一つの強制アイドル期間の中に一つまたはそれ以上の強制アイドルサブ期間を生成する。強制アイドル期間は、プロセッサコア、グラフィクス処理ユニット、および一つまたはそれ以上のデバイスコンポーネントが非アクティブである期間に対応している。
【０１０４】
実施例５３において、実施例４３乃至５２いずれかに係るロジックは、任意的に、一つまたはそれ以上のグラフィクスアイドル期間の中に一つまたはそれ以上の深い強制アイドルサブ期間、および、一つのアクティブ期間の中に一つまたはそれ以上の浅い強制アイドルサブ期間をスケジュールする。一つまたはそれ以上の深い強制アイドルサブ期間における深いグラフィクス電力状態は、一つまたはそれ以上の浅い強制アイドルサブ期間における浅いグラフィクス電力状態よりも低いものである。
【０１０５】
実施例５４において、実施例４３乃至５３いずれかのシステムに係る、一つまたはそれ以上のプロセッサコンポーネントのうち少なくとも一つ、および、一つまたはそれ以上のデバイスコンポーネントのうち少なくとも一つは、単一の半導体ダイを含むシステムオンチップ上に配置されている。
【０１０６】
いくつかの実施例は、「一つの実施例（”ｏｎｅ  ｅｎｂｏｄｉｍｅｎｔ”）」、「実施例（”ａｎ  ｅｎｂｏｄｉｍｅｎｔ”）」という表現を使用して記述されてよい。これらの用語は、実施例に関して説明された特定の特徴、構成、または特性が、少なくとも一つの実施例において含まれることを意味するものである。明細書の中の種々の場所における「一つの実施例において」というフレーズの登場は、必ずしも同一の実施例を参照しなくてもよい。さらに、いくつかの実施例は、用語「結合された（“ｃｏｕｐｌｅｄ”）」と「接続された（“ｃｏｎｎｅｃｔｅｄ”）」が、その派生語を伴なって、使用されて記述され得る。これらの用語は、必ずしもお互いに類義語であるとして意図されたものではない。例えば、いくつかの実施例は、「結合された」及び/又は「接続された」を使用して記述されてよく、２つまたはそれ以上のエレメントがお互いに直接に物理的または電気的に接触していることを示している。用語「結合された」は、しかしながら、また、２つまたはそれ以上のエレメントがお互いに直接に物理的または電気的に接触していないことをもを意味することができる。しかし、それでもなお、お互いに協働または相互作用するものである。
【０１０７】
読者が技術的開示の趣旨を迅速に確かめることができるように発明開示の要約が提供されることが強調される。要約は、それが特許請求の範囲又は意味を解釈もしくは限定するようには使用されないとの理解をもって提出されている。加えて、前出の詳細な説明においては、発明開示を効率化する目的のために、種々の特徴が一つの実施例の中に一緒にグループ化されていることが理解され得る。発明開示のこの方法は、請求される実施例が、それぞれの請求項において明示的に列挙されたものより多くの特徴を必要とするという意図を反映しているとして解釈されるものではない。むしろ、以降の請求項が反映するように、発明的な技術的事項は、一つの開示された実施例に係る全ての特徴よりも少ないものの中に存在するものである。従って、以降の請求項は、これにより、詳細な説明の中に包含されており、分離した実施例として独立しているそれぞれの請求項を伴うものである。添付の請求項においては、用語「含む（”ｉｎｃｌｕｄｉｎｇ”）」と「そこで（”ｉｎ  ｗｈｉｃｈ”）」は、それぞれの用語「含む（”ｃｏｍｐｒｉｓｉｎｇ”）」と「そこで（”ｗｈｅｒｅｉｎ”）」の平易な英語（ｐｌａｉｎ−Ｅｎｇｌｉｓｈ）として、それぞれに使用されている。さらに、用語「第１（”ｆｉｒｓｔ”）」、「第２（”ｓｅｃｏｎｄ”）」、「第３（”ｔｈｉｒｄ”）」、等は、ラベルとして単に使用されているものであり、オブジェクトに数字的な要求を課すことを意図するものではない。
【０１０８】
上述のものは、開示されたアーキテクチャの実施例を含んでいる。コンポーネント及び/又は方法論の考えられるあらゆる組合せを記述することは、もちろん、できないが、当業者であれば、さらなる組合せ及び並べ替えが可能であることを理解し得る。従って、新規なアーキテクチャは、添付の特許請求の範囲と趣旨の中に在る全てのそうした代替、変形を包含するように意図されている。
【０１０９】
種々の実施例は、ハードウェアエレメント、ソフトウェアエレメント、または両方の組合せを使用して実施され得る。ハードウェアエレメントの実施例は、プロセッサ、マイクロプロセッサ、回路、回路エレメント（例えば、トランジスタ、抵抗、キャパシタ、インダクタ、等）、集積回路、特定アプリケーション集積回路（ＡＳＩＣ）、プログラム可能ロジックデバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット、等を含み得る。ソフトウェアエレメントの実施例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインターフェイス、アプリケーションプログラムインターフェイス（ＡＰＩ）、インストラクションセット、コンピューティングコード、コードセグメント、コンピュータコードセグメント、ワード、バリュー、シンボル、または、これらのあらゆる組合せ、を含み得る。実施例がハードウェアエレメント及び/又はソフトウェアエレメントを使用して実施されるか否かの判断は、あらゆる要因に応じて変化し得る。要因は、所望の計算速度、電力レベル、熱許容性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度、および、他のデザイン又はパフォーマンスの制限、といったものである。
【０１１０】
いくつかの実施例は、表現「結合された（“ｃｏｕｐｌｅｄ”）」と「接続された（“ｃｏｎｎｅｃｔｅｄ”）」を使用して、その派生語を伴なって記述され得る。これらの用語は、お互いに類義語であるとして意図されたものではない。例えば、２つまたはそれ以上のエレメントがお互いに直接に物理的または電気的に接触していることを示すために、いくつかの実施例は、用語「結合された」及び/又は「接続された」を使用して記述され得る。用語「結合された」は、しかしながら、また、２つまたはそれ以上のエレメントがお互いに直接的に接触していないが、それでもなお、お互いに協働または相互作用することも意味し得るものである。
【０１１１】
いくつかの実施例は、例えば、一つのインストラクション又は一式のインストラクションを保管し得るコンピュータで読取り可能な媒体または物品を使用して実施され得る。インストラクションは、コンピュータによって実行される場合、コンピュータに、実施例に従った方法及び/又はオペレーションを実行させ得る。そうしたコンピュータは、例えば、あらゆる好適な処理プラットフォーム、コンピューティングプラットフォーム、コンピューティングデバイス、処理デバイス、コンピューティングシステム、処理システム、コンピュータ、プロセッサ、等を含み得る。そして、ハードウェア及び/又はソフトウェアのあらゆる好適な組合せを使用して実施され得る。コンピュータで読取り可能な媒体または物品は、例えば、あらゆる好適なタイプのメモリユニット、メモリデバイス、メモリ物品、メモリ媒体、ストレージデバイス、ストレージ物品、ストレージ媒体、及び/又は、ストレージユニットを含み得る。例えば、メモリ、取外し可能または取外し不能媒体、消去可能または消去不能媒体、書込み可能または書込み不能媒体、デジタルまたはアナログ媒体、ハードディスク、フロッピー（登録商標）ディスク、コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、記録可能コンパクトディスク（ＣＤ−Ｒ）、書込み可能コンパクトディスク（ＣＤ−ＲＷ）、光ディスク、磁気代替、光磁気媒体、取外し可能メモリカードまたはディスク、種々のタイプのデジタル多目的ディスク（ＤＶＤ）、テープ、カセット、等である。インストラクションは、あらゆる好適なタイプのコードを含み得る。ソースコード、コンパイルコード、インタープリートコード、実行可能コード、スタティックコード、ダイナミックコード、暗号化コード、等といったものであり、あらゆる好適な、高レベル、低レベル、オブジェクト指向、ビジュアル、コンパイル及び/又はインタープリートプログラミング言語を使用して実施される。
【０１１２】
特にそうでないものと規定されていなければ、「処理（”ｐｒｏｓｅｓｓｉｎｇ”）」、「計算（”ｃｏｍｐｕｔｉｎｇ”）」、「算出（”ｃａｌｃｕｌａｔｉｎｇ”）」、「判断（”ｄｅｔｅｒｍｉｎｉｎｇ”）」または類似のもの、といった用語は、コンピュータまたはコンピューティングシステム、もしくは類似の電子計算デバイスのアクション及び/又はプロセスを参照するものとして理解されてよい。コンピュータシステムのレジスタ及び/又はメモリの中の物理量（例えば、電子）として表現されたデータを、コンピュータシステムのメモリ、レジスタ、または他のそうした情報保管、伝送、または表示デバイスの中の物理量として同様に表現された他のデータへと、操作及び/又は変換するものである。実施例は、このコンテクストに限定されるものではない。
【０１１３】
技術的事項が構造的特徴及び/又は方法論的アクトに特有の言語で記述されてきたが、添付の特許請求の範囲における技術的事項は、必ずしも上記の所定の特徴またはアクトに限定されるものではないことが理解されるべきである。むしろ、上記の所定の特徴またはアクトは、特許請求の範囲を実施する形態の例として開示されたものである。
【図１】
2016520933.tif 000003
【図２】
2016520933.tif 000004
【図３】
2016520933.tif 000005
【図４】
2016520933.tif 000006
【図５Ａ】
2016520933.tif 000007
【図５Ｂ】
2016520933.tif 000008
【図５Ｃ】
2016520933.tif 000009
【図６】
2016520933.tif 000010
【図７】
2016520933.tif 000011
【図８】
2016520933.tif 000012
【図９】
2016520933.tif 000013
【国際調査報告】
2016520933.tif 000014
2016520933.tif 000015