JP5662478B2 - 中央処理装置内のデータをサンプリングするシステムおよび方法 - Google Patents

中央処理装置内のデータをサンプリングするシステムおよび方法 Download PDF

Info

Publication number
JP5662478B2
JP5662478B2 JP2012548207A JP2012548207A JP5662478B2 JP 5662478 B2 JP5662478 B2 JP 5662478B2 JP 2012548207 A JP2012548207 A JP 2012548207A JP 2012548207 A JP2012548207 A JP 2012548207A JP 5662478 B2 JP5662478 B2 JP 5662478B2
Authority
JP
Japan
Prior art keywords
cpu
idle state
instruction
length
frequency
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
JP2012548207A
Other languages
English (en)
Other versions
JP2013516710A (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 JP2013516710A publication Critical patent/JP2013516710A/ja
Application granted granted Critical
Publication of JP5662478B2 publication Critical patent/JP5662478B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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 SAMPLING DATA WITHIN A CENTRAL PROCESSING UNIT」と題する米国仮特許出願第61/294,028号の優先権を主張する。
ポータブルコンピューティングデバイス(PD)は至る所にある。これらのデバイスは、セルラー電話、携帯情報端末(PDA)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含み得る。これらのデバイスの一次機能に加えて、多くは周辺機能を含む。たとえば、セルラー電話はセルラー電話で電話をかけるという一次機能、およびスチールカメラ、ビデオカメラ、全地球測位システム(GPS)のナビゲーション、ウェブブラウジング、電子メールの送受信、テキストメッセージの送受信、プッシュツートーク能力などの周辺機能を含むことができる。そのようなデバイスの機能の増大に伴い、そのような機能をサポートするのに必要な計算能力または処理能力も増大している。さらに、計算能力の増大に伴い、計算能力をもたらすプロセッサを効果的に管理する必要性が高まっている。
したがって、中央処理装置内のデータをサンプリングする改善された方法が必要とされている。
図では、別段に規定されていない限り、様々な視点を通じて同じ参照番号は同じ部分を指す。
閉位置におけるポータブルコンピューティングデバイス(PCD)の第1の態様の正面図である。 開位置におけるPCDの第1の態様の正面図である。 PCDの第2の態様のブロック図である。 処理システムのブロック図である。 中央処理装置内のデータをサンプリングする方法の第1の態様を示すフローチャートである。 中央処理装置内のデータをサンプリングする方法の第2の態様の第1の部分を示すフローチャートである。 中央処理装置内のデータをサンプリングする方法の第2の態様の第2の部分を示すフローチャートである。 中央処理装置内のデータをサンプリングする方法の第2の態様の第3の部分を示すフローチャートである。 中央処理装置内のデータをサンプリングする方法の1つ動作態様を示すタイムラインである。
「例示的な」という語は、「一例、実例または例として」を意味するために本明細書で使用される。「例示的な」ものとして本明細書で説明する態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「アプリケーション」は、オープンされる必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、パッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「コンテンツ」は、オープンされる必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
本明細書で使用される「構成要素」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラムおよび/またはコンピュータであってよいが、これらであることに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。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キーボードであり得る。マルチボタン型キーボード120は、上位ハウジング部分104が下位ハウジング部分106との関係で移動したときに現れ得る。図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は、ビデオエンコーダ334、たとえば位相反転線(PAL)エンコーダ、順次式カラーメモリ(SECAM:sequential couleur a memoire)エンコーダまたは全国テレビジョン方式委員会(NTSC)エンコーダがマルチコア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は、ブルートゥースネットワークカード、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つまたは複数を実行するための手段として働くことができる。
図4を参照すると、処理システムが示され、全体的に指定されている(400)。特定の態様では、処理システム400は、図3に関して上述したPCD320に組み込まれ得る。図示のように、処理システム400はマルチコア中央処理装置(CPU)402、およびマルチコアCPU402に接続されたメモリ404を含むことができる。マルチコアCPU402は、第0のコア410、第1のコア412および第Nのコア414を含むことができる。第0のコア410は、その上で実行される第0の動的クロックおよび電圧スケーリング(dynamic clock and voltage scaling:DCVS)アルゴリズム416を含むことができる。第1のコア412は、その上で実行される第1のDCVSアルゴリズム417を含むことができる。さらに、第Nのコア414は、その上で実行される第NのDCVSアルゴリズム418を含むことができる。特定の態様では、各DCVSアルゴリズム416、417、418は、それぞれのコア410、412、414上で独立して実行することができる。
さらに、図示のように、メモリ404は、その上に記憶されたオペレーティングシステム420を含むことができる。オペレーティングシステム420はスケジューラ422を含むことができ、スケジューラ422は第1の実行キュー424、第2の実行キュー426、第Nの実行キュー428を含むことができる。メモリ404は、その上に記憶された第1のアプリケーション430、第2のアプリケーション432および第Nのアプリケーション434を含むことができる。
特定の態様では、アプリケーション430、432、434が1つまたは複数のタスク436をオペレーティングシステム420に送って、マルチコアCPU402内のコア410、412、414で処理することができる。タスク436は、単一のタスク、スレッド、またはそれらの組合せとして処理または実行できる。さらに、スケジューラ422は、マルチコアCPU402内で実行するタスク、スレッド、またはそれらの組合せをスケジュールすることができる。加えて、スケジューラ422は、実行キュー424、426、428にタスク、スレッド、またはそれらの組合せを配置することができる。コア410、412、414は、タスク、スレッド、またはそれらの組合せを、たとえばオペレーティングシステム420によってコア410、412、414でそれらのタスクおよびスレッドを処理または実行するよう命令された場合、実行キュー424、426、428から取り出すことができる。
図4は、メモリ404がその上に記憶されたコントローラ440を含み得ることも示している。コントローラ440は、オペレーティングシステム420およびマルチコアCPU402に接続可能である。具体的には、コントローラ440は、オペレーティングシステム420内のスケジューラ422に接続可能である。本明細書で説明するように、コントローラ440は、コア410、412、414の作業負荷を監視することができ、さらにコントローラ440は、後述のようにコア410、412、414からデータをサンプリングすることができる。
特定の態様では、コントローラ440はソフトウェアプログラムであり得る。しかし、代替態様では、コントローラ440はメモリ404の外部にあるハードウェアコントローラであり得る。いずれの場合も、コントローラ440、メモリ404、コア410、412、414またはそれらの組合せは、コア410、412、414からデータをサンプリングするために本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として働くことができる。
図5を参照すると、動的クロックおよび電圧スケーリング(DCVS)アルゴリズムを実行する方法が示され、全体的に指定されている。方法500は、ブロック502で始まり、これはデバイスの電源が投入されているときに以下のステップを実施できるDOループを伴う。ブロック504では、コントローラはCPU活動を監視することができる。この活動は、単一コアCPU、マルチコアCPU、複数の単一コアCPU、複数のマルチコアCPUまたはそれらの組合せの活動であってよい。さらに、コントローラはソフトウェアコントローラ、ハードウェアコントローラまたはそれらの組合せであってよい。
判断506に移動して、コントローラは、CPUまたはCPUのコアがアイドル状態に入っているか否か判断することができる。アイドル状態に入っている場合、本方法はブロック508に進み、コントローラはDCVSアルゴリズムを実行することができる。その後、判断510では、コントローラは、CPUまたはCPUのコアがアイドル状態から抜け出ているか否か判断することができる。アイドル状態から抜け出ていない場合、方法500はブロック511に進むことができ、CPUはアイドル状態にとどまることができる。次いで、本方法は判断510に戻ることができ、方法500は本明細書で説明するように継続することができる。そうではなく、CPUまたはCPUのコアがアイドル状態から抜け出ている場合、方法500はブロック512に進むことができ、コントローラはDCVSアルゴリズムの実行を中止することができる。その後、コントローラはデバイスの電源が切断されているか否かを判断することができる。デバイスの電源が切断されている場合、方法500は終了することができる。反対に、デバイスの電源投入が続いている場合、方法500はブロック504に戻ることができ、方法500はここで説明するように継続することができる。
判断506に戻ると、CPUまたはCPUのコアがアイドル状態に入っていない場合、方法500は判断516に進むことができる。判断516では、コントローラはタイマーが始動しているか否かを判断することができる。タイマーが始動していない場合、方法500はブロック504に戻ることができ、方法500はここで説明するように継続することができる。タイマーが始動している場合、方法500はブロック518に移動することができ、コントローラはCPU周波数を1ステップ引き上げることができる。次に、判断520では、コントローラはCPU周波数が最大CPU周波数にあるか否かを判断することができる。CPU周波数が最大CPU周波数にある場合、ブロック522でタイマーを解除することができる。次いで、方法500は判断514に進むことができ、方法500はここで説明するように継続することができる。CPU周波数が最大CPU周波数にない場合、方法500は判断514に直接移動することができ、方法500はここで説明するように継続することができる。
特定の態様では、前回のアイドル時間に非常に近接してアイドル状態に入っている場合には、DCVSアルゴリズムの実行を省略することができる。これは、所望のDCVS応答時間に依存することがある。
図6を参照すると、動的クロックおよび電圧スケーリング(DCVS)アルゴリズムを実行する方法の第2の態様が示され、全体的に指定されている。方法600は、ブロック602で始まり、これはデバイスの電源が投入されているときに以下のステップを実行できるDOループを伴う。ブロック604では、コントローラは応答性期限(responsivity deadline)Rを決定することができる。たとえば、応答性期限Rは90ミリ秒に設定され得る。
ブロック606に移動し、コントローラはCPU活動を監視することができる。この活動は、単一コアCPU、マルチコアCPU、複数の単一コアCPU、複数のマルチコアCPUまたはそれらの組合せの活動であってよい。さらに、コントローラはソフトウェアコントローラ、ハードウェアコントローラまたはそれらの組合せであってよい。
判断608に移動して、コントローラは、CPUまたはCPUのコアがアイドル状態に入っているか否か判断することができる。CPUがアイドル状態に入っていない場合、方法600は後述する図8の判断802に直接進むことができる。一方、CPUがアイドル状態に入っている場合、方法600はブロック610に進むことができ、コントローラは時間を書き留めることできる。次に、ブロック612では、コントローラは前回のビジーサイクルの長さを判断することができる。ブロック614では、コントローラは前回のサイクルの長さを記録することができる。さらに、ブロック616では、コントローラはビジーサイクル中のCPU周波数を記録することができる。その後、方法600は図7のブロック702に進むことができる。ブロック610〜ブロック616で収集された情報をDCVSアルゴリズムに提供することができる。
図7のブロック702では、方法600はタイマーを解除することができる。ブロック704に移動し、コントローラは動的クロックおよび電圧スケーリング(DCVS)アルゴリズムを実行することができる。次に、判断706では、コントローラは、CPUまたはCPUのコアがアイドル状態から抜け出ているか否か判断することができる。アイドル状態から抜け出ていない場合、方法600はブロック707に進むことができ、CPUはアイドル状態にとどまることができる。次いで、本方法は判断706に戻ることができ、ここで説明するように継続することができる。CPUまたはそのコアがアイドル状態から抜け出ている場合、方法600はブロック708に進むことができる。ブロック708では、コントローラは時間を書き留めることができる。ブロック710では、コントローラは前回のアイドル期間またはアイドルサイクルの長さを判断することができる。次に、ブロック712では、コントローラは現在時間+応答性期限に等しくなるようにタイマーを設定することができる。ブロック714では、コントローラは前回のアイドル期間の長さを記録することができる。その後、方法600は図6のブロック606に戻ることができ、方法600はここで説明するように継続することができる。ブロック710〜ブロック714で収集された情報をDCVSアルゴリズムに提供することができる。
図6の判断608に戻ると、CPUまたはそのコアがアイドル状態に入っていない場合、方法600は図8の判断802に進むことができる。
図8の判断802では、コントローラはタイマーが始動しているか否かを判断することができる。タイマーが始動していない場合、方法600は図6のブロック606に戻ることができ、方法600はここで説明するように継続することができる。一方、判断802で、タイマーが始動している場合、方法600は判断804に進むことができる。判断804では、コントローラは、コントローラが通常モードで動作しているか、それともサービス品質(QoS)モードで動作しているかを判断することができる。コントローラが通常モードで動作している場合、方法600はブロック806に進むことができ、コントローラはCPU周波数を1ステップ引き上げることができる。
次に、判断808では、コントローラはCPU周波数が最大CPU周波数にあるか否かを判断することができる。CPU周波数が最大CPU周波数にある場合、ブロック810でタイマーを解除することができる。次いで、方法600は図6のブロック606に戻ることができる。その後、方法600はここで説明するように継続することができる。CPU周波数が最大CPU周波数にない場合、方法600は図7のブロック712に戻ることができ、方法600はここで説明するように継続することができる。
判断804に戻り、コントローラがサービス品質(QoS)モードで動作している場合、方法600はブロック812に進むことができ、コントローラはCPU周波数を最大CPU周波数に引き上げることができる。次いで、方法600は図7のブロック712に戻ることができる。
図9は、中央処理装置内のデータをサンプリングする方法の1つの動作態様を示すタイムラインである。この例では、応答性期限は90ミリ秒に等しくなるように設定され得る。t0から、CPUはアイドル状態に入ることができる。時間を書き留めることができる。すなわち、CPUはt-1(不図示)からt0まで、または(t0-t-1)の時間にビジーであったことになる。さらに、タイマーを解除することができる。t1で、CPUはアイドル状態から抜け出るか離れることができる。時間を書き留めることができる。すなわち、CPUはt0からt1まで、または(t1-t0)の時間にアイドル状態であったことになる。次に、タイマーはt1+90ミリ秒に設定され得る。
t2で、CPUは再びアイドル状態に入ることができる。時間を書き留めることができる。すなわち、CPUはt1からt2まで、または(t2-t1)の時間にビジーであったことになる。次いで、タイマーを解除することができる。t3で、CPUはアイドル状態から抜け出ることができる。時間を書き留めることができる。すなわち、CPUはt2からt3まで、または(t3-t2)の時間にアイドル状態であったことになる。次に、タイマーはt3+90ミリ秒に設定され得る。t3+90ミリ秒でタイマーは始動し、CPU周波数が引き上げられる。CPUが通常モードにある場合、CPU周波数を1増分周波数ステップ引き上げることができる。CPUがQoS状態にある場合、CPU周波数を最大CPU周波数に引き上げることができる。さらに、CPU周波数が最大CPU周波数にはない場合、タイマーを(t3+90ミリ秒)+90ミリ秒、すなわち現在時間から90ミリ秒に再スケジュールすることができる。t4で、CPUは再びアイドル状態に入る。時間を書き留めることができる。すなわち、CPUはt3からt4まで、または(t4-t3)の時間にビジーであり、(t3+90ミリ秒)からt4までは周波数が引き上げられていたことになる。次いで、タイマーを解除することができる。
特定の態様では、上記で収集されるすべてのデータポイントにおいて、DCVSアルゴリズムは、t3+90ミリ秒における場合を除いて、通常処理の中断なしに正確なCPUアイドル時間およびCPU使用の情報にアクセスすることができ、判断がアイドル時間において事前計算されているので、中断は最小限の作業ですむ。DCVSアルゴリズムはまた、アイドル/作業分布の履歴にアクセスすることもできる。
本明細書で説明する方法ステップは、必ずしも説明どおりの順序で実施する必要はないことを理解されたい。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、方法ステップの説明を通じて読者を案内するために使用されているにすぎない。さらに、本明細書で説明する方法はポータブルコンピューティングデバイス(PCD)上で実行可能なものとして説明している。PCDはモバイル電話デバイス、携帯情報端末デバイス、スマートブックコンピューティングデバイス、ネットブックコンピューティングデバイス、ラップトップコンピューティングデバイス、デスクトップコンピューティングデバイス、またはそれらの組合せであってよい。
本明細書で説明するシステムおよび方法は、サンプルレート独立(sample-rate independent)であり得るサンプリング方法を提供する。また、応答性、サービス品質(QoS)、またはそれらの組合せは第1級の入力パラメータであり得る。さらに、DCVSアルゴリズム処理は実際の作業を中断せず、システムが完全にロードされているときにオーバーヘッドをゼロにすることができる。加えて、クロックの変更は既存の電力縮小(power collapse)にピギーバックすることができる。
特定の態様では、本明細書で説明する構成において、データのサンプリングは機会主義的と考えることができる。機会主義的サンプリング方法は、固定間隔でCPUロード/アイドル時間をサンプリングするわけではない。代わりに、機会主義的サンプリング方法は、CPUがいつアイドル状態に入り、アイドル状態から離れたかを書き留めることによって、CPUのアイドルを直接測定する。これにより、周期的サンプリングに関連付けられた中断/コンテキスト切替えオーバーヘッドが減る。そこで、DCVSアルゴリズムはシステムが休止しているアイドル時間に実行可能であり、これは、DCVSアルゴリズムが有用な作業を妨害せず、DCVSアルゴリズムのオーバーヘッドが所望のDCVS応答性から独立していることを意味する。
一般に、本方法は1サンプルにつき1つの中断および2つのコンテキスト切替えを省くことができる。加えて、これによりCPUクロック周波数変更を、クロック変更が必要なことの多い現存するアイドル状態の頃にスケジュールすることができる。
特定の態様では、CPUが完全利用状態になった、すなわち100%になった場合、アイドル時間はなくなる。アイドル時間がない場合、サンプルを取り出してDCVSアルゴリズムを実行する機会はない。この枯渇問題を回避するために、DCVSアルゴリズム向けに最悪のビジー時間にタイムアウトコールバックが登録される。このタイムアウトが終了する前にCPUがアイドルになっていない場合、システムはクロック周波数を変更することができる。このタイムアウトは、DCVSアルゴリズムが存在する場合でもパフォーマンスの範囲を定める。クロック周波数の変更は、クロック周波数の通常の引き上げ、または必要とされ得るQoS保証を提供するための(最大限までの)より大きな変更を含むことができる。
いずれの場合も、この完全利用状態では、アイドルデータのサンプリングまたはDCVSアルゴリズムの実行の必要性がない、すなわち、判断ロジックが事前計算されているので、オーバーヘッドは最小限に抑えられる。CPUが最大周波数に達すると、システムが最終状態となり、タイムアウトを解除することができる。そのため、本システムおよび方法は、ロード状態において上手くスケーリングすることができる。システムのロードが大きくなった場合、DCVSアルゴリズムのオーバーヘッドはゼロになる。この特性は、所望のDCVS応答性/感度とは無関係であり得る。さらに、本システムおよび方法は、任意のDCVSアルゴリズムをサポートする。
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装できる。ソフトウェアで実装した場合、これらの機能を機械可読媒体すなわちコンピュータ可読媒体などのコンピュータプログラム製品に記憶すること、またはそのようなコンピュータプログラム製品上の1つもしくは複数の命令あるいはコードとして送信することができる。コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体の両方を含み、1つの場所から別の場所へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形式で所望のプログラムコードを伝送もしくは記憶するために使用でき、コンピュータによってアクセスされ得るその他の媒体を含むことができる。また、あらゆる接続がコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアがウェブサイト、サーバ、または他のリモートソースから同軸ケーブル、光ファイバーケーブル、より対線、デジタル加入者回線(DSL)、または赤外線、ラジオおよびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、より対線、DLS、または赤外線、ラジオおよびマイクロ波などのワイヤレス技術は、媒体の定義に含まれ得る。本明細書で使用するディスク(diskおよびdisc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多目的ディスク(disc)(DVD)、フレキシブルディスク(disk)およびブルーレイディスク(disc)を含み、diskは通常、磁気的にデータを再生し、discはレーザで光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれる。
選択された態様について詳細に説明し、詳述してきたが、以下の請求項によって定められた本発明の趣旨および範囲から離れることなく、本明細書において様々な代替および改変を実施できることが理解されよう。
100 PCD
102 ハウジング
104 上位ハウジング部分
106 下位ハウジング部分
108 ディスプレイ
110 トラックボール入力デバイス
112 電源投入ボタン
114 電源切断ボタン
116 表示灯
118 スピーカー
120 マルチボタン型キーボード
122 リセットボタン
320 PCD
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 ネットワークカード
400 処理システム
402 マルチコア中央処理装置(CPU)
404 メモリ
410 第0のコア
412 第1のコア
414 第Nのコア
416 DCVSアルゴリズム
417 DCVSアルゴリズム
418 DCVSアルゴリズム
420 オペレーティングシステム
422 スケジューラ
424 第1の実行キュー
426 第2の実行キュー
428 第Nの実行キュー
430 第1のアプリケーション
432 第2のアプリケーション
434 第Nのアプリケーション
436 タスク
440 コントローラ

Claims (16)

  1. 中央処理装置(CPU)内のデータをサンプリングする方法であって、
    CPU活動を監視するステップと、
    前記CPUがアイドル状態に入っているか否かを判断するステップと、
    前記CPUがアイドル状態に入っている場合に、動的クロックおよび電圧スイッチング(dynamic clock and voltage switching)(DCVS)アルゴリズムを実行するステップとを含み、 前記DCVSアルゴリズムを実行するステップはさらに、
    現在時間を書き留めるステップと、
    前回のビジーサイクルの長さを判断し、該前回のビジーサイクルの前記長さを記録するステップと、
    前記記録されたビジーサイクルの長さを前記DCVSアルゴリズムに提供するステップと、
    を含み、
    前記CPUが前記アイドル状態に入っていない場合に、タイマーが応答性期限に達しているか否かを判断するステップと、
    前記応答性期限に達しているという判断に応じて、前記CPU周波数を引き上げるステップとを含み、前記CPU周波数を引き上げるステップはさらに、
    前記CPUがサービス品質モードで動作しているか、通常モードで動作しているかを判断するステップと、
    前記CPUがサービス品質モードで動作している場合、CPU周波数を最大値に引き上げるとともに、前記タイマーを解除するステップと、
    前記CPUが通常モードで動作しているときに、CPU周波数を1増分ステップ引き上げるステップとを含み、
    前記方法はさらに、
    前記CPUが前記アイドル状態を抜け出ているか否かを判断するステップと、
    前記CPUが前記アイドル状態を抜け出ているという判断に応じて前記DCVSアルゴリズムの実行を停止するステップと
    を含む方法。
  2. 前記CPUがアイドル状態から抜け出ていない場合に、前記DCVSアルゴリズムの実行を続けるステップ
    をさらに含む、請求項1に記載の方法。
  3. 前記CPUがアイドル状態から抜け出ている場合に、現在時間を書き留めるステップと、
    前回のアイドル期間の長さを判断するステップと、
    前記前回のアイドルサイクルの前記長さを記録するステップと
    をさらに含む、請求項1に記載の方法。
  4. 前記CPUが通常モードで動作しているときに、
    前記CPU周波数が最大値に等しいか否かを判断するステップと、
    前記CPU周波数が前記最大値に等しい場合に、タイマーを解除するステップと
    をさらに含む、請求項1に記載の方法。
  5. CPU活動を監視するための手段と、
    前記CPUがアイドル状態に入っているか否かを判断するための手段と、
    前記CPUがアイドル状態に入っている場合に、動的クロックおよび電圧スイッチング(DCVS)アルゴリズムを実行するための手段とを含み、
    前記DCVSアルゴリズムを実行するための手段はさらに、
    現在時間を書き留める手段と、
    前回のビジーサイクルの長さを判断し、該前回のビジーサイクルの前記長さを記録する手段と、
    前記記録されたビジーサイクルの長さを前記DCVSアルゴリズムに提供する手段と、
    を含み、
    前記CPUが前記アイドル状態に入っていない場合に、タイマーが応答性期限に達しているか否かを判断するための手段と、
    前記応答性期限に達しているという判断に応じて、前記CPU周波数を引き上げる手段とを含み、前記CPU周波数を引き上げるための手段はさらに、
    前記CPUがサービス品質モードで動作しているか、通常モードで動作しているかを判断するための手段と、
    前記CPUがサービス品質モードで動作している場合、CPU周波数を最大値に引き上げるとともに、前記タイマーを解除するための手段と、
    前記CPUが通常モードで動作しているときに、CPU周波数を1増分ステップ引き上げるための手段とを含み、
    前記CPUが前記アイドル状態を抜け出ているか否かを判断するための手段と、
    前記CPUが前記アイドル状態を抜け出ているという判断に応じて前記DCVSアルゴリズムの実行を停止するための手段と
    を含むワイヤレスデバイス。
  6. 前記CPUがアイドル状態から抜け出ていない場合に、前記DCVSアルゴリズムの実行を続けるための手段
    をさらに含む、請求項5に記載のワイヤレスデバイス。
  7. 前記CPUがアイドル状態から抜け出ている場合に、現在時間を書き留めるための手段と、
    前回のアイドル期間の長さを判断するための手段と、
    前記前回のアイドルサイクルの前記長さを記録するための手段と
    をさらに含む、請求項5に記載のワイヤレスデバイス。
  8. 前記CPUが通常モードで動作しているときに、
    前記CPU周波数が最大値に等しいか否かを判断するための手段と、
    前記CPU周波数が前記最大値に等しい場合に、タイマーを解除するための手段と
    をさらに含む、請求項5に記載のワイヤレスデバイス。
  9. プロセッサを含み、前記プロセッサが、
    CPU活動を監視し、
    前記CPUがアイドル状態に入っているか否かを判断し、
    前記CPUがアイドル状態に入っている場合に、動的クロックおよび電圧スイッチング(DCVS)アルゴリズムを実行ように動作可能な、ワイヤレスデバイスであって、
    前記DCVSアルゴリズムを実行することはさらに、
    現在時間を書き留め、
    前回のビジーサイクルの長さを判断し、該前回のビジーサイクルの前記長さを記録し、
    前記記録されたビジーサイクルの長さを前記DCVSアルゴリズムに提供することを含み、
    前記CPUが前記アイドル状態に入っていない場合に、タイマーが応答性期限に達しているか否かを判断し、
    前記応答性期限に達しているという判断に応じて、前記CPU周波数を引き上げることを含み、前記CPU周波数を引き上げることはさらに、
    前記CPUがサービス品質モードで動作しているか、通常モードで動作しているかを判断し、
    前記CPUがサービス品質モードで動作している場合、CPU周波数を最大値に引き上げるとともに、前記タイマーを解除することと、
    前記CPUが通常モードで動作しているときに、CPU周波数を1増分ステップ引き上げることとを含み、
    前記CPUが前記アイドル状態を抜け出ているか否かを判断し、
    前記CPUが前記アイドル状態を抜け出ているという判断に応じて前記DCVSアルゴリズムの実行を停止すること
    を含む、ワイヤレスデバイス。
  10. 前記プロセッサが、
    前記CPUがアイドル状態から抜け出ていない場合に、前記DCVSアルゴリズムの実行を続ける
    ようにさらに動作可能な、請求項9に記載のワイヤレスデバイス。
  11. 前記プロセッサが、
    前記CPUがアイドル状態から抜け出ている場合に、現在時間を書き留め、
    前回のアイドル期間の長さを判断し、
    前記前回のアイドルサイクルの前記長さを記録する
    ようにさらに動作可能な、請求項9に記載のワイヤレスデバイス。
  12. 前記CPUが通常モードで動作しているときに、前記プロセッサが、
    前記CPU周波数が最大値に等しいか否かを判断し、
    前記CPU周波数が前記最大値に等しい場合に、タイマーを解除する
    ようにさらに動作可能な、請求項9に記載のワイヤレスデバイス。
  13. プロセッサにより実行可能な命令を記録したプロセッサ読み取り可能な記録媒体であって、
    CPU活動を監視するための少なくとも1つの命令と、
    前記CPUがアイドル状態に入っているか否かを判断するための少なくとも1つの命令と、
    前記CPUがアイドル状態に入っている場合に、動的クロックおよび電圧スイッチング(DCVS)アルゴリズムを実行するための少なくとも1つの命令とを記録し、
    前記DCVSアルゴリズムを実行する命令はさらに、
    現在時間を書き留める命令と、
    前回のビジーサイクルの長さを判断し、該前回のビジーサイクルの前記長さを記録する命令と、
    前記記録されたビジーサイクルの長さを前記DCVSアルゴリズムに提供する命令とを含み、
    前記CPUが前記アイドル状態に入っていない場合に、タイマーが応答性期限に達しているか否かを判断するための少なくとも1つの命令と、
    前記応答性期限に達しているという判断に応じて、前記CPU周波数を引き上げるための少なくとも1つの命令とを含み、前記CPU周波数を引き上げるための少なくとも1つの命令はさらに、
    前記CPUがサービス品質モードで動作しているか、通常モードで動作しているかを判断するための少なくとも1つの命令と、
    前記CPUがサービス品質モードで動作している場合、CPU周波数を最大値に引き上げるとともに、前記タイマーを解除するための少なくとも1つの命令と、
    前記CPUが通常モードで動作しているときに、CPU周波数を1増分ステップ引き上げるための少なくとも1つの命令とを含み、
    前記CPUが前記アイドル状態を抜け出ているか否かを判断するための少なくとも1つの命令と、
    前記CPUが前記アイドル状態を抜け出ているという判断に応じて前記DCVSアルゴリズムの実行を停止するための少なくとも1つの命令と
    を含む、記録媒体。
  14. 前記CPUがアイドル状態から抜け出ていない場合に、前記DCVSアルゴリズムの実行を続けるための少なくとも1つの命令
    をさらに記録する、請求項13に記載の記録媒体。
  15. 前記CPUがアイドル状態から抜け出ている場合に、現在時間を書き留めるための少なくとも1つの命令と、
    前回のアイドル期間の長さを判断するための少なくとも1つの命令と、
    前記前回のアイドルサイクルの前記長さを記録するための少なくとも1つの命令と
    をさらに記録する、請求項13に記載の記録媒体。
  16. 前記CPUが通常モードで動作しているときに、前記CPU周波数が最大値に等しいか否かを判断するための少なくとも1つの命令と、
    前記CPU周波数が前記最大値に等しい場合に、タイマーを解除するための少なくとも1つの命令と
    をさらに記録する、請求項13に記載の記録媒体。
JP2012548207A 2010-01-11 2011-01-10 中央処理装置内のデータをサンプリングするシステムおよび方法 Active JP5662478B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29402810P 2010-01-11 2010-01-11
US61/294,028 2010-01-11
US12/846,119 2010-07-29
US12/846,119 US8370665B2 (en) 2010-01-11 2010-07-29 System and method of sampling data within a central processing unit
PCT/US2011/020684 WO2011085313A1 (en) 2010-01-11 2011-01-10 System and method of sampling data within a central processing unit

Publications (2)

Publication Number Publication Date
JP2013516710A JP2013516710A (ja) 2013-05-13
JP5662478B2 true JP5662478B2 (ja) 2015-01-28

Family

ID=44259445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012548207A Active JP5662478B2 (ja) 2010-01-11 2011-01-10 中央処理装置内のデータをサンプリングするシステムおよび方法

Country Status (6)

Country Link
US (1) US8370665B2 (ja)
EP (1) EP2524272B1 (ja)
JP (1) JP5662478B2 (ja)
KR (1) KR101499303B1 (ja)
CN (1) CN102667669B (ja)
WO (1) WO2011085313A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938631B2 (en) 2012-06-30 2015-01-20 International Business Machines Corporation Energy efficient implementation of read-copy update for light workloads running on systems with many processors
US9430014B2 (en) * 2013-07-18 2016-08-30 Qualcomm Incorporated System and method for idle state optimization in a multi-processor system on a chip
CN104951026A (zh) * 2014-03-25 2015-09-30 联芯科技有限公司 基于嵌入式温度传感器的芯片过温自动控制方法及系统
KR102164099B1 (ko) 2014-03-28 2020-10-12 삼성전자 주식회사 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치
US10114448B2 (en) * 2014-07-02 2018-10-30 Intel Corporation Autonomous C-state algorithm and computational engine alignment for improved processor power efficiency
US9600392B2 (en) 2014-08-11 2017-03-21 International Business Machines Corporation Tracking pipelined activity during off-core memory accesses to evaluate the impact of processor core frequency changes
JP6418056B2 (ja) 2015-05-01 2018-11-07 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US10102031B2 (en) * 2015-05-29 2018-10-16 Qualcomm Incorporated Bandwidth/resource management for multithreaded processors

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS593651A (ja) 1982-06-30 1984-01-10 Fujitsu Ltd フア−ムウエアによる性能測定システム
JP3701965B2 (ja) * 1991-05-17 2005-10-05 日本電気株式会社 保護モードマイクロプロセッサ及びハードディスクのための中断/再開機能とアイドルモードの実現
EP0632360A1 (en) * 1993-06-29 1995-01-04 Xerox Corporation Reducing computer power consumption by dynamic voltage and frequency variation
JPH08263166A (ja) * 1995-03-10 1996-10-11 United Microelectron Corp コンピュータの電力節減方法及びその装置
JPH0973338A (ja) * 1995-09-05 1997-03-18 Ricoh Co Ltd デジタル画像形成装置
US5745375A (en) * 1995-09-29 1998-04-28 Intel Corporation Apparatus and method for controlling power usage
JPH11143573A (ja) * 1997-11-10 1999-05-28 Fujitsu Ltd クロック供給方法及び情報処理装置
JP2000039937A (ja) * 1998-07-22 2000-02-08 Toshiba Corp コンピュータシステムおよびそのパワーセーブ制御方法
US6747984B1 (en) * 1998-12-18 2004-06-08 Lsi Logic Corporation Method and apparatus for transmitting Data
JP2001245195A (ja) * 2000-02-29 2001-09-07 Olympus Optical Co Ltd 電子カメラ
JP2002304232A (ja) * 2001-04-03 2002-10-18 Sony Corp 演算処理システム及び演算処理制御方法、並びに記憶媒体
JP3610930B2 (ja) * 2001-07-12 2005-01-19 株式会社デンソー オペレーティングシステム、プログラム、車両用電子制御装置
WO2003036722A1 (fr) * 2001-10-26 2003-05-01 Fujitsu Limited Circuit integre a semi-conducteur, dispositif electronique dans lequel ce circuit integre est incorpore et procede d'economie d'energie
KR100479329B1 (ko) * 2001-12-24 2005-03-30 한국전자통신연구원 동작주파수 및 구동전압 변동을 이용한 mpeg 디코딩 방법
JP2004192256A (ja) * 2002-12-10 2004-07-08 Seiko Epson Corp ネットワークコントローラ
US7299370B2 (en) * 2003-06-10 2007-11-20 Intel Corporation Method and apparatus for improved reliability and reduced power in a processor by automatic voltage control during processor idle states
KR101136036B1 (ko) * 2003-12-24 2012-04-18 삼성전자주식회사 유휴 모드에서의 전력 소모가 감소된 프로세서 시스템 및그 방법
US7698575B2 (en) * 2004-03-30 2010-04-13 Intel Corporation Managing power consumption by requesting an adjustment to an operating point of a processor
EP1758302A4 (en) * 2004-05-28 2010-07-28 Nokia Corp NETWORK SYSTEM
KR100716730B1 (ko) * 2004-06-11 2007-05-14 삼성전자주식회사 중앙 처리 장치의 아이들 상태에서의 시스템 전력 소모절감을 위한 방법 및 그 방법을 적용한 모바일 장치
US7761874B2 (en) * 2004-08-13 2010-07-20 Intel Corporation Managing processing system power and performance based on utilization trends
US7711966B2 (en) * 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
JP2006227849A (ja) * 2005-02-17 2006-08-31 Fuji Xerox Co Ltd 情報処理装置
US20060275934A1 (en) * 2005-06-03 2006-12-07 William Pohl Management of computer processes
KR100731983B1 (ko) * 2005-12-29 2007-06-25 전자부품연구원 저전력 무선 디바이스 프로세서용 하드와이어드 스케줄러및 스케줄링 방법
US7484110B2 (en) * 2006-03-16 2009-01-27 Microsoft Corporation Adaptive power management
TW200825705A (en) * 2006-04-26 2008-06-16 Nxp Bv Method and system for power-state transition controllers
US20080147357A1 (en) * 2006-12-15 2008-06-19 Iintrinisyc Software International System and method of assessing performance of a processor
US7783906B2 (en) * 2007-02-15 2010-08-24 International Business Machines Corporation Maximum power usage setting for computing device
US8739162B2 (en) * 2007-04-27 2014-05-27 Hewlett-Packard Development Company, L.P. Accurate measurement of multithreaded processor core utilization and logical processor utilization
US20090049314A1 (en) * 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
US7643964B2 (en) * 2007-08-21 2010-01-05 Texas Instruments Incorporated Method, system and apparatus for measuring an idle value of a central processing unit
US7949888B2 (en) * 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
JP4875719B2 (ja) * 2009-02-02 2012-02-15 レノボ・シンガポール・プライベート・リミテッド Dc/dcコンバータおよび携帯式コンピュータ
US8909962B2 (en) * 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
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
US8700926B2 (en) * 2010-01-11 2014-04-15 Qualcomm Incorporated System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests

Also Published As

Publication number Publication date
KR101499303B1 (ko) 2015-03-05
CN102667669A (zh) 2012-09-12
WO2011085313A1 (en) 2011-07-14
EP2524272B1 (en) 2017-10-25
US8370665B2 (en) 2013-02-05
KR20120117861A (ko) 2012-10-24
CN102667669B (zh) 2015-03-25
US20110173471A1 (en) 2011-07-14
JP2013516710A (ja) 2013-05-13
EP2524272A1 (en) 2012-11-21

Similar Documents

Publication Publication Date Title
EP2513746B1 (en) System and method for controlling central processing unit power with guaranteed transient deadlines
JP5662478B2 (ja) 中央処理装置内のデータをサンプリングするシステムおよび方法
US8689037B2 (en) System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
KR101409141B1 (ko) 멀티코어 중앙 프로세싱 유닛에서의 복수의 코어들을 온도에 기초하여 동적으로 제어하는 시스템 및 방법
JP5893568B2 (ja) 推定される作業負荷並列性に基づき中央処理装置電力を制御するためのシステムおよび方法
US8904399B2 (en) System and method of executing threads at a processor
KR101516859B1 (ko) 보장된 정상 상태 데드라인을 가진 중앙 처리 장치 전력을 제어하는 시스템 및 방법
KR20120112579A (ko) 감소된 주파수 발진들을 갖는 중앙 처리 장치 전력을 제어하기 위한 시스템 및 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140828

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141204

R150 Certificate of patent or registration of utility model

Ref document number: 5662478

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250