(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022162457
(43)【公開日】2022-10-24
(54)【発明の名称】情報処理装置および制御方法
(51)【国際特許分類】
G06F 1/3203 20190101AFI20221017BHJP
G06F 1/3228 20190101ALI20221017BHJP
G06F 1/20 20060101ALI20221017BHJP
H04M 1/73 20060101ALI20221017BHJP
【FI】
G06F1/3203
G06F1/3228
G06F1/20 D
G06F1/20 B
H04M1/73
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021067328
(22)【出願日】2021-04-12
(71)【出願人】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】中村 厚喜
(72)【発明者】
【氏名】上村 拓郎
(72)【発明者】
【氏名】内野 顕範
【テーマコード(参考)】
5B011
5K127
【Fターム(参考)】
5B011DA02
5B011EA05
5B011LL11
5K127AA16
5K127BA03
5K127GA29
5K127HA09
5K127JA04
5K127MA21
(57)【要約】
【課題】より快適に統合通信を実行できる情報処理装置および制御方法を提供する。
【解決手段】プロセッサは定格電力が異なる複数の電力制御モードをとりえ、ファンはプロセッサで生じた熱を放熱するために回転し、電力制御部は前記プロセッサの消費電力を制御し、前記複数の電力制御モードは、それぞれ定格電力が異なる2段階以上の動的制御モードと統合通信モードとを含み、前記電力制御部は、前記プロセッサの電力消費状態が所定の継続期間以上継続する事象に基づいて、前記動的制御モードのいずれかを選択し、統合通信が稼働するとき、前記統合通信モードを優先して選択する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
定格電力が異なる複数の電力制御モードをとりうるプロセッサと、
前記プロセッサで生じた熱を放熱するために回転するファンと、
前記プロセッサの消費電力を制御する電力制御部と、を備え、
前記複数の電力制御モードは、それぞれ定格電力が異なる2段階以上の動的制御モードと統合通信モードとを含み、
前記電力制御部は、
前記プロセッサの電力消費状態が所定の継続期間以上継続する事象に基づいて、前記動的制御モードのいずれかを選択し、
統合通信が稼働するとき、前記統合通信モードを選択する
情報処理装置。
【請求項2】
前記電力制御部は、
統合通信アプリケーション・プログラムの起動が指示されるとき、前記統合通信モードを選択し、
統合通信アプリケーション・プログラムの動作終了が指示されるとき、前記動的制御モードのいずれかを選択する
請求項1に記載の情報処理装置。
【請求項3】
操作を受け付ける操作部と、
画面を表示する表示部と、を備え、
電力制御部は、
前記プロセッサが前記統合通信アプリケーション・プログラムに基づく動作と、他のアプリケーション・プログラムに基づく動作を実行しているとき、
前記統合通信アプリケーション・プログラムに基づく画面表示が前記操作に応じて選択されるとき、前記統合通信モードを選択し、
前記他のアプリケーション・プログラムに基づく画面表示が前記操作に応じて選択されるとき、前記動的制御モードのいずれかを選択する
請求項2に記載の情報処理装置。
【請求項4】
前記統合通信モードの短時間制限電力は、前記動的制御モードの短時間制限電力のいずれよりも少ない
請求項1から請求項3のいずれか一項に記載の情報処理装置。
【請求項5】
前記統合通信モードの定格電力は、前記動的制御モードの定格電力の最小値よりも大きい
請求項1から請求項4のいずれか一項に記載の情報処理装置。
【請求項6】
前記電力制御部は、
前記統合通信モードよりも定格電力がより高い動的制御モードが選択されているとき、前記統合通信モードに遷移する場合、
前記電力制御部は、前記統合通信モードへの遷移前における定格電力から前記統合通信モードに所定の定格電力まで所定時間かけて定格電力を連続的に変化させる
請求項5に記載の情報処理装置。
【請求項7】
前記ファンを用いて自装置の温度を制御する温度制御部を備え、
前記統合通信モードにおける前記ファンの出力は、前記動的制御モードにおける前記ファンの出力の最小値以下である
請求項1から請求項6のいずれか一項に記載の情報処理装置。
【請求項8】
定格電力が異なる複数の電力制御モードをとりうるプロセッサと、
前記プロセッサで生じた熱を放熱するために回転するファンと、
前記プロセッサの消費電力を制御する電力制御部と、を備える情報処理装置における制御方法であって、
前記複数の電力制御モードは、それぞれ定格電力が異なる2段階以上の動的制御モードと統合通信モードを含み、
前記情報処理装置は、
前記プロセッサの電力消費状態が所定の継続期間以上継続する事象に基づいて、前記動的制御モードのいずれかを選択するステップと、
統合通信が稼働するとき、前記統合通信モードを選択するステップと、
を有する
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置の消費電力を制御する技術に関する。
【背景技術】
【0002】
隔地間において意思疎通を図る手段として、種々の形態の通信サービスが用いられる。代表的な通信サービスには、例えば、音声通話、ビデオ会議、インスタント・メッセージング、プレゼンス情報の提供などがある。複数の種類のデバイスを備えた情報処理装置を用いて、それぞれのデバイスに応じた情報媒体を用いて一度に複数の形態の通信サービスが提供されうる。例えば、インスタント・メッセージングまたはプレゼンス情報は、音声通話またはビデオ会議と同時に提供可能とすることがある。このような通信サービスの統合または統合された通信サービスは、統合通信(UC:Unified Communications、ユニファイド・コミュニケーション)と呼ばれる。
【0003】
統合通信は、複数種類の通信サービスを統合するユーザ・インタフェースを用いて実現される。かかるユーザ・インタフェースは、所定のアプリケーション・プログラム(本願では、「アプリケーション」または「アプリ」と呼ぶことがある)を実行して提供されることが通例である。
例えば、特許文献1には、ネットワークに接続し、テキストデータ、画像データ、および、音声データを送受信可能とする装置において、種々の機能ボタン、各ユーザのプレゼンス状態アイコン、通信相手のユーザの画像などを表示するユーザ・インタフェースについて記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
他方、統合通信では、同時に複数の処理が実行可能となるため、一時的に消費電力が著しく増加しがちである。動作状態に応じて複数段階の電力制御モードのいずれかを自動選択すると、統合通信の利用中において消費電力が多い電力制御モードが選択されがちである。そのため、必要以上に発熱量や、放熱ファンの出力が大きくなることがあった。
【課題を解決するための手段】
【0006】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様に係る情報処理装置は、定格電力が異なる複数の電力制御モードをとりうるプロセッサと、前記プロセッサで生じた熱を放熱するために回転するファンと、前記プロセッサの消費電力を制御する電力制御部と、を備え、前記複数の電力制御モードは、それぞれ定格電力が異なる2段階以上の動的制御モードと統合通信モードとを含み、前記電力制御部は、前記プロセッサの電力消費状態が所定の継続期間以上継続する事象に基づいて、前記動的制御モードのいずれかを選択し、統合通信が稼働するとき、前記統合通信モードを優先して選択する。
【0007】
上記の情報処理装置において、前記電力制御部は、統合通信アプリケーション・プログラムの起動が指示されるとき、前記統合通信モードを選択し、統合通信アプリケーション・プログラムの動作終了が指示されるとき、前記動的制御モードのいずれかを選択してもよい。
【0008】
上記の情報処理装置において、操作を受け付ける操作部と、画面を表示する表示部と、を備え、前記プロセッサが前記統合通信アプリケーション・プログラムに基づく動作と、他のアプリケーション・プログラムに基づく動作を実行しているとき、前記統合通信アプリケーション・プログラムに基づく画面表示が前記操作に応じて選択されるとき、前記統合通信モードを選択し、前記他のアプリケーション・プログラムに基づく画面表示が前記操作に応じて選択されるとき、前記動的制御モードのいずれかを選択してもよい。
【0009】
上記の情報処理装置において、前記統合通信モードの短時間制限電力は、前記動的制御モードの短時間制限電力のいずれよりも少なくてもよい。
【0010】
上記の情報処理装置において、前記統合通信モードの定格電力は、前記動的制御モードの定格電力の最小値よりも大きくてもよい。
【0011】
上記の情報処理装置において、前記電力制御部は、前記統合通信モードよりも定格電力がより高い動的制御モードが選択されているとき、前記統合通信モードに遷移する場合、前記電力制御部は、前記統合通信モードへの遷移前における定格電力から前記統合通信モードに所定の定格電力まで所定時間かけて定格電力を連続的に変化させてもよい。
【0012】
上記の情報処理装置において、前記ファンを用いて自装置の温度を制御する温度制御部を備え、前記統合通信モードにおける前記ファンの出力は、前記動的制御モードにおける前記ファンの出力の最小値以下であってもよい。
【0013】
本発明の第2態様に係る制御方法は、定格電力が異なる複数の電力制御モードをとりうるプロセッサと、前記プロセッサで生じた熱を放熱するために回転するファンと、前記プロセッサの消費電力を制御する電力制御部と、を備える情報処理装置における制御方法であって、前記複数の電力制御モードは、それぞれ定格電力が異なる2段階以上の動的制御モードと統合通信モードを含み、前記情報処理装置は、前記プロセッサの電力消費状態が所定の継続期間以上継続する事象に基づいて、前記動的制御モードのいずれかを選択するステップと、統合通信が稼働するとき、前記統合通信モードを優先して選択するステップと、を有する。
【発明の効果】
【0014】
本発明の実施形態によれば、より快適に統合通信を実行することができる。
【図面の簡単な説明】
【0015】
【
図1】本実施形態に係る情報処理装置のハードウェア構成例を示す平面図である。
【
図2】本実施形態に係る情報処理装置の機能構成例を示すブロック図である。
【
図3】本実施形態に係る電圧制御におけるデータフローの例を示す概略ブロック図である。
【
図4】本実施形態に係る電力制御モードの例を示す説明図である。
【
図5】本実施形態に係る電力制御テーブルの例を示す図である。
【
図6】本実施形態に係るモード遷移テーブルの例を示す図である。
【
図7】本実施形態に係るモード遷移処理の例を示すフローチャートである。
【
図8】本実施形態に係る電力制御モードの制御例を示す説明図である。
【
図9】本実施形態に係るアプリケーション・テーブルの例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について、図面を参照して説明する。まず、本発明の実施形態に係る情報処理装置1の概要について説明する。以下の説明では、主に情報処理装置1がノートブック型PC(Personal Computer)である場合を例にする。但し、情報処理装置1は、必ずしもノートブック型PCに限られず、デスクトップ型PC、タブレット端末装置、スマートフォン、などであってもよい。また、情報処理装置1において、ODD(Optical Disk Drive;光ディスクドライブ)17とHDD(Hard Disk Drive;ハードディスクドライブ)19のいずれか、または両者が省略されてもよい。
【0017】
図1は、本実施形態に係る情報処理装置1のハードウェア構成例を示す平面図である。
情報処理装置1は、放熱ユニット70と、CPU(Central Processing Unit)11と、ODD17と、HDD19と、回路基板20と、電源回路40と、電池パック47と、を含んで構成され、これらの各部は、筐体の内部に配置されている。
回路基板20には、システム・メモリ21、I/O(Input/output;入出力)コントローラ23、ファームウェアROM(Read Only Memory;読出専用メモリ)25およびEC(Embedded Controller;組み込みコントローラ)27が配置されている。
【0018】
システム・メモリ21は、CPU11の実行プログラムの読み込み領域として、あるいはCPU11の実行プログラムの処理データを書き込む作業領域として利用される記憶媒体である。システム・メモリ21は、主記憶装置、メイン・メモリ、などと呼ばれることがある。システム・メモリ21は、例えば、1個または複数個のDRAM(Dynamic Random Access Memory)チップを含んで構成される。実行プログラムには、OS(Operating System、オペレーティング・システム)、周辺機器類を操作するための各種ドライバ、特定の処理を実行するためのアプリケーション・プログラムなどが含まれる。システム・メモリ21は、CPU11だけではなく、他のデバイスと共用されてもよい(UMA:Unified Memory Architecture)。ここで、システム・メモリ21の一部の記憶領域に共用領域が設けられてもよい。
【0019】
I/Oコントローラ23は、データバスに接続され、情報処理装置1の各構成部間ならびに外部機器との入出力を制御する。I/Oコントローラ23は、SATA(Serial Advanced Technology Attachment)、USB(Universal Serial Bus)、PCI(Peripheral Component Interconnect) Express、LPC(Low Pin Count)などのI/OインタフェースおよびRTC(Real Time Clock)を含んで構成される。
I/Oコントローラ23は、例えば、USB3.2規格(USB Type-C、とも呼ばれる)に準拠したUSBインタフェースを備える。USBインタフェースは、USBで外部機器(例えば、AD(Alternating current - Direct current;交流-直流変換)アダプタ91)と接続可能とし、接続された外部機器から電力の供給を受けることができる。即ち、USBインタフェースは、外部機器との間でUSBを構成する信号線を介してデータの入出力を行うことも、USBを構成する電力線を介して電力の供給を受けることもできる。
【0020】
ファームウェアROM25には、I/Oモジュール、認証モジュールなどの各種のシステム・ファームウェアが予め格納されている。I/Oモジュールには、例えば、BIOS(Basic Input/output System)が含まれる。CPU11は、電力の供給が開始されるとき、システム・ファームウェアを読み込む。CPU11は、システム・ファームウェアに記述された命令で指示される処理を実行する。なお、以下の説明では、プログラム(システム・ファームウェアの他、アプリケーション、OSなども該当しうる)に記述された命令で指示される処理を実行することを、「プログラムを実行する」と呼ぶことがある。また、本願では、CPU11などのプロセッサをはじめとするハードウェアがプログラムに記述された命令で指示される処理を行うことを、そのプログラムがその処理を行う旨、表現することがある。例えば、CPU11は、BIOSに記述された命令で指示される処理を実行することによりシステム・デバイス(後述)の入出力を制御する。このことを、「BIOSがシステム・デバイスの入出力を制御する」と呼ぶことがある。
【0021】
EC27は、CPU11などのプロセッサとは別個に、CPU、ROM、RAM(Random Access Memory)などのハードウェアを含んで構成されるマイクロコンピュータである。EC27は、主システム100(後述)の動作状態に応じて電源回路40の動作を制御し、情報処理装置1を構成する各デバイスへの電力の供給を制御する。本実施形態では、EC27は、主システム100の動作状態に応じてADアダプタ91から電源回路40のDC/DCコンバータ45に供給する電力の入力電圧を制御する。システム・デバイスとは、主システム100を構成するデバイスを指し、EC27や電力供給系300を構成するデバイスなどは含まれない。
【0022】
電源回路40は、PD(Power Delivery;電力供給)コントローラ41と、充電器43と、DC(Direct Current;直流)/DCコンバータ45と、を含んで構成される。
PDコントローラ41は、ADアダプタ91からDC/DCコンバータ45に供給する電力を制御する。
充電器43は、ADアダプタ91から供給される電力の電池パック47への充電を制御する。なお、ADアダプタ91から供給される電力は、DC/DCコンバータ45に供給される。供給される電力のうち、消費されずに残された電力が電池パック47に充電される。
DC/DCコンバータ45は、ADアダプタ91から供給される直流電力の入力電圧を変換する電圧変換器であり、電圧を変換して得られる所定の電圧の電力を、情報処理装置1の各デバイスに供給する。
【0023】
電池パック47は、充電器43から供給される電力のうち、消費されずに残った電力を充電する。電池パック47は、例えば、リチウムイオン電池を含んで構成される。ADアダプタ91から電力が供給されない場合には、電池パック47は、充電した電力を放電してDC/DCコンバータ45に供給する。電池パック47は、情報処理装置1に固定して装着されてもよいし、着脱可能であってもよい。
【0024】
ADアダプタ91は、その一端が商用電源のアウトレットに電気的に接続され、他端が情報処理装置1のコネクタ85を経由して電気的に接続される。
ADアダプタ91は、商用電源から供給される交流電力を直流電力に変換する。ADアダプタ91は、変換した直流電力をDC/DCコンバータ45と充電器43にコネクタ85を経由して供給する。
なお、
図1に示す例では、ADアダプタ91が情報処理装置1と別体であるが、これには限られない。ADアダプタ91は、情報処理装置1の筐体に組み込まれ一体化されてもよい。
【0025】
放熱ユニット70は、放熱ファン73と、ヒートシンク75と、駆動回路77と、を含んで構成される。放熱ファン73は、薄型のファンチャンバ71に収納されている。放熱ファン73は、回転軸と、回転軸を回転させるファンモータと、複数のブレードを備える遠心式の放熱ファンである。複数のブレードのそれぞれは、回転軸に取り付けられている。ヒートシンク75は、外気との熱交換により自部に伝導した熱を外気に排出する。ヒートシンク75は、ファンチャンバ71の側面の開口と、筐体の排気口81に接する位置に配置される。放熱ファン73が回転すると、外気が吸気口83からファンチャンバ71の吸入口に流入し、ヒートシンク75に形成された複数のフィンを通過するとき、フィンから放射される熱を吸収しながら通過し、排気口81から排出される。
【0026】
ヒートパイプ61は、ヒートシンク75とCPU11の受熱板に熱的に結合するように接触して配置される。
情報処理装置1には、温度センサ51が設置される。温度センサ51は、それぞれ自部の温度を検出し、検出した温度を示す温度データをEC27に出力する。
図1に示す例では、温度センサ51が、CPU11の表面に接触または近接した位置に設置される。その他、温度管理を要するデバイス、人体に頻繁に接触される部位、その他の部材に、複数の温度センサが個々に設置され、それぞれ検出された温度が温度制御に用いられてもよい。
【0027】
CPU11は、プログラム制御により各種の演算処理を実行し、情報処理装置1の動作全体を制御する。なお、CPU11の数は、それぞれ1個に限られず、複数個となってもよい。
【0028】
CPU11には、それぞれDC/DCコンバータ45から一定の電圧の電力が供給されるが、一般に消費電力は可変である。CPU11は、消費電力に応じて動作電圧と動作周波数の一方または両方を可変にしてもよい。例えば、CPU11は、システム・ファームウェアを実行して主システム100の動作状態(動作モード)または電力制御モードに応じて許容する最大動作周波数を、CPU11に備わるレジスタに設定する。CPU11は、それぞれ、その時点における動作周波数が設定された最大動作周波数よりも高いとき、設定された最大動作周波数以下となるように段階的に動作周波数を変更する。CPU11は、動作周波数を低下させるとき、その動作周波数で自部の動作に要する値まで動作電圧を低下させてもよい(スピード・ステップ)。よって、CPU11の消費電力が低下する。言い換えれば、CPU11は、動作電圧と動作周波数の一方(例えば、動作周波数)または両方を高くすることで、許容される最大消費電力を大きくすることができる。
【0029】
また、CPU11は、それぞれ所定の周期で動作と停止を繰り返して間欠動作を行うことによって平均処理速度を可変にしてもよい(スロットリング)。システム・ファームウェアは、CPU11のレジスタに、スロットリングの有効を示すスロットリング設定情報とデューティ比(スロットリング率)をそれぞれ設定可能としてもよい。スロットリングによっても、段階的にCPU11の処理能力を変化することができる。この処理能力の変化は、消費電力の変化、ひいては発熱量の変化をもたらす。
【0030】
CPU11は、スピード・ステップとスロットリングを併用し、スピード・ステップにより最低の動作周波数を維持したまま、スロットリングを実行してもよい。言い換えれば、CPU11は、定めた動作周波数により許容される最大消費電力を設定することができる。
CPU11は、自部の処理能力を複数の段階のうちいずれかの段階に変化させるためにスロットリングを行う。CPU11は、スロットリング率を高くするほど消費電力を高くすることができる。
【0031】
以下の説明では、スピード・ステップとスロットリングのいずれか一方または両方によって可変に設定されうるCPU11の処理能力もしくはその段階を、「パフォーマンス・ステップ」と呼ぶ。パフォーマンス・ステップの値が大きいほど、処理能力が高いことを示す。処理能力が高いほど消費電力が大きくなる。例えば、パフォーマンス・ステップの値が100%とは、処理能力を低下させずに最大限に発揮する動作状態を示す。
【0032】
CPU11は、それぞれTCC(Thermal Control Circuit;温度制御回路)を備えていてもよい。例えば、TCCは、温度センサ51で検出された温度を監視し、負荷が増加して検出された温度が所定の基準温度よりも上昇するときに、動作周波数および動作電圧の低下や、間欠動作を行って温度の上昇を抑制するように、CPU11の動作を制御する。
【0033】
CPU11は、一般に、パフォーマンス・ステップが高く、かつ、使用率が高いほど消費電力が大きくなるので、発熱量が多くなる。CPU11は、それぞれ許容される最大消費電力以下となる消費電力に対応するパフォーマンス・ステップを設定することで、消費電力が設定された最大消費電力以下となるように動作する。従って、パフォーマンス・ステップが低下するほど、プロセスの実行時間が長くなり、消費電力が低下する。CPU11の一方または両者が発生させた熱は、それ自体の温度を上昇させるとともに、筐体内外の温度を上昇させる。但し、消費電力が小さいほど発熱量が少なくなるので、消費電力が小さい場合には、放熱ファン73などの放熱機構の停止または出力の低下が許容される。言い換えれば、消費電力が大きい場合には、放熱ファン73の動作または出力の増加を要する。
【0034】
次に、本実施形態に係る情報処理装置1の機能構成について説明する。
図2は、本実施形態に係る情報処理装置1の機能構成例を示すブロック図である。
情報処理装置1は、主システム100と、パフォーマンス制御系200と、電力供給系300と、温度制御系400と、を備える。
主システム100は、CPU11、システム・メモリ21、HID(Human Interface Device)31などのハードウェアと、OS101、スケジュール・タスクなどのソフトウェアと、を含んで構成されるコンピュータシステムである。
CPU11は、OS101その他のソフトウェアを実行して、システム・メモリ21、HID31などのハードウェアと協働して、それらのソフトウェアで指示される機能を発揮する。その他のソフトウェアには、UCアプリケーション、その他のアプリケーションなども含まれうる。
【0035】
HID31は、キーボード、マウスおよびタッチスクリーンなど、ユーザが操作により物理的にアクセスして入力する入力デバイスや、ディスプレイ、スピーカなどユーザに情報を提示する出力デバイスを含んで構成される。入力デバイスは、受け付けた操作で指示される各種の情報を他の機能部に提供する。即ち、HID31は、ユーザの操作を受け付ける操作部としての機能を有する。HID31は、ユーザの音声に対して音声認識処理を行って、発話内容を示す発話テキストを生成する音声認識エンジンを含んで構成されてもよい。操作や発話テキストで指示される情報は、主システム100に対する指令(コマンド)となることがある。出力デバイスをなすディスプレイは、CPU11、その他の部材から入力される各種の表示情報を表示する。表示情報は、アプリケーションの実行により取得される実行画面、各種の設定情報(パラメータなど)を設定するための設定画面などが該当する。即ち、HID31は、アプリケーションの実行に基づく画面を表示する表示部としての機能を有する。
【0036】
OS101は、その実行により基本的な機能を提供する。基本的な機能には、例えば、アプリ、その他のプログラムの実行状態の制御、それらのプログラム実行中における標準的なインタフェースの提供、主システム100ならびに主システム100に直接または間接的に接続された他のハードウェアにおける各種のリソースの管理、などが含まれる。
CPU11は、システム・メモリ21または、その他のハードウェアと協働してOS101を実行し、例えば、アプリケーション実行制御部および記憶部、などの機能を提供する。
【0037】
アプリケーション実行制御部は、HID31から入力される指令に従い、アプリケーションの起動(実行開始)、アプリケーションの実行の停止などを制御する。入力される指令がアプリケーションの起動を示すアプリケーション起動コマンドである場合、アプリケーション実行制御部は、指示されるアプリケーションのOS101上での実行開始をCPU11に指示する。より具体的には、アプリケーション実行制御部は、指示されるアプリケーションを実行するためのプロセスの生成をOS101に指示することで、そのアプリケーションの実行を開始させる。そのアプリケーションの起動完了を示す起動完了情報がOS101から返り値として入力されるとき、アプリケーション実行制御部は、起動したアプリケーションを示す起動アプリケーション情報を生成し、生成した起動アプリケーション情報を記憶部120に記憶する。
【0038】
入力される指令がアプリケーションの実行終了を示すアプリケーション終了コマンドを示す場合、アプリケーション実行制御部は、指示されるアプリケーションのOS101上での実行終了をCPU11に指示する。より具体的には、アプリケーション実行制御部は、実行を終了させるアプリケーションについて、そのプロセスの終了を指示することで、そのアプリケーションの実行を終了させる。そのアプリケーションの実行終了を示す実行終了情報がOS101から返り値として入力されるとき、アプリケーション実行制御部は、記憶部に記憶された、そのアプリケーションに対する起動アプリケーション情報を、そのアプリケーションの実行終了を示す起動アプリケーション情報に更新する。
よって、パフォーマンス制御系200は、記憶部に記憶された起動アプリケーション情報を参照して、アプリケーション実行制御部が起動させたアプリケーションもしくは動作を終了させたアプリケーションを特定することができる。
【0039】
次に、パフォーマンス制御系200の構成例について説明する。パフォーマンス制御系200は、状態検出部201、PM(Power Management;電力管理)ドライバ203およびパフォーマンス制御部217を含んで構成される。状態検出部201は、CPU11がOS101上で実行するサービス・アプリケーション211とOS101のカーネルに組み込まれた中間ドライバと協働して、その機能を奏し、CPU11をはじめとするプロセッサの状態を取得する。中間ドライバはOS101の動作によりCPU11において生成されるプロセスを監視する。
【0040】
サービス・アプリケーション211は、CPU11が実行し、主にCPU11の状態を監視するための状態監視プログラムであり、状態検出部201の一部の機能を提供する。例えば、サービス・アプリケーション211は、CPU11の消費電力の情報をOS101から取得する。
サービス・アプリケーション211は、さらにその時点までの所定の監視時間におけるCPU11の平均使用率、ユーザ・アクティビティの有無、ディスク・アクセスの時間などのパラメータを取得し、取得したパラメータを用いて動作状態を特定してもよい。例えば、サービス・アプリケーション211は、CPU11の使用率、消費電力のパラメータなどに基づいてアプリケーション・プログラムなどのタスクの実行開始および実行終了を認識してもよい。
【0041】
サービス・アプリケーション211は、検出したCPU11などのプロセッサの状態を示すプロセッサ状態情報をPMドライバ213に出力する。なお、サービス・アプリケーション211は、所定時間(例えば、0.1~1.0秒)ごとに起動アプリケーション情報を参照して、起動したアプリケーションならびに動作が終了したアプリケーションを特定することができる。アプリケーションの起動およびアプリケーションの動作終了を示す起動アプリケーション情報は、プロセッサの状態を示すプロセッサ状態情報の要素となりうる。
【0042】
PMドライバ213は、サービス・アプリケーション211から入力されるプロセッサ状態情報を構成する各種のパラメータから、プロセッサの消費電力に関連する状態を示すパラメータを抽出する。PMドライバ213は、抽出したパラメータを含むプロセッサ状態情報をパフォーマンス制御部217とPDコントローラ41に出力する。なお、アプリケーションにより要求される演算量が大きく異なりうることが通例である。そのため、起動アプリケーション情報は、消費電力に関連する状態を示すパラメータとなりうる。
【0043】
パフォーマンス制御部217は、PMドライバ213から入力されるプロセッサ状態情報もしくはユーザ・インタフェースを用いて設定した設定情報に基づいて、CPU11の処理能力を制御する。即ち、パフォーマンス制御部217は、CPU11の消費電力を制御する電力制御部として機能する。パフォーマンス制御部217は、例えば、CPU11によるシステム・ファームウェアの実行により得られる機能の一部をなす。
【0044】
なお、プロセッサの処理能力の制御に係るパラメータとしての最大消費電力には、第1制限電力(以下、PL1)と第2制限電力(以下、PL2)がある。PL1は、定格電力に相当する。PL1は、消費電力が一時的にこの値を超えることを許容するが、所定時間以上継続してこの値を超えることを制限するための閾値である。PL1は、長時間制限電力(Long Term Power Limit)とも呼ばれる。PL2は、消費電力が一時的であっても、この値を超えることを制限するための閾値である。PL2は、短時間制限電力(Short Term Power Limit)とも呼ばれる。PL2は、パフォーマンス・ステップが100%である場合におけるプロセッサの消費電力の上限に相当する。PL1、PL2は、個々のプロセッサに設定される。以下の説明では、CPU11に係るPL1、PL2を、それぞれPL111、PL112と呼ぶ。
【0045】
プロセッサの消費電力がPL1を超える時間が所定の継続時間τ(例えば、0.2~1[s])以上継続するとき、パフォーマンス制御部217は、消費電力の移動平均値がPL1以下になるまで、その時点でプロセッサのレジスタに設定されているパフォーマンス・ステップを低下させる。また、パフォーマンス制御部217は、消費電力の移動平均値がPL1を超えない範囲で、その時点でプロセッサのレジスタに設定されているパフォーマンス・ステップを増加させる。
【0046】
パフォーマンス制御部217は、PL1をプロセッサの消費電力の変化傾向に応じて、予め設定されたPL1の上限から下限の間で可変としてもよい。例えば、その時点で設定されているPL1と消費電力の移動平均値との差分が、所定の差分の閾値以下となるとき、パフォーマンス制御部217は、PL1を増加させる。消費電力の移動平均値とその時点で設定されているPL1との差分が、所定の差分の閾値より大きくなるとき、パフォーマンス制御部217は、PL1を減少させる。
【0047】
パフォーマンス制御部217は、予め定めた複数の電力制御モードのうち、いずれか1個の電力制御モードで指示されるパラメータセットを用いて、上記の手法でCPU11の消費電力を制御する。個々の電力制御モードのパラメータセットには、PL1の上限、下限、および、PL2が含まれる。言い換えれば、CPU11は、それぞれ定格電力が異なる複数の電力制御モードをとりうる。そこで、CPU11のレジスタまたはシステム・メモリ21には、予め電力制御テーブルを記憶させておく。電力制御テーブルは、複数の電力制御モードのそれぞれについてパラメータセットを含んで構成される。
【0048】
複数の電力制御モードにはN段階の(Nは、2以上の整数)動的制御モード(dynamic control mode、本願では、「DCモード」と呼ぶことがある)と統合通信モード(unified communication mode、本願では「UCモード」と呼ぶことがある)が含まれる。パフォーマンス制御部217には、予め電力制御モード選択情報が設定されてもよい。電力制御モード選択情報は、複数の電力制御モードのうち、1個の電力制御モードを選択する手法として電力制御選択モードを示す情報である。電力制御選択モードには、ユーザの操作に応じてN段階の動的制御モードのいずれか1段階を特定する手法(例えば、低騒音モード(後述)、「特定電力制御モード」(specific power control mode)と総称すされる)と、N段階の動的制御モードからCPU11の状態に応じて、いずれか1段階の動的制御モードを選択することを原則とする手法(本願では、「自動モード」(auto mode)と呼ぶことがある)がある。自動モードにおいて、いずれか1段階の動的制御モードを選択する手法については、後述する。
【0049】
個々の電力制御モードに係るパラメータセットには、PL1の範囲(
図5のPL111)がある。PL1の範囲は、下限と上限で表される。N段階のDCモードのうち、第n+1(nは、1以上であってN-1以下の整数)段階のDCモードのPL1の範囲は、全体として第n段階のDCモードのPL1の範囲よりも大きい値を示す範囲であればよい。また、第n+1段階のDCモードのPL1の範囲は、第n段階のDCモードのPL1の範囲よりも広い範囲であってもよい。PL2は、プロセッサの仕様上の消費電力の上限以下の値であればよい。ここで、DCモードの段階nは、PL1の昇順に設定されていればよい。また、PL2は、DCモード間で共通の値であってもよいし、独立な値であってもよい。
【0050】
UCモードに係るPL1として、第1段階のDCモードのPL1より大きい値に設定しておいてもよい。第1段階のDCモードのPL1は、N段階のDCモードのPL1のうち、その最小値に相当する。UCアプリケーションの実行に要する演算資源が継続的に確保されるため、処理の遅延が抑制される。但し、UCモードに係るPL1は、過大にならないことが望ましい。UCモードに係るPL1は、例えば、第2段階のDCモードのPL1以下の値に設定しておいてもよい。他方、UCモードにかかるPL2として、N段階のDCモードのPL2のいずれかよりも小さい値にしておいてもよい。UCアプリケーションの実行による一時的な消費電力の増加が抑制されるため、発熱ひいては放熱ファン73の動作が抑制される。
【0051】
自動モードが設定されている場合、パフォーマンス制御部217は、CPU11の状態の変化傾向に応じてN段階のDCモードから1つのDCモードを選択する。パフォーマンス制御部217は、CPU11の消費電力が第1基準電力(以下、SP11)を超える状態が継続する期間である超過期間が所定の第1期間(以下、T11、例えば、5~10秒)以上となるとき、その時点におけるCPU11の第1段階以上第n段階以下のいずれかの段階のDCモードから第n+1段階のDCモードに変更する。SP11は、その時点における第n段階のCPU11の電力制御モードに係るPL111の下限よりも所定の判定幅(例えば、0.3~1[W])だけ低い値であればよい。
【0052】
パフォーマンス制御部217は、CPU11の消費電力が第2基準電力(以下、SP12)以下となる状態が継続する期間である基準内期間が所定の第2期間(以下、T12、例えば、5~30秒)以上となるとき、その時点における第n+1段階以上第N段階以下のいずれかの段階のDCモードから第n段階のDCモードに変更する。SP12は、その時点における第n+1段階のDCモードに係るPL111の下限よりも所定の判定幅(例えば、0.3~1[W])だけ低い値であればよい。第n+1段階のDCモードに係るSP2は、第n+1段階のDCモードに係るSP11と等しくてもよいし、より小さくてもよい。また、n+1段階のDCモードに係るSP12は、第n段階のDCに係るSP12よりも大きい値であればよい。また、T12は、T11と等しくてもよいが、T11よりも長くてもよい。SP12をより小さくする、またはT11をより大きくすることで、より高い段階、つまり、PL111がより大きいDCモードへの変更よりも、より低い段階へのDCモードの変更の方が困難になる。そのため、消費電力の予期せぬ増加に備えることができる。
【0053】
但し、パフォーマンス制御部217は、UCが稼働するとき、N段階のDCモードよりもUCモードを優先して選択する。ここで、稼働とは、有効に機能していること、つまり、アクティブ(active)な状態にあること、を意味する。パフォーマンス制御部217は、PMドライバ213から入力されるプロセッサ状態情報が示す新たに起動したアプリケーションがUCアプリケーションであるとき、UCの稼働が開始したと判定することができる。パフォーマンス制御部217は、例えば、個々のアプリケーションの種類を示すアプリケーション・テーブルを参照して、新たに起動したアプリケーションの種類がUCアプリケーションであるか否かを特定することができる。CPU11のレジスタまたはシステム・メモリ21には、予めアプリケーション・テーブルを記憶させておく。
【0054】
図9は、アプリケーション・テーブルの例を示す図である。
図9に例示されるアプリケーション・テーブルは、アプリケーションの名称ごとに、そのアプリケーションの種類を示す。例えば、未実行のアプリケーション「App01.app」の起動がプロセッサ状態情報により通知されるとき、
図9に例示するアプリケーション・テーブルを用いて、パフォーマンス制御部217は、UCの稼働を判定することができる。その場合、パフォーマンス制御部217は、CPU11の電力制御モードをUCモードと定めることができる。
【0055】
他方、パフォーマンス制御部217は、UCの稼働が終了するとき、UCモードの選択を解除し、上記のようにN段階のDCモードのいずれか1段階のDCモードを選択する。パフォーマンス制御部217は、PMドライバ213から入力されるプロセッサ状態情報が示す動作が終了したアプリケーションがUCアプリケーションであるとき、UCの稼働が終了したと判定することができる。パフォーマンス制御部217は、アプリケーション・テーブルを参照して、動作が終了したアプリケーションの種類がUCアプリケーションであるか否かを特定することができる。例えば、実行中のアプリケーション「App02.app」の動作停止がプロセッサ状態情報により通知されるとき、
図9に例示するアプリケーション・テーブルを用いて、パフォーマンス制御部217は、UCの動作停止を判定することができる。
【0056】
パフォーマンス制御部217は、CPU11の消費電力が所定時間以上、その時点で、CPU11に設定した電力制御モードにおけるPL1を超えず、かつ、PL2を超えないように制御する。そして、PL2は、CPU11がとりうるDCモードごとのPL1のうち最も大きいPL1以上であってもよいし、DCモード間で共通であってもよい。これにより、たとえプロセッサのその時点におけるDCモードに係るPL1が低いとしても、PL1がより大きいDCモードと同等のPL2が設定されるので、一時的に消費電力の上昇が許容される。そのため、消費電力が継続的に低い状態であれば、DCモードの変更を伴わずにCPU11の性能を一時的に発揮させることができる。
【0057】
以下の説明では、その時点で設定されているDCモードよりもPL1の高い第n+1段階のDCモードに変更するための条件を格上げ条件(ランクアップ条件)と呼ぶことがある。格上げ条件に係るパラメータ、つまりCPU11に対するSP11とT11を格上げパラメータと呼ぶことがある。よりPL1の低い第n段階のDCモードに変更するための条件を格下げ条件(ランクダウン条件)と呼ぶことがある。格下げ条件に係るパラメータ、つまりCPU11に対するSP12とT12を格下げパラメータと呼ぶことがある。また、格上げ条件と格下げ条件を電力モード遷移条件または単にモード遷移条件と総称することがある。格上げパラメータと格下げパラメータを電力モード遷移パラメータまたは単にモード遷移パラメータと総称することがある。
【0058】
そこで、CPU11のレジスタまたはシステム・メモリ21には、電力制御テーブルとは別個にモード遷移テーブルを予め記憶させておいてもよい。モード遷移テーブルは、変更後の電力制御モードごとにモード遷移条件またはモード遷移パラメータを示す情報を含んで構成される。より具体的には、モード遷移テーブルには、CPU11に対してはSP1、T11、SP2およびT12が含まれていてもよい。但し、定格電力PL1が最も小さい第1段階のDCモードに対しては、SP2、T12が設定されなくてもよい。PL1が最も大きい第N段階のDCモードに対しては、SP1、T11が設定されなくてもよい。
【0059】
パフォーマンス制御部217は、モード遷移テーブルを参照し、CPU11の状態が満足するモード遷移条件を特定し、特定したモード遷移条件へのDCモードに変更する。なお、その時点におけるCPU11における状態が、モード遷移テーブルにおいて満足するモード遷移条件が存在しない場合(浮動状態(float))には、パフォーマンス制御部217は、その時点におけるCPU11の電力制御モードを変更せずに維持してもよい。電力制御モードの変更例については、後述する。
【0060】
なお、パフォーマンス制御部217は、電力制御テーブルを参照し、その時点における電力制御モードに係る電力制御モードPL1の範囲とPL2を特定する。パフォーマンス制御部217は、特定したPL1の範囲とPL2を用いて上記のパフォーマンス・ステップを定める。パフォーマンス制御部217は、判定した電力制御モードを示す電力制御モード情報を駆動制御部403に出力する。電力制御モードの例については、後述する。
【0061】
なお、パフォーマンス制御部217は、さらに温度測定部401(後述)から入力されるCPU11の温度を用いて、CPU11の処理能力を制御してもよい。例えば、CPU11のレジスタには、温度と消費電力の組毎にパフォーマンス・ステップを示す制御テーブルを予め設定しておく。パフォーマンス制御部217は、CPU11に対して入力される温度と取得したプロセッサ状態情報が示す消費電力に対応するパフォーマンス・ステップを特定する。パフォーマンス制御部217は、特定したパフォーマンス・ステップをCPU11のレジスタに設定する。
【0062】
次に、電力供給系300の構成例について説明する。電力供給系300は、PDコントローラ41と、充電器43と、DC/DCコンバータ45と、を含んで構成される。
PDコントローラ41は、PMドライバ213から入力されるプロセッサ状態情報に基づいてDC/DCコンバータ45に供給する電力を制御する。PDコントローラ41は、各デバイスで要求される消費電力の合計値である合計電力に、DC/DCコンバータ45等における電力の変換による消耗分を加えて総電力を定め、定めた総電力を示す電力要求信号をADアダプタ91に出力する。合計電力には動作状態情報で示されるプロセッサごとの消費電力を含む。
【0063】
PDコントローラ41は、電池パック47(
図1)の充電状態を検出し、検出した充電状態に基づいて充電器43から電池パック47への充電を制御してもよい。例えば、PDコントローラ41は、電池パック47の起電力(電池電圧)が所定の満充電電圧以上となるとき、充電器43への充電を停止させるために、充電停止を示す充電制御データを充電器43に出力する。PDコントローラ41は、電池パック47の起電力が所定の満充電電圧未満となるとき、充電器43への充電を実行させるために、充電実行を示す充電制御データを充電器43に出力する。PDコントローラ41は、充電器43への最大充電電流の設定値と最大充電電圧の設定値を含む充電制御データを予め設定しておき、充電器43にそれらの設定値で指示される最大充電電流以下および最大受電電圧以下で充電を行わせてもよい。
【0064】
なお、ADアダプタ91は、自部に供給される交流電力を直流電力に変換する。ADアダプタ91は、PDコントローラ41から入力される電力要求信号が示す総電力量の直流電力を情報処理装置1に供給する。情報処理装置1とADアダプタ91とは、例えば、USB3.2規格に順じて各種のデータを伝送可能とするUSBケーブルを介して接続される。USBケーブルは、信号線ならびに電力線を有する。
【0065】
充電器43は、PDコントローラ41から入力される充電制御データに基づいてADアダプタ91から供給される電力の電池パック47への充電を制御する。充電器43は、ADアダプタ91から供給される電力のうち、消費されずに残された電力を電池パック47に充電する。
【0066】
DC/DCコンバータ45は、ADアダプタ91から供給される電力の電圧を、情報処理装置1を構成する各デバイスの動作に要する所定の電圧に変換し、変換した電圧を有する電力をそれぞれのデバイスに供給する。なお、ADアダプタ91から電力が供給されないとき、DC/DCコンバータ45は、電池パック47から供給される電力を入力電圧として変換して、各デバイスに所定の電圧の電力を供給する。
【0067】
次に、温度制御系の構成例について説明する。温度制御系400は、温度センサ51、温度測定部401、駆動制御部403、温度制御テーブル405、駆動回路77および放熱ファン73を含んで構成される。温度測定部401、駆動制御部403および温度制御テーブル405は、EC27の機能の一部として実現されてもよいし、CPU11の機能の一部として実現されてもよい。
【0068】
温度センサ51は、検出した温度に係る物理量(例えば、熱起電力)を示す温度信号を温度測定部401に出力する。上記のように、温度センサ51は、CPU11の表面温度を測定可能とする。
温度測定部401は、温度センサ51から入力される温度信号が示す物理量に対応する温度を所定時間(例えば、0.1~5秒)毎に測定する。温度測定部401は、それぞれ測定した温度を示す温度データを駆動制御部403に出力する。
【0069】
駆動制御部403は、パフォーマンス制御部217から入力される電力制御モード情報が示す電力制御モードと温度測定部401から入力される温度データが示す温度に基づいて放熱ファン73の動作状態を定める。駆動制御部403は、温度制御テーブル405を参照して、電力制御モードと温度に応じた動作量を定める。駆動制御部403は、定めた動作量を示す駆動制御信号を生成し、生成した駆動制御信号を駆動回路77に出力する。
【0070】
温度制御テーブル405は、電力制御モードごとに、放熱ファン73の動作量と動作温度のセットを1段階以上含んで構成される。動作温度は、温度センサ51で検出された温度が上昇傾向にあるとき、その動作温度に対応する動作量での動作開始を放熱ファン73に指示する温度である。駆動制御部403は、その時点における電力制御モードにおいて、温度が上昇傾向にあり、ある段階の動作温度を超えるとき、その段階の動作温度に対応する動作量を定める。駆動制御部403は、その時点における電力制御モードにおいて、温度が低下傾向にあり、ある段階の動作温度よりも所定の低下幅(例えば、2~3[°C])だけ低い温度を下回るとき、その段階の動作温度よりも1段階低い段階の動作温度に対応する動作量を定める。なお、1段階低い段階の動作温度に対応する出力が存在しない場合、つまり、第0段階の動作量が定まる場合には、駆動制御部403は、停止と判定し、停止を示す駆動制御信号を駆動回路77に出力する。温度制御テーブルの例については、後述する。
【0071】
駆動回路77は、駆動制御部403から入力される駆動制御信号が示す動作量に対応する電力を放熱ファン73に供給する。主システム100の発熱量は、電子デバイスのうち主にCPU11の発熱量に依存する。温度Tと電力制御モードに基づいて放熱ファン73の回転速度を制御することで、発熱による温度上昇に応じた放熱がなされる。
【0072】
次に、本実施形態に係る電圧制御におけるデータフローについて説明する。
図3は、本実施形態に係る電圧制御におけるデータフローの例を示す概略ブロック図である。
サービス・アプリケーション211は、CPU11の状態を検出し、検出した状態を示すプロセッサ状態情報をPMドライバ213に出力する。
PMドライバ213は、サービス・アプリケーション211から入力される状態情報をパフォーマンス制御部217に出力する。動作状態情報には、CPU11の消費電力または温度に関する情報が含まれる。動作状態情報には、CPU11上で起動したアプリケーションの情報、動作を終了したアプリケーションの情報が含まれることもある。
【0073】
パフォーマンス制御部217は、PMドライバ213から入力されるプロセッサ状態情報に基づいてCPU11の処理能力を制御する。
ここで、パフォーマンス制御部217は、CPU11の消費電力の変化傾向に応じて、いずれかのDCモードをCPU11の電力制御モードとして定める。但し、UCが新たに起動した場合には、パフォーマンス制御部217は、UCモードをCPU11の電力モードとして定める。UCの動作が終了した場合には、パフォーマンス制御部217は、UCモードを解除し、再度CPU11の消費電力の変化傾向に応じて電力制御モードをいずれかのDCモードに変更する。
【0074】
電力制御モードに応じて、設定可能とするPL1の範囲とPL2が異なる。パフォーマンス制御部217は、CPU11に対して定めたPL1の範囲とPL2を、CPU11のレジスタにセットする。CPU11は、パフォーマンス制御部217がそれぞれ定めたPL1の範囲ならびにPL2に基づいて消費電力を制御する。
パフォーマンス制御部217は、CPU11に対して定めた電力制御モードを示す電力制御モード情報を駆動制御部403に出力する。
【0075】
温度測定部401は、温度センサ51からそれぞれ入力される温度信号が示す物理量からそれぞれ検出された温度を示す温度データを駆動制御部403に出力する。
駆動制御部403は、予め設定された温度制御テーブル405を参照して、パフォーマンス制御部217から通知される電力制御モードと温度測定部401から入力される温度データが示す温度に基づいて放熱ファン73の動作量を定める。
駆動制御部403は、定めた動作量を示す駆動制御信号を生成し、生成した駆動制御信号を駆動回路77に出力する。
駆動回路77は、駆動制御部403から入力される駆動制御信号が示す動作量に対応する電力を放熱ファン73に供給する。
放熱ファン73は、駆動回路77から供給される電力を消費して動作する。
【0076】
(電力制御モード)
次に、本実施形態に係る電力制御モードの例について説明する。
図4は、本実施形態に係る電力制御モードの例を示す説明図である。
図4に示す4段階の電力制御モードのうち、低騒音モード(Q:Quiet)、バランスモード(B:Balance)および高性能モード(P:Performance)は、いずれもDCモードに属する。残りの電力制御モードがUCモード(U)である。各電力制御モードは、表面温度、騒音レベルおよび設定電力で特徴づけられる。
【0077】
本実施形態は、上記のようにCPU11の状態に応じて、3段階のDCモードのいずれかが自動的に選択されるケースを主とする。但し、UCアプリケーションが起動するとき(UC app ON)、UCモードが選択される。UCアプリケーションの動作が終了するとき(UC app OFF)、UCモードの選択が解除される。よって、UCアプリケーションが実行されることで、UCが稼働するときUCモードがDCモードよりも優先して選択される。そのため、UCの実行に要する演算資源が確保されるとともに、過大な電力消費が抑制される。電力消費に伴う発熱、ひいては、放熱ファン73の動作による騒音が抑制される。
【0078】
図5は、本実施形態に係る電力制御テーブルの例を示す図である。
低騒音モード(Q)は、放熱ファン73の動作により生ずる騒音レベルの低減を重視した電力制御モードである。騒音レベルのパラメータとして騒音上限がSND1[dB]と低く抑えられている。放熱ファン73を動作させる機会、または放熱ファン73の出力が抑制されるため、設定電力のパラメータとしてPL111が上限PO111qu[W]、下限PO111ql[W]と、他のDCモードでのPL111よりも低く抑えられる。そのため、比較的処理能力が低い場合や、迅速な応答が要求されない場合に好適である。低騒音モード(Q)は、例えば、文書作成用アプリによる文書の編集または閲覧、ブラウザによるウェブページの閲覧、通話、電子メールの送受信、など比較的軽微な処理に適用される。なお、PO111quは、PO111qlと等しい値に設定されてもよい。その場合には、PL111の変動が許容されずPO111quまたはPO111qlに固定される。
【0079】
バランスモード(B)は、騒音レベルの低減と処理能力と変動のバランスを重視した電力制御モードである。バランスモード(B)に係るPL111の範囲は、上限がPO111bu[W]、下限がPO111bl[W]となる。この範囲は、低騒音モード(Q)に係るPL111の範囲と高性能モード(P)に係るPL111の範囲の中間である。つまり、PO111pl≧PO111bu>PO111bl≧PO111quとなる。
バランスモード(B)に係る騒音上限は、低騒音モード(Q)に係る騒音上限SND3と高性能モード(P)に係る騒音上限SND1の中間のSND2[dB]である。そのため、消費電力が中程度となる状態が継続するが、過大にならない処理に好適である。バランスモード(B)は、例えば、大容量のファイルのオープン、アプリのインストール、セキュリティ対策アプリの実行、CAD(Computer Aided Design)アプリの実行に適用されうる。
【0080】
高性能モード(P)は、CPU11の処理能力を十分に発揮させるための電力制御モードである。高性能モード(P)に係るPL111は、下限がPO111pl[W]と他の電力制御モードでのPL111以上となり、上限がPO111pu[W]となり、PL112に設定されるPO112と同等の値となってもよい。そのため、高性能モード(P)に係るPL111の範囲は、それぞれ他のDCモードに係るPL111の範囲よりも広範となる。
高性能モード(P)では、多くの処理能力が要求される場合に選択されるので放熱ファン73の動作による騒音が許容される。高性能モード(P)に係る騒音上限SND3[dB]は、他の電力制御モードに係る騒音上限よりも高い。そのため、消費電力が継続的に高い状態や、迅速な応答が要求される場合に好適である。高性能モード(P)は、例えば、映像の編集、大容量の映像のストリーミング、AR/VRシミュレーションなど、に適用されうる。
【0081】
UCモード(U)は、UCの実行中に適用される電力制御モードである。UCモード(U)に係るPL111の下限PO111ul[W]を低騒音モード(Q)のPO111qlよりも大きく、バランスモード(B)のPO111blよりも小さい値とする。UCモード(U)に係るPL111の上限PO111uu[W]を低騒音モード(Q)のPO111quよりも大きく、バランスモード(B)のPO111buよりも小さくする。そのため、UCの実行に要する演算資源が確保される。UCモード(U)でも、PO111uulをPO111uuと等しくし、PL111を固定値としてもよい。他方、UCモード(U)に係るPL112uを、DCモードのPL112uよりも小さい値とする。一時的な消費電力の増加が妨げられ、許容される電力消費量の変動が抑制されるため、発熱が抑制され、ひいては、放熱ファンの動作に伴う騒音も低減する。
【0082】
なお、
図5に示す例では、目標温度は、低騒音モード(Q)、バランスモード(B)、高性能モード(P)、UCモード(U)のそれぞれについて、TEM1[°C]、TEM2[°C]、TEM3[°C]、TEM4[°C]と示されている。ここで、TEM1=TEM4≦TEM2<TEM3となればよい。これらの温度は、ユーザが情報処理装置1を使用しながらその筐体の表面に接しても耐えられる温度である。また、
図5に示す例では、PL112は、3段階のDC制御モードに対して、それぞれPO112[W]である。これにより、いずれのDCモードでも一時的な消費電力の上昇は許容される。
【0083】
次に、モード遷移テーブルの例について説明する。
図6は、本実施形態に係るモード遷移テーブルの例を示す図である。
図6に例示されるモード遷移テーブルは、電力制御モードごとにモード遷移条件を含んで構成される。
モード遷移テーブルでは、UCモードの設定するための遷移条件が最初の行に割り当てられる。その次に、格上げ条件が変更後の電力制御モードのPL1の降順、つまり、高性能モード(P)、バランスモード(B)の順に配列される。さらにその次に、CPU11の格下げ条件が、変更後の電力制御モードのPL1の昇順、つまり、低騒音モード(Q)、バランスモード(B)の順に配列されている。これらのモード遷移条件の順序は、後述するようにパフォーマンス制御部217が適用すべきモード遷移条件の優先度に相当する。
【0084】
図6に示す例では、UCモードへの遷移条件は、UCアプリケーションの起動(UCapp=ON)である。CPU11の高性能モード(P)への格上げ条件は、CPU11の消費電力がSP113以上となる継続時間がT113以上となることである。
CPU11のバランスモード(B)への格上げ条件は、CPU11の消費電力がSP112以上となる継続時間がT112以上となることである。
CPU11の低騒音モード(Q)への格下げ条件は、CPU11の消費電力がSP121以下となる継続時間がT121以上となることである。
CPU11のバランスモード(B)への格下げ条件は、CPU11の消費電力がSP122以下となる継続時間がT122以上となることである。
【0085】
図6に例示されるように、CPU11の消費電力が高い状態が継続しなければ、よりPL1が高いDCモードへの格上げ条件ほど満足することが困難になる傾向がある。
そこで、パフォーマンス制御部217は、CPU11の状態が複数のDCモードへの格上げ条件を満足する場合、満足した格上げ条件のうち最もPL1が高いDCモードへの格上げ条件を特定し、特定した格上げ条件に係るDCモードへの遷移を優先する。これにより、消費電力が継続的に大きい状態または動作状態が継続する局面で、できるだけPL1の大きいDCモードに直ちに遷移させることができる。
【0086】
他方、CPU11の消費電力が低い状態が継続しなければ、よりPL1が低いDCモードへの格下げ条件ほど満足することが困難になる傾向がある。
そこで、パフォーマンス制御部217は、CPU11の状態が複数のDCモードへの格下げ条件を満足する場合、満足した格下げ条件のうち最もPL1が低いDCモードへの格下げ条件を特定し、特定した格下げ条件に係る電力モードへの遷移を優先する。これにより、消費電力が継続的に小さい状態または停止状態が継続する局面で、できるだけPL1の小さい電力制御モードに直ちに遷移させることができる。但し、本実施形態では、UCモードへの遷移がDCモード相互間の遷移よりも優先され、UCが稼働しない場合にUCモードが解除される。
【0087】
次に、
図7を用いてモード遷移処理の例について説明する。
図7は、本実施形態に係るモード遷移処理の例を示すフローチャートである。
(ステップS102)パフォーマンス制御部217は、モード遷移テーブルを参照して、CPU11の状態が、それぞれのモード遷移条件を満足するか否かを判定する。CPU11の状態が満足するモード遷移条件が存在する場合(ステップS102 YES)、ステップS104の処理に進む。CPU11の状態がいずれのモード遷移条件も満足しない場合(ステップS102 NO)、ステップS106の処理に進む。
【0088】
(ステップS104)パフォーマンス制御部217は、CPU11の状態が満足するモード遷移条件のうち、その順序が最も先行するモード遷移条件を特定する。パフォーマンス制御部217は、CPU11の電力制御モードを特定したモード遷移条件に係る電力制御モードに変更する。その後、ステップS102の処理に戻る。
(ステップS106)パフォーマンス制御部217は、その時点におけるCPU11の電力制御モードを維持する。その後、ステップS102の処理に戻る。
の処理に戻る。
【0089】
図8は、
図6に示すモード遷移テーブルを用いた電力制御モードの制御例を示す説明図である。
図8の「状態」の列におけるモード遷移条件の塗りつぶしは、CPU11の状態がそのモード遷移条件を満足することを示す。
図8に示す例では、CPU11の状態が、UCモード(U)への遷移条件、高性能モード(P)への格上げ条件、および、バランスモード(B)への格上げ条件を満足するため、パフォーマンス制御部217は、CPU11の電力制御モードを、それらのうちで最も優先されるUCモード(C)に変更する。ここで、UCアプリの動作が停止される場合を仮定すると、UCモード(U)への遷移条件が満たされなくなる。パフォーマンス制御部217は、その時点で満足される遷移条件のうち、最も優先される遷移条件での遷移先となるDCモードに変更する。
【0090】
なお、CPU11の状態がいずれのモード遷移条件を満たさない場合には(浮動状態)、パフォーマンス制御部217は、その時点でのモード遷移条件を変更せずに維持する。
DCモード間の遷移においては、SP112とT112の組、SP121とT121の組、等を用いることで、継続的に消費電力が高い状態であるか否かが評価される。継続的に消費電力が多い状態が長く継続するほど、パフォーマンス制御部217は、より高い段階の電力制御モードに遷移させることができる。
【0091】
次に、温度制御テーブルの例について説明する。温度制御テーブルは、電力制御モードごとに、放熱ファン73の出力と動作温度のセットを1段階以上含んで構成される。DCモードの段階が高いほど、放熱ファン73の出力とする動作量の段階数が多くすればよい。例えば、低騒音モード(Q)、バランスモード(B)、高性能モード(P)では、それぞれ1、3、5段階とする。つまり、駆動制御部403は、制御モードの段階が高いほど、放熱ファン73の動作量の上限が大きく、かつ、その動作量の範囲が広くなるようにできればよい。但し、UCモード(U)に係る動作量ならびにその段階数は、低騒音モード(Q)に係る動作量ならびにその段階数と同等であってもよい。UCモード(U)での発熱量は、低騒音モード(Q)での発熱量と平均して同程度に抑制されるため、放熱ファン73の動作量も同程度で済むためである。なお、動作量は、放熱ファン73の出力とする動作により生ずる騒音レベル[dB]に限られず、単位時間当たりの回転数[rpm:round per minute]、放熱ファン73の消費電力[W]で指示されてもよい。
【0092】
上記の説明では、パフォーマンス制御部217は、予め定めた複数の電力制御モードのうち選択された電力制御モードに係るパラメータ(即ち、PL111、PL112など)をそのまま用いる場合を例にしたが、これには限られない。高性能モード(P)またはバランスモード(B)からUCモード(C)に遷移するとき、PL111が減少する。特にUCモード(C)の選択直後において、その時点におけるアプリケーションの実行のために演算資源が消費されるため、UCアプリケーションの実行のための演算資源が十分に確保できないことがある。そこで、パフォーマンス制御部217は、UCモード(C)よりもPL111が高いDCモードが選択されているときにおいてUCモード(C)に遷移する場合には、UCモード(C)への遷移前におけるPL111からUCモード(C)に所定のPL111まで、PL111を所定時間(例えば、10秒~1分)費やして連続的に変化させてもよい。UCモード(C)への遷移において、CPU11に対するPL111が緩やかに減少するため、UCアプリケーションの実行のための演算資源をより確実に確保することができる。そのため、UCをより円滑に開始することができる。
【0093】
上記の説明では、パフォーマンス制御部217が単純にUCアプリケーションの動作の有無に基づいて、UCが稼働しているか否かを判定することを例にしたが、これには限らない。アプリケーション実行制御部によれば、マルチウィンドウ機能のもとで同時に複数のアプリケーションが動作状態となることがある。マルチウィンドウ機能のもとでは、サービス・アプリケーション211は、実行中のアプリケーションのそれぞれに係る画面表示としてのウィンドウをディスプレイに表示させる。サービス・アプリケーション211は、複数のウィンドウを表示させるとき、いずれか1つのウィンドウをアクティブ・ウィンドウとして定める。サービス・アプリケーション211は、HID31によりアクティブ・ウィンドウの領域内を指示する操作に基づいてアクティブ・ウィンドウに係るアプリケーション(以下、フォアグランド・アプリケーション)の動作を制御し、その他のウィンドウ(以下、非アクティブ・ウィンドウ)に係るアプリケーション(以下、バックグランド・アプリケーション)の動作を制御しない。
【0094】
CPU11がOS101を実行して得られる機能には、アクティブ・ウィンドウを非アクティブ・ウィンドウよりも優先表示する機能が含まれる。優先表示とは、アクティブ・ウィンドウと非アクティブ・ウィンドウとが重なり合う重複領域において、非アクティブ・ウィンドウの部分を表示させずにアクティブ・ウィンドウの部分を表示することを意味する。優先表示には、アクティブ・ウィンドウを非アクティブ・ウィンドウよりも目立つ態様で表示すること、などが含まれることがある。そこで、アプリケーション実行制御部は、新たに実行を開始したアプリケーションに係るウィンドウをアクティブ・ウィンドウとして定め、実行中のアプリケーションに係るウィンドウを非アクティブ・ウィンドウとして定める。また、アプリケーション実行制御部は、操作で指示される非アクティブ・ウィンドウを新たにアクティブ・ウィンドウとして定め、その時点におけるアクティブ・ウィンドウを非アクティブ・ウィンドウとして定める。そして、アプリケーション実行制御部は、実行中のアプリケーションの他、フォアグランド・アプリケーションをさらに示す起動アプリケーション情報を生成し、記憶部120に記憶する。アプリケーション実行制御部は、アプリケーションの起動、実行中のアプリの実行終了、および、フォアグランド・アプリケーションの変更ごとに起動アプリケーション情報を更新する。
【0095】
そこで、パフォーマンス制御部217は、フォアグランド・アプリケーションがUCアプリケーションである場合を、UCが稼働していると判定し、UCモードを選択してもよい。他方、パフォーマンス制御部217は、フォアグランド・アプリケーションがUCアプリケーションでない場合を、UCアプリケーションが実行中であるか否かに関わらず、UCが稼働していないと判定してもよい。その場合には、パフォーマンス制御部217は、UCモードの選択を解除し、DCモードのいずれかを選択してもよい。
【0096】
サービス・アプリケーション211は、上記の起動アプリケーション情報を参照して、その時点における実行中のアプリケーションと、そのうちフォアグランド・アプリケーションを示す情報をプロセッサ状態情報に含めて、PMドライバ213を経由してパフォーマンス制御部217に出力する。パフォーマンス制御部217は、サービス・アプリケーション211から入力されるプロセッサ状態情報に基づいて、その時点で実行中のアプリケーションにUCアプリケーションが含まれるか否か、UCアプリケーションが含まれている場合、UCアプリケーションがフォアグランド・アプリケーションに該当するか否かを判定することができる。
【0097】
よって、複数の実行中のアプリケーションのうちUCアプリケーションが含まれる場合であっても、UCアプリケーションがアクティブ・ウィンドウを表示させる場合にUCモードが選択され、その他のアプリケーションがアクティブ・ウィンドウを表示させる場合にUCモードが選択されない。そのため、ユーザが主にUCを利用する場合には、UCモードに従ってCPU11が動作するので、発熱、ひいては、放熱ファン73による騒音が抑制される。ユーザが主に他のアプリケーションを利用する場合には、そのアプリケーションの実行状態に応じたDCモードに従ってCPU11が動作する。例えば、他のアプリケーションとしてCADアプリがフォアグランド・アプリケーションとなる場合にはUCアプリケーションよりも処理量が多くなりがちである。その場合、ユーザはUCに対する関心が相対的に低いため発熱や騒音が許容されうるうえ、CADアプリの実行状態に応じて高性能モード(P)が選択されることで、その機能が阻害されずに済む。
【0098】
以上に説明したように、本実施形態に係る情報処理装置(例えば、情報処理装置1)は、定格電力が異なる複数の電力制御モードをとりうるプロセッサ(例えば、CPU11)と、プロセッサの消費電力を制御する電力制御部(例えば、パフォーマンス制御部217)とを備える。複数の電力制御モードは、それぞれ定格電力が異なる2段階以上の動的制御モード(例えば、低騒音モード、バランスモードおよび高性能モード)と統合通信モード(例えば、UCモード)とを含む。電力制御部は、プロセッサの電力消費状態が所定の継続期間以上継続する事象に基づいて、動的制御モードのいずれかを選択し、統合通信が稼働するとき、統合通信モードを選択する。
この構成によれば、統合通信が有効に機能するとき統合通信モードが選択されるため、統合通信モードに従ってプロセッサの消費電力が制御される。動的制御モードの選択に伴う過度な発熱や放熱による騒音が抑制されるため、より快適な統合通信が実現する。
【0099】
また、電力制御部は、統合通信アプリケーション・プログラムの起動が指示されるとき統合通信モードを選択し、統合通信アプリケーション・プログラムの動作終了が指示されるとき、動的制御モードのいずれかを選択してもよい。
この構成によれば、統合通信アプリケーション・プログラムの実行中に統合通信モードが選択される。そのため、過度な発熱や放熱による騒音を抑制できる統合通信モードが動的制御モードよりも優先して選択される。
【0100】
また、本実施形態に係る情報処理装置は、操作を受け付ける操作部と画面を表示する表示部(例えば、HID31)とを備えてもよい。電力制御部は、プロセッサが統合通信アプリケーション・プログラムに基づく動作と、他のアプリケーション・プログラムに基づく動作を実行しているとき、統合通信アプリケーション・プログラムに基づく画面表示が操作に応じて選択されるとき(例えば、UCアプリケーションがフォアグランド・アプリケーションであるとき)、統合通信モードを選択し、他のアプリケーション・プログラムに基づく画面表示が操作に応じて選択されるとき(例えば、その他のアプリケーションがフォアグランド・アプリケーションであるとき)、動的制御モードのいずれかを選択してもよい。
この構成によれば、複数のアプリケーション・プログラムの実行中であっても、ユーザが統合通信を主に利用しているときに統合通信モードが選択され、統合通信を主に利用しない場合には動的制御モードのいずれかが選択される。そのため、主に利用しているアプリケーション・プログラムに応じた電力制御がなされる。
【0101】
統合通信モードの短時間制限電力は、動的制御モードの短時間制限電力のいずれよりも少なくてもよい。
この構成によれば、統合通信の実行時に一時的な電力消費量の増加が抑制されるため、過度の発熱、ひいては放熱による騒音を抑制することができる。
【0102】
統合通信モードの定格電力は、動的制御モードの定格電力の最小値よりも大きくてもよい。
この構成によれば、統合通信に要する演算資源が確保されるので、統合通信の機能が阻害されずに済む。
【0103】
統合通信モードよりも定格電力がより高い動的制御モードが選択されているとき、統合通信モードに遷移する場合、電力制御部は、前記統合通信モードへの遷移前における定格電力から統合通信モードに所定の定格電力まで所定時間かけて定格電力を連続的に変化させてもよい。
この構成によれば、統合通信モードに電力制御モードを遷移する際、定格電力が緩やかに低下するため、演算資源の減少を緩和することができる。統合通信の開始時に演算資源をより確実に確保できるため、統合通信を確実に実行することができる。
【0104】
また、本実施形態に係る情報処理装置は、放熱ファン73を用いて自装置の温度を制御する温度制御部(例えば、温度制御系400)を備えてもよい。統合通信モードにおける放熱ファン73の出力は、動的制御モードの放熱ファン73の出力の最小値以下であってもよい。
この構成によれば、統合通信の実行時において放熱ファン73の動作量を最小限に抑えることができる。そのため、放熱ファン73の動作による騒音が抑制される。
【0105】
なお、上記の処理に係る各種のパラメータは、上記のものに限られず、プロセッサの処理能力、個数、筐体の大きさなどの種々な要件に応じて変更されてもよい。例えば、DCモードの段階数、各段階に係るPL111の上限、下限、PL112、SP112、T112、SP121、T121、等の値、放熱ファン73の出力の段階数、各段階における出力、動作温度が異なっていてもよい。また、SP112、SP121等の値がPL1の上限またはPL1の下限を基準として定まる値とする場合には、温度制御テーブルにおいて省略されてもよい。また、T11、T12の値がDCモードによらず一定値とする場合には、温度制御テーブルにおいて省略されてもよい。
【0106】
また、CPU11の状態の継続を判定する際、パフォーマンス制御部217は、CPU11の消費電力としてその瞬時値に代えて、その時点までの移動平均値、中央値、などの変化傾向を表す代表値を用いてもよい。移動平均値は、例えば、指数重み付き移動平均でもよいし、注目する時刻(以下、注目時刻)までの所定の期間(例えば、1~20[s])内における単純移動平均値でもよい。
【0107】
上記のパラメータは、HID31が受け付けた操作に応じて生成した操作信号に応じて変更可能としてもよい。パフォーマンス制御部217は、HID31から入力される操作信号に従って電力制御モードを定めてもよいし、その操作信号に従って定めた電力制御モードの指定を解除してもよい。駆動制御部403は、上記のようにパフォーマンス制御部217が定めた電力制御モードに応じて放熱ファン73の動作を制御する。例えば、操作に応じて低騒音モード(Q)が選択可能とすることで、静寂な環境、例えば、図書室、作業室などに適した態様で情報処理装置1を動作させることができる。
【0108】
また、上記の説明では、情報処理装置1がCPUを1個備える場合を主に例にしたが、これらには限られない。CPUの個数は2個以上となってもよいし、その他の種別のプロセッサ、例えば、1個以上のGPU(Graphics Processing Unit)を備えてもよい。パフォーマンス制御部217は、それぞれのプロセッサの状態に応じて、その電力制御モードや消費電力を制御できればよい。
【0109】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。上述の実施形態において説明した各構成は、任意に組み合わせることができる。
【符号の説明】
【0110】
1…情報処理装置、11…CPU、21…システム・メモリ、27…EC、31…HID、40…電源回路、41…PDコントローラ、43…充電器、45…DC/DCコンバータ、47…電池パック、51…温度センサ、73…放熱ファン、77…駆動回路、91…ADアダプタ、100…主システム、101…OS、103…スケジュール・タスク、200…パフォーマンス制御系、201…状態検出部、211…サービス・アプリケーション、213…PMドライバ、217…パフォーマンス制御部、300…電力供給系、400…温度制御系、401…温度測定部、403…駆動制御部、405…温度制御テーブル