(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167703
(43)【公開日】2024-12-04
(54)【発明の名称】情報処理装置および制御方法
(51)【国際特許分類】
G06F 1/3287 20190101AFI20241127BHJP
G06F 1/3206 20190101ALI20241127BHJP
G06F 15/177 20060101ALI20241127BHJP
【FI】
G06F1/3287
G06F1/3206
G06F15/177 A
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023083955
(22)【出願日】2023-05-22
(11)【特許番号】
(45)【特許公報発行日】2024-07-23
(71)【出願人】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】中村 厚喜
(72)【発明者】
【氏名】織田 弘樹
(72)【発明者】
【氏名】佐野 賢吾
(72)【発明者】
【氏名】野村 良太
【テーマコード(参考)】
5B011
5B045
【Fターム(参考)】
5B011EA04
5B011FF01
5B011LL11
5B011MA15
5B045HH01
5B045KK02
(57)【要約】
【課題】選択された電力制御モードにおいて期待される性能を発揮する。
【解決手段】実行管理部はプログラムごとに実行用プロセッサを示す設定情報に基づいて、実行が指示されるプログラムに対応するプロセッサを選択し、電力制御部は定格電力が異なる複数段階の電力制御モードから選択された電力制御モードに従って、第1のプロセッサと第2のプロセッサの消費電力に基づいて動作状態を制御し、電力制御モードを、定格電力が所定の定格電力以上となる高電力制御モードから、定格電力記所定の定格電力よりも低い低電力制御モードに変更するとき、第2のプロセッサとのアクセスを停止する。
【選択図】
図12
【特許請求の範囲】
【請求項1】
第1のプロセッサと第2のプロセッサを備え、
プログラムごとに実行用プロセッサを示す設定情報に基づいて、
実行が指示されるプログラムに対応するプロセッサを選択する実行管理部と、
定格電力が異なる複数段階の電力制御モードから選択された電力制御モードに従って、前記第1のプロセッサと前記第2のプロセッサの消費電力に基づいて動作状態を制御する電力制御部を備え、
前記電力制御部は、
前記電力制御モードを、定格電力が所定の定格電力以上となる高電力制御モードから、定格電力が前記所定の定格電力よりも低い低電力制御モードに変更するとき、
前記第2のプロセッサとのアクセスを停止する
情報処理装置。
【請求項2】
前記電力制御部は、
前記第2のプロセッサを用いたプログラムの処理の実行中において、
前記高電力制御モードから前記低電力制御モードへの変更が指示されるとき、
少なくとも前記低電力制御モードへの変更の保留と、前記第1のプロセッサを用いた前記プログラムの処理の再開の一方と、前記プログラムの処理の終了と、を示す案内情報を出力する
請求項1に記載の情報処理装置。
【請求項3】
前記電力制御部は、
前記低電力制御モードへの変更の保留が指示されるとき、
前記第2のプロセッサを用いた前記プログラムの処理が終了するまで、
前記第2のプロセッサとのアクセスを停止させずに待機する
請求項2に記載の情報処理装置。
【請求項4】
前記電力制御部は、
前記プログラムの実行用プロセッサとして前記第2のプロセッサを示す設定情報を設定する
請求項3に記載の情報処理装置。
【請求項5】
前記電力制御部は、
前記第1のプロセッサを用いた前記プログラムの処理の再開が指示されるとき、
前記第2のプロセッサを用いた前記プログラムの処理を停止させた後、
前記第1のプロセッサを用いた前記プログラムの処理を再開する
請求項2に記載の情報処理装置。
【請求項6】
前記電力制御部は、
前記プログラムの実行用プロセッサとして前記第1のプロセッサを示す設定情報を設定する
請求項4に記載の情報処理装置。
【請求項7】
前記第1のプロセッサは、中央演算処理装置と統合された統合グラフィックス処理装置であり、
前記第2のプロセッサは、独立グラフィックス処理装置である
請求項1に記載の情報処理装置。
【請求項8】
第1のプロセッサと第2のプロセッサを備える情報処理装置の制御方法であって、
前記情報処理装置が、
プログラムごとに実行用プロセッサを示す設定情報に基づいて、
実行が指示されるプログラムに対応するプロセッサを選択し、
定格電力が異なる複数段階の電力制御モードから選択された電力制御モードに従って、前記第1のプロセッサと前記第2のプロセッサの消費電力に基づいて動作状態を制御し、
前記電力制御モードを、定格電力が所定の定格電力以上となる高電力制御モードから、定格電力が前記所定の定格電力よりも低い低電力制御モードに変更するとき、
前記第2のプロセッサとのアクセスを停止する
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、情報処理装置および制御方法に関し、例えば、複数種類のプロセッサを備える情報処理装置に関する。
【背景技術】
【0002】
パーソナルコンピュータ(PC:Personal Computer)などの情報処理装置には、中央演算処理装置(CPU:Central Processing Unit)の他にグラフィックス処理装置(GPU:Graphics Processing Unit)を備えるものがある。GPUを設けることで、グラフィック機能の強化が図られてきた。GPUは、主に画像処理(グラフィックス処理)、即ち、映像を描画するための処理を行う。画像処理では、定型的かつ大量の演算が並列になされる。並列処理に優れたGPUの演算資源は、画像処理以外の目的に応用されることもある。
【0003】
例えば、特許文献1に記載の情報処理装置は、CPUとGPUを備え、動画データに対して画像処理を行って表示部に表示する再生処理を行う。CPUとGPUは動画データを構成するフレーム画像の各々について画像処理を行う。GPUの処理速度はCPUの処理速度よりも速い。CPUはユーザ指示に応じてフレーム画像の一部の領域を選択領域として選択し、GPUは選択領域について画像処理を行う。CPUは選択領域以外の領域について画像処理を行う。
【0004】
GPUは、CPUと統合または内蔵されることもある。CPUに統合または内蔵されたGPUは、iGPU(integrated GPU:統合グラフィックス処理装置)またはIGP(Integrated Graphics Processor:統合グラフィックス・プロセッサ)とも呼ばれる。独立なGPUは、dGPU(discrete GPU:独立GPU、分離GPU、外部GPU)とも呼ばれる。iGPUと別途dGPUを備えるコンピュータシステムは、スイッチャブル・グラフィックス(SWG:Switchable Graphics)と呼ばれる。SWGは、画像処理においてiGPUとdGPUとを切り換え可能とする。SWGは、iGPUとdGPUとの切り替えにより、dGPUによる画像処理の充実と、iGPUによる低負荷時における消費電力の低減とを選択可能とする。これに対し、iGPUを備え、dGPUを持たないシステム構成は、統合メモリアーキテクチャ(UMA:Unified Memory Architecture)と呼ばれる。かかるシステム構成の違いにより、全体としてUMAよりもSWGの方が高い画像処理能力が期待される。
【0005】
コンピュータシステムは、消費電力が異なる複数段階の電力制御モードを有し、動作状況またはユーザの操作に応じて、いずれか1段階の電力制御モードを選択することがある。選択された電力制御モードを用いて消費電力が制御される。しかしながら、選択された電力制御モードにより期待される性能が発揮されないことがあった。
図13の例では、SWGでは定格電力が所定の定格電力よりも低い低消費電力モードにおいて、消費電力の増加に関わらず性能が有意に変化しない。また、UMAによる画像処理の性能(破線)よりも、SWGによる性能(実線)の方が低くなる。そこで、低消費電力モードでSWGを動作させる場合、dGPUの動作を停止することが検討されてきた。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
オペレーティングシステム(OS:Operating System)には、アプリケーションプログラム(本願では、「アプリ」と呼ぶことがある)ごとに実行用のプロセッサ(本願では、「実行用プロセッサ」と呼ぶことがある)が設定されることがある。大量の画像処理が要求される機能を提供する特定アプリに対しては、dGPUが実行用プロセッサとして指示されることがある。そのため、低消費電力モードでも、特定のアプリ(本願では、「特定アプリ」と呼ぶことがある)の起動が指示されるとき、dGPUが動作することがある。また、特定アプリがdGPU上で実行されているとき、電力制御モードを高消費電力モードから、より消費電力が少ない電力制御モードである低消費電力モードに変更するときでも、dGPUの動作を停止させずに特定アプリの処理を継続することがある。その結果、消費電力に応じて期待される性能が発揮されなくなる。
【課題を解決するための手段】
【0008】
本願は上記の課題を解決するためになされたものであり、本願の一態様に係る情報処理装置は、第1のプロセッサと第2のプロセッサを備え、プログラムごとに実行用プロセッサを示す設定情報に基づいて、実行が指示されるプログラムに対応するプロセッサを選択する実行管理部と、定格電力が異なる複数段階の電力制御モードから選択された電力制御モードに従って、前記第1のプロセッサと前記第2のプロセッサの消費電力に基づいて動作状態を制御する電力制御部を備え、前記電力制御部は、前記電力制御モードを、定格電力が所定の定格電力以上となる高電力制御モードから、定格電力が前記所定の定格電力よりも低い低電力制御モードに変更するとき、前記第2のプロセッサとのアクセスを停止する。
【0009】
上記の情報処理装置において、前記電力制御部は、前記第2のプロセッサを用いたプログラムの処理の実行中において、前記高電力制御モードから前記低電力制御モードへの変更が指示されるとき、少なくとも前記低電力制御モードへの変更の保留と、前記第1のプロセッサを用いた前記プログラムの処理の再開の一方と、前記プログラムの処理の終了と、を示す案内情報を出力してもよい。
【0010】
上記の情報処理装置は、前記電力制御部は、前記低電力制御モードへの変更の保留が指示されるとき、前記第2のプロセッサを用いた前記プログラムの処理が終了するまで、前記第2のプロセッサとのアクセスを停止させずに待機してもよい。
【0011】
上記の情報処理装置において、前記電力制御部は、前記プログラムの実行用プロセッサとして前記第2のプロセッサを示す設定情報を設定してもよい。
【0012】
上記の情報処理装置において、前記電力制御部は、前記第1のプロセッサを用いた前記プログラムの処理の再開が指示されるとき、前記第2のプロセッサを用いた前記プログラムの処理を停止させた後、前記第1のプロセッサを用いた前記プログラムの処理を再開してもよい。
【0013】
上記の情報処理装置において、前記電力制御部は、前記プログラムの実行用プロセッサとして前記第1のプロセッサを示す設定情報を設定してもよい。
【0014】
上記の情報処理装置において、前記第1のプロセッサは、中央演算処理装置と統合された統合グラフィックス処理装置であり、前記第2のプロセッサは、独立グラフィックス処理装置であってもよい。
【0015】
本願の第2態様に係る制御方法は、第1のプロセッサと第2のプロセッサを備える情報処理装置の制御方法であって、前記情報処理装置が、プログラムごとに実行用プロセッサを示す設定情報に基づいて、実行が指示されるプログラムに対応するプロセッサを選択し、定格電力が異なる複数段階の電力制御モードから選択された電力制御モードに従って、前記第1のプロセッサと前記第2のプロセッサの消費電力に基づいて動作状態を制御し、前記電力制御モードを、定格電力が所定の定格電力以上となる高電力制御モードから、定格電力が前記所定の定格電力よりも低い低電力制御モードに変更するとき、前記第2のプロセッサとのアクセスを停止する。
【発明の効果】
【0016】
本実施形態によれば、選択された電力制御モードにおいて期待される性能を発揮することができる。
【図面の簡単な説明】
【0017】
【
図1】本実施形態に係る情報処理装置のハードウェア構成例を示す概略ブロック図である。
【
図2】本実施形態に係る情報処理装置の機能構成例を示す概略ブロック図である。
【
図3】本実施形態に係る電力制御モードごとの実行用プロセッサの例を示す図である。
【
図4】本実施形態に係る電力制御モードの例を示す表である。
【
図5】電力制御モード設定画面の一例を示す図である。
【
図6】本実施形態に係る電力制御テーブルの一例を示す図である。
【
図7】本実施形態に係るグラフィックス設定情報を例示する図である。
【
図8】本実施形態に係るメッセージ画面の一例を示す。
【
図10】グラフィックス設定画面の例を示す図である。
【
図11】本実施形態に係るグラフィックス設定情報の他の例を示す図である。
【
図12】本実施形態に係るアプリ実行制御の例を示すフローチャートである。
【
図13】情報処理装置の性能評価値の比較例を示す図である。
【発明を実施するための形態】
【0018】
以下、本願の実施形態について、図面を参照して説明する。まず、本実施形態に係る情報処理装置1の概要について説明する。以下の説明では、主に情報処理装置1がPCである場合を例にする。但し、情報処理装置1は、必ずしもPCに限られず、タブレット端末装置、スマートフォン、などとして構成されてもよい。
【0019】
図1は、本実施形態に係る情報処理装置1のハードウェア構成例を示す概略ブロック図である。情報処理装置1は、SWGとして構成されている。情報処理装置1は、CPU11、メインメモリ12、GPU13、ディスプレイ14、チップセット21、ROM22、補助記憶装置23、オーディオシステム24、通信モジュール25、入出力インタフェース26、EC31、入力デバイス32、電源回路33、温度センサ351、駆動回路352、放熱ファン353、および、電源スイッチ36を備える。
【0020】
CPU11は、情報処理装置1の中核的な処理装置である。CPU11は、情報処理装置1全体の動作を制御する。CPU11は、例えば、OS(Operating System)、ファームウェア、デバイスドライバ、ユーティリティ、アプリケーションプログラム(本願では、「アプリ」と呼ぶこともある)など、プログラムに基づく処理を実行する。なお、各種のプログラムに記述された指令(コマンド)で指示される処理を実行することを、「プログラムを実行する」、「プログラムの実行」などと呼ぶことがある。
【0021】
CPU11は、本体と同一のコアにGPUを備える。即ち、CPU11に備わるGPUは、iGPUとして機能する。GPUは、画像表示に関連する機能(本願では、「画像処理」と呼ぶことがある)を実現するため、CPU11本体から通知される描画命令を処理する。GPUは、得られた描画情報を、表示情報を示す表示データとしてディスプレイ14に出力する。
【0022】
メインメモリ12は、CPU11およびGPU13の実行プログラムの読み込み領域として、または、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。
【0023】
GPU13は、CPU11とは別個のコアに設けられ、dGPUとして機能する。GPU13は、画像表示に関連する機能を実現するため、CPU11から通知される描画命令を処理し、得られた描画情報を、表示情報を示す表示データとしてディスプレイ14に出力する。後述するように、特定の電力制御モードに対しては予め定めたプログラム、例えば、アプリに対して、画像処理の実行用のプロセッサとして、CPU11に備わるGPU(iGPU)とGPU13(dGPU)のいずれかが予め定められていることがある。実行用のプロセッサを示すグラフィックス設定情報は、OSの実行に係る設定情報の一部に含めて予め設定される。グラフィックス設定情報は、ユーザ操作に応じて設定され、生成されることもある(ユーザ定義)。
【0024】
CPU11、メインメモリ12およびGPU13は、ホストシステム100(後述)を構成する最小限のハードウェアに相当する。
CPU11は、グラフィックス設定情報が設定されているアプリに対しては、当該グラフィックス設定情報で指示されるプロセッサに描画命令を指示し、描画命令に基づく画像処理を実行させる。GPU13の画像処理機能は、通例、CPU11の画像処理機能よりも高速である。
なお、CPU11に備わるiGPUとGPU13(dGPU)は、画像処理以外の並列演算処理を実行すること、または、CPU11本体と一部の並列処理を分担することがある。本願では、主に画像処理に言及するが、本実施形態は、画像処理に代えて、または、画像処理とともに、これらの並列処理が適用されてもよい。
【0025】
ディスプレイ14は、CPU11に備わるiGPUまたはGPU13(dGPU)から入力される表示データに基づく表示画面を表示する。ディスプレイ14は、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、OLED(Organic Light Emitting Diode、有機発光ダイオード)ディスプレイなどのいずれであってもよい。
【0026】
チップセット21は、複数のコントローラを備え、複数のデバイスと各種のデータを入出力できるように接続可能とする。コントローラは、例えば、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、および、LPC(Low Pin Count)などのバスコントローラのいずれか1個または組み合わせである。複数のデバイスとして、例えば、後述するROM22、補助記憶装置23、オーディオシステム24、通信モジュール25、入出力インタフェース26、および、EC31が含まれる。
【0027】
ROM(Read Only Memory)22は、主にシステムファームウェア、EC31その他のデバイスの動作を制御するためのファームウェアなどを記憶する。ROM22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどのいずれでもよい。
【0028】
補助記憶装置23は、CPU11、GPU13、その他のデバイスの処理に用いられる各種のデータ、または、それらの処理により取得された各種のデータ、各種のプログラムなどを記憶する。補助記憶装置23は、例えば、SSD(Solid State Drive)、HDD(Hard Disk Drive)などのいずれか1個またはいずれかの組み合わせであってもよい。
【0029】
オーディオシステム24は、マイクロホンとスピーカ(図示せず)が接続され、音声データの記録、再生および出力を行う。なお、マイクロホンとスピーカは、情報処理装置1に内蔵されてもよいし、情報処理装置1とは別体であってもよい。
【0030】
通信モジュール25は、無線または有線で通信ネットワークに接続する。通信モジュール25は、通信ネットワークに接続される他の機器との間で各種のデータを通信する。通信モジュールは、例えば、無線LAN(Local Area Network)を含み、所定の無線通信方式(例えば、IEEE802.11)に従って機器間で各種のデータを送受信可能とする。無線LANでは、機器間の通信がアクセスポイントを経由して実行される。
【0031】
入出力インタフェース26は、周辺機器など各種のデバイスと有線または無線で接続する。入出力インタフェース26は、例えば、USBの規定に従って有線でデータを入出力するためのコネクタである。
【0032】
EC(Embedded Controller)31は、情報処理装置1のシステムの動作状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視し、制御するワンチップマイコン(One-Chip Microcomputer)である。EC31は、CPU11およびGPU13とは別個にCPU、ROM、RAM、複数チャネルのA/D(Analog-to-Digital)入力端子、D/A(Digital-to-Analog)出力端子、タイマおよびデジタル入出力端子(図示せず)を備える。EC31の入出力端子には、例えば、入力デバイス32、電源回路33、温度センサ351、駆動回路352および電源スイッチ36などが接続される。
【0033】
入力デバイス32は、ユーザの操作を検出し、検出した操作に応じた操作信号をEC31に出力する。入力デバイス32は、例えば、キーボード、タッチパッド、などのいずれかの組み合わせを備える。入力デバイス32は、タッチセンサであってもよく、ディスプレイ14と重なり合い、タッチパネルとして構成されてもよい。
【0034】
電源回路33は、外部電源、または、バッテリ34から供給される直流電力の電圧を、情報処理装置1を構成する各デバイスの動作に要する電圧に変換し、変換した電圧を有する電力を供給先のデバイスに供給する。電源回路33は、EC31の制御に従って、電力供給を実行する。電源回路33は、自器に供給される電力の電圧を変換する変換器と、電圧が変換された電力をバッテリ34に充電する給電器を備える。給電器は、外部電源から供給される電力のうち、各デバイスにおいて消費されずに残された電力をバッテリ34に充電する。外部電源から電力が供給されない場合、または、外部電源から供給される電力が不足する場合には、バッテリ34から放電される電力を、動作電力として各デバイスに供給する。
【0035】
バッテリ34は、電源回路33を用いて電力を充電または放電する。バッテリ34は、例えば、リチウムイオン電池、ナトリウムイオン電池、などのいずれでもよい。
温度センサ351、駆動回路352および放熱ファン353は、自装置に生じた熱を放熱する放熱部を構成する。
温度センサ351は、自部の温度を検出し、検出した温度を示す温度信号をEC31に出力する。温度センサ351は、例えば、CPU11に隣接して設置させておくことで、CPU11の温度を検出する。情報処理装置1に備わる温度センサ351は、1個に限られず、2個以上であってもよい。CPU11に隣接した温度センサ351とは、別個の温度センサは、GPU13に隣接して設置されてもよい。CPU11、GPU13のそれぞれに隣接した温度センサにより検出された温度は、CPU11、GPU13の動作、放熱ファン353の駆動に用いられることがある。
【0036】
駆動回路352は、EC31の制御に従って、電源回路33から自部に供給される電力を放熱ファン353に供給する。これにより、放熱ファン353の動作が制御される。
放熱ファン353は、情報処理装置1に発生する熱を放熱する。放熱ファン353は、駆動回路352から供給される電力を消費してフィン(羽)を回転させるモータを備え、空気を情報処理装置1の筐体内に流入させる。流入された空気は情報処理装置1の各部と熱交換したうえで、筐体の外に排出される。
【0037】
電源スイッチ36は、押下操作が受け付けられる都度、情報処理装置1の全体に対する電力の供給状態として、電源投入(Power ON)および電源断(Power OFF)のいずれかに制御する。押下操作が受け付けられるとき、電源スイッチ36は、押下を示す押下信号をEC31に出力する。EC31は、情報処理装置1が電源断であって電源スイッチ36から押下信号が入力されるとき、電源回路33に対し、情報処理装置1の各デバイスへの電力供給を開始させる(電源投入)。
【0038】
CPU11は、自部への電力供給の開始を検出するとき、ROM22からシステムファームウェアを読み取り、メインメモリ12にロードし、システムファームウェアに記述された指令に従って起動処理(ブート)を実行する。起動処理において、CPU11は、補助記憶装置23に退避させていたデータをメインメモリ12にロードする。その後、CPU11は、OSを起動し、OSの起動が完了した後、補助記憶装置23、通信モジュール25、入出力インタフェース26などのデバイスの制御に係るデバイスドライバの実行を開始する。
【0039】
他方、情報処理装置1に電力が供給され、かつ、電源スイッチ36から押下信号が入力されるとき、EC31は、CPU11に停止処理(シャットダウン)を実行させる。CPU11は、停止処理において、その時点で作業領域に存在するデータを補助記憶装置23に退避させる。CPU11は、データの退避を終了した後、その時点で実行しているアプリ、デバイスドライバ、その他のプログラムによる処理を停止する。その後、CPU11は、停止処理の完了をEC31に通知する。EC31は、電源回路33に情報処理装置1の各デバイスへの電力供給を停止させる。
【0040】
なお、CPU11は、電力制御モードや自部の動作状態に応じて、GPU13の動作を制御することがある。例えば、CPU11は、GPU13の動作を停止して情報処理装置1全体の消費電力を抑制することができる。定格電力が所定の定格電力よりも低い電力制御モードである場合、または、画像処理の負荷が所定の負荷量よりも少ない場合にCPU11のiGPUの動作を維持し、dGPU13の動作を停止する。定格電力が所定の定格電力以上となる電力制御モードである場合、または、画像処理の負荷が所定の負荷量以上の場合に、CPU11は、GPU13を起動し、画像処理を実行させる。この場合、CPU11のiGPUにおける画像処理機能が停止されてもよい。
【0041】
CPU11、GPU13には、それぞれ電源回路33から一定の電圧の電力が供給されるが、一般に消費電力は可変である。CPU11、GPU13は、消費電力に応じて動作周波数を可変にしてもよい。例えば、CPU11は、ホストシステム100の電力制御モードに応じて許容される最大動作周波数を、CPU11、GPU13のレジスタに設定する。CPU11、GPU13は、それぞれ、その時点における動作周波数が設定された最大動作周波数よりも高いとき、設定された最大動作周波数以下となるように段階的に動作周波数を変更する。動作周波数の低下により、CPU11、GPU13の消費電力を低下させることができる。CPU11、GPU13は、それぞれ消費電力の移動平均値が定格電力以下となるように動作周波数を制御する。
【0042】
CPU11、GPU13は、それぞれTCC(Thermal Control Circuit;温度制御回路)を備えていてもよい。例えば、CPU11、GPU13のそれぞれのTCCは、それぞれ温度センサで検出されたCPU11、GPU13の温度を監視する。各TCCは、負荷が増加して検出された温度が所定の基準温度よりも上昇するときに、動作周波数を低下させて、CPU11、GPU13の消費電力を減少させてもよい。これにより発熱量が減少し、温度上昇が抑制または停止する。言い換えれば、消費電力が大きい場合には、発熱量が増加するため、放熱ファン353の動作または動作量の増加に対する必要性が高くなる。
【0043】
次に、本実施形態に係る情報処理装置1の機能構成例について説明する。
図2は、本実施形態に係る情報処理装置1の機能構成例を示す概略ブロック図である。情報処理装置1は、ホストシステム100を備える。
ホストシステム100は、CPU11が各種のプログラムを実行し、メインメモリ12、GPU13、ディスプレイ14、チップセット21、通信モジュール25、入出力インタフェース26、EC31、入力デバイス32、温度センサ351および駆動回路352などのハードウェアと協働して、その機能を実現する。
【0044】
ホストシステム100は、実行管理部102および電力制御部104を備える。
実行管理部102は、グラフィックス設定情報を参照し、実行が指示されるアプリにより指示される画像処理に用いるプロセッサを特定する。グラフィクス設定情報は、特定のアプリに対し画像処理の実行用のプロセッサとして、CPU11(iGPU)とGPU13(dGPU)のいずれかを示す。実行管理部102は、入力デバイス32または入出力インタフェース26から入力される操作信号で指示される未実行のアプリを、新たに実行が指示されるアプリとして特定することができる。実行管理部102は、CPU11に特定したアプリの実行を開始させる。CPU11は、アプリに直接または間接的に記述される描画命令に対しては、その描画命令を特定したプロセッサに通知し、その描画命令で指示される画像処理を実行させる。間接的に記述される場合には、他の命令からの呼び出しが含まれる。
【0045】
電力制御部104は、CPU11とGPU13の消費電力の変化傾向に基づいて、予め定めた複数段階の電力制御モードから1通りの電力制御モードを選択する。電力制御部104は、入力デバイス32または入出力インタフェースから入力される操作信号で指示される電力制御モードを選択することもある。電力制御部104は、選択した電力制御モードに従い、CPU11とGPU13の消費電力に基づいて動作状態を制御する。複数段階の電力制御モードには、それぞれGPU13とのアクセスの有無、および、CPU11ならびにGPU13それぞれの定格電力が対応付けられている。アクセスの有無とは、画像処理などの処理における使用の有無に相当する。
【0046】
電力制御部104は、電力制御モードを高電力制御モードから低電力制御モードに変更するとき、GPU13とのアクセスを停止し、CPU11とのアクセスを継続する。高電力制御モードは、対応する定格電力が所定の定格電力以上となる電力制御モードである。低電力制御モードは、対応する定格電力が所定の定格電力よりも低い電力制御モードである。従って、高電力制御モードでは、画像処理においてGPU13が用いられる。低電力制御モードでは、画像処理においてCPU11が用いられる。
【0047】
しかしながら、GPU13においてアプリの実行中において、電力制御部104には、高電力制御モードから低電力制御モードへの電力制御モードの変更が指示されることがある。その場合、電力制御部104は、GPU13の処理に関する案内情報を含む表示データをディスプレイ14に出力する。案内情報として、低電力制御モードへの電力制御モードの変更の保留とCPU11を用いた当該アプリの実行の再開のうちの少なくとも一方と、GPU13を用いたアプリの即時終了を示す情報が含まれる。低電力制御モードへの電力制御モードの変更の保留とは、当該アプリの実行終了までGPU13の使用を継続し、当該アプリの実行終了後に電力制御モードを低電力制御モードに変更することを意味する。CPU11を用いた当該アプリの実行の再開とは、GPU13を用いた当該アプリの実行を終了し、その後、CPU11を用いて当該アプリの実行を開始することを意味する。
【0048】
GPU13を用いた当該アプリの実行中において、電力制御部104は、入力デバイス32または入出力インタフェース26から入力される操作信号を待ち受ける。
電力制御部104は、低電力制御モードへの変更の保留、CPU11を用いた当該アプリの実行の再開、または、GPU13を用いた当該アプリの即時終了のいずれかを指示する操作信号が入力されるか否かを判定する。
【0049】
電力制御部104は、低電力制御モードへの変更の保留が指示されるとき、GPU13によるアプリの実行が終了するまで、GPU13とのアクセスを停止させずに待機する。電力制御部104は、当該アプリの実行を終了した後、電力制御モードを低電力制御モードに変更する。このとき、電力制御部104は、当該アプリの実行用プロセッサとしてGPU13を示すグラフィック設定情報を生成し、自部に設定して保存してもよい。その後、電力制御部104は、当該アプリを実行するとき、設定された当該アプリのグラフィック設定情報を参照し、実行用プロセッサとしてGPU13を特定する。電力制御部104は、特定したGPU13を用いて当該アプリを実行させる。このとき、電力制御部104は、電力制御モードを高電力制御モードに設定してもよい。
【0050】
電力制御部104は、CPU11を用いた当該アプリの実行の再開が指示されるとき、GPU13によるアプリの実行を停止する。その後、電力制御部104は、電力制御モードを低電力制御モードに変更し、CPU11を用いたアプリの実行を開始する。このとき、電力制御部104は、当該アプリの実行用プロセッサとしてCPU11を示すグラフィック設定情報を生成し、自部に設定して保存してもよい。当該アプリの実行を終了した後、再度当該アプリを実行するとき、電力制御部104は、設定された当該アプリのグラフィック設定情報を参照し、実行用プロセッサとしてCPU11を特定する。電力制御部104は、特定したCPU11を用いて当該アプリを実行させる。この場合、電力制御部104は、電力制御モードとして低電力制御モードを設定してもよい。
【0051】
次に、本実施形態に係る電力制御モードの例について説明する。
図3は、本実施形態に係る電力制御モードごとの実行用プロセッサの例を示す図である。
図3の例では、3段階の電力制御モードが設定されている。3段階の電力制御モードは、エコモード(E:Eco)、バランスモード(B:Balance)および高性能モード(P:Performance)である。エコモード(E)は、節電を重視した電力制御モードである。エコモード(E)に対する消費電力のパラメータは、他の電力制御モードよりも低くなるように設定されている。バランスモード(B)は、節電と性能とのバランスを重視した電力制御モードである。バランスモード(B)に対する消費電力のパラメータは、エコモード(E)と高性能モード(P)のそれぞれに対する消費電力のパラメータの中間に設定されている。高性能モード(P)に対する消費電力のパラメータは、性能を重視した電力制御モードである。高性能モード(P)に対する消費電力のパラメータは、他の電力制御モードよりも高くなるように設定されている。後述するように消費電力のパラメータには、プロセッサの定格電力が含まれる。
【0052】
上記の低電力制御モードとして、例えば、エコモード(E)とバランスモード(B)が該当する。低電力制御モードでは、CPU11が動作し、GPU13が動作しない。上記の高電力制御モードとして、高性能モード(P)が該当する。高電力制御モードでは、CPU11とGPU13が動作する。よって、低電力制御モードでは、GPU13に画像処理を行わせず、CPU11に備わるiGPUに画像処理を行わせることで、低電力制御モードにおいて消費電力の増加に応じて処理能力を発揮できなかった事象を解決することができる。
【0053】
図4は、本実施形態に係る電力制御モードの例を示す表である。個々の電力制御制御モードは、主に設定電力により特徴づけられる。設定電力は、プロセッサに対する消費電力のパラメータである。
図4の例では、騒音上限および目標温度が含まれる。設定電力として、CPU11、GPU13のそれぞれに対して、第1制限電力(Power Limit 1:PL1)と第2制御電力(Power Limit 2:PL2)が設定される。PL1は、定格電力に相当する。PL1は、消費電力の移動平均値が一時的にこの値を超えることを許容するが、所定時間以上継続して、この値を超えることを制限するための閾値である。PL1は、長時間制限電力とも呼ばれる。PL2は、消費電力の移動平均値がこの値を越えることを制限するための閾値である。PL2は、短時間制限電力とも呼ばれる。CPU11、GPU13それぞれの電力制御モードごとの設定電力は、それぞれのレジスタに予め設定されてもよい。CPU11、GPU13は、それぞれ消費電力の瞬時値がPL2を越えず、かつ、消費電力の移動平均がPL1を超えないようにクロック周波数を調整する制御機構を有する。
【0054】
図4において、添え字の“i”はCPU11(iGPU)を示し、“d”はGPU13(dGPU)を示す。添え字の“e”は、エコモードを示し、“b”は、バランスモードを示す、“p”は、高性能モードを示す。ここで、PL1ie<PL1ib<PL1ipと設定される。また、PL1ie<PL2ie、PL1ib<PL3ib、PL2ip<PL2ipと設定され、PL2ie≦PL2ib≦PL2ipと設定される。但し、エコモード(E)とバランスモード(B)に対しては、GPU13は使用されないため、GPU13に対するPL1とPL2は設定されていない。
【0055】
目標温度は、電力制御モードごとのCPU11またはGPU13の温度の目標値である。ここで、TMe≦TMb≦TMpと設定される。騒音上限は、放熱ファン353の運転により生ずる騒音レベルの最大値である。一般に放熱ファン353の動作量が大きいほど、騒音レベルが高くなる。ここで、NLe<NLb<NLpと設定される。
図4に例示される目標温度と騒音上限は、主に電力制御モードの特徴を示すことを目的とし、必ずしも放熱ファン353の制御に用いられなくてもよい。騒音上限に代え、または、騒音上限とともに、放熱ファン353の動作量のパラメータ、例えば、回転速度、消費電力が用いられてもよい。
【0056】
放熱ファン353の動作制御を目的として、例えば、EC31に温度制御テーブルを予め記憶させておく。温度制御テーブルは、電力制御モードごとに放熱ファン353の動作量と動作温度のセットを1段階以上含んで構成される。動作温度は、温度センサ351で検出された温度が上昇傾向にあるとき、その動作温度に対応する動作量で動作するように放熱ファン353に指示する温度である。電力制御モードごとの動作量の最大値が、上記の騒音上限に対応し、その動作温度が目標温度に相当してもよい。
【0057】
次に、EC31は、温度制御テーブルを用いて放熱ファン353の動作を制御する手法について説明する。EC31は、その時点における電力制御モードにおいて、検出された温度が上昇傾向にあり、ある段階の動作温度を超えるとき、駆動回路352に対し、その動作温度に対応する動作量をもたらす電力を放熱ファン353に供給させる。EC31は、検出された温度が低下傾向にあり、ある段階の動作温度をよりも所定の低下幅だけ低い温度を下回るとき、その段階の動作温度よりも1段階低い段階の動作温度に対応する動作量を特定する。EC31は、駆動回路352に対し、その動作量に対応する電力を放熱ファン353に供給させる。
【0058】
なお、1段階低い段階の動作温度に対応する出力が存在しない場合には、EC31は、停止と判定し、駆動回路352に対し、放熱ファン353への電力供給を停止させる。温度制御テーブルは、CPU11、GPU13の温度に対して共通であってもよいし、別個であってもよい。異なる動作量と動作温度のセットが別個の温度制御テーブルに設定される場合、EC31は、CPU11、GPU13の温度に対して異なる動作量を定める可能性がある。その場合、EC31は、異なる動作量のうち、いずれか多い方の動作量に対応する電力を駆動回路352に対して放熱ファン353に供給させてもよい。
【0059】
OSにおいて予め設定された電力制御モード設定メニューが指示されるとき、電力制御部104は、電力制御モード設定画面をディスプレイ14に表示させてもよい。
図5は、電力制御モード設定画面の一例を示す図である。電力制御モード設定画面は、ホストシステム100の電力制御モードを操作により選択するための画面である。例示される電力制御モード設定画面は、スライダーバーを備える。スライダーバーには、エコモード(E)、バランスモード(B)、高性能モード(P)のそれぞれに対応する項目がその順序で左右に配列されている。
図5に例示される「節電を重視」はエコモード(E)に相当し、「バランス」はバランスモード(B)に相当し、「性能を重視」は高性能モード(P)に対応する。操作に応じてつまみをいずれかの項目の位置に合わせることで、電力制御部104により、位置を合わせた項目に係る電力制御モードが選択される。図示される例では、エコモード(E)が選択されている。
【0060】
電力制御モードは、ホストシステム100の動作状態によっても変更される。電力制御部104には、モード遷移パターンごとに遷移条件を示す電力制御テーブルを予め設定しておく。モード制御パターンは、変更前後の電力制御モードのセットを示す。電力制御部104は、ホストシステム100の動作状態を監視し、電力制御テーブルを参照して、その時点における電力制御モードを変更前の電力制御モードとするモード遷移パターンに対応する遷移条件を特定する。
【0061】
電力制御部104は、動作状態が現時点の電力制御モードから他の電力制御モードへの遷移条件を満足するとき、現時点における電力制御モードを、その遷移条件に対応する他の電力制御モードに変更する。電力制御部104は、変更後の電力制御モードを、CPU11およびGPU13に通知し、変更後の電力制御モードに対応する設定電力に従って動作させる。電力制御部104は、変更後の電力制御モードをEC31に通知し、変更後の電力制御モードに対応する動作量と動作温度のもとで放熱ファン353を動作させる。
【0062】
図6は、本実施形態に係る電力制御テーブルの一例を示す図である。
図6の例では、モード遷移パターンごとにホストシステム100の消費電力Pと継続時間が示されている。消費電力Pと継続時間のセットが遷移条件を示す。例えば、バランスモード(B)もしくはエコモード(E)から高性能モード(P)への遷移条件は、消費電力PがPbp以上となる状態が継続時間Tbp以上継続することである。エコモード(E)からバランスモード(B)への遷移条件は、消費電力PがPeb以上となる状態が継続時間Teb以上継続することである。高性能モード(P)もしくはバランスモード(B)からエコモード(E)への遷移条件は、消費電力PがPbe以下となる状態が継続時間Tbe以上継続することである。高性能モード(P)からバランスモード(B)への遷移条件は、消費電力PがPpb以下となる状態が継続時間Tpb以上継続することである。Pbp、Peb、Pbe、Ppbは、それぞれ予め定めた消費電力の閾値を示す。ここで、Pbp>Peb、Ppb>Pbe、Peb>Pbe、Pbp>Ppbと設定されていればよい。また、継続時間Tbp、Teb、Tbe、Tpbは、例えば、数秒~数分程度にそれぞれ設定される。
【0063】
次に、グラフィックス設定情報の例について説明する。グラフィクス設定情報は、アプリごとに画像処理に用いるプロセッサを示す情報である。
図7は、本実施形態に係るグラフィックス設定情報の一例を示す図である。
図7の例では、APP01とAPP02に対して、CPU11(iGPU)が設定されている。APP01、APP02として、実行時に大量の画像処理、または、その他の並列処理がなされないアプリが指定される。かかるアプリは、例えば、テキスト文書作成アプリ、プレゼンテーション文書作成アプリ、などが該当する。APP03、APP04に対して、GPU13(dGPU)が設定されている。APP03、APP04として、実行時に大量の画像処理、または、その他の並列処理がなされるアプリが指定される。かかるアプリは、例えば、オンライン動画編集アプリ、歌詞・映像同期再生アプリ、ゲームアプリ、などが該当する。
【0064】
次に、案内情報の例について説明する。電力制御部104は、実行用プロセッサとしてGPU13が指示されるアプリの実行中において、電力制御モードが高電力制御モードから低電力制御モードに変更されるときにディスプレイ14に案内情報を提示させる。
図8は、本実施形態に係るメッセージ画面の一例を示す。メッセージ画面には、案内情報をなす選択肢として、GPU13上で実行中のアプリ、低電力制御モードへの電力制御モードへの変更の保留、CPU11を用いた当該アプリの実行の再開、当該アプリの即時終了を示すメッセージが配置される。
【0065】
図8に例示されるメッセージ画面では、GPU13で実行中のアプリとしてAPP03とAPP04を示すアイコンが配置されている。また、GPU13を停止して低電力制御モードであるエコモードへの変更を照会するメッセージと、3通りの選択肢をそれぞれ示すボタンが配置されている。選択肢として、アプリの即時終了を示すメッセージ「今、アプリを終了します」、低電力制御モードへの変更の保留を示すメッセージ「今はアプリを終了しません」、CPU11を用いたアプリの実行の再開を示すメッセージ「CPUでアプリを再開します」が示されている。電力制御部104は、押下を検出したボタンを特定し、特定したボタンに対応する選択肢を特定することができる。なお、本願では、「押下」とは、ボタンなど画面部品、その他の表示情報の位置を示す操作信号を取得もしくは検出するとの意味を含む。
【0066】
次に、アプリ選択画面の例について説明する。電力制御部104は、例えば、OSのシステム設定メニューを選択したときにアプリ選択画面をディスプレイ14に表示させる。
図9は、アプリ選択画面の一例を示す図である。図に例示されるアプリ選択画面は、グラフィックス設定情報の設定対象とするアプリと、既にグラフィックス設定情報が設定されているアプリのリストを示す画面である。図示の例では、アプリAPP03が設定対象として指示されている。「追加」の文字が表されているボタンは、指示されたAPP03に対してグラフィックス設定画面の表示を指示するためのボタンとして機能する。APP01、APP02は、既にグラフィックス設定情報が設定されているアプリを示すアイコンである。これらのアイコンは、押下により該当アプリに係るグラフィックス設定画面の表示を電力制御部104に指示するためのボタンとして機能する。
【0067】
次に、グラフィックス設定画面の例について説明する。
図10は、グラフィックス設定画面の例を示す図である。
図10に例示されるグラフィックス設定画面は、選択されたアプリに対して、画像処理の動作モードとして電力制御モードと実行用のプロセッサを設定するための情報を表す画面である。図示の例では、3項目のうちいずれかを選択可能とする。「OSにまかせる」とは、OSで予め設定された電力制御モードとプロセッサを適用することを示す。「節電 CPU」とは、電力制御モードとして低電力制御モードを示し、実行用プロセッサとしてCPU11を示す。「高性能 GPU」とは、電力制御モードとして高電力制御モードを示し、実行用プロセッサとしてGPUを示す。「設定」ボタンは、グラフィック設定情報の生成を指示するためのボタンである。「キャンセル」ボタンは、グラフィック設定情報の生成の中止を指示するためのボタンである。ホストシステム100は、「キャンセル」ボタンの押下によりグラフィックス設定画面の表示を消去する。
【0068】
なお、電力制御部104は、メッセージ画面を表示させ、実行中のアプリについて低電力制御モードへの変更の保留を検出するとき、電力制御モードとして高電力制御モードを示し、実行用プロセッサとしてGPUを示すグラフィックス設定画面を構成し、ディスプレイ14に表示させてもよい。電力制御部104は、「設定」ボタンへの押下を検出するとき当該アプリの実行用プロセッサとしてGPU13を示すグラフィック設定情報を生成し、保存する。
【0069】
電力制御部104は、メッセージ画面を表示させ、実行中のアプリについてCPU11を用いた実行の再開を検出するとき、電力制御モードとして低電力制御モードを示し、実行用プロセッサとしてCPUを示すグラフィックス設定画面を構成し、ディスプレイ14に表示させてもよい。電力制御部104は、「設定」ボタンへの押下を検出するとき当該アプリの実行用プロセッサとしてCPU11を示すグラフィックス設定情報を生成し、保存する。
【0070】
なお、電力制御部104は、上記のメッセージ画面におけるボタンへの押下、グラフィックス設定画面における「設定」ボタンへの押下など、操作に応じて生成したことを示すユーザ設定情報をグラフィックス設定情報に対応付けて保存してもよい。
図11に例示されるグラフィックス設定情報では、APP03に係るグラフィックス設定情報に対してユーザ設定情報が付加されている。電力制御部104は、ユーザ設定情報が対応付けられているグラフィックス設定情報に対しては、再度操作を受けるまで消去または変更せずに保存する。電力制御部104は、OSの仕様により、電力制御モードが低電力制御モードから高電力制御モードに変更するときOSに従って生成されたグラフィックス設定情報を消去することがある。ユーザ設定情報を対応付けて保存することで操作に応じて生成されたグラフィックス設定情報の消去が回避される。
【0071】
次に、本実施形態に係るアプリ実行制御の例について説明する。
図12は、本実施形態に係るアプリ実行制御の例を示すフローチャートである。但し、高電力制御モードが高性能モード(P)であって、低電力制御モードがバランスモード(B)またはエコモード(E)である場合を例にする。
【0072】
(ステップS102)電力制御部104は、ホストシステム100の動作状態を監視する。電力制御部104は、電力制御モードを示す操作信号の入力の有無を監視(モニタ)する。また、電力制御部104は、ホストシステム100を構成するCPU11とGPU13の消費電力を監視し、消費電力がその時点における電力制御モードから他の電力制御モードへの遷移条件を満たすか否かを判定する。
(ステップS104)電力制御部104は、電力制御モードが高性能モードからバランスモードまたはエコモードへの変更が指示されたか否かを判定する。指示されたと判定されるとき(ステップS104 YES)、ステップS106の処理に進む。指示されていないと判定されるとき(ステップS104 NO)、ステップS102の処理に戻る。
【0073】
(ステップS106)電力制御部104は、GPU13を用いて実行中のアプリが存在するか否かを判定する。電力制御部104は、例えば、実行中のプログラムの照会指令をGPU13に出力する。GPU13は、電力制御部104から照会指令が入力されるとき、実行中のプログラムの有無を示す応答情報を電力制御部104に出力する。GPU13は、実行中のプログラムが存在するとき、そのプログラムの名称を示す情報を応答情報に含めて出力してもよい。実行中のアプリが存在すると判定されるとき(ステップS106 YES)、ステップS108の処理に進む。存在しないと判定されるとき(ステップS106 NO)、ステップS124の処理に進む。
(ステップS108)電力制御部104は、GPU13の処理に関する案内情報を含む表示データをディスプレイ14に出力し、案内情報を示すメッセージ画面をディスプレイ14に表示させる。
【0074】
(ステップS110)電力制御部104は、自部に入力される操作信号によりGPU13を用いたアプリの即時終了が指示されたか否かを判定する。指示されたと判定されるとき(ステップS110 YES)、ステップS112の処理に進む。指示されていないと判定されるとき(ステップS110 NO)、ステップS114の処理に進む。
(ステップS112)電力制御部104は、GPU13に実行中のアプリの実行を終了させる。電力制御部104は、例えば、GPU13にアプリの終了指令を発行する。GPU13は、電力制御部104から終了指令が入力されるとき、実行中のアプリに基づく処理を停止する。電力制御部104は、処理の停止を示す停止通知を電力制御部104に出力する。その後、ステップS124の処理に進む。
【0075】
(ステップS114)電力制御部104は、自部に入力される操作信号により電力制御モードの変更の保留が指示されたか否かを判定する。指示されたと判定されるとき(ステップS114 YES)、ステップS116の処理に進む。指示されていないと判定されるとき(ステップS114 NO)、ステップS118の処理に進む。
(ステップS116)電力制御部104は、GPU13におけるアプリの実行状態を監視し、アプリの実行の終了を待機する。アプリの実行終了を検出するとき、電力制御部104は、ステップS124の処理に進む。
【0076】
(ステップS118)電力制御部104は、自部に入力される操作信号によりCPU11を用いたアプリの実行の再開が指示されたか否かを判定する。指示されたと判定されるとき(ステップS118 YES)、ステップS120の処理に進む。指示されていないと判定されるとき(ステップS118 NO)、ステップS102の処理に戻る。
【0077】
(ステップS120)電力制御部104は、GPU13でのアプリの実行を終了させる。電力制御部104は、例えば、GPU13にアプリの終了指令を発行する。GPU13は、電力制御部104から終了指令が入力されるとき、実行中のアプリに基づく処理を停止する。このとき、GPU13は、そのアプリの動作に係るパラメータ、入力が予定される入力データ、その時点までに生成された中間データおよび出力データを含むイメージファイルを生成する。GPU13は、生成したイメージファイルをメインメモリ12または補助記憶装置23に保存する。その後、GPU13は、処理の停止を示す停止通知を電力制御部104に出力する。GPU13は、イメージファイルの所在を示すアドレス情報を停止通知に含めて出力してもよい。その後、ステップS124の処理に進む。
【0078】
(ステップS122)電力制御部104は、GPU13で実行を終了させたアプリの実行を開始させる。電力制御部104は、例えば、CPU11にアプリの実行指令を発行する。電力制御部104は、GPU13から通知されたアドレス情報を実行指令に含めて出力してもよい。CPU11は、電力制御部104から入力される実行指令に応じてアプリの実行を開始する。アプリの実行開始に先立ち、CPU11は、電力制御部104から通知されたアドレス情報で所在が指示されるイメージファイルを取得する。CPU11は、取得したイメージファイルを用いてアプリの実行を開始する。その後、ステップS124の処理に進む。
【0079】
(ステップS124)電力制御部104は、GPU13とのアクセスを停止する。
(ステップS126)電力制御部104は、ホストシステム100の電力制御モードをステップS104において判定されたバランスモードまたはエコモードのいずれかに変更する。電力制御部104は、変更後の電力制御モードをCPU11とEC31に通知する。その後、ステップS102の処理に戻る。
【0080】
上記の説明では、CPU11とGPU13が1個のメインメモリ12を共用する場合を例にしたが限らない。情報処理装置1は、複数のメインメモリを備えてもよい。その場合、CPU11とGPU13は、異なるメインメモリを使い分けてもよい。電力制御部104は、GPU13の動作を停止させる場合でも、CPU11が稼働している間、GPU13専用のメインメモリに対する電力供給を停止せず、稼働を維持してもよい。これにより、GPU13の停止時においてCPU11とのイメージファイルの受け渡しの失敗を回避することができる。
【0081】
上記の説明では、プログラムごとの実行用のプロセッサを示す設定情報として、主にグラフィックス設定情報を例示したが、これには限られない。アプリ以外の種類のプログラム、例えば、API(Application Programming Interface)関数、ユーティリティプログラム、などに適用されてもよい。また、画像処理以外の並列処理、例えば、数値演算などに適用されてもよい。
【0082】
以上に説明したように、本実施形態に係る情報処理装置1は、第1のプロセッサ(例えば、CPU11)と第2のプロセッサ(例えば、GPU13)を備える。情報処理装置1は、プログラム(例えば、アプリ)ごとに実行用プロセッサを示す設定情報(例えば、グラフィックス設定情報)に基づいて、実行が指示されるプログラムに対応するプロセッサを選択する実行管理部102と、定格電力が異なる複数段階の電力制御モードから選択された電力制御モードに従って、第1のプロセッサと前記第2のプロセッサの消費電力に基づいて動作状態を制御する電力制御部104を備える。電力制御部104は、電力制御モードを、定格電力が所定の定格電力以上となる高電力制御モードから、定格電力が所定の定格電力よりも低い低電力制御モードに変更するとき、第2のプロセッサとのアクセスを停止する。
また、第1のプロセッサは、CPU11と統合されたiGPUであり、第2のプロセッサは、CPU11とは別個のdGPUであってもよい。
この構成によれば、高電力制御モードから、定格電力がより低い低電力制御モードに変更するとき、第2のプロセッサとのアクセスが停止され、第2のプロセッサを用いた処理がなされない。そのため、プログラムごとに実行用プロセッサが設定される場合でも、低電力制御モードにおいて第2のプロセッサを用いずに第1のプロセッサを用いることで消費電力の増加に相応した性能が得られる。
【0083】
また、電力制御部104は、第2のプロセッサを用いたプログラムの処理の実行中において、高電力制御モードから低電力制御モードへの変更が指示されるとき、少なくとも低電力制御モードへの変更の保留と、第1のプロセッサを用いたプログラムの処理の再開の一方と記プログラムの処理の終了と、を示す案内情報を出力する。
出力される案内情報によれば、第2のプロセッサを用いたプログラムの処理の実行中、直ちに第2のプロセッサによる処理を停止させずに、低電力制御モードへの変更の保留と第1のプロセッサを用いたプログラムの処理の再開のうちの一方と、当該プログラムの処理の終了が、第2のプロセッサの停止に対応する選択肢として案内される。そのため、ユーザには、実行中の処理の実行状態を勘案して、いずれかの選択肢を選択する機会が与えられる。
【0084】
また、電力制御部104は、低電力制御モードへの変更の保留が指示されるとき、第2のプロセッサを用いたプログラムの処理が終了するまで、第2のプロセッサとのアクセスを停止させずに待機する。
この構成によれば、第2のプロセッサが実行中の処理が完了するまで、第2のプロセッサが動作する。そのため、実行中の処理結果の取得を優先することができる。
【0085】
また、電力制御部104は、当該プログラムの実行用プロセッサとして第2のプロセッサを示す設定情報を設定してもよい。
第2プロセッサによる実行中の処理の完了を優先することで、当該プログラムの実行に対して第2プロセッサの使用に対する志向が推認される。当該プログラムの実行に設定情報に示される第2プロセッサを用いることで、ユーザの志向に応えることができる。
【0086】
また、電力制御部104は、第1のプロセッサを用いたプログラムの処理の再開が指示されるとき、第2のプロセッサを用いたプログラムの処理を停止させた後、第1のプロセッサを用いた当該プログラムの処理を再開してもよい。
この構成によれば、第2のプロセッサが実行中の処理を直ちに停止して、第1のプロセッサを用いて当該プログラムの処理が再開する。そのため、当該プログラムの処理が一時的に中断しても、第1のプロセッサを用いたプログラムの実行を優先することができる。
【0087】
また、電力制御部104は、当該プログラムの実行用プロセッサとして第1のプロセッサを示す設定情報を設定してもよい。
第1プロセッサによる処理の再開を優先することで、当該プログラムの実行に対して第1プロセッサの使用に対する志向が推認される。当該プログラムの実行に設定情報に示される第1プロセッサを用いることで、ユーザの志向に応えることができる。
【0088】
なお、上記の処理に係る各種の設定情報、パラメータなどの設計事項は、例示したものに限られず、プロセッサの処理能力などの種々な要件に応じて異なってもよい。上記の説明では、エコモード(E)とバランスモード(B)が低電力制御モードであり、高性能モード(P)が高電力制御モードである場合を例にしたが、個々のプロセッサの仕様により、低電力制御モードと高電力制御モードの区分が異なっていてもよい。例えば、エコモード(E)を低電力制御モードとし、バランスモード(B)と高性能モード(P)を高電力制御モードとしてもよい。また、電力制御モードの段階数は、3段階に限られず、2段階または4段階以上であってもよい。
【0089】
また、電力制御モードの各段階に係るPL1、PL2、電力制御モードの遷移条件をなす消費電力のパラメータ、継続時間などが異なっていてもよい。また、継続時間が電力制御モードによらず一定値とする場合には、モード遷移テーブルにおいて省略されてもよい。
【0090】
また、ホストシステム100の状態の継続を判定する際、電力制御部104は、CPU11、GPU13の消費電力としてその瞬時値に代えて、その時点までの移動平均値を用いてもよい。移動平均値は、例えば、指数重み付き移動平均でもよいし、注目する時刻までの所定の期間(例えば、数秒~数分)内における単純移動平均値でもよい。
【0091】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。上述の実施形態において説明した各構成は、任意に組み合わせることができる。
【符号の説明】
【0092】
1…情報処理装置、11…CPU、12…メインメモリ、13…GPU、21…チップセット、22…ROM、23…補助記憶装置、24…オーディオシステム、25…通信モジュール、26…入出力インタフェース、31…EC、32…入力デバイス、33…電源回路、34…バッテリ、36…電源スイッチ、351…温度センサ、100…ホストシステム、102…実行管理部、104…電力制御部、352…駆動回路、353…放熱ファン
【手続補正書】
【提出日】2024-06-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1のプロセッサと第2のプロセッサを備え、
プログラムごとに実行用プロセッサを示す設定情報に基づいて、
実行が指示されるプログラムに対応するプロセッサを選択する実行管理部と、
定格電力が異なる複数段階の電力制御モードから選択された電力制御モードに従って、前記第1のプロセッサと前記第2のプロセッサの消費電力に基づいて動作状態を制御する電力制御部を備え、
前記電力制御部は、
前記電力制御モードを、定格電力が所定の定格電力以上となる高電力制御モードから、定格電力が前記所定の定格電力よりも低い低電力制御モードに変更するとき、
前記第2のプロセッサとのアクセスを停止し、
前記第2のプロセッサを用いたプログラムの処理の実行中において、
前記高電力制御モードから前記低電力制御モードへの変更が指示されるとき、
少なくとも前記低電力制御モードへの変更の保留と、前記第1のプロセッサを用いた前記プログラムの処理の再開の一方と、前記プログラムの処理の終了と、を示す案内情報を出力する
情報処理装置。
【請求項2】
前記電力制御部は、
前記低電力制御モードへの変更の保留が指示されるとき、
前記第2のプロセッサを用いた前記プログラムの処理が終了するまで、
前記第2のプロセッサとのアクセスを停止させずに待機する
請求項1に記載の情報処理装置。
【請求項3】
前記電力制御部は、
前記プログラムの実行用プロセッサとして前記第2のプロセッサを示す設定情報を設定する
請求項2に記載の情報処理装置。
【請求項4】
前記電力制御部は、
前記第1のプロセッサを用いた前記プログラムの処理の再開が指示されるとき、
前記第2のプロセッサを用いた前記プログラムの処理を停止させた後、
前記第1のプロセッサを用いた前記プログラムの処理を再開する
請求項1に記載の情報処理装置。
【請求項5】
前記電力制御部は、
前記プログラムの実行用プロセッサとして前記第1のプロセッサを示す設定情報を設定する
請求項3に記載の情報処理装置。
【請求項6】
前記第1のプロセッサは、中央演算処理装置と統合された統合グラフィックス処理装置であり、
前記第2のプロセッサは、独立グラフィックス処理装置である
請求項1に記載の情報処理装置。
【請求項7】
第1のプロセッサと第2のプロセッサを備える情報処理装置の制御方法であって、
前記情報処理装置が、
プログラムごとに実行用プロセッサを示す設定情報に基づいて、
実行が指示されるプログラムに対応するプロセッサを選択し、
定格電力が異なる複数段階の電力制御モードから選択された電力制御モードに従って、前記第1のプロセッサと前記第2のプロセッサの消費電力に基づいて動作状態を制御し、 前記電力制御モードを、定格電力が所定の定格電力以上となる高電力制御モードから、定格電力が前記所定の定格電力よりも低い低電力制御モードに変更するとき、
前記第2のプロセッサとのアクセスを停止し、
前記第2のプロセッサを用いたプログラムの処理の実行中において、
前記高電力制御モードから前記低電力制御モードへの変更が指示されるとき、
少なくとも前記低電力制御モードへの変更の保留と、前記第1のプロセッサを用いた前記プログラムの処理の再開の一方と、前記プログラムの処理の終了と、を示す案内情報を出力する
制御方法。