JP2010277350A - 電子機器 - Google Patents
電子機器 Download PDFInfo
- Publication number
- JP2010277350A JP2010277350A JP2009129258A JP2009129258A JP2010277350A JP 2010277350 A JP2010277350 A JP 2010277350A JP 2009129258 A JP2009129258 A JP 2009129258A JP 2009129258 A JP2009129258 A JP 2009129258A JP 2010277350 A JP2010277350 A JP 2010277350A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- gpu
- power consumption
- total
- per unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】GPUに対する処理負荷が大きい場合において省電力化を図る。
【解決手段】ディスプレイドライバ201は、複数の動作周波数の何れかにより動作するGPU116を制御する。ディスプレイドライバ201は、プロセッサからのGPU116に対する処理要求に応じて、複数の動作周波数毎のGPU116が処理要求による処理を実行した場合の単位時間当たりの消費電力と総処理時間を取得する消費電力/総処理時間取得501と、単位時間当たりの消費電力と総処理時間をもとに、動作周波数毎の総消費電力を算出する総消費電力算出502と、動作周波数毎の総消費電力に基づいて、GPU116の動作周波数を制御するGPU動作周波数制御部503とを有する。
【選択図】図5
【解決手段】ディスプレイドライバ201は、複数の動作周波数の何れかにより動作するGPU116を制御する。ディスプレイドライバ201は、プロセッサからのGPU116に対する処理要求に応じて、複数の動作周波数毎のGPU116が処理要求による処理を実行した場合の単位時間当たりの消費電力と総処理時間を取得する消費電力/総処理時間取得501と、単位時間当たりの消費電力と総処理時間をもとに、動作周波数毎の総消費電力を算出する総消費電力算出502と、動作周波数毎の総消費電力に基づいて、GPU116の動作周波数を制御するGPU動作周波数制御部503とを有する。
【選択図】図5
Description
本発明は、GPU(Graphic Processing Unit)を備えた電子機器に関する。
近年、GPU(Graphic Processing Unit)を備えたパーソナルコンピュータ等の電子機器においては、GPUを用いた汎用計算処理の普及により、ディスプレイに画像を表示させるための表示処理以外にGPUを活用することが多くなっている。例えば、動画像データに対するエンコードやデコードをGPUによって実行させることができる。一般に、CPU(Central Processing Unit)に限らず、GPUにおいても高速にデータ処理を実行することが求められている。一方、高速にデータ処理を実行するよう、GPUに対する処理負荷を増大させると、GPUやVRAMによる消費電力が増大してしまう。
従来では、表示品質に影響を与えることなく、表示コントローラ(GPU)の消費電力を低減することが可能な情報処理装置が考えられている(特許文献1参照)。特許文献1に記載された情報処理装置では、ディスプレイドライバは、CPUからGPUに送信される描画要求の内容に基づいて、GPUのコアユニットによって実現可能な最大フレームレート、つまり単位時間当たりにコアユニットが描画可能な最大フレーム数を算出する。もし最大フレーム数がリフレッシュレートに対応するフレーム数よりも大きい場合、ディスプレイドライバは、GPUの動作速度を低下させる動作速度制御処理を実行する。このパワーマネージメント機能により、表示品質の低下を招くことなく、GPUの消費電力の低減を図っている。
このように従来では、GPUによる描画可能な最大フレーム数がリフレッシュレートに対応するフレーム数よりも大きい場合、すなわちGPUに対する負荷を下げることができる場合にGPUの動作速度を低下させることによりGPUの消費電力の低下を図っていた。
つまり従来では、GPUに対する負荷が小さい場合には消費電力を低下させることができるが、GPUによって汎用計算処理を実行させる場合のように、GPUに対する負荷が大きな場合には、GPUによる消費電力を下げて省電力化を図ることができなかった。
本発明は上述の事情を考慮してなされたものであり、GPUに対する処理負荷が大きい場合において省電力化を図ることが可能な電子機器を提供することを目的とする。
上述の課題を解決するため、本発明は、プロセッサと、複数の動作周波数の何れかにより動作するGPUと、前記プロセッサからの前記GPUに対する処理要求に応じて、前記複数の動作周波数のそれぞれにより前記GPUが前記処理要求による処理を実行したと想定した場合の前記GPUによる単位時間当たりの消費電力と総処理時間を取得する取得手段と、前記取得手段により取得された単位時間当たりの消費電力と総処理時間をもとに、前記複数の動作周波数のそれぞれにより前記GPUが前記処理要求による処理を実行したと想定した場合の総消費電力を算出する算出手段と、前記算出手段により算出された前記動作周波数毎の総消費電力に基づいて、前記GPUの動作周波数を制御する制御手段とを具備したことを特徴とする。
本発明によれば、GPUに対する処理負荷が大きい場合において省電力化を図ることが可能となる。
以下、図面を参照して、本発明の実施形態を説明する。
図1は、本発明の一実施形態に係る電子機器の構成を示す外観図である。この電子機器は、例えば、バッテリ駆動可能なノートブック型の携帯型パーソナルコンピュータ10として実現されている。本実施形態におけるパーソナルコンピュータ10は、ディスプレイに画像を表示させるための表示処理を実行するグラフィクスプロセッシングユニット(GPU)を有しており、このGPUに対して表示処理以外の汎用計算処理を実行させることができる。本実施形態では、GPUに対して負荷の大きい汎用計算処理を実行させる場合に、GPUの動作速度(動作周波数)を低下させる動作速度制御処理を実行することによってGPUの消費電力を低減させる。
図1は、本発明の一実施形態に係る電子機器の構成を示す外観図である。この電子機器は、例えば、バッテリ駆動可能なノートブック型の携帯型パーソナルコンピュータ10として実現されている。本実施形態におけるパーソナルコンピュータ10は、ディスプレイに画像を表示させるための表示処理を実行するグラフィクスプロセッシングユニット(GPU)を有しており、このGPUに対して表示処理以外の汎用計算処理を実行させることができる。本実施形態では、GPUに対して負荷の大きい汎用計算処理を実行させる場合に、GPUの動作速度(動作周波数)を低下させる動作速度制御処理を実行することによってGPUの消費電力を低減させる。
図1は、パーソナルコンピュータ10のディスプレイユニットを開いた状態における斜視図である。パーソナルコンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(Liquid Crystal Display)17から構成される表示装置が組み込まれており、そのLCD17の表示画面はディスプレイユニット12のほぼ中央に位置されている。
ディスプレイユニット12は、コンピュータ本体11に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体11はバッテリが取り外し自在に装着可能な薄い箱形の筐体を有している。
コンピュータ本体11の上面には、キーボード13、パワーオン/オフするためのパワーボタンスイッチ14、およびタッチパッド15などが配置されている。
次に、図2を参照して、本実施形態におけるパーソナルコンピュータ10のシステム構成について説明する。
パーソナルコンピュータ10は、図2に示されているように、CPU111、ノースブリッジ114、主メモリ115、グラフィクスプロセッシングユニット(GPU)116、サウスブリッジ117、BIOS−ROM120、ハードディスクドライブ(HDD)121、光ディスクドライブ(ODD)122、各種PCIデバイス123,124、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)140、電源回路141等を備えている。
CPU111は、パーソナルコンピュータ10の動作を制御するために設けられたプロセッサであり、HDD121から主メモリ115にロードされる、オペレーティングシステム(OS)200および各種アプリケーションプログラム202等を実行する。また、CPU111は、GPU116を制御するためのソフトウェアであるディスプレイドライバ201を実行する。
オペレーティングシステム(OS)200またはアプリケーションプログラム201からの、2次元または3次元グラフィクスの描画要求は、ディスプレイドライバ201を介してGPU116に送られる。さらに、CPU111は、BIOS−ROM120に格納されたシステムBIOS(Basic Input Output System)も実行する。システムBIOSはハードウェア制御のためのプログラムである。OS200は、システムBIOSを通じて、電源回路141(電源マイコン144)によって測定される各コンポーネントにおける消費電力値を取得することができる。
ノースブリッジ114はCPU111のローカルバスとサウスブリッジ117との間を接続するブリッジデバイスである。ノースブリッジ114には、主メモリ115をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ114は、PCI Expressバスなどを介してGPU116との通信を実行する機能も有している。
GPU116は、パーソナルコンピュータ10のディスプレイモニタとして使用されるLCD17と、CRTのような外部ディスプレイ302とを制御する表示コントローラである。外部ディスプレイ302は、コンピュータ本体11に設けられた外部ビデオ出力端子301に必要に応じて接続される。
GPU116は、2次元グラフィクスおよび3次元グラフィクスを表示するための描画機能を有している。GPU116は、ノースブリッジ114を介してCPU111から送信される描画要求に基づいてビデオメモリ(VRAM)116Aにフレーム群を描画するための表示処理(グラフィクス演算処理)を実行する。具体的には、あるフレームに対応する描画要求を受信すると、GPU116は、その受信した描画要求で指定される各種グラフィクス演算処理を実行して各種オブジェクトを含むフレームを生成し、その生成したフレームをビデオメモリ(VRAM)116Aに格納する。
また、GPU116は、CPU111(アプリケーションプログラム202)からの各種汎用計算処理の処理要求に対して、要求された計算処理を実行する。GPU116により汎用計算処理を実行する場合、HDD121に格納された処理対象とするデータが、サウスブリッジ117とノースブリッジ114を経由して、一旦、主メモリ115に格納される。その後、GPU116は、主メモリ115に格納された処理対象とするデータを取り出す命令を出力して、処理対象とするデータを主メモリ115からVRAM116Aに転送する。GPU116は、VRAM116Aからデータを読み込み、CPU111からの処理要求に応じた演算を実行し、演算結果をVRAM116Aに格納する。VRAM116Aに格納された演算結果は、主メモリ115に転送される。GPU116において実行される汎用計算処理には、例えば動画像ファイルに対するデコード/エンコードなどがある。
GPU116とVRAM116Aは、複数の動作周波数の何れかにより動作することができる。本実施形態では、例えば3段階の動作周波数F1,F2,F3の何れかに切り替えが可能であるものとする。GPU116とVRAM116Aの動作周波数の制御は、ディスプレイドライバ201(GPU動作周波数制御部503)によって行われる。
なお、GPU116に対する汎用計算処理の処理要求があった場合に、処理要求の対象とするデータの一部に対して、複数の動作周波数F1,F2,F3のそれぞれによる処理が実行され、処理の実行中に電源マイコン144によって測定された消費電力をもとにした単位時間当たりの消費電力と、単位時間当たりの処理量が算出される。この単位時間当たりの消費電力と、単位時間当たりの処理量は、処理要求の処理条件(例えば、処理対象とする動画像ファイルの解像度など)と対応付けて、消費電力データ121aとしてHDD121に記録される(図4参照)。消費電力データ121aは、同じ動作条件による処理要求があった場合に参照され、処理要求の動作条件に対応する単位時間当たりの消費電力と単位時間当たりの処理量をもとに、処理対象とする総データに対する処理を実行したと想定した場合の総消費電力を算出するために用いられる。
サウスブリッジ117はPCIバス1に接続されており、PCIバス1を介してPCIデバイス123,124との通信を実行する。また、サウスブリッジ117は、HDD121および光ディスクドライブ(ODD)122を制御するためのIDE(Integrated Drive Electronics)コントローラやSerial ATAコントローラを内蔵している。
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)140は、電力管理のためのエンベデッドコントローラと、キーボード(KB)13およびタッチパッド15を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC140は、ユーザによるパワーボタンスイッチ14の操作に応じてパーソナルコンピュータ10をパワーオン/パワーオフする機能を有している。パーソナルコンピュータ10のパワーオン/パワーオフの制御は、EC/KBC140と電源回路141との共同動作によって実行される。電源回路141は、コンピュータ本体11に装着されたバッテリ142からの電力、またはコンピュータ本体11に外部電源として接続されるACアダプタ143からの電力を用いて、各コンポーネントへの動作電源を生成する。
電源回路141には、電源マイコン144が設けられており、各コンポーネントにおける消費電力を測定することができる。本実施形態では、GPU116とVRAM116Aとを含む表示回路について測定された消費電力値は、GPU116(VRAM116A)の動作周波数を制御するために利用される。
図3には、本実施形態におけるGPU116の構成例が示されている。
GPU116は、図3に示されているように、コアユニット401、LVDS(Low Voltage Differential Signaling)インタフェース部402、D/Aコンバータ(DAC)403、ホストインタフェース(I/F)部404、制御レジスタ405、および内部クロック発生器406などを備えている。
GPU116は、図3に示されているように、コアユニット401、LVDS(Low Voltage Differential Signaling)インタフェース部402、D/Aコンバータ(DAC)403、ホストインタフェース(I/F)部404、制御レジスタ405、および内部クロック発生器406などを備えている。
コアユニット401は、表示処理(グラフィクス演算処理)などの表示に関係する処理の他、CPU111から要求される汎用計算処理を実行するユニットである。コアユニット401は、2D演算処理部、3D演算処理部、VRAMインタフェース部などを備えている。
LVDSインタフェース部402は、コアユニット401によってVRAM116Aから読み出される表示データをLVDS形式の表示信号に変換し、そのLVDS形式の表示信号をLCD17に供給する。D/Aコンバータ(DAC)403は、表示データをアナログ形式の表示信号に変換し、そのアナログ形式の表示信号を外部ディスプレイ302に供給する。
ホストインタフェース部(I/F)404は、CPU111からの各種制御パラメータを受信する。各種制御パラメータには、描画要求、テクスチャのようなオブジェクトデータ、およびパワーマネージメントに関する制御パラメータを含む。パワーマネージメントに関する制御パラメータには、クロックパラメータがある。クロックパラメータは、GPU116内のコアユニット401に供給される内部クロック信号CLK1,CLK2の周波数を指定するためのパラメータである。本実施形態では、例えば3段階の動作周波数F1,F2,F3の何れかが指定されるものとする。内部クロック信号CLK1は、コアユニット114の駆動用のコアクロック信号であり、内部クロック信号CLK2は、VRAM116Aの駆動用のメモリクロック信号である。コアクロックパラメータは制御レジスタ405に設定される。
内部クロック発生器406は、クロックパラメータで指定された周波数に応じた内部クロック信号CLK1,CLK2を、外部クロック信号(CLK)を逓倍または分周することによって発生する。内部クロック発生器406は、例えばPLL(Phase Locked Loop)回路から構成されている。
図4は、GPU116により汎用計算処理が実行されることにより記録される消費電力データ121aの一例を示す図である。
消費電力データ121aは、動作周波数F1,F2,F3のそれぞれによる処理が実行された場合について、処理の実行中に電源マイコン144によって測定された消費電力をもとにした単位時間当たりの消費電力と、単位時間当たりの処理量とを、処理要求の処理条件と対応付けて示すデータである。
消費電力データ121aは、動作周波数F1,F2,F3のそれぞれによる処理が実行された場合について、処理の実行中に電源マイコン144によって測定された消費電力をもとにした単位時間当たりの消費電力と、単位時間当たりの処理量とを、処理要求の処理条件と対応付けて示すデータである。
例えば、図4に示す消費電力データ121aでは、動画ファイルのエンコードについては、例えば処理条件として処理対象とする動画像ファイルの解像度が設定され、各解像度における動画像ファイルについてエンコードを実行した場合の単位時間当たりの消費電力と単位時間当たりの処理量を示すデータが設定される。単位時間当たりの消費電力と単位時間当たりの処理量を示すデータは、GPU116に対する動作周波数F1,F2,F3のそれぞれによって処理を実行することにより取得される。
図5は、本実施形態におけるGPU116に関係するソフトウェアの関係を示す図である。
GPU116において表示処理を実行させる場合には、アプリケーションプログラム202からの描画要求がOS200を介してディスプレイドライバ201に送られる。ディスプレイドライバ201は、描画要求をGPU116に送信する。GPU116は、ディスプレイドライバ201からの描画要求に応じて表示処理(グラフィクス演算処理)を実行して、各種オブジェクトを含むフレームを生成し、その生成したフレームをビデオメモリ(VRAM)116Aに格納する。
GPU116において表示処理を実行させる場合には、アプリケーションプログラム202からの描画要求がOS200を介してディスプレイドライバ201に送られる。ディスプレイドライバ201は、描画要求をGPU116に送信する。GPU116は、ディスプレイドライバ201からの描画要求に応じて表示処理(グラフィクス演算処理)を実行して、各種オブジェクトを含むフレームを生成し、その生成したフレームをビデオメモリ(VRAM)116Aに格納する。
また、GPU116において汎用計算処理を実行させる場合には、アプリケーションプログラム202からの処理要求がOS200を介してディスプレイドライバ201に送られる。ディスプレイドライバ201には、アプリケーションプログラム202からの処理要求に対して動作する消費電力/総処理時間取得部501、総消費電力算出部502、及びGPU動作周波数制御部503のモジュールが設けられており、汎用計算処理の実行中の省電力化を図るための処理を実行する。
消費電力/総処理時間取得部501は、CPU111(アプリケーションプログラム202)からのGPU116に対する処理要求に応じて、複数の動作周波数のそれぞれによりGPU116が前記処理要求による処理を実行したと想定した場合のGPU116による単位時間当たりの消費電力と総処理時間を取得する。消費電力/総処理時間取得部501は、処理要求があった場合に、処理要求の対象とするデータの一部に対して、GPU116の複数の動作周波数のそれぞれにより処理を実行させ、データの一部に対する処理の実行中に電源マイコン144によって測定された消費電力をもとに単位時間当たりの消費電力を算出し、またデータの一部に対する処理により算出される複数の動作周波数のそれぞれにおけるGPU116による単位時間当たりの処理量と、処理要求の対象とする総データ量とに基づいて総処理時間を算出する。すなわち、総処理時間=(総データ量/単位時間当たりの処理量)として算出する。なお、総データ量は、例えば処理要求を行うアプリケーションプログラム202(あるいはOS200)が把握しており、アプリケーションプログラム202からディスプレイドライバ201に対して通知されるものとする。
処理要求の対象とするデータの一部としては、例えば動画像ファイルについては予め決められたフレーム数(例えば、先頭から100フレーム)としたり、あるいは予め決められた時間に処理可能なフレーム(例えば、2秒間に処理可能なフレーム)とすることができる。また、消費電力/総処理時間取得部501は、HDD121に記録された消費電力データ121aにおいて、CPU111(アプリケーションプログラム202)からの処理要求の処理条件に対応する単位時間当たりの消費電力と単位時間当たりの処理量とが設定されている場合には、データの一部に対する処理を実行することなく、OS200を通じて消費電力データ121aから必要なデータを取得することができる。
なお、本実施形態において、消費電力/総処理時間取得部501は、GPU116による単位時間当たりの消費電力と総処理時間を取得するとしているが、GPU116による処理に使用されるVRAM116A(メモリモジュール)を含む表示回路における単位時間当たりの消費電力を取得するものとしても良い。
総消費電力算出部502は、消費電力/総処理時間取得部501により取得された単位時間当たりの消費電力と総処理時間をもとに、複数の動作周波数のそれぞれによりGPU116が処理要求による処理を実行したと想定した場合の総消費電力を算出する。総消費電力算出部502は、処理要求の処理条件に対応する単位時間当たりの消費電力と単位時間当たりの処理量を示すデータが、HDD121に記録された消費電力データ121aに設定されている場合には、このデータをもとに総消費電力を算出する。
GPU動作周波数制御部503は、総消費電力算出部502により算出された動作周波数毎の総消費電力に基づいて、GPU116の動作周波数を制御する。GPU動作周波数制御部503は、例えば総消費電力が最も少なくなる動作周波数をGPU116に対して設定することにより、CPU111(アプリケーションプログラム202)から要求された処理の実行中における省電力化を図る。なお、GPU動作周波数制御部503は、処理要求の対象とするデータに対する複数の動作周波数のそれぞれにより実行されるGPU116による動作能力を判別し、必要とされる動作能力を満たす動作周波数のうちで総消費電力が最も少なくなる動作周波数をGPU116に対して設定する。さらに、GPU動作周波数制御部503は、ユーザから汎用計算処理についての許容時間が指定されている場合には、この許容時間以下で処理要求に対する処理を実行可能な動作周波数のうちで、総消費電力が最も少なくなる動作周波数をGPU116に対して設定することができる。なお、GPU動作周波数制御部503は、GPU116の動作周波数と共にVRAM116Aの動作周波数を制御する。
次に、本実施形態における、GPU116によって汎用計算処理を実行する場合の動作について、図6に示すフローチャートを参照しながら説明する。
ここでは、GPU116に対して、汎用計算処理として動画像ファイルに対するビデオエンコードを実行させる場合を例にして説明する。
ここでは、GPU116に対して、汎用計算処理として動画像ファイルに対するビデオエンコードを実行させる場合を例にして説明する。
アプリケーションプログラム202は、OS200を通じて、HDD121に格納された動画像ファイルについてのビデオエンコードの処理要求をディスプレイドライバ201に対して送信する。
ディスプレイドライバ201は、アプリケーションプログラム202からのビデオエンコードの実行要求に応じて、消費電力/総処理時間取得部501により、GPU116が動作可能な複数の動作周波数のそれぞれにより、GPU116が処理要求による処理を実行したと想定した場合の単位時間当たりの消費電力と総処理時間を取得するための処理を実行する。
まず、消費電力/総処理時間取得部501は、OS200を介して、HDD121に記録された消費電力データ121aにおいて、処理要求に対する単位時間当たりの消費電力と処理量を示すデータが設定されているか判別する(ステップA1)。すなわち、過去に同じ処理条件による処理を実行済みであるかを判別する。ここでは、例えば同じ解像度の動画像ファイルに対するエンコードについて処理を実行した時に記録された、単位時間当たりの消費電力と処理量(例えば、処理フレーム数)が記録されているかを判別する。
ここで、同じ動作条件に対応する単位時間当たりの消費電力と処理量を示すデータが記録されていない場合(ステップA2、Yes)、消費電力/総処理時間取得部501は、処理対象とするデータの一部として、例えば動画像ファイルの先頭から100フレーム分について、GPU116の複数の動作周波数のそれぞれにより処理を実行させて、単位時間当たりの消費電力と処理量を取得する。
すなわち、消費電力/総処理時間取得部501は、GPU動作周波数制御部503によってGPU116の動作周波数をF1に切り替えて、対象とする動画像ファイルに対するデコード処理を実行させる。消費電力/総処理時間取得部501は、動作周波数F1の設定時における、動画像ファイルの先頭から100フレーム分の処理に要したGPU116の消費電力P1と処理時間T1を測定する。同様にして、消費電力/総処理時間取得部501は、動作周波数F2,F2の設定時における、動画像ファイルの先頭から100フレーム分の処理に要したGPU116の消費電力P2,P2と処理時間T2,T3を測定する。そして、消費電力/総処理時間取得部501は、各動作周波数F1,F2,F3の設定時に測定された処理時間T1,T2,T3と、処理対象としたデータ量(ここでは、100フレーム)をもとに単位時間当たりの処理量を算出する(ここでは、例えばフレーム数)(ステップA5)。
消費電力/総処理時間取得部501は、ここで取得された単位時間当たりの消費電力と処理量を、アプリケーションプログラム202から要求された処理条件と対応付けて、消費電力データ121aとして記録する。
こうして、実際に処理対象とするデータの一部に対して処理を実行することによって得られた単位時間当たりの消費電力と処理量を消費電力データ121aとして記録することで、パーソナルコンピュータ10の個体差や動作環境の違いなどによって処理能力に違いがある場合であっても、後述する総消費電力の計算をより正確に実行できる。
なお、前述した説明において、単位時間当たりの消費電力と処理量を取得するために、例えば動画像ファイルの先頭から100フレーム分について処理を実行するものとしているが、単位時間当たりの消費電力と処理量を取得することが可能な必要最小限のデータ量を対象とすることが望ましい。
一方、消費電力データ121aにおいて処理条件に対応する単位時間当たりの消費電力と処理量を示すデータが記録されていた場合には、前述したように、以前に同じ処理条件においてのデコード処理を実行した際に記録された消費電力データ121aから該当する同じ動作条件に対応する単位時間当たりの消費電力と処理量を示すデータを読み出す(ステップA4)。
次に、総消費電力算出部502は、消費電力/総処理時間取得部501により取得された単位時間当たりの消費電力と処理量を示すデータをもとに、動作周波数F1,F2,F3の設定時のそれぞれにおける、処理要求の対象とする動画像ファイル全体に対して演算処理を実行したと想定した場合の総消費電力を算出する(ステップA5)。
すなわち、動作周波数Fxの設定時の総消費電力はPxTxとなる(x=1,2,3)。図7には、各動作周波数F1,F2,F3に対して算出される総消費電力を示している。
次に、GPU動作周波数制御部503は、消費電力/総処理時間取得部501により取得された各動作周波数F1,F2,F3により動作したと想定した場合の処理時間T1,T2,T3をもとに、アプリケーションプログラム202からの処理要求を支障なく実行可能であるか動作能力を判別する(ステップA6)。
GPU動作周波数制御部503は、処理要求を支障なく実行可能と判別された各動作周波数において処理を実行したと想定した場合の総消費電力を比較し(ステップA7)、総消費電力が最小となる動作周波数を選択し、その動作周波数をGPU116に設定する(ステップA8,A9,A10)。例えば、動作周波数F1,F2,F3の何れにおいても支障なく処理を実行可能である場合に、P1T1<P2T2かつP1T1<P3T3であればGPU116に対して動作周波数F1を設定する。総消費電力が最小となるGPU116の動作周波数は、単純に最低の動作周波数の場合に限るものではなく、GPU116に実行させる汎用計算処理の処理内容によって、最低の動作周波数以外の場合に総消費電力が最低となる場合もあり得る。
ディスプレイドライバ201は、GPU動作周波数制御部503によるGPU116に対する動作周波数の設定がされると、処理要求があった動画像ファイルに対するデコード処理を実行させる(ステップA11)。ここでは、GPU116に対する負荷が大きくなる汎用計算処理を実行する状況においても、予め総消費電力が最小となることが想定されている動作周波数が設定されているため、エンコード処理に要する時間が最速の動作周波数を設定した場合より長くなるが、最速の動作周波数を設定した場合と比較して汎用計算処理の実行時における電力消費を低減することができる。
このようにして、CPU111(アプリケーションプログラム202)からのGPU116に対する汎用計算処理の処理要求に対して、処理全体を実行したと想定した場合に要する総消費電力をGPU116に設定可能な各動作周波数について算出し、この総消費電力が最小となる動作周波数をGPU116に対して処理を実行することができる。これにより、GPU116に対する負荷が増大する汎用計算処理を実行する場合において省電力化を図ることができる。
なお、本実施形態におけるパーソナルコンピュータ10では、前述したように、GPU116によって汎用計算処理を実行させる場合に総消費電力を最小とする動作周波数を設定するだけでなく、ユーザが汎用計算処理に要する許容時間を指定することで、許容時間内で処理を実行可能な範囲で総処理時間を最小となるようにすることもできる。
この場合、例えばGPU116を管理するためのアプリケーションプログラム(ユーティリティプログラム)あるいはディスプレイドライバ201に許容時間設定モジュール(図示せず)を設ける。許容時間設定モジュールは、ユーザからの許容時間設定が指示されると、GPU116に実行させる汎用計算処理についての許容時間をユーザに設定させるための許容時間設定処理を実行する。
図8は、本実施形態における許容時間設定処理を示すフローチャートである。
まず、ユーザからの許容時間設定が指示されると、許容時間設定モジュールは、許容時間設定画面をディスプレイにおいて表示させる(ステップB1)。
図9は、本実施形態における許容時間設定画面の表示例を示す図である。図9は、動画像データのエンコード処理についての許容時間を設定する設定画面を示している。許容時間は、例えばアプリケーションプログラム202からの処理要求別に設定できるものとする。
ユーザは、許容時間設定画面を通じて、許容時間を示す設定値を任意に入力する(ステップB2)。ユーザによって設定値の入力完了が指示されると(ステップB3、Yes)、入力された設定値が例えばHDD121に記録される(ステップB4)。
例えば、許容時間として「0%」がユーザにより指定された場合には、GPU動作周波数制御部503は、例えばHDD121に記録された許容時間を示す設定値を参照して、GPU116に対して処理時間が最短となるように動作周波数を設定する。また、許容時間として「50%」がユーザにより指定された場合に、GPU動作周波数制御部503は、同様にして設定値を参照して、GPU116に対して最大の動作周波数を設定した場合よりも処理時間が「150%」以下の場合で、かつ総消費電力が最低となる動作周波数を設定する。例えば、前述した例では、T2<1.5×T1とP2T2<P1T1を満たす動作周波数F2が存在すれば、この動作周波数F2がGPU116に対して設定されて処理が実行される。
これにより、ユーザが許容可能な処理時間で最も消費電力が少なくなるようにGPU116の動作周波数を制御することが可能となる。
なお、前述した説明では、ディスプレイドライバ201に消費電力/総処理時間取得部501と総消費電力算出部502とを設けて、消費電力/総処理時間取得処理及び総消費電力算出処理とを実行させているが、OS200あるいはアプリケーションプログラム202に、前述した消費電力/総処理時間取得部501と総消費電力算出部502と同等の処理モジュールを設けた構成としても良い。
例えば、アプリケーションプログラム202に消費電力/総処理時間取得部501と総消費電力算出部502とを設けた場合には、消費電力/総処理時間取得部501は、OS200を通じて、電源マイコン144により測定される消費電力を取得する。またGPU116によって処理させるデータ(例えば動画像ファイル)の総データ量をアプリケーションプログラム202が把握しているので、消費電力/総処理時間取得部501は、処理対象とするデータの総データ量に基づいて総処理時間を算出することができる。総消費電力算出部502は、GPU116の動作周波数毎に算出された総消費電力に基づいて、表示回路における消費電力を最小とすることができる動作周波数を決定して、ディスプレイドライバ201のGPU動作周波数制御部503に対して、GPU116及びVRAM116Aの動作周波数の切り替えを指示する。
また、OS200において消費電力/総処理時間取得部501及び総消費電力算出部502と同等の処理モジュールを設けた構成とした場合においても、前述と同様にして実現することが可能である。
また、前述した説明では、初めての動作条件で処理対象とするデータの一部に対して処理を実行した場合に消費電力データ121aを記録するとしているが、消費電力データ121aを更新するようにしても良い。例えばある動作条件に対応する消費電力データ121aが記録された後、一定期間が経過している場合には、改めて同じ動作条件で処理対象とするデータの一部に対して処理を実行して得られた単位時間当たりの消費電力と単位時間当たりの処理量を示す消費電力データ121aに更新する。これにより、パーソナルコンピュータ10の動作性能や動作環境の変化によって処理能力に変動があった場合でも、GPU116に対する各動作周波数時における総消費電力を正確に算出できる。
また、前述した説明では、GPU116に対して汎用計算処理のみを実行させる場合について説明しているが、GPU116において汎用計算処理以外の処理を並行して実行する場合を想定した総消費電力や動作能力をもとにして、GPU116に対する動作周波数を設定するようにしても良い。例えば、GPU116によって、ディスプレイに動画像を表示するための表示処理を実行させながら汎用計算処理を実行させる場合に、ステップA6において、ディスプレイにおける表示を支障なく実行可能な動作周波数を判別し、この実行可能な動作周波数のなかで総消費電力が最小となる動作周波数をGPU116に対して設定する。
また、動作速度制御処理においては、GPU動作速度制御部503は、コアクロックパラメータをGPU116に送信して、内部クロック信号CLK2の周波数を制御する処理を実行する。もちろん、外部クロック信号CLK1の周波数を制御してもよい。また、VRAM116Aに供給されるメモリクロック信号の周波数を制御することによってもGPU116の動作速度を低下させることができる。さらには、GPU116に供給される電源電圧の値を変化させることによってもGPU116の動作速度を低下させることができる。
また、パーソナルコンピュータ10がAC電源に接続されておらず、バッテリ142により駆動している場合には、総消費電力算出部502により算出された総消費電力とバッテリ142の残存容量とを比較し、アプリケーションプログラム202から要求された処理(例えばエンコード処理)が完了するまでに残存容量がなくなってしまうと判別される場合には、事前に「ACアダプタを接続してください」といった警告を出すことができる。
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
また、前述した実施の形態において記載した処理は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリなどの記録媒体に書き込んで各種装置に提供することができる。また、通信媒体により伝送して各種装置に提供することも可能である。コンピュータは、記録媒体に記録されたプログラムを読み込み、または通信媒体を介してプログラムを受信し、このプログラムによって動作が制御されることにより、上述した処理を実行する。
10…コンピュータ、11…コンピュータ本体、111…CPU、115…主メモリ、116…GPU、116A…VRAM、201…ディスプレイドライバ、401…コアユニット、406…内部クロック発生器。
Claims (7)
- プロセッサと、
複数の動作周波数の何れかにより動作するGPUと、
前記プロセッサからの前記GPUに対する処理要求に応じて、前記複数の動作周波数のそれぞれにより前記GPUが前記処理要求による処理を実行したと想定した場合の前記GPUによる単位時間当たりの消費電力と総処理時間を取得する取得手段と、
前記取得手段により取得された単位時間当たりの消費電力と総処理時間をもとに、前記複数の動作周波数のそれぞれにより前記GPUが前記処理要求による処理を実行したと想定した場合の総消費電力を算出する算出手段と、
前記算出手段により算出された前記動作周波数毎の総消費電力に基づいて、前記GPUの動作周波数を制御する制御手段と
を具備したことを特徴とする電子機器。 - 前記GPUの動作時における消費電力を測定する消費電力測定手段をさらに具備し、
前記取得手段は、
前記処理要求の対象とするデータの一部に対して、前記GPUの前記複数の動作周波数のそれぞれにより処理を実行させ、
前記データの一部に対する処理の実行中に前記消費電力測定手段によって測定された消費電力をもとに前記単位時間当たりの消費電力を算出し、
前記データの一部に対する処理により算出される前記複数の動作周波数のそれぞれにおける前記GPUによる単位時間当たりの処理量と、前記処理要求の対象とする総データ量とに基づいて前記総処理時間を算出することを特徴とする請求項1記載の電子機器。 - 前記取得手段により実行された前記データの一部に対する処理により求められた前記単位時間当たりの消費電力と、前記単位時間当たりの処理量とを、前記処理要求の処理条件と対応付けて記録する記録手段をさらに具備し、
前記取得手段は、前記処理要求の処理条件に対応する前記単位時間当たりの消費電力と前記単位時間当たりの処理量とを前記記録手段から取得し、
前記算出手段は、前記記録手段から取得された前記単位時間当たりの消費電力と前記単位時間当たりの処理量をもとに、前記総消費電力を算出することを特徴とする請求項2記載の電子機器。 - 前記制御手段は、前記総消費電力が最も少なくなる前記動作周波数を前記GPUに対して設定することを特徴とする請求項1記載の電子機器。
- 前記制御手段は、前記処理要求の対象とするデータに対する、前記複数の動作周波数のそれぞれにより実行される前記GPUによる動作能力を判別し、必要とされる動作能力を満たす前記動作周波数のうちで、前記総消費電力が最も少なくなる前記動作周波数を前記GPUに対して設定することを特徴とする請求項4記載の電子機器。
- 前記GPUに実行させる処理についての許容時間をユーザに設定させるための設定画面を表示する設定画面表示手段とをさらに具備し、
前記制御手段は、前記設定画面を通じて入力された許容時間以下で前記処理要求に対する処理を実行可能な前記動作周波数のうちで、前記総消費電力が最も少なくなる前記動作周波数を前記GPUに対して設定することを特徴とする請求項4記載の電子機器。 - 前記取得手段は、前記GPUによる処理に使用されるメモリモジュールを含む単位時間当たりの消費電力と総処理時間を取得し、
前記制御手段は、前記GPUと共に前記メモリモジュールの動作周波数を制御することを特徴とする請求項1記載の電子機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129258A JP2010277350A (ja) | 2009-05-28 | 2009-05-28 | 電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129258A JP2010277350A (ja) | 2009-05-28 | 2009-05-28 | 電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010277350A true JP2010277350A (ja) | 2010-12-09 |
Family
ID=43424253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009129258A Pending JP2010277350A (ja) | 2009-05-28 | 2009-05-28 | 電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010277350A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104246653A (zh) * | 2012-04-10 | 2014-12-24 | 国际商业机器公司 | 固定频率处理单元操作的功耗最小化 |
JP2015069462A (ja) * | 2013-09-30 | 2015-04-13 | 日本電気株式会社 | It機器 |
US9026822B2 (en) | 2011-07-19 | 2015-05-05 | Fujitsu Limited | Dynamically adjusting operating frequency of a arithemetic processing device for predetermined applications based on power consumption of the memory in real time |
JP2016503549A (ja) * | 2012-12-27 | 2016-02-04 | インテル コーポレイション | グラフィックス・エンジンの電力消費を管理する方法、システム、及び装置 |
US9829952B2 (en) | 2014-11-24 | 2017-11-28 | Samsung Electronics Co., Ltd. | Processor that has its operating frequency controlled in view of power consumption during operation and semiconductor device including the same |
US9891690B2 (en) | 2014-08-01 | 2018-02-13 | Samsung Electronics Co., Ltd. | Dynamic voltage and frequency scaling of a processor |
KR20190002403U (ko) * | 2017-01-16 | 2019-09-27 | 이브이지에이 코포레이션 | 디스플레이 카드 핵심 파라미터를 기반으로 하는 냉각 제어 장치 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744281A (ja) * | 1993-07-29 | 1995-02-14 | Canon Inc | 電力管理装置 |
JPH07168726A (ja) * | 1993-12-16 | 1995-07-04 | Matsushita Electric Ind Co Ltd | 電子計算機及びマルチプロセスオペレーティングシステムのスケジューリング方法 |
JP2004303206A (ja) * | 2003-03-18 | 2004-10-28 | Matsushita Electric Ind Co Ltd | プロセッサ及びその駆動方法並びに電子情報処理機器 |
JP2006190104A (ja) * | 2005-01-06 | 2006-07-20 | Mitsubishi Electric Corp | 並列計算装置 |
JP2008276395A (ja) * | 2007-04-26 | 2008-11-13 | Toshiba Corp | 情報処理装置およびプログラム実行制御方法 |
JP2008282150A (ja) * | 2007-05-09 | 2008-11-20 | Matsushita Electric Ind Co Ltd | 信号処理装置及び信号処理システム |
JP2009070137A (ja) * | 2007-09-13 | 2009-04-02 | Toshiba Corp | マイクロプロセッサ制御装置並びにその方法およびプログラム |
JP2009110385A (ja) * | 2007-10-31 | 2009-05-21 | Hitachi Ltd | データ処理システム |
-
2009
- 2009-05-28 JP JP2009129258A patent/JP2010277350A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744281A (ja) * | 1993-07-29 | 1995-02-14 | Canon Inc | 電力管理装置 |
JPH07168726A (ja) * | 1993-12-16 | 1995-07-04 | Matsushita Electric Ind Co Ltd | 電子計算機及びマルチプロセスオペレーティングシステムのスケジューリング方法 |
JP2004303206A (ja) * | 2003-03-18 | 2004-10-28 | Matsushita Electric Ind Co Ltd | プロセッサ及びその駆動方法並びに電子情報処理機器 |
JP2006190104A (ja) * | 2005-01-06 | 2006-07-20 | Mitsubishi Electric Corp | 並列計算装置 |
JP2008276395A (ja) * | 2007-04-26 | 2008-11-13 | Toshiba Corp | 情報処理装置およびプログラム実行制御方法 |
JP2008282150A (ja) * | 2007-05-09 | 2008-11-20 | Matsushita Electric Ind Co Ltd | 信号処理装置及び信号処理システム |
JP2009070137A (ja) * | 2007-09-13 | 2009-04-02 | Toshiba Corp | マイクロプロセッサ制御装置並びにその方法およびプログラム |
JP2009110385A (ja) * | 2007-10-31 | 2009-05-21 | Hitachi Ltd | データ処理システム |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9026822B2 (en) | 2011-07-19 | 2015-05-05 | Fujitsu Limited | Dynamically adjusting operating frequency of a arithemetic processing device for predetermined applications based on power consumption of the memory in real time |
CN104246653A (zh) * | 2012-04-10 | 2014-12-24 | 国际商业机器公司 | 固定频率处理单元操作的功耗最小化 |
CN104246653B (zh) * | 2012-04-10 | 2016-12-21 | 国际商业机器公司 | 用于使固定频率处理单元操作的功耗最小化的方法和设备 |
JP2016503549A (ja) * | 2012-12-27 | 2016-02-04 | インテル コーポレイション | グラフィックス・エンジンの電力消費を管理する方法、システム、及び装置 |
US9460483B2 (en) | 2012-12-27 | 2016-10-04 | Intel Corporation | Methods, systems and apparatus to manage power consumption of a graphics engine |
JP2015069462A (ja) * | 2013-09-30 | 2015-04-13 | 日本電気株式会社 | It機器 |
US9891690B2 (en) | 2014-08-01 | 2018-02-13 | Samsung Electronics Co., Ltd. | Dynamic voltage and frequency scaling of a processor |
US9829952B2 (en) | 2014-11-24 | 2017-11-28 | Samsung Electronics Co., Ltd. | Processor that has its operating frequency controlled in view of power consumption during operation and semiconductor device including the same |
KR20190002403U (ko) * | 2017-01-16 | 2019-09-27 | 이브이지에이 코포레이션 | 디스플레이 카드 핵심 파라미터를 기반으로 하는 냉각 제어 장치 |
KR200490664Y1 (ko) | 2017-01-16 | 2019-12-12 | 이브이지에이 코포레이션 | 디스플레이 카드 핵심 파라미터를 기반으로 하는 냉각 제어 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11782492B2 (en) | Techniques to enable communication between a processor and voltage regulator | |
JP7416706B2 (ja) | プロセッサの最適スロットルのためのシステム、機器、及び方法 | |
US20070139427A1 (en) | Information processing apparatus and operation speed control method | |
US8542221B1 (en) | Method and system for optimizing display power reduction through a continuously variable refresh rate adjustment | |
JP2010277350A (ja) | 電子機器 | |
RU2646318C2 (ru) | Управление переходами адаптивных частот отображения для различных сценариев воспроизведения видео | |
CN108885483B (zh) | 确定多管芯处理器中的热余量 | |
JP2007249660A (ja) | 情報処理装置およびシステムステート制御方法 | |
US10281975B2 (en) | Processor having accelerated user responsiveness in constrained environment | |
US11029744B2 (en) | System, apparatus and method for controlling a processor based on effective stress information | |
JP2007140942A (ja) | 情報処理装置およびプロセッサ制御方法 | |
US11442528B2 (en) | Electronic display power management systems and methods | |
US20090295810A1 (en) | Information processing apparatus | |
US20180060085A1 (en) | Processor To Pre-Empt Voltage Ramps For Exit Latency Reductions | |
JP2007156567A (ja) | 情報処理装置、およびメモリ制御方法 | |
TW200821984A (en) | Work based clock management for display sub-system | |
WO2016209427A1 (en) | Adaptive hardware acceleration based on runtime power efficiency determinations | |
JP2009157838A (ja) | 情報処理装置およびファン制御方法 | |
JP2010231626A (ja) | 情報処理装置 | |
US9009507B2 (en) | Information processing apparatus and method of controlling the same | |
JP2007122566A (ja) | 情報処理装置およびレジューム制御方法 | |
US7321977B2 (en) | Information processing apparatus and method | |
US20120327062A1 (en) | Electronic apparatus, control method of electronic apparatus, and non-transitory computer-readable medium storing computer executable control program of electronic apparatus | |
JP2007171586A (ja) | 情報処理装置および映像信号振幅制御方法 | |
EP3811180B1 (en) | System, apparatus and method for responsive autonomous hardware performance state control of a processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110201 |