JP2017033246A - 情報処理装置、動作周波数制御プログラム、及び動作周波数制御方法 - Google Patents

情報処理装置、動作周波数制御プログラム、及び動作周波数制御方法 Download PDF

Info

Publication number
JP2017033246A
JP2017033246A JP2015151968A JP2015151968A JP2017033246A JP 2017033246 A JP2017033246 A JP 2017033246A JP 2015151968 A JP2015151968 A JP 2015151968A JP 2015151968 A JP2015151968 A JP 2015151968A JP 2017033246 A JP2017033246 A JP 2017033246A
Authority
JP
Japan
Prior art keywords
processor
operating frequency
temperature
reduction rate
cpu
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
JP2015151968A
Other languages
English (en)
Other versions
JP6448035B2 (ja
Inventor
正 影沢
Tadashi Kagesawa
正 影沢
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015151968A priority Critical patent/JP6448035B2/ja
Publication of JP2017033246A publication Critical patent/JP2017033246A/ja
Application granted granted Critical
Publication of JP6448035B2 publication Critical patent/JP6448035B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

【課題】CPUの処理性能を高くする、温度調整手段を有する情報処理装置を提供すること。
【解決手段】プロセッサの温度を測定する温度センサと、前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、前記プロセッサの動作周波数を前記第2の動作周波数に設定する前記プロセッサを有する。
【選択図】図4

Description

本発明は、情報処理装置、動作周波数制御プログラム、及び動作周波数制御方法に関する。
情報処理装置は、プロセッサによって、データの計算や加工を行っている。プロセッサは、例えば、CPU(Central Processing Unit)である。CPUは、情報処理装置のメモリに記憶されたプログラムを実行することで、様々な機能を実現する。
CPUの性能の指標の一つとして、動作周波数がある。動作周波数は、CPUの動作を制御するクロックの周波数であり、単位はHz(ヘルツ)で表される。
クロックとは、CPUの動作基準となる時間単位である。CPUは、このクロックの整数倍の時間をかけて、命令を実行する。よって、CPUは、動作周波数が高いほど、1秒間に実行できる命令が多くなる。
CPUは、動作周波数を変更することがきる。CPUは、例えば、実行すべき命令が多いときには動作周波数を上げ、実行すべき命令が少ないときには動作周波数を下げる処理を行う。
CPUに関する技術としては、以下のような技術がある。
特開平8−46428 特開2011−176517
しかし、CPUの動作周波数を上げると、それに比例してCPUに流れる電流も増加する。CPUから発する熱量は電流の二乗に比例して増加するため、CPUの動作周波数を上げると、CPUから発生する熱量は大幅に増加し、CPUの温度が急激に上昇する。
CPUは定格の限界温度に達すると、急激に処理性能が低下したり、あるいは故障したりする場合がある。そこで、ある情報処理装置においては、CPUが定格の限界温度に達すると、CPUの温度上昇を抑制するめに、動作周波数を下げる処理を行っている。
このような処理では、CPUが定格の限界温度に達するまで高い動作周波数を維持しており、その間のCPUの仕事量は多い。しかし、CPUが定格の限界温度に達すると、温度が下がるまで低い動作周波数を維持しなければならず、その間のCPUの仕事量は少ない。よって、動作周波数を下げる前後の時間におけるCPUの処理性能が低下することがある。
そこで、一開示は、CPUの処理性能を高くする、温度調整手段を有する情報処理装置を提供することにある。
プロセッサの温度を測定する温度センサと、前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、前記プロセッサの動作周波数を前記第2の動作周波数に設定する前記プロセッサを有する。
一開示は、CPUの処理性能を高くする、CPUの温度調整手段を有する情報処理装置を提供する。
図1は、情報処理装置の構成例を表す図である。 図2は、動作周波数変更処理のフローチャートの例を表す図である。 図3は、温度履歴テーブルの例を表す図である。 図4は、差分温度と動作周波数の低減率の対応関係を表すテーブルの例を表す図である。 図5は、温度上昇率と動作周波数の低減率の対応関係を表すテーブルの例を表す図である。 図6は、動作周波数及び温度を従来方式と比較した例を表す図である。 図7は、動作周波数変更処理のフローチャートの例を表す図である。 図8は、負荷履歴テーブルの例を表す図である。 図9は、負荷上昇率と動作周波数の低減率の対応関係を表すテーブルの例を表す図である。
以下、本発明を実施するための形態について説明する。
[第1の実施の形態]
最初に第1の実施の形態について説明する。
<情報処理装置の構成例>
図1は、情報処理装置100の構成例を表す図である。
情報処理装置100は、CPU(Central Processing Unit)110、ストレージ120、RAM(Random Access Memory) 130、温度検出部140、及びクロック発生部150を有する。
CPU110は、ストレージ120に記憶されているプログラムを、RAM130にロードし、ロードしたプログラムを実行するプロセッサである。CPU110は、ロードした制御プログラム121を実行することで、制御部の機能を実現する。制御部は、CPU110の動作周波数を決定する。制御部は動作周波数変更処理を行う。制御部は、動作周波数変更処理において、CPU110にかかる負荷に応じて暫定的に動作周波数を算出する。制御部は、CPU110の温度上昇率及びCPU110の限界温度と現在温度との差分温度に基づいて、算出した暫定的な動作周波数を低下させ、動作周波数を決定する。限界温度とは、CPU110が当該温度以上になると、故障したり、極端に処理性能が低下したりする温度であり、定格で定められている。制御部は、決定した動作周波数をCPU110に設定するよう、動作周波数生成部111に命令する。
CPU110は、動作周波数生成部111を有する。動作周波数生成部111は、クロック発生部150から受信したクロック信号を分周し、CPU110に動作周波数(f)を生成し、CPU110に動作周波数(f)に応じたクロック信号を与える。動作周波数生成部111は、例えば、分周回路である。動作周波数生成部111は、制御部の命令により、CPU110の動作周波数(f)を設定する。
ストレージ120は、プログラムやデータを記憶する補助記憶装置である。ストレージ120は、制御プログラム121を記憶する。CPU110は、制御プログラム121を実行することで、CPU110の動作周波数変更処理を行う。
RAM130は、メインメモリであり、ストレージ120に記憶されているプログラムをロードする領域である。また、RAM130は、プログラムがデータを記憶する領域としても使用される。
温度検出部140は、CPU110の温度を検出する装置であり、例えば、温度センサである。温度検出部140は、CPU110の温度を定期的に取得し、RAM130に記憶する。
クロック発生部150は、CPU110にクロック信号を供給するクロック発生装置である。動作周波数生成部111は、クロック発生部150から受信したクロック信号の分周比を変更することで、動作周波数(f)を変更する。
<動作周波数変更処理>
図2は、制御部が行う動作周波数変更処理のフローチャートの例を表した図である。
制御部は、CPU110の現在温度を取得し、メモリに記憶する(S10)。制御部は、温度検出部140からCPU110の現在温度をある測定タイミングで取得し、RAM130に記憶する。RAM130には、CPU110の温度の履歴を記憶する温度履歴テーブルが存在する。
図3は、温度履歴テーブルの例を示す図である。温度履歴テーブル(L1)に記憶される情報としては、「測定タイミング」と「温度(℃)」がある。「測定タイミング」は、制御部がCPU110の現在温度を取得した時刻である。「温度(℃)」は、制御部が温度検出部140から取得したCPU110の現在温度である。温度は摂氏で表現し、単位は度(℃)である。温度履歴テーブル(L1)は、制御部がCPU110の現在温度を取得するたびに追加されるが、記憶している測定タイミングの数が所定の数を超えると、最も古い測定タイミングの温度を削除してもよい。
次に、制御部はCPU110の温度上昇率を算出する(S11)。温度上昇率は、CPU110の温度が、ある一定時間において上昇する割合を表す指標である。温度上昇率は、例えば、以下の方法で算出する。
温度上昇率をRt、ある測定タイミングtxでの温度をTxとする。「x」は、1が現在を示し、数字が大きくなる程過去の測定タイミングを示す。温度T1が現在の温度であり、T2,T3・・・と、「x」が大きいほど過去の温度を示す。このとき、Rtは以下の式(1)で算出する。
Rt=10×(T1−T3)+7×(T2−T4)+4×(T3−T5)+(T4−T6)・・・(1)
式(1)では、温度変化に対して、測定タイミングの新しい順番に重みを付けて、温度上昇率Rtを算出する。
図3における温度履歴テーブルのデータを式(1)に代入して、温度上昇率Rを算出すると、
Rt=10×(75−64)+7×(70−60)+4×(64−53)+(60−50)=234
となり、温度上昇率Rtは234となる。
温度上昇率の算出方法の別の例として、今回測定タイミングでの温度と、前回測定タイミングでの温度の差分を温度上昇率とする算出方法がある。また、さらに別の例として、ある測定タイミングでの温度(Tx)と、その1回前の測定タイミングでの温度(Tx−1)の温度の温度差分を算出し、算出した過去数回分の温度差分の平均値を温度上昇率とする算出方法がある。
次に、制御部は、CPU110の限界温度と現在温度の温度差分を算出する(S12)。制御部は、RAM130に記憶されているCPU110の限界温度を読み出す。CPU110の限界温度が、例えば90度であった場合、図3における今回測定タイミング(t1)での温度である75度との差分を計算し、温度差分は15度となる。
次に、制御部は、CPU110の動作周波数を決定する(S13)。動作周波数の決定は、以下の処理を行う。
制御部は、CPU110にかかる負荷に応じて暫定的に動作周波数を決定する。以下、暫定的に決定した動作周波数を第1の動作周波数と呼ぶ。CPU110にかかる負荷とは、例えば、CPU110の使用率である。CPU110の負荷が大きくなると、第1の動作周波数は大きくなり、CPU110の負荷が小さくなると、第1の動作周波数は小さくなる。第1の動作周波数は、CPU110の負荷と第1の動作周波数の対応関係を示す表から抽出してもよいし、CPU110の負荷と第1の動作周波数の関係を示す式を用いて算出してもよい。制御部は、例えば、CPU110の使用率が40%である場合、第1の動作周波数を1000MHzと決定する。
次に、制御部は、S11で算出した温度上昇率及びS12で算出した温度差分に基づいて低減率を決定し、その低減率で第1の動作周波数を低減させ、CPU110に設定する動作周波数を決定する。以下、CPU110に設定する動作周波数を第2の動作周波数と呼ぶ。
温度差分に基づいて第1の動作周波数を低減させるときの、第1の動作周波数の低減率の決定方法について説明する。
制御部は、温度差分が小さい程、第1の動作周波数の低減率を大きくする。温度差分が小さいということは、CPU110が限界温度に達するまでの時間が短いということである。よって、制御部は、CPU110の温度上昇を抑制させるため、低減率を大きくし、第2の動作周波数を低くする。温度差分に基づく第1の動作周波数の低減率は、例えば、以下のように決定する。
図4は、温度差分と第1の動作周波数の低減率との対応関係を示すテーブルの例を表す図である。テーブルL2に記憶されている情報としては、「温度差分」と「動作周波数の低減率」がある。「温度差分」は、CPU110の限界温度と現在温度の温度差分の範囲を示す。「動作周波数の低減率」は、「温度差分」に記載されている温度差分に対応する第1の動作周波数の低減率である。制御部は、テーブルL2より、S12で算出した温度差分に対応する第1の動作周波数の低減率を抽出する。
制御部は、例えば、温度差分が15度である場合、テーブルL2の「15度以上20度未満」に対応する「0.1」を、第1の動作周波数の低減率として抽出する。そして、第1の動作周波数を抽出した低減率だけ低下させる。低減率が「0.1」の場合、第1の動作周波数は、(1−0.1=0.9)倍される。
図4のテーブルL2において、温度差分が「20度以上」に対応する第1の動作周波数の低減率が「0」となっている。第1の動作周波数の低減率が0であるということは、第2の動作周波数は、第1の動作周波数から低下させないということである。つまり、この「20度」は、第1の動作周波数の低減率を0にするための基準値である。すなわち、温度差分が20度未満であれば、温度差分に基づく低減率が0となり、例えば、温度上昇率に基づく低減率が高い数値となっていても、第1の動作周波数を低下させずに第2の動作周波数とする。制御部は、温度差分が基準値より大きい場合、短時間ではCPU110が限界温度に達しないため、温度上昇を抑制することを考慮せず、負荷に応じて決定した第1の動作周波数を第2の動作周波数とする。
次に、温度上昇率に基づいて第1の動作周波数を低減させるときの、第1の動作周波数の低減率の決定方法について説明する。
制御部は、温度上昇率が大きい程、第1の動作周波数の低減率を大きくする。温度上昇率が大きいということは、CPU110が限界温度に達するまでの時間が短いということである。よって、制御部は、CPU110の温度浄書率を抑制するため、第1の動作周波数の低減率を大きくし、第2の動作周波数を低くする。温度上昇率に基づく第1の動作周波数の低減率は、例えば、以下のように決定する。
図5は、温度上昇率と第1の動作周波数の低減率との対応関係を示すテーブルの例を表す図である。テーブルL3に記憶されている情報としては、「温度上昇率」と「動作周波数の低減率」がある。「温度上昇率」は、CPU110の温度上昇率の範囲である。「動作周波数の低減率」は、「温度上昇率」に記載されている温度上昇率の範囲に対応する第1の動作周波数の低減率である。制御部は、テーブルL3より、S11で算出した温度上昇率に対応する第1の動作周波数の低減率を抽出する。制御部は、例えば、温度上昇率が234である場合、テーブルL3の「200以上300未満」に対応する「0.2」を第1の動作周波数の低減率として抽出する。
図5のテーブルL3において、温度上昇率が「100未満」に対応する第1の動作周波数の低減率が「0」となっている。第1の動作周波数の低減率が0であるということは、第2の動作周波数は、第1の動作周波数から低下させないということである。つまり、この「100未満」は、第1の動作周波数の低減率を0にするための基準値である。すなわち、温度上昇率が「100未満」であれば、温度上昇率に基づく低減率が0となり、例えば、温度差分に基づく低減率が高い数値となっていても、第1の動作周波数を低下させずに第2の動作周波数とする。よって、制御部は、温度上昇率が基準値より大きい場合、短時間ではCPU110が限界温度に達しないため、温度上昇を抑制することを考慮せず、負荷に応じて決定した第1の動作周波数を第2の動作周波数とする。
また、基準値は0以下の数値を含んでおり、温度が低下しているときの低減率も規定している。例えば、温度が下降している場合、CPU110は短時間で限界温度に達しないため、第1の動作周波数を低減しなくてもよい。温度が下降しているとき、温度上昇率は0以下であるため、基準値を図5に示す「100未満」、すなわち、0以下の温度上昇率の低減率を規定することで、温度が下降しているときの低減率を0にすることができる。
制御部は、第1の動作周波数、温度差分に基づく第1の動作周波数の低減率、及び温度上昇率に基づく第1の動作周波数の低減率から、第2の動作周波数を決定する。第2の動作周波数は、例えば、以下の式で算出する。
第2の動作周波数をFr、第1の動作周波数をFt、温度上昇率に基づく第1の動作周波数の低減率をDr、温度差分に基づく第1の動作周波数の低減率をDgとする。Frは以下の式(2)で算出する。
Fr=Ft×(1−Dr×Dg)・・・(2)
式(2)では、第2の動作周波数を、第1の動作周波数に、温度上昇率に基づく低減率と温度差分による上昇率を積算したものを1から減算した結果を、積算することで算出している。(Dr×Dg)は、温度上昇率に基づく低減率と温度差分に基づく低減率を積算した数値で、第1の動作周波数を低下させる総合的な低減率である。この式(2)を用いて算出することで、例えば、温度上昇率が「400以上」(低減率は「1.0」)と大きい場合でも、温度差分が「15度以上20度未満」(低減率は「0.1」)と大きければ、総合的なの低減率(1.0×0.1=0.1)は低い数値となる。この例で算出した総合的な低減率は、第1の動作周波を大きく低下させないことを示している。式(2)は、温度上昇率と温度差分の低減率のどちらか一方が大きく、どちらか一方が小さい場合、総合的な低減率は小さいほうの低減率に近い数値となる。式(2)を使用して総合的な低減率を算出することで、第1の動作周波数をなるべく大きく低下させないことができる。すなわち、なるべく高い動作周波数を維持することができる。
なお、総合的な低減率は、例えば、温度上昇率に基づく低減率と温度差分に基づく低減率の平均値であってもよい。この場合、温度上昇率と温度差分の低減率のどちらか一方が大きく、どちらか一方が小さい場合、総合的な低減率は大きいほうの低減率に近い数値となる。この算出方法を使用すると、式(2)に比べて、第1の動作周波数の低減率が大きくなる傾向にあるが、よりCPU110の温度上昇を抑制することができる。
式(2)にそれぞれの値を代入して、Frを算出すると、
Fr=1000×(1−0.1×0.2)=980
となり、第2の動作周波数は980MHzに決定する。
次に、制御部は、CPU110の動作周波数を、第2の動作周波数に設定する(S14)。制御部は、S13で算出した第2の動作周波数なるよう、動作周波数生成部111に命令する。動作周波数生成部111は、クロック発生部150から受信したクロック信号を分周し、CPU110の動作周波数を第2の動作周波数に設定する。
次に、制御部は、一定時間が経過すると、CPU110の現在温度を取得し(S10)、動作周波数変更処理を行う。
第1の実施の形態では、CPU110の負荷が上昇すれば、第1の動作周波数も大きくなる。CPU110は、温度が限界温度より十分に低ければ、CPU110の負荷に応じた第1の動作周波数をCPU110の動作周波数として設定し、温度が限界温度に近くなると、CPU110の負荷に応じた第1の動作周波数より低い動作周波数を設定する。制御部は、CPU110の負荷に応じた第1の動作周波数より低い動作周波数にすることで、温度が上昇するのを抑制し、CPU110が限界温度に達しないようにする。第1の動作周波数の低減率は、温度差分に基づいて決定し、温度差分が小さいほど第1の動作周波数の低減率を大きくする。温度差分が小さいほど、短い時間でCPU110が限界温度に達するので、より大きく動作周波数を低下させ、温度上昇を抑制する。
また、CPU110は、温度上昇率が十分に小さければ、CPU110の負荷に応じた第1の動作周波数をCPU110の動作周波数として設定するが、温度上昇率が大きくなると、CPU110の動作周波数を、第1の動作周波数を低減した動作周波数に設定する。第1の動作周波数の低減率は、温度上昇率に基づいて決定し、温度上昇率が大きいほど大きくなる。温度上昇率が大きいほど、短い時間でCPU110が限界温度に達するということであり、温度上昇を抑制するため、第1の動作周波数よりも低い動作周波数に設定する。
<従来方式との比較>
第1の実施の形態では、CPU110にかかる負荷に応じて決定した第1の動作周波数を、温度上昇率と温度差分とに基づいて算出した第1の動作周波数の低減率に応じて低下させ、第2の動作周波数を決定し、CPU110の動作周波数を第2の動作周波数に設定する。
第1の実施の形態におけるCPU110の処理性能について、例えば、温度上昇率や温度差分を考慮しないで動作周波数を決定する従来方式と比較して説明する。
まず、従来方式について説明する。従来方式では、CPU110にかかる負荷に応じて動作周波数を決定する。そして、CPU110の温度が限界温度以上になると動作周波数を所定の動作週数に低下させ、CPU110が制限解除温度になるまで低下させた所定の動作周波数を維持する。制限解除温度とは、CPU110が限界温度より十分に温度が低下したと判断する温度である。
図6は、第1の実施の形態と比較対象方式における、動作周波数及び温度を時間経過で示した図である。図6(A)のグラフは、縦方向にCPU110の動作周波数を示しており、図6(B)のグラフは、縦方向にCPU110の温度を示している。図6(A)及び(B)のグラフは、横方向に時間を示しており、両グラフとも同じ時間軸である。また、図6(A)及び(B)のグラフは、一点破線が従来方式であり、実線が第1の実施の形態である。なお、図6は、CPU110にかかる負荷が一定である場合のグラフである。
まず、従来方式について説明する。時刻t0からt2までは、CPUの負荷に応じた動作周波数(Fh)を維持し、CPUの温度上昇率は一定であり、温度は上がり続ける。時刻t2でCPUが限界温度(Th)に達すると、動作周波数を所定の値(Fl)に低下させる。時刻t2からt4までは、動作周波数は低下した所定の値(Fl)を維持し、温度は下がり続ける。時刻t4で、CPUの温度が制限解除温度(Tl)に達すると、再び動作周波数を低下させる前の、CPUの負荷に応じた動作周波数(Fh)に戻す。このように、従来方式では、CPUが限界温度に達すると、動作周波数を低下させ、CPUの温度を下げている。
次に、第1の実施の形態ついて説明する。時刻t0からt1までは、CPU110の限界温度(Th)と現在温度の温度差分が十分に大きいため、第1の動作周波数の低減率は0である。そのため、この時間帯は、CPU110の負荷に応じて算出した第1の動作周波数が、CPU110に設定する。時刻t1において、CPU110の限界温度(Th)と現在温度の温度差分が小さくなると、第1の動作周波数の低減率を大きくする。すなわち、制御部は、CPU110の動作周波数を第1の動作周波数よりも低く設定し、温度上昇を抑制する。温度上昇を抑制した結果、時刻t3において、CPU110の限界温度(Th)と現在温度の温度差分が大きくなると、第1の動作周波数の低減率を小さくする。すなわち、CPU110は、CPU110の動作周波数を第1の動作周波数に近づける。そして、時刻t5において、CPU110の限界温度と現在温度の温度差分が十分に大きくなると、第1の動作周波数の低減率を0にし、第1の動作周波数をCPU110に設定する。
このように、第1の実施の形態においては、温度上昇率と、限界温度との温度差分に基づいて動作周波数を調整している。そのため、図6(B)のグラフに示すように、CPU110の温度は限界温度に達することはない。また、図6(A)のグラフで示すように、動作周波数が従来方式のように低下せず、高い動作周波数を維持しつつCPU110の温度を下げることができる。動作周波数を比較すると、時刻t1からt2までの間と、時刻t4からt5までの間では、従来方式のほうが高い動作周波数を維持しているものの、時刻t2からt4までの間は、第1の実施の形態のほうが高い動作周波数を維持している。従って、時刻t1からt5までの間での動作周波数の積分値を比較すると、第1の実施の形態のほうが高い数値となっている。すなわち、動作周波数の積分値は仕事量と比例することから、動作周波数の積分値が高い第1の実施の形態は、従来方式よりもCPU110の処理性能が高いと言える。
また、図6(A)のグラフから、第1の実施の形態では、従来方式と比べて高い動作周波数を維持していることがわかる。例えば、動画再生など、高負荷が長く続く処理においては、比較対象方式では動作周波数が低下している時間帯(時刻t2〜t4)は、動画を円滑に再生できない場合もある。しかし、第1の実施の形態は、高い動作周波数を維持しているため、長時間の動画再生でも、円滑に動画を再生できる。
なお、第1の実施の形態においては、CPU110の動作周波数を低下させることで、CPU110の温度上昇を抑制している。しかし、CPU110のコア数を減少させること、またはCPU110のコア数の減少及び動作周波数の低下の両方を行うことで、CPU110の温度上昇を抑制してもよい。CPU110のコア数とは、CPU110が演算を並列で処理できる数であり、CPU110のコア数が増加すると、CPU110の発熱量も増加し、温度も上昇する。よって、CPU110のコア数を減少させることは、CPU110の発熱量を減少させ、温度の上昇を抑制でき、動作周波数を低下させることと同様の効果を持つ。
[第2の実施の形態]
次に第2の実施の形態について説明する。
<動作周波数変更処理>
図7は、制御部が行う動作周波数変更処理のフローチャートの例を表した図である。
第2の実施の形態では、図7に示すS10、S11、S12、S14、S15の処理は、図2に示すそれぞれの処理と同様である。
制御部は、CPU110の現在温度を取得し、メモリに記憶すると(S10)、CPUの負荷を取得し、メモリに記憶する(S11)。CPU110の負荷は、例えば、CPU110の使用率であり、CPU110のアイドル時間から算出する。制御部は、CPU110の負荷をRAM130に記憶する。RAM130には、CPU110の負荷の履歴を記憶する負荷履歴テーブルが存在する。
図8は、負荷履歴テーブルの例を表す図である。負荷履歴テーブルL4に記憶される情報としては、「測定タイミング」と「負荷(%)」がある。「測定タイミング」は、制御部がCPU110の負荷を取得した時刻である。「負荷(%)」は、制御部が取得したCPU110の負荷である。負荷は、例えば、CPU110の使用率であり、単位はパーセント(%)である。負荷履歴テーブルL4は、制御部がCPU110の負荷を取得するたびに追加されるが、記憶している測定タイミングの数が所定の数を超えると、最も古い測定タイミングの負荷を削除してもよい。
次に、制御部は、温度上昇率を算出し(S11)、CPU110の現在温度と限界温度の温度差分を算出する(S12)。
制御部は、さらに、CPU110の負荷上昇率を算出する(S21)。負荷上昇率は、CPU110の負荷が、ある一定時間において上昇する割合を表す指標である。負荷上昇率は、例えば、以下の方法で算出する。
負荷上昇率をRl、ある測定タイミングtxでの負荷をLxとする。「x」は、1が現在を示し、数字が大きくなる程過去の測定タイミングを示す。このとき、Rlは以下の式(3)で算出する。
Rl=2×(L1−L3)+(L2−L4)+(L3−L5)+0.5(L4−L6)・・・(3)
式(3)では、負荷の変化に対して、測定タイミングの新しい順番に重みを付けて、負荷上昇率Rlを算出する。図8における負荷履歴テーブルのデータを式(3)に代入して、負荷上昇率Rlを算出すると、
Rl=2×(40−36)+(37−35)+(36−30)+0.5(35−28) Rl=19.5
となり、負荷上昇率Rlは19.5となる。
負荷上昇率の算出方法の別の例として、今回測定タイミングでの負荷と、前回測定タイミングでの負荷の差分を負荷上昇率とする算出方法がある。また、さらに別の例として、ある測定タイミングでの負荷(Lx)と、その1回前の測定タイミングでの負荷(Lx−1)の差分を算出し、算出した過去数回分の負荷の差分の平均値を負荷上昇率とする算出方法がある。
次に、制御部は、CPU110の第2の動作周波数を決定する(S22)。第2の動作周波数の決定は、以下の処理を行う。
制御部は、CPU110にかかる負荷に応じて第1の動作周波数を決定する。第1の動作周波数を決定する処理は、第1の実施の形態と同様である。制御部は、例えば、CPU110の使用率が40%である場合、第1の動作周波数を1000MHzと算出する。
次に、制御部は、S12で算出した温度差分、S11で算出した温度上昇率、S21で算出した負荷上昇率、及びCPU110の熱放射率に基づいて、第1の動作周波数を低減させた第2の動作周波数を決定する。CPU110の熱放射率とは、CPU110が単位時間あたりに放出する熱量を示す指標である。
温度差分に基づく第1の動作周波数の低減率の決定方法、及び温度上昇率に基づく第1の動作周波数の低減率の決定方法は、第1の実施の形態と同様である。
負荷上昇率に基づく第1の動作周波数の低減率の決定方法について説明する。制御部は、負荷上昇率が大きい程、第1の動作周波数の低減率を大きくする。負荷上昇率が大きいということは、これから温度上昇率がさらに大きくなることが予測できる。そこで、制御部は、CPU110の温度の上昇を抑制するため、第1の動作周波数を大きく低下させた第2の動作周波数をCPU110に設定する。負荷上昇率に基づく第1の動作周波数の低減率は、例えば、以下のように決定する。
図9は、負荷上昇率と第1の動作周波数の低減率との対応関係を示すテーブルL5である。テーブルL5に記憶されている情報としては、「負荷上昇率」と「動作周波数の低減率」がある。「負荷上昇率」は、CPU110の負荷上昇率の範囲である。「動作周波数の低減率」は、「負荷上昇率」に記載されている負荷上昇率に対応する第1の動作周波数の低減率である。制御部は、テーブルL5より、S21で算出した負荷上昇率に対応する第1の動作周波数の低減率を抽出する。制御部は、例えば、負荷上昇率が19.5である場合、テーブルL5の「10以上20未満」に対応する「0.9」を第1の動作周波数の低減率として抽出する。
なお、負荷上昇率については、温度上昇率や温度差分のように、低減率を0とするための基準値を設定していない。負荷上昇率は、温度上昇率を予測するための要素である。そのため、負荷上昇率が極めて小さい数値であっても、総合的な低減率を0にしてしまうと、例えば、温度上昇率が非常に高い場合でも、低減率が0となってしまい温度上昇を抑制することができなくなる。このようなことを防止するため、負荷上昇率には基準値を設定せず、低減率が0とならないようにする。
次に、熱放射率に基づく第1の動作周波数の低減率の決定方法について説明する。熱放射率は、CPU110の材質、形状や、冷却装置の精度などにより決まる数値であるため、制御プログラム121に固定の数値としてあらかじめ記憶しておく。熱放射率が高ければ、CPU110の温度上昇率は小さくなり、短い時間ではCPU110が限界温度に達しない。制御部は、熱放射率が高いほど第1の動作周波数の低減率を小さくする。熱放射率に基づく第1の動作周波数の低減率は、例えば0.9である。なお、熱放射率が基準値よりも大きい場合、熱放射率に基づく第1の動作周波数の低減率を0とする。基準値は、例えば、CPU110の単位時間あたりの発熱量の最大値である。熱放射率が高く、基準値に近似する数値であった場合、CPU110の温度はほとんど上昇しないため、第1の動作周波数をCPU110の動作周波数として設定する。しかし、情報処理装置が携帯電話などの場合、装置の大きさが小さく、高精度な冷却装置を設置することは困難である。また、CPU110の大きさも小さいため、CPU110の表面積も小さく、熱放射率も小さい。よって、低減率を0とするような熱放射率の基準値は、あくまでも理論上の数値である。
制御部は、第1の動作周波数、温度差分に基づく第1の動作周波数の低減率、温度上昇率に基づく第1の動作周波数の低減率、負荷上昇率に基づく第1の動作周波数の低減率、及び熱放射率に基づく第1の動作周波数の低減率から、第2の動作周波数を決定する。第2の動作周波数は、例えば、以下の式で算出する。
第2の動作周波数をFr、第1の動作周波数をFt、温度上昇率に基づく第1の動作周波数の低減率をDr、温度差分に基づく第1の動作周波数の低減率をDg、負荷上昇率に基づく第1の動作周波数の低減率をDl、熱放射率に基づく第1の動作周波数の低減率をDaとする。Frは以下の式(4)で算出する。
Fr=Ft×(1−Dr×Dg×Dl×Da)・・・(4)
式(4)では、第2の動作周波数を、第1の動作周波数に、温度上昇率、温度差分、負荷上昇率、及び熱放射率に基づく低減率を積算したものを1から減算した結果を、積算することで算出している。(Dr×Dg×Dl×Da)は、4つの低減率を積算した数値で、第1の動作周波数を低下させる総合的な低減率である。式(4)では、第1の実施の形態で説明した式(2)に加えて、負荷上昇率及び熱放射率を考慮にしれた第2の動作周波数を算出する。4つの低減率を積算して総合的な低減率を算出することで、第1の動作周波数をなるべく大きく低下させないことができる。すなわち、なるべく高い動作周波数を維持することができる。
なお、総合的な低減率は、例えば、4つの低減率の平均値であってもよい。この場合、第1の実施の形態と同様に、第1の動作周波数の低減率が大きくなる傾向にあるが、よりCPU110の温度上昇を抑制することができる。
式(4)にそれぞれの値を代入して、Frを算出すると、
Fr=1000×(1−0.1×0.2×0.9×0.9)=983.8
となり、第2の動作周波数は983.8MHzに決定する。
次に、制御部は、CPU110の動作周波数を第2の動作周波数に設定し(S14)、一定時間が経過するとCPU110の現在温度を取得し、メモリに記憶する(S10)。
このように、第2の実施の形態では、CPU110の負荷上昇率及び熱放射率も考慮し、第1の動作周波数の低減率を決定する。制御部は、負荷上昇率が高い場合、これから温度上昇率上がることを予測し、CPU110が限界温度に達するまでの時間が短いとみなす。また、制御部は、熱放射率が低い場合、CPU110の温度上昇率が上がりやすく、CPU110が限界温度に達するまでの時間が短いとみなす。このようにみなすことで、CPU110が限界温度に達するまでにどれくらいの時間がかかるかを予測する精度が向上し、より適正な動作周波数を決定できる。
以上、まとめると付記のようになる。
(付記1)
プロセッサの温度を測定する温度センサと、
前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、
前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、
前記プロセッサの動作周波数を前記第2の動作周波数に設定する前記プロセッサを有する
情報処理装置。
(付記2)
前記プロセッサは、前記プロセッサにかかる負荷が大きい程、前記第1の動作周波数を大きくする
付記1記載の情報処理装置。
(付記3)
前記プロセッサは、前記プロセッサの温度上昇率が大きい程、前記低減率を大きくする
付記2記載の情報処理装置。
(付記4)
前記プロセッサは、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分が小さい程、前記低減率を大きくする
付記3記載の情報処理装置。
(付記5)
前記プロセッサは、前記プロセッサの温度上昇率に基づく第1の低減率と、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づく第2の低減率とをそれぞれ決定し、前記第1及び第2の低減率を積算した結果で前記第1の動作周波数を低減させた第2の動作周波数を決定する
付記4記載の情報処理装置。
(付記6)
前記プロセッサは、前記プロセッサの温度上昇率が第1の基準値より小さいとき、前記低減率を0にする
付記4記載の情報処理装置。
(付記7)
前記プロセッサは、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分が第2の基準値より大きいとき、前記低減率を0にする
付記4記載の情報処理装置。
(付記8)
前記プロセッサは、前記プロセッサが単位時間あたりに放出する熱量を表す熱放射率が小さい程、前記低減率を大きくする
付記4記載の情報処理装置。
(付記9)
前記プロセッサは、前記プロセッサにかかる負荷上昇率が高い程、前記低減率を大きくする
付記8記載の情報処理装置。
(付記10)
前記プロセッサは、前記プロセッサの温度上昇率に基づく第1の低減率と、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づく第2の低減率と、前記熱放射率に基づく第3の低減率と、前記負荷上昇率に基づく第4の低減率とをそれぞれ決定し、前記第1、第2、第3、及第4の低減率を積算した結果で前記第1の動作周波数を低減させた第2の動作周波数を決定する
付記9記載の情報処理装置。
(付記11)
前記プロセッサは、前記プロセッサの前記熱放射率が第3の基準値より大きいとき、前記低減率を0にする
付記8記載の情報処理装置。
(付記12)
プロセッサの温度を測定する温度センサと、
前記プロセッサを有する情報処理装置の前記プロセッサに実行させる動作周波数制御プログラムであって、
前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、
前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、
前記プロセッサの動作周波数を前記第2の動作周波数に設定する
処理を前記プロセッサに実行させる動作周波数制御プログラム。
(付記13)
プロセッサの温度を測定する温度センサと、
前記プロセッサを有する情報処理装置における動作周波数制御方法であって、
前記プロセッサによって、前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、
前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、
前記プロセッサの動作周波数を前記第2の動作周波数に設定する
動作周波数制御方法。
100…情報処理装置 110…CPU
111…動作周波数生成部 120…ストレージ
121…制御プログラム 130…RAM
140…温度検出部 150…クロック発生部

Claims (13)

  1. プロセッサの温度を測定する温度センサと、
    前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、
    前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、
    前記プロセッサの動作周波数を前記第2の動作周波数に設定する前記プロセッサを有する
    情報処理装置。
  2. 前記プロセッサは、前記プロセッサにかかる負荷が大きい程、前記第1の動作周波数を大きくする
    請求項1記載の情報処理装置。
  3. 前記プロセッサは、前記プロセッサの温度上昇率が大きい程、前記低減率を大きくする
    請求項2記載の情報処理装置。
  4. 前記プロセッサは、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分が小さい程、前記低減率を大きくする
    請求項3記載の情報処理装置。
  5. 前記プロセッサは、前記プロセッサの温度上昇率に基づく第1の低減率と、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づく第2の低減率とをそれぞれ決定し、前記第1及び第2の低減率を積算した結果で前記第1の動作周波数を低減させた第2の動作周波数を決定する
    請求項4記載の情報処理装置。
  6. 前記プロセッサは、前記プロセッサの温度上昇率が第1の基準値より小さいとき、前記低減率を0にする
    請求項4記載の情報処理装置。
  7. 前記プロセッサは、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分が第2の基準値より大きいとき、前記低減率を0にする
    請求項4記載の情報処理装置。
  8. 前記プロセッサは、前記プロセッサが単位時間あたりに放出する熱量を表す熱放射率が小さい程、前記低減率を大きくする
    請求項4記載の情報処理装置。
  9. 前記プロセッサは、前記プロセッサにかかる負荷上昇率が高い程、前記低減率を大きくする
    請求項8記載の情報処理装置。
  10. 前記プロセッサは、前記プロセッサの温度上昇率に基づく第1の低減率と、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づく第2の低減率と、前記熱放射率に基づく第3の低減率と、前記負荷上昇率に基づく第4の低減率とをそれぞれ決定し、前記第1、第2、第3、及第4の低減率を積算した結果で前記第1の動作周波数を低減させた第2の動作周波数を決定する
    請求項9記載の情報処理装置。
  11. 前記プロセッサは、前記プロセッサの前記熱放射率が第3の基準値より大きいとき、前記低減率を0にする
    請求項8記載の情報処理装置。
  12. プロセッサの温度を測定する温度センサと、
    前記プロセッサを有する情報処理装置の前記プロセッサに実行させる動作周波数制御プログラムであって、
    前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、
    前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、
    前記プロセッサの動作周波数を前記第2の動作周波数に設定する
    処理を前記プロセッサに実行させる動作周波数制御プログラム。
  13. プロセッサの温度を測定する温度センサと、
    前記プロセッサを有する情報処理装置における動作周波数制御方法であって、
    前記プロセッサによって、前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、
    前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、
    前記プロセッサの動作周波数を前記第2の動作周波数に設定する
    動作周波数制御方法。
JP2015151968A 2015-07-31 2015-07-31 情報処理装置、動作周波数制御プログラム、及び動作周波数制御方法 Active JP6448035B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015151968A JP6448035B2 (ja) 2015-07-31 2015-07-31 情報処理装置、動作周波数制御プログラム、及び動作周波数制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015151968A JP6448035B2 (ja) 2015-07-31 2015-07-31 情報処理装置、動作周波数制御プログラム、及び動作周波数制御方法

Publications (2)

Publication Number Publication Date
JP2017033246A true JP2017033246A (ja) 2017-02-09
JP6448035B2 JP6448035B2 (ja) 2019-01-09

Family

ID=57986140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015151968A Active JP6448035B2 (ja) 2015-07-31 2015-07-31 情報処理装置、動作周波数制御プログラム、及び動作周波数制御方法

Country Status (1)

Country Link
JP (1) JP6448035B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357658A (zh) * 2017-06-29 2017-11-17 上海斐讯数据通信技术有限公司 一种调节移动终端cpu频率的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282566A (ja) * 1998-03-30 1999-10-15 Nec Software Kobe Ltd マイクロプロセッサおよびマイクロプロセッサのクーリング方法
JP2003186566A (ja) * 2001-10-17 2003-07-04 Hewlett Packard Co <Hp> 環境の変化に応答して調整を行う、コンピュータ・システムにおける自己調整クロック
JP2006268246A (ja) * 2005-03-23 2006-10-05 Fujitsu Ltd 情報処理装置
JP2008198072A (ja) * 2007-02-15 2008-08-28 Mitsubishi Electric Corp リアルタイム計算機
US20080222440A1 (en) * 2007-03-07 2008-09-11 Stephen Jones Real time clock calibration system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282566A (ja) * 1998-03-30 1999-10-15 Nec Software Kobe Ltd マイクロプロセッサおよびマイクロプロセッサのクーリング方法
JP2003186566A (ja) * 2001-10-17 2003-07-04 Hewlett Packard Co <Hp> 環境の変化に応答して調整を行う、コンピュータ・システムにおける自己調整クロック
JP2006268246A (ja) * 2005-03-23 2006-10-05 Fujitsu Ltd 情報処理装置
JP2008198072A (ja) * 2007-02-15 2008-08-28 Mitsubishi Electric Corp リアルタイム計算機
US20080222440A1 (en) * 2007-03-07 2008-09-11 Stephen Jones Real time clock calibration system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357658A (zh) * 2017-06-29 2017-11-17 上海斐讯数据通信技术有限公司 一种调节移动终端cpu频率的方法及系统

Also Published As

Publication number Publication date
JP6448035B2 (ja) 2019-01-09

Similar Documents

Publication Publication Date Title
US10983576B2 (en) Method and apparatus for managing global chip power on a multicore system on chip
US8909961B2 (en) Method and apparatus for adjusting power consumption level of an integrated circuit
US9590639B2 (en) Semiconductor device and control method
JP5957775B2 (ja) 蓄電池制御装置、蓄電池制御方法、及び、蓄電池制御システム
EP3691070A1 (en) Method for controlling ess output
US20120179441A1 (en) Method and system for controlling thermal load distribution in a portable computing device
JP2016510917A (ja) 最適な電力レベルを予測するために熱抵抗値を使用したポータブルコンピューティングデバイスにおける熱管理のためのシステムおよび方法
JP2007129845A (ja) 電力品質維持制御装置
JP5915957B2 (ja) 充放電制御装置および充放電制御方法
US9523992B2 (en) Power control device and power control method
WO2022099477A1 (zh) 一种功耗控制方法及装置
US20180005687A1 (en) Semiconductor device and method of controlling semiconductor device
JP6338009B1 (ja) 電力貯蔵装置を用いた電力安定化システム及び制御装置
JP6448035B2 (ja) 情報処理装置、動作周波数制御プログラム、及び動作周波数制御方法
CN113826082A (zh) 一种用于控制散热装置的方法及其设备
JP2013182539A (ja) プロセッサの動作を制御する方法および電子機器
JP5787365B2 (ja) 電力制御装置、電力制御システム、電力制御方法及びプログラム
WO2018040740A1 (zh) 一种终端及控制终端温度的方法及存储介质
JP5986138B2 (ja) 複数のプロセッサに電力を供給する電源装置の出力を制御する方法、電源システムおよび情報処理装置
JP6727449B2 (ja) 系統制御装置および方法
JP2014017760A (ja) アナログ入力装置
JP2004096827A (ja) スイッチング電源装置
JP5785759B2 (ja) 半導体集積回路、その制御方法、電子機器、及び周波数の変更回数の決定方法
JP2018169837A (ja) メモリアクセス装置、メモリアクセス制御方法、プログラム、マルチコアプロセッサ
JP6591230B2 (ja) 太陽光発電システムの制御装置、太陽光発電システム、及び制御プログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180405

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180409

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181128

R150 Certificate of patent or registration of utility model

Ref document number: 6448035

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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