JP2008541269A - 温度に基づく適応周波数境界制御 - Google Patents

温度に基づく適応周波数境界制御 Download PDF

Info

Publication number
JP2008541269A
JP2008541269A JP2008511161A JP2008511161A JP2008541269A JP 2008541269 A JP2008541269 A JP 2008541269A JP 2008511161 A JP2008511161 A JP 2008511161A JP 2008511161 A JP2008511161 A JP 2008511161A JP 2008541269 A JP2008541269 A JP 2008541269A
Authority
JP
Japan
Prior art keywords
operating point
processor
lower operating
temperature
thermal management
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
JP2008511161A
Other languages
English (en)
Other versions
JP4619437B2 (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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2008541269A publication Critical patent/JP2008541269A/ja
Application granted granted Critical
Publication of JP4619437B2 publication Critical patent/JP4619437B2/ja
Expired - Fee Related 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
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Feedback Control In General (AREA)
  • Control Of Temperature (AREA)

Abstract

プロセッサといったスロットリングされる装置の上側および下側動作点を動的に熱管理するシステムおよび方法である。一実施形態では、プロセッサの温度は閾値より下であると判断され、上側動作点と下側動作点は互いに向けて動かされる。
【選択図】 なし

Description

本発明の1つ以上の実施形態は一般的に、熱管理に関する。特に、特定の実施形態は、熱管理制御器により選択される動作点間の範囲を縮小することに関する。
コンピュータシステムの人気は成長し続け、より複雑な処理アーキテクチャに対する要望は新しい水準に達している。その結果、現代の作業負荷およびマイクロプロセッサはかつて経験したよりも多くの電力を消費し且つ多くの熱を発生させうる。現実には、発生された熱は性能を制限してしまう場合があり、また、相対的に高価である熱解決策を必要とする。この問題に対処すべくソフトウェアに基づく熱管理解決策が開発されているが、これらの解決策のうち一部は複雑な変数のモニタリングを必要とし、相対的に高い計算コストをもたらしうる。さらに、ソフトウェアに基づく解決策の反応時間は、特定の緊急状況には許容不可である場合がある。
その一方で、ハードウェアに基づく熱管理解決策は、より迅速に反応し、同時に少量の入力データでも好適な性能に十分である。たとえば、特定のアプローチは、電力消費および発熱を制限するために温度が相対的に高い場合は、プロセッサ周波数を低周波数に落とす(スロットルする)。温度が低下すると、動作周波数は切り替えられて最大周波数に戻されうる。したがって、このような解決策は、相対的に限定された量のデータ(すなわち、温度は所与の閾値より上か下か)に基づいてスロットル判断を行いうる。
ユーセージモデルがあまり熱的に制限されない(たとえば、最適スロットル周波数は、最大周波数より数パーセントだけ低い)場合、使用されない潜在能力のリスクはむしろ低い。しかし、非常に熱的に制限されるシステムでは、このようなアプローチは、互いから離れている2つの周波数間で交互に入れ替わることによる性能損失の高すぎるリスクを招きうる。マイクロプロセッサはより一層熱的に制限されてきているので、この問題は重要性を増しうる。
本発明の実施形態の様々な利点は、以下の明細書および請求項を読むことによって、また、以下の図面を参照することによって当業者には明らかとなろう。
以下の説明において、説明目的で、多数の特定の詳細を記載し、それにより、本発明の実施形態の完全な理解を提供する。しかし、当業者には、本発明の実施形態は、これらの特定の詳細がなくても実施しうることは明らかであろう。また、ある場合には、特定の装置構造および方法は、本発明の実施形態を曖昧にしないよう説明が省かれている。以下の説明および図面は、本発明の実施形態を説明し、本発明の実施形態を限定すると解釈すべきではない。
以下の詳細な説明の一部は、コンピュータメモリにおけるデータビットまたはバイナリデジタル信号への演算のアルゴリズムおよび象徴的表現の観点から提示している。これらのアルゴリズム説明および表現は、データ処理技術における当業者の作業の実体を他の当業者に伝達するようデータ処理技術における当業者により使用される技術でありうる。さらに、「第1の」および「第2の」などの用語の使用は、時間的発生順の関係を必ずしも示さず、説明を容易にするためだけに使用される。
異なるように具体的に述べられない限り、以下の説明から明らかであるように、「処理する」、「演算する」、「計算する」、「判断する」などの用語を使用する明細書の説明全体において、これらの用語は、コンピュータシステムのレジスタおよび/またはメモリにおける電子といった物理量により表現されるデータを、コンピュータシステムのメモリ、レジスタ、または他のそのような情報ストレージ、伝送または表示装置における物理量として同様に表現される別のデータとなるよう操作および/または変換するコンピュータまたはコンピュータシステム、或いは同様の電子演算装置の動作および/または処理を意味することを理解するものとする。
図1は、熱管理制御器12および動作点制御器14を有するプロセッサ10を示す。プロセッサ10は、縮小命令セットコンピュータ(RISC)、パイプラインプロセッサ、複合命令セットコンピュータ(CISC)などを含みうる。したがって、図示するプロセッサ10は、プログラムコード/命令を実行でき、且つ、命令フェッチユニット、命令デコーダ、実行ユニットなど(図示せず)も含むことができる。さらに、プロセッサ10は、相補型金属酸化膜半導体(CMOS)技術といったハードウェア技術、コントローラファームウェア、マイクロコード、ソフトウェア技術、および任意のこれらの組み合わせを使用して実施されうる。
図示する例では、プロセッサ10は、上側動作点16および下側動作点18を有し、各動作点16、18は、関連付けられる周波数および/または電圧設定を有するビン20に対応しうる。特定の実施形態は、周波数/電圧ペアを含むビンの選択に関して説明するが、本発明の実施形態は、それに限定されない。実際に、本願に説明する原理は、動作点が任意の値をとることができる「ビンなし」アプローチ、動作点として他のパラメータが使用される非周波数/電圧アプローチ、および、温度、電力消費、および/または性能が関心問題である任意の他の環境に適用可能である。
周波数および電圧の設定は、適切な電圧−周波数テーブル(図示せず)において管理されうる。ここから、動作点制御器14は、設定をプロセッサ10に適用することができる。したがって、プロセッサ10は低点と高点との間で交互に切り替えるので、下側動作点18は、電力消費および/または温度を下げるためにプロセッサ10を「絞る(スロットル)」し、上側動作点16は、プロセッサ10の温度が容認可能なレベルにある場合によりよい性能を実現するよう使用されうる。
説明する動作点16、18のそれぞれは、状況に応じて異なる周波数/電圧値を指す、選択する、および/または含むことによって効果的に上下に調節可能である。たとえば、プロセッサ10の温度は、温度閾値より下であると判断されると、動作点16、18は、高周波数と低周波数間の範囲を縮小するために互いに向かって動かされえ、それにより、時間に依存する近最適周波数に収束する。有限ビンアプローチの場合、上側動作点および下側動作点は、実際に、隣接する周波数のペアに収束しうる。これは、収束すべき単一の周波数がない場合があるからである。それでもなお、このような「収束」アプローチは、非常に熱的に制限されるユーセージモデルには非常に有利であり、したがって、大幅なスロットルを経験することができる。このアプローチはさらに、一般的に固定の上側周波数を維持する従来のアプローチからの顕著な発展を表す。
図2を参照するに、システムの高温状態24および低温状態26は、プロセッサ10(図1)の温度がそれぞれ温度閾値より上および上であることに対応する状態マシン22を示す。図示する例では、4つの可能な呼び出しスキームを区別することができ、各呼び出しスキームは、現在の呼び出しと前回の呼び出しにより表されることができる。具体的には、低温−低温呼び出し28は、タイマ割り込みにより開始可能である。これは、プロセッサは十分な時間の間低温状態にあり、上側動作点を、切り替えペナルティを実質的に心配することなく上げうることを示しうる。図示する例では、低温−高温呼び出し30は、温度センサにより開始可能である。このような呼び出しは、プロセッサは幾らかの時間の間低温であったが、現在は再び高温であることを意味しうる。このような場合、下側動作点の好適な値が計算され、プロセッサはこの計算された値にスロットルダウンされることができる。
高温−低温呼び出し34は、下側動作点の新しい値が、熱割り込み後に温度を温度閾値より下に下げることに成功した場合に発生する。この状況は、通常のシステム挙動に対応することができ、また、一部の「安定」状態を表しうる。この状態では、熱管理制御器12(図1)は、上側動作点および下側動作点を、上述したように互いに向けて動かすことを試みうる。このような技法は、平均周波数をほぼそのままにしうるが、電圧も減少可能であるので、電力消費量を実質的に減少する。高温−高温呼び出し32は、下側動作点の新しい値が、熱割り込み後に温度を温度閾値より下に維持するには依然として高すぎる場合に発生しうる。このような場合、下側動作点はさらに下げられ、また、処理は、温度が閾値より下に下がるまで繰り返されることが可能である。
図3は、熱管理制御器12を実施する1つのアプローチをより詳細に示す。具体的には、図示する熱管理制御器12は、高温から低温状態への論理36、低温から低温状態への論理38、低温から高温状態への論理40、および高温から高温状態への論理42を含む。図示する熱管理制御器12はさらに、上側点調節モジュール44、下側点調節モジュール43、熱感知モジュール46、およびタイマ48を含む。タイマ48は、時間か、または、より複雑な解決策ではイベント/性能モニタ統計値に基づきうる。さらに熱感知モジュール46は、熱、または、イベント/性能モニタに基づきうる。低温から低温状態への論理38は、プロセッサが特定の時間量(たとえば、20ミリ秒)の間低温であることを示しうるタイマ割り込み50を検出し、上側動作点および下側動作点を保存し、上側動作点を上げるよう上側調節モジュール44を使用することができる。低温から高温状態への論理40は、熱感知モジュール46からの熱割り込み52を検出し、最近に成功した動作点に基づいて下側動作点を上げうる。この技法は、所与の熱制限内にシステムを維持することが依然として可能な最高可能動作点を見つけるために使用することができる。
高温から高温状態への論理42は、温度が、温度閾値より下ではないと判断されると呼び出しされうる。この判断は、プロセッサに下側動作点を適用した後にヒステリシスに基づいた一定時間(たとえば、1ミリ秒)が経過すると行うことができる。一実施形態では、高温から高温状態への論理42は、現在の下側動作点に基づいて最近の不成功の動作点を更新し、下側動作点をさらに下げる。図示する高温から低温状態への論理36は、プロセッサの温度が温度閾値より下に下がると呼び出し可能であり、また、プロセッサの熱状態の安定性の確認を与え、プロセッサが安定している場合には上側動作点と下側動作点を互いに向けて動かしうる。プロセッサの安定性は、現在の上側動作点および下側動作点を使用して成功したプロセッサのスロットリング回数を追跡することにより確認することができる。この回数が特定の閾値(たとえば、2回のスロットリング)を越えると、プロセッサは上側動作点と下側動作点との間の範囲を狭くすることを試みるのに十分に安定しているとみなすことができる。1つのアプローチでは、動作点は、2つの点の間の平均を計算し、下側動作点を平均に向けて上げ(すなわち、より大きい値を選択する)、上側動作点を平均に向けて下げる(すなわち、より小さい値を選択する)ことによって互いに向けて動かされうる。また、さらに打ち切り誤差を回避するために、下側動作点が上側動作点を越えないよう制約を課すことができる。
図4を参照するに、プロセッサ10および熱管理制御器12を有するシステム94を示す。図示するプロセッサ10は、ノースブリッジとも知られるメモリコントローラハブ(MCH)100に、システム94内のすべてのコンポーネントを相互接続するフロントサイドバスまたはポイントツーポイントファブリックといったバス102を介して通信する。MCH100は、メモリバス106を介してシステムのランダムアクセスメモリ(RAM)104に通信可能である。RAM104は、高速スタティックRAM(SRAM)、低速ダイナミックRAM(DRAM)などを含みうる。DRAMモジュールはさらに、シングルインラインメモリモジュール(SIMM)、デュアルインラインメモリモジュール(DIMM)、スモールアウトラインDIMM(SODIMM)などに組み込まれうる。MCH100はさらに、外部ビデオ表示ユニット(図示せず)とインタフェースするための高度グラフィクスポート(AGP)110にグラフィクスバス108を介して通信しうる。図示するMCH100は、サウスブリッジとも知られるI/Oコントローラハブ(ICH)112に、周辺コンポーネント相互接続(PCI)バス114を介して通信する。プロセッサ10はさらに、ICH112を通じてネットワークポート118を介してネットワーク116に動作可能に接続されうる。ICHはさらに、ストレージ120に結合されうる。ストレージ120は、読出し専用メモリ(ROM)122、RAM124、プログラマブルROM(PROM)126、フラッシュメモリなどを含みうる。図8は、メモリコントローラ101がプロセッサ11および熱管理制御器12と同じダイ上に含まれる代替のシステム95を示す。
図5は、上側動作点および下側動作点を有するシステム、プロセッサ、または他のデバイスの熱管理方法54を示す。図示する方法54は、低温状態システムの単一の「同期」シーケンスである。したがって、システムが低温状態にあるときに、熱割り込みまたはタイマ割り込みのいずれかが、図示するシーケンスをトリガしうる。最終的には、システムは、低温状態に戻ることができ、処理は繰り返されうる。図示する方法54は、たとえば、ハードウェア、マイクロコード、または、(たとえば、マルチプロセッシングユニットおよび/または他の好適な機械)機械によって実行されると機械に本発明の実施形態による方法および/または演算を実行させる1つの命令または命令のセットを格納しうる任意の機械可読媒体または製品を使用して実施されうる。このような機械は、たとえば、任意の好適な処理プラットフォーム、コンピュータプラットフォーム、コンピュータ装置、処理装置、コンピュータシステム、処理システム、コンピュータ、プロセッサなどを含み、ハードウェアおよび/またはソフトウェアの任意の好適な組み合わせを使用して実施されうる。機械可読媒体または製品は、たとえば、任意の好適なタイプのメモリユニット、メモリ装置、メモリ製品、メモリ媒体、ストレージ装置、ストレージ製品、ストレージ媒体、および/またはストレージユニット、たとえば、メモリ、取り外し可能または取り外し不可媒体、消去可能または消去不可媒体、書込み可能または書き換え可能媒体、デジタルまたはアナログ媒体、ハードディスク、フロッピー(登録商標)ディスク、読出し専用メモリコンパクトディスク(CD−ROM)、書込み可能コンパクトディスク(CD−R)、書き換え可能コンパクトディスク(CD−RW)、光学ディスク、磁気ディスク、様々なタイプのデジタルバーサタイルディスク(DVD)、テープ、カセットなどを含みうる。命令は、任意の好適なタイプのコード、たとえば、ソースコード、コンパイルされたコード、解釈されたコード、実行可能コード、スタティックコード、ダイナミックコードなどを含みうえ、また、C、C++、Java(登録商標)、BASIC、Pascal、Fortran、Cobol、アセンブリ言語、機械語などといった任意の好適なハイレベル、ローレベル、オブジェクト指向、ビジュアル、コンパイル、および/または解釈されたプログラミング言語を用いて実施されうる。
周波数を計算する、および/または、ビンを選択するためのアルゴリズムは、周波数境界制御アルゴリズム(FBCA)として、また、FBCA用のユニット、タイマ、および熱センサを含みうる関連付けられる制御メカニズムは、周波数境界制御メカニズム(FBCM)として考えることができる。低温−低温呼び出し28(図2)および高温−低温呼び出し34(図2)により対処されるアルゴリズムの分岐は、「FBCA−低温」と呼び、低温−高温呼び出し30(図2)および高温−低温呼び出し32(図2)により対処されるアルゴリズムの分岐は、「FBCA−高温」と呼びうる。
図示する例では、処理工程56において、熱割り込みが検出される。この熱割り込みは、熱センサ/モジュールによりトリガされうる。このような割り込みが低温状態において検出されると、プロセッサは、低温状態から高温状態に移行しており、スロットルされる必要がありうる。したがって、工程58において、熱割り込みに応答して、低温−高温呼び出しが行われ、工程60において、FBCA−高温分岐が呼び出しされる。一般的に、FBCA−高温分岐は、電圧−周波数テーブルにおける下側周波数(たとえば、「flow」)、および下側電圧(たとえば、「Vlow」)に対して対応するエントリ/ビン(たとえば、「n」)を計算することができる。計算された下側動作点は、工程62において、プロセッサに適用される。この工程は、その下側動作点に依存して、完了するのに一定量の時間(たとえば、「t」)がかかる。工程64では、wait_time=1ミリ秒−tとして待機時間を定義し、工程66では、定義された時間の間待機する。工程68において、プロセッサの温度が、温度閾値(たとえば、「Tmax」)より下に下がったか否かが判断される。下がっていないと判断されると、工程70において高温−高温呼び出しが行われる。この場合、FBCA−高温分岐が再び呼び出しされ、下側動作点が再び計算される。
温度が閾値より下に下がっている場合、工程72において高温−低温呼び出しが行われる。したがって、工程74では、上側周波数(たとえば、「fhigh」)に対して対応するエントリnを計算するFBCA−低温分岐が呼び出しされる。下側周波数もこの工程の間に計算されうる。工程76において、プロセッサの電圧(たとえば、「V」)は、上側電圧(たとえば、「Vhigh」)に増加され、また、周波数は、上側周波数に増加されうる。工程78において、低温状態においてタイマ割り込みが検出されると、上側動作点が再計算される低温−低温呼び出し73を実行するようFBCA−低温分岐が再び呼び出される。
図6を参照するに、FBCA−低温分岐に対する1つのアプローチの詳細80を示す。一般的に、図示する「low」および「high」変数は、それぞれ、flowおよびfhigh(および対応する電圧VlowおよびVhigh)に対して最近にプローブされたビンに対応する。「prev_state」変数は、FBCAに対する前の呼び出しをもたらした状況を反映し、以下の3つの値のうちの1つを取りうる。すなわち、前の呼び出しは、温度が温度閾値より下に下がることによって開始されたことを意味するCOLD、前の呼び出しは、温度が初めて閾値以上となることによって開始されたことを意味するHOT、および、温度が閾値より高いことによる一連の少なくとも2つの呼び出しがあったことを意味するDOUBLE_HOTである。「bad」変数は、flowに対する最近の不成功のプローブされたビンを示しうる(収束後、badは、flowに対応するビンより上の1つのビンであるべきである)。図示する「mode」変数は、高いビンまたは低いビンでの最近の演算の状態を反映し、以下の3つの値のうち1つを取りうる。すなわち、最近の演算は確認されたことを意味するNORMAL、最近の演算はhighとlowを互いに向けて動かしたことを意味するAVERAGING、高いビンは人為的に増加されたことを意味するTEST_UPである。「n_successful_throttlings」変数は、システムが、highまたはlowの最後の変更から高温状態と低温状態との間で交互に切り替えられた回数を測定する。「sav_low」および「sav_high」変数は、低温−低温呼び出しにおけるlowおよびhighの値を保存するよう使用される。
したがって、高温−低温呼び出しでは、工程82では、上側動作点および下側動作点は、互いから十分に離れていることを確認し、また、プロセッサの熱状態の安定性を確認することが分かる。前述したように、安定性は、現在の上側動作点および下側動作点を使用して成功したプロセッサのスロットリング回数を追跡することにより確認することができる。工程84では、上側動作点と下側動作点の間の(切り捨て)平均が計算され、工程86では、下側動作点を平均に向けて上げ、上側動作点を平均に向けて下げる。図示する例では、lowは厳密にhighより下に維持される。工程86では、2つの動作点を互いに向けて動かすことにより、上側動作点と下側動作点との間での移行回数および移行に対するペナルティが減少される。このようなアプローチはさらに、プロセッサの性能が、特に、熱的に制限される環境において、より予測可能であるので、ユーザの経験を高めることができる。
低温−低温呼び出しにおいて、工程88では、上側動作点および下側動作点を保存し、工程90では、nbinsに向けて中間まで移動することによって上側動作点を上げる。nbinsは、ビン20の最大数(図1、「OpPt_N」)である。したがって、演算(high+nbins+1)/2は、Nより大きい結果は生成しない。この点に関して、本願に説明する除算演算は、整数演算であることが可能である(すなわち、結果は、切り捨て可能である)ことに留意されたい。ここでも上側動作点を動かすことができることによって、従来のアプローチに対し実質的な利点を有することを可能にする。これは、上側動作点は、システムの可変動作条件に対して調整可能だからである。この場合、プロセッサは、有意の時間の間低温状態にあると分かっているので、上側動作点を上げることができる。工程92では、下側動作点の上方境界(すなわち、bad変数)を更新し、工程93では、カウンタをリセットする。
図7は、FBCA−高温分岐に対する1つのアプローチの詳細を示す。具体的に、図示する低温−高温呼び出しでは、工程128において、最近の不成功の動作点に基づいて下側動作点を上げる。具体的に、lowはbadに向けて中間まで動かされうる。高温−高温呼び出しでは、工程130において最近の不成功の動作点を更新する。前の動作は、低温−低温モードにおいて上方境界を人為的に上げること(すなわち、Mode==TEST_UP)であったと判断されると、設定は正しくないと結論され、工程132において古い設定が回復される。Mode==TEST_UPではなかった場合、工程134において、下側動作点を下げる。
したがって、本願に説明する技法は、上側動作点および下側動作点の両方を動的に適応することによって、同様の入力データを使用する既存のスロットル技法から現在得られるよりも良好な性能を高温用途に対して可能にする。上のアプローチは、電圧および周波数といった動作点は、スロットルに関連付けられるペナルティを回避するよう中間レベルに設定可能であるので、従来のアプローチよりもより効率よいことが可能である。
当業者は、上述の説明から本発明の実施形態の広い技法は様々な形式で実施可能であることを認識可能である。したがって、本発明の実施形態は、その特定の例に関連して説明したが、本発明の実施形態の真の範囲は、この特定の例に限定されるべきではない。これは、当業者には、図面、明細書、および請求項を研究した後、他の変形が明らかとなるからである。
本発明の一実施形態によるプロセッサの一例を示すブロック図である。
本発明の一実施形態による状態マシンの一例を示す図である。
本発明の一実施形態による熱管理制御器の一例を示す図である。
本発明の一実施形態によるシステムの一例を示す図である。
本発明の一実施形態による熱管理方法の一例を示すフローチャートである。
本発明の一実施形態による低温状態制御処理の一例を示すフローチャートである。
本発明の一実施形態による高温状態制御処理の一例を示すフローチャートである。
本発明の代替実施形態によるシステムの一例を示す図である。

Claims (31)

  1. 一の上側動作点および一の下側動作点を有する一のプロセッサの一の温度が一の閾値より下であることを判断する工程と、
    前記判断に応答して、前記上側動作点および前記下側動作点を互いに向けて動かす工程と、
    を含む方法。
  2. 前記プロセッサの一の熱状態の一の安定性を確認する工程と、
    前記上側動作点を前記プロセッサに適用する工程と、
    をさらに含む請求項1に記載の方法。
  3. 前記確認する工程は、前記プロセッサが、前記上側動作点および前記下側動作点を使用してスロットリングを成功した回数を追跡する工程を含む請求項2に記載の方法。
  4. 前記動かす工程は、
    前記上側動作点と前記下側動作点との間の一の平均を計算する工程と、
    前記平均に基づいて前記下側動作点に対し一のより大きい値を選択する工程と、
    前記平均に基づいて前記上側動作点に対し一のより小さい値を選択する工程と、
    を含む請求項2に記載の方法。
  5. 一のタイマ割り込みを検出する工程と、
    前記上側動作点および前記下側動作点を保存する工程と、
    一の増加された上側動作点を得るために前記上側動作点に対し一のより大きい値を選択する工程と、
    前記増加された上側動作点を前記プロセッサに適用する工程と、
    をさらに含む請求項2に記載の方法。
  6. 一の熱割り込みを検出する工程と、
    一の第1の下側動作点を得るために一の最近の不成功の動作点に基づいて前記下側動作点に対し一のより大きい値を選択する工程と、
    前記第1の下側動作点を前記プロセッサに適用する工程と、
    前記プロセッサに適用される前記第1の下側動作点に応答して一定時間の間待機する工程と、
    をさらに含む請求項5に記載の方法。
  7. 前記一定時間の経過後に、前記温度が前記閾値より下ではないことを判断する工程と、
    前記第1の下側動作点に基づいて前記最近の不成功の動作点を更新する工程と、
    一の第2の下側動作点を得るために前記第1の下側動作点に対し一のより小さい値を選択する工程と、
    前記第2の下側動作点を前記プロセッサに適用する工程と、
    前記プロセッサに適用される前記第2の下側動作点に応答して前記一定時間の間待機する工程と、
    をさらに含む請求項6に記載の方法。
  8. 各動作点を動かす工程は、一の関連付けられる周波数および電圧設定を有する一のビンを選択する工程を含む請求項1に記載の方法。
  9. 一のプロセッサの一の温度が一の閾値より下であることを判断する一の熱管理制御器を含み、
    前記プロセッサは、一の上側動作点および一の下側動作点を有し、
    前記熱管理制御器は、前記温度は前記閾値より下であるという判断に応答して、前記上側動作点および前記下側動作点を互いに向けて動かす、装置。
  10. 前記熱管理制御器は、前記プロセッサの一の熱状態の一の安定性を確認する高温から低温状態への論理を含み、
    前記装置はさらに、前記上側動作点を前記プロセッサに適用する一の動作点制御器を含む請求項9に記載の装置。
  11. 前記高温から低温状態への論理は、前記プロセッサが、前記上側動作点および前記下側動作点を使用してスロットリングを成功した回数を追跡することによって前記安定性を確認する請求項10に記載の装置。
  12. 前記高温から低温状態への論理は、前記上側動作点および前記下側動作点の間の一の平均を計算し、前記平均に基づいて前記下側動作点に対し一のより大きい値を選択し、また、前記平均に基づいて前記上側動作点に対し一のより小さい値を選択することにより前記上側動作点および前記下側動作点を動かす、請求項10に記載の装置。
  13. 前記熱管理制御器は、一のタイマ割り込みを検出し、前記上側動作点および前記下側動作点を保存し、一の増加された動作点を得るために前記上側動作点に対し一のより大きい値を選択する低温から低温状態への論理を含み、
    前記動作点制御器は、前記増加された上側動作点を前記プロセッサに適用する請求項10に記載の装置。
  14. 前記熱管理制御器は、一の熱割り込みを検出し、一の第1の下側動作点を得るために一の最近の成功の動作点に基づいて前記下側動作点に対し一のより大きい値を選択する低温から高温状態への論理を含み、
    前記動作点制御器は、前記第1の下側動作点を前記プロセッサに適用し、
    前記熱管理制御器は、前記プロセッサに適用される前記第1の下側動作点に応答して一定時間の間待機する請求項11に記載の装置。
  15. 前記熱管理制御器は、前記一定時間が経過後に、前記温度が前記閾値より下ではないことを判断し、
    前記熱管理制御器は、前記第1の下側動作点に基づいて前記最近の不成功の動作点を更新し、一の第2の下側動作点を得るために前記第1の下側動作点に対し一のより小さい値を選択する高温から高温状態への論理を有し、
    前記動作点制御器は、前記第2の下側動作点を前記プロセッサに適用し、
    前記熱管理制御器は、前記プロセッサに適用される前記第2の下側動作点に応答して前記一定時間の間待機する請求項14に記載の装置。
  16. 前記熱管理制御器は、一の関連付けられる周波数および電圧設定を有する一のビンを選択することによって各動作点を動かす請求項9に記載の装置。
  17. 一のメモリと、
    前記メモリに結合される一のプロセッサと、
    を含み、
    前記プロセッサは、前記メモリに結合される一のメモリコントローラハブ、一の上側動作点、一の下側動作点、および前記プロセッサの一の温度は一の閾値より下であることを判断する一の熱管理制御器を有し、
    前記熱管理制御器は、前記温度が前記閾値より下であることに応答して前記上側動作点および前記下側動作点を互いに向けて動かす、システム。
  18. 前記熱管理制御器は、前記プロセッサの一の熱状態の一の安定性を確認する高温から低温状態への論理を含み、
    前記プロセッサはさらに、前記上側動作点を前記プロセッサに適用する一の動作点制御器を含む請求項17に記載のシステム。
  19. 前記高温から低温状態への論理は、前記プロセッサが、前記上側動作点および前記下側動作点を使用してスロットリングを成功した回数を追跡することによって前記安定性を確認する請求項18に記載のシステム。
  20. 前記高温から低温状態への論理は、前記上側動作点および前記下側動作点の間の一の平均を計算し、前記平均に基づいて前記下側動作点に対し一のより大きい値を選択し、また、前記平均に基づいて前記上側動作点に対し一のより小さい値を選択することにより前記上側動作点および前記下側動作点を動かす、請求項18に記載のシステム。
  21. 前記熱管理制御器は、一のタイマ割り込みを検出し、前記上側動作点および前記下側動作点を保存し、一の増加された動作点を得るために前記上側動作点に対し一のより大きい値を選択する低温から低温状態への論理を含み、
    前記動作点制御器は、前記増加された上側動作点を前記プロセッサに適用する請求項18に記載のシステム。
  22. 前記熱管理制御器は、一の熱割り込みを検出し、一の第1の下側動作点を得るために一の最近の成功の動作点に基づいて前記下側動作点に対し一のより大きい値を選択する低温から高温状態への論理を含み、
    前記動作点制御器は、前記第1の下側動作点を前記プロセッサに適用し、
    前記熱管理制御器は、前記プロセッサに適用される前記第1の下側動作点に応答して一定時間の間待機する請求項21に記載のシステム。
  23. 前記熱管理制御器は、前記一定時間が経過後に、前記温度が前記閾値より下ではないことを判断し、
    前記熱管理制御器は、前記第1の下側動作点に基づいて前記最近の不成功の動作点を更新し、一の第2の下側動作点を得るために前記第1の下側動作点に対し一のより小さい値を選択する高温から高温状態への論理を有し、
    前記動作点制御器は、前記第2の下側動作点を前記プロセッサに適用し、
    前記熱管理制御器は、前記プロセッサに適用される前記第2の下側動作点に応答して前記一定時間の間待機する請求項22に記載のシステム。
  24. 複数の命令の一の格納セットを含む機械可読媒体であって、
    前記複数の命令の格納セットは、一の機械により実行されると前記機械に一の方法を実行させ、
    前記方法は、
    一の上側動作点および一の下側動作点を有する一のプロセッサの一の温度が一の閾値より下であることを判断する工程と、
    前記判断に応答して、前記上側動作点および前記下側動作点を互いに向けて動かす工程と、
    を含む媒体。
  25. 前記複数の命令は実行されるとさらに、
    前記プロセッサの一の熱状態の一の安定性を確認し、
    前記上側動作点を前記プロセッサに適用する、請求項24に記載される媒体。
  26. 前記複数の命令は実行されるとさらに、
    一のタイマ割り込みを検出し、
    前記上側動作点および前記下側動作点を保存し、
    一の増加された上側動作点を得るために前記上側動作点に対し一のより大きい値を選択し、
    前記増加された上側動作点を前記プロセッサに適用する、請求項25に記載の媒体。
  27. 前記複数の命令は実行されるとさらに、
    一の熱割り込みを検出し、
    一の第1の下側動作点を得るために一の最近の不成功の動作点に基づいて前記下側動作点に対して一のより大きい値を選択し、
    前記第1の下側動作点を前記プロセッサに適用し、
    前記プロセッサに適用される前記第1の下側動作点に応答して一定時間の間待機する、請求項26に記載の媒体。
  28. 前記複数の命令は実行されるとさらに、
    前記一定時間の経過後に、前記温度が前記閾値より下ではないことを判断し、
    前記第1の下側動作点に基づいて前記最近の不成功の動作点を更新し、
    一の第2の下側動作点を得るために前記第1の下側動作点に対し一のより小さい値を選択し、
    前記第2の下側動作点を前記プロセッサに適用し、
    前記プロセッサに適用される前記第2の下側動作点に応答して前記一定時間の間待機する、請求項27に記載の媒体。
  29. 一の上側周波数設定および一の下側周波数設定を有する一のプロセッサの一の温度が一の閾値より下であることを判断する工程と、
    前記プロセッサの一の熱状態の一の安定性を確認する工程と、
    前記上側周波数設定と前記下側周波数設定との間の一の平均を計算する工程と、
    前記平均に基づいて前記下側周波数設定に対し一のより大きい値を選択する工程と、
    前記平均に基づいて前記上側周波数設定に対し一のより小さい値を選択する工程と、
    前記上側周波数設定を前記プロセッサに適用する工程と、
    一のタイマ割り込みを検出する工程と、
    前記上側周波数設定および前記下側周波数設定を保存する工程と、
    一の増加された上側周波数設定を得るために前記上側周波数設定に対し一のより大きい値を選択する工程と、
    前記増加された上側周波数設定を前記プロセッサに適用する工程と、
    を含む方法。
  30. 前記確認する工程は、前記プロセッサが、前記上側周波数設定および前記下側周波数設定を使用してスロットリングを成功した回数を追跡する工程を含む請求項29に記載の方法。
  31. 各周波数設定は一の対応する電圧設定を有する請求項26に記載の方法。
JP2008511161A 2005-05-10 2006-04-28 温度に基づく適応周波数境界制御 Expired - Fee Related JP4619437B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/125,769 US7463993B2 (en) 2005-05-10 2005-05-10 Adaptive thermal-based frequency-bounds control
PCT/US2006/016671 WO2006121682A2 (en) 2005-05-10 2006-04-28 Adaptive thermal-based frequency-bounds control

Publications (2)

Publication Number Publication Date
JP2008541269A true JP2008541269A (ja) 2008-11-20
JP4619437B2 JP4619437B2 (ja) 2011-01-26

Family

ID=36928308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008511161A Expired - Fee Related JP4619437B2 (ja) 2005-05-10 2006-04-28 温度に基づく適応周波数境界制御

Country Status (6)

Country Link
US (1) US7463993B2 (ja)
JP (1) JP4619437B2 (ja)
CN (1) CN101171562B (ja)
DE (1) DE112006001135B4 (ja)
TW (1) TWI318735B (ja)
WO (1) WO2006121682A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140113926A (ko) * 2012-12-28 2014-09-25 인텔 코포레이션 우선순위 기반 지능형 플랫폼 패시브 열 관리

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774627B2 (en) * 2002-10-03 2010-08-10 Via Technologies, Inc. Microprocessor capable of dynamically increasing its performance in response to varying operating temperature
US7770042B2 (en) * 2002-10-03 2010-08-03 Via Technologies, Inc. Microprocessor with improved performance during P-state transitions
US7814350B2 (en) * 2002-10-03 2010-10-12 Via Technologies, Inc. Microprocessor with improved thermal monitoring and protection mechanism
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
US7783903B2 (en) 2007-08-07 2010-08-24 International Business Machines Corporation Limiting power consumption by controlling airflow
US9122648B2 (en) * 2007-08-22 2015-09-01 Advanced Micro Devices, Inc. Temperature throttling mechanism for DDR3 memory
US8386807B2 (en) * 2008-09-30 2013-02-26 Intel Corporation Power management for processing unit
US8707060B2 (en) * 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors
US8402290B2 (en) * 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores
WO2011031175A1 (en) * 2009-09-14 2011-03-17 Akademia Gorniczo-Hutnicza Im. Stanislawa Staszica Method of power control in microprocessor structures and a power control system in microprocessor structures
US8930737B2 (en) 2011-12-13 2015-01-06 Omx Technology Ab Method and devices for controlling operations of a central processing unit
US9223384B2 (en) * 2012-07-31 2015-12-29 Qualcomm Incorporated Synthesizing intermediate performance levels in integrated circuits, and related processor systems, methods, and computer-readable media
KR20140060137A (ko) 2012-11-09 2014-05-19 삼성전자주식회사 반도체 집적 회로 및 그것의 동작 방법, 반도체 집적 회로의 타이밍 검증 방법 및 테스트 방법
US9098282B2 (en) * 2012-12-27 2015-08-04 Intel Corporation Methods, systems and apparatus to manage power consumption of a graphics engine
JP2016531370A (ja) * 2013-09-09 2016-10-06 シーゲイト テクノロジー エルエルシーSeagate Technology LLC 温度管理を有するモバイルデータ記憶デバイス
US9557786B2 (en) * 2013-11-11 2017-01-31 Mediatek Inc. Power thermal policy using micro-throttle
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
CN105426283B (zh) * 2014-09-19 2018-02-02 环旭电子股份有限公司 电子产品热设计最佳化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160367A (ja) * 1993-12-08 1995-06-23 Matsushita Electric Ind Co Ltd Cpu発熱抑制装置
JP2001517332A (ja) * 1995-09-29 2001-10-02 インテル・コーポレーション 電圧スケーリングと周波数スケーリングの両方を通じて電力消費量を削減する装置および方法
US20020143488A1 (en) * 2001-03-30 2002-10-03 Barnes Cooper Method and apparatus for optimizing thermal solutions

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076672B2 (en) 2002-10-14 2006-07-11 Intel Corporation Method and apparatus for performance effective power throttling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160367A (ja) * 1993-12-08 1995-06-23 Matsushita Electric Ind Co Ltd Cpu発熱抑制装置
JP2001517332A (ja) * 1995-09-29 2001-10-02 インテル・コーポレーション 電圧スケーリングと周波数スケーリングの両方を通じて電力消費量を削減する装置および方法
US20020143488A1 (en) * 2001-03-30 2002-10-03 Barnes Cooper Method and apparatus for optimizing thermal solutions
JP2004533042A (ja) * 2001-03-30 2004-10-28 インテル・コーポレーション 熱対策を最適化するための方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140113926A (ko) * 2012-12-28 2014-09-25 인텔 코포레이션 우선순위 기반 지능형 플랫폼 패시브 열 관리
JP2015513147A (ja) * 2012-12-28 2015-04-30 インテル・コーポレーション 優先度ベースのインテリジェントプラットフォームの受動的熱管理
KR101682985B1 (ko) 2012-12-28 2016-12-06 인텔 코포레이션 우선순위 기반 지능형 플랫폼 패시브 열 관리

Also Published As

Publication number Publication date
DE112006001135T5 (de) 2008-04-30
US20060254296A1 (en) 2006-11-16
JP4619437B2 (ja) 2011-01-26
WO2006121682A3 (en) 2007-07-12
TW200707175A (en) 2007-02-16
CN101171562B (zh) 2012-10-10
CN101171562A (zh) 2008-04-30
TWI318735B (en) 2009-12-21
US7463993B2 (en) 2008-12-09
WO2006121682A2 (en) 2006-11-16
DE112006001135B4 (de) 2015-02-05

Similar Documents

Publication Publication Date Title
JP4619437B2 (ja) 温度に基づく適応周波数境界制御
JP5985708B2 (ja) マルチコアプロセッサにおける電力消費の管理
JP4922306B2 (ja) C0時のセルフリフレッシュメカニズム
US7941683B2 (en) Data processing device with low-power cache access mode
KR101233434B1 (ko) 데이터 처리 시스템의 강제 정지
US7392413B2 (en) Changing of operating voltage in semiconductor integrated circuit
KR101148642B1 (ko) 데이터 처리 시스템의 강제 정지
US7275130B2 (en) Method and system for dynamically operating memory in a power-saving error correcting mode
JP5837117B2 (ja) プロセッサおよび方法
JP5638110B2 (ja) 熱制御装置及び方法
JP4764026B2 (ja) ダイナミック電圧スケーリングによる低消費電力集積回路装置
EP1734436A1 (en) Automatically controlling processor mode of multi-core processor
US8464086B2 (en) Software-based power capping
US20070268756A1 (en) Memory device and method having low-power, high write latency mode and high-power, low write latency mode and/or independently selectable write latency
US11500555B2 (en) Volatile memory to non-volatile memory interface for power management
JP2019220137A (ja) 冗長電源装置の制御方法
JP2024525390A (ja) 電圧ドループに応じてオーバークロック中にクロックストレッチングを可能にするためのシステム及び方法
US20120233451A1 (en) Method for fast resuming computer system and computer system
US20070300082A1 (en) Method for controlling operation of microprocessor which performs duty cycle correction process
US10775876B2 (en) Method and apparatus for controlling power consumption of an integrated circuit
JPH11327678A (ja) 情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100304

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101026

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

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

LAPS Cancellation because of no payment of annual fees