JP2013546070A - 処理ノードの熱制御のための方法および装置 - Google Patents

処理ノードの熱制御のための方法および装置 Download PDF

Info

Publication number
JP2013546070A
JP2013546070A JP2013536717A JP2013536717A JP2013546070A JP 2013546070 A JP2013546070 A JP 2013546070A JP 2013536717 A JP2013536717 A JP 2013536717A JP 2013536717 A JP2013536717 A JP 2013536717A JP 2013546070 A JP2013546070 A JP 2013546070A
Authority
JP
Japan
Prior art keywords
processing nodes
processing
limit
temperature
operating point
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.)
Granted
Application number
JP2013536717A
Other languages
English (en)
Other versions
JP5770300B2 (ja
JP2013546070A5 (ja
Inventor
ブラノーバー アレキサンダー
ディー. ナフチガー サミュエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2013546070A publication Critical patent/JP2013546070A/ja
Publication of JP2013546070A5 publication Critical patent/JP2013546070A5/ja
Application granted granted Critical
Publication of JP5770300B2 publication Critical patent/JP5770300B2/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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • 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
    • 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
    • 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

Abstract

処理ノードのノード当たりの熱制御のための装置および方法が開示される。本装置は、複数の処理ノードと、第1の検出温度が第1の温度閾値よりも高いとの指示を受信することに応じて、複数の処理ノードのうち少なくとも1つの処理ノードに対して第1の周波数限界を設定するように構成された電力管理ユニットとを含む。第1の検出温度は、複数の処理ノードのうち前記1つの処理ノードに関連している。電力管理ユニットは、第2の温度が第2の温度閾値よりも高いとの指示を受信することに応じて、複数の処理ノードの各々に対して第2の周波数限界を設定するように構成されている。
【選択図】図2

Description

本発明は集積回路に関し、より具体的には、集積回路の熱制御に関する。
プロセッサまたは他の種類の集積回路(IC)を設計する際、多くの要因を考慮しなければならない。典型的には、性能などの要因が、消費電力などの他の要因と均衡している。多くのICの設計に影響を与える別の要因は、熱出力である。多くのICは、動作中に相当量の熱を発生させることがある。放置していると、ICの動作中に発生した熱は、損傷または完全な故障を引き起こす可能性がある。
熱に関連した損傷を防止するために、多くのICは、何らかの形態の熱制御装置を使用する。様々な実施形態では、IC内の熱制御装置は、様々な位置における1つ以上の温度センサおよび制御ユニットを含む場合がある。制御ユニットは、様々なセンサから温度指標を受信してもよく、これらの指標を1つ以上の温度閾値と比較してもよい。温度センサのうちの1つから報告される温度が閾値を超える場合、ICの動作は縮小し、さらなる温度上昇を防止することができる。ICの性能の縮小は、ICに提供される供給電圧の低減、クロック周波数の低減、その両方、または他の何らかの方法(例えば、ICの作業負荷の低減、制限、あるいは再割り当て)により、達成されてもよい。ICは、温度が閾値未満に低下するまで、またその後さらにしばらくの間は、低減された性能の状態で保持される。
性能を低減する温度閾値は、IC自体の特定の最高温度を超過せずに、IC(またはその冷却システム)により消費され得る電力量として定義され得る、熱設計電力(TDP)として知られるパラメータに基づく。TDPは、特定の周囲温度に基づき設定されてもよい。例えば、ICのTDPは、35℃の周囲温度用に指定することが可能である。すなわち、電力消費は、35℃の周囲温度(例えば、室温)で(特定の最高IC温度によって決められたように)過熱を引き起こす量まで可能である。したがって、最高温度は、TDPがこれ以上消散することができないICダイ上での温度として指定される場合がある。電力消費、およびこのような性能は、この温度に到達した場合に、このように低減される。
処理ノードのノード当たりの熱制御のための装置および方法が開示されている。一実施形態では、システムは、複数の処理ノードを含む。本システムは、第1の検出温度が第1の温度閾値以上であるとの指示を受信することに応じて、複数の処理ノードのうち少なくとも1つの処理ノードに対して第1の周波数限界を設定するように構成された電力管理ユニットをさらに含む。第1の温度閾値は、複数の処理ノードのうち前記少なくとも1つの処理ノードと関連している。電力管理ユニットは、さらに、第2の温度が第2の温度閾値よりも高いとの指示を受信することに応じて、複数の処理ノードの各々に対して第2の周波数限界を設定するように構成されている。
一実施形態では、処理ノードのノード当たりの熱制御方法は、第1の検出温度が第1の温度閾値以上であるとの指示を受信することに応じて、複数の処理ノードのうち少なくとも1つの処理ノードに対して第1の周波数限界を設定するステップであって、第1の検出温度は、複数の処理ノードのうち前記少なくとも1つの処理ノードと関連しているステップを含む。本方法は、第2の温度が第2の温度閾値よりも高いとの指示を受信することに応じて、複数の処理ノードの各々に対して第2の周波数限界を設定するステップをさらに含む。
本発明の他の態様は、以下の詳細な説明を熟読し、添付図面を参照すれば、明らかになるであろう。
チップ(SOC)上の集積回路(IC)システムの一実施形態の構成図である。 熱制御ユニットを含むマルチコアプロセッサの一実施形態の構成図である。 マルチコアプロセッサの一実施形態の第1の状況における、熱設計電力の割り当てを示す構成図である。 マルチコアプロセッサの一実施形態の第2の状況における、熱設計電力の割り当てを示す構成図である。 マルチコアプロセッサの一実施形態の第3の状況における、熱設計電力の割り当てを示す構成図である。 マルチコアプロセッサの一実施形態の第4の状況における、熱設計電力の割り当てを示す構成図である。 マルチコアプロセッサの一実施形態の第4の状況における、熱設計電力の割り当てを示す構成図である。 マルチコアプロセッサの一実施形態の第5の状況における、熱設計電力の割り当てを示す構成図である。 マルチコアプロセッサの一実施形態の2つの異なるシナリオにおいて使用することが可能な最大コア電力を示すグラフである。 個々のコアの熱設計電力(TDP)に基づく、プロセッサコアの性能をブーストする方法の一実施形態のフロー図である。 ノード当たりの熱制御およびグローバル熱制御の両方を使用する方法の、一実施形態のフロー図である。 電力管理ユニットを含む回路網の実施形態を記述するデータ構造を含む、コンピュータ可読媒体の一実施形態の構成図である。
本発明は、様々な変形および代替形態の影響を受けるが、その具体的な実施形態を図面により例示し、かつ本明細書中に詳細に記載する。しかしながら、本明細書の図面および説明は、開示された特定の形態に本発明を制限することを意図するものではなく、むしろ、本発明は、添付の請求項で規定される通り、本発明の趣旨および範囲内における、すべての変形例、等価例、および代替例を含むものであると理解されるべきである。
ここで、マルチコアプロセッサのノード当たりの熱制御(PNTC)の方法および装置を詳細に説明する。この説明は、複数のプロセッサコア(グラフィック処理ユニットを含んでもよい)を有するプロセッサを対象とするが、本明細書において説明される様々な方法および装置の実施形態は、複合機能ユニットを有する任意の集積回路(IC)に対して、より幅広く適用されてもよい。したがって、本明細書における様々な方法および装置の実施形態の説明は、例示を意図するものではあるが、限定するものではない。本開示の目的として、処理ノードは、汎用コンピュータプロセッサのプロセッサコア、グラフィック処理ユニットまたは他の種類の処理回路網などの、処理を行う任意の種類の機能ユニットとしても定義されてもよい。さらに、本明細書に説明される方法および装置は、複数の異なる種類の処理ノードを同じICダイ上に有するICに適用されてもよい。
PNTCの使用により、グローバルに適用されるハードウェア熱制御(HTC)の毒点滴な使用よりも、プロセッサまたは他のICのワット当たりの性能を、より向上することができる場合がある。例えば、プロセッサは、35℃の周囲温度を基に、IC全体用にグローバル熱設計電力(TDP)限界を有するように設計される場合がある。すなわち、ダイ上の温度が所定の温度閾値に到達したときに、TDP限界に到達する場合がある。より優れた性能は、例えば28℃という周囲温度に基づきTDP限界を使用し、プロセッサを動作することで得ることができる。これは、低い周囲温度での周囲空気が、35℃という、より高い周囲温度のときと比べて、より高い割合で熱を消散するので、プロセッサが、28℃の周囲温度で所定の温度閾値に到達するためには、より高いクロック周波数および/または動作電圧で動作しなければならないという事実によるものである。したがって、ローカル(局所的)な(例えば、コア当たりの)TDP限界は、より低い周囲温度の状況に基づき設定されてもよい。さらに、ローカルTDP限界は、動作中に変化してもよい。例えば、起動中のプロセッサコアのローカルTDP限界は、1つ以上の他のプロセッサコアが未起動状態にあるときに、上昇するようにしてもよい。本開示の目的として、グローバル(大域的)なTDP限界は、ICが格付けされる電力消散最大量として、IC全体に適用される限界として、定義されてもよい。グローバルTDP限界は、所与のIC設計に対して固定されてもよい。ローカルTDP限界は、プロセッサコア、グラフィック処理ユニットまたは相当量の熱を発生し得る任意の他の機能ユニットを含む、コアまたは処理ノード当たりの方式で処理ノード/コアに適用されるTDP限界と定義されてもよい。さらに、所与の処理ノード用のローカルTDP限界は、他の処理ノードの状態に基づき変更してもよい。
本開示の目的のための動作点は、クロック周波数として定義されてもよく、動作電圧(例えば、機能ユニットに提供される供給電圧)を含んでもよい。所与の機能ユニットの動作点を上昇することは、そのユニットに提供されるクロック信号の周波数を上昇することとして定義されてもよく、かつその動作電圧の上昇を含んでもよい。同様に、所与の機能ユニットの動作点を低減することは、クロック周波数を低減することと定義されてもよく、かつ供給電圧を低減させることを含んでもよい。動作点を制限することは、クロック周波数および/または供給電圧を、特定の状況(ただし、必ずしも全ての状況の最大限界ではない)用の特定の最大値に制限することとして定義されてもよい。このように、動作点が特定の処理ノード用に制限されているとき、現在の状況用の特定値まで、クロック周波数および動作電圧で動作してもよいし、特定値未満のクロック周波数および動作電圧の値で動作してもよい。
PNTCを使用すると、グローバルTDP限界に到達しているときに、閾値温度が、決定用に使用される温度閾値よりもわずかに低く設定されてもよい。例えば、グローバルTDP限界の閾値温度が100℃の場合、ローカルTDP限界に到達するときの決定用の温度閾値は、96℃である。プロセッサコアのそれぞれの温度は監視されてもよく、所与のコアの温度がこの限界に到達する場合、所与のコアは、第1の量によりスロットル制御されてもよい。例えば、Advanced Configuration and Power Interface (ACPI)規格に適合する実施形態では、コアは、P0状態のクロック周波数の90%までスロットル制御される(例えば、P0状態のクロックが2.0GHzのとき、コアは1.8GHzにスロットル制御される)。クロック周波数のスロットル制御に加えて、少なくとも所与のコア用には、相当する動作電圧低減も行ってよい(例えば、P0状態で動作する場合、電圧を1.1ボルトから1.0ボルトに低減する)。いくつかの実施形態では、他の実施形態が可能であり、企図されるが、他のプロセッサコアの動作点がこの動作点に制限されてもよく、この場合には、動作点は、他のコア用に変更されない。ローカル温度閾値に到達する1つのコアに応じて、全てのコアの動作点が制限される実施形態では、他のコアが、例えばP0状態または一般に高動作点で動作している場合にも、スロットル制御されてもよい。さらに、いくつかの実施形態では、プロセッサコアは、分離した、単独の電圧面に結合されてもよく、したがって、それらの動作電圧は、他のプロセッサコアから独立して制御されてもよい。他の実施形態では、プロセッサコアは、最高のローカルTDP限界を有するプロセッサコアに対する動作点に基づき設定されている動作電圧と、電圧面を共有してもよい。
所与のコアの温度がスロットル制御後に上昇する場合、グローバルスロットル制御(HTC)が起こることがあり、全てのプロセッサコアが第2の動作点限界にスロットル制御される。より詳細には、これは、プロセッサのICダイ上のいずれかの点における温度が、グローバルTDP限界に相当するグローバル閾値温度に到達するときに発生することがある。これが発生すると、全てのプロセッサコアのクロック周波数は、スロットル制御を介して大幅な低減を受け、動作電圧もまた相応に低減される。例えば、ACPIに準拠した一実施形態では、プロセッサコアはスロットル制御され、そのクロック周波数をP3状態の1.0GHz(本実施形態におけるP0状態のクロック周波数が2.0GHzの場合)に制限されることがある。同様に、動作電圧は、全てのコア用に制限されるように、低減され得る。
所与のプロセッサコアのローカルTDP限界は、可変であってもよく、他のプロセッサコアの状態により増減し得る。例えば、クアッドコアプロセッサでは、2つのコアがパワーゲート(例えば、パワーダウン)されるとき、第3のコアはスリープ状態にあるが、他のコアは、このコアにより発生する一部の熱を消散することがあるため、残りのコアのTDP限界が上昇する場合がある。コアのローカルTDP限界は、より低い周囲温度(例えば、グローバルなTDP限界用の35℃に対し28℃)に基づいてもよいため、オーバークロック(すなわち、相当するクロック信号を指定された周波数よりも高い周波数で運転すること)を可能にするほどに上昇する場合がある。例えば、P0状態のクロック周波数が2.0GHz(したがって、最大特定クロック周波数)の場合におけるACPIに準拠した一実施形態では、高いローカルTDP限界を持つコアは、2.0GHzよりも高い周波数(例えば、3.6GHzで)にクロックされる。このことは、とりわけ計算限定された、いくつかの処理作業負荷のより優れた性能につながる。計算限定された作業負荷とは、計算集約的な処理作業負荷として定義されてもよく、(ある場合は)メインメモリへの低頻度のアクセスで定義され得る。しかしながら、高ローカルTDP限界によって所与のプロセッサコアのオーバークロックが可能であっても、全ての場合において必要的に実行されるわけではないことに注意されたい。例えば、プロセッサの作業負荷がメモリ限定である場合(すなわち、頻繁にメモリへのアクセスが行われており、対応するパイプラインの停止を引き起こす場合)、オーバークロックは、典型的にはいかなる性能の向上も提供しない。したがって、高ローカルTDP限界を有するプロセッサコアは、メモリ限定の作業負荷を処理する場合には、より低いクロック周波数で動作し得る。
(電力管理ユニット付きのプロセッサ)
図1は、メモリに結合した集積回路(IC)の一実施形態の構成図である。ディスプレイ3およびディスプレイメモリ300に加えて、IC2およびメモリ6は、本例において少なくともコンピュータシステム10の一部を形成する。記載の実施形態では、IC2は、多数の処理ノード11(例えば11−1、11−2など)を有するプロセッサである。本明細書に記載される方法は、分離した、単独のICダイ上に(シングルコアまたはマルチコアでもよい)マルチプロセッサを実装する多数のプロセッサコンピュータシステムなど、他の配置に適用されてもよいことに注意されたい。マルチコアの実施形態では、処理ノード11は互いに類似(すなわち、同質のマルチコア)してもよい。または、1つ以上の処理ノード11は、他方とは異なって(すなわち、異質のマルチコアであって)もよい。
処理ノード11は、それぞれ1つ以上の実行ユニット、キャッシュメモリ、スケジューラおよび分岐予測回路などを含んでもよい。さらに、処理ノード11のそれぞれは、メモリ6へのアクセス要求をアサートする(有効にする)ように構成されており、コンピュータシステム10のメインメモリとして機能することができる。上記の要求は、読出し要求および/または書込み要求を含んでもよく、ノースブリッジ12により、各プロセッサコア11から初期に受信することができる。メモリ6へのアクセス要求は、実施形態に記載のメモリコントローラ18を介して経由してもよい。
各プロセッサコア11は、記載の実施形態のノースブリッジ12に結合されている。ノースブリッジ12は、メモリおよび様々な周辺機器へのインターフェースを含む処理ノード11のそれぞれに対して、多種多様なインターフェース機能を提供してもよい。ノースブリッジ12は、処理ノード11のそれぞれに結合されていることに加えて、入力/出力(I/O)インターフェース13、グラフィック処理ユニット(GPU)14、メモリコントローラ18、位相同期回路(PLL)4および電圧調整器5に結合されている。追加機能ユニットもまた、いくつかの実施形態に含まれてもよい。ノースブリッジ12は、コンピュータシステム10内の活動の通信ハブとして機能してもよく、処理ノード11、メモリ6(メモリコントローラ18経由)、ディスプレイ3(GPU14経由)および様々な周辺装置(I/Oインターフェース13経由)の間の通信の経路設定および調整をする。
I/Oインターフェース13は、コンピュータシステム10のサウスブリッジデバイスとしても機能してもよい。多数の異なる種類の周辺バスがI/Oインターフェース13と結合されてもよい。この特別な例では、バスの種類は、周辺装置相互接続(PCI)バス、PCI−Extended(PCI−X)、PCIE(PCI Express)バス、ギガビットイーサネット(登録商標)(GBE)バスおよびユニバーサルシリアルバス(USB)を含む。しかしながら、これらのバスの種類は典型例であり、多くの他のバスの種類は、I/Oインターフェース13に結合されてもよい。周辺デバイスは、周辺バスのいくつかまたは全てに結合することができる。このような周辺デバイスは、キーボード、マウス、プリンター、スキャナー、ジョイスティック若しくは他の種類のゲームコントローラと、メディア記録デバイスと、外部記憶デバイスと、ネットワークインターフェースカードなどとを含む(がこれらに限定されない)。対応する周辺バスを経由してI/Oユニット13に結合され得る周辺デバイスの少なくともいくつかは、ダイレクトメモリアクセス(DMA)を用いて、メモリアクセス要求をアサートすることが可能である。これらの要求(読出しおよび書込み要求を含んでもよい)は、I/Oインターフェース13を経由してノースブリッジ12へ搬送されてもよく、またはメモリコントローラ18へ経路設定されてもよい。
GPU14は、コンピュータシステム10のビデオ処理機能を行ってもよい。GPU14により行われるビデオ処理機能は、基本的なビデオレンダリング、ならびに3−Dグラフィックおよび他の種類の複雑なグラフィック機能を含んでもよい。GPU14により処理されるビデオ情報は、ディスプレイ3の表示用の出力でもよく、これは多数の異なる種類の表示ユニットのうちの1つであってもよい。ディスプレイ3は、フラットパネル液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、プラズマディスプレイ、陰曲線管(CRT)ディスプレイまたは任意の他の適切な種類として実装されてもよい。
記載の実施形態では、GPU14は、表示処理用のデータを保管するディスプレイバッファを含んでもよい。表示処理用のデータは、メモリコントローラ18およびノースブリッジ12を経由して、メモリ6から読み出されてもよい。したがって、GPU14は、フレーム更新およびディスプレイバッファを充填するために、メモリ6のダイレクトメモリアクセス(DMA)用に構成されてもよい。
記載の実施形態では、ノースブリッジ12は、以下により詳細に説明される通り、各活動レベルまたは作業負荷に基づき、処理ノード11のそれぞれの電力消費を管理するように構成された、電力管理ユニット20を含む。さらに、マルチコア(またはマルチプロセッサ)の実施形態では、電力管理ユニット20は、個々の処理ノード11の動作点を、互いに独立して設定してもよい。したがって、第1のプロセッサコア11は、第1の動作点で動作してもよく、第2のプロセッサコア11は、第1とは異なる第2の動作点で動作してもよい。GPU14は、相当量の電力を消費(かつ相当量の熱を発生)するので、その各動作点は、処理ノード11の動作点と同様の方法で、電力管理ユニット20により制御することもできる。したがって、ローカルTDP限界の設定と、処理ノード11のうちの所与の1つの動作点の管理とを対象とする以下の説明は、GPU14にも適用することができる。
記載の実施形態における電力管理ユニット20は、熱制御ユニット21も含む。電力管理ユニット20による動作点の設定は、熱制御ユニット21により行われる動作に基づき、少なくとも一部が行われる。一実施形態では、熱制御ユニット21は、IC2がグローバルTDP電力限界(以下、グローバル電力限界と称する)内で動作しているかどうかを決定するために、処理ノード11のそれぞれ(および以下に説明される、グラフィック処理ユニット14)から受信する温度情報を監視してもよい。さらに、熱制御ユニット21は、処理コア11のそれぞれの、ローカルTDP限界(以下、ローカル電力限界と称する)を、設定および変更してもよい。例えば、4つの処理ノード11を有する実施形態の場合、すべての4つの処理ノード11が起動中で作業負荷を処理している場合には、それらの各ローカル電力限界を同じ値に設定することが可能である。しかしながら、2つの処理ノード11が起動中であるが、その他の2つが待機状態にある場合には、起動中のノードのローカル電力限界は、待機ノードのローカル電力限界が対応して低減する場合があるのとともに、上昇する場合がある。これらの両方および他の場合において、処理ノード11のローカル電力限界は、グローバル電力限界を超過しないようにされてもよい。
熱制御ユニット21は、処理ノード11のそれぞれから温度情報を受信してもよい。受信した温度情報は、処理ノード11がそれぞれのローカル電力限界内で動作しているかを判定するために使用されてもよい。例えば、熱制御ユニット21は、所与のプロセッサコア11から報告された温度を、現行のローカル電力限界に基づく温度閾値と比較してもよい。温度が閾値温度以上の場合、電力管理ユニット20は、報告したプロセッサコア11の制限的なスロットル制御を行うことで応答してもよい。制限的なスロットル制御は、報告したプロセッサコア11用の動作クロック周波数のわずかな低減を含み、かつ、制限的な電圧低減をも含むことができる。そのプロセッサコア11の動作点は、少なくとも温度が閾値未満に低下するまで、その後しばらく制限されてもよい。動作点限界を削除する前に、さらなる熱の消散を可能にするよう、温度に対して追加の時間を設けることができる。
いくつかの実施形態では、動作点の制限は、ノード当たりを基として行われており、温度が閾値を超過するプロセッサコア11にのみ適用する。他の実施形態では、すべての処理ノード11は、温度閾値を超過した処理コア11と同じ動作点に制限されてもよい。動作点は、処理ノード11に提供されるクロック信号の周期を制限することによって、制限されてもよい。動作点のさらなる制限は、処理ノード11に提供される動作電圧を制限することによって達成されてもよい。
熱制御ユニット21は、IC2全体がグローバル電力限界内で動作しているかどうかを判定するように構成されてもよい。熱制御ユニット21は、処理ノード11から温度情報を受信することに加えて、他の機能装置のそれぞれおよび他の実施形態に表れ得る他の機能ユニットから、同等の情報を受信してもよい。任意の機能ユニット(またはIC2上のいかなる点)から読み出した温度が第2の温度閾値を超過する場合、電力管理ユニット20は、IC2をグローバルスロットル制御することによって応答してもよい。グローバルスロットル制御は、処理ノード11のそれぞれへのクロック周波数の大幅な低減により定義されてもよく、IC2の他の機能ユニットに適用されてもよい。さらに、処理コア11のそれぞれの動作電圧も大幅に低減される場合がある。グローバルスロットル制御の後のすべての処理ノード11の動作点は、少なくとも熱制御ユニット21に報告されるすべての温度が第2の閾値未満になるまで制限されてもよく、その後IC2のさらなる冷却を可能にするように、一定期間制限されてもよい。
記載の実施形態では、IC2は、システムのクロック信号を受信するように結合された位相同期回路(PLL)4を含む。PLL4は、対応するクロック信号を、処理ノード11のそれぞれおよびGPU14に分配してもよい。本実施形態では、処理ノード11のそれぞれおよびGPU14により受信されるクロック信号は、互いに独立している。さらに、本実施形態のPLL4は、互いに独立的で、処理ノード11のそれぞれに提供されるクロック信号の周波数を、個別に制御および変更するように構成されている。PLL4は、処理ノード11とは独立して、GPU14に提供されるクロック信号の周波数を制御および変更してもよい。以下の詳細にさらに説明される通り、処理ノード11のうち所与のいずれか1つにより受信されるクロック信号の周波数は、可変のローカル電力限界、処理ノード11から報告された温度値および処理ノード11に課せられる性能要求に従い増減されてもよい。クロック信号がPLL4から出力され得る様々な周波数は、それぞれの処理ノード11の異なる動作点に対応してもよい。したがって、処理ノード11の特定の1つの動作点の変更は、処理ノード11のそれぞれが受信したクロック信号の周波数を変更することによって、実施されてもよい。
1つ以上の処理ノード11の各動作点の変更の場合は、1つ以上の各クロック周波数の変更を含み、電力管理ユニット20は、PLL4に提供されるデジタル信号SetF[M:0]の状態を変更してもよい。このデジタル信号のセットは、PLL4に結合される各機能ユニットのクロック周波数の設定用の情報を含んでもよい。これらの信号内の変更に応答し、PLL4は、影響を受ける機能ユニットのクロック周波数を変更してもよい。
記載の実施形態では、IC2も電圧調整器5を含むことができる。他の実施形態では、電圧調整器5は、IC2から分離して実装されてもよい。電圧調整器5は、処理ノード11のそれぞれに動作電圧(または供給電圧)を供給してもよい。いくつかの実施形態では、電圧調整器5は、特定の動作点に従い、可変する動作電圧を供給してもよい(例えば、より優れた性能のために動作電圧を上昇させ、より節電するために動作電圧を低減するなど)。いくつかの実施形態では、処理ノード11のそれぞれは、電圧面を共有してもよい。したがって、上記実施形態の各プロセッサコア11は、他の処理ノード11と同じ電圧で動作する。別の実施形態では、電圧面は共有されず、したがって、各プロセッサコア11への供給電圧は、他の処理ノード11への供給電圧とは独立して設定および調整されてもよい。このように、動作電圧の調整を含む動作点の調整は、非共有電圧面を有する実施形態における他の処理ノード11とは独立的に、各プロセッサコア11に選択的に適用されてもよい。動作点の変更が1つ以上の処理ノード11用の動作電圧の変更を含む場合には、電力管理ユニット20は、電圧調整器5に提供されるデジタル信号SetV[M:0]の状態を変更してもよい。電圧調整器5は、信号SetV[M:0]の変更に応じて、処理ノード11のうち影響されたものに提供される動作電圧を調整してもよい。GPU14は、いくつかの実施形態では、1つ以上の処理ノード11と電圧面を共有してもよく、一方で他のノードにおいては独自の電圧面を有し、その供給電圧も適宜調整させてもよい。
上述したように、各処理ノード11の動作点は、報告された温度、可変のローカル電力限界および固定のグローバル電力限界に基づいて、設定または制限されてもよい。また、各処理ノード11の動作点も、各活動レベル(例えば、処理作業負荷)に従って設定されてもよい。記載の実施形態では、電力管理ユニット20は、各処理ノード11の活動レベルを指示する情報を受信してもよく、ローカルおよびグローバル電力限界内で動作点を適宜設定してもよい。電力管理ユニット20は、作業負荷の特定の種類に基づき、所与の処理ノードの動作点を設定してもよい。一般的に言うと、計算限定作業負荷を実行するプロセッサコア11は、より高い動作点に設定されてもよいし、あるいはメモリ限定作業負荷を実行するときは、より低い動作点に設定されてもよい。計算限定またはメモリ限定のいずれでもない作業負荷には、プロセッサコア11が中間動作点に設定されてもよい。作業負荷の活動レベルおよび種類は、1秒当たりの完了命令、メモリアクセス要求、キャッシュヒット/ミス、パイプライン停止、分岐誤予測、発行された命令および実行された命令などの、様々なメトリクスに基づき、電力管理ユニット20により判定されてもよい。
先述の通り、プロセッサコア11の動作点は、少なくともクロック周波数により定義されてもよく、また動作電圧によって定義されてもよい。一般的に言えば、「より高い」動作点への変更は、影響を受けるプロセッサコア11のクロック周波数を上昇させることにより定義されてもよい。より高い動作点への変更は、その動作電圧を上昇させることを含んでもよい。同様に、「より低い」動作点への変更は、影響を受けるプロセッサコア11のクロック周波数を低減することにより定義されてもよい。影響を受けるプロセッサコア11に供給される動作電圧の低減は、より低い動作点への変更の定義内に含まれてもよい。
一実施形態では、動作点は、アドバンスト・コンフィギュレーション・アンド・パワー・インターフェース(Advanced Configuration and Power Interface)(ACPI)規格の性能状態(以下「P−state」という)に対応してもよい。下記表1は、ACPI基準を使用して実装される一実施形態のP−stateを記載する。

Figure 2013546070
上記の表1に記載されたP−stateは、ACPI準拠のプロセッサが、C0として知られる非待機状態で動作するときに適用されてもよい。上記の表1に対応する実施形態では、P−stateのP0は、2GHzのクロック周波数および1.1ボルトの動作電圧を有する、最高の動作点である。一実施形態における電力管理ユニット20は、電流のローカル電力限界により許可されるときには、高い活動レベルに応じて、P0のP−stateでプロセッサコア11を動作させてもよい。P0のP−stateでの動作は、計算限定の作業負荷の処理に使用されてもよい。計算限定作業負荷は、時間依存的および計算集中的であり、(あったとしても)わずかなメモリアクセスしか必要としない。より低電力消費に対応する待機状態により早く戻ることも可能にする一方で、最大性能を維持するために可能な限り短時間で作業負荷を実行することが望ましい場合がある。したがって、高い活動レベルを有する計算限定作業負荷は、より早く完了することが可能なP0のP−stateで実行されてもよい。
P4のP−stateは、この特定の実施形態における最低動作点であり、800MHzのクロック周波数および0.8Vの動作電圧を有する。電力管理ユニット20は、より高いP−stateが現行のローカル電力限界内に収まったとしても、低活動レベルに応じて、P4のP−stateで、プロセッサコア11を動作させる場合がある。P4のP−stateは、メモリ限定作業負荷および時間依存的(または周波数依存的)ではない他のタスクとともに使用されてもよい。メモリ限定作業負荷は、システムメモリへの頻繁なアクセスを含むものである。メモリアクセスには、(メモリにアクセスしない命令の実行時間と比較して)長い待機時間が関与するため、メモリ限定作業負荷のクロック周波数の低減は、性能への最小限の影響しか与えずに、システムのワット当たりの性能のメトリックを向上させ得る節電を伴うことがある。
検出された活動レベルが、低活動閾値よりも高く、かつ高活動閾値よりも低い場合には、対応するプロセッサコア11の動作は、特定の実施形態に応じ、かつこれらのP−stateの動作が現行のローカル電力限界内に収まるという条件で、OS、他のソフトウェア、ファームウェア、および/またはその他のハードウェアの指示のもと、P1、P2、P3のP−stateのうち何れか1つに設定されてもよい。
表1に記載のP−stateは、動作点の一式の例示であることに注意されたい。異なるクロック周波数および動作電圧を有する動作点を使用する実施形態が可能であり、企図される。さらに、上述の通り、いくつかの実施形態は、処理ノード11に共有する電圧面を使用してもよく、ひいてはそれらの各動作点は、クロック周波数を基に定義されてもよい。いくつかの実施形態では、処理ノードのそれぞれの動作電圧は固定のままでもよいが、他の実施形態では、動作電圧は同時にすべての処理ノード11用に調整されてもよい。表1のP−stateとして記載された動作点は、非ACPIの実施形態とともに使用されてもよいことにも注意されたい。
さらに、ACPIの実施形態においても、上記の動作点は、PNTCが使用されるときに全て包含することはできない。より具体的には、場合によっては、P0状態を超える性能ブーストは、処理作業負荷に適切なとき、および現行のローカル電力限界により許可されたときに、所与のプロセッサコア11に適用されてもよい。例えば、処理ノード11のうち所与の1つが計算限定作業負荷を実行しているが、残りの処理ノード11が待機状態にある状況を考慮する。そのような場合、待機している処理ノードのローカル電力限界は低減される場合があるが、起動中のプロセッサコア11のローカル電力限界は上昇する場合がある。ローカル電力限界の上昇は、起動中のプロセッサコア11のオーバークロックを引き起こし得る。したがって、起動中のプロセッサコア11は、本例においては計算限定作業負荷を実行しているので、そのプロセッサコア11に提供されるクロック信号の周波数は、P0状態の値より大きい値まで上昇する場合がある。この結果、計算限定作業負荷のより早い実行が可能となり、周囲温度が十分低い場合には、グローバル電力限界内にIC2を留まらせることができる間に計算限定作業負荷を実行し得る。さらに、周囲温度がローカル電力限界の基となる値よりも低い場合には、起動中のプロセッサコア11のオーバークロックにより、スロットル制御の可能性なしに、計算限定作業負荷のより速い実行が可能となる。この種の決定論的な性能は、低周囲温度環境において、より優れたワット当たりの性能に繋がり得る。
(グローバルおよびローカル熱設計電力(TDP))
図2は、熱制御ユニットを含むマルチコアプロセッサの一実施形態の構成図である。より詳細には、図2は、様々な処理ノード11、GPU14および熱制御ユニット21の間の機能的関係を示している。図2は、(個別的に可変であってもよいし、機能ユニットに適用されてもよい)ローカル電力限界および(IC全体として固定および適用されてもよい)グローバル電力限界に基づくシステム応答の相違を示すグラフも含む。
記載の実施形態では、IC2は、電力管理ユニット20の熱制御ユニット21にそれぞれ結合される4つの処理コア11(すなわち、コア11−1から11−4まで)およびGPU14を含む。処理コア11およびGPU14のそれぞれは、IC2のダイの領域の特定の一部分を占有してもよい。さらに、記載の実施形態における処理コア11およびGPU14のそれぞれは、1つ以上のセンサ19を含み、そのそれぞれが各ユニット内の温度を感知するように構成されている。いくつかの実施形態では、各機能ユニットが実装されるICダイの全体の領域を通した様々な位置に、センサ19の複数のインスタンスが配置されてもよい。いくつかの実施形態では、各センサ19は、それぞれが感知した温度を報告するように、熱制御ユニット21に結合されてもよい。他の実施形態では、各機能ユニットは、その機能ユニットの最高測定温度のみを報告するように構成されてもよい。
センサ19は、様々な方法で実装されてもよい。一実施形態では、センサ19は、リング発振器を基にした温度センサとして実装されてもよい。上記温度のリング発振器は、温度上昇に伴う周波数の上昇あるいは低下を伴って、特定の周波数を有する信号を出力してもよい。計測温度に比例する電圧または電流を出力する温度センサもまた可能であり、企図される。別の実施形態では、温度値は、実行されたコードストリームまたは動作中に発生する信号などの、他の情報から外挿することも可能である。
熱制御ユニット21は、図2の構成図に付随のグラフで示す通り、機能ユニットのそれぞれから受信した温度を、第1の温度閾値および第2の温度閾値と比較してもよい。第1の温度閾値は、ノードごとの方式(PNTC)での熱制御を行う際に使用されてもよく、一方で第2の温度閾値は、グローバル方式(HTC)で熱制御を行う際に使用されてもよい。記載の実施形態では、第1の温度閾値は、第2の温度閾値よりも低い。第1および第2の温度閾値の値の例は、それぞれ96℃および100℃である。さらに、第1の温度閾値は、第1の周囲温度(例えば、28℃)および最大ローカル電力限界に基づいてもよい。第2の温度閾値は、第2の周囲温度(例えば、35℃)およびグローバル電力限界に基づいてもよい。第1の温度閾値より高い温度の読出しは、報告する処理コア11がそのローカル電力限界を超過していることを指示してもよい。第2の温度閾値より高い温度の読出しは、IC2が全体としてそのグローバル電力限界を超過していることを指示してもよい。
記載の実施形態では、プロセッサコア11のうち所与の1つが第1の閾値温度以上の温度を報告する場合には、報告するプロセッサコア11がスロットル制御され得る。より具体的には、報告するプロセッサコア11のクロック周波数は、その温度が第1の温度閾値以上であると決定する熱制御ユニット21に応じて、指定レベルまで低減され得る。ACPI準拠の一実施形態では、少なくとも報告するプロセッサコア11のクロック周波数は、P0状態の周波数の90%に低減する場合がある。さらに、報告するプロセッサコア11のクロック周波数は、少なくとも報告される温度が第1の閾値未満に低下するまでは、この動作点に制限されてもよく、さらなる冷却を可能にするように、さらなる時間、当該動作点に留まってもよい。
いくつかの実施形態では、他の起動中のプロセッサコア11は、第1の温度閾値以上の温度を報告する1つのプロセッサコア11に応じて、P0状態の周波数の90%の動作点に制限されてもよい。1つの特定のプロセッサコア11が第1の温度閾値以上の温度を報告するときに、他の起動中のプロセッサコア11が動作点に制限されない、という実施形態も可能であり、企図される。
記載の実施形態では、熱制御ユニット21が、第2の温度閾値以上の報告された温度値を任意のプロセッサコアから受信する場合には、電力管理ユニット20は、全ての起動中のプロセッサコア11を、グローバルにスロットル制御することによって応答してもよい。ACPI準拠の一実施形態では、添付のグラフに図示される通り、起動中のプロセッサコア11のクロック周波数は、P0状態の周波数の50%までスロットル制御される場合がある。P0状態の50%未満のクロック周波数ですでに動作している、起動中のプロセッサコア11は、以前の通り動作を続けてもよい。しかしながら、全てのプロセッサコア11は、クロック周波数がP0状態の50%以下の動作点に制限されてもよい。
報告される温度の合致または当該温度の第2の温度閾値の超過に応じたクロック周波数の制限に加えて、プロセッサコア11のそれぞれの動作電圧も制限され得る。表1を再度参照すると、P0状態の周波数の50%のクロック周波数は、その特定の実施形態では、P3状態に相当する。表1のP3状態での動作電圧は0.85ボルト(P0状態で1.1ボルト)である。したがって、分割電圧面の実施形態(すなわち、各プロセッサコア11が独自の電圧面を有する実施形態)では、P3状態の電圧を超える電圧で動作する任意のプロセッサコア11に対する動作電圧は、報告される温度の読出しが第2の温度閾値以上であることを決定する熱制御ユニット21に応じて、0.85ボルトに低減されてもよい。共有電圧面の実施形態(すなわち、全てのプロセッサコア11が同じ電圧面を共有する実施形態)では、全てのプロセッサコア11の動作電圧は、P3状態の電圧に設定されてもよい。同様の動作電圧の調整は、それらの実施形態がACPI準拠であるか否かにかかわらず、またプロセッサコア11が共有電圧面あるいは分離した電圧面を使用するか否かにかかわらず、他の実施形態において行われてもよい。
本明細書に記載の通り、スロットル制御行為およびプロセッサコア11で行われる動作点の制限もGPU14に適用されることに、再度留意されたい。
(ノード当たりの熱制御を使用するローカルTDP分配)
図3A〜3Fは、PNTCを使用するプロセッサの実施形態における、様々な状況の熱設計電力の割り当てを示す構成図である。より詳細には、図3A〜3Fは、コアのそれぞれが起動状態または待機状態などの多数の様々な状態の1つにあるときに、様々なプロセッサコア11へのローカル電力限界分配を示している。プロセッサコア11のうち所与の1つの待機は、クロックゲート状態(すなわち、クロック信号によりコアに加えられたままの電力が抑制される状態)、およびパワーゲート状態(すなわち、クロック信号がコアに提供されず、電力がそこから削除されている状態)を含んでもよいことに留意されたい。
図3A〜3Fの例は、GPU14に割り当てられるローカル電力限界を含まないことに留意されたい。しかしながら、図3A〜3Fは、説明を目的として提示されており、様々な実施形態では、GPU14などのGPU用ローカル電力限界は、本明細書に記載の同様の原理を使用して、割り当てまたは変更が可能であることに留意されたい。
図3Aでは、全てのプロセッサコア11は、起動中であって、作業負荷の処理を実行している。記載の実施形態では、グローバル電力限界は40ワットである。本実施形態の4つのプロセッサコア11のそれぞれが起動中であるため、熱制御ユニット21は、それぞれのコア11に10ワットのローカル電力限界を割り当てることができ、これにより、ローカル電力限界を均等に分配することができる。記載の実施形態が、上記の表1に提示される数値と一致するACPI準拠の実施形態である場合には、最高3.2GHzまでの断続的な向上が許可される場合があるが、プロセッサコア11の何れかの最大クロック周波数を2.0GHzとすることができる。ローカル電力限界値に基づく周囲温度として、28℃という例示的数値を使用したとき、プロセッサコア11のそれぞれは、周囲温度が28℃より低い環境において、決定論的に、反復可能な方法により、3.2GHzという断続的なブーストに伴い、2.0GHzで動作してもよい。周囲温度が28℃より高い場合、(図2に関連して記載される通り)何らかのスロットル制御が起こる可能性はあるが、図3Aに記載の構成は許可され得る。
図3Bでは、プロセッサコア11のうち2つは待機状態であるが、他の2つは起動中である。本例における待機状態のプロセッサコアは、クロックゲートされている(すなわち、これらのコアへのクロック信号が抑制されている)が、パワーゲートされていない。したがって、起動中のコアのローカル電力限界を、それぞれ15ワットに設定することができる。2つの起動中のプロセッサコア11の15ワットのローカル電力限界は、これらコアのオーバークロックを介して、性能ブーストを可能にし得る。この特定の例では、2つの起動中のプロセッサコア11のそれぞれは、3.2GHzまでのクロック周波数で動作されてもよい。低周囲温度(例えば、本明細書で説明される例示的な実施形態における28℃未満)では、2つの起動中のコアの動作は、ローカルまたはグローバル電力限界を超過するため、スロットル制御の必要なく達成される場合がある。より高い周囲温度の実施形態(例えば、例示的な実施形態での28℃以上)では、3.2GHzで起動中のプロセッサコア11の1つまたは両方の動作は、スロットル制御をもたらす可能性がある。
起動中のプロセッサコア11に対して性能ブーストが可能なときでも、実際の動作のクロック周波数は、その処理作業負荷による場合があることに留意されたい。例えば、図3Bの例における起動中のプロセッサコアの処理作業負荷が計算限定型である場合、クロック周波数は3.2GHzに上昇されてもよい。しかしながら、図3Bの例における起動中のプロセッサコア11の処理作業負荷が、メモリ限定型である(よって、コアのクロック周波数に感応しない)場合、この状況でクロック周波数を上昇することは、いかなる適切な性能向上をもたらすことがないであろうから、コアは非常に低いクロック周波数として動作する場合がある。
クロックゲートされたプロセッサコアに関しては、これらコアの一方または両方を起動状態にするような事象が発生する場合、これらのそれぞれの5ワットのローカル電力限界は、電力のマージンを提供する場合がある。さらに、2つの待機状態のプロセッサコア11は、2つの起動中のコアに関して、熱シンクとしての機能を果たす場合がある。いくつかの実施形態では、ローカル電力限界の様々なプロセッサコア11への割り当ては、コアが実装されるICダイ上の配置の形状によることもある。例えば、起動中のコアが待機状態のコアに物理的に隣接して位置する場合、そのローカル電力限界は、別の起動中のコアに物理的に隣接して位置する場合よりも、大きくなることがある。
図3Cの例では、プロセッサコア11のうち3つが待機(クロックゲートされた)状態であるが、プロセッサコア11のうち1つは起動中である。この場合、起動中のプロセッサコア11は、19ワットのローカル電力限界が割り当てられてもよく、かつ3.6GHzまでの周波数にオーバークロックされてもよい。3.6GHzのクロック周波数では、起動中のプロセッサコア11は、指定値(例えば、上記に記載の28℃の値)未満の周囲温度では、その割り当てられたローカル電力限界内で動作することができる。指定値を超えると、3.6GHzのクロック周波数での動作は、起動中のプロセッサコア11の何らかのスロットル制御をもたらす場合がある。
図3Dは、2つのプロセッサコア11が待機状態であるが他の2つが起動中である、図3Bと類似した状況を示している。起動中のプロセッサコア11には、13ワットのローカル電力限界がそれぞれ割り当てられてもよい。起動中のプロセッサコア11は、図3Bの例における3.2GHzの最大クロック周波数と比較し、本例においては、3.4GHzまでのクロック周波数で動作されてもよい。
図3Bの例と比較して、本例におけるローカル電力限界間の差は、多数の異なる要因の1つ以上の結果となる可能性がある。1つの上記要因は、プロセッサコア11が実装されるICダイ上の配置形状である。例えば、図3Bに示す例では、2つの起動中のプロセッサコア11は、待機状態のプロセッサコア11にそれぞれ物理的に隣接することができるが、互い隣接することができない。反対に、図3Dの例における2つの起動中のプロセッサコア11は、互いに物理的に隣接してもよい。したがって、図3Bの例では、起動中のプロセッサコア11により発生する熱は、図3Dの例よりも簡単に消散し得る。
図3Dの例における起動中のプロセッサコア11の、図3Bの例と比較してより低いローカル電力限界は、起動中のコア11のそれぞれに対して、より精密な熱制御を提供し得る。このように、高周囲温度の環境における動作の場合には、図3Bに関連したより低いローカル電力限界により、熱制御ユニット21は、起動中のコア11に対して、(図2に関連して、上記に説明の通り)より早いPNTCスロットル制御を行い得る。これにより、(図2に関連し、上記にまた説明の通り)グローバル(HTC)スロットル制御が必要となる可能性を少なくし得る。
図3Eの例では、2つのプロセッサコア11がパワーゲート(すなわち、パワーダウン)され、別のプロセッサコア11が待機状態(クロックゲート)であるが、1つのプロセッサコア11は起動中である。起動中のプロセッサコア11は、3.9GHzの最大クロック周波数で、26ワットのローカル電力限界を割り当てられてもよい。この場合、最大電力消費は合計35.6ワットとなり、これは40ワットのグローバル電力限界よりも低いことに留意されたい。この差は、ウェイクアップ事象(wake−up event)により、待機状態またはパワーゲートされたプロセッサコアのうち1つが起動状態に入る場合に、保護バンドを提供し得る。
図3Fでは、2つのプロセッサコア11がパワーゲートされているが、残りの2つは起動中である。この場合、起動中のプロセッサコア11は、3.8GHzの最大クロック周波数で、17ワットのローカル電力限界をそれぞれ割り当てられる。この場合、最大電力消費は合計34.6ワットとなり、これもまたグローバル電力限界の40ワット未満である。図3Eの例と同様に、割り当てられるローカル電力限界の総量とグローバル電力限界との間の差は、ウェイクアップ事象により、待機状態またはパワーゲートされるプロセッサコアが起動状態に入る場合に、保護バンドを可能にし得る。
図4は、マルチコアプロセッサの一実施形態の2つの異なるシナリオの下で使用され得る最大コア電力を示したグラフである。より具体的には、図4は、グローバルHTCのみを使用した実施形態に対して、PNTCを用いて達成可能な最大コア電力使用における差を図示する。グラフの左側には、PNTC用に構成された実施形態の最大コア電力が図示される。グラフの右側には、HTCのみ用に構成された実施形態の最大コア電力が図示される。PNTCを使用するプロセッサコアに適用されるローカル電力限界は、グローバル電力限界用よりも低い周囲温度に基づいているため、PNTCの実施形態では、コア単位で追加電力が消費される場合がある。これにより、プロセッサコアの性能ブーストが、利用可能な余分な電力を使用し得る。上記に説明の通り、この性能ブーストは、その最高指定動作点の最大周波数(例えば、表1に例示のACPI準拠の実施形態において指定される最大周波数よりも高い値)を超えて、コアのクロック周波数を上昇させることで達成されてもよい。そのような方法でクロック周波数を上昇させることは、オーバークロックとして知られる。所与のプロセッサコアの作業負荷の要求が、上記周波数の上昇がオーバークロックに比例することを正当化する場合には、プロセッサコアは、グローバルに適用されるHTCのみに依存する実施形態において達成可能な他の方法よりも早く、作業負荷を実行し得る。
(方法の実施形態)
図5および6は、PNTC用に構成されるマルチコアプロセッサで使用し得る様々な方法の実施形態を示している。図5は、PNTCのプロセッサの実施形態において、ローカル電力限界に基づくプロセッサコアの性能をブーストする方法の一実施形態のフロー図を示す。図6は、マルチコアプロセッサにおいて、PNTCおよびグローバルHTCの両方を使用する方法の一実施形態のフロー図を示す。
図5の方法500は、1つ以上の未起動のプロセッサコアを、低減電力状態に配置する(ブロック502)ことから始まる。低減電力状態とは、クロックゲートされた状態またはパワーゲートされた状態であってよい。クロックゲートされた状態では、動作電圧が提供され続けるが、低減電力状態に配置されるコアへのクロック信号の提供が抑制され得る。パワーゲートされた状態では、クロック信号および動作電圧が、低減電力状態に配置されるコアに提供されない。未起動のプロセッサコアを低減電力状態に配置することに加えて、それらのローカル電力限界も低減し得る(ブロック504)。
起動を維持する1つ以上のプロセッサコアは、上昇したローカル電力限界でそれぞれ動作を続けることが可能である(ブロック506)。残りの起動中のプロセッサコアのローカル電力限界は、低減電力状態に配置されるコアのローカル電力限界の低減に応じて、上昇されてもよい。起動中のコアの性能要求が上昇しない場合、または比較的に低い場合(ブロック508、いいえ)には、コアは、現行の動作点で動作を続けることができる。しかしながら、残りの起動中のコアの性能要求が上昇する場合、または比較的に高い場合(ブロック508、はい)には、ローカル電力限界の上昇により、動作点を最大の性能に上昇させ得る。記載の実施形態においては、このことは、高いまたは上昇した性能要求を有する起動中のコアをオーバークロックすることによって、達成し得る(ブロック510)。オーバークロックは、計算限定作業負荷、より一般には、性能がコアのクロック周波数に影響する作業負荷にて行われてもよい。
オーバークロックは、2つの状況において、起動中のプロセッサコアに対して継続し得る。第1の状況は、そのコアに報告される最高温度がPNTCに使用される第1の温度閾値(例えば、上記図2のグラフを参照)より低いまま維持するという状況である。温度が第1の閾値より低いままであり(ブロック512、いいえ)、プロセッサの作業負荷の性能要求が、より高い動作点を正当化するにあたり十分高いままである場合(ブロック514、はい)、オーバークロックが継続し得る(ブロック510)。オーバークロックするプロセッサコアから報告される温度が第1の閾値以上の場合(ブロック512、はい)、あるいは作業負荷要求が、オーバークロックが性能利得を提供しない点まで低減する場合(ブロック514、いいえ)、オーバークロックが停止する(ブロック516)。第1の温度閾値の超過のためにオーバークロックが停止する場合(ブロック512、はい)、報告するコアのスロットル制御(図1および2に関連し、上記に記載の通り)が行われ得る。ACPI準拠の一実施形態では、このスロットル制御は、報告するコアの動作点を、P0状態の90%のクロック周波数を有する点まで制限し得る。
図5のフロー図は、関連する方法の単一の反復処理を示す。しかしながら、本方法は、PNTCが使用されるプロセッサの動作中に、必要に応じて何回でも反復されてもよいことに留意されたい。
図6は、同一のプロセッサ上での、PNTCおよびHTCの両方の使用を示すフロー図である。記載の実施形態では、方法600は、多数のプロセッサコアのそれぞれに報告された温度を監視することから開始する(ブロック602)。報告される温度の監視は、これらの値を、例えば図2のグラフに記載された第1および第2の閾値と比較することを含んでもよい。ICダイ上の報告される温度が、第1および第2の閾値のいずれよりも低い場合(ブロック604、いいえ)、温度読出しに応じて、スロットル制御または他の電力低減行為が行われない(ブロック616)。しかしながら、低減された作業負荷要求に応じて、様々なプロセッサコアの各動作点の低減が発生する可能性があることに留意されたい。そのような動作点の低減は、性能要求が低減されるプロセッサコアのクロックゲートおよびパワーゲートを含み得る。
所与のコアから報告される温度が、第1の温度閾値以上であるが(ブロック604、はい)、どのコアの温度も第2の温度閾値以上であることを報告していない場合(ブロック606、いいえ)、所与のコアがスロットル制御され、動作点(例えば、P−state)が制限され得る(ブロック608)。制限される動作点(例えば、P−state)は、ノード当たりを基にした熱制御(PNTC)を行うために使用されてもよい。一方、第2の温度閾値は、大域を基にした熱制御(HTC)を行うために使用されてもよい。
いくつかの実施形態では、動作点は報告するコアにのみ制限されている。他の実施形態では、全てのコアが、報告するコアと同様の方法で、動作点に制限されてもよい。さらに、いくつかの実施形態では、動作点の部分的な制限を可能にしてもよい。例えば、電圧面がすべてのコア内で共有されている実施形態では、全てのコアの動作電圧は、指定値(例えば、図1のP0状態の動作電圧の90%)に制限されてもよいが、一方で、報告しないコアのクロック周波数が制限されない。
報告される温度の何れかが第2の温度閾値以上の場合(ブロック606、はい)、コア動作点のグローバルなスロットル制御および制限が行われ得る(ブロック610)。再び図2および表1の例を参照すると、一実施形態では、全てのコアの動作点は、P0状態のクロック周波数の50%、すなわちP3状態に対応する動作点に制限される場合がある。動作電圧は、同様に、P3状態で指定された電圧に制限される。P3状態により指定されるクロック周波数より高いクロック周波数で動作するプロセッサコアは、報告される温度が第2の温度閾値以上であることに応じて、スロットル制御されてもよい。P3状態のクロック周波数および動作電圧以下で動作しているプロセッサコアは、全てのコアの動作点が制限されたままでいる一方で、これらのコアは、P3状態より高い動作点へ上昇することにより、上昇される作業負荷要求に応答しない場合があるが、各動作点で動作を継続する場合がある。
(PNTCを用いる)1つのプロセッサコアまたは(グローバルに適用されるHTCを用いる)全てのプロセッサコアの動作点を低減した後、温度の監視が継続されてもよい。報告される温度が第1および第2の温度閾値未満でない場合(ブロック612、いいえ)、動作点の制限が継続し得る(ブロック614)。全ての温度が限界内にある場合(ブロック612、はい)、プロセッサコアは、指定された最大の状態より低い状態に動作点を制限することなく、各性能要求および各ローカル電力限界に基づき、動作し得る。
しかしながら、第1および第2の温度閾値のうち何れかの閾値以上の温度の報告に応じて、スロットル制御行為に続いて、ICのさらなる冷却を可能にするように、動作点の制限がその後しばらく継続する可能性があることに留意されたい。したがって、第3の温度閾値を使用する実施形態が企図される。この実施形態では、第3の温度閾値は、第1および第2の温度閾値の何れかよりも低い。PNTCおよびHTCの何れかを用いる動作点の低減に続いて、1つ以上の処理コアは、1つ以上の報告される温度が第3の温度閾値未満に低下するまで、制限され続け得る。例えば、第1の温度閾値を超過する温度の報告に応じて、単一のコアが、PNTCを使用して動作点でスロットル制御および/または制限する場合、そのコアは、報告される最高温度が第3の温度閾値未満に低下するまで、動作点を制限され続け得る。
(コンピュータアクセス可能記憶媒体)
次に図7を参照すると、システム10を代表するデータベース705を含むコンピュータアクセス可能記憶媒体700の構成図が示されている。一般的に言うと、コンピュータアクセス可能記憶媒体400は、コンピュータへ命令および/またはデータを提供するための使用中に、当該コンピュータによってアクセス可能な任意の非一時的な記憶媒体を含んでもよい。コンピュータアクセス可能記憶媒体400は、例えば、(固定式または分離可能な)ディスク、テープ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RW若しくはBlu−Rayなどの磁気媒体若しくは光学式媒体などの記憶媒体を含んでもよい。記憶媒体は、RAM(例えば、同期式動的RAM(SDRAM)、倍データレート(DDR、DDR2、DDR3など)SDRAM、低消費電力DDR(LPDDR2など)SDRAM、ラムバスDRAM(RDRAM)、静的RAM(SRAM)など)、ROM、フラッシュメモリ、ユニバーサルシリアルバス(USB)インターフェースなどの周辺インターフェースを経由しアクセス可能な不揮発性メモリ(例えば、フラッシュメモリ)などの、揮発性または不揮発性記憶媒体をさらに含んでもよい。記憶媒体は、微小電気機械システム(MEMS)と、ネットワークおよび/または無線接続などの通信媒体を経由しアクセス可能な記憶媒体とを含んでもよい。
一般に、コンピュータアクセス可能記憶媒体700で搬送される、システム10を代表するデータ705は、プログラムにより読み出すことができるとともに、直接的または間接的に、システム10を備えるハードウェアを製造するために用いることができるデータベースまたは他のデータ構造であってもよい。例えば、データベース705は、VerilogまたはVHDLなどの高レベル設計言語(HDL)における、ハードウェア機能の動作レベル記述あるいはレジスタ転送レベル(RTL)記述であってもよい。この記述は、合成ライブラリからのゲートのリストを備えるネットリストを生産する記述を合成し得る合成ツールにより読み出されてもよい。ネットリストは、システム10を備えるハードウェアの機能を表現する1式のゲートを備える。次いで、ネットリストは、マスクに適用される幾何学的形状を記載するデータ一式を生産するように、配置および経路設定してもよい。マスクはその後様々な半導体製造過程で使用され、システム10に対応する半導体回路または回路を生産する。代替として、コンピュータアクセス可能記憶媒体700上のデータベース705は、(合成ライブラリ有り、または無しの)ネットリスト若しくは所望によりデータ一式、またはグラフィックデータシステム(GDS)IIのデータであってもよい。
コンピュータアクセス可能記憶媒体700は、システム10の表現を搬送するが、他の実施形態では、所望により、IC2、エージェントの任意の一式(例えば、処理コア11、I/Oインターフェース13、電力管理ユニット20など)またはエージェントの一部分(例えば、熱制御ユニット21など)を含む、システム10の任意の一部分の表現を搬送する場合がある。
本発明は、特定の実施形態を参照して記述されてきたが、実施形態は例示的であり、発明の範囲がそのように限定されるものではないこと理解されたい。記述の実施形態へのいかなる変更、修正、追加、および改善も可能である。これらの変更、修正、追加、および改善は、以下の請求項において詳細に記載されている通り、本発明の範囲内に該当する。

Claims (30)

  1. 複数の処理ノードと、
    第1の検出温度が第1の温度閾値よりも高いとの指示を受信したことに応じて、前記複数の処理ノードのうち他の処理ノードとは独立の1つの処理ノードに対して第1の周波数限界を設定するように構成された電力管理ユニットとを備え、
    前記第1の検出温度は、前記複数の処理ノードのうち前記1つの処理ノードと関連しており、
    前記電力管理ユニットは、第2の温度が第2の温度閾値よりも高いとの指示を受信したことに応じて、前記複数の処理ノードの各々に対して第2の周波数限界を設定するように構成されている、システム。
  2. 前記複数の処理ノードの各々は、複数の動作点のうち1つの動作点で動作するように構成されており、前記複数の動作点の各々は、クロック周波数および供給電圧を有しており、前記電力管理ユニットは、第1の温度閾値以上である第1の検出温度の指示を受信したことに応じて、前記複数の処理ノードのうち前記1つの処理ノードに対して第1の動作点限界を設定するよう構成されており、さらに、第2の温度が第2の温度閾値以上であるとの指示を受信したことに応じて、前記複数の処理ノードの各々に対して第2の動作点限界を設定するように構成されている、請求項1に記載のシステム。
  3. 前記第1の動作点限界は、最大動作周波数よりも低い第1のクロック周波数を有する動作点と、最大供給電圧よりも低い第1の供給電圧とを有している、請求項2に記載のシステム。
  4. 前記第2の動作点限界は、前記第1のクロック周波数よりも低い第2のクロック周波数を有する動作点と、前記第1の供給電圧よりも低い第2の供給電圧とを有している、請求項3に記載のシステム。
  5. 前記第2の温度は、前記第1の温度よりも高い、請求項1に記載のシステム。
  6. 前記第1の温度閾値は、ローカル電力限界に基づいており、前記第2の温度閾値は、グローバル電力限界に基づいており、前記ローカル電力限界は可変であり、前記グローバル電力限界は固定されている、請求項1に記載のシステム。
  7. 前記電力管理ユニットは、前記複数の処理ノードのうち少なくとも1つの処理ノードのローカル電力限界が、前記複数の処理ノードのうち他の処理ノードのローカル電力限界よりも大きい場合には、前記複数の処理ノードのうち前記少なくとも1つの処理ノードのオーバークロックを引き起こすように構成されている、請求項6に記載のシステム。
  8. 前記電力管理ユニットは、前記複数の処理ノードのうち1つ以上の追加的な処理ノードの動作点に基づいて、前記複数の処理ノードのうち所与の処理ノードに対して前記ローカル電力限界を設定するように構成されている、請求項6に記載のシステム。
  9. 前記電力管理ユニットは、前記複数の処理ノードのうち待機状態の1つ以上の追加的な処理ノードに応じて、前記複数の処理ノードのうち前記所与の処理ノードに対して前記ローカル電力限界を上昇させるように構成されている、請求項8に記載のシステム。
  10. 前記グローバル電力限界は、特定の周囲温度値に基づいている、請求項6に記載のシステム。
  11. 前記複数の処理ノードのうち1つ以上の処理ノードはプロセッサコアであり、前記処理ノードのうち少なくとも1つの処理ノードはグラフィック処理ユニット(GPU)である、請求項1に記載のシステム。
  12. 前記電力管理ユニットは、前記複数の処理ノードの各々に対して、互いに独立した個別の動作点を設定するように構成されている、請求項1に記載のシステム。
  13. 第1の検出温度が第1の温度閾値よりも高いとの指示を受信することに応じて、前記複数の処理ノードのうち1つの処理の処理ノードに対して、複数の処理ノードのうち他の処理ノードの周波数から独立した第1の周波数限界を設定するステップであって、前記第1の検出温度は前記複数の処理ノードのうち前記1つの処理ノードと関連しているステップと、
    第2の検出温度が第2の温度閾値よりも高いとの指示を受信することに応じて、前記複数の処理ノードの各々に対して第2の周波数限界を設定するステップと、
    を含む、方法。
  14. 前記複数の処理ノードの各々を複数の動作点のうち1つの動作点で動作させるステップであって、前記複数の動作点の各々は、クロック周波数および供給電圧を有しているステップと、
    前記第1の検出温度が前記第1の温度閾値以上であるとの前記指示を受信することに応じて、前記複数の処理ノードのうち前記1つの処理ノードに対して第1の動作点限界を設定するステップと、
    前記第2の検出温度が前記第2の温度閾値以上であるとの前記指示を受信することに応じて、前記複数の処理ノードの各々に対して第2の動作点限界を設定するステップと、
    をさらに含む、請求項13に記載の方法。
  15. 前記第1の動作点限界は、最大動作周波数よりも低い第1のクロック周波数を有する動作点と、最大供給電圧よりも低い第1の供給電圧とを有している、請求項14に記載の方法。
  16. 前記第2の動作点限界は、前記第1のクロック周波数よりも低い第2のクロック周波数を有する動作点と、前記第1の供給電圧よりも低い第2の供給電圧とを有している、請求項15に記載の方法。
  17. 前記第2の温度は、前記第1の温度よりも高い、請求項13に記載の方法。
  18. 前記第1の温度閾値は、ローカル電力限界に基づいており、前記第2の温度閾値は、グローバル電力限界に基づいており、前記ローカル電力限界は可変であり、前記グローバル電力限界は固定されている、請求項13に記載の方法。
  19. 前記複数の処理ノードのうち少なくとも1つの処理ノードのローカルTDP限界が、前記複数の処理ノードのうち他の処理ノードのTDP限界よりも大きい場合に、前記複数の処理ノードのうち前記少なくとも1つの処理ノードをオーバークロックさせるステップをさらに含む、請求項18に記載の方法。
  20. 前記複数の処理ノードのうち1つ以上の追加的な処理ノードの動作点に基づいて、前記複数の処理ノードのうち所与の処理ノードに対して前記ローカル電力限界を設定するステップをさらに含む、請求項18に記載の方法。
  21. 前記複数の処理ノードのうち待機状態の1つ以上の追加的な処理ノードに応じて、前記複数の処理ノードのうち前記所与の処理ノードに対して、前記ローカル電力限界を上昇させるステップをさらに含む、請求項20に記載の方法。
  22. 前記グローバル電力限界は、特定の周囲温度値に基づいている、請求項18に記載の方法。
  23. 前記処理ノードのうち1つ以上の処理ノードはプロセッサコアであり、前記処理ノードのうち少なくとも1つの処理ノードはグラフィック処理ユニットである、請求項13に記載の方法。
  24. 前記複数の処理ノードの各々に対して、互いに独立した個別の動作点を設定するステップをさらに含む、請求項13に記載の方法。
  25. コンピュータシステム上で実行可能なプログラムにより処理されるデータ構造を記憶するコンピュータ可読媒体であって、前記データ構造を処理する前記プログラムは、前記データ構造により記述された回路網を含む集積回路を製造する工程の一部を実行し、
    前記データ構造で記述された前記回路網は、
    複数の処理ノードと、
    第1の検出温度が第1の温度閾値よりも高いとの指示を受信したことに応じて、前記複数の処理ノードのうち他の処理ノードから独立の1つの処理ノードに対して第1の周波数限界を設定するように構成された電力管理ユニットとを備え、
    前記第1の検出温度は、前記複数の処理ノードのうち前記1つの処理ノードと関連しており、
    前記電力管理ユニットは、第2の温度が第2の温度閾値よりも高いとの指示を受信したことに応じて、前記複数の処理ノードの各々に対して第2の周波数限界を設定するように構成されている、
    コンピュータ可読媒体。
  26. 前記データ構造に記述された前記複数の処理ノードの各々は、複数の動作点のうち1つの動作点で動作するように構成されており、前記複数の動作点の各々は、クロック周波数および供給電圧を有している、請求項25に記載のコンピュータ可読媒体。
  27. 第1の動作点限界は前記第1の周波数限界を有しており、前記第1の周波数限界での前記クロック周波数は、特定の最大動作周波数よりも低く、前記第1の動作点限界は、最大供給電圧よりも低い第1の供給電圧をさらに有しており、第2の動作点限界は、前記第1のクロック周波数よりも低い第2のクロック周波数を有する動作点と、前記第1の供給電圧よりも低い第2の供給電圧とを有している、請求項26に記載のコンピュータ可読媒体。
  28. 前記データ構造に記述された前記電力管理ユニットは、前記複数の処理ノードのうち待機状態の1つ以上の追加的な処理ノードに応じて、前記複数の処理ノードのうち所与の処理ノードに対してローカル電力限界を上昇させるように構成されており、さらに、前記複数の処理ノードのうち選択された処理ノードのローカル電力限界が、前記複数の処理ノードのうち他の処理ノードのローカル電力限界よりも大きい場合には、前記複数の処理ノードのうち前記選択された処理ノードにオーバークロックを引き起こすように構成されている、請求項25に記載のコンピュータ可読媒体。
  29. 前記データ構造に記述された前記処理ノードのうち1つ以上の処理ノードはプロセッサコアであり、前記データ構造に記述された前記処理ノードのうち少なくとも1つの処理ノードはグラフィック処理ユニット(GPU)である、請求項25に記載のコンピュータ可読媒体。
  30. 前記データ構造は、
    HDL(高水準設計言語)データ、
    RTL(レジスタ転送レベル)データ、
    グラフィックデータシステム(GDS)IIデータ、
    のうち1つ以上の種類のデータを含む、請求項25に記載のコンピュータ可読媒体。
JP2013536717A 2010-10-29 2011-10-25 処理ノードの熱制御のための方法および装置 Active JP5770300B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/915,361 US8793512B2 (en) 2010-10-29 2010-10-29 Method and apparatus for thermal control of processing nodes
US12/915,361 2010-10-29
PCT/US2011/057640 WO2012058202A1 (en) 2010-10-29 2011-10-25 Method and apparatus for thermal control of processing nodes

Publications (3)

Publication Number Publication Date
JP2013546070A true JP2013546070A (ja) 2013-12-26
JP2013546070A5 JP2013546070A5 (ja) 2014-12-11
JP5770300B2 JP5770300B2 (ja) 2015-08-26

Family

ID=44983699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013536717A Active JP5770300B2 (ja) 2010-10-29 2011-10-25 処理ノードの熱制御のための方法および装置

Country Status (6)

Country Link
US (1) US8793512B2 (ja)
EP (1) EP2635948B1 (ja)
JP (1) JP5770300B2 (ja)
KR (1) KR101845504B1 (ja)
CN (1) CN103189814B (ja)
WO (1) WO2012058202A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017527880A (ja) * 2014-07-03 2017-09-21 クゥアルコム・インコーポレイテッドQualcomm Incorporated 集積回路電力低減のためのマルチドメイン異種プロセス−電圧−温度追跡
EP3422144A1 (en) 2017-06-30 2019-01-02 Renesas Electronics Corporation Semiconductor device and method of controlling semiconductor device

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984305B2 (en) * 2010-12-21 2015-03-17 Intel Corporation Method and apparatus to configure thermal design power in a microprocessor
US8484496B2 (en) * 2011-04-22 2013-07-09 Qualcomm Incorporated Method and system for thermal management of battery charging concurrencies in a portable computing device
US8185758B2 (en) * 2011-06-30 2012-05-22 Intel Corporation Method and system for determining an energy-efficient operating point of a platform
US8930724B2 (en) * 2011-08-17 2015-01-06 Broadcom Corporation Semiconductor device predictive dynamic thermal management
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
US8954770B2 (en) * 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US9304570B2 (en) * 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements
US20120095607A1 (en) * 2011-12-22 2012-04-19 Wells Ryan D Method, Apparatus, and System for Energy Efficiency and Energy Conservation Through Dynamic Management of Memory and Input/Output Subsystems
EP2798430A4 (en) * 2011-12-29 2015-11-25 Intel Corp ADAPTIVE THERMAL THROTTLE THROTTLE WITH USER CONFIGURATION CAPABILITY
US9158351B2 (en) * 2012-03-29 2015-10-13 Intel Corporation Dynamic power limit sharing in a platform
US9360909B2 (en) 2012-04-19 2016-06-07 Intel Corporation System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time
US9383789B2 (en) 2012-06-21 2016-07-05 Apple Inc. Thermal control apparatus and methodology
US9218045B2 (en) * 2012-06-30 2015-12-22 Intel Corporation Operating processor element based on maximum sustainable dynamic capacitance associated with the processor
KR101975409B1 (ko) * 2012-07-26 2019-05-08 삼성전자주식회사 시스템 온 칩 및 그것의 온도 제어 방법
US9285818B2 (en) * 2012-07-26 2016-03-15 Qualcomm Incorporated Autonomous thermal controller for power management IC
US9075611B2 (en) * 2012-09-12 2015-07-07 Htc Corporation Electronic device with power management mechanism and power management method thereof
US9164931B2 (en) 2012-09-29 2015-10-20 Intel Corporation Clamping of dynamic capacitance for graphics
CN103810141A (zh) * 2012-11-09 2014-05-21 辉达公司 处理器和包括其的电路板
US9946319B2 (en) * 2012-11-20 2018-04-17 Advanced Micro Devices, Inc. Setting power-state limits based on performance coupling and thermal coupling between entities in a computing device
KR102005765B1 (ko) 2012-12-17 2019-07-31 삼성전자주식회사 시스템-온 칩과, 이의 동작 방법
DE102012112672A1 (de) * 2012-12-19 2014-06-26 Endress + Hauser Gmbh + Co. Kg Verfahren zur Stabilisierung der Taktfrequenz eines Microcontrollers
US8975954B2 (en) 2013-01-08 2015-03-10 Qualcomm Incorporated Method for performing adaptive voltage scaling (AVS) and integrated circuit configured to perform AVS
US9494996B2 (en) * 2013-03-15 2016-11-15 Intel Corporation Processor having frequency of operation information for guaranteed operation under high temperature events
US9411395B2 (en) * 2013-04-18 2016-08-09 Intel Corporation Method and apparatus to control current transients in a processor
US9360906B2 (en) 2013-05-01 2016-06-07 Advanced Micro Devices, Inc. Power management for multiple compute units
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US9471088B2 (en) * 2013-06-25 2016-10-18 Intel Corporation Restricting clock signal delivery in a processor
US9377836B2 (en) 2013-07-26 2016-06-28 Intel Corporation Restricting clock signal delivery based on activity in a processor
US9250910B2 (en) 2013-09-27 2016-02-02 Intel Corporation Current change mitigation policy for limiting voltage droop in graphics logic
US9389675B2 (en) * 2013-12-19 2016-07-12 International Business Machines Corporation Power management for in-memory computer systems
US9514715B2 (en) 2013-12-23 2016-12-06 Intel Corporation Graphics voltage reduction for load line optimization
KR101538458B1 (ko) 2014-01-03 2015-07-23 연세대학교 산학협력단 3차원 매니코어 프로세서를 위한 전압섬 형성 방법
US9182768B2 (en) * 2014-01-08 2015-11-10 Nvidia Corporation Voltage optimization circuit and managing voltage margins of an integrated circuit
US10067555B2 (en) * 2014-02-20 2018-09-04 Advanced Micro Devices, Inc. Control of performance levels of different types of processors via a user interface
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
WO2015152939A1 (en) * 2014-04-04 2015-10-08 Empire Technology Development Llc Instruction optimization using voltage-based functional performance variation
US9582012B2 (en) 2014-04-08 2017-02-28 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
US9671767B2 (en) 2014-05-14 2017-06-06 Advanced Micro Devices, Inc. Hybrid system and method for determining performance levels based on thermal conditions within a processor
US9652019B2 (en) * 2014-06-02 2017-05-16 Advanced Micro Devices, Inc. System and method for adjusting processor performance based on platform and ambient thermal conditions
US9791904B2 (en) 2014-08-15 2017-10-17 Intel Corporation Balanced control of processor temperature
US20160327999A1 (en) * 2014-09-17 2016-11-10 Mediatek Inc. Dynamic frequency scaling in multi-processor systems
US9811142B2 (en) 2014-09-29 2017-11-07 Apple Inc. Low energy processor for controlling operating states of a computer system
US9903764B2 (en) 2014-09-30 2018-02-27 Samsung Electronics Co., Ltd. Integrated circuit for estimating power of at least one node using temperature and a system including the same
CN105518568B (zh) 2014-12-12 2019-04-02 上海兆芯集成电路有限公司 绘图处理系统及其电源门控方法
US10877530B2 (en) * 2014-12-23 2020-12-29 Intel Corporation Apparatus and method to provide a thermal parameter report for a multi-chip package
US10216526B2 (en) * 2015-01-14 2019-02-26 Mediatek Inc. Controlling method for optimizing a processor and controlling system
US10698459B2 (en) * 2015-02-17 2020-06-30 Apple Inc. Electronic devices and method of controlling an electronic device
US9860189B2 (en) * 2015-04-30 2018-01-02 Dell Products Lp Systems and methods to enable network communications for management controllers
US10429909B2 (en) * 2015-06-01 2019-10-01 Hewlett Packard Enterprise Development Lp Managing power in a high performance computing system for resiliency and cooling
CN105045702B (zh) * 2015-07-22 2018-03-20 Tcl移动通信科技(宁波)有限公司 一种根据芯片温度来保护芯片的方法、系统及芯片
WO2017014786A1 (en) * 2015-07-23 2017-01-26 Hewlett-Packard Development Company, L.P. Power management for electronic devices
CN106407143B (zh) * 2015-07-29 2020-07-31 南京中兴新软件有限责任公司 控制移动终端中cpu的热插拔操作的方法和装置
CN105159815B (zh) * 2015-09-02 2018-06-19 浪潮(北京)电子信息产业有限公司 高性能计算集群系统故障预测方法和装置
KR102324267B1 (ko) 2015-09-10 2021-11-12 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US9720033B2 (en) * 2015-09-29 2017-08-01 Apple Inc. On-chip parameter measurement
US10120426B2 (en) 2015-12-09 2018-11-06 Research & Business Foundation Sungkyunkwan University Thermal management apparatus and method using dynamic thermal margin, and semiconductor processor device, non-volatile data storage device and access control method using the same
KR101719074B1 (ko) * 2015-12-09 2017-04-05 성균관대학교산학협력단 동적 열적 마진을 이용하는 반도체 프로세서 장치를 위한 열 관리 방법 및 장치
US10527503B2 (en) 2016-01-08 2020-01-07 Apple Inc. Reference circuit for metrology system
US10248173B2 (en) 2016-03-31 2019-04-02 Intel Corporation Determining thermal margins in a multi-die processor
US10296067B2 (en) * 2016-04-08 2019-05-21 Qualcomm Incorporated Enhanced dynamic clock and voltage scaling (DCVS) scheme
CN106066813B (zh) * 2016-05-26 2020-03-13 努比亚技术有限公司 资源调度装置、移动终端及资源调度方法
US10359833B2 (en) 2016-06-20 2019-07-23 Qualcomm Incorporated Active-core-based performance boost
CN106163181A (zh) * 2016-07-25 2016-11-23 苏州市龙源电力科技股份有限公司 一种简易背光电气控制柜
KR20180064934A (ko) * 2016-12-06 2018-06-15 삼성전자주식회사 전자 장치 및 전자 장치에서의 표면 발열을 제어하기 위한 방법
DE112017006568T5 (de) * 2017-02-24 2019-10-10 Intel Corporation Auslegung einer Basistaktfrequenz eines Prozessors auf der Basis von Nutzungsparametern
TWI628666B (zh) * 2017-08-10 2018-07-01 群聯電子股份有限公司 溫度控制方法、記憶體儲存裝置及記憶體控制電路單元
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
CN108509018B (zh) * 2018-03-27 2021-02-19 联想(北京)有限公司 一种控制方法及电子设备、存储介质
US11216276B2 (en) * 2018-12-27 2022-01-04 Intel Corporation Controlling power state demotion in a processor
US20210326188A1 (en) * 2019-01-08 2021-10-21 Hewlett-Packard Development Company, L.P. Stabilizing performance of processing devices
US11140243B1 (en) 2019-03-30 2021-10-05 Snap Inc. Thermal state inference based frequency scaling
US11442513B1 (en) 2019-04-16 2022-09-13 Snap Inc. Configuration management based on thermal state
US11175709B2 (en) * 2019-08-26 2021-11-16 Intel Corporation Per chiplet thermal control in a disaggregated multi-chiplet system
US11366506B2 (en) 2019-11-22 2022-06-21 Intel Corporation System, apparatus and method for globally aware reactive local power control in a processor
US11106267B2 (en) * 2019-11-27 2021-08-31 Amazon Technologies, Inc. Dynamic processor core frequency adjustment
US11347198B2 (en) 2020-09-04 2022-05-31 Apple Inc. Adaptive thermal control system
CN112068688A (zh) * 2020-09-09 2020-12-11 北京字节跳动网络技术有限公司 省电方法、装置、电子设备及计算机可读介质
CN112764509B (zh) * 2021-02-03 2024-03-01 北京灵汐科技有限公司 计算核、计算核温度调整方法、设备、介质、芯片和系统
US11822399B2 (en) 2021-07-28 2023-11-21 Apple Inc. Temperature control loop for integrated circuit
EP4137913A1 (en) 2021-08-17 2023-02-22 Axis AB Power management in processing circuitry which implements a neural network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004094A (ja) * 2006-06-21 2008-01-10 Internatl Business Mach Corp <Ibm> サーマル・スロットリング・ロジックを実施するための、コンピュータによって実施される方法、データ処理システム、およびプロセッサ(サーマル・スロットリング・ロジックの実施)
US20090235108A1 (en) * 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
JP2009230670A (ja) * 2008-03-25 2009-10-08 Fuji Xerox Co Ltd プロセッサシステム
US20100073068A1 (en) * 2008-09-22 2010-03-25 Hanwoo Cho Functional block level thermal control

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6172611B1 (en) 1998-10-19 2001-01-09 Telcom Semiconductor, Inc. Independent hardware thermal sensing and monitoring
US7882369B1 (en) 2002-11-14 2011-02-01 Nvidia Corporation Processor performance adjustment system and method
US7886164B1 (en) 2002-11-14 2011-02-08 Nvidia Corporation Processor temperature adjustment system and method
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
US20060161375A1 (en) * 2004-12-30 2006-07-20 Allen Duberstein Optimizing processing speed based on measured temperatures
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7263457B2 (en) * 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
US7552346B2 (en) 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US7650518B2 (en) * 2006-06-28 2010-01-19 Intel Corporation Method, apparatus, and system for increasing single core performance in a multi-core microprocessor
US7584369B2 (en) * 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
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
US8032772B2 (en) * 2007-11-15 2011-10-04 Intel Corporation Method, apparatus, and system for optimizing frequency and performance in a multi-die microprocessor
US9032223B2 (en) * 2008-09-05 2015-05-12 Intel Corporation Techniques to manage operational parameters for a processor
US8443209B2 (en) * 2009-07-24 2013-05-14 Advanced Micro Devices, Inc. Throttling computational units according to performance sensitivity
US20110191602A1 (en) * 2010-01-29 2011-08-04 Bearden David R Processor with selectable longevity
US8495395B2 (en) * 2010-09-14 2013-07-23 Advanced Micro Devices Mechanism for controlling power consumption in a processing node
US8726055B2 (en) * 2010-09-20 2014-05-13 Apple Inc. Multi-core power management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004094A (ja) * 2006-06-21 2008-01-10 Internatl Business Mach Corp <Ibm> サーマル・スロットリング・ロジックを実施するための、コンピュータによって実施される方法、データ処理システム、およびプロセッサ(サーマル・スロットリング・ロジックの実施)
US20090235108A1 (en) * 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
JP2009230670A (ja) * 2008-03-25 2009-10-08 Fuji Xerox Co Ltd プロセッサシステム
US20100073068A1 (en) * 2008-09-22 2010-03-25 Hanwoo Cho Functional block level thermal control

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017527880A (ja) * 2014-07-03 2017-09-21 クゥアルコム・インコーポレイテッドQualcomm Incorporated 集積回路電力低減のためのマルチドメイン異種プロセス−電圧−温度追跡
EP3422144A1 (en) 2017-06-30 2019-01-02 Renesas Electronics Corporation Semiconductor device and method of controlling semiconductor device
US10802569B2 (en) 2017-06-30 2020-10-13 Renesas Electronics Corporation Semiconductor device and method of controlling semiconductor device including controlling a plurality of cores

Also Published As

Publication number Publication date
US8793512B2 (en) 2014-07-29
KR101845504B1 (ko) 2018-05-18
EP2635948A1 (en) 2013-09-11
EP2635948B1 (en) 2021-07-07
KR20140001902A (ko) 2014-01-07
JP5770300B2 (ja) 2015-08-26
CN103189814B (zh) 2017-06-09
CN103189814A (zh) 2013-07-03
US20120110352A1 (en) 2012-05-03
WO2012058202A1 (en) 2012-05-03

Similar Documents

Publication Publication Date Title
JP5770300B2 (ja) 処理ノードの熱制御のための方法および装置
US9261949B2 (en) Method for adaptive performance optimization of the soc
US8438416B2 (en) Function based dynamic power control
KR101813435B1 (ko) 멀티-프로세서 시스템 온 칩에서의 에너지 효율 인지 열 관리
US8862909B2 (en) 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
US8924758B2 (en) Method for SOC performance and power optimization
EP2596413B1 (en) Managing current and power in a computing system
TWI518586B (zh) 協同處理器與系統效能及電力管理技術
US9223383B2 (en) Guardband reduction for multi-core data processor
KR101772742B1 (ko) 마이크로프로세서 내의 열 설계 전력을 구성하기 위한 방법 및 장치
KR101748747B1 (ko) 프로세서의 구성가능한 피크 성능 제한들의 제어
US8612781B2 (en) Method and apparatus for application of power density multipliers optimally in a multicore system
US20140237272A1 (en) Power control for data processor
TWI470410B (zh) 電子系統及其電源管理方法
JP2016513322A (ja) アイドル状態の間の電源ユニットによる電力消費の制御

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141024

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20141024

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20141127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150624

R150 Certificate of patent or registration of utility model

Ref document number: 5770300

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250