(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-19
(54)【発明の名称】コア電圧レギュレータのエネルギー認識タスクスケジューリング
(51)【国際特許分類】
G06F 9/50 20060101AFI20231212BHJP
【FI】
G06F9/50 150Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023540962
(86)(22)【出願日】2021-12-02
(85)【翻訳文提出日】2023-07-04
(86)【国際出願番号】 US2021061640
(87)【国際公開番号】W WO2022154895
(87)【国際公開日】2022-07-21
(32)【優先日】2021-01-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】ディッバード、ビジャヤクマー・アショク
(72)【発明者】
【氏名】ランガラジャン、バーラト・クマー
(72)【発明者】
【氏名】カッキレニ、プラシャント・クマー
(72)【発明者】
【氏名】ツラガ、スリニバス
(57)【要約】
コンピューティングデバイス内のタスクスケジューリングは、電圧レギュレータ効率に部分的に基づく場合がある。スケジュールされるべき追加のタスクに対して、プロセッサの間で実行される1つまたは複数の他のタスクと並行するいくつかのプロセッサの各々での追加のタスクの実行を表す、複数のタスクスケジューリングケースが決定される場合がある。タスクスケジューリングケースごとに、電圧レギュレータのためのレギュレータ入力電力レベルは、追加のタスクに関連付けられた性能レベル指示、プロセッサ上で実行される1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて決定される場合がある。タスクスケジューリングケースごとに、すべての電圧レギュレータに対するレギュレータ入力電力レベルを合計することによって、総レギュレータ入力電力レベルが決定される場合がある。追加のタスクは、総レギュレータ入力電力が最も低いタスクスケジューリングケースに関連付けられたプロセッサ上で実行される場合がある。
【特許請求の範囲】
【請求項1】
コンピューティングデバイス内のタスクスケジューリングのための方法であって、
タスク性能レベル指示を備えるタスクを受信することと、
複数のタスクスケジューリングケースを決定することと、各タスクスケジューリングケースが、複数のプロセッサ上で実行される1つまたは複数の他のタスクと並行する前記複数のプロセッサのうちの関連するプロセッサ上での前記タスクの実行を表し、各プロセッサが複数の電圧レギュレータのうちの1つの電圧レギュレータによって供給される、
タスクスケジューリングケースごとに、前記複数の電圧レギュレータの総レギュレータ入力電力レベルを決定することと、
前記複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有する前記タスクスケジューリングケースのうちの1つを選択することと、
前記タスクスケジューリングケースのうちの前記選択された1つに関連付けられたプロセッサ上で前記タスクを実行することと
を備える、方法。
【請求項2】
タスクスケジューリングケースごとに、前記総レギュレータ入力電力レベルを決定することが、
タスクスケジューリングケースごとに、前記タスク性能レベル指示、前記複数のプロセッサ上で実行される前記1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、前記複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定することと、
タスクスケジューリングケースごとに、前記複数の電圧レギュレータの前記レギュレータ入力電力レベルを合計することによって、前記複数のタスクスケジューリングケースに基づいて前記総レギュレータ入力電力レベルを決定することと
を備える、請求項1に記載の方法。
【請求項3】
前記複数の電圧レギュレータの各々の前記レギュレータ入力電力レベルを決定することが、前記電圧レギュレータのうちの1つのために、
前記電圧レギュレータのうちの前記1つのためのレギュレータ出力電流レベルを決定することと、
前記電圧レギュレータのうちの前記1つの前記レギュレータ出力電流レベルおよび効率モデルに基づいて、前記電圧レギュレータのうちの前記1つの前記効率レベルを決定することと、
前記レギュレータ出力電流レベルおよび前記効率レベルに基づいて、前記レギュレータ入力電力レベルを決定することと
を備える、請求項2に記載の方法。
【請求項4】
前記レギュレータ出力電流レベルを決定することが、
前記電圧レギュレータのうちの前記1つによって供給されたプロセッサごとにプロセッサ電力レベルを決定することと、
前記電圧レギュレータのうちの前記1つによって供給されたすべてのプロセッサに対する前記プロセッサ電力レベルを合計することと、
前記電圧レギュレータのうちの前記1つによって供給されたすべてのプロセッサに対する前記プロセッサ電力レベルの合計を、前記電圧レギュレータのうちの前記1つの出力電圧によって除算することと
を備える、請求項3に記載の方法。
【請求項5】
前記レギュレータ出力電流レベルを決定することが、
電力供給平面損失を決定することと、
出力電圧によってプロセッサ電力レベルの合計を除算する前に、前記プロセッサ電力レベルの前記合計に前記電力供給平面損失を加算することによって前記プロセッサ電力レベルの前記合計を調整することと
をさらに備える、請求項3に記載の方法。
【請求項6】
前記レギュレータ入力電力レベルを決定することが、前記効率レベルによって前記レギュレータ出力電力レベルを除算することを備える、請求項5に記載の方法。
【請求項7】
前記複数のプロセッサが、
第1の電圧レギュレータによって供給された複数の高性能プロセッサを備える第1のクラスタと、
第2の電圧レギュレータによって供給された複数の低性能プロセッサを備える第2のクラスタと
を備える、請求項1に記載の方法。
【請求項8】
前記複数のプロセッサの各々が、対応する電圧レギュレータによって供給されたチップレットを備える、請求項1に記載の方法。
【請求項9】
複数のプロセッサと、
タスクスケジューラと、
複数の電圧レギュレータと
を備える、コンピューティングデバイス内のタスクスケジューリングのためのシステムであって、
前記タスクスケジューラが、
タスク性能レベル指示を備えるタスクを受信することと、
複数のタスクスケジューリングケースを決定することと、各タスクスケジューリングケースが、複数のプロセッサ上で実行される1つまたは複数の他のタスクと並行する前記複数のプロセッサのうちの関連するプロセッサ上での前記タスクの実行を表し、各プロセッサが複数の電圧レギュレータのうちの1つの電圧レギュレータによって供給される、
タスクスケジューリングケースごとに、前記複数の電圧レギュレータの総レギュレータ入力電力レベルを決定することと、
前記複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有する前記タスクスケジューリングケースのうちの1つを選択することと、
前記タスクスケジューリングケースのうちの前記選択された1つに関連付けられたプロセッサ上で前記タスクを実行することと
を行うように構成される、システム。
【請求項10】
前記タスクスケジューラが、
タスクスケジューリングケースごとに、前記タスク性能レベル指示、前記複数のプロセッサ上で実行される前記1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、前記複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定することと、
タスクスケジューリングケースごとに、前記複数の電圧レギュレータの前記レギュレータ入力電力レベルを合計することによって、前記総レギュレータ入力電力レベルを決定することと
を行うように構成されることによって、タスクスケジューリングケースごとに、前記総レギュレータ入力電力レベルを決定するように構成される、請求項9に記載のシステム。
【請求項11】
前記タスクスケジューラが、前記電圧レギュレータのうちの1つのために、
前記電圧レギュレータのうちの前記1つのためのレギュレータ出力電流レベルを決定することと、
前記電圧レギュレータのうちの前記1つの前記レギュレータ出力電流レベルおよび効率モデルに基づいて、前記電圧レギュレータのうちの前記1つの前記効率レベルを決定することと、
前記レギュレータ出力電流レベルおよび前記効率レベルに基づいて、前記レギュレータ入力電力レベルを決定することと
を行うように構成されることによって、前記複数の電圧レギュレータの各々の前記レギュレータ入力電力レベルを決定するように構成される、請求項10に記載のシステム。
【請求項12】
前記タスクスケジューラが、
前記電圧レギュレータのうちの前記1つによって供給されたプロセッサごとにプロセッサ電力レベルを決定することと、
前記電圧レギュレータのうちの前記1つによって供給されたすべてのプロセッサに対する前記プロセッサ電力レベルを合計することと、
前記電圧レギュレータのうちの前記1つによって供給されたすべてのプロセッサに対する前記プロセッサ電力レベルの合計を、前記電圧レギュレータのうちの前記1つの出力電圧によって除算することと
を行うように構成されることによって、前記レギュレータ出力電流レベルを決定するように構成される、請求項11に記載のシステム。
【請求項13】
前記タスクスケジューラが、
電力供給平面損失を決定することと、
前記出力電圧によって前記プロセッサ電力レベルの前記合計を除算する前に、前記プロセッサ電力レベルの前記合計に前記電力供給平面損失を加算することによって前記プロセッサ電力レベルの前記合計を調整することと
を行うようにさらに構成されることによって、前記レギュレータ出力電流レベルを決定するように構成される、請求項11に記載のシステム。
【請求項14】
前記タスクスケジューラが、前記効率レベルによって前記レギュレータ出力電力レベルを除算することによって、前記レギュレータ入力電力レベルを決定するように構成される、請求項13に記載のシステム。
【請求項15】
前記複数のプロセッサが、
少なくとも1つの高性能プロセッサを備える第1のクラスタと、
少なくとも1つの低性能プロセッサを備える第2のクラスタと
を備える、請求項9に記載のシステム。
【請求項16】
前記第1のクラスタの前記少なくとも1つの高性能プロセッサが、第1の電圧レギュレータによって供給され、
前記第2のクラスタの前記少なくとも1つの低性能プロセッサが、第2の電圧レギュレータによって供給される、
請求項15に記載のシステム。
【請求項17】
前記第1のクラスタが、各々が前記第1の電圧レギュレータによって供給された複数の高性能プロセッサを備え、
前記第2のクラスタが、各々が前記第2の電圧レギュレータによって供給された複数の低性能プロセッサを備える、
請求項16に記載のシステム。
【請求項18】
前記複数のプロセッサの各々が、対応する電圧レギュレータによって供給されたチップレットを備える、請求項9に記載のシステム。
【請求項19】
コンピューティングデバイス内のタスクスケジューリングのためのシステムであって、
タスク性能レベル指示を備えるタスクを受信するための手段と、
複数のタスクスケジューリングケースを決定するための手段と、各タスクスケジューリングケースが、複数のプロセッサ上で実行される1つまたは複数の他のタスクと並行する前記複数のプロセッサのうちの関連するプロセッサ上での前記タスクの実行を表し、各プロセッサが複数の電圧レギュレータのうちの1つの電圧レギュレータによって供給される、
タスクスケジューリングケースごとに、前記複数の電圧レギュレータの総レギュレータ入力電力レベルを決定するための手段と、
前記複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有する前記タスクスケジューリングケースのうちの1つを選択するための手段と、
前記タスクスケジューリングケースのうちの前記選択された1つに関連付けられたプロセッサ上で前記タスクを実行するための手段と
を備える、システム。
【請求項20】
タスクスケジューリングケースごとに、前記総レギュレータ入力電力レベルを決定するための前記手段が、
タスクスケジューリングケースごとに、前記タスク性能レベル指示、前記複数のプロセッサ上で実行される前記1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、前記複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定するための手段と、
タスクスケジューリングケースごとに、前記複数の電圧レギュレータの前記レギュレータ入力電力レベルを合計することによって、前記総レギュレータ入力電力レベルを決定するための手段と
を備える、請求項19に記載のシステム。
【請求項21】
前記複数の電圧レギュレータの各々の前記レギュレータ入力電力レベルを決定するための前記手段が、前記電圧レギュレータのうちの1つのために、
前記電圧レギュレータのうちの前記1つのためのレギュレータ出力電流レベルを決定するための手段と、
前記電圧レギュレータのうちの前記1つの前記レギュレータ出力電流レベルおよび効率モデルに基づいて、前記電圧レギュレータのうちの前記1つの前記効率レベルを決定するための手段と、
前記レギュレータ出力電流レベルおよび前記効率レベルに基づいて、前記レギュレータ入力電力レベルを決定するための手段と
を備える、請求項20に記載のシステム。
【請求項22】
前記レギュレータ出力電流レベルを決定するための前記手段が、
前記電圧レギュレータのうちの前記1つによって供給されたプロセッサごとにプロセッサ電力レベルを決定するための手段と、
前記電圧レギュレータのうちの前記1つによって供給されたすべてのプロセッサに対する前記プロセッサ電力レベルを合計するための手段と、
前記電圧レギュレータのうちの前記1つによって供給されたすべてのプロセッサに対する前記プロセッサ電力レベルの合計を、前記電圧レギュレータのうちの前記1つの出力電圧によって除算するための手段と
を備える、請求項21に記載のシステム。
【請求項23】
前記レギュレータ出力電流レベルを決定するための前記手段が、
電力供給平面損失を決定するための手段と、
前記出力電圧によって前記プロセッサ電力レベルの前記合計を除算する前に、前記プロセッサ電力レベルの前記合計に前記電力供給平面損失を加算することによって前記プロセッサ電力レベルの前記合計を調整するための手段と
をさらに備える、請求項21に記載のシステム。
【請求項24】
前記レギュレータ入力電力レベルを決定するための前記手段が、前記効率レベルによって前記レギュレータ出力電力レベルを除算するための手段を備える、請求項23に記載のシステム。
【請求項25】
前記複数のプロセッサが、
少なくとも1つの高性能プロセッサを備える第1のクラスタと、
少なくとも1つの低性能プロセッサを備える第2のクラスタと
を備える、請求項19に記載のシステム。
【請求項26】
前記第1のクラスタの前記少なくとも1つの高性能プロセッサが、第1の電圧レギュレータによって供給され、
前記第2のクラスタの前記少なくとも1つの低性能プロセッサが、第2の電圧レギュレータによって供給される、
請求項25に記載のシステム。
【請求項27】
前記第1のクラスタが、各々が前記第1の電圧レギュレータによって供給された複数の高性能プロセッサを備え、
前記第2のクラスタが、各々が前記第2の電圧レギュレータによって供給された複数の低性能プロセッサを備える、
請求項26に記載のシステム。
【請求項28】
前記複数のプロセッサの各々が、対応する電圧レギュレータによって供給されたチップレットを備える、請求項19に記載のシステム。
【請求項29】
コンピューティングデバイス内のタスクスケジューリングのためのコンピュータ可読媒体であって、前記コンピュータ可読媒体が、前記コンピューティングデバイスの処理システムによって実行されると、
タスク性能レベル指示を備えるタスクを受信することと、
複数のタスクスケジューリングケースを決定することと、各タスクスケジューリングケースが、複数のプロセッサ上で実行される1つまたは複数の他のタスクと並行する前記複数のプロセッサのうちの関連するプロセッサ上での前記タスクの実行を表し、各プロセッサが複数の電圧レギュレータのうちの1つの電圧レギュレータによって供給される、
タスクスケジューリングケースごとに、前記複数の電圧レギュレータの総レギュレータ入力電力レベルを決定することと、
前記複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有する前記タスクスケジューリングケースのうちの1つを選択することと、
前記タスクスケジューリングケースのうちの前記選択された1つに関連付けられたプロセッサ上で前記タスクを実行することと
を行うように前記処理システムを構成する命令をコンピュータ実行可能形式で記憶している非一時的コンピュータ可読媒体を備える、コンピュータ可読媒体。
【請求項30】
前記命令が、
タスクスケジューリングケースごとに、前記タスク性能レベル指示、前記複数のプロセッサ上で実行される前記1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、前記複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定することと、
タスクスケジューリングケースごとに、前記複数の電圧レギュレータの前記レギュレータ入力電力レベルを合計することによって、前記総レギュレータ入力電力レベルを決定することと
を行うように前記処理システムを構成することによって、タスクスケジューリングケースごとに、前記総レギュレータ入力電力レベルを決定するように前記処理システムを構成する、請求項29に記載のコンピュータ可読媒体。
【請求項31】
前記命令が、前記電圧レギュレータのうちの1つのために、
前記電圧レギュレータのうちの前記1つのためのレギュレータ出力電流レベルを決定することと、
前記電圧レギュレータのうちの前記1つの前記レギュレータ出力電流レベルおよび効率モデルに基づいて、前記電圧レギュレータのうちの前記1つの前記効率レベルを決定することと、
前記レギュレータ出力電流レベルおよび前記効率レベルに基づいて、前記レギュレータ入力電力レベルを決定することと
を行うように前記処理システムを構成することによって、前記複数の電圧レギュレータの各々の前記レギュレータ入力電力レベルを決定するように前記処理システムを構成する、請求項30に記載のコンピュータ可読媒体。
【請求項32】
前記命令が、
前記電圧レギュレータのうちの前記1つによって供給されたプロセッサごとにプロセッサ電力レベルを決定することと、
前記電圧レギュレータのうちの前記1つによって供給されたすべてのプロセッサに対する前記プロセッサ電力レベルを合計することと、
前記電圧レギュレータのうちの前記1つによって供給されたすべてのプロセッサに対する前記プロセッサ電力レベルの合計を、前記電圧レギュレータのうちの前記1つの出力電圧によって除算することと
を行うように前記処理システムを構成することによって、前記レギュレータ出力電流レベルを決定するように前記処理システムを構成する、請求項31に記載のコンピュータ可読媒体。
【請求項33】
前記命令が、
電力供給平面損失を決定することと、
前記出力電圧によって前記プロセッサ電力レベルの前記合計を除算する前に、前記プロセッサ電力レベルの前記合計に前記電力供給平面損失を加算することによって前記プロセッサ電力レベルの前記合計を調整することと
を行うように前記処理システムをさらに構成することによって、前記レギュレータ出力電流レベルを決定するように前記処理システムを構成する、請求項32に記載のコンピュータ可読媒体。
【請求項34】
前記命令が、前記効率レベルによって前記レギュレータ出力電力レベルを除算することによって、前記レギュレータ入力電力レベルを決定するように前記処理システムを構成する、請求項33に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
[0001]ポータブルコンピューティングデバイス(「PCD」)は、個人レベルおよび専門家レベルの人々にとって必需品になっている。これらのデバイスには、携帯電話、タブレットコンピュータ、パームトップコンピュータ、携帯情報端末(「PDA」)、携帯型ゲーム機、および他のポータブル電子デバイスが含まれる場合がある。PCDは、通常、ユーザに機能を届けるために一緒に動作するように設計された多数の構成要素またはサブシステムを含む集積回路またはシステムオンチップ(「SoC」)を含んでいる。たとえば、SoCは、中央処理装置(「CPU」)、グラフィカル処理装置(「GPU」)、デジタル信号プロセッサ(「DSP」)、ニューラル処理装置(「NPU」)、(モデムとも呼ばれる)ワイヤレストランシーバユニットなどの、任意の数の処理エンジンを含む場合がある。
【0002】
[0002]CPUなどの処理エンジンは、互いに独立してタスクを実行することが可能な複数のコアを有する場合がある。コアは、各コアが他のコアと同じレベルの性能を可能にする対称であるか、または1つもしくは複数のコアが他のコアよりも高い性能向けに最適化される(異質とも呼ばれる)非対称であり得る。コアは、クラスタ内で編成される場合がある。いくつかの異質のアーキテクチャでは、1つのクラスタは、別のクラスタのコアよりも高い性能向けに最適化されたコアからなる場合がある。高い性能のコアは、概して、低い性能のコアよりも多くの電力を消費する。複数のコアのうちのどれが複数のタスクのうちのどれを実行するかを決定するプロセスは、通常、タスクスケジューリングと呼ばれる。タスクスケジューリングは、通常、オペレーティングシステムカーネルの一部であるスケジューラによって制御される場合がある。
【0003】
[0003]すべての実行タスクによって消費されるエネルギーの総量を最小化するように試みるタスクスケジューリングは、エネルギー認識スケジューリング(「EAS」)と呼ばれる場合がある。タスクを実行するのに最も効率的なコアを決定するために、EASを使用するスケジューラは、タスクが各コアにかける処理負荷の推定値を、電力に対する処理負荷(すなわち、性能)に関係するモデルに適用することができる。次いで、スケジューラは、タスクを実行することが総電力を最小化するとモデルが示すコアを選択する。
【発明の概要】
【0004】
[0004]コンピューティングデバイス内のレギュレータ効率認識タスクスケジューリングのためのシステム、方法、コンピュータ可読媒体、および他の実施形態が開示される。
【0005】
[0005]コンピューティングデバイス内のタスクスケジューリングのための例示的な方法は、タスク性能レベル指示を備えるタスクを受信することと、複数のタスクスケジューリングケースを決定することとを含む場合がある。例示的な方法では、各タスクスケジューリングケースは、複数のプロセッサ上で実行される1つまたは複数の他のタスクと並行する複数のプロセッサのうちの関連するプロセッサ上のタスクの実行を表すことができる。例示的な方法では、各プロセッサは、複数の電圧レギュレータのうちの1つによって供給される場合がある。例示的な方法はまた、タスクスケジューリングケースごとに、タスク性能レベル指示、プロセッサ上で実行される1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、各電圧レギュレータのレギュレータ入力電力レベルを決定することを含む場合がある。例示的な方法はさらに、タスクスケジューリングケースごとに、電圧レギュレータのレギュレータ入力電力レベルを合計することによって総レギュレータ入力電力レベルを決定することを含む場合がある。例示的な方法はまたさらに、複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有するタスクスケジューリングケースのうちの1つを選択することを含む場合がある。例示的な方法はその上さらに、タスクスケジューリングケースのうちの選択された1つに関連付けられたプロセッサ上でタスクを実行することを含む場合がある。
【0006】
[0006]コンピューティングデバイス内のタスクスケジューリングのための例示的なシステムは、複数のプロセッサと、タスクスケジューラと、複数の電圧レギュレータとを含む場合がある。タスクスケジューラは、タスク性能レベル指示を備えるタスクを受信し、複数のタスクスケジューリングケースを決定するように構成される場合がある。例示的なシステムでは、各タスクスケジューリングケースは、プロセッサ上で実行される1つまたは複数の他のタスクと並行する関連するプロセッサ上のタスクの実行を表すことができる。例示的なシステムでは、各プロセッサは、電圧レギュレータのうちの1つによって供給される場合がある。例示的なシステムでは、タスクスケジューラはまた、タスクスケジューリングケースごとに、タスク性能レベル指示、プロセッサ上で実行される1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、各電圧レギュレータのレギュレータ入力電力レベルを決定するように構成される場合がある。例示的なシステムでは、タスクスケジューラはさらに、タスクスケジューリングケースごとに、電圧レギュレータのレギュレータ入力電力レベルを合計することによって総レギュレータ入力電力レベルを決定するように構成される場合がある。例示的なシステムでは、タスクスケジューラはまたさらに、複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有するタスクスケジューリングケースのうちの1つを選択するように構成される場合がある。例示的なシステムでは、タスクスケジューラはその上さらに、タスクスケジューリングケースのうちの選択された1つに関連付けられたプロセッサ上でタスクを実行するように構成される場合がある。
【0007】
[0007]コンピューティングデバイス内のタスクスケジューリングのための別の例示的なシステムは、タスク性能レベル指示を備えるタスクを受信するための手段と、複数のタスクスケジューリングケースを決定するための手段とを含む場合がある。例示的なシステムでは、各タスクスケジューリングケースは、プロセッサ上で実行される1つまたは複数の他のタスクと並行する複数のプロセッサのうちの関連するプロセッサ上のタスクの実行を表すことができる。例示的なシステムでは、各プロセッサは、複数の電圧レギュレータのうちの1つによって供給される場合がある。例示的なシステムはまた、タスクスケジューリングケースごとに、タスク性能レベル指示、プロセッサ上で実行される1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、各電圧レギュレータのレギュレータ入力電力レベルを決定するための手段を含む場合がある。例示的システムはさらに、タスクスケジューリングケースごとに、電圧レギュレータのレギュレータ入力電力レベルを合計することによって総レギュレータ入力電力レベルを決定するための手段を含む場合がある。例示的なシステムはまたさらに、複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有するタスクスケジューリングケースのうちの1つを選択するための手段を含む場合がある。例示的なシステムはその上さらに、タスクスケジューリングケースのうちの選択された1つに関連付けられたプロセッサ上でタスクを実行するための手段を含む場合がある。
【0008】
[0008]コンピューティングデバイス内のタスクスケジューリングのための例示的なコンピュータ可読媒体は、コンピュータ実行可能形式で命令を記憶している非一時的コンピュータ可読媒体を備えることができる。命令は、コンピューティングデバイスの処理システムによって実行されると、タスク性能レベル指示を備えるタスクを受信し、複数のタスクスケジューリングケースを決定するように処理システムを構成することができる。例示的なコンピュータ可読媒体では、各タスクスケジューリングケースは、プロセッサ上で実行される1つまたは複数の他のタスクと並行する複数のプロセッサのうちの関連するプロセッサ上のタスクの実行を表すことができる。例示的なコンピュータ可読媒体では、各プロセッサは、複数の電圧レギュレータのうちの1つによって供給される場合がある。命令はまた、タスクスケジューリングケースごとに、タスク性能レベル指示、プロセッサ上で実行される1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、電圧レギュレータの各々のレギュレータ入力電力レベルを決定するように処理システムを構成することができる。命令はさらに、タスクスケジューリングケースごとに、電圧レギュレータのレギュレータ入力電力レベルを合計することによって総レギュレータ入力電力レベルを決定するように処理システムを構成することができる。命令はまたさらに、複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有するタスクスケジューリングケースのうちの1つを選択するように処理システムを構成することができる。命令はその上さらに、タスクスケジューリングケースのうちの選択された1つに関連付けられたプロセッサ上でタスクを実行するように処理システムを構成することができる。
【0009】
[0009]図では、別段に規定されていない限り、様々な図の全体を通して、同様の参照番号は同様の部分を指す。「102A」または「102B」などの英文字名称をもつ参照番号の場合、英文字名称は、同じ図内に存在する2つの同様の部分または要素を区別することができる。参照番号がすべての図において同じ参照番号を有するすべての部分を包含するものであるとき、参照番号についての英文字名称は省略されてもよい。
【図面の簡単な説明】
【0010】
【
図1】例示的な実施形態による、コアの複数のクラスタを有するコンピューティングデバイス内のタスクスケジューリングシステムを示すブロック図。
【
図2】例示的な実施形態による、複数のチップレットを有するコンピューティングデバイス内のタスクスケジューリングシステムを示すブロック図。
【
図3A】例示的な実施形態による、コンピューティングデバイス内のタスクスケジューリングのための方法におけるタスクスケジューリングケースの第1の例を示す図。
【
図3B】例示的な実施形態による、コンピューティングデバイス内のタスクスケジューリングのための方法におけるタスクスケジューリングケースの第2の例を示す図。
【
図3C】例示的な実施形態による、コンピューティングデバイス内のタスクスケジューリングのための方法におけるタスクスケジューリングケースの第3の例を示す図。
【
図4】例示的な実施形態による、コンピューティングデバイス内のタスクスケジューリングのための方法を示すフロー図。
【
図5】電圧レギュレータ効率曲線の一例を示すグラフ。
【
図6】2つの異なる電圧レギュレータについての電圧レギュレータ効率曲線の例を示す
図5と同様の図。
【
図7】例示的な実施形態による、ポータブルコンピューティングデバイスのブロック図。
【発明を実施するための形態】
【0011】
[0019]「例示的」という単語は、本明細書では、「例、事例、または例示として働くこと」を意味するために使用される。「事例的」という単語は、本明細書では、「例示的」と同義的に使用される場合がある。「例示的」として本明細書に記載されたいかなる態様も、必ずしも他の態様よりも好ましいかまたは有利であると解釈されるべきではない。「結合」という用語は、介在する要素を介さずに接続されることを意味するために本明細書で使用される場合がある「直接接続」という用語とは対称的に、ゼロ以上の介在する要素を介して接続されることを意味するために本明細書で使用される場合がある。
【0012】
[0020]プロセッサ上で実行されるタスクに対する参照は、当業者によってよく理解される従来のコンピューティング原理に従う方式で、タスクによって表されるソフトウェア(命令、データなど)が、メモリからソフトウェアの部分を検索および実行し、メモリに結果を格納するプロセッサによって実行されることを意味する。本明細書に記載された例示的な実施形態のうちのいくつかでは、そのようなメモリの明示的な説明は、明確にするために省略される場合がある。
【0013】
[0021]
図1に示されたように、事例的または例示的な実施形態では、コンピューティングデバイス100はプロセッサチップ102を含む場合がある。プロセッサチップ102は、たとえば、(時々アプリケーションプロセッサとも呼ばれる)CPUであり得る。プロセッサチップ102は、コア104A、104B、104C、および104Dなどの複数のコア104を有する場合がある。示された実施形態では、プロセッサチップ102は4つのコア104を有するが、他の実施形態では、そのようなプロセッサチップは任意の他の数のコアを有する場合がある。コア104Aおよび104Bは第1のクラスタ106A内に編成される場合があり、コア104Cおよび104Dは第2のクラスタ106B内に編成される場合がある。図示された実施形態では、コア104は2つのクラスタ106Aおよび106B内に編成されているが、他の実施形態では、コアは任意の他の数のクラスタ内に編成される場合がある。いくつかの実施形態では、第1のクラスタ106Aのコア104Aおよび104Bは、第2のクラスタ106Bのコア104Cおよび104Dよりも高い処理負荷または高い(たとえば、百万命令毎秒もしくは「MIPS」で表された)性能レベルを維持するように構成される場合がある。本開示で使用される「高性能」および「低性能」という用語は、互いに対する性能レベルを指す。それにもかかわらず、他の実施形態では、すべてのそのようなコアは、同じ最大処理負荷を維持することが可能であり得る。
【0014】
[0022]第1の電圧レギュレータ108Aは、第1のクラスタ106Aのコア104Aおよび104Bに電力を供給するように構成される場合がある。同様に、第2の電圧レギュレータ108Bは、第2のクラスタ106Bのコア104Cおよび104Dに電力を供給するように構成される場合がある。本明細書に記載された例示的な実施形態では、「電力」という用語は、調節された電圧における電流の量を指す。明確にするために
図1には示されていないが、調節された1つまたは複数の電圧は、電圧レギュレータ108Aおよび108Bに電圧制御信号を提供するコンピューティングデバイス100の電力管理回路によって選択または調整される場合がある。以下でさらに詳細に記載されるように、いくつかの実施形態では、電圧レギュレータ108Aおよび108Bは、異なる効率を有するように互いに異なる場合がある。それにもかかわらず、他の実施形態では、そのような電圧レギュレータは、同じ効率を有するように互いに類似する場合がある。
【0015】
[0023]上述されたプロセッサチップ102ならびに電圧レギュレータ108Aおよび108Bに加えて、コンピューティングデバイス100の他の要素は、たとえば、1つまたは複数のメモリ、他のプロセッサ、入力/出力システム、データ通信バス、電力管理回路などを含む場合がある。そのような他の要素は、明確にするために
図1には示されていない。
【0016】
[0024]
図2に示されたように、別の例示的な実施形態では、コンピューティングデバイス200はプロセッサチップ202を含む場合がある。プロセッサチップ202は、たとえば、CPUまたはアプリケーションプロセッサであり得る。プロセッサチップ202は、チップレット204A、204B、204C、および204Dなどの複数のチップレット204を備える場合がある。示された実施形態では、プロセッサチップ202は4つのチップレット204を有するが、他の実施形態では、そのようなプロセッサチップは任意の他の数のチップレットを有する場合がある。電圧レギュレータ208A、208B、208C、および208Dは、それぞれ、チップレット204A、204B、204C、および204Dに電力を供給するように構成される場合がある。上述されたプロセッサチップ202ならびに電圧レギュレータ208A、208B、208C、および208Dに加えて、コンピューティングデバイス200の他の要素は、たとえば、1つまたは複数のメモリ、他のプロセッサ、入力/出力システム、データ通信バスなどを含む場合がある。そのような他の要素は、明確にするために
図2には示されていない。
【0017】
[0025]
図3A~
図3Cに示されたように、システム300は、タスクスケジューラ302と、プロセッサ304A、304B、304C、および304Dなどのプロセッサ304とを含む場合がある。プロセッサ304は、上述されたコア104(
図1)もしくはチップレット204(
図2)、または2つ以上のプロセッサの任意の他のグループの一例であり得る。また、上述された実施形態では、コア104のすべてが単一のチップ102に含まれ、チップレット204のすべてが単一のチップ202に含まれているが、他の実施形態では、そのようなプロセッサは別々のチップ内にあり得る。以下の説明では、「プロセッサ」という用語は、1つまたは複数のチップに含まれ得るすべてのそのようなプロセッサを包含する。さらに、示された実施形態では、システム300は4つのプロセッサ304を有するが、他の実施形態では、そのようなシステムは任意の他の数のプロセッサを有する場合がある。
【0018】
[0026]電圧レギュレータは、
図1~
図2に関して上述された方式でプロセッサ304に電力を供給することができる。たとえば、第1の電圧レギュレータ308Aはプロセッサ304Aおよび304Bに電力を供給することができ、第2の電圧レギュレータ308Bはプロセッサ304Cおよび304Dに電力を供給することができる。
【0019】
[0027]
図3A~
図3Cに示された実施形態では、タスクスケジューラ302は、オペレーティングシステム(図示せず)の部分または特徴に対応することができる。すなわち、タスクスケジューラ302は、タスクスケジューリングソフトウェアを含むオペレーティングシステムソフトウェアによる実行によって構成されたプロセッサ304または他のプロセッサ(図示せず)のいずれかなどの、プロセッサの部分を備える場合がある。
【0020】
[0028]「タスクスケジューリング」または「スケジューリング」という用語は、その上でタスクを実行するプロセッサ304のうちの1つを選択することを指す。システム300の動作の一例では、第1のタスク306Aは、スケジューラ302がスケジュールされるべき追加または第2のタスク306Bの指示を(たとえば、オペレーティングシステムの別の部分から)受信するとき、プロセッサ304A上で実行されている場合がある。矢印310Aは、スケジューラ302がプロセッサ304A上で実行するように第1のタスク306Aを前に(すなわち、第2のタスク306Bの指示の受信より前に)スケジュールしている場合があることを概念的に示す。第2のタスク306Bの指示に応答して、スケジューラ302は、第2のタスク306Bを実行するためにプロセッサ304のうちの1つを選択することができる。以下に記載されるように、本明細書では「タスクスケジューリングケース」と呼ばれる追加のタスクをスケジュールする3つの代替方法が、それぞれ、
図3A、
図3B、および
図3Cに示されている。概して、追加または第2のタスク306Bは、潜在的に、4つのプロセッサ304A、304B、304C、および304Dのいずれかで実行される可能性がある。それにもかかわらず、この例では、第2のタスク306Bを実行するための候補プロセッサのセットが、従来のタスクスケジューリング原理に従って識別または決定される場合がある。従来、もしあれば、タスク負荷が最も高い1つまたは複数のプロセッサは、追加のタスクを実行するための候補プロセッサのセットから除外されるはずである。すなわち、負荷が最も小さい1つまたは複数のプロセッサが候補のセットを形成する。プロセッサ304Aが第1のタスク306Aを実行しているが、他のプロセッサ304B、304C、および304Dのどれもいかなるタスクも実行していないこの例では、プロセッサ304B、304C、および304Dが第2のタスク306Bを実行するための候補プロセッサのセットを形成する。
【0021】
[0029]たとえば、
図3Aの矢印310Bによって概念的に示されたように、および以下に記載される方法に基づいて、スケジューラ302は、他のプロセッサ304A、304C、および304Dのいずれかではなく、プロセッサ304B上で実行するように第2のタスク306Bをスケジュールすることができる。すなわち、スケジューラ302は、その上で第2のタスク306Bを実行するプロセッサ304のうちの1つを選択することができる。以下に記載されるように、方法は、部分的に電圧レギュレータ効率に選択を基づかせることができる。
図3A~
図3Cには、例示目的で2つのタスク306Aおよび306Bのみが示されているが、任意の数のタスクが、任意の数のプロセッサの間で分散されて、互いに同時に実行されている場合がある。
【0022】
[0030]
図4に示されたように、コンピューティングデバイス内のタスクスケジューリングのための方法400は、以下を含む場合がある。方法400は一例または一実施形態を表し、他の実施形態では、方法400のいくつかのステップ、または同様のステップもしくは動きは、方法400とは異なる順序で発生する場合があるか、または省略される場合があることを理解されたい。例示目的で、方法400は、コンピューティングデバイス100(
図1)もしくは200(
図2)またはシステム300(
図3)のうちの1つまたは複数との関連で記載される場合がある。それにもかかわらず、方法400または関連する方法は、他のコンピューティングデバイス、システムなどに適用される場合がある。さらに、以下に記載される電流、電圧などの数値は、例示目的で提供され、他の例では異なる場合がある。
【0023】
[0031]ブロック402によって示されたように、追加のタスクが受信される場合がある。すなわち、スケジュールされるべき追加のタスクの指示が受信される。指示は、タスク性能レベルの指示を備える場合がある。タスク性能レベルは、たとえば、プロセッサがタスクを実行するために維持する必要があり得る、MIPS数または同様の性能の尺度に関連する場合がある。追加のタスクは、たとえば、上述されたタスクスケジューラ302(
図3A~
図3C)によって受信される場合がある。
【0024】
[0032]ブロック404によって示されたように、追加のタスクを実行するための2つ以上の候補プロセッサが識別または決定される場合がある。候補プロセッサは、たとえば、タスクスケジューラ302によって決定される場合がある。負荷が最も小さい1つまたは複数のプロセッサを識別することなどの、従来の方法が候補プロセッサを識別するために使用される場合がある。プロセッサ304Aが第1のタスク306Aを実行しており、他のプロセッサ304B、304C、および304Dのどれもいかなるタスクも実行していない間に追加または第2のタスク306Bが受信される、
図3A~
図3Cに関して上述された例を参照すると、プロセッサ304B、304C、および304Dの各々が、負荷が最も小さいプロセッサであり、第1のタスク306Aがプロセッサ304A上で同時に実行されている間に第2のタスク306Bを実行するための候補である。
【0025】
[0033]ブロック406によって示されたように、2つ以上のタスクスケジューリングケースが決定される場合がある。本明細書に記載された例示的な実施形態によるタスクスケジューリングケースは、プロセッサの間で1つまたは複数の他のタスクが実行されているのと同時に(候補)プロセッサのうちの選択されたプロセッサ上で追加のタスクが実行されている状態の表現である。
図3A~
図3Cによって示されたように、3つのタスクスケジューリングケースが存在する場合がある。
図3Aに示されたように、タスクスケジューリングケースの1つは、第1のタスク306Aがプロセッサ304A上で実行されている間に追加または第2のタスク306Bがプロセッサ304B上で実行されていることを表すことができる。
図3Bに示されたように、別のタスクスケジューリングケースは、第1のタスク306Aがプロセッサ304A上で実行されている間に第2のタスク306Bがプロセッサ304C上で実行されていることを表すことができる。
図3Cに示されたように、さらに別のタスクスケジューリングケースは、第1のタスク306Aがプロセッサ304A上で実行されている間に第2のタスク306Bがプロセッサ304D上で実行されていることを表すことができる。ブロック406において決定され得るタスクスケジューリングケースの数は、候補プロセッサの数に対応することができる。各タスクスケジューリングケースでは、候補プロセッサのうちの異なる1つが追加のタスクを実行するために考慮される場合がある。
図3A~
図3Cは、スケジューラ302が追加または第2のタスク306Bを受信したときにただ1つのタスク306Aが実行されている簡単な例を示しているが、スケジューラ302がスケジュールされるべき追加のタスクを受信したときに様々なプロセッサ304の間で多くのタスクが分散および実行されている他の動作例が存在する場合がある。
【0026】
[0034]ブロック408によって示されたように、各電圧レギュレータのレギュレータ入力電力レベルは、タスクスケジューリングケースごとに決定される場合がある。「レギュレータ入力」という用語は、電圧レギュレータが(「調節された」)電圧レベルに維持するように試みる電圧レギュレータの電力シンク側を指す「レギュレータ出力」という用語とは対照的に、電圧レギュレータの電力ソース側を指すために本開示で使用される。電力ソースの一例はバッテリ(図示せず)である。
【0027】
[0035]タスクスケジューリングケースのためのレギュレータ入力電力レベルは、そのタスクスケジューリングケースによって表された1つまたは複数のタスクをその電圧レギュレータによって供給された1つまたは複数のプロセッサが実行している動作状態下で、電圧レギュレータが(たとえば、バッテリまたは他の電力ソースから)その入力において引き出す電力量を表す。タスクスケジューリングケースの1つのために電圧レギュレータのレギュレータ入力電力レベルを決定するために、スケジューラ302は、たとえば、1つまたは複数の参照テーブル(図示せず)、計算、または参照テーブルと計算の組合せを利用することができる。タスクスケジューリングケースのためのレギュレータ入力電力レベルは、追加のタスク用のタスク性能レベル指示ならびに、そのタスクスケジューリングケースの下でそのレギュレータによって供給された1つまたは複数のプロセッサ上で実行することができる任意の他のタスク用の性能レベルまたはプロセッサ負荷の他の指示に部分的に基づく場合がある。重要なことに、レギュレータ入力電力レベルはさらに、レギュレータ効率に部分的に基づく場合がある。
【0028】
[0036]スケジューラ302は、たとえば、参照テーブル(図示せず)を利用して、性能レベルまたはプロセッサ負荷の指示に応答してレギュレータ入力電力を決定することができる。そのようなテーブルはレギュレータ効率に部分的に基づく場合がある。すなわち、たとえば、テーブルによって提供される電圧レギュレータの入力電力レベルとプロセッサ負荷との間の関係は、電圧レギュレータの効率レベルを考慮に入れることができる。レギュレータ効率は、電圧レギュレータがその出力、すなわちレギュレータ出力電力レベルにおいて提供することが可能な入力電力レベルの割合を指す。上述されたように、電圧レギュレータ出力は1つまたは複数のプロセッサに結合され、電圧レギュレータ入力は、バッテリなどの電力ソースに結合される場合がある。
【0029】
[0037]
図3A~
図3Cに示された例を再び参照すると、第1の電圧レギュレータ308Aの出力は、プロセッサ304Aおよび304Bに結合され、これによりそれらに電流を供給し、第2の電圧レギュレータ308Bの出力は、プロセッサ304Cおよび304Dに結合され、これによりそれらに電流を供給する。ブロック408によれば、第1の電圧レギュレータ308Aの入力電力レベルは、タスクスケジューリングケースごとに決定される場合があり、第2の電圧レギュレータ308Bの入力電力レベルは、タスクスケジューリングケースごとに決定される場合がある。電圧レギュレータ308Aおよび308Bの各々の入力電力レベルは、
図3Aに示されたタスクスケジューリングケース、
図3Bに示されたタスクスケジューリングケース、および
図3Cに示されたタスクスケジューリングケースに対して決定される場合がある。
【0030】
[0038]第1のタスク306Aがプロセッサ304A上で実行され、追加または第2のタスク306Bがプロセッサ304B上で実行される、
図3Aに示されたタスクスケジューリングケースの場合、電圧レギュレータ308Aの入力電力レベルは、電圧レギュレータ308Aの効率を考慮に入れて、タスク306Aのその実行に関連付けられたプロセッサ304A上のプロセッサ負荷、およびタスク306Bのその実行に関連付けられたプロセッサ304B上のプロセッサ負荷に基づいて決定される場合がある。第1のタスク306Aがプロセッサ304A上で実行され、追加または第2のタスク306Bがプロセッサ304B上で実行される同じケースの場合、電圧レギュレータ308Bの入力電力レベルはゼロである。
【0031】
[0039]第1のタスク306Aがプロセッサ304A上で実行され、追加または第2のタスク306Bがプロセッサ304C上で実行される、
図3Bに示されたタスクスケジューリングケースの場合、電圧レギュレータ308Aの入力電力レベルは、この場合いかなるタスクも実行していないプロセッサ304B上のプロセッサ負荷はゼロなので、タスク306Aのその実行に関連付けられたプロセッサ304A上のプロセッサ負荷に基づいて決定される場合がある。第1のタスク306Aがプロセッサ304A上で実行され、追加または第2のタスク306Bがプロセッサ304C上で実行される同じケースの場合、電圧レギュレータ308Bの入力電力レベルは、この場合いかなるタスクも実行していないプロセッサ304D上のプロセッサ負荷はゼロなので、タスク306Bのその実行に関連付けられたプロセッサ304C上のプロセッサ負荷に基づいて決定される場合がある。
【0032】
[0040]第1のタスク306Aがプロセッサ304A上で実行され、追加または第2のタスク306Bがプロセッサ304D上で実行される、
図3Cに示されたタスクスケジューリングケースの場合、電圧レギュレータ308Aの入力電力レベルは、この場合いかなるタスクも実行していないプロセッサ304B上のプロセッサ負荷はゼロなので、タスク306Aのその実行に関連付けられたプロセッサ304A上のプロセッサ負荷に基づいて決定される場合がある。第1のタスク306Aがプロセッサ304A上で実行され、追加または第2のタスク306Bがプロセッサ304D上で実行される同じケースの場合、電圧レギュレータ308Bの入力電力レベルは、この場合いかなるタスクも実行していないプロセッサ304C上のプロセッサ負荷はゼロなので、タスク306Bのその実行に関連付けられたプロセッサ304D上のプロセッサ負荷に基づいて決定される場合がある。
【0033】
[0041]1つまたは複数の参照テーブルを利用することの代わりに、もしくはそれに加えて、またはそのような参照テーブルを生成するために、レギュレータ入力電力レベルは、最初に対応するレギュレータ出力電力レベルを決定することによって決定される場合がある。レギュレータ出力電力レベルはレギュレータ入力電力レベルの割合であり、その割合は、供給電流レベル(すなわち、電圧レギュレータが供給している電流)における電圧レギュレータの効率レベルである。以下でさらに詳細に記載されるように、電圧レギュレータの効率は、それが供給することが可能な電流の範囲にわたって一定ではない。レギュレータ出力電力は、レギュレータが供給する1つまたは複数のプロセッサによって引き出された電力の合計である。最初にレギュレータ出力電力を決定することによってレギュレータ入力電力を決定することは、
図3A~
図3Cに関して上述された例を通して示される場合がある。
【0034】
[0042]第1のタスク306Aがプロセッサ304A上で実行され、追加または第2のタスク306Bがプロセッサ304B上で実行される、
図3Aに示されたタスクスケジューリングケースのためにレギュレータ出力電力を決定する際に、各プロセッサ304Aおよび304Bがその処理負荷を維持するために必要なプロセッサ電力レベルまたは電力量が最初に決定される場合がある。スケジューラ302は、追加のタスクによって寄与される処理負荷を示す、Nの値(たとえば、「N」MIPS、ここでNはゼロよりも大きい整数)を有するタスク性能レベル指示を受信することができる。スケジューラ302は、N MIPSの処理負荷を維持するために、プロセッサ304Bが2.14Wを必要とすると(たとえば、参照テーブルを使用して)決定することができる。スケジューラ302は、同様にして、プロセッサ304Aがタスク306Aを実行する際に2.14Wを必要とすると決定することができる。あるいは、
図2に示された実施形態などのいくつかの実施形態では、タスクを実行するプロセッサによって引き出された電力は、そのプロセッサに供給する電圧レギュレータからの電流および電圧の遠隔測定読取り値を使用して決定される場合がある。
【0035】
[0043]電圧レギュレータ出力電力レベルは、次いで、その電圧レギュレータによって供給されたすべてのプロセッサのプロセッサ電力レベルを合計することによって決定される場合がある。たとえば、第1のタスク306Aがプロセッサ304A上で実行され、追加または第2のタスク306Bがプロセッサ304B上で実行される、
図3Aに示されたタスクスケジューリングケースの場合、スケジューラ302は、電圧レギュレータ308Aの出力電力は、2.14W+2.14W=4.28Wであると決定することができる。
図3Aに示されたタスクスケジューリングケースの場合、電圧レギュレータ308Bの出力電力は、プロセッサ304Cおよび304D上でタスクが実行されていないのでゼロである。電圧レギュレータ入力電力レベルは、次いで、電圧レギュレータ効率によって電圧レギュレータ出力電力レベルを除算することによって決定される場合がある。
【0036】
[0044]
図5に示されたように、電圧レギュレータ効率は、グラフ500または参照テーブル(図示せず)の形態であり得るモデルから取得される場合がある。グラフ500は、効率(パーセント)に(たとえば、mA単位の)電圧レギュレータ負荷電流を関係づける曲線502を備える。電圧レギュレータ負荷電流レベルは、レギュレータ出力電圧レベルによって電圧レギュレータ出力電力レベルを除算することによって決定される場合がある。ただ1つの曲線502が示されているが、異なる電圧レギュレータが異なる曲線によってモデル化された効率を有する場合があることを諒解されたい。
図3A~
図3Cに示された例示目的で、曲線502は、両方の電圧レギュレータ308Aおよび308Bの効率を記述することができる。
【0037】
[0045]計算された電圧レギュレータ出力電力レベルは、いくつかの実施形態では、計算された電力供給平面損失を加算することによって調整される場合がある。電力供給平面損失は、電圧レギュレータからの電力を分配する回路基板(図示せず)内の金属層または金属平面によって散逸した電力量である。電力供給平面損失は、抵抗とレギュレータ出力電流の2乗との積として表される場合がある。レギュレータ出力電流は、レギュレータ出力電圧によって電圧レギュレータ出力電力を除算することによって決定される場合がある。レギュレータ出力電圧は、いくつかの実施形態では、遠隔測定、すなわち電圧レギュレータから測定値を取得することによって決定される場合がある。電圧レギュレータ308Aの出力電力が4.28Wであり、測定された電圧が、たとえば.769ボルト(V)である、
図3Aに示されたタスクスケジューリングケースの場合、レギュレータ出力電流は、4.28W/.769V=5.56アンペア(A)である。電圧レギュレータ出力とプロセッサとの間の経路の抵抗は、あらかじめ決められた値であり得る。電圧レギュレータ308Aの出力電力が4.28Wであり、電圧レギュレータ出力と各プロセッサ304Aおよび304Bとの間の経路が、たとえば3ミリオームの抵抗を有する、上述された例では、(5.56)
2×(.003)すなわち.092の電力供給平面損失が上記で計算された4.28Wの電圧レギュレータ出力電力に加算される場合があり、4.372Wの電圧レギュレータ308Aの調整された出力電力レベルがもたらされる。
【0038】
[0046]
図5を再び参照すると、
図3Aに示されたタスクスケジューリングケースの場合、電圧レギュレータ負荷電流は、4.372W/.769V=5.69Aである。曲線502は、5.69Aの負荷電流レベルにおいて、電圧レギュレータ308Aの効率レベルが77.4%または.774であることを示す。したがって、
図3Aに示されたタスクスケジューリングケースの場合、電圧レギュレータ308Aの入力電力レベルは、4.372W/.774=5.65Wである。
図3Aに示されたタスクスケジューリングケースの場合、電圧レギュレータ308Bの入力電力レベルは、プロセッサ304Cも304Dもいかなるタスクも実行していないので、ゼロであることに留意されたい。
【0039】
[0047]
図4に戻ると、ブロック410によって示されたように、タスクスケジューリングケースごとに、総レギュレータ入力電力は、すべての電圧レギュレータの入力電力レベルを合計することによって決定される場合がある。電圧レギュレータ308Aの入力電力レベルが5.65Wであり、電圧レギュレータ308Bの入力電力レベルがゼロである、
図3Aに示されたタスクスケジューリングケースの場合、総レギュレータ入力電力は5.65Wである。
【0040】
[0048]ブロック408および410に関して上述されたステップは、タスクスケジューリングケースごとに実行され、各電圧レギュレータの入力電力レベルがもたらされる。以下の例示的な計算は、
図3Bおよび
図3Cに示されたタスクスケジューリングケースに対して実行される場合がある。この例では、
図3Bおよび
図3Cに示されたタスクスケジューリングケースのための計算は互いに同一であり、追加または第2のタスク306Bがプロセッサ304C上で実行されるか、またはプロセッサ304D上で実行されるかは、計算にとって重要ではないことに留意されたい。
【0041】
[0049]
図3Bおよび
図3Cに示されたタスクスケジューリングケースの場合、追加または第2のタスク306Bのためのタスク性能レベルに基づいて、スケジューラ302は、第1のタスクスケジューリングケースについて上述されたのと同じ方式で、プロセッサ304Cまたは304Dが第2のタスク306Bの実行を維持するために2.14Wを必要とすると決定することができる。この例では、プロセッサ304Cまたは304D上で実行される他のタスクが存在しないので、電圧レギュレータ308Bの出力電力レベルは2.14Wである。
【0042】
[0050]電圧レギュレータ308Bの出力電力は、電力供給平面損失を加算することによって修正される場合がある。測定された出力電圧が、たとえば.769Vである場合、電圧レギュレータ308Bの出力電流は、2.14W/.769V=2.82Aである。経路抵抗が、たとえば3ミリオームである場合、(2.82)2×(.003)すなわち.023の電力供給平面損失が上記で計算された2.14Wの電圧レギュレータ出力電力に加算される場合があり、2.163Wの電圧レギュレータ308Bの修正された出力電力レベルがもたらされる。
【0043】
[0051]
図5を再び参照すると、
図3Bおよび
図3Cに示されたタスクスケジューリングケースの場合、電圧レギュレータ負荷電流は、2.163W/.769V=2.84Aである。曲線502は、2.84Aの負荷電流レベルにおいて、電圧レギュレータ308Bの効率レベルが82.5%または.825であることを示す。したがって、
図3Bおよび
図3Cに示されたタスクスケジューリングケースの場合、電圧レギュレータ308Bの入力電力レベルは、2.163/.825=2.616Wである。この例では、両方の電圧レギュレータ308Aおよび308Bに同じ条件が適用されるので、電圧レギュレータ308Aの入力電力レベルも2.616Wである。すなわち、電圧レギュレータ308Aおよび308Bの各々は、同様の性能レベルで動作する1つのプロセッサに供給している。
【0044】
[0052]
図4に戻ると、ブロック410によって示されたように、タスクスケジューリングケースごとの総レギュレータ入力電力は、すべての電圧レギュレータの入力電力レベルを合計することによって決定される場合がある。電圧レギュレータ308Aの入力電力レベルが5.65Wであり、電圧レギュレータ308Bの入力電力レベルがゼロである、
図3Aに示されたタスクスケジューリングケースの場合、総レギュレータ入力電力は5.65Wである。電圧レギュレータ308Aの入力電力レベルが2.616Wであり、電圧レギュレータ308Bの入力電力レベルが2.616Wである、
図3Bに示されたタスクスケジューリングケースの場合、総レギュレータ入力電力は5.23Wである。電圧レギュレータ308Aの入力電力レベルが2.616Wであり、電圧レギュレータ308Bの入力電力レベルが2.616Wである、
図3Cに示されたタスクスケジューリングケースの場合、総レギュレータ入力電力は5.23Wである。
【0045】
[0053]ブロック412によって示されたように、最も低い総レギュレータ入力電力を有するタスクスケジューリングケースが選択される場合がある。上述された例では、
図3Bおよび
図3Cに示されたタスクスケジューリングケースの場合の総レギュレータ入力電力は、各々5.23Wであるが、
図3Aに示されたタスクスケジューリングケースの場合の総レギュレータ入力電力は5.65Wである。したがって、タスクスケジューラ302は、
図3Bに示されたタスクスケジューリングケースまたは
図3Cに示されたタスクスケジューリングケースのいずれかを選択することができる。2つ以上のタスクスケジューリングケースが最も低い総レギュレータ入力電力を等しく有するこの例などでは、あらかじめ決められた順序またはインデックスにより、ランダムに、などの任意の方式で1つのケースが選択される場合がある。
【0046】
[0054]ブロック414によって示されたように、次いで、選択されたタスクスケジューリングケースに関連付けられたプロセッサ上で追加のタスクが実行される場合がある。上述された例では、
図3Bに示されたタスクスケジューリングケースが選択された場合、第2のタスク306Bはプロセッサ304C上で実行される場合がある。
図3Cに示されたタスクスケジューリングケースが選択された場合、第2のタスク306Bはプロセッサ304D上で実行される場合がある。
【0047】
[0055]レギュレータ電力レベルの決定がレギュレータ効率(すなわち、損失)に部分的に基づかなかった場合、総電力消費の計算は、上記の例では3つのタスクスケジューリングケースの各々において同じ結果をもたらすはずであることに留意されたい。
図3Aに示されたタスクスケジューリングケースでは、レギュレータ効率を考慮に入れずに総電力消費を計算した結果は、プロセッサ304Aによって2.14Wが消費され、プロセッサ304Bによって2.14Wが消費されると決定されるはずなので、4.28Wのはずである。
図3Bに示されたタスクスケジューリングケースでも、レギュレータ効率を考慮に入れずに総電力消費を計算した結果は、プロセッサ304Aによって2.14Wが消費され、プロセッサ304Cによって2.14Wが消費されると決定されるはずなので、4.28Wのはずである。
図3Cに示されたタスクスケジューリングケースでは、レギュレータ効率を考慮に入れずに総電力消費を計算した結果は、プロセッサ304Aによって2.14Wが消費され、プロセッサ304Dによって2.14Wが消費されると決定されるはずなので、4.28Wのはずである。レギュレータ効率を考慮に入れずに総電力消費を計算した結果に基づいて、従来のタスクスケジューラ(図示せず)は、プロセッサ304B上で追加または第2のタスク306Bを実行するかもしれず、さらに方法300の上述された例は、プロセッサ304Bよりもプロセッサ304Cまたは304D上で第2のタスク306Bを実行する方がより電力効率が良いはずであることを明らかにする。
【0048】
[0056]
図6に示されたように、グラフ600は、第1の電圧レギュレータについての第1の負荷電流対効率曲線602と、第2の電圧レギュレータについての第2の負荷電流対効率曲線604とを備える。第1および第2の電圧レギュレータは、たとえば、それぞれ、電圧レギュレータ108Bおよび108A(
図1)であり得る。
図1に関して上述されたように、電圧レギュレータ108Aによって供給される第1のクラスタ106Aのコア104Aおよび104Bは、電圧レギュレータ108Bによって供給される第2のクラスタ106Bのコア104Cおよび104Dよりも高い処理負荷を維持するように構成される場合がある。したがって、電圧レギュレータ108Aは、電圧レギュレータ108Bよりも高い処理負荷でより多い電流を供給するように構成される場合がある。たとえば、電圧レギュレータ108Aは、電圧レギュレータ108Bよりも高い位相カウント、大きいインダクタなどを有する場合がある。したがって、高い電流レベルにおいて、電圧レギュレータ108Bは電圧レギュレータ108Aよりもより効率的であり得る。何らかの例示的な処理負荷(すなわち、MIPS数)において、電圧レギュレータ108Bによって引き出された電流606は、電圧レギュレータ108Aによって引き出された電流608よりも低い場合がある。レギュレータ効率を無視すると、従来のタスクスケジューラは、追加のタスクがコア104Cおよび104Dのうちの1つで実行されるべきであると決定することができる。それにもかかわらず、その処理負荷において、電圧レギュレータ108Aの効率610は、電圧レギュレータ108Bの効率612よりも高い場合がある。タスクスケジューラ302は、レギュレータ効率に部分的に決定を基づかせて、追加のタスクがコア104B上で実行されるべきであると決定することができる。
【0049】
[0057]
図7に示されたように、コンピューティングデバイス内のタスクスケジューリングのためのシステムおよび方法の例示的な実施形態が、ポータブルコンピューティングデバイス(「PCD」)700において提供される場合がある。PCD700は、
図1に関して上述されたコンピューティングデバイス100の一例であり得る。
【0050】
[0058]PCD700はSoC702を含む場合がある。SoC702は、CPU704、GPU706、DSP707、アナログ信号プロセッサ708、または他のプロセッサを含む場合がある。CPU704は、第1のコア704A、第2のコア704Bなどの、第Nのコア704Nまでの複数のコアを含む場合がある。SoC702のいくつかの例では、CPU704はアプリケーションプロセッサと呼ばれる場合がある。
【0051】
[0059]ディスプレイコントローラ710およびタッチスクリーンコントローラ712は、CPU704に結合される場合がある。SoC702の外部にあるタッチスクリーンディスプレイ714は、ディスプレイコントローラ710およびタッチスクリーンコントローラ712に結合される場合がある。PCD700は、CPU704に結合されたビデオデコーダ716をさらに含む場合がある。ビデオ増幅器718は、ビデオデコーダ716およびタッチスクリーンディスプレイ714に結合される場合がある。ビデオポート720は、ビデオ増幅器718に結合される場合がある。ユニバーサルシリアルバス(「USB」)コントローラ722もCPU704に結合される場合があり、USBポート724はUSBコントローラ722に結合される場合がある。加入者識別モジュール(「SIM」)カード726もCPU704に結合される場合がある。
【0052】
[0060]1つまたは複数のメモリは、CPU704に結合される場合がある。1つまたは複数のメモリは、揮発性メモリと不揮発性メモリの両方を含む場合がある。揮発性メモリの例には、スタティックランダムアクセスメモリ(「SRAM」)728ならびにダイナミックRAM(「DRAM」)730および731が含まれる。そのようなメモリは、DRAM730などのSoC702の外部にあるか、またはDRAM731などのSoC702の内部にあり得る。CPU704に結合されたDRAMコントローラ732は、DRAM730および731へのデータの書込み、およびそれらからのデータの読取りを制御することができる。他の実施形態では、そのようなDRAMコントローラは、CPU704などのプロセッサ内に含まれる場合がある。
【0053】
[0061]ステレオオーディオコーデック734は、アナログ信号プロセッサ708に結合される場合がある。さらに、オーディオ増幅器736は、ステレオオーディオコーデック734に結合される場合がある。第1および第2のステレオスピーカ738および740は、それぞれ、オーディオ増幅器736に結合される場合がある。加えて、マイクロフォン増幅器742は、ステレオオーディオコーデック734に結合される場合があり、マイクロフォン744は、マイクロフォン増幅器742に結合される場合がある。周波数変調(「FM」)ラジオチューナ746は、ステレオオーディオコーデック734に結合される場合がある。FMアンテナ748は、FMラジオチューナ746に結合される場合がある。さらに、ステレオヘッドフォン750は、ステレオオーディオコーデック734に結合される場合がある。CPU704に結合される場合がある他のデバイスには、1つまたは複数のデジタル(たとえば、CCDまたはCMOS)カメラ752が含まれる。加えて、キーパッド760、マイクロフォン付きモノヘッドセット762、およびバイブレータデバイス764は、アナログ信号プロセッサ708に結合される場合がある。
【0054】
[0062]無線周波数(RF)トランシーバまたはモデム754は、アナログ信号プロセッサ708およびCPU704に結合される場合がある。RFスイッチ756は、モデム754およびRFアンテナ758に結合される場合がある。
【0055】
[0063]SoC702は、1つまたは複数の内部またはオンチップ熱センサ770Aを有する場合があり、1つまたは複数の外部またはオフチップ熱センサ770Bに結合される場合がある。アナログデジタル変換器(「ADC」)コントローラ772は、熱センサ770Aおよび770Bによって生成された電圧降下をデジタル信号に変換することができる。電源774および電力管理集積回路(「PMIC」)776は、SoC702に電力を供給することができる。
【0056】
[0064]ファームウェアまたはソフトウェアは、DRAM730もしくは731、SRAM728などの上述されたメモリのいずれかに記憶される場合があるか、またはソフトウェアもしくはファームウェアがその上で実行されるプロセッサハードウェアによって直接アクセス可能なローカルメモリに記憶される場合がある。そのようなファームウェアまたはソフトウェアの実行は、上述された方法のいずれかの態様を制御するか、または上述されたシステムのいずれかの態様を構成することができる。プロセッサハードウェアによる実行のためにコンピュータ可読形式でファームウェアまたはソフトウェアを記憶している任意のそのようなメモリまたは他の非一時的記憶媒体は、その用語が特許の語彙で理解されるように、「コンピュータ可読媒体」の一例であり得る。
【0057】
[0065]本発明が関係する当業者には代替の実施形態が明らかになるであろう。したがって、選択された態様が詳細に図示および記載されているが、様々な置換および変更がその中で行われる場合がある。
【0058】
[0066]以下の番号を付けられた条項において実装例が記載される。
【0059】
[0067]1. コンピューティングデバイス内のタスクスケジューリングのための方法であって、
タスク性能レベル指示を備えるタスクを受信することと、
複数のタスクスケジューリングケースを決定することと、各タスクスケジューリングケースが、複数のプロセッサ上で実行される1つまたは複数の他のタスクと並行する複数のプロセッサのうちの関連するプロセッサ上でのタスクの実行を表し、各プロセッサが複数の電圧レギュレータのうちの1つの電圧レギュレータによって供給される、
タスクスケジューリングケースごとに、複数の電圧レギュレータの総レギュレータ入力電力レベルを決定することと、
複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有するタスクスケジューリングケースのうちの1つを選択することと、
タスクスケジューリングケースのうちの選択された1つに関連付けられたプロセッサ上でタスクを実行することと
を備える、方法。
【0060】
[0068]2. タスクスケジューリングケースごとに、総レギュレータ入力電力レベルを決定することが、
タスクスケジューリングケースごとに、タスク性能レベル指示、複数のプロセッサ上で実行される1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定することと、
タスクスケジューリングケースごとに、複数の電圧レギュレータのレギュレータ入力電力レベルを合計することによって、複数のタスクスケジューリングケースに基づいて総レギュレータ入力電力レベルを決定することと
を備える、条項1の方法。
【0061】
[0069]3. 複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定することが、電圧レギュレータのうちの1つのために、
電圧レギュレータのうちの1つのためのレギュレータ出力電流レベルを決定することと、
電圧レギュレータのうちの1つのレギュレータ出力電流レベルおよび効率モデルに基づいて、電圧レギュレータのうちの1つの効率レベルを決定することと、
レギュレータ出力電流レベルおよび効率レベルに基づいて、レギュレータ入力電力レベルを決定することと
を備える、条項2の方法。
【0062】
[0070]4. レギュレータ出力電流レベルを決定することが、
電圧レギュレータのうちの1つによって供給されたプロセッサごとにプロセッサ電力レベルを決定することと、
電圧レギュレータのうちの1つによって供給されたすべてのプロセッサに対するプロセッサ電力レベルを合計することと、
電圧レギュレータのうちの1つによって供給されたすべてのプロセッサに対するプロセッサ電力レベルの合計を、電圧レギュレータのうちの1つの出力電圧によって除算することと
を備える、条項3の方法。
【0063】
[0071]5. レギュレータ出力電流レベルを決定することが、
電力供給平面損失を決定することと、
出力電圧によってプロセッサ電力レベルの合計を除算する前に、プロセッサ電力レベルの合計に電力供給平面損失を加算することによってプロセッサ電力レベルの合計を調整することと
をさらに備える、条項3の方法。
【0064】
[0072]6. レギュレータ入力電力レベルを決定することが、効率レベルによってレギュレータ出力電力レベルを除算することを備える、条項5の方法。
【0065】
[0073]7. 複数のプロセッサが、
第1の電圧レギュレータによって供給された複数の高性能プロセッサを備える第1のクラスタと、
第2の電圧レギュレータによって供給された複数の低性能プロセッサを備える第2のクラスタと
を備える、条項1の方法。
【0066】
[0074]8. 複数のプロセッサの各々が、対応する電圧レギュレータによって供給されたチップレットを備える、条項1の方法。
【0067】
[0075]9. 複数のプロセッサと、
タスクスケジューラと、
複数の電圧レギュレータと
を備える、コンピューティングデバイス内のタスクスケジューリングのためのシステムであって、
タスクスケジューラが、
タスク性能レベル指示を備えるタスクを受信することと、
複数のタスクスケジューリングケースを決定することと、各タスクスケジューリングケースが、複数のプロセッサ上で実行される1つまたは複数の他のタスクと並行する複数のプロセッサのうちの関連するプロセッサ上でのタスクの実行を表し、各プロセッサが複数の電圧レギュレータのうちの1つの電圧レギュレータによって供給される、
タスクスケジューリングケースごとに、複数の電圧レギュレータの総レギュレータ入力電力レベルを決定することと、
複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有するタスクスケジューリングケースのうちの1つを選択することと、
タスクスケジューリングケースのうちの選択された1つに関連付けられたプロセッサ上でタスクを実行することと
を行うように構成される、システム。
【0068】
[0076]10. タスクスケジューラが、
タスクスケジューリングケースごとに、タスク性能レベル指示、複数のプロセッサ上で実行される1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定することと、
タスクスケジューリングケースごとに、複数の電圧レギュレータのレギュレータ入力電力レベルを合計することによって、総レギュレータ入力電力レベルを決定することと
を行うように構成されることによって、タスクスケジューリングケースごとに、総レギュレータ入力電力レベルを決定するように構成される、条項9のシステム。
【0069】
[0077]11. タスクスケジューラが、電圧レギュレータのうちの1つのために、
電圧レギュレータのうちの1つのためのレギュレータ出力電流レベルを決定することと、
電圧レギュレータのうちの1つのレギュレータ出力電流レベルおよび効率モデルに基づいて、電圧レギュレータのうちの1つの効率レベルを決定することと、
レギュレータ出力電流レベルおよび効率レベルに基づいて、レギュレータ入力電力レベルを決定することと
を行うように構成されることによって、複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定するように構成される、条項10のシステム。
【0070】
[0078]12. タスクスケジューラが、
電圧レギュレータのうちの1つによって供給されたプロセッサごとにプロセッサ電力レベルを決定することと、
電圧レギュレータのうちの1つによって供給されたすべてのプロセッサに対するプロセッサ電力レベルを合計することと、
電圧レギュレータのうちの1つによって供給されたすべてのプロセッサに対するプロセッサ電力レベルの合計を、電圧レギュレータのうちの1つの出力電圧によって除算することと
を行うように構成されることによって、レギュレータ出力電流レベルを決定するように構成される、条項11のシステム。
【0071】
[0079]13. タスクスケジューラが、
電力供給平面損失を決定することと、
出力電圧によってプロセッサ電力レベルの合計を除算する前に、プロセッサ電力レベルの合計に電力供給平面損失を加算することによってプロセッサ電力レベルの合計を調整することと
を行うようにさらに構成されることによって、レギュレータ出力電流レベルを決定するように構成される、条項11のシステム。
【0072】
[0080]14. タスクスケジューラが、効率レベルによってレギュレータ出力電力レベルを除算することによって、レギュレータ入力電力レベルを決定するように構成される、条項13のシステム。
【0073】
[0081]15. 複数のプロセッサが、
少なくとも1つの高性能プロセッサを備える第1のクラスタと、
少なくとも1つの低性能プロセッサを備える第2のクラスタと
を備える、条項9のシステム。
【0074】
[0082]16.
第1のクラスタの少なくとも1つの高性能プロセッサが、第1の電圧レギュレータによって供給され、
第2のクラスタの少なくとも1つの低性能プロセッサが、第2の電圧レギュレータによって供給される、
条項15のシステム。
【0075】
[0083]17.
第1のクラスタが、各々が第1の電圧レギュレータによって供給された複数の高性能プロセッサを備え、
第2のクラスタが、各々が第2の電圧レギュレータによって供給された複数の低性能プロセッサを備える、
条項16のシステム。
【0076】
[0084]18. 複数のプロセッサの各々が、対応する電圧レギュレータによって供給されたチップレットを備える、条項9のシステム。
【0077】
[0085]19. コンピューティングデバイス内のタスクスケジューリングのためのシステムであって、
タスク性能レベル指示を備えるタスクを受信するための手段と、
複数のタスクスケジューリングケースを決定するための手段と、各タスクスケジューリングケースが、複数のプロセッサ上で実行される1つまたは複数の他のタスクと並行する複数のプロセッサのうちの関連するプロセッサ上でのタスクの実行を表し、各プロセッサが複数の電圧レギュレータのうちの1つの電圧レギュレータによって供給される、
タスクスケジューリングケースごとに、複数の電圧レギュレータの総レギュレータ入力電力レベルを決定するための手段と、
複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有するタスクスケジューリングケースのうちの1つを選択するための手段と、
タスクスケジューリングケースのうちの選択された1つに関連付けられたプロセッサ上でタスクを実行するための手段と
を備える、システム。
【0078】
[0086]20. タスクスケジューリングケースごとに、総レギュレータ入力電力レベルを決定するための手段が、
タスクスケジューリングケースごとに、タスク性能レベル指示、複数のプロセッサ上で実行される1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定するための手段と、
タスクスケジューリングケースごとに、複数の電圧レギュレータのレギュレータ入力電力レベルを合計することによって、総レギュレータ入力電力レベルを決定するための手段と
を備える、条項19のシステム。
【0079】
[0087]21. 複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定するための手段が、電圧レギュレータのうちの1つのために、
電圧レギュレータのうちの1つのためのレギュレータ出力電流レベルを決定するための手段と、
電圧レギュレータのうちの1つのレギュレータ出力電流レベルおよび効率モデルに基づいて、電圧レギュレータのうちの1つの効率レベルを決定するための手段と、
レギュレータ出力電流レベルおよび効率レベルに基づいて、レギュレータ入力電力レベルを決定するための手段と
を備える、条項20のシステム。
【0080】
[0088]22. レギュレータ出力電流レベルを決定するための手段が、
電圧レギュレータのうちの1つによって供給されたプロセッサごとにプロセッサ電力レベルを決定するための手段と、
電圧レギュレータのうちの1つによって供給されたすべてのプロセッサに対するプロセッサ電力レベルを合計するための手段と、
電圧レギュレータのうちの1つによって供給されたすべてのプロセッサに対するプロセッサ電力レベルの合計を、電圧レギュレータのうちの1つの出力電圧によって除算するための手段と
を備える、条項21のシステム。
【0081】
[0089]23. レギュレータ出力電流レベルを決定するための手段が、
電力供給平面損失を決定するための手段と、
出力電圧によってプロセッサ電力レベルの合計を除算する前に、プロセッサ電力レベルの合計に電力供給平面損失を加算することによってプロセッサ電力レベルの合計を調整するための手段と
をさらに備える、条項21のシステム。
【0082】
[0090]24. レギュレータ入力電力レベルを決定するための手段が、効率レベルによってレギュレータ出力電力レベルを除算するための手段を備える、条項23のシステム。
【0083】
[0091]25. 複数のプロセッサが、
少なくとも1つの高性能プロセッサを備える第1のクラスタと、
少なくとも1つの低性能プロセッサを備える第2のクラスタと
を備える、条項19のシステム。
【0084】
[0092]26.
第1のクラスタの少なくとも1つの高性能プロセッサが、第1の電圧レギュレータによって供給され、
第2のクラスタの少なくとも1つの低性能プロセッサが、第2の電圧レギュレータによって供給される、
条項25のシステム。
【0085】
[0093]27.
第1のクラスタが、各々が第1の電圧レギュレータによって供給された複数の高性能プロセッサを備え、
第2のクラスタが、各々が第2の電圧レギュレータによって供給された複数の低性能プロセッサを備える、
条項26のシステム。
【0086】
[0094]28. 複数のプロセッサの各々が、対応する電圧レギュレータによって供給されたチップレットを備える、条項19のシステム。
【0087】
[0095]29. コンピューティングデバイス内のタスクスケジューリングのためのコンピュータ可読媒体であって、コンピュータ可読媒体が、コンピューティングデバイスの処理システムによって実行されると、
タスク性能レベル指示を備えるタスクを受信することと、
複数のタスクスケジューリングケースを決定することと、各タスクスケジューリングケースが、複数のプロセッサ上で実行される1つまたは複数の他のタスクと並行する複数のプロセッサのうちの関連するプロセッサ上でのタスクの実行を表し、各プロセッサが複数の電圧レギュレータのうちの1つの電圧レギュレータによって供給される、
タスクスケジューリングケースごとに、複数の電圧レギュレータの総レギュレータ入力電力レベルを決定することと、
複数のタスクスケジューリングケースの中で最も低い総レギュレータ入力電力レベルを有するタスクスケジューリングケースのうちの1つを選択することと、
タスクスケジューリングケースのうちの選択された1つに関連付けられたプロセッサ上でタスクを実行することと
を行うように処理システムを構成する命令をコンピュータ実行可能形式で記憶している非一時的コンピュータ可読媒体を備える、コンピュータ可読媒体。
【0088】
[0096]30. 命令が、
タスクスケジューリングケースごとに、タスク性能レベル指示、複数のプロセッサ上で実行される1つまたは複数の他のタスク、および各電圧レギュレータの効率レベルに基づいて、複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定することと、
タスクスケジューリングケースごとに、複数の電圧レギュレータのレギュレータ入力電力レベルを合計することによって、総レギュレータ入力電力レベルを決定することと
を行うように処理システムを構成することによって、タスクスケジューリングケースごとに、総レギュレータ入力電力レベルを決定するように処理システムを構成する、条項29のコンピュータ可読媒体。
【0089】
[0097]31. 命令が、電圧レギュレータのうちの1つのために、
電圧レギュレータのうちの1つのためのレギュレータ出力電流レベルを決定することと、
電圧レギュレータのうちの1つのレギュレータ出力電流レベルおよび効率モデルに基づいて、電圧レギュレータのうちの1つの効率レベルを決定することと、
レギュレータ出力電流レベルおよび効率レベルに基づいて、レギュレータ入力電力レベルを決定することと
を行うように処理システムを構成することによって、複数の電圧レギュレータの各々のレギュレータ入力電力レベルを決定するように処理システムを構成する、条項30のコンピュータ可読媒体。
【0090】
[0098]32. 命令が、
電圧レギュレータのうちの1つによって供給されたプロセッサごとにプロセッサ電力レベルを決定することと、
電圧レギュレータのうちの1つによって供給されたすべてのプロセッサに対するプロセッサ電力レベルを合計することと、
電圧レギュレータのうちの1つによって供給されたすべてのプロセッサに対するプロセッサ電力レベルの合計を、電圧レギュレータのうちの1つの出力電圧によって除算することと
を行うように処理システムを構成することによって、レギュレータ出力電流レベルを決定するように処理システムを構成する、条項31のコンピュータ可読媒体。
【0091】
[0099]33. 命令が、
電力供給平面損失を決定することと、
出力電圧によってプロセッサ電力レベルの合計を除算する前に、プロセッサ電力レベルの合計に電力供給平面損失を加算することによってプロセッサ電力レベルの合計を調整することと
を行うように処理システムをさらに構成することによって、レギュレータ出力電流レベルを決定するように処理システムを構成する、条項32のコンピュータ可読媒体。
【0092】
[00100]34. 命令が、効率レベルによってレギュレータ出力電力レベルを除算することによって、レギュレータ入力電力レベルを決定するように処理システムを構成する、条項33のコンピュータ可読媒体。
【国際調査報告】