動的なクロックおよび電圧切替えアルゴリズムを調整する方法であって、デフォルトの応答度を設定するステップと、ワークロードが追加された後、前記ワークロードが登録しているかどうかを決定するステップと、前記ワークロードが登録している場合、一意の識別子を前記ワークロードに割り当てるステップと、前記ワークロードから必要な応答度を受信するステップとを含む方法。前記応答度が、周波数設定の変化率、電圧設定の変化率、またはそれらの組合せである請求項1に記載の方法。前記ワークロードが登録されていない場合、現在の応答度を前記ワークロードに提供するステップをさらに含む請求項1に記載の方法。前記現在の応答度が前記デフォルトの応答度を含む請求項3に記載の方法。前記必要な応答度が現在の応答度よりも大きいかどうかを決定するステップをさらに含む請求項1に記載の方法。前記必要な応答度が前記現在の応答度以下であるとき、現在の応答度をすべてのワークロードに提供するステップをさらに含む請求項5に記載の方法。前記現在の応答度が前記デフォルトの応答度である請求項6に記載の方法。前記現在の応答度が、別の登録されたワークロードに関連付けられた応答度である請求項7に記載の方法。前記必要な応答度が前記現在の応答度よりも大きいとき、前記DCVSアルゴリズムを前記必要な応答度に調整するステップをさらに含む請求項5に記載の方法。前記必要な応答度をすべてのワークロードに提供するステップをさらに含む請求項9に記載の方法。デフォルトの応答度を設定するための手段と、ワークロードが追加された後、前記ワークロードが登録しているかどうかを決定するための手段と、前記ワークロードが登録している場合、一意の識別子を前記ワークロードに割り当てるための手段と、前記ワークロードから必要な応答度を受信するための手段とを含むデバイス。前記応答度が、周波数設定の変化率、電圧設定の変化率、またはそれらの組合せである請求項11に記載のデバイス。前記ワークロードが登録されていない場合、現在の応答度を前記ワークロードに提供するための手段をさらに含む請求項11に記載のデバイス。前記現在の応答度が前記デフォルトの応答度を含む請求項13に記載のデバイス。前記必要な応答度が現在の応答度よりも大きいかどうかを決定するための手段をさらに含む請求項11に記載のデバイス。前記必要な応答度が前記現在の応答度以下であるとき、現在の応答度をすべてのワークロードに提供するための手段をさらに含む請求項15に記載のデバイス。前記現在の応答度が前記デフォルトの応答度である請求項16に記載のデバイス。前記現在の応答度が、別の登録されたワークロードに関連付けられた応答度である請求項17に記載のデバイス。前記必要な応答度が前記現在の応答度よりも大きいとき、前記DCVSアルゴリズムを前記必要な応答度に調整するための手段をさらに含む請求項15に記載のデバイス。前記必要な応答度をすべてのワークロードに提供するための手段をさらに含む請求項19に記載のデバイス。デフォルトの応答度を設定し、ワークロードが追加された後、前記ワークロードが登録しているかどうかを決定し、前記ワークロードが登録している場合、一意の識別子を前記ワークロードに割り当て、前記ワークロードから必要な応答度を受信するように構成されたプロセッサを含むデバイス。前記応答度が、周波数設定の変化率、電圧設定の変化率、またはそれらの組合せである請求項21に記載のデバイス。前記プロセッサが、前記ワークロードが登録されていない場合、現在の応答度を前記ワークロードに提供するようにさらに構成された請求項21に記載のデバイス。前記現在の応答度が前記デフォルトの応答度を含む請求項23に記載のデバイス。前記プロセッサが、前記必要な応答度が現在の応答度よりも大きいかどうかを決定するようにさらに構成された請求項21に記載のデバイス。前記プロセッサが、前記必要な応答度が前記現在の応答度以下であるとき、現在の応答度をすべてのワークロードに提供するようにさらに構成された請求項25に記載のデバイス。前記現在の応答度が前記デフォルトの応答度である請求項26に記載のデバイス。前記現在の応答度が、別の登録されたワークロードに関連付けられた応答度である請求項27に記載のデバイス。前記プロセッサが、前記必要な応答度が前記現在の応答度よりも大きいとき、前記DCVSアルゴリズムを前記必要な応答度に調整するようにさらに構成された請求項25に記載のデバイス。前記プロセッサが、前記必要な応答度をすべてのワークロードに提供するようにさらに構成された請求項29に記載のデバイス。デフォルトの応答度を設定するための少なくとも1つの命令と、ワークロードが追加された後、前記ワークロードが登録しているかどうかを決定するための少なくとも1つの命令と、前記ワークロードが登録している場合、一意の識別子を前記ワークロードに割り当てるための少なくとも1つの命令と、前記ワークロードから必要な応答度を受信するための少なくとも1つの命令とを含むメモリ媒体。前記応答度が、周波数設定の変化率、電圧設定の変化率、またはそれらの組合せである請求項31に記載のメモリ媒体。前記ワークロードが登録されていない場合、現在の応答度を前記ワークロードに提供するための少なくとも1つの命令をさらに含む請求項31に記載のメモリ媒体。前記現在の応答度が前記デフォルトの応答度を含む請求項33に記載のメモリ媒体。前記必要な応答度が現在の応答度よりも大きいかどうかを決定するための少なくとも1つの命令をさらに含む請求項31に記載のメモリ媒体。前記必要な応答度が前記現在の応答度以下であるとき、現在の応答度をすべてのワークロードに提供するための少なくとも1つの命令をさらに含む請求項35に記載のメモリ媒体。前記現在の応答度が前記デフォルトの応答度である請求項36に記載のメモリ媒体。前記現在の応答度が、別の登録されたワークロードに関連付けられた応答度である請求項37に記載のメモリ媒体。前記必要な応答度が前記現在の応答度よりも大きいとき、前記DCVSアルゴリズムを前記必要な応答度に調整するための少なくとも1つの命令をさらに含む請求項35に記載のメモリ媒体。前記必要な応答度をすべてのワークロードに提供するための少なくとも1つの命令をさらに含む請求項39に記載のメモリ媒体。したがって、動的なクロックおよび電圧切替えアルゴリズムを調整する改良された方法が必要である。特許請求の範囲に記載の手段によって上記課題を解決する。図中、別段に規定されていない限り、類似の参照番号は、様々な図の全体を通じて、類似の部分を指す。例示という語は、本明細書では、例、実例、または例証の役割を果たすことを意味するために使用される。本明細書で例示として説明する任意の態様を、必ずしも他の態様より好ましい、または有利であると解釈すべきというわけではない。この説明では、アプリケーションという用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなど、実行可能なコンテンツを有するファイルも含み得る。さらに、本明細書で言及されるアプリケーションは、例えば開く必要があり得る文書またはアクセスする必要がある他のデータファイルなど、本質的に実行可能ではないファイルも含み得る。コンテンツという用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなど、実行可能なコンテンツを有するファイルも含み得る。さらに、本明細書で言及されるコンテンツは、例えば開く必要があり得る文書またはアクセスする必要がある他のデータファイルなど、本質的に実行可能ではないファイルも含み得る。この説明で使用される場合、構成要素、データベース、モジュール、システムなどの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアなどコンピュータ関連のエンティティを指すものとする。例えば、構成要素は、限定はしないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、およびまたはコンピュータとすることができる。例として、コンピューティングデバイス上で動作するアプリケーションおよびコンピューティングデバイスはいずれも構成要素とすることができる。1つまたは複数の構成要素がプロセスおよびまたは実行スレッド内に存在する可能性があり、1つの構成要素が1つのコンピュータ上に局在化されてもよく、およびまたは2つ以上のコンピュータ間に分散されてもよい。さらに、これらの構成要素は、様々なデータ構造が記憶される様々なコンピュータ可読媒体から実行することができる。構成要素は、例えば1つまたは複数のデータパケットを有する信号によるなど、ローカルおよびまたはリモートのプロセスによって通信することができる。最初に図1および図2を参照すると、例示のポータブルコンピューティングデバイスが示されており、全体的に100と表される。図示のように、PCD100は、ハウジング102を含み得る。ハウジング102は、上側ハウジング部104および下側ハウジング部106を含み得る。図1は、上側ハウジング部104がディスプレイ108を含み得ることを示す。特定の態様において、ディスプレイ108は、タッチスクリーンディスプレイでもよい。上側ハウジング部104は、トラックボール入力デバイス110を含むこともできる。さらに、図1に示されるように、上側ハウジング部104は、電源投入ボタン112および電源切断ボタン114を含むことができる。図1に示されるように、PCD100の上側ハウジング部104は、複数のインジケータライト116およびスピーカ118を含むことができる。各インジケータライト116は、発光ダイオードでもよい。特定の態様において、図2に示されるように、上側ハウジング部104は、下側ハウジング部106に対して移動可能である。具体的には、上側ハウジング部104は、下側ハウジング部106に対して摺動可能でもよい。図2に示されるように、下側ハウジング部106は、マルチボタンキーボード120を含むことができる。特定の態様において、マルチボタンキーボード120は、標準QWERTYキーボードでもよい。上側ハウジング部104を下側ハウジング部106に対して移動させると、マルチボタンキーボード120が現れ得る。図2は、PCD100が下側ハウジング部106上にリセットボタン122を含み得ることをさらに示す。図3を参照すると、ポータブルコンピューティングデバイスの例示の非限定的な態様が示されており、全体的に320と表される。図示のように、PCD320は、マルチコアCPU324を含むオンチップシステム322を含む。マルチコアCPU324は、第0のコア325、第1のコア326、および第Nのコア327を含み得る。図3に示されるように、ディスプレイコントローラ328およびタッチスクリーンコントローラ330は、マルチコアCPU324に結合される。次に、オンチップシステム322の外部のタッチスクリーンディスプレイ332は、ディスプレイコントローラ328およびタッチスクリーンコントローラ330に結合される。図3は、例えば位相反転線エンコーダ、sequentialcouleuramemoireエンコーダ、または全国テレビジョン方式委員会エンコーダなどのビデオエンコーダ334がマルチコアCPU324に結合されることをさらに示す。さらに、ビデオ増幅器336は、ビデオエンコーダ334およびタッチスクリーンディスプレイ332に結合される。また、ビデオポート338は、ビデオ増幅器336に結合される。図3に示されるように、ユニバーサルシリアルバスコントローラ340がマルチコアCPU324に結合される。また、USBポート342は、USBコントローラ340に結合される。メモリ344および加入者識別モジュールカード346もマルチコアCPU324に結合され得る。さらに、図3に示されるように、デジタルカメラ348は、マルチコアCPU324に結合され得る。例示的な態様では、デジタルカメラ348は、電荷結合デバイスカメラまたは相補型金属酸化膜半導体カメラである。図3にさらに示されるように、ステレオオーディオコーデック350は、マルチコアCPU324に結合され得る。さらに、オーディオ増幅器352は、ステレオオーディオコーデック350に結合され得る。例示的な態様では、第1のステレオスピーカ354および第2のステレオスピーカ356は、オーディオ増幅器352に結合される。図3は、マイクロフォン増幅器358もステレオオーディオコーデック350に結合され得ることを示す。さらに、マイクロフォン360は、マイクロフォン増幅器358に結合され得る。特定の態様において、周波数変調無線チューナ362は、ステレオオーディオコーデック350に結合され得る。また、FMアンテナ364は、FM無線チューナ362に結合される。さらに、ステレオヘッドフォン366は、ステレオオーディオコーデック350に結合され得る。図3は、無線周波数トランシーバ368がマルチコアCPU324に結合され得ることをさらに示す。RFスイッチ370は、RFトランシーバ368およびRFアンテナ372に結合され得る。図3に示されるように、キーパッド374は、マルチコアCPU324に結合され得る。また、マイクロフォンを備えるモノヘッドセット376は、マルチコアCPU324に結合され得る。さらに、バイブレータデバイス378は、マルチコアCPU324に結合され得る。図3は、電源装置380がオンチップシステム322に結合され得ることも示す。特定の態様において、電源装置380は、電力を必要とするPCD320の様々な構成要素に電力を供給する直流電流の電源装置である。さらに、特定の態様において、電源装置は、AC電源に接続された交流DC変換器から導出されたDC電源または充電式DCバッテリである。図3は、PCD320が、例えばローカルエリアネットワーク、パーソナルエリアネットワーク、または任意の他のネットワークなど、データネットワークにアクセスするために使用され得るネットワークカード388も含み得ることをさらに示す。ネットワークカード388は、Bluetooth登録商標ネットワークカード、WiFiネットワークカード、パーソナルエリアネットワークカード、パーソナルエリアネットワーク超低電力技術ネットワークカード、または当技術分野で知られている任意の他のネットワークカードとすることができる。さらに、ネットワークカード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つまたは複数のワークロードの要求に基づいて、動的なクロックおよび電圧切替えアルゴリズムを調整するために、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として働き得る。図4を参照すると、処理システムが示されており、全体的に400と表される。特定の態様において、処理システム400は、図3に関して上記で説明されたPCD320に組み込まれ得る。図示のように、処理システム400は、マルチコア中央処理装置402、およびマルチコアCPU402に接続されたメモリ404を含むことができる。マルチコアCPU402は、第0のコア410、第1のコア412、および第Nのコア414を含み得る。第0のコア410では、第0の動的なクロックおよび電圧スケーリングアルゴリズム416が実行され得る。第1のコア412では、第1のDCVSアルゴリズム417が実行され得る。さらに、第Nのコア414では、第NのDCVSアルゴリズム418が実行され得る。特定の態様において、各DCVSアルゴリズム416、417、418は、それぞれのコア412、414、416上で独立して実行され得る。さらに、図示のように、メモリ404には、オペレーティングシステム420が記憶されていてもよい。オペレーティングシステム420は、スケジューラ422を含むことができ、スケジューラ422は、第1の実行待ち行列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つまたは複数のワークロードの要求に基づいて、動的なクロックおよび電圧切替えアルゴリズムを調整するために、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として働き得る。図5を参照すると、ワークロードを登録する方法が示されており、全体的に500と表される。方法500は、ブロック502でDOループで開始し、デバイスが電源投入されると、以下のステップが実行され得る。ブロック504で、コントローラによって、遅延が実施され得る。遅延は、固定された所定の期間、例えば60秒とすることができる。代わりに、遅延は、例えばブートの終了など、明示的なイベントの後に終了するようにしてもよい。ブロック506に移動して、コントローラは、CPUのアクティビティを監視することができる。このアクティビティは、シングルコアCPU、マルチコアCPU、複数のシングルコアCPU、複数のマルチコアCPU、またはそれらの組合せのアクティビティとすることができる。さらに、コントローラは、ソフトウェアコントローラ、ハードウェアコントローラ、またはそれらの組合せとすることができる。決定508で、コントローラは、ワークロードが追加されたかどうかを決定することができる。ワークロードは、ビデオアプリケーション、音声アプリケーション、電子メールアプリケーション、ワイヤレスネットワークアプリケーション、セルラーネットワークアプリケーション、ショートメッセージサービスアプリケーション、通信アプリケーション、セキュリティアプリケーション、カレンダアプリケーション、インスタントメッセージングアプリケーション、スチールカメラアプリケーション、全地球測位システムアプリケーション、ブラウザアプリケーション、メモ帳アプリケーション、クロックアプリケーション、ゲームアプリケーション、計算機アプリケーション、銀行業務アプリケーション、パスワードキーパーアプリケーション、ヘルプアプリケーション、電子商取引アプリケーション、ソフトウェア配信アプリケーション、検索アプリケーション、オプションアプリケーション、確立アプリケーション、電話アプリケーション、接続管理アプリケーション、セキュリティアプリケーション、任意の他のアプリケーション、またはそれらの組合せとすることができる。特定の態様において、決定508でワークロードが追加されていない場合、方法500は、ブロック506に戻ることができ、本明細書で説明するように継続することができる。そうでない場合、決定508で、ワークロードが追加されている場合、方法500は、決定510に進むことができ、コントローラは、ワークロードがコントローラに登録しているかどうかを決定することができる。ワークロードが登録していない場合、方法500は、決定511に進むことができる。決定511で、コントローラは、デバイスが電源切断されたかどうかを決定することができる。そうであれば、方法500は、終了することができる。そうでない場合、デバイスが電源投入されたままである場合、方法500はブロック506に戻ることができ、コントローラは、決定508で別のワークロードが追加されたことを決定するまで、CPUのアクティビティを監視し続けることができる。決定510に戻って、ワークロードがコントローラに登録している場合、方法500は、ブロック512に進むことができ、コントローラは、ワークロードの登録を受信することができる。ブロック514で、コントローラは、ワークロードの一意の識別子を決定することができる。次に、ブロック516で、コントローラは、一意の識別子をワークロードに割り当てることができる。ブロック518に進むと、コントローラは、ワークロードの要求を受信することができる。ワークロードの要求は、例えば、必要な応答度を含むことができる。応答度は、システム設定の変化率でもよい。例えば、応答度は、CPU周波数の変化率、電圧の変化率、またはそれらの組合せでもよい。さらに、応答度は、ミリ秒で表される最大遅延、ミリ秒当たりの周波数として表されるCPUスルーレート範囲、またはそれらの組合せでもよい。ブロック520に移動して、ワークロードの1つまたは複数の要求がコントローラによって提供され得る、すなわち、コントローラは、動的なクロックおよび電圧スケーリングアルゴリズムに、ワークロードで示される応答度を提供するように指示することができる。その後、方法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で、コントローラは、ワークロードが追加されたかどうかを決定することができる。ワークロードは、ビデオアプリケーション、音声アプリケーション、電子メールアプリケーション、ワイヤレスネットワークアプリケーション、セルラーネットワークアプリケーション、ショートメッセージサービスアプリケーション、通信アプリケーション、セキュリティアプリケーション、カレンダアプリケーション、インスタントメッセージングアプリケーション、スチールカメラアプリケーション、全地球測位システムアプリケーション、ブラウザアプリケーション、メモ帳アプリケーション、クロックアプリケーション、ゲームアプリケーション、計算機アプリケーション、銀行業務アプリケーション、パスワードキーパーアプリケーション、ヘルプアプリケーション、電子商取引アプリケーション、ソフトウェア配信アプリケーション、検索アプリケーション、オプションアプリケーション、確立アプリケーション、電話アプリケーション、接続管理アプリケーション、セキュリティアプリケーション、任意の他のアプリケーション、またはそれらの組合せとすることができる。決定608で、ワークロードが追加されていない場合、方法600は、ブロック606に戻ることができ、本明細書で説明するように継続することができる。反対に、決定608で、ワークロードが追加されている場合、方法600は、決定610に進むことができ、コントローラは、ワークロードが登録しているかどうかを決定することができる。決定610で、ワークロードが登録されていない場合、方法600は、ブロック612に進むことができ、コントローラは、現在の応答度をワークロードに提供することができる。方法600の最初の繰返しでは、現在の応答度は、デフォルトの応答度とすることができる。その後の繰返しでは、その必要な応答度がデフォルトの応答度よりも大きい場合、現在の応答度は、別の登録されたワークロードに関連付けられた必要な応答度であり得る。決定610に戻ると、ワークロードがコントローラに登録している場合、方法600は、ブロック614に進むことができ、コントローラは、一意の識別子をワークロードに割り当てることができる。次いで、ブロック616で、コントローラは、ワークロードから直接、ワークロードの応答度の要求を受信することができる。代わりに、ワークロードがコントローラに連絡するとき、ワークロードは、一意の識別子をコントローラにサブミットすることができる。次いで、コントローラは、一意の識別子を使用して、ワークロードがコントローラまたはいくつかの関連する制御システムに登録されているかどうかを決定することができる。例えば、コントローラは、一意の識別子でテーブルまたはデータベースを検索することができ、コントローラがテーブルまたはデータベース内に一致する一意の識別子を探し出した場合、ワークロードは登録されているとみなされ得る。ワークロードが登録されている場合、コントローラは、テーブルまたはデータベースから応答度の要求を決定することができ、すなわち、応答度の要求は、一意の識別子に関連してテーブルまたはデータベースに格納され得る。決定618に進むと、コントローラは、必要な応答度が現在の応答度よりも大きいかどうかを決定することができる。必要な応答度が現在の応答度以下である場合、方法600は、ブロック614に戻ることができ、コントローラは、現在の応答度を登録されたワークロードに提供することができる。そうでない場合、必要な応答度が現在の応答度よりも大きい場合、方法600は、ブロック620に進み、コントローラは、動的なクロックおよび電圧スケーリングアルゴリズムを、必要な、すなわちより高い応答度に調整することができる。その後、ブロック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は、携帯電話デバイス、携帯情報端末デバイス、スマートブックコンピューティングデバイス、ネットブックコンピューティングデバイス、ラップトップコンピューティングデバイス、デスクトップコンピューティングデバイス、またはそれらの組合せとすることができる。さらに、本明細書で説明される方法ステップは、シングルコアプロセッサ、マルチコアプロセッサ、複数のシングルコアプロセッサ、複数のマルチコアプロセッサ、またはそれらの任意の組合せ上で実行され得る。1つまたは複数の例示的な態様において、記載の機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、機械可読媒体、すなわちコンピュータ可読媒体などのコンピュータプログラム製品に1つまたは複数の命令またはコードとして記憶され、またはそれを介して送信され得る。コンピュータ可読媒体は、ある位置から別の位置へのコンピュータプログラムの転送を容易にする任意の媒体を含むコンピュータ記憶媒体および通信媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の使用可能な媒体とすることができる。限定ではなく、例として、こうしたコンピュータ可読媒体は、RAM、ROM、EEPROM、CDROM、または他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、または、命令またはデータ構造の形態で所望のプログラムコードを運ぶまたは記憶するために使用され、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、任意の接続は、厳密には、コンピュータ可読媒体と呼ばれる。例えば、ソフトウェアが同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線、またはワイヤレス技術、例えば赤外線、無線、およびマイクロ波を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、赤外線、無線、およびマイクロ波などの同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、またはワイヤレス技術は媒体の定義内に含まれる。本明細書で使用する場合、ディスクおよびディスクは、コンパクトディスク、レーザーディスク登録商標、光ディスク、デジタル多用途ディスク、フロッピー登録商標ディスク、およびブルーレイディスクを含み、ディスクは、通常、磁気的にデータを再生し、ディスクは、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるものとする。選択された態様が例示され、詳細に説明され、記載されているが、以下の特許請求の範囲によって定義された本発明の趣旨および範囲から逸脱することなく、様々な置換および改変を加えることができることを理解されよう。