IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ レノボ・シンガポール・プライベート・リミテッドの特許一覧

<>
  • 特許-情報処理装置および制御方法 図1
  • 特許-情報処理装置および制御方法 図2
  • 特許-情報処理装置および制御方法 図3
  • 特許-情報処理装置および制御方法 図4
  • 特許-情報処理装置および制御方法 図5
  • 特許-情報処理装置および制御方法 図6
  • 特許-情報処理装置および制御方法 図7
  • 特許-情報処理装置および制御方法 図8
  • 特許-情報処理装置および制御方法 図9
  • 特許-情報処理装置および制御方法 図10
  • 特許-情報処理装置および制御方法 図11
  • 特許-情報処理装置および制御方法 図12
  • 特許-情報処理装置および制御方法 図13
  • 特許-情報処理装置および制御方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-03
(45)【発行日】2024-09-11
(54)【発明の名称】情報処理装置および制御方法
(51)【国際特許分類】
   G06F 1/3206 20190101AFI20240904BHJP
   G06F 1/3234 20190101ALI20240904BHJP
【FI】
G06F1/3206
G06F1/3234
【請求項の数】 7
(21)【出願番号】P 2023046466
(22)【出願日】2023-03-23
【審査請求日】2023-03-23
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】長南 勉
(72)【発明者】
【氏名】中村 厚喜
(72)【発明者】
【氏名】上村 拓郎
(72)【発明者】
【氏名】織田 弘樹
(72)【発明者】
【氏名】牧 耕太郎
(72)【発明者】
【氏名】岡 賢治
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2012-173926(JP,A)
【文献】特開平03-003042(JP,A)
【文献】特開2022-011592(JP,A)
【文献】特開2021-157769(JP,A)
【文献】特開2007-257363(JP,A)
【文献】特表2020-532258(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F1/28-1/3296
(57)【特許請求の範囲】
【請求項1】
演算処理部と、前記演算処理部の消費電力を監視する電力監視部を備え、
前記電力監視部は、
前記演算処理部における所定のコマンドに対する応答性を検出し、
前記応答性に基づいて、前記演算処理部の電力制御に使用される電力制御パラメータを定め
前記電力制御パラメータの基準値である基準パラメータから所定の範囲内となる応答性を与える電力制御パラメータの候補である候補パラメータのうち、前記消費電力が最小となる候補パラメータを前記電力制御パラメータの制御値として選択する
情報処理装置。
【請求項2】
前記電力監視部は、
二分探索法を用いてN(Nは、2以上の整数)通りの候補パラメータから前記消費電力が最小となる候補パラメータを探索する
請求項に記載の情報処理装置。
【請求項3】
前記電力監視部は、
前記演算処理部に前記コマンドを発行し、前記コマンドに対する応答時間を前記応答性として検出する
請求項1に記載の情報処理装置。
【請求項4】
前記演算処理部は、
前記コマンドの発生を検出するとき、前記コマンドに対する監視結果を前記電力監視部に通知する
請求項1に記載の情報処理装置。
【請求項5】
前記電力監視部は、
前記演算処理部の負荷量が第1基準負荷量より大きいとき、
前記応答性に基づいて、前記電力制御パラメータを定め
前記演算処理部の負荷量が第2基準負荷量以下となるとき、
前記電力制御パラメータの制御値として前記候補パラメータよりも小さい消費電力を与える所定の電力制御パラメータを選択する
請求項に記載の情報処理装置。
【請求項6】
前記電力制御パラメータは、
第1制限電力、第2制限電力および第4制限電力を含み、
前記第1制限電力は、前記演算処理部を構成するプロセッサの定格電力であり、
前記第2制限電力は、前記プロセッサの短時間平均最大電力であり、
前記第4制限電力は、前記プロセッサの瞬間最大電力である
請求項1に記載の情報処理装置。
【請求項7】
演算処理部を備える情報処理装置における制御方法であって、
前記情報処理装置は、
前記演算処理部の消費電力を監視し、
前記演算処理部における所定のコマンドに対する応答性を検出し、
前記応答性に基づいて、前記演算処理部の電力制御に使用される電力制御パラメータを定め
前記演算処理部の電力制御に使用される電力制御パラメータの基準値である基準パラメータから所定の範囲内となる応答性を与える電力制御パラメータの候補である候補パラメータのうち、前記消費電力が最小となる候補パラメータを前記電力制御パラメータの制御値として選択する
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、情報処理装置の消費電力を制御する技術に関する。
【背景技術】
【0002】
パーソナルコンピュータ(PC:Personal Computer)をはじめとする情報処理装置は、中央演算装置(CPU:Central Processing Unit)などのプロセッサを備え、各種の演算処理を実行する。プロセッサの消費電力は、情報処理装置の消費電力の多くを占める。一般に、プロセッサの消費電力が増加するほど演算時間が短くなる傾向がある(図11参照)。その場合、プロセッサの反応時間が短くなるので、より良好なユーザ体験(UX:User Experience)がもたらされる。しかしながら、プロセッサの動作状態によっては、より多くの消費電力に対応できるように電力制御パラメータを変更しても、プロセッサの演算時間が短縮しないことがある。このような状況では、消費電力が増加しても性能が向上せず、電力が浪費される。そのため、消費電力の増加に従って性能が有意に向上する有効制御範囲においてプロセッサの消費電力を制御することが望ましい(図12参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-041007号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
消費電力と性能の関係は、様々な要因に依存する。例えば、実行中のバックグラウンドタスクが存在する場合には、有効制御範囲が狭くなりがちである(図13参照)。そのような場合には、消費電力が有効に制御されない。演算処理による電力消費は、発熱をもたらし性能低下の要因となる。演算速度の他、メモリ帯域幅がプロセッサの性能に影響する。一般にメモリ帯域幅が大きいほど消費電力が増加する傾向がある(図14参照)。従って、プロセッサのパラメータを変更しても消費電力が有意に変化せず、電力が浪費されることがあった。
【課題を解決するための手段】
【0005】
本願は上記の課題を解決するためになされたものであり、本願の一態様に係る情報処理装置は、演算処理部と、前記演算処理部の消費電力を監視する電力監視部を備え、前記電力監視部は、前記演算処理部における所定のコマンドに対する応答性を検出し、前記応答性に基づいて、前記演算処理部の電力制御に使用される電力制御パラメータを定める。
【0006】
上記の情報処理装置において、前記電力監視部は、前記電力制御パラメータの基準値である基準パラメータから所定の範囲内となる応答性を与える電力制御パラメータの候補である候補パラメータのうち、前記消費電力が最小となる候補パラメータを前記電力制御パラメータの制御値として選択してもよい。
【0007】
上記の情報処理装置において、前記電力監視部は、二分探索法を用いてN(Nは、2以上の整数)通りの候補パラメータから前記消費電力が最小となる候補パラメータを探索してもよい。
【0008】
上記の情報処理装置において、前記電力監視部は、前記演算処理部に前記コマンドを発行し、前記コマンドに対する応答時間を前記応答性として検出してもよい。
【0009】
上記の情報処理装置において、前記演算処理部は、前記コマンドの発生を検出するとき、前記コマンドに対する応答性を前記電力監視部に通知してもよい。
【0010】
上記の情報処理装置において、前記電力監視部は、前記演算処理部の負荷量が第1基準負荷量より大きいとき、前記応答性に基づいて、前記電力制御パラメータを定め、前記演算処理部の負荷量が第2基準負荷量以下となるとき、前記電力制御パラメータの制御値として前記候補パラメータよりも小さい消費電力を与える所定の電力制御パラメータを選択してもよい。
【0011】
上記の情報処理装置において、前記電力制御パラメータは、第1制限電力、第2制限電力および第4制限電力を含み、前記第1制限電力は、前記演算処理部を構成するプロセッサの定格電力であり、前記第2制限電力は、前記プロセッサの短時間平均最大電力であり、前記第4制限電力は、前記プロセッサの瞬間最大電力である。
【0012】
本願の第2態様に係る制御方法は、演算処理部を備える情報処理装置における制御方法であって、前記情報処理装置は、前記演算処理部の消費電力を監視し、前記演算処理部における所定のコマンドに対する応答性を検出し、前記応答性に基づいて、前記演算処理部の電力制御に使用される電力制御パラメータを定める。
【発明の効果】
【0013】
本実施形態によれば、ユーザ体験を損ねずに電力の浪費を解消または緩和することができる。
【図面の簡単な説明】
【0014】
図1】本実施形態に係る情報処理装置のハードウェア構成例を示す概略ブロック図である。
図2】本実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
図3】本実施形態に係る電力制御パラメータの設定例を示す説明図である。
図4】本実施形態の電力制御パラメータの選択手順の第1例を示す説明図である。
図5】本実施形態の電力制御パラメータの選択手順の第2例を示す説明図である。
図6】本実施形態に係る情報処理装置の機能構成の他の例を示すブロック図である。
図7】アプリ実行時における消費電力の第1例を示す図である。
図8】アプリ実行時における消費電力の第2例を示す図である。
図9】アプリ実行時における消費電力の時間変化の一例を示す図である。
図10】一部期間における消費電力の時間変化の一例を示す拡大図である。
図11】プロセッサの処理量と消費電力を例示する説明図である。
図12】プロセッサの消費電力、演算時間およびUXの一例を示す説明図である。
図13】プロセッサの消費電力、演算時間およびUXの他の例を示す説明図である。
図14】メモリ消費電力とメモリ帯域幅の一例を示す説明図である。
【発明を実施するための形態】
【0015】
以下、本願の実施形態について、図面を参照して説明する。まず、本実施形態に係る情報処理装置1の概要について説明する。情報処理装置1は、演算処理部と、演算処理部の消費電力を監視する電力監視部を備える。電力監視部は、演算処理部における所定のコマンドに対する応答性を検出し、検出した応答性に基づいて、演算処理部の電力制御に使用される電力制御パラメータを定める。
【0016】
次に、本実施形態に係る情報処理装置1のハードウェア構成例について説明する。図1は、本実施形態に係る情報処理装置1のハードウェア構成例を示す概略ブロック図である。情報処理装置1は、CPU11と、メインメモリ12と、ビデオサブシステム13と、ディスプレイ14と、チップセット21と、BIOSメモリ22と、補助記憶装置23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、EC31と、入力部32と、電源回路33と、バッテリ34と、放熱ファン35と、温度センサ36と、を備える。
【0017】
CPU11は、情報処理装置1に備わるシステムデバイスの中核をなす。CPU11は、ソフトウェア(プログラム)に記述された命令で指示される種々の演算処理を実行するプロセッサである。CPUは、例えば、OS(Operating System)、BIOS、アプリケーションプログラム(本願では、「アプリ」と呼ぶことがある)など、各種のプログラムで指示される処理を実行する。なお、プログラムに記述された指令(コマンド)で指示される処理を実行することを、「プログラムを実行する」、「プログラムの実行」などと呼ぶことがある。
【0018】
メインメモリ12は、プロセッサの実行プログラムの読み込み領域として、または、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAMチップで構成される。実行プログラムには、OS、周辺機器などのハードウェアを操作するための各種ドライバ、各種サービス/ユーティリティ、アプリ等が含まれる。
【0019】
ビデオサブシステム13は、CPU11による制御に従い、主に実時間画像処理、その他の並列演算処理を実行する。CPU11は、OS上でグラフィックドライバを実行して、ビデオサブシステム13の動作を制御し、OS、アプリ、その他のプログラムで指示される画像処理を実現する。ビデオサブシステム13は、CPU11から入力される描画命令を処理し、処理した描画情報をビデオメモリ(図示せず)に書き込むとともに、ビデオメモリからこの描画情報を読み出し、CPU11を経由してディスプレイ14に表示情報を示す表示データとして出力する(画像処理)。
【0020】
ディスプレイ14は、CPU11から出力された表示データに基づく表示画面を表示する。ディスプレイ14は、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、OLED(Organic Light Emitting Diode、有機発光ダイオード)ディスプレイなどのいずれであってもよい。
【0021】
チップセット21は、複数のコントローラを備え、複数のデバイスと各種のデータを入出力できるように接続可能とする。コントローラは、例えば、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、および、LPC(Low Pin Count)などのバスコントローラのいずれか1個または組み合わせである。複数のデバイスとして、例えば、後述するBIOSメモリ22、補助記憶装置23、オーディオシステム24、WLANカード25、USBコネクタ26、および、EC31が含まれる。
【0022】
BIOSメモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなど、電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、EC31その他のデバイスの動作を制御するためのファームウェアなどを記憶する。BIOSは、システムデバイスの基本的な入出力を行うためのファームウェアである。本願では、BIOSとは、UEFI(Unified Extensible Firmware Interface)に規定された仕様に従って定義されたファームウェアも含む。
【0023】
補助記憶装置23は、各種のデータを永続的に記憶する。記憶されるデータは、CPU11、その他のデバイスにより実行されうる各種のプログラム、パラメータ、各種処理に用いられるデータ、各種処理により取得されるデータが含まれる。補助記憶装置23は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などのいずれであってもよく、各種の不揮発性メモリを含んで構成される。不揮発性メモリとして、例えば、フラッシュメモリが用いられる。各種のプログラムには、例えば、OS、ドライバ、ファームウェア、アプリ、等が含まれうる。
【0024】
オーディオシステム24は、マイクロホンとスピーカ(図示せず)が接続され、音声データの記録、再生および出力を行う。なお、マイクロホンとスピーカは、例えば、情報処理装置1に内蔵されてもよいし、情報処理装置1とは別体であってもよい。
【0025】
WLAN(Wireless Local Area Network)カード25は、ワイヤレス(無線)LANにより、ネットワークに接続して、ネットワークを経由して他機器との間でデータ通信を行う。
USBコネクタ26は、USBを利用して周辺機器類を接続するためのコネクタである。
【0026】
EC31は、情報処理装置1のシステムの動作状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視して制御するワンチップマイコン(One-Chip Microcomputer)である。EC31は、CPU11とは別個のCPU、ROM、RAM、複数チャネルのA/D入力端子、D/A出力端子、タイマおよびデジタル入出力端子(図示せず)を備える。EC31のデジタル入出力端子には、例えば、入力部32、電源回路33、放熱ファン35、温度センサ36などが接続されており、EC31は、これらの動作を制御可能とされている。
また、EC31は、チップセット21を経由してCPU11の動作周波数の変更、平均処理速度、等の制御を行って消費電力を制御してもよい。
【0027】
入力部32は、例えば、キーボードや、タッチパッドなど、ユーザの操作を検出し、検出した操作に応じた操作信号をEC31に出力する入力デバイスを備える。入力部32は、ディスプレイ14と重なり合いタッチセンサとして構成されてもよい。
【0028】
電源回路33は、例えば、DC/DCコンバータ、充放電ユニット、AC/DCアダプタなどを備える。例えば、電源回路33は、ACアダプタ(図示せず)などの外部電源またはバッテリ34から供給される直流電圧を、情報処理装置1を動作させるために必要な複数の電圧に変換する。また、電源回路33は、EC31の制御に従い、情報処理装置1の各部に電力を供給する。
【0029】
バッテリ34は、例えば、リチウムイオンバッテリ等の二次電池を備える。バッテリ34は、情報処理装置1に外部電源から電力供給されている場合に、電源回路33を経由して充電され、情報処理装置1に外部電源から電力供給されていない場合に、電源回路33を経由して、蓄積した電力を情報処理装置1の動作電力として出力する。
【0030】
放熱ファン35は、情報処理装置1の筐体(図示せず)に設置され、その筐体内部に格納された部材を冷却させる。放熱ファン35は、主にCPU11など、発熱量が大きい部材から発される熱を放熱させる。放熱ファン35は、フィンを回転させて筐体の内部に空気を取り込み、取り込まれた空気と筐体の内部に設置された部材と熱交換させる。熱交換により温度が上昇した空気が筐体の外部に排出される。放熱ファン35の動作は、例えば、EC31により制御される。
【0031】
温度センサ36は、情報処理装置1の筐体の内部に備わり、その位置における温度を検出する。温度センサ36は、発熱量の大きいデバイス、例えば、CPU11から所定距離以内の位置に近接される。温度センサ36は、検出した温度を示す温度信号をEC31に出力する。EC31は、温度センサ36から入力される温度信号に示される温度に基づいて、放熱ファン35の動作を制御する。
【0032】
一般に、CPU11における消費電力は可変である。CPU11は、消費電力に応じて動作電圧と動作周波数の一方または両方を制御する機構を有する。例えば、CPU11は、システムファームウェアを実行し、情報処理装置1の主システムの動作状態(動作モード)または電力制御モードに応じて許容する最大動作周波数を、自器のレジスタに設定する。主システムは、CPU11、メインメモリ12などのハードウェアと、OS、スケジュール・タスクなどのソフトウェアと、を含んで構成されるコンピュータシステムである。主システムを構成するデバイスがシステムデバイスに相当する。CPU11は、システムデバイスの中核をなす。
【0033】
CPU11は、BIOSを実行し、他のシステムデバイスと協働して、各システムデバイスによるデータの入出力を制御する。CPU11は、メインメモリ12、または、その他のデバイスと協働してOSを実行し、情報処理装置1の基本的な機能を提供する。基本的な機能には、例えば、各種アプリ、その他のプログラムの実行状態の管理、制御、それらのプログラムの実行における標準的なインタフェースの提供、主システムならびに主システムと直接または間接的に協働するハードウェアにおけるリソースの管理、などが含まれる。
【0034】
一般に、プロセッサの消費電力は、動作周波数が高いほど多くなる。プロセッサには、動作周波数の下限と上限が設定される。プロセッサには、例えば、予め動作周波数ごとに消費電力との関係を示す関数または制御テーブルを設定しておき、この関係を参照して、目標とする消費電力に対応する動作周波数を定めることができる。動作周波数が下限に設定されることで、最低限の処理能力が担保される。動作周波数が上限に設定されることで、処理能力が最大となる。この関係には、後述するように動作モード、電力制御パラメータと関連付けられうる。
【0035】
プロセッサは、一般に、動作周波数が高いほど、または、使用率が高いほど消費電力が大きくなるので、発熱量が多くなる。プロセッサは、許容される最大消費電力以下となる消費電力に対応する動作周波数を設定することで、消費電力が設定された最大消費電力以下となるように動作する。従って、動作周波数が低下するほど、消費電力が減少し、プロセスの実行時間が長くなる。また、OSは、同時に複数のプロセスの処理を実行可能とするため、個々のプロセスにメモリ、消費電力などの演算資源を割り当てる。実行時間は、同時に実行される他のプロセスの有無もしくは数、個々のプロセスにおいて指示される処理に依存する。従って、CPU11の応答性は、その時々における動作状態に依存し、ユーザ体験(UX:User Experience)に影響する。
【0036】
次に、本実施形態に係る情報処理装置1の機能構成例について説明する。図2は、本実施形態に係る情報処理装置1の機能構成の一例を示すブロック図である。情報処理装置1は、演算処理部11aと、電力監視部11bと、を含んで構成される。演算処理部11aと電力監視部11bの機能は、メインメモリ12その他のハードウェアと協働し、CPU11がOS(Operating System)、ユーティリティソフトウェア、ファームウェア、アプリケーションプログラム、など各種のプログラムに記述されたコマンド(指令)で指示される処理を実行することにより実現される。
【0037】
演算処理部11aは、各種のソフトウェアを構成するコマンドで指示される演算処理を実行する。
電力監視部11bは、演算処理部11aの動作状態を監視し、動作状態に応じて演算処理部11aの消費電力を制御する。監視対象となる項目には、消費電力が含まれる。電力監視部11bは、例えば、パワーチェッカ(Power Checker)として機能する。また、電力監視部11bには、予め複数通りの電力制御パラメータを設定しておく。電力監視部11bは、演算処理部11aにおける所定のイベントを検出する。電力監視部11bは、電力制御パラメータごとに検出した当該イベントに対する応答性を検出する。電力監視部11bは、検出した応答性に基づいて、1通りの電力制御パラメータを選択し、選択した電力制御パラメータを演算処理部11aに設定する。
【0038】
電力監視部11bは、所定のコマンドを演算処理部11aに対して発行する(S02)。演算処理部11aは、電力監視部11bから受信したコマンドで指示される処理を実行し、その実行状況を示す応答を電力監視部11bに出力する。本実施形態では、小規模のタスク(tiny task)であって、短時間で実行結果が提示される処理を指示するためのコマンドが適用可能である。かかるコマンドとして、例えば、pingコマンド、プロセス生成コマンド、スレッド作成コマンド、ウィンドウ生成コマンド、などの既存のコマンドが利用可能である。
【0039】
電力監視部11bは、演算処理部11aから入力される応答を受け付ける(S04)。電力監視部11bは、受け付けた応答に基づいて演算処理部11aへのコマンドの発行に対する応答性を検出し、演算処理部11aの動作状態に対応する電力制御パラメータを定める(S06)。電力監視部11bは、応答性の指標として、コマンドの発行時刻から応答時刻までの期間を応答時間(response time)として計測することができる。応答時刻は、演算処理部11aからの応答を取得する時刻である。
電力監視部11bは、定めた電力制御パラメータを演算処理部11aに設定する(S08)。演算処理部11aは、設定された電力制御パラメータを用いて消費電力を制御する。
【0040】
電力制御パラメータには、第1制限電力(PL1:Power Limit 1)、第2制限電力(PL2:Power Limit 2)および第4制限電力(PL4:Power Limit 4)の一部または全部が含まれる。PL1は、定格電力に相当する。PL1は、CPU11の消費電力が一時的にこの値を超えることを許容するが、所定の継続時間T以上継続してこの値を超えることを制限するための閾値である。PL1は、長時間制限電力(Long Term Power Limit)とも呼ばれる。演算処理部11aは、消費電力がPL1を超える時間が継続時間τ(例えば、0.2~1[s])以上継続するとき、消費電力の長時間移動平均値がPL1以下になるように、動作周波数を低下させる。また、演算処理部11aは、消費電力の移動平均値がPL1を超えない範囲で、その時点でCPU11の動作周波数を高くする。
【0041】
PL2は、消費電力の短時間移動平均値が、この値を超えることを制限するための閾値である。即ち、演算処理部11aは、短時間移動平均値がPL2を超えないように消費電力を制御する。PL2は、短時間制限電力(Short Term Power Limit)とも呼ばれる。
PL4は、瞬間最大電力に相当する。PL4は、CPU11の消費電力の瞬時値が瞬間的(例えば、数十μs~数十ms程度の短期間)であっても、この値を超えることを制限するための閾値である。PL4は、時間的に平滑化されたPL2よりも有意に大きい値となりうる。
電力制御パラメータには、さらにEPP(Energy Performance Preference)が含まれてもよい。EPPは、CPU11の動作周波数の挙動(frequency behavior)に係るパラメータである。EPPは、小さい設定値ほどCPU11を高パフォーマンスで動作させ、大きい設定値ほど低消費電力で動作させることを指示するためのパラメータである。
【0042】
電力監視部11bは、ステップS02~S08の処理(本願では、「パラメータ調整」と呼ぶことがある)を一定期間(例えば、10秒~3分)ごとに繰り返してもよい。また、電力監視部11bは、1回のパラメータ設定(S08)に際し、その時点までの所定回数(例えば、5~20回)または所定期間(例えば、30秒~10分)において複数回S02~S06の処理を繰り返し、各回の応答性を平均して得られる移動平均値に基づいて電力制御パラメータを定めてもよい。移動平均値は、単純平均値であってもよいし、加重平均値であってもよい。
【0043】
電力監視部11bは、常にパラメータ調整を実行しなくてもよい。例えば、消費電力が少ない場合、動作モードが省電力モードである場合には、パラメータ調整は行われなくてもよい。省電力モードとは、通常の動作モード(本願では、「通常モード」と呼ぶことがある)よりも消費電力が少ない動作モードである。省電力モードは、例えば、ACPI(Advanced Configuration and power Interface)に規定されたスリープ状態S1~S4状態に相当し、通常の動作モードがS0状態に相当する。
【0044】
次に、本実施形態に係る電力制御パラメータの設定例について説明する。図3は、電力制御パラメータの設定例を示す説明図である。
電力監視部11bは、演算処理部11aの動作状況を監視し、演算処理部11aの負荷量が予め定めた第1基準負荷量を超えるときパラメータ調整を開始してもよい。電力監視部11bは、例えば、次のいずれかの場合を検出するとき、演算処理部11aの負荷量が第1基準負荷量を超えると判定することができる。
(ST01)演算処理部11aの消費電力Pが所定の開始判定電力P_ONを超えるとき、(ST02)演算処理部11aがフォアグランドアプリを起動するとき、(ST03)演算処理部11aが電力監視部11bを除く他のデバイスとの入出力を検出するとき、等
【0045】
電力監視部11bは、演算処理部11aの負荷量が予め定めた第2基準負荷量以下となるときパラメータ調整を終了してもよい。演算処理部11aは、例えば、次のいずれにも該当する場合、演算処理部11aの負荷量が第2基準負荷量以下になると判定することができる。
(ED01)演算処理部11aの消費電力Pが所定の停止判定電力P_OFF未満となるとき、(ED02)演算処理部11aにおいてフォアグランドアプリの実行を終了するとき、(ED03)演算処理部11aが一定期間(例えば、1~3分)以上継続して他のデバイスとの入出力を検出しないとき、等
【0046】
停止判定電力P_OFFは、開始判定電力P_ONと等しくてもよいし、より少なくてもよい。停止判定電力P_OFFを、開始判定電力P_ONよりも少ない値に設定することで、一時的に演算処理部11aの消費電力が開始判定電力P_ONをわずかに下回っても直ちにパラメータ調整が停止されない。パラメータ調整を継続することで再度の消費電力の増加に備えることができる。
【0047】
通常モードは、複数段階の動作モードに区分され、個々の動作モードごとに、電力制御パラメータが設定される。演算処理部11aは、消費電力に応じて個々の動作モードに対応する電力制御パラメータを選択する。図3の例では、電力監視部11bには、6段階の動作モードEco、LV1~LV5が設定される。動作モードEco、LV1~LV5の順に大きい消費電力に対応する。動作モードEcoは、エコモードと呼ばれ、全6段階の電力制御パラメータのうち、対応可能な消費電力が最小となる。動作モードEcoは、消費電力パラメータ調整を行わない場合(OFF)に適用され、パラメータ調整を行う場合には適用されない。
【0048】
動作モードLV1~LV5は、パラメータ調整を行う場合(ON)に適用される。電力監視部11bは、パラメータ調整において、5段階の動作モードLV1~LV5のうち、いずれか1通りを選択するとみなすこともできる。この例では、動作モードEco、LV1、LV2、LV3、LV4、LV5のそれぞれに対して、電力制御パラメータPL1maxとしてPL1E、PL11、PL12、PL13、PL14、PL15が設定される。なお、PL1maxは、個々の動作モードにおけるPL1の最大値に相当する。
【0049】
次に、5段階の電力制御パラメータから、いずれか1段階を選択する際の選択手順について説明する。図4は、本実施形態の電力制御パラメータの選択手順の第1例を示す説明図である。
図4の例では、電力監視部11bには、5段階の動作モードLV1~LV5の他、参照モードRefを予め設定しておく。以下の説明では、動作モードLV1~LV5のそれぞれに対応する電力制御パラメータを「候補パラメータ」と総称し、参照モードに対応する電力制御パラメータを「基準パラメータ」と呼ぶ。候補パラメータは、電力制御パラメータの候補となる。基準パラメータは電力制御パラメータの基準値となる。この例では、基準パラメータは、5段階の候補パラメータよりも、さらに大きい消費電力に対応付けられる。
【0050】
ここで、電力監視部11bは、各段階の候補パラメータと基準パラメータのそれぞれについて、所定のコマンドを演算処理部11aに対して順次発行する。
演算処理部11aは、電力監視部11bからのコマンドを待ち受け、コマンド検出の都度、検出されたコマンドで指示される処理を実行し、その処理結果を示す応答を電力監視部11bに出力する。
【0051】
電力監視部11bは、候補パラメータと基準パラメータのそれぞれについて、コマンド発行時刻から応答受信時刻までの応答時間を定める。電力監視部11bは、候補パラメータのそれぞれについて、基準パラメータに対する応答時間の候補パラメータに対する応答時間で除算して正規化する。電力監視部11bは、正規化された応答時間が所定の許容範囲内に含まれる候補パラメータのうち、消費電力が最小となる候補パラメータを電力制御パラメータの制御値として選択する。
電力監視部11bは、選択した電力制御パラメータの制御値を演算処理部11aに設定する。演算処理部11aは、電力監視部11bにより設定された設定値を消費電力の制御に用いる。
【0052】
電力監視部11bは、N(Nは、2以上の予め定めた整数)段階の候補パラメータから電力制御パラメータの制御値を定める際、候補パラメータのそれぞれに対して測定される応答時間に対して二分探索法を適用してもよい。これにより、候補パラメータに対する応答時間の測定回数をN-1回以下に抑えることができる。
【0053】
図4の例では、電力監視部11bは、基準パラメータに対する応答時間Resp_Rを測定する(S12)。
その後、電力監視部11bは、動作モードLV4の候補パラメータに対する応答時間Resp_4を定める(S14)。
そして、電力監視部11bは、応答時間Resp_Rで正規化された応答時間Resp_4が閾値Resp_th以下となるか否かを判定する。
【0054】
閾値Resp_thは、応答時間の許容範囲の最大値に相当する。閾値Resp_thは、例えば、110~150%である。この例では、許容範囲の最小値は、特に設定されなくてもよい。基準パラメータは、いずれの候補パラメータよりも多くの消費電力に対応するので、応答時間が最も短くなることが期待されるためである。例示される応答時間の許容範囲は、最大の消費電力を与える基準パラメータに対する応答時間を基準とし、その増加が一定範囲内に収まる範囲に相当する。
応答時間Resp_4が閾値Resp_th以下となる場合、ステップS16の処理に進む。応答時間Resp_4が閾値Resp_thより大きい場合、ステップS18の処理に進む。
【0055】
電力監視部11bは、動作モードLV5の候補パラメータに対する応答時間Resp_5を定める(S16)。
そして、電力監視部11bは、応答時間Resp_5が閾値Resp_th以下となるか否かを判定する。
応答時間Resp_5が閾値Resp_th以下となる場合、ステップS24の処理に進む。応答時間Resp_5が閾値Resp_thより大きい場合、ステップS26の処理に進む。
【0056】
電力監視部11bは、動作モードLV2の候補パラメータに対する応答時間Resp_2を定める(S18)。
そして、電力監視部11bは、応答時間Resp_2が閾値Resp_th以下となるか否かを判定する。
応答時間Resp_2が閾値Resp_th以下となる場合、ステップS20の処理に進む。応答時間Resp_2が閾値Resp_thより大きい場合、ステップS22の処理に進む。
【0057】
電力監視部11bは、動作モードLV3の候補パラメータに対する応答時間Resp_3を定める(S20)。
そして、電力監視部11bは、応答時間Resp_3が閾値Resp_th以下となるか否かを判定する。
応答時間Resp_3が閾値Resp_th以下となる場合、ステップS28の処理に進む。応答時間Resp_3が閾値Resp_thより大きい場合、ステップS30の処理に進む。
【0058】
電力監視部11bは、動作モードLV1の候補パラメータに対する応答時間Resp_1を定める(S22)。
そして、電力監視部11bは、応答時間Resp_1が閾値Resp_th以下となるか否かを判定する。
応答時間Resp_1が閾値Resp_th以下となる場合、ステップS32の処理に進む。
【0059】
電力監視部11bは、動作モードLV5の候補パラメータを電力制御パラメータの制御値として選択し、選択した制御値を演算処理部11aに設定する(S24)。
電力監視部11bは、動作モードLV4の候補パラメータを電力制御パラメータの制御値として選択し、選択した制御値を演算処理部11aに設定する(S26)。
電力監視部11bは、動作モードLV3の候補パラメータを電力制御パラメータの制御値として選択し、選択した制御値を演算処理部11aに設定する(S28)。
電力監視部11bは、動作モードLV2の候補パラメータを電力制御パラメータの制御値として選択し、選択した制御値を演算処理部11aに設定する(S30)。
電力監視部11bは、動作モードLV1の候補パラメータを電力制御パラメータの制御値として選択し、選択した制御値を演算処理部11aに設定する(S32)。
【0060】
図4の説明では、動作モードが5段階である場合を例にしたが、動作モードは、2段階、3段階、4段階、または、6段階以上であってもよい。
図5は、動作モードが3段階である場合における電力制御パラメータの選択手順を例示する。例示される3段階の動作モードとして、上記の5段階の動作モードのうち、動作モードLV1、LV3、Lv5が用いられる。図5の例では、電力監視部11bは、次に説明するように、電力制御パラメータの制御値を定めることができる。
【0061】
電力監視部11bは、基準パラメータに対する応答時間Resp_Rを測定する(S42)。その後、電力監視部11bは、動作モードLV5候補パラメータに対する応答時間Resp_5を定める(S44)。
そして、電力監視部11bは、応答時間Resp_Rで正規化された応答時間Resp_5が閾値Resp_th以下となるか否かを判定する。
応答時間Resp_5が閾値Resp_th以下となる場合、ステップS48の処理に進む。応答時間Resp_5が閾値Resp_thより大きい場合、ステップS46の処理に進む。
【0062】
電力監視部11bは、動作モードLV3の候補パラメータに対する応答時間Resp_3を定める(S46)。
そして、電力監視部11bは、応答時間Resp_3が閾値Resp_th以下となるか否かを判定する。
応答時間Resp_3が閾値Resp_th以下となる場合、ステップS50の処理に進む。応答時間Resp_3が閾値Resp_thより大きい場合、ステップS52の処理に進む。
【0063】
電力監視部11bは、動作モードLV5の候補パラメータを電力制御パラメータの制御値として選択し、選択した制御値を演算処理部11aに設定する(S48)。
電力監視部11bは、動作モードLV3の候補パラメータを電力制御パラメータの制御値として選択し、選択した制御値を演算処理部11aに設定する(S50)。
電力監視部11bは、動作モードLV1の候補パラメータを電力制御パラメータの制御値として選択し、選択した制御値を演算処理部11aに設定する(S52)。
【0064】
なお、図4の例において、動作モードLV1の候補パラメータに対する応答時間Resp_1が閾値Resp_thより大きい場合、電力監視部11bは、参照モードに対応する基準パラメータを電力制御パラメータの制御値として選択してもよい。また、この場合において、電力監視部11bは、動作モードLV1の候補パラメータを電力制御パラメータの制御値として選択してもよい。この場合において、図4に例示されるステップS22の処理は省略され、応答時間Resp_2が閾値Resp_thより大きい場合、ステップS32の処理に進む。
【0065】
図4図5の例では、N段階の候補パラメータは、基準パラメータとは別個であるが、これには限られない。いずれか1段階の候補パラメータが基準パラメータとして用いられてもよい。その場合、基準パラメータ独自の応答時間の測定(例えば、ステップS12、S42)はなされなくてもよく、候補パラメータごとの応答時間の測定の一環とすれば足りる。
【0066】
また、動作モードEcoに係る電力制御パラメータは、N段階の候補パラメータのうち最小の消費電力に対する候補パラメータと共通であってもよい。
基準パラメータは、常に一定でなくてもよく、可変であってもよい。基準パラメータは、その時点で演算処理部11aに設定されている候補パラメータが基準パラメータとして採用されてもよい。これにより、現時点における候補パラメータに対する応答性を基準として、新たな候補パラメータの選択が試みられる。
【0067】
例示される応答時間の許容範囲は、必ずしも最大の消費電力を与える基準パラメータもしくは候補パラメータに対する応答時間を基準として設定されていなくてもよい。例えば、標準モードにおける最低の候補パラメータに対する応答時間を基準として設定されてもよいし、現時点において制御値として設定される候補パラメータに対する応答時間を基準として設定されてもよい。
【0068】
なお、電力監視部11bには、演算処理部11aの異なる動作状況ごとに、個々の候補パラメータに対する応答時間を示す応答時間データを設定しておいてもよい。応答時間データは、動作状況と候補パラメータに対する応答時間を示すデータテーブルの形式を有してもよいし、動作状況と候補パラメータに対する応答時間を算出するための関数の形式を有してもよい。電力監視部11bは、1段階の候補パラメータに対して応答時間を測定し、応答時間データを参照して、演算処理部11aの動作状況を特定し、特定した動作状況に対する候補パラメータごとの応答時間を推定することができる。そして、電力監視部11bは、推定した応答時間のうち、所定の許容範囲内にある応答時間の最大値を与える候補パラメータを電力制御パラメータの制御値として選択することができる。
【0069】
次に、本実施形態の実施例について説明する。図7は、アプリの実行時における演算処理部11aの消費電力の一例を示す。図7は、比較例、本実施形態のそれぞれについてマルチメディア通信アプリの実行時における消費電力をその順に示す。本実施形態として、電力制御パラメータを定める際、図4に例示したパラメータ選択手順を実行した。比較例では、本実施形態とは異なり、電力制御パラメータを定める際、上述のパラメータ調整を行わずに、演算処理部11aの消費電力と電力制御パラメータごとに設定された目標値とを比較した。本実施形態では、比較例よりも消費電力が約7%低下する。
【0070】
図8は、アプリの実行時における演算処理部11aの消費電力の他の例を示す。図8は、比較例、本実施形態のそれぞれについて歌詞表示アプリの実行時における消費電力量をその順に示す。歌詞表示アプリにより、曲ごとに音楽の再生と歌詞の画面表示が同期して実行される。本実施形態では、比較例よりも消費電力量が約11%低下する。
図7図8の例は、いずれもCPU11において多くの処理が継続的になされ、多くの電力が消費される。本実施形態によれば、応答性の低下を一定範囲内に抑えながら、消費電力を低下させることができる。
【0071】
図9は、アプリの実行時における演算処理部11aの消費電力の時間変化の一例を示す。図9は、比較例、本実施形態のそれぞれについて、7種類のアプリAPP01~APP07を順次実行させた場合における消費電力の時間変化を例示する。比較例、本実施形態は、それぞれ破線、実線で表される。アプリの機能により、消費電力のレベルとその変化傾向が異なる。7種類のうち、APP04とAPP07は、それぞれマルチメディア通信アプリ、歌詞表示アプリに相当する。パラメータ調整は、APP04、APP07それぞれの実行中になされ、その他のアプリの実行中にはなされない。APP04、APP07の実行中においては、他のアプリよりも消費電力が高い状態が継続する。本実施形態では、APP04、APP07の実行中において、消費電力が一時的に上昇する状態が周期的に繰り返されるが、全体として比較例よりも消費電力が低下する。一時的な消費電力の上昇は、主にパラメータ調整における応答時間の測定に起因する。
【0072】
図10は、図9の期間T04における消費電力の時間変化を例示する拡大図である。当初における消費電力の急激な上昇は、APP04の起動により、その直前よりも処理量が多くなるためである。電力監視部11bは、演算処理部11aの消費電力が開始判定電力P_ONよりも大きくなることで、より大きい消費電力を与える新たな電力制御パラメータを演算処理部11aに設定する。その後、電力監視部11bは、一定周期ごとにパラメータ調整を繰り返す。演算処理部11aの消費電力は、応答時間の測定時において、非測定時よりも有意に大きくなる。測定において基準パラメータもしくは候補パラメータの設定、コマンド発行ならびに応答がなされる。その後、応答時間の測定値を比較し、正規化された応答時間が閾値以下となる候補パラメータのうち、消費電力を最小化する候補パラメータを新たな電力制御パラメータの制御値として選択される。図示の例では、第1回測定により選択された新たな電力制御パラメータの設定により、設定前よりも消費電力が増加する。その後、応答時間の測定と、電力制御パラメータの設定が繰り返される。
【0073】
上記の説明では、演算処理部11aが電力監視部11bから発行される所定のコマンドを待ち受け、受信したコマンドの実行結果を演算処理部11aに応答する場合を主としたが、これには限られない。演算処理部11aが自部における所定のコマンドを発行してもよい。図6に例示されるように、演算処理部11aは、自部における監視結果を電力監視部11bに通知してもよい(S62)。演算処理部11aは、例えば、補助記憶装置23に記憶されたログ情報を参照して、所定のコマンドの発行の有無を判定することができる。ログ情報には、演算処理部11aにおける個々のコマンドの発行ならびに実行結果の履歴が蓄積される。個々のコマンドの発行と実行結果に対しては、それぞれの情報が取得される時点における時刻が含まれる。
【0074】
電力監視部11bは、演算処理部11aから受信した実行結果に基づいて演算処理部11aにおける当該コマンドに対する応答性を推定することができる。電力監視部11bは、例えば、実行結果に含まれるコマンドの発行時刻から受信時刻までの時間を応答時間として定めることができる。電力監視部11bは、上述のように、定めた応答性に基づいて、演算処理部11aの動作状況に対応する電力制御パラメータを定め(S66)、定めた電力制御パラメータを演算処理部11aに設定することができる(S68)。
【0075】
以上に説明したように、本実施形態に係る情報処理装置1は、演算処理部11aと、演算処理部11aの消費電力を監視する電力監視部11bを備え、電力監視部11bは、演算処理部11aにおける所定のコマンドに対する応答性を検出し、検出した応答性に基づいて、電力制御パラメータを定める。
この構成によれば、演算処理部11aにおける所定のコマンドに対して検出された応答性に基づいて、演算処理部11aの電力制御に使用される電力制御パラメータが定まる。演算処理部11aの応答性に基づいて定めた電力制御パラメータを用いて消費電力を制御することで、応答性を考慮せずに定めた電力制御パラメータを用いた場合より、ユーザ体験を損ねずに消費電力の浪費を回避または緩和することができる。
【0076】
電力監視部11bは、電力制御パラメータの基準値である基準パラメータから所定の範囲内となる応答性を与える電力制御パラメータの候補である候補パラメータのうち、消費電力が最小となる候補パラメータを電力制御パラメータの制御値として選択してもよい。
この構成によれば、応答性が所定範囲内に収まる電力制御パラメータのうち、消費電力が最小となるものが選択される。そのため、演算処理部11aの応答性を損ねずに消費電力の増加を回避することができる。
【0077】
電力監視部11bは、二分探索法を用いてN(Nは、2以上の整数)通りの候補パラメータから前記消費電力が最小となる候補パラメータを探索してもよい。
この構成によれば、消費電力が最小となる候補パラメータを探索する際、N-1回の応答性を測定すれば足りる。そのため、候補パラメータの探索に係る負荷を低減することができる。
【0078】
電力監視部11bは、演算処理部11aに所定のコマンドを発行し、コマンドに対する応答時間を応答性として検出してもよい。
この構成によれば、電力監視部11b主導で、応答性の指標として応答時間を取得することができる。
【0079】
演算処理部11aは、所定のコマンドの発生を検出するとき、コマンドに対する応答性を電力監視部11bに通知してもよい。
この構成によれば、電力監視部11bは演算処理部11aからの通知を待ち受けて応答性を取得することができる。そのため、周期的にコマンドを発行する場合よりも負荷を低減することができる。
【0080】
電力監視部11bは、演算処理部11aの負荷量が第1基準負荷量より大きいとき、応答性に基づいて、電力制御パラメータを定め、演算処理部11aの負荷量が第2基準負荷量以下となるとき、電力制御パラメータの制御値として候補パラメータよりも小さい消費電力を与える所定の電力制御パラメータを選択してもよい。
この構成によれば、演算処理部11aの負荷量が小さい場合には、電力制御パラメータの制御値を定めるためのパラメータ調整処理が実行されずに所定の電力制御パラメータに固定される。その場合には、パラメータ調整処理に係る負荷を回避することができる。
【0081】
電力制御パラメータは、第1制限電力(PL1)、第2制限電力(PL2)および第4制限電力(PL4)を含み、第1制限電力は、演算処理部11aを構成するプロセッサ(例えば、CPU11)の定格電力であり、第2制限電力は、プロセッサの短時間平均最大電力であり、第4制限電力は、プロセッサの瞬間最大電力であってもよい。
【0082】
なお、上記の説明では、情報処理装置1がシステムデバイスをなすプロセッサとしてCPU11を備える場合を主に例にしたが、これらには限られない。プロセッサをなすコアの数は1個に限られず、2個以上であってもよい。プロセッサの種類はCPUに限られずに、その他の種別の演算装置もしくは演算回路(例えば、GPU(Graphics Processing Unit))が含まれてもよい。また、上記の説明では、電力監視部11bは、演算処理部11aと共通のハードウェア上で論理的に区分される場合を例にしたが、これには限られない。電力監視部11bは、演算処理部11aとは別個のハードウェア(演算回路)を用いて実現されてもよい。
【0083】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。上述の実施形態において説明した各構成は、任意に組み合わせることができる。
【符号の説明】
【0084】
1…情報処理装置、11…CPU、11a…演算処理部、11b…電力監視部、12…メインメモリ、13…ビデオサブシステム、14…ディスプレイ、21…チップセット、22…BIOSメモリ、23…補助記憶装置、24…オーディオシステム、25…WLANカード、26…USBコネクタ、31…EC、32…入力部、33…電源回路、34…バッテリ、35…放熱ファン、36…温度センサ
【要約】
【課題】ユーザ体験を損ねずに電力の浪費を解消または緩和することができる情報処理装置および制御方法を提供する。
【解決手段】演算処理部と、演算処理部の消費電力を監視する電力監視部を備え、電力監視部は、演算処理部における所定のコマンドに対する応答性を検出し、応答性に基づいて、演算処理部の電力制御に使用される電力制御パラメータを定める。本実施形態は、情報処理装置、制御方法など、いずれの態様でも実現することができる。
【選択図】図2
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14