JP5752326B2 - マルチコアコンピューティングデバイスのための動的スリープ - Google Patents
マルチコアコンピューティングデバイスのための動的スリープ Download PDFInfo
- Publication number
- JP5752326B2 JP5752326B2 JP2014530687A JP2014530687A JP5752326B2 JP 5752326 B2 JP5752326 B2 JP 5752326B2 JP 2014530687 A JP2014530687 A JP 2014530687A JP 2014530687 A JP2014530687 A JP 2014530687A JP 5752326 B2 JP5752326 B2 JP 5752326B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- low power
- computing device
- rpm
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000006870 function Effects 0.000 claims description 116
- 238000000034 method Methods 0.000 claims description 113
- 230000008569 process Effects 0.000 claims description 47
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000000977 initiatory effect Effects 0.000 claims description 28
- 239000002131 composite material Substances 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 230000003796 beauty Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 239000013078 crystal Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- RYAUSSKQMZRMAI-YESZJQIVSA-N (S)-fenpropimorph Chemical compound C([C@@H](C)CC=1C=CC(=CC=1)C(C)(C)C)N1C[C@H](C)O[C@H](C)C1 RYAUSSKQMZRMAI-YESZJQIVSA-N 0.000 description 5
- 230000009471 action Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 208000019116 sleep disease Diseases 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 244000046313 Graves blackberry Species 0.000 description 1
- 241001092459 Rubus Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Description
本出願は、その内容全体が参照によって本明細書に組み込まれる、2011年9月19日に出願された「Dynamic Sleep For Multicore Computing Devices」という名称の米国仮出願第61/536,207号の優先権の利益を主張する。
クして判断するための手段と、オペレーティングシステムロックが保持されていると判断された場合に、スリープセットトランザクション要求を無視し、第1のコアに割込み信号を送るための手段とを含み得る。
読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、またはそのセットとして常駐し得る。
4 水晶発振器、水晶発振器リソース
6 利用可能な低電力モード、ゲート型動作状態
8 利用可能な低電力モード、完全シャットダウン
200 システムオンチップ、SOC
202 デジタル信号プロセッサ、DSP、プロセッサ
204 モデムプロセッサ、プロセッサ
206 グラフィックスプロセッサ、プロセッサ
208 アプリケーションプロセッサ、プロセッサ
210 コプロセッサ
214 アナログ回路およびカスタム回路、カスタム回路
216 システム構成要素およびリソース、システム構成要素
302 マルチコアプロセッサ
304 処理コア
306 処理コア
308 処理ユニット
310 処理ユニット
312 レベル1(L1)キャッシュ
314 レベル1(L1)キャッシュ
316 レベル2(L2)キャッシュ
318 バス/相互接続インターフェース、バス/相互接続
320 主メモリ、主メモリユニット
322 入力/出力モジュール
324 外部メモリ/ハードディスク
400 マルチコアプロセッサシステム
404 処理コア、コア、プロセッサコア
406 処理コア、コア、プロセッサコア
408 サブシステム電力管理(SPM)ハードウェアブロック
410 サブシステム電力管理(SPM)ハードウェアブロック
412 コアタイマー
414 コアタイマー
416 割込みモジュール
418 アイドルスレッド
420 アイドルスレッド
422 ローカル留置モジュール、留置モジュール、モジュール
424 ローカル留置モジュール、留置モジュール、モジュール
426 ローカルウェイクアップモジュール、ウェイクアップモジュール、コア固有のウェイクアップモジュール
428 ローカルウェイクアップモジュール、ウェイクアップモジュール、コア固有のウェイクアップモジュール
430 ローカルレイテンシモジュール、レイテンシモジュール
432 ローカルレイテンシモジュール、レイテンシモジュール
434 グローバルレイテンシモジュール、レイテンシモジュール
436 グローバルウェイクアップモジュール、ウェイクアップモジュール
438 リソース、ローカルリソース
440 リソース、ローカルリソース
450 リソース電力マネージャ(RPM)
452 スリープ構造、sleep_lprノード
454 リソース、共有リソース
500 態様方法
600 態様方法
700 態様方法
800 態様方法
900 態様方法
1000 モバイルデバイス、モバイル受信機デバイス
1050 モバイルデバイス
1051 プロセッサ、デバイスプロセッサ
1052 内部メモリ
1053 ディスプレイ
1054 アンテナ
1056 モバイルマルチメディア受信機、受信機、キーパッド
1057 ロッカースイッチ
1058 内部プロセッサ、DSPプロセッサ
1059 スピーカー
Claims (76)
- 2又は3以上の実行環境によって共有されるリソースを管理するためのリソース電力マネージャ(RPM)プロセッサを含むマルチコアコンピューティングデバイスにおける電力を節約するための方法であって、
前記マルチコアコンピューティングデバイスの2つ以上のコアによって共有される各低電力リソースに関するメモリ内の参照カウントを維持するステップと、
コア実行スレッドとコア実行アイドルスレッドとで共有される変数にアクセスすることによってどのコアがスリープ状態であるかを判断するステップであって、前記共有される変数は、アイドルスレッドの進入関数の実行に伴って各コアによって増分されるとともに、前記アイドルスレッドの退出関数の実行に伴って各コアによって減分される、ステップと、
メモリに記憶されている値を、各コアの電力状態およびメモリロケーションに関連する前記低電力リソースの各コアの使用に基づいて独立して調整するステップと、
前記メモリロケーションの前記値を使用していつシステム低電力構成に進入するかを判断するステップと
を含む方法。 - 前記マルチコアコンピューティングデバイスの各コアが、前記マルチコアコンピューティングデバイスにおける他のコアのうちの1つまたは複数のオペレーティングシステムとは異なるオペレーティングシステムの下で動作する、請求項1に記載の方法。
- 前記マルチコアコンピューティングデバイスの少なくとも1つのコアが、前記コアを少なくとも1つの他のコアの動作に結び付ける少なくとも1つのリソースを共有し、各コアが、他のコアの各々とは関係なく低電力モードに進入し、低電力モードから退出するように構成される、請求項1に記載の方法。
- フラグビット設定に基づいて低電力モードに置かれ得るリソースを識別するステップと、
コア当たりベースまたはグローバルベースでレイテンシ要件を登録するステップと、
前記登録されたレイテンシ要件から最も厳しいレイテンシ要件を選択するステップと、
前記コアに存在するレイテンシ制限に基づいて、前記選択された最も厳しいレイテンシ耐性を上回る複合レイテンシ要件を有するあらゆる低電力リソースモードまたは低電力リソースモードのあらゆる組合せを除去するために、低電力モードに置かれ得る各リソースに関するコンピューティングデバイス低電力モードについて評価するステップと、
潜在的電力節約量を最大化し、現在のコアに対する前記選択された最悪状況レイテンシ要件以下である総合レイテンシ要件を有する低電力リソースモードの組合せを選択するステップと、
前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップと
をさらに含む、請求項1に記載の方法。 - 前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップは、共有モードに関して、前記参照カウントの値がゼロに等しいときに前記進入関数を実行するステップを含む、請求項4に記載の方法。
- 現在の温度における単位時間当たり潜在的電力節約量と期待されるアイドル時間とを掛けた値に基づいて、前記現在のコアに対して期待される前記アイドル時間における評価された各低電力リソースモードの潜在的電力節約量を判断するステップ
をさらに含む、請求項4に記載の方法。 - 自動無効化のためにリソースをマークするステップと、
前記RPMプロセッサにおいて、前記マークされたリソースに関連するスリープセットを無効化するステップと
をさらに含む、請求項1に記載の方法。 - 先行トランザクションを無効化して、前記先行トランザクションからのリソースが望ましくない形でそれらのスリープセットに進入しないようにするステップ
をさらに含む、請求項1に記載の方法。 - 前記マルチコアコンピューティングデバイスにおける各コアが、そのコアの前記電力状態を制御し、前記コアがその低電力モードに進入するときに前記RPMプロセッサとハンドシェイクするサブシステム電力管理(SPM)ハードウェアブロックを有し、前記方法は、
RPMスリープドライバにおいて、スピンロックが現在保持されていることを検出するステップと、
前記スピンロックが現在保持されていることを検出したことに応答して、トランザクションを無視し、スリープセットトランザクションを送らないステップと、
各コアの前記SPMハードウェアブロックが前記RPMとのハンドシェイクを実行しても、前記RPMプロセッサでスリープセットを適用しないステップと
をさらに含む、請求項1に記載の方法。 - RPMドライバにおいて、アクティブコンテキストでスピンロックを受信するステップと、
前記マルチコアコンピューティングデバイスの第1のコアのスリープモードに進入するステップと、
RPM確認応答割込みを待つ間に前記マルチコアコンピューティングデバイスの第0のコアでアイドルプロセスを開始するステップと、
前記第0のコアでスリープモードについて解き、前記第0のコアが進入するグローバル低電力モードを選択するステップと、
前記第0のコアで前記グローバル低電力モードに進入するステップと、
前記第0のコアで前記RPM確認応答割込みを受信するステップと、
前記スピンロックを解放するステップと
をさらに含む、請求項1に記載の方法。 - 第0のコアでRPMメッセージの送信を開始するステップと、
RPMドライバにおいて、オペレーティングシステムロックを受信するステップと、
前記マルチコアコンピューティングデバイスの第1のコアでスリープモードに進入し、RPMトランザクションを形成するステップと、
前記第1のコアでスリープセットの送信を開始するステップと、
前記第1のコアから前記RPMドライバに対するスリープセットトランザクション要求を受信し、前記オペレーティングシステムロックが保持されているかどうかをチェックして判断するステップと、
前記オペレーティングシステムロックが保持されていると判断された場合に、スリープセットトランザクション要求を無視し、前記第1のコアに割込み信号を送るステップと
をさらに含む、請求項1に記載の方法。 - スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアが別のRPMトランザクションを送っている間は防止するステップをさらに含む、請求項1に記載の方法。
- スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアがRPMトランザクションを送っている間は防止するステップは、RPM開始動作中およびRPM停止動作中に前記スピンロックを保持するステップを含む、請求項12に記載の方法。
- 前記マルチコアコンピューティングデバイスにおける各コアが、スリープセットの独立部分に書き込み、
スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアがRPMトランザクションを送っている間は防止するステップは、前記スリープセットにリソースを追加するときに前記スピンロックを解放するステップを含む、請求項12に記載の方法。 - メモリと、
前記メモリに接続された1又は2以上のプロセッサと、を含み、
前記1又は2以上のプロセッサは、2又は3以上の実行環境によって共有されるリソースを管理するためのリソース電力マネージャ(RPM)プロセッサを含むとともに、前記1又は2以上のプロセッサには、マルチコアコンピューティングデバイスが動作を実行するようにプロセッサ実行可能な命令が設定され、
前記動作は、
前記マルチコアコンピューティングデバイスの2つ以上のコアによって共有される各低電力リソースに関するメモリ内の参照カウントを維持するステップと、
コア実行スレッドとコア実行アイドルスレッドとで共有される変数にアクセスすることによってどのコアがスリープ状態であるかを判断するステップであって、前記共有される変数は、アイドルスレッドの進入関数の実行に伴って各コアによって増分されるとともに、前記アイドルスレッドの退出関数の実行に伴って各コアによって減分される、ステップと、
メモリに記憶されている値を、各コアの電力状態およびメモリロケーションに関連する前記低電力リソースの各コアの使用に基づいて独立して調整するステップと、
前記メモリロケーションの前記値を使用して、いつシステム低電力構成に進入するかを判断するステップと
を含む、マルチコアコンピューティングデバイス。 - 前記マルチコアコンピューティングデバイスの各コアが、前記マルチコアコンピューティングデバイスにおける他のコアのうちの1つまたは複数のオペレーティングシステムとは異なるオペレーティングシステムの下で動作するような動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項15に記載のマルチコアコンピューティングデバイス。
- 前記マルチコアコンピューティングデバイスの少なくとも1つのコアが、前記コアを少なくとも1つの他のコアの動作に結び付ける少なくとも1つのリソースを共有し、各コアが、他のコアの各々とは関係なく低電力モードに進入し、低電力モードから退出するように、動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項15に記載のマルチコアコンピューティングデバイス。
- フラグビット設定に基づいて低電力モードに置かれ得るリソースを識別するステップと、
コア当たりベースまたはグローバルベースでレイテンシ要件を登録するステップと、
前記登録されたレイテンシ要件から最も厳しいレイテンシ要件を選択するステップと、
前記コアに存在するレイテンシ制限に基づいて、前記選択された最も厳しいレイテンシ耐性を上回る複合レイテンシ要件を有するあらゆる低電力リソースモードまたは低電力リソースモードのあらゆる組合せを除去するために、低電力モードに置かれ得る各リソースに関するコンピューティングデバイス低電力モードについて評価するステップと、
潜在的電力節約量を最大化し、現在のコアに対する前記選択された最悪状況レイテンシ要件以下である総合レイテンシ要件を有する低電力リソースモードの組合せを選択するステップと、
前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップと
をさらに含む動作を前記マルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項15に記載のマルチコアコンピューティングデバイス。 - 前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって前記選択された低電力リソースモードの組合せに進入するステップが、共有モードに関して、前記参照カウントの値がゼロに等しいときに前記進入関数を実行するステップを含むような動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項18に記載のマルチコアコンピューティングデバイス。
- 現在の温度における単位時間当たり潜在的電力節約量と期待されるアイドル時間とを掛けた値に基づいて、前記現在のコアに対して期待される前記アイドル時間における評価された各低電力リソースモードの潜在的電力節約量を判断するステップ
をさらに含む動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項18に記載のマルチコアコンピューティングデバイス。 - 自動無効化のためにリソースをマークするステップと、
前記RPMプロセッサにおいて、前記マークされたリソースに関連するスリープセットを無効化するステップと
をさらに含む動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項15に記載のマルチコアコンピューティングデバイス。 - 先行トランザクションを無効化して、前記先行トランザクションからのリソースが望ましくない形でそれらのスリープセットに進入しないようにするステップ
をさらに含む動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項15に記載のマルチコアコンピューティングデバイス。 - 前記マルチコアコンピューティングデバイスは、コアの電力状態を制御し、前記コアがその低電力モードに進入するときに前記RPMプロセッサとハンドシェイクするように構成されたサブシステム電力管理(SPM)ハードウェアブロックをさらに有し、
前記1又は2以上のプロセッサには、前記マルチコアコンピューティングデバイスが、
RPMスリープドライバにおいて、スピンロックが現在保持されていることを検出するステップと、
前記スピンロックが現在保持されていることを検出したことに応答して、トランザクションを無視し、スリープセットトランザクションを送らないステップと、
各コアの前記SPMハードウェアブロックが前記RPMとのハンドシェイクを実行しても、前記RPMプロセッサでスリープセットを適用しないステップと
をさらに含む、
動作を実行するようにプロセッサ実行可能な命令が設定される、請求項15に記載のマルチコアコンピューティングデバイス。 - RPMドライバにおいて、アクティブコンテキストでスピンロックを受信するステップと、
前記マルチコアコンピューティングデバイスの第1のコアのスリープモードに進入するステップと、
RPM確認応答割込みを待つ間に前記マルチコアコンピューティングデバイスの第0のコアでアイドルプロセスを開始するステップと、
前記第0のコアでスリープモードについて解き、前記第0のコアが進入するグローバル低電力モードを選択するステップと、
前記第0のコアで前記グローバル低電力モードに進入するステップと、
前記第0のコアで前記RPM確認応答割込みを受信するステップと、
前記スピンロックを解放するステップと
をさらに含む動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項15に記載のマルチコアコンピューティングデバイス。 - 第0のコアでRPMメッセージの送信を開始するステップと、
RPMドライバにおいて、オペレーティングシステムロックを受信するステップと、
前記マルチコアコンピューティングデバイスの第1のコアでスリープモードに進入し、RPMトランザクションを形成するステップと、
前記第1のコアでスリープセットの送信を開始するステップと、
前記第1のコアから前記RPMドライバに対するスリープセットトランザクション要求を受信し、前記オペレーティングシステムロックが保持されているかどうかをチェックして判断するステップと、
前記オペレーティングシステムロックが保持されていると判断された場合に、スリープセットトランザクション要求を無視し、前記第1のコアに割込み信号を送るステップと
をさらに含む動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項15に記載のマルチコアコンピューティングデバイス。 - スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアが別のRPMトランザクションを送っている間は防止するステップをさらに含む動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項15に記載のマルチコアコンピューティングデバイス。
- スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアがRPMトランザクションを送っている間は防止するステップが、RPM開始動作中およびRPM停止動作中に前記スピンロックを保持するステップを含むような動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項26に記載のマルチコアコンピューティングデバイス。
- 前記マルチコアコンピューティングデバイスにおける各コアが、スリープセットの独立部分に書き込み、
スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアがRPMトランザクションを送っている間は防止するステップが、前記スリープセットにリソースを追加するときに前記スピンロックを解放するステップを含むような動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項26に記載のマルチコアコンピューティングデバイス。 - 2又は3以上の実行環境によって共有されるリソースを管理するためのリソース電力マネージャ(RPM)プロセッサを含むマルチコアコンピューティングデバイスでの電力を節約するための動作をプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を記憶した非一時的コンピュータ可読記憶媒体であって、
前記動作は、
前記マルチコアコンピューティングデバイスの2つ以上のコアによって共有される各低電力リソースに関するメモリ内の参照カウントを維持するステップと、
コア実行スレッドとコア実行アイドルスレッドとで共有される変数にアクセスすることによってどのコアがスリープ状態であるかを判断するステップであって、前記共有される変数は、アイドルスレッドの進入関数の実行に伴って各コアによって増分されるとともに、前記アイドルスレッドの退出関数の実行に伴って各コアによって減分される、ステップと、
メモリに記憶されている値を、各コアの電力状態およびメモリロケーションに関連する前記低電力リソースの各コアの使用に基づいて独立して調整するステップと、
前記メモリロケーションの前記値を使用して、いつシステム低電力構成に進入するかを判断するステップと
を含む、非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、前記マルチコアコンピューティングデバイスの各コアを、前記マルチコアコンピューティングデバイスにおける他のコアのうちの1つまたは複数のオペレーティングシステムとは異なるオペレーティングシステムの下で動作させるように、動作をプロセッサに実行させるように構成される、請求項29に記載の非一時的コンピュータ可読記憶媒体。
- 前記記憶されているプロセッサ実行可能なソフトウェア命令は、前記マルチコアコンピューティングデバイスの少なくとも1つのコアが、前記コアを少なくとも1つの他のコアの動作に結び付ける少なくとも1つのリソースを共有し、各コアが、他のコアの各々とは関係なく低電力モードに進入し、低電力モードから退出するように、動作をプロセッサに実行させるように構成される、請求項29に記載の非一時的コンピュータ可読記憶媒体。
- 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
フラグビット設定に基づいて低電力モードに置かれ得るリソースを識別するステップと、
コア当たりベースまたはグローバルベースでレイテンシ要件を登録するステップと、
前記登録されたレイテンシ要件から最も厳しいレイテンシ要件を選択するステップと、
前記コアに存在するレイテンシ制限に基づいて、前記選択された最も厳しいレイテンシ耐性を上回る複合レイテンシ要件を有するあらゆる低電力リソースモードまたは低電力リソースモードのあらゆる組合せを除去するために、低電力モードに置かれ得る各リソースに関するコンピューティングデバイス低電力モードについて評価するステップと、
潜在的電力節約量を最大化し、現在のコアに対する前記選択された最悪状況レイテンシ要件以下である総合レイテンシ要件を有する低電力リソースモードの組合せを選択するステップと、
前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップと
をさらに含む動作をプロセッサに実行させるように構成される、請求項29に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって前記選択された低電力リソースモードの組合せに進入するステップが、共有モードに関して、前記参照カウントの値がゼロに等しいときに前記進入関数を実行するステップを含むような動作をプロセッサに実行させるように構成される、請求項32に記載の非一時的コンピュータ可読記憶媒体。
- 前記記憶されているプロセッサ実行可能なソフトウェア命令は、現在の温度における単位時間当たり潜在的電力節約量と期待されるアイドル時間とを掛けた値に基づいて、前記現在のコアに対して期待される前記アイドル時間における評価された各低電力リソースモードの潜在的電力節約量を判断するステップ
をさらに含む動作をプロセッサに実行させるように構成される請求項32に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、自動無効化のためにリソースをマークするステップと、
前記RPMプロセッサにおいて、前記マークされたリソースに関連するスリープセットを無効化するステップと
をさらに含む動作をプロセッサに実行させるように構成される、請求項29に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
先行トランザクションを無効化して、前記先行トランザクションからのリソースが望ましくない形でそれらのスリープセットに進入しないようにするステップ
をさらに含む動作をプロセッサに実行させるように構成される、請求項29に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、前記マルチコアコンピューティングデバイスにおける各コアが、そのコアの前記電力状態を制御し、前記コアがその低電力モードに進入するときに前記RPMプロセッサとハンドシェイクするサブシステム電力管理(SPM)ハードウェアブロックを有するように、動作をプロセッサに実行させるように構成され、
前記動作は、
RPMスリープドライバにおいて、スピンロックが現在保持されていることを検出するステップと、
前記スピンロックが現在保持されていることを検出したことに応答して、トランザクションを無視し、スリープセットトランザクションを送らないステップと、
各コアの前記SPMハードウェアブロックが前記RPMとのハンドシェイクを実行しても、前記RPMプロセッサでスリープセットを適用しないステップと
をさらに含む、
請求項29に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
RPMドライバにおいて、アクティブコンテキストでスピンロックを受信するステップと、
前記マルチコアコンピューティングデバイスの第1のコアのスリープモードに進入するステップと、
RPM確認応答割込みを待つ間に前記マルチコアコンピューティングデバイスの第0のコアでアイドルプロセスを開始するステップと、
前記第0のコアでスリープモードについて解き、前記第0のコアが進入するグローバル低電力モードを選択するステップと、
前記第0のコアで前記グローバル低電力モードに進入するステップと、
前記第0のコアで前記RPM確認応答割込みを受信するステップと、
前記スピンロックを解放するステップと
をさらに含む動作をプロセッサに実行させるように構成される、請求項29に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
第0のコアでRPMメッセージの送信を開始するステップと、
RPMドライバにおいて、オペレーティングシステムロックを受信するステップと、
前記マルチコアコンピューティングデバイスの第1のコアでスリープモードに進入し、RPMトランザクションを形成するステップと、
前記第1のコアでスリープセットの送信を開始するステップと、
前記第1のコアから前記RPMドライバに対するスリープセットトランザクション要求を受信し、前記オペレーティングシステムロックが保持されているかどうかをチェックして判断するステップと、
前記オペレーティングシステムロックが保持されていると判断された場合に、スリープセットトランザクション要求を無視し、前記第1のコアに割込み信号を送るステップと、
をさらに含む動作をプロセッサに実行させるように構成される、請求項29に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアが別のRPMトランザクションを送っている間は防止するステップをさらに含む動作をプロセッサに実行させるように構成される、請求項29に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアがRPMトランザクションを送っている間は防止するステップが、RPM開始動作中およびRPM停止動作中に前記スピンロックを保持するステップを含むような動作をプロセッサに実行させるように構成される、請求項40に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
前記マルチコアコンピューティングデバイスにおける各コアが、スリープセットの独立部分に書き込み、
スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアがRPMトランザクションを送っている間は防止するステップが、前記スリープセットにリソースを追加するときに前記スピンロックを解放するステップを含むような動作をプロセッサに実行させるように構成される、請求項40に記載の非一時的コンピュータ可読記憶媒体。 - リソース電力マネージャ(RPM)プロセッサを介してマルチコアコンピューティングデバイスの2又は3以上の実行環境によって共有されるリソースを管理する手段と、
前記マルチコアコンピューティングデバイスの2つ以上のコアによって共有される各低電力リソースに関するメモリ内の参照カウントを維持する手段と、
コア実行スレッドとコア実行アイドルスレッドとで共有される変数にアクセスすることによってどのコアがスリープ状態であるかを判断する手段であって、前記共有される変数は、アイドルスレッドの進入関数の実行に伴って各コアによって増分されるとともに、前記アイドルスレッドの退出関数の実行に伴って各コアによって減分される、手段と、
メモリに記憶されている値を、各コアの電力状態およびメモリロケーションに関連する前記低電力リソースの各コアの使用に基づいて独立して調整する手段と、
前記メモリロケーションの前記値を使用していつシステム低電力構成に進入するかを判断する手段と、を有する
マルチコアコンピューティングデバイス。 - 前記マルチコアコンピューティングデバイスの各コアを、前記マルチコアコンピューティングデバイスにおける他のコアのうちの1つまたは複数のオペレーティングシステムとは異なるオペレーティングシステムの下で動作させる手段をさらに含む、請求項43記載のマルチコアコンピューティングデバイス。
- 前記マルチコアコンピューティングデバイスの少なくとも1つのコアが、前記コアを少なくとも1つの他のコアの動作に結び付ける少なくとも1つのリソースを共有し、各コアが、他のコアの各々とは関係なく低電力モードに進入し、低電力モードから退出するように、前記マルチコアコンピューティングデバイスを構成する手段をさらに含む、請求項43記載のマルチコアコンピューティングデバイス。
- フラグビット設定に基づいて低電力モードに置かれ得るリソースを識別する手段と、
コア当たりベースまたはグローバルベースでレイテンシ要件を登録する手段と、
前記登録されたレイテンシ要件から最も厳しいレイテンシ要件を選択する手段と、
前記コアに存在するレイテンシ制限に基づいて、前記選択された最も厳しいレイテンシ耐性を上回る複合レイテンシ要件を有するあらゆる低電力リソースモードまたは低電力リソースモードのあらゆる組合せを除去するために、低電力モードに置かれ得る各リソースに関するコンピューティングデバイス低電力モードについて評価する手段と、
潜在的電力節約量を最大化し、現在のコアに対する前記選択された最悪状況レイテンシ要件以下である総合レイテンシ要件を有する低電力リソースモードの組合せを選択する手段と、
前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入する手段と
をさらに含む、請求項43に記載のマルチコアコンピューティングデバイス。 - 前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入する手段は、共有モードに関して、前記参照カウントの値がゼロに等しいときに前記進入関数を実行する手段を含む、請求項46に記載のマルチコアコンピューティングデバイス。
- 現在の温度における単位時間当たり潜在的電力節約量と期待されるアイドル時間とを掛けた値に基づいて、前記現在のコアに対して期待される前記アイドル時間における評価された各低電力リソースモードの潜在的電力節約量を判断する手段
をさらに含む、請求項46に記載のマルチコアコンピューティングデバイス。 - 自動無効化のためにリソースをマークする手段と、
前記RPMプロセッサにおいて、前記マークされたリソースに関連するスリープセットを無効化する手段と
をさらに含む、請求項43に記載のマルチコアコンピューティングデバイス。 - 先行トランザクションを無効化して、前記先行トランザクションからのリソースが望ましくない形でそれらのスリープセットに進入しないようにする手段
をさらに含む、請求項43に記載のマルチコアコンピューティングデバイス。 - 前記マルチコアコンピューティングデバイスにおける各コアが、そのコアの前記電力状態を制御し、前記コアがその低電力モードに進入するときに前記RPMプロセッサとハンドシェイクするサブシステム電力管理(SPM)ハードウェアブロックを有し、前記マルチコアコンピューティングデバイスは、
RPMスリープドライバにおいて、スピンロックが現在保持されていることを検出する手段と、
前記スピンロックが現在保持されていることを検出したことに応答して、トランザクションを無視し、スリープセットトランザクションを送らない手段と、
各コアの前記SPMハードウェアブロックが前記RPMとのハンドシェイクを実行しても、前記RPMプロセッサでスリープセットを適用しない手段と
をさらに含む、請求項43に記載のマルチコアコンピューティングデバイス。 - RPMドライバにおいて、アクティブコンテキストでスピンロックを受信する手段と、
前記マルチコアコンピューティングデバイスの第1のコアのスリープモードに進入する手段と、
RPM確認応答割込みを待つ間に前記マルチコアコンピューティングデバイスの第0のコアでアイドルプロセスを開始する手段と、
前記第0のコアでスリープモードについて解き、前記第0のコアが進入するグローバル低電力モードを選択する手段と、
前記第0のコアで前記グローバル低電力モードに進入する手段と、
前記第0のコアで前記RPM確認応答割込みを受信する手段と、
前記スピンロックを解放する手段と
をさらに含む、請求項43に記載のマルチコアコンピューティングデバイス。 - 第0のコアでRPMメッセージの送信を開始する手段と、
RPMドライバにおいて、オペレーティングシステムロックを受信する手段と、
前記マルチコアコンピューティングデバイスの第1のコアでスリープモードに進入し、RPMトランザクションを形成する手段と、
前記第1のコアでスリープセットの送信を開始する手段と、
前記第1のコアから前記RPMドライバに対するスリープセットトランザクション要求を受信し、前記オペレーティングシステムロックが保持されているかどうかをチェックして判断する手段と、
前記オペレーティングシステムロックが保持されていると判断された場合に、スリープセットトランザクション要求を無視し、前記第1のコアに割込み信号を送る手段と
をさらに含む、請求項43に記載のマルチコアコンピューティングデバイス。 - スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアが別のRPMトランザクションを送っている間は防止する手段をさらに含む、請求項43に記載のマルチコアコンピューティングデバイス。
- スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアがRPMトランザクションを送っている間は防止する手段は、RPM開始動作中およびRPM停止動作中に前記スピンロックを保持する手段を含む、請求項54に記載のマルチコアコンピューティングデバイス。
- 前記マルチコアコンピューティングデバイスにおける各コアが、スリープセットの独立部分に書き込むように、前記コアを構成する手段をさらに含み、
スピンロックを使用して、あるコアがRPMトランザクションを開始することを、別のコアがRPMトランザクションを送っている間は防止する手段は、前記スリープセットにリソースを追加するときに前記スピンロックを解放する手段を含む、請求項54に記載のマルチコアコンピューティングデバイス。 - マルチコアコンピューティングデバイスにおける電力を節約する方法であって、
前記マルチコアコンピューティングデバイスの2つ以上のコアによって共有される各低電力リソースに関するメモリ内の参照カウントを維持するステップと、
メモリに記憶されている値を、各コアの電力状態およびメモリロケーションに関連する前記低電力リソースの各コアの使用に基づいて独立して調整するステップと、
前記メモリロケーションの前記値を使用していつシステム低電力構成に進入するかを判断するステップと、
フラグビット設定に基づいて低電力モードに置かれ得るリソースを識別するステップと、
コア当たりベースまたはグローバルベースでレイテンシ要件を登録するステップと、
前記登録されたレイテンシ要件から最も厳しいレイテンシ要件を選択するステップと、
前記コアに存在するレイテンシ制限に基づいて、前記選択された最も厳しいレイテンシ耐性を上回る複合レイテンシ要件を有するあらゆる低電力リソースモードまたは低電力リソースモードのあらゆる組合せを除去するために、低電力モードに置かれ得る各リソースに関するコンピューティングデバイス低電力モードについて評価するステップと、
潜在的電力節約量を最大化し、現在のコアに対する前記選択された最悪状況レイテンシ要件以下である総合レイテンシ要件を有する低電力リソースモードの組合せを選択するステップと、
前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップと、によって前記システム低電力構成に進入するステップと、
を含む方法。 - 前記マルチコアコンピューティングデバイスの各コアが、前記マルチコアコンピューティングデバイスにおける他のコアのうちの1つまたは複数のオペレーティングシステムとは異なるオペレーティングシステムの下で動作する、請求項57に記載の方法。
- 前記マルチコアコンピューティングデバイスの少なくとも1つのコアが、前記コアを少なくとも1つの他のコアの動作に結び付ける少なくとも1つのリソースを共有し、各コアが、他のコアの各々とは関係なく低電力モードに進入し、低電力モードから退出するように構成される、請求項57に記載の方法。
- 前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップは、共有モードに関して、前記参照カウントの値がゼロに等しいときに前記進入関数を実行するステップを含む、請求項57に記載の方法。
- 現在の温度における単位時間当たり潜在的電力節約量と期待されるアイドル時間とを掛けた値に基づいて、前記現在のコアに対して期待される前記アイドル時間における評価された各低電力リソースモードの潜在的電力節約量を判断するステップ
をさらに含む、請求項57に記載の方法。 - マルチコアコンピューティングデバイスであって、
メモリと、
前記メモリに接続された1又は2以上のプロセッサと、を含み、
前記1又は2以上のプロセッサには、マルチコアコンピューティングデバイスが動作を実行するようにプロセッサ実行可能な命令が設定され、
前記動作は、
前記マルチコアコンピューティングデバイスの2つ以上のコアによって共有される各低電力リソースに関するメモリ内の参照カウントを維持するステップと、
メモリに記憶されている値を、各コアの電力状態およびメモリロケーションに関連する前記低電力リソースの各コアの使用に基づいて独立して調整するステップと、
前記メモリロケーションの前記値を使用して、いつシステム低電力構成に進入するかを判断するステップと
フラグビット設定に基づいて低電力モードに置かれ得るリソースを識別するステップと、
コア当たりベースまたはグローバルベースでレイテンシ要件を登録するステップと、
前記登録されたレイテンシ要件から最も厳しいレイテンシ要件を選択するステップと、
前記コアに存在するレイテンシ制限に基づいて、前記選択された最も厳しいレイテンシ耐性を上回る複合レイテンシ要件を有するあらゆる低電力リソースモードまたは低電力リソースモードのあらゆる組合せを除去するために、低電力モードに置かれ得る各リソースに関するコンピューティングデバイス低電力モードについて評価するステップと、
潜在的電力節約量を最大化し、現在のコアに対する前記選択された最悪状況レイテンシ要件以下である総合レイテンシ要件を有する低電力リソースモードの組合せを選択するステップと、
前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップと、によって前記システム低電力構成に進入するステップと、
を含む、マルチコアコンピューティングデバイス。 - 前記マルチコアコンピューティングデバイスの各コアが、前記マルチコアコンピューティングデバイスにおける他のコアのうちの1つまたは複数のオペレーティングシステムとは異なるオペレーティングシステムの下で動作するように、前記マルチコアコンピューティングデバイスに動作を実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項62に記載のマルチコアコンピューティングデバイス。
- 前記マルチコアコンピューティングデバイスの少なくとも1つのコアが、前記コアを少なくとも1つの他のコアの動作に結び付ける少なくとも1つのリソースを共有し、各コアが、他のコアの各々とは関係なく低電力モードに進入し、低電力モードから退出するように、前記1又は2以上のプロセッサには、前記マルチコアコンピューティングデバイスに動作を実行させるように、プロセッサ実行可能な命令が設定される、請求項62に記載のマルチコアコンピューティングデバイス。
- 前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップは、共有モードに関して、前記参照カウントの値がゼロに等しいときに前記進入関数を実行するステップを含むように、前記1又は2以上のプロセッサには、前記マルチコアコンピューティングデバイスに動作を実行させるように、プロセッサ実行可能な命令が設定される、請求項62に記載のマルチコアコンピューティングデバイス。
- 現在の温度における単位時間当たり潜在的電力節約量と期待されるアイドル時間とを掛けた値に基づいて、前記現在のコアに対して期待される前記アイドル時間における評価された各低電力リソースモードの潜在的電力節約量を判断するステップ
をさらに含む動作をマルチコアコンピューティングデバイスに実行させるように、前記1又は2以上のプロセッサには、プロセッサ実行可能な命令が設定される、請求項62に記載のマルチコアコンピューティングデバイス。 - マルチコアコンピューティングデバイスにおける電力を節約するための動作をプロセッサに実行させるように構成されるプロセッサ実行可能なソフトウェア命令を記憶した非一時的コンピュータ可読記憶媒体であって、
前記動作は、
前記マルチコアコンピューティングデバイスの2つ以上のコアによって共有される各低電力リソースに関するメモリ内の参照カウントを維持するステップと、
メモリに記憶されている値を、各コアの電力状態およびメモリロケーションに関連する前記低電力リソースの各コアの使用に基づいて独立して調整するステップと、
前記メモリロケーションの前記値を使用していつシステム低電力構成に進入するかを判断するステップと、
フラグビット設定に基づいて低電力モードに置かれ得るリソースを識別するステップと、
コア当たりベースまたはグローバルベースでレイテンシ要件を登録するステップと、
前記登録されたレイテンシ要件から最も厳しいレイテンシ要件を選択するステップと、
前記コアに存在するレイテンシ制限に基づいて、前記選択された最も厳しいレイテンシ耐性を上回る複合レイテンシ要件を有するあらゆる低電力リソースモードまたは低電力リソースモードのあらゆる組合せを除去するために、低電力モードに置かれ得る各リソースに関するコンピューティングデバイス低電力モードについて評価するステップと、
潜在的電力節約量を最大化し、現在のコアに対する前記選択された最悪状況レイテンシ要件以下である総合レイテンシ要件を有する低電力リソースモードの組合せを選択するステップと、
前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップと、によって前記システム低電力構成に進入するステップと、
を含む、
非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
前記マルチコアコンピューティングデバイスの各コアが、前記マルチコアコンピューティングデバイスにおける他のコアのうちの1つまたは複数のオペレーティングシステムとは異なるオペレーティングシステムの下で動作するように、前記プロセッサに動作を実行させるように構成される、
請求項67に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
前記マルチコアコンピューティングデバイスの少なくとも1つのコアが、前記コアを少なくとも1つの他のコアの動作に結び付ける少なくとも1つのリソースを共有し、各コアが、他のコアの各々とは関係なく低電力モードに進入し、低電力モードから退出するように、プロセッサに動作を実行させるように構成される、請求項67に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入するステップは、共有モードに関して、前記参照カウントの値がゼロに等しいときに前記進入関数を実行するステップを含むように、プロセッサに動作を実行させるように構成される、請求項67に記載の非一時的コンピュータ可読記憶媒体。 - 前記記憶されているプロセッサ実行可能なソフトウェア命令は、
現在の温度における単位時間当たり潜在的電力節約量と期待されるアイドル時間とを掛けた値に基づいて、前記現在のコアに対して期待される前記アイドル時間における評価された各低電力リソースモードの潜在的電力節約量を判断するステップ
をさらに含む動作をプロセッサに実行させるように構成される、請求項67に記載の非一時的コンピュータ可読記憶媒体。 - マルチコアコンピューティングデバイスの2つ以上のコアによって共有される各低電力リソースに関するメモリ内の参照カウントを維持する手段と、
メモリに記憶されている値を、各コアの電力状態およびメモリロケーションに関連する前記低電力リソースの各コアの使用に基づいて独立して調整する手段と、
前記メモリロケーションの前記値を使用して、いつシステム低電力構成に進入するかを判断する手段と
フラグビット設定に基づいて低電力モードに置かれ得るリソースを識別する手段と、
コア当たりベースまたはグローバルベースでレイテンシ要件を登録する手段と、
前記登録されたレイテンシ要件から最も厳しいレイテンシ要件を選択する手段と、
前記コアに存在するレイテンシ制限に基づいて、前記選択された最も厳しいレイテンシ耐性を上回る複合レイテンシ要件を有するあらゆる低電力リソースモードまたは低電力リソースモードのあらゆる組合せを除去するために、低電力モードに置かれ得る各リソースに関するコンピューティングデバイス低電力モードについて評価する手段と、
潜在的電力節約量を最大化し、現在のコアに対する前記選択された最悪状況レイテンシ要件以下である総合レイテンシ要件を有する低電力リソースモードの組合せを選択する手段と、
前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入する手段とを含む
マルチコアコンピューティングデバイス。 - 前記マルチコアコンピューティングデバイスの各コアが、前記マルチコアコンピューティングデバイスにおける他のコアのうちの1つまたは複数のオペレーティングシステムとは異なるオペレーティングシステムの下で動作するための手段を更に含む
請求項72に記載のマルチコアコンピューティングデバイス。 - 前記マルチコアコンピューティングデバイスの少なくとも1つのコアが、前記コアを少なくとも1つの他のコアの動作に結び付ける少なくとも1つのリソースを共有し、各コアが、他のコアの各々とは関係なく低電力モードに進入し、低電力モードから退出するように、前記マルチコアコンピューティングデバイスを構成する手段を更に含む、請求項72に記載のマルチコアコンピューティングデバイス。
- 前記識別されたリソースの各々に対して前記選択された低電力モードの各々の進入関数を実行することによって、前記選択された低電力リソースモードの組合せに進入する手段は、共有モードに関して、前記参照カウントの値がゼロに等しいときに前記進入関数を実行する手段を含む、請求項72に記載のマルチコアコンピューティングデバイス。
- 現在の温度における単位時間当たり潜在的電力節約量と期待されるアイドル時間とを掛けた値に基づいて、前記現在のコアに対して期待される前記アイドル時間における評価された各低電力リソースモードの潜在的電力節約量を判断する手段を更に含む、請求項72に記載のマルチコアコンピューティングデバイス。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161536207P | 2011-09-19 | 2011-09-19 | |
US61/536,207 | 2011-09-19 | ||
US13/312,678 US8862917B2 (en) | 2011-09-19 | 2011-12-06 | Dynamic sleep for multicore computing devices |
US13/312,678 | 2011-12-06 | ||
PCT/US2012/053352 WO2013043352A1 (en) | 2011-09-19 | 2012-08-31 | Dynamic sleep for multicore computing devices |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014527249A JP2014527249A (ja) | 2014-10-09 |
JP2014527249A5 JP2014527249A5 (ja) | 2014-12-25 |
JP5752326B2 true JP5752326B2 (ja) | 2015-07-22 |
Family
ID=47881796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014530687A Active JP5752326B2 (ja) | 2011-09-19 | 2012-08-31 | マルチコアコンピューティングデバイスのための動的スリープ |
Country Status (6)
Country | Link |
---|---|
US (1) | US8862917B2 (ja) |
EP (1) | EP2758851B1 (ja) |
JP (1) | JP5752326B2 (ja) |
KR (1) | KR101529018B1 (ja) |
CN (1) | CN103814342B (ja) |
WO (1) | WO2013043352A1 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9429983B1 (en) | 2013-09-12 | 2016-08-30 | Advanced Processor Architectures, Llc | System clock distribution in a distributed computing environment |
US8675371B2 (en) * | 2009-08-07 | 2014-03-18 | Advanced Processor Architectures, Llc | Distributed computing |
US9645603B1 (en) | 2013-09-12 | 2017-05-09 | Advanced Processor Architectures, Llc | System clock distribution in a distributed computing environment |
US11042211B2 (en) | 2009-08-07 | 2021-06-22 | Advanced Processor Architectures, Llc | Serially connected computing nodes in a distributed computing system |
US8504855B2 (en) | 2010-01-11 | 2013-08-06 | Qualcomm Incorporated | Domain specific language, compiler and JIT for dynamic power management |
US9235251B2 (en) | 2010-01-11 | 2016-01-12 | Qualcomm Incorporated | Dynamic low power mode implementation for computing devices |
US8812761B2 (en) * | 2011-10-28 | 2014-08-19 | Apple Inc. | System and method for adjusting power usage to reduce interrupt latency |
US9176563B2 (en) * | 2012-05-14 | 2015-11-03 | Broadcom Corporation | Leakage variation aware power management for multicore processors |
US9645630B2 (en) * | 2013-01-18 | 2017-05-09 | Apple Inc. | Selectively permitting an apparatus to be awakened depending on a programmable setting |
US20140310541A1 (en) * | 2013-04-15 | 2014-10-16 | Advanced Micro Devices, Inc. | Power Gating Shared Logic |
US9541987B2 (en) * | 2013-06-28 | 2017-01-10 | Intel Corporation | Generic host-based controller latency method and appartus |
US9535488B2 (en) | 2013-08-28 | 2017-01-03 | Via Technologies, Inc. | Multi-core microprocessor that dynamically designates one of its processing cores as the bootstrap processor |
US9465432B2 (en) | 2013-08-28 | 2016-10-11 | Via Technologies, Inc. | Multi-core synchronization mechanism |
US9792112B2 (en) | 2013-08-28 | 2017-10-17 | Via Technologies, Inc. | Propagation of microcode patches to multiple cores in multicore microprocessor |
GB2519804A (en) * | 2013-10-31 | 2015-05-06 | Nec Corp | Power saving in mobile radio communications device |
US10079019B2 (en) | 2013-11-12 | 2018-09-18 | Apple Inc. | Always-on audio control for mobile device |
US9836113B2 (en) * | 2013-12-23 | 2017-12-05 | Intel Corporation | Method and apparatus to manage power usage in a processor |
WO2015099802A1 (en) | 2013-12-28 | 2015-07-02 | Intel Corporation | Techniques for increasing energy efficiency of sensor controllers |
US9552033B2 (en) | 2014-04-22 | 2017-01-24 | Qualcomm Incorporated | Latency-based power mode units for controlling power modes of processor cores, and related methods and systems |
US9619377B2 (en) | 2014-05-29 | 2017-04-11 | Apple Inc. | System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode |
US9778728B2 (en) | 2014-05-29 | 2017-10-03 | Apple Inc. | System on a chip with fast wake from sleep |
US10031000B2 (en) | 2014-05-29 | 2018-07-24 | Apple Inc. | System on a chip with always-on processor |
US20150355942A1 (en) * | 2014-06-04 | 2015-12-10 | Texas Instruments Incorporated | Energy-efficient real-time task scheduler |
KR20170023813A (ko) * | 2014-06-20 | 2017-03-06 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 반도체 장치 |
KR102169692B1 (ko) | 2014-07-08 | 2020-10-26 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 동적 전력 관리 방법 |
US9479331B2 (en) | 2014-08-20 | 2016-10-25 | Apple Inc. | Managing security in a system on a chip (SOC) that powers down a secure processor |
US9804650B2 (en) * | 2014-09-04 | 2017-10-31 | Qualcomm Incorporated | Supply voltage node coupling using a switch |
US9395970B2 (en) * | 2014-09-30 | 2016-07-19 | Sony Interactive Entertainment America Llc | Method and apparatus for providing a time period for starting an application |
US9612651B2 (en) * | 2014-10-27 | 2017-04-04 | Futurewei Technologies, Inc. | Access based resources driven low power control and management for multi-core system on a chip |
GB2532495B (en) * | 2014-11-21 | 2018-05-02 | Advanced Risc Mach Ltd | Graphics processing systems |
KR102347657B1 (ko) * | 2014-12-02 | 2022-01-06 | 삼성전자 주식회사 | 전자 장치 및 이의 공유 캐시 메모리 제어 방법 |
US20160188503A1 (en) * | 2014-12-25 | 2016-06-30 | Intel Corporation | Virtual legacy wire |
US10489202B2 (en) * | 2014-12-30 | 2019-11-26 | NetSuite Inc. | System and methods for implementing control of use of shared resource in a multi-tenant system |
US9804666B2 (en) * | 2015-05-26 | 2017-10-31 | Samsung Electronics Co., Ltd. | Warp clustering |
US9502082B1 (en) * | 2015-06-24 | 2016-11-22 | Intel Corporation | Power management in dual memory platforms |
WO2017013799A1 (ja) * | 2015-07-23 | 2017-01-26 | 株式会社日立製作所 | 計算機及び計算機の制御方法 |
CN105117277A (zh) * | 2015-08-26 | 2015-12-02 | 深圳市华验防伪科技有限公司 | 一种任务循环实现方法及系统 |
KR102488673B1 (ko) * | 2015-10-12 | 2023-01-16 | 삼성전자주식회사 | 저전력 모드로의 진입 시간을 예측할 수 있는 제어 회로와 이를 포함하는 장치 |
US10014693B2 (en) * | 2016-05-23 | 2018-07-03 | Qualcomm Incorporated | System and method for reducing power consumption and improving performance based on shared regulator current supply voltage |
CN106774808B (zh) * | 2016-12-22 | 2019-11-26 | 杭州朔天科技有限公司 | 一种异构多核芯片的多级低功耗管理单元及其方法 |
US10627888B2 (en) | 2017-01-30 | 2020-04-21 | International Business Machines Corporation | Processor power-saving during wait events |
US10771580B1 (en) * | 2019-03-14 | 2020-09-08 | Dell Products L.P. | Using machine learning to improve input/output performance of an application |
EP3948535A1 (en) * | 2019-03-25 | 2022-02-09 | Telefonaktiebolaget LM Ericsson (publ) | Optimizing runtime framework for efficient hardware utilization and power saving |
US11226828B2 (en) * | 2019-04-05 | 2022-01-18 | Arm Limited | Wakeup interrupt controller |
US11281473B2 (en) * | 2019-04-05 | 2022-03-22 | Arm Limited | Dual wakeup interrupt controllers |
US20200388319A1 (en) | 2019-06-07 | 2020-12-10 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, electronic component, and electronic device |
CN111475213B (zh) * | 2020-04-03 | 2023-04-28 | 深圳忆联信息系统有限公司 | 多核结构固态硬盘的功耗降低方法、装置和计算机设备 |
CN112306643B (zh) * | 2020-11-30 | 2023-12-29 | 深信服科技股份有限公司 | 一种虚拟机配置方法、装置及设备,一种云平台 |
US20210117307A1 (en) * | 2020-12-26 | 2021-04-22 | Chris M. MacNamara | Automated verification of platform configuration for workload deployment |
CN115917470A (zh) * | 2021-07-29 | 2023-04-04 | 华为技术有限公司 | 延迟产生方法及相关设备 |
CN114090086B (zh) * | 2021-11-23 | 2023-05-30 | 西安微电子技术研究所 | 一种基于ZynqMP平台嵌入式操作系统快速启动方法 |
WO2023139330A1 (fr) * | 2022-01-24 | 2023-07-27 | Stmicroelectronics (Grenoble 2) Sas | Systeme informatique presentant un mode de sommeil profond |
CN117435026A (zh) * | 2022-07-15 | 2024-01-23 | 华为技术有限公司 | 控制方法和装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7428645B2 (en) * | 2003-12-29 | 2008-09-23 | Marvell International, Ltd. | Methods and apparatus to selectively power functional units |
US7966511B2 (en) * | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
US7451333B2 (en) | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
EP1677175B1 (en) | 2004-12-31 | 2013-08-28 | ST-Ericsson SA | Dynamic power management in system on chips (SOC) |
US7490254B2 (en) * | 2005-08-02 | 2009-02-10 | Advanced Micro Devices, Inc. | Increasing workload performance of one or more cores on multiple core processors |
TW200805047A (en) | 2005-12-23 | 2008-01-16 | Koninkl Philips Electronics Nv | Performance analysis based system level power management |
USD599313S1 (en) * | 2007-08-15 | 2009-09-01 | Second Sight Medical Products, Inc. | Video processing unit for a visual prosthetic apparatus |
US7930578B2 (en) * | 2007-09-27 | 2011-04-19 | International Business Machines Corporation | Method and system of peak power enforcement via autonomous token-based control and management |
US8108056B2 (en) * | 2007-11-13 | 2012-01-31 | Rockwell Automation Technologies, Inc. | Industrial controller using shared memory multicore architecture |
US20090204834A1 (en) | 2008-02-11 | 2009-08-13 | Nvidia Corporation | System and method for using inputs as wake signals |
US20100162256A1 (en) * | 2008-12-18 | 2010-06-24 | Alexander Branover | Optimization of application power consumption and performance in an integrated system on a chip |
US20100161938A1 (en) | 2008-12-23 | 2010-06-24 | Marco Heddes | System-On-A-Chip Supporting A Networked Array Of Configurable Symmetric Multiprocessing Nodes |
US8156275B2 (en) * | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
US9235251B2 (en) | 2010-01-11 | 2016-01-12 | Qualcomm Incorporated | Dynamic low power mode implementation for computing devices |
-
2011
- 2011-12-06 US US13/312,678 patent/US8862917B2/en active Active
-
2012
- 2012-08-31 WO PCT/US2012/053352 patent/WO2013043352A1/en active Application Filing
- 2012-08-31 EP EP12759577.5A patent/EP2758851B1/en active Active
- 2012-08-31 CN CN201280045490.6A patent/CN103814342B/zh active Active
- 2012-08-31 JP JP2014530687A patent/JP5752326B2/ja active Active
- 2012-08-31 KR KR1020147010486A patent/KR101529018B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
EP2758851B1 (en) | 2021-11-03 |
CN103814342A (zh) | 2014-05-21 |
KR20140079420A (ko) | 2014-06-26 |
KR101529018B1 (ko) | 2015-06-16 |
US20130073884A1 (en) | 2013-03-21 |
WO2013043352A1 (en) | 2013-03-28 |
CN103814342B (zh) | 2016-12-14 |
US8862917B2 (en) | 2014-10-14 |
EP2758851A1 (en) | 2014-07-30 |
JP2014527249A (ja) | 2014-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5752326B2 (ja) | マルチコアコンピューティングデバイスのための動的スリープ | |
CN105183128B (zh) | 强制处理器进入低功率状态 | |
CN108701040B (zh) | 用户级别线程暂停的方法、设备、和指令 | |
US10254818B2 (en) | Priority based application event control (PAEC) to reduce power consumption | |
US7219241B2 (en) | Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode | |
JP6074351B2 (ja) | イベント処理のためのターボ性能を向上させる方法および装置 | |
US9753779B2 (en) | Task processing device implementing task switching using multiple state registers storing processor id and task state | |
JP5383928B2 (ja) | 動的電力管理のためのドメイン固有言語、コンパイラ、およびjit | |
US8914650B2 (en) | Dynamically adjusting power of non-core processor circuitry including buffer circuitry | |
US20130290758A1 (en) | Sleep mode latency scaling and dynamic run time adjustment | |
WO2013078962A1 (zh) | 实现自适应锁的方法和装置以及多核处理器系统 | |
EP2817717A2 (en) | Method and system for scheduling requests in a portable computing device | |
CN111052094B (zh) | 使用c状态和睿频加速提高用户空间的自旋锁效率 | |
US7299372B2 (en) | Hierarchical management for multiprocessor system with real-time attributes | |
US8438569B2 (en) | Broadcasting a condition to threads executing on a plurality of on-chip processors | |
US7299371B2 (en) | Hierarchical management for multiprocessor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20140325 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140325 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141105 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20141105 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20141210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150323 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150420 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150519 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5752326 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |