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

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

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

<>
  • 特許-情報処理装置および制御方法 図1
  • 特許-情報処理装置および制御方法 図2
  • 特許-情報処理装置および制御方法 図3
  • 特許-情報処理装置および制御方法 図4
  • 特許-情報処理装置および制御方法 図5
  • 特許-情報処理装置および制御方法 図6
  • 特許-情報処理装置および制御方法 図7
  • 特許-情報処理装置および制御方法 図8
  • 特許-情報処理装置および制御方法 図9
  • 特許-情報処理装置および制御方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-07
(45)【発行日】2022-10-18
(54)【発明の名称】情報処理装置および制御方法
(51)【国際特許分類】
   G06F 1/3206 20190101AFI20221011BHJP
   G06F 1/20 20060101ALI20221011BHJP
【FI】
G06F1/3206
G06F1/20 B
G06F1/20 D
【請求項の数】 7
(21)【出願番号】P 2020159552
(22)【出願日】2020-09-24
(65)【公開番号】P2022052989
(43)【公開日】2022-04-05
【審査請求日】2020-09-24
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】中村 厚喜
(72)【発明者】
【氏名】長南 勉
(72)【発明者】
【氏名】上村 拓郎
(72)【発明者】
【氏名】北村 昌宏
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2006-048175(JP,A)
【文献】特開2015-215757(JP,A)
【文献】特表2014-523023(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F1/32-1/3296
G06F1/20
(57)【特許請求の範囲】
【請求項1】
第1の定格電力が異なる複数段階の第1の電力制御モードをとりうる第1のプロセッサと、
第2の定格電力が異なる複数段階の第2の電力制御モードをとりうる第2のプロセッサと、
いずれか1段階の第1の電力制御モードに従って前記第1のプロセッサの消費電力を制御し、
いずれか1段階の第2の電力制御モードに従って前記第2のプロセッサの消費電力を制御する電力制御部と、を備え、
前記電力制御部は、
個々のプロセッサについて遷移後の電力制御モードごとに予め定めた所定の状態が所定の継続期間以上継続する事象がモード遷移条件として設定され
個々のプロセッサの状態を監視し、前記モード遷移条件を満足するか否かを判定し、
複数のモード遷移条件を満足するプロセッサについて、
前記複数のモード遷移条件から、現在の電力制御モードよりも定格電力がより低い電力制御モードへの遷移条件である格下げ条件よりも、現在の電力制御モードよりも定格電力がより高い電力制御モードへの遷移条件である格上げ条件を優先し、
前記格上げ条件のうち、遷移後の定格電力がより高い電力制御モードほど優先し、
前記格下げ条件のうち、遷移後の定格電力がより低い電力制御モードほど優先して選択する
情報処理装置。
【請求項2】
前記電力制御部は、
前記第2のプロセッサの所定の状態として前記第2のプロセッサが動作する動作状態が継続する第2の継続時間が長いほど、第2の定格電力が大きい第2の電力制御モードに定める
請求項1に記載の情報処理装置。
【請求項3】
前記電力制御部は、
前記第2のプロセッサの所定の状態として前記第2のプロセッサが停止する停止状態が継続する第2の継続時間が長いほど、第2の定格電力が小さい第2の電力制御モードに定める
請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記電力制御部は、
前記第2のプロセッサの所定の状態として前記第2のプロセッサの温度が高いほど、第2の定格電力が大きい第2の電力制御モードに定める
請求項1から請求項3のいずれか一項に記載の情報処理装置。
【請求項5】
前記電力制御部は、
前記第2のプロセッサの所定の状態として前記第2のプロセッサの温度が低いほど、第2の定格電力が小さい第2の電力制御モードに定める
請求項1から請求項4のいずれか一項に記載の情報処理装置。
【請求項6】
自装置の温度を制御する温度制御部、を備え、
前記温度制御部は、
前記第1の定格電力が大きい第1の電力制御モードほど、または、第2の定格電力が大きい第2の電力制御モードほど、自装置のファンの出力範囲を大きくする
請求項1から請求項5のいずれか一項に記載の情報処理装置。
【請求項7】
第1の定格電力が異なる複数段階の第1の電力制御モードをとりうる第1のプロセッサと、
第2の定格電力が異なる複数段階の第2の電力制御モードをとりうる第2のプロセッサと、を備える情報処理装置の制御方法であって、
前記情報処理装置が、
いずれか1段階の第1の電力制御モードに従って前記第1のプロセッサの消費電力を制御するステップと
いずれか1段階の第2の電力制御モードに従って前記第2のプロセッサの消費電力を制御するステップと、を有し、
個々のプロセッサについて遷移後の電力制御モードごとに予め定めた状態が所定の継続期間以上継続する事象がモード遷移条件として設定され
個々のプロセッサの状態を監視し、前記モード遷移条件を満足するか否かを判定し、
複数のモード遷移条件を満足するプロセッサについて、
前記複数のモード遷移条件から、現在の電力制御モードよりも定格電力がより低い電力制御モードへの遷移条件である格下げ条件よりも、現在の電力制御モードよりも定格電力がより高い電力制御モードへの遷移条件である格上げ条件を優先し、
前記格上げ条件のうち、遷移後の定格電力がより高い電力制御モードほど優先し、
前記格下げ条件のうち、遷移後の定格電力がより低い電力制御モードほど優先して選択する
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置の消費電力を制御する技術に関する。
【背景技術】
【0002】
パーソナルコンピュータ(PC:Personal Computer)をはじめとする情報処理装置は、各種の画面を表示させるための画像処理機能を有する。かかる画像処理機能はグラフィックス機能または描画機能とも呼ばれ、時代とともに要請された用途に応じて高速化または多機能化している。例えば、昨今では、ゲームやコンピュータグラフィックスによる3次元表示、VR(Virtual Reality、仮想現実)またはAR(Augmented Reality、拡張現実)に応用するための実時間表示が普及している。
【0003】
情報処理装置は、演算処理と制御を司るCPU(Central Processing Unit、中央処理装置)とは別個のプロセッサを備え、画像処理機能を担わせることがある。画像処理機能専用のプロセッサとして、GPU(Graphics Processing Unit)が用いられることがある。GPUは、CPUに内蔵されることも、CPUとは別個の部材として備えられることもある。通例、後者の方が高度な画像処理機能が提供される。
【0004】
CPUとは別個にGPUを備える情報処理装置では、スイッチャブル・グラフィックス(SWG:Switchable Graphics、切り替えグラフィックス)の導入が提案されてきた。SWGは、CPUに内蔵された画像処理機能と、CPUとは別個のGPUによる画像処理機能とを切り替え可能とする機能である。そのため、充実した画像処理機能と消費電力の抑制とが選択可能となる。
【0005】
例えば、特許文献1に記載の情報処理装置は、複数の電力消費状態で動作可能であり、電力消費状態を管理する状態管理手段を備え、ユーザ入力のための画像表示を提供するためのCPUと、CPUよりも高速で描画処理することが可能なグラフィックス・アクセラレータと、CPUおよびグラフィックス・アクセラレータが共用し、画像表示を与えるためのデータを格納するためのメモリ制御部とを備え、省エネモードの場合に描画デバイスをCPUとし、通常モードの場合に描画デバイスをグラフィクス・アクセラレータとする。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2017-41007号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、CPUにおいて電力消費を抑制する場合でも一時的に十分な画像処理機能が要求されることがある。単純にCPUの電力制御モードに応じてGPUの電力制御モードを定めると、要求される画像処理機能が発揮できないことがある。図10に示す例では、CPUが低騒音モードで動作しているとき、GPUも低騒音モードで動作する。その場合には、比較的多くの画像処理を伴うCAD(Computer Aided Design)アプリケーションの処理速度が期待される処理速度よりも低くなることがあった。
【課題を解決するための手段】
【0008】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様に係る情報処理装置は、第1の定格電力が異なる複数段階の第1の電力制御モードをとりうる第1のプロセッサと、第2の定格電力が異なる複数段階の第2の電力制御モードをとりうる第2のプロセッサと、いずれか1段階の第1の電力制御モードに従って前記第1のプロセッサの消費電力を制御し、いずれか1段階の第2の電力制御モードに従って前記第2のプロセッサの消費電力を制御する電力制御部と、を備え、前記電力制御部は、個々のプロセッサについて遷移後の電力制御モードごとに予め定めた所定の状態が所定の継続期間以上継続する事象がモード遷移条件として設定され個々のプロセッサの状態を監視し、前記モード遷移条件を満足するか否かを判定し、複数のモード遷移条件を満足するプロセッサについて、前記複数のモード遷移条件から、現在の電力制御モードよりも定格電力がより低い電力制御モードへの遷移条件である格下げ条件よりも、現在の電力制御モードよりも定格電力がより高い電力制御モードへの遷移条件である格上げ条件を優先し、前記格上げ条件のうち、遷移後の定格電力がより高い電力制御モードほど優先し、前記格下げ条件のうち、遷移後の定格電力がより低い電力制御モードほど優先して選択する
【0009】
上記の情報処理装置において、電力制御部は、第2のプロセッサの所定の状態として第2のプロセッサが動作する動作状態が継続する第2の継続時間が長いほど、第2の定格電力が大きい第2の電力制御モードに定めてもよい。
【0010】
上記の情報処理装置において、電力制御部は、第2のプロセッサの所定の状態として第2のプロセッサが停止する停止状態が継続する第2の継続時間が長いほど、第2の定格電力が小さい第2の電力制御モードに定めてもよい。
【0011】
上記の情報処理装置において、電力制御部は、第2のプロセッサの所定の状態として第2のプロセッサの温度が高いほど、第2の定格電力が大きい第2の電力制御モードに定めてもよい。
【0012】
上記の情報処理装置において、電力制御部は、第2のプロセッサの所定の状態として第2のプロセッサの温度が低いほど、第2の定格電力が小さい第2の電力制御モードに定めてもよい。
【0016】
上記の情報処理装置は、自装置の温度を制御する温度制御部、を備え、温度制御部は、第1の定格電力が大きい第1の電力制御モードほど、または、第2の定格電力が大きい第2の電力制御モードほど、自装置のファンの出力範囲を大きくしてもよい。
【0017】
本発明の第2態様に係る制御方法は、第1の定格電力が異なる複数段階の第1の電力制御モードをとりうる第1のプロセッサと、第2の定格電力が異なる複数段階の第2の電力制御モードをとりうる第2のプロセッサと、を備える情報処理装置の制御方法であって、前記情報処理装置が、いずれか1段階の第1の電力制御モードに従って前記第1のプロセッサの消費電力を制御するステップといずれか1段階の第2の電力制御モードに従って前記第2のプロセッサの消費電力を制御するステップと、を有し、個々のプロセッサについて遷移後の電力制御モードごとに予め定めた状態が所定の継続期間以上継続する事象がモード遷移条件として設定され、複数のモード遷移条件を満足するプロセッサについて、前記複数のモード遷移条件から、現在の電力制御モードよりも定格電力がより低い電力制御モードへの遷移条件である格下げ条件よりも、現在の電力制御モードよりも定格電力がより高い電力制御モードへの遷移条件である格上げ条件を優先し、前記格上げ条件のうち、遷移後の定格電力がより高い電力制御モードほど優先し、前記格下げ条件のうち、遷移後の定格電力がより低い電力制御モードほど優先して選択する
【発明の効果】
【0018】
本発明の実施形態によれば、主たる電力制御モードに関わらずユーザに要求される画像処理機能を発揮することができる。
【図面の簡単な説明】
【0019】
図1】本実施形態に係る情報処理装置のハードウェア構成例を示す平面図である。
図2】本実施形態に係る情報処理装置の機能構成例を示すブロック図である。
図3】本実施形態に係る電圧制御におけるデータフローの例を示す概略ブロック図である。
図4】本実施形態に係る電力制御モードの例を示す説明図である。
図5】本実施形態に係る電力制御テーブルの例を示す図である。
図6】本実施形態に係るモード遷移テーブルの例を示す図である。
図7】本実施形態に係るモード遷移テーブルの他の例を示す図である。
図8】本実施形態に係るモード遷移処理の例を示すフローチャートである。
図9】本実施形態に係る電力制御モードの制御例を示す説明図である。
図10】従来の電力制御モードの制御例を示す説明図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について、図面を参照して説明する。まず、本発明の実施形態に係る情報処理装置1の概要について説明する。以下の説明では、主に情報処理装置1がノートブック型PCである場合を例にする。但し、情報処理装置1は、必ずしもノートブック型PCに限られず、デスクトップ型PC、タブレット端末装置、スマートフォン、などであってもよい。また、情報処理装置1において、ODD(Optical Disk Drive;光ディスクドライブ)17とHDD(Hard Disk Drive;ハードディスクドライブ)19のいずれか、または両者が省略されてもよい。
【0021】
図1は、本実施形態に係る情報処理装置1のハードウェア構成例を示す平面図である。
情報処理装置1は、放熱ユニット70と、CPU11と、GPU13と、ODD17と、HDD19と、回路基板20と、電源回路40と、電池パック47と、を含んで構成され、これらの各部は、筐体の内部に配置されている。
回路基板20には、システム・メモリ21、I/O(Input/output;入出力)コントローラ23、ファームウェアROM(Read Only Memory;読出専用メモリ)25およびEC(Embedded Controller;組み込みコントローラ)27が配置されている。
【0022】
システム・メモリ21は、CPU11の実行プログラムの読み込み領域として、あるいはCPU11の実行プログラムの処理データを書き込む作業領域として利用される記憶媒体である。システム・メモリ21は、主記憶装置、メイン・メモリ、などと呼ばれることがある。システム・メモリ21は、例えば、1個または複数個のDRAM(Dynamic Random Access Memory)チップを含んで構成される。実行プログラムには、OS(Operating System、オペレーティング・システム)、周辺機器類を操作するための各種ドライバ、特定の処理を実行するためのアプリケーション・プログラム(以下、アプリ)などが含まれる。
【0023】
システム・メモリ21は、CPU11だけではなく、他のデバイスと共用されてもよい(UMA:Unified Memory Architecture)。例えば、システム・メモリ21の一部の記憶領域には共用領域が設けられてもよい。共用領域では、CPU11以外のデバイスとして、例えば、GPU13からのアクセスが許容される。共用領域を設けることで、CPU11とGPU13をはじめとするデバイス相互間のデータ転送が不要となる。また、システム・メモリ21の他の一部の記憶領域には、共用領域とは別個にGPU13専用の実行プログラムの読み込み領域として、あるいはGPU13専用の実行プログラムの処理データを書き込む作業領域が設けられてもよい。
【0024】
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を構成する電力線を介して電力の供給を受けることもできる。
【0025】
ファームウェアROM25には、I/Oモジュール、認証モジュールなどの各種のシステム・ファームウェアが予め格納されている。I/Oモジュールには、例えば、BIOS(Basic Input/output System)が含まれる。CPU11は、電力の供給が開始されるとき、システム・ファームウェアを読み込む。CPU11は、システム・ファームウェアに記述された命令で指示される処理を実行する。なお、以下の説明では、プログラム(システム・ファームウェアの他、アプリ、OSなども該当しうる)に記述された命令で指示される処理を実行することを、「プログラムを実行する」と呼ぶことがある。また、本願では、CPU11、GPU13などのプロセッサをはじめとするハードウェアがプログラムに記述された命令で指示される処理を行うことを、そのプログラムがその処理を行う旨、表現することがある。例えば、CPU11は、BIOSに記述された命令で指示される処理を実行することによりシステム・デバイス(後述)の入出力を制御する。このことを、「BIOSがシステム・デバイスの入出力を制御する」と呼ぶことがある。
【0026】
EC27は、CPU11、GPU13などのプロセッサとは別個に、CPU、ROM、RAM(Random Access Memory)などのハードウェアを含んで構成されるマイクロコンピュータである。EC27は、主システム100(後述)の動作状態に応じて電源回路40の動作を制御し、情報処理装置1を構成する各デバイスへの電力の供給を制御する。本実施形態では、EC27は、主システム100の動作状態に応じてADアダプタ91から電源回路40のDC/DCコンバータ45に供給する電力の入力電圧を制御する。システム・デバイスとは、主システム100を構成するデバイスを指し、EC27や電力供給系300を構成するデバイスなどは含まれない。
【0027】
電源回路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の各デバイスに供給する。
【0028】
電池パック47は、充電器43から供給される電力のうち、消費されずに残った電力を充電する。電池パック47は、例えば、リチウムイオン電池を含んで構成される。ADアダプタ91から電力が供給されない場合には、電池パック47は、充電した電力を放電してDC/DCコンバータ45に供給する。電池パック47は、情報処理装置1に固定して装着されてもよいし、着脱可能であってもよい。
【0029】
ADアダプタ91は、その一端が商用電源のアウトレットに電気的に接続され、他端が情報処理装置1のコネクタ85を経由して電気的に接続される。
ADアダプタ91は、商用電源から供給される交流電力を直流電力に変換する。ADアダプタ91は、変換した直流電力をDC/DCコンバータ45と充電器43にコネクタ85を経由して供給する。
なお、図1に示す例では、ADアダプタ91が情報処理装置1と別体であるが、これには限られない。ADアダプタ91は、情報処理装置1の筐体に組み込まれ一体化されてもよい。
【0030】
放熱ユニット70は、放熱ファン73と、ヒートシンク75と、駆動回路77と、を含んで構成される。放熱ファン73は、薄型のファンチャンバ71に収納されている。放熱ファン73は、回転軸と、回転軸を回転させるファンモータと、複数のブレードを備える遠心式の放熱ファンである。複数のブレードのそれぞれは、回転軸に取り付けられている。ヒートシンク75は、外気との熱交換により自部に伝導した熱を外気に排出する。ヒートシンク75は、ファンチャンバ71の側面の開口と、筐体の排気口81に接する位置に配置される。放熱ファン73が回転すると、外気が吸気口83からファンチャンバ71の吸入口に流入し、ヒートシンク75に形成された複数のフィンを通過するとき、フィンから放射される熱を吸収しながら通過し、排気口81から排出される。
【0031】
ヒートパイプ61は、ヒートシンク75とCPU11ならびにGPU13の受熱板に熱的に結合するように接触して配置される。
情報処理装置1には、温度センサ51、53が設置される。温度センサ51、53は、それぞれ自部の温度を検出し、検出した温度を示す温度データをEC27に出力する。図1に示す例では、温度センサ51、53が、それぞれCPU11、GPU13の表面に接触または近接した位置に設置される。その他、温度管理を要するデバイス、人体に頻繁に接触される部位、その他の部材に、複数の温度センサが個々に設置され、それぞれ検出された温度が温度制御に用いられてもよい。
【0032】
CPU11は、プログラム制御により各種の演算処理を実行し、情報処理装置1の動作全体を制御する。
GPU13は、CPU11による制御のもとで、画像処理を実行して表示データを生成する。GPU13は、生成した表示データを表示部(図示せず)に出力する。表示部は、GPU13から入力された表示データに基づく表示画面を表示する。表示部は、例えば、液晶ディスプレイである。
GPU13は、CPU11とは別個に設けられる。CPU11と別個に設けられたGPU13は、dGPU(Discrete GPU、外部GPU、分離GPU)とも呼ばれる。GPU13は、一般にCPU11に内蔵されるiGPU(Internal GPU、内蔵GPU)よりも高速に動作する。また、CPU11は、自部の負荷に応じて、GPU13の動作の有無を制御してもよい。GPU13の動作を停止することで消費電力を抑制することができる。また、CPU11がiGPUを備える場合には、例えば、画像処理の負荷が所定の負荷量よりも少ない場合にiGPUを動作させる一方でGPU13の動作を停止させ、画像処理の負荷が所定の負荷量以上の場合にGPU13の動作を開始させ、iGPUの動作を停止してもよい。これにより、iGPUとdGPU両者の利点が図られる。CPU11とGPU13は、データバスに接続され、相互に各種のデータを入出力可能とする。
なお、CPU11、GPU13の数は、それぞれ1個に限られず、いずれか一方または両者が複数個となってもよい。
【0033】
CPU11、GPU13には、それぞれDC/DCコンバータ45から一定の電圧の電力が供給されるが、一般に消費電力は可変である。CPU11、GPU13は、消費電力に応じて動作電圧と動作周波数の一方または両方を可変にしてもよい。例えば、CPU11は、システム・ファームウェアを実行して主システム100の動作状態(動作モード)または電力制御モードに応じて許容する最大動作周波数を、CPU11、GPU13が備えるレジスタに設定する。CPU11、GPU13は、それぞれ、その時点における動作周波数が設定された最大動作周波数よりも高いとき、設定された最大動作周波数以下となるように段階的に動作周波数を変更する。CPU11、GPU13は、動作周波数を低下させるとき、それぞれ、その動作周波数で自部の動作に要する値まで動作電圧を低下させてもよい(スピード・ステップ)。よって、CPU11、GPU13の消費電力が低下する。言い換えれば、CPU11、GPU13は、動作電圧と動作周波数の一方(例えば、動作周波数)または両方を高くすることで、許容される最大消費電力を大きくすることができる。
【0034】
また、CPU11、GPU13は、それぞれ一定の周期で動作と停止を繰り返して間欠動作を行うことによって平均処理速度を可変にしてもよい(スロットリング)。システム・ファームウェアは、CPU11、GPU13のレジスタに、スロットリングの有効を示すスロットリング設定情報とデューティ比(スロットリング率)をそれぞれ設定可能としてもよい。スロットリングによっても、段階的にCPU11、GPU13の処理能力を変化することができる。この処理能力の変化は、消費電力の変化、ひいては発熱量の変化をもたらす。
【0035】
CPU11、GPU13は、スピード・ステップとスロットリングを併用し、スピード・ステップにより最低の動作周波数を維持したまま、スロットリングを実行してもよい。言い換えれば、CPU11、GPU13は、定めた動作周波数により許容される最大消費電力を設定することができる。
CPU11、GPU13は、自部の処理能力を複数の段階のうちいずれかの段階に変化させるためにスロットリングを行う。CPU11、GPU13は、スロットリング率を高くするほど消費電力を高くすることができる。
以下の説明では、スピード・ステップとスロットリングのいずれか一方または両方によって可変に設定されうるCPU11、GPU13の処理能力もしくはその段階を、「パフォーマンス・ステップ」と呼ぶ。パフォーマンス・ステップの値が大きいほど、処理能力が高いことを示す。処理能力が高いほど消費電力が大きくなる。例えば、パフォーマンス・ステップの値が100%とは、処理能力を低下させずに最大限に発揮する動作状態を示す。
【0036】
CPU11、GPU13は、それぞれTCC(Thermal Control Circuit;温度制御回路)を備えていてもよい。例えば、GPU13に備わるTCCは、温度センサ53で検出された温度を監視し、負荷が増加して検出された温度が所定の基準温度よりも上昇するときに、動作周波数および動作電圧の低下や、間欠動作を行って温度の上昇を抑制するように、GPU13の動作を制御する。CPU11に備わるTCCも、GPU13に備わるTCCと同様の手法により、温度センサ51で検出された温度に基づいてCPU11の動作を制御する。
【0037】
CPU11、GPU13は、一般に、パフォーマンス・ステップが高く、かつ使用率が高いほど消費電力が大きくなるので、発熱量が多くなる。CPU11、GPU13は、それぞれ許容される最大消費電力以下となる消費電力に対応するパフォーマンス・ステップを設定することで、消費電力が設定された最大消費電力以下となるように動作する。従って、パフォーマンス・ステップが低下するほど、プロセスの実行時間が長くなり、消費電力が低下する。CPU11、GPU13の一方または両者が発生させた熱は、それ自体の温度を上昇させるとともに、筐体内外の温度を上昇させる。但し、消費電力が小さいほど発熱量が少なくなるので、消費電力が小さい場合には、放熱ファン73などの放熱機構の停止または出力の低下が許容される。言い換えれば、消費電力が大きい場合には、放熱ファン73の動作または出力の増加を要する。
【0038】
なお、GPU13はCPU11による制御のもとで動作するが、一般にはGPU13の使用率はCPU11の使用率と相関性を有するとは限らない。そのため、CPU11、GPU13の一方の使用率が高くなるとき、放熱機構の動作開始または出力の増加により、放熱を促進させる場合がありうる。その場合には、他方の使用率の増加による、熱の発生が許容されることがある。逆に、CPU11、GPU13の一方の使用率が低くなることで、放熱機構の停止または出力が減少する場合には、放熱が抑制される。そのため、他方の使用率の維持または増加が許容されないために、使用率を低下させる必要性が生じることがある。
【0039】
次に、本実施形態に係る情報処理装置1の機能構成について説明する。図2は、本実施形態に係る情報処理装置1の機能構成例を示すブロック図である。
情報処理装置1は、主システム100と、パフォーマンス制御系200と、電力供給系300と、温度制御系400と、を備える。
主システム100は、CPU11、GPU13、システム・メモリ21、HID(Human Interface Device)31などのハードウェアと、OS101、スケジュール・タスクなどのソフトウェアと、を含んで構成されるコンピュータシステムである。
CPU11は、OS101その他のソフトウェアを実行して、GPU13、システム・メモリ21、HID31などのハードウェアと協働して、それらのソフトウェアで指示される機能を発揮する。
GPU13は、CPU11から提供される制御信号に応じて、所定の画像処理プログラムに従って、画像処理を実行する。
HID31は、キーボード、マウスおよびタッチスクリーンなど、ユーザが操作により物理的にアクセスして入力する入力デバイスや、ディスプレイ、スピーカなどユーザに情報を提示する出力デバイスを含んで構成される。
【0040】
OS101は、その実行により基本的な機能を提供する。基本的な機能には、例えば、アプリ、その他のプログラムの実行状態の制御、それらのプログラム実行中における標準的なインタフェースの提供、主システム100ならびに主システム100に直接または間接的に接続された他のハードウェアにおける各種のリソースの管理、などが含まれる。
【0041】
次に、パフォーマンス制御系200の構成例について説明する。パフォーマンス制御系200は、状態検出部201、PM(Power Management;電力管理)ドライバ203およびパフォーマンス制御部217を含んで構成される。状態検出部201は、CPU11がOS101上で実行するサービス・アプリケーション211とOS101のカーネルに組み込まれた中間ドライバと協働して、その機能を奏し、CPU11をはじめとするプロセッサの状態を取得する。中間ドライバはOS101の動作によりCPU11において生成されるプロセスを監視する。
【0042】
サービス・アプリケーション211は、CPU11が実行し、主にCPU11の状態を監視するための状態監視プログラムであり、状態検出部201の一部の機能を提供する。例えば、サービス・アプリケーション211は、CPU11の消費電力の情報をOS101から取得する。
サービス・アプリケーション211は、さらにその時点までの所定の監視時間におけるCPU11の平均使用率、ユーザ・アクティビティの有無、ディスク・アクセスの時間などのパラメータを取得し、取得したパラメータを用いて動作状態を特定してもよい。例えば、サービス・アプリケーション211は、CPU11の使用率、消費電力のパラメータなどに基づいてアプリケーション・プログラムなどのタスクの実行開始および実行終了を認識してもよい。
【0043】
サービス・アプリケーション211は、GPU13など他のプロセッサの状態を検出してもよい。状態検出部201は、GPU13の状態として、例えば、GPU13から出力される動作状態(ON)または停止状態(OFF)を示す情報を取得してもよいし、温度センサ53から温度測定部401(後述)を経由して出力される温度データを取得してもよい。
サービス・アプリケーション211は、検出したCPU11、GPU13などのプロセッサの状態を示すプロセッサ状態情報をPMドライバ213に出力する。
【0044】
PMドライバ213は、サービス・アプリケーション211から入力されるプロセッサ状態情報を構成する各種のパラメータから、個々のプロセッサの消費電力に関連する状態を示すパラメータを抽出する。PMドライバ213は、抽出したパラメータを含むプロセッサ状態情報をパフォーマンス制御部217とPDコントローラ41に出力する。
【0045】
パフォーマンス制御部217は、PMドライバ213から入力されるプロセッサ状態情報もしくはユーザ・インタフェース205が設定したプロセッサ状態情報に基づいて、CPU11、GPU13のそれぞれの処理能力を制御する。パフォーマンス制御部217は、例えば、CPU11によるシステム・ファームウェアの実行により得られる機能の一部をなす。
【0046】
なお、プロセッサの処理能力の制御に係るパラメータとしての最大消費電力には、それぞれ第1制限電力(以下、PL1)と第2制限電力(以下、PL2)がある。PL1は、定格電力に相当する。PL1は、消費電力が一時的にこの値を超えることを許容するが、所定時間以上継続してこの値を超えることを制限するための閾値である。PL1は、長時間制限電力(Long Term Power Limit)とも呼ばれる。PL2は、消費電力が一時的であっても、この値を超えることを制限するための閾値である。PL2は、短時間制限電力(Short Term Power Limit)とも呼ばれる。PL2は、パフォーマンス・ステップが100%である場合におけるプロセッサの消費電力の上限に相当する。PL1、PL2は、個々のプロセッサ、CPU11、GPU13のそれぞれに設定される。以下の説明では、CPU11に係るPL1、PL2を、それぞれPL111、PL112と呼び、GPU13に係るPL1、PL2を、それぞれPL131、PL132と呼んで区別することがある。
【0047】
プロセッサの消費電力がPL1を超える時間が所定の継続時間τ(例えば、0.2~1[s])以上継続するとき、パフォーマンス制御部217は、消費電力の移動平均値がPL1以下になるまで、その時点でプロセッサのレジスタに設定されているパフォーマンス・ステップを低下させる。また、パフォーマンス制御部217は、消費電力の移動平均値がPL1を超えない範囲で、その時点でプロセッサのレジスタに設定されているパフォーマンス・ステップを増加させる。
【0048】
パフォーマンス制御部217は、PL1をプロセッサの消費電力の変化傾向に応じて、予め設定されたPL1の上限から下限の間で可変としてもよい。例えば、その時点で設定されているPL1と消費電力の移動平均値との差分が、所定の差分の閾値以下となるとき、パフォーマンス制御部217は、PL1を増加させる。消費電力の移動平均値とその時点で設定されているPL1との差分が、所定の差分の閾値より大きくなるとき、パフォーマンス制御部217は、PL1を減少させる。
【0049】
CPU11のレジスタまたはシステム・メモリ21には、予め電力制御テーブルを記憶させておく。電力制御テーブルは、N段階(Nは、2以上の整数)の電力制御モードのそれぞれについてパラメータセットを含んで構成される制御データである。各段階の電力制御モードのパラメータセットは、PL1の範囲(図5のPL111、PL131)とPL2(図5のPL112、PL132)を含む。PL1の範囲は、下限と上限で表される。第n+1(nは、1以上であってN-1以下の整数)段階の電力制御モードのPL1の範囲は、全体として第n段階の電力制御モードのPL1の範囲よりも大きい値を示す範囲であればよい。また、第n+1段階の電力制御モードのPL1の範囲は、第n段階の電力制御モードのPL1の範囲よりも広い範囲であってもよい。PL2は、プロセッサの仕様上の消費電力の上限以下の値であればよい。ここで、電力制御モードの段階nは、PL1の昇順に設定されていればよい。また、PL2は、電力制御モード間で共通の値であってもよいし、独立な値であってもよい。電力制御モードの段階数Nは、プロセッサ間で共通であってもよいし、独立な値であってもよい。
【0050】
パフォーマンス制御部217は、プロセッサの状態の変化傾向に応じてプロセッサごとに電力制御モードを定める。CPU11に対しては、パフォーマンス制御部217は、CPU11の消費電力が第1基準電力(以下、SP11)を超える状態が継続する期間である超過期間が所定の第1期間(以下、T11、例えば、5~10秒)以上となるとき、その時点におけるCPU11の電力制御モードを第1段階以上第n段階以下のいずれかの段階から第n+1段階に変更する。SP11は、その時点における第n段階のCPU11の電力制御モードに係るPL111の下限よりも所定の判定幅(例えば、0.3~1[W])だけ低い値であればよい。
【0051】
パフォーマンス制御部217は、CPU11の消費電力が第2基準電力(以下、SP12)以下となる状態が継続する期間である基準内期間が所定の第2期間(以下、T12、例えば、5~30秒)以上となるとき、その時点における電力制御モードを第n+1段階以上第N段階以下のいずれかの段階から第n段階に変更する。SP12は、その時点における第n+1段階の電力制御モードに係るPL111の下限よりも所定の判定幅(例えば、0.3~1[W])だけ低い値であればよい。第n+1段階の電力制御モードに係るSP2は、第n+1段階のSP11と等しくてもよいし、より小さくてもよい。また、n+1段階の電力制御モードに係るSP12は、第n段階のSP12よりも大きい値であればよい。また、T12は、T11と等しくてもよいが、T11よりも長くてもよい。SP12をより小さくする、またはT11をより大きくすることで、より高い段階、つまり、PL111がより大きい電力制御モードへの変更よりも、より低い段階への電力制御モードの変更の方が困難になる。そのため、消費電力の予期せぬ増加に備えることができる。
【0052】
GPU13に対しては、パフォーマンス制御部217は、GPU13が稼働中となる動作状態が継続する継続時間が所定の第3期間(以下、T31、例えば、5~12秒)以上となるとき、その時点におけるGPU13の電力制御モードを第1段階以上第n段階以下のいずれかの段階から第n+1段階に変更する。高い段階の電力制御モードへの変更に係るT31ほど、より長い継続時間を設定させておく。これにより、GPU13が稼働(動作)している状態である動作状態が継続する継続時間が長いほど、より十分な処理量を確保することができる。
【0053】
パフォーマンス制御部217は、GPU13が稼働(動作)していない状態である停止状態が継続する継続時間が所定の第4期間(以下、T32、例えば、3~12秒)以上となるとき、その時点におけるGPU13の電力制御モードを第n+1段階以上第N段階のいずれかの段階から第n段階に変更する。低い段階の電力制御モードへの変更に係るT32ほど、より短い継続時間を設定させておいてもよいし、GPU13がとりうる電力制御モード間で等しい継続時間を設定させておいてもよい。個々の段階においてT32は、T31と等しくてもよいが、T31よりも短くてもよい。T32をT31よりも短くすることで、予期しない動作状態の継続もしくは処理量の増加に備えることができる。
【0054】
パフォーマンス制御部217は、GPU13が動作状態である継続時間に代え、または継続時間とともに、GPU13の温度Tを用いてGPU13の電力制御モードを定めてもよい。ここで、パフォーマンス制御部217は、GPU13の温度Tが所定の第1温度(以下、TP31)以上となる状態が継続する継続時間がT31を超えるとき、その時点におけるGPU13の電力制御モードを第1段階以上第n段階以下のいずれかの段階から第n+1段階に変更する。高い段階の電力制御モードへの変更に係るTP31ほど、より高い温度を設定させておく。後述のように高い段階の電力制御モードほど放熱ファン73による放熱量が増加ずるため、より高い段階の電力制御モードに遷移することで、より積極的な放熱を促すことができる。他方、パフォーマンス制御部217は、GPU13の温度Tが所定の第2温度(以下、TP32)以下となる状態が継続する継続時間がT32を超えるとき、その時点におけるGPU13の電力制御モードを第n+1段階以上第N段階以下のいずれかの段階から第n段階に変更する。低い段階の電力制御モードへの変更に係るTP32ほど、より低い温度を設定させておく。個々の段階においてTP32は、TP31と等しくてもよいが、TP31よりも低くてもよい。
【0055】
パフォーマンス制御部217は、各プロセッサにおいての消費電力が所定時間以上、その時点で、それぞれのプロセッサがとる電力制御モードにおけるPL1の値を超えず、かつ、PL2を超えないように制御する。そして、PL2は、プロセッサがとりうる電力制御モードごとのPL1のうち最も大きいPL1以上であってもよいし、プロセッサがとり得る電力制御モード間で共通であってもよい。これにより、たとえプロセッサのその時点における電力制御モードに係るPL1が低いとしても、PL1がより大きい電力制御モードと同等のPL2が設定されるので、一時的に消費電力の上昇が許容される。そのため、消費電力が継続的に低い状態であれば、プロセッサの電力制御モードの変更を伴わずにプロセッサの性能を一時的に発揮させることができる。
【0056】
以下の説明では、よりPL1の高い第n+1段階の電力制御モードに変更するための条件を格上げ条件(ランクアップ条件)と呼ぶことがある。格上げ条件に係るパラメータ、つまりCPU11に対するSP11とT11、または、GPU13に対するT31(もしくは、さらにTP31)を格上げパラメータと呼ぶことがある。よりPL1の低い第n段階の電力制御モードに変更するための条件を格下げ条件(ランクダウン条件)と呼ぶことがある。格下げ条件に係るパラメータ、つまりCPU11に対するSP12とT12、または、GPU13に対するT32(もしくは、さらにTP32)を格下げパラメータと呼ぶことがある。また、格上げ条件と格下げ条件を電力モード遷移条件または単にモード遷移条件と総称することがある。格上げパラメータと格下げパラメータを電力モード遷移パラメータまたは単にモード遷移パラメータと総称することがある。
【0057】
そこで、CPU11のレジスタまたはシステム・メモリ21には、電力制御テーブルとは別個にモード遷移テーブルを予め記憶させておいてもよい。モード遷移テーブルは、変更後の電力制御モードごとにモード遷移条件またはモード遷移パラメータを示す情報を含んで構成される。より具体的には、モード遷移テーブルには、CPU11に対してはSP1、T11、SP2およびT12、GPU13に対してはT31およびT32(もしくは、さらにTP31およびTP32)が含まれていてもよい。但し、定格電力PL1が最も小さい第1段階の電力制御モードに対しては、SP2、T12およびT32(もしくは、さらにTP32)が設定されなくてもよい。PL1が最も大きい第N段階の電力制御モードに対しては、SP1、T11およびT31(もしくは、さらにTP31)が設定されなくてもよい。
【0058】
パフォーマンス制御部217は、モード遷移テーブルを参照し、プロセッサごとに、そのプロセッサの状態が満足するモード遷移条件を特定し、特定したモード遷移条件への電力制御モードに変更する。なお、その時点におけるプロセッサにおける状態が、モード遷移テーブルにおいて満足するモード遷移条件が存在しない場合(浮動状態(float))には、パフォーマンス制御部217は、その時点におけるプロセッサの電力制御モードを変更せずに維持してもよい。電力制御モードの変更例については、後述する。
【0059】
また、パフォーマンス制御部217は、GPU13の電力制御モードの初期値として、CPU11に対して定めた電力制御モードと同一の電力制御モードに定めてもよい。情報処理装置1の起動当初においては、GPU13が動作していないことがあるためである。また、パフォーマンス制御部217は、CPU11の動作制御モードを変更する都度、GPU13の動作制御モードの暫定値として、その変更後のCPU11の動作制御モードと同一の電力制御モードに定めてもよい、
【0060】
なお、パフォーマンス制御部217は、電力制御テーブルを参照し、その時点における電力制御モードに係る電力制御モードPL1の範囲とPL2をプロセッサごとに特定する。パフォーマンス制御部217は、特定したPL1の範囲とPL2を用いて上記のパフォーマンス・ステップをプロセッサごとに定める。パフォーマンス制御部217は、判定した電力制御モードを示す電力制御モード情報を駆動制御部403に出力する。電力制御モードの例については、後述する。
【0061】
なお、パフォーマンス制御部217は、さらに温度測定部401(後述)から入力されるプロセッサの温度を用いて、プロセッサの処理能力を制御してもよい。例えば、CPU11のレジスタには、温度と消費電力の組毎にパフォーマンス・ステップを示す制御テーブルを予め設定しておく。パフォーマンス制御部217は、CPU11に対して入力される温度と取得したプロセッサ状態情報が示す消費電力に対応するパフォーマンス・ステップを特定する。パフォーマンス制御部217は、特定したパフォーマンス・ステップをCPU11のレジスタに設定する。パフォーマンス制御部217は、GPU13に対しても、CPU11と同様に、GPU13の温度に対応するパフォーマンス・ステップを特定し、GPU13のレジスタに設定してもよい。
【0062】
次に、電力供給系300の構成例について説明する。電力供給系300は、PDコントローラ41と、充電器43と、DC/DCコンバータ45と、を含んで構成される。
【0063】
PDコントローラ41は、PMドライバ213から入力されるプロセッサ状態情報に基づいてDC/DCコンバータ45に供給する電力を制御する。PDコントローラ41は、各デバイスで要求される消費電力の合計値である合計電力に、DC/DCコンバータ45等における電力の変換による消耗分を加えて総電力を定め、定めた総電力を示す電力要求信号をADアダプタ91に出力する。合計電力には動作状態情報で示されるプロセッサごとの消費電力を含む。
【0064】
PDコントローラ41は、電池パック47(図1)の充電状態を検出し、検出した充電状態に基づいて充電器43から電池パック47への充電を制御してもよい。例えば、PDコントローラ41は、電池パック47の起電力(電池電圧)が所定の満充電電圧以上となるとき、充電器43への充電を停止させるために、充電停止を示す充電制御データを充電器43に出力する。PDコントローラ41は、電池パック47の起電力が所定の満充電電圧未満となるとき、充電器43への充電を実行させるために、充電実行を示す充電制御データを充電器43に出力する。PDコントローラ41は、充電器43への最大充電電流の設定値と最大充電電圧の設定値を含む充電制御データを予め設定しておき、充電器43にそれらの設定値で指示される最大充電電流以下および最大受電電圧以下で充電を行わせてもよい。
【0065】
なお、ADアダプタ91は、自部に供給される交流電力を直流電力に変換する。ADアダプタ91は、PDコントローラ41から入力される電力要求信号が示す総電力量の直流電力を情報処理装置1に供給する。情報処理装置1とADアダプタ91とは、例えば、USB3.2規格に順じて各種のデータを伝送可能とするUSBケーブルを介して接続される。USBケーブルは、信号線ならびに電力線を有する。
【0066】
充電器43は、PDコントローラ41から入力される充電制御データに基づいてADアダプタ91から供給される電力の電池パック47への充電を制御する。充電器43は、ADアダプタ91から供給される電力のうち、消費されずに残された電力を電池パック47に充電する。
【0067】
DC/DCコンバータ45は、ADアダプタ91から供給される電力の電圧を、情報処理装置1を構成する各デバイスの動作に要する所定の電圧に変換し、変換した電圧を有する電力をそれぞれのデバイスに供給する。なお、ADアダプタ91から電力が供給されないとき、DC/DCコンバータ45は、電池パック47から供給される電力を入力電圧として変換して、各デバイスに所定の電圧の電力を供給する。
【0068】
次に、温度制御系の構成例について説明する。温度制御系400は、温度センサ51、53、温度測定部401、駆動制御部403、温度制御テーブル405、駆動回路77および放熱ファン73を含んで構成される。温度測定部401、駆動制御部403および温度制御テーブル405は、EC27の機能の一部として実現されてもよいし、CPU11の機能の一部として実現されてもよい。
【0069】
温度センサ51、53は、検出した温度に係る物理量(例えば、熱起電力)を示す温度信号を温度測定部401に出力する。上記のように、温度センサ51、53は、それぞれCPU11、GPU13の表面温度を測定可能とする。
温度測定部401は、温度センサ51、53からそれぞれ入力される温度信号が示す物理量に対応する温度を所定時間(例えば、0.1~5秒)毎に測定する。温度測定部401は、それぞれ測定した温度を示す温度データを駆動制御部403に出力する。
【0070】
駆動制御部403は、パフォーマンス制御部217から入力される電力制御モード情報が示す電力制御モードと温度測定部401から入力される温度データが示す温度に基づいて放熱ファンの動作状態を定める。駆動制御部403は、温度制御テーブル405を参照して、電力制御モードと温度に応じた動作量を定める。但し、CPU11に対する電力制御モードと温度センサ51により検出される温度に応じて定める動作量と、GPU13に対する電力制御モードと温度センサ53により検出される温度に応じて定まる動作量は異なりうる。そこで、駆動制御部403は、CPU11、GPU13のそれぞれについて定まる計2通りの動作量から放熱ファンを駆動させるための1通りの動作量を定める。駆動制御部403は、例えば、2通りの動作量のうち、いずれか多い方を採用してもよいし、平均値を採用してもよい。駆動制御部403は、定めた動作量を示す駆動制御信号を生成し、生成した駆動制御信号を駆動回路77に出力する。
【0071】
温度制御テーブル405は、電力制御モードごとに、放熱ファン73の動作量と動作温度のセットを1段階以上含んで構成される。動作温度は、温度センサ51、53で検出された温度が上昇傾向にあるとき、その動作温度に対応する動作量での動作開始を放熱ファン73に指示する温度である。駆動制御部403は、その時点における電力制御モードにおいて、温度が上昇傾向にあり、ある段階の動作温度を超えるとき、その段階の動作温度に対応する動作量を定める。駆動制御部403は、その時点における電力制御モードにおいて、温度が低下傾向にあり、ある段階の動作温度よりも所定の低下幅(例えば、2~3[°C])だけ低い温度を下回るとき、その段階の動作温度よりも1段階低い段階の動作温度に対応する動作量を定める。なお、1段階低い段階の動作温度に対応する出力が存在しない場合、つまり、第0段階の動作量が定まる場合には、駆動制御部403は、停止と判定し、停止を示す駆動制御信号を駆動回路77に出力する。温度制御テーブルの例については、後述する。温度センサ51、53でそれぞれ測定された温度に対して共通の1個の温度制御テーブルが設けられてもよいし、それぞれ別個の温度制御テーブルが設けられてもよい。別個の温度制御テーブルで、互いに異なる動作量と動作温度のセットが設定されてもよい。
【0072】
駆動回路77は、駆動制御部403から入力される駆動制御信号が示す動作量に対応する電力を放熱ファン73に供給する。主システム100の発熱量は、電子デバイスのうち主にCPU11、GPU13の発熱量に依存する。温度Tと電力制御モードに基づいて放熱ファン73の回転速度を制御することで、発熱による温度上昇に応じた放熱がなされる。
【0073】
次に、本実施形態に係る電圧制御におけるデータフローについて説明する。
図3は、本実施形態に係る電圧制御におけるデータフローの例を示す概略ブロック図である。
サービス・アプリケーション211は、CPU11、GPU13のそれぞれの状態を検出し、検出した状態を示すプロセッサ状態情報をPMドライバ213に出力する。
PMドライバ213は、サービス・アプリケーション211から入力される状態情報をパフォーマンス制御部217に出力する。動作状態情報には、CPU11の消費電力とGPU13の動作の有無または温度に関する情報が含まれる。
【0074】
パフォーマンス制御部217は、PMドライバ213から入力されるプロセッサ状態情報に基づいてCPU11、GPU13の処理能力を制御する。
ここで、パフォーマンス制御部217は、CPU11、GPU13それぞれの消費電力の変化傾向に応じて、CPU11、GPU13のそれぞれの電力制御モードを定める。電力制御モードに応じて、設定可能とするPL1の範囲が異なる。パフォーマンス制御部217は、CPU11、GPU13のそれぞれに対して定めたPL1の範囲とPL2を、それぞれCPU11、GPU13のレジスタにセットする。CPU11、GPU13は、パフォーマンス制御部217がそれぞれ定めたPL1の範囲ならびにPL2に基づいて消費電力を制御する。
パフォーマンス制御部217は、CPU11、GPU13のそれぞれに対して定めた電力制御モードを示す電力制御モード情報を駆動制御部403に出力する。
【0075】
温度測定部401は、温度センサ51、53からそれぞれ入力される温度信号が示す物理量からそれぞれ検出された温度を示す温度データを駆動制御部403に出力する。
駆動制御部403は、予め設定された温度制御テーブル405を参照して、パフォーマンス制御部217から通知される電力制御モードと温度測定部401から入力される温度データが示す温度に基づいて放熱ファン73の動作量を定める。駆動制御部403は、温度センサ51で検出される温度とCPU11の電力制御モードに基づく動作量と温度センサ53で検出される温度とGPU13の電力制御モードに基づく動作量が異なる場合には、例えば、いずれか多い方の動作量を採用する。
駆動制御部403は、定めた動作量を示す駆動制御信号を生成し、生成した駆動制御信号を駆動回路77に出力する。
駆動回路77は、駆動制御部403から入力される駆動制御信号が示す動作量に対応する電力を放熱ファン73に供給する。
放熱ファン73は、駆動回路77から供給される電力を消費して動作する。
【0076】
(電力制御モード)
次に、本実施形態に係る電力制御モードの例について説明する。図4は、本実施形態に係る電力制御モードの例を示す説明図である。図4に示す3段階の電力制御モードは、低騒音モード(Q:Quiet)、バランスモード(B:Balance)および高性能モード(P:Performance)である。各電力制御モードは、表面温度、騒音レベルおよび設定電力で特徴づけられる。本実施形態では、上記のようにCPU11、GPU13のそれぞれの状態に応じて、それぞれの電力制御モードが自動的に制御される。従来は、CPU11の電力制御モードとGPU13の電力制御モードを等しくしていた。例えば、低騒音モード(Q)である場合には、GPU13の電力制御モードもCPU11と同様に低騒音モード(Q)と定めていた。これに対して、本実施形態では、CPU11の電力制御モードが低騒音モード(Q)であっても、GPU13の電力制御モードは、低騒音モード(Q)、バランスモード(B)および高性能モード(P)のいずれにもなりうる。CPU11の負荷が比較的軽微な状態が継続していても、GPU13の負荷が比較的多い状態や負荷量の変動が大きい場合にも処理能力を発揮することができる。
【0077】
図5は、本実施形態に係る電力制御テーブルの例を示す図である。
低騒音モード(Q)は、放熱ファン73の動作により生ずる騒音レベルの低減を重視した電力制御モードである。騒音レベルのパラメータとして騒音上限がSND1[dB]と低く抑えられている。放熱ファン73を動作させる機会、または放熱ファン73の出力が抑制されるため、設定電力のパラメータとしてCPU11のPL111が上限PO111qu[W]、下限PO111ql[W]ともに他の電力制御モードでのPL111よりも低く抑えられる。そのため、比較的処理能力が低い場合や、迅速な応答が要求されない場合に好適である。低騒音モード(Q)は、例えば、文書作成用アプリによる文書の編集または閲覧、ブラウザによるウェブページの閲覧、通話、電子メールの送受信、など比較的軽微な処理に適用される。GPU13のPL131も上限PO131qu[W]、下限PO131ql[W]ともに他の電力制御モードでのPL131よりも低く抑えられる。なお、PO111quは、PO111qlと等しい値に設定されてもよい。その場合には、PL111の変動が許容されずPO111quまたはPO111qlに固定値される。同様に、PO131quはPO131qlと等しい値に設定されてもよい。
【0078】
バランスモード(B)は、騒音レベルの低減と処理能力と変動のバランスを重視した電力制御モードである。バランスモード(B)に係るCPU11に対するPL111の範囲は、上限がPO111bu[W]、下限がPO111bl[W]となる。この範囲は、低騒音モード(Q)に係るPL111の範囲と高性能モード(P)に係るPL111の範囲の中間である。つまり、PO111pl≧PO111bu>PO111bl≧PO111quとなる。バランスモード(B)に係るGPU13に対するPL131の範囲は、上限がPO131bu[W]、下限がPO131bl[W]となる。この範囲も、PO131pl≧PO131bu>PO131bl≧PO131quとなる。
バランスモード(B)に係る騒音上限は、低騒音モード(Q)に係る騒音上限SND3と高性能モード(P)に係る騒音上限SND1の中間のSND2[dB]である。そのため、消費電力が中程度となる状態が継続するが、過大にならない処理に好適である。バランスモード(B)は、例えば、大容量のファイルのオープン、アプリのインストール、セキュリティ対策アプリの実行、CADアプリの実行に適用されうる。
【0079】
高性能モード(P)は、プロセッサの処理能力を十分に発揮させるための電力制御モードである。高性能モード(P)に係るCPU11に対するPL111は、下限がPO111pl[W]と他の電力制御モードでのPL111以上となり、上限がPO111pu[W]となり、PL112に設定されるPO112と同等の値となってもよい。高性能モード(P)に係るGPU13に対するPL131は、下限がPO131pl[W]と他の電力制御モードでのPL131以上となり、上限がPO131pu[W]となり、PL132に設定されるPO132と同等の値となってもよい。そのため、高性能モード(P)に係るPL111、PL131の範囲は、それぞれ他の電力制御モードに係るPL111、PL131の範囲よりも広範となる。
高性能モード(P)では、多くの処理能力が要求される場合に選択されるので放熱ファン73の動作による騒音が許容される。高性能モード(P)に係る騒音上限SND3[dB]は、他の電力制御モードに係る騒音上限よりも高い。そのため、消費電力が継続的に高い状態や、迅速な応答が要求される場合に好適である。高性能モード(P)は、例えば、映像の編集、大容量の映像のストリーミング、AR/VRシミュレーションなど、に適用されうる。
【0080】
なお、図5に示す例では、目標温度は、低騒音モード(Q)、バランスモード(B)、高性能モード(P)のそれぞれについて、TEM1[°C]、TEM2[°C]、TEM3[°C]と示されている。ここで、TEM1≦TEM2<TEM3となればよい。これらの温度は、ユーザが情報処理装置1を使用しながらその筐体の表面に接しても耐えられる温度である。また、図5に示す例では、PL112、PL132は、電力制御モードに関わらず、それぞれPO112、132[W]である。これにより、いずれの電力制御モードでも一時的な消費電力の上昇は許容される。
【0081】
次に、モード遷移テーブルの例について説明する。図6は、本実施形態に係るモード遷移テーブルの例を示す図である。図6に例示されるモード遷移テーブルは、各プロセッサの電力制御モードごとにモード遷移条件を含んで構成される。
モード遷移テーブルでは、CPU11の格上げ条件とGPU13の格上げ条件のセットが、変更後の電力制御モードのPL1の降順、つまり、高性能モード(P)、バランスモード(B)の順に配列され、さらに、CPU11の格下げ条件とGPUの格下げ条件のセットが、変更後の電力制御モードのPL1の昇順、つまり、低騒音モード(Q)、バランスモード(B)の順に配列されている。これらのモード遷移条件の順序は、後述するようにパフォーマンス制御部217が適用すべきモード遷移条件の優先度に相当する。
【0082】
CPU11の高性能モード(P)への格上げ条件は、CPU11の消費電力がSP113以上となる継続時間がT113以上となることである。GPU13の高性能モード(P)への格上げ条件は、GPU13が稼働中である動作状態(ON)となる継続時間がT313以上となることである。
CPU11のバランスモード(B)への格上げ条件は、CPU11の消費電力がSP112以上となる継続時間がT112以上となることである。GPU13のバランスモード(B)への格上げ条件は、GPU13が稼働中である動作状態(ON)となる継続時間がT312以上となることである。ここで、SP113は、SP112よりも大きい値をとる。SP112は、CPU11のバランスモード(B)のPL111の範囲内であってもよいし、PL111の下限よりも小さくてもよい。SP113は、CPU11の高性能モード(P)のPL111の範囲内であってもよいし、PL111の下限よりも小さくてもよい。T113はT112と等しくてもよいが、より大きくてもよい。また、T313はT312と等しくてもよいが、より大きくてもよい。
【0083】
CPU11の低騒音モード(Q)への格下げ条件は、CPU11の消費電力がSP121以下となる継続時間がT121以上となることである。GPU13の低騒音モード(Q)への格下げ条件は、GPU13が稼働していない停止状態(OFF)となる継続時間がT321以上となることである。
CPU11のバランスモード(B)への格下げ条件は、CPU11の消費電力がSP122以下となる継続時間がT122以上となることである。GPU13のバランスモード(B)への格下げ条件は、GPU13が稼働していない停止状態(OFF)となる継続時間がT322以上となることである。ここで、SP121は、SP122よりも小さい値をとる。SP121は、CPU11の低騒音モード(Q)のPL111の範囲内であってもよいし、PL111の下限よりも小さくてもよい。また、SP121は、SP112と等しくてもよいし、SP112よりも大きくてもよい。SP122は、CPU11のバランスモード(B)のPL111の範囲内であってもよいし、PL111の下限よりも小さくてもよい。また、SP122は、SP113と等しくてもよいし、SP113よりも大きくてもよい。T121はT122と等しくてもよいが、より小さくてもよい。T321はT322と等しくてもよいが、より小さくてもよい。
【0084】
図7は、本実施形態に係るモード遷移テーブルの他の例を示す図である。図7に例示されるモード遷移テーブルは、CPU11に関しては、図6に例示されるモード遷移条件と同様のモード遷移条件を含む。これに対し、GPU13に関しては、GPU13の状態として動作状態か否かON/OFF)に代えて、その温度をパラメータとするモード遷移条件を含んでモード遷移テーブルが構成される。高性能モード(P)への格上げ条件は、温度がTP313以上である状態が継続する継続時間が、T313以上となることである。バランスモード(B)への格上げ条件は、温度がTP312以上である状態が継続する継続時間が、T312以上となることである。TP313は、TP312よりも高い温度である。TP313は、TEM3(図5)と等しくてもよいし、TEM3より低くてもよい。TP313は、TEM2(図5)と等しくてもよいし、TEM2より低くてもよい。
低騒音モード(Q)への格下げ条件は、温度がTP321以下である状態が継続する継続時間が、T321以上となることである。バランスモード(B)への格下げ条件は、温度がTP322以下である状態が継続する継続時間が、T322以上となることである。TP322は、TP321よりも高い温度である。TP322は、TP313と等しくてもよいし、TP313よりも低くてもよい。TP321は、TP312と等しくてもよいし、TP312よりも低くてもよい。
【0085】
図6図7に例示されるように、CPU11の消費電力が高い状態が継続しなければ、よりPL1が高い電力制御モードへの格上げ条件ほど満足することが困難になる傾向がある。また、GPU13の動作状態もしくは温度が高い状態が継続しなければ、よりPL1が高い電力制御モードへの格上げ条件ほど満足することが困難になる傾向がある。
そこで、パフォーマンス制御部217は、CPU11またはGPU13の状態が複数の電力制御モードへの格上げ条件を満足する場合、満足した格上げ条件のうち最もPL1が高い電力制御モードへの格上げ条件を特定し、特定した格上げ条件に係る電力制御モードへの遷移を優先する。これにより、消費電力が継続的に大きい状態または動作状態が継続する局面で、できるだけPL1の大きい電力制御モードに直ちに遷移させることができる。
【0086】
他方、CPU11の消費電力が低い状態が継続しなければ、よりPL1が低い電力制御モードへの格下げ条件ほど満足することが困難になる傾向がある。また、GPU13の停止状態もしくは温度が低い状態が継続しなければ、よりPL1が低い電力制御モードへの格下げ条件ほど満足することが困難になる傾向がある。
そこで、パフォーマンス制御部217は、CPU11またはGPU13の状態が複数の電力制御モードへの格下げ条件を満足する場合、満足した格下げ条件のうち最もPL1が低い電力制御モードへの格下げ条件を特定し、特定した格下げ条件に係る電力モードへの遷移を優先する。これにより、消費電力が継続的に小さい状態または停止状態が継続する局面で、できるだけPL1の小さい電力制御モードに直ちに遷移させることができる。
また、CPU11またはGPU13が満足する格上げ条件を格下げ条件よりも優先することで、予期せずに消費電力が継続的に大きい状態または動作状態が継続する局面が生じる場合に備え、必要とする処理能力を発揮し、放熱を促すことができる。
【0087】
次に、図8を用いてモード遷移処理の例について説明する。図8は、本実施形態に係るモード遷移処理の例を示すフローチャートである。
(ステップS102)パフォーマンス制御部217は、モード遷移テーブルを参照して、CPU11の状態が、それぞれのモード遷移条件を満足するか否かを判定する。CPU11の状態が満足するモード遷移条件が存在する場合(ステップS102 YES)、ステップS104の処理に進む。CPU11の状態がいずれのモード遷移条件も満足しない場合(ステップS102 NO)、ステップS106の処理に進む。
(ステップS104)パフォーマンス制御部217は、CPU11の状態が満足するモード遷移条件のうち、その順序が最も先行するモード遷移条件を特定する。パフォーマンス制御部217は、CPU11の電力制御モードを特定したモード遷移条件に係る電力制御モードに変更する。その後、ステップS108の処理に進む。
(ステップS106)パフォーマンス制御部217は、その時点におけるCPU11の電力制御モードを維持する。その後、ステップS108の処理に進む。
【0088】
(ステップS108)パフォーマンス制御部217は、モード遷移テーブルを参照して、GPU13の状態が、それぞれのモード遷移条件を満足するか否かを判定する。
GPU13の状態が満足するモード遷移条件が存在する場合(ステップS108 YES)、ステップS110の処理に進む。GPU13の状態がいずれのモード遷移状態も満足しない場合(ステップS108 NO)、ステップS112の処理に進む。
(ステップS110)パフォーマンス制御部217は、GPU13の状態が満足するモード遷移条件のうち、その順序が最も先行するモード遷移条件を特定する。パフォーマンス制御部217は、GPU13の電力制御モードを特定したモード遷移条件に係る電力制御モードに変更する。その後、ステップS102の処理に戻る。
(ステップS112)パフォーマンス制御部217は、その時点におけるGPU13の電力制御モードを維持する。その後、ステップS102の処理に戻る。
【0089】
図9は、図6に示すモード遷移テーブルを用いた電力制御モードの制御例を示す説明図である。図9の「状態」の列におけるモード遷移条件の塗りつぶしは、そのプロセッサの状態がそのモード遷移条件を満足することを示す。ここで、CPU11の状態が、低騒音モード(Q)への格下げ条件と、バランスモード(B)への格下げ条件を満足するため、パフォーマンス制御部217は、CPU11の電力制御モードを、より優先される低騒音モード(Q)に変更する。また、GPU13の状態が、低騒音モード(Q)への格下げ条件と、バランスモード(B)への格下げ条件を満足するため、パフォーマンス制御部217は、GPU13の電力制御モードを、より優先される低騒音モード(Q)に変更する。
なお、CPU11の状態がいずれのモード遷移条件を満たさない場合には(浮動状態)、パフォーマンス制御部217は、その時点でのモード遷移条件を変更せずに維持する。GPU13の状態がいずれのモード遷移条件を満たさない場合には、パフォーマンス制御部217は、その時点でのモード遷移条件を変更せずに維持する。
【0090】
CPU11の電力制御モードの遷移において、SP112とT112の組、SP121とT121の組、等を用いることで、継続的に消費電力が高い状態であるか否かが評価される。継続的に消費電力が多い状態が長く継続するほど、パフォーマンス制御部217は、より高い段階の電力制御モードに遷移させることができる。
GPU13の電力制御モードの遷移において、動作状態の継続時間T312、停止状態の継続時間T121、等を用いることで、継続的に動作状態であるか否かが評価される。動作状態が長く継続するほど、パフォーマンス制御部217は、より高い段階の電力制御モードに遷移させることができる。
GPU13の電力制御モードの遷移において、温度TP312と継続時間T312の組、温度TP121と継続時間T121、等を用いることで、継続的に温度が高い状態であるか否かが評価される。温度が高い状態が長く継続するほど、パフォーマンス制御部217は、より高い段階の電力制御モードに遷移させることができる。
【0091】
次に、温度制御テーブルの例について説明する。温度制御テーブルは、電力制御モードごとに、放熱ファン73の出力と動作温度のセットを1段階以上含んで構成される。電力制御モードの段階が高いほど、放熱ファン73の出力とする動作量の段階数が多くすればよい。例えば、低騒音モード(Q)、バランスモード(B)、高性能モード(P)では、それぞれ1、3、5段階とする。つまり、駆動制御部403は、制御モードの段階が高いほど、放熱ファン73の動作量の上限が大きく、かつ、その動作量の範囲が広くなるようにできればよい。なお、動作量は、放熱ファン73の動作により生ずる騒音レベル[dB]に限られず、単位時間当たりの回転数[rpm:round per minute]、放熱ファン73の消費電力[W]で指示されてもよい。
【0092】
以上に説明したように、本実施形態に係る情報処理装置は、第1の定格電力が異なる複数段階の第1の電力制御モードをとりうる第1のプロセッサ(例えば、CPU11)と、第2の定格電力が異なる複数段階の第2の電力制御モードをとりうる第2のプロセッサ(例えば、GPU13)と、いずれか1段階の第1の電力制御モードに従って第1のプロセッサの消費電力を制御し、いずれか1段階の第1の電力制御モードに従って前記第2のプロセッサの消費電力を制御する電力制御部(例えば、パフォーマンス制御部217)と、を備える。電力制御部は、個々のプロセッサについて遷移後の電力制御モードごとに予め定めた所定の状態が所定の継続期間以上継続する事象がモード遷移条件として設定され個々のプロセッサの状態を監視し、前記モード遷移条件を満足するか否かを判定し、複数のモード遷移条件を満足するプロセッサについて、前記複数のモード遷移条件から、現在の電力制御モードよりも定格電力がより低い電力制御モードへの遷移条件である格下げ条件よりも、現在の電力制御モードよりも定格電力がより高い電力制御モードへの遷移条件である格上げ条件を優先し前記格上げ条件のうち、遷移後の定格電力がより高い電力制御モードほど優先し、前記格下げ条件のうち、遷移後の定格電力がより低い電力制御モードほど優先して選択する
この構成によれば、より定格電力が小さい電力制御モードよりも、より定格電力が大きい電力制御モードへの遷移が優先されるので、より高い処理量が要求される場合に、プロセッサは、その能力を発揮させることができる。また、電力制御モードの遷移を、個々の遷移条件を順次評価する場合よりも迅速にすることができる。
【0093】
電力制御部は、第2のプロセッサの所定の状態として第2のプロセッサが動作する動作状態(例えば、POWER ON)が継続する第2の継続時間が長いほど、第2の定格電力が大きい第2の電力制御モードに定めてもよい。
この構成によれば、第2のプロセッサが継続して動作する期間が長いほど第2の定格電力が大きくなるので、継続的に高い処理能力を発揮することができる。
【0094】
電力制御部は、第2のプロセッサの所定の状態として第2のプロセッサが停止する停止状態(OFF)が継続する第2の継続時間が長いほど、第2の定格電力が小さい第2の電力制御モードに定めてもよい。
この構成によれば、第2のプロセッサが継続して停止する期間が長いほど第2の定格電力が小さくなるので、継続的に高い処理能力が発揮できない状態が許容される状態で電力消費量を低減することができる。
【0095】
電力制御部は、第2のプロセッサの所定の状態として第2のプロセッサの温度が高いほど、第2の定格電力が大きい第2の電力制御モードに定めてもよい。電力制御部は、例えば、第2の定格電力をより大きい第2の電力制御モードに遷移させるための条件として、第2のプロセッサの温度が所定の温度の閾値(例えば、TP313、TP312)以上となる状態が所定の継続時間(例えば、T313、T312)以上継続するという条件を満たすか否かを判定する。所定の温度の閾値は、遷移先とする第2の電力制御モードの第2の定格電力(例えば、PL1)が大きいほど、低くなるように設定しておく(例えば、TP313>TP312)。
この構成によれば、第2のプロセッサの温度が継続的に高い場合には、より第2の定格電力が大きい第2の電力制御モードに遷移させることで、放熱を促進するとともに、より高い処理能力を実現することができる。
【0096】
電力制御部は、第2のプロセッサの所定の状態として第2のプロセッサの温度が高いほど、第2の定格電力が大きい第2の電力制御モードに定めてもよい。
この構成によれば、第2のプロセッサの温度が継続的に低い場合には、より第2の定格電力が小さい第2の電力制御モードに遷移させることで、必要以上に高い処理能力を確保することを避けることで消費電力を低減することができる。電力制御部は、例えば、第2の定格電力がより小さい第2の電力制御モードに遷移させるための条件として、第2のプロセッサの温度が所定の温度の閾値(例えば、TP321、TP322)以下となる状態が所定の継続時間(例えば、T321、T322)以上継続するという条件を満たすか否かを判定する。所定の温度の閾値は、遷移先とする第2の電力制御モードの第2の定格電力(例えば、PL1)が小さいほど、低くなるように設定しておく(例えば、TP321<TP322)。
【0097】
電力制御部は、より定格電力が大きい第2の電力制御モードへの遷移条件(つまり、格上げ条件)であって、前記第2のプロセッサの状態が満たす遷移条件に係る遷移先のうち、最も定格電力が大きい第2の電力制御モードへの遷移を優先してもよい。
この構成によれば、第2のプロセッサの動作状態が継続的に活発または温度が継続的に上昇する場合には、より高い定格電力に係る第2の電力制御モードへの遷移を、個々の遷移条件を順次評価する場合よりも迅速に行うことができる。
【0098】
電力制御部は、より定格電力が小さい第2の電力制御モードへの遷移条件(つまり、格下げ条件)であって、前記第2のプロセッサの状態が満たす遷移条件に係る遷移先のうち、最も定格電力が小さい第2の電力制御モードへの遷移を優先してもよい。
この構成によれば、第2のプロセッサの動作状態が継続的に不活性化または温度が継続的に下降する場合には、より低い定格電力に係る第2の電力制御モードへの遷移を、個々の遷移条件を順次評価する場合よりも迅速に行うことができる。
【0099】
電力制御部は、第2のプロセッサの状態が満たす遷移条件であって、より定格電力が小さい第2の電力制御モードへの遷移条件よりも、より定格電力が大きい第2の電力制御モードへの遷移条件に係る遷移先への遷移を優先してもよい。
この構成によれば、より定格電力が小さい第2の電力制御モードよりも、より定格電力が大きい第2の電力制御モードへの遷移が優先されるので、より高い処理量が要求される場合に、第2のプロセッサは、その能力を発揮させることができる。
【0100】
自装置の温度を制御する温度制御部(例えば、温度制御系400)、を備え、温度制御部は、第1の定格電力が大きい第1の電力制御モードほど、または、第2の定格電力が大きい第2の電力制御モードほど、自装置のファン(例えば、放熱ファン73)の出力範囲を大きくしてもよい。
この構成により、より定格電力が大きい電力制御モードのもとで顕著な処理能力の変動が生じても、発熱量のより変動に応じた放熱を実現して温度上昇を抑制することができる。
【0101】
なお、上記の処理に係る各種のパラメータは、上記のものに限られず、プロセッサの処理能力、個数、筐体の大きさなどの種々な要件に応じて変更されてもよい。例えば、電力制御モードの段階数、各段階に係るPL111、PL131の上限、PL111、PL131の下限、PL112、SP112、T112、SP121、T121、等の値、放熱ファン73の出力の段階数、各段階における出力、動作温度が異なっていてもよい。また、SP112、SP121等の値がPL1の上限またはPL1の下限を基準として定まる値とする場合には、温度制御テーブルにおいて省略されてもよい。また、T11、T12、T31、T32の値が電力制御モードによらず一定値とする場合には、温度制御テーブルにおいて省略されてもよい。
【0102】
また、GPU13の電力制御モードの遷移条件として、GPU13の動作状態もしくは停止状態と温度を用いる場合を例にしたが、それらの条件に代えて、または、それらの条件とともにGPU13の消費電力を用いてもよい。その場合、よりPL131の高い電力制御モードへの格上げ条件とする消費電力を高くすればよい。その場合、よりPL131の低い電力制御モードへの格下げ条件とする消費電力を低くすればよい。
【0103】
また、プロセッサの状態の継続を判定する際、パフォーマンス制御部217は、CPU11、GPU13の消費電力としてその瞬時値に代えて、その時点までの移動平均値、中央値、などの変化傾向を表す代表値を用いてもよい。移動平均値は、例えば、指数重み付き移動平均でもよいし、注目する時刻(以下、注目時刻)までの所定の期間(例えば、1~20[s])内における単純移動平均値でもよい。
【0104】
上記のパラメータは、HID31が受け付けた操作に応じて生成した操作信号に応じて変更可能としてもよい。パフォーマンス制御部217は、HID31から入力される操作信号に従って電力制御モードを定めてもよいし、その操作信号に従って定めた電力制御モードの指定を解除してもよい。駆動制御部403は、上記のようにパフォーマンス制御部217が定めた電力制御モードに応じて放熱ファン73の動作を制御する。例えば、操作に応じて低騒音モード(Q)が選択可能とすることで、静寂な環境、例えば、図書室、作業室などに適した態様で情報処理装置1を動作させることができる。
【0105】
また、情報処理装置1は、システム・メモリ21とは別個にビデオ・メモリを備えてもよい。ビデオ・メモリは、GPU13専用の実行プログラムの読み込み領域として、あるいはGPU13の実行プログラムの処理データ(主に表示データ)を書き込む作業領域として利用される。ビデオ・メモリをシステム・メモリ21と別個に設けることで、CPU11、GPU13の両者の負荷が増加しても、処理速度の低下を回避することができる。その場合には、システム・メモリ21は、GPU13と共用されなくてもよい。
また、上記の説明では、情報処理装置1がCPUとGPUを各1個備える場合を主に例にしたが、これらには限られない。CPUの個数は2個以上となってもよいし、GPUの個数は2個以上となってもよい。パフォーマンス制御部217は、それぞれのプロセッサの状態に応じて、その電力制御モードや消費電力を制御できればよい。
【0106】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。上述の実施形態において説明した各構成は、任意に組み合わせることができる。
【符号の説明】
【0107】
1…情報処理装置、11…CPU、13…GPU、21…システム・メモリ、27…EC、31…HID、40…電源回路、41…PDコントローラ、43…充電器、45…DC/DCコンバータ、47…電池パック、51、53…温度センサ、73…放熱ファン、77…駆動回路、91…ADアダプタ、100…主システム、101…OS、103…スケジュール・タスク、200…パフォーマンス制御系、201…状態検出部、211…サービス・アプリケーション、213…PMドライバ、217…パフォーマンス制御部、300…電力供給系、400…温度制御系、401…温度測定部、403…駆動制御部、405…温度制御テーブル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10