(57)【要約】多くのコンピューティング装置は今や２個以上のグラフィックスサブシステムを備える。多数のグラフィックスサブシステムは、種々の能力を有することができ、また、例えば、１個のサブシステムが他のサブシステムよりも多くの平均電力を消費して、異なる量の電力を消費し得る。高電力消費グラフィックスサブシステムは、コンピューティング装置に結合されるとともに、低電力消費グラフィックスサブシステムの代わりに、または、該低電力消費グラフィクスサブシステムに加えられた形態で使用可能であり、結果的には、高い性能または付加的な能力と増大した全電力消費とをもたらす。高電力消費グラフィックスサブシステムの使用から低電力消費グラフィックスサブシステムへ移行することによって、高電力消費グラフィックスサブシステムを低電力消費モードに位置づけている間、全電力消費は低減される。
2009539192.tif 000002
【特許請求の範囲】
【請求項１】
電子装置であって、
グラフィックスをレンダリングするために動作可能な第１のグラフィックスサブシステムと、
グラフィックスをレンダリングするために動作可能な第２のグラフィックスサブシステムと、
前記第１のグラフィックスサブシステムおよび前記第２のグラフィックスサブシステムの両方と通信しているディスプレイと、
プロセッサと、
を備え、
前記プロセッサは、プロセッサ実行可能命令を実行することによって、前記電子装置を第１のモードから第２のモードに移行させ、
前記第１のモードにおいて、前記第２のグラフィックスサブシステムは、前記ディスプレイにグラフィックスをレンダリングし、
前記第２のモードにおいて、前記第１のグラフィックスサブシステムは、前記ディスプレイにグラフィックスをレンダリングし、そして前記第２のグラフィックスサブシステムは、低電力消費モードに位置づけられることを特徴とする電子装置。
【請求項２】
前記電子装置は、前記プロセッサと通信している拡張バスを付与するバスインタフェースをさらに備えており、前記第１のグラフィックスサブシステムは前記バスインタフェースと統合されている請求項１の電子装置。
【請求項３】
前記第２のグラフィックスサブシステムはドッキングステーションに形成されている請求項１の電子装置。
【請求項４】
前記第１のグラフィックスサブシステムと、前記第２のグラフィックスサブシステムと、前記プロセッサとはマザーボード上に含まれている請求項１の電子装置。
【請求項５】
前記電子装置は、前記拡張バスと相互接続された周辺装置拡張カードをさらに備えており、前記第２のグラフィックスサブシステムは前記周辺装置拡張カードに形成されている請求項２の電子装置。
【請求項６】
前記電子装置は、更に、スイッチを備え、
前記スイッチは、
前記第１のグラフィックスサブシステムのビデオ出力と相互接続された第１の信号入力と、
前記第２のグラフィックスサブシステムのビデオ出力と相互接続された第２の信号入力と、
前記第１の信号入力および前記第２の信号入力の一方における信号を前記ディスプレイに供給する出力と、
前記第１の信号入力および前記第２の信号入力のどちらが前記第１及び第２のグラフィックスサブシステムに相互接続された前記ディスプレイに供給されるかを選定するために前記プロセッサと通信している制御入力と、
を備える請求項１の電子装置。
【請求項７】
前記スイッチはマルチプレクサよりなる請求項６の電子装置。
【請求項８】
前記電子装置は、更に、前記第２のグラフィックスサブシステムを前記低電力消費モードで動作させるために前記第２のグラフィックスサブシステムと相互接続された電力コントローラを備える請求項１の電子装置。
【請求項９】
前記電子装置は、更に、前記第１のグラフィックスサブシステムを前記第１のモードで動作させるために前記第１のグラフィックスサブシステムと相互接続された電力コントローラを備える請求項１の電子装置。
【請求項１０】
前記拡張バスはＰＣＩ  Ｅｘｐｒｅｓｓバスよりなる請求項２の電子装置。
【請求項１１】
前記電力コントローラは前記第２のモードにおいて前記第２のグラフィックスサブシステムの少なくとも一部への電力を遮断する請求項８の電子装置。
【請求項１２】
前記電力コントローラは前記第２のモードにおいて前記第２のグラフィックスサブシステムのメモリクロックおよびピクセルクロックのうちの少なくとも一方を低減する請求項８の電子装置。
【請求項１３】
前記電力コントローラは前記第２のモードにおいて前記第２のグラフィックスサブシステムの少なくとも一部に供給される電圧を低減する請求項８の電子装置。
【請求項１４】
前記コンピュータ実行可能命令はユーザ選択に応答して前記電子装置を前記第２のモードに位置づける請求項１の電子装置。
【請求項１５】
前記プロセッサ実行可能命令は低減した電力状態の感知に応答して前記電子装置を前記第２のモードに位置づける請求項１の電子装置。
【請求項１６】
前記電子装置は、更に、ＤＣ電源を備える請求項１５の電子装置。
【請求項１７】
前記電子装置は、更に、ＡＣ電源に接続可能な電源を備えており、前記低減した電力状態は、前記コンピューティング装置が前記ＡＣ電源に接続可能な前記電源によってもはや給電されていないことを感知することを含む請求項１６の電子装置。
【請求項１８】
前記低減した電力状態は前記ＤＣ電源の低電力状態を感知することを含む請求項１６の電子装置。
【請求項１９】
前記第１のグラフィックスサブシステムはフレームバッファの画像を前記ディスプレイに呈示するディスプレイインタフェースを備えており、前記第２のグラフィックスサブシステムは、前記第１のモードでの前記ディスプレイインタフェースによる表示のためにグラフィックスを前記フレームバッファに供給する請求項１の電子装置。
【請求項２０】
前記電子装置は、更に、
前記第２のグラフィックスサブシステムに対応するローカルメモリと、
前記ローカルメモリとフレームバッファとの間でデータを転送する直接メモリアクセスコントローラと、
を備えており、
前記第１のグラフィックスサブシステムは、前記フレームバッファの画像を前記ディスプレイに呈示するディスプレイインタフェースを備えており、
前記第２のグラフィックスサブシステムは、グラフィックスデータを前記ローカルメモリに供給し、そして前記直接メモリアクセスコントローラは前記第１のモードにおいて前記グラフィックスデータを前記フレームバッファに転送する請求項１の電子装置。
【請求項２１】
前記第１のグラフィックスサブシステムおよび前記第２のグラフィックスサブシステムは、それぞれ、第１および第２のグラフィックスエンジンを備えており、前記第２のグラフィックスエンジンは前記第２のモードにおいてアイドル状態のままである請求項１の電子装置。
【請求項２２】
第１および第２のグラフィックスサブシステムを有するコンピューティング装置を動作させる方法であって、前記方法は、
高電力消費モードにおいて、前記第１及び第２のグラフィックスサブシステムと相互接続されたディスプレイでの表示のために前記第２のグラフィックスサブシステムを用いてグラフィックスをレンダリングすることと、
ソフトウェアを実行することと、
を含み、
前記ソフトウェアは、
前記コンピューティング装置の所望の低電力消費モードを検出し、
前記所望の低電力消費モードの検出に応答して前記第２のグラフィックスサブシステムを低電力消費モードに位置づけ、
前記第２のグラフィックスサブシステムが前記低電力消費モードにある間、前記ディスプレイにグラフィックスをレンダリングするように前記第１のグラフィックスサブシステムを構成することを特徴とする方法。
【請求項２３】
前記ソフトウェアは、ＤＣ電源を使用して前記コンピューティング装置の動作を検出することによって前記所望の低電力消費モードを検出する請求項２２の方法。
【請求項２４】
前記コンピューティング装置は可搬型コンピューティング装置であり、前記第２のグラフィックスサブシステムは周辺装置拡張バスによって前記コンピューティング装置と相互接続された周辺装置拡張カードに形成されている請求項２２の方法。
【請求項２５】
前記方法は、更に、前記コンピューティング装置の前記高電力消費モードを検出し、応答して、前記ディスプレイにグラフィックスをレンダリングするように前記第２のグラフィックスサブシステムを構成する前記ソフトウェアを実行することを含む請求項２２の方法。
【請求項２６】
前記第２のグラフィックスサブシステムは、前記第２のグラフィックスサブシステムが前記高電力消費モードにある間に前記第１のグラフィックスサブシステムのフレームバッファに前記グラフィックスを供給することによって前記ディスプレイにグラフィックスをレンダリングする請求項２２の方法。
【請求項２７】
前記第１のグラフィックスサブシステムは、前記第２のグラフィックスサブシステムが前記低電力消費モードにある間に前記第１のグラフィックスサブシステムのフレームバッファに前記グラフィックスを供給することによって前記ディスプレイにグラフィックスをレンダリングする請求項２２の方法。
【請求項２８】
前記第２のグラフィックスサブシステムは、前記第２のグラフィックスサブシステムが前記高電力消費モードにある間に前記第２のグラフィックスサブシステムのフレームバッファに前記グラフィックスを供給することによって前記ディスプレイにグラフィックスをレンダリングし、
前記方法は、更に、前記コンピューティングシステムが前記高電力消費モードにある時に前記第２のグラフィックスサブシステムの前記フレームバッファから前記第１のグラフィックスサブシステムの前記フレームバッファへ前記グラフィックスを転送することを含む請求項２５の方法。
【請求項２９】
第１および第２のグラフィックスサブシステムを有するコンピューティング装置を動作させる方法であって、前記方法は、
低電力消費モードにおいて、前記第１及び第２のグラフィックスサブシステムと相互接続されたディスプレイでの表示のために前記第１のグラフィックスサブシステムを用いてグラフィックスをレンダリングすることと、
ソフトウェアを実行することと、
を含み、
前記ソフトウェアは、
前記コンピューティング装置の所望の高電力消費モードを検出し、
前記所望の高電力消費モードの検出に応答して前記第２のグラフィックスサブシステムを高電力消費モードに位置づけ、
前記ディスプレイにグラフィックスをレンダリングするように前記第２のグラフィックスサブシステムを構成することを特徴とする方法。
【請求項３０】
可搬型コンピューティング装置であって、
ＤＣ電源と、ディスプレイと、中央処理装置と、第１のグラフィックスサブシステムと、マザーボード上のメモリとを収容するハウジングと、
前記ハウジングに形成された周辺装置拡張スロットと、
前記周辺装置拡張スロットの周辺装置拡張カードの第２のグラフィックスサブシステムと、
を備えており、
前記メモリは、電力管理ソフトウェアを記憶しており、
前記電力管理ソフトウェアが実行された時に前記電力管理ソフトウェアは、前記周辺装置拡張カードの前記第２のグラフィックスサブシステムを高電力消費モードから低電力消費モードに移行させ、所望の低電力モードの感知に応答して前記第１のグラフィックスサブシステムを用いてグラフィックスをレンダリングし、
前記高電力消費モードにおいて、前記周辺装置拡張カードの前記第２グラフィックスサブシステムはグラフィックスをレンダリングすることを特徴とする可搬型コンピューティング装置。
【請求項３１】
前記可搬型コンピューティング装置は、更に、ＡＣ電源に接続された電源を備えており、前記所望の低電力モードの前記感知は、前記ＡＣ電源に接続された前記電源からの前記可搬型コンピューティング装置への給電から、前記ＤＣ電源からの前記可搬型コンピューティング装置への給電に移行することを感知することを含む請求項３０の可搬型コンピューティング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は２００６年５月３０日出願の米国特許出願番号第１１／４２１００５号の利益を主張するものであり、その内容全体はこれにより参照によって採り入れられる。
【０００２】
本発明は、一般に電子装置における電力消費の低減に、より詳しくは、複数のグラフィックスプロセッサを有する装置における電力消費を引き下げる方法ならびに、関係する装置およびソフトウェアに関する。
【背景技術】
【０００３】
従来のコンピューティング装置といった多くの電子装置は現在、２次元および３次元グラフィックスのレンダリング、動画ビデオの復号化および符号化などが可能なグラフィックスサブシステムを含む。これらの機能および望ましい処理速度を提供するために、現代のグラフィックスサブシステムは絶え間なく増加する数のトランジスタを含む。当然ながら、トランジスタ数の増加は、グラフィックスサブシステムによる呼応したより大きな電力消費につながっている。
【０００４】
その結果、最速かつ豊富な機能のグラフィックスサブシステムは、ほとんどの場合、増大した電力需要を満たすことができる装置のために確保されている。ラップトップ、パーソナルディジタルアシスタント、ビデオおよびオーディオプレーヤ、携帯電話などといった可搬型コンピューティング装置はしばしば、機能的に限られているが電気的に効率的な（すなわち低電力の）構成要素を装備している。
【０００５】
これらのグラフィックスサブシステムはたいてい、プロセッサ相互接続回路（しばしば「チップセット」と呼ばれる）といった他のコンピューティング構成要素に組み込まれている。
【０００６】
近年、固定型コンピュータのそれらに匹敵するグラフィックス機能および性能を可搬型装置に提供する傾向が存在する。たいていこれは、可搬型装置へのオプションの外部の強力なグラフィックスサブシステムの追加を可能にすることによって行われる。例えば、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）規格は、ラップトップコンピュータへの外部構成要素として、グラフィックスサブシステムを含むＰＣＩ  Ｅｘｐｒｅｓｓ準拠グラフィックスカードの相互接続を想定している。
【０００７】
同時に、ワイヤレス構成要素、大型ディスプレイなどといった他のコンピューティング機能の進歩は、可搬型装置およびノート型コンピュータに給電するためにより長期のバッテリ寿命の要請を生じている。
【０００８】
バッテリ寿命を延長する１つの方法は、消費される電力を一時的に低減することである。装置が消費する電力の総量は、装置構成要素の個々の電力需要によって決定される。例えば、中央処理装置（ＣＰＵ）、ハードディスク装置（ＨＤＤ）およびグラフィックスサブシステムは全部、個別の電力需要を有する。
【０００９】
従って、電力低減技法は、クロックゲート制御、電圧スロットリングおよび資源休止状態を含む。クロックゲート制御は、トランジスタおよびキャパシタスイッチング動作を低減することによって消費電力を低減する。これは、クロック信号がプロセッサのアイドル回路に着信していないかどうか、またその速度を制御することを電子装置のある回路に許すことによって達成される。
【００１０】
電圧スロットリングは、電子装置のプロセッサへの供給電圧を引き下げることによって全体の電力消費を低減する。供給電圧の低減は一般にクロック周波数の低減と連係して行われる。
【００１１】
資源休止状態は、電子構成要素のある特定の構成要素が不作動の期間中に、電源を切断されるか、「スリープモード」に位置づけられるか、または別様に低電力消費モードに位置づけられることを可能にする。例えば、Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ（ＡＣＰＩ）仕様は、消費される全体の電力を低減するために組み合わせることができる多くの異なる装置電力状態を規定している。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
高性能の提供とバッテリ寿命の節約とのバランスを最適化することは課題を呈示し続けている。従って、電子装置およびコンピュータにおけるグラフィックス処理に関係する電力消費を引き下げる方法および装置の必要性は依然として存在する。
【００１３】
多くのコンピューティング装置は今や２個以上のグラフィックスサブシステムを含み得る。複数のグラフィックスサブシステムは、種々の能力を有することができ、そして例えば、１個のサブシステムが他のものよりも多くの平均電力を消費して、異なる量の電力を消費し得る。高電力消費グラフィックスサブシステムは装置に結合され、低電力消費グラフィックスサブシステムの代わりに、またはそれに加えて使用することができ、結果的に高性能または付加的な能力を、しかし増大した全電力消費をもたらす。高電力消費グラフィックスサブシステムの使用から低電力消費グラフィックスサブシステムへ移行させることによって、高電力消費グラフィックスサブシステムを低電力消費モードに位置づけている間、全電力消費は低減される。
【課題を解決するための手段】
【００１４】
本発明の態様によれば、グラフィックスをレンダリングするために動作可能な第１のグラフィックスサブシステム、グラフィックスをレンダリングするために動作可能な第２のグラフィックスサブシステム、第１のグラフィックスサブシステムおよび第２のグラフィックスサブシステムの両方と通信しているディスプレイ、およびプロセッサを含む電子装置が提供される。プロセッサは、第２のグラフィックスサブシステムがディスプレイにグラフィックスをレンダリングする第１のモードから第１のグラフィックスサブシステムがディスプレイにグラフィックスをレンダリングし、そして第２のグラフィックスサブシステムが低電力消費モードに位置づけられる第２のモードに電子装置を移行させるようにプロセッサを至らしめるプロセッサ実行可能命令を実行する。
【００１５】
１実施形態において、プロセッサ実行可能命令はさらに、電子装置を望ましい高電力消費状態の感知に応答して第２のモードから第１のモードへ移行させる。
【００１６】
別の実施形態において、望ましい高電力消費状態の感知は相互接続された周辺装置が切断されたことを感知することを含む。
【００１７】
また別の実施形態において、周辺装置は、外部光、ＵＳＢ装置、キーボード、マウス、および外部メディアドライブ、プリンタ、スキャナのうちの少なくとも１つよりなる。
【００１８】
さらなる実施形態において、望ましい高電力消費状態の感知は規定のしきい値を上回る使用可能電気エネルギーの感知を含む。
【００１９】
またさらなる実施形態において、望ましい高電力消費状態の感知はＡＣ電源コンセントへの電子装置の相互接続の感知を含む。
【００２０】
またさらなる実施形態において、望ましい高電力消費状態の感知は周辺装置の動作停止の感知を含む。
【００２１】
さらなる実施形態において、周辺装置はモデムまたはネットワークインタフェースのうちの１つよりなる。
【００２２】
さらなる実施形態において、望ましい高電力消費状態の感知は、電子装置のネットワークインタフェースによって使用される帯域幅が規定のしきい値未満に低下したことの感知を含む。
【００２３】
またさらなる実施形態において、望ましい高電力消費状態の感知はユーザが電子装置でログインしたことの断定を含む。
【００２４】
さらなる実施形態において、望ましい高電力消費状態の感知はグラフィックス集約的ソフトウェアアプリケーションが起動されたことの断定を含む。
【００２５】
またさらなる実施形態において、望ましい高電力消費状態の感知はソフトウェアアプリケーションがグラフィックス集約的モードに切り替えられたことの断定を含む。
【００２６】
さらなる実施形態において、望ましい高電力消費状態の感知はしきい値を上回る帯域幅を有するビデオストリームが復号化されていることの断定を含む。
【００２７】
またさらなる実施形態において、望ましい高電力消費状態の感知はグラフィックス画像が表示されていることの断定を含む。
【００２８】
またさらなる実施形態において、望ましい高電力消費状態の感知は文字ベースのインタフェースからグラフィカルなオペレーティングシステムインタフェースへの切り替えの感知を含む。
【００２９】
さらなる実施形態において、望ましい高電力消費状態の感知はモニタがディスプレイとして電子装置に相互接続されたことの感知を含む。
【００３０】
さらなる実施形態において、望ましい高電力消費状態の感知はディスプレイの解像度がしきい値を超えて増大したことの感知を含む。
【００３１】
またさらなる実施形態において、望ましい高電力消費状態の感知は第２のグラフィックスサブシステムが電子装置に挿入されたことの感知を含む。
【００３２】
さらなる実施形態において、望ましい高電力消費状態の感知は電子装置のための物理的ケースが開けられたことの感知を含む。
【００３３】
またさらなる実施形態において、プロセッサ実行可能命令はさらに、望ましい高電力モードを示すエンドユーザ会話の感知に応答して電子装置を第２のモードから第１のモードへ移行させる。
【００３４】
またさらなる実施形態において、プロセッサ実行可能命令はさらに、第１のグラフィックスサブシステムのエンドユーザによる使用中止に応答して電子装置を第２のモードから第１のモードへ移行させる。
【００３５】
またさらなる実施形態において、プロセッサ実行可能命令はさらに、第１のグラフィックスサブシステムの故障に応答して電子装置を第２のモードから第１のモードへ移行させる。
【００３６】
またさらなる実施形態において、プロセッサ実行可能命令はさらに、第１のグラフィックスサブシステムのソフトウェアドライバの取り外しに応答して電子装置を第２のモードから第１のモードへ移行させる。
【００３７】
さらなる実施形態において、プロセッサ実行可能命令は望ましい低電力消費状態の感知に応答して電子装置を第２のモードに位置づける。
【００３８】
さらなる実施形態において、望ましい低電力消費状態の感知は周辺装置が相互接続されたことの感知よりなる。周辺装置は、外部光、ＵＳＢ装置、キーボード、マウス、および外部メディアドライブ、プリンタ、スキャナのうちの少なくとも１つを含む。
【００３９】
さらなる実施形態において、望ましい低電力消費状態の感知は相互接続されたモニタの輝度がしきい値を超えて増加したことの感知を含む。
【００４０】
またさらなる実施形態において、望ましい低電力消費状態の感知は規定のしきい値未満の使用可能電気エネルギーの感知を含む。
【００４１】
さらなる実施形態において、望ましい低電力消費状態の感知は装置のＤＣ電源の低電力状態を含む。
【００４２】
さらなる実施形態において、望ましい低電力消費状態の感知は電子装置の少なくとも一部の温度の感知を含む。
【００４３】
さらなる実施形態において、望ましい低電力消費状態の感知は第２のグラフィックスサブシステムの温度の感知を含む。
【００４４】
さらなる実施形態において、望ましい低電力消費状態の感知はＡＣ電源コンセントからの電子装置の切断の感知を含む。
【００４５】
さらなる実施形態において、望ましい低電力消費状態の感知は規定の期間にわたる電子装置の実質的な不活動の感知を含む。
【００４６】
またさらなる実施形態において、望ましい低電力消費状態の感知は周辺装置の起動の感知を含む。周辺装置は例えばモデムまたはネットワークインタフェースのうちの１つよりなるとしてよい。
【００４７】
さらなる実施形態において、望ましい低電力消費状態の感知は、電子装置のネットワークインタフェースによって使用される帯域幅が規定のしきい値未満に低下したことの感知を含む。
【００４８】
さらなる実施形態において、望ましい低電力消費状態の感知は全部のユーザが電子装置からログアウトしたことの断定を含む。
【００４９】
さらなる実施形態において、望ましい低電力消費状態の感知はグラフィックス集約的ソフトウェアアプリケーションが終了されたことの断定を含む。
【００５０】
さらなる実施形態において、望ましい低電力消費状態の感知はグラフィックス集約的ソフトウェアアプリケーションが終了されたことの断定を含む。
【００５１】
さらなる実施形態において、望ましい低電力消費状態の感知は電子装置がドッキングステーションから取り外されたことの断定を含む。
【００５２】
さらなる実施形態において、望ましい低電力消費状態の感知はグラフィックス画像がもはや表示されていないことの断定を含む。
【００５３】
さらなる実施形態において、望ましい低電力消費状態の感知は、グラフィカルなオペレーティングシステムインタフェースから文字ベースのインタフェースへの切り替えの感知を含む。
【００５４】
さらなる実施形態において、望ましい低電力消費状態の感知はモニタが電子装置から切断されたことの感知を含む。
【００５５】
さらなる実施形態において、望ましい低電力消費状態の感知はディスプレイの解像度がしきい値を超えて減少したことの感知を含む。
【００５６】
さらなる実施形態において、望ましい低電力消費状態の感知は第２のグラフィックスサブシステムが電子装置から取り外されたことの感知を含む。
【００５７】
またさらなる実施形態において、望ましい低電力消費状態の感知は電子装置の物理的ケースが閉じられたことの感知を含む。
【００５８】
またさらなる実施形態において、プロセッサ実行可能命令は望ましい低電力モードを示すエンドユーザ会話の感知に応答して電子装置を第２のモードに位置づける。
【００５９】
またさらなる実施形態において、プロセッサ実行可能命令は第２のグラフィックスサブシステムのエンドユーザによる使用中止に応答して電子装置を第２のモードへ移行する。
【００６０】
さらなる実施形態において、プロセッサ実行可能命令は第２のグラフィックスサブシステムの故障に応答して電子装置を第２のモードに位置づける。
【００６１】
さらなる実施形態において、プロセッサ実行可能命令は第２のグラフィックスサブシステムのソフトウェアドライバの取り外しに応答して電子装置を第２のモードに位置づける。
【００６２】
本発明の別の態様によれば、第１および第２のグラフィックスサブシステムを有するコンピューティング装置を動作させる方法が提供される。方法は、高電力消費モードにおいて、相互接続されたディスプレイでの表示のために第２のグラフィックスサブシステムを用いてグラフィックスをレンダリングすることと、コンピューティング装置の望ましい低電力消費モードを検出し、望ましい低電力モードの検出に応答して第２のグラフィックスサブシステムを低電力消費モードに位置づけ、第２のグラフィックスサブシステムが低電力消費モードにある間、相互接続されたディスプレイにグラフィックスをレンダリングするように第１のグラフィックスサブシステムを構成する、ソフトウェアを実行することとを含む。
【００６３】
本発明のまた別の態様によれば、第１および第２のグラフィックスサブシステムを有するコンピューティング装置を動作させる方法が提供される。方法は、低電力消費モードにおいて、相互接続されたディスプレイでの表示のために第１のグラフィックスサブシステムを用いてグラフィックスをレンダリングすることと、コンピューティング装置の望ましい高電力消費モードを検出し、望ましい高電力消費モードの検出に応答して第２のグラフィックスサブシステムを高電力消費モードに位置づけ、相互接続されたディスプレイにグラフィックスをレンダリングするように第２のグラフィックスサブシステムを構成する、ソフトウェアを実行することとを含む。
【００６４】
本発明のまた別の態様によれば、ＤＣ電源、ディスプレイ、中央処理装置、第１のグラフィックスサブシステムおよびマザーボード上のメモリを収容するハウジングを含む可搬型コンピューティング装置が提供される。周辺装置拡張スロットがハウジング内部に形成されている。第２のグラフィックスサブシステムが周辺装置拡張スロットの周辺装置拡張カード上にある。メモリは電力管理ソフトウェアを記憶しており、それは実行された時に、周辺装置拡張カードの第２のグラフィックスサブシステムを、周辺装置拡張カードのグラフィックスサブシステムがグラフィックスをレンダリングする高電力消費モードから低電力消費モードに移行させ、望ましい低電力モードの感知に応答して第１のグラフィックスサブシステムを用いてグラフィックスをレンダリングする。
【００６５】
本発明の他の態様および特徴は、添付図面とともに本発明の特定の実施形態の以下の説明の精査により当業者にとって明らかになるであろう。
【発明を実施するための形態】
【００６６】
図面各図は本発明の実施形態を例証としてのみ例示する。
【００６７】
図１は、２個のグラフィックスサブシステム３０および４０ならびにディスプレイ２６を含む電子装置１０の単純化した高水準ブロック図である。明らかになるように、各グラフィックスサブシステム３０、４０は、２Ｄグラフィックス、３Ｄグラフィックス、復号化動画ビデオなどのうちの１つ以上の形態でコンピュータグラフィックスをレンダリングする能力がある専用電子回路を含む。
【００６８】
一方のグラフィックスサブシステム４０は、他方のグラフィックスサブシステム３０よりも高い平均電力を消費する。一般に、高い平均電力を消費するグラフィックスサブシステム４０は、グラフィックスサブシステム３０よりも優れたグラフィックスレンダリング能力を有する。例えば、グラフィックスサブシステム４０は、低い平均電力を消費するグラフィックスサブシステムよりも高いフレームレートで２Ｄまたは３Ｄグラフィックスをレンダリングすることができるとしてよい。同様に、グラフィックスサブシステム３０、４０は同一の能力を有する必要はない。グラフィックスサブシステム４０は一般にグラフィックスサブシステム３０よりも多くの機能ブロックを含む。
【００６９】
両方のグラフィックスサブシステム３０および４０は、レンダリングされたグラフィックスが表示される同一のディスプレイ２６と物理的または論理的に結合されている。本発明の実施形態の例示的な装置１０は、ディスプレイ２６へのグラフィックスが高電力消費のグラフィックスサブシステム４０によってレンダリングされる高電力消費モードから、ディスプレイ２６へのグラフィックスが低電力消費のグラフィックスサブシステム３０によってレンダリングされ、かつグラフィックスサブシステム４０が部分的に、完全に、またはほとんどディスエーブルにされる低電力モードに切り替わることができる。
【００７０】
都合のよいことに、高電力モードから低電力モードへの移行は、装置１０に電力サイクル（すなわち電源切断および再始動）を要求することなく動的に行われ、そしてソフトウェア制御のもとでプロセッサ１２によって行うことができる。この文脈において、ソフトウェアはファームウェア、デバイスドライバ、ＤＩＯＳなどを含むとしてよい。
【００７１】
本発明は、２個のグラフィックスサブシステムを含む実質的にあらゆる電子装置の一部を成すことができる。そうしたものとして、装置１０は、デスクトップコンピューティング装置、可搬型コンピューティング装置（ラップトップコンピュータ、ＰＤＡ、携帯電話、ビデオまたはオーディオプレーヤ、メディアセンターなどを含む）の形態を取ることができよう。
【００７２】
以下に説明する例示的な実施形態において、本発明の実施形態はモバイル（ラップトップ）コンピューティング装置の一部を成すものとして開示される。
【００７３】
具体的には、図２は、本発明の実施形態の例示的な特定のモバイルコンピューティング装置１０の単純化したブロック図である。図１に示された図示の装置１０は、従来のインテル（Intel）ｘ８６コンピュータアーキテクチャに基づくコンピューティング装置である。しかし当業者は、本発明がＰｏｗｅｒＰＣアーキテクチャ、ＡＭＤｘ８６または他の既知のアーキテクチャといった他のアーキテクチャを有するコンピューティング装置において具体化され得ることを容易に認識するであろう。
【００７４】
図示の通り、例示装置１０は、中央処理装置（ＣＰＵ）として形成されたプロセッサ１２、ホストメモリ１４および周辺装置を含み、これらは全部、統合インタフェース回路１６および１８（北ブリッジ１６および南ブリッジ１８とも称する）によって相互接続されている。これらは全部マザーボード上に形成することができる。
【００７５】
インタフェース回路１６は、高速インタフェースであり、ＣＰＵ１２、メモリ１４および周辺装置を高速拡張バス２０によって相互接続する。インタフェース回路１６はさらにＣＰＵ１２を低速インタフェース回路１８に相互接続する。１個以上の周辺装置拡張スロット２２が高速拡張バス２０によってインタフェース回路１６と相互接続され得る。例示的な高速拡張バス２０は、ギガバイト／秒範囲の帯域幅を有するＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バスであり、この帯域幅でのデータ転送リード／ライトを可能にする。
【００７６】
インタフェース回路１６はさらに、モニタ、ＬＣＤパネル、テレビなどの形態であるとしてよいディスプレイ２６での表示のためのビデオ信号の生成に適格な統合グラフィックスプロセッサ（ＩＧＰ）として具体化された第１のグラフィックスサブシステム３０を含む。
【００７７】
付加的な第２のグラフィックスサブシステム４０が装置１０の一部を形成する。例示的な実施形態において、グラフィックスサブシステム４０は周辺装置拡張カード４６に形成された外部グラフィックスプロセッサとして具体化されている。周辺装置拡張カード４６はまた、拡張バス２０の拡張スロット２２によってインタフェース回路１６と接続される。明らかになるように、第２のグラフィックスサブシステム４０を設けることによって、装置１０は、さもなければ装置１０には存在しない拡張グラフィックス能力を提供することができる。第２のグラフィックスサブシステムによるフレームバッファとしての使用のために、グラフィックスメモリ５０が周辺装置拡張カード４６に含まれるとしてよい。同様に、グラフィックスサブシステム４０と通信している電力コントローラ６０が拡張カード４６に随意で形成されることができ、グラフィックスサブシステム４０の動作を制御することができる。具体的には、電力コントローラ６０は、グラフィックスサブシステム４０の構成要素によって使用されるメモリクロックおよびピクセルクロックといったクロックを調節する、グラフィックスサブシステム４０の機能ブロックをディスエーブルに（または切断）する、グラフィックスサブシステム４０の各部分に印加される電圧を下げる、または別様に、電力消費が低減される１つ以上のモードにサブシステム４０を既知の方法で位置づけることができる。
【００７８】
オプションの別の電力コントローラ７０が第１のグラフィックスサブシステム３０と通信しているとしてよく、グラフィックスサブシステム３０の構成要素によって使用されるメモリクロックおよびピクセルクロックといったクロックを調節する、グラフィックスサブシステム３０の機能ブロックをディスエーブルに（または切断）する、グラフィックスサブシステム３０の各部分に印加される電圧を下げる、または別様に、電力消費が低減される１つ以上のモードにサブシステム３０を既知の方法で位置づけることができる。
【００７９】
例示的なグラフィックスサブシステム４０は周辺装置拡張カード４６に形成されているが、当業者はグラフィックスサブシステム４０が装置１０のマザーボードに、または他の場所にまったく簡単に形成できるはずであることを容易に認識するであろう。
【００８０】
グラフィックスサブシステム３３および４０は、同じ供給者／製造者または異なる供給者／製造者に由来してよい。インタフェース回路１８は、光ディスクドライブ２８といった低速周辺装置および相互配線、ならびにハードディスクドライブの形態の持続型記憶メモリ３４を統合ＩＤＥ／ＳＡＴＡポート（図示せず）によって、そしてプリンタおよび他の周辺装置をパラレルまたはＵＳＢポート（図示せず）によって相互接続する。さらに他の周辺装置が、例えば既知のＰＣＩまたはＩＳＡ規格に準拠した低速拡張バス２４によって相互接続され得る。サウンドカードおよびネットワークインタフェース（図示せず）といった他の構成要素も同様に低速拡張バス２４によって、または別様にインタフェース回路１８と相互接続され得る。
【００８１】
上述の通り、装置１０はラップトップまたは小型コンピューティング装置の形態の可搬型コンピューティング装置として好適に形成することができる。そうしたものとして、単一のハウジングがＤＣ電源３８、ディスプレイ２６および、上述のマザーボードおよび構成要素を収容するとしてよい。第２のグラフィックスサブシステム４０は、コンピューティング装置の他の部分を収容する単一のハウジングに追加してもよいし、または装置１０が物理的に相互接続された時に装置１０の一部を成すにすぎないドッキングステーションの一部を形成してもよい。
【００８２】
装置１０は、少なくとも２つの電力消費モード、すなわち、高電力消費モードおよび低電力消費モードで動作することができる。図示された実施形態において、装置１０の高電力モードは装置１０がＡＣ（主）電源に接続された電源３６によって給電される時に呈するとしてよく、低電力消費モードは装置１０が１個以上のバッテリ、燃料電池などを使用するＤＣ電源３８によって給電される時に呈するとしてよい。一方、電力消費モードは、例えばユーザ選好、実行されているソフトウェアアプリケーションの形式、バッテリレベルなどに基づき、ユーザ選択されるか、ソフトウェア制御されるか、または別様に選択され得る。低および高電力消費モードの例示使用法のシナリオを以下に詳述する。
【００８３】
図示された実施形態において、装置１０は、図３に図示の通り、システムメモリ内部に記憶されたソフトウェア２００を実行する。システムメモリは持続型記憶メモリ３４およびホストメモリ１４を含み（図２）、さらにソフトウェア２００を記憶し実行するために装置１０により使用される付加的なランダムアクセスメモリ、読出し専用メモリおよびディスク記憶メモリの適格な組合せを含み得る。例示的なソフトウェア２００は、例えば、読出し専用メモリに記憶されるか、またはディスクドライブ２８（図１）といった外部周辺装置から、またはコンピュータネットワーク（図示せず）によってロードされることができよう。
【００８４】
例示実施形態において、ソフトウェア２００はマイクロソフト・ウィンドウズ（登録商標）ＸＰ（Microsoft Windows（登録商標） XP）プラットホームに基づく。しかし、装置１０を動作させるソフトウェアは、本発明の実施形態の例示的な様態において、このプラットホームに基づく必要はない。代わりに、例示的なソフトウェアは、リナックス（Linux）、マック・オーエスエックス（MacOSX）、マイクロソフト・ウィンドウズ（登録商標）・ヴィスタ（Microsoft Windows（登録商標） Vista）といった他の既知のコンピュータオペレーティングシステム、または他のオペレーティングシステムとともに機能することができる。異なるオペレーティングシステムにより、ソフトウェアアーキテクチャは図２に図示されたそれと著しく異なり得る。
【００８５】
図３に図示の通り、例示的なソフトウェア２００は、アプリケーションソフトウェア２０２、グラフィックスライブラリ２０４、入出力マネージャ２０６、ビデオポート２０８および、装置１０を本発明の実施形態の例示的な様態で動作するように適応させるハードウェアドライバプログラム２１０ａ、２１０ｂ、２１２ａ、２１２ｂ、２１４および２１６を含む。例示ソフトウェア２００は、マイクロソフト・ウィンドウズ（登録商標）プラットホームに特定的である。当然、ソフトウェア２００は、図３には具体的に詳示していないが当業者には明白な、ライブラリ、機能ブロック、ドライバなどの形態の他のソフトウェア構成要素を含むとしてよい。
【００８６】
ウィンドウズ（登録商標）ＸＰオペレーティングシステム環境において、グラフィックスサブシステム３０、４０といったハードウェア構成要素の低レベル制御は一般に、ドライバと一般に呼ばれるソフトウェアモジュールによって制御される。各ハードウェア構成要素の動作は１個以上のそのようなドライバによって制御される。明らかになるように、一部のドライバはさらに、それらの生成を助成するために複数の構成要素にまとめることができる。明快さのために、ごく少数のドライバおよびドライバ構成要素（すなわちドライバ２１０ａ、２１０ｂ、２１２ａ、２１２ｂ、２１４および２１６）だけが図示されている。当然、ドライバ構成要素の正確な数および形式は大部分、装置１０の完全なハードウェア機器構成に依存するであろう。ウィンドウズ（登録商標）ＸＰオペレーティングシステムの脈絡におけるドライバアーキテクチャは、例えば、ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｗｈｄｃ／ｄｒｉｖｅｒ／ｗｄｆ／ｗｄｆ−ａｒｃｈ．ｍｓｐｘから入手可能な「ウィンドウズ（登録商標）ドライバ基盤のアーキテクチャ（Architecture of the Windows（登録商標） Driver Foundation）」（２００６年５月１０日）に詳細に記載されており、その内容はこれにより参照によって採り入れられる。
【００８７】
例示的なグラフィックスライブラリ２０４、入出力マネージャ２０６、ビデオポート２０８およびプラグアンドプレイドライバ２１４は一般に、マイクロソフト・ウィンドウズ（登録商標）オペレーティングシステムの一部として提供される。そうしたものとして、例示的なグラフィックスライブラリ２０４は、マイクロソフトのＤｉｒｅｃｔＸライブラリ、ＧＤＩライブラリおよびＯｐｅｎＧＬライブラリを含むとしてよい。
【００８８】
ソフトウェア２００は階層化されており、上位レベル層は特定の機能性を提供するために下位レベル層を使用する。従って、アプリケーションソフトウェア２０２は一般に、グラフィックスライブラリ２０４に呼出しを行うことによってグラフィックスをレンダリングする。転じてグラフィックスライブラリ２０４は、グラフィックスサブシステム３０および４０を用いてグラフィックスをレンダリングするためにウィンドウズ（登録商標）オペレーティングシステムおよびドライバを使用する。
【００８９】
グラフィックスライブラリ２０４はオペレーティングシステム入出力マネージャ２０６ならびにドライバ構成要素２１２ａおよび２１２ｂ（ディスプレイドライバ２１２とも称する）と通信する。入出力マネージャ２０６はオペレーティングシステムビデオポート２０８と通信する。ビデオポート２０８およびディスプレイドライバ２１２は転じてドライバ構成要素２１０ａおよび２１０ｂ（ミニポート構成要素２１０とも称する）と通信する。ビデオポート２０８は、全部のサードパーティービデオドライバに共通である汎用のハードウェア独立コードだけを含む。
【００９０】
ソフトウェア２００はさらに、２個の別個のドライバ２１２ａおよび２１２ｂならびに２個の別個のミニポート構成要素２１０ａおよび２１０ｂを含み、一方のドライバ２１２ａおよび一方のミニポート構成要素２１０ａがグラフィックスサブシステム３０との低レベル通信およびその制御を行い、そして他方のドライバ２１２ｂおよびミニポート構成要素２１０ｂがグラフィックスサブシステム４０との低レベル通信およびその制御を行う。各々のミニポート構成要素２１０ａおよび２１０ｂならびにドライバ２１２ａ、２１２ｂは、グラフィックスサブシステム３０および４０のインストールされたものに特定的であり、一般に同じ供給者によって提供される。ディスプレイドライバおよびミニポート構成要素２１２ａ、２１２ｂおよび２１０ａ、２１０ｂは、ウィンドウズ（登録商標）ＸＰおよび類似のアーキテクチャに特定的であり、密に結合されている。ミニポート構成要素２１０は、ウィンドウズ（登録商標）オペレーティングシステムとともに供給されるオペレーティングシステムビデオポート部２０８と通信している。ミニポート構成要素２１０はプロセッサ１２に対し、グラフィックスサブシステム３０および４０の状態変化を管理すること、グラフィックスサブシステム３０、４０に配置されたカーソルまたはポインタハードウェアを管理すること、ソフトウェアアプリケーション２０６およびドライバ構成要素２１２にビデオフレームバッファを利用可能にすることなどを可能にする。ウィンドウズ（登録商標）ＸＰアーキテクチャにおいて、ミニポート構成要素２１０ａおよび２１０ｂはレンダリング命令を実行するために使用されない。代わりに、レンダリングは、グラフィックスライブラリ２０４と通信しているとしてよいビデオドライバ２１２によって実行される。
【００９１】
バス２０の動作を制御するためにオペレーティングシステムによって使用される付加的なハードウェアドライバ構成要素２１４もまた図３に図示されている。図示の通り、ドライバソフトウェアはプラグアンドプレイドライバ２１４およびＰＣＩｅバスインタフェースドライバ構成要素２１６を含む。さらに、プラグアンドプレイドライバ２１４はウィンドウズ（登録商標）ＸＰまたは類似のオペレーティングシステムとともに供給される。プラグアンドプレイドライバ２１４は、コンピューティング装置１０がオンである間に装置１０に追加された新しいハードウェアの存在をウィンドウズ（登録商標）オペレーティングシステムの他の部分に報告し、必要に応じてドライバをシステムメモリに動的にロードおよびアンロードするために使用される。さらなるバスインタフェースドライバ構成要素２１６が図示されている。バスインタフェースドライバ構成要素２１６は完全に従来のものであり、一般にインタフェース回路１６の供給元によって供給される。バスインタフェースドライバ構成要素２１６は、バス２０のあらゆる周辺装置の存在をプラグアンドプレイドライバ２１４に報告する。
【００９２】
付加的なフィルタアプリケーション２１８もまた図示されている。以下で詳述するように、フィルタアプリケーション２１８はバスインタフェースドライバ構成要素２１６からのメッセージをインタセプトし、バス２０で相互接続された装置に関する照会に応答することができる。
【００９３】
本発明の実施形態の例示的なソフトウェアは、グラフィックスライブラリ２０４、アプリケーションソフトウェア２０６（特に電力制御アプリケーション２０８）および／または、ドライバ構成要素２１０ａ、２１０ｂ、２１２ａ、２１２ｂ、２１４および２１６の一部を形成するとしてよい。
【００９４】
図４は、図２の装置１０の一部のさらなる単純化したブロック図を示す。図示の通り、インタフェース回路１６は、中央処理装置１２およびシステムメモリ１４を相互接続する。グラフィックスサブシステム３０（インタフェース回路１６上でグラフィックスプロセッサとして具体化）は、グラフィックスエンジン３２、メモリコントローラ７２、ディスプレイインタフェース７４およびバスインタフェース７８を含んでいる。
【００９５】
グラフィックスエンジン３２は、２Ｄグラフィックスまたは３Ｄグラフィックス復号化ビデオなどのレンダリングが可能な機能ブロックである。十分に理解されるように、グラフィックスサブシステム３０は複数のグラフィックスエンジンを含むことができる。
【００９６】
メモリコントローラ７２は、グラフィックスサブシステム３０がグラフィックスメモリおよびホストメモリ１４へアクセスするのを可能にする。図示された実施形態において、グラフィックスサブシステム３０によって使用されるグラフィックスメモリは、ホストメモリ１４の一部を成す。しかし当業者は、グラフィックスサブシステム３０がそれ自身のローカルメモリを含むか、またはそれと通信することができることを容易に認識するであろう。バスインタフェース７８はサブシステム３０がバス２０によって通信するのを可能にする。
【００９７】
十分に理解されるように、ディスプレイインタフェース７４は、ポート７８によって相互接続されたディスプレイ装置２６での表示のためにバッファ内のデータを変換するためのいずれかの適格なインタフェースであるとしてよい。例えば、ディスプレイインタフェース７４は、ランダムアクセスメモリ・ディジタルアナログコンバータ（ＲＡＭＤＡＣ）の形態を取ることができる。１個以上のビデオコネクタが、ＬＣＤパネル、モニタ、テレビなどといった１個以上のディスプレイ装置とのグラフィックスサブシステム３０の相互接続を可能にする。出力ポート７８は、ＶＧＡポート、コンポジットビデオポート、ＤＶＩポート、ＬＶＤＳポート、ＤＶＯポート、ＳＤＶＯポートなどの形態を取ることができる。
【００９８】
グラフィックスサブシステム４０（図２の周辺装置拡張カード４６に形成）もまた、高速拡張バス２０の拡張スロットによってインタフェース回路１６に接続されている。グラフィックスサブシステム４０は、グラフィックスエンジン４２、メモリコントローラ５２、バスインタフェース５８およびディスプレイインタフェース５４を含む。グラフィックスサブシステム４０はグラフィックスメモリ５０を含むか、またはそれと通信しているとしてよい。
【００９９】
グラフィックスエンジン４２は、グラフィックスエンジン３２と同様、２Ｄグラフィックスまたは３Ｄグラフィックス復号化ビデオなどのレンダリングが可能な機能ブロックである。十分に理解されるように、グラフィックスサブシステムは複数のグラフィックスエンジンを含むことができる。ことによると、グラフィックスエンジン４２はグラフィックスエンジン３２によって単純に提供されない機能を提供することができる。
【０１００】
メモリコントローラ５２は、グラフィックスサブシステム４０がメモリ５０およびホストメモリ１４にアクセスするのを可能にする。バスインタフェース５８はグラフィックスサブシステム４０がバス２０によって通信するのを可能にする。
【０１０１】
ディスプレイインタフェース５４は、メモリコントローラ５２によってグラフィックスメモリ５０のフレームバッファをサンプリングしビデオコネクタで画像を呈示する。このようにして、メモリ５０のフレームバッファにおける外部グラフィックスエンジン４２によってレンダリングされた画像は表示され得る。ビデオコネクタは、外部ディスプレイと直接にか、またはビデオ信号が統合ディスプレイに経路指定される場合装置１０のマザーボードと、または外部ディスプレイを装置１０に取り付けるためのコネクタと接続され得る。やはり、ディスプレイインタフェース５４は、ＲＡＭＤＡＣ、シングルエンドまたは差動送信器などといった、ディスプレイ装置３２での表示のためにバッファ内のデータを変換するためのいずれかの適格なインタフェースであるとしてよい。
【０１０２】
上述の通り、電力コントローラ６０がグラフィックスサブシステム４０と通信しており、ディスプレイインタフェース５４、メモリコントローラ５２、グラフィックスエンジン４２、バスインタフェース５８およびグラフィックスメモリ５０のうちの１つ以上の各々またはいくつかの電力消費を、これらの構成要素の全部または一部のクロックおよび電圧スロットリング、電源切断または別様なディスエーブルといった従来の電力消費技法を用いて制御する。電力コントローラ６０は、バス２０の信号によって、または別様に制御することができ、そして例えばＡＣＰＩ規格に準拠であるとしてよい。
【０１０３】
グラフィックスサブシステム３０はグラフィックスサブシステム４０とまったく同様に動作する。そうしたものとして、グラフィックスサブシステム３０は、ホストメモリ１４に、またはサブシステム３０のローカルなメモリに保持されたフレームバッファにアクセスするためにメモリコントローラ７２を使用する。このフレームバッファはディスプレイインタフェース７４によってサンプリングされ、画像がビデオ出力コネクタに呈示され、それはディスプレイと直接接続されることができよう。経済的な統合型構成要素を提供する努力において、グラフィックスサブシステム３０は限られた機能性を提供する。例えば、グラフィックスサブシステム３０の解像度、メモリ、グラフィックスプロセッサ速度、３Ｄグラフィックス能力などは相対的に制限されているとしてよく、グラフィックスサブシステム４０の外部グラフィックスプロセッサ４２よりも低速に動作するとしてよい。
【０１０４】
より高性能なコンピューティングおよびグラフィックスは、オプションのアドオングラフィックスサブシステム４０によって提供され得る。グラフィックスサブシステム４０の存在時に、グラフィックスサブシステム４０は、（図示されていないモニタ、ＬＣＤディスプレイなど）といった第１のディスプレイ装置と直接物理的に接続されることができ、グラフィックスサブシステム３０は、グラフィックスサブシステム３０が第２の相互接続されたディスプレイ装置３２を駆動させるために第２のディスプレイ装置と物理的に相互接続され得る。マイクロソフト・ウィンドウズ（登録商標）ＸＰは、例えば、ＤｕａｌＶｉｅｗオプションを用いて、複数の物理的ディスプレイの同時使用をサポートする。複数のディスプレイを使用することによって、アプリケーションソフトウェア２０２およびオペレーティングシステムの他の部分は、グラフィックスをメモリ５０のフレームバッファおよびメモリ１４のフレームバッファに同時に呈示させることができる。一般に、複数のディスプレイが以下の３つの構成のうちの１つにおいて使用される。すなわち、第１の構成では、同一の画像が両方のフレームバッファに供給され得る。第２の構成では、第１のものとは異なる無関係な画像が異なるモニタにレンダリングされ、事実上エンドユーザにアプリケーションのための２つのデスクトップを与える。第３のモードでは、２つのフレームバッファが単一の拡張デスクトップとして扱われ得る。既存のオペレーティングシステムは、相互接続されたグラフィックスサブシステムの性質および能力に依存して選択的に各ディスプレイに画像をレンダリングすることができる。従って、例えば、３次元グラフィックスをレンダリングするアプリケーションは、相互接続されたディスプレイへの出力のために、そのような加速をサポートするサブシステムと相互接続されたディスプレイにハードウェア加速を用いてそれを行うことができる。
【０１０５】
３次元グラフィックス、ゲームグラフィックスなどといった計算集約的なグラフィックスは、グラフィックスサブシステム４０によってより効果的に実行される。従って、装置１０内部のアドオングラフィックスサブシステム４０の使用は、ゲーム、コンピュータ支援設計ソフトウェア、アニメーションソフトウェア、レンダリングソフトウェアなどといったグラフィックス集約的アプリケーションの最新のものをエンドユーザが経験することを可能にする。都合のよいことに、アドオングラフィックスサブシステム４０は、エンドユーザによって選択され、必要に応じて、取り替えられ最新に保つことができる。従来、追加的なグラフィックス計算能力は、ワークステーションコンピューティング装置で利用可能であるにすぎなかった。モバイルコンピューティング装置の拡張スロットの登場により、そのような計算能力は今やラップトップといった可搬型コンピューティング装置の所有者にも利用可能である。当然、グラフィックスサブシステム４０でのより高い（または異なる）性能のグラフィックスエンジン４２の使用は、装置１０の全電力消費を増大させる。この増大した電力消費は、バッテリ、燃料電池などの形態のＤＣ電源３８によって給電されるコンピューティング装置では支えきれないかもしれない。
【０１０６】
同時に、グラフィックスエンジン４２を伴うアドオングラフィックスサブシステム４０の存在時に、グラフィックスサブシステム３０は冗長であるかもしれない。例えば、複数の物理的ディスプレイが装置１０に接続されていない場合、グラフィックスサブシステム３０は役割を果たさないかもしれない。従って、グラフィックスサブシステム３０はディスエーブルにされ得る。一方、グラフィックスサブシステム３０の動作を制御する電力コントローラ７０の存在時に、グラフィックスサブシステム３０はまた、使用中でない時に低電力モードに位置づけられるかもしれない。やはり、電力コントローラ７０は、グラフィックスサブシステム３０の一部をディスエーブルにまたは切断するか、またはグラフィックスサブシステム３０の一部をクロックまたは電圧スロットリングするかもしれない。
【０１０７】
本発明の実施形態の例示的なソフトウェア２００は、サブシステム３０の存在時に、装置１０が一方の高電力グラフィックスサブシステム４０を選択的にディスエーブルにするのを可能にする働きをする。
【０１０８】
このために、そして図４に図示の通り、コンピューティング装置１０はスイッチ５６をさらに含む。スイッチ５６はサブシステム４０およびサブシステム３０によって生成されたビデオ信号を第１および第２の入力で受信する。スイッチ５６は、マルチプレクサといったいずれかの適格なビデオスイッチであるとしてよく、その２つの信号入力の従来のビデオ信号の一方をそのビデオ出力コネクタに呈示するように動作可能である。スイッチ５６の入力に呈示されるビデオ信号は、（ＬＶＤＳまたはＴＭＤＳフォーマットなどといった）ディジタル信号または（ＶＧＡフォーマットといった）アナログ信号といった従来のビデオ信号であるとしてよい。スイッチ５６がディジタルおよびアナログ入力信号の両方を受信するか、またはどちらか一方の出力でビデオを供給するように構成されている場合、スイッチ５６はフォーマットコンバータを含み得る。さらに、スイッチ５６は、ディジタルまたはアナログディスプレイ装置３２のどちらか一方または両方の接続を可能にするために１個以上のビデオ出力を含み得る。
【０１０９】
スイッチ５６は制御入力（ＣＮＴＲＬ）をさらに含む。この制御入力は、どちらの信号入力がスイッチ５６のビデオ出力に供給されるかを制御する。図示された実施形態において、制御入力は、装置１０の電力モードの変更が必要または望ましいことの検出または断定に応答して、汎用入出力（ＧＰＩＯ）インタフェース（図示せず）により、プロセッサ１２によって切り替えられる。明らかになるように、スイッチ５６は、装置１０が低電力消費モードで動作している場合にグラフィックスサブシステム３０によって生成された従来のビデオ信号が選定されるように構成されている。逆に言えば、装置１０が高電力消費モードで動作している場合、高性能な外部グラフィックスサブシステム４０によって生成されたビデオ信号が表示用に選定される。同様に、グラフィックスサブシステム４０またはグラフィックスサブシステム３０に供給される電力は低減またはディスエーブルにされ得る。スイッチングは、装置１０が使用中の間、装置１０に再始動（すなわちコールドまたはウォームスタート）するように要求することなく、動的に行われ得る。
【０１１０】
これを達成するために、コンピューティング装置１０はまた、上述した少なくとも１個の電力コントローラ６０を含むとしてよい。図示された実施形態において、電力コントローラ６０は、グラフィックスサブシステム４０を保持する周辺装置拡張カード４６の一部を形成する。しかし電力コントローラ６０は、コンピューティング装置１０のマザーボードの一部を、またはインタフェース１６の一部としてまったく同様に形成することができよう。電力コントローラ６０が拡張カード４６の一部を形成する場合、それはサブシステム４０の動作を制御するためにより大きな柔軟性を有するかもしれない。電力コントローラ６０がコンピューティング装置１０の一部を形成する場合、それはグラフィックスサブシステム４０への電力をディスエーブルにする能力を有するだけかもしれない。
【０１１１】
システムメモリ１２内部のソフトウェア２００は、スイッチ５６および電力コントローラ６０を構成し制御するために使用される。従って図５は、本発明の実施形態の例示的な２つの利用可能な電力消費モード間で装置１０を切り替えるための例示的なソフトウェアブロックＳ５００を例示するフローチャートである。
【０１１２】
ブロックＳ５００を詳述する前に、ドライバ２１０ａ、２１０ｂ、２１２ａ、２１２ｂ、２１４および２１６が従来は（装置１０といった）関係するコンピューティング装置の動作をどのように制御するかということの簡単な説明は価値がある。一般に、装置１０の電源投入後、オペレーティングシステムは、ドライバ２１０ａ、２１０ｂ、２１２ａ、２１２ｂ、２１４および２１６を含む、装置１０の動作に必要なあらゆるドライバをロードする。２個のグラフィックスサブシステム３０および４０の存在時には、２個のディスプレイドライバ２１２ａおよび２１２ｂならびにミニポート構成要素２１０ａ、２１０ｂがロードされる。構成要素／ドライバ２１０ａ、２１０ｂ、２１２ａ、２１２ｂはさらに、どのディスプレイがグラフィックスサブシステム３０および４０と物理的に相互接続されているかを評価し、相互接続されたディスプレイを識別するメモリに記憶された適切な状態変数（例えばオペレーティングレジストリ項目）を設定する。これらの相互接続されたディスプレイは論理的にイネーブルにされ、後に構成要素／ドライバ２１０ａ、２１０ｂ、２１２ａ、２１２ｂによって物理的にイネーブルにされ得る。アプリケーションソフトウェア２０２がその後、いずれかの相互接続され論理的にイネーブルにされたディスプレイの起動および、上述のように振る舞う複数のアダプタの使用を可能にする。当然、単一のディスプレイだけが２個のグラフィックスサブシステム３０、４０に接続されている場合、そのサブシステムだけが起動され得る。ゲーム、エンドユーザアプリケーションなどの形態のアプリケーションソフトウェア２０２は、オペレーティングシステムおよび構成要素／ドライバ２１０ａ、２１０ｂ、２１２ｂ、２１２ａを通じて動作し、そして存在するそれらの装置を利用する。それに応じて、アプリケーションソフトウェア２０２は、現在利用可能な（またはイネーブルにされた）サブシステム３０または４０によって提供される資源を用いて画像をレンダリングすることができる。必要に応じて、アプリケーションソフトウェア２０２内部の特定のアプリケーションは、それらの動作に必要なイネーブルにされたハードウェアがない場合、動作をやめるかもしれない。
【０１１３】
この時、本発明の実施形態の例示的な装置１０の電力状態は、装置１０が最初に電源投入された時に評価される。電力制御アプリケーション２２０は、必要に応じて、そして以下に詳述するように、サブシステム３０および４０ならびにスイッチ５６を構成する。
【０１１４】
本発明の実施形態の例示的なソフトウェアブロックＳ５００は、ホストメモリ１４内部の電力制御アプリケーション２２０の制御下でプロセッサ１２によって実行され得る。ブロックＳ５００は、装置１０が状態／モード変更を被るたびに実行されるとしてよく、そのためにグラフィックスサブシステム３０および４０は相応に構成されなければならない。図示の通り、ブロックＳ５０２で、電力制御アプリケーション２２０は装置１０が高電力消費モードまたは低電力消費モードになければならないかを決定する。
【０１１５】
装置１０の望ましい電力消費モードおよび電力消費モード間の移行は、多数の要因に依存して電力制御アプリケーション２２０によって制御され得る。
【０１１６】
詳細には、例えば、電力制御アプリケーション２２０は、装置１０における合計使用可能電力に依存し得る任意の数の感知または断定された電力消費状態または使用可能な資源、および装置１０の動作環境に応答して、装置１０の望ましい電力消費モード（すなわち低または高電力消費モード）を制御することができる。
【０１１７】
例えば、装置１０の望ましい低電力消費モードは、電力制御アプリケーション２２０が装置１０の使用可能電力の低減を直接的または間接的に検出した場合に位置づけられるとしてよい。使用可能電力の低減は、例えば、ＤＣ電源３８の貯蔵エネルギー（例えばｍＡｈ）レベルまたは瞬時的な使用可能電力がしきい値未満に低下した場合、ＡＣ電源３６がプラグを抜かれた場合、または装置１０がラップトップでありドッキングステーションから取り外された場合に、検出され得る。
【０１１８】
一方、装置１０のグラフィックスサブシステム３０、４０は、既存の電力／エネルギーがサブシステム３０、４０および装置１０の他の周辺装置または構成要素の間で配分されるのを可能にするために低電力消費モードに移行されるかもしれない。低電力モードへのグラフィックスサブシステム３０、４０の移行は、例えば、ＵＳＢ装置といった周辺装置がバッテリ動作装置に取り付けられた場合、ＤＣ電力動作装置１０の相互接続されたディスプレイの輝度レベルがしきい値を超えて増大した場合、ＰＳ／２キーボード／マウスがバッテリ動作装置１０に取り付けられた場合、外部装置照明が点灯した場合、無線／有線ネットワークインタフェースがアクティブになった場合、別の付属装置（例えばプリンタ、光ドライブ、スキャナその他）がバッテリ動作装置１０で動作中になった場合に、電力制御アプリケーション２２０によって行われ得る。同様に、無線インタフェースの帯域幅使用量がしきい値を超えて上昇した場合、より少ない電力をサブシステム３０、４０に割り当てることが適切かもしれない。やはり、電力制御アプリケーション２２０は、低電力消費モードに切り替えることを決定するために相互接続された周辺装置の存在／動作状態の変化を監視することができる。
【０１１９】
同様に、装置１０の望ましい低電力モードは電力制御アプリケーション２２０によって代替的または付加的に推測することができる。そのような推測は、例えば、規定の期間の相当の不作動が観察された場合、装置１０の筐体が開位置から物理的に閉じられた場合、装置１０がそのユーザによって‘休止状態モード’、‘スタンバイ’または類似のモードに位置づけられた場合、または外部モニタがその省電力モードに入った場合に、引き出され得る。
【０１２０】
同様に、装置１０の望ましい低電力モードは、高電力消費グラフィックスサブシステム４０の処理能力がもはや要求されなくなった場合に推測することができる。例えば、高電力消費サブシステム４０は、３Ｄゲームといったグラフィックス集約的アプリケーションが終了した（すなわち閉じられた）場合、または潜在的に高需要のアプリケーションがよりグラフィックス集約的なウインドウからそうでないものに切り替わった場合、全部のアプリケーションが閉じられた（そして背景画像が単純でグラフィックス集約的でない）場合に、もはや要求されないとしてよい。同様に、外部モニタが取り外された場合、ネットワークインタフェースの帯域幅使用量がしきい値未満に低下した場合、オペレーティングシステムがＤＯＳモード（例えばＤＯＳモードでのウィンドウズ（登録商標）９８）にある場合、高電力サブシステム４０は要求されないと仮定することができる。
【０１２１】
電力制御アプリケーション２２０が望ましい低電力モードを推測するために使用し得る他の例示的事象は、グラフィックス処理を使用していない間にシステム資源を恐らく占有するソフトウェアアプリケーションの起動を含む。例示ソフトウェアアプリケーションは、いかなるユーザインタフェースも伴わない、またはプロセッサ資源の大部分を消費する文字ベースのユーザインタフェース（ＤＯＳ様の）によるアプリケーション、主ハードドライブスキャンを開始するアプリケーション、システムバックアップを実行するアプリケーションなどを含み得る。同様に、グラフィックス集約的ではないコンソールアプリケーション（非コンソールアプリケーションはＶｉｓｔａ、ＭａｃＯＳにおけるように姿を消しつつある）が実行している、またはエンドユーザまたは他のアプリケーションソフトウェアによって開始される、ＤＯＳのような文字ベースのシェルまたはＵｎｉｘ（登録商標）シェルへの切り替えは、グラフィックス資源が必要ではないことの、そして低電力消費モードへの切り替えが適切であるとしてよい指標になり得る。やはり、関連アプリケーションの起動は電力制御アプリケーション２２０によって監視されるとしてよく、それは装置１０をその低電力状態へ移行させ得る。
【０１２２】
電力制御アプリケーション２２０はまた、１人（または全部の）ユーザがログアウトした時に、または相互接続されたモニタの画面解像度が規定のしきい値未満に減少した場合、望ましい低電力消費モードを推測し、装置１０を低電力消費モードに移行させ得る。
【０１２３】
一方、ユーザが明示的または暗黙的に高電力サブシステム４０の使用を中止し、電力制御アプリケーション２２０に対しサブシステム３０を要求する状態へ装置１０を移行させるようにすることができる。これはやはり、サブシステム３０が故障した場合、ＯＳによって検出されない場合、または必要なドライバがアンインストールまたは更新された場合に、電力制御アプリケーション２２０によって行われ得る。やはり、サブシステム３０および／またはそのドライバの存在は電力制御アプリケーション２２０によって検出され得る。
【０１２４】
さらに、電力制御アプリケーション２２０はまた、装置１０がその低電力消費モードに移行されなければならないか否かを決定するために、装置１０の全体の動作状態を感知するとしてよい。例えば装置１０は、装置１０（またはグラフィックスサブシステム４０の構成要素といったその一部）の温度が既定のしきい値温度を超えて上昇したということの感知に応答して、その低電力消費モードに移行され得る。
【０１２５】
装置１０の電力制御アプリケーション２２０がサブシステム３０、４０を高電力状態に移行させる条件は同様に、例えばバッテリエネルギーレベルまたは使用可能瞬時電力が充電中にしきい値を超えて上昇した場合、または装置１０がＡＣ電源コンセントに接続された場合の、使用可能電力の全体的増加を含み得る。
【０１２６】
同様に、装置１０の電力制御アプリケーション２２０は、サブシステム３０、４０以外の装置１０の各部分によってより少ない電力が消費される場合に、サブシステム３０、４０を高電力消費モードに移行させるかもしれない。例えば、電力制御アプリケーション２２０は、外部照明または背面照光がバッテリ動作コンピューティング装置においてオフにされた場合、ＵＳＢ装置がバッテリ動作コンピューティング装置から取り外された場合、ＰＳ／２キーボード／マウス、外部メディアドライブ、プリンタ、スキャナなどといった別の周辺装置（ＣＤ／ＤＶＤ／その他）がバッテリ動作装置から取り外された場合、周辺装置（スキャナ、プリンタその他）が動作を停止した場合、無線／有線モデム／ネットワークインタフェースといった周辺装置がバッテリ動作装置において不作動状態にされた場合、または、ネットワークカード帯域幅使用量がバッテリ動作装置においてしきい値未満に低下した場合に、高電力モードへの切り替えを生じるとしてよい。
【０１２７】
一方、より強力なグラフィックスサブシステムの必要性は電力制御アプリケーション２２０によって直接または間接的に検出され得る。これは例えば、単にユーザがスタートアップ画面からログインしたことを検出した電力制御アプリケーション２２０によって；３Ｄゲームといった高需要のソフトウェアアプリケーションが起動されたことを検出したことによって；アプリケーションがよりグラフィックス集約的なウインドウに切り替えられたことを検出したことによって；ビデオアプリケーションにより使用される帯域幅（例えば復号化ビデオストリームのｂｐｓ）がしきい値を超えて増加したことを検出したことによって；例えばグラフィックス集約的な背景画像を呈示するアプリケーションまたは他のアプリケーションを閉じた結果として全部のグラフィックス画像が呈示されていることを検出したことによって；最大化された文字ベースの（例えばＤＯＳ）アプリケーションが最小化または終了され、それによって他のアプリケーションのウインドウを呈示させたことを検出したことによって；ＤＯＳ／Ｕｎｉｘ（登録商標）のような文字ベースのターミナルからウィンドウズ（登録商標）／ＸＰウィンドウズ（登録商標）のようなグラフィックＯＳターミナルへの切り替えが生じた開始されたことを検出したことによって；コンソールグラフィックスアプリケーションの優先順位が増大した（Ｌｉｎｕｘ、ＵＮＩＸ（登録商標）における‘ナイス（nice）’コマンド）場合；外部モニタが取り付けられた（または付属の外部モニタが電源投入された）場合；または相互接続されたモニタ画面の解像度が規定のしきい値を超えて増大した場合に、起こり得る。
【０１２８】
より強力なグラフィックスサブシステム４０に対する要求はまた、システム４０を具体化している拡張カードがホットスワップされた場合（すなわち挿入された場合）；ＤＣ動作装置がスリープモードから起動した場合；装置１０のケースが閉位置から物理的に開けられたか、または別様にアクティブにされた場合に、電力制御アプリケーション２２０によって直接または間接的に検出され得る。やはり、望ましい高電力モードが電力制御アプリケーション２２０に対し装置１０をサブシステム４０が使用中／アクティブである高電力モードに切り替えさせるようにするとしてよい。
【０１２９】
同様に、装置１０とのユーザ始動会話が電力制御アプリケーション２２０を低電力状態から高電力消費モードへ移行させ得る。例えば、ユーザは、電力制御アプリケーション２２０のグラフィカルユーザインタフェースと会話することによって、高電力サブシステム４０を使用するように明示的に決定することができる。
【０１３０】
一方、ユーザは低電力サブシステム３０の使用を中止し、電力制御アプリケーション２２０にサブシステム４０を要求する状態へ装置１０を移行させるようにすることができる。これは例えば、ユーザがサブシステム３０用のデバイスドライバをアップグレードした時に起こり得る。同様に、例えば故障または誤りのために、または関連するドライバが削除されたために、サブシステム３０が検出されない場合、電力制御アプリケーション２２０は装置１０をその高電力消費状態に位置づけるかもしれない。
【０１３１】
当然、高電力消費状態への切り替えは、強力なグラフィックスサブシステム４０への十分な電力が装置１０に実際に使用可能である場合に行われる必要があるにすぎない。
【０１３２】
十分に理解されるように、ユーザ制御可能パラメータおよび選好は、モード間の移行およびサブシステム３０、４０の使用を決定するとしてよい。そのような選好は、上記の移行条件において電力制御アプリケーション２２０が低電力および高電力消費モード間で移行しなければならないかばかりでなく、関係するパラメータ（使用可能ＤＣ電力／エネルギーのしきい値レベル、ネットワークアダプタ帯域幅使用量しきい値、ビデオストリーム帯域幅しきい値、モニタ解像度しきい値、アイドル時間、温度その他）を含むとしてよい。そのような選好およびパラメータは、電力制御アプリケーション２２０とのグラフィカルユーザインタフェース（図示せず）によって調整することができる。
【０１３３】
装置１０がその高電力消費モードを再開（またはそれに移行）するべき場合、ブロックＳ５０４〜Ｓ５１０が実行される。ブロックＳ５０４で、サブシステム４０は、それがまだそのモードになければ、その全動作（高電力消費）モードに位置づけられる。これは、例えばミニポートドライバ構成要素２１０ｂの制御下に、プロセッサ１２によって電力コントローラ６０に適切な信号を供給することによって実行され得る。次に、サブシステム４０およびいずれかの取り付けられたディスプレイがブロックＳ５０６およびＳ５０８で論理的にイネーブルにされる。これは、プラグアンドプレイドライバ２１４にＡＰＩ呼出しを行い、それがサブシステム４０の存在を検出するのを可能にしてから、新しくイネーブルにされた装置（複数も）を列挙して割り当てられた名前（複数も）を取得することによって実行され得る。いったん名前がわかると、オペレーティングシステムがサブシステム４０および相互接続されたディスプレイを新しくイネーブルにするために使用され得る。「論理的に」イネーブルおよびディスエーブルにするというのは、グラフィックスをレンダリングする、またはしないために関係するグラフィックスサブシステムおよび装置を使用するようにオペレーティングシステムを設定することを指すことに留意されたい。ウィンドウズ（登録商標）ＸＰ環境において、ディスプレイは、サブシステム３０および４０のディスプレイがアクティブな状態で、拡張デスクトップをイネーブルにすることによってイネーブルにすることができる。
【０１３４】
サブシステム３０および／またはそれに取り付けられたいずれかのディスプレイは、ブロックＳ５１０で論理的にディスエーブルにされ得る。最後に、適切なＡＰＩ呼出しが行われて、グラフィックスサブシステム４０の論理的表示を行い、主（または単独）ディスプレイがオペレーティングシステムによって認識される。
【０１３５】
ブロックＳ５０６およびＳ５１０は、適格なオペレーティングシステムＡＰＩ呼出しによって、または別様に状態情報を記憶する適格なメモリを設定することによって、実行することができる。さらに、スイッチ５６はステップＳ５０８において、グラフィックスサブシステム４０からの出力が相互接続されたディスプレイ２６に供給されるように切り替えられる。具体的には、ウィンドウズ（登録商標）ＸＰ環境において、どちらの論理的ディスプレイが相互接続されているかは既知のＥｎｕｍＤｉｓｐｌａｙＤｅｖｉｃｅｓ（）呼出しを用いて評価され得る。その後、１個のグラフィックスサブシステムから別のものに切り替えるために、グラフィックスサブシステム（３０または４０）は、２個のディスプレイ（および従ってグラフィックスサブシステム）を、その後で単一のディスプレイだけを、ＣｈａｎｇｅＤｉｓｐｌａｙＳｅｔｔｉｎｇｓＥＸ（）ＡＰＩ呼出しを用いて、論理的にイネーブルにすることによって論理的にイネーブルにされ得る。
【０１３６】
これは、両方のグラフィックスサブシステムおよび従ってディスエーブルにされていたものを論理的にイネーブルにすることになる。設定するべきモードは拡張デスクトップモードである。グラフィックスサブシステム３０はその後、同様にして論理的にディスエーブルにされ得る。随意選択で、ドライバ２１０ｂはグラフィックスサブシステム３０の状態についてのあらゆる照会をトラップすることができ、それによりオペレーティングシステムの他の部分はグラフィックスサブシステム３０をディスエーブルまたは欠如として認識する。
【０１３７】
装置１０がその低電力消費モードに移行またはそれを再開した時に、ブロックＳ５１２〜Ｓ５１８が実行される。大まかに言って、グラフィックスサブシステム４０はディスエーブルにされその低電力消費モードに位置づけられる一方、グラフィックスサブシステム３０はイネーブルにされる。そのために、グラフィックスサブシステム３０はブロックＳ５１２およびＳ５１４でイネーブルにされる。やはりこれは、グラフィックスサブシステム３０をその関係するドライバ２１０ａによって論理的にイネーブルにし、ブロックＳ５１２において適切なＡＰＩ呼出しを行い（ブロックＳ５０６に関して上に述べた通り）、ステップＳ５１０でサブシステム３０がディスエーブルにされたのと同様にしてブロックＳ５１４でサブシステム４０を論理的にディスエーブルにすることによって実行され得る。ブロックＳ５１２およびＳ５１４はやはり、上述のＥｎｕｍＤｉｓｐｌａｙＤｅｖｉｃｅｓ（）およびＣｈａｎｇｅＤｉｓｐｌａｙＳｅｔｔｉｎｇｓＥＸ（）呼出しといった適切なオペレーティングシステムＡＰＩ呼出しによって、またはハードウェアとの直接的な通信によって実行され得る。
【０１３８】
ディスプレイが論理的にディスエーブルにされた後、ドライバ２１２へのＡＰＩ呼出しが使用されてブロックＳ５１８でグラフィックスサブシステムをその低電力モードに物理的に位置づけるとしてよい。そのように、プロセッサ１２はグラフィックスサブシステム４０をその低電力状態に位置づける適格な信号を電力コントローラ６０に供給する。その最も単純な形態において、電力コントローラ６０は、グラフィックスサブシステム４０またはグラフィックスサブシステム４０の構成要素への電力を切断する。一方、電力制御アプリケーション２２０は電力コントローラ６０に命令してグラフィックスサブシステム４０をＡＣＰＩ仕様によって規定された装置電力状態のうちの１つといった低電力スリープモードに位置づけることができる。いずれにしても、この低電力消費モードにおいて、電圧は抑えられ、かつ／またはアダプタ４０の全部または一部は電源切断され、かつ／またはアダプタ４０によって使用される選択クロックは減速される。
【０１３９】
いったんグラフィックスサブシステム３０がイネーブルにされると、ドライバ／構成要素２１０ａおよび２１２ａを通じたアプリケーション２０２の他のものは、グラフィックスサブシステム３０によってグラフィックスをレンダリングし続ける。
【０１４０】
さらに、図示された実施形態において、ブロックＳ５１８におけるグラフィックスサブシステム４０の電源切断により、インタフェースドライバ２１６（図３）は、照会に応答してかまたは別様に、バス２０でのグラフィックスサブシステム４０の欠如をプラグアンドプレイドライバ２１４に信号で知らせるようにさせられ得る。応じてプラグアンドプレイドライバ２１４は、ドライバおよび構成要素２１２、２１０にさらなる修正を要さずに、バスインタフェース１６とグラフィックスサブシステム４０との間のバスリンクに割り当てられた資源を解放するであろう。もしこれが生じたら、グラフィックスサブシステム４０への再給電により、インタフェース１６は、プラグアンドプレイドライバ２１４およびバスドライバ構成要素２１６の制御下に、バス２０によるリンクを新しくネゴシエートするようにさせられるであろう。それに応じて、メモリアドレス空間、割り込みなどといった資源は再割当てされる。
【０１４１】
従って、不要なリンクネゴシエーションを回避するために、ソフトウェアフィルタアプリケーション２１８が、図６のステップＳ６００に図示の通り、バスインタフェースドライバ２１６によって生成されたプラグアンドプレイドライバ２１４に向けられたあらゆるメッセージを処理する。グラフィックスサブシステム４０がもはやアクティブではないことをプラグアンドプレイアダプタに通知するグラフィックスサブシステム４０の低電力モードまたはその欠如を識別するあらゆるメッセージは、ブロックＳ６０２でインタセプトされる。そのような各メッセージは、ステップＳ６０４で生成されるグラフィックスサブシステム４０が実際上アクティブであることを指示するメッセージと取り替えられる。このようにして、プラグアンドプレイドライバ２１４およびバスドライバ２１６は、グラフィックスサブシステム４０の低（または無）電力状態に気づかされることはなく、従って、バス２０によってグラフィックスサブシステム４０をインタフェース１６に接続するリンクと関係する資源を解放しない。
【０１４２】
有利には、スイッチ５６ならびにグラフィックスサブシステム４０およびグラフィックスサブシステム３０を上述の通り構成することにより、電力消費を低減し、装置１０に２個のグラフィックスプロセッサのうちの一方だけに必要な電力を消費するようにさせ、それによって全体のエネルギー消費を低減しバッテリ寿命を温存する。例えば、可搬型コンピューティング装置は一般にビジネス旅行者によってバッテリ動作モード（ＤＣ電力）で使用される。旅行中のそのようなユーザの典型的な使用パターンは、文書処理、プレゼンテーションおよび電子メールアプリケーションを含むであろう。これらのアプリケーションは、外部グラフィックスサブシステム４０によって提供される高負荷のグラフィックス加速を要求しない。第２の（例えば外部）グラフィックスサブシステム４０の使用から、低い平均電力消費を有する第１の（例えば統合）グラフィックスサブシステム３０の使用へ移行することにより、全体のシステム性能を犠牲にすることなく、高性能グラフィックス処理と低電力消費との間でバランスを取るうえで助けとなる。
【０１４３】
図７は、本発明の別の実施形態の例示的なコンピューティング装置１０’の一部の例示的な単純化したブロック図である。コンピューティング装置１０’はコンピューティング装置１０とほぼ類似である。従って、装置１０の構成要素と機能的に等価な装置１０’の構成要素はプライム記号（’）を付記しており、詳細には説明しない。しかし簡単に言えば、装置１０’は２個のグラフィックスサブシステム３０’および４０’を含む。やはり、グラフィックスサブシステム３０’は、グラフィックスエンジン３２’、メモリコントローラ７２’、ディスプレイインタフェース７４’およびバスインタフェース７８’を含む。第２のグラフィックスサブシステム４０’は高速バス２０’によってグラフィックスサブシステム３０’と通信している。グラフィックスサブシステム４０’は、それ自身のグラフィックスエンジン４２’、メモリコントローラ５２’、ディスプレイインタフェース５４’を含む。グラフィックスサブシステム４０’はさらにグラフィックスメモリ５０’と通信している。特に言えば、装置１０’は、グラフィックスサブシステム３０’およびグラフィックスサブシステム４０’のどちらがディスプレイ２６’と相互接続されるかを制御するために使用されるスイッチを含まない。代わりに、そして明白になるように、サブシステム４０’はグラフィックスをバス２０’によってメモリ１４’に供給するように適応されている。
【０１４４】
装置１０’の動作を制御するソフトウェアの編成は装置１０のそれと類似である。しかし、装置１０’が高および低電力消費状態間で移行する際に装置１０’の動作を制御するソフトウェアの一部は、装置１０のそれらと異なる。
【０１４５】
具体的には、図８は、装置１０’のシステムメモリ内部のソフトウェア制御下でプロセッサ１２’によって実行され得る本発明の実施形態の例示的なソフトウェアブロックＳ８００を図示している。やはり、ブロックＳ８００は装置１０’が状態変化を受けるごとに実行され、それらについてサブシステム３０’および４０’は相応に構成されなければならない。図示の通り、ブロックＳ８０２において、ソフトウェアは装置１０’がその高電力消費モードか、またはその低電力消費モードを取っているのかを決定しなければならない。
【０１４６】
装置１０’がその高電力消費モードを再開（または移行）した場合、ブロックＳ８０４〜Ｓ８１０が実行される。ブロックＳ８０４において、グラフィックスサブシステム４０’は、それがまだそのモードでなければ、その全動作（高電力消費）モードに位置づけられる。これは、グラフィックスサブシステム４０’を制御するドライバを介して電力コントローラ６０’に適格な信号を供給することによって実行することができる。次に、グラフィックスサブシステム４０’がブロックＳ８０６およびＳ８０８でイネーブルにされる。やはりこれは、グラフィックスサブシステム３０’と関係する相互接続されたいずれかのディスプレイをブロックＳ８０４で論理的にディスエーブルにし、グラフィックスサブシステム４０’と接続されたディスプレイをブロックＳ８０８で論理的にイネーブルにすることによって実行することができる。ブロックＳ８０６およびＳ８０８はやはり、上述のＥｎｕｍＤｉｓｐｌａｙＤｅｖｉｃｅｓ（）およびＣｈａｎｇｅＤｉｓｐｌａｙＳｅｔｔｉｎｇｓＥＸ（）呼出しといった適切なオペレーティングシステムＡＰＩ呼出しによってか、またはハードウェアとの直接的な通信によって実行することができる。
【０１４７】
特に言えば、いずれの物理的ディスプレイもグラフィックスサブシステム４０’に接続されていない。（装置１０（図４）の）スイッチ５６がない場合、グラフィックスサブシステム４０’の動作を制御するドライバソフトウェアは、ステップＳ８１０において関係するメモリ５０’内部の代わりにグラフィックスサブシステム３０’のバッファ１４’に画像を供給するように構成される。都合のよいことに、高速バス２０（例えば、ＰＣＩｅバスとして具体化された）の存在時、そのような供給は、ある程度バスによってイネーブルにされる転送速度のおかげでバス２０によって可能である。
【０１４８】
同様に、グラフィックスサブシステム３０’のためのドライバはさらに、相互接続されたディスプレイ２６’のメモリ１４’のフレームバッファにグラフィックスサブシステム４０’によって供給された画像を呈示するために、グラフィックスサブシステム３０’のディスプレイインタフェース７４’にメモリ１４’のフレームバッファをサンプリングさせるように構成されている。同時に、グラフィックスサブシステム３０’のドライバは、グラフィックスサブシステム３０’のグラフィックスエンジン３２’に対し実質的に活動停止状態またはアイドル状態のままであるように指示することができる。この動作モードは、図９Ａに図式的に図示されており、グラフィックスサブシステム４０’およびグラフィックスサブシステム３０’のアクティブブロックだけが網掛けされている。
【０１４９】
明白になるように、図９Ａの実施形態において、メモリ５０’およびディスプレイインタフェース５４’は使用されていない。そうしたものとして、これらの機能ブロックはサブシステム４０’から削除することができ、コスト低減を可能にする。そのようなグラフィックスサブシステムを創成することは、サブシステム４０’がサブシステム３０’によって提供される機能性を補完するように創成され得るので、有益かもしれない。例えば、サブシステムは、３Ｄグラフィックスまたはビデオ復号化能力を提供するグラフィックスエンジン４２’を提供することができよう。グラフィックスエンジン３２’はこれらの能力を含まなくてもよい。同時に、グラフィックスエンジン３２’によって提供される２Ｄグラフィックス能力は、サブシステム４０’に包含される必要はない。転じて消費者は、付加的な機能性が必要な場合にのみグラフィックスサブシステム３０’を追加することができよう。
【０１５０】
装置１０’がその低電力消費モードに移行またはそれを再開した場合、ブロックＳ８１２〜Ｓ８１８が実行される。大まかに言って、グラフィックスサブシステム４０’は、部分的にまたは完全にディスエーブルにされてその低電力消費モードに位置づけられ、レンダリングはやはりグラフィックスサブシステム３０’によって実行される。そうするために、グラフィックスサブシステム３０’と関係する相互接続されたあらゆるディスプレイは、ブロックＳ８１２でイネーブルにされ、グラフィックスサブシステム４０’と物理的に接続されたあらゆるディスプレイはブロックＳ８１４で論理的にディスエーブルにされる。次に、グラフィックスサブシステム３０’の動作を制御するドライバソフトウェアはやはり、グラフィックスサブシステム３０’に画像をメモリ１４’に供給させるように構成される。ディスプレイインタフェース７４’は、ポート７８’と相互接続されたディスプレイ２６’で画像を呈示するためにメモリ１４’をサンプリングし続ける。同様に、プロセッサ１２’は最初に、ブロックＳ８１８で電力コントローラ６０’に適格な信号を供給し、グラフィックスサブシステム４０’をその低電力状態に位置づける。その最も単純な形態において、電力コントローラ６０’はグラフィックスサブシステム４０’への電力を遮断するか、またはグラフィックスサブシステム４０’を低電力スリープモードに位置づける。やはり、この低電力消費モードにおいて、電圧は抑えられ、かつ／またはグラフィックスサブシステム４０’全部または一部は電源切断され、かつ／またはグラフィックスサブシステム４０’によって使用される選択されたクロックが減速される。具体的には、グラフィックスサブシステムのグラフィックスエンジン４２’は、アイドル状態のままであるか、またはほとんどアイドル状態のままである（例えばそれは減速されるか、ディスエーブルにされるか、または電源切断される）。この動作モードは、図９Ｂに図式的に図示されており、アダプタ４０’およびグラフィックスサブシステム３０’のアクティブな機能ブロックだけが網掛けされている。非作動状態／アイドル状態の機能ブロックは、完全にディスエーブルにされるかまたは、低減した電圧またはクロック速度で動作する。
【０１５１】
随意選択で、グラフィックスサブシステム３０’の一部は、グラフィックスエンジン３２’が使用されていない時にディスエーブルにすることができよう。これは、グラフィックスサブシステム４０’が画像のレンダリングに責任を有する任意の時に、グラフィックスエンジン３２’および他の構成要素を、ＧＰＩＯまたは類似の回路によってディスエーブルにされ得る１つ以上のボルテージアイランド（voltage island）にさせることによって容易に行うことができよう。
【０１５２】
他の変更例もまた明白なはずである。例えば、図９Ａに図示された高電力モードにおいて、両方のグラフィックスサブシステム３０’およびグラフィックスサブシステム４０’は、メモリ１４’またはメモリ５０’に供給することができよう。このようにして、２個のグラフィックスサブシステム３０’および４０’は、各々がメモリ１４’の交番フレームに供給するか、またはメモリ１４’の各フレームの交番部分（例えばスキャンライン）に供給して、協調して動作することができる。
【０１５３】
また他の実施形態において、付加的なディスプレイをグラフィックスサブシステム３０’および４０’に接続して高電力消費モードでの複数のディスプレイの同時使用を可能にすることができる。このようにして、ディスプレイインタフェース５４は第２のディスプレイを駆動するために使用することができよう。低電力消費モードへの移行時に、装置１０’は図９Ｂに図示された通り動作するように構成できよう。
【０１５４】
同様に、装置１０’（または１０）はバス２０’（または２０）に接続された複数の付加的なグラフィックスサブシステムを含むことができ、それらの全部が高電力消費モードでアクティブであることができ、グラフィックスサブシステム３０’のディスプレイインタフェース７４’によってグラフィックスをレンダリングすることができよう。低電力消費モードへの移行時に、これらはディスエーブルにすることができ、レンダリングはグラフィックスサブシステム３０’のグラフィックスエンジン３２’に任せられ得る。
【０１５５】
図１０に図示されたまた別の実施形態において、コンピューティング装置１０’は直接メモリアクセス（ＤＭＡ）コントローラ９０を含むとしてよい。ＤＭＡコントローラ９０はデータをメモリ５０’からメモリ１４’に転送することができる。このようにして、装置１０’の高電力消費モードにおいて、グラフィックスサブシステム４０’は画像をメモリ５０’に供給することができよう。これらの供給された画像はその後、ＤＭＡコントローラ９０によってメモリ１４’のフレームバッファに転送され得る。ＤＭＡコントローラ９０’は、（例えばグラフィックスエンジン３２’または４２’のＤＭＡエンジンとして）グラフィックスサブシステム３０’または４０’の一部を形成するか、またはコンピューティング装置１０’において別様に配置され得る。データはメモリ５０’からメモリ１４’へバス２０’によってか、または別様に直接転送され得る。ディスプレイインタフェース７４’は、供給された画像をディスプレイ２６’で呈示するためにメモリ１４’のフレームバッファをサンプリングして上述の通り動作し続ける。やはり、その高電力消費モードにある図１０の装置１０’のアクティブブロックは図１０において網掛けして図示されている。
【０１５６】
さらなる実施形態において、プラグアンドプレイドライバ２１４（図３）は、アダプタ４０をその低（またはオフ）電力消費モードに位置づける直接的な結果として、グラフィックスサブシステム４０（または４０’）からグラフィックスサブシステム３０（または３０’）への移行を管理することができよう。同様に、プラグアンドプレイドライバ２１４は、ドライバ構成要素または付加的な構成要素２１４への修正を要することなく、アダプタ４０の再電源投入を処理することができよう。
【０１５７】
当然ながら、上述の実施形態は決して限定としてではなく例証としてのみ意図されている。本発明を実施する上述の実施形態は、形態、部品の構成配置、動作の詳細および順序の多くの修正を受けることができる。むしろ、本発明はそのような全部の修正を、請求項によって規定されるところのその範囲内に包含するように意図されている。
【図面の簡単な説明】
【０１５８】
【図１】本発明の実施形態の例示的なコンピューティング装置の単純化した略ブロック図である。
【図２】本発明の実施形態の例示的なコンピューティング装置の単純化した略ブロック図である。
【図３】図２のコンピューティング装置における例示的なソフトウェアの単純化した機能ブロック図である。
【図４】図２のコンピューティング装置の部分のさらなる単純化した略ブロック図である。
【図５】本発明の実施形態の例示的な図２の装置におけるソフトウェアによって実行されるステップを詳述するフローチャートである。
【図６】本発明の実施形態の例示的な図２の装置におけるソフトウェアによって実行されるステップを詳述するフローチャートである。
【図７】本発明のさらなる実施形態の例示的なコンピューティング装置の部分のさらなる単純化した部分略ブロック図である。
【図８】本発明の実施形態の例示的な図６の装置におけるソフトウェアによって実行されるステップを詳述するフローチャートである。
【図９Ａ】図７の装置の動作を例示する単純化したブロック図である。
【図９Ｂ】図７の装置の動作を例示する単純化したブロック図である。
【図１０】本発明のさらなる実施形態の例示的なコンピューティング装置の部分のさらなる単純化した部分略ブロック図である。
【図１】
2009539192.tif 000003
【図２】
2009539192.tif 000004
【図３】
2009539192.tif 000005
【図４】
2009539192.tif 000006
【図５】
2009539192.tif 000007
【図６】
2009539192.tif 000008
2009539192.tif 000009
【図７】
2009539192.tif 000010
【図８】
2009539192.tif 000011
【図９Ａ】
2009539192.tif 000012
【図９Ｂ】
2009539192.tif 000013
【図１０】
2009539192.tif 000014
【国際調査報告】
2009539192.tif 000015
2009539192.tif 000016