図面 (/)

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

出願人 富士通コネクテッドテクノロジーズ株式会社
発明者 影沢正
出願日 2015年7月31日 (5年11ヶ月経過) 出願番号 2015-151968
公開日 2017年2月9日 (4年5ヶ月経過) 公開番号 2017-033246
状態 特許登録済
技術分野 計算機・クロック
主要キーワード 動作周波数変更 差分温度 温度差分 動作周波数制御 負荷上昇率 今回測定 コア数 熱放射率
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年2月9日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

CPUの処理性能を高くする、温度調整手段を有する情報処理装置を提供すること。

解決手段

プロセッサの温度を測定する温度センサと、前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、前記プロセッサの動作周波数を前記第2の動作周波数に設定する前記プロセッサを有する。

概要

背景

情報処理装置は、プロセッサによって、データの計算や加工を行っている。プロセッサは、例えば、CPU(Central Processing Unit)である。CPUは、情報処理装置のメモリに記憶されたプログラムを実行することで、様々な機能を実現する。

CPUの性能の指標の一つとして、動作周波数がある。動作周波数は、CPUの動作を制御するクロック周波数であり、単位はHz(ヘルツ)で表される。

クロックとは、CPUの動作基準となる時間単位である。CPUは、このクロックの整数倍の時間をかけて、命令を実行する。よって、CPUは、動作周波数が高いほど、1秒間に実行できる命令が多くなる。

CPUは、動作周波数を変更することがきる。CPUは、例えば、実行すべき命令が多いときには動作周波数を上げ、実行すべき命令が少ないときには動作周波数を下げる処理を行う。

CPUに関する技術としては、以下のような技術がある。

概要

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

目的

そこで、一開示は、CPUの処理性能を高くする、温度調整手段を有する情報処理装置を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項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の動作周波数に設定する動作周波数制御方法。

技術分野

背景技術

0002

情報処理装置は、プロセッサによって、データの計算や加工を行っている。プロセッサは、例えば、CPU(Central Processing Unit)である。CPUは、情報処理装置のメモリに記憶されたプログラムを実行することで、様々な機能を実現する。

0003

CPUの性能の指標の一つとして、動作周波数がある。動作周波数は、CPUの動作を制御するクロック周波数であり、単位はHz(ヘルツ)で表される。

0004

クロックとは、CPUの動作基準となる時間単位である。CPUは、このクロックの整数倍の時間をかけて、命令を実行する。よって、CPUは、動作周波数が高いほど、1秒間に実行できる命令が多くなる。

0005

CPUは、動作周波数を変更することがきる。CPUは、例えば、実行すべき命令が多いときには動作周波数を上げ、実行すべき命令が少ないときには動作周波数を下げる処理を行う。

0006

CPUに関する技術としては、以下のような技術がある。

先行技術

0007

特開平8−46428
特開2011−176517

発明が解決しようとする課題

0008

しかし、CPUの動作周波数を上げると、それに比例してCPUに流れる電流も増加する。CPUから発する熱量は電流の二乗に比例して増加するため、CPUの動作周波数を上げると、CPUから発生する熱量は大幅に増加し、CPUの温度が急激に上昇する。

0009

CPUは定格の限界温度に達すると、急激に処理性能が低下したり、あるいは故障したりする場合がある。そこで、ある情報処理装置においては、CPUが定格の限界温度に達すると、CPUの温度上昇を抑制するめに、動作周波数を下げる処理を行っている。

0010

このような処理では、CPUが定格の限界温度に達するまで高い動作周波数を維持しており、その間のCPUの仕事量は多い。しかし、CPUが定格の限界温度に達すると、温度が下がるまで低い動作周波数を維持しなければならず、その間のCPUの仕事量は少ない。よって、動作周波数を下げる前後の時間におけるCPUの処理性能が低下することがある。

0011

そこで、一開示は、CPUの処理性能を高くする、温度調整手段を有する情報処理装置を提供することにある。

課題を解決するための手段

0012

プロセッサの温度を測定する温度センサと、前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、前記プロセッサの動作周波数を前記第2の動作周波数に設定する前記プロセッサを有する。

発明の効果

0013

一開示は、CPUの処理性能を高くする、CPUの温度調整手段を有する情報処理装置を提供する。

図面の簡単な説明

0014

図1は、情報処理装置の構成例を表す図である。
図2は、動作周波数変更処理のフローチャートの例を表す図である。
図3は、温度履歴テーブルの例を表す図である。
図4は、差分温度と動作周波数の低減率の対応関係を表すテーブルの例を表す図である。
図5は、温度上昇率と動作周波数の低減率の対応関係を表すテーブルの例を表す図である。
図6は、動作周波数及び温度を従来方式と比較した例を表す図である。
図7は、動作周波数変更処理のフローチャートの例を表す図である。
図8は、負荷履歴テーブルの例を表す図である。
図9は、負荷上昇率と動作周波数の低減率の対応関係を表すテーブルの例を表す図である。

実施例

0015

以下、本発明を実施するための形態について説明する。

0016

[第1の実施の形態]
最初に第1の実施の形態について説明する。

0017

<情報処理装置の構成例>
図1は、情報処理装置100の構成例を表す図である。

0018

情報処理装置100は、CPU(Central Processing Unit)110、ストレージ120、RAM(Random Access Memory) 130、温度検出部140、及びクロック発生部150を有する。

0019

CPU110は、ストレージ120に記憶されているプログラムを、RAM130にロードし、ロードしたプログラムを実行するプロセッサである。CPU110は、ロードした制御プログラム121を実行することで、制御部の機能を実現する。制御部は、CPU110の動作周波数を決定する。制御部は動作周波数変更処理を行う。制御部は、動作周波数変更処理において、CPU110にかかる負荷に応じて暫定的に動作周波数を算出する。制御部は、CPU110の温度上昇率及びCPU110の限界温度と現在温度との差分温度に基づいて、算出した暫定的な動作周波数を低下させ、動作周波数を決定する。限界温度とは、CPU110が当該温度以上になると、故障したり、極端に処理性能が低下したりする温度であり、定格で定められている。制御部は、決定した動作周波数をCPU110に設定するよう、動作周波数生成部111に命令する。

0020

CPU110は、動作周波数生成部111を有する。動作周波数生成部111は、クロック発生部150から受信したクロック信号分周し、CPU110に動作周波数(f)を生成し、CPU110に動作周波数(f)に応じたクロック信号を与える。動作周波数生成部111は、例えば、分周回路である。動作周波数生成部111は、制御部の命令により、CPU110の動作周波数(f)を設定する。

0021

ストレージ120は、プログラムやデータを記憶する補助記憶装置である。ストレージ120は、制御プログラム121を記憶する。CPU110は、制御プログラム121を実行することで、CPU110の動作周波数変更処理を行う。

0022

RAM130は、メインメモリであり、ストレージ120に記憶されているプログラムをロードする領域である。また、RAM130は、プログラムがデータを記憶する領域としても使用される。

0023

温度検出部140は、CPU110の温度を検出する装置であり、例えば、温度センサである。温度検出部140は、CPU110の温度を定期的に取得し、RAM130に記憶する。

0024

クロック発生部150は、CPU110にクロック信号を供給するクロック発生装置である。動作周波数生成部111は、クロック発生部150から受信したクロック信号の分周比を変更することで、動作周波数(f)を変更する。

0025

<動作周波数変更処理>
図2は、制御部が行う動作周波数変更処理のフローチャートの例を表した図である。

0026

制御部は、CPU110の現在温度を取得し、メモリに記憶する(S10)。制御部は、温度検出部140からCPU110の現在温度をある測定タイミングで取得し、RAM130に記憶する。RAM130には、CPU110の温度の履歴を記憶する温度履歴テーブルが存在する。

0027

図3は、温度履歴テーブルの例を示す図である。温度履歴テーブル(L1)に記憶される情報としては、「測定タイミング」と「温度(℃)」がある。「測定タイミング」は、制御部がCPU110の現在温度を取得した時刻である。「温度(℃)」は、制御部が温度検出部140から取得したCPU110の現在温度である。温度は摂氏表現し、単位は度(℃)である。温度履歴テーブル(L1)は、制御部がCPU110の現在温度を取得するたびに追加されるが、記憶している測定タイミングの数が所定の数を超えると、最も古い測定タイミングの温度を削除してもよい。

0028

次に、制御部はCPU110の温度上昇率を算出する(S11)。温度上昇率は、CPU110の温度が、ある一定時間において上昇する割合を表す指標である。温度上昇率は、例えば、以下の方法で算出する。

0029

温度上昇率をRt、ある測定タイミングtxでの温度をTxとする。「x」は、1が現在を示し、数字が大きくなる程過去の測定タイミングを示す。温度T1が現在の温度であり、T2,T3・・・と、「x」が大きいほど過去の温度を示す。このとき、Rtは以下の式(1)で算出する。

0030

Rt=10×(T1−T3)+7×(T2−T4)+4×(T3−T5)+(T4−T6)・・・(1)
式(1)では、温度変化に対して、測定タイミングの新しい順番に重みを付けて、温度上昇率Rtを算出する。

0031

図3における温度履歴テーブルのデータを式(1)に代入して、温度上昇率Rを算出すると、
Rt=10×(75−64)+7×(70−60)+4×(64−53)+(60−50)=234
となり、温度上昇率Rtは234となる。

0032

温度上昇率の算出方法の別の例として、今回測定イミングでの温度と、前回測定タイミングでの温度の差分を温度上昇率とする算出方法がある。また、さらに別の例として、ある測定タイミングでの温度(Tx)と、その1回前の測定タイミングでの温度(Tx−1)の温度の温度差分を算出し、算出した過去数回分の温度差分の平均値を温度上昇率とする算出方法がある。

0033

次に、制御部は、CPU110の限界温度と現在温度の温度差分を算出する(S12)。制御部は、RAM130に記憶されているCPU110の限界温度を読み出す。CPU110の限界温度が、例えば90度であった場合、図3における今回測定タイミング(t1)での温度である75度との差分を計算し、温度差分は15度となる。

0034

次に、制御部は、CPU110の動作周波数を決定する(S13)。動作周波数の決定は、以下の処理を行う。

0035

制御部は、CPU110にかかる負荷に応じて暫定的に動作周波数を決定する。以下、暫定的に決定した動作周波数を第1の動作周波数と呼ぶ。CPU110にかかる負荷とは、例えば、CPU110の使用率である。CPU110の負荷が大きくなると、第1の動作周波数は大きくなり、CPU110の負荷が小さくなると、第1の動作周波数は小さくなる。第1の動作周波数は、CPU110の負荷と第1の動作周波数の対応関係を示す表から抽出してもよいし、CPU110の負荷と第1の動作周波数の関係を示す式を用いて算出してもよい。制御部は、例えば、CPU110の使用率が40%である場合、第1の動作周波数を1000MHzと決定する。

0036

次に、制御部は、S11で算出した温度上昇率及びS12で算出した温度差分に基づいて低減率を決定し、その低減率で第1の動作周波数を低減させ、CPU110に設定する動作周波数を決定する。以下、CPU110に設定する動作周波数を第2の動作周波数と呼ぶ。

0037

温度差分に基づいて第1の動作周波数を低減させるときの、第1の動作周波数の低減率の決定方法について説明する。

0038

制御部は、温度差分が小さい程、第1の動作周波数の低減率を大きくする。温度差分が小さいということは、CPU110が限界温度に達するまでの時間が短いということである。よって、制御部は、CPU110の温度上昇を抑制させるため、低減率を大きくし、第2の動作周波数を低くする。温度差分に基づく第1の動作周波数の低減率は、例えば、以下のように決定する。

0039

図4は、温度差分と第1の動作周波数の低減率との対応関係を示すテーブルの例を表す図である。テーブルL2に記憶されている情報としては、「温度差分」と「動作周波数の低減率」がある。「温度差分」は、CPU110の限界温度と現在温度の温度差分の範囲を示す。「動作周波数の低減率」は、「温度差分」に記載されている温度差分に対応する第1の動作周波数の低減率である。制御部は、テーブルL2より、S12で算出した温度差分に対応する第1の動作周波数の低減率を抽出する。

0040

制御部は、例えば、温度差分が15度である場合、テーブルL2の「15度以上20度未満」に対応する「0.1」を、第1の動作周波数の低減率として抽出する。そして、第1の動作周波数を抽出した低減率だけ低下させる。低減率が「0.1」の場合、第1の動作周波数は、(1−0.1=0.9)倍される。

0041

図4のテーブルL2において、温度差分が「20度以上」に対応する第1の動作周波数の低減率が「0」となっている。第1の動作周波数の低減率が0であるということは、第2の動作周波数は、第1の動作周波数から低下させないということである。つまり、この「20度」は、第1の動作周波数の低減率を0にするための基準値である。すなわち、温度差分が20度未満であれば、温度差分に基づく低減率が0となり、例えば、温度上昇率に基づく低減率が高い数値となっていても、第1の動作周波数を低下させずに第2の動作周波数とする。制御部は、温度差分が基準値より大きい場合、短時間ではCPU110が限界温度に達しないため、温度上昇を抑制することを考慮せず、負荷に応じて決定した第1の動作周波数を第2の動作周波数とする。

0042

次に、温度上昇率に基づいて第1の動作周波数を低減させるときの、第1の動作周波数の低減率の決定方法について説明する。

0043

制御部は、温度上昇率が大きい程、第1の動作周波数の低減率を大きくする。温度上昇率が大きいということは、CPU110が限界温度に達するまでの時間が短いということである。よって、制御部は、CPU110の温度浄書率を抑制するため、第1の動作周波数の低減率を大きくし、第2の動作周波数を低くする。温度上昇率に基づく第1の動作周波数の低減率は、例えば、以下のように決定する。

0044

図5は、温度上昇率と第1の動作周波数の低減率との対応関係を示すテーブルの例を表す図である。テーブルL3に記憶されている情報としては、「温度上昇率」と「動作周波数の低減率」がある。「温度上昇率」は、CPU110の温度上昇率の範囲である。「動作周波数の低減率」は、「温度上昇率」に記載されている温度上昇率の範囲に対応する第1の動作周波数の低減率である。制御部は、テーブルL3より、S11で算出した温度上昇率に対応する第1の動作周波数の低減率を抽出する。制御部は、例えば、温度上昇率が234である場合、テーブルL3の「200以上300未満」に対応する「0.2」を第1の動作周波数の低減率として抽出する。

0045

図5のテーブルL3において、温度上昇率が「100未満」に対応する第1の動作周波数の低減率が「0」となっている。第1の動作周波数の低減率が0であるということは、第2の動作周波数は、第1の動作周波数から低下させないということである。つまり、この「100未満」は、第1の動作周波数の低減率を0にするための基準値である。すなわち、温度上昇率が「100未満」であれば、温度上昇率に基づく低減率が0となり、例えば、温度差分に基づく低減率が高い数値となっていても、第1の動作周波数を低下させずに第2の動作周波数とする。よって、制御部は、温度上昇率が基準値より大きい場合、短時間ではCPU110が限界温度に達しないため、温度上昇を抑制することを考慮せず、負荷に応じて決定した第1の動作周波数を第2の動作周波数とする。

0046

また、基準値は0以下の数値を含んでおり、温度が低下しているときの低減率も規定している。例えば、温度が下降している場合、CPU110は短時間で限界温度に達しないため、第1の動作周波数を低減しなくてもよい。温度が下降しているとき、温度上昇率は0以下であるため、基準値を図5に示す「100未満」、すなわち、0以下の温度上昇率の低減率を規定することで、温度が下降しているときの低減率を0にすることができる。

0047

制御部は、第1の動作周波数、温度差分に基づく第1の動作周波数の低減率、及び温度上昇率に基づく第1の動作周波数の低減率から、第2の動作周波数を決定する。第2の動作周波数は、例えば、以下の式で算出する。

0048

第2の動作周波数をFr、第1の動作周波数をFt、温度上昇率に基づく第1の動作周波数の低減率をDr、温度差分に基づく第1の動作周波数の低減率をDgとする。Frは以下の式(2)で算出する。

0049

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の動作周波数をなるべく大きく低下させないことができる。すなわち、なるべく高い動作周波数を維持することができる。

0050

なお、総合的な低減率は、例えば、温度上昇率に基づく低減率と温度差分に基づく低減率の平均値であってもよい。この場合、温度上昇率と温度差分の低減率のどちらか一方が大きく、どちらか一方が小さい場合、総合的な低減率は大きいほうの低減率に近い数値となる。この算出方法を使用すると、式(2)に比べて、第1の動作周波数の低減率が大きくなる傾向にあるが、よりCPU110の温度上昇を抑制することができる。

0051

式(2)にそれぞれの値を代入して、Frを算出すると、
Fr=1000×(1−0.1×0.2)=980
となり、第2の動作周波数は980MHzに決定する。

0052

次に、制御部は、CPU110の動作周波数を、第2の動作周波数に設定する(S14)。制御部は、S13で算出した第2の動作周波数なるよう、動作周波数生成部111に命令する。動作周波数生成部111は、クロック発生部150から受信したクロック信号を分周し、CPU110の動作周波数を第2の動作周波数に設定する。

0053

次に、制御部は、一定時間が経過すると、CPU110の現在温度を取得し(S10)、動作周波数変更処理を行う。

0054

第1の実施の形態では、CPU110の負荷が上昇すれば、第1の動作周波数も大きくなる。CPU110は、温度が限界温度より十分に低ければ、CPU110の負荷に応じた第1の動作周波数をCPU110の動作周波数として設定し、温度が限界温度に近くなると、CPU110の負荷に応じた第1の動作周波数より低い動作周波数を設定する。制御部は、CPU110の負荷に応じた第1の動作周波数より低い動作周波数にすることで、温度が上昇するのを抑制し、CPU110が限界温度に達しないようにする。第1の動作周波数の低減率は、温度差分に基づいて決定し、温度差分が小さいほど第1の動作周波数の低減率を大きくする。温度差分が小さいほど、短い時間でCPU110が限界温度に達するので、より大きく動作周波数を低下させ、温度上昇を抑制する。

0055

また、CPU110は、温度上昇率が十分に小さければ、CPU110の負荷に応じた第1の動作周波数をCPU110の動作周波数として設定するが、温度上昇率が大きくなると、CPU110の動作周波数を、第1の動作周波数を低減した動作周波数に設定する。第1の動作周波数の低減率は、温度上昇率に基づいて決定し、温度上昇率が大きいほど大きくなる。温度上昇率が大きいほど、短い時間でCPU110が限界温度に達するということであり、温度上昇を抑制するため、第1の動作周波数よりも低い動作周波数に設定する。

0056

<従来方式との比較>
第1の実施の形態では、CPU110にかかる負荷に応じて決定した第1の動作周波数を、温度上昇率と温度差分とに基づいて算出した第1の動作周波数の低減率に応じて低下させ、第2の動作周波数を決定し、CPU110の動作周波数を第2の動作周波数に設定する。

0057

第1の実施の形態におけるCPU110の処理性能について、例えば、温度上昇率や温度差分を考慮しないで動作周波数を決定する従来方式と比較して説明する。

0058

まず、従来方式について説明する。従来方式では、CPU110にかかる負荷に応じて動作周波数を決定する。そして、CPU110の温度が限界温度以上になると動作周波数を所定の動作週数に低下させ、CPU110が制限解除温度になるまで低下させた所定の動作周波数を維持する。制限解除温度とは、CPU110が限界温度より十分に温度が低下したと判断する温度である。

0059

図6は、第1の実施の形態と比較対象方式における、動作周波数及び温度を時間経過で示した図である。図6(A)のグラフは、縦方向にCPU110の動作周波数を示しており、図6(B)のグラフは、縦方向にCPU110の温度を示している。図6(A)及び(B)のグラフは、横方向に時間を示しており、両グラフとも同じ時間軸である。また、図6(A)及び(B)のグラフは、一点破線が従来方式であり、実線が第1の実施の形態である。なお、図6は、CPU110にかかる負荷が一定である場合のグラフである。

0060

まず、従来方式について説明する。時刻t0からt2までは、CPUの負荷に応じた動作周波数(Fh)を維持し、CPUの温度上昇率は一定であり、温度は上がり続ける。時刻t2でCPUが限界温度(Th)に達すると、動作周波数を所定の値(Fl)に低下させる。時刻t2からt4までは、動作周波数は低下した所定の値(Fl)を維持し、温度は下がり続ける。時刻t4で、CPUの温度が制限解除温度(Tl)に達すると、再び動作周波数を低下させる前の、CPUの負荷に応じた動作周波数(Fh)に戻す。このように、従来方式では、CPUが限界温度に達すると、動作周波数を低下させ、CPUの温度を下げている。

0061

次に、第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に設定する。

0062

このように、第1の実施の形態においては、温度上昇率と、限界温度との温度差分に基づいて動作周波数を調整している。そのため、図6(B)のグラフに示すように、CPU110の温度は限界温度に達することはない。また、図6(A)のグラフで示すように、動作周波数が従来方式のように低下せず、高い動作周波数を維持しつつCPU110の温度を下げることができる。動作周波数を比較すると、時刻t1からt2までの間と、時刻t4からt5までの間では、従来方式のほうが高い動作周波数を維持しているものの、時刻t2からt4までの間は、第1の実施の形態のほうが高い動作周波数を維持している。従って、時刻t1からt5までの間での動作周波数の積分値を比較すると、第1の実施の形態のほうが高い数値となっている。すなわち、動作周波数の積分値は仕事量と比例することから、動作周波数の積分値が高い第1の実施の形態は、従来方式よりもCPU110の処理性能が高いと言える。

0063

また、図6(A)のグラフから、第1の実施の形態では、従来方式と比べて高い動作周波数を維持していることがわかる。例えば、動画再生など、高負荷が長く続く処理においては、比較対象方式では動作周波数が低下している時間帯(時刻t2〜t4)は、動画を円滑に再生できない場合もある。しかし、第1の実施の形態は、高い動作周波数を維持しているため、長時間の動画再生でも、円滑に動画を再生できる。

0064

なお、第1の実施の形態においては、CPU110の動作周波数を低下させることで、CPU110の温度上昇を抑制している。しかし、CPU110のコア数を減少させること、またはCPU110のコア数の減少及び動作周波数の低下の両方を行うことで、CPU110の温度上昇を抑制してもよい。CPU110のコア数とは、CPU110が演算並列で処理できる数であり、CPU110のコア数が増加すると、CPU110の発熱量も増加し、温度も上昇する。よって、CPU110のコア数を減少させることは、CPU110の発熱量を減少させ、温度の上昇を抑制でき、動作周波数を低下させることと同様の効果を持つ。

0065

[第2の実施の形態]
次に第2の実施の形態について説明する。

0066

<動作周波数変更処理>
図7は、制御部が行う動作周波数変更処理のフローチャートの例を表した図である。

0067

第2の実施の形態では、図7に示すS10、S11、S12、S14、S15の処理は、図2に示すそれぞれの処理と同様である。

0068

制御部は、CPU110の現在温度を取得し、メモリに記憶すると(S10)、CPUの負荷を取得し、メモリに記憶する(S11)。CPU110の負荷は、例えば、CPU110の使用率であり、CPU110のアイドル時間から算出する。制御部は、CPU110の負荷をRAM130に記憶する。RAM130には、CPU110の負荷の履歴を記憶する負荷履歴テーブルが存在する。

0069

図8は、負荷履歴テーブルの例を表す図である。負荷履歴テーブルL4に記憶される情報としては、「測定タイミング」と「負荷(%)」がある。「測定タイミング」は、制御部がCPU110の負荷を取得した時刻である。「負荷(%)」は、制御部が取得したCPU110の負荷である。負荷は、例えば、CPU110の使用率であり、単位はパーセント(%)である。負荷履歴テーブルL4は、制御部がCPU110の負荷を取得するたびに追加されるが、記憶している測定タイミングの数が所定の数を超えると、最も古い測定タイミングの負荷を削除してもよい。

0070

次に、制御部は、温度上昇率を算出し(S11)、CPU110の現在温度と限界温度の温度差分を算出する(S12)。

0071

制御部は、さらに、CPU110の負荷上昇率を算出する(S21)。負荷上昇率は、CPU110の負荷が、ある一定時間において上昇する割合を表す指標である。負荷上昇率は、例えば、以下の方法で算出する。

0072

負荷上昇率をRl、ある測定タイミングtxでの負荷をLxとする。「x」は、1が現在を示し、数字が大きくなる程過去の測定タイミングを示す。このとき、Rlは以下の式(3)で算出する。

0073

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となる。

0074

負荷上昇率の算出方法の別の例として、今回測定タイミングでの負荷と、前回測定タイミングでの負荷の差分を負荷上昇率とする算出方法がある。また、さらに別の例として、ある測定タイミングでの負荷(Lx)と、その1回前の測定タイミングでの負荷(Lx−1)の差分を算出し、算出した過去数回分の負荷の差分の平均値を負荷上昇率とする算出方法がある。

0075

次に、制御部は、CPU110の第2の動作周波数を決定する(S22)。第2の動作周波数の決定は、以下の処理を行う。

0076

制御部は、CPU110にかかる負荷に応じて第1の動作周波数を決定する。第1の動作周波数を決定する処理は、第1の実施の形態と同様である。制御部は、例えば、CPU110の使用率が40%である場合、第1の動作周波数を1000MHzと算出する。

0077

次に、制御部は、S12で算出した温度差分、S11で算出した温度上昇率、S21で算出した負荷上昇率、及びCPU110の熱放射率に基づいて、第1の動作周波数を低減させた第2の動作周波数を決定する。CPU110の熱放射率とは、CPU110が単位時間あたりに放出する熱量を示す指標である。

0078

温度差分に基づく第1の動作周波数の低減率の決定方法、及び温度上昇率に基づく第1の動作周波数の低減率の決定方法は、第1の実施の形態と同様である。

0079

負荷上昇率に基づく第1の動作周波数の低減率の決定方法について説明する。制御部は、負荷上昇率が大きい程、第1の動作周波数の低減率を大きくする。負荷上昇率が大きいということは、これから温度上昇率がさらに大きくなることが予測できる。そこで、制御部は、CPU110の温度の上昇を抑制するため、第1の動作周波数を大きく低下させた第2の動作周波数をCPU110に設定する。負荷上昇率に基づく第1の動作周波数の低減率は、例えば、以下のように決定する。

0080

図9は、負荷上昇率と第1の動作周波数の低減率との対応関係を示すテーブルL5である。テーブルL5に記憶されている情報としては、「負荷上昇率」と「動作周波数の低減率」がある。「負荷上昇率」は、CPU110の負荷上昇率の範囲である。「動作周波数の低減率」は、「負荷上昇率」に記載されている負荷上昇率に対応する第1の動作周波数の低減率である。制御部は、テーブルL5より、S21で算出した負荷上昇率に対応する第1の動作周波数の低減率を抽出する。制御部は、例えば、負荷上昇率が19.5である場合、テーブルL5の「10以上20未満」に対応する「0.9」を第1の動作周波数の低減率として抽出する。

0081

なお、負荷上昇率については、温度上昇率や温度差分のように、低減率を0とするための基準値を設定していない。負荷上昇率は、温度上昇率を予測するための要素である。そのため、負荷上昇率が極めて小さい数値であっても、総合的な低減率を0にしてしまうと、例えば、温度上昇率が非常に高い場合でも、低減率が0となってしまい温度上昇を抑制することができなくなる。このようなことを防止するため、負荷上昇率には基準値を設定せず、低減率が0とならないようにする。

0082

次に、熱放射率に基づく第1の動作周波数の低減率の決定方法について説明する。熱放射率は、CPU110の材質、形状や、冷却装置の精度などにより決まる数値であるため、制御プログラム121に固定の数値としてあらかじめ記憶しておく。熱放射率が高ければ、CPU110の温度上昇率は小さくなり、短い時間ではCPU110が限界温度に達しない。制御部は、熱放射率が高いほど第1の動作周波数の低減率を小さくする。熱放射率に基づく第1の動作周波数の低減率は、例えば0.9である。なお、熱放射率が基準値よりも大きい場合、熱放射率に基づく第1の動作周波数の低減率を0とする。基準値は、例えば、CPU110の単位時間あたりの発熱量の最大値である。熱放射率が高く、基準値に近似する数値であった場合、CPU110の温度はほとんど上昇しないため、第1の動作周波数をCPU110の動作周波数として設定する。しかし、情報処理装置が携帯電話などの場合、装置の大きさが小さく、高精度な冷却装置を設置することは困難である。また、CPU110の大きさも小さいため、CPU110の表面積も小さく、熱放射率も小さい。よって、低減率を0とするような熱放射率の基準値は、あくまでも理論上の数値である。

0083

制御部は、第1の動作周波数、温度差分に基づく第1の動作周波数の低減率、温度上昇率に基づく第1の動作周波数の低減率、負荷上昇率に基づく第1の動作周波数の低減率、及び熱放射率に基づく第1の動作周波数の低減率から、第2の動作周波数を決定する。第2の動作周波数は、例えば、以下の式で算出する。

0084

第2の動作周波数をFr、第1の動作周波数をFt、温度上昇率に基づく第1の動作周波数の低減率をDr、温度差分に基づく第1の動作周波数の低減率をDg、負荷上昇率に基づく第1の動作周波数の低減率をDl、熱放射率に基づく第1の動作周波数の低減率をDaとする。Frは以下の式(4)で算出する。

0085

Fr=Ft×(1−Dr×Dg×Dl×Da)・・・(4)
式(4)では、第2の動作周波数を、第1の動作周波数に、温度上昇率、温度差分、負荷上昇率、及び熱放射率に基づく低減率を積算したものを1から減算した結果を、積算することで算出している。(Dr×Dg×Dl×Da)は、4つの低減率を積算した数値で、第1の動作周波数を低下させる総合的な低減率である。式(4)では、第1の実施の形態で説明した式(2)に加えて、負荷上昇率及び熱放射率を考慮にしれた第2の動作周波数を算出する。4つの低減率を積算して総合的な低減率を算出することで、第1の動作周波数をなるべく大きく低下させないことができる。すなわち、なるべく高い動作周波数を維持することができる。

0086

なお、総合的な低減率は、例えば、4つの低減率の平均値であってもよい。この場合、第1の実施の形態と同様に、第1の動作周波数の低減率が大きくなる傾向にあるが、よりCPU110の温度上昇を抑制することができる。

0087

式(4)にそれぞれの値を代入して、Frを算出すると、
Fr=1000×(1−0.1×0.2×0.9×0.9)=983.8
となり、第2の動作周波数は983.8MHzに決定する。

0088

次に、制御部は、CPU110の動作周波数を第2の動作周波数に設定し(S14)、一定時間が経過するとCPU110の現在温度を取得し、メモリに記憶する(S10)。

0089

このように、第2の実施の形態では、CPU110の負荷上昇率及び熱放射率も考慮し、第1の動作周波数の低減率を決定する。制御部は、負荷上昇率が高い場合、これから温度上昇率上がることを予測し、CPU110が限界温度に達するまでの時間が短いとみなす。また、制御部は、熱放射率が低い場合、CPU110の温度上昇率が上がりやすく、CPU110が限界温度に達するまでの時間が短いとみなす。このようにみなすことで、CPU110が限界温度に達するまでにどれくらいの時間がかかるかを予測する精度が向上し、より適正な動作周波数を決定できる。

0090

以上、まとめると付記のようになる。

0091

(付記1)
プロセッサの温度を測定する温度センサと、
前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、
前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、
前記プロセッサの動作周波数を前記第2の動作周波数に設定する前記プロセッサを有する
情報処理装置。

0092

(付記2)
前記プロセッサは、前記プロセッサにかかる負荷が大きい程、前記第1の動作周波数を大きくする
付記1記載の情報処理装置。

0093

(付記3)
前記プロセッサは、前記プロセッサの温度上昇率が大きい程、前記低減率を大きくする
付記2記載の情報処理装置。

0094

(付記4)
前記プロセッサは、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分が小さい程、前記低減率を大きくする
付記3記載の情報処理装置。

0095

(付記5)
前記プロセッサは、前記プロセッサの温度上昇率に基づく第1の低減率と、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づく第2の低減率とをそれぞれ決定し、前記第1及び第2の低減率を積算した結果で前記第1の動作周波数を低減させた第2の動作周波数を決定する
付記4記載の情報処理装置。

0096

(付記6)
前記プロセッサは、前記プロセッサの温度上昇率が第1の基準値より小さいとき、前記低減率を0にする
付記4記載の情報処理装置。

0097

(付記7)
前記プロセッサは、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分が第2の基準値より大きいとき、前記低減率を0にする
付記4記載の情報処理装置。

0098

(付記8)
前記プロセッサは、前記プロセッサが単位時間あたりに放出する熱量を表す熱放射率が小さい程、前記低減率を大きくする
付記4記載の情報処理装置。

0099

(付記9)
前記プロセッサは、前記プロセッサにかかる負荷上昇率が高い程、前記低減率を大きくする
付記8記載の情報処理装置。

0100

(付記10)
前記プロセッサは、前記プロセッサの温度上昇率に基づく第1の低減率と、前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づく第2の低減率と、前記熱放射率に基づく第3の低減率と、前記負荷上昇率に基づく第4の低減率とをそれぞれ決定し、前記第1、第2、第3、及第4の低減率を積算した結果で前記第1の動作周波数を低減させた第2の動作周波数を決定する
付記9記載の情報処理装置。

0101

(付記11)
前記プロセッサは、前記プロセッサの前記熱放射率が第3の基準値より大きいとき、前記低減率を0にする
付記8記載の情報処理装置。

0102

(付記12)
プロセッサの温度を測定する温度センサと、
前記プロセッサを有する情報処理装置の前記プロセッサに実行させる動作周波数制御プログラムであって、
前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、
前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、
前記プロセッサの動作周波数を前記第2の動作周波数に設定する
処理を前記プロセッサに実行させる動作周波数制御プログラム。

0103

(付記13)
プロセッサの温度を測定する温度センサと、
前記プロセッサを有する情報処理装置における動作周波数制御方法であって、
前記プロセッサによって、前記プロセッサにかかる負荷に応じて第1の動作周波数を決定し、
前記プロセッサの温度上昇率及び前記プロセッサの限界温度と前記プロセッサの現在温度との温度差分に基づいて決定した低減率で前記第1の動作周波数を低減させた第2の動作周波数を決定し、
前記プロセッサの動作周波数を前記第2の動作周波数に設定する
動作周波数制御方法。

0104

100…情報処理装置110…CPU
111…動作周波数生成部 120…ストレージ
121…制御プログラム130…RAM
140…温度検出部 150…クロック発生部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ