JP3781758B2 - プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法 - Google Patents

プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法 Download PDF

Info

Publication number
JP3781758B2
JP3781758B2 JP2004167806A JP2004167806A JP3781758B2 JP 3781758 B2 JP3781758 B2 JP 3781758B2 JP 2004167806 A JP2004167806 A JP 2004167806A JP 2004167806 A JP2004167806 A JP 2004167806A JP 3781758 B2 JP3781758 B2 JP 3781758B2
Authority
JP
Japan
Prior art keywords
temperature
processor
load
heat generation
sensor
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
JP2004167806A
Other languages
English (en)
Other versions
JP2005346590A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2004167806A priority Critical patent/JP3781758B2/ja
Priority to KR1020067012464A priority patent/KR100831854B1/ko
Priority to PCT/JP2005/007884 priority patent/WO2005119402A1/ja
Priority to CNB2005800016441A priority patent/CN100527044C/zh
Priority to US10/591,080 priority patent/US7520669B2/en
Priority to EP05736706.2A priority patent/EP1762924B8/en
Publication of JP2005346590A publication Critical patent/JP2005346590A/ja
Application granted granted Critical
Publication of JP3781758B2 publication Critical patent/JP3781758B2/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
    • 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/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
    • 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
    • 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

この発明はプロセッサ技術に関し、特にプロセッサ内部の温度を推定することのできるプロセッサ、プロセッサシステム、温度推定装置、情報処理装置、および温度推定方法に関する。
LSI設計において製造プロセスの微細化と素子の高集積化が一段と進み、チップの性能限界として発熱量を考慮することが設計上非常に重要になってきている。チップが高温になると、動作不良を起こしたり、長期信頼性が低下するため、様々な発熱対策がとられている。たとえば、チップの上部に放熱フィンを設けて、チップから発生する熱を逃がす方法がとられる。
また、チップ上の消費電力分布は一様ではないため、チップの一部が異常に高温になるいわゆる「ホット・スポット」の問題を避けることができない。そこで、チップの消費電力分布にもとづいて、プロセッサのタスクをスケジューリングすることも検討されている(たとえば、特許文献1参照)。
米国特許出願公開第2002/0065049号明細書
チップの一部が発熱すると、時間経過とともに熱伝導により発熱箇所の周囲に高温領域が広がり、やがてはチップ全体の温度が上昇する。従来の発熱対策は、プロセッサなどのデバイス内部の温度を計測するために温度センサをひとつだけデバイスに埋め込み、チップ全体の温度分布を巨視的に観測し、数秒〜1分程度の時間をかけて放熱するものであり、時間応答性はよくない。最近の高集積化したLSIの中には、1チップでも数十ワット程度の電力を消費するものも設計されており、数十マイクロ秒のオーダーで放熱処理をしなければ、急峻な温度上昇によって動作不良が起こりうる。
そこで、ヒートシンクなどによる強力な冷却機構を設け、消費電力が増大している状況で急激に温度を下げようとするため、相対的にヒートシンクに流れる熱流束が大きくなり、チップ面に広がる熱流束が小さくなる現象が起こる。チップ上面に設けられたヒートシンクに対する熱抵抗が小さいため、等価的には、チップの熱伝導率が相対的に下がったように見なすことができ、局所的なホットスポットが生じやすい状態になる。このように、高集積化したプロセッサでは、ホットスポットが分散して複数箇所に発生するため、ひとつの温度センサではホットスポットの温度を正確に把握することは困難になっている。
本発明はこうした課題に鑑みてなされたものであり、その目的は、発熱箇所の温度を正確に把握することのできるプロセッサ、プロセッサシステム、情報処理装置、および温度推定方法を提供することにある。
本発明のある態様はプロセッサに関する。このプロセッサは、当該プロセッサの特定ブロックの温度を測定するセンサと、前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部とを含む。
ここで、「ブロック」は、プロセッサの領域を区分けした最小単位であり、スポット的に熱のピークが発生する領域の大きさに合わせて区分けされる。たとえば、ブロックは、プロセッサを構成するトランジスタなどの素子単体であってもよく、ある程度の数の素子の集合であってもよい。複数のプロセッサを含むマルチプロセッサシステムの場合、ブロックは、個々のプロセッサ内で区分けされたブロックであってもよく、個々のプロセッサ全体を1つのブロックとしてもよい。
「発熱ブロック」は、プロセッサに負荷がかかった場合に、スポット的に熱のピークが発生するブロックであり、ホットスポットとも呼ばれるものに相当する。
当該プロセッサに負荷をかけた場合における、前記複数の発熱ブロックと前記特定ブロックの温度差に関する情報を記憶する記憶部をさらに含み、前記温度推定部は、前記記憶部に記憶された前記温度差に関する情報を参照して、前記複数の発熱ブロックの温度を推定してもよい。前記複数の発熱ブロックと前記特定ブロックの温度差に関する情報の一例として、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する式やその対応関係を表したテーブルなどがある。
前記記憶部は、当該プロセッサ全体に最大負荷をかけた場合における、前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報を記憶してもよい。前記記憶部は、さらに前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報を記憶してもよい。
ここで、「プロセッサ全体に最大負荷をかけた場合」とは、プロセッサができるだけフル動作するように、できるだけ大きな負荷をかけた状態を含み、必ずしも厳密な意味で最大の負荷をかけた状態だけを意味しない。
「複数の発熱ブロックの各々に個別に負荷をかけた場合」とは、複数の発熱ブロックの少なくとも1つのブロックに選択的に負荷をかけ、それ以外の発熱ブロックには負荷をかけないか、より少ない負荷をかけた状態などを含む。
それぞれが当該プロセッサの異なる特定箇所の温度を測定する複数のセンサを含み、各センサが前記プロセッサの異なる複数の発熱ブロックの温度を推定してもよい。センサの数は、発熱ブロックの数より少なくてもよい。
本発明の別の態様は温度推定方法に関する。この方法は、プロセッサに負荷をかけた状態における、センサによる前記プロセッサの特定ブロックの検出温度と前記プロセッサの複数の発熱ブロックの温度の対応関係に関する情報をあらかじめ取得し、前記対応関係に関する情報を参照して、前記センサによる前記特定ブロックの検出温度から前記複数の発熱ブロックの温度を推定する。
本発明のさらに別の態様も温度推定方法に関する。この方法は、プロセッサ全体の発熱量が相対的に大きい場合、前記プロセッサに最大負荷をかけた状態における、センサによるプロセッサの特定ブロックの検出温度と前記プロセッサの発熱ブロックの温度の差にもとづいて、前記検出温度から前記プロセッサの最高温度を推定し、前記発熱量が相対的に小さい場合、前記発熱ブロックに選択的に負荷をかけた状態における、前記センサによる前記特定ブロックの検出温度と前記発熱ブロックの温度の差にもとづいて、前記検出温度から前記プロセッサの最高温度を推定する。
本発明のさらに別の態様も温度推定方法に関する。この方法は、プロセッサにランダムな負荷を与え、センサによる前記プロセッサの特定ブロックの検出温度と前記プロセッサの複数の発熱ブロックの温度の差を測定し、前記検出温度から前記複数の発熱ブロックの温度を推定する際の推定誤差を求め、前記推定誤差が相対的に小さくなるように前記センサにより温度が検出される特定ブロックの位置を調整する。
本発明のさらに別の態様はプロセッサシステムに関する。このプロセッサシステムは、プロセッサの特定ブロックの温度を測定するセンサと、前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部とを含む。プロセッサシステムは、プロセッサとメモリを含み、前記温度推定部は前記プロセッサに設けられ、メモリには、前記プロセッサに負荷をかけた場合における、前記複数の発熱ブロックと前記特定ブロックの温度差に関する情報が記憶されてもよい。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、負荷によるプロセッサの発熱状態を正確に把握することができる。
図1は、実施の形態に係るプロセッサシステム10の構成図である。プロセッサシステム10は、プロセッサ100とメモリ110を含み、これらはバスで接続されている。プロセッサ100には、デバイス内部の温度を測定するための温度センサ120が設けられる。温度センサ120は、プロセッサ100のパッケージ上のダイ(die)に直接設けられ、プロセッサ100内部の特定箇所の温度を測定する。
全体熱量測定部130は、プロセッサ100の外部に設けられ、プロセッサ100の全体の熱量を測定する。全体熱量測定部130は、プロセッサ100のヒートシンクなどによる温度センサである。ヒートシンクのような非常に大きな熱容量をもつものをチップ上に設置すると、プロセッサ100の平均的な熱量を測定することができる。より正確にプロセッサ100の熱量を測定するために、プロセッサ100の消費電力を測定してもよい。
図2は、実施の形態に係る温度推定装置20の構成図である。温度推定装置20の機能ブロックは、図1のプロセッサ100、メモリ110、およびメモリ110にロードされたソフトウエアの連携によって実現される。これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
温度推定部140は、温度センサ120が測定するプロセッサ100内部の特定箇所の温度に関するデータと、全体熱量測定部130が測定するプロセッサ100の全体熱量に関するデータを受け取り、これらのデータにもとづいて、プロセッサ100に発生する複数のホットスポットの温度を推定し、複数のホットスポットの温度からプロセッサ100の最高温度を推定する。温度推定部140は、プロセッサ100の全体熱量の大小によって、記憶部160に格納された最大負荷時温度推定係数162と個別負荷時温度推定係数164を切り替えて参照し、温度センサ120による特定箇所の検出温度をホットスポットの温度に変換する温度推定関数をあてはめて、ホットスポットの温度を求める。
記憶部160は、図1のプロセッサシステム10のメモリ110内に実現されてもよく、プロセッサ100内のキャッシュメモリ内に実現されてもよい。
動作周波数制御部150は、温度推定部140が推定したプロセッサ100の最高温度が所定の限界温度を超えた場合に、プロセッサ100の動作周波数を下げる制御を行う。
図3(a)、(b)は、プロセッサ100のホットスポットと温度センサ120の位置関係を説明する図である。プロセッサ100のチップの領域全体は、図3(a)に示すように小さな領域に区分けされる。この小領域を演算ブロックとよぶ。
演算ブロックは、チップを構成するトランジスタ単体もしくはある程度の数のトランジスタの集合である。演算ブロックは、スポット的に発熱のピークが現れる領域の大きさに合わせて区切られるが、演算ブロックの大きさは、温度推定の目標精度などの要件によって自由に決めてよい。また、演算ブロックは同一サイズで規則的に区切られてもよいが、各種演算ユニットの境界に合わせて不規則に区切られてもよい。
プロセッサ100のホットスポットとなりうる箇所を特定するために、プロセッサ100に最大負荷をかけてプロセッサ100の温度分布を検出する。図3(a)は、プロセッサ100の温度分布を示すものであり、各演算ブロック内の数字はその演算ブロックの温度を示している。同図で斜線を付した3つの演算ブロックが最高温度の85度になっており、これらの演算ブロックがホットスポットとして特定される。温度を表す数字を丸で囲んだ演算ブロックの位置には、温度センサ120が設けられている。したがって、温度センサ120はこの演算ブロックの温度である60度を検知することになる。
図3(b)は、図3(a)に対応して3つのホットスポットである演算ブロックA、B、Cと、温度センサ120の設けられた演算ブロックSの位置を示す図である。演算ブロックSに設けられた温度センサ120が検出する温度(以下、単にセンサ温度という)をTと表記し、ホットスポットA、B、Cの温度をT、T、Tと表記する。温度センサ120は、最大負荷時においてホットスポットA、B、Cの温度を測定するのに最も適した位置に設置されることが好ましい。たとえば、3つのホットスポットA、B、Cから等距離にある位置や、プロセッサ100全体の温度分布や回路構成を考慮して、各ホットスポットA、B、Cの温度を均等な精度で測定できる位置に温度センサ120を設置する。
温度推定部140は、検出されたセンサ温度Tから各ホットスポットA、B、Cの温度T、T、Tを間接的に推定する。温度推定を正確に行うために、シミュレーションによってプロセッサ100全体に最大負荷をかけたり、ホットスポットとなる演算ブロックを中心に選択的に負荷をかけて、事前に温度推定関数を求めておく。
図4は、最大負荷時におけるセンサ温度Tとプロセッサ100の最高温度の関係を示す図である。プロセッサ100全体に最大負荷がかかるタスクをシミュレーションにより実行した場合に、センサ温度Tが50度になったとき、ホットスポットA、B、Cの温度T、T、Tとセンサ温度Tの差(以下、単に温度差分という)ΔT、ΔT、ΔTはそれぞれ、23度、25度、24度であり、このときのプロセッサ100の最高温度は、ホットスポットBの温度である75度である。
また、センサ温度Tが55度になったとき、ホットスポットA、B、Cの温度差分ΔT、ΔT、ΔTはそれぞれ、25度、24度、22度であり、このときのプロセッサ100の最高温度は、ホットスポットAの温度である80度である。さらに、センサ温度Tが60度まで上がったとき、ホットスポットA、B、Cの温度差分ΔT、ΔT、ΔTはいずれも25度であり、このときのプロセッサシステム10の最高温度は、ホットスポットA、B、Cの温度である85度である。
温度推定部140は、図4の測定結果をもとに、最大負荷時において、センサ温度Tからホットスポットの温度T、T、Tを推定する温度推定関数を求める。最大負荷時のホットスポットの温度は、基本的にはセンサ温度に温度差分を重ね合わせることで得られるが、より一般的には、ホットスポットの温度はセンサ温度に関する関数と考えることができる。温度推定関数の一例は、次の一次関数である。
=a+b
ここで、iはホットスポットA、B、Cのいずれかを指す。最大負荷時の温度推定関数の係数a、bは、図4の測定結果にもとづいて、a=1、b=25と近似することができる。
記憶部160には、こうして得られた係数a、bが最大負荷時温度推定係数162として記憶される。温度推定部140は、記憶部160に格納された最大負荷時温度推定係数162を用いて、センサ温度Tに温度推定関数をあてはめ、最大負荷時の各ホットスポットA、B、Cの温度T、T、Tを求める。
図5(a)〜(c)は、個別負荷時におけるセンサ温度TとホットスポットA、B、Cの温度T、T、Tの関係を示す図である。図5(a)は、ホットスポットAの演算ブロックに集中的な負荷がかかるタスクをシミュレーションにより実行した場合において、センサ温度TとホットスポットAの温度Tの関係を示したものである。このとき、他のホットスポットB、Cには負荷がかかっていないか、負荷がかかっていてもその負荷は相対的に小さいものとする。
ホットスポットAに個別負荷をかけた場合、センサ温度Tが50度になったとき、ホットスポットAの温度Tは65度である。また、センサ温度Tが60度になったとき、ホットスポットAの温度Tは75度である。さらに、センサ温度Tが70度になったとき、ホットスポットAの温度Tは85度である。この関係より、個別負荷時のホットスポットAの温度Tとセンサ温度Tの温度差分ΔTは15度である。
温度推定部140は、図5(a)の測定結果をもとに、個別負荷時において、センサ温度TからホットスポットAの温度Tを推定する温度推定関数を次の一次関数で近似する。
=a+b
ここで、個別負荷時の温度推定関数の係数a、bは、図5(a)の測定結果にもとづいて、a=1、b=15と求めることができる。記憶部160には、こうして得られた係数a、bが個別負荷時温度推定係数164として記憶される。
同様に、図5(b)は、ホットスポットBの演算ブロックに集中的に負荷をかけた場合に、センサ温度TとホットスポットBの温度Tの関係を示したものである。この関係より、個別負荷時において、センサ温度TからホットスポットBの温度Tを推定する温度推定関数を1次関数などで近似して求め、得られた係数を個別負荷時温度推定係数164として記憶部160に記憶する。同様に、図5(c)は、ホットスポットCの演算ブロックに集中的に負荷をかけた場合に、センサ温度TとホットスポットCの温度Tの関係を示したものであり、この関係より、個別負荷時において、センサ温度TからホットスポットCの温度Tを推定する温度推定関数を求め、得られた係数を個別負荷時温度推定係数164として記憶部160に記憶する。
このようにして、記憶部160には、ホットスポット毎に個別負荷時温度推定係数164が記憶されることになる。温度推定部140は、記憶部160に格納された個別負荷時温度推定係数164を用いて、センサ温度Tに温度推定関数をあてはめ、個別負荷時の各ホットスポットA、B、Cの温度T、T、Tを求める。
温度推定関数を求める代わりに、図5(a)〜(c)のようなセンサ温度Tの値に対する各ホットスポットA、B、Cの温度T、T、Tの値を格納したテーブルを記憶部160に格納してもよい。この場合、温度推定部140は、テーブルを参照することにより、センサ温度Tの値に対応する各ホットスポットA、B、Cの温度T、T、Tの値を取得することができる。
図6は、温度推定部140による温度推定係数の取得手順を説明するフローチャートである。
まず、シミュレーションツールなどによって、プロセッサ100に最大負荷をかけ、最大負荷パターンのもとでプロセッサ100の温度分布を測定する(S10)。プロセッサ100の温度分布は、プロセッサ100の各演算ブロックの温度を検出することによって得られる。各演算ブロックの温度は実測によって求めてもよく、プロセッサ100の回路設計時のシミュレータなどにより発熱量を計算することで各演算ブロックの温度を求めてもよい。
得られた温度分布から、プロセッサ100のホットスポットを特定する(S12)。ホットスポットは、図3(a)で説明したように、最高温度をもつ演算ブロックである。最高温度をもつ演算ブロックが複数あれば、複数のホットスポットが特定される。ここで、最高温度をもつ演算ブロックだけでなく、たとえば、2番目、3番目に高い温度をもつ演算ブロックをホットスポットとして選んでもよい。
温度推定部140は、ホットスポットの温度とセンサ温度の関係から最大負荷時の温度推定式を求め(S14)、最大負荷時の温度推定式の係数を最大負荷時温度推定係数162として記憶部160に記録する(S16)。温度推定式は、センサ温度をホットスポットの温度に変換する一次関数または高次関数である。
次に、シミュレーションツールなどによって、ステップS12で特定されたホットスポットの各々に集中的な負荷をかけ、各ホットスポットを中心とした個別負荷パターンのもとでプロセッサ100の温度分布を測定する(S18)。個別負荷時の温度分布測定の際、プロセッサ100のすべての演算ブロックの温度を測定しなくてもよく、少なくとも負荷が集中的にかかっているホットスポットの演算ブロックについて温度が測定されていればよい。
温度推定部140は、各ホットスポットの温度とセンサ温度の関係から、各ホットスポットについて個別負荷時の温度推定式を求め(S20)、各ホットスポットについて、個別負荷時の温度推定式の係数を個別負荷時温度推定係数164として記憶部160に記録する(S22)。
図7は、温度推定部140による温度推定手順を説明するフローチャートである。
全体熱量測定部130は、プロセッサ100の全体の熱量を測定し、全体熱量の大小を判定する(S30)。全体熱量が所定の閾値よりも大きい場合(S30のY)、温度推定部140は、記憶部160に格納された最大負荷時温度推定係数162を参照し、最大負荷時の温度推定関数によってプロセッサ100の最高温度を推定する(S32)。
全体熱量が大きい場合は、負荷が大きい演算ブロックが多数あり、演算ブロックによって温度の高低があるが、全体的には温度が高いレベルにある。したがって、演算ブロック毎の差はあるものの、発熱がピークになる箇所とセンサ位置の温度差は、最大負荷時におけるホットスポットとセンサ位置の温度差で近似することができる。そこで、全体熱量が大きいときは、最大負荷時の温度推定関数をあてはめて、センサ温度をホットスポットの温度に変換し、そのホットスポットの温度をプロセッサ100の最高温度と推定する。温度推定部140は、最大負荷時の温度推定関数を用いて推定された最高温度を動作周波数制御部150に与える。
動作周波数制御部150は、温度推定部140が推定した最高温度が所定の閾値よりも大きい場合(S36のY)、プロセッサ100の動作周波数を下げる制御を行う(S38)。たとえば、プロセッサ100の限界温度が85度であるとすると、所定の閾値は85度に設定され、図4の例では、センサ温度が60度に達した場合に、温度推定部140により最高温度が85度と推定され、動作周波数制御部150により動作周波数を下げる制御が行われる。
温度推定部140が推定した最高温度が所定の閾値以下である場合(S36のN)動作周波数制御部150は、動作周波数を制御せず、処理はステップS30に戻る。
ステップS30において、プロセッサ100の全体熱量が所定の閾値以下である場合(S30のN)、温度推定部140は、記憶部160に格納された個別負荷時温度推定係数164を参照し、個別負荷時の温度推定関数によってプロセッサ100の最高温度を推定する(S34)。
全体熱量が小さい場合は、プロセッサ100全体には大きな負荷はかかっていないが、特定の箇所に集中的に負荷がかかり、局所的に高温になっている可能性がある。すなわち、演算ブロック毎に温度の違いが大きく、センサ温度との温度差はさまざまな値となりうる。このような場合、発熱がピークになる箇所とセンサ位置の温度差は、ホットスポットに集中的に負荷をかけたときのホットスポットとセンサ位置の温度差で近似するのが好ましい。そこで、全体熱量が小さいときは、個別負荷時の温度推定関数をあてはめて、センサ温度をホットスポットの温度に変換し、そのホットスポットの温度をプロセッサ100の最高温度と推定する。
複数のホットスポットがある場合は、それぞれのホットスポットについて、個別に集中的な負荷がかかっていると想定した場合に、それぞれの個別負荷時の温度推定関数をあてはめて、センサ温度から各ホットスポットの温度を求め、各ホットスポットの温度のうち、最も高い温度をプロセッサ100の最高温度とする。すなわち、いずれのホットスポットに負荷がかかっているかはわからないため、最悪の場合を想定してプロセッサ100の最高温度を見積もる。
たとえば、図5(a)〜(c)の例において、現在のセンサ温度が60度で、プロセッサ100の限界温度が85度であるとする。仮にホットスポットAに負荷が集中していたとすると、図5(a)より、センサ温度60度に対応するホットスポットAの温度Tは75度であり、限界温度以下である。また、仮にホットスポットBに負荷が集中していたとすると、図5(b)より、ホットスポットBの温度Tは72度であり、やはり限界温度以下である。
しかし、仮にホットスポットCに負荷が集中していたとすると、図5(c)より、ホットスポットCの温度Tは85度であり、限界温度に達する。いずれのホットスポットに負荷が集中しているかはわからないが、最悪の場合を想定すると、ホットスポットCに負荷が集中して、ホットスポットCが限界温度に達している可能性がある。温度推定部140は、プロセッサ100の全体熱量が小さい場合には、ホットスポット毎に個別負荷がかかった場合を想定し、各ホットスポットの温度を求め、最も温度が高いホットスポットを選び、そのホットスポットの温度をプロセッサ100の最高温度とする。
温度推定部140は、このようにして個別負荷時の温度推定関数を用いて推定された最高温度を動作周波数制御部150に与え、動作周波数制御部150は、最大負荷時と同様に、ステップS36、S38の処理を行う。
本実施の形態の温度推定装置20によれば、シミュレーションや実験などによりあらかじめプロセッサ100のホットスポットを特定しておき、温度センサ120による検出温度とホットスポットの温度の差に関する情報を記憶しておくことで、温度センサ120による検出温度からプロセッサ100の最高温度を簡単な構成で推定することができる。
ヒートシンクなどの強力な冷却機構によって、チップ全体の熱流束すなわち単位面積あたりの発熱量が大きくなれば、どんなチップであっても局所的なホットスポットが発生しやすくなり、複数のホットスポットが分散して生じることになる。本実施の形態の温度推定装置20によれば、複数のホットスポットに対応した温度推定関数によって、センサ温度からプロセッサ100の最高温度を推定することができるため、温度センサ120の設置個数を抑えて、プロセッサ100の製造コストを削減することができる。
また、本実施の形態の温度推定装置20によるプロセッサ100の温度推定方法では、プロセッサ100の全体熱量の大小によって、最大負荷時の温度推定係数と個別負荷時の温度推定係数を切り替え、センサ温度からホットスポットの温度を求め、プロセッサ100の最高温度を推定する。全体の熱量が小さいときに、最大負荷時の温度推定係数を使うと、最高温度を過大評価してしまい、誤差が生じることがあるが、本実施の形態の温度推定方法では、全体の熱量が小さいときには、個別負荷時の温度推定係数を用いるため、誤差を小さく抑えることができる。
上記の説明では、最大負荷時および個別負荷時の温度推定関数の係数は、シミュレーションで求めた値に固定されていたが、この係数をプロセッサ100の負荷に応じて動的に変更してもよい。
図8は、温度推定係数を動的に調整する場合における温度推定装置20の構成図である。温度推定装置20は、図2の構成以外に負荷測定部170を有する。
負荷測定部170は、プロセッサ100において実行される命令やタスクをハードウエアもしくはソフトウエアによってモニタリングすることにより、プロセッサ100の各ホットスポットに相当する演算ブロックの動作時の負荷をリアルタイム測定し、各ホットスポットの負荷情報を温度推定部140に与える。
温度推定部140は、負荷測定部170によって与えられた各ホットスポットの負荷情報にもとづいて、最大負荷時および個別負荷時の温度推定関数の係数を調整する。具体的には、温度推定関数が一次関数T=aT+bである場合、温度推定係数a、bを負荷αの関数として扱い、温度推定係数a、bを負荷αによって調整する。たとえば、負荷αが小さい場合には、温度推定係数a、bの値が小さくなるように補正することにより、温度推定の際の過大評価を避ける。また、負荷αが大きい場合には、温度推定係数a、bの値が大きくなるように補正することにより、プロセッサ100の最高温度を実際よりも低く推定してしまう危険性を回避する。
温度推定部140は、負荷測定部170から得られるホットスポットの負荷情報以外に、動作周波数や電源電圧などを用いて、ホットスポットの発熱量を推定し、推定された発熱量にもとづいて、温度推定係数を調整してもよい。
温度推定係数の動的調整は、最大負荷時の温度推定関数、個別負荷時の温度推定関数のいずれか、もしくは両方に用いることができる。温度推定係数の動的調整により、温度推定関数が定常関数から非定常関数に変わり、負荷状況によってセンサ出力が補正される。プロセッサ100の全体熱量をもとにセンサ温度から推定される基準温度に個別の負荷状況を反映させ、プロセッサ100の最高温度をより高い精度で推定することができる。
上記の説明では、温度センサ120は、最大負荷をかけた場合に、ホットスポットの温度を偏りなく測定できる位置に設置された。一般に、ホットスポットが複数存在する場合、温度センサ120は、複数のホットスポットのそれぞれの温度を均等な精度で検出できることが望ましい。温度センサ120を特定のホットスポットに近づけ、他のホットスポットから遠ざけて設置すると、近くにあるホットスポットについては高い精度で温度を検出できるが、遠くにあるホットスポットの温度の測定精度は落ちてしまうからである。
温度センサ120とホットスポットの位置関係は、最大負荷パターンのときだけでなく、他の負荷パターンのときにも対応できるように最適化することがより好ましい。そこで、負荷条件をランダムに振り、プロセッサ100にいろいろな負荷パターンを与え、センサ温度が最も安定して各ホットスポットの温度と連動する位置、言い換えれば、ホットスポットの温度のばらつきによる影響が最も少ない位置を求め、その位置に温度センサ120を配置する。
図9は、温度センサ120の設置位置を調整する様子を示す。プロセッサ100にランダムな負荷をかけて、温度センサ120の位置を学習により逐次的に調整する。たとえば、第i回目の温度センサ120の位置が同図のSの位置にあったとする。このとき、ある負荷パターンのもと、センサ温度Tと各ホットスポットA、B、Cの温度T、T、Tの差ΔT、ΔT、ΔTを求めたとき、ΔT、ΔT、ΔTの値にばらつきがあったとする。たとえば、センサ温度Tが60度であるとき、ΔT=10、ΔT=5、ΔT=20である場合、センサ位置をホットスポットCに近づけることで、ホットスポットCの温度の測定感度を上げることが望ましい。そこで、温度センサ120の位置をSからホットスポットCに近いSi+1の位置に変更する。
図10は、温度センサ120の設置位置の学習手順を説明するフローチャートである。ランダムな負荷をプロセッサ100にかけて、その負荷パターンのもとでプロセッサ100の温度分布を測定する(S50)。温度分布の測定により、複数のホットスポットの温度と、現在の設置位置における温度センサ120のセンサ温度とが得られる。
各ホットスポットの温度とセンサ温度の差を測定する(S52)。各ホットスポットとセンサの温度差のばらつきが少なくなるように、温度センサ120の位置を調整する(S54)。このセンサ位置調整は、各ホットスポットとセンサの温度差がホットスポット間で均等になる方向に、センサ位置を調整することで行われる。
センサ位置の学習を停止する場合(S56のY)、現在の温度センサ120の位置を最適位置とし、終了するが、センサ位置の学習を停止しない場合(S56のN)、ステップS50に戻り、さらにランダムな負荷パターンを与えて、センサ位置を調整する処理を繰り返す。
このようにランダムな負荷を繰り返し与えて、センサ位置を最適化することにより、未知の負荷パターンに対して、いずれかのホットスポットが限界温度に達した場合に、温度センサ120による検出温度からプロセッサ100が限界温度に達していることを確実に推定できるようになる。これによって、負荷変動やチップ上の温度分布のばらつきなどによるプロセッサ100の最高温度の推定誤差を一層低減し、温度推定精度を向上することができる。
上記の説明では、温度センサ120をプロセッサ100に1つ設けた場合を説明したが、プロセッサ100には複数の温度センサ120を設けてもよい。図11は、プロセッサ100のホットスポットと複数の温度センサ120の位置関係を説明する図である。同図に示すように、プロセッサ100は4つの大きなエリアに分けられ、各エリア内で、ホットスポットとなる演算ブロックが特定され、各エリア毎にホットスポットの温度を推定するための温度センサ120が設けられる。
ホットスポットA〜Cの温度を推定するのは、センサ位置Sに設けられた温度センサである。センサ位置Sは既に述べた学習手順により最適化されたものであってもよい。同様に、ホットスポットD〜Fの温度を推定するのは、センサ位置Sに設けられた温度センサであり、ホットスポットG〜Iの温度を推定するのは、センサ位置Sに設けられた温度センサであり、ホットスポットJ〜Lの温度を推定するのは、センサ位置Sに設けられた温度センサである。
プロセッサ100のホットスポットの個数やホットスポットの分布によって、温度センサ120を設置する個数、設置箇所には設計の自由度があり、実験やシミュレーションによって決めることができる。ホットスポットが多数存在する場合でも、ホットスポットをグループ分けして、グループ内のホットスポットの温度検出を担当する温度センサ120を割り当て、少ない数の温度センサ120によって、プロセッサ100の最高温度を推定することができ、製造コスト削減につながる。
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を説明する。
実施の形態では、1つのプロセッサ100を含むプロセッサシステム10において、プロセッサ100のホットスポットの温度を推定したが、メインプロセッサ、サブプロセッサなどの複数のプロセッサモジュールを含むマルチプロセッサシステムにおいて、マルチプロセッサシステム全体の発熱制御を目標として、メインプロセッサ、サブプロセッサなどの各モジュールのホットスポットの温度を推定してもよい。
実施の形態では、プロセッサ100の最高温度が所定の閾値を超えた場合に、プロセッサ100の動作周波数を下げる制御を行ったが、発熱対策としては、これ以外の方法を採用してもよい。たとえば、プロセッサ100の全体熱量が小さく、特定の箇所に負荷が集中しているために、特定の演算ブロックだけが高温となっている場合には、タスクを他の演算ブロックに振り分ける負荷分散を行ってもよい。この場合、図2および図8に示すように、温度推定装置20に負荷分散部180をさらに設け、負荷分散部180が、演算ブロックの発熱状況に応じて、負荷を複数の演算ブロック間で振り分けることにより、プロセッサの発熱を平準化する。負荷の振り分けはタスク単位で行われてもよく、粒度の細かい命令単位で行われてもよい。なお、負荷分散部180は、動作周波数制御部150の代わりに設けられてもよく、動作周波数制御部150と併設されてもよい。動作周波数制御部150と負荷分散部180が併設される場合は、状況に応じて、動作周波数制御と負荷分散を切り替えて実行したり、動作周波数制御と負荷分散を組み合わせて実行することもできる。
この発熱対策としての負荷分散は、複数のプロセッサをもつマルチプロセッサシステムにおいて特に有効である。負荷分散部180が複数のプロセッサ間で負荷を振り分けることによって、特定のプロセッサに負荷が集中して発熱により限界温度を超えるのを防ぐことができる。ここで、マルチプロセッサシステムは、複数の同種のプロセッサエレメントを含む均質(homogeneous)型と、複数の同種のプロセッサエレメント以外に制御用プロセッサを含む異種混合(heterogeneous)型とがある。図12は、異種混合型のマルチプロセッサシステム200の構成と温度センサの設置位置を説明する図である。制御用プロセッサ210は図2または図8の温度推定装置20の機能構成を備え、8個のプロセッサエレメント220a〜hの温度推定を行う。同図のように、3個の温度センサが8個のプロセッサエレメント220a〜hの境界付近のセンサ位置S、S、Sに設置され、温度推定装置20の温度推定部140は、各温度センサから温度の測定データを取得する。温度推定装置20の負荷分散部180は、温度推定部140による温度推定結果にもとづいて8個のプロセッサエレメント220a〜h間で負荷の振り分けを行う。なお、温度センサの数と設置位置は一例を示したものであり、温度センサの数を増やしたり、設置位置を異ならせてもよい。
均質型のマルチプロセッサシステムの場合は、複数の同種のプロセッサエレメントのうち、いずれか1つのプロセッサエレメントが温度推定装置20の機能構成をもち、自プロセッサエレメントと残りの他のプロセッサエレメントに対して温度推定と負荷分散を行ってもよい。また、均質型のマルチプロセッサシステムにおいて、すべての同種のプロセッサエレメントが温度推定装置20の機能構成をもち、それぞれのプロセッサエレメント内で独立に温度推定と負荷分散を行ってもよい。また、温度推定装置20の機能構成をソフトウエアで実現する場合についても同様に、1つのプロセッサエレメントが、自プロセッサエレメントと残りの他のプロセッサエレメントに対して温度推定と負荷分散の機能をソフトウエア処理として実行してもよく、もしくはすべてのプロセッサエレメントがそれぞれ温度推定と負荷分散の機能をソフトウエア処理として独立に実行してもよい。
マルチプロセッサシステムの場合でも、発熱対策として、負荷分散に代えて、あるいは負荷分散とともに、動作周波数制御を行うことができる。その場合、温度推定装置20の動作周波数制御部150は、すべてのプロセッサエレメントに対して一斉に動作周波数を下げる制御を行ってもよいが、個々のプロセッサエレメントに対して独立に動作周波数を制御できる構成の場合、複数のプロセッサエレメントの内、少なくともホットスポットが検出されたプロセッサエレメントに対して動作周波数を下げる制御を行ってもよい。
さらに別の発熱対策として、ホットスポットとなった演算ブロックを局所的に冷却ノズルを用いて冷却する方法をとってもよい。このようなピンポイントの放熱制御は、プロセッサ100の全体熱量が小さく、特定の箇所だけが局所的に発熱している場合に効果的である。また、プロセッサシステム10の電源電圧を下げるなどの緊急処置をとるように構成してもよい。
実施の形態では、プロセッサ100のホットスポットの温度を推定する処理をプロセッサ100自身が行ったが、プロセッサ100の外部で温度センサ120からの出力にもとづいて温度を推定する処理を行ってもよく、図2の温度推定装置20の構成は、プロセッサ100の外部に設けられてもよい。また、温度センサ120に演算機能をもたせ、温度センサ120自身が温度を推定する処理を行ってもよい。
実施の形態のプロセッサシステムを搭載した情報処理装置を構成してもよい。そのような情報処理装置としてパーソナルコンピュータ、各種携帯機器などがある。
実施の形態に係るプロセッサシステムの構成図である。 実施の形態に係る温度推定装置の構成図である。 図1のプロセッサのホットスポットと温度センサの位置関係を説明する図である。 最大負荷時におけるセンサ温度とプロセッサの最高温度の関係を示す図である。 個別負荷時におけるセンサ温度とホットスポットの温度の関係を示す図である。 図2の温度推定部による温度推定係数の取得手順を説明するフローチャートである。 図2の温度推定部による温度推定手順を説明するフローチャートである。 温度推定係数を動的に調整する場合における温度推定装置の構成図である。 温度センサの設置位置を調整する様子を示す図である。 温度センサの設置位置の学習手順を説明するフローチャートである。 図1のプロセッサのホットスポットと複数の温度センサの位置関係を説明する図である。 異種混合型のマルチプロセッサシステムの構成と温度センサの設置位置を説明する図である。
符号の説明
10 プロセッサシステム、 20 温度推定装置、 100 プロセッサ、 110 メモリ、 120 温度センサ、 130 全体熱量測定部、 140 温度推定部、 150 動作周波数制御部、 160 記憶部、 162 最大負荷時温度推定係数、 164 個別負荷時温度推定係数、 170 負荷測定部、 180 負荷分散部。

Claims (26)

  1. 当該プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と、
    当該プロセッサ全体に最大負荷をかけた場合における、前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報と、前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報とを記憶する記憶部と、
    当該プロセッサの全体熱量を測定する熱量測定部とを含み、
    前記温度推定部は、前記熱量測定部によって測定された全体熱量に応じて前記最大負荷をかけた場合における前記対応関係と、前記個別に負荷をかけた場合における前記対応関係のいずれかに切り替えて参照して、前記複数の発熱ブロックの温度を推定することを特徴とするプロセッサ。
  2. 当該プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と、
    前記複数の発熱ブロックのそれぞれの動作負荷を測定する負荷測定部とを含み、
    前記温度推定部は、前記負荷測定部により測定された動作負荷に応じて、前記複数の発熱ブロックの温度の推定値を補正することを特徴とするプロセッサ。
  3. 当該プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と、
    前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報を記憶する記憶部とを含み、
    前記温度推定部は、それぞれの発熱ブロックに個別に負荷がかかった場合を想定し、それぞれの発熱ブロックに個別に負荷をかけた場合における前記対応関係に関する情報を参照して、各発熱ブロックの温度を推定し、各発熱ブロックの推定温度のうち、最も高い推定温度を当該プロセッサの最高温度として求めることを特徴とするプロセッサ。
  4. 前記センサは、前記センサによる前記特定ブロックの検出温度をもとにして推定される前記複数の発熱ブロックの温度の推定誤差が相対的に小さくなる位置に配置されることを特徴とする請求項1から3のいずれかに記載のプロセッサ。
  5. 前記温度推定部による温度推定をもとに当該プロセッサの演算ブロック間で負荷を振り分ける負荷分散部をさらに含むことを特徴とする請求項1から4のいずれかに記載のプロセッサ。
  6. 前記温度推定部による推定温度が所定の閾値を超えた場合に、当該プロセッサの動作周波数を下げる制御を行う動作周波数制御部をさらに含むことを特徴とする請求項1から5のいずれかに記載のプロセッサ。
  7. プロセッサ全体の発熱量が相対的に大きい場合、前記プロセッサに最大負荷をかけた状態における、センサによるプロセッサの特定ブロックの検出温度と前記プロセッサの発熱ブロックの温度の差にもとづいて、前記検出温度から前記プロセッサの最高温度を推定し、前記発熱量が相対的に小さい場合、前記発熱ブロックに選択的に負荷をかけた状態における、前記センサによる前記特定ブロックの検出温度と前記発熱ブロックの温度の差にもとづいて、前記検出温度から前記プロセッサの最高温度を推定することを特徴とする温度推定方法。
  8. 前記発熱ブロックの動作負荷に応じて前記プロセッサの最高温度の推定値を補正することを特徴とする請求項7に記載の温度推定方法。
  9. 推定された温度をもとに前記プロセッサの演算ブロック間で負荷を振り分けることを特徴とする請求項7または8に記載の温度推定方法。
  10. 推定された温度が所定の閾値を超えた場合に、前記プロセッサの動作周波数を下げる制御を行うことを特徴とする請求項7から9のいずれかに記載の温度推定方法。
  11. プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と
    当該プロセッサ全体に最大負荷をかけた場合における、前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報と、前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報とを記憶する記憶部と、
    当該プロセッサの全体熱量を測定する熱量測定部とを含み、
    前記温度推定部は、前記熱量測定部によって測定された全体熱量に応じて前記最大負荷をかけた場合における前記対応関係と、前記個別に負荷をかけた場合における前記対応関係のいずれかに切り替えて参照して、前記複数の発熱ブロックの温度を推定することを特徴とするプロセッサシステム。
  12. プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と
    前記複数の発熱ブロックのそれぞれの動作負荷を測定する負荷測定部とを含み、
    前記温度推定部は、前記負荷測定部により測定された動作負荷に応じて、前記複数の発熱ブロックの温度の推定値を補正することを特徴とするプロセッサシステム。
  13. プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と、
    前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報を記憶する記憶部とを含み、
    前記温度推定部は、それぞれの発熱ブロックに個別に負荷がかかった場合を想定し、それぞれの発熱ブロックに個別に負荷をかけた場合における前記対応関係に関する情報を参照して、各発熱ブロックの温度を推定し、各発熱ブロックの推定温度のうち、最も高い推定温度を当該プロセッサの最高温度として求めることを特徴とするプロセッサシステム。
  14. 前記温度推定部による温度推定をもとに前記プロセッサの演算ブロック間で負荷を振り分ける負荷分散部をさらに含むことを特徴とする請求項11から13のいずれかに記載のプロセッサシステム。
  15. 当該プロセッサシステムは、複数のプロセッサを含むマルチプロセッサシステムであり、
    前記負荷分散部は、前記温度推定部による温度推定をもとに前記複数のプロセッサ間で負荷を振り分けることを特徴とする請求項14に記載のプロセッサシステム。
  16. 前記温度推定部による推定温度が所定の閾値を超えた場合に、前記プロセッサの動作周波数を下げる制御を行う動作周波数制御部をさらに含むことを特徴とする請求項11から15のいずれかに記載のプロセッサシステム。
  17. 当該プロセッサシステムは、複数のプロセッサを含むマルチプロセッサシステムであり、
    前記動作周波数制御部は、前記複数のプロセッサの内、少なくとも前記温度推定部による推定温度が所定の閾値を超えたプロセッサに対して動作周波数を下げる制御を行うことを特徴とする請求項16に記載のプロセッサシステム。
  18. プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と
    当該プロセッサ全体に最大負荷をかけた場合における、前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報と、前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報とを記憶する記憶部と、
    当該プロセッサの全体熱量を測定する熱量測定部とを含み、
    前記温度推定部は、前記熱量測定部によって測定された全体熱量に応じて前記最大負荷をかけた場合における前記対応関係と、前記個別に負荷をかけた場合における前記対応関係のいずれかに切り替えて参照して、前記複数の発熱ブロックの温度を推定することを特徴とする温度推定装置。
  19. プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と
    前記複数の発熱ブロックのそれぞれの動作負荷を測定する負荷測定部とを含み、
    前記温度推定部は、前記負荷測定部により測定された動作負荷に応じて、前記複数の発熱ブロックの温度の推定値を補正することを特徴とする温度推定装置。
  20. プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と、
    前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報を記憶する記憶部とを含み、
    前記温度推定部は、それぞれの発熱ブロックに個別に負荷がかかった場合を想定し、それぞれの発熱ブロックに個別に負荷をかけた場合における前記対応関係に関する情報を参照して、各発熱ブロックの温度を推定し、各発熱ブロックの推定温度のうち、最も高い推定温度を当該プロセッサの最高温度として求めることを特徴とする温度推定装置。
  21. プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と
    当該プロセッサ全体に最大負荷をかけた場合における、前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報と、前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報とを記憶する記憶部と、
    当該プロセッサの全体熱量を測定する熱量測定部とを含み、
    前記温度推定部は、前記熱量測定部によって測定された全体熱量に応じて前記最大負荷をかけた場合における前記対応関係と、前記個別に負荷をかけた場合における前記対応関係のいずれかに切り替えて参照して、前記複数の発熱ブロックの温度を推定することを特徴とする情報処理装置。
  22. プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と
    前記複数の発熱ブロックのそれぞれの動作負荷を測定する負荷測定部とを含み、
    前記温度推定部は、前記負荷測定部により測定された動作負荷に応じて、前記複数の発熱ブロックの温度の推定値を補正することを特徴とする情報処理装置。
  23. プロセッサの特定ブロックの温度を測定するセンサと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定する温度推定部と、
    前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報を記憶する記憶部とを含み、
    前記温度推定部は、それぞれの発熱ブロックに個別に負荷がかかった場合を想定し、それぞれの発熱ブロックに個別に負荷をかけた場合における前記対応関係に関する情報を参照して、各発熱ブロックの温度を推定し、各発熱ブロックの推定温度のうち、最も高い推定温度を当該プロセッサの最高温度として求めることを特徴とする情報処理装置。
  24. プロセッサの特定ブロックの温度を測定するステップと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定するステップと
    当該プロセッサ全体に最大負荷をかけた場合における、前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報と、前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報とを記憶するステップと、
    当該プロセッサの全体熱量を測定するステップとをコンピュータに実行させ、
    前記温度を推定するステップは、測定された前記全体熱量に応じて前記最大負荷をかけた場合における前記対応関係と、前記個別に負荷をかけた場合における前記対応関係のいずれかに切り替えて参照して、前記複数の発熱ブロックの温度を推定することを特徴とするプログラム。
  25. プロセッサの特定ブロックの温度を測定するステップと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定するステップと
    前記複数の発熱ブロックのそれぞれの動作負荷を測定するステップとをコンピュータに実行させ、
    前記温度を推定するステップは、測定された前記動作負荷に応じて、前記複数の発熱ブロックの温度の推定値を補正することを特徴とするプログラム。
  26. プロセッサの特定ブロックの温度を測定するステップと、
    前記センサにより検出される前記特定ブロックの温度をもとに、前記プロセッサの複数の発熱ブロックの温度を推定するステップと、
    前記複数の発熱ブロックの各々に個別に負荷をかけた場合における、前記センサによる前記特定ブロックの検出温度と前記複数の発熱ブロックの温度の対応関係に関する情報を記憶するステップとを含み、
    前記温度を推定するステップは、それぞれの発熱ブロックに個別に負荷がかかった場合を想定し、それぞれの発熱ブロックに個別に負荷をかけた場合における前記対応関係に関する情報を参照して、各発熱ブロックの温度を推定し、各発熱ブロックの推定温度のうち、最も高い推定温度を当該プロセッサの最高温度として求めることを特徴とするプログラム。
JP2004167806A 2004-06-04 2004-06-04 プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法 Active JP3781758B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004167806A JP3781758B2 (ja) 2004-06-04 2004-06-04 プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法
KR1020067012464A KR100831854B1 (ko) 2004-06-04 2005-04-26 프로세서, 프로세서 시스템, 온도추정장치, 정보처리장치및 온도추정방법
PCT/JP2005/007884 WO2005119402A1 (ja) 2004-06-04 2005-04-26 プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法
CNB2005800016441A CN100527044C (zh) 2004-06-04 2005-04-26 处理器、处理器系统、温度推测装置、信息处理装置
US10/591,080 US7520669B2 (en) 2004-06-04 2005-04-26 Processor, processor system, temperature estimation device, information processing device, and temperature estimation method
EP05736706.2A EP1762924B8 (en) 2004-06-04 2005-04-26 Processor and temperature estimation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004167806A JP3781758B2 (ja) 2004-06-04 2004-06-04 プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法

Publications (2)

Publication Number Publication Date
JP2005346590A JP2005346590A (ja) 2005-12-15
JP3781758B2 true JP3781758B2 (ja) 2006-05-31

Family

ID=35463047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004167806A Active JP3781758B2 (ja) 2004-06-04 2004-06-04 プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法

Country Status (6)

Country Link
US (1) US7520669B2 (ja)
EP (1) EP1762924B8 (ja)
JP (1) JP3781758B2 (ja)
KR (1) KR100831854B1 (ja)
CN (1) CN100527044C (ja)
WO (1) WO2005119402A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7187053B2 (en) * 2003-06-26 2007-03-06 International Business Machines Corporation Thermal sensing method and system
US7347621B2 (en) * 2004-07-16 2008-03-25 International Business Machines Corporation Method and system for real-time estimation and prediction of the thermal state of a microprocessor unit
US20060277546A1 (en) * 2005-06-02 2006-12-07 Rothman Michael A Detecting virtualization
JP4946077B2 (ja) * 2006-01-31 2012-06-06 パナソニック株式会社 センサー配置装置、センサー制御装置およびセンサー制御システム
JP2007250591A (ja) * 2006-03-13 2007-09-27 Toshiba Corp 温度制御システム
JP4719087B2 (ja) * 2006-05-31 2011-07-06 株式会社東芝 情報処理装置、冷却システム、および冷却方法
CN100517176C (zh) * 2006-06-21 2009-07-22 国际商业机器公司 实现热调节逻辑的数据处理系统和方法
US20080011467A1 (en) 2006-06-23 2008-01-17 Intel Corporation Method, apparatus and system for thermal management using power density feedback
US7830690B2 (en) * 2006-10-30 2010-11-09 Intel Corporation Memory module thermal management
KR100929148B1 (ko) 2007-01-08 2009-12-01 주식회사 메디슨 초음파 진단용 프로브의 표면 온도 예측 방법
JP5151203B2 (ja) * 2007-03-26 2013-02-27 日本電気株式会社 ジョブスケジューリング装置及びジョブスケジューリング方法
US7894944B2 (en) 2007-07-06 2011-02-22 Microsoft Corporation Environmental monitoring in data facilities
KR100951588B1 (ko) 2007-10-16 2010-04-09 주식회사 메디슨 2차원 매트릭스 배열형 프로브의 표면 온도 예측 방법
US8315746B2 (en) 2008-05-30 2012-11-20 Apple Inc. Thermal management techniques in an electronic device
US8306772B2 (en) 2008-10-13 2012-11-06 Apple Inc. Method for estimating temperature at a critical point
JP5213055B2 (ja) * 2009-06-01 2013-06-19 Necインフロンティア株式会社 カード型端末用温度通知装置
JP5647416B2 (ja) * 2010-01-12 2014-12-24 本田技研工業株式会社 発熱素子温度推定装置
US8424006B2 (en) * 2010-06-03 2013-04-16 International Business Machines Corporation Task assignment on heterogeneous three-dimensional/stacked microarchitectures
US8452463B2 (en) 2010-06-04 2013-05-28 Apple Inc. Adjusting the thermal behavior of a computing system using indirect information about ambient temperature
US8768530B2 (en) * 2010-06-04 2014-07-01 Apple Inc. Thermal zone monitoring in an electronic device
KR20120080947A (ko) * 2011-01-10 2012-07-18 엘지전자 주식회사 의류처리장치의 운전방법
JP5748047B2 (ja) * 2011-02-15 2015-07-15 日本電気株式会社 冷却システム、および効率的装置冷却方法
US8942857B2 (en) * 2011-04-22 2015-01-27 Qualcomm Incorporated Method and system for thermal load management in a portable computing device
TWI486763B (zh) * 2011-07-18 2015-06-01 Wistron Corp 電腦系統之過熱保護方法及相關裝置
CN102984914B (zh) * 2011-09-02 2016-01-27 联想(北京)有限公司 一种控制电子装置温度的方法和电子装置
KR101840852B1 (ko) 2011-10-10 2018-03-22 삼성전자주식회사 모바일 장치의 표면 온도 관리 방법 및 멀티칩 패키지의 메모리 열관리 방법
KR102078093B1 (ko) 2011-11-10 2020-02-18 삼성전자 주식회사 휴대단말기의 온도 제어장치 및 방법
US9377830B2 (en) 2011-12-30 2016-06-28 Samsung Electronics Co., Ltd. Data processing device with power management unit and portable device having the same
KR101885857B1 (ko) 2012-01-04 2018-08-06 삼성전자주식회사 온도 관리 회로, 이를 포함하는 시스템 온 칩 및 온도 관리 방법
KR101942027B1 (ko) 2012-03-28 2019-04-11 삼성전자 주식회사 디바이스의 온도 예측 방법
JP6101047B2 (ja) * 2012-11-07 2017-03-22 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US9279597B1 (en) 2013-11-11 2016-03-08 Brocade Communications Systems, Inc. Selection of environmental profile based on system configuration
KR102189115B1 (ko) 2013-11-11 2020-12-09 삼성전자주식회사 대칭형 다중 프로세서를 구비한 시스템 온-칩 및 이를 위한 최대 동작 클럭 주파수 결정 방법
CN104951026A (zh) * 2014-03-25 2015-09-30 联芯科技有限公司 基于嵌入式温度传感器的芯片过温自动控制方法及系统
CN105094251B (zh) * 2014-05-23 2020-03-27 西安中兴新软件有限责任公司 一种智能温控装置、方法及终端
KR102254098B1 (ko) 2014-11-20 2021-05-20 삼성전자주식회사 온도를 센싱할 수 있는 반도체 칩, 및 상기 반도체 칩을 포함하는 반도체 시스템
US10401235B2 (en) 2015-09-11 2019-09-03 Qualcomm Incorporated Thermal sensor placement for hotspot interpolation
KR102599653B1 (ko) 2015-11-20 2023-11-08 삼성전자주식회사 냉각 알고리즘을 수행하는 집적 회로와 이를 포함하는 모바일 장치
US9971368B2 (en) * 2015-12-09 2018-05-15 Qualcomm Incorporated Accurate hotspot detection through temperature sensors
US10712789B2 (en) * 2015-12-18 2020-07-14 Intel Corporation Integrated circuit thermal throttling with workload adapted thermal sensor maximum temperature
US20180067507A1 (en) * 2016-09-02 2018-03-08 Microsoft Technology Licensing, Llc Relative sensor based thermal management
KR20180074377A (ko) 2016-12-23 2018-07-03 삼성전자주식회사 전자 장치 및 전자 장치의 배터리의 온도에 기반한 발열 제어 방법
KR102325564B1 (ko) 2017-03-08 2021-11-12 삼성전자주식회사 전자 장치의 동적 열 관리 방법
US20200118012A1 (en) * 2017-04-18 2020-04-16 Hewlett-Packard Development Company, L.P. Monitoring the Thermal Health of an Electronic Device
US10481014B2 (en) * 2017-06-15 2019-11-19 Micron Technology, Inc. Adaptive throttling
JP7359078B2 (ja) 2020-05-27 2023-10-11 株式会社デンソー プロセッサ
CN112181009B (zh) * 2020-09-14 2022-07-05 科华恒盛股份有限公司 热点追踪控制方法、装置及终端设备
CN116304956B (zh) * 2023-05-15 2023-08-15 济宁市质量计量检验检测研究院(济宁半导体及显示产品质量监督检验中心、济宁市纤维质量监测中心) 一种芯片温度异常在线检测方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305268A (ja) * 1996-05-16 1997-11-28 Hitachi Ltd 消費電力及び冷却系を制御する情報処理システム
US5946181A (en) * 1997-04-30 1999-08-31 Burr-Brown Corporation Thermal shutdown circuit and method for sensing thermal gradients to extrapolate hot spot temperature
US6789037B2 (en) * 1999-03-30 2004-09-07 Intel Corporation Methods and apparatus for thermal management of an integrated circuit die
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US6557072B2 (en) 2001-05-10 2003-04-29 Palm, Inc. Predictive temperature compensation for memory devices systems and method
JP4032746B2 (ja) 2002-01-09 2008-01-16 トヨタ自動車株式会社 半導体モジュール
US7086058B2 (en) 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots
JP2004126968A (ja) 2002-10-03 2004-04-22 Fujitsu Ltd 並列計算機のジョブスケジューリング装置
US7401304B2 (en) * 2004-01-28 2008-07-15 Gradient Design Automation Inc. Method and apparatus for thermal modeling and analysis of semiconductor chip designs
US8224639B2 (en) * 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling

Also Published As

Publication number Publication date
CN1906561A (zh) 2007-01-31
EP1762924B8 (en) 2013-08-07
EP1762924B1 (en) 2013-06-05
US20080043807A1 (en) 2008-02-21
KR20070001085A (ko) 2007-01-03
WO2005119402A1 (ja) 2005-12-15
EP1762924A1 (en) 2007-03-14
JP2005346590A (ja) 2005-12-15
US7520669B2 (en) 2009-04-21
EP1762924A4 (en) 2012-04-04
KR100831854B1 (ko) 2008-05-22
CN100527044C (zh) 2009-08-12

Similar Documents

Publication Publication Date Title
JP3781758B2 (ja) プロセッサ、プロセッサシステム、温度推定装置、情報処理装置および温度推定方法
US9274574B2 (en) Methods and apparatuses for determining throttle settings to satisfy a system power constraint
US6880345B1 (en) Cooling system for an electronic component
US8856569B2 (en) Microarchitecture controller for thin-film thermoelectric cooling
US7596464B2 (en) Determining the thermal influence of components within a system and usage of a matrix for power and thermal management
JP2009042211A (ja) 半導体デバイスのための電力推定
US20080236175A1 (en) Microarchitecture control for thermoelectric cooling
Zapater et al. Leakage and temperature aware server control for improving energy efficiency in data centers
US20140277750A1 (en) Information handling system dynamic fan power management
US8028531B2 (en) Mitigating heat in an integrated circuit
US20150241887A1 (en) Thermal Management for Integrated Circuits
US8996192B2 (en) Thermal management for integrated circuits
WO2005093569A1 (ja) プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法
CN108027761B (zh) 用于热点内插的热传感器放置
US20120159198A1 (en) Processor power limit management
US8683418B2 (en) Adaptive workload based optimizations to mitigate current delivery limitations in integrated circuits
US20090099705A1 (en) Temperature management system for a multiple core chip
Ayoub et al. Temperature aware dynamic workload scheduling in multisocket cpu servers
CN104460902B (zh) 一种优化功率的风扇调控方法及装置
Li et al. Data center power minimization with placement optimization of liquid-cooled servers and free air cooling
Sarood et al. Temperature aware load balancing for parallel applications: Preliminary work
US20130166885A1 (en) Method and apparatus for on-chip temperature
US10281964B2 (en) Determining thermal time constants of processing systems
Zheng et al. TECfan: Coordinating thermoelectric cooler, fan, and DVFS for CMP energy optimization
Fulpagare et al. Optimal energy management for air cooled server fans using deep reinforcement learning control method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060307

R150 Certificate of patent or registration of utility model

Ref document number: 3781758

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090317

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120317

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120317

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130317

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130317

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140317

Year of fee payment: 8

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

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