(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-12
(54)【発明の名称】サイクル当たりの命令の低減を介してマルチプロセッサコアシステムにおける電流供給を制御するためのシステム及び方法
(51)【国際特許分類】
G06F 1/28 20060101AFI20240705BHJP
G06F 1/04 20060101ALI20240705BHJP
G06F 9/48 20060101ALI20240705BHJP
【FI】
G06F1/28
G06F1/04 570
G06F9/48 300G
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023578721
(86)(22)【出願日】2022-06-17
(85)【翻訳文提出日】2024-01-29
(86)【国際出願番号】 US2022034052
(87)【国際公開番号】W WO2022271563
(87)【国際公開日】2022-12-29
(32)【優先日】2021-06-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】アミタブ メーラ
(72)【発明者】
【氏名】リチャード マーティン ボーン
(72)【発明者】
【氏名】スリラム スリニヴァサン
(72)【発明者】
【氏名】スネハ コマティレディー
(72)【発明者】
【氏名】マイケル エル. ゴールデン
(72)【発明者】
【氏名】シュウティン カリーン シー. マン
(72)【発明者】
【氏名】ゴクール サブラマーニ ラマリンガム ラクシュミ デビ
(72)【発明者】
【氏名】シャオジェ ホー
【テーマコード(参考)】
5B011
【Fターム(参考)】
5B011DC06
5B011EA08
5B011GG02
5B011JA12
(57)【要約】
方法及び装置は、マルチプロセッサシステム内の複数の処理ユニット(102)に供給される電流を制御する。処理ユニットに対応する複数の電流使用情報(108)がコントローラ(104)によって受信され、複数の処理ユニットの各々の閾値電流が決定される。コントローラは、閾値電流に基づいて、複数の処理ユニットの各々の周波数低減動作(116)及びサイクル当たり命令(IPC)低減動作(202)を決定し、決定された周波数低減動作及びIPC低減動作に基づいて処理ユニットの動作を調整する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
マルチプロセッサシステム内の複数の処理ユニットに供給される電流を制御するためのコントローラであって、
前記コントローラは、
前記複数の処理ユニットに対応する複数の電流使用情報を受信することと、
前記複数の処理ユニットの各々について閾値電流を決定することと、
前記閾値電流に基づいて、前記複数の処理ユニットの各々について周波数低減動作及びサイクル当たり命令(IPC)低減動作を決定することと、
決定された周波数低減動作及びIPC低減動作に基づいて、前記複数の処理ユニットの動作を調整することと、
を行うように構成されている、
コントローラ。
【請求項2】
前記閾値電流に基づいて前記複数の処理ユニットの各々の電圧低減動作を決定することと、
決定された周波数低減動作、IPC低減動作及び電圧低減動作に基づいて、前記複数の処理ユニットの動作を調整することと、
を行うように構成されている、
請求項1のコントローラ。
【請求項3】
前記複数の処理ユニットの各々における前記電流使用情報に基づいて、電流使用の特性を決定するように構成されており、
前記複数の処理ユニットの各々の周波数低減動作及びIPC低減動作は、決定された電流使用の特性に基づいている、
請求項1のコントローラ。
【請求項4】
前記電流使用の特性は、前記複数の処理ユニットごとに個別に決定され、前記閾値電流は、個別に決定された電流使用の特性に基づいて、前記複数の処理ユニットごとに決定される、
請求項3のコントローラ。
【請求項5】
前記複数の処理ユニットの全てに対応する電流使用の特性が集約され、前記閾値電流は、集約された電流使用の特性に基づいて、前記複数の処理ユニットに対して決定される、
請求項3のコントローラ。
【請求項6】
前記決定された電流使用の特性は、前記電流使用の測定値と、前記電流使用の増加率と、を含む、
請求項3のコントローラ。
【請求項7】
前記周波数低減動作は、クロックストレッチング、クロック発生器周波数の低減、位相ロックループ(PLL)周波数の低減、又は、分周器の使用のうち1つ以上を実施することによって、前記複数の処理ユニットの各々の動作周波数を低減するように構成されている、
請求項1のコントローラ。
【請求項8】
前記IPC低減動作は、ディスパッチ動作制御ユニット、又は、前記処理ユニットの帯域幅を低減することのうち1つ以上を実施することによって、前記複数の処理ユニットの各々のIPC値を低減するように構成されている、
請求項1のコントローラ。
【請求項9】
前記複数の処理ユニットの各々の電力測定値を受信するように構成されており、
前記複数の処理ユニットの各々についての前記周波数低減動作、前記IPC低減動作又は前記電圧低減動作のうち少なくとも1つは、前記閾値電流と受信した電力測定値とに基づいて決定される、
請求項2のコントローラ。
【請求項10】
前記複数の処理ユニットの各々についての前記周波数低減動作又は前記IPC低減動作は、前記複数の処理ユニットの各々についての前記閾値電流及び前記受信した電力測定値に基づいて個別に決定される、
請求項9のコントローラ。
【請求項11】
前記閾値電流は、集約閾値電流であり、前記複数の処理ユニットの全てに対応する電力測定値は、集約電力測定値を形成するために組み合わされ、前記複数の処理ユニットの全てについての前記周波数低減動作又は前記IPC低減動作は、前記複数の処理ユニットについての前記集約閾値電流及び前記集約電力測定値に基づいて決定される、
請求項9のコントローラ。
【請求項12】
コンピュータシステムであって、
クロック発生器と、
複数の処理ユニットと、
電圧調整器、前記クロック発生器及び前記複数の処理ユニットと動作可能に結合されたコントローラと、を備え、
前記コントローラは、
前記複数の処理ユニットに対応する複数の電流使用情報を受信することと、
前記複数の処理ユニットの各々について閾値電流を決定することと、
前記閾値電流に基づいて、前記クロック生成器の周波数低減動作、及び、前記複数の処理ユニットの各々のサイクル当たり命令(IPC)低減動作を決定することと、
決定された周波数低減動作及びIPC低減動作に基づいて、前記クロック発生器及び前記複数の処理ユニットの動作を調整することと、
によって、前記複数の処理ユニットに供給される電流を制御するように構成されている、
コンピュータシステム。
【請求項13】
前記複数の処理ユニット及び前記コントローラと動作可能に結合された電圧調整器を備え、
前記コントローラは、
前記閾値電流に基づいて前記複数の処理ユニットの各々の電圧低減動作を決定することと、
決定された電圧低減動作に基づいて、前記電圧調整器の動作を調整することと、
によって、前記複数の処理ユニットに供給される電流を制御するように構成されている、
請求項12のシステム。
【請求項14】
前記コントローラは、
前記複数の処理ユニットの各々における前記電流使用情報に基づいて、電流使用の特性を決定することによって、前記複数の処理ユニットに供給される電流を制御するように構成されており、
前記複数の処理ユニットの各々の周波数低減動作及びIPC低減動作は、決定された電流使用の特性に基づいており、
前記決定された電流使用の特性は、前記電流使用の測定値と、前記電流使用の増加率と、を含む、
請求項12のシステム。
【請求項15】
前記複数の処理ユニットの各々は、対応する処理ユニットの電力測定を行うように構成された電力モニタを備え、
前記コントローラは、
前記電力モニタから前記複数の処理ユニットの各々の電力測定値を受信することによって、前記複数の処理ユニットに供給される電流を制御するように構成されており、
前記複数の処理ユニットの各々についての前記周波数低減動作、前記IPC低減動作又は前記電圧低減動作のうち少なくとも1つは、前記閾値電流と受信した電力測定値とに基づいて決定される、
請求項13のシステム。
【請求項16】
前記複数の処理ユニットの各々についての前記周波数低減動作又は前記IPC低減動作は、前記複数の処理ユニットの各々についての前記閾値電流及び前記受信した電力測定値に基づいて個別に決定され、
前記閾値電流は、集約閾値電流であり、前記複数の処理ユニットの全ての電力測定値は、集約電力測定値を形成するために組み合わされ、前記複数の処理ユニットの全てについての前記周波数低減動作又は前記IPC低減動作は、前記複数の処理ユニットについての前記集約閾値電流及び前記集約電力測定値に基づいて決定される、
請求項15のシステム。
【請求項17】
マルチプロセッサシステムにおいて複数の処理ユニットに供給される電流を制御するための方法であって、
前記複数の処理ユニットに対応する複数の電流使用情報を受信することと、
前記複数の処理ユニットの各々について閾値電流を決定することと、
前記閾値電流に基づいて、前記複数の処理ユニットの各々について周波数低減動作及びサイクル当たり命令(IPC)低減動作を決定することと、
決定された周波数低減動作及びIPC低減動作に基づいて、前記複数の処理ユニットの動作を調整することと、を含む、
方法。
【請求項18】
前記閾値電流に基づいて前記複数の処理ユニットの各々の電圧低減動作を決定することと、
決定された周波数低減動作、IPC低減動作及び電圧低減動作に基づいて、前記複数の処理ユニットの動作を調整することと、を含む、
請求項17の方法。
【請求項19】
前記複数の処理ユニットの各々における前記電流使用情報に基づいて、電流使用の特性を決定することを含み、
前記複数の処理ユニットの各々の周波数低減動作及びIPC低減動作は、決定された電流使用の特性に基づいており、
(a)前記複数の処理ユニットの各々についての電流使用の特性が個別に決定され、個別に決定された特性に基づいて前記複数の処理ユニットごとに前記閾値電流が決定されるか、又は、(b)前記複数の処理ユニットの各々に対応する電流使用の特性が集約され、集約された電流使用の特性に基づいて、前記複数の処理ユニットに対して前記閾値電流が決定される、
請求項17の方法。
【請求項20】
前記複数の処理ユニットの各々の電力測定値を受信することを含み、
前記複数の処理ユニットの各々についての前記周波数低減動作、前記IPC低減動作又は前記電圧低減動作のうち少なくとも1つは、前記閾値電流と受信した電力測定値とに基づいて決定される、
請求項18の方法。
【発明の詳細な説明】
【背景技術】
【0001】
アプリケーションがマルチプロセッサコアシステムのプロセッサコア上で実行される場合に、アプリケーションアクティビティは、どれだけの電流がプロセッサコアにおいて使用されるかに影響を及ぼし得る。マルチプロセッサコアシステムは、多数のプロセッサコアが高いアプリケーションアクティビティの結果として高い周波数で動作する場合、高い電流使用の影響を受けやすい。電圧調整器によってサポートすることができない過電流事象は、電圧調整器及びシステム全体のシャットダウンという望ましくないシナリオを引き起こす。他の緩和戦略が使用されない限り、動作周波数は、過電流事象を回避するために低減されなければならない。この結果、コンピュータの性能が低下する。
【0002】
実施形態は、同様の符号が同様の要素を表す以下の図を伴う場合に、以下の説明を考慮してより容易に理解されるであろう。
【図面の簡単な説明】
【0003】
【
図1】当技術分野で知られているプロセッサコアシステムの例示的な機能ブロック図である。
【
図2】本明細書に開示される実施形態による、マルチプロセッサコアシステムの例示的な機能ブロック図である。
【
図3】本明細書に開示される実施形態による、
図2の例示的な機能ブロック図の部分を示す図である。
【
図4】本明細書に開示される実施形態による、
図2の例示的な機能ブロック図の別の部分を示す図である。
【
図5】本明細書に開示される実施形態による、マルチプロセッサコアシステムの別の例示的な機能ブロック図である。
【
図6】本明細書に開示される実施形態による、電力モニタ構成要素を含むマルチプロセッサコアシステムの例示的な機能ブロック図である。
【
図7】本明細書に開示される実施形態による、マルチプロセッサコアシステムにおいて実施されるプロセスの例示的なフロー図である。
【
図8】
図7のプロセスの一部の例示的なフロー図である。
【
図9】
図7のプロセスの一部の例示的なフロー図である。
【
図10】本明細書で開示される実施形態による、マルチプロセッサコアシステムにおいて実施される別のプロセスの例示的なフロー図である。
【発明を実施するための形態】
【0004】
簡潔に言えば、システム及び方法は、プロセッサコアの各々について動作周波数及びサイクル当たりの命令(IPC)を低減することによって、マルチプロセッサコアシステム内の複数の処理ユニットに供給される電流を制御するのを助ける。いくつかの実施形態では、方法は、処理ユニットに対応する複数の電流使用情報を受信することと、処理ユニットの各々について閾値電流を決定することと、閾値電流に基づいて処理ユニットの各々について周波数低減動作及びIPC低減動作を決定することと、決定された周波数低減動作及びIPC低減動作に基づいて処理ユニットの動作を調整することと、を含む。
【0005】
いくつかの実施形態では、方法は、閾値電流に基づいて処理ユニットの各々のための電圧低減動作を決定することと、決定された周波数低減動作、IPC低減動作及び電圧低減動作に基づいて処理ユニットの動作を調整することと、を更に含む。いくつかの例では、方法は、処理ユニットの各々における電流使用情報に基づいて電流使用の特性を決定することを更に含む。処理ユニットの各々に対する周波数低減動作及びIPC低減動作は、電流使用の決定された特性に基づく。電流使用の特性は、処理ユニットの各々について個別に決定されてもよく、閾値電流は、個別に決定された特性に基づいて処理ユニットの各々について決定されてもよい。代替的に、全ての処理ユニットに対応する電流使用の特性が集約されてもよく、閾値電流は、集約された特性に基づいて処理ユニットについて決定されてもよい。いくつかの例では、電流使用の決定された特性は、電流使用の測定値及び電流使用の増加率を含む。
【0006】
いくつかの実施形態では、方法は、処理ユニットの各々の電力測定値を受信することを更に含む。処理ユニットの各々に対する周波数低減動作、IPC低減動作又は電圧低減動作のうち少なくとも1つは、閾値電流及び受信電力測定値に基づいて決定される。
【0007】
特定の実施形態によれば、コントローラは、マルチプロセッサシステム内の複数の処理ユニットに供給される電流を制御するように構成されている。コントローラは、処理ユニットに対応する複数の電流使用情報を受信し、処理ユニットの各々に対する閾値電流を決定し、閾値電流に基づいて処理ユニットの各々に対する周波数低減動作及びサイクル当たり命令(IPC)低減動作を決定し、決定された周波数低減動作及びIPC低減動作に基づいて処理ユニットの動作を調整する。
【0008】
いくつかの実施形態では、コントローラは、閾値電流に基づいて処理ユニットの各々のための電圧低減動作を決定し、決定された周波数低減動作、IPC低減動作及び電圧低減動作に基づいて処理ユニットの動作を調整する。いくつかの例では、コントローラは、処理ユニットの各々における電流使用情報に基づいて電流使用の特性を決定する。処理ユニットの各々に対する周波数低減動作及びIPC低減動作は、電流使用の決定された特性に基づく。電流使用の特性は、処理ユニットの各々について個別に決定されてもよく、閾値電流は、個別に決定された特性に基づいて処理ユニットの各々について決定される。代替的に、全ての処理ユニットに対応する電流使用の特性が集約されてもよく、閾値電流は、集約された特性に基づいて処理ユニットについて決定される。電流使用の決定された特性は、電流使用の測定値及び電流使用の増加率を含む。
【0009】
いくつかの例では、周波数低減動作は、クロックストレッチング、クロック発生器周波数の低減、位相ロックループ(PLL)周波数の低減、又は、分周器の使用のうち1つ以上を実施することによって、処理ユニットの各々の動作周波数を低減するように構成されている。いくつかの例では、IPC低減動作は、ディスパッチ動作制御ユニット又は処理ユニットの帯域幅を低減することのうち1つ以上を実施することによって、処理ユニットの各々のIPC値を低減するように構成されている。
【0010】
いくつかの実施形態では、コントローラは、処理ユニットの各々の電力測定値を受信する。処理ユニットの各々に対する周波数低減動作、IPC低減動作又は電圧低減動作のうち少なくとも1つは、閾値電流及び受信電力測定値に基づいて決定される。処理ユニットの各々についての周波数低減動作又はIPC低減動作は、処理ユニットの各々についての閾値電流と受信電力測定値とに基づいて、個々に及び別々に決定され得る。代替的に、閾値電流は、集約閾値電流であってもよく、全ての処理ユニットに対応する電力測定値は、集約電力測定値を形成するために組み合わされるために、全ての処理ユニットに対する周波数低減動作又はIPC低減動作は、処理ユニットに対する集約閾値電流及び集約電力測定値に基づいて決定される。
【0011】
いくつかの実施形態によれば、コンピュータシステムは、クロック発生器と、複数の処理ユニットと、電圧調整器、クロック発生器及び処理ユニットに動作可能に結合されたコントローラと、を含む。コントローラは、複数の処理ユニットに対応する複数の電流使用情報を受信することと、処理ユニットの各々について閾値電流を決定することと、閾値電流に基づいて、クロック発生器のための周波数低減動作及び処理ユニットの各々のためのサイクル当たり命令(IPC)低減動作を決定することと、決定された周波数低減動作及びIPC低減動作に基づいて、クロック発生器及び処理ユニットの動作を調整することと、によって、処理ユニットに供給される電流を制御するように構成されている。
【0012】
いくつかの実施形態では、コンピュータシステムは、複数の処理ユニット及びコントローラに動作可能に結合された電圧調整器を更に含み、コントローラは、閾値電流に基づいて処理ユニットの各々に対する電圧低減動作を決定することと、決定された電圧低減動作に基づいて電圧調整器の動作を調整することと、によって、処理ユニットに供給される電流を制御するように構成されている。
【0013】
いくつかの例では、コントローラは、処理ユニットの各々における電流使用情報に基づいて電流使用の特性を決定することによって、処理ユニットに供給される電流を制御するように構成されている。処理ユニットの各々についての周波数低減動作及びIPC低減動作は、電流使用の決定された特性に基づき、電流使用の決定された特性は、電流使用の測定値又は電流使用についての増加率を含み得る。
【0014】
いくつかの例では、複数の処理ユニットの各々は、対応する処理ユニットの電力測定を行うように構成された電力モニタを含み得る。コントローラは、電力モニタから処理ユニットの各々の電力測定値を受信することによって、処理ユニットに供給される電流を制御するように構成されてもよい。処理ユニットの各々に対する周波数低減動作、IPC低減動作又は電圧低減動作のうち少なくとも1つは、閾値電流及び受信電力測定値に基づいて決定される。
【0015】
いくつかの例では、処理ユニットの各々についての周波数低減動作又はIPC低減動作は、処理ユニットの各々についての閾値電流と受信電力測定値とに基づいて、個々に及び別々に決定され得る。いくつかの例では、閾値電流は、集約閾値電流であってもよく、全ての処理ユニットからの電力測定値は、集約電力測定値を形成するために組み合わされ、したがって、全ての処理ユニットについての周波数低減動作又はIPC低減動作は、処理ユニットについての集約閾値電流及び集約電力測定値に基づいて決定される。
【0016】
以下の説明では、本明細書に提示される方法及び機構の十分な理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、当業者は、様々な実施形態がこれらの具体的な詳細なしに実施され得ることを認識すべきである。いくつかの例では、本明細書において説明されるアプローチを不明瞭にすることを避けるために、周知の構造、構成要素、信号、コンピュータプログラム命令及び技術が詳細に示されていない。説明を簡単且つ明確にするために、図に示される要素は必ずしも縮尺どおりに描かれているわけではないことが理解されよう。例えば、いくつかの要素の寸法は、他の要素に対して誇張されている場合がある。
【0017】
図1は、当技術分野で知られている制限を実装する従来技術のマルチプロセッサコアシステム100の高レベル図を示している。システム100は、コア102とコントローラ104との間で情報を送信するためにデータ通信バスを介してコントローラ104に結合された1つ以上のコア(簡略化のためにコア102のうち1つのみが示されている)を含む。コア102は、電源(図示せず)からコア102によって引き出される電流を検出する電流センサ106を含む。
【0018】
電流は、コア102に供給される電源電圧に関連付けられており、それによって使用される電力の量に依存する。引き出された電流の量は、電流値情報108としてコントローラ104に送信され、コントローラは、情報108を受信し、コア102によってどれだけの電流が許容されるかに基づいて電流閾値情報112を決定するための電流モニタモジュール110を含む。電流閾値情報112は、コア102ごとに個々に及び別々に決定された電流閾値を含んでいてもよいし、全てのコア102に対応する集約電流閾値を含んでいてもよい。
【0019】
電流は、コア102のクロック速度又は周波数(すなわち、例えば、CPU周波数)に比例するので、コントローラ104の周波数低減決定モジュール114が、コア102によって引き込まれる電流が電流閾値情報112に従って低減されなければならないと決定する場合に、周波数低減決定モジュール114は、コア102に動作可能に結合されたクロック発生器118に対して、電流閾値情報112に基づいて周波数低減動作116を提供し、クロック発生器118は、周波数低減動作116に基づいてコア102のクロックレートを変更する。したがって、コントローラ104は、コア102が動作するように構成された周波数を低減することによって、コア102の電流低減を容易にする。
【0020】
しかしながら、コントローラ104が他の要因を考慮することなくコア102の動作周波数を低減するだけである場合、上述したシステム100において問題が生じ得る。例えば、コア102の動作周波数を低減することは、コア102の作業負荷を安定したレートで維持することを必要とし、さもなければ、コア102は、低減したクロックレート又は周波数と増大した作業負荷との組み合わせに起因して再びより高い電流で動作を開始し、システム100の低減された性能をもたらす。この場合の作業負荷は、サイクル当たりの命令(IPC)によって定義される。メモリ待ち時間又はメモリ帯域幅によって制限されるアプリケーション等のいくつかのアプリケーションでは、周波数が減少するにつれてIPCが増加する。これは、動作周波数のみを低減することによって動作電流を低減する効果を低減する。
【0021】
図2は、本明細書で開示される実施形態による、例示的なマルチプロセッサコアシステム200の高レベル図を示している。いくつかの実施形態におけるシステム200は、周波数低減動作に加えてIPC低減を実施することによって、コアプロセッサの潜在的に低減された性能の上記の問題を解決する。図示したシステム200は、複数のコア処理ユニット又はコア102を有する。任意の適切な数のコアを実装することができる。コントローラ104は、コア102から電流情報108を受信し、決定された周波数低減動作116及びIPC低減動作202を各コアに提供する。周波数低減動作116及びIPC低減動作202は、コントローラ104によってコア102の各々に提供され、組み合わされた低減動作204と総称される。
【0022】
図3は、本明細書に開示される実施形態による、システム200を示している。簡略化のために、第1のコア102のみが示されているが、更なるコア102の各々は、同様の構成要素を含むことが予想され、更に説明されるように、同様の情報又は動作を送信及び受信するように構成されることを理解されたい。図示した例では、コントローラ104は、低減決定モジュール300を含み、この低減決定モジュールは、この場合、周波数及びIPC低減決定モジュールである。低減決定モジュール300は、電流モニタモジュール110から電流閾値情報112を受信し、周波数低減動作116及びIPC低減動作202を決定する。すなわち、コア102の周波数を低減することに加えて、モジュール300は、現在低減された周波数で動作しているコア102が、作業負荷の増加の結果としてその電流使用を増加させる可能性を低減するために実行され得る命令の数の低減を決定する。IPCの低減は、コア102のIPC制御モジュール302を介して実施される。周波数制御モジュール301及びIPC制御モジュール302は、コア状態制御モジュール304と総称される。
【0023】
図4は、本明細書で開示される実施形態による、例示的なマルチプロセッサコアシステム400の別の高レベル図を示しており、電流モニタモジュール110は、電流閾値情報112を低減決定モジュール300に提供し、この場合、周波数、IPC及び電圧低減決定モジュールである。モジュール300は、組み合わされた低減動作204をコア状態制御モジュール304に提供する。この場合、組み合わされた低減動作204は、周波数低減動作116、IPC低減動作202及び電圧低減動作404を含む。コア状態制御モジュール304は、周波数制御モジュール301と、IPC制御モジュール302と、電圧制御モジュール402と、を含む。
【0024】
いくつかの実施形態では、IPC低減動作204及び電圧低減動作404は、以下のように決定及び実施され得る。第1の入力に対して、目標周波数と実効達成周波数との差が計算される。次いで、計算された差に基づいて、第1のプロセッサコア(本明細書では「コア0」とも呼ばれる)のより低い目標周波数を生成するために、比例低減が計算される。第2の入力に対して、スロットリングされた総サイクルカウントと、命令に対して利用可能な総サイクルと、の間の差が計算される。次いで、計算された差に基づいて、第1のプロセッサコアの新しいより低い目標周波数を生成するために、IPCの比例低減(それに基づいてIPC低減動作204が決定される)が計算される。第1又は第2の入力の何れか(又はいくつかの例では、第1及び第2の入力の両方)から新しく生成されたより低い目標周波数は、第1のコアの新しい目標周波数を生成するために使用され得る。次いで、新しい目標周波数は、第1のコアの新しい必要電圧(それに基づいて電圧低減動作404が決定される)にマッピングされる。
【0025】
上記の方法は、第1のコアから最後のコア(本明細書では「コアN」とも呼ばれる)までのコアの各々について適切に実施され得る。プロセッサコアは、スマートファームウェア(すなわち、例えば、人工知能又は機械学習等の高度なコンピューティング能力を用いて知的にされたファームウェア)、又は、コアの各々について新しい電圧値を計算するために上記のプロセスを繰り返すことを容易にするための任意の適切なアルゴリズムによって、電圧変化について評価されるか又は「ループ」され得る。いくつかの例では、コアのルーピングは、1つ以上のハードウェア論理構成要素において実装されるスマートアルゴリズム(例えば、人工知能又は機械学習を使用するアルゴリズム)であるハードウェアウェッジを使用して実行され得る。ハードウェアウェッジは、所定の目標周波数値に基づいて目標電圧値を決定することを容易にするために、離散的な電圧値及び周波数値を(例えば、1つ以上のルックアップテーブルに)記憶するための構成可能な容量を含み得る。その後、全てのコアの新しい目標電圧を決定するために、全ての新しく計算された電圧の中から最大電圧が選択される。最後に、電圧低減動作404は、決定されたように、コアの電圧レベルを電流電圧から新しい目標電圧に変更するために実施され得る。
【0026】
モジュール300は、周波数低減動作116を周波数制御モジュール301に提供し、IPC低減動作202をIPC制御モジュール302に提供し、電圧低減動作404をコア102の電圧制御モジュール402に提供する。すなわち、周波数及びIPCに加えて、コア102に供給される電圧も、電流閾値に到達するために低減される。動作116、202、404は、バス又はワイヤ等の任意の適切な信号通信手段を介してデジタル信号の形態で送信される。
【0027】
上述した例において、周波数制御モジュール301は、例えば、対応するコアのクロック周波数を制御するクロック発生器、又は、入力周波数を低減する分周器であってもよい。IPC制御モジュール302は、例えば、命令キャッシュから受信した命令に従ってスケジューラに動作をディスパッチするように構成されたコアのディスパッチユニット、又は、ディスパッチされる動作を制御するディスパッチユニットに結合されたディスパッチ制御ユニットとすることができる。電圧制御モジュール402は、例えば、コアとともに実装されるか又はコアと結合された電圧調整器であり得る。これらのモジュールは、それぞれのコアの一部として実装されてもよく、あるいは、別々に実装されるが、コアと機能的に結合されてもよいことを理解されたい。
【0028】
図5は、本明細書で開示される実施形態による、例示的なマルチプロセッサコアシステム500の一実施形態のブロック図である。システム500は、共通の集積回路502に実装されたコア0からコアNまでの合計N+1個のコア102を含む。電圧源504は、その電圧調整器506を介して集積回路502に結合されている。電圧源504は、選択された入力電圧値(VDD)を電圧調整器506に提供し、電圧調整器は、VDDを使用してコア102の各々に電圧508を供給する。電圧調整器506は、コア102を含む集積回路502内に実装されてもよく、又は、集積回路502とは別に実装されてもよい。電圧調整器506は、電圧低減動作404によって提供される動作レベルに従って可変である供給電圧508を提供する。したがって、この実施形態では、各コア102の電圧制御モジュール402は、コア102の外部に位置する電圧調整器506であり得る。
【0029】
また、システム500は、コア102の各々に結合されたコントローラ104を含み、これは、以下で更に説明されるように、コアの各々における電流レベルを管理するように構成された電流管理ユニットであり得る。この例では、コントローラ104は、コアが受信された動作信号202に従って異なるレベルのIPC低減を実施し得るように、コア102の各々について特定のIPC低減動作202を生成することが可能である。
【0030】
システム500は、システムクロック信号を受信するように結合されており、対応するクロック信号510をコア102の各々に分配することができる位相ロックループ(PLL)であり得るクロック発生器118を更に含む。そのような例では、コア102の各々によって受信されるクロック信号510は、互いに独立している。更に、クロック発生器118は、互いに独立してコア102のそれぞれに提供されるクロック信号510の各々の周波数を個別に制御及び変更することができる。以下で更に詳細に説明するように、コアのうち任意の所定の1つによって受信されるクロック信号510の周波数は、コントローラ104によって生成される周波数低減動作116に従って増加又は減少され得る。したがって、この実施形態では、各コア102の周波数制御モジュール301は、コア102の外部に位置するクロック発生器118であってもよい。
【0031】
各コア102は、電流センサ106と、コア状態制御モジュール304と、を含む。モジュール304は、いくつかの例では、周波数制御モジュール301、IPC制御モジュール302又は電圧制御モジュール402のうち1つ以上を含む。クロック発生器118が周波数制御モジュール301として使用されてもよく、電圧調整器506が電圧制御モジュール402として使用されてもよいことが示されているが、いくつかの例によれば、コア102の各々の周波数及び/又は電圧の制御は、それぞれ、各コア102内に実装された上記のモジュール301及び/又は506によって実施され得る。したがって、クロック発生器118、電圧調整器506及びコアごとの制御モジュール304の任意の適切な組み合わせが、各コア102の周波数及び/又は電圧を制御する際に実装され得る。
【0032】
コントローラ104は、コア102が電流センサ106によって測定された電流値に従ってより柔軟に制御されるように、コア102に対応する低減動作116、202、404を、個々に、互いに独立して生成することができる。メモリコントローラ、入力/出力インターフェース及び表示又はグラフィックスのための異なるエンジン等のマルチプロセッサコアシステム500の他の特徴は、簡略化のために示されていないが、そのような構成要素は、当技術分野で知られているようにノースブリッジ(図示せず)と動作可能に結合されてもよく、そのような周辺デバイスの各々の動作は、電流センサによって測定されるようなコアの電流値に影響を及ぼし得ることが理解される。
【0033】
システム500は、中央処理装置(CPU)又はグラフィックス処理装置(GPU)等の任意のタイプのプロセッサシステムであってもよい。例えば、システム500は、x86 64ビット命令セットアーキテクチャを有するx86プロセッサとして実装されてもよく、デスクトップ、ラップトップ、サーバ、スーパースカラコンピュータ、携帯電話又はデジタルメディアプレーヤで使用されるRISC(Advanced Reduced Instruction Set Computer)マシン(ARM)プロセッサ、音声データ及び通信信号等のデジタル信号に関連するアルゴリズムの処理及び実装において有用なデジタル信号プロセッサ(DSP)、並びに、プリンタ及びコピー機等の消費者用途において有用なマイクロコントローラにおいて使用される。
【0034】
コア102は、システム500の計算の中心を形成し、多数の計算タスクを実行する責務がある。例えば、プロセッサコア102は、限定はしないが、2進数の加算、減算、シフト及び回転を実行する実行ユニットと、メモリアドレスのためのアドレス計算並びにメモリからのデータのロード及び記憶を実行するアドレス生成及びロード及び記憶ユニットと、を含み得る。プロセッサコア102によって実行される動作は、コンピュータアプリケーションの実行を可能にする。
【0035】
プロセッサコア102は、コントローラ104によって制御されるような特定の性能状態(P状態)に従って動作する。P状態は以下のように記述される。ACPI(Advanced Configuration and Power Interface)規格は、コンピュータシステムの電力管理を規制する動作システムベースの仕様である。例えば、ACPI規格は、バッテリ寿命のより良い管理のためにプロセッサコアを制御し、指示することができる。その際に、ACPIは、C状態と呼ばれるプロセッサ電力状態を割り当て、プロセッサがこれらの状態の限界内で動作するように強制する。様々なレベルのC状態が存在し(例えば、完全な電力消費及びエネルギーの完全な散逸を伴う、完全に動作している状態であるC0、命令の実行が停止され、プロセッサが瞬時に命令を実行するために戻ることができるスリープ状態であるC1、又は、プロセッサがC0状態に戻るのにより長い時間がかかる可能性がある別のスリープ状態であるC2)、プロセッサの性能に対する対応する含意とともに、プロセッサが割り当てられてもよい。
【0036】
プロセッサが完全に動作しているC0状態にある間、プロセッサは、性能状態又はP状態と呼ばれる別の状態に関連付けられる。動作電圧及び周波数にそれぞれ関連するP状態の様々なレベルが存在する。最高性能状態はP0であり、これは最大動作電力、電圧及び周波数に対応し得る。しかしながら、プロセッサは、より低い動作電力、電圧及び/又は周波数に対応するより低い性能状態、例えばP1又はP2に置かれてもよい。概して、プロセッサがより低いP状態に移動する場合に、プロセッサは以前よりも低い容量で動作する。
【0037】
いくつかの実施形態において、コア102の各々は、電圧プレーンを共有してもよく、この場合、各コアは、他のコアと同じ電圧で動作する。別の実施形態では、電圧プレーンが共有されず、したがって、各コアによって受け取られる供給電圧は、他のコアによって受け取られるそれぞれの供給電圧から独立して設定及び調整され得る。したがって、供給電圧の調整を含む動作点調整は、非共有電圧プレーンを有する実施形態において、他のコアとは独立して各コアに選択的に適用され得る。動作点を変更することが、1つ以上のコアの動作電圧を変更することを含む場合に、コントローラ104は、電圧調整器506に与えられるデジタル信号404の状態を変更し得る。信号404の変化に応じて、電圧調整器506は、コア102のうち影響を受けたコアに提供される供給電圧を調整し得る。
【0038】
図6は、本明細書で開示される実施形態による、例示的なマルチプロセッサコアシステム500の別の実施形態のブロック図である。この実施形態では、コア102の各々は、周波数センサ106と、コア状態制御モジュール304と、コア102の各々について電力測定を行うことができる電力モニタ600と、例えば分散電力管理(DPM)ユニット等のコアCacマネージャと、を含む。コントローラ104は、電流モニタモジュール110及び低減決定モジュール300に加えて、コア102の個々の電力モニタ600からコア電力測定値602を受信し、コア電力測定値602に基づいてコア電力閾値情報606を決定することができる電力モニタモジュール604を含む。コア電力閾値情報606は、コア102ごとに個々に及び別々に決定された電力閾値を含んでいてもよいし、全てのコア102に対応する集約電力閾値を含んでいてもよい。
【0039】
低減決定モジュール300は、電力モニタモジュール604から受信されたコア電力閾値情報606と、電流モニタモジュール110から受信された電流閾値情報112と、を使用して、コア102の組み合わされた低減動作204(周波数低減動作116及びIPC低減動作202を含み、いくつかの例では電圧低減動作404も含む)を決定する。
【0040】
図7は、本明細書で開示される実施形態による、例示的なマルチプロセッサコアシステムによって実行される例示的なプロセス700のフロー図である。プロセス700のステップ702において、システムの複数のコアに対応する電流使用情報が、例えばコアに結合された電流センサから受信される。ステップ704において、受信された電流使用情報に基づいて、コアの各々について閾値電流が決定される。いくつかの例では、全てのコアについて単一の閾値電流が決定され得るが、他の例では、各コアは、対応するコアの使用に基づいて柔軟に決定される別々に決定された閾値電流を有する。
【0041】
ステップ706において、周波数低減動作及びIPC低減動作が、閾値電流に基づいて各コアについて決定される。すなわち、各コアの周波数(クロックレート)が低減されるだけでなく、IPC(通常、実行されるように観測された命令の数を、命令の実行が観測された間のクロックサイクルの総数で割ることによって計算される)も、閾値電流に従って低減される。周波数及びIPCの低減は、ルックアップテーブル又は機械学習等の任意の適切な手段を使用して、例えば、いくつかのコアの動作がそれに応じて低減される場合にどれだけの電流が低減され得るかの事前知識に基づいて決定され得る。
【0042】
ステップ708において、各コアの動作は、ステップ706から決定された低減動作に基づいて調整される。上述したように、動作の調整は、コア内に実装され得る任意の適切な手段を使用して、又は、いくつか例を挙げればクロック発生器及び/又は電圧調整器等のように、コアと動作可能に結合された外部構成要素を使用して実施され得る。
【0043】
動作の調整は、コアの動作周波数及びコアのIPCを低減する1つ以上の手段を含み、いくつかの例では、コアによって引き出される電圧も低減する。周波数を低減する手段は、以下の1つ以上を含む。例えば、クロック伸張、クロック発生器周波数の低減、PLL周波数の低減、又は、分周器の使用である。IPCを低減する手段は、ディスパッチ動作制御ユニットを使用すること、又は、コアの帯域幅を低減することのうち1つ以上を含む。低減動作に従ってコア動作状態の低減を容易にするために、これらの手段の任意の組み合わせを一緒に実施することができる。
【0044】
図8は、一実施形態による閾値電流を決定するために、例示的なプロセス700のステップ704で行われる例示的なプロセスのフロー図である。ステップ800において、各コアに対応する電流使用値が、ある期間にわたって別々に且つ個々に監視される。ステップ802において、各コアに対応する電流使用値の1つ以上の特性が、監視された電流使用値に基づいて決定される。特性は、例えば、コアによって使用されている電流の値(アンペアで測定される)、又は、使用されている電流の値の変化率の急峻度(アンペア/ミリ秒で測定される)のうち何れかを含んでもよい。
【0045】
ステップ804において、閾値電流は、各コアの決定された特性(複数可)に基づいて各コアについて決定される。いくつかの例では、監視された電流使用の値が高すぎると見なされる場合、閾値電流は、決定された特性に従って、観察される電流の値を下回るように設定され得る。他の例では、使用されている電流の値が許容されるよりも速い速度で増加している場合、閾値電流は、決定された特性に従って、電流値が観察された増加率で閾値電流を超えないように決定され得る。
【0046】
図9は、一実施形態による閾値電流を決定するために、例示的なプロセス700のステップ704で行われる別の例示的なプロセスのフロー図である。ステップ900において、全てのコアについての総電流使用値が、ある期間にわたって監視される。ステップ902において、総電流変化の1つ以上の累積特性が、監視された総電流使用値に基づいて決定される。
【0047】
累積特性は、コアごとに個別に電流使用を監視するのではなく、コアの各々から累積又は集約された、全てのコアにおける電流使用値の変化を集合的に表す。累算は、各コアの電流使用値が累算されるデータバスを介して送信され得るように、全てのコアを相互接続するデータバスを使用して実行され得る。累積特性は、例えば、コアの総電流使用値(アンペアで測定される)又は総電流使用値の変化率の急峻度(アンペア/ミリ秒で測定される)のうち何れかを含んでもよい。ステップ904において、コアの決定された累積特性に基づいて、コアの累積閾値電流(複数可)が決定される。
【0048】
図8のフロー図の使用は、
図9のフロー図の使用と相互に排他的ではないことを理解されたい。すなわち、本明細書で開示される実施形態によるシステムは、組み合わされた全てのコアについての累積閾値電流に加えて、各コアの個々の閾値電流が決定されるように、両方のフロー図を同時に実施することができる。そのような場合、周波数低減動作及びIPC低減動作は、したがって、個別の閾値電流、並びに、別々に及び同時に決定される累積閾値電流に基づいて決定され得る。
【0049】
図10は、本明細書で開示される実施形態による例示的なマルチプロセッサコアシステムによって実行される例示的なプロセス1000のフロー図である。ステップ1002において、システムの複数のコアに対応する電流使用情報及び電力測定値が、例えば、上記の電流センサ及び電力モニタから受信される。ステップ1004において、閾値電流は、電流使用情報に基づいて各コアについて決定される。いくつかの例では、閾値電力も、対応する電力測定値に基づいて各コアについて決定される。
【0050】
ステップ1006において、各コアに対応する周波数低減動作及びIPC低減動作が、閾値電流及び電力測定値に基づいて、又は、閾値電流及び閾値電力に基づいて決定される。ステップ1008において、各コアの動作は、ステップ1006から決定された低減動作に基づいて調整される。
【0051】
プロセス1000において、いくつかの例では、プロセスにおいて使用される電力測定値は、監視されるコアに対応する電力使用の瞬時測定値であり得る。いくつかの例では、電力測定値は、所定の数のクロックサイクル等のような時間期間中に取られた複数の電力測定値の平均値であり得る。更に、いくつかの例では、低減動作の決定は、個々のコア測定値、又は、一緒に累積された全てのコアの集約測定値に基づき得る。累算は、各コアに対応する電力測定値が累算されるデータバスを通して送信され得るように、全てのコアを相互接続するデータバスを使用して実行され得る。
【0052】
本明細書で開示されるシステム及びプロセスを実装する顕著な利点は、とりわけ、プロセッサの使用効率の向上、コンピュータ性能の改善、システム内に実装される電圧調整器の保護、電流事象に対するより正確な応答、及び、システムシャットダウンのリスクの低減である。プロセッサ使用の効率は、例えば、動作周波数が減少した場合に、プログラムが各クロックサイクルでより多くの命令を実行しようとするのを防止し、それによって、プロセッサがIPCを増加させることによって減少した動作周波数の影響を無効にするのを防止することによって増加する。また、これは、電圧調整器によってサポートされ得ない過電流事象の可能性を低減することを容易にし、これは、次に、電圧調整器及びシステム全体がシャットダウンするリスクを低減する。
【0053】
特徴及び要素が特定の組み合わせで上述されているが、各特徴又は要素は、他の特徴及び要素を用いずに単独で、又は、他の特徴及び要素を用いて若しくは用いずに様々な組み合わせで使用することができる。提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアにおいて実装され得る。好適なプロセッサとしては、例として、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、及び/又は、状態マシンが挙げられる。そのようなプロセッサは、処理されたハードウェア記述言語(hardware description language、HDL)命令及びネットリスト等の他の中間データ(そのような命令は、コンピュータ可読媒体に記憶させることが可能である)の結果を使用して製造プロセスを構成することによって製造され得る。そのような処理の結果はマスクワークであってもよく、このマスクワークをその後の半導体製造プロセスにおいて使用して、実施形態の態様を実装するプロセッサを製造する。
【0054】
本明細書に提供される方法又はフロー図は、汎用コンピュータ又はプロセッサによる実施のために非一時的なコンピュータ可読記憶媒体に組み込まれるコンピュータプログラム、ソフトウェア又はファームウェアにおいて実装され得る。非一時的なコンピュータ可読記憶媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)等の光学媒体が挙げられる。
【0055】
様々な実施形態の上記の詳細な説明では、その一部を形成し、本発明が実施され得る特定の好ましい実施形態を例として示す添付図面を参照している。これらの実施形態は、当業者が本発明を実施することを可能にするために十分に詳細に説明されており、他の実施形態が利用されもよく、本発明の範囲から逸脱することなく論理的、機械的及び電気的変更が行われ得ることを理解されたい。当業者が本発明を実施することを可能にするために必要でない詳細を避けるために、説明は、当業者に知られている特定の情報を省略する場合がある。更に、本開示の教示を組み込む多くの他の様々な実施形態が、当業者によって容易に構築され得る。したがって、本発明は、本明細書に記載される特定の形態に限定されることを意図するものではなく、逆に、本発明の範囲内に合理的に含まれ得るそのような代替形態、修正形態及び均等物を包含することを意図するものである。したがって、上記の詳細な説明は、限定的な意味で解釈されるべきではなく、本発明の範囲は、添付の特許請求の範囲によってのみ定義される。本明細書において説明される実施形態及び実施例の上記の詳細な説明は、限定ではなく、例示及び説明のためにのみ提示されている。例えば、説明された動作は、任意の好適な順序又は方法で行われる。したがって、本発明は、上記で開示され、本明細書で特許請求される基本的な基礎原理の範囲に含まれるあらゆる修正、変形又は等価物を包含することが企図される。
【0056】
上記の詳細な説明及びそこで説明される実施例は、限定のためではなく、例示及び説明のためにのみ提示されている。
【手続補正書】
【提出日】2024-02-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
マルチプロセッサシステム内の複数の処理ユニットに供給される電流を制御するためのコントローラであって、
前記コントローラは、
前記複数の処理ユニットに対応する複数の電流使用情報を受信することと、
前記複数の処理ユニットの各々について閾値電流を決定することと、
前記閾値電流に基づいて、前記複数の処理ユニットの各々について周波数低減動作及びサイクル当たり命令(IPC)低減動作を決定することと、
決定された周波数低減動作及びIPC低減動作に基づいて、前記複数の処理ユニットの動作を調整することと、
を行うように構成されている、
コントローラ。
【請求項2】
前記閾値電流に基づいて前記複数の処理ユニットの各々の電圧低減動作を決定することと、
決定された周波数低減動作、IPC低減動作及び電圧低減動作に基づいて、前記複数の処理ユニットの動作を調整することと、
を行うように構成されている、
請求項1のコントローラ。
【請求項3】
前記複数の処理ユニットの各々における前記電流使用情報に基づいて、電流使用の特性を決定するように構成されており、
前記複数の処理ユニットの各々の周波数低減動作及びIPC低減動作は、決定された電流使用の特性に基づいている、
請求項1のコントローラ。
【請求項4】
前記電流使用の特性は、前記複数の処理ユニットごとに個別に決定され、前記閾値電流は、個別に決定された電流使用の特性に基づいて、前記複数の処理ユニットごとに決定される、
請求項3のコントローラ。
【請求項5】
前記複数の処理ユニットの全てに対応する電流使用の特性が集約され、前記閾値電流は、集約された電流使用の特性に基づいて、前記複数の処理ユニットに対して決定される、
請求項3のコントローラ。
【請求項6】
前記決定された電流使用の特性は、前記電流使用の測定値と、前記電流使用の増加率と、を含む、
請求項3のコントローラ。
【請求項7】
前記IPC低減動作は、ディスパッチ動作制御ユニット、又は、前記処理ユニットの帯域幅を低減することのうち1つ以上を実施することによって、前記複数の処理ユニットの各々のIPC値を低減するように構成されている、
請求項1のコントローラ。
【請求項8】
前記複数の処理ユニットの各々の電力測定値を受信するように構成されており、
前記複数の処理ユニットの各々についての前記周波数低減動作、前記IPC低減動作又は前記電圧低減動作のうち少なくとも1つは、前記閾値電流と受信した電力測定値とに基づいて決定される、
請求項2のコントローラ。
【請求項9】
コンピュータシステムであって、
クロック発生器と、
複数の処理ユニットと、
電圧調整器、前記クロック発生器及び前記複数の処理ユニットと動作可能に結合されたコントローラと、を備え、
前記コントローラは、
前記複数の処理ユニットに対応する複数の電流使用情報を受信することと、
前記複数の処理ユニットの各々について閾値電流を決定することと、
前記閾値電流に基づいて、前記クロック生成器の周波数低減動作、及び、前記複数の処理ユニットの各々のサイクル当たり命令(IPC)低減動作を決定することと、
決定された周波数低減動作及びIPC低減動作に基づいて、前記クロック発生器及び前記複数の処理ユニットの動作を調整することと、
によって、前記複数の処理ユニットに供給される電流を制御するように構成されている、
コンピュータシステム。
【請求項10】
前記複数の処理ユニット及び前記コントローラと動作可能に結合された電圧調整器を備え、
前記コントローラは、
前記閾値電流に基づいて前記複数の処理ユニットの各々の電圧低減動作を決定することと、
決定された電圧低減動作に基づいて、前記電圧調整器の動作を調整することと、
によって、前記複数の処理ユニットに供給される電流を制御するように構成されている、
請求項
9のシステム。
【請求項11】
前記コントローラは、
前記複数の処理ユニットの各々における前記電流使用情報に基づいて、電流使用の特性を決定することによって、前記複数の処理ユニットに供給される電流を制御するように構成されており、
前記複数の処理ユニットの各々の周波数低減動作及びIPC低減動作は、決定された電流使用の特性に基づいており、
前記決定された電流使用の特性は、前記電流使用の測定値と、前記電流使用の増加率と、を含む、
請求項
9のシステム。
【請求項12】
マルチプロセッサシステムにおいて複数の処理ユニットに供給される電流を制御するための方法であって、
前記複数の処理ユニットに対応する複数の電流使用情報を受信することと、
前記複数の処理ユニットの各々について閾値電流を決定することと、
前記閾値電流に基づいて、前記複数の処理ユニットの各々について周波数低減動作及びサイクル当たり命令(IPC)低減動作を決定することと、
決定された周波数低減動作及びIPC低減動作に基づいて、前記複数の処理ユニットの動作を調整することと、を含む、
方法。
【請求項13】
前記閾値電流に基づいて前記複数の処理ユニットの各々の電圧低減動作を決定することと、
決定された周波数低減動作、IPC低減動作及び電圧低減動作に基づいて、前記複数の処理ユニットの動作を調整することと、を含む、
請求項
12の方法。
【請求項14】
前記複数の処理ユニットの各々における前記電流使用情報に基づいて、電流使用の特性を決定することを含み、
前記複数の処理ユニットの各々の周波数低減動作及びIPC低減動作は、決定された電流使用の特性に基づいており、
(a)前記複数の処理ユニットの各々についての電流使用の特性が個別に決定され、個別に決定された特性に基づいて前記複数の処理ユニットごとに前記閾値電流が決定されるか、又は、(b)前記複数の処理ユニットの各々に対応する電流使用の特性が集約され、集約された電流使用の特性に基づいて、前記複数の処理ユニットに対して前記閾値電流が決定される、
請求項
12の方法。
【請求項15】
前記複数の処理ユニットの各々の電力測定値を受信することを含み、
前記複数の処理ユニットの各々についての前記周波数低減動作、前記IPC低減動作又は前記電圧低減動作のうち少なくとも1つは、前記閾値電流と受信した電力測定値とに基づいて決定される、
請求項
13の方法。
【国際調査報告】