JP5460883B2 - ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整するシステムおよび方法 - Google Patents

ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整するシステムおよび方法 Download PDF

Info

Publication number
JP5460883B2
JP5460883B2 JP2012548216A JP2012548216A JP5460883B2 JP 5460883 B2 JP5460883 B2 JP 5460883B2 JP 2012548216 A JP2012548216 A JP 2012548216A JP 2012548216 A JP2012548216 A JP 2012548216A JP 5460883 B2 JP5460883 B2 JP 5460883B2
Authority
JP
Japan
Prior art keywords
processor
workload
responsiveness
current
value
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
Application number
JP2012548216A
Other languages
English (en)
Other versions
JP2013516714A (ja
Inventor
ノーマン・エス・ガーガッシュ
ブライアン・ジェー・サルスベリー
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2013516714A publication Critical patent/JP2013516714A/ja
Application granted granted Critical
Publication of JP5460883B2 publication Critical patent/JP5460883B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整するシステムおよび方法に関する。
関連出願
本出願は、その内容が参照により完全に組み込まれる、2010年1月11日に出願された「SYSTEM AND METHOD OF TUNING A DYNAMIC CLOCK AND VOLTAGE SWITCHING ALGORITHM BASED ON WORKLOAD REQUESTS」という名称の米国仮特許出願第61/294,026号の優先権を主張する。
ポータブルコンピューティングデバイス(PD)は至る所にある。これらのデバイスには、携帯電話、携帯情報端末(PDA)、ポータブルゲーム機、パームトップコンピュータ、および他のポータブル電子デバイスなどがある。これらのデバイスの主要機能に加えて、多くは周辺機能を含む。例えば、携帯電話は、携帯電話をかけるという主要機能、およびスチールカメラ、ビデオカメラ、全地球測位システム(GPS)ナビゲーション、ウェブブラウジング、電子メールの送受信、テキストメッセージの送受信、プッシュツートーク機能などの周辺機能を含み得る。こうしたデバイスの機能が増加するにつれて、こうした機能をサポートために必要な計算または処理能力も増加する。さらに、計算能力が増加するにつれて、計算能力を提供する1つまたは複数のプロセッサを効果的に管理する必要性がより高くなる。
したがって、動的なクロックおよび電圧切替えアルゴリズムを調整する改良された方法が必要である。
特許請求の範囲に記載の手段によって上記課題を解決する。
図中、別段に規定されていない限り、類似の参照番号は、様々な図の全体を通じて、類似の部分を指す。
閉位置のポータブルコンピューティングデバイス(PCD)の第1の態様を示す正面図である。 開位置のPCDの第1の態様を示す正面図である。 PCDの第2の態様を示すブロック図である。 処理システムを示すブロック図である。 ワークロードを登録する方法を示すフローチャートである。 ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整する方法の第1の部分を示すフローチャートである。 ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整する方法の第2の部分を示すフローチャートである。 時間に対してプロットされた中央処理装置のワークロードならびに動的なクロックおよび電圧スケーリングアルゴリズムの応答度(responsivity)を示すグラフである。
「例示」という語は、本明細書では、「例、実例、または例証の役割を果たす」ことを意味するために使用される。本明細書で「例示」として説明する任意の態様を、必ずしも他の態様より好ましい、または有利であると解釈すべきというわけではない。
この説明では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなど、実行可能なコンテンツを有するファイルも含み得る。さらに、本明細書で言及される「アプリケーション」は、例えば開く必要があり得る文書またはアクセスする必要がある他のデータファイルなど、本質的に実行可能ではないファイルも含み得る。
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなど、実行可能なコンテンツを有するファイルも含み得る。さらに、本明細書で言及される「コンテンツ」は、例えば開く必要があり得る文書またはアクセスする必要がある他のデータファイルなど、本質的に実行可能ではないファイルも含み得る。
この説明で使用される場合、「構成要素」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアなどコンピュータ関連のエンティティを指すものとする。例えば、構成要素は、限定はしないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータとすることができる。例として、コンピューティングデバイス上で動作するアプリケーションおよびコンピューティングデバイスはいずれも構成要素とすることができる。1つまたは複数の構成要素がプロセスおよび/または実行スレッド内に存在する可能性があり、1つの構成要素が1つのコンピュータ上に局在化されてもよく、および/または2つ以上のコンピュータ間に分散されてもよい。さらに、これらの構成要素は、様々なデータ構造が記憶される様々なコンピュータ可読媒体から実行することができる。構成要素は、(例えばローカルシステム、分散システム、および/またはインターネットなど他のシステムを含むネットワーク上でその信号によって別の構成要素と対話する1つの構成要素からのデータなど)例えば1つまたは複数のデータパケットを有する信号によるなど、ローカルおよび/またはリモートのプロセスによって通信することができる。
最初に図1および図2を参照すると、例示のポータブルコンピューティングデバイス(PCD)が示されており、全体的に100と表される。図示のように、PCD100は、ハウジング102を含み得る。ハウジング102は、上側ハウジング部104および下側ハウジング部106を含み得る。図1は、上側ハウジング部104がディスプレイ108を含み得ることを示す。特定の態様において、ディスプレイ108は、タッチスクリーンディスプレイでもよい。上側ハウジング部104は、トラックボール入力デバイス110を含むこともできる。さらに、図1に示されるように、上側ハウジング部104は、電源投入ボタン112および電源切断ボタン114を含むことができる。図1に示されるように、PCD100の上側ハウジング部104は、複数のインジケータライト116およびスピーカ118を含むことができる。各インジケータライト116は、発光ダイオード(LED)でもよい。
特定の態様において、図2に示されるように、上側ハウジング部104は、下側ハウジング部106に対して移動可能である。具体的には、上側ハウジング部104は、下側ハウジング部106に対して摺動可能でもよい。図2に示されるように、下側ハウジング部106は、マルチボタンキーボード120を含むことができる。特定の態様において、マルチボタンキーボード120は、標準QWERTYキーボードでもよい。上側ハウジング部104を下側ハウジング部106に対して移動させると、マルチボタンキーボード120が現れ得る。図2は、PCD100が下側ハウジング部106上にリセットボタン122を含み得ることをさらに示す。
図3を参照すると、ポータブルコンピューティングデバイス(PCD)の例示の非限定的な態様が示されており、全体的に320と表される。図示のように、PCD320は、マルチコアCPU324を含むオンチップシステム322を含む。マルチコアCPU324は、第0のコア325、第1のコア326、および第Nのコア327を含み得る。
図3に示されるように、ディスプレイコントローラ328およびタッチスクリーンコントローラ330は、マルチコアCPU324に結合される。次に、オンチップシステム322の外部のタッチスクリーンディスプレイ332は、ディスプレイコントローラ328およびタッチスクリーンコントローラ330に結合される。
図3は、例えば位相反転線(PAL)エンコーダ、sequential couleur a memoire (SECAM)エンコーダ、または全国テレビジョン方式委員会(NTSC)エンコーダなどのビデオエンコーダ334がマルチコアCPU324に結合されることをさらに示す。さらに、ビデオ増幅器336は、ビデオエンコーダ334およびタッチスクリーンディスプレイ332に結合される。また、ビデオポート338は、ビデオ増幅器336に結合される。図3に示されるように、ユニバーサルシリアルバス(USB)コントローラ340がマルチコアCPU324に結合される。また、USBポート342は、USBコントローラ340に結合される。メモリ344および加入者識別モジュール(SIM)カード346もマルチコアCPU324に結合され得る。さらに、図3に示されるように、デジタルカメラ348は、マルチコアCPU324に結合され得る。例示的な態様では、デジタルカメラ348は、電荷結合デバイス(CCD)カメラまたは相補型金属酸化膜半導体(CMOS)カメラである。
図3にさらに示されるように、ステレオオーディオコーデック350は、マルチコアCPU324に結合され得る。さらに、オーディオ増幅器352は、ステレオオーディオコーデック350に結合され得る。例示的な態様では、第1のステレオスピーカ354および第2のステレオスピーカ356は、オーディオ増幅器352に結合される。図3は、マイクロフォン増幅器358もステレオオーディオコーデック350に結合され得ることを示す。さらに、マイクロフォン360は、マイクロフォン増幅器358に結合され得る。特定の態様において、周波数変調(FM)無線チューナ362は、ステレオオーディオコーデック350に結合され得る。また、FMアンテナ364は、FM無線チューナ362に結合される。さらに、ステレオヘッドフォン366は、ステレオオーディオコーデック350に結合され得る。
図3は、無線周波数(RF)トランシーバ368がマルチコアCPU324に結合され得ることをさらに示す。RFスイッチ370は、RFトランシーバ368およびRFアンテナ372に結合され得る。図3に示されるように、キーパッド374は、マルチコアCPU324に結合され得る。また、マイクロフォンを備えるモノヘッドセット376は、マルチコアCPU324に結合され得る。さらに、バイブレータデバイス378は、マルチコアCPU324に結合され得る。図3は、電源装置380がオンチップシステム322に結合され得ることも示す。特定の態様において、電源装置380は、電力を必要とするPCD320の様々な構成要素に電力を供給する直流電流(DC)の電源装置である。さらに、特定の態様において、電源装置は、AC電源に接続された交流(AC)-DC変換器から導出されたDC電源または充電式DCバッテリである。
図3は、PCD320が、例えばローカルエリアネットワーク、パーソナルエリアネットワーク、または任意の他のネットワークなど、データネットワークにアクセスするために使用され得るネットワークカード388も含み得ることをさらに示す。ネットワークカード388は、Bluetooth(登録商標)ネットワークカード、WiFiネットワークカード、パーソナルエリアネットワーク(PAN)カード、パーソナルエリアネットワーク超低電力技術(PeANUT)ネットワークカード、または当技術分野で知られている任意の他のネットワークカードとすることができる。さらに、ネットワークカード388は、チップに組み込むことができ、すなわち、ネットワークカード388は、チップでのフルソリューションとすることができ、個別のネットワークカード388でなくてもよい。
図3に示されるように、タッチスクリーンディスプレイ332、ビデオポート338、USBポート342、カメラ348、第1のステレオスピーカ354、第2のステレオスピーカ356、マイクロフォン360、FMアンテナ364、ステレオヘッドフォン366、RFスイッチ370、RFアンテナ372、キーパッド374、モノヘッドセット376、バイブレータ378、および電源装置380は、オンチップシステム322の外部にある。
特定の態様において、本明細書で説明する方法ステップのうちの1つまたは複数は、コンピュータプログラム命令としてメモリ344に記憶され得る。これらの命令は、本明細書で説明する方法を実行するために、マルチコアCPU324によって実行され得る。さらに、マルチコアCPU324、メモリ344、またはそれらの組合せは、1つまたは複数のワークロードの要求に基づいて、動的なクロックおよび電圧切替え(DCVS)アルゴリズムを調整するために、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として働き得る。
図4を参照すると、処理システムが示されており、全体的に400と表される。特定の態様において、処理システム400は、図3に関して上記で説明されたPCD320に組み込まれ得る。図示のように、処理システム400は、マルチコア中央処理装置(CPU)402、およびマルチコアCPU402に接続されたメモリ404を含むことができる。マルチコアCPU402は、第0のコア410、第1のコア412、および第Nのコア414を含み得る。第0のコア410では、第0の動的なクロックおよび電圧スケーリング(DCVS)アルゴリズム416が実行され得る。第1のコア412では、第1のDCVSアルゴリズム417が実行され得る。さらに、第Nのコア414では、第NのDCVSアルゴリズム418が実行され得る。特定の態様において、各DCVSアルゴリズム416、417、418は、それぞれのコア412、414、416上で独立して実行され得る。
さらに、図示のように、メモリ404には、オペレーティングシステム420が記憶されていてもよい。オペレーティングシステム420は、スケジューラ422を含むことができ、スケジューラ422は、第1の実行待ち行列(run queue)424、第2の実行待ち行列426、および第Nの実行待ち行列428を含むことができる。また、メモリ404には、第1のアプリケーション430、第2のアプリケーション432、および第Nのアプリケーション434が記憶されていてもよい。
特定の態様において、アプリケーション430、432、434は、マルチコアCPU402内のコア410、412、414で処理される1つまたは複数のタスク436をオペレーティングシステム420に送ることができる。タスク436は、単一のタスク、スレッド、またはそれらの組合せとして処理または実行され得る。さらに、スケジューラ422は、タスク、スレッド、またはそれらの組合せを、マルチコアCPU402内での実行に予定することができる。さらに、スケジューラ422は、実行待ち行列424、426、428に、タスク、スレッド、またはそれらの組合せを入れることができる。コア410、412、414は、コア410、412、414でタスクおよびスレッドを処理または実行するために、例えば、オペレーティングシステム420によって命令されるように、実行待ち行列424、426、428からタスク、スレッド、またはそれらの組合せを取り出すことができる。
図4は、メモリ404にコントローラ440が記憶され得ることも示す。コントローラ440は、オペレーティングシステム420およびマルチコアCPU402に接続され得る。具体的には、コントローラ440は、オペレーティングシステム420内のスケジューラ422に接続され得る。本明細書で説明するように、例えば、スケジューラ420および実行待ち行列424、426、428を監視することによって、コントローラ440は、コア410、412、414上のワークロードを監視することができる。コントローラ440は、以下で詳細に説明するように、各アプリケーション430、432、434からのワークロードに基づいて、各コア410、412、414上で動作するDCVSアルゴリズム416、417、418を調整することができる。
特定の態様において、コントローラ440は、ソフトウェアプログラムでもよい。しかし、代替態様では、コントローラ440は、メモリ404の外部にあるハードウェアコントローラとすることができる。いずれにせよ、コントローラ440、メモリ404、コア410、412、414、またはそれらの任意の組合せは、1つまたは複数のワークロードの要求に基づいて、動的なクロックおよび電圧切替え(DCVS)アルゴリズムを調整するために、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として働き得る。
図5を参照すると、ワークロードを登録する方法が示されており、全体的に500と表される。方法500は、ブロック502でDOループで開始し、デバイスが電源投入されると、以下のステップが実行され得る。ブロック504で、コントローラによって、遅延が実施され得る。遅延は、固定された所定の期間、例えば60秒とすることができる。代わりに、遅延は、例えばブートの終了など、明示的なイベントの後に終了するようにしてもよい。ブロック506に移動して、コントローラは、CPUのアクティビティを監視することができる。このアクティビティは、シングルコアCPU、マルチコアCPU、複数のシングルコアCPU、複数のマルチコアCPU、またはそれらの組合せのアクティビティとすることができる。さらに、コントローラは、ソフトウェアコントローラ、ハードウェアコントローラ、またはそれらの組合せとすることができる。
決定508で、コントローラは、ワークロードが追加されたかどうかを決定することができる。ワークロードは、ビデオアプリケーション、音声アプリケーション、電子メールアプリケーション、ワイヤレスネットワークアプリケーション、セルラーネットワークアプリケーション、ショートメッセージサービス(SMS)アプリケーション、通信アプリケーション、セキュリティアプリケーション、カレンダアプリケーション、インスタントメッセージングアプリケーション、スチールカメラアプリケーション、全地球測位システム(GPS)アプリケーション、ブラウザアプリケーション、メモ帳アプリケーション、クロックアプリケーション、ゲームアプリケーション、計算機アプリケーション、銀行業務アプリケーション、パスワードキーパーアプリケーション、ヘルプアプリケーション、電子商取引アプリケーション、ソフトウェア配信アプリケーション、検索アプリケーション、オプションアプリケーション、確立アプリケーション、電話アプリケーション、接続管理アプリケーション、セキュリティアプリケーション、任意の他のアプリケーション、またはそれらの組合せとすることができる。
特定の態様において、決定508でワークロードが追加されていない場合、方法500は、ブロック506に戻ることができ、本明細書で説明するように継続することができる。そうでない場合、決定508で、ワークロードが追加されている場合、方法500は、決定510に進むことができ、コントローラは、ワークロードがコントローラに登録しているかどうかを決定することができる。ワークロードが登録していない場合、方法500は、決定511に進むことができる。決定511で、コントローラは、デバイスが電源切断されたかどうかを決定することができる。そうであれば、方法500は、終了することができる。そうでない場合、デバイスが電源投入されたままである場合、方法500はブロック506に戻ることができ、コントローラは、決定508で別のワークロードが追加されたことを決定するまで、CPUのアクティビティを監視し続けることができる。
決定510に戻って、ワークロードがコントローラに登録している場合、方法500は、ブロック512に進むことができ、コントローラは、ワークロードの登録を受信することができる。ブロック514で、コントローラは、ワークロードの一意の識別子を決定することができる。次に、ブロック516で、コントローラは、一意の識別子をワークロードに割り当てることができる。
ブロック518に進むと、コントローラは、ワークロードの要求を受信することができる。ワークロードの要求は、例えば、必要な応答度を含むことができる。応答度は、システム設定の変化率でもよい。例えば、応答度は、CPU周波数の変化率、電圧の変化率、またはそれらの組合せでもよい。さらに、応答度は、ミリ秒で表される最大遅延、ミリ秒当たりの周波数(MHz/ms)として表されるCPUスルーレート範囲(slew rate bound)、またはそれらの組合せでもよい。
ブロック520に移動して、ワークロードの1つまたは複数の要求がコントローラによって提供され得る、すなわち、コントローラは、動的なクロックおよび電圧スケーリング(DCVS)アルゴリズムに、ワークロードで示される応答度を提供するように指示することができる。その後、方法500は、決定522に進むことができる。決定522で、コントローラは、ワークロードが終了しているかどうか、すなわち、もはや稼働していないかどうかを決定することができる。ワークロードが終了していない、すなわち、まだ稼働している場合、方法500は、決定524に進むことができ、コントローラは、新しいワークロードの要求が受信されたかどうかを決定することができる。そうであれば、方法500は、ブロック526に移動することができ、コントローラは、前のワークロードの要求をキャンセルすることができる。次に、方法500は、ブロック520に戻ることができ、説明したように継続することができる。
決定524に戻ると、新しいワークロードの要求が受信されていない場合、方法500は、ブロック520に戻り、説明したように継続することができる。決定522に戻ると、ワークロードが終了している場合、方法500は、決定511に移動することができ、本明細書で説明するように継続することができる。
図6を参照すると、ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整する方法が示されており、全体的に600と表される。方法600は、ブロック602でDOループで開始し、デバイスが電源投入されると、以下のステップが実行され得る。ブロック603で、コントローラによって、遅延が実施され得る。遅延は、固定された所定の期間、例えば60秒とすることができる。代わりに、遅延は、例えばブートの終了など、明示的なイベントの後に終了するようにしてもよい。
ブロック604で、コントローラは、デフォルトの応答度、例えば、デフォルトの周波数、デフォルトの電圧、またはそれらの組合せを設定することができる。ブロック606に移動して、コントローラは、CPUのアクティビティを監視することができる。このアクティビティは、シングルコアCPU、マルチコアCPU、複数のシングルコアCPU、複数のマルチコアCPU、またはそれらの組合せのアクティビティとすることができる。さらに、コントローラは、ソフトウェアコントローラ、ハードウェアコントローラ、またはそれらの組合せとすることができる。
決定608で、コントローラは、ワークロードが追加されたかどうかを決定することができる。ワークロードは、ビデオアプリケーション、音声アプリケーション、電子メールアプリケーション、ワイヤレスネットワークアプリケーション、セルラーネットワークアプリケーション、ショートメッセージサービス(SMS)アプリケーション、通信アプリケーション、セキュリティアプリケーション、カレンダアプリケーション、インスタントメッセージングアプリケーション、スチールカメラアプリケーション、全地球測位システム(GPS)アプリケーション、ブラウザアプリケーション、メモ帳アプリケーション、クロックアプリケーション、ゲームアプリケーション、計算機アプリケーション、銀行業務アプリケーション、パスワードキーパーアプリケーション、ヘルプアプリケーション、電子商取引アプリケーション、ソフトウェア配信アプリケーション、検索アプリケーション、オプションアプリケーション、確立アプリケーション、電話アプリケーション、接続管理アプリケーション、セキュリティアプリケーション、任意の他のアプリケーション、またはそれらの組合せとすることができる。
決定608で、ワークロードが追加されていない場合、方法600は、ブロック606に戻ることができ、本明細書で説明するように継続することができる。反対に、決定608で、ワークロードが追加されている場合、方法600は、決定610に進むことができ、コントローラは、ワークロードが登録しているかどうかを決定することができる。決定610で、ワークロードが登録されていない場合、方法600は、ブロック612に進むことができ、コントローラは、現在の応答度をワークロードに提供することができる。方法600の最初の繰返しでは、現在の応答度は、デフォルトの応答度とすることができる。その後の繰返しでは、その必要な応答度がデフォルトの応答度よりも大きい場合、現在の応答度は、別の登録されたワークロードに関連付けられた必要な応答度であり得る。
決定610に戻ると、ワークロードがコントローラに登録している場合、方法600は、ブロック614に進むことができ、コントローラは、一意の識別子をワークロードに割り当てることができる。次いで、ブロック616で、コントローラは、ワークロードから直接、ワークロードの応答度の要求を受信することができる。
代わりに、ワークロードがコントローラに連絡するとき、ワークロードは、一意の識別子をコントローラにサブミットすることができる。次いで、コントローラは、一意の識別子を使用して、ワークロードがコントローラまたはいくつかの関連する制御システムに登録されているかどうかを決定することができる。例えば、コントローラは、一意の識別子でテーブルまたはデータベースを検索することができ、コントローラがテーブルまたはデータベース内に一致する一意の識別子を探し出した場合、ワークロードは登録されているとみなされ得る。ワークロードが登録されている場合、コントローラは、テーブルまたはデータベースから応答度の要求を決定することができ、すなわち、応答度の要求は、一意の識別子に関連してテーブルまたはデータベースに格納され得る。
決定618に進むと、コントローラは、必要な応答度が現在の応答度よりも大きいかどうかを決定することができる。必要な応答度が現在の応答度以下である場合、方法600は、ブロック614に戻ることができ、コントローラは、現在の応答度を登録されたワークロードに提供することができる。そうでない場合、必要な応答度が現在の応答度よりも大きい場合、方法600は、ブロック620に進み、コントローラは、動的なクロックおよび電圧スケーリング(DCVS)アルゴリズムを、必要な、すなわちより高い応答度に調整することができる。その後、ブロック622で、コントローラは、より高い応答度をワークロードに提供することができる。方法600は、ブロック622から、図7の決定702に進むことができる。
決定702で、コントローラは、ワークロードが削除されたかどうか、すなわち、ワークロードが終了または終止しているかどうかを決定することができる。ワークロードが削除された場合、方法600は、ブロック704に進むことができ、コントローラは、最も高い残りの必要な応答度を決定することができる。任意のワークロードからの必要な応答度がもはやない場合、最も高い残りの応答度がデフォルトの応答度である。
ブロック706で、コントローラは、デフォルトの応答度を下回ることなく、最も高い残りの必要な応答度にDCVSを調整することができる。次いで、ブロック708で、コントローラは、最も高い残りの応答度を1つまたは複数のワークロードに提供することができる。
決定710に移動して、コントローラは、デバイスが電源切断されたかどうかを決定することができる。デバイスが電源切断されていない場合、方法600は、図6のブロック606に戻ることができ、本明細書で説明するように継続することができる。代わりに、決定710で、デバイスが電源切断された場合、方法600は、終了することができる。
決定702に戻ると、ワークロードが削除されていない場合、方法600は、決定712に進むことができ、コントローラは、応答度低減要求が現在の応答度に関連付けられたワークロードから受信されたかどうかを決定することができる。そうであれば、方法600は、ブロック704に移動することができ、説明したように継続することができる。そうでない場合、方法はブロック714に移動することができ、コントローラは、現在の応答度を維持することができる。次いで、方法600は、図6のブロック606に戻ることができ、説明したように継続することができる。
図8を参照すると、ワークロード/DCVS応答グラフが示されており、全体的に800と表される。図示のように、ワークロード/DCVS応答グラフ800は、ワークロードインジケータ802およびDCVS応答インジケータ804を含む。ワークロードインジケータ802は、第1のビジーサイクル810、第2のビジーサイクル812、第3のビジーサイクル814、第4のビジーサイクル816、および第5のビジーサイクル818を含み得る。さらに、DCV応答インジケータ804は、第1のDCVS応答820、第2のDCVS応答822、第3のDCVS応答824、第4のDCVS応答826、および第5のDCVS応答828を含み得る。
特定の態様において、第1のDCVS応答820は第1のビジーサイクル810に対応し、第2のDCVS応答822は第2のビジーサイクル812に対応し、第3のDCVS応答824は第3のビジーサイクル814に対応し、第4のDCVS応答826は第4のビジーサイクル816に対応し、第5のDCVS応答828は第5のビジーサイクル818に対応する。
第1のビジーサイクル810および第2のビジーサイクル812の間、1つまたは複数のワークロードは、未登録であり得る。したがって、第1のDCVS応答820および第2のDCVS応答822は、デフォルトの応答、例えば、デフォルトのCPU周波数の変化率、デフォルトの電圧の変化率、またはそれらの組合せとすることができる。第3のビジーサイクル814の間、未登録のワークロードおよび第1の登録されたワークロードが実行され得る。第1の登録されたワークロードの要求は、デフォルトのレートよりも大きくてもよい。したがって、第3のビジーサイクル814の開始時に、第1の登録されたワークロードの要求が適用され、第3のDCVS応答824は、第1の登録されたワークロードの要求を提供することができる。したがって、第3のDCVS応答824は、未登録のワークロードの要求および第1の登録されたワークロードを提供する。
第4のビジーサイクル816の間、未登録のワークロード、第1の登録されたワークロード、および第2の登録されたワークロードが実行され得る。第2の登録されたワークロードの要求は、デフォルトのレートおよび第1の登録されたワークロードの要求よりも大きくてもよい。したがって、第4のビジーサイクル816の開始時に、第2の登録されたワークロードの要求が適用され、第4のDCVS応答826は、第2の登録されたワークロードの要求を提供することができる。したがって、第4のDCVS応答826は、未登録のワークロードおよび第1の登録されたワークロードの要求も提供する。
第5のビジーサイクル818の間、第2の登録されたワークロードは第5のビジーサイクル818から削除され、未登録のワークロードおよび第1の登録されたワークロードは存在し得る。したがって、第5のビジーサイクル818の開始時に、第2の登録されたワークロードの要求は、第5のDCVS応答828から削除され、第5のDCVS応答は、第5のビジーサイクル818から削除されなかった第1の登録されたワークロードの要求を提供することができる。したがって、第5のビジーサイクル818の開始時に、第1の登録されたワークロードの要求が適用され、第5のDCVS応答818は、第1の登録されたワークロードの要求を提供することができる。したがって、第5のDCVS応答828は、未登録のワークロードおよび第1の登録されたワークロードの要求を提供することができる。
応答度の任意の変化も、例えば、ワークロードが終わるときなど、ワークロードの立下りエッジ時に、DCVS応答に影響を及ぼし得ることが了承されよう。
本明細書で説明する方法ステップは、必ずしも説明したような順序で実行される必要はないことを理解されたい。さらに、例えば「その後」、「次いで」、「次に」などの語は、ステップの順序を限定するものではない。これらの語は、単に方法ステップの説明を介して読者を導くために使用されている。さらに、本明細書で説明する方法は、ポータブルコンピューティングデバイス(PCD)上で実行可能であるものとして説明されている。PCDは、携帯電話デバイス、携帯情報端末デバイス、スマートブックコンピューティングデバイス、ネットブックコンピューティングデバイス、ラップトップコンピューティングデバイス、デスクトップコンピューティングデバイス、またはそれらの組合せとすることができる。さらに、本明細書で説明される方法ステップは、シングルコアプロセッサ、マルチコアプロセッサ、複数のシングルコアプロセッサ、複数のマルチコアプロセッサ、またはそれらの任意の組合せ上で実行され得る。
1つまたは複数の例示的な態様において、記載の機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、機械可読媒体、すなわちコンピュータ可読媒体などのコンピュータプログラム製品に1つまたは複数の命令またはコードとして記憶され、またはそれを介して送信され得る。コンピュータ可読媒体は、ある位置から別の位置へのコンピュータプログラムの転送を容易にする任意の媒体を含むコンピュータ記憶媒体および通信媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の使用可能な媒体とすることができる。限定ではなく、例として、こうしたコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、または、命令またはデータ構造の形態で所望のプログラムコードを運ぶまたは記憶するために使用され、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、任意の接続は、厳密には、コンピュータ可読媒体と呼ばれる。例えば、ソフトウェアが同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、またはワイヤレス技術、例えば赤外線、無線、およびマイクロ波を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、赤外線、無線、およびマイクロ波などの同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、またはワイヤレス技術は媒体の定義内に含まれる。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるものとする。
選択された態様が例示され、詳細に説明され、記載されているが、以下の特許請求の範囲によって定義された本発明の趣旨および範囲から逸脱することなく、様々な置換および改変を加えることができることを理解されよう。
320 ポータブルコンピューティングデバイス
322 オンチップシステム
324 CPU
325 第0のコア
326 第1のコア
327 第Nのコア
328 ディスプレイコントローラ
330 タッチスクリーンコントローラ
332 タッチスクリーンディスプレイ
334 ビデオエンコーダ
336 ビデオ増幅器
338 ビデオポート
340 USBコントローラ
342 USBポート
344 メモリ
346 SIMカード
348 デジタルカメラ
350 ステレオオーディオコーデック
352 オーディオ増幅器
354 第1のステレオスピーカ
356 第2のステレオスピーカ
358 マイクロフォン増幅器
360 マイクロフォン
362 FM無線チューナ
364 FMアンテナ
366 ステレオヘッドフォン
368 RFトランシーバ
370 RFスイッチ
372 RFアンテナ
374 キーパッド
376 マイクロフォンを備えるモノヘッドセット
378 バイブレータデバイス
380 電源装置
388 ネットワークカード

Claims (16)

  1. ポータブルコンピューティングデバイス上の動的なクロックおよび電圧切替え(DCVS)アルゴリズムを実行する方法であって、
    前記ポータブルコンピューティングデバイスのプロセッサの現在の応答度をデフォルトの応答度の値に等しく設定するステップを含み前記応答度は前記プロセッサの周波数または電圧の変化率であり、
    前記プロセッサにおいて登録されていないワークロードを実行するステップと、
    プロセッサのアクティビティを監視して、前記プロセッサに新たなワークロードがいつ追加されたかを決定するステップと
    前記追加されたワークロードが登録されているかどうかを決定するステップと、
    前記追加されたワークロードが登録されていると決定した場合、一意の識別子を前記追加されたワークロードに割り当てるステップと、
    前記追加されたワークロードから必要な応答度の値を受信するステップと、
    前記必要な応答度の値前記プロセッサの現在の応答度よりも大きいかどうかを決定するステップと、
    前記必要な応答度の値が前記プロセッサの現在の応答度よりも大きいと決定したことに応答して、前記プロセッサの現在の応答度を前記追加されたワークロードから受信された必要な応答度の値に等しく設定するステップと
    前記プロセッサの現在の応答度に基づいて前記プロセッサの周波数および電圧のうちの少なくとも1つを調整するステップと、
    前記追加されたワークロードが登録されていると決定した場合、前記調整された周波数または電圧で前記登録されていないワークロードおよび前記登録されているワークロードを実行するステップと
    さらに含む方法。
  2. 前記プロセッサの現在の応答度をデフォルトの応答度の値に等しく設定するステップは、前記プロセッサの周波数および電圧のうちの少なくとも1つを調整するための変化率をデフォルトの応答度の値に等しく設定するステップを含む請求項1に記載の方法。
  3. 前記必要な応答度が前記プロセッサの現在の応答度よりも大きくないと決定したことに応答して、前記ポータブルコンピューティングデバイスの複数のワークロードについての現在の応答度に基づいて、前記プロセッサの周波数および電圧のうちの少なくとも1つを調整するステップをさらに含む請求項1に記載の方法。
  4. 前記ポータブルコンピューティングデバイスの複数のプロセッサの各々の現在の応答度を前記ポータブルコンピューティングデバイスの複数のワークロードについての必要な応答度の値に等しく設定するステップをさらに含む請求項1に記載の方法。
  5. ポータブルコンピューティングデバイスであって、
    前記ポータブルコンピューティングデバイスのプロセッサの現在の応答度をデフォルトの応答度の値に等しく設定する手段を含み前記応答度は前記プロセッサの周波数または電圧の変化率であり、
    前記プロセッサにおいて登録されていないワークロードを実行する手段と、
    プロセッサのアクティビティを監視して、前記プロセッサに新たなワークロードがいつ追加されたかを決定する手段と
    前記追加されたワークロードが登録されているかどうかを決定する手段と、
    前記追加されたワークロードが登録されていると決定した場合、一意の識別子を前記追加されたワークロードに割り当てる手段と、
    前記追加されたワークロードから必要な応答度の値を受信する手段と、
    前記必要な応答度の値前記プロセッサの現在の応答度よりも大きいかどうかを決定する手段と、
    前記必要な応答度の値が前記プロセッサの現在の応答度よりも大きいと決定したことに応答して、前記プロセッサの現在の応答度を前記追加されたワークロードから受信された必要な応答度の値等しく設定する手段と
    前記プロセッサの現在の応答度に基づいて前記プロセッサの周波数および電圧のうちの少なくとも1つを調整する手段と、
    前記追加されたワークロードが登録されていると決定した場合、前記調整された周波数または電圧で前記登録されていないワークロードおよび前記登録されているワークロードを実行する手段と
    さらに含むポータブルコンピューティングデバイス。
  6. 前記プロセッサの現在の応答度をデフォルトの応答度の値に等しく設定する手段は、前記プロセッサの周波数または電圧のうちの少なくとも1つを調整するための変化率をデフォルトの応答度の値に等しく設定する手段を含む請求項5に記載のポータブルコンピューティングデバイス。
  7. 前記必要な応答度が前記現在の応答度よりも大きくない場合、現在の応答度を全てのワークロードに与える手段をさらに含む請求項5に記載のポータブルコンピューティングデバイス。
  8. 前記ポータブルコンピューティングデバイスの複数のプロセッサの各々の現在の応答度を前記ポータブルコンピューティングデバイスの複数のワークロードについての必要な応答度の値に等しく設定する手段をさらに含む請求項5に記載のポータブルコンピューティングデバイス。
  9. ポータブルコンピューティングデバイスであって、
    プロセッサ実行可能命令を用いて動作を実行するように構成されたプロセッサを含み、
    前記動作は、前記ポータブルコンピューティングデバイスのプロセッサの現在の応答度をデフォルトの応答度の値に等しく設定することを含み前記応答度は前記プロセッサの周波数または電圧の変化率であり、
    前記動作は、
    前記プロセッサにおいて登録されていないワークロードを実行し、
    プロセッサのアクティビティを監視して、前記プロセッサに新たなワークロードがいつ追加されたかを決定し、
    前記追加されたワークロードが登録されているかどうかを決定し、
    前記追加されたワークロードが登録されていると決定した場合、一意の識別子を前記追加されたワークロードに割り当て、
    前記追加されたワークロードから必要な応答度の値を受信し、
    前記必要な応答度の値前記プロセッサの現在の応答度よりも大きいかどうかを決定し、
    前記必要な応答度の値が前記プロセッサの現在の応答度よりも大きいと決定したことに応答して、前記プロセッサの現在の応答度を前記追加されたワークロードから受信された必要な応答度の値等しく設定し、
    前記プロセッサの現在の応答度に基づいて前記プロセッサの周波数および電圧のうちの少なくとも1つを調整し、
    前記追加されたワークロードが登録されていると決定した場合、前記調整された周波数または電圧で前記登録されていないワークロードおよび前記登録されているワークロードを実行する
    ことをさらに含むポータブルコンピューティングデバイス。
  10. 前記プロセッサの現在の応答度をデフォルトの応答度の値に等しく設定することが、前記プロセッサの周波数および電圧のうちの少なくとも1つを調整するための変化率をデフォルトの応答度の値に等しく設定することを含むようにプロセッサ実行可能命令を用いて構成された請求項9に記載のポータブルコンピューティングデバイス。
  11. 前記必要な応答度が前記現在の応答度よりも大きくないと決定したことに応答して、前記ポータブルコンピューティングデバイスの複数のワークロードについての現在の応答度に基づいて、前記プロセッサの周波数および電圧のうちの少なくとも1つを調整することをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成された請求項9に記載のポータブルコンピューティングデバイス。
  12. 前記ポータブルコンピューティングデバイスの複数のプロセッサの各々の現在の応答度を前記ポータブルコンピューティングデバイスの複数のワークロードについての必要な応答度の値に等しく設定することをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成された請求項9に記載のポータブルコンピューティングデバイス。
  13. ポータブルデバイスのプロセッサに動作を実行させるように構成されたプロセッサ実行可能命令が記憶された非一時的なコンピュータ可読記憶媒体であって、
    前記動作は、プロセッサの現在の応答度をデフォルトの応答度の値に等しく設定することを含み前記応答度は前記プロセッサの周波数または電圧の変化率であり、
    前記動作は、
    前記プロセッサにおいて登録されていないワークロードを実行し
    プロセッサのアクティビティを監視して、前記プロセッサに新たなワークロードがいつ追加されたかを決定
    前記追加されたワークロードが登録されているかどうかを決定
    前記追加されたワークロードが登録されていると決定した場合、一意の識別子を前記追加されたワークロードに割り当て、
    前記追加されたワークロードから必要な応答度の値を受信
    前記必要な応答度の値前記プロセッサの現在の応答度よりも大きいかどうかを決定
    前記必要な応答度の値が前記現在の応答度よりも大きいと決定したことに応答して、前記プロセッサの現在の応答度を前記追加されたワークロードから受信された必要な応答度の値に等しく設定し、
    前記現在の応答度に基づいて前記プロセッサの周波数および電圧のうちの少なくとも1つを調整し、
    前記追加されたワークロードが登録されていると決定した場合、前記調整された周波数または電圧で前記登録されていないワークロードおよび前記登録されているワークロードを実行する
    ことさらにむ非一時的なコンピュータ可読記憶媒体。
  14. 前記記憶されたプロセッサ実行可能命令は、前記プロセッサの現在の応答度をデフォルトの応答度の値に等しく設定することが、前記プロセッサの周波数または電圧を調整するための変化率をデフォルトの応答度の値に等しく設定することを含む動作を前記ポータブルデバイスのプロセッサに実行させるように構成された請求項13に記載の非一時的なコンピュータ可読記憶媒体。
  15. 前記記憶されたプロセッサ実行可能命令は、前記必要な応答度が前記現在の応答度よりも大きくないと決定したことに応答して、複数のワークロードについての現在の応答度に基づいて、前記プロセッサの周波数および電圧のうちの少なくとも1つを調整することをさらに含む動作を前記ポータブルデバイスのプロセッサに実行させるように構成された請求項13に記載の非一時的なコンピュータ可読記憶媒体。
  16. 前記記憶されたプロセッサ実行可能命令は、複数のプロセッサの各々の現在の応答度を複数のワークロードについての必要な応答度の値に等しく設定することをさらに含む動作を前記ポータブルデバイスのプロセッサに実行させるように構成された請求項13に記載の非一時的なコンピュータ可読記憶媒体。
JP2012548216A 2010-01-11 2011-01-10 ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整するシステムおよび方法 Active JP5460883B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29402610P 2010-01-11 2010-01-11
US61/294,026 2010-01-11
US12/846,331 US8700926B2 (en) 2010-01-11 2010-07-29 System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests
US12/846,331 2010-07-29
PCT/US2011/020709 WO2011085329A1 (en) 2010-01-11 2011-01-10 System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests

Publications (2)

Publication Number Publication Date
JP2013516714A JP2013516714A (ja) 2013-05-13
JP5460883B2 true JP5460883B2 (ja) 2014-04-02

Family

ID=44259440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012548216A Active JP5460883B2 (ja) 2010-01-11 2011-01-10 ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整するシステムおよび方法

Country Status (6)

Country Link
US (1) US8700926B2 (ja)
EP (1) EP2524275B1 (ja)
JP (1) JP5460883B2 (ja)
KR (1) KR101421361B1 (ja)
CN (1) CN102754045B (ja)
WO (1) WO2011085329A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671413B2 (en) 2010-01-11 2014-03-11 Qualcomm Incorporated System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device
US8370665B2 (en) * 2010-01-11 2013-02-05 Qualcomm Incorporated System and method of sampling data within a central processing unit
CN102819313B (zh) * 2012-07-17 2015-05-06 腾讯科技(深圳)有限公司 终端设备的运行方法和终端设备
US9411403B2 (en) * 2013-11-19 2016-08-09 Qualcomm Incorporated System and method for dynamic DCVS adjustment and workload scheduling in a system on a chip

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4670837A (en) * 1984-06-25 1987-06-02 American Telephone And Telegraph Company Electrical system having variable-frequency clock
JP3212187B2 (ja) 1993-06-23 2001-09-25 東京瓦斯株式会社 燃料電池発電装置とその制御方法
EP0727728A1 (en) * 1995-02-15 1996-08-21 International Business Machines Corporation Computer system power management
JPH10268963A (ja) 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
JP3961619B2 (ja) * 1997-06-03 2007-08-22 株式会社東芝 コンピュータシステムおよびその処理速度制御方法
US6115823A (en) * 1997-06-17 2000-09-05 Amphus, Inc. System and method for task performance based dynamic distributed power management in a computer system and design method therefor
JP3669169B2 (ja) * 1998-08-19 2005-07-06 日産自動車株式会社 制動力制御装置
FI117523B (fi) * 1998-10-07 2006-11-15 Nokia Corp Menetelmä tehonkulutuksen säätämiseksi
US6298448B1 (en) 1998-12-21 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for automatic CPU speed control based on application-specific criteria
WO2002088913A1 (fr) * 2001-04-27 2002-11-07 International Business Machines Corporation Procede et appareil pour reguler la vitesse d'execution d'un processeur
US7065659B2 (en) * 2002-06-28 2006-06-20 Microsoft Corporation Power management architecture for defining component power states under a global power state and maintaining a power state floor for a specified component if a power state for the specified component under a new global power state is below the power state floor
US7539994B2 (en) * 2003-01-03 2009-05-26 Intel Corporation Dynamic performance and resource management in a processing system
US20040205757A1 (en) * 2003-04-09 2004-10-14 Pering Trevor A. Performance scheduling using multiple constraints
TWI237793B (en) * 2004-03-12 2005-08-11 Abit Comp Corp Method for automatically changing configured values of hardware in computer system in accordance with executing application program
US7711966B2 (en) * 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
US7506189B1 (en) * 2004-12-15 2009-03-17 Silego Technology, Inc. Adjusting input power in response to a clock frequency change
US7788508B1 (en) * 2005-05-26 2010-08-31 National Semiconductor Corporation System and method for rapidly increasing a rising slew rate of an adjustable supply voltage in adaptive voltage scaling
KR101108397B1 (ko) * 2005-06-10 2012-01-30 엘지전자 주식회사 멀티-코어 프로세서의 전원 제어 장치 및 방법
US20070136615A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute System and method for reducing power used to execute application program
TW200805047A (en) * 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
US7484110B2 (en) * 2006-03-16 2009-01-27 Microsoft Corporation Adaptive power management
CN100590583C (zh) * 2006-08-09 2010-02-17 国际商业机器公司 写入和读取应用数据的方法和系统
US7840825B2 (en) * 2006-10-24 2010-11-23 International Business Machines Corporation Method for autonomous dynamic voltage and frequency scaling of microprocessors
US20080155092A1 (en) * 2006-12-22 2008-06-26 Arvind Kumar Method, apparatus and system for securely metering resource usage on a computing platform
JP4359786B2 (ja) * 2007-03-22 2009-11-04 日本電気株式会社 データ伝送装置及びクロック切替回路
US7904287B2 (en) * 2007-11-13 2011-03-08 International Business Machines Corporation Method and system for real-time prediction of power usage for a change to another performance state
US8140830B2 (en) * 2008-05-22 2012-03-20 International Business Machines Corporation Structural power reduction in multithreaded processor

Also Published As

Publication number Publication date
KR20120106891A (ko) 2012-09-26
EP2524275A1 (en) 2012-11-21
CN102754045A (zh) 2012-10-24
US8700926B2 (en) 2014-04-15
EP2524275B1 (en) 2015-09-30
JP2013516714A (ja) 2013-05-13
KR101421361B1 (ko) 2014-07-18
US20110173463A1 (en) 2011-07-14
CN102754045B (zh) 2016-04-06
WO2011085329A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
US8689037B2 (en) System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
KR101409141B1 (ko) 멀티코어 중앙 프로세싱 유닛에서의 복수의 코어들을 온도에 기초하여 동적으로 제어하는 시스템 및 방법
JP5601731B2 (ja) プロセッサを動的に制御するシステムおよび方法
JP5660643B2 (ja) 保証された遷移期限で中央処理装置電力を制御するためのシステムおよび方法
KR101516859B1 (ko) 보장된 정상 상태 데드라인을 가진 중앙 처리 장치 전력을 제어하는 시스템 및 방법
JP5593404B2 (ja) プロセッサにおいてスレッドを実行するシステムおよび方法
KR101411729B1 (ko) 감소된 주파수 발진들을 갖는 중앙 처리 장치 전력을 제어하기 위한 시스템 및 방법
JP2013516710A (ja) 中央処理装置内のデータをサンプリングするシステムおよび方法
JP5460883B2 (ja) ワークロードの要求に基づいて動的なクロックおよび電圧切替えアルゴリズムを調整するシステムおよび方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131105

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: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140114

R150 Certificate of patent or registration of utility model

Ref document number: 5460883

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250