JP6648140B2 - システム最大電流保護 - Google Patents

システム最大電流保護 Download PDF

Info

Publication number
JP6648140B2
JP6648140B2 JP2017533314A JP2017533314A JP6648140B2 JP 6648140 B2 JP6648140 B2 JP 6648140B2 JP 2017533314 A JP2017533314 A JP 2017533314A JP 2017533314 A JP2017533314 A JP 2017533314A JP 6648140 B2 JP6648140 B2 JP 6648140B2
Authority
JP
Japan
Prior art keywords
domains
domain
current
power
frequency
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
JP2017533314A
Other languages
English (en)
Other versions
JP2018505470A (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 JP2018505470A publication Critical patent/JP2018505470A/ja
Application granted granted Critical
Publication of JP6648140B2 publication Critical patent/JP6648140B2/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/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05FSYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
    • G05F1/00Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
    • G05F1/10Regulating voltage or current
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K7/00Modulating pulses with a continuously-variable modulating signal
    • H03K7/08Duration or width modulation ; Duty cycle modulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • 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

Description

本発明の実施形態は、電力管理の分野に関し、より具体的には、本発明の実施形態は、デバイス(例えば、システム・オン・チップ(SOC))に関して予期される電流がそのデバイスの電流内にあるかを決定することに関する。
高性能SoCは、一連の電力供給ネットワーク(power delivery network;PDN)の制約を受ける。1つのそのような制約は、小さいバッテリと、SoC上で実行されるプロセスからの高電力消費の短期バーストによってストレスが掛かってそれらバッテリが故障する可能性があることである。SoCによって消費されている瞬時電力が設定された制限を超えることができるとすると、その瞬時電力は電源及びバッテリに重大な影響を与え得る。また、この制限を超えることは、“ブルースクリーン”にさせたり、又は過電流保護をトリガーしてシステムをシャットダウンさせたりしてしまい得るI*R電圧降下を生じさせ得る。故に、瞬時電流はシステムに大きな制限を課し得る。
これらのPDN制約を補うために、数多くの電力管理技術が使用され又は開発されている。電力制限を超えた後に使用できる事後的技術が存在する。これらは、電力制限1(PL1)、電力制限2(PL2)、及び電力制限3(PL3)を含む。PL1は、システムが過熱することなく耐えることができる長期的なCPU電力制限である。PL2は、より高いクロックへの一時的な逸脱(例えば、プログラムをロードしている間の応答性を向上させるために、より速いクロック周波数への迅速なトリップ)に使用される短期的なバースト制限である。PL3は、チップ上で使用される動的な電圧及び周波数のスケーリング技術である。PL2が秒単位で測定される一方で、PL3の制限は、瞬時的な電力使用が装置のバッテリを損傷することを防止するために、ミリ秒単位で監視される。これらの技術はどちらも、電力測定を行うことを必要とし、これらの電力測定に応答して、PL2及びPL3の双方がSoCの周波数を低下させる。しかしながら、これらの技術は、電力測定を必要とするため、SoCの瞬時電力が高く上昇するときに、それに応答してそれを抑制するには遅すぎる。
他の1つの事後的アプローチでは、プラットフォームレベルのインタフェースが、瞬時電力制限を超えた時を監視し、該プラットフォームから中央演算処理ユニット(CPU)に信号を送信することで、その動作を抑えて電流を瞬時制限未満に持ち込むようにしている。
更なる他の1つの事後的アプローチでは、電圧レギュレータのドメインごとに電流の計算を行って、電流が最大値(制限)を上回っているかを見ている。しかしながら、このアプローチは、複数の電圧レギュレータ(VR)ドメインには使用されず、故に、パッケージレベルでの電力供給問題には適していない。何故なら、各VRドメイン内で電力を制限することは、ドメインの性能における望ましくなく低下と、より高い制限でのコストの増大とを生じさせ得るからである。しかしながら、これらの技術は性質的に事後的なものであるため、瞬時電流が高くなり過ぎて、より安全なレベルに戻される前に損傷を生じさせてしまうことを、防ぐことができない。
本発明は、以下に与えられる詳細な説明から、及び添付の本発明の様々な実施形態の図面から、より完全に理解されることになるが、これらは、単に説明及び理解のためのものであり、発明を特定の実施形態に限定するように解釈されるべきでない。
集積回路(IC)の一実施形態のブロック図である。 システム状態遷移を実行するプロセスの一実施形態のフロー図である。 各ドメインについて予想電流を計算することに関する一実施形態のフロー図である。 電力比較に基づいてシステム状態遷移を実行すべきか決定するプロセスの他の一実施形態のフロー図である。 全てのドメインについての電力を合計するプロセスの一実施形態のフロー図である。 ドメインごとの電力計算を実行するプロセスの一実施形態のフロー図である。 プラットフォーム電力計算を実行するプロセスの一実施形態のフロー図である。 2つ以上のコアを有し得るプロセッサのブロック図である。 本発明の一実施形態に従ったSoCのブロック図である。
以下の説明においては、本発明のより完全なる説明を提供するために、数多くの詳細事項が説明される。しかしながら、当業者に明らかになるように、本発明はこれらの具体的詳細事項を用いずに実施されてもよい。また、本明細書を曖昧にしないよう、周知の構造及び装置については、詳細にではなく、ブロック図の形態で示す。
集積回路(IC)の電力を制限する方法及び装置が開示される。ICは、システム・オン・チップ(SoC)、プロセッサ、等々とし得る。電力制限処理は、予防的計算を実行し、トータルのIC瞬時電力を電力制限未満に維持する。
より具体的には、ICに関する新たな状態(例えば、新たな動作点)への移行を行う前に、先を見越して電力計算が行われる。新たな状態への移行する要求が為されるとき、各ドメイン(例えば、電圧レギュレータ(VR)ドメイン)についての予想電流が計算され、それにその新たな状態に関する目標電圧が乗算されて、その新たな状態にあるときのドメインについての予想電力を表す総和が生成される。一実施形態において、各ドメインについての予想電流は、リーク、動的(dynamic)キャパシタンス(Cdyn)に対する最大電力、新たな状態で使用される目標周波数に基づいて計算される。様々なドメインについての予想電力値の全てが足し合わされて、総予想電力が生成され、それが電力制限と比較される。総予想電力が制限よりも大きい場合、新たな状態(例えば、新たな動作点)の総電力が電力制限未満となるよう、これらのドメインのうちの1つ以上の周波数が低減される。
図1は、集積回路(IC)の一実施形態のブロック図である。図1を参照するに、集積回路は幾つかのドメインを含んでいる。例えば、命令アーキテクチャ(instruction architecture;IA)ドメイン103(例えば、中央演算処理ユニット(CPU)ドメイン)、グラフィックスドメイン103、及び例えばドメイン103などの1つ以上のその他のドメインである。各ドメインが、1つ以上のコア(たとえば、プロセッサコア、実行コア)又は専用ロジックを有し得る。
一実施形態において、電力管理ユニット(Power Management Unit;PMU)マイクロコントローラ101が、ICの電力を制御及び管理する。一実施形態において、PMUマイクロコントローラ101は、ドメインの各々に関するクロックの周波数を指定する。PMUマイクロコントローラ101は、これらの周波数の各々を、ドメインの各々に関連付けられた位相ロックループ(PLL)に信号伝達する。例えば、PLLは、IAドメイン103にクロックを提供するPLL102と、グラフィックスドメイン103にクロックを提供するPLL102と、ドメイン103にクロックを提供するPLL102とを含む。一実施形態において、PMUマイクロコントローラ101はCPUの一部である。
一実施形態において、ドメイン103の各々は、PMUマイクロコントローラ101にドメイン固有のシステム状態要求を提供する。例えば、IAドメイン103、グラフィックスドメイン103及びその他のドメイン103は、PMUマイクロコントローラ101にドメイン固有のシステム状態要求104、104、104を提供する。これら固有のシステム状態要求は、特定のドメインが移行後になる状態を指定する。一実施形態において、システム状態要求は、周波数と、スリープ状態又は実行状態のうちの少なくとも一方とを含む。なお、プロセッサコア及びプロセッサコアに関連するドメインのスリープ状態及び実行状態は、技術的によく知られたものである。
受信したドメインシステム状態要求に基づいて、PMUマイクロコントローラ101は、各ドメインについて、移行後にあることになるシステム状態に関する予想電流、及びそのシステム状態にあるドメインに関連する予想電力を計算する。換言すれば、システム状態のあらゆる変化前に、PMUマイクロコントローラ101は、新たな動作点における各ドメインについての予想電流を計算する。なお、各移行の後、一部のドメインは同じ又は異なるシステム状態にあり、故に、ドメインのうちの1つ以上についての予想電力計算結果は、それらの現在の電力使用量に等しいことがある。
PMUマイクロコントローラは、全てのドメインについての予想電力を合計し、その総和を電力制限と比較する。一実施形態において、この電力制限は瞬時電力制限である。一実施形態において、電力制限は、任意の外部エージェント(例えば、BIOS、内蔵コントローラなど)にて設定される。他の一実施形態において、電力制限は制御ソフトウェアによって設定される。そのような場合、制御ソフトウェアは、静的に、又は実行時に、の何れかで設定を行う。
総和が電力制限を超えない場合、PMUマイクロコントローラ101は何もせず、そのシステム状態への移行を許可する。総和が電力制限を超える場合、PMUマイクロコントローラ101は、移行によって生じる予想電力を低下させるための1つ以上のアクションを起こす。一実施形態において、総和が電力制限を超えるときにPMUマイクロコントローラ101によって実行されるアクションのうちの1つは、ドメインの各々について、そのシステム状態の周波数を低減させることである。そして、PMUマイクロコントローラ101は、低減された周波数を、そのドメイン用のクロックを生成するのに使用される対応するクロック発生器(例えば、PLL)に信号伝達する。斯くして、PMUマイクロコントローラ101は、ドメイン周波数制御を実行する。
一実施形態において、各ドメインについて、PMUマイクロコントローラ101は、それが要求した新たなシステム状態にあるときにドメインに対して存在すると予期されるアクティブ電流及び静(スタティック)電流の双方を計算する。一実施形態において、PMUマイクロコントローラ101は、動作している全てのコア(すなわち、アイドル状態又はその他のパワーダウン状態(例えば、ゲーティングされた状態)にはないコア)にわたっての、ワーストケースのCdynを合計することによって、アクティブ電流を計算する。ワーストケースのCdynは、ドメインの実行状態に従って変化する。PMUマイクロコントローラ101は、ワーストケースのCdynに、要求されたシステム状態に関連付けられた周波数及び電圧を乗算する。一実施形態において、周波数は、要求システム状態情報の中で指定され、電圧は、PMUマイクロコントローラ101によって、周波数の関数として決定される。
PMUマイクロコントローラ101はまた、ドメインの静電流も決定する。一実施形態において、静電流は、要求された状態におけるドメインのその電圧及び現在の温度(温度センサを用いて測定される)における推定リークを取ることによって決定される。PMUマイクロコントローラ101は、ドメイン内のリークしている全てのコアにわたって推定リークを合計する。ゲーティングされたコアは計数されない。なお、ベースのコアリークは、内部ゲーティングに従って変化し得ることに留意されたい。
要求されたシステム状態にあるドメインについてのアクティブ電流及び静電流が決定されると、PMUマイクロコントローラ101は、アクティブ電流と静電流とを足し合わせる。これは、ドメインについてのワーストケースの電流を表す。
これに代わる一実施形態において、要求されたシステム状態にあるドメインについての電流は、前もって測定された電流に基づいてもよく、その場合、時間をかけて最大電流が特定される。そして、この最大電流が、ドメインについてのワーストケース電流として使用されることになる。
PMUマイクロコントローラ101は、ドメインごとのこのワーストケース電流に、要求されたシステム状態についての(指定された周波数での)その電圧を乗算して、そのドメインについての計算されたワーストケース電力を得る。PMUマイクロコントローラ101は、ドメインの全てについて計算されたワーストケース電力を合計することで、全てのドメインによって要求されているシステム状態を考慮に入れた、ICについての計算されたワーストケース電力を得る。
PMUマイクロコントローラ101は、このトータルでの計算されたワーストケース(予想)電力を電力制限と比較する。計算された電力が電力制限を下回る場合、何のアクションも起こされず、ドメインの各々によって要求されたシステム状態への移行が行われる。計算された電力が電力限界を上回る場合、PMUマイクロコントローラ101は、例えば、ドメインが新たなシステム状態で使用することになる周波数を或る係数だけ低減するなど、1つ以上のアクションを起こす。一実施形態において、この係数は、電力制限と計算された電力との間の比、すなわち、(電力制限)/(計算されたワーストケース電力)である。
一実施形態において、PMUマイクロコントローラ101は、各ドメインの要求周波数をこの比だけ低減させる。すなわち、この低減は、この比を計算し、それを周波数の各々に乗算することによって行われる。一実施形態において、乗算の結果が、切りのいい数でない場合、低減された周波数に対して切り捨てが行われる。これは、新たなシステム状態又は動作点に関連する電力使用量が電力制限未満であることを確保すべきである。そうでない場合、このプロセスが再び繰り返される。
他の一実施形態において、この比はドメインのサブセット(部分集合)のみに適用される。この場合、予想電力を電力制限より下に持っていくために、1つ以上の追加の電力低減アクションを実行する必要があり得る。例えば、一実施形態において、SoCシステムエージェント(SA)ドメインにおける周波数は抑えられない。これらは、メモリクロックの周波数を含む。このような場合、補うために、例えば命令アーキテクチャ(IA)ドメインなどの他のドメインに対して追加の抑制を行わなければならない。更なる他の一実施形態において、各ドメインについての新たな周波数が別の方法で選択される。
図2Aは、システム状態遷移を実行するプロセスの一実施形態のフロー図である。このプロセスは、ハードウェア(回路、専用ロジック、等々)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシン上で実行されるものなど)、ファームウェア、又はこれら3つの組み合わせを有し得る処理ロジックによって実行される。
図2Aを参照するに、集積回路(IC)に関する新たな状態に移行するのに先立ち、処理ロジックは、IC内の複数のドメインについての予想電力の総和を、新たな状態における個々のドメイン周波数に基づいて複数のドメインの各々について予想電流を計算し、且つ、該予想電流に、新たな状態について複数のドメインの各々に関連付けられた電圧を乗算することによって計算する(処理ブロック201)。一実施形態において、各ドメインの予想電流を計算することは、電流リーク、目標周波数、及び動的キャパシタンス(Cdyn)に基づく。一実施形態において、新たな状態は、周波数と、各ドメインのスリープ状態及び実行状態のうちの1つ以上とを含む。一実施形態において、各ドメインについて予想電流を計算することは、各ドメインについてアクティブ電流及び静電流を計算し、次いでこれら2つを足し合わせることを有する。
図2Bは、各ドメインについて予想電流を計算することに関する一実施形態のフロー図である。このプロセスは、ハードウェア(回路、専用ロジック、等々)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシン上で実行されるものなど)、ファームウェア、又はこれら3つの組み合わせを有し得る処理ロジックによって実行される。図2Bを参照するに、このプロセスは、ドメインについてアクティブ電流を計算することを含んでおり、これは、起動状態にあるドメイン内の各コアについてのワーストケースのCdynを合計し、且つワーストケースのCdynに、ドメインについての周波数及び関連付けられた電圧を乗算することを含む(ブロック211)。一実施形態において、関連付けられた電圧は、要求される周波数の関数である。
このプロセスの一部として、処理ロジックはまた、ドメイン内の各コアについてのリーク電流を合計することによって、静電流を計算する(処理ブロック212)。これらは、アイドル状態又はパワーダウン状態(例えば、パワーゲーティングされた状態)にあるのではなくて起動状態にあるコアである。一実施形態において、リーク電流は、コア(ドメイン)の電圧及び温度における推定リーク電流である。
図2Aを再び参照するに、ドメインについての予想電力の総和を計算した後、処理ロジックは、総和を電力制限と比較する(処理ブロック202)。次に、処理ロジックは、ドメインについての予想電力の総和が電力制限よりも大きいかを検査する(処理ブロック210)。総和が電力制限よりも大きい場合、処理ロジックは処理ブロック203に移行し、そこで処理ロジックは、ICの総瞬時電力を電力制限未満に維持するように、複数のドメイン内の少なくとも1つのドメイン(例えば、2つ以上のドメイン、全てのドメイン)に関連付けられた周波数を低下させ、そして、プロセスが処理ブロック201に移行し、このプロセスが繰り返される。一実施形態において、複数のドメイン内の各ドメインに関連付けられた個々のドメイン周波数を低下させることは、ドメインについての予想ワーストケース電力の合計と電力制限との間の比を計算し、そして、複数のドメイン内の各ドメインに関連付けられた個々のドメイン周波数を、少なくともこの比だけ低下させることを有する。
一実施形態において、総和が電力制限よりも大きい場合、処理ロジックはまた、総和が電力制限よりも大きいことを指し示す通知を送信する。一実施形態において、この通知はソフトウェア(例えば、オペレーティングシステム、BIOSなど)に送られる。一実施形態において、この通知は、IC上のメモリ(例えば、機械状態レジスタ(MSR)、メモリマップ入力/出力(MMIO)レジスタ)内のステータスビットをセットすることによって行われる。他の一実施形態において、この通知は、割り込みの使用を通じて行われる。
処理ブロック210を再び参照するに、ドメインについての予想電力の総和が電力制限よりも小さい場合(及び(1つ以上の)ドメインについて選択された1つ以上の周波数が低減された後)、プロセスは処理ブロック204に移行し、そこで処理ロジックは、各ドメインで使用すべき周波数を指定する新たな周波数値を、それらのドメインに関連付けられたクロック発生器(PLL)に送信する。
ドメインについての予想電力の総和が電力制限よりも小さい場合、処理ロジックは、新たな状態への移行を許可する(処理ブロック205)。
図3は、システム状態遷移を実行すべきか決定するプロセスの一実施形態のフロー図である。このプロセスは、ハードウェア(回路、専用ロジック、等々)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシン上で実行されるものなど)、ファームウェア、又はこれら3つの組み合わせを有し得る処理ロジックによって実行される。一実施形態において、このプロセスは、デバイス(例えば、SoC、プロセッサなど)内の電力管理ユニットによって実行される。
図3を参照するに、処理ロジックは、新たなシステム状態に関連する電力301(ドメインについての予想電力の総和)が、プラットフォームについての電力制限に関連する電力制限302より大きいかを検査する(処理ブロック310)。大きくない場合、処理ロジックは処理ブロック340に移行し、そこで処理ロジックは新たなシステム状態への移行を実行する。しかしながら、新たなシステム状態に関連する電力301が電力制限302よりも大きい場合、プロセッサは処理ブロック320に移行し、そこで処理ロジックは周波数を低減させる。一実施形態において、この低減は、比を計算し、それを、ドメインの各々によって要求されている周波数の各々に乗算することによって行われる。一実施形態において、この比は、電力制限をドメインの総予想電力で割ったものである。新たなシステム状態に関して要求される周波数の各々にこの比が乗算されて、新たなシステム状態で使用されることになる周波数が生成される。一実施形態において、新たに計算された周波数値の必要な丸めが、これらの値を切り捨てることによって実行される。
周波数を低下させた後、処理ロジックは、新たな動作点を計算し(処理ブロック330)、そして処理ブロック310に移行してこのプロセスを繰り返す。
図4は、全てのドメインについての電力を合計するプロセスの一実施形態のフロー図である。このプロセスは、ハードウェア(回路、専用ロジック、等々)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシン上で実行されるものなど)、ファームウェア、又はこれら3つの組み合わせを有し得る処理ロジックによって実行される。一実施形態において、このプロセスは、デバイス(例えば、SoC、プロセッサなど)内の電力管理ユニットによって実行される。
図4を参照するに、移行後のドメインの新たな状態における予想電力に基づくドメインごとの電力計算が、例えばIAドメイン401、グラフィックスドメイン402、SAドメイン403、及びその他のドメイン404などのドメインの各々について実行される。ここで説明されるように、図4には4つのドメインのみが示されているが、デバイスは、それらに関して別々のドメインごとの電力計算が実行されるいっそう多数又は少数のドメインを有し得る。
ドメインの各々についての予想電力計算結果が、合計ロジック405によって合計されて、計算された電力が生成される。計算された電力410は、システムが新たなシステム状態に移行することができるかを判定するためのPMUロジックへの入力である。
図5は、ドメインごとの電力計算を実行するプロセスの一実施形態のフロー図である。このプロセスは、ハードウェア(回路、専用ロジック、等々)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシン上で実行されるものなど)、ファームウェア、又はこれら3つの組み合わせを有し得る処理ロジックによって実行される。一実施形態において、このプロセスは、デバイス(例えば、SoC、プロセッサなど)内の電力管理ユニットによって実行される。
現在のドメインについて電流及び電圧を計算するロジック510が、周波数入力501をシステム状態入力502とともに受信する。周波数501は、新たなシステム状態にあるときにドメインが使用を要求する周波数を表す。コア状態入力が、ドメイン内の異なるコアの新たなシステム状態を表す。図示のように、コア0−Nについての状態入力が存在する。なお、一部のドメインが1つのコアのみを有する一方で、他のドメインが2つ以上のコアを有していてもよい。マルチコアドメインの場合、全てのコアが同じ周波数でクロックされているが、これは、ここに説明される教示に関して必要とされるものではない。
ドメイン電流計算器510がロジック520に周波数501を送り、ロジック520が、周波数501に基づいて、新たな状態に関連付けられる電圧503を生成する。一実施形態において、周波数−電圧カーブを使用して、各周波数に一致する電圧を割り当てる。一実施形態において、ロジック520は、それに提供される各周波数に関連付けて特定の電圧を指定するテーブルを含む。ロジック510は、これらの入力を用いて、新たな状態に関連する予想電流を導出する。ロジック510は、予想電流504を電圧503とともに電力計算ユニット530に出力する。電力計算ユニット530は、予想電流504に電圧503を乗算して、ドメインが新たな状態にあるときのワーストケース電力を表す電力505を生成する。
図6は、プラットフォーム電力計算を実行するプロセスの一実施形態のフロー図である。このプロセスは、ハードウェア(回路、専用ロジック、等々)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシン上で実行されるものなど)、ファームウェア、又はこれら3つの組み合わせを有し得る処理ロジックによって実行される。一実施形態において、このプロセスは、デバイス(例えば、SoC、プロセッサなど)内の電力管理ユニットによって実行される。
処理ロジックが、構成変化を指し示すインジケーション601を受け取る。一実施形態において、インジケーション601はバッテリ放電状況に関係する。バッテリが放電するにつれてバッテリが持続できる電力引き出しが低くなり、バッテリが放電するにつれて電圧が低下する。突然の電力放電は突然の電圧低下が生じさせ得るものであり、バッテリが放電されると、電圧閾値を下回る前にバッテリが持続することができる電力排出が低くなる。これを回避するために、ソフトウェアがバッテリ放電に従って制限を設定し、上記インジケーションにおける変更をトリガーする。これは、バッテリ寿命を延ばすことを可能にする。
この構成変化インジケーション601に応答して、処理ロジックは、バッテリ充電状態並びに交流(AC)アダプタ若しくはその他の無制限電源の能力を読み取る(処理ブロック610)。この情報を用いて、処理ロジックは、そのバッテリ及びACアダプタを有するプラットフォームに関してこのシステムの最大電力能力(Psys_max)を計算する(処理ブロック620)。次に、処理ロジックは、プラットフォーム構成を取得し、プラットフォームの残りの部分(the rest of the platform)に関連する最大プラットフォーム電力を計算する(処理ブロック630)。プラットフォームの残りの部分の最大プラットフォーム電力は、計数されないドメインに関する電力に対応する。次いで、処理ロジックは、システムの計算された最大電力能力からプラットフォームの残りの部分に関する最大電力を差し引いた差として、SOC(又はIC)電力バジェット又は制限を設定する。換言すれば、PL4=Psys_max−PROPである。
図7は、本発明の実施形態に従った、2つ以上のコアを有し得る、集積メモリコントローラを有し得る、そして、集積グラフィックスを有し得るプロセッサ700のブロック図である。図7内の実線のボックスは、単一のコア702Aと、システムエージェント710と、一組の1つ以上のバスコントローラユニット716とを有するプロセッサ700を示し、必要に応じての破線のボックスの追加部分は、複数のコア702A−Nと、システムエージェント710内の一組の1つ以上の集積メモリコントローラユニット714と、専用ロジック708とを有する代替的なプロセッサ700を示す。
故に、プロセッサの様々な実装は、1)専用ロジック708が集積グラフィックス及び/又は科学(スループット)ロジック(これは1つ以上のコアを含み得る)であり、コア702A−Nが1つ以上の汎用コア(例えば、汎用インオーダー(in-order)コア、汎用アウトオブオーダー(out-of-order)コア、これら2つの組み合わせ)であるCPU、2)コア702A−Nが主としてグラフィックス及び/又は科学(スループット)を意図した多数の専用コアであるコプロセッサ、及び3)コア702A−Nが多数の汎用インオーダーコアであるコプロセッサを含み得る。故に、プロセッサ700は、汎用プロセッサ、コプロセッサ、又は、例えば、ネットワークプロセッサ若しくは通信プロセッサ、圧縮エンジン、グラフィックスプロセッサ、GPGPU(汎用グラフィックス処理ユニット)、高スループット多数集積コア(many integrated core;MIC)コプロセッサ(30以上のコアを含む)、埋込プロセッサ、又はこれらに類するものなどの、特殊用途のプロセッサとし得る。プロセッサ700は、1つ以上の基板の一部とすることができ、且つ/或いは、例えばBiCMOS、CMOS、又はNMOSなどの幾つもあるプロセス技術のうちの何れかを用いて1つ以上の基板上に実装され得る。
一実施形態において、上述のコアの各々は、別個のクロック発生器(例えば、PLL)および電圧レギュレータを有する異なる電力ドメインを表す。
一実施形態において、専用ロジック708の別の部分が、例えば上述のPMUなどの電力管理ユニット(PMU)を有する。
メモリ階層は、コア内の1つ以上のレベルのキャッシュと、一組又は1つ以上の共有キャッシュユニット706と、一組の集積メモリコントローラユニット714に結合された外部メモリ(図示せず)とを含む。一組の共有キャッシュユニット706は、例えばレベル2(L2)、レベル3(L3)、レベル4(L4)若しくはその他のレベルのキャッシュなどの1つ以上の中間レベルのキャッシュ、最終レベルのキャッシュ(LLC)、及び/又はこれらの組合せを含み得る。一実施形態において、リングベースのインターコネクトユニット712が、集積グラフィックスロジック708、一組の共有キャッシュユニット706、及びシステムエージェントユニット710/(1つ以上の)集積メモリコントローラユニット714を相互接続するが、他の実施形態は、これらのユニットを相互接続するために如何なる周知技術を用いてもよい。一実施形態において、1つ以上のキャッシュユニット706とコア702A−Nとの間にコヒーレンスが維持される。
一部の実施形態において、コア702A−Nのうちの1つ以上はマルチスレッド処理を行うことが可能である。システムエージェント710は、コア701A−Nを連携させて動作させるコンポーネントを含んでいる。システムエージェントユニット710は、例えば、電力制御ユニット(PCU)及び表示ユニットを含んでいてもよい。PCUはコア702A−N及び集積グラフィックスロジック708の電力状態を安定化させるのに必要なロジック及びコンポーネントであるか、それらを含むかし得る。表示ユニットは、1つ以上の外部接続されたディスプレイを駆動する。
コア702A−Nは、アーキテクチャ命令セットの観点で同種あるいは異種とし得る。すなわち、コア702A−Nのうちの2つ以上は同じ命令セットを実行することができ、その他はその命令セットのうちのサブセットのみ又は異なる命令セットのみを実行することができてもよい。
図8は、本発明の一実施形態に従ったSoC800のブロック図である。図7においてと同様の要素は、似通った参照符号を有している。また、破線のボックスは、より先端的なSoCにおけるオプション機能である。図8において、(1つ以上の)インターコネクトユニット802が、一組の1つ以上のコア202A−Nと(1つ以上の)共有キャッシュユニット706とを含むアプリケーションプロセッサ810;システムエージェントユニット710;(1つ以上の)バスコントローラユニット716;(1つ以上の)集積メモリコントローラユニット714;集積グラフィックスロジックと、画像プロセッサと、オーディオプロセッサと、ビデオプロセッサとを含み得る一組若しくは1つ以上のコプロセッサ820;スタティックランダムアクセスメモリ(SRAM)ユニット830;ダイレクトメモリアクセス(DMA)ユニット832;及び1つ以上の外部ディスプレイを結合するための表示ユニット840;に結合されている。一実施形態において、(1つ以上の)コプロセッサ820は、例えば、ネットワークプロセッサ若しくは通信プロセッサ、圧縮エンジン、GPGPU、高スループットMICプロセッサ、埋込プロセッサ、又はこれらに類するものなどの、特殊用途のプロセッサを含む。
第1の実施形態例において、方法は、集積回路(IC)に関する新たな状態に移行するのに先立ち、前記IC内の複数のドメインについての予想電力の総和を計算するステップであり、前記新たな状態における個々のドメイン周波数に基づいて、前記複数のドメインの各々について予想電流を計算し、且つ、該予想電流に、前記新たな状態について前記複数のドメインの各々に関連付けられた電圧を乗算することによって、前記総和を計算するステップと、前記総和を電力制限と比較するステップと、前記総和が前記電力制限よりも大きい場合に、前記ICの総瞬時電力を前記電力制限未満に維持するように、前記複数のドメイン内の少なくとも1つのドメインに関連付けられた前記個々のドメイン周波数を低下させるステップとを有する。
他の一実施形態例において、第1の実施形態例の事項はオプションで、前記複数のドメインの各々について予想電流を計算することは、電流リーク、目標周波数、及び動的キャパシタンス(Cdyn)に基づく、ことを含み得る。
他の一実施形態例において、第1の実施形態例の事項はオプションで、前記複数のドメインの各々について予想電流を計算することは、アクティブ電流及び静電流を計算し、該アクティブ電流及び静電流を加算することを有する、ことを含み得る。他の一実施形態例において、この実施形態例の事項はオプションで、前記アクティブ電流を計算することは、起動状態にある前記ドメイン内の各コアについてのワーストケースのCdynを合計し、且つ、前記ワーストケースのCdynに、前記ドメインについての前記周波数及び前記関連付けられた電圧を乗算することを有する、ことを含み得る。他の一実施形態例において、この実施形態例の事項はオプションで、前記関連付けられた電圧は、要求される前記周波数の関数である、ことを含み得る。
他の一実施形態例において、第1の実施形態例の事項はオプションで、前記静電流を計算することは、起動状態にある前記ドメイン内の各コアについてのリークを合計することを有する、ことを含み得る。他の一実施形態例において、この実施形態例の事項はオプションで、前記リークは、前記ドメインの前記電圧及び温度における推定リークである、ことを含み得る。
他の一実施形態例において、第1の実施形態例の事項はオプションで、前記複数のドメイン内の少なくとも1つのドメインに関連付けられた前記個々のドメイン周波数を低下させるステップは、前記電力の総和と前記電力制限との間の比を計算し、且つ、前記複数のドメイン内の各ドメインに関連付けられた前記個々のドメイン周波数を、少なくとも前記比だけ低下させることを有する、ことを含み得る。
他の一実施形態例において、第1の実施形態例の事項はオプションで、前記複数のドメインの各々で使用すべき周波数を指定する新たな周波数値を、前記複数のドメインの各々に関連付けられたクロック発生器(PLL)に送信するステップを含み得る。
他の一実施形態例において、第1の実施形態例の事項はオプションで、前記総和が前記電力制限よりも小さい場合に、前記ICを前記新たな状態に移行させることを含み得る。
他の一実施形態例において、第1の実施形態例の事項はオプションで、前記新たな状態は、前記複数のドメインの各々についてのスリープ状態及び実行状態のうちの1つ以上並びに周波数を含む、ことを含み得る。
他の一実施形態例において、第1の実施形態例の事項はオプションで、前記総和が前記電力制限よりも高いと決定したことに応答して通知を送信することを含み得る。
他の一実施形態例において、第1の実施形態例の事項はオプションで、存在する場合に交流アダプタ能力及びバッテリの充電状態のうちの一方以上に基づいて、利用可能な電力を決定し、前記ICについての最大電力能力を計算し、前記複数のドメインには含まれない前記ICの部分についての最大電力を計算し、且つ、前記ICについての前記最大電力能力と、前記複数のドメインには含まれない前記ICの前記部分についての前記最大電力との間の差として、前記電力制限を設定することによって、前記電力制限を決定することを含み得る。
第2の実施形態例において、集積回路(IC)は、複数のドメインと、前記複数のドメインに結合されたユニットであり、前記複数のドメイン内の各ドメインからの要求を受信することに応答して、新たな状態に移行するのに先立ち、前記複数のドメインについての予想電力の総和を、前記新たな状態における個々のドメイン周波数に基づいて前記複数のドメインの各々についての予想電流を計算し、且つ、該予想電流に、前記新たな状態について前記複数のドメインの各々に関連付けられた電圧を乗算することによって計算し、前記総和を電力制限と比較し、前記総和が前記電力制限よりも大きい場合に、当該ICの総瞬時電力を前記電力制限未満に維持するように、前記複数のドメイン内の少なくとも1つのドメインに関連付けられた前記個々のドメイン周波数を低下させるユニットとを有する。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記ユニットは、前記複数のドメインの各々についての予想電流を、電流リーク、目標周波数、及び動的キャパシタンス(Cdyn)に基づいて計算する、ことを含み得る。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記ユニットは、前記複数のドメインの各々についての予想電流を、アクティブ電流及び静電流を計算し、該アクティブ電流及び静電流を加算することによって計算する、ことを含み得る。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記ユニットは、前記アクティブ電流を、起動状態にある前記ドメイン内の各コアについてのワーストケースのCdynを合計し、且つ、前記ワーストケースのCdynに、前記ドメインについての前記周波数及び前記関連付けられた電圧を乗算することによって計算する、ことを含み得る。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記関連付けられた電圧は、要求される前記周波数の関数である、ことを含み得る。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記ユニットは、前記静電流を、起動状態(例えば、非パワーダウン状態)にある前記ドメイン内の各コアについてのリークを合計することによって計算する、ことを含み得る。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記リークは、前記ドメインの前記電圧及び温度における推定リークである、ことを含み得る。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記ユニットは、前記複数のドメイン内の少なくとも1つのドメインに関連付けられた前記個々のドメイン周波数を、前記電力の総和と前記電力制限との間の比を計算し、且つ、前記複数のドメイン内の各ドメインに関連付けられた前記個々のドメイン周波数を、少なくとも前記比だけ低下させることによって低下させる、ことを含み得る。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記ユニットは、前記複数のドメインの各々で使用すべき周波数を指定する新たな周波数値を、前記複数のドメインの各々に関連付けられたクロック発生器(PLL)に送信する、ことを含み得る。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記総和が前記電力制限よりも小さい場合に、前記ICが前記新たな状態に移行することを含み得る。
他の一実施形態例において、第2の実施形態例の事項はオプションで、前記新たな状態は、前記複数のドメインの各々についてのスリープ状態及び実行状態のうちの1つ以上並びに周波数を含む、ことを含み得る。
第3の実施形態例において、方法は、集積回路(IC)内の複数のドメインの各ドメインについての新たな周波数を、前記ICについての電力制限と、該各ドメインが入ることを要求する状態に関連するワーストケース電流の決定から導出されるワーストケース電力の計算結果との間の比較に基づいて生成するステップと、前記複数のドメインの各々に関連付けられたクロック発生器に、前記複数のドメインの各々での使用のために発生すべきクロックの前記新たな周波数を信号伝達するステップとを有する。
他の一実施形態例において、第3の実施形態例の事項はオプションで、前記ワーストケース電流の決定は、電流リーク、目標周波数、及び動的キャパシタンス(Cdyn)に基づいた、前記複数のドメインの各々についての予想電流の計算に基づく、ことを含み得る。
第4の実施形態例において、1つ以上の非一時的コンピュータ読み取り可能媒体を有する製造物は、命令を格納し、前記命令は、実行されるときに集積回路に、集積回路(IC)に関する新たな状態に移行するのに先立ち、前記IC内の複数のドメインについての予想電力の総和を、前記新たな状態における個々のドメイン周波数に基づいて、前記複数のドメインの各々について予想電流を計算し、且つ、該予想電流に、前記新たな状態について前記複数のドメインの各々に関連付けられた電圧を乗算することによって計算するステップと、前記総和を電力制限と比較するステップと、前記総和が前記電力制限よりも大きい場合に、前記ICの総瞬時電力を前記電力制限未満に維持するように、前記複数のドメイン内の少なくとも1つのドメインに関連付けられた前記個々のドメイン周波数を低下させるステップと、を有する方法を実行させる。
他の一実施形態例において、第4の実施形態例の事項はオプションで、前記複数のドメインの各々について予想電流を計算することは、電流リーク、目標周波数、及び動的キャパシタンス(Cdyn)に基づく、ことを含み得る。
ここに開示される機構の実施形態は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの実装手法の組合せにて実装され得る。本発明の実施形態は、少なくとも1つのプロセッサと、ストレージシステム(揮発性メモリと不揮発性のメモリ及び/又は記憶素子を含む)と、少なくとも1つの入力装置と、少なくとも1つの出力装置とを有するプログラム可能なシステム上で実行されるコンピュータプログラム又はプログラムコードとして実装され得る。
プログラムコードが入力命令に適用されて、ここに記載の機能が実行されて出力情報が生成され得る。出力情報は既知のように1つ以上の出力装置に与えられ得る。この適用の目的で、処理システムは、例えばデジタル信号プロセッサ(DSP)、マイクロコントローラ、特定用途向け集積回路(ASIC)、又はマイクロプロセッサなどのプロセッサを有する何らかのシステムを含んでいる。
プログラムコードは、処理システムとの伝達のため、ハイレベルの手続き型又はオブジェクト指向のプログラミング言語で実装され得る。プログラムコードはまた、必要に応じて、アセンブリ言語又は機械語で実装されてもよい。実際、ここに記載の機構は、範囲的に、如何なる特定のプログラミング言語にも限定されない。何れの場合も、その言語はコンパイルあるいはインタープリットされた言語であってもよい。
少なくとも1つの実施形態の1つ以上の態様は、機械読み取り可能媒体に格納され、プロセッサ内で様々なロジックを表す表現命令であって、機械によって読み出されるときに該機械にここに記載の技術を実行するロジックを作成させる表現命令によって実装され得る。そのような表現物は、“IPコア”として知られるものであり、有形の機械読み取り可能媒体に格納されて様々な顧客又は製造設備に供給され、実際にロジック又はプロセッサを作成する製造機械にロードされる。
そのような機械読み取り可能記憶媒体は、限定ではなく、機械又は装置によって製造あるいは形成される、非一過性の、有形構成の品目を含み得る。そのような品目は、例えばハードディスクなどの記憶媒体、フロッピーディスク(登録商標)、光ディスク(コンパクトディスク読み出し専用メモリ(CD−ROM)、書換可能コンパクトディスク(CD−RW))、磁気光ディスクを含むその他の種類のディスク、例えば読み出し専用メモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)やスタティックランダムアクセスメモリ(SRAM)のようなランダムアクセスメモリ(RAM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、フラッシュメモリ、電気的消去可能プログラム可能読み出し専用メモリ(EEPROM)などの半導体デバイス、相変化メモリ(PCM)、磁気カード若しくは光カード、又は電子的な命令を格納するのに適したその他の種類の媒体を含む。
従って、本発明の実施形態はまた、命令を格納した、あるいは、ここに記載の構成、回路、装置、プロセッサ及び/又はシステムの機能を規定する例えばハードウェア記述言語(HDL)などの設計データを格納した、非一過性の有形の機械読み取り可能媒体をも含む。このような実施形態はプログラムプロダクトとも呼ばれている。
上述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットについての処理のアルゴリズム及び記号表現に関して提示されている。これらのアルゴリズム的記述及び表現は、データ処理技術における当業者が自身の仕事の内容を他の当業者に最も効果的に伝えるために使用する手段である。アルゴリズムは、ここでは、また一般的に、所望の結果をもたらす首尾一貫した一連のステップであると考えられる。それらのステップは、物理量の物理的な操作を必要とするものである。通常、必ずしもそうではないが、それらの量は、格納され、伝送され、結合され、比較され、そしてその他の方法で操作されることが可能な電気的あるいは磁気的な信号の形態をとる。主に一般的用法という理由から、これらの信号をビット、値、エレメント、シンボル、文字、用語、数字、又はこれらに類するものとして参照することは、往々にして好都合であることがわかっている。
しかしながら、留意すべきことには、これら及び同様の用語は全て、適当な物理量に関連付けられるものであり、それらの量に付された簡便なラベルに過ぎない。特に断らない限り、以下の説明から明らかなように、記載全体を通して、例えば“処理する”、“計算する”、“演算する”、“決定する”、“表示する”又はこれらに類するものなどの用語を用いた説明は、コンピュータシステムのレジスタ及びメモリの内部で物理(電子)量として表されるデータを、コンピュータシステムメモリ若しくはレジスタ若しくはその他のそのような情報ストレージ、伝送装置、又は表示装置の内部で同様に物理量として表される他のデータへと、操作・変換するコンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を意味することが認識される。
本発明はまた、ここでの処理を実行する装置に関する。この装置は、要求される目的に合わせて特別に構築されてもよいし、コンピュータに記憶されるコンピュータプログラムによって選択的に起動あるいは再構成される汎用コンピュータを有していてもよい。そのようなコンピュータプログラムは、以下に限られないが例えば、フロッピーディスク(登録商標)、光ディスク、CD−ROM及び磁気光ディスクを含む何らかの種類のディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード若しくは光カード、又は、電子的な命令を格納するのに好適であり且つコンピュータシステムバスに結合された何らかの種類のメディアなどの、コンピュータ読み取り可能記憶媒体に格納され得る。
ここに提示されたアルゴリズム及びディスプレイは、如何なる特定のコンピュータ又はその他の装置にも本質的に関連付けられるものではない。様々な汎用システムが、ここでの教示に従ったプログラムとともに使用されてもよいし、より専用化された装置を構築して必要な方法ステップを実行することが都合がよいと判明することもある。多様なこれらシステムに必要な構造は、ここでの説明から見えてくるであろう。また、本発明は、特定のプログラミング言語を参照して説明されていない。認識されるように、ここに記載された発明の教示を実装することには、多様なプログラミング言語が使用され得る。
以上の説明を読んだ後に当業者には本発明の多数の改変及び変更が明らかになるであろうが、理解されるべきことには、例示によって図示して説明した如何なる特定の実施形態も、限定するものとして考えられることを意図したものではない。故に、様々な実施形態の細部についての言及は、請求項の範囲を限定することを意図しておらず、請求項それら自体のみが、発明に本質的なものであると考えられる特徴を記載するものである。

Claims (18)

  1. 集積回路(IC)に関する新たな状態に移行するのに先立ち、前記IC内の複数のドメインについての予想電力の総和を計算するステップであり、前記新たな状態における個々のドメイン周波数に基づいて、前記複数のドメインの各々について予想電流を計算し、且つ、該予想電流に、前記新たな状態について前記複数のドメインの各々に関連付けられた電圧を乗算することによって、前記総和を計算するステップと、
    前記総和を電力制限と比較するステップと、
    前記総和が前記電力制限よりも大きい場合に、前記総和と前記電力制限との間の比を計算し、且つ、前記複数のドメイン内の各ドメインに関連付けられた前記個々のドメイン周波数を、少なくとも前記比だけ低下させることによって、前記ICの総瞬時電力を前記電力制限未満に維持するように、前記複数のドメイン内の少なくとも1つのドメインに関連付けられた前記個々のドメイン周波数を低下させるステップと、
    を有する方法。
  2. 前記複数のドメインの各々について予想電流を計算することは、電流リーク、目標周波数、及び動的キャパシタンス(Cdyn)に基づく、請求項1に記載の方法。
  3. 前記複数のドメインの各々について予想電流を計算することは、アクティブ電流及び静電流を計算し、該アクティブ電流及び静電流を加算することを有する、請求項1に記載の方法。
  4. 前記アクティブ電流を計算することは、起動状態にある前記ドメイン内の各コアについてのワーストケースのCdynを合計し、且つ、前記ワーストケースのCdynに、前記ドメインについての前記ドメイン周波数及び前記関連付けられた電圧を乗算することを有する、請求項3に記載の方法。
  5. 前記静電流を計算することは、起動状態にある前記ドメイン内の各コアについてのリークを合計することを有する、請求項3に記載の方法。
  6. 前記リークは、前記ドメインの前記電圧及び温度における推定リークである、請求項5に記載の方法。
  7. 前記複数のドメインの各々で使用すべき周波数を指定する新たな周波数値を、前記複数のドメインの各々に関連付けられたクロック発生器に送信するステップ、を更に有する請求項1に記載の方法。
  8. 前記新たな状態は、前記複数のドメインの各々についてのスリープ状態及び実行状態のうちの1つ以上並びに周波数を含む、請求項1に記載の方法。
  9. 集積回路(IC)であって、
    複数のドメインと、
    前記複数のドメインに結合されたユニットであり、前記複数のドメイン内の各ドメインからの要求を受信することに応答して、
    新たな状態に移行するのに先立ち、前記複数のドメインについての予想電力の総和を、前記新たな状態における個々のドメイン周波数に基づいて前記複数のドメインの各々についての予想電流を計算し、且つ、該予想電流に、前記新たな状態について前記複数のドメインの各々に関連付けられた電圧を乗算することによって計算し、
    前記総和を電力制限と比較し、
    前記総和が前記電力制限よりも大きい場合に、前記総和と前記電力制限との間の比を計算し、且つ、前記複数のドメイン内の各ドメインに関連付けられた前記個々のドメイン周波数を、少なくとも前記比だけ低下させることによって、当該ICの総瞬時電力を前記電力制限未満に維持するように、前記複数のドメイン内の少なくとも1つのドメインに関連付けられた前記個々のドメイン周波数を低下させる
    ユニットと、
    を有する集積回路(IC)。
  10. 前記ユニットは、前記複数のドメインの各々についての予想電流を、電流リーク、目標周波数、及び動的キャパシタンス(Cdyn)に基づいて計算する、請求項に記載のIC
  11. 前記ユニットは、前記複数のドメインの各々についての予想電流を、アクティブ電流及び静電流を計算し、該アクティブ電流及び静電流を加算することによって計算する、請求項10に記載のIC
  12. 前記ユニットは、前記アクティブ電流を、起動状態にある前記ドメイン内の各コアについてのワーストケースのCdynを合計し、且つ、前記ワーストケースのCdynに、前記ドメインについての前記ドメイン周波数及び前記関連付けられた電圧を乗算することによって計算する、請求項11に記載のIC
  13. 前記ユニットは、前記静電流を、起動状態にある前記ドメイン内の各コアについてのリークを合計することによって計算する、請求項12に記載のIC
  14. 前記リークは、前記ドメインの前記電圧及び温度における推定リークである、請求項13に記載のIC
  15. 前記ユニットは、前記複数のドメインの各々で使用すべき周波数を指定する新たな周波数値を、前記複数のドメインの各々に関連付けられたクロック発生器に送信する、請求項に記載のIC
  16. 集積回路(IC)内の複数のドメインの各ドメインについての新たな周波数を、前記ICについての電力制限と、該各ドメインが入ることを要求する状態に関連するワーストケース電流の決定から導出されるワーストケース電力の計算結果との間の比較に基づいて生成するステップと、
    前記複数のドメインの各々に関連付けられたクロック発生器に、前記複数のドメインの各々での使用のために発生すべきクロックの前記新たな周波数を信号伝達するステップと、
    を有し、
    各ドメインについての前記新たな周波数を生成するステップは、前記ワーストケース電力の計算結果が前記電力制限よりも大きい場合に、前記ワーストケース電力の計算結果と前記電力制限との間の比を計算し、且つ、前記複数のドメイン内の各ドメインに関連付けられた個々のドメイン周波数を、少なくとも前記比だけ低下させることを含む、
    方法。
  17. 前記ワーストケース電流の決定は、電流リーク、目標周波数、及び動的キャパシタンス(Cdyn)に基づいた、前記複数のドメインの各々についての予想電流の計算に基づく、請求項16に記載の方法。
  18. 命令を有するコンピュータプログラムであって、前記命令は実行されるときに集積回路に、
    集積回路(IC)に関する新たな状態に移行するのに先立ち、前記IC内の複数のドメインについての予想電力の総和を、前記新たな状態における個々のドメイン周波数に基づいて、前記複数のドメインの各々について予想電流を計算し、且つ、該予想電流に、前記新たな状態について前記複数のドメインの各々に関連付けられた電圧を乗算することによって計算するステップであり、前記複数のドメインの各々について予想電流を計算することは、電流リーク、目標周波数、及び動的キャパシタンス(Cdyn)に基づく、ステップと、
    前記総和を電力制限と比較するステップと、
    前記総和が前記電力制限よりも大きい場合に、前記総和と前記電力制限との間の比を計算し、且つ、前記複数のドメイン内の各ドメインに関連付けられた前記個々のドメイン周波数を、少なくとも前記比だけ低下させることによって、前記ICの総瞬時電力を前記電力制限未満に維持するように、前記複数のドメイン内の少なくとも1つのドメインに関連付けられた前記個々のドメイン周波数を低下させるステップと、
    を有する方法を実行させる、コンピュータプログラム。
JP2017533314A 2014-12-22 2015-11-09 システム最大電流保護 Active JP6648140B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/579,794 2014-12-22
US14/579,794 US9477243B2 (en) 2014-12-22 2014-12-22 System maximum current protection
PCT/US2015/059762 WO2016105677A1 (en) 2014-12-22 2015-11-09 System maximum current protection

Publications (2)

Publication Number Publication Date
JP2018505470A JP2018505470A (ja) 2018-02-22
JP6648140B2 true JP6648140B2 (ja) 2020-02-14

Family

ID=56129276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017533314A Active JP6648140B2 (ja) 2014-12-22 2015-11-09 システム最大電流保護

Country Status (7)

Country Link
US (2) US9477243B2 (ja)
EP (1) EP3237995B1 (ja)
JP (1) JP6648140B2 (ja)
KR (1) KR102425341B1 (ja)
CN (1) CN107003685B (ja)
TW (1) TWI562075B (ja)
WO (1) WO2016105677A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477243B2 (en) * 2014-12-22 2016-10-25 Intel Corporation System maximum current protection
US10152112B2 (en) * 2015-06-10 2018-12-11 Sonics, Inc. Power manager with a power switch arbitrator
US10234920B2 (en) * 2016-08-31 2019-03-19 Intel Corporation Controlling current consumption of a processor based at least in part on platform capacitance
US20180113502A1 (en) * 2016-10-24 2018-04-26 Nvidia Corporation On-chip closed loop dynamic voltage and frequency scaling
US10423209B2 (en) * 2017-02-13 2019-09-24 Apple Inc. Systems and methods for coherent power management
US10656700B2 (en) * 2017-07-10 2020-05-19 Oracle International Corporation Power management in an integrated circuit
JP6919538B2 (ja) * 2017-12-05 2021-08-18 富士通株式会社 電力制御システム及び電力制御プログラム
JP7193718B2 (ja) 2018-12-19 2022-12-21 富士通株式会社 制御プログラム、情報処理装置及び制御方法
KR20200084987A (ko) * 2019-01-03 2020-07-14 삼성전자주식회사 전력을 제어하기 위한 전자 회로
DE102019128074B3 (de) * 2019-10-17 2020-11-12 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum Vorgeben einer Leistungsgrenze eines Prozessors
US11181961B2 (en) * 2020-04-07 2021-11-23 Dell Products L.P. System and method for increasing power delivery to information handling systems
US20230168729A1 (en) * 2021-11-30 2023-06-01 Facebook Technologies, Llc Systems and methods for peak power control

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539603A (en) 1994-03-02 1996-07-23 Maxim Integrated Products Current protection method and apparatus and current protected low dropout voltage circuits
EP1176496A1 (en) * 2000-07-24 2002-01-30 Hewlett-Packard Company, A Delaware Corporation Voltage regulation in an integrated circuit
JP2007502477A (ja) * 2003-05-27 2007-02-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電力消費のモニタおよび制御
US7615965B2 (en) 2004-05-14 2009-11-10 O2Micro International Limited Power management system
US7509505B2 (en) * 2005-01-04 2009-03-24 Cisco Technology, Inc. Method and system for managing power delivery for power over Ethernet systems
JP2006331107A (ja) * 2005-05-26 2006-12-07 Matsushita Electric Ind Co Ltd 電力管理回路、及び電子回路
CN100559678C (zh) 2005-08-18 2009-11-11 昂宝电子(上海)有限公司 具有恒定最大电流的电源变换器保护控制系统与方法
US7716502B2 (en) * 2005-08-24 2010-05-11 Radu Muresan Current flattening and current sensing methods and devices
JP2008026948A (ja) * 2006-07-18 2008-02-07 Renesas Technology Corp 半導体集積回路
JP2008026761A (ja) * 2006-07-25 2008-02-07 Sony Corp 消費電力制御装置、画像処理装置、自発光表示装置、電子機器、消費電力制御方法及びコンピュータプログラム
US8060765B1 (en) * 2006-11-02 2011-11-15 Nvidia Corporation Power estimation based on block activity
US8156362B2 (en) 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US8010824B2 (en) * 2008-04-11 2011-08-30 Advanced Micro Devices , Inc. Sampling chip activity for real time power estimation
US8527794B2 (en) * 2010-05-27 2013-09-03 Advanced Micro Devices, Inc. Realtime power management of integrated circuits
US8942932B2 (en) 2010-08-31 2015-01-27 Advanced Micro Devices, Inc. Determining transistor leakage for an integrated circuit
US20120144215A1 (en) * 2010-12-03 2012-06-07 Advanced Micro Devices, Inc. Maximum current limiting method and apparatus
JP2011129147A (ja) * 2011-01-31 2011-06-30 Panasonic Corp プロセッサシステム、命令列最適化装置、および命令列最適化プログラム
US9069555B2 (en) * 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US8862909B2 (en) * 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US9141166B2 (en) 2011-12-13 2015-09-22 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including dynamic control of energy consumption in power domains
US8924758B2 (en) * 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
WO2013147801A1 (en) 2012-03-29 2013-10-03 Intel Corporation Dynamic power limit sharing in a platform
US9377793B2 (en) * 2012-08-08 2016-06-28 St-Ericsson Sa Adaptive voltage scaling mechanism based on voltage shoot measurement
EP2892122B1 (en) * 2012-08-31 2020-04-22 Panasonic Intellectual Property Management Co., Ltd. Power management system, power management device, and large power-using power load
WO2014064570A1 (en) * 2012-10-23 2014-05-01 Koninklijke Philips N.V. Device and method for determining an individual power representation of operation states
US20140237272A1 (en) * 2013-02-19 2014-08-21 Advanced Micro Devices, Inc. Power control for data 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
US8963620B2 (en) * 2013-07-23 2015-02-24 International Business Machines Corporation Controlling circuit voltage and frequency based upon location-dependent temperature
US9671844B2 (en) * 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US9250910B2 (en) * 2013-09-27 2016-02-02 Intel Corporation Current change mitigation policy for limiting voltage droop in graphics logic
US20160147280A1 (en) * 2014-11-26 2016-05-26 Tessil Thomas Controlling average power limits of a processor
US9477243B2 (en) * 2014-12-22 2016-10-25 Intel Corporation System maximum current protection
US9559521B1 (en) * 2015-12-09 2017-01-31 King Electric Vehicles Inc. Renewable energy system with integrated home power

Also Published As

Publication number Publication date
JP2018505470A (ja) 2018-02-22
US20160179110A1 (en) 2016-06-23
TW201629761A (zh) 2016-08-16
WO2016105677A1 (en) 2016-06-30
TWI562075B (en) 2016-12-11
KR20170098215A (ko) 2017-08-29
US10222851B2 (en) 2019-03-05
EP3237995A4 (en) 2018-07-25
KR102425341B1 (ko) 2022-07-27
US20170038815A1 (en) 2017-02-09
US9477243B2 (en) 2016-10-25
EP3237995B1 (en) 2019-07-24
EP3237995A1 (en) 2017-11-01
CN107003685A (zh) 2017-08-01
CN107003685B (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
JP6648140B2 (ja) システム最大電流保護
JP5689965B2 (ja) コンピュータシステムにおける電流および電力管理
US9671854B2 (en) Controlling configurable peak performance limits of a processor
US10963028B2 (en) System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
KR101534450B1 (ko) 누설 전류 측정으로부터 열 관리 폴리시를 결정하는 시스템 및 방법
US9377841B2 (en) Adaptively limiting a maximum operating frequency in a multicore processor
US9563254B2 (en) System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US9182803B2 (en) Load step mitigation method and apparatus
JP2018501569A5 (ja)
WO2014099024A1 (en) Dynamic balancing of power across a plurality of processor domains according to power policy control bias
US9411398B2 (en) Electronic device and method to extend battery life
US8810584B2 (en) Smart power management in graphics processing unit (GPU) based cluster computing during predictably occurring idle time
Zheng et al. Data center sprinting: Enabling computational sprinting at the data center level
TW202206973A (zh) 漏電流退化控制及量測
JP2016513322A (ja) アイドル状態の間の電源ユニットによる電力消費の制御
US9268393B2 (en) Enforcing a power consumption duty cycle in a processor
KR101863578B1 (ko) 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법
CN117546121A (zh) 用于通过减少每周期指令数来控制多处理器核心系统中的电流供应的系统和方法
Singh et al. Thermal aware power save policy for hot and cold jobs
Lenhardt et al. Trends in static power consumption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191206

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: 20191217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200115

R150 Certificate of patent or registration of utility model

Ref document number: 6648140

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