JP6872440B2 - 半導体装置および半導体装置の制御方法 - Google Patents

半導体装置および半導体装置の制御方法 Download PDF

Info

Publication number
JP6872440B2
JP6872440B2 JP2017128159A JP2017128159A JP6872440B2 JP 6872440 B2 JP6872440 B2 JP 6872440B2 JP 2017128159 A JP2017128159 A JP 2017128159A JP 2017128159 A JP2017128159 A JP 2017128159A JP 6872440 B2 JP6872440 B2 JP 6872440B2
Authority
JP
Japan
Prior art keywords
heat generation
power consumption
temperature
power
generation control
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
JP2017128159A
Other languages
English (en)
Other versions
JP2019012377A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2017128159A priority Critical patent/JP6872440B2/ja
Priority to US16/004,878 priority patent/US10802569B2/en
Priority to EP18177461.3A priority patent/EP3422144B1/en
Priority to CN201810695204.XA priority patent/CN109213297B/zh
Publication of JP2019012377A publication Critical patent/JP2019012377A/ja
Application granted granted Critical
Publication of JP6872440B2 publication Critical patent/JP6872440B2/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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Description

本開示は半導体装置に関し、例えば発熱制御機能を有する半導体装置に適用可能である。
半導体集積回路装置において、近年、大容量化、高性能化、低コスト化などの市場ニーズに応えるため、半導体プロセスは急速に加速している。一方で、半導体プロセスの向上に伴い、消費電力は増加傾向にあり、発熱制御の重要度は増している。
複数のコアのそれぞれに温度センサを配置し、温度センサからの温度情報に基づいてコアの発熱制御が行われる(例えば、特開2005−71364号公報、特開2013−546070号公報)。
特開2005−71364号公報 特開2013−546070号公報
発熱制御のトリガとなる温度センサからの温度情報は、各々温度センサを含む複数のコアが隣接配置されるためコア間でお互いの温度干渉が起こり、発熱源となるコア(モジュール)を特定することができない。温度干渉により上昇した際の発熱制御は、不要に機能制限を行い適切な発熱制御を行うことが難しい。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本開示のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、半導体装置は、センサが検出した温度に応じて、複数のコアのそれぞれの消費電力を求め、求めた消費電力に応じて制御対象のコアを選択する。
上記半導体装置によれば、適切な発熱制御を行うことができる。
発熱制御を行う半導体装置を説明する図 図1の半導体装置の構成例を説明する図 図2の半導体装置の発熱制御選択機能の動作を説明する図 図2の半導体装置の発熱制御の開始温度と発熱制御を説明する図 温度センサの位置による所定温度到達までに必要な消費電力の違いを説明する図 温度センサの位置による所定温度到達までに必要な消費電力の違いを説明する図 図1の半導体装置の構成の変形例を説明する図 図7の半導体装置の発熱制御選択機能の動作を説明する図
本願発明者が本願開示に先立って検討した複数の温度センサを用いた温度制御を行う技術(比較例)について説明する。図1は発熱制御を行う半導体装置のブロック図である。
半導体装置1は、第一モジュール10と、第一温度センサ(THS1)61と、第二モジュール20と、第二温度センサ(THS2)62と、メモリ30と、AD変換器(ADC)40と、バス50と、を一つの半導体チップに備える。第一モジュール10は中央処理装置(CPU)であり、第二モジュール20はグラフィック処理装置(GPU)である。第一温度センサ(THS1)61は第一モジュール10に近接して配置され、第二温度センサ(THS2)62は第二モジュール20に近接して配置される。AD変換器(ADC)40は例えば第一温度センサ(THS1)61および第二温度センサ(THS2)61の温度情報をデジタル情報に変換する。
第一温度センサ(THS1)61の温度情報に基づいて第一モジュール10の発熱制御を行い、第二温度センサ(THS2)62の温度情報に基づいて第二モジュール20の発熱制御を行う。発熱制御はクロック周波数や電源電圧を低下させて発熱を抑える。
グラフィックアプリ動作時など、GPU20は高負荷(例えば、稼働率90〜95%)になり、一方でCPU10は低負荷(例えば、稼働率15%以下)なケースがある。GPU20の発熱HAにより、GPU20の付近の第二温度センサ(THS2)62だけでなく、CPU10の付近の第一温度センサ(THS1)61も温度が上昇し、温度干渉が起こる。第一温度センサ(THS1)61の温度情報に基づいてCPU10の発熱制御を行うが、第一温度センサ(THS1)61の近辺に存在するCPU10が発熱源でない場合でも、CPU10付近の第一温度センサ(THS1)61の温度が上がることでCPU10へ発熱制御が適用される。これにより、CPU10の性能を不要に下げるため、CPU10の割込み制御などにも影響を与える。本願発明者はこのような外部要因による熱の伝播をトリガとした非効率的な発熱制御が存在するという課題を見出した。
そこで、実施形態では、実際に発熱制御を行うにあたり、検出した温度異常が、制御対象としているモジュール自身の発熱であるかどうかの判定を行う。発熱制御すべきモジュールを特定するために、発熱制御対象モジュールの消費電力を算出し、予め用意した基準電力との関係から適切に発熱制御すべきモジュールを選択する。複数の発熱制御対象のモジュールに対し、適切に発熱制御すべきモジュールを選択することで適切に発熱制御することができる。
以下、実施例および変形例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
まず、実施例に係る半導体装置について図1、2を用いて説明する。図2は図1の半導体装置の構成例を示すブロック図である。
図1に示すように、半導体装置1は、第一モジュール10と、第一温度センサ(THS1)61と、第二モジュール20と、第二温度センサ(THS2)62と、メモリ30と、AD変換器(ADC)40と、バス50と、制御回路11と、を一つの半導体チップに備える。第一モジュール10は中央処理装置(CPU)であり、第二モジュール20はグラフィック処理装置(GPU)である。図1に示すように、第一温度センサ(THS1)61は第一モジュール10に近接して配置され、第二温度センサ(THS2)62は第二モジュール20に近接して配置される。AD変換器(ADC)40は例えば第一温度センサ(THS1)61および第二温度センサ(THS2)62の温度情報をデジタル情報に変換する。
図2に示すように、制御回路11は、温度検出部12と、制御対象選択部13と、発熱制御部14と、を備える。制御対象選択部13は、温度制御が必要か判断するための温度判定部131と、発熱制御対象を選択するための基礎データ15に基づいて消費電力を算出する電力計算部132と、それらのデータを基に発熱制御対象を選択する比較部133と、を有する。
温度検出部12は、第一温度センサ(THS1)61からの温度データを取得する。第一温度センサ(THS1)61および第二温度センサ(THS2)62のセンサとして、例えば、ダイオードを用いる。一定の電流が流されるダイオードの端子間電圧は、温度に伴って変化する。ダイオードに一定の電流を流し、ダイオードの両端の電圧を測定することで、温度の変化に伴って変化する電圧から、温度を測定する。アナログの電圧値は、ADC62でAD変換することでデジタル化する。温度検出部12は、デジタル化した電圧値から、温度と電圧の関係を表す対応表や計算式を用いて、対応する温度を求める。
温度判定部131は、取得した温度データと、予め設定してある温度閾値を比較し、温度制御の開始判定を行う。電力計算部132は、後述するダイナミック要素電力やリーク電力等の基礎データ15と、リアルタイムで取得した負荷情報(稼働率)等と、に基づいて発熱制御対象のモジュールの消費電力を算出する。比較部133は、電力計算部132で算出した消費電力と、予め設定した基準電力との関係から発熱制御対象モジュールの中から発熱制御すべきモジュールを選択する。
発熱制御部14は、制御対象選択部13で選択された発熱制御対象モジュールに対し、機能制限を適用し発熱制御を行う。発熱制御部14は、電源制御部142とクロック制御部141とを有する。電源制御部142は、発熱制御すべきモジュールの電源制御(電源電圧の昇降)を行う。クロック制御部141は、発熱制御すべきモジュールのクロック制御(動作周波数の昇降)を行う。
制御回路11は、CPU(Central Processing Unit)とプログラムが格納されるメモリ、および/またはその他の回路で構成することができ、したがって、制御回路11は、ハードウェアのみ、ソフトウェアのみ、又はそれらの組合せによっていろいろな形で実現できる。制御回路11は、例えば、CPU10とメモリ30によって構成することができる。
図2の半導体装置の発熱制御について図3〜6を用いて説明する。図3は図2の半導体装置の発熱制御選択機能の動作を示すフローチャートである。図4は図2の半導体装置の発熱制御の開始温度と制御イメージを示す図である。図5はCPUの基準電力を説明する図である。図6はGPUの基準電力を説明する図である。
(温度監視〜温度閾値)
ステップS1、S2:温度検出部12はADC40を介して第一温度センサ(THS1)61より温度情報を取得し、温度判定部131は取得した温度情報が発熱制御の開始温度を超えていないかポーリング処理により確認する。なお、ここで発熱制御は例えば第一温度センサ(THS1)61が閾値である90℃以上で開始することとし、ターゲット温度(例えば100℃)で温度飽和するために機能(処理量)を制限し発熱制御を実施する。発熱制御としては、例えば、図4に示すように、CPU10の動作周波数を制御し発熱を抑制する。例えば、動作周波数を1.7GHzから0.5GHzに下げてダイナミッ電力を削減する。なお、例えばCPU10は4つのコアで構成されるが、この例では動作するコア数を少なくすることはしていない。動作するコア数を少なくしたり、電源電圧を下げたりしてダイナミック電力を削減するようにしてもよい。また、温度検出には、第一温度センサ(THS1)に代えて第二温度センサ(THS2)を用いてもよいし、第一温度センサ(THS1と第二温度センサ(THS2)の両方を用いてもよい。
(制御対象の消費電力計算)
ステップS3:電力計算部132は発熱制御対象モジュール(CPU10、GPU20)の消費電力を計算する。
消費電力は、下記の式(1)に示すように、ダイナミック電力とリーク電力の和で表される。
消費電力[mW]=ダイナミック電力[mW]+リーク電力[mW]・・(1)
ダイナミック電力は、下記の式(2)に示すように、ダイナミック要素電力と実効周波数の積で表される。また、実効周波数は、下記の式(3)に示すように、動作周波数と稼働率の積で表される。
ダイナミック電力[mW]
=ダイナミック要素電力[mW/MHz]×実効周波数[MHz] ・・・(2)
実効周波数[MHz]=動作周波数[MHz]×稼働率[MHz]・・・(3)
ダイナミック要素電力は負荷容量と電源電圧の二乗の積で表される。ダイナミック要素電力をW、負荷容量をC、電源電圧をVとすると、ダイナミック要素電力は、下記の式(4)で表される。負荷容量は半導体装置の設計値から予め基礎データとして取得しておく。
=C×V ・・・(4)
また、稼働率はオペレーティングシステムでリアルタイムに取得される。
リーク電力は、リーク電流と電圧との積で表される。リーク電流は、トランジスタ1個あたりのリーク電流をi、トランジスタの総数をN、シャットダウン率をrとして、下記式(5)で与えられる。
=i×N×(1−r) ・・・(5)
トランジスタ1個あたりのリーク電流をiは、係数α[A/nm]、ゲート幅W[nm]、しきい値電圧VT[V]、サブスレッショルド係数n、ボルツマン定数k=1.38×10−23[J/K]、絶対温度T[K]、電気素量q=1.6×10−19[C]を用いて、下記の式(6)で表すことができる。ここで、係数α及びサブスレッショルド係数nは実験などから求めることができる。
=α×W×exp{−V×q/(n×kT)} ・・・(6)
なお、図2に示される基礎データ15には、上記したダイナミック電力及びリーク電力を計算するために必要なパラメータが含まれている。基礎データ15は、例えばメモリ30(図2を参照)に記憶されている。
(電力比較)
ステップS4、S5:比較部133はステップS3で計算した発熱制御対象モジュールの消費電力と基準電力を比較する。ステップS4では、第一モジュールであるCPU10の消費電力(W1)が基準電力(W1S)以上であるかどうかを判断し、YESの場合はステップS6に移り、NOの場合はステップS1に戻る。ステップS5では、第二モジュールであるGPU20の消費電力(W2)が基準電力(W2S)以上であるかどうかを判断し、YESの場合はステップS7に移り、NOの場合はステップS1に戻る。なお、基準電力は予め定義しておく必要がある。ここでは基準電力の定義として、発熱制御の開始温度(例:90℃)に到達するために必要な消費電力とする。
また、発熱制御対象モジュールと温度センサの位置関係により、ある温度に到達するために必要な消費電力は異なる。
図1に示すように、GPU20とCPU10の付近に第二温度センサ(THS2)62と第一温度センサ(THS1)61がそれぞれ存在しており、第一温度センサ(THS1)61の温度を監視している。このとき、図5に示すように、CPU10は第一温度センサ(THS1)と近接しているため、90℃到達に必要な消費電力は500mWである。一方、図6に示すように、GPU20は第一温度センサ(THS1)とは距離があるため、第一温度センサ(THS1)の温度は上がりにくい。よって、第一温度センサ(THS1)を90℃まで到達するためには500mWよりも大きな700mWの消費電力が必要となる。なお、基準電力は予め算出しておく必要があるが、ある温度センサの任意の温度到達に必要な消費電力はボードの放熱性能や各モジュールの消費電力から計算することが可能である。
ステップS6:発熱制御部14は第一モジュールのCPU10の発熱制御を行う。発熱制御部14はCPU10の動作周波数および電源電圧の少なくとも一つを制御する。
ステップS7:発熱制御部14は第二モジュールのGPU20の発熱制御を行う。発熱制御部14はGPU20の動作周波数および電源電圧の少なくとも一つを制御する。
(計算例)
式(1)(2)(3)を用いた発熱制御対象モジュールの消費電力および電力比較の計算例の3つのパターンについて説明する。ここで、
第一モジュール(CPU):
・動作周波数:500MHz〜1700MHz
・ダイナミック要素電力:0.46mW/MHz
・リーク電力:150mW(@Tj=90℃)
第二モジュール(GPU):
・動作周波数:200MHz〜600MHz
・ダイナミック要素電力:0.50mW/MHz
・リーク電力:600mW(@Tj=90℃)
とする。
(パターン1)
第一基準電力(W1S):500mW、第二基準電力(W2S):700mW、CPU10の動作周波数:1700MHz、CPU10の稼働率:90%、GPU20の動作周波数:600MHz、GPU20の稼働率:90%、とする。
Tj=90℃におけるCPU10の消費電力は以下のように求められる。
・実効周波数=1700MHz×90%=1530MHz
・ダイナミック電力=0.46mW/MHz×1530MHz=703.8mW
・消費電力=703.8mW+150mW=853.8mW
よって、第一モジュールの消費電力(W1)=853.8mWとなる。
同様に、Tj=90℃におけるGPU20の消費電力は以下のように求められる。
・実効周波数=600MHz×90%=540MHz
・ダイナミック電力=0.50mW/MHz×540MHz=270mW
・消費電力=270mW+600mW=870mW
よって、第二モジュールの消費電力(W2)=870mWとなる。
CPU10では、W1=853.8mW>W1S=500mWとなり、ステップS4のW1≧W1Sが成り立ち、発熱制御が必要となる。GPU20では、W2=870mW>W2S=700mWとなり、ステップS5のW2≧W2Sが成り立ち、発熱制御が必要となる。よって、CPU10およびGPU20は共に発熱源であるので、ステップS6、S7で発熱制御を実施する。
(パターン2)
第一基準電力(W1S):500mW、第二基準電力(W2S):700mW、CPU10の動作周波数:1700MHz、CPU10の稼働率:20%、GPU20の動作周波数:600MHz、GPU20の稼働率:90%、とする。
Tj=90℃におけるCPU10の消費電力は以下のように求められる。
・実効周波数=1700MHz×20%=340MHz
・ダイナミック電力=0.46mW/MHz×340MHz=156.4mW
・消費電力=156.4mW+150mW=306.4mW
よって、第一モジュールの消費電力(W1)=306.4mWとなる。
同様に、Tj=90℃におけるGPU20の消費電力は以下のように求められる。
・実効周波数=600MHz×90%=540MHz
・ダイナミック電力=0.50mW/MHz×540MHz=270mW
・消費電力=270mW+600mW=870mW
よって、第二モジュールの消費電力(W2)=870mWとなる。
CPU10では、W1=306.4mW<W1S=500mWとなり、ステップS4のW1≧W1Sが成り立たず、発熱制御が不要となる。GPU20では、W2=870mW>W2S=700mWとなり、ステップS5のW2≧W2Sが成り立ち、発熱制御が必要となる。よって、GPU20のみが発熱源であるので、ステップS7で発熱制御を実施する。
(パターン3)
第一基準電力(W1S):500mW、第二基準電力(W2S):700mW、CPU10の動作周波数:1700MHz、CPU10の稼働率:90%、GPU20の動作周波数:600MHz、GPU20の稼働率:90%、とする。
Tj=90℃におけるCPU10の消費電力は以下のように求められる。
・実効周波数=1700MHz×90%=1530MHz
・ダイナミック電力=0.46mW/MHz×1530MHz=703.8mW
・消費電力=703.8mW+150mW=853.8mW
よって、第一モジュールの消費電力(W1)=853.8mWとなる。
同様に、Tj=90℃におけるGPU20の消費電力は以下のように求められる。
・実効周波数=600MHz×20%=120MHz
・ダイナミック電力=0.50mW/MHz×120MHz=60mW
・消費電力=60mW+600mW=660mW
よって、第二モジュールの消費電力(W2)=660mWとなる。
CPU10では、W1=853.8mW>W1S=500mWとなり、ステップS4のW1≧W1Sが成り立ち、発熱制御が必要となる。GPU20では、W2=660mW<W2S=700mWとなり、ステップS5のW2≧W2Sが成り立たず、発熱制御が不要となる。よって、CPU10のみが発熱源であるので、ステップS6で発熱制御を実施する。
本実施例は、制御対象選択部を有することにより、発熱制御対象の複数モジュールのそれぞれの消費電力に基づいて適切に発熱制御すべきモジュールを選択することができる。なお、本実施例では温度監視には第一温度センサ(THS1)61を用いたが第二温度センサ(THS2)62を用いてもよいし、第一温度センサ(THS1)61と第二温度センサ(THS2)62の両方を用いてもよい。よって、温度監視には温度センサは少なくとも一つあればよい。
<変形例>
以下、代表的な変形例について例示する。以下の変形例の説明において、上述の実施例にて説明されているものと同様の構成および機能を有する部分に対しては、上述の実施例と同様の符号が用いられ得るものとする。そして、かかる部分の説明については、技術的に矛盾しない範囲内において、上述の実施例における説明が適宜援用され得るものとする。また、上述の実施例の一部、および、変形例の全部または一部が、技術的に矛盾しない範囲内において、適宜、複合的に適用され得る。
実施例では、少なくとも一つの温度センサによって発熱制御が必要かどうか判断し、すべての発熱制御対象モジュールの消費電力を計算して、実際に発熱制御すべきモジュールを選択している。変形例では、少なくとも一つの温度センサによって発熱制御が必要かどうか判断し、一つの発熱制御対象モジュールの消費電力を計算し、すべての発熱制御対象モジュールのそれぞれの温度センサの温度と一つの発熱制御対象モジュールの消費電力とに基づいて、実際に発熱制御すべきモジュールを選択する。
変形例に係る半導体装置について図7を用いて説明する。図7は実施例に係る半導体装置の構成を説明するブック図である。変形例に係る半導体装置1Aは制御回路11Aを除いて、実施例に係る半導体装置1と同様である。
半導体装置1Aは、第一モジュール10と、第一温度センサ(THS1)61と、第二モジュール20と、第二温度センサ(THS2)62と、メモリ30と、AD変換器(ADC)40と、バス50と、制御回路11Aと、を一つの半導体チップに備える。第一モジュール10は中央処理装置(CPU)であり、第二モジュール20はグラフィック処理装置(GPU)である。図1に示すように、第一温度センサ(THS1)61は第一モジュール10に近接して配置され、第二温度センサ(THS2)62は第二モジュール20に近接して配置される。AD変換器(ADC)40は例えば第一温度センサ(THS1)61および第二温度センサ(THS2)62の温度情報をデジタル情報に変換する。
制御回路11Aは、温度検出部12Aと、制御対象選択部13Aと、発熱制御部14と、を備える。制御対象選択部13は、温度制御が必要か判断するための温度判定部131と、発熱制御対象を選択するための基礎データ15に基づいて消費電力を算出する電力計算部132と、それらのデータを基に発熱制御対象を選択する比較部133Aと、を有する。
温度検出部12Aは、第一温度センサ(THS1)61および第二温度センサ(THS2)62からの温度データを取得する。
温度判定部131Aは、例えば第一温度センサ(THS1)61で取得した温度データと、予め設定してある温度閾値を比較し、温度制御の開始判定を行う。電力計算部132Aは、ダイナミック要素電力やリーク電力等の基礎データ15と、リアルタイムで取得した負荷情報(稼働率)等と、に基づいて発熱制御対象のモジュール(例えば、第一モジュールのCPU10)の消費電力を算出する。比較部133Aは、第一温度センサ(THS1)61で取得した温度データと第二温度センサ(THS2)62で取得した温度データとの関係、および電力計算部132Aで算出した消費電力と予め設定した基準電力との関係から発熱制御対象モジュールを選択する。
図7の半導体装置の発熱制御について図8を用いて説明する。図8は発熱制御選択機能の動作を説明するフローチャートである。
(温度監視〜温度閾値)
ステップS11、S12:実施例と同様、少なくとも一つの温度センサで温度情報に基づいて発熱制御が必要かどうかを判断する。ただし、すべての温度センサの温度情報を取得する。
(消費電力計算)
ステップS13:実施例と同様に消費電力を計算する。ただし、消費電力を計算する発熱制御対象モジュールは一つである。図8ではCPU10の消費電力を計算している。
(温度比較〜電力比較)
ステップS14:比較部133Aは第二温度センサ(THS2)62から取得した温度(T2)が第一温度センサ(THS1)61から取得した温度(T1)よりも高いかどうかを判断する。YESの場合はステップS15に移り、NOの場合はステップS16に移る。
ステップS15:比較部133AはステップS13で計算したCPU10の消費電力(W1)が基準電力(W1S)以上であるかどうかを判断し、YESの場合はステップS17に移り、NOの場合はステップS18に移る。
ステップS16:比較部133AはステップS15と同様に、CPU10の消費電力(W1)が基準電力(W1S)以上であるかどうかを判断し、YESの場合はステップS19に移り、NOの場合はステップS11に戻る。
ステップS17:発熱制御部14はCPU10およびGPU20の発熱制御を行う。発熱制御部14はCPU10の動作周波数および電源電圧の少なくとも一つをおよびGPU20の動作周波数および電源電圧の少なくとも一つ制御する。
ステップS18:発熱制御部14はGPU20の発熱制御を行う。発熱制御部14はGPU20の動作周波数および電源電圧の少なくとも一つを制御する。
ステップS19:発熱制御部14はCPU10の発熱制御を行う。発熱制御部14はCPU10の動作周波数および電源電圧の少なくとも一つを制御する。
(計算例)
第一温度センサ(THS1)61の温度(T1)および第に温度センサ(THS2)62の温度(T2)の例、式(1)(2)(5)を用いた発熱制御対象モジュールの消費電力および電力比較の計算例の3つのパターンについて説明する。ここで、
第一モジュール(CPU):
・動作周波数:500MHz〜1700MHz
・ダイナミック要素電力:0.46mW/MHz
・リーク電力:150mW(@Tj=90℃)
とする。
(パターン1)
第一基準電力(W1S):500mW、CPU10の動作周波数:1700MHz、CPU10の稼働率:90%、T1=90℃、T2=110℃、とする。
T1=90℃におけるCPU10の消費電力は以下のように求められる。
・実効周波数=1700MHz×90%=1530MHz
・ダイナミック電力=0.46mW/MHz×1530MHz=703.8mW
・消費電力=703.8mW+150mW=853.8mW
よって、CPU10の消費電力(W1)=853.8mWとなる。
T2=110℃>T1=90℃であり、W1=853.8mW≧W1S=500mWであるので、ステップS14のT2>T1およびステップS15のW1≧W1Sが成り立ち、CPU10とGPU20の両方が発熱源となる。よって、発熱制御すべきモジュールはCPU10とGPU20となる。
(パターン2)
第一基準電力(W1S):500mW、CPU10の動作周波数:1700MHz、CPU10の稼働率:20%、T1=90℃、T2=110℃、とする。
T1=90℃におけるCPU10の消費電力は以下のように求められる。
・実効周波数=1700MHz×20%=340MHz
・ダイナミック電力=0.46mW/MHz×340MHz=156.4mW
・消費電力=156.4mW+150mW=306.4mW
よって、CPU10の消費電力(W1)=306.4mWとなる。
T2=110℃>T1=90℃であり、W1=306.4mW<W1S=500mWであるので、ステップS14のT2>T1が成り立ち、ステップS15のW1≧W1Sが成り立たないので、GPU20が発熱源となる。よって、発熱制御すべきモジュールはGPU20となる。
(パターン3)
第一基準電力(W1S):500mW、CPU10の動作周波数:1700MHz、CPU10の稼働率:90%、T1=90℃、T2=50℃、とする。
T1=90℃におけるCPU10の消費電力は以下のように求められる。
・実効周波数=1700MHz×90%=1530MHz
・ダイナミック電力=0.46mW/MHz×1530MHz=703.8mW
・消費電力=703.8mW+150mW=853.8mW
よって、CPU10の消費電力(W1)=853.8mWとなる。
T2=50℃<T1=90℃であり、W1=853.8mW≧W1S=500mWであるので、ステップS14のT2>T1が成り立たず、ステップS16のW1≧W1Sが成り立ち、CPU10が発熱源となる。よって、発熱制御すべきモジュールはCPU10となる。
変形例では、発熱制御対象の複数モジュールに対し、一つの発熱制御対象モジュールの消費電力と複数の温度センサの関係に基づいて適切に発熱制御すべきモジュールを選択することができる。また、実施例と比較し、任意の発熱制御対象モジュールの消費電力と複数の温度センサの関係から選択可能なため、すべての発熱制御対象モジュールの消費電力を算出する必要がない。
以上、本発明者によってなされた発明を実施形態、実施例および変形例に基づき具体的に説明したが、本発明は、上記実施形態、実施例および変形例に限定されるものではなく、種々変更可能であることはいうまでもない。
例えば、実施例および変形例では発熱制御対象モジュールは二つの場合について説明したが、二つに限定されるものではなく、三つ以上であってもよい。
1・・・半導体装置
10・・・第一モジュール(CPU)
11・・・制御回路
12・・・温度検出部
13・・・制御対象選択部
14・・・発熱制御部
15・・・基礎データ
20・・・第二モジュール(GPU)
30・・・メモリ
40・・・AD変換器(ADC)
50・・・バス
61・・・第一温度センサ(THS1)
62・・・第二温度センサ(THS2)

Claims (5)

  1. 複数のコアと、
    前記複数のコアの温度を各々検出する複数のセンサと、
    前記検出した複数の温度同士を比較した結果と、前記複数のコアの一つにつき求めた消費電力とに応じて制御対象のコアを選択する制御回路と、
    を有し、
    前記制御回路は、選択されたコアの動作周波数と電源電圧のうち、少なくとも一つを制御する半導体装置。
  2. 前記制御回路は、前記複数のセンサが検出した少なくとも一つの温度と予め設定された温度の閾値とを比較した結果に応じて前記複数のコアの一つの消費電力を求める請求項1に記載の半導体装置。
  3. 前記制御回路は、求めたコアの消費電力と前記求めたコアに予め設定された消費電力の基準値とを比較した結果に応じて制御対象のコアを選択する請求項1に記載の半導体装置。
  4. 前記制御回路は、求めたコアの消費電力と前記求めたコアに予め設定された消費電力の基準値とを比較した結果に応じて制御対象のコアを選択する請求項に記載の半導体装置。
  5. 前記制御回路は、前記検出した複数の温度のうち、温度が低い側の前記センサが検出する前記コアの消費電力を求める請求項に記載の半導体装置。
JP2017128159A 2017-06-30 2017-06-30 半導体装置および半導体装置の制御方法 Active JP6872440B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017128159A JP6872440B2 (ja) 2017-06-30 2017-06-30 半導体装置および半導体装置の制御方法
US16/004,878 US10802569B2 (en) 2017-06-30 2018-06-11 Semiconductor device and method of controlling semiconductor device including controlling a plurality of cores
EP18177461.3A EP3422144B1 (en) 2017-06-30 2018-06-13 Semiconductor device and method of controlling semiconductor device
CN201810695204.XA CN109213297B (zh) 2017-06-30 2018-06-29 半导体装置以及半导体装置的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017128159A JP6872440B2 (ja) 2017-06-30 2017-06-30 半導体装置および半導体装置の制御方法

Publications (2)

Publication Number Publication Date
JP2019012377A JP2019012377A (ja) 2019-01-24
JP6872440B2 true JP6872440B2 (ja) 2021-05-19

Family

ID=62778683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017128159A Active JP6872440B2 (ja) 2017-06-30 2017-06-30 半導体装置および半導体装置の制御方法

Country Status (4)

Country Link
US (1) US10802569B2 (ja)
EP (1) EP3422144B1 (ja)
JP (1) JP6872440B2 (ja)
CN (1) CN109213297B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111596745B (zh) * 2020-05-13 2022-03-01 歌尔科技有限公司 一种温度检测装置、方法、系统和电子设备
JP2023062303A (ja) * 2021-10-21 2023-05-08 セイコーエプソン株式会社 回路装置及び処理システム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415388B1 (en) 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US7096145B2 (en) * 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
JP3692089B2 (ja) * 2002-04-02 2005-09-07 株式会社東芝 消費電力制御方法及び情報処理装置
US8037445B2 (en) 2003-08-20 2011-10-11 Hewlett-Packard Development Company, L.P. System for and method of controlling a VLSI environment
JP2007066073A (ja) * 2005-08-31 2007-03-15 Toshiba Corp 情報処理装置および該情報処理装置にて実行されるcpuの冷却方法
US8949635B2 (en) * 2007-09-28 2015-02-03 Intel Corporation Integrated circuit performance improvement across a range of operating conditions and physical constraints
US8775830B2 (en) * 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US8473238B2 (en) * 2010-08-11 2013-06-25 Moog Inc. Temperature measurement correction using multiple temperature sensors
US8793512B2 (en) 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes
EP3480679A1 (en) * 2011-09-06 2019-05-08 Telefonaktiebolaget LM Ericsson (publ) Regulating the activity of a core
US8595525B2 (en) * 2011-09-22 2013-11-26 Qualcomm Incorporated On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
US9348656B2 (en) * 2011-12-19 2016-05-24 Advanced Micro Devices, Inc. Apparatus and method for managing power among a plurality of processors sharing a thermal platform
CN103810044A (zh) * 2012-11-09 2014-05-21 辉达公司 用于控制多核处理器的门控端的系统和多核处理器
US9037882B2 (en) 2013-02-27 2015-05-19 Qualcomm Incorporated System and method for thermal management in a portable computing device using thermal resistance values to predict optimum power levels
US9292293B2 (en) * 2013-08-08 2016-03-22 Qualcomm Incorporated Intelligent multicore control for optimal performance per watt
US9342135B2 (en) * 2013-10-11 2016-05-17 Qualcomm Incorporated Accelerated thermal mitigation for multi-core processors
US9703613B2 (en) * 2013-12-20 2017-07-11 Qualcomm Incorporated Multi-core dynamic workload management using native and dynamic parameters
JP2015130035A (ja) * 2014-01-07 2015-07-16 富士通株式会社 半導体装置および制御方法
US20170075397A1 (en) * 2015-09-14 2017-03-16 Qualcomm Incorporated Circuits and methods providing temperature mitigation for computing devices
US20170192473A1 (en) * 2015-12-30 2017-07-06 Qualcomm Incorporated System and method for intelligent thermal management based on a thermal power envelope in a portable computing device
CN105828577B (zh) * 2016-03-28 2019-03-08 联想(北京)有限公司 电子设备及其控制方法

Also Published As

Publication number Publication date
CN109213297B (zh) 2022-09-06
EP3422144A1 (en) 2019-01-02
CN109213297A (zh) 2019-01-15
US10802569B2 (en) 2020-10-13
JP2019012377A (ja) 2019-01-24
US20190004593A1 (en) 2019-01-03
EP3422144B1 (en) 2020-11-18

Similar Documents

Publication Publication Date Title
US7520669B2 (en) Processor, processor system, temperature estimation device, information processing device, and temperature estimation method
JP4575333B2 (ja) 熱感知システム
JP4768710B2 (ja) バーンイン中の温度のばらつきを低減するためのシステムおよび方法
US7574321B2 (en) Model predictive thermal management
US8260474B2 (en) Sensor-based thermal specification enabling a real-time metric for compliance
US7266712B2 (en) Method, system, and apparatus for dynamically configuring the operating point utilized for thermal management of an integrated circuit
TW201719186A (zh) 用於決定晶片之參數的方法和設備
JP6872440B2 (ja) 半導体装置および半導体装置の制御方法
JP2009042211A (ja) 半導体デバイスのための電力推定
KR102325564B1 (ko) 전자 장치의 동적 열 관리 방법
KR101682779B1 (ko) 게이팅된 도메인의 부하 조건들에 기초하여 게이팅된 도메인의 활성 상태 동안 전력 게이트들을 제어하기 위한 방법들 및 시스템들
JP2018532185A (ja) ホットスポット補間のための熱センサ配置
US9552447B2 (en) Systems and methods for controlling integrated circuit chip temperature using timing closure-based adaptive frequency scaling
JP2010033553A (ja) 電力低減装置および方法
KR20180077048A (ko) 반도체 장치, 동작 제어 방법 및 프로그램
US20190363075A1 (en) Circuit layout method
JP2006237331A (ja) 過温度検出回路及び過温度保護回路
JP5390168B2 (ja) 配線のレイアウト方法及びプログラム
JP2004219419A (ja) ソフトウエア制御によってvlsiチップ熱センサを動的に再較正するための方法および装置
EP3502892B1 (en) Semiconductor device, semiconductor system, and control method of the same
JP5296136B2 (ja) 電子機器、その制御方法、及び半導体集積回路
US20170083063A1 (en) Circuits and methods providing temperature mitigation for computing devices using in-package sensor
US8667448B1 (en) Integrated circuit having local maximum operating voltage
JP2007322205A (ja) 信頼性試験装置
Küflüoglu et al. Thermally-aware sensor allocation for real-time monitoring and mitigation of FEOL aging in System-on-Chip (SoC) applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210330

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6872440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150