JP5985708B2 - マルチコアプロセッサにおける電力消費の管理 - Google Patents

マルチコアプロセッサにおける電力消費の管理 Download PDF

Info

Publication number
JP5985708B2
JP5985708B2 JP2015118774A JP2015118774A JP5985708B2 JP 5985708 B2 JP5985708 B2 JP 5985708B2 JP 2015118774 A JP2015118774 A JP 2015118774A JP 2015118774 A JP2015118774 A JP 2015118774A JP 5985708 B2 JP5985708 B2 JP 5985708B2
Authority
JP
Japan
Prior art keywords
activity
value
throttling
logic
power
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015118774A
Other languages
English (en)
Other versions
JP2015165434A (ja
Inventor
フェッツァー,エリック
ジェイ. レイドリンガー,レイド
ジェイ. レイドリンガー,レイド
ソルティス,ドン
ジェイ. ボウヒル,ウィリアム
ジェイ. ボウヒル,ウィリアム
シュリマリ,サティシュ
シストラ,クリシュナカント
ロテム,エフライム
クマール,ラケシュ
ガーグ,ヴィヴェック
ナヴェー,アロン
シャルマ,ロケシュ
Original Assignee
インテル コーポレイション
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2015165434A publication Critical patent/JP2015165434A/ja
Application granted granted Critical
Publication of JP5985708B2 publication Critical patent/JP5985708B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Description

コンピュータシステムはプロセッサを有してよい。プロセッサはコアエリア及びアンコアエリアを含んでよい。コアエリアは、1又はそれ以上のプロセッシングコア、キャッシュ(例えば、L1及びL2)、ラインフィルバッファを含んでよく、アンコアエリアは、最終レベルキャッシュ、メモリコントローラ、及びそのような他のブロックを有してよい。プロセッサ電力管理技術は、コアエリアによって消費される電力を低減することを目指す。1つの従来アプローチでは、コアエリアにおける活動度が測定され、その活動度に対応する電力値(実際の電力消費値)が決定される。次いで、電圧及び/又は周波数動作点は、実際の電力消費値と許容電力値との間の比較に基づき変更されてよい。電力管理技術は、実際の電力消費値が許容電力に等しいか又はそれより高いことを検出した後、電圧及び/又は周波数動作点を下げてよい。しかし、特定の量の時間が、高い活動が検出される時点と、電圧及び/又は周波数動作点が実際に下げられる時点との間で生じる。それらの2つの時点の間において、コンピュータシステムは高電力状態及び高活動状態でも動作しうる。そのような状況を回避するよう、プロセッサ(又は部分)は、より低い電圧及び周波数(V/F)点でビニングされる必要がある。
他の従来アプローチでは、電圧及び/又は周波数動作点は、プロセッサ電力セービング(P)状態及びブーストモードに基づき選択されてよい。これは、実際の電力消費値に基づき電圧及び/又は周波数動作点を変調してよい。上記のアプローチは、周波数を通じて電力及び性能を増大又は低減させる電圧動作範囲に依存する。プロセッサの夫々の新たな発生に伴い、電圧範囲は、VCCmaxがゲート酸化物信頼性のために下げられるにつれて小さくされ、一方、VCCminはほとんど一定のままである。上記のアプローチは、事実上過電力状態に敏感である。先に論じられている電力管理技術は、プロセッサが高い温度又は電力状態に達した後にのみ反応する。結果として、実際に熱又は電力状態の変化に応答して電圧及び/又は周波数動作点を変更するのにかかる時間(すなわち、レイテンシー)は多大であり、このレイテンシーを低減する必要がある。
また、他方で、最新のプロセッサは多コア設計を目標とされ、それらのコアは共通のアンコアエリアへ結合される。プロセス技術における進歩に伴い、プロセッサ内のアンコアエリアはサイズがより大きくなっている。最新のプロセッサにおけるアンコアエリアは、多数の機能及び論理ブロック(例えば、メモリコントローラ、最終レベルキャッシュ、ホームエージェント、ルーティングエージェント、キャッシングエージェント、電力制御ユニット、インターフェース、及びそのような他のブロック)を含んでよく、通常は、コアエリアとは異なる電力プレーンにおいて動作してよい。望ましくは、それらのプロセッサは、例えば、消費される総エネルギを減らし及び/又はバッテリ寿命を改善するために、消費される遊休電力が低くなければならない。しかし、そのようなより大きいアンコアエリアによって消費される電力は、相当なレベルに達している(プロセッサによって消費される総電力の50%に近い。)。
アンコアエリアにおける電力消費管理は、今までよりも重要になっている。アンコアエリアにおける電力管理は、コアエリアのように明確なスリープ状態(例えば、C0乃至C6/C7)が存在しないので、更なる課題を提示する。特に、コアエリアがC3のようなディープスリープ状態又は他の何らかの同様の状態(パッケージCステートと呼ばれる。)にある場合、コアアーキテクチャ状態はアンコアエリアにおいてセーブされ、コア電圧はコアごとの電力ゲートトランジスタ(PGT)又は埋込電力ゲート(EPG)を用いて実質的に最小の値へ低減される。この条件下で、コアエリアによる遊休電力消費はほぼ零であり、アンコアエリアによって消費される遊休電力は多大である。また、アンコアエリアは、コアエリアと異なり、特定のレイテンシー内であらゆる外部リクエストに応えるようアクティブでなければならない。それらのプロセッサの多くは、複数のソケットへ結合された分散型メモリを備えたマルチソケット構造のために設計される。電圧及び周波数スケーリングのような電力最適化技術を用いることは、ピアソケット又はシステムエージェント応答レイテンシーへのスヌープ又はメモリアクセス応答に影響を及ぼしうる。よって、現在のプロセッサは、コアエリアがパッケージCステートにある間にアンコアエリアにおける電力を節約するために電圧/周波数スケーリング技術を使用しない。結果として、プロセッサパッケージ遊休電力は、サーマル設計点(TDP)電力の20〜40%の高さである。よって、プロセッサのコアエリア及びアンコアエリアの両方における電力管理技術の改善が必要とされる。
一実施形態に従ってコアエリアにおける活動に基づく電力節約技術及びアンコアエリアにおける負荷ラインIR降下に基づく電力節約技術を支持するプロセッサ100を表す。 一実施形態に従って総キャパシタンス(Ctotal)及び動的キャパシタンス(Cdyn)に関してモデル化されたプロセッサのコアエリアを表す。 一実施形態に従ってアプリケーションの作業負荷における変化を参照してCdynの変化のプロットを表す。 一実施形態に従ってコアエリアにおいて用いられる活動に基づく電力節約技術を描写するフローチャートを表す。 一実施形態に従ってコアエリアにおいて用いられる活動に基づく電力節約技術を実施するために使用されるブロック図を表す。 一実施形態に従ってコアエリアにおいて用いられる活動に基づく電力節約技術を実施するために使用される活動累積ロジックのブロック図を表す。 一実施形態に従ってコアエリアにおける瞬時活動に対する活動に基づく電力節約技術の影響を表すグラフである。 一実施形態に従ってコアエリアにおける平均活動に対する活動に基づく電力節約技術の影響を表すグラフである。 一実施形態に従ってアンコアエリアにおいて用いられる負荷ラインIR降下に基づく電力節約技術を表すフローチャートである。 (A)、(B)及び(C)は、一実施形態に従って負荷ラインIR降下に基づく電力節約技術を用いる間にアンコアエリアへ供給される電圧の低下を表す。 (a)、(b)及び(c)は、一実施形態に従ってアンコアエリアにおいて負荷ラインIR降下に基づく電力節約技術を用いることに応答して電流、電圧及び電力の変化を表すタイミング図である。 一実施形態に従ってコンピュータシステムブロック図を表す。
ここで記載される発明は、限定としてではなく一例として、添付の図面において表されている。説明の簡単及び明りょうさのために、図において表されている要素は必ずしも実寸通りではない。例えば、幾つかの要素の寸法は、明りょうさのために他の要素に対して誇張されていることがある。更に、必要に応じて、参照符号は、対応する又は同じ要素を示すために、図間で繰り返されている。
以下の記載は、弱く順序づけられたトランザクション(weakly ordered transactions)をポストする技術の実施形態を記載する。以下の記載で、ロジック実施、リソース区分化、若しくは共有化、又は重複実施、システムコンポーネントのタイプ及び相互関係、並びにロジック区分化若しくは統合選択のような多数の具体的詳細は、本発明のより完全な理解を提供するために記載されている。しかし、当業者に明らかなように、本発明はそのような具体的詳細によらずに実施されてよい。他の例では、制御構造、ゲートレベル回路、及び完全ソフトウェア命令シーケンスは、本発明を不明りょうにしないように詳細には示されていない。当業者は、本明細書の記載により、必要以上の経験によらずに適切な機能性を実施することができるであろう。
“一実施形態”、“実施形態”、“実施例”との明細書中の言及は、記載されている実施形態が特定の特徴、構造、又は特性を含んでよいが、全ての実施形態が必ずしもその特定の特徴、構造、又は特性を含むわけではないことを示す。更に、そのような表現は、必ずしも同じ実施形態に言及しているわけではない。更に、特定の特徴、構造、又は特性が実施形態に関連して記載される場合に、明示的に記載されていようとなかろうと、他の実施形態に関連してそのような特徴、構造、又は特性に作用することは当該技術における通常の知識の範囲内にあると考えられる。
本発明の実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はそれらのあらゆる組み合わせにおいて実施されてよい。本発明の実施形態はまた、機械により読取可能な媒体に記憶されている命令として実施されてもよい。そのような命令は、1又はそれ以上のプロセッサによって読み出されて実行されてよい。機械により読取可能な媒体は、機械(例えば、コンピュータ装置)によって読取可能な形において情報を記憶又は送信するためのあらゆるメカニズムを含んでよい。
例えば、機械により読取可能な媒体は、読出専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、電気、光、音響又は他の同様の信号を含んでよい。更に、ファームウェア、ソフトウェア、ルーチン、及び命令は、特定の動作を実行するとしてここで記載されてよい。しかし、当然に、そのような記載は単に便宜上であり、そのような動作は実際には、ファームウェア、ソフトウェア、ルーチン及び命令を実行するコンピュータ装置、プロセッサ、コントローラ、及び他の装置によりもたらされる。
プロセッサは、コンピュータシステムの重要な部分を形成する。今日、プロセッサは、複数のプロセッシングコア及びキャッシュを有するコアエリアと、大きなアンコアエリアとを有する。プロセッサによって消費される電力は、コンピュータシステムによって消費される電力全体に影響を有する。プロセッサによって消費される動的電力(P)は、P=Cdyn×(Vcc)×Fによって与えられてよい。一実施形態において、プロセッサのコアエリアによって消費される電力は、プロセッサのCdynを制御することによって制御されてよい。一実施形態において、Cdynは、Cdynがコアエリアによって処理されているアプリケーション(又はコード)に無関係に許容Cdyn値の範囲内にあるように、制御されてよい。一実施形態において、電力管理技術は、デジタル活動度(DAF)を測定し、アーキテクチャ及びデータ活動レベルをモニタし、それらの活動レベルに基づき命令を絞ることによって電力消費を制御することを有してよい。一実施形態において、そのようなアプローチは、きめの細かい電力管理技術と、コードが処理されることに反応しうるブーストモードと比較して、コードが処理されている間にコードを制御するブーストモードを生成する能力とを提供してよい。一実施形態において、ブーストモードは、より軽い作業負荷のためにより高い性能を可能にするようより高い周波数及びより高い電圧動作点でコア又はプロセッサを動作させることを呼んでよい。
一実施形態において、コアエリアによって消費される電力を制御するよう、プロセッサは、複数の活動センサ、活動累積ロジック、スロットリングロジック、及びスロットラを有してよい。一実施形態において、活動センサは、ブロック(例えば、プロセッシングコア内の命令フェッチ及びデコードユニット、実行ユニット、並びにそのような他のユニット)内で起こる活動を検知し、活動レベル(アーキテクチャ及びデータ活動値)を活動累積ロジックへ供給してよい。一実施形態において、活動センサは、活動センサがアーキテクチャ及びデータ活動事象を検出することを可能にするよう、プロセッシングコア内の夫々のブロックのインターフェース(又はポート)において設けられてよい。一実施形態において、活動累積ロジックは、活動センサから活動値を収集することに応答して、累積活動値を生成してよい。一実施形態において、活動累積ロジックは、累積活動値をスロットリングロジックへ供給してよい。一実施形態において、活動累積ロジック(AAL)は、重み付けロジック及びアグリゲータを有してよく、重み付けロジックは、活動センサによって供給される夫々の活動値へ重みを割り当ててよく、アグリゲータは、累積活動値を生成するよう活動値を累算(又は合計)してよい。
一実施形態において、スロットリングロジックは、累積活動値の受け取りに応答してCdyn_actualを決定してよい。一実施形態において、スロットリングロジックはまた、Cdyn_actualを電力スコア値へと較正してよい。一実施形態において、スロットリングロジックは、電力スコア値を、電力制御ユニットによって与えられる目標値(許容Cdyn値)と比較し、電力スコア値が目標値よりも大きい場合は第1の信号を、及び電力スコア値が目標値よりも小さい場合は第2の信号を生成してよい。一実施形態において、スロットリングロジックは、第1の信号に基づき第1の命令分散速度(又は値)を、及び第2の信号に基づき第2の命令分散値を決定してよい。一実施形態において、スロットリングロジックは、第1又は第2の命令分散値のいずれかをスロットラへ供給する。
一実施形態において、スロットラは、スロットリングロジックから受け取った信号に基づき、命令分散の絞り(すなわち、命令が実行ユニットへ供給される速度)を変更する(増減させる)か、又は前のスロットリングレベルを維持してよい。一実施形態において、スロットラは、第1の命令分散値の受け取りに応答して命令絞りを増大させてよく(すなわち、より少ない命令が実行ユニットへ供給されてよく)、スロットラは、第2の命令分散値の受け取りに応答して命令絞りを低減してよい(すなわち、より多くの命令が実行ユニットに達することが可能にされる)。よって、コアエリアにおける(すなわち、プロセッシングコア内の)電力消費は、プロセッシングコアにおける活動レベルに基づき命令分散を絞ることによって制御されてよい。活動レベル(すなわち、Cdyn_actual)に基づき命令を絞る結果として、スロットリングは、サードドループ(3rd droop)(1マイクロ秒)及びサーマル設計点(TDP)(1ミリ秒)のような異なる時間領域において実施されてよく、これは、ロングターム(すなわち、TDP)及びショートターム(すなわち、サードドループ)動作がプロセッサのコアエリアにおける電力消費を制御することを可能にする。
アンコアエリアのサイズは、今日のプロセッサにおいて刻々と増大しており、従って、プロセッサのアンコアエリアによって消費される電力も増大している。特に、一実施形態において、アンコアエリアによって消費される遊休電力(すなわち、コアエリアがパッケージCステートのようなディープパワーセービング状態にある間にアンコアエリアによって消費される電力)は、アンコアエリアへ供給される電圧(すなわち、参照電圧VR)を変化させることによって低減されてよい。一実施形態において、電圧レギュレータの出力は、負荷抵抗RLを介してアンコアエリアの供給ピンへ結合されてよい。アンコアエリアの供給ピンでの電圧(VP)は、IR降下(=ICC×RL)に等しい量だけVRより小さい。すなわち、VP=[VR−(ICC×RL)]。
一実施形態において、電圧の最小値(VPmin)は、アンコアエリアが部品の製造者によって特定される周波数値で動作する必要がある場合にアンコアエリアへ供給されるべきである。一実施形態において、VR=X及びICC=ICC_peakの場合に、VP_peak=(X−ICC_peak×RL)ボルト。一実施形態において、VP_peakは、設計不具合を回避するよう少なくともVPminに等しくなければならず、VP_peakをVPminの値を下回って下げることは不可能である。一実施形態において、コアエリアがパッケージCステートにある場合に、ICCの値はICC_idleに等しく、アンコアエリアの供給ピンでの電圧(VP_idle)は(X−ICC_idle×RL)に等しい。ICC_idleはICC_peakよりも小さいので、(ICC_idle×RL)の積は(ICC_peak×RL)の積よりも小さい。結果として、VP_idleはVP_peakよりも大きい。一実施形態において、コアエリアがパッケージCステートにある間はアンコアエリアの供給ピンで最低電圧(VPmin)を供給すれば十分である。
しかし、電流(ICC_idle)が負荷抵抗RLを流れている間に参照電圧VRを変更する技術がないときは、電圧VP_idleはVPmin(又はVP_peak)よりも大きい電圧であって、アンコアエリアへ供給される。ICC_idleが負荷抵抗RLを流れている場合でさえ、不必要に、(VP_idle−VP_peak)に等しい余分の電圧値がアンコアエリアへ供給される。結果として、アンコアエリアが遊休状態である間さえ、(VP_idle−VP_peak)に等しい電圧の二乗に比例する余分の電力がアンコアエリアによって消費される。一実施形態において、コアエリアがディープパッケージCステートにある間、参照電圧(VR)は、アンコアエリアの供給ピンで供給される電圧(VP_idle)を下げるよう変更されてよい。一実施形態において、参照電圧VRは、VP_idleが、VPmin(又はVP_peak)よりも僅かに高い値へ下がるように、VP_reducedへ下げられる。一実施形態において、(VP_idle−VP_peak)が零に傾く場合に、アンコアエリアによって消費される遊休電力は最小であってよい。一実施形態において、コアエリアがパッケージCステートにある間、参照電圧(VR)は、アンコアエリアによって消費される遊休電力を節約又は低減するよう変更されてよい。
プロセッサのコア及びアンコアにおいて消費される電力を低減する電力節約技術を支持するプロセッサ100の実施形態が、図1において表されている。一実施形態において、プロセッサ100は、コアエリア105及びアンコアエリア150を有してよい。一実施形態において、コア105及びアンコア150は、プロセッシングコア(pコア)110どうし間及びコアエリア105とアンコアエリア150との間の通信を向上させるようポイント・ツー・ポイント双方向バスを支持してよい。一実施形態において、コアエリア105は電力プレーン195を設けられてよい。電力プレーン195は電圧レギュレータ180を有してよい。電圧レギュレータ180の出力は、負荷抵抗RL102を介して供給ピン104へ結合されてよい。
一実施形態において、コアエリア105は、pコア110−A乃至110−Nのようなプロセッシングコアと、pコア110−A乃至110−Nに夫々関連付けられるコアごとのキャッシュ120A乃至120−Nと、pコア110−A乃至110−Nに夫々関連付けられるミッドレベルキャッシュ130A乃至130−Nとを有してよい。一実施形態において、pコア110は、命令キュー(IQ)106と、スロットラ107と、活動累積ロジック(AAL)108と、スロットリングロジック(TL)109と、命令フェッチユニット(IFU)112と、デコードユニット(DU)113と、リザベーションステーション(RS)114と、実行ユニット(EU)115と、浮動小数点実行ユニット(FPU)116と、リオーダバッファ(ROB)117と、リタイアメントユニット(RU)118とを含んでよい。一実施形態において、夫々のプロセッサコア110−B乃至110−Nは、プロセッシングコア110−Aにおいて表されているブロックと同じであるブロックを含んでよく、プロセッシングコア110−B乃至110−Nの夫々の内部詳細は、簡潔さのために示されない。一実施形態において、コアごとのキャッシュ120は、より速いアクセススピードを支持するメモリ技術を備えてよく、これは、例えば、命令及びデータフェッチのレイテンシーを低減することができる。
一実施形態において、活動センサ179は、ブロックIFU112、DU113、RS114、EU115、FPU116、ROB117及びRU118の中で起こる活動を検知し、それらの活動レベルを活動累積ロジック(AAL)108へ供給してよい。一実施形態において、活動センサ179は、活動センサ179がアーキテクチャ及びデータ活動値を検出することを可能にするよう、プロセッシングコア110−A内の各ブロックのデータ経路において設けられてよい。一実施形態において、コアエリア105によって消費される電力を制御するよう、AAL108は、複数の活動センサ179によって検知された活動レベルを収集し、累積活動値を生成してよい。一実施形態において、活動累積ロジック(AAL)108は、累積活動値をスロットリングロジック(TL)109へ供給してよい。
一実施形態において、TL109は、累積活動値を受け取ったことに応答してCdyn_actualを決定してよい。一実施形態において、TL109はまた、Cdyn_actualを電力スコア値へと較正してよい。一実施形態において、TL109は、電力スコア値を目標値(許容Cdyn値)と比較し、制御信号を生成してよい。制御信号は、命令の絞りレベル、すなわち命令分散速度を増大若しくは低減又は維持すべきかどうかを示してよい。一実施形態において、スロットラ107は、TL109から受け取った制御信号に基づき命令の絞り又は命令分散値を変化させるか(増減させるか)又は維持してよい。一実施形態において、スロットラ107は、制御信号の受信に応答して命令絞りを増大させるか(すなわち、より少ない命令が実行ユニットを供給されてよい。)又は命令絞りを低減させてよい(すなわち、より多くの数の命令が実行ユニットに到達することが可能にされる。)。
よって、コアエリア105における(すなわち、プロセッシングコア110内の)電力消費は、プロセッシングコア110における活動レベル(又はそのCdyn_actual)に基づき命令を絞ることによって、制御され得る。一実施形態において、命令の絞りは、活動レベル(又はCdyn)に直接基づき実行されてよく、電力消費を制御する能力はより速くなる。また、Cdynを設定値に制限することによって、コアにおける電力の消費の制御は、余分の電力消費条件の発生に反応することよりむしろ、積極的に実行されてよい。活動レベル(又はCdyn_actual)に基づき命令を絞る結果として、絞りは、サードドループ(1マイクロ秒)及びサーマル設計点(TDP)(1ミリ秒)のような異なる時間領域において実施されてよい。これは、ロングターム(すなわち、TDP)又はショートターム(すなわち、サードドループ)動作がプロセッサ100のコアエリア105における電力消費を制御することを可能にすることができる。一実施形態において、Cdyn及びそれとタイプアプリケーションとの関係が以下で図3において表されている。
コアエリア105における電力消費は上記の技術に基づき活動レベルを用いて制御又は管理されてよく、一方、アンコアエリア150における電力消費は、下記の電力管理技術を用いて管理されてよい。一実施形態において、アンコアエリア150は、メモリコントローラ155と、最終レベルキャッシュ(LLC)160と、ホームエージェント(HA)161と、キャッシングエージェント(CA)162と、ルーティングエージェント(RA)163と、グローバルクロック/PLL164と、インターフェース165と、電力管理ユニット168とを含んでよい。一実施形態において、参照電圧VRは、特に、コアエリア105がディープパッケージCステート(すなわち、C3、C6/C7のようなディープパワーセービング状態)にある間にアンコアエリア150によって消費される遊休電力を低減するよう変更されてよい。一実施形態において、アンコアエリア150は、電力プレーン197を設けられてよく、電力プレーン197は、電圧レギュレータ195を含んでよく、電圧レギュレータ195の出力は、負荷抵抗RL192を介してアンコアエリア150の供給ピン194へ結合されてよい。一実施形態において、コアエリア105がパッケージCステートにある間、インターフェース経路199における活動又はトランザクションは零であってよい。
コアエリア105がアクティブである間、電流のピーク量(ICC_peak)がRL192を流れ、アンコアエリア150の供給ピン194での電圧(VP_peak)はIR降下に等しい量(=ICC_peak×RL)だけ(電圧レギュレータ195の出力196での)参照電圧VRよりも低い。すなわち、VP_peak=[VR−(ICC_peak×RL)]。例えば、VR=1ボルト、RL192=1.4ミリオーム、及びICC193=ICC_peak=50アンペアの場合に、IR降下は(ICC×RL)=(50アンペア×1.4ミリオーム)=70ミリボルト(mv)に等しい。結果として、供給ピン194で供給される電圧(VP_peak)は[1ボルト−70mv]=0.93ボルトに等しい。一実施形態において、電圧の最小値VPmin(この例ではVP_peakに等しい。)は、アンコアエリア150が部品(すなわち、プロセッサ100)の製造者によって特定される周波数値(又はビン周波数)で動作すべき場合にアンコアエリア150へ供給されてよい。一実施形態において、設計不具合を回避するよう、基準電圧VRの値を指定値(上記の例では1ボルト)を下回って下げることは不可能である。
参照電圧VRを変更する技術がないとき、且つ、コアエリア105がパッケージCステートにある間、RL192を流れる電流(ICC193)はICC_idleに等しく、アンコアエリア150の供給ピン194での電圧(VP_idle)は[VR−(ICC_idle×RL)]に等しい。ICC_idleはICC_peakよりも小さいので、(ICC_idle×RL)の積は(ICC_peak×RL)の積よりも小さい。結果として、VP_idleはVP_peakよりも大きくなる。例えば、ICC_idleが20アンペアに等しく、VP=[1ボルト−(20アンペア×1.4ミリオーム)]=[1ボルト−28mv]=0.972ボルトであって、VP_peak(0.93ボルト)よりも大きい。結果として、(VP_idle−VP_peak)に等しい余分の電圧が不必要にアンコアエリア150へ供給される。結果として、遊休状態においてアンコアエリア150によって消費される電力(すなわち、power consumed_idle)はnormal_power_consumed_idleであってよく、これは(動的電力+漏れ電力)={[Cdyn×(VP_idle)×f]+[(VP_idle)の関数]}={[5nF×(0.972)×2.53GHz]+[5ワット]}=16.95ワットに等しい。
一実施形態において、コアエリア105がディープパワーセービング状態又はパッケージCステートにあるかどうかに基づき参照電圧VRを日和見的に変更することによって、コアエリア105の遊休状態の間に電力消費を節約する機会が与えられ得る。一実施形態において、コアエリア105へ供給される電圧は、電力ゲートトランジスタ(PGT)又は埋込電力ゲート(EPG)を用いて実質的に遮断されてよい。一実施形態において、コアエリア105がディープパワーセービング状態において動作している間、コアエリア105によってアンコアエリア150に投入される活動は実質的に低い。一実施形態において、コアエリア105がパッケージCステートにある間、アンコアエリア150の供給ピン194で最低電圧(VPmin=0.93ボルト)を供給すれば十分である。VP_idleを、VPminにより近い値であるVP_reducedへと下げるよう、電力管理ユニット168は、コアエリア105のパッケージCステート条件を検出してよく、デジタルフォーマットにおいて電圧値(VID_R)を生成してよい。一実施形態において、VID_R値は、電圧レギュレータ195へ供給されてよい。一実施形態において、電圧レギュレータ195は、電力管理ユニット168からVID_R値を受け取ったことに応答して、VR_peak(=1ボルト)よりも小さい参照電圧VRを生成してよい。
一実施形態において、供給ピン194で供給されるVP_idle(又はVP_normal)は、VR_peak値(又はVR_normal)からVR_reduced値へのVRの値の低減により下げられてよい。一実施形態において、参照電圧VRをVR_normal値からVR_reduced値へ下げることは、VP_idleからVP_reducedへのVPの低下を引き起こしてよい。一実施形態において、アンコアエリア150によって消費される電力は、VP_idleからVP_reducedへとVPの値を下げることに応答して同様に低減してよい。例えば、電圧レギュレータ195は、VIDを受け取ったことに応答して、VRをVR_normal(1ボルト)からVR_reduced(0.96ボルト)へ下げてよく、結果として、VPはVP_idleからVP_reduced[=0.96−(20アンペア×1.4ミリオーム)=(0.96−0.028)=0.932ボルト]へ低減してよい。一実施形態において、power_consumed_idleはReduced_power_consumed_idle(すなわち、P_idle_reduced=動的電力+漏れ電力={[Cdyn×(VP_reduced)×f]+[(VP_reduced)の関数]}={例えば、[5nf×(0.932)×2.53GHz]+[4ワット]}=14.998ワット)へ低減されてよい。結果として、[(normal_power_consumed_idle)−(Reduced_power_consumed_idle)=(16.95−14.998)=1.96ワット]に等しい電力が節約される。従って、一実施形態において、参照電圧VRを日和見的に変更することによって、アンコアエリア150によって消費される電力は、コアエリア105がパッケージCステートに入ることに応答してnormal_power_consumed_idleからReduced_power_consumed_idleへ低減されてよい。
一実施形態において、電力管理ユニット168は、コアエリア105のパッケージCステートから通常モードへの終了事象の開始を検出してよい。終了事象の開始の検出に応答して、電力管理ユニット168は、通常参照電圧に対応するVID_N値を生成してよく、VID_N値は電圧レギュレータ195へ供給されてよい。一実施形態において、VID_N値の受け取りに応答して、電圧レギュレータ195は、VR値をVR_reducedからVR_normal(又はVR_peak)値へ増大させてよい。結果として、アンコアエリア150の供給ピン194で供給される電圧は、VPminに又はそれを僅かに上回って維持されてよい。一実施形態において、VR_reducedからVR_normalへの参照電圧における変化と、VP_reducedからVP_idle(又はVP_normal)へのVPにおける変化とは、アンコアエリア150がコアエリア105によって引き起こされる如何なる活動も経験する前に、十分に終了レイテンシーの範囲内で起こってよい。よって、最低電圧VPminレベルは、プロセッサ100の性能に影響を及ぼすことなく維持されてよい。
コアエリア105及び対応する動的キャパシタンスCdynの決定の実施形態が図2において表されている。一実施形態において、一実施形態において、コア210は総キャパシタンスCTotal220によって表されてよく、動的キャパシタンスCdyn240は(CTotal220×活動度)に等しい。一実施形態において、Cdyn240は、処理されているアプリケーション(又はコード)に基づき変化してよい。例えば、電力ウィルス及びHPCのような幾つかのアプリケーションは、メインストリームアプリケーションのようなその他のアプリケーションと比較して、より高い活動レベルを示す。よって、Cdyn240はCTotal220の分数であってよい。
様々なアプリケーションタイプの作業負荷に対するCdynのグラフ300が図3において表されている。グラフ300はY軸310及びX軸320を含み、それらの軸は夫々、正規化されたCdynと、様々なアプリケーションタイプの作業負荷に基づき適用可能なアプリケーションの適切な数とを表す。一実施形態において、グラフ300は、メインストリームアプリケーション340、高性能コンピューティングHPCアプリケーション350及び電力ウィルス(power virus)アプリケーション360が後に続いて数が大きい遊休アプリケーション330のような様々なアプリケーションを含む。一実施形態において、プロセッサ100は、線345によって示された0.55のより低いアプリケーション比にスロットルを設定することによって、メインストリームアプリケーション340のために最適化されてよい。しかし、スロットルは、プロセッサ100がHPCアプリケーション350のために最適化されるべき場合には、線355によって示される0.633のより高いアプリケーション比に設定されてよい。一実施形態において、アプリケーション比は、電力ウィルス(PV)のような最も高い電力消費のアプリケーションによって消費される電力と比較される所与のアプリケーションのために消費される電力の比を表してよい。他の実施形態において、アプリケーション比はまた、実際のアプリケーションと電力ウィルスアプリケーションとの比を表してよい。
一実施形態において、電力ウィルスアプリケーション360が処理されるべき場合に、目標値(許容Cdyn)は、Cdyn_actualと目標値との比較が、HPCアプリケーション350又はメインストリームアプリケーション340を処理している間の命令の数と比べてより少ない命令が所与の時間期間において実行ユニットに到達することを可能にするよう、より締め付けられた(すなわち、より高い)絞り値を設定するように、設定されてよい。一実施形態において、上記の電力管理技術は、電力ウィルスアプリケーションがプロセッサ100によって処理されることを可能にするが、命令の絞りは、より少ない命令が処理されることを可能にするよう、より締め付けられた(より高い)絞り値を設定してよい。そのようなアプローチは、高電力アプリケーション(例えば、電力ウィルス)が全てのアプリケーションが処理され得る周波数を制限するところの条件を回避する。更に、高電力アプリケーションを絞ることによって、高電力アプリケーションを処理している間に引き込まれる電流は低減されて、最も低い動作電圧(及び従って周波数)がスロットルレベルによって設定されることを可能にする。また、そのようなアプローチは、ユーザが、機械特有のレジスタMSR111を設定することによって実時間においてHPCコード又はメインストリームコードのために最適化されるようプロセッサをモニタし設定することを可能にする。
上記の電力管理技術を実行している間のコアエリア105の動作を描写するフローチャートが図4において表されている。ブロック410で、活動センサ179又はデータパターンセンサ505は、IFU510、IQ520、及びEU550のような1又はそれ以上の機能ユニットのポート又はデータ経路で提供されるデータのパターン及びアーキテクチャ事象に基づき活動値/レベルを生成してよい。一実施形態において、活動値は、活動累積ロジック(AAL)570へ供給されてよい。
ブロック420で、活動累積ロジック(AAL)570は、データパターン(又は活動)センサから活動値を受け取り、累積活動値を生成してよい。一実施形態において、AAL570は、重み付けロジック610と、加算ユニット630、640、650及び660と、積算器670とを含んでよい。一実施形態において、重み付けロジック610は、重み付け要素610−A乃至610−Hを含んでよく、重み付け要素610−A乃至610−Dの夫々はIFU510、IQ520及びEU550のような機能ユニットからデータ入力605−A乃至605−Dを受け取ってよく、そうして受け取られたデータ入力605−A乃至605−Dは、作業が行われていることを示してよい。一実施形態において、機能ユニット510、520及び550から受け取られるデータ入力605−A乃至605−Dは毎サイクル更新されてよく、そのようなデータ入力605−A乃至605−Dの幅は128ビットより小さくてよい。一実施形態において、機能ユニットから受け取られるデータ入力605−A乃至605−Dは動作電力を表してよく、例えば、浮動小数点演算ユニットデジタル活動度(FPUDAF;Floating Point Unit Digital Activity Factor)、命令フェッチ及びリスティアデジタル活動度(IFRDAF;Instruction Fetch and Resteer Digital Activity Factor)、及びそのような他の同様の入力値を含んでよい。一実施形態において、データ入力605−A乃至605−Dは、重み付け入力を加算ユニット630へ供給する前に、予め決定されたロジックに基づき重み値を与えられてよい。一実施形態において、重み付け要素610−E乃至610−Hは、データが消費されることを示すレジスタファイルからのデータ入力605−E乃至605−Hを受け取ってよい。一実施形態において、データ入力605−E乃至605−Hは、128サイクルごとに更新されてよく、重み付け要素610−E乃至610−Hは、重み付け入力を加算ユニット640へ供給する前に、データ入力605−E乃至605−Hへ重み値を与えてよい。一実施形態において、加算ユニット650及び660並びに積算器670はともに、適切な幅(例えば、44ビット幅)の累積活動値を生成してよい。一実施形態において、加算ユニット650は、640からのデータ入力和を650からの活動入力和と足し合わせてよい。一実施形態において、積算器ラッチ670は、積算器加算器660を介して値をフィードバックしてよく、適切な幅の累積活動値を生成してよい。
ブロック430で、スロットリングロジック(TL)560は、AAL560によって供給される累積活動値を受け取り、動的キャパシタンス(Cdyn)値を生成してよい。一実施形態において、スロットリングロジック(TL)560は、CTotal及び累積活動値に基づきCdyn_actualを決定してよい。ブロック450で、スロットリングロジック(TL)560は、電力スコア値を表すようCdyn_actualを較正してよい。
ブロック460で、スロットリングロジック(TL)560は、Cdyn_actual値に基づき生成された電力スコア値を、電力管理ユニット(PMU)580によって供給される目標値と比較してよい。一実施形態において、PMU580によって供給される目標値は、電力スコア値として較正される許容Cdyn値を表してよい。一実施形態において、ユーザはHPCアプリケーションのためにプロセッサを最適化してよく、許容Cdyn値は0.633のアプリケーション比に等しい。この値は、電力スコア値へと較正されてよい。一実施形態において、活動レベル、累積活動値、Cdyn_actual、及び電力スコア値は、コアエリア105が電力ウィルスアプリケーション360を処理している場合に、より高い値を表してよい。
ブロック470で、TL560は、許容Cdynに対応する電力スコア値と、Cdyn_actualに対応する電力スコア値とを比較してよく、制御は、電力スコア値が目標値より小さい場合はブロック480へ、及びそうでない場合はブロック490へ移動する。一実施形態において、TL560は、電力スコア値が目標値より小さい場合は第1の信号を生成してよく、電力スコア値が目標値より大きい場合は第2の信号を生成してよい。上記の例では、TL560は、電力ウィルス(PV)アプリケーション360に対応する電力スコア値(すなわち、Cdyn_actualに較正される。)を、HPCアプリケーション350に対応する許容Cdynに設定され得る目標値と比較してよい。TL560は、電力スコア値が目標値よりも大きい場合に第2の信号を生成してよい。
ブロック480で、スロットラ530は、第1の信号の受信に応答して命令の絞りを維持又は低減してよい。一実施形態において、第1の信号は、Cdynエンベロープ又は電力スコアエンベロープを越えることなしにより多くの命令が処理され得ることを示し、スロットラ530は絞りを軽減する(すなわち、命令スループットを増大させる)。他方で、命令スループットが目標値よりも小さいが目標値に非常に近いことを第1の信号が示す場合は、スロットラ530は、絞りレベルを変えることなしに命令スループットを維持する。
ブロック490で、スロットラ530は、電力消費がTDPエンベロープ内にあることを確かにするよう命令の絞りを増大させてよい。一実施形態において、電力スコア値が目標値よりも大きい場合に、命令スループットは、絞りレベルを増大させて、より少ない命令が実行ユニットに到達することを可能にすることによって、低減される。上記の例では、スロットラ530は、命令スループットを低減するよう速やかに絞りレベルを増大させる。活動レベル(又はCdyn_actual)に基づき命令を絞る結果として、絞りは、サードドループ(1マイクロ秒)及びサーマル設計点(TDP)(1ミリ秒)のような異なる時間領域において実施されてよく、これは、ロングターム(すなわち、TDP)及びショートターム(すなわち、サードドループ)動作がプロセッサ100のコア105における電力消費を制御することを可能にする。
スロットルの有無による瞬時活動のプロットを表すグラフ700が図7において表されている。グラフ700は、アプリケーション比を表すY軸710と、時間(単位マイクロ秒)を表すX軸740とを含む。一実施形態において、小さい存続期間T1よりも短い存続期間に起こるバースト活動(瞬時活動)が何らかの絞りを有して可能にされる場合に、絞られることなく可能にされるそのようなバースト活動750がグラフ700において表されている。しかし、一実施形態において、時間存続期間T1を越えて起こる持続的活動が起こる場合に、上記の電力管理技術は命令を絞り始めてよい。グラフ700は、絞り活動770によって示されるように絞られ得るような持続的活動760を表す。持続的活動760は、絞られないままである場合に、時間存続期間T2で起こり得ることが観測されるが、一実施形態において、持続的活動760は、上記の電力管理技術を用いて絞られてよい。絞りの結果として、命令分散又は命令スループットは変更され得、持続的活動760は、より長い持続期間の時間T3にわたって広げられ、そのような広げられた活動は、絞り活動770と呼ばれてよい。
時間期間にわたって要求される平均活動及び認められる平均活動のプロットを表すグラフ800が図8において表されている。グラフ800は、アプリケーション比を表すY軸810と、時間(単位マイクロ秒)を表すX軸840とを含む。一実施形態において、要求される平均活動はプロット830によって表され、認められる平均活動はプロット820によって表される。時間期間T5にわたって要求される平均活動は、1のピークアプリケーション比を有してよい。しかし、一実施形態において、そのピークアプリケーション比は、上記の電力管理技術によって認められない。代わりに、より低いアプリケーション比(例えば、0.8)が許容され、そのような認められる絞られた平均活動820が起こり得る時間期間は、T5よりも広いT6である。
コアエリア105がパッケージCステートにある間にアンコアエリア150によって消費される遊休電力を低減するよう電力管理ユニットPMU168及び電圧レギュレータ195を含む電力管理経路の動作の実施形態は、図9において表されている。
ブロック910で、PMU168は、コアエリア105がパッケージCステートに入ったかどうかをチェックしてよく、制御は、コアエリア105がパッケージCステートに入った場合にブロック915へ移動する。PMU168は、コアエリア105がディープパワーセービング状態(又はパッケージCステート)に入るのを待ってよい。
ブロック915で、PMU168は、プロセッサ100のアンコアエリア150に給電する電圧レギュレータ195へ供給されるべき第1の電圧値(上記のFVID又はVID_R)を生成してよい。一実施形態において、FVID又はVID_Rはデジタル値(9ビット値)を表してよく、これに基づき電圧レギュレータ195は参照電圧VR(=VR_reduced)を生成してよい。ブロック920で、PMU168は、FVIDを電圧レギュレータ195へ供給してよい。
ブロック930で、電圧レギュレータ195は、FVID値に基づきVRを通常の参照電圧(VR_normal)から低減された参照電圧(VR_reduced)へ変化させてよい。一実施形態において、VRは、1ボルトのVR_normalから0.96ボルトのVR_reducedへ下げられてよい。
ブロック940で、VR_normalからVR_reducedへのVRの変更の結果として、供給ピン194で供給される電圧VPはVP_reducedへ変化してよい。一実施形態において、VPは、1ボルトから0.96ボルトへのVRの変化に応答して、上述されたように、0.972ボルトのVP_idleから0.932ボルトへ下げられてよい。
ブロック945で、VP_idleからVP_reducedへ(すなわち、0.972ボルトから0.932ボルトへ)のVPの変化の結果として、アンコアエリア150の供給ピン194は、VP_reduced(=0.932ボルト)のピン電圧を供給されてよい。アンコアエリア150へ供給される電圧値を下げる結果として、アンコアエリア150によって消費される遊休電力も(例えば、上述されたように、1.96ワットの電力節約をもたらすよう16.95ワットから14.988ワットへ)低下しうる。
ブロック950で、PMU168は、コア105のパッケージCステート終了事象をチェックしてよく、PMU168がパッケージCステート終了事象を検出する場合に、制御はブロック960へ移動する。一実施形態において、ブロック950においてPMU168によって実行される動作は、ブロック915乃至945における動作と並列且つ独立に実行されてよい。
ブロック960で、PMU168は、コアエリア105又はコアエリア105内のいずれかのプロセッシングコア110がパッケージCステートから脱してアクティブ状態に入る前に、ブロック965乃至990を実行してよい。ブロック965で、PMU168は、プロセッサ100のアンコアエリア150に給電する電圧レギュレータ195へ供給されるべき第2の電圧値(上記のSVID又はVID_N)を生成してよい。一実施形態において、SVID又はVID_Nはデジタル値(9ビット値)を表してよく、これに基づき電圧レギュレータ195は参照電圧VR(=VR_normal)を生成してよい。ブロック970で、PMU168は、SVID(又はVID_N)を電圧レギュレータ195へ供給してよい。
ブロック975で、電圧レギュレータ195は、SVID値に基づきVRをVR_reducedから通常の参照電圧(VR_normal)へ変化させてよい。一実施形態において、VRは、0.96ボルトのVR_reduced値から1ボルトのVR_normal値へ高められる。
ブロック980で、VR_reducedからVR_normalへのVRの変化の結果として、供給ピン194で供給される電圧VPはVP_idleへ変化してよい。一実施形態において、VPは、0.96ボルトから1ボルトへのVRの変化に応答して、上述されたように、VR_reduced(0.932ボルト)から0.972ボルトへ高められてよい。
ブロック990で、負荷抵抗RL192を流れる電流は、VP_reducedからVP_idleへ(0.932ボルトから0.972ボルトへ)のVPの変化に応答してICC_idle(20アンペア)からICC_peak(50アンペア)へ変化してよく、ICC_peakへの電流ICC_idleの変化に応答して、電圧VP(=0.93ボルト)がアンコアエリア150の供給ピン194で供給されてよい。
上記の電力管理技術の有無による通常条件及び遊休条件下での電圧レギュレータ195の動作の実施形態は、図10(A)、10(B)及び10(C)において表されている。図10(A)において、アンコアエリア150がピークで動作している間、参照電圧VRはVR_normalに等しく、ICC193はICC_peakに等しく、ピン電圧VPはVP_idleに等しい。一実施形態において、VP_idleは{[VR_normal−ICC_peak×RL192]}に等しい。
例えば、VR_normal=1ボルト、ICC_peak=50アンペア、及びRL192=1.4ミリオームの場合に、VP_idle=1−(50×1.5)=0.93ボルト。プロセッサ100がその部品について指定される周波数F(例えば、=2.53GHz)で動作すべき場合に、電圧の最小値(=0.93ボルト)がVP_idleとして供給されるべきである。
しかし、コアエリア105がパッケージCステートにある場合、図10(B)に示されるように、負荷抵抗RL192を流れる電流ICC193はICC_idle(例えば、=20アンペア)へ変化してよく、その場合にVP_idleは[VR_normal−(ICC_idle×RL192)]に等しい。すなわち、VP_idle=1−(20×1.4)=0.972ボルト。なお、0.93ボルトのVP_idleは、部品について指定される周波数Fでプロセッサ100を動作させるのに十分であり、(VP_idle−電圧の最小値=0.972−0.93=0.042ボルト)の余分の電圧がアンコアエリア150へ供給される。余分の電圧は、必要とされるよりも多い電圧の過剰消費をもたらしうる。結果として、電力消費P_normal=動的電力+漏れ電力=P_normal=Cdyn×V2×f+f(V4)=5nf×(0.972×0.972)×2.53GHz+5ワット=(11.95+5)=16.95ワット。
VPを下げるよう、VRは、図10(C)に示されるように、VR_normalからVR_reducedへ低減されるべきである。VR_uncoreを下げるよう、PMU168はFVID(ブロック915で記載)を生成し、このFVIDを電圧レギュレータ195へ供給してよい。FVIDを受け取ったことに応答して、電圧レギュレータ195は、VRをVR_reduced(例えば、=0.96V)へ下げてよい。VR_normalからVR_reducedへのVRの変化の結果として、VP_idleはVP_reduced(=0.96−(20×1.4)=0.96−0.028=0.932ボルト)になる。結果として、電力消費P_reduced=Cdyn×V2×f+f(V4)=5nf×(0.932×0.932)×2.53GHz+4ワット=(10.988+4)=14.988ワット。従って、節約される電力=P_normal−P_reduced=16.95−14.988=1.96ワット。
コアエリア105がディープパワーセービング状態(パッケージCステート)に入ることに応答したアンコアエリア150への影響を表すグラフ1100、1140及び1160が夫々図11(a)、11(b)及び11(c)において表されている。一実施形態において、図11(a)のグラフは、時間を表すX軸1101と、電流(ICC193)を表すY軸とを含む。一実施形態において、ICC193は、エントリ点1105の前の範囲によって示されるように、コアエリア105がパッケージCステートに入る前はICC_peak1106(例えば、=50アンペア)に等しい。エントリ点1105で、コアエリア105はパッケージCステートに入り始め、点1105でのエントリ事象に応答して、電流ICC193はICC_peakから点1108でのICC_idle(=20アンペア)へと変化し、ICC_idleレベルはICC_idle1107によって示される。一実施形態において、終了点1109で、ICC193はICC_idle1107からICC_peak1106へ変化し、コアエリア105の終了事象は時点1110で完了してよい。一実施形態において、点1108と点1105との間の時間差はエントリレイテンシーに相当し、点1109と点1110との間の時間差は終了レイテンシーに相当する。
図11(b)は、ICC_peak1106からICC_idle1107への及びICC_idle1107からICC_peak1106へ戻る電流の変化に応答する参照電圧VR及びピン電圧VPの変化を表す。一実施形態において、図11(b)のグラフは、時間を表すX軸1111と、電圧(VR及びVP)を表すY軸1112とを含む。エントリ点1105の前に、電圧参照VR及びVPは夫々VR_normal1113及びVP_idle(すなわち、VP_normal1115)に等しい。終了点1109の後で、電圧参照VR及びVPは夫々VR_normal1113及びVP_idle1115に等しい。点1105でのエントリ事象の発生に応答して、電圧レギュレータ195はFVID(又はVID_R)を受け取り、参照電圧VRはVR_normal1113(例えば、=1ボルト)からVR_reduced1114(例えば、=0.96ボルト)へ変化する。VR_normal1113からVR_reduced1114への参照電圧VRの変化に応答して、供給ピン194でのピン電圧VPは、VP_idle1115(例えば、=0.972ボルト)からVP_reduced1116(例えば、=0.932ボルト)へ低下する。一実施形態において、参照電圧VR及びピン電圧VPは夫々、時点1108と1109との間でVR_reduced1114及びVP_reduced1116のままであってよい。なお、時点1108と1109との間は、コアエリア105がディープパワーセービング状態を保つ時間存続期間に相当する。
図11(c)は、VP_idle1115からVP_reduced1116へのピン電圧VPの変化に応答して消費される電力の変化を表す。一実施形態において、図11(c)のグラフは、時間を表すX軸1121と、消費される電力を表すY軸1122とを含む。エントリ点1105の前に、Power Comsumed_idleはNormal Power Consumed1123(例えば、=16.95ワット)に等しい。終了点1109の後で、Power Comsumed_idleは再び前のレベルNormal Power Consumed1123に達してよい。一実施形態において、コアエリア105がパッケージCステートに入ることに応答して、アンコアエリア150によって消費される電力は、Reduced Power Consumed1124(例えば、=14.988ワット)へ下がる。一実施形態において、ピン電圧VPがVP_idle1115からVP_reduced1116へ下がると、アンコアエリア150によって消費される電力は同様に下がり、アンコアエリア150によって消費される電力は、供給ピン194で供給されるピン電圧VPの二乗に比例してよい。一実施形態において、節約される電力の量は(Power Comsumed_idle−Reduced Power Consumed)=(16.95−14.988)=1.96ワットに等しい。
図12を参照して、コンピュータシステム1200は、単一命令多重データ(SIMD;Signal Instruction Multiple Data)プロセッサを含む汎用プロセッサ1202と、グラフィクスプロセッサユニット(GPU)1205とを有してよい。プロセッサ1202は、一実施形態において、様々な他のタスクを実行することに加えてエンハンスメント動作を実行し、あるいは、エンハンスメント動作を提供する命令のシーケンスを機械読取可能な記憶媒体1225に記憶してよい。しかし、命令のシーケンスはまた、メモリ1120において又は他の何らかの適切な記憶媒体において記憶されてよい。
別個のグラフィクスプロセッサユニット1205が図12において表されているが、幾つかの実施形態では、グラフィクスプロセッサユニット1205は他の例としてエンハンスメント動作を実行するために使用されてよい。コンピュータシステム1200を動作させるプロセッサ1202は、ロジック1230へ結合される1又はそれ以上のプロセッサコアであってよい。ロジック1230は、コンピュータシステム1200にインターフェースを提供する1又はそれ以上のI/Oデバイス1260へ結合されてよい。ロジック1230は、例えば、一実施形態ではチップセットロジックであってよい。ロジック1230はメモリ1220へ結合される。メモリ1220は、光、磁気、又は半導体記憶装置を含む如何なるタイプの記憶装置であってもよい。グラフィクスプロセッサユニット1205は、フレームバッファを介してディスプレイ1240へ結合される。
一実施形態において、プロセッサ1202は、コアエリア1203及びアンコアエリア1204を含んでよい。一実施形態において、プロセッサ1202のコアエリア1203によって消費される電力は、プロセッサ1202のCdynを制御することによって制御されてよい。一実施形態において、Cdynは、Cdynがコアエリア1203によって処理されているアプリケーションに無関係に許容Cdyn値の範囲内にあるように、制御されてよい。一実施形態において、電力管理技術は、デジタル活動度(DAF;Digital Activity Factor)を測定すること、アーキテクチャ及びデータ活動レベルをモニタすること、及び前記活動レベルに基づき命令を絞ることによって電力消費を制御することを含んでよい。活動レベル(すなわち、Cdyn_actual)に基づき命令を絞る結果として、絞りは、サードドループ(1マイクロ秒)及びサーマル設計点(TDP)(1ミリ秒)のような異なる時間領域において実施されてよい。これは、ロングターム(すなわち、TDP)及びショートターム(すなわち、サードドループ)動作がプロセッサのコアエリアにおける電力消費を制御することを可能にする。一実施形態において、そのようなアプローチは、きめの細かい電力管理技術と、コードが処理されることに反応しうるブーストモードと比較して、コードが処理されている間にコードを制御するブーストモードを生成する能力とを提供してよい。
一実施形態において、アンコアエリア1204によって消費される遊休電力(すなわち、コアエリアがパッケージCステートのようなディープパワーセービング状態にある間にアンコアエリアによって消費される電力)は、アンコアエリア1204へ供給される電圧(すなわち、参照電圧VR)を変化させることによって低減されてよい。一実施形態において、電圧レギュレータ1206の出力は、負荷抵抗を介してアンコアエリア1204の供給ピンへ結合されてよい。参照電圧及び従ってアンコアエリア1204の供給ピンでのピン電圧(VP)は、コアエリア1203がディープパッケージCステートにある間、低減されてよい。一実施形態において、参照電圧VRは、VP_idleがVPmin(すなわち、VP_peak)よりも僅かに高い値へ低下するように、低減されてよい。結果として、参照電圧VRは、アンコアエリア1204によって消費される遊休電力を節約又は低減するよう変更され得る。
本発明の特定の特徴が、例となる実施形態を参照して記載されてきた。しかし、記載は、限定の意味において解釈されるべきではない。例となる実施形態の様々な変形、更には、当業者に明らかである本発明の他の実施形態は、本発明の技術的範囲内にあると見なされる。

Claims (16)

  1. 電圧レギュレータによって生成される調整された電圧を制御する電力管理ユニットを有するアンコアエリアと、
    複数の機能ブロック、複数のセンサ、活動累積ロジック、スロットリングロジック、及びスロットラを有し、前記複数のセンサは、前記複数の機能ブロックから複数の活動レベルを収集し、該複数の活動レベルを前記活動累積ロジックへ供給し、前記活動累積ロジックは、累積活動値を生成し、該累積活動値をスロットリングロジックへ供給し、前記スロットリングロジックは、前記累積活動値と目標値との比較に基づき適応されるスロットリングレベルを示す信号を生成し、前記スロットラは、前記スロットリングレベルに基づき実行ユニットへ供給される命令を絞る、コアエリアと
    を有し、
    前記スロットリングロジックは、前記累積活動値に基づき実際の動的キャパシタンス値を決定する、プロセッサ。
  2. 前記複数のセンサは、前記複数の機能ブロックのデータ活動及びアーキテクチャ活動を検知するよう前記複数の機能ブロックの1又はそれ以上のポートにおいて設けられる、
    請求項1に記載のプロセッサ。
  3. 前記スロットリングロジックは、前記実際の動的キャパシタンス値を電力スコア値へと較正する、
    請求項1に記載のプロセッサ。
  4. 前記スロットリングロジックは、前記電力スコア値を、前記電力管理ユニットによって供給される目標値と比較し、前記目標値は、許容される動的キャパシタンス値に基づき決定される、
    請求項3に記載のプロセッサ。
  5. 前記スロットリングロジックは、前記電力スコア値が前記目標値よりも大きい場合に前記スロットリングレベルを増大させることを示す信号を生成する、
    請求項4に記載のプロセッサ。
  6. 前記スロットラは、前記スロットリングレベルを増大させることを示す信号の受信に応答して命令スループットを低減させ、該命令スループットの低減は、前記実際の動的キャパシタンス値が前記許容される動的キャパシタンス値を下回ったままとする、
    請求項5に記載のプロセッサ。
  7. 前記スロットリングロジックは、前記電力スコア値が前記目標値よりも小さい場合に前記スロットリングレベルを低減させることを示す信号を生成する、
    請求項4に記載のプロセッサ。
  8. 前記スロットラは、前記スロットリングレベルを低減させることを示す信号の受信に応答して命令スループットを増大させる、
    請求項7に記載のプロセッサ。
  9. プロセッサのコアエリアにおける方法であって、
    複数のセンサにより複数の機能ブロックから複数の活動レベルを収集し、該複数の活動レベルを活動累積ロジックへ供給するステップと、
    前記活動累積ロジックにおいて前記複数の活動レベルに基づき累積活動値を生成するステップと、
    スロットリングロジックにより前記累積活動値の比較に基づき適応されるスロットリングレベルを示す信号を生成するステップと、
    前記信号によって与えられる前記スロットリングレベルに基づき実行ユニットへ供給される命令を絞るステップと、
    前記スロットリングロジックにおいて前記累積活動値に基づき実際の動的キャパシタンス値を決定するステップと
    を有し、
    前記プロセッサは、前記複数の機能ブロック、前記複数のセンサ、前記活動累積ロジック、前記スロットリングロジック、及びスロットラを有する前記コアエリアを有する、
    方法。
  10. 前記複数の機能ブロックのデータ活動及びアーキテクチャ活動を検知するよう前記複数の機能ブロックの1又はそれ以上のポートにおいて前記複数のセンサを設けるステップ
    を有する請求項9に記載の方法。
  11. 前記スロットリングロジックにおいて前記実際の動的キャパシタンス値を電力スコア値へと較正するステップ
    を有する請求項9に記載の方法。
  12. 前記スロットリングロジックにおいて前記電力スコア値を電力管理ユニットによって供給される目標値と比較するステップ
    を有し、
    前記目標値は、許容される動的キャパシタンス値に基づき決定される、
    請求項11に記載の方法。
  13. 前記スロットリングロジックにおいて、前記電力スコア値が前記目標値よりも大きい場合に前記スロットリングレベルを増大させることを示す信号を生成するステップ
    を有する請求項12に記載の方法。
  14. 前記スロットリングレベルを増大させることを示す信号の受信に応答して、前記スロットラにおいて、命令スループットを低減させるステップ
    を有し、
    前記命令スループットの低減は、前記実際の動的キャパシタンス値が前記許容される動的キャパシタンス値を下回ったままとする、
    請求項13に記載の方法。
  15. 前記スロットリングロジックにおいて、前記電力スコア値が前記目標値よりも小さい場合に前記スロットリングレベルを低減させることを示す信号を生成するステップ
    を有する請求項12に記載の方法。
  16. 前記スロットリングレベルを低減させることを示す信号の受信に応答して、前記スロットラにおいて、命令スループットを増大させるステップ
    を有する請求項15に記載の方法。
JP2015118774A 2011-03-21 2015-06-12 マルチコアプロセッサにおける電力消費の管理 Active JP5985708B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN773/DEL/2011 2011-03-21
IN773DE2011 2011-03-21
US13/422,476 US9069555B2 (en) 2011-03-21 2012-03-16 Managing power consumption in a multi-core processor
US13/422,476 2012-03-16

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014501164A Division JP2014514641A (ja) 2011-03-21 2012-03-19 マルチコアプロセッサにおける電力消費の管理

Publications (2)

Publication Number Publication Date
JP2015165434A JP2015165434A (ja) 2015-09-17
JP5985708B2 true JP5985708B2 (ja) 2016-09-06

Family

ID=54187870

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014501164A Pending JP2014514641A (ja) 2011-03-21 2012-03-19 マルチコアプロセッサにおける電力消費の管理
JP2015118774A Active JP5985708B2 (ja) 2011-03-21 2015-06-12 マルチコアプロセッサにおける電力消費の管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014501164A Pending JP2014514641A (ja) 2011-03-21 2012-03-19 マルチコアプロセッサにおける電力消費の管理

Country Status (8)

Country Link
US (2) US9069555B2 (ja)
JP (2) JP2014514641A (ja)
KR (2) KR101515318B1 (ja)
CN (1) CN103492976B (ja)
DE (1) DE112012001358B4 (ja)
GB (1) GB2503367B (ja)
TW (1) TWI628537B (ja)
WO (1) WO2012129147A2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US9594412B2 (en) * 2012-03-30 2017-03-14 Intel Corporation Controlling power gate circuitry based on dynamic capacitance of a circuit
WO2013162523A1 (en) * 2012-04-24 2013-10-31 Intel Corporation Dynamic interrupt reconfiguration for effective power management
US9218045B2 (en) * 2012-06-30 2015-12-22 Intel Corporation Operating processor element based on maximum sustainable dynamic capacitance associated with the processor
US9183144B2 (en) * 2012-12-14 2015-11-10 Intel Corporation Power gating a portion of a cache memory
US9075556B2 (en) 2012-12-21 2015-07-07 Intel Corporation Controlling configurable peak performance limits of a processor
US9335813B2 (en) * 2013-05-28 2016-05-10 Intel Corporation Method and system for run-time reallocation of leakage current and dynamic power supply current
US9250910B2 (en) * 2013-09-27 2016-02-02 Intel Corporation Current change mitigation policy for limiting voltage droop in graphics logic
KR20150050135A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
US9514715B2 (en) * 2013-12-23 2016-12-06 Intel Corporation Graphics voltage reduction for load line optimization
US10108454B2 (en) * 2014-03-21 2018-10-23 Intel Corporation Managing dynamic capacitance using code scheduling
US9874927B2 (en) * 2014-06-26 2018-01-23 Intel Corporation Method and apparatus for precision CPU maximum power detection
US9864551B2 (en) * 2014-08-29 2018-01-09 Hewlett Packard Enterprise Development Lp Determining throughput based on system busy level
US10339023B2 (en) 2014-09-25 2019-07-02 Intel Corporation Cache-aware adaptive thread scheduling and migration
US9477243B2 (en) * 2014-12-22 2016-10-25 Intel Corporation System maximum current protection
WO2016106070A1 (en) * 2014-12-23 2016-06-30 Intel Corporation Adjustment of voltage regulator based on power state
US9880601B2 (en) 2014-12-24 2018-01-30 Intel Corporation Method and apparatus to control a link power state
US10234930B2 (en) 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
US9910481B2 (en) * 2015-02-13 2018-03-06 Intel Corporation Performing power management in a multicore processor
US9760160B2 (en) * 2015-05-27 2017-09-12 Intel Corporation Controlling performance states of processing engines of a processor
KR20170000625A (ko) 2015-06-24 2017-01-03 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US9710041B2 (en) * 2015-07-29 2017-07-18 Intel Corporation Masking a power state of a core of a processor
US9952651B2 (en) 2015-07-31 2018-04-24 International Business Machines Corporation Deterministic current based frequency optimization of processor chip
US9568982B1 (en) 2015-07-31 2017-02-14 International Business Machines Corporation Management of core power state transition in a microprocessor
US9874917B2 (en) 2016-01-04 2018-01-23 International Business Machines Corporation Adaptive power capping in a chip
US9971390B1 (en) 2016-01-05 2018-05-15 Apple Inc. Processor energy consumption rate limiting system
US10048738B2 (en) * 2016-03-03 2018-08-14 Intel Corporation Hierarchical autonomous capacitance management
US10209726B2 (en) * 2016-06-10 2019-02-19 Microsoft Technology Licensing, Llc Secure input voltage adjustment in processing devices
US10268255B2 (en) * 2016-06-29 2019-04-23 Intel Corporation Management of system current constraints with current limits for individual engines
US10423206B2 (en) * 2016-08-31 2019-09-24 Intel Corporation Processor to pre-empt voltage ramps for exit latency reductions
US10234920B2 (en) 2016-08-31 2019-03-19 Intel Corporation Controlling current consumption of a processor based at least in part on platform capacitance
US10423209B2 (en) 2017-02-13 2019-09-24 Apple Inc. Systems and methods for coherent power management
KR20180098904A (ko) 2017-02-27 2018-09-05 삼성전자주식회사 컴퓨팅 장치 및 컴퓨팅 장치에 포함된 복수의 코어들에 전력을 할당하는 방법
US10290289B2 (en) 2017-04-01 2019-05-14 Intel Corporation Adaptive multibit bus for energy optimization
US10481014B2 (en) * 2017-06-15 2019-11-19 Micron Technology, Inc. Adaptive throttling
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
US10627883B2 (en) * 2018-02-28 2020-04-21 Advanced Micro Devices, Inc. Onboard monitoring of voltage levels and droop events
US10969858B2 (en) 2019-01-03 2021-04-06 Apple Inc. Operation processing controlled according to difference in current consumption
US11054882B2 (en) 2019-02-21 2021-07-06 Apple Inc. Externally-triggered throttling
US10921872B2 (en) * 2019-03-29 2021-02-16 Intel Corporation Performing soft throttling and hard throttling in a processor
US11079825B2 (en) * 2019-08-13 2021-08-03 Intel Corporation Compiler guided power allocation in computing devices
KR102372213B1 (ko) 2019-09-09 2022-03-08 한국화학연구원 히알루론산 또는 그의 염 및 폴리페놀 화합물을 포함하는 수분해성 필름
US11416056B2 (en) 2020-09-18 2022-08-16 Apple Inc. Power sense correction for power budget estimator
WO2022236782A1 (zh) * 2021-05-13 2022-11-17 华为技术有限公司 一种功耗调节方法及装置
US20230176645A1 (en) * 2021-12-06 2023-06-08 Mediatek Inc. Maximum current suppression for power management in a multi-core system

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163153A (en) 1989-06-12 1992-11-10 Grid Systems Corporation Low-power, standby mode computer
US5522087A (en) 1994-03-22 1996-05-28 Verifone Inc. System for selectively operating in different modes depending upon receiving signal from a host computer within a time window upon power up
US5590341A (en) 1994-09-30 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using ready delay
US5621250A (en) 1995-07-31 1997-04-15 Ford Motor Company Wake-up interface and method for awakening an automotive electronics module
US6029006A (en) * 1996-12-23 2000-02-22 Motorola, Inc. Data processor with circuit for regulating instruction throughput while powered and method of operation
US5931950A (en) 1997-06-17 1999-08-03 Pc-Tel, Inc. Wake-up-on-ring power conservation for host signal processing communication system
US6823516B1 (en) 1999-08-10 2004-11-23 Intel Corporation System and method for dynamically adjusting to CPU performance changes
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US7539885B2 (en) 2000-01-13 2009-05-26 Broadcom Corporation Method and apparatus for adaptive CPU power management
US7010708B2 (en) 2002-05-15 2006-03-07 Broadcom Corporation Method and apparatus for adaptive CPU power management
JP2001318742A (ja) 2000-05-08 2001-11-16 Mitsubishi Electric Corp コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
KR100361340B1 (ko) 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
US6792392B1 (en) 2000-06-30 2004-09-14 Intel Corporation Method and apparatus for configuring and collecting performance counter data
US6636976B1 (en) * 2000-06-30 2003-10-21 Intel Corporation Mechanism to control di/dt for a microprocessor
JP2002033457A (ja) 2000-07-18 2002-01-31 Hitachi Ltd 半導体集積回路装置
US6748546B1 (en) 2000-09-26 2004-06-08 Sun Microsystems, Inc. Method and apparatus for reducing power consumption
US6829713B2 (en) 2000-12-30 2004-12-07 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US7058824B2 (en) 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US20030061383A1 (en) 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US7111179B1 (en) 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US7281140B2 (en) 2001-12-28 2007-10-09 Intel Corporation Digital throttle for multiple operating points
US20030126477A1 (en) * 2001-12-28 2003-07-03 Zhang Kevin X. Method and apparatus for controlling a supply voltage to a processor
US7096145B2 (en) * 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
US6996728B2 (en) 2002-04-26 2006-02-07 Hewlett-Packard Development Company, L.P. Managing power consumption based on utilization statistics
US7051227B2 (en) 2002-09-30 2006-05-23 Intel Corporation Method and apparatus for reducing clock frequency during low workload periods
US6898689B2 (en) 2002-11-15 2005-05-24 Silicon Labs Cp, Inc. Paging scheme for a microcontroller for extending available register space
US7043649B2 (en) 2002-11-20 2006-05-09 Portalplayer, Inc. System clock power management for chips with multiple processing modules
US6971033B2 (en) 2003-01-10 2005-11-29 Broadcom Corporation Method and apparatus for improving bus master performance
EP1590726A2 (en) 2003-01-23 2005-11-02 University of Rochester Multiple clock domain microprocessor
JP4061492B2 (ja) 2003-02-10 2008-03-19 ソニー株式会社 情報処理装置および消費電力制御方法
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
TW591372B (en) * 2003-05-15 2004-06-11 High Tech Comp Corp Power control method of portable electronic device, portable electronic device and electronic system
US20050046400A1 (en) * 2003-05-21 2005-03-03 Efraim Rotem Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components
US7272732B2 (en) 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
TW200502847A (en) 2003-07-08 2005-01-16 Benq Corp Control device and method for reducing number of interrupts in a processor
US7146514B2 (en) 2003-07-23 2006-12-05 Intel Corporation Determining target operating frequencies for a multiprocessor system
US7272730B1 (en) 2003-07-31 2007-09-18 Hewlett-Packard Development Company, L.P. Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform
US7194643B2 (en) 2003-09-29 2007-03-20 Intel Corporation Apparatus and method for an energy efficient clustered micro-architecture
US7770034B2 (en) 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US20070156992A1 (en) 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US9001801B2 (en) 2004-09-07 2015-04-07 Broadcom Corporation Method and system for low power mode management for complex Bluetooth devices
US7941585B2 (en) 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
US7426648B2 (en) 2004-09-30 2008-09-16 Intel Corporation Global and pseudo power state management for multiple processing elements
US7434073B2 (en) 2004-11-29 2008-10-07 Intel Corporation Frequency and voltage scaling architecture
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US8041967B2 (en) 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
JP4555140B2 (ja) * 2005-04-22 2010-09-29 株式会社日立製作所 複合型計算機装置およびその管理方法
US7454632B2 (en) 2005-06-16 2008-11-18 Intel Corporation Reducing computing system power through idle synchronization
US7430673B2 (en) 2005-06-30 2008-09-30 Intel Corporation Power management system for computing platform
US8301868B2 (en) 2005-09-23 2012-10-30 Intel Corporation System to profile and optimize user software in a managed run-time environment
US20070079294A1 (en) 2005-09-30 2007-04-05 Robert Knight Profiling using a user-level control mechanism
US20070106827A1 (en) 2005-11-08 2007-05-10 Boatright Bryan D Centralized interrupt controller
US7634678B2 (en) * 2006-02-07 2009-12-15 Omx Technology Ab Application software initiated speedup
US20070245163A1 (en) 2006-03-03 2007-10-18 Yung-Hsiang Lu Power management in computer operating systems
US7397703B2 (en) 2006-03-21 2008-07-08 Freescale Semiconductor, Inc. Non-volatile memory with controlled program/erase
US7437270B2 (en) 2006-03-30 2008-10-14 Intel Corporation Performance state management
US7752468B2 (en) 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US7529956B2 (en) 2006-07-17 2009-05-05 Microsoft Corporation Granular reduction in power consumption
US7930564B2 (en) 2006-07-31 2011-04-19 Intel Corporation System and method for controlling processor low power states
US7673160B2 (en) 2006-10-19 2010-03-02 International Business Machines Corporation System and method of power management for computer processor systems
US7949887B2 (en) 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US7793125B2 (en) * 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US7730340B2 (en) 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
TWI388974B (zh) * 2007-03-01 2013-03-11 Via Tech Inc 根據工作溫度的變化來動態改變功率損耗的微處理器及方法
US8510581B2 (en) 2007-03-26 2013-08-13 Freescale Semiconductor, Inc. Anticipation of power on of a mobile device
US7900069B2 (en) * 2007-03-29 2011-03-01 Intel Corporation Dynamic power reduction
JP2008257578A (ja) 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
US7870407B2 (en) * 2007-05-18 2011-01-11 Advanced Micro Devices, Inc. Dynamic processor power management device and method thereof
US7971074B2 (en) 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
US20090150696A1 (en) 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US7966506B2 (en) 2007-12-12 2011-06-21 Intel Corporation Saving power in a computer system
US8442697B2 (en) 2007-12-18 2013-05-14 Packet Digital Method and apparatus for on-demand power management
KR101459140B1 (ko) 2007-12-26 2014-11-07 엘지전자 주식회사 전원관리 제어 장치 및 방법
US7949889B2 (en) * 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
US8977790B2 (en) 2008-02-15 2015-03-10 Freescale Semiconductor, Inc. Peripheral module register access methods and apparatus
US8156362B2 (en) 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8028181B2 (en) 2008-09-19 2011-09-27 Intel Corporation Processor power consumption control and voltage drop via micro-architectural bandwidth throttling
US8386807B2 (en) 2008-09-30 2013-02-26 Intel Corporation Power management for processing unit
US8402290B2 (en) 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores
US8954977B2 (en) 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
US8219831B2 (en) * 2009-01-28 2012-07-10 Oracle America, Inc. Reducing temperature and power by instruction throttling at decode stage of processor pipeline in time constant duration steps
US8700943B2 (en) 2009-12-22 2014-04-15 Intel Corporation Controlling time stamp counter (TSC) offsets for mulitple cores and threads
US8356194B2 (en) * 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US8949637B2 (en) 2011-03-24 2015-02-03 Intel Corporation Obtaining power profile information with low overhead

Also Published As

Publication number Publication date
KR101515318B1 (ko) 2015-04-24
WO2012129147A2 (en) 2012-09-27
US9075614B2 (en) 2015-07-07
JP2014514641A (ja) 2014-06-19
KR101591811B1 (ko) 2016-02-05
CN103492976B (zh) 2017-11-07
TWI628537B (zh) 2018-07-01
US9069555B2 (en) 2015-06-30
US20120254643A1 (en) 2012-10-04
DE112012001358T5 (de) 2013-12-24
WO2012129147A3 (en) 2013-03-14
GB201316089D0 (en) 2013-10-23
KR20130124575A (ko) 2013-11-14
TW201303573A (zh) 2013-01-16
GB2503367A (en) 2013-12-25
DE112012001358B4 (de) 2016-08-18
GB2503367B (en) 2020-10-21
US20130232368A1 (en) 2013-09-05
KR20150016614A (ko) 2015-02-12
CN103492976A (zh) 2014-01-01
JP2015165434A (ja) 2015-09-17

Similar Documents

Publication Publication Date Title
JP5985708B2 (ja) マルチコアプロセッサにおける電力消費の管理
US8959369B2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
KR101703467B1 (ko) 액티브 프로세서에 기초한 동적 전압 및 주파수 관리
US8443209B2 (en) Throttling computational units according to performance sensitivity
US9250665B2 (en) GPU with dynamic performance adjustment
JP5437077B2 (ja) プロセッサと電力システムとを備えるシステム及びこれの動作方法
US8447994B2 (en) Altering performance of computational units heterogeneously according to performance sensitivity
US20090089543A1 (en) Integrated circuit performance improvement across a range of operating conditions and physical constraints
TWI748135B (zh) 用於多處理器的任務排程的方法及系統
US20190146567A1 (en) Processor throttling based on accumulated combined current measurements
US11922172B2 (en) Configurable reduced memory startup
AU2017247094A1 (en) Enhanced dynamic clock and voltage scaling (DCVS) scheme
US20230004185A1 (en) System and method for controllilng electrical current supply in a multi-processor core system via instruction per cycle reduction
US11960340B2 (en) Performance management during power supply voltage droop
KR101863578B1 (ko) 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법
US20220206850A1 (en) Method and apparatus for providing non-compute unit power control in integrated circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150612

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160803

R150 Certificate of patent or registration of utility model

Ref document number: 5985708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250