説明

情報処理装置および情報処理方法

【課題】描画処理能力の異なる複数のグラフィックコントローラ(GPU)を動的に切り替えられるようにする。
【解決手段】入力された画像データに所定の信号処理を施して映像信号を生成する第1の描画処理部5における作業負荷および/または、第1の描画処理部5の有する描画処理能力よりも高い描画処理能力を有し、入力された画像データに所定の信号処理を施して映像信号を生成する第2の描画処理部6における作業負荷を測定する。次に、アプリケーションが、第1の描画処理部5または第2の描画処理部6による描画処理を要するアプリケーションであった場合に、第1の描画処理部5と第2の描画処理部6のうち、測定された作業負荷が低い方の描画処理部を、アプリケーションの実行先として選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置および情報処理方法に関し、特に、描画処理能力の異なる複数のグラフィックコントローラを動的に切り替えて使用する技術に関する。
【背景技術】
【0002】
近年、例えばパーソナルコンピュータ等の情報処理装置では、グラフィックス処理を行うための専用のグラフィックコントローラ(GPU:Graphics Processing Unit)が搭載されることが増えている。GPUには、CPU(Central Processing Unit)またはチップセットに内蔵されたGPU(以下、「内蔵GPU」または「iGPU」と称する)と、外付けのグラフィックカードに搭載されたGPU(以下、「外付けGPU」または「dGPU」と称する)がある。
【0003】
外付けGPUは、高い描画処理能力を有する一方で消費電力が高いという特徴を有し、内蔵GPUは、外付けGPUに比べて描画処理能力は劣るが、消費電力が低いという特徴を有する。このため、情報処理装置上で実行したいアプリケーションの種類や、外出先での使用か自宅での使用かといった使用用途等に応じて、これらのGPUを選択的に切り替えて使用する技術の実現が望まれていた。
【0004】
例えば特許文献1には、外付けGPUを使用して描画処理を行うモードと、内蔵GPUを使用して描画処理を行うモードとを、スイッチによって切り替えられるようにする技術が開示されている。また、特許文献2には、外付けGPUを使用して描画処理を行うモードと、内蔵GPUを使用して描画処理を行うモードとを、OS(Operating System)の再起動を行うことなく切り替えられる技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−179225号公報
【特許文献1】特開2010−20596号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、特許文献1や特許文献2に記載された技術では、どのアプリケーションをどちらのGPUで動作させるかの対応付けが予め静的に設定されており、アプリケーションの実行は、そのアプリケーションと予め対応づけられたGPUによって行われる。これにより、例えばユーザが外付けGPUに対応づけられたアプリケーションを複数起動させた場合には、いずれのアプリケーションも外付けGPUで実行されることになる。つまり、内蔵GPUでは何の描画処理も行われてなく、外付けGPUに高い負荷がかかっている場合であっても、内蔵GPUが使用されることはない。このような場合は、外付けGPUのみに高い負荷がかかるため、外付けGPUの本来の処理性能を発揮できなくなってしまうだけでなく、消費電力もかなり高くなってしまう。
【0007】
このような状況において、いくつかのアプリケーションを内蔵GPUで実行させることができれば、内蔵GPUと外付けGPUにおける作業負荷(ワークロード)は分散される。そして、2つのGPUにかかる負荷を分散できれば、情報処理装置の処理効率(描画処理性能や消費電力効率)の低下を防ぐことができる。したがって、描画処理能力の異なる複数のGPUを、動的に切り替えて使用できるようにすることが求められていた。
【0008】
本開示はかかる点に鑑みてなされたものであり、描画処理能力の異なる複数のグラフィックコントローラ(GPU)を動的に切り替えられるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本開示の情報処理装置は、第1の描画処理部と、第2の描画処理部と、作業負荷測定部と、記憶部と、制御部とを備える構成とし、各部の構成及び機能を次のようにする。第1の描画処理部は、入力された画像データに所定の信号処理を施して映像信号を生成する。第2の描画処理部は、第1の描画処理部の有する描画処理能力よりも高い描画処理能力を有し、入力された画像データに所定の信号処理を施して映像信号を生成する。作業負荷測定部は、第1の描画処理部における作業負荷および/または第2の描画処理部における作業負荷を測定する。記憶部は、アプリケーションを記憶する。制御部は、記憶部から読み出したアプリケーションが、第1の描画処理部または第2の描画処理部による描画処理を要するアプリケーションであるかを判断する。そして、第1の描画処理部または第2の描画処理部による描画処理を要するアプリケーションであった場合に、前記作業負荷測定部で測定された前記第1の描画処理部における作業負荷および/または前記第2の描画処理部における作業負荷の情報に基づいて、前記第1の描画処理部と前記第2の描画処理部のいずれか一方を、アプリケーションの実行先として選択する。
【0010】
また、上記課題を解決するために、本開示の情報処理方法は、次の手順で行う。まず、アプリケーションを記憶する。次に、第1の描画処理部における作業負荷および/または第2の描画処理部における作業負荷を測定する。第1の描画処理部は、入力された画像データに所定の信号処理を施して映像信号を生成する。第2の描画処理部は、第1の描画処理部の有する描画処理能力よりも高い描画処理能力を有し、入力された画像データに所定の信号処理を施して映像信号を生成する。次に、アプリケーションが、第1の描画処理部または第2の描画処理部による描画処理を要するアプリケーションであった場合に、前記測定された前記第1の描画処理部における作業負荷および/または前記第2の描画処理部における作業負荷の情報に基づいて、前記第1の描画処理部と前記第2の描画処理部のいずれか一方を、アプリケーションの実行先として選択する。
【0011】
このように構成および処理することで、アプリケーションの実行先の描画処理部として、第1の描画処理部と第2の描画処理部のうちの作業負荷の低い方の描画処理部が、自動的に選択されるようになる。
【発明の効果】
【0012】
本開示の情報処理装置および情報処理方法によれば、描画処理能力の異なる複数のグラフィックコントローラ(GPU)が動的に切り替えられるようになる。これにより、情報処理装置の消費電力の低減および/または、効率的な描画処理が実現される。
【図面の簡単な説明】
【0013】
【図1】本開示の一実施の形態に係る情報処理装置の構成例を示す斜視図である。
【図2】本開示の第1の実施の形態に係る情報処理装置の内部構成例を示すブロック図である。
【図3】本開示の第1の実施の形態に係る情報処理装置の動作の例を示すフローチャートである。
【図4】本開示の第2の実施の形態に係る情報処理装置の内部構成例を示すブロック図である。
【図5】本開示の第2の実施の形態に係る情報処理装置の動作の例を示すフローチャートである。
【図6】本開示の第3の実施の形態に係る情報処理装置の内部構成例を示すブロック図である。
【図7】本開示の第3の実施の形態に係る情報処理装置の動作の例を示すフローチャートである。
【図8】本開示の第3の実施の形態に係る情報処理装置の動作の例を示すフローチャートである。
【図9】本開示の第3の実施の形態の変形例に係る情報処理装置の内部構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下に、本開示の実施形態による情報処理装置及び情報処理方法の例を、図面を参照しながら下記の順番で説明する。ただし、本開示は下記の例に限定されない。
1.第1の実施の形態(GPUの負荷状態に応じてアプリケーションを実行するGPUを切り替える例)
2.第2の実施の形態(情報処理装置の動作モードに応じてアプリケーションを実行するGPUを切り替える例)
3.第3の実施の形態(予め設定しておいたアプリケーションの分類に応じて、アプリケーションを実行するGPUを切り替える例)
4.第3の実施の形態の変形例(新たにインストールされたアプリケーションの実行先となるGPUを、アプリケーションの特性情報に基づいて切り替える例)
【0015】
<1.第1の実施の形態>
[1−1.情報処理装置の構成例]
まず、本開示の第1の実施の形態に係る情報処理装置の構成例について、図1および図2を参照して説明する。図1は、情報処理装置の構成例を示す外観図であり、図2は、情報処理装置の内部構成例を示すブロック図である。本開示では、情報処理装置をノート型のPC(Personal Computer)に適用した例を挙げて説明する。なお、図1に示す構成は、以下に説明する各実施の形態において共通するものとする。
【0016】
図1に示すように、ノート型PC50は、本体51とディスプレイユニット52とから構成される。本体51は、薄い箱形の筐体を有しており、その上面には、キーボードやタッチパネル等よりなる操作入力部14等が配置されている。ディスプレイユニット52は、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)等よりなる映像表示部5が組み込まれている。ディスプレイユニット52は、本体51に対して開放位置と閉塞位置との間を回転自在に取り付けられている。
【0017】
なお、後述する外付けGPU4は、例えば本体51に用意されたスロットへの装着で、ノート型PC50に外付けされる。外付けGPU4が装着されるスロットは、本体51が備える汎用のスロットでもよいが、GPU増設用として専用のスロットを設けてもよい。あるいは、ノート型PC50に用意された汎用のシリアルバスのポートを介して、外付けGPU4をノート型PC50に接続してもよい。
【0018】
次に、図2を参照して、第1の実施の形態に係るノート型PC50の内部構成の例について説明する。ノート型PC50は、CPU(Central Processing Unit)1と、チップセット2とを備える。CPU1は、ノート型PC50を構成する各部の制御を行う制御部である。具体的には、後述するドライブ8から図示せぬメインメモリにロードされるOS(Operating System)および各種アプリケーションを実行する。
【0019】
CPU1には、第1の描画処理部としての内蔵GPU3が内蔵されている。また、CPU1には、第2の描画処理部としての外付けGPU4が接続されている。内蔵GPU3及び外付けGPU4は、CPU1から受け取ったデータを基に描画処理を行って映像信号を生成する。内蔵GPU3や外付けGPU4によって生成された映像信号は、内蔵GPU3内の映像信号出力部31に入力される。映像信号出力部31は、入力された各映像信号に対して、映像表示部5に適合させるための各種画像調整を行い、画像調整を行った映像信号をチップセット2に出力する。チップセット2は、映像信号出力部31から入力された映像信号を、図示せぬ映像信号出力端子から映像表示部5もしくは、後述する外部モニタ12に出力する。
【0020】
内蔵GPU3と外付けGPU4は、その描画処理能力においては、外付けGPU4の方が内蔵GPU3よりも高いものとする。よって、外付けGPU4は、3D処理や高解像度描画処理等において高い描画処理能力を発揮する。しかし外付けGPU4は、自身及び周辺デバイスを駆動するために、その分消費電力は高くなる。したがって、外付けGPU4の動作時にはノート型PC50のシステム全体に対する電力負荷も高くなる。このため、外付けGPU4には外付けGPU用電源回路6が接続されており、外付けGPU4は、この外付けGPU用電源回路6から電力の供給を受けて動作する。
【0021】
外付けGPU用電源回路6は、後述するEC(Embedded Controller)10から出力される電源ON/OFF制御信号に基づいて、外付けGPU4に対する電源の供給/非供給を切り替える回路である。外付けGPU用電源回路6は、内蔵GPU3の使用時には、外付けGPU4の機能を停止し、外付けGPU4及び周辺回路への電力供給を停止する。このような制御を行うことにより、ノート型PC50全体の消費電力をより低く抑えることが可能となる。なお、外付けGPU4に対する電源の供給/非供給を切り替える電源ON/OFF制御信号を、チップセット2から出力するように構成してもよい。
【0022】
チップセット2は、各周辺デバイスとの接続インターフェースを有し、これらの各部へのデータの入出力を制御する。チップセット2に接続される各周辺デバイスには、例えば、記憶部としての不揮発性メモリ7やドライブ8、光学ドライブ9、EC10等がある。不揮発性メモリ7は、例えばROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)、フラッシュメモリ等で構成される。ドライブ8は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等で構成され、ノート型PC50のストレージとして使用される。
【0023】
ドライブ8には、各種アプリケーションが記憶されており、これらのアプリケーションは、前述したように、CPU1によって図示せぬメインメモリに読み出されて実行される。これらのアプリケーションのうち、内蔵GPU3や外付けGPU4による描画処理を必要とするアプリケーションは、内蔵GPU3または外付けGPU4によって描画処理が行われる。本開示の情報処理装置(ノート型PC50)は、アプリケーションの実行先としての各GPUの動的な選択および割り当てを、各実施の形態として以下に説明するような様々な手法で行うものである。
【0024】
光学ドライブ9は、例えばDVD(Digital Versatile Disc)や、ブルーレイディスクドライブ等よりなる。EC10には、コネクタ11に外部モニタ12が接続された事を検知する接続検出部13と、操作入力部14、ACアダプタ15、バッテリ16、ファン17、上述した外付けGPU用電源回路6が接続され、EC10は、これらの制御を行う。具体的には、EC10は、操作入力部14の制御を行うKBC(Keyboard Controller)と、電力制御に関する規格であるACPI(Advanced Configuration and Power Interface)に対応した電源管理を行うACPI/EC機能を持つ。また、EC10は、BIOSとのデータの受け渡しを行う共有メモリ空間を有しており、BIOSとの間でコマンドやデータの授受を行う。BIOSは、情報処理装置(ノート型PC50)内のハードウェアでのデータの入出力の処理を行うファームウェアである。
【0025】
また、EC10は、GPUの選択状況に応じて、外付けGPU4の電源のON/OFFを切り替えるための電源ON/OFF制御信号を生成し、生成した電源ON/OFF切替信号を外付けGPU用電源回路6に供給する。
【0026】
本開示のノート型PC50は、外部モニタ12を接続することも可能である。外部モニタ12は、LCDや有機EL等よりなるディスプレイであり、ノート型PC50には、DVI端子(Digital Visual Interface)やHDMI端子(High-Definition Multimedia Interface)等によりコネクタ11を介して接続される。
【0027】
操作入力部14は、キーボード、タッチパッド、マウス等よりなり、ユーザによる操作の内容に応じた操作信号を生成してEC10に供給する。ACアダプタ15は、商用電源から交流電源を入力し直流電源に変換してノート型PC50に供給する。バッテリ16は、ノート型PC50に内蔵される二次電池であり、ノート型PC50にACアダプタ15が接続されていない状態において、ノート型PC50の各部に電源の供給を行う。
【0028】
ファン17は、CPU1等から発生する熱を放熱する機構である。なお、内蔵GPU3が選択されている場合と外付けGPU4が選択されている場合とで、ファン17の回転数を異ならせるように、EC10に制御させてもよい。例えば、内蔵GPU3が選択されている場合には外付けGPU4が選択されている場合に比べてファン17の回転数を下げるようにしてもよい。これのような制御を行うことにより、ノート型PC50の消費電力をより下げることが可能となる。
【0029】
また、本実施の形態において内蔵GPU3または外付けGPU4を「実行」するとは、GPUへの電源供給を制御することにより、何れかのGPUに描画処理をさせることをいう。また、ノート型PC50は、図示はしないが、上記各ブロック以外にも、各種バスや端子等のインターフェース等、コンピュータとして必要な機能及びデバイスを有しているものとする。なお、図2において、EC10とその周辺の各部との間の構成は、EC10から見た制御構成だけを示してあり、例えば外部モニタ12への映像信号の供給路や、ACアダプタ15,バッテリ16からの電源供給路などは省略してある。
【0030】
[1−2.情報処理装置の動作の例]
次に、本開示の第1の実施形態に係る情報処理装置の動作について、図3のフローチャートを参照して説明する。なお、以降に示すフローチャートにおいては、内蔵GPU3を「iGPU3」と示し、外付けGPU4を「dGPU4」と示す。
【0031】
まず、操作入力部14への操作入力等に基づいてアプリケーションが起動されると(ステップS1)、起動されたアプリケーションが、高いグラフィックス処理性能を必要とするアプリケーションであるか否かがCPU1によって判断される(ステップS2)。起動されたアプリケーションが、例えばテキストエディタ等のGPUのパワー(処理性能)を必要としないアプリケーションであった場合には、ステップS2では“NO”が選択され、処理は終了となる。
【0032】
起動されたアプリケーションが、GPUのパワーを必要とするアプリケーションであった場合には、次に、作業負荷測定部としてのCPU1が、iGPU3とdGPU4の双方における作業負荷を測定する(ステップS3)。各GPUにおける作業負荷は、例えば、各GPUにおける消費電力の大きさや、iGPU3とdGPU4の半導体のチップ接合面の温度(ジャンクション温度)の高さ等によって測定する。ただし、消費電力やジャンクション温度の実測値が同じであっても、iGPU3とdGPU4とでは作業負荷の大きさは異なる。よって、同じX度であっても、iGPU3であれば作業負荷50%であるのに対してdGPU4では20%であるといったように、予め実測値と負荷率とを対応付けておき、作業負荷の大きさは負荷率によって判断するようにする。
【0033】
続いて、CPU1は、作業負荷が低かったのはどちらのGPUであるかを判断する(ステップS4)。作業負荷の大きさをジャンクション温度によって計る場合は、例えば、ジャンクション温度の絶対最大定格と、測定したジャンクション温度の差が大きい方のGPUを、作業負荷が少ないGPUと判断する等の運用が考えられる。
【0034】
ステップS4の判断の結果、作業負荷が低い方のGPUがdGPU4であった場合には、アプリケーションを実行するGPUとして、dGPU4を割り当てる制御を行う(ステップS5)。iGPU3の作業負荷が低かった場合には、アプリケーションを実行するGPUとしてiGPU3を割り当てる制御を行う(ステップS6)。
【0035】
上述した第1の実施の形態によれば、iGPU3(内蔵GPU3)とdGPU4(外付けGPU4)のうち、作業負荷がより低い方のGPUが、アプリケーションを実行するGPUとして自動的に選択されるようになる。例えば、すでに3DゲームがdGPU4によって実行されている状態で、新たに光学ドライブ9(図2参照)でブルーレイディスクの再生が行われた場合を考えてみる。この場合は、3Dゲームを実行中の外付けGPU4の作業負荷が高くなっていることが想定されるため、ステップS4での判断の結果、ステップS6の処理が行われることになる。
【0036】
本来であれば、比較的高い描画処理能力を必要とするブルーレイディスクの再生時の描画処理については、能力が高いdGPU4によって実行するのが好ましい。しかしながら、既に3DゲームがdGPU4によって実行されているために、ブルーレイディスクの再生が加わると、外付けGPU4の作業負荷が、安定して処理可能な作業負荷を超えてしまう可能性がある。このような場合、ステップS1で起動された、ブルーレイディスクの再生を行うアプリケーションは、作業負荷がより低い内蔵GPU3に割り当てられるようになる。つまり、内蔵GPU3と外付けGPU4とにおける作業負荷が分散されることため、それぞれのGPUにおける実効性能が向上する。
【0037】
<第2の実施の形態>
[2−1.情報処理装置の構成例]
続いて、本開示の第2の実施の形態に係る情報処理装置の構成例について、図4のブロック図を参照して説明する。図4において、図2と対応する箇所には同一の符号を付してあり、重複する説明は省略する。図2に示した構成と異なっている点は、CPU1から内蔵GPU3に対して、その動作クロック周波数を制御するための周波数制御信号が供給される点である。この周波数制御信号は、内蔵GPU3の動作クロック周波数が所定のクロック以下となるように指令するものである。周波数制御信号の制御値としては、例えば、内蔵GPU3が動作可能な最低周波数等が設定される。この最低周波数等とする制御値の周波数制御信号が出力されない場合には、内蔵GPU3の本来の能力を発揮できる動作クロック周波数に設定される。
【0038】
周波数制御信号の内蔵GPU3への供給は、例えば、専用のAPI(Application Program Interface)を設けて、このAPIを介してソフトウェア的に行うようにする。もしくは、内蔵GPU3を構成する各集積回路に物理的な信号ピンを設け、この信号ピンに周波数制御信号を印加するように構成してもよい。
【0039】
CPU1から内蔵GPU3への周波数制御信号の送信は、バッテリ16のみから電源供給が行われている場合、もしくは、「省電力モード」の設定がされている場合に行う。ここで「省電力モード」とは、所定の機能やデバイス(例えばユーザのコンピュータの使用にあたって比較的影響が少ない機能・デバイス)を無効化、低減化、簡易化等することにより、電力の消費を抑えるモードをいう。
【0040】
[2−2.情報処理装置の動作の例]
続いて、本開示の第2の実施の形態に係る情報処理装置の動作の例について、図5のフローチャートを参照して説明する。まず、操作入力部14への操作等を介して新たなアプリケーションが起動されると(ステップS11)、ノート型PC50がバッテリ16での動作中であるか、もしくは省電力モードでの動作中であるかの判断がCPU1によって行われる(ステップS12)。いずれでもない場合には、ここで処理は終了となる。バッテリ16による動作中もしくは、省電力モードでの動作中であると判断された場合には、ステップS11で新たに起動したアプリケーションはiGPU3で実行され(ステップS13)、さらに、iGPU3に周波数制御信号が送信されて、その動作クロック周波数が所定のクロック以下に制限される(ステップS14)。
【0041】
上述した第2の実施の形態によれば、バッテリ16による動作中もしくは省電力モードの設定中には、GPUの処理能力を必要とする新たに起動されたアプリケーションは、すべて内蔵GPU3で実行されるようになる。これにより、ノート型PC50の消費電力を抑える必要がある状況において、新たに起動されたアプリケーションが、消費電力の高い外付けGPU4で実行されてしまうことを防ぐことができる。さらに、内蔵GPU3の動作周波数が所定の周波数以下に制御されることで、消費電力をより低く抑えることが可能となる。
【0042】
なお、上述した実施の形態では、ノート型PC50がバッテリ16での動作中もしくは、省電力モードでの動作中である場合に、図5に示した処理を行う例を挙げたが、これに限定されるものではない。バッテリ16での動作中であっても、バッテリ16の残量が充分である(予め設定した所定のレベル以上である)場合には、図5に示した処理を行わないようにしてもよい。つまり、バッテリ16の残量に応じて制御を変えるようにしてもよい。
【0043】
<3.第3の実施の形態>
[3−1.情報処理装置の構成例]
次に、本開示の第3の実施の形態に係る情報処理装置の構成例について、図6のブロック図を参照して説明する。図6において、図2(および図4)と対応する箇所には同一の符号を付してあり、重複する説明は省略する。図2に示した構成と異なっている点は、不揮発性メモリ7に、各種アプリケーションとそのアプリケーションの実行先となるGPUの対応付けを記した「アプリ−GPU対応テーブルT1」が記憶されている点である。なお、ここでは、アプリ−GPU対応テーブルT1が不揮発性メモリ7に記憶される例を示したが、これに限定されるものではなく、例えばドライブ8に記憶させるようにしてもよい。
【0044】
アプリ−GPU対応テーブルT1では、不揮発性メモリ7に記憶された各アプリケーションのうち、GPUの処理能力を必要とするすべてのアプリケーションを、以下の5つの分類のいずれかに分類している。
分類a:内蔵GPU3で必ず実行することが求められるアプリケーション
分類b:外付けGPU4で必ず実行することが求められるアプリケーション
分類c:内蔵GPU3で実行することが望ましいアプリケーション
分類d:外付けGPU4で実行することが望ましいアプリケーション
分類e:どちらのGPUで実行しても構わないアプリケーション
【0045】
第1の分類としての「分類a」および「分類b」は、実行先のGPUが予め静的に設定されるものであり、内蔵GPU3または外付けGPU4が持つ固有の機能を生かせるようなアプリケーションがこれらに分類される。「分類a」には、例えば、ノート型PC50内に記憶されたコンテンツあるいはインターネット上のコンテンツを、テレビジョン受像器に無線で転送して表示させるアプリケーション等が分類される。「分類b」には、GPGPU(General-purpose computing on GPU)の技術を用いて開発されたプログラム、例えば、物理演算系のシミュレーションソフト等が分類される。
【0046】
第2の分類としての「分類c」,「分類d」,「分類e」には、各GPUにおけるアプリケーションの処理効率に応じて各アプリケーションが分類されるものである。これらに分類されたアプリケーションは、アプリケーション起動時における内蔵GPU3または外付けGPU4の負荷状況に応じて、実行先のGPUが動的に選択される。
【0047】
第3の分類としての「分類c」には、例えば、DVDの再生を行うアプリケーションや、Webのフラッシュコンテンツの描画を行うアプリケーション等が分類される。第4の分類としての「分類d」には、3Dゲームや、ブルーレイディスクの再生を行うアプリケーション等が分類される。第5の分類としての「分類e」には、例えば、3Dゲームのアプリケーションの中でも、それほど処理の重くないもの等が分類される。
【0048】
[3−2.情報処理装置の動作の例]
続いて、本開示の第3の実施の形態に係る情報処理装置の動作の例について、図7のフローチャートを参照して説明する。まず、ユーザによる操作入力部14への操作等を介して新たなアプリケーションが起動されると(ステップS21)、CPU1によって、起動されたアプリケーションがどの分類に区分されているかが確認される(ステップS22)。起動されたアプリケーションが分類aに区分されていた場合、つまり、iGPU3(内蔵GPU3)に静的に対応づけられたアプリケーションであった場合には、アプリケーションの実行先としてiGPU3が割り当てられる(ステップS23)。起動されたアプリケーションが分類bに区分されていた場合、つまり、dGPU4(外付けGPU4)に静的に対応づけられたアプリケーションであった場合には、dGPU4が割り当てられる(ステップS24)。
【0049】
起動されたアプリケーションが分類cに区分されていた場合、つまり、iGPU3での実行が望ましいとされるアプリケーションであった場合には、まず、CPU1によって、iGPU3の作業負荷が測定される(ステップS25)。続いて、測定された作業負荷が所定のレベルを超えているか否かが判断され(ステップS26)、所定のレベル以下であった場合には、アプリケーションの実行先としてiGPU3が割り当てられる(ステップS27)。測定された作業負荷が所定のレベルを超えていた場合には、iGPU3ではなくdGPU4が割り当てられる(ステップS28)。
【0050】
起動されたアプリケーションが分類dに区分されていた場合、つまり、dGPU4での実行が望ましいとされるアプリケーションであった場合には、CPU1によって、まず、dGPU4の作業負荷が測定される(ステップS29)。続いて、測定された作業負荷が所定のレベルを超えているか否かが判断され(ステップS30)、所定のレベル以下であった場合には、アプリケーションの実行先としてdGPU4が割り当てられる(ステップS31)。測定された作業負荷が所定のレベルを超えていた場合には、アプリケーションの実行先として、dGPU4ではなくiGPU3が割り当てられる(ステップS32)。
【0051】
起動されたアプリケーションが分類eに区分されていた場合、つまり、iGPU3とdGPU4のいずれで実行しても問題がないアプリケーションであった場合は、iGPU3とdGPU4の双方における作業負荷が測定される(ステップS33)。そして、作業負荷が少ないGPUはどちらのGPUであるか判断される(ステップS34)。iGPU3の作業負荷の方が少ない場合にはiGPU3が割り当てられ(ステップS35)、dGPU4の作業負荷の方が少ない場合には、dGPU4が割り当てられる(ステップS36)。
【0052】
なお、ステップS28やステップS32、ステップS36でGPUを割り当てる際に、割り当てようとするGPUに新しいアプリケーションを実行する余裕がない場合も想定される。GPUに新しいアプリケーションを実行する余裕がない場合とは、消費電力および/またはジャンクション温度が上限に達している場合等である。このような場合には、ユーザに対して、既に実行中のアプリケーションを終了するか、もしくは新たに起動させるアプリケーションの起動を延期するよう促す警告メッセージを表示するようにする。
【0053】
上述した第3の実施の形態によれば、「分類c」,「分類d」に分類されたアプリケーションは、そのGPUでの実行が望ましいとされる方のGPUにおける作業負荷が、所定のレベル以下である場合には、実行が推奨されている方のGPUで実行される。また、そのGPUでの実行が望ましいとされる方のGPUにおける作業負荷が、所定のレベルを超えている場合には、もう一方のGPUで実行される。「分類e」に分類されたアプリケーションは、内蔵GPU3と外付けGPU4のうち、作業負荷の低い方のGPUで実行される。したがって、起動されるアプリケーションの種類によって、いずれか一方のGPUばかりが選択されてしまうようなことがなくなる。つまり、各GPUの作業負荷が分散されるため、各GPUにおけるアプリケーションの実行効率が向上する。
【0054】
なお、上述した実施の形態では、「分類a」と「分類b」に分類されたアプリケーションは、どのような状況下においても予め対応づけられたGPUで実行させるようにしているが、これに限定されるものではない。例えば、省電力での動作が求められる状況においては、外付けGPU4での実行が対応づけられた「分類b」のアプリケーションであっても、内蔵GPU3で実行させるようにしてもよい。ただし、このような制御を行うと、場合によってはアプリケーションが正しく動作しないことも起こりうる。このような状況が想定される場合には、ユーザに対して、アプリケーションが正しく動作しない可能性がある旨を予め通知するようにする。
【0055】
図8は、このような処理を行う場合の、ノート型PC50の動作の例を示すフローチャートである。まず、ユーザによる操作入力部14への操作等を介して新たなアプリケーションが起動されると(ステップS41)、ノート型PC50がバッテリ16での動作中であるか、もしくは省電力モードでの動作中であるかが判断される(ステップS42)。バッテリ16での動作中もしくは、省電力モードでの動作中であった場合には、アプリケーションはiGPU3に割り当てられるとともに、iGPU3の動作クロック周波数が予め定められた所定の周波数以下に制限される(ステップS43)。
【0056】
ステップS42で、ノート型PC50がバッテリ16での動作中、もしくは省電力モードでの動作中ではないと判断された場合には、起動されたアプリケーションがどの分類に区分されているかが確認される(ステップS44)。これ以降のステップS45〜ステップS58の処理は、図7に示したステップS23〜ステップS36の処理と同一であるため、説明は省略する。
【0057】
このような制御を行うことにより、ノート型PC50の消費電力を抑える必要がある状況において、消費電力の高い外付けGPU4でアプリケーションが実行されてしまうことがなくなる。さらに、内蔵GPU3の動作クロック周波数の制限も行うことで、消費電力をより低く抑えることが可能となる。
【0058】
<4.第3の実施の形態の変形例>
上記で説明した第3の実施の形態では、「アプリ−GPU対応テーブルT1」に登録されるアプリケーションが、ノート型PC50にすでにインストール済み(不揮発性メモリ7に記憶済み)のものである場合を例に挙げたが、これに限定されるものではない。ユーザが新たにインストールするアプリケーションについても、その都度上述した分類を適応し、分類に応じたGPUの切り替えを行うようにしてもよい。
【0059】
このように構成する場合のノート型PC50の構成例を、図9に示す。図9において、図2(および図4、図6)と対応する箇所には同一の符号を付してあり、説明は省略する。図6に示した構成と異なっている点は、不揮発性メモリ7に、「アプリ特性情報データベースD1」と、「ベンチマークソフトS1」が記憶されている点である。「アプリ特性情報データベースD1」とは、アプリケーションの実行時に各GPUにかかる作業負荷についての情報を、アプリケーションの特性情報として蓄積したものである。
【0060】
アプリケーションの実行時に各GPUにかかる作業負荷についての情報は、特定の負荷状況を再現するよう設計されたベンチマークソフトS1を用いて、所定のアプリケーションをベンチマークモードで実行することによって得ることができる。その測定結果の、内蔵GPU3と外付けGPU4のそれぞれの処理性能と消費電力を、アプリ特性情報データベースD1に蓄積していく。そして、アプリ特性情報データベースD1に蓄積された情報に基づいて、第3の実施の形態で説明したアプリ−GPU対応テーブルT1を構成する。そして、アプリ−GPU対応テーブルT1に記載された分類に基づいて、実際のGPUの割り当てを行うようにする。
【0061】
このように構成および処理することで、不揮発性メモリ7に記憶済みのアプリケーションだけでなく、ノート型PC50に新たにインストールされたアプリケーションも、その特性に適したGPUで実行させることが可能となる。
【0062】
なお、アプリケーションの実行時に各GPUにかかる作業負荷を計測するのに適したベンチマークソフトS1が、ノート型PC50にインストールされていない場合には、アプリケーションを実際に実行している最中の計測データを用いるようにしてもよい。すなわち、アプリケーション実行中における内蔵GPU3および外付けGPU4の処理性能および消費電力の実測値を、アプリ特性情報データベースD1に反映させるようにしてもよい。このように構成しても、ベンチマークソフトS1を用いて測定を行った場合と同様の効果を得られる。
【0063】
また、他の実施形態として、アプリ特性情報データベースD1をネットワーク上のサーバ(図示略)等に蓄積しておく構成をとってもよい。ユーザは、新たにアプリケーションをインストールする際に、サーバからそのアプリケーションの特性情報をダウンロードする。そして、ダウンロードした特性情報で、ノート型PC50内のアプリ−GPU対応テーブルT1を更新する。これにより、新たにインストールしたアプリケーションの実行時に、アプリ−GPU対応テーブルT1に記載された情報に基づいて、そのアプリケーションの特性に適したGPUが自動的に選択されるようになる。サーバ上のアプリ特性情報データベースD1は、パーソナルコンピュータのベンダーや、アプリケーションのベンダー、任意のユーザが構築し、これらのメンバーによって適宜更新できるように構成しておく。
【0064】
このように構成および処理を行うことにより、新たなアプリケーションをノート型PC50にインストールする際に、ユーザがその都度ベンチマークモードでアプリケーションを実行しなくてもよくなる。すなわち、サーバからダウンロードしたアプリケーションの特性情報が、アプリ−GPU対応テーブルT1に追加され、このテーブルの情報に基づいて、インストールしたアプリケーションの特性に応じたGPUが自動的に選択されるようになる。
【0065】
また、このように構成および処理を行うことで、新たにインストールを行ったアプリケーションだけでなく、これからインストールを行うアプリケーションについても、その特性情報を取得することも可能となる。これにより、自分のノート型PC50ではアプリケーションの性能を十分に生かしきれないと判断した場合に、そのアプリケーションのインストールを行わない等のアクションを取ることも可能となる。
【0066】
なお、本開示は以下のような構成も取ることができる。
(1)入力された画像データに所定の信号処理を施して映像信号を生成する第1の描画処理部と、
前記第1の描画処理部の有する描画処理能力よりも高い描画処理能力を有し、入力された画像データに所定の信号処理を施して映像信号を生成する第2の描画処理部と、
前記第1の描画処理部における作業負荷および/または前記第2の描画処理部における作業負荷を測定する作業負荷測定部と、
アプリケーションが記憶される記憶部と、
前記記憶部から読み出した前記アプリケーションが、前記第1の描画処理部または前記第2の描画処理部による描画処理を要するアプリケーションであった場合に、前記作業負荷測定部で測定された前記第1の描画処理部における作業負荷および/または前記第2の描画処理部における作業負荷の情報に基づいて、前記第1の描画処理部と前記第2の描画処理部のいずれか一方を、前記記憶部から読み出した前記アプリケーションの実行先として選択する制御部とを備えた
情報処理装置。
(2)前記制御部は、前記第1の描画処理部と前記第2の描画処理部のうち、前記作業負荷測定部で測定された作業負荷が低い方の描画処理部を、前記記憶部から読み出した前記アプリケーションの実行先として選択する(1)に記載の情報処理装置。
(3)前記制御部は、当該情報処理装置の消費電力を抑える必要があると判断した場合に、前記記憶部から読み出した前記アプリケーションの描画処理を前記第1の描画処理部に行わせ、かつ、前記第1の描画処理部の動作周波数を所定の周波数以下に下げる制御を行う(1)または(2)に記載の情報処理装置。
(4)前記制御部が、当該情報処理装置の消費電力を抑える必要があると判断する場合とは、当該情報処理装置に内蔵された二次電池から電力の供給を受けている場合もしくは、当該情報処理装置の消費電力を抑える省電力モードの設定がされている場合である(1)〜(3)のいずれかに記載の情報処理装置。
(5)前記作業負荷測定部は、前記作業負荷の大きさを、前記第1の描画処理部と前記第2の描画処理部の消費電力の大きさおよび/または、前記第1の描画処理部と前記第2の描画処理部を構成する半導体素子のチップ接合面温度の大きさによって判断する(1)〜(4)のいずれかに記載の情報処理装置。
(6)前記制御部は、前記作業負荷測定部で測定された前記作業負荷が、予め上限として設定された値に達した場合は、前記第1の描画処理部および/または前記第2の描画処理部で描画が行われている前記アプリケーションの終了を促すメッセージ、もしくは、前記アプリケーションの新たな実行の延期を促すメッセージを出力する制御を行う(1)〜(5)のいずれかに記載の情報処理装置。
(7)前記記憶部に記憶されるアプリケーションは、前記第1の描画処理部と前記第2の描画処理部のうち、予め定められたいずれか一方の描画処理部によって必ず描画処理が行われる第1の分類と、前記第1の描画処理部と前記第2の描画処理部のいずれかによって描画処理が行われる第2の分類とに区分され、
前記制御部は、前記記憶部から読み出したアプリケーションが前記第2の分類に区分されたアプリケーションであった場合に、前記アプリケーションの実行先として、前記第1の描画処理部と前記第2の描画処理部のいずれか一方を選択する(1)〜(6)のいずれかに記載の情報処理装置。
(8)前記第2の分類は、さらに、前記第1の描画処理部で描写処理が行われることが望ましい第3の分類と、前記第2の描画処理部で描写処理が行われることが望ましい第4の分類と、前記第1の描画処理部と前記第2の描画処理部のいずれで描画処理が行われてもよい第5の分類とを含む(7)に記載の情報処理装置。
(9)前記制御部は、前記記憶部から読み出したアプリケーションが前記第3の分類に区分されたアプリケーションであった場合は、前記第1の描画処理部における作業負荷を測定し、前記作業負荷が所定のレベル以下であった場合は前記第1の描画処理部に前記描画処理を行わせ、前記作業負荷が所定のレベルを超えていた場合は前記第2の描画処理部に前記描画処理を行わせ、前記記憶部から読み出したアプリケーションが前記第4の分類に区分されたアプリケーションであった場合は、前記第2の描画処理部における作業負荷を測定し、前記作業負荷が所定のレベル以下であった場合は前記第2の描画処理部に前記描画処理を行わせ、前記作業負荷が所定のレベルを超えていた場合は前記第1の描画処理部に前記描画処理を行わせ、前記記憶部から読み出したアプリケーションが前記第5の分類に区分されたアプリケーションであった場合は、前記第1の描画処理部および前記第2の描画処理部における作業負荷を測定し、前記第1の描画処理部と前記第2の描画処理部のうち、前記測定した作業負荷が低い方の描画処理部に前記描画処理を行わせる(7)または(8)に記載の情報処理装置。
(10)前記アプリケーションの第1〜第5の分類への区分は、前記アプリケーションを前記第1の描画処理部および前記第2の描画処理部で実行させた場合の、前記第1の描画処理部と前記第2の描画処理部の処理性能および消費電力の測定および評価結果に基づいて行われる(7)〜(9)のいずれかに記載の情報処理装置。
(11)アプリケーションを記憶することと、
入力された画像データに所定の信号処理を施して映像信号を生成する第1の描画処理部における作業負荷および/または、前記第1の描画処理部の有する描画処理能力よりも高い描画処理能力を有し、入力された画像データに所定の信号処理を施して映像信号を生成する第2の描画処理部における作業負荷を測定することと、
前記アプリケーションが、前記第1の描画処理部または前記第2の描画処理部による描画処理を要するアプリケーションであった場合に、前記測定された前記第1の描画処理部における作業負荷および/または前記第2の描画処理部における作業負荷の情報に基づいて、前記第1の描画処理部と前記第2の描画処理部のいずれか一方を、前記アプリケーションの実行先として選択することとを含む
情報処理方法。
【符号の説明】
【0067】
1…CPU、2…チップセット、3…内蔵GPU(iGPU)、4…外付け(dGPU)、5…映像表示部、6…GPU用電源回路、7…不揮発性メモリ、8…ドライブ、9…光学ドライブ、10…EC、11…コネクタ、12…外部モニタ、13…接続検出部、14…操作入力部、15…ACアダプタ、16…バッテリ、17…ファン、31…映像信号出力部、51…本体、52…ディスプレイユニット、D1…アプリ特性情報データベース、50…ノート型PC、S1…ベンチマークソフト、T1…アプリ−GPU対応テーブル

【特許請求の範囲】
【請求項1】
入力された画像データに所定の信号処理を施して映像信号を生成する第1の描画処理部と、
前記第1の描画処理部の有する描画処理能力よりも高い描画処理能力を有し、入力された画像データに所定の信号処理を施して映像信号を生成する第2の描画処理部と、
前記第1の描画処理部における作業負荷および/または前記第2の描画処理部における作業負荷を測定する作業負荷測定部と、
アプリケーションが記憶される記憶部と、
前記記憶部から読み出した前記アプリケーションが、前記第1の描画処理部または前記第2の描画処理部による描画処理を要するアプリケーションであった場合に、前記作業負荷測定部で測定された前記第1の描画処理部における作業負荷および/または前記第2の描画処理部における作業負荷の情報に基づいて、前記第1の描画処理部と前記第2の描画処理部のいずれか一方を、前記記憶部から読み出した前記アプリケーションの実行先として選択する制御部とを備えた
情報処理装置。
【請求項2】
前記制御部は、前記第1の描画処理部と前記第2の描画処理部のうち、前記作業負荷測定部で測定された作業負荷が低い方の描画処理部を、前記記憶部から読み出した前記アプリケーションの実行先として選択する
請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、当該情報処理装置の消費電力を抑える必要があると判断した場合に、前記記憶部から読み出した前記アプリケーションの描画処理を前記第1の描画処理部に行わせ、かつ、前記第1の描画処理部の動作クロック周波数を所定の周波数以下に制限する制御を行う
請求項2に記載の情報処理装置。
【請求項4】
前記制御部が、当該情報処理装置の消費電力を抑える必要があると判断する場合とは、当該情報処理装置に内蔵された二次電池から電力の供給を受けている場合もしくは、当該情報処理装置の消費電力を抑える省電力モードの設定がされている場合である
請求項3に記載の情報処理装置。
【請求項5】
前記作業負荷測定部は、前記作業負荷の大きさを、前記第1の描画処理部と前記第2の描画処理部の消費電力の大きさおよび/または、前記第1の描画処理部と前記第2の描画処理部を構成する半導体素子のチップ接合面温度の大きさによって判断する
請求項4に記載の情報処理装置。
【請求項6】
前記制御部は、前記作業負荷測定部で測定された前記作業負荷が、予め上限として設定された値に達した場合は、前記第1の描画処理部および/または前記第2の描画処理部で描画が行われている前記アプリケーションの終了を促すメッセージ、もしくは、前記アプリケーションの新たな実行の延期を促すメッセージを出力する制御を行う
請求項5に記載の情報処理装置。
【請求項7】
前記記憶部に記憶されるアプリケーションは、前記第1の描画処理部と前記第2の描画処理部のうち、予め定められたいずれか一方の描画処理部によって必ず描画処理が行われる第1の分類と、前記第1の描画処理部と前記第2の描画処理部のいずれかによって描画処理が行われる第2の分類とに区分され、
前記制御部は、前記記憶部から読み出したアプリケーションが前記第2の分類に区分されたアプリケーションであった場合に、前記アプリケーションの実行先として、前記第1の描画処理部と前記第2の描画処理部のいずれか一方を選択する
請求項1に記載の情報処理装置。
【請求項8】
前記第2の分類は、さらに、前記第1の描画処理部で描写処理が行われることが望ましい第3の分類と、前記第2の描画処理部で描写処理が行われることが望ましい第4の分類と、前記第1の描画処理部と前記第2の描画処理部のいずれで描画処理が行われてもよい第5の分類とを含む
請求項7に記載の情報処理装置。
【請求項9】
前記制御部は、前記記憶部から読み出したアプリケーションが前記第3の分類に区分されたアプリケーションであった場合は、前記第1の描画処理部における作業負荷を測定し、前記作業負荷が所定のレベル以下であった場合は前記第1の描画処理部に前記描画処理を行わせ、前記作業負荷が所定のレベルを超えていた場合は前記第2の描画処理部に前記描画処理を行わせ、前記記憶部から読み出したアプリケーションが前記第4の分類に区分されたアプリケーションであった場合は、前記第2の描画処理部における作業負荷を測定し、前記作業負荷が所定のレベル以下であった場合は前記第2の描画処理部に前記描画処理を行わせ、前記作業負荷が所定のレベルを超えていた場合は前記第1の描画処理部に前記描画処理を行わせ、前記記憶部から読み出したアプリケーションが前記第5の分類に区分されたアプリケーションであった場合は、前記第1の描画処理部および前記第2の描画処理部における作業負荷を測定し、前記第1の描画処理部と前記第2の描画処理部のうち、前記測定した作業負荷が低い方の描画処理部に前記描画処理を行わせる
請求項8に記載の情報処理装置。
【請求項10】
前記アプリケーションの第1〜第5の分類への区分は、前記アプリケーションを前記第1の描画処理部および前記第2の描画処理部で実行させた場合の、前記第1の描画処理部と前記第2の描画処理部の処理性能および消費電力の測定および評価結果に基づいて行われる
請求項9に記載の情報処理装置。
【請求項11】
アプリケーションを記憶することと、
入力された画像データに所定の信号処理を施して映像信号を生成する第1の描画処理部における作業負荷および/または、前記第1の描画処理部の有する描画処理能力よりも高い描画処理能力を有し、入力された画像データに所定の信号処理を施して映像信号を生成する第2の描画処理部における作業負荷を測定することと、
前記アプリケーションが、前記第1の描画処理部または前記第2の描画処理部による描画処理を要するアプリケーションであった場合に、前記測定された前記第1の描画処理部における作業負荷および/または前記第2の描画処理部における作業負荷の情報に基づいて、前記第1の描画処理部と前記第2の描画処理部のいずれか一方を、前記アプリケーションの実行先として選択することとを含む
情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−256223(P2012−256223A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−129191(P2011−129191)
【出願日】平成23年6月9日(2011.6.9)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】