(57)【要約】説明する実施形態は、回路セットを有する集積回路チップの電圧を制御する装置を含む。この装置は、集積回路チップとは別のスイッチング電圧レギュレータと、集積回路チップ上に製造された２つ以上の低ドロップアウト（ＬＤＯ）レギュレータと、を含む。動作中、スイッチング電圧レギュレータは、２つ以上のＬＤＯレギュレータの各々によって入力電圧として受け取られる出力電圧を供給し、２つ以上のＬＤＯレギュレータの各々はローカル出力電圧を提供し、各ローカル出力電圧は、回路セット内の回路の異なるサブセットによってローカル入力電圧として受け取られる。【選択図】図１
2020532258.tif 000002
【特許請求の範囲】
【請求項１】
電圧を制御する装置であって、
回路セットを備える集積回路チップと、
前記集積回路チップとは別のスイッチング電圧レギュレータと、
前記集積回路チップに製造された複数の低ドロップアウト（ＬＤＯ）レギュレータと、を備え、
前記スイッチング電圧レギュレータは、前記複数のＬＤＯレギュレータの各々によって入力電圧として受け取られる出力電圧を供給し、
前記複数のＬＤＯレギュレータの各々はローカル出力電圧を供給し、各ローカル出力電圧は、前記回路セット内の回路の異なるサブセットによってローカル入力電圧として受け取られる、
装置。
【請求項２】
コントローラを備え、
前記コントローラは、
ＬＤＯレギュレータ毎に、前記ＬＤＯレギュレータによって供給される前記ローカル出力電圧を識別することと、
前記ＬＤＯレギュレータの各々によって供給される前記ローカル出力電圧に基づいて、前記スイッチング電圧レギュレータによって供給される前記出力電圧を識別することと、
前記出力電圧を供給するように前記スイッチング電圧レギュレータを構成し、前記ローカル出力電圧を供給するようにＬＤＯレギュレータの各々を構成することと、
を行うように構成されている、
請求項１の装置。
【請求項３】
前記ＬＤＯレギュレータの各々によって供給される前記ローカル出力電圧を識別することは、
前記ＬＤＯレギュレータによって供給される前記ローカル出力電圧を受け取る前記回路のサブセットのアクティビティ又は負荷を識別するためのアクティビティ情報を取得することと、
前記アクティビティ情報に少なくとも部分的に基づいて、前記ローカル出力電圧を識別することと、を含む、
請求項２の装置。
【請求項４】
前記アクティビティ情報を取得することは、
前記アクティビティ情報の一部を、前記ＬＤＯレギュレータによって供給される前記ローカル出力電圧を受け取る前記回路のサブセットから取得することと、
前記アクティビティ情報を、前記ＬＤＯレギュレータによって供給される前記ローカル出力電圧を受け取る前記回路のサブセット以外の回路の１つ以上のサブセットから取得することと、
のうち少なくとも１つを含む、
請求項３の装置。
【請求項５】
前記ＬＤＯレギュレータの各々によって供給される前記ローカル出力電圧に基づいて、前記スイッチング電圧レギュレータによって供給される前記出力電圧を識別することは、
前記複数のＬＤＯレギュレータのうち所定のＬＤＯレギュレータによって供給される最大ローカル出力電圧を決定することと、
前記出力電圧を、前記所定のＬＤＯレギュレータが前記最大ローカル出力電圧を供給するのを可能にする電圧として識別することと、を含む、
請求項２の装置。
【請求項６】
前記回路の第１サブセットは、少なくとも１つの中央処理装置（ＣＰＵ）を備え、
前記回路の第２サブセットは、少なくとも１つのグラフィックス処理ユニット（ＧＰＵ）を備える、
請求項１の装置。
【請求項７】
実装デバイスをさらに備え、
前記スイッチング電圧レギュレータ及び前記集積回路チップは、前記実装デバイスに別々に接続されている、
請求項１の装置。
【請求項８】
前記集積回路がパッケージ化されたパッケージをさらに備え、
前記パッケージは電圧レギュレータ回路要素を含まない、
請求項１の装置。
【請求項９】
前記スイッチング電圧レギュレータはバックコンバータである、
請求項１の装置。
【請求項１０】
回路セットを備える集積回路チップの電圧を制御する方法であって、
コントローラが、
前記集積回路チップ上に製造された複数の低ドロップアウト（ＬＤＯ）レギュレータの各々によって供給される、対応するローカル出力電圧を識別することであって、前記複数のＬＤＯレギュレータの各々は、前記回路セット内の回路の異なるサブセットによってローカル入力電圧として受け取られるローカル出力電圧を供給する、ことと、
前記ＬＤＯレギュレータの各々によって供給される前記ローカル出力電圧に基づいて、前記集積回路チップとは別のスイッチング電圧レギュレータによって供給される出力電圧を識別することであって、前記スイッチング電圧レギュレータによって供給される前記出力電圧は、前記複数のＬＤＯレギュレータの各々によって入力電圧として受け取られる、ことと、
前記出力電圧を供給するように前記スイッチング電圧レギュレータを構成し、ＬＤＯレギュレータによって供給される前記ローカル出力電圧を供給するようにＬＤＯレギュレータの各々を構成することと、を含む、
方法。
【請求項１１】
前記ローカル出力電圧及び前記出力電圧を識別することと、
前記集積回路チップの動作中に１つ以上の機会において前記電圧レギュレータ及び前記低ドロップアウトレギュレータを構成することと、
を含む動作の一部又は全てを実行することを含む、
請求項１０の方法。
【請求項１２】
前記１つ以上の機会は、
前記集積回路チップがスタートアップした場合、
特定のイベントが発生した後、
回路の１つ以上のサブセットによって実行される１つ以上のソフトウェアプログラムの実行状態に基づくこと、
の一部又は全てを含む、
請求項１１の方法。
【請求項１３】
前記ＬＤＯレギュレータの各々によって供給される、対応するローカル出力電圧を識別することは、
前記ＬＤＯレギュレータによって供給される前記ローカル出力電圧を受け取る前記回路のサブセットのアクティビティ又は負荷を識別するためのアクティビティ情報を取得することと、
前記アクティビティ情報に少なくとも部分的に基づいて、前記ローカル出力電圧を識別することと、を含む、
請求項１０の方法。
【請求項１４】
前記アクティビティ情報に少なくとも部分的に基づいて、前記ローカル出力電圧を識別することは、
前記アクティビティ情報を用いて、ルックアップテーブル又は他のレコードにおける前記ローカル出力電圧のルックアップを実行することであって、前記ルックアップテーブル又は前記他のレコードは、様々なタイプのアクティビティ情報を、対応するローカル出力電圧に関連付ける、ことと、
前記アクティビティ情報を、前記ローカル出力電圧を示す結果を生成するアルゴリズムへの入力として使用することであって、前記アルゴリズムは、前記結果を生成する１つ以上の数学演算又は論理演算を含む、ことと、
のうち１つ以上を含む、
請求項１３の方法。
【請求項１５】
前記アクティビティ情報を取得することは、
前記アクティビティ情報を、前記ＬＤＯレギュレータによって供給される前記ローカル出力電圧を受け取る前記回路のサブセットから取得することと、
前記アクティビティ情報を、前記ＬＤＯレギュレータによって供給される前記ローカル出力電圧を受け取る前記回路のサブセット以外の回路の１つ以上のサブセットから取得することと、
のうち少なくとも１つを含む、
請求項１３の方法。
【請求項１６】
前記ＬＤＯレギュレータの各々によって供給される前記ローカル出力電圧に基づいて、前記スイッチング電圧レギュレータによって供給される前記出力電圧を識別することは、
前記複数のＬＤＯレギュレータのうち所定のＬＤＯレギュレータによって供給される最大ローカル出力電圧を決定することと、
前記出力電圧を、前記所定のＬＤＯレギュレータが前記最大ローカル出力電圧を供給するのを可能にする電圧として識別することと、を含む、
請求項１０の方法。
【請求項１７】
前記出力電圧を供給するように前記スイッチング電圧レギュレータを構成し、ＬＤＯレギュレータによって供給される前記ローカル出力電圧を供給するようにＬＤＯレギュレータの各々を構成することは、
前記スイッチング電圧レギュレータに関連する回路要素を、前記出力電圧の供給を開始するように構成することと、
低ドロップアウトレギュレータの各々に関連する回路要素を、前記対応するローカル出力電圧の供給を開始するように構成することと、を含む、
請求項１０の方法。
【請求項１８】
前記出力電圧を供給するように前記スイッチング電圧レギュレータを構成し、ＬＤＯレギュレータによって供給される前記ローカル出力電圧を供給するようにＬＤＯレギュレータの各々を構成する場合に、
前記スイッチング電圧レギュレータ及び前記低ドロップアウトレギュレータを構成する順序を、前記低ドロップアウトレギュレータによって供給される前記ローカル出力電圧の乱れが減るように、前記出力電圧と、ＬＤＯの各々によって供給される前記ローカル出力電圧との関係に基づいて、選択することをさらに含む、
請求項１０の方法。
【請求項１９】
前記回路の第１サブセットは、少なくとも１つの中央処理装置（ＣＰＵ）を備え、
前記回路の第２サブセットは、少なくとも１つのグラフィックス処理ユニット（ＧＰＵ）を備える、
請求項１０の方法。
【請求項２０】
前記スイッチング電圧レギュレータはバックコンバータである、
請求項１０の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
いくつかの集積回路システムでは、電圧レギュレータは、電力を、特定の電圧で集積回路の一部又は全てに供給するために使用される。例えば、電圧レギュレータを使用して、電力を、特定の電圧で、中央処理装置（ＣＰＵ）コア及びグラフィックス処理ユニット（ＧＰＵ）を含むチップ集積回路上のシステムに供給することができる。電圧レギュレータは、電力を集積回路に供給するために使用することができるが、電圧レギュレータの使用は、コストアップ及び複雑性をシステム設計にもたらす。また、電圧レギュレータを使用すると、電力効率が低下する可能性があり、これにより、電力を電池に依存するデバイスの電池寿命が短くなり、所定の電力範囲内での性能が低下する可能性がある。
【０００２】
電圧レギュレータの１つの構成は、集積回路（例えば、ＣＰＵコア又はＧＰＵコア等）の対応するパーティションに電力を供給するために外部バックレギュレータのセットの各々が割り当てられるバックレギュレータ（すなわち、バックコンバータ回路）の単段アレイ（single-stage array）からなる。例えば、「外部」バックレギュレータの各々は、集積回路が配置される集積回路チップを封入するチップパッケージと共に回路基板に実装され得る。パーティション毎に別個のバックレギュレータを設けることによって、この電圧レギュレータの構成は、パーティション毎の電圧の動的選択を可能にする。しかしながら、この構成の１つの欠点は、対応するパーティションに最大電力を供給可能なバックレギュレータを備える必要があることである。パーティションが最大電力を必要とすることは稀であるため、高電流（及び対応する電力レベル）で最も効率的に動作するバックレギュレータは、非効率な低電流で動作することが多い。また、説明したようなバックレギュレータを設けると、回路基板及びパッケージを、パーティション毎の最大電流の合計を処理するためのリソースで構成する必要があるため、回路基板及びパッケージのコストの増加をもたらす。
【０００３】
電圧レギュレータの別の構成は、２段の電圧レギュレータからなり、外部の１段目のバックレギュレータは、固定中間電圧を、集積回路と共に集積回路チップ上に製造される２段目のバックレギュレータのアレイに供給する。２段目のバックレギュレータの各々は、選択可能な電圧を、集積回路（例えば、ＣＰＵコア又はＧＰＵコア等）の特定のパーティションに動的に供給する。固定中間電圧は、一般的な集積回路の電圧要件と比較して比較的高い電圧レベルであるため、２段目のバックレギュレータは、固定中間電圧を、対応するパーティションの動作可能な集積回路電圧に変換／低減する。この電圧レギュレータの構成では、１段目のレギュレータ及び回路基板／パッケージリソースが２段目のバックレギュレータによって共有されるため、現実的な最大電流シナリオのために電流を供給することができる。しかしながら、この構成の１つの欠点は、２段目のバックレギュレータを集積回路チップ上に集積して製造することが複雑及び高価であることである。
【０００４】
上述したように、電力を集積回路に供給するための電圧レギュレータの様々な既存の構成には、重大な欠点がある。したがって、電圧レギュレータの構成及び使用を改善することが重要である。
【図面の簡単な説明】
【０００５】
【図１】いくつかの実施形態による、システムを示すブロック図である。
【図２】いくつかの実施形態による、電圧レギュレータの出力電圧と、２つ以上の低ドロップアウトレギュレータのローカル出力電圧と、を構成するためのプロセスを示すフローチャートである。
【図３Ａ】いくつかの実施形態による、システムワークロード設定、対応する電圧レギュレータ設定、及び、低ドロップアウトレギュレータ設定のブロック図である。
【図３Ｂ】いくつかの実施形態による、システムワークロード設定、対応する電圧レギュレータ設定、及び、低ドロップアウトレギュレータ設定のブロック図である。
【図３Ｃ】いくつかの実施形態による、システムワークロード設定、対応する電圧レギュレータ設定、及び、低ドロップアウトレギュレータ設定のブロック図である。
【図４】いくつかの実施形態による、システムを製造するためのプロセスを示すフローチャートである。
【発明を実施するための形態】
【０００６】
図面及び説明を通じて、同様の符号は同じ図面要素を指す。
【０００７】
以下の説明は、説明される実施形態を当業者が製造又は使用するのを可能にするために提示され、特定の用途及びその要件に関連して提供される。説明される実施形態に対する様々な変更が当業者には容易に明らかであり、本明細書に定義された一般的な原理を、他の実施形態及び用途に適用することができる。したがって、説明される実施形態は、示された実施形態に限定されることなく、本明細書で説明する原理及び特徴と一致する最も広い範囲が許容される。
【０００８】
（用語）
以下の説明では、様々な用語が、実施形態を説明するために使用される。以下に、１つの用語の簡略化された一般的な説明を示す。用語は、明確及び簡潔にするために、本明細書に挙げられていない重要な追加の態様を有してもよく、これにより、この説明は、用語を限定することを意図していないことに留意されたい。
【０００９】
供給電圧：供給電圧は、１つ以上の回路（例えば、個々のトランジスタ、様々な論理ゲート又は回路を形成するトランジスタの集合、ディスクリート回路要素、機能ブロック等）が動作するのを可能にするために当該回路に供給される電気信号である。場合によっては、供給電圧は、実質的に安定した電圧で供給されるが、例えば回路の過渡負荷等によって依存回路の電力需要が変化するのにつれて変化する電流で供給される。例えば、電圧レギュレータは、実質的に安定した電圧で供給電圧を供給する回路であるが、依存回路の需要に基づいて電流が変化する。「実質的に安定した」電圧とは、供給電圧が、可能な範囲で、構成された／所定の電圧で又は構成された／所定の電圧の近い値で維持されるが、例えば過渡負荷が依存回路で発生する場合等の特定の状況で電圧が変化し得ることを意味することに留意されたい。
【００１０】
（概要）
説明される実施形態は、電力を、実質的に安定した電圧で集積回路チップ上の回路セットに供給するための電圧レギュレータの構成を含む。電圧レギュレータの構成は、集積回路チップの外部にある単一の電圧レギュレータ（又は、「１段目の」電圧レギュレータ）と、集積回路チップ上に製造された２つ以上の電圧レギュレータ（又は、「２段目の」電圧レギュレータ）と、を含む。１段目の電圧レギュレータは、２段目の電圧レギュレータの各々によって供給電圧として受け取られる出力電圧を供給する。２段目の電圧レギュレータの各々は、回路セット内の回路の異なるサブセットによって供給電圧として受け取られるローカル出力電圧を供給する。説明される実施形態では、１段目の電圧レギュレータはスイッチング電圧レギュレータであり、２段目の電圧レギュレータは低ドロップアウトレギュレータ（ＬＤＯ）である。
【００１１】
説明される実施形態では、１段目の電圧レギュレータ及び低ドロップアウトレギュレータは、様々な出力電圧を動的に供給するように構成されてもよい。例えば、いくつかの実施形態では、低ドロップアウトレギュレータは、０Ｖ〜１．２Ｖ（又は、他の電圧値の範囲）で出力電圧を供給するように個別に且つ独立して構成されてもよい。例えば、低ドロップアウトレギュレータは、回路セット内の回路の対応するサブセットの動的供給電圧需要に応じて構成又は再構成されてもよい。この例を続けると、１段目の電圧レギュレータは、低ドロップアウトレギュレータの動的供給電圧需要に基づいて、０Ｖ〜１．５Ｖ（又は、他の電圧値の範囲）で出力電圧を供給するように構成されてもよい。
【００１２】
いくつかの実施形態では、１段目の電圧レギュレータは、最も高い供給電圧を必要とする低ドロップアウトレギュレータの供給電圧ニーズを満たすのに十分な高い出力電圧を供給するように構成されている。例えば、動作するための特定の供給電圧をそれぞれ必要とする３つの低ドロップアウトレギュレータが存在する場合に、１段目の電圧レギュレータは、全ての低ドロップアウトレギュレータが動作するのを可能にする最低出力電圧（又は、最低出力電圧の所定の閾値若しくはマージン内の電圧）を供給する。
【００１３】
いくつかの実施形態では、コントローラ（例えば、システム管理コントローラ、電力コントローラ等）は、上述したような対応する出力電圧を供給するために、１段目の電圧レギュレータ及び低ドロップアウトレギュレータの一部又は全てを構成する。例えば、コントローラは、回路セット内の回路のサブセットを監視して、回路セット内の回路のサブセットのアクティビティ又は負荷を決定する（すなわち、現在又は将来の計算負荷、電力消費量等を決定する）ことができる。コントローラは、回路セット内の回路のサブセットのアクティビティ又は負荷に基づいて、対応する低ドロップアウトレギュレータによって回路セット内の回路の所定のサブセットに供給される供給電圧を決定する。例えば、コントローラは、回路セット内の回路のサブセットが演算処理に頻繁に使用されるか、使用されていることを判別することができ、これにより、高出力電圧（例えば、１．２Ｖ）が、対応する低ドロップアウトレギュレータによって供給されることを決定することができる。別の例として、コントローラは、回路内の回路のサブセットが演算処理に少ない頻度で使用されるか、使用されていることを判別することができ、これにより、低出力電圧（例えば、０．７Ｖ）が、対応する低ドロップアウトレギュレータによって供給されることを決定することができる。いくつかの実施形態では、コントローラは、回路のサブセットの一部又は全てのクロック又は他の要素の動作周波数を動的に決定する。
【００１４】
上述した電圧レギュレータの構成を使用する場合、多くの利益が見出される。例えば、集積回路チップの回路セット内の回路のサブセットに供給電圧を供給するために低ドロップアウトレギュレータを使用し、低ドロップアウトレギュレータに可変供給電圧を供給するために外部の１段目の電圧レギュレータを使用することによって、説明される実施形態は、供給電圧を、回路セット内の回路のサブセットのリアルタイムの動作状態に適応させることが可能である。別の例として、単一の外部の１段目の可変出力電圧レギュレータと、集積回路チップ上に製造された低ドロップアウトレギュレータと、を使用することによって、説明される実施形態は、低コストでチップ回路を複雑にしない方法で電圧レギュレータに配電する。さらに別の例として、電圧レギュレータの或る既存の構成と比較して、電流が、より現実的な動作シナリオに従って電圧レギュレータの２つの段の間に供給されるので、集積回路チップが封入されるパッケージ及び当該パッケージが実装される回路基板のコストを節約することができる。さらに別の例として、１段目の電圧レギュレータから動的に選択された出力電圧を、低ドロップアウトレギュレータの特定の電圧要件を満たすように構成することができ、特定のワークロードシナリオにおいて電力効率の改善をもたらすことができるので、パッケージ及び集積回路チップに関するコストアップ及び設計の複雑さが避けられる。さらに別の例として、低ドロップアウトレギュレータはバックレギュレータよりも単純であるため、説明される実施形態の金銭的及び設計の複雑さのコストは、バックレギュレータが使用される既存の構成よりも低くなる。したがって、説明される実施形態は、集積回路チップ及び／又は当該集積回路が使用されるシステムの全体的な電力使用量及び一般的な機能を改善する。
【００１５】
（システム）
図１は、いくつかの実施形態による、システム１００を示すブロック図である。図１に示すように、システム１００は、電力レギュレータ１０４（ＶＲＥＧ１０４）に接続された集積回路チップ１０２を含む。電力レギュレータ１０４は、集積回路チップ１０２上の低ドロップアウトレギュレータのセット（及び、図示していない他の回路も可能である）に対する供給電圧となる出力電圧（ＶＯＵＴ１３２）で電力を供給するスイッチング電圧レギュレータである。例えば、電圧レギュレータ１０４は、バックコンバータ、ブーストコンバータ、又は、他のタイプのスイッチング電圧レギュレータであってもよい。以下により詳細に説明するように、電圧レギュレータ１０４は、システム１００の動作中に様々な出力電圧を動的に供給するように構成及び再構成されてもよい。
【００１６】
集積回路チップ１０２は、様々な回路要素（例えば、低ドロップアウトレギュレータ１０６〜１１２（ＬＤＯ１０６〜１１２）、中央処理装置コア１１４〜１１６（ＣＰＵコア１１４〜１１６）、グラフィックス処理ユニット１１８（ＧＰＵコア１１８）、機能ブロック１２０〜１２２、及び、コントローラ１３４を含む）が製造された半導体チップである。ＣＰＵコア１１４〜１１６は、様々な演算処理を実行するマイクロプロセッサコアである。ＧＰＵコア１１８は、グラフィックス処理及び／又は様々な他の演算処理を実行するグラフィックスプロセッサコアである。機能ブロック１２０〜１２２は、ネットワークプロセッサ、メモリコントローラ及び／又はメモリ等の動作等の対応する動作を実行する。
【００１７】
ＣＰＵコア１１４〜１１６、ＧＰＵコア１１８及び機能ブロック１２０〜１２２は、集積回路チップ１０２上の回路「セット」の一部であり、ＣＰＵコア１１４〜１１６、ＧＰＵコア１１８及び機能ブロック１２０〜１２２の各々は、回路セット内の回路の異なる「サブセット」を含む。例えば、ＣＰＵコア１１４は、回路セット内の回路の第１サブセットであってもよく、ＣＰＵコア１１６は、回路セット内の回路の第２サブセットであってもよく、ＧＰＵコア１１８は、回路セット内の回路の第３サブセットであってもよく、機能ブロック１２０〜１２２は、回路セット内の回路の第４サブセットであってもよい。以下に説明するように、個別の異なる供給電圧を、集積回路チップ１０２内の回路セット内の回路の各サブセットに供給することができる。
【００１８】
低ドロップアウトレギュレータ１０６〜１１２は、実質的に安定したローカル出力電圧で電力を供給するように構成された線形電圧レギュレータであり、これらの各々の出力電圧は、集積回路チップ１０２内の回路セット内の回路の対応するサブセットに対する供給電圧となる。例えば、低ドロップアウトレギュレータ１０６は、ＣＰＵコア１１４（すなわち、回路セット内の回路の第１サブセット）に対する供給電圧となるローカル出力電圧ＶＯＵＴ１２４を供給し、低ドロップアウトレギュレータ１０８は、ＣＰＵコア１１６に対する供給電圧となるローカル出力電圧ＶＯＵＴ１２６を供給し、低ドロップアウトレギュレータ１１０は、ＧＰＵコア１１８に対する供給電圧となるローカル出力電圧ＶＯＵＴ１２８を供給し、低ドロップアウトレギュレータ１１２は、機能ブロック１２０，１２２に対する供給電圧となるローカル出力電圧ＶＯＵＴ１３０を供給する。以下により詳細に説明するように、低ドロップアウトレギュレータ１０６〜１１２を、システム１００の動作中に様々なローカル出力電圧を供給するように動的且つ個別に構成及び再構成することができる。
【００１９】
なお、ここでは、これらの出力電圧と電圧レギュレータ１０４の出力電圧とを区別するために、低ドロップアウトレギュレータ１０６〜１１２によって供給される出力電圧を「ローカル」と呼ぶことに留意されたい。他の場合、ローカル出力電圧は、本明細書で説明するような回路セット内の回路のサブセットに供給される出力電圧である。
【００２０】
上述したように、電圧レギュレータ１０４及び低ドロップアウトレギュレータ１０６〜１１２を、様々な出力電圧を供給するように動的に構成することができる。いくつかの実施形態では、システム１００は、先ず、低ドロップアウトレギュレータ１０６〜１１２の各々によって供給されるローカル出力電圧を決定することによって、動的構成を実行する。例えば、回路セット内の回路の対応するサブセットの現在又は推定された将来のアクティビティ又は負荷（すなわち、回路のサブセットの現在又は推定された将来の電力需要）に基づいて、低ドロップアウトレギュレータ１０６〜１１２毎のローカル出力電圧を決定することができる。上記の例を続けると、これにより、低ドロップアウトレギュレータ１０６のローカル出力電圧（ＶＯＵＴ１２４）を、ＣＰＵコア１１４のアクティビティ又は負荷に基づいて決定することができ、低ドロップアウトレギュレータ１０８の出力電圧を、ＣＰＵコア１１６のアクティビティ又は負荷に基づいて決定することができることを意味する。システムは、低ドロップアウトレギュレータ１０６〜１１２の各々によって供給されるローカル出力電圧に基づいて、電圧レギュレータ１０４の出力電圧（これもまた、低ドロップアウトレギュレータ１０６〜１１２の全てに供給される）を決定する。低ドロップアウトレギュレータ１０６〜１１２の動作を可能にするために電圧レギュレータ１０４の出力電圧を十分に高くすべきであるが、一般的に、電圧レギュレータ１０４の出力電圧は、不要な電力消費や発熱等を避けるために、できるだけ低く維持される。したがって、最も要求の高い低ドロップアウトレギュレータ１０６〜１１２（すなわち、最も高いローカル出力電圧を供給することになる低ドロップアウトレギュレータ１０６〜１１２）に基づいて、電圧レギュレータ１０４の出力電圧を決定する。次に、システムは、出力電圧を供給するように電圧レギュレータ１０４を構成し、ローカル出力電圧を供給するように低ドロップアウトレギュレータ１０６〜１１２を構成する（必ずしもこの順序ではない）。
【００２１】
いくつかの実施形態では、出力電圧及びローカル出力電圧の上述した動的構成及び再構成を、システム１００の動作中に何回も実行することができる。例えば、起動した場合、回路セットのサブセット（この場合、ＣＰＵコア１１４、ＣＰＵコア１１６等）のアクティビティ又は負荷が変化した場合、ソフトウェアプログラムがＮ（Ｎは数値）ミリ秒毎に実行フェーズを開始又は変更した場合、システム１００が動作している間に特定のイベントが発生した場合、システム１００の一部又は全ての物理的パラメータ（例えば、温度、音又は振動）が特定のレベルに達した場合等に、動的構成及び再構成が行われる。例えば、システム１００は、過熱してアクティビティレベルが低下し、低ドロップアウトレギュレータのローカル出力電圧及び／又は電圧レギュレータ１０４の出力電圧の再構成／低下を引き起こすＣＰＵコア１１４のクロックの動作周波数をスロットル又は低減することができる。いくつかの場合、周波数及び電圧をペアとして選択し、連携して（in tandem）調整する。別の例として、機能ブロック１２２は、より高いレベルのアクティビティを示すことができ、低ドロップアウトレギュレータ１１２のローカル出力電圧及び／又は電圧レギュレータ１０４の出力電圧の再構成／上昇を引き起こす。
【００２２】
図１を参照すると、コントローラ１３４は、電圧レギュレータ１０４によって供給される出力電圧と、低ドロップアウトレギュレータ１０６〜１１２によって供給されるローカル出力電圧とを構成するために、本明細書で説明する動作の一部又は全て（及び、可能な他の動作）を実行する機能ブロックである。例えば、いくつかの実施形態では、コントローラ１３４は、システムコントローラ、電力コントローラ、専用電圧レギュレータコントローラ、及び／又は、別の機能ブロックである。
【００２３】
いくつかの実施形態では、コントローラ１３４は、回路セット内の回路のサブセット（すなわち、ＣＰＵコア１１４、機能ブロック１２０等）からアクティビティ、負荷又は他の動作情報（概して、「アクティビティ情報」）を受信し、引き出し、又は、取得する。この動作情報は、回路セット内の回路の一部又は全てのサブセットの現在又は推定される将来のアクティビティ又は負荷を決定するために使用され得る。例えば、コントローラ１３４は、アクティビティ情報として、アクティビティ信号１３６又は他のメカニズムを介して、毎秒実行されている若しくは実行される予定の動作のカウント若しくは推定、キューの命令若しくは動作の数のインジケータ、動作温度、アイドル時間若しくはビジー時間の割合、処理されているソフトウェア（例えば、アプリケーション、オペレーティングシステムルーチン等）若しくはハードウェア負荷の識別情報、及び／又は、回路セット内の回路のサブセットの一部若しくは全ての現在若しくは推定される将来のアクティビティ若しくは負荷を特徴付けるために使用され得る他の情報を受信することができる。これらの実施形態では、コントローラ１３４は、様々な方法でアクティビティ情報を受信し、引き出し、又は、取得することができる。例えば、回路セットのサブセット（例えば、ＣＰＵコア１１４）は、回路セットのサブセットで実行された、実行されている、又は、実行される予定の動作の数を示す値を、レジスタ又は共有メモリ位置に書き込むことができる。次に、コントローラ１３４は、レジスタ又は共有メモリ位置にアクセス／読み出しして、動作情報を判別することができる。別の例として、コントローラ１３４は、アクティビティ情報の要求を（例えば、システムバス、アクティビティ信号１３６等の信号線を介して）回路セット内の回路のサブセットに通信し、これに応じて、アクティビティ情報を有する回路セット内の回路のサブセットからリターン通信を受信することができる。別の例として、オペレーティングシステム、ハイパーバイザ及び／又は他のソフトウェアエンティティは、メモリ位置／レジスタ、パケット、命令、又は、他の通信メカニズムを使用して、アクティビティ情報をコントローラ１３４に通信してもよい。
【００２４】
いくつかの実施形態では、コントローラ１３４は、回路セット自体のサブセットから受信したアクティビティ情報に基づいて、回路セットのサブセットの現在又は推定された将来の負荷又はアクティビティを「直接」決定する。例えば、ＣＰＵコア１１４の現在又は推定された将来の負荷又はアクティビティは、コントローラ１３４がＣＰＵコア１１４から受信し、引き出し又は取得した情報に基づいて、コントローラ１３４によって決定されてもよい。いくつかの実施形態では、コントローラ１３４は、回路セットの１つ以上の異なるサブセットから受信したアクティビティ情報に基づいて、回路セットのサブセットの現在又は推定された将来の負荷又はアクティビティを「間接的に」決定する。例えば、コントローラ１３４は、機能ブロック１２０の現在又は推定された将来の負荷又はアクティビティを示すアクティビティ情報をＣＰＵコア１１６から受信してもよい。例えば、機能ブロック１２０がメモリであると仮定すると、ＣＰＵコア１１６からのアクティビティ情報は、メモリ集約的な動作フェーズ（例えば、大量のメモリ読み出し又は書き込みを行うソフトウェアプログラムを実行する等）がＣＰＵ１１６によって入力されているか、将来的に入力されることを示し、機能ブロック１２０の負荷が増大することになる。いくつかの実施形態では、コントローラ１３４は、回路セットのサブセットの現在又は推定された将来の負荷又はアクティビティの直接的及び間接的な決定の組み合わせを実行する。
【００２５】
いくつかの実施形態では、コントローラ１３４は、１つ以上のポリシー及び／又はルールに基づいて、例えば、制御信号１３８を介して、電圧レギュレータ１０４の出力電圧と、低ドロップアウトレギュレータ１０６〜１１２のローカル出力電圧とを構成する。例えば、コントローラ１３４は、回路セット内の回路の１つ以上のサブセットに関する特定のアクティビティ又は負荷レベルが与えられると、所定のタイムフレームにおけるアクティビティ又は負荷レベル、平均アクティビティ又は負荷レベル、最小又は最大のアクティビティ又は負荷レベル等に適用される１つ以上のルールに基づいて、出力電圧及び／又はローカル出力電圧を構成することができる。いくつかの実施形態では、ポリシー及び／又はルールは、ポリシー及び／又はルールの一部又は全てを示すか制御する構成ファイル、レジスタ値、ルックアップテーブル、レコード、アルゴリズム等を更新することによって、動的に調整可能である。
【００２６】
いくつかの実施形態では、コントローラ１３４は、電圧レギュレータ１０４及び／又は低ドロップアウトレギュレータ１０６〜１１２の出力電圧を、回路セットのサブセットの一部又は全ての電圧／周波数を設定又は調整するための動作の一部として構成する。例えば、コントローラ１３４は、低電力モードに移行する場合に、電圧及び／又は周波数を、対応する低レベル（すなわち、低電圧及び低周波数）に設定することができる。
【００２７】
いくつかの実施形態では、システム１００は、安定性及び機械的サポートを提供するために、集積回路チップ１０２及び電圧レギュレータ１０４が（例えば、装着、ネジ止め、締め付け、プレス、接着等で）別々に接続された実装デバイス（図示省略）を含む。例えば、実装デバイスは、回路基板、アクティブ若しくは非アクティブな半導体インターポーザ、ソケット、ブラケット、及び／又は、別の機械的実装デバイスのうち１つ以上であってもよい。これらの実施形態では、実装デバイスは、トレース、ガイド、パッド、領域等を含むことができ、これらを介して、供給電圧（例えば、ＶＯＵＴ１３２等）及び他の電気信号（例えば、１つ以上の制御信号１３８等）が、電圧レギュレータ１０４と集積回路チップ１０２との間で通信される。
【００２８】
いくつかの実施形態では、システム１００は、集積回路チップ１０２が封入又は実装されるパッケージ（図示省略）を含む。例えば、パッケージは、ピングリッドアレイパッケージ、フラットパッケージ、スモールアウトラインパッケージ、ボールグリッドアレイパッケージ等であってもよい。このようなパッケージでは一般的であるように、集積回路チップ１０２とパッケージが実装されるデバイス（回路基板、インターポーザ、ソケット等）との間で電気信号を通信するために、様々なピン、リード、はんだバンプ、領域等及び対応するパッケージ内部配線が設けられている。いくつかの実施形態では、一部の既存のシステムとは異なり、パッケージは、電圧レギュレータ回路要素を含まない。換言すれば、パッケージを介して供給電圧を集積回路チップ１０２に送るのに使用されるピン、信号ルート、トレース、ガイド、領域等を含まない電圧レギュレータ及び低ドロップアウトレギュレータの回路要素は、電圧レギュレータ１０４内のように集積回路チップの完全に外部にあるか、又は、低ドロップアウトレギュレータ１０６〜１１２内のように集積回路チップ上に完全に製造されるかの何れかである。
【００２９】
集積回路チップ１０２には様々な要素が示されているが、いくつかの実施形態では、異なる要素が集積回路チップ１０２内に存在する。概して、集積回路チップ１０２は、２つ以上の低ドロップアウトレギュレータによって回路セット内の回路の異なるサブセットに供給されるローカル出力電圧と、外部電圧レギュレータによって２つ以上の低ドロップアウトレギュレータに供給される出力電圧と、を構成する動作を実行するのに十分な要素を含む。
【００３０】
システム１００は、演算処理を実行する任意の電子デバイスであってもよいし、この電子デバイス内に含まれてもよい。例えば、システム１００は、デスクトップコンピュータ、ラップトップコンピュータ、ウェアラブルコンピューティングデバイス、タブレットコンピュータ、仮想現実若しくは拡張現実機器、スマートフォン、サーバ、ネットワーク機器、玩具、音響映像機器、家電製品、コントローラ、乗り物等、及び／又は、これらの組み合わせ等の電子デバイスであってもよいし、これらの電子デバイス内に含まれてもよい。
【００３１】
（電圧レギュレータの電圧の構成）
上述したように、説明する実施形態は、電圧レギュレータ１０４の出力電圧と、低ドロップアウトレギュレータ１０６〜１１２のローカル出力電圧と、を構成する動作を実行する。図２は、いくつかの実施形態による、電圧レギュレータの出力電圧と、２つ以上の低ドロップアウトレギュレータのローカル出力電圧と、を構成するプロセスを示すフローチャートである。図２に示す動作は、いくつかの実施形態によって実行される機能の一般的な例として示されることに留意されたい。他の実施形態によって実行される動作は、異なる動作、及び／又は、異なる順序で行われる動作を含む。また、プロセスを説明する際に特定のメカニズム（例えば、コントローラ１３４等）が使用されるが、いくつかの実施形態では、他のメカニズムが動作を実行することができる。
【００３２】
図２に示すプロセスは、システム１００の動作中にいつでも実行することができる。例えば、プロセスは、スタートアップしたとき若しくはそれに近いときに、１つ以上の特定の時間、周期的な時間若しくは繰り返し時間で、特定のイベントが発生した場合、１つ以上のエンティティ（オペレーティングシステム、ＣＰＵコア等）によって要求された場合、ソフトウェアプログラムが実行フェーズを開始若しくは変更した場合、特定の物理的状態（温度等）が発生した場合、及び／又は、他の場合に実行されてもよい。換言すれば、低ドロップアウトレギュレータ１０６〜１１２のローカル出力電圧及び電圧レギュレータ１０４の出力電圧は、システム１００が動作するときに動的に構成可能／選択可能である。以下に説明するように、アクティビティ情報は、ローカル出力電圧を受信する回路のローカル動作周波数を介して、出力電圧及びローカル出力電圧を構成／選択するために使用され、結果として、システム１００のリアルタイムの動作状態に基づいて、電圧レギュレータ及び低ドロップアウトレギュレータ用に構成される出力電圧及びローカル出力電圧がもたらされる。これは、システム１００が演算負荷に応じて処理することを確実にしながら、少ない電力を消費し、低温等で動作することを確実にするのに役立つ。
【００３３】
図２に示すプロセスは、コントローラ１３４が、２つ以上の低ドロップアウトレギュレータ（例えば、低ドロップアウトレギュレータ１１２等）の各々によって供給されるローカル出力電圧を供給電圧として受け取る回路セット内の回路のサブセット（例えば、機能ブロック１２２等）のアクティビティ又は負荷を識別するアクティビティ情報を取得することによって開始する（ステップ２００）。この動作中、コントローラ１３４は、回路セット内の回路のサブセットのアクティビティ又は負荷を計算、識別、又は、推定するのに使用可能な情報を受信、読み出し又は取得する。例えば、（供給電圧が１つの低ドロップアウトレギュレータによって供給される）ＣＰＵコアは、例えば、コントローラ１３４がアクセス可能なレジスタ又はメモリ位置において、１つ以上の性能カウンタを更新することができ、コントローラ１３４は、メモリ位置にアクセス／読み出して、アクティビティ情報を取得することができる。別の例として、コントローラ１３４は、メモリを含む機能ブロックからメモリ帯域幅の使用レポート又は使用予測を要求し、これに応じて、メモリ帯域幅を示す応答をアクティビティ情報として受信することができる。別の例として、コントローラ１３４は、回路セットのサブセットから、回路セット内の回路のサブセットの一部又は全てによって実行されるソフトウェアプログラムのオペレーティングシステム等から、既知の実行プロファイル（例えば、メモリアクセスが多い、グラフィックスが多い等）、識別可能な実行フェーズ（例えば、計算フェーズの後にメモリへの書き込みフェーズが続く）等をアクティビティ情報として含む指標を受信することができる。さらに別の例として、コントローラ１３４は、システム１００のモニタから動作環境値（例えば、温度、ノイズ、ファン速度等）の指標を受信し、この値をアクティビティ情報として使用することができる。
【００３４】
いくつかの実施形態では、コントローラ１３４は、アクティビティ情報を生成又は導出する。例えば、コントローラ１３４は、１つ以上のシステム値（ＣＰＵコアの負荷レベル、メモリバス帯域幅の使用量、温度等）を経時的に監視し、平均、割合、プロファイル、ヒストグラム等を計算することができる。別の例として、コントローラ１３４は、毎秒のＣＰＵコア当たりの平均命令、システム全体の温度パターン等の複合統計又は値を計算又は生成することができる。概して、コントローラ１３４は、読み出した、受信した又は取得した１つ以上の値に基づいて、回路セット内のサブセットのアクティビティ又は負荷レベルを識別するアクティビティ情報を決定するための動作を実行する。
【００３５】
次に、コントローラ１３４は、アクティビティ情報に基づいて、低ドロップアウトレギュレータの各々によって供給されるローカル出力電圧を受け取る回路のローカル動作周波数を決定する（ステップ２０２）。この動作中、コントローラ１３４は、アクティビティ情報、並びに、１つ以上のテーブル、基準値、アルゴリズム、論理演算及び／又は他の演算を使用して、アクティビティ情報に基づいて、低ドロップアウトレギュレータの各々によって供給されるローカル出力電圧を受け取る回路のローカル動作周波数を決定する。例えば、コントローラ１３４は、ルックアップテーブル又は他のレコードを使用して、アクティビティ情報が、指定された割合を超えるアイドル時間が対応する回路で発生したか発生していることを示す場合に、回路の一部又は全てのローカル動作周波数が、第１値（例えば、１．５ＧＨｚ、９００ＭＨｚ、又は、別の値）として構成され、他の場合には、第２値（例えば、２．５ＧＨｚ、３ＧＨｚ、又は、別の値）として構成されることを決定することができる。別の例として、コントローラ１３４は、回路（又は、他のもの）の一部又は全てから取得した動作温度を使用して、回路の一部又は全てのローカル周波数を、１つ以上の数学演算、論理演算、及び／又は、ビット演算を有するアルゴリズムへの入力として計算することができる。例えば、コントローラ１３４は、アルゴリズムを使用して、回路の一部又は全ての現在のローカル動作周波数を、現在の動作温度に比例するように、新たなローカル動作周波数にスケーリングすることができる。
【００３６】
いくつかの実施形態では、１つ以上のテーブル、基準値、アルゴリズム、論理演算、及び／又は、アクティビティ情報に基づいてローカル動作周波数を決定するのに使用される他の演算は、動的に構成可能である。例えば、１つ以上のテーブルを使用する実施形態では、１つ以上のテーブルは、システム１００が動作するときに、オペレーティングシステム又はソフトウェアプログラム、ユーザ、コントローラ１３４、回路のサブセットの１つ等によって更新又は置換されてもよい。このようにして、ステップ２０２で決定されたローカル動作周波数を、経時的に変更又は調整することができ、これは、システムが、低ドロップアウトレギュレータの各々によって供給されるローカル出力電圧を受け取る回路に対して、所望のローカル動作周波数を使用することを確実にするのに役立つ。いくつかの実施形態では、１つ以上のテーブル、基準値、アルゴリズム、論理演算及び／又は他の演算の動的構成は、１つ以上の一般的なポリシー又はルールに従って、例えば、特定の演算処理の特定の平均完了時間を維持し、システム１００内の平均温度を維持する等を行う。これらの実施形態では、動的構成は、所定の又は動的構成に基づいて、一般的なポリシー又はルールを満たしていることを確実にするために、頻繁に（例えば、Ｎミリ秒毎等）発生し得る。いくつかの実施形態では、回路毎のローカル動作周波数を異なる値に設定することができる。
【００３７】
次に、コントローラ１３４は、低ドロップアウトレギュレータの各々によって供給されるローカル出力電圧を受け取る回路の決定されたローカル動作周波数に基づいて、低ドロップアウトレギュレータ毎のローカル出力電圧を決定する（ステップ２０４）。この動作中、コントローラ１３４は、対応するローカル動作周波数に基づいて低ドロップアウトレギュレータの各々のローカル動作周波数を決定するために、１つ以上のテーブル、基準値、アルゴリズム、論理演算及び／又は他の演算を使用する。例えば、コントローラ１３４は、対応するローカル動作周波数の各々に関連するローカル出力電圧を決定するために、１つ以上のルックアップテーブル又は他のレコードにおいてルックアップを実行することができる。例えば、１つの低ドロップアウトレギュレータによって供給されるローカル出力電圧を受け取る回路の決定されたローカル動作周波数が２．５ＧＨｚであると仮定すると、対応する低ドロップアウトレギュレータのローカル出力電圧は、１．２Ｖ、１．５Ｖ又は別の電圧値に設定され得る。このようにして、対応する回路のローカル動作周波数に基づいて、低ドロップアウトレギュレータ毎に個別のローカル出力電圧が決定される。
【００３８】
いくつかの実施形態では、ローカル動作周波数に基づいてローカル出力電圧を決定するのに使用される１つ以上のテーブル、基準値、アルゴリズム、論理演算及び／又は他の演算は、動的に構成可能である。例えば、１つ以上のテーブルを使用する実施形態では、１つ以上のテーブルは、システム１００が動作するときに、オペレーティングシステム又はソフトウェアプログラム、ユーザ、コントローラ１３４、回路のサブセットの１つ等によって更新又は置換されてもよい。このようにして、ステップ２０４で決定されたローカル出力電圧を経時的に変更又は調整することができ、これは、システムが、低ドロップアウトレギュレータの各々によって供給されるローカル出力電圧を受け取る回路に対して所望の電圧を使用することを確実にするのに役立つ。いくつかの実施形態では、１つ以上のテーブル、基準値、アルゴリズム、論理演算及び／又は他の演算の動的構成は、１つ以上の一般的なポリシー又はルールに従って、例えば、特定の演算処理の特定の平均完了時間を維持し、システム１００内の平均温度を維持する等を行う。これらの実施形態では、動的構成は、所定の又は動的構成に基づいて、一般的なポリシー又はルールを満たしていることを確実にするために、頻繁に（例えば、Ｎミリ秒毎等）発生し得る。
【００３９】
次に、コントローラ１３４は、低ドロップアウトレギュレータのローカル出力電圧に基づいて、電圧レギュレータ（例えば、電圧レギュレータ１０４等のスイッチング電圧レギュレータ）の出力電圧を決定する（ステップ２０６）。この動作中、コントローラ１３４は、ルックアップテーブル、アルゴリズム及び／又は他の演算を使用して、低ドロップアウトレギュレータの各々／全ての適切な動作を可能にするのに十分に高いが必要以上に高くない、電圧レギュレータによって供給される出力電圧を決定する。概して、低ドロップアウトレギュレータは、正しい動作を可能にするために、ローカル出力電圧以上の入力電圧を必要とする。したがって、いくつかの実施形態では、コントローラ１３４は、加算（例えば、０．２Ｖ、０．３Ｖ等のオフセット値を、最高の低ドロップアウトレギュレータ出力電圧に加える）又はスケーリング値を掛ける乗算（例えば、１．１、１．２等のスケーリング値を、最高の低ドロップアウトレギュレータ出力電圧に掛ける）等のアルゴリズムを使用して、電圧レギュレータの出力電圧を決定することができる。いくつかの実施形態では、コントローラ１３４は、使用可能／許容可能なローカル出力電圧値のセットの各々が、出力電圧を取得するために電圧レギュレータの対応する出力電圧に関連付けられているテーブルにおいて、ルックアップを実行することができる。また、コントローラ１３４は、単に、出力電圧を、ローカル出力電圧の最高値に等しく設定してもよい。
【００４０】
いくつかの実施形態では、電圧レギュレータの出力電圧を決定するのに使用されるルックアップテーブル、アルゴリズム及び／又は他の演算は、動的に構成可能である。例えば、ルックアップテーブルを使用する実施形態では、ルックアップテーブルは、システム１００が動作するときに、オペレーティングシステム又はソフトウェアプログラム、ユーザ、コントローラ１３４、回路のサブセットの１つ等によって更新又は置換されてもよい。このようにして、ステップ２０４で決定された出力電圧を経時的に変更又は調整することができ、これは、システムが、電圧レギュレータを構成するために所望の出力電圧を使用することを確実にするのに役立つ。いくつかの実施形態では、ルックアップテーブル、アルゴリズム及び／又は他の演算の動的構成は、１つ以上の一般的ポリシー又はルールに従って、例えば、特定の演算処理の特定の平均完了時間を維持し、システム１００内の平均温度を維持する等を行う。これらの実施形態では、動的構成は、所定の又は動的構成に基づいて、一般的なポリシー又はルールを満たしていることを確実にするために、頻繁に（例えば、Ｎミリ秒毎等）発生し得る。
【００４１】
次に、コントローラ１３４は、出力電圧を供給するように電圧レギュレータを構成する（ステップ２０８）。この動作中、コントローラ１３４は、例えば、対応する１つの制御信号１３８を介して、電圧レギュレータの回路要素を設定、調整し、又は、回路要素に出力電圧の供給／出力を開始させる。例えば、コントローラ１３４は、電圧レギュレータの回路要素に供給されるバイアス電圧又は基準電圧を設定又は調整し、これらの回路要素に出力電圧の供給を開始させることができる。別の例として、コントローラ１３４は、増幅器、抵抗器、キャパシタ、インダクタ等の電圧レギュレータの要素を構成して、電圧レギュレータに出力電圧の供給を開始させることができる。別の例として、コントローラ１３４は、電圧レギュレータの１つ以上の制御回路又は制御要素によって使用されるレジスタ又はメモリ要素の値を設定して、電圧レギュレータの出力電圧をどのように設定するかを決定し、これにより、電圧レギュレータに出力電圧の供給を開始させることができる。
【００４２】
次に、コントローラ１３４は、低ドロップアウトレギュレータの各々を構成して、低ドロップアウトレギュレータのローカル出力電圧を供給する（ステップ２１０）。この動作中、コントローラ１３４は、例えば、対応する制御信号１３８を介して、低ドロップアウトレギュレータの回路要素を設定、調整し、又は、当該回路要素に対応するローカル出力電圧の供給／出力を開始させる。例えば、コントローラ１３４は、低ドロップアウトレギュレータの回路要素に供給されるバイアス電圧又は基準電圧を設定して、出力電圧の供給をこれらの回路要素に開始させることができる。別の例として、コントローラ１３４は、増幅器、抵抗器、キャパシタ等の低ドロップアウトレギュレータの要素を構成して、出力電圧の供給を低ドロップアウトレギュレータに開始させることができる。別の例として、コントローラ１３４は、低ドロップアウトレギュレータの１つ以上の制御回路又は制御要素によって使用されるレジスタ又はメモリ要素の値を設定して、低ドロップアウトレギュレータの出力電圧をどのように設定するか決定し、これにより、出力電圧の供給を低ドロップアウトレギュレータに開始させる。
【００４３】
図２の例では、出力電圧を供給する電圧レギュレータの再構成（ステップ２０８）及び対応するローカル出力電圧を供給する低ドロップアウトレギュレータの再構成（ステップ２１０）は、構成動作中にローカル出力電圧の不要な乱れ（disruption）が回避されるように行われる。概して、これは、低ドロップアウトレギュレータがより低いローカル出力電圧を供給するように再構成されるまで、電圧レギュレータの出力電圧が、全ての低ドロップアウトレギュレータが以前のローカル出力電圧を供給し続けるのに十分な出力電圧未満に減らないことを意味する。例えば、再構成は、アトミックであってもよいし、電圧レギュレータ及び低ドロップアウトレギュレータに対して実質的に同時に行われてもよい。これにより、低ドロップアウトレギュレータは、再構成による悪影響（すなわち、ローカル出力電圧の遮断又はスパイク）が低減していることを示す。別の例として、ステップ２０８〜２１０の順序は、電圧レギュレータの出力電圧が低減／構成される前に低ドロップアウトレギュレータのローカル出力電圧が低減／構成されるように、入れ替えられてもよい。
【００４４】
次に、コントローラ１３４は、低ドロップアウトレギュレータの各々によって供給されるローカル出力電圧を受け取る回路のローカル動作周波数を構成する（ステップ２１２）。この動作中、コントローラ１３４は、回路のローカル動作周波数を直接的又は間接的に調整、更新又は構成する。例えば、コントローラ１３４は、回路内の動作が同期される又は動作が制御される１つ以上のクロックのクロック周波数を調整（すなわち、増加又は減少）することができ、別の制御回路（高周波数クロック又は低周波数クロック等）からの入力を受け入れるように回路を構成してもよく、及び／又は、回路のローカル動作周波数を更新してもよい。
【００４５】
電圧及び周波数を「構成」する動作について説明しているが、構成することは、出力電圧、ローカル出力電圧及び周波数を変更しないことが望ましい場合には、変更しないままにすることを含む。例えば、出力電圧及び／又はローカル出力電圧が、ステップ２００〜２０６で決定された出力電圧及び／又はローカル出力電圧に従って適切に構成されている場合には、ステップ２０８及び／又はステップ２１０は、現在の出力電圧及び／又はローカル出力電圧を変更しない状態のままにすることからなってもよい。
【００４６】
図３Ａ〜図３Ｃは、いくつかの実施形態による、いくつかのシステムワークロード設定、対応する電圧レギュレータ設定、及び、低ドロップアウトレギュレータ設定のブロック図である。概して、図３Ａ〜図３Ｃに示す例は、図２の動作が３つの異なるワークロードの各々に対して実行された後の出力電圧及び２つのローカル出力電圧を示している。特定の実施形態が図３Ａ〜図３Ｃに示されているが、いくつかの実施形態では、異なる電圧を使用することができる。
【００４７】
図３Ａ〜図３Ｃの動作に関して、システムワークロードは、システムの動作中に特定の時点で発生する可能性があるワークロード及び選択された電圧を表している。しかしながら、これらは、システム１００で発生する可能性がある唯一のワークロード及び／又は選択された電圧ではない。システム１００の動作中、ワークロード及び選択された電圧は、システム１００の特定の演算負荷及び／又は他の要因に応じて、刻々と変化し得る。本明細書で説明するように、コントローラ１３４は、ワークロードに少なくとも部分的に基づいて、出力電圧及びローカル出力電圧を動的に構成する。また、電圧レギュレータ（例えば、電圧レギュレータ１０４）の固定入力電圧が、図３Ａ〜図３Ｃの全てに示されている。固定電圧は、電圧レギュレータに供給される（例えば、電源、電池、別のソースからの）供給電圧である。また、電圧レギュレータ及び低ドロップアウトレギュレータの最小出力電圧及び最大出力電圧は、横軸の下のラベルを使用して示される。例えば、電圧レギュレータの最小電圧には「ＶＲ  ＭＩＮ  ＶＯＬＴＡＧＥ」というラベルが付され、最大電圧には「ＶＲ  ＭＡＸ  ＶＯＬＴＡＧＥ」というラベルが付されている。固定電圧値、最小電圧値、最大電圧値は、単に例示として示されており、縮尺通りに示されていないことに留意されたい。
【００４８】
図３ＡのＣＰＵ中心のワークロード３００の場合、ＣＰＵ（例えば、ＣＰＵコア１１４）はアクティブであり負荷が発生しているが、ＧＰＵ（例えば、ＧＰＵコア１１８）の負荷は最小限に過ぎない。対応する低ドロップアウトレギュレータ（例えば、低ドロップアウトレギュレータ１０６，１１０）によって供給されるローカル出力電圧は、対応するアクティビティ／負荷に基づいているので、対応する低ドロップアウトレギュレータは、最大電圧（図３Ａのバーの暗い部分によって示される）に近いローカル出力電圧をＣＰＵに供給し、対応する低ドロップアウトレギュレータは、最小電圧に近いローカル出力電圧をＧＰＵに供給する。図から分かるように、電圧レギュレータによって供給される出力電圧は、ＣＰＵ低ドロップアウトレギュレータのローカル出力電圧に実質的に等しい（すなわち、等しくない場合には僅かに上回り）ので、ＣＰＵ低ドロップアウトレギュレータを有効にするのに十分な供給電圧が供給される。ＧＰＵ低ドロップアウトレギュレータは、より低いローカル出力電圧に設定され、これは、或る程度の電力損失（低ドロップアウトレギュレータの特性、及び、出力電圧とＧＰＵローカル出力電圧との差に起因する）をもたらすが、電力損失は、ＧＰＵによって消費される低レベルの電流に起因して小さい。
【００４９】
図３ＢのＧＰＵ中心のワークロード３０２の場合、ＧＰＵはアクティブであり負荷が発生しているが、ＣＰＵは十分に負荷がかかっていない。対応する低ドロップアウトレギュレータによって供給されるローカル出力電圧は、対応するアクティビティ／負荷に基づいており、これにより、対応する低ドロップアウトレギュレータは、最大電圧に近いローカル出力電圧をＧＰＵに供給し、電圧範囲の中間のローカル出力電圧をＣＰＵに供給する。図から分かるように、電圧レギュレータによって供給される出力電圧は、ＧＰＵ低ドロップアウトレギュレータのローカル出力電圧と実質的に等しく、それによって、ＧＰＵ低ドロップアウトレギュレータを有効にするのに十分な供給電圧を供給する。ＣＰＵ低ドロップアウトレギュレータは、低ローカル出力電圧に設定され、これは、（この場合も、ＣＰＵ低ドロップアウトレギュレータの特性と、出力電圧とＣＰＵローカル出力電圧との差と、に起因して）ある程度の電力損失をもたらすが、電力損失は、ＣＰＵによって流れる電流が低レベルであることに起因して管理不能ではない。
【００５０】
図３Ｃの低程度（low-intensity）のワークロード３０４の場合、ＣＰＵ及びＧＰＵの両方がアクティブであるが、負荷は最小限である。対応する低ドロップアウトレギュレータによって供給されるローカル出力電圧は、対応するアクティビティ／負荷に基づいており、これにより、対応する低ドロップアウトレギュレータは、最小電圧に近いローカル出力電圧をＣＰＵ及びＧＰＵの両方に供給する。図から分かるように、電圧レギュレータによって供給される出力電圧も、ＧＰＵ低ドロップアウトレギュレータを有効にするのに十分な供給電圧を供給する最小電圧に近い。
【００５１】
（システムの製造）
図４は、いくつかの実施形態による、システム（例えば、図１に示すシステム１００）を製造するためのプロセスを示すフローチャートである。図４に示す動作は、いくつかの実施形態によって実行される機能の一般的な例として示されることに留意されたい。他の実施形態によって実行される動作は、異なる動作、及び／又は、異なる順序で実行される動作を含む。
【００５２】
図４に示すプロセスは、回路（すなわち、集積回路）セットが集積回路チップ上に製造されるときに開始する（ステップ４００）。この動作中、様々な回路（例えば、ＣＰＵコア１１４、機能ブロック１２０等）が、ドーピング、イオン注入、エッチング、様々な材料の堆積、１つ以上のマスクを介したフォトリソグラフィパターニング等の周知の半導体製造プロセスを用いて、集積回路チップ上に製造される。集積回路チップは、新たな半導体ダイ、又は、既に存在する１つ以上の他のデバイス若しくはフィーチャ（features）を有する半導体ダイであってもよい。
【００５３】
次に、２つ以上の低ドロップアウトレギュレータを集積回路チップ上に製造する（ステップ４０２）。ステップ４００の回路と同様に、低ドロップアウトレギュレータは、周知の半導体製造プロセスを使用して、集積回路チップ上に製造される。
【００５４】
次に、２つ以上の低ドロップアウトレギュレータの各々のローカル出力電圧は、回路セットの異なるサブセットに（供給電圧として）接続される（ステップ４０４）。この動作中、低ドロップアウトレギュレータの各々のローカル出力電圧のための出力ピンや接点等と、回路セットの対応するサブセットの供給電圧入力のための入力ピンや接点等との間に、信号線（例えば、１つ以上のトレース、ガイド等）が接続される。
【００５５】
次に、スイッチング電圧レギュレータが、集積回路チップの外部に製造される（ステップ４０６）。この動作中、様々なディスクリート回路要素及び／又は集積回路要素が、例えば周知の半導体製造プロセスを用いて製造され、スイッチング電圧レギュレータを形成するように共に接続される。
【００５６】
次に、スイッチング電圧レギュレータの電圧出力が、低ドロップアウトレギュレータの電圧入力に接続される（ステップ４０８）。この動作中、スイッチング電圧レギュレータの出力電圧ピン、コネクタ、リード等は、１つ以上のトレース、ワイヤ、ガイド等を介して、低ドロップアウトレギュレータの電圧入力のためのオフチップインタフェースとして機能する集積回路チップのピン、領域等に接続される。
【００５７】
いくつかの実施形態では、コンピューティングデバイス（例えば、システム１００及び／又はシステム１００の一部）は、非一時的なコンピュータ可読媒体に記憶されたコード及び／又はデータを使用して、本明細書で説明する動作の一部又は全てを実行する。より具体的には、コンピューティングデバイスは、コード及び／又はデータをコンピュータ可読記憶媒体から読み出し、説明する動作を実行する場合に、当該コードを実行し及び／又は当該データを使用する。コンピュータ可読記憶媒体は、コンピューティングデバイスによって使用されるコード及び／又はデータを記憶する任意のデバイス、媒体又はこれらの組み合わせであってもよい。例えば、コンピュータ可読記憶媒体は、揮発性メモリ又は不揮発性メモリ（フラッシュメモリ、ランダムアクセスメモリ（ｅＤＲＡＭ、ＲＡＭ、ＳＲＡＭ、ＤＲＡＭ、ＤＤＲ、ＤＤＲ２／ＤＤＲ３／ＤＤＲ４  ＳＤＲＡＭ等）、リードオンリメモリ（ＲＯＭ）、及び／又は、磁気記憶媒体若しくは光学記憶媒体（例えば、ディスクドライブ、磁気テープ、ＣＤ、ＤＶＤ等）を含む）を含むことができるが、これらに限定されない。
【００５８】
いくつかの実施形態では、１つ以上のハードウェアモジュールが、本明細書に説明する動作を実行するように構成される。例えば、ハードウェアモジュールは、１つ以上のプロセッサ／コア／中央処理装置（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、演算ユニット、組み込みプロセッサ、グラフィックスプロセッサ（ＧＰＵ）／グラフィックスコア、パイプライン、アクセラレーテッド処理ユニット（ＡＰＵ）、システム管理コントローラ、電力コントローラ、及び／又は、他のプログラマブルロジックデバイスを含むことができるが、これらに限定されない。このようなハードウェアモジュールが起動されると、当該ハードウェアモジュールは、動作の一部又は全てを実行する。いくつかの実施形態では、ハードウェアモジュールは、命令（プログラムコード、ファームウェア等）を実行して動作を実行することによって構成される１つ以上の汎用回路を含む。
【００５９】
いくつかの実施形態では、本明細書に説明する構造及びメカニズムの一部又は全てを表すデータ構造（例えば、集積回路チップ１０２、コントローラ１３４、及び／又は、その一部）は、コンピューティングデバイスによって読み出され、構造及びメカニズムを備えるハードウェアを製造するために直接的又は間接的に使用され得るデータベース又は他のデータ構造を含む、非一時的なコンピュータ可読記憶媒体に記憶される。例えば、データ構造は、Ｖｅｒｉｌｏｇ又はＶＨＤＬ等の高レベル設計言語（ＨＤＬ）におけるハードウェア機能の動作レベル記述又はレジスタ転送レベル（ＲＴＬ）記述であってもよい。記述は、記述を合成して、上述した構造及びメカニズムを含むハードウェアの機能を表す合成ライブラリからゲート／回路要素のリストを含むネットリストを生成することができる合成ツールによって読み出されてもよい。次に、ネットリストを配置及びルーティングして、マスクに適用される幾何学的形状を記述するデータセットを生成することができる。次に、マスクを様々な半導体製造工程で使用して、上述した構造及びメカニズムに対応する１つ以上の半導体回路を製造することができる。或いは、コンピュータアクセス可能な記憶媒体上のデータベースは、ネットリスト（合成ライブラリを伴う若しくは伴わない）、必要に応じてデータセット、又は、グラフィックスデータシステム（ＧＤＳ）ＩＩデータであってもよい。
【００６０】
この説明において、機能ブロックは、いくつかの実施形態を説明する際に言及され得る。概して、機能ブロックは、説明した動作を実行する１つ以上の相互に関連する回路要素を含む。例えば、回路要素は、集積回路、ディスクリート回路等を含むことができる。いくつかの実施形態では、機能ブロックの回路は、上記の動作を実行するために、プログラムコード（例えば、マイクロコード、ファームウェア、アプリケーション等）を実行する回路を含む。例えば、機能ブロックは、１つ以上の処理パイプライン、演算ユニット、専用処理回路等を含むことができる。
【００６１】
この説明において、時間は、一般的な用語で参照される場合がある。例えば、「Ｎミリ秒毎」等である。変数としてＮを繰り返し使用しているにもかかわらず、一般的な参照では、必ずしも、各ケースで同じ時間を説明しているわけではない。一般的な参照の一部又は全てについて異なる時間が意図され得る。
【００６２】
実施形態の上記の説明は、例示及び説明目的だけのために提示されている。この説明は、網羅的であること、又は、開示された形態に実施形態を限定することを意図していない。したがって、当業者には、多くの修正及び変形が明らかである。また、上記の説明は、実施形態を限定することを意図していない。実施形態の範囲は、添付の特許請求の範囲によって定義される。
【図１】
2020532258.tif 000003
【図２】
2020532258.tif 000004
【図３Ａ】
2020532258.tif 000005
【図３Ｂ】
2020532258.tif 000006
【図３Ｃ】
2020532258.tif 000007
【図４】
2020532258.tif 000008
【国際調査報告】
2020532258.tif 000009
2020532258.tif 000010