以下、本発明の実施形態について図面を参照しながら説明する。
まず、図1および図2を参照して、本発明の一実施形態に係るコンピュータの構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータ10として実現されている。
図1は、ノートブック型パーソナルコンピュータ10のディスプレイユニットを開いた状態における斜視図である。本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(Liquid Crystal Display:表示部)17から構成される表示装置が組み込まれており、そのLCD17の表示画面は、ディスプレイユニット12のほぼ中央に位置されている。
ディスプレイユニット12は、コンピュータ本体11に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体11は薄い箱形の筐体を有しており、その上面にはキーボード13、本コンピュータ10を電源オン/オフするためのパワーボタン14、入力操作パネル15およびタッチパッド16などが配置されている。
入力操作パネル15は、押下されたボタンに対応するイベントをシステムに入力する入力装置であり、複数の機能をそれぞれに起動するための複数のボタンを備えている。これらボタン群には、GPU(Graphics Processing Unit:以下、グラフィックスコントローラとも称する)の切り替えのトリガーとなる切り替えスイッチ15A、DVD(Digital Versatile Disc)起動ボタン15B等が含まれている。
次に、図2を参照して、本コンピュータ10のシステム構成について説明する。
コンピュータ10は、図2に示されているように、CPU111、第1のGPU(第1の表示コントローラ)200、第2のGPU(第2の表示コントローラ)201を搭載したノースブリッジ112、主メモリ113、スイッチ部(選択部)202、LCD(表示部)17、切り替え回路203、サウスブリッジ119、ハードディスクドライブ(HDD)121、切り替えスイッチ15A、EC(エンベデッドコントローラIC)124およびネットワークコントローラ125、BIOS(Basic Input Output System)−ROM(制御部)120、電源制御部204等を備えている。
CPU111は、本コンピュータ10の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ(HDD)121から主メモリ113にロードされる、オペレーティングシステム(OS)および各種アプリケーションプログラムを実行する。
また、CPU111は、BIOS−ROM120に格納されたシステムBIOSも実行する。システムBIOSはハードウェア制御のためのプログラムである。
ノースブリッジ112はCPU111のローカルバスとサウスブリッジ119との間を接続するブリッジデバイスである。ノースブリッジ112には、主メモリ113をアクセス制御するメモリコントローラ、GPU201等が内蔵されている。また、ノースブリッジ112は、PCI Expressバスなどを介してGPU200との通信を実行する機能も有している。スイッチ部202は、GPU200およびGPU201からLCD17に出力される映像信号の切り替えを行う。すなわち、GPU200から出力された第1の映像信号をLCD17に表示している状態で、LCD17に出力する映像信号をGPU201から出力される第2の映像信号に切り替える処理を行う。切り替え回路203は、GPU200またはGPU201によってLCD17の電源のオン/オフを行うための回路である。
GPU200は、GPU201よりも処理性能が高く消費電力も大きいグラフィクスコントローラである。ACアダプタ等が接続されており、処理性能を重視する場合には、GPU200を用いる。また、バッテリ駆動や処理性能を求められない場合等には、GPU201に切り替えて使用する。
GPU201は、ノースブリッジ112に内蔵されており、GPU200よりも処理性能が低く消費電力も小さいグラフィクスコントローラである。バッテリ駆動や処理性能を求められない場合等には、GPU201を使用する。
サウスブリッジ119は、LPC(Low Pin Count)バス上の各デバイス、およびPCI(Peripheral Component Interconnect)バス上の各デバイスを制御する。また、サウスブリッジ119は、HDD121等を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ119は、BIOS−ROM120等をアクセス制御するための機能を有している。また、サウスブリッジ119は、GPIO(General Purpose Input/Output)123を有している。GPIO123は、汎用入出力ポートであり、各ポートは、入出力を制御する、ディレクションレジスタ(DDR)と出力データを格納する、ポート出力レジスタ(DOR)から構成されている。DORをリードした場合、入力指定のポートは、その入力状態が読み出され、出力指定のポートは、その出力状態が読み出される。DORは書き込み専用レジスタであり、DORの設定値が、データ入力レジスタ(DIR)によって出力ポート指定されたポートに反映される。このように、GPIO123のDIRによって指定されたポートの出力がスイッチ部202の映像信号の出力に反映されることにより、上述した第1の映像信号および第2の映像信号の切り替えを行う。
HDD121は、各種ソフトウェア及びデータを格納する記憶装置である。
EC124は、電力管理のためのエンベデッドコントローラ等が集積された1チップマイクロコンピュータである。このEC124は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10を電源オン/オフする機能を有している。
電源制御部204は、GPU200およびGPU201への電源供給を制御するパワーサプライコントローラICである。このパワーサプライコントローラICは、一般的にサウスブリッジ119にLPCバスを介して接続されているICである。現在使用しているグラフィックスコントローラがGPU201を使用している場合は、BIOS−ROM120は、電源制御部204を介してGPU200の電源回路をオフする。一方、現在使用しているグラフィックスコントローラがGPU200を使用している場合は、GPU201の映像信号の出力演算のための回路をオフする(ノースブリッジ112には電源が供給されている)。
BIOS−ROM120は、ユーザによる切り替えスイッチ15Aの操作に応じて、使用するグラフィクスコントローラをGPU200またはGPU201に切り替えを行う。また、BIOS−ROM120は、上述した電源制御部204を介して、GPU200およびGPU201への電源供給を制御する。さらに、BIOS−ROM120は、上述したGPIO123を介してスイッチ部202の映像信号の出力をGPU200からGPU201(または、GPU201からGPU200)に切り替える処理を行う。すなわち、BIOS−ROM120は、GPIO123のDIRをリードすることでスイッチ部202の出力状態を読み出し、スイッチ部202からの映像信号の出力の切り替えを行う。
このBIOS−ROM120は、図3に示すように、検出部120a、記憶部120b、制御部120cを備えている。ユーザにより切り替えスイッチ15Aが押下されると、切り替え要求信号がEC124に送られる。検出部120aは、切り替え要求信号をEC124を介して受け取ると、切り替え処理を開始する。記憶部120bは、現在の使用しているグラフィクスコントローラがGPU200であるかGPU201であるか等の情報を記憶する。制御部120cは、例えばGPU200からGPU201にGPUを切り替える場合、GPU201を起動させた後に、LCD17への電源の供給を停止させ、スイッチ部202にLCD17に出力する映像信号を第2の画像信号に切り替える要求を送信し、スイッチ部202によって映像信号の出力を切り替えさせた後に、LCD17への電源の供給を再開させ、GPU200を停止させる処理を行う。また、制御部120cは、GPUの切り替え処理に伴い、電源制御部204を介してGPU200およびGPU201への電源供給を制御する。すなわち、GPU200およびGPU201への電源供給のオン/オフを行う。なお、GPU201への電源供給をオフする場合は、ノースブリッジ112への電源供給を停止することなく、GPU201の映像信号の出力演算のための回路をオフするものとする。また、LCD17の電源をオフする場合は、画面イメージを表示しない表示オフ状態とするようにしてもよい。この表示オフ状態とは、LCD17の電源をオフする状態に加えて、例えばバックライトのみをオフする等の状態も含むものである。
次に、以上のように構成された本発明の実施形態に係る情報処理装置を適用した表示コントローラ切り換え方法について図4、図5のフローチャートおよび図6を参照して説明する。なお、図6は、GPU200、GPU201およびスイッチ部202からの出力信号の各クロック周波数の模式的な波形を示した図であり、LCD17の電源がオフされている時間(t1−t2)を波形に重ねて示している(GPU200およびGPU201は互いに異なるクロック周波数を出力している)。
図4は、GPU200からGPU200への切り替えを行う処理を示すフローチャートである。まず、現在の状態では、使用しているグラフィクスコントローラがGPU200であるので、GPU201の映像信号の出力演算のための回路はオフされている。さらに、GPU200からの映像信号の出力(スイッチ部202からの出力)は、図6に示すように、スイッチ部202を介してLCD17にクロック周波数αで出力されている。
BIOS−ROM120は、切り替えスイッチ15Aの押下による切り替え要求信号をEC124を介して受け取ると(ステップS101のYES:図6の時間t0)、BIOS−ROM120は、電源制御部204を介してGPU201の映像信号の出力演算のための回路への電源供給を開始する(ステップS102)。そしてGPU201は、映像信号をクロック周波数βでスイッチ部202に出力を開始する。
続いて、BIOS−ROM120は、現在使用しているグラフィクスコントローラであるGPU200に対し、電源制御部204からLCD17へ供給されている電源を切り替え回路203を介してオフするように制御する(ステップS103:図6の時間t1)。BIOS−ROM120は、GPIOを介してスイッチ部202の映像信号の出力をGPU200からGPU201に切り替える(ステップS104)。また、GPU200からの映像信号の出力も停止する(図6のGPU200のクロック周波数αの出力を停止)。次に、BIOS−ROM120は、GPU201に対し、切り替え回路203を介してLCD17の電源をオンするように制御する(図6の時間t2)。並行して、BIOS−ROM120は、電源制御部204を介してGPU200の回路全体の電源供給を停止し、GPU200の動作を停止させる(ステップS105)。この状態で、スイッチ部202からLCD17に出力される映像信号のクロック周波数はβに切り替わっている。なお、時間t1からt2の間は、LCD17の電源がオフされている時間であるので、LCD17には表示が行われることがなく、GPUの切り替えによる画像の乱れ等が表示されることがない。
以上で、GPU200からGPU201への切り替えを行う処理を終了する。
次に図5は、GPU201からGPU200への切り替えを行う処理を示すフローチャートである。まず、現在の状態では、使用しているグラフィクスコントローラがGPU201であるので、GPU200の電源回路はオフされている。さらに、GPU201からの映像信号の出力(スイッチ部202からの出力)は、スイッチ部202を介してLCD17に出力されている。
BIOS−ROM120は、切り替えスイッチ15Aの押下による切り替え要求信号をEC124を介して受け取ると(ステップS201のYES)、BIOS−ROM120は、電源制御部204を介してGPU200の電源回路への電源供給を開始する(ステップS202)。ここで、BIOS−ROM120は、完全にGPU200の電源回路への電源供給が開始されたかを確認する。電源供給が開始されていない場合は、電源供給が開始されるまで電源制御部204を介してGPU200の電源回路への電源供給を行う。
続いて、現在、使用しているグラフィクスコントローラであるGPU201は、切り替え回路203を介してLCD17の電源をオフする(ステップS203)。BIOS−ROM120は、GPIOを介してスイッチ部202の映像信号の出力をGPU201からGPU200に切り替える(ステップS204)。同時に、GPU201からの映像信号の出力も停止する。次に、BIOS−ROM120は、GPU200に対し、切り替え回路203を介してLCD17の電源をオンするように制御する。並行して、BIOS−ROM120は、電源制御部204を介してGPU201の映像信号の出力演算のための回路の電源供給を停止し、GPU201の動作を停止させる(ステップS105)。なお、ノースブリッジ112自体への電源供給は行われている。
以上で、GPU201からGPU200への切り替えを行う処理を終了する。
上述したように、GPUの切り替え処理においては、GPUごとの動作クロック数が異なるため、GPUの映像出力の切り替えを行う場合に同期信号のずれが発生する。これにより、切り替え時に映像出力されたディスプレイに画像の乱れやノイズ等が発生するが、この切り替えの期間にLCD17の電源をオフすることにより、画像の乱れやノイズ等をLCD17に表示しないようにしている。
上述したGPUの切り替えの期間は、例えば、図6に示すように、t1からt2の期間である。t1は切り替え開始時間を示し、t2は切り替え完了時間を示している。t1で切り替え処理を開始し、GPU200のクロック周波数αに基づいて映像出力を行っている状態からGPU201のクロック周波数βに基づいて映像出力を行う状態に切り替える処理を行う。このGPUの切り替え時にLCD17にノイズ等が発生するが、切り替えの期間(t1〜t2)にLCD17の電源をオフすることにより、画像の乱れやノイズ等をLCD17に表示されないようにしている。そしてt2で切り替え処理を完了し、ノイズ等の発生が収まった状態で、LCD17の電源をオンすることにより切り替え後のGPU201のクロック周波数βに基づいて映像出力を行うことができる。
上述したように、本実施形態によれば、複数のGPUの映像出力の表示切り替えを行った場合でも、GPUの切り替え時に表示装置の電源をオフすることにより、画像の乱れまたはノイズ等が表示装置に表示されることなくスムーズに切り替えることができる。また、ノイズ等を表示装置に表示させないようにすることにより、GPUの切り替え時における表示装置への負荷を軽減させ、信頼性の向上を図ることができる。
また、上述した本実施形態では、EC124は、ユーザによる切り替えスイッチ15Aの操作に応じて、使用するグラフィクスコントローラの切り替えを行っているが、グラフィクスコントローラの切り替えのトリガーはこれに限定されるものではない。例えば、コンピュータ10が備えるバッテリの残り容量が変化した場合や、ACアダプタが接続された場合、GPUの処理性能の要求が変化した場合等の状態を検知して、自動的に使用するグラフィクスコントローラを切り替えるようにしてもよい。すなわち、バッテリの残り容量が変化した場合は、GPU200を使用している場合は、消費電力の少ないGPU201に切り替える。さらに、ACアダプタが接続された場合は、GPU201を使用している場合は、処理能力の高いGPU200に切り替える。また、処理性能の要求が変化した場合は、動画像の再生要求が発生した場合等には、GPU201を使用している場合は、処理能力の高いGPU200に切り替える等の形態としてもよい。
なお、本発明は、上述した実施形態そのままに限定されるものではない。本発明は、実施段階では、その要旨を逸脱しない範囲で構成要素を変更して具現化できる。
また、上述した実施形態に開示されている複数の構成要素を適宜に組み合わせることで、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。