(57)【要約】【課題】システムがアイドルの時（たとえば所与の時間期間にわたってディスプレイ上の画像が変化しない間）は電力が無駄になる。【解決手段】いくつかの実施形態は、ハイブリッド・グラフィック・ディスプレイ電力管理に関係する技法を記述する。ある実施形態では、ビデオ・ストリームの一つまたは複数の画像フレームに対応するデータがローカル・フレーム・バッファに記憶される。ディスプレイ装置（たとえばLCD）が、ローカル・フレーム・バッファ中の記憶されているデータまたはグラフィック・コントローラからのビデオ・ストリームに基づいて駆動されうる。他の実施形態も記載される。【選択図】図６
2010156970.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイ装置を駆動するディスプレイ・スイッチング論理を有する装置であって、前記ディスプレイ・スイッチング論理は：
ビデオ・ストリームの一つまたは複数の画像フレームに対応するデータを記憶するローカル・フレーム・バッファと；
前記ローカル・フレーム・バッファ中の記憶されているデータまたはグラフィック・コントローラからのビデオ・ストリームのどちらに基づいて前記ディスプレイ装置を駆動するかを決定するコントローラとを有する、
装置。
【請求項２】
前記ディスプレイ・スイッチング論理は、ある選択された時間期間にわたって表示画像に何の変化も起こらなかったという判定に応答して前記ローカル・フレーム・バッファ中の記憶されているデータに基づいて前記ディスプレイ装置を駆動する、請求項１記載の装置。
【請求項３】
前記グラフィック・コントローラが、分離グラフィック・コントローラまたは統合グラフィック・コントローラの一つである、請求項１記載の装置。
【請求項４】
前記ディスプレイ・スイッチング論理が、前記コントローラによって生成される選択信号に応答して分離グラフィック・コントローラまたは統合グラフィック・コントローラからのビデオ・ストリームの間で選択を行うマルチプレクサを有する、請求項１記載の装置。
【請求項５】
前記コントローラが電力消費またはパフォーマンスが低下させられるべきであるという指標に基づいて前記選択信号を生成する、請求項４記載の装置。
【請求項６】
前記分離グラフィック・コントローラはディスプレイ・コンテキスト・スイッチング・データをシステム・メモリ中に記憶させ、前記統合グラフィック・コントローラはその記憶されたディスプレイ・コンテキスト・スイッチング・データにアクセスする、請求項４記載の装置。
【請求項７】
前記コントローラは、パフォーマンスが上げられるべきであるという指標に基づいて前記選択信号を生成する、請求項４記載の装置。
【請求項８】
前記統合グラフィック・コントローラはディスプレイ・コンテキスト・スイッチング・データを分離グラフィック・コントローラのローカル・ビデオ・メモリ中に記憶させ、前記分離グラフィック・コントローラはその記憶されたディスプレイ・コンテキスト・スイッチング・データにアクセスする、請求項４記載の装置。
【請求項９】
メモリ・デバイス中におけるディスプレイ・コンテキスト・スイッチング・データの位置を示す一つまたは複数の構成設定レジスタをさらに有し、前記分離グラフィック・コントローラまたは前記統合グラフィック・コントローラの少なくとも一方が、前記一つまたは複数の構成設定レジスタに記憶されている情報に基づいて、記憶されたディスプレイ・コンテキスト・スイッチング・データにアクセスする、請求項４記載の装置。
【請求項１０】
前記コントローラは、前記ローカル・フレーム・バッファ中の記憶されているコンテンツのレベルが閾値に達したとの判定に応答して前記グラフィック・コントローラからの追加的なコンテンツを要求する、請求項１記載の装置。
【請求項１１】
前記コントローラは、前記ディスプレイ装置上の表示されている画像が古くなったとの判定に応答して前記グラフィック・コントローラからの追加的なコンテンツを要求する、請求項１記載の装置。
【請求項１２】
前記ディスプレイ装置は液晶ディスプレイ、プラズマ・ディスプレイまたは電界放出ディスプレイである、請求項１記載の装置。
【請求項１３】
ビデオ・ストリームの一つまたは複数の画像フレームに対応するデータをローカル・フレーム・バッファに記憶する段階と；
ディスプレイ装置を前記ローカル・フレーム・バッファ中の記憶されているデータまたはグラフィック・コントローラからのビデオ・ストリームのどちらに基づいて駆動するかを決定する段階と；
前記ディスプレイ装置を駆動する段階とを有する、
方法。
【請求項１４】
ある選択された時間期間の間に表示画像に何らかの変化が起こったかどうかを判定する段階をさらに有しており、前記ディスプレイ装置の駆動は、前記選択された時間期間の間に前記表示画像に何の変化も起こらなかったという判定に応答して前記ローカル・フレーム・バッファ中の記憶されているデータに基づいて実行される、請求項１３記載の方法。
【請求項１５】
選択信号に応答して分離グラフィック・コントローラまたは統合グラフィック・コントローラからのビデオ・ストリームの間で選択を行う段階をさらに有する、請求項１３記載の方法。
【請求項１６】
電力消費またはパフォーマンスが低下させられるべきであるという指標に基づいて前記選択信号を生成する段階をさらに有する、請求項１５記載の方法。
【請求項１７】
ディスプレイ・コンテキスト・スイッチング・データをシステム・メモリ中に記憶する段階と；
前記統合グラフィック・コントローラがその記憶されたディスプレイ・コンテキスト・スイッチング・データにアクセスする段階とをさらに有する、
請求項１５記載の方法。
【請求項１８】
パフォーマンスが上げられるべきであるという指標に基づいて前記選択信号を生成する段階をさらに有する、請求項１５記載の方法。
【請求項１９】
ディスプレイ・コンテキスト・スイッチング・データを前記分離グラフィック・コントローラのローカル・ビデオ・メモリ中に記憶する段階と；
前記分離グラフィック・コントローラがその記憶されたディスプレイ・コンテキスト・スイッチング・データにアクセスする段階とをさらに有する、
請求項１５記載の方法。
【請求項２０】
前記ローカル・フレーム・バッファ中の記憶されているコンテンツのレベルが閾値に達したとの判定に応答して前記グラフィック・コントローラからの追加的なコンテンツを要求する段階をさらに有する、請求項１３記載の方法。
【請求項２１】
前記ディスプレイ装置上の表示されている画像が古くなったとの判定に応答して前記グラフィック・コントローラからの追加的なコンテンツを要求する段階をさらに有する、請求項１３記載の方法。
【請求項２２】
一つまたは複数の命令を有するコンピュータ可読媒体であって、前記命令は、プロセッサ上で実行されたときに、前記プロセッサを：
ビデオ・ストリームの一つまたは複数の画像フレームに対応するデータをローカル・フレーム・バッファに記憶する段階と；
ディスプレイ装置を前記ローカル・フレーム・バッファ中の記憶されているデータまたはグラフィック・コントローラからのビデオ・ストリームのどちらに基づいて駆動するかを決定する段階と；
前記ディスプレイ装置を駆動する段階とを行うよう構成する、
コンピュータ可読媒体。
【請求項２３】
請求項２２記載のコンピュータ可読媒体であって、前記プロセッサ上で実行されたときに前記プロセッサを、ある選択された時間期間の間に表示画像に何らかの変化が起こったかどうかを判定する段階を実行するよう構成する一つまたは複数の命令をさらに有しており、前記ディスプレイ装置の駆動は、前記選択された時間期間の間に前記表示画像に何の変化も起こらなかったという判定に応答して前記ローカル・フレーム・バッファ中の記憶されているデータに基づいて実行される、コンピュータ可読媒体。
【請求項２４】
請求項２２記載のコンピュータ可読媒体であって、前記プロセッサ上で実行されたときに前記プロセッサを、ディスプレイ・コンテキスト・スイッチング・データをメモリ中に記憶する段階を実行するよう構成する一つまたは複数の命令をさらに有する、コンピュータ可読媒体。
【請求項２５】
コンテキスト・スイッチング・データを記憶するためのメモリと；
ディスプレイ装置を駆動するためのディスプレイ・スイッチング論理とを有するシステムであって、前記ディスプレイ・スイッチング論理は：
ビデオ・ストリームの一つまたは複数の画像フレームに対応するデータを記憶するローカル・フレーム・バッファと；
前記ローカル・フレーム・バッファ中の記憶されているデータまたはグラフィック・コントローラからのビデオ・ストリームのどちらに基づいて前記ディスプレイ装置を駆動するかを決定するコントローラとを有する、
システム。
【請求項２６】
前記メモリがシステム・メモリを含み、分離グラフィック・コントローラが前記ディスプレイ・コンテキスト・スイッチング・データを前記システム・メモリ中に記憶させ、統合グラフィック・コントローラがその記憶されたディスプレイ・コンテキスト・スイッチング・データにアクセスする、請求項２５記載のシステム。
【請求項２７】
前記メモリがローカル・ビデオ・メモリを含み、統合グラフィック・コントローラが前記ディスプレイ・コンテキスト・スイッチング・データを前記ローカル・ビデオ・メモリ中に記憶させ、分離グラフィック・コントローラがその記憶されたディスプレイ・コンテキスト・スイッチング・データにアクセスする、請求項２５記載のシステム。
【請求項２８】
前記ディスプレイ・スイッチング論理は、ある選択された時間期間にわたって表示画像に何の変化も起こらなかったという判定に応答して前記ローカル・フレーム・バッファ中の記憶されているデータに基づいて前記ディスプレイ装置を駆動する、請求項２５記載のシステム。
【請求項２９】
前記グラフィック・コントローラが、分離グラフィック・コントローラまたは統合グラフィック・コントローラの一つである、請求項２５記載のシステム。
【請求項３０】
前記ディスプレイ装置が液晶ディスプレイ、プラズマ・ディスプレイまたは電界放出ディスプレイである、請求項２５記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概括的には電子工学の分野に関する。より詳細には、本発明のある実施形態はハイブリッド・グラフィック・ディスプレイ電力管理（power  management）に関する。
【背景技術】
【０００２】
ポータブル・コンピューティング装置が人気を得つつある。その理由の一つは価格が下がるとともに性能が上がっているためである。その人気上昇のもう一つの理由は、いくつかのポータブル・コンピューティング装置が多くの場所で、たとえばバッテリー電力に頼って、操作されうるという事実によるものかもしれない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、より多くの機能がポータブル・コンピューティング装置に統合されるにつれて、電力消費を減らす必要性が、たとえば長時間にわたりバッテリー電力を維持するためにますます重要になる。
【０００４】
さらに、いくつかのポータブル・コンピューティング装置は液晶ディスプレイ（LCD:  liquid  crystal  display）または「フラットパネル」ディスプレイを含む。今日のモバイル装置は一般に、ディスプレイ上で新しいフレームを更新するために「常時待機（always  ready）」であるべく設計される。この待機状態は視覚的な性能要件のためにはすばらしいことかもしれないが、それに伴う電力はシステムがアイドルの時（たとえば所与の時間期間にわたってディスプレイ上の画像が変化しない間）は無駄になる。
【課題を解決するための手段】
【０００５】
付属の図面を参照して詳細に説明する。図面において、参照符号の左端の桁（一つまたは複数）がその参照符号が最初に現れる図を同定する。異なる図面における同じ参照符号の使用は同様のまたは同一の項目を示す。
【図面の簡単な説明】
【０００６】
【図１】本稿で論じるさまざまな実施形態を実装するために利用されうるコンピューティング・システムの実施形態のブロック図である。
【図２】本稿で論じるさまざまな実施形態を実装するために利用されうるコンピューティング・システムの実施形態のブロック図である。
【図３】いくつかの実施形態に基づく、分離グラフィックと統合グラフィックとの間のコンテキスト・スイッチングに関連する構成要素を示す図である。
【図４】いくつかの実施形態に基づく、分離グラフィックと統合グラフィックとの間のコンテキスト・スイッチングに関連する構成要素を示す図である。
【図５】ある実施形態に基づく表示内容更新および記憶のためのスケーラビリティ・ハンドシェーク・プロトコルの流れ図である。
【図６】ある実施形態に基づくディスプレイ装置のリフレッシュ・レートを修正する方法の流れ図である。
【図７】本稿で論じるさまざまな実施形態を実装するために利用されうるコンピューティング・システムの実施形態のブロック図である。
【発明を実施するための形態】
【０００７】
以下の記述では、さまざまな実施形態の十全な理解を与えるために、数多くの個別的な詳細が述べられる。しかしながら、実施形態によってはこれらの個別的な詳細なしでも実現されうる。その一方で、よく知られた方法、手順、コンポーネントおよび回路は、個別の実施形態を埋没させないよう、詳細に述べてはいない。
【０００８】
本稿で論じられる実施形態のいくつかは、グラフィック・パフォーマンスを維持しつつ、電力効率がよいおよび／または（異なるサイズのディスプレイおよび／またはディスプレイ・ローカル・フレーム・バッファに）スケーラブルである斬新な技法およびアーキテクチャを提供しうる。ある実施形態では、たとえばアイドル期間中は自己リフレッシュにはいるまたは分離グラフィックから統合グラフィック（本稿ではGFX（Graphic  Effects［グラフィック効果］）とも称される）に切り替えることによってディスプレイ電力最適化を容易にするために、スイッチング・コンポーネントおよび関連する論理が一つまたは複数のグラフィック・デバイス（関連するチップセット、プロセッサ、ディスプレイ装置、グラフィック論理などのような）中に統合されてもよい。本稿で論じるところでは、「アイドル」期間とは、表示される画像が、１ｍｓ、より短いまたはより長い期間などのような選択された時間期間にわたって変化しない時をいう。ある実施形態では、メモリ（たとえばグラフィック・メモリまたはシステム・メモリ）の一部分が、分離グラフィックと統合ブラフィックの間のよりなめらかな遷移を容易にするためのコンテキスト・スイッチングのために利用されうる。
【０００９】
いくつかの実施形態では、統合グラフィック（integrated  graphics）とは、一つまたは複数のコア・システム・コンポーネント（マザーボード上のプロセッサ、チップセットなどのような）と統合されうるグラフィック論理をいう。一方、分離グラフィック（discrete  graphics）とは、バス／相互接続〔インターコネクト〕またはポイント・ツー・ポイント接続（たとえばPCI、PCIエクスプレスなどを含む）を介して他のコンピューティング・システム要員に結合された別個のインターフェース装置（インターフェース・カードのような）上に設けられるグラフィック論理を指しうる。これについてはたとえば図１〜図７を参照して本稿でさらに論じる。さらに、本稿で論じる実施形態のいくつかは、図１〜図７を参照して論じられるもののようなさまざまなコンピューティング・システムにおいて利用されうる。より詳細には、図１は、本発明のある実施形態に基づくコンピューティング・システム１００のブロック図を示している。コンピューティング・システム１００は、相互接続ネットワーク（またはバス）１０４を介して通信する一つまたは複数の中央処理ユニット（CPU:  central  processing  unit）またはプロセッサ１０２−１ないし１０２−Ｎ（本稿ではまとめて「プロセッサ１０２」または「諸プロセッサ１０２」と称する）を含みうる。プロセッサ１０２は汎用プロセッサ、ネットワーク・プロセッサ（コンピュータ・ネットワーク１０３を通じて通信されるデータを処理するもの）または他の型のプロセッサ（縮小命令セット・コンピュータ（RISC:  reduced  instruction  set  computer）プロセッサまたは複雑命令セット・コンピュータ（CISC:  complex  instruction  set  computer））を含みうる。
【００１０】
さらに、プロセッサ１０２は単一コア設計を有していても複数コア設計を有していてもよい。たとえば、プロセッサ１０２の一つまたは複数が一つまたは複数のプロセッサ・コア１０５−１ないし１０５−Ｎ（本稿ではまとめて「コア１０５」または「諸コア１０５」と称する）を含んでいてもよい。複数コア設計をもつプロセッサ１０２は、同じ集積回路（IC:  integrated  circuit）ダイ上に異なる複数の型のプロセッサ・コア１０５を統合してもよい。また、複数コア設計をもつプロセッサ１０２は、対称的または非対称なマルチプロセッサとして実装されてもよい。
【００１１】
ある実施形態では、プロセッサ１０２の一つまたは複数は、一つまたは複数のキャッシュ１０６−１ないし１０６−Ｎ（本稿ではまとめて「キャッシュ１０６」または「諸キャッシュ１０６」と称する）を含みうる。キャッシュ１０６は共有されていてもよいし（たとえばコア１０５の一つまたは複数によって）、プライベートでもよい（レベル１（L1）キャッシュのように）。さらに、キャッシュ１０６は、コア１０５のようなプロセッサ１０２の一つまたは複数のコンポーネントによって利用されるデータ（たとえば命令を含む）を記憶してもよい。たとえば、キャッシュ１０６はメモリ１０７（本稿ではシステム・メモリとも称される）内に記憶されているデータを、プロセッサ１０２のコンポーネントによるより高速なアクセスのためにローカルにキャッシュしてもよい。ある実施形態では、キャッシュ１０６（共有されていてもよい）は中間レベル・キャッシュおよび／または最終レベル・キャッシュ（LLC:  last  level  cache）を含んでいてもよい。プロセッサ１０２のさまざまなコンポーネントはキャッシュ１０６と、直接的に、バスもしくは相互接続ネットワークおよび／またはメモリ・コントローラもしくはハブを通じて、通信しうる。
【００１２】
チップセット１０８も相互接続ネットワーク１０４と通信しうる。チップセット１０８は、グラフィックおよびメモリ制御ハブ（GMCH:  graphics  and  memory  control  hub）１０９を含んでいてもよい。GMCH１０９は、メモリ１０７と通信するメモリ・コントローラ１１０を含んでいてもよい。メモリ１０７は、プロセッサ１０２またはコンピューティング・システム１００に含まれる他の任意の装置によって実行される命令のシーケンスを含むデータを記憶しうる。本発明のある実施形態では、メモリ１０７は、ランダム・アクセス・メモリ（RAM:  random  access  memory）、動的RAM（DRAM:  dynamic  RAM）、同期DRAM（SDRAM:  synchronous  DRAM）、静的RAM（SRAM:  static  RAM）または他の型の記憶デバイスといった一つまたは複数の揮発性記憶（またはメモリ）デバイスを含んでいてもよい。ハードディスクのような不揮発性メモリも利用されうる。複数のシステム・メモリのような追加的な装置が相互接続ネットワーク１０４を介して通信してもよい。
【００１３】
GMCH１０９はグラフィック・インターフェース・コントローラ１１４およびディスプレイ・スイッチング論理１１５をも含みうる。たとえば図２〜図６を参照して本稿でさらに論じるように、論理１１５は、ディスプレイ装置１１６について、分離グラフィック、統合グラフィックまたは自己リフレッシュ・モードの間の切り換えを引き起こしうる。また、論理１１５は実装に依存してさまざまな位置に設けられうる。これに限られないが、チップセット１０８、グラフィック・コントローラ１１４、ディスプレイ装置１１６などの位置である。グラフィック・インターフェース・コントローラ１１４は、たとえばメモリ１０７に記憶されているデータ、ネットワーク１０３から受信されたデータ、ディスク・ドライブ１２８に記憶されているデータ、キャッシュ１０６に記憶されているデータ、プロセッサ１０２によって処理されたデータなどに対応する一つまたは複数の画像フレームを表示するために、ディスプレイ装置１１６と通信しうる。グラフィック・コントローラ１１４は統合グラフィック、分離グラフィックまたは両方を含みうる。また、グラフィック・コントローラ１１４はシステム１００中に統合されてもよいし（たとえばマザーボード上、チップセット１０８上（図のように）など）、あるいはインターフェース・カードのような別個のインターフェース（バス１０４および／または１２２を含む、ポイント・ツー・ポイントまたは共有の相互接続を介してシステム１００の諸コンポーネントに結合される）上に設けられてもよい。
【００１４】
ディスプレイ装置１１６は、フラットパネル・ディスプレイ（LCD、電界放出ディスプレイ（FED:  field  emission  display）またはプラズマ・ディスプレイを含む）または陰極線管（CRT:  cathode  ray  tube）をもつディスプレイ装置など、いかなる型のディスプレイ装置であってもよい。本発明のある実施形態では、グラフィック・インターフェース・コントローラ１１４は低電圧差動信号（LVDS:  low  voltage  differential  signal）インターフェース、ディスプレイポート（DisplayPort）（ビデオ電子工学規格協会（VESA:  Video  Electronics  Standards  Association）によって策定されたデジタル・ディスプレイ・インターフェース規格（2006年5月承認、現行バージョン1.1は2007年4月2日に承認））、デジタル・ビデオ・インターフェース（DVI:  digital  video  interface）または高精細度マルチメディア・インターフェース（HDMI:  high  definition  multimedia  interface）を介してディスプレイ装置１１６と通信しうる。また、ディスプレイ装置１１６はグラフィック・インターフェース・コントローラ１１４と、たとえばビデオ・メモリ（たとえばGMCH１０９またはディスプレイ装置１１６に結合されている（図示せず））またはシステム・メモリ（たとえばメモリ１０７）のような記憶装置に記憶されている画像のデジタル表現をディスプレイ装置１１６が解釈して表示するディスプレイ信号に変換する信号変換器を通じて通信してもよい。
【００１５】
ハブ・インターフェース１１８は、GMCH１０９および入出力制御ハブ（ICH:  input/output  control  hub）１２０が通信することを許容しうる。ICH１２０（本稿ではプラットフォーム制御ハブ（PCH:  platform  control  hub）と称されることもありうる）は、コンピューティング・システム１００と通信するI/O装置へのインターフェースを提供しうる。ICH１２０はバス１２２と、周辺コンポーネント相互接続（PCI:  peripheral  component  interconnect）ブリッジ、普遍シリアル・バス（USB:  universal  serial  bus）コントローラまたは他の型の周辺ブリッジもしくはコントローラといった周辺ブリッジ（またはコントローラ）１２４を通じて通信しうる。ブリッジ１２４は、CPU１０２と周辺装置との間のデータ経路を提供しうる。他の型のトポロジーが利用されてもよい。また、複数のバスが、たとえば複数のブリッジまたはコントローラを通じて、ICH１２０と通信してもよい。さらに、ICH１２０と通信している他の周辺機器は、本発明のさまざまな実施形態において、統合ドライブ電子工学（IDE:  integrated  drive  electronics）もしくは小型コンピュータ・システム・インターフェース（SCSI:  small  computer  system  interface）のハード・ドライブ（単数または複数）、USBポート（単数または複数）、キーボード、マウス、パラレル・ポート（単数または複数）、シリアル・ポート（単数または複数）、フロッピー（登録商標）ディスク・ドライブ（単数または複数）、デジタル出力サポート（たとえばデジタル・ビデオ・インターフェース（DVI））または他の装置を含みうる。
【００１６】
バス１２２は、オーディオ装置１２６、一つまたは複数のディスク・ドライブ１２８およびネットワーク・インターフェース装置１３０（これはコンピュータ・ネットワーク１０３と通信する）と通信しうる。他の装置がバス１２２を介して通信してもよい。また、本発明のいくつかの実施形態では、さまざまなコンポーネント（ネットワーク・インターフェース装置１３０のような）がGMCH１０９と通信してもよい。さらに、プロセッサ１０２およびGMCH１０９は単一のチップを形成するよう組み合わされてもよい。さらに、本発明の他の実施形態では、グラフィック・コントローラ１１４および／または論理１１５はディスプレイ装置１１６内に含められてもよい。
【００１７】
さらに、コンピューティング・システム１００は揮発性および／または不揮発性メモリ（または記憶）を含んでいてもよい。たとえば、不揮発性メモリは次のうちの一つまたは複数を含んでいてもよい：読み出し専用メモリ（ROM:  read-only  memory）、プログラム可能型ROM（PROM:  programmable  ROM）、消去可能型PROM（EPROM:  erasable  PROM）、電気的に消去可能なEPROM（EEPROM:  electrically  erasable  EPROM）、ディスク・ドライブ（たとえばディスク・ドライブ１２８）、フロッピー（登録商標）・ディスク、コンパクト・ディスクROM（CD-ROM:  compact  disk  ROM）、デジタル多用途ディスク（DVD:  digital  versatile  disk）、フラッシュ・メモリ、光磁気ディスクまたは電子データ（たとえば命令を含む）を記憶することのできる他の型の不揮発性機械可読媒体。
【００１８】
図２は、本発明のある実施形態に基づくコンピューティング・システム２００の諸部分のブロック図を示している。図２に示されるように、システム２００は論理１１５、ディスプレイ装置１１６、プロセッサ２０２（たとえば一つまたは複数のコアおよび非コア（un-core）をもつ；ここで、MCH２０３（これは図１のGMCHと同じまたは同様であってもよい）およびGFX２０４はプロセッサ２０２内に実装されてもよいし、あるいは同じ集積回路チップ上の別個のコンポーネントとしてまたは別個のチップ上に実装されてもよい）、PCH２０８（これは図１のICH１２０と同じまたは同様であってもよく、たとえば不揮発性メモリ（NVM:  non-volatile  memory）、ディスクなどに結合されていてもよい）、分離グラフィック・コントローラ論理２０６（図１を参照して論じたようにさまざまな形および位置において設けられうる）を含みうる。図に示されるように、PCH２０８は直接メディア・インターフェース（DMI:  Direct  Media  Interface）およびディスプレイ・インターフェース（USBおよび無線USBを使ってコンピュータとディスプレイの接続を許容するディスプレイリンク（DisplayLink（商標））インターフェース技術のような）を通じてMCH２０３およびGFX２０４とそれぞれ通信しうる。
【００１９】
いくつかの実施形態では、図２に示されるコンポーネントの少なくともいくつかはディスプレイ・パネル中またはマザーボード上に埋め込まれてもよい。ディスプレイ・スイッチング論理１１５はコントローラ２１０、ローカル・フレーム・バッファ（LFB:  Local  Frame  Buffer）２１２およびマルチプレクサ（MUX）２１４を含んでいてもよい。コントローラ２１０はLFB２１２、GFX２０４および／または分離グラフィック２０６からのデータに従って（たとえば、プロセッサ２０２、GFX２０４および／または分離グラフィック２０６による指標（信号または本稿で図面を参照して論じたもののようなメモリ１０７または他のメモリ／キャッシュ内のレジスタまたはメモリ位置内に記憶された値）に基づいて）ディスプレイ装置１１６の駆動を切り替えうる。図２に示されるように、コントローラ２１０は、GFX２０４からの入力と分離グラフィック２０６からの入力との間で選択を行うよう、選択信号２１５をMUX２１４に与えうる。
【００２０】
あるいはまた、コントローラ２１０は、ディスプレイ装置１１６の自己リフレッシュを与えるよう、LFB２１２からのデータを利用してもよい。そうすることにより、CPU/GPU（中央処理ユニット／グラフィック処理ユニット（Central  Processing  Unit/Graphics  Processing  Unit））複合体および／または分離グラフィック２０６（たとえば四角２２０内にマークされた諸項目）およびPCH２０８のようなプラットフォームの残りの部分が、いくつかの実施形態において、積極的に（aggressively）電力管理されることができる。これは、CPU-GPU複合体および分離グラフィック・コントローラのような深いサブミクロンCMOS（Complementary  Metal  Oxide  Semiconductor［相補的金属酸化物半導体］）プロセス技術において製造される高性能シリコンの漏れ影響（leakage  impact）に対処することにおいて特に有用となりうる。さらに、システム・メモリ、プラットフォーム・クロック・チップ２２２（これはシステム２００または本稿で論じられる他のコンピューティング・システムのプロセッサ２０２および／または他のコンポーネントに動作クロック信号を提供しうる）および図１〜図２または図７のコンポーネントへの供給電圧を調節する電圧調整器（voltage  regulators）（図示せず）のようなプラットフォーム構成要素の電力影響が、これらのコンポーネントが何のタスクも実行していないときには低減されうる。
【００２１】
図３は、ある実施形態に基づく、分離グラフィックから統合グラフィックへのコンテキスト・スイッチングに関連する構成要素を示している。図４は、ある実施形態に基づく、統合グラフィックから分離グラフィックへのコンテキスト・スイッチングに関連するコンポーネントを示している。いくつかの実施形態では、分離グラフィック・コントローラ２０６の利用は、統合グラフィック・コントローラ２０４に比して、より多くの電力を消費するがパフォーマンスを改善しうる。同様に、統合グラフィック・コントローラ２０４の利用は、分離グラフィック・コントローラ２０６に比して、消費電力がより少ないが、パフォーマンスを低下させうる。
【００２２】
図３に示されるように、ひとたび分離グラフィック・コントローラ２０６が統合グラフィックへの切り替えの必要性を検出すると（たとえば、プラットフォームが電力を節約するまたはパフォーマンスを低下させるべきであるという指標（低電力消費設定、低バッテリー充電レベル状態、低パフォーマンス設定などのような）に基づいて）、コントローラ２０６は、フラッシュ（flush）（たとえば現在の全体フレームのフラッシュ）を発生させてもよい（たとえばPEG（PCI  Express  Graphics［PCIエクスプレス・グラフィックス］）ポートを通じて）。統合グラフィック・コントローラ２０４は、ディスプレイ・コンテキスト・スイッチングに対応するデータ（たとえば一つまたは複数の画像フレームを含む）のシステム・メモリ１０７中への記憶を引き起こしてもよい。それにより、統合グラフィック・コントローラ２０４は、スイッチングの間ほとんどまたは全く中断なしに、グラフィック画像の表示を再開しうる。
【００２３】
図４に示されるように、ひとたび統合グラフィック・コントローラ２０４が分離グラフィックへの切り替えの必要性を検出すると（たとえば、プラットフォームがより高性能を出すべきであるという指標（高電力消費設定、交流（AC:  Alternating  Current）アダプターの存在、グラフィック集約的なアプリケーションの実行などのような）に基づいて）、コントローラ２０４は、フラッシュ（たとえば現在の全体フレームのフラッシュ）を発生させてもよい（たとえばPEGポートを通じて）。統合グラフィック・コントローラ２０４は、ディスプレイ・コンテキスト・スイッチングに対応するデータ（たとえば一つまたは複数の画像フレームを含む）の、分離グラフィック・コントローラ２０６によってアクセス可能なローカルなビデオ・メモリ４０２（たとえばこれはコントローラ２０６と同じ集積回路デバイス上に設けられていてもよい）中への記憶を引き起こしてもよい。それにより、分離グラフィック・コントローラ２０６は、スイッチングの間ほとんどまたは全く中断なしに、グラフィック画像の表示を再開しうる。メモリ４０２は、メモリ１０７を参照して論じたものまたはビデオ・データの記憶用に設計されたRAM型デバイス（ビデオRAM（VRAM:  Video  RAMのような））を含むいかなる型のメモリ・デバイスであってもよい。いくつかの実施形態では、ディスプレイ・コンテキスト・スイッチング・データがLFB２１２に記憶されてもよい。
【００２４】
いくつかの実施形態では、上記の機能を作り出すために関連するコンポーネントがサポートする二つのプロトコル・ハンドシェークがある。第一に、分離グラフィック・コントローラ２０６および統合グラフィック・コントローラ２０４は、本機構が、コンテキスト・スイッチングのためのメモリ領域を定義する（それとともにある実施形態ではコンテキスト・スイッチを開始するソフトウェア可視制御を許容する）ことを容易にする。そうすることにより、ハイブリッド・グラフィック（hybrid  graphics）・アプリケーションの目的のためにこれらのグラフィック・コントローラの間でディスプレイ上の現在画像をポートすることにおける透明性が許容される。たとえば、図３は、構成設定レジスタ（configuration  register）（単数または複数）（BARによって表される）を通じたそのようなメモリ領域の定義と、コンテキスト・スイッチングを実行するための、アイドルなシステム上に現在表示されている画像内容のストリーミングの開始とのためのプロトコル機構を示している。BARは、図４に示されるような、統合グラフィック・コントローラ２０４から分離グラフィック・コントローラ２０６へのスイッチングのためにも使用できる。さらに、図３および図４に示されるように、構成設定レジスタ（BARによって表される）は、切り替え発生後にディスプレイ・データの駆動を再開することになるグラフィック・コントローラに存在するかそのグラフィック・コントローラによってアクセス可能でありうる（たとえば図３についてはGFX２０４内、図４についてはコントローラ２０６内）。
【００２５】
よって、コンテンツ・スイッチング・データの記憶は、これらのグラフィック・コントローラのスイッチにまたがってコンテンツを保持しうる。第二の機能は、表示内容〔ディスプレイ・コンテンツ〕の論理１１５へのストリーミングを許容することである。それは、分離グラフィックと統合グラフィックの間のスイッチングとともに、ローカル・フレーム・バッファ２１２の内容が空にされる際に論理１１５への定期的な内容更新のための要求および承認プロトコルを含む。この後者は、ローカル・フレーム・バッファ・サイズにありうる限界によるスケーラビリティとともに、幅広い範囲のディスプレイ・リフレッシュ・レートおよび解像度に対応する柔軟性を容易にするためである。
【００２６】
図５は、ある実施形態に基づく表示内容更新および記憶のためのスケーラビリティ・ハンドシェーク・プロトコルの流れ図を示している。図のように、図５は、グラフィック・コントローラ（統合または分離）と論理１１５との間の通信およびデータの流れを示している。具体的には、論理１１５内のローカル・フレーム・バッファ２１２を充填するためにグラフィック・コントローラ１１４によってデータ・パケット（たとえばフレーム先頭、次データおよび／またはフレーム末尾を含むタグをもつ）が送られる。論理１１５は今度は、そのバッファが閾値を下回るまで空にされるまたはイベント通知（ディスプレイ装置１１６の解像度が上げられた、部分フレーム変化（partial  frame  change）など）を通じて画像が古く（staled）なった際に定期的にデータ充填してもよい。したがって、いくつかの実施形態では、ディスプレイ・リフレッシュ・レートおよび／または解像度に関してメモリ・スケーラビリティを許容するために定期的な内容更新が提供されうる。
【００２７】
図６は、本発明のある実施形態に基づく、ハイブリッド・グラフィック・ディスプレイ電力管理を実行するための方法６００のある実施形態の流れ図を示している。ある実施形態では、図６を参照して論じる動作の一つまたは複数を実行するために、図１〜図５、図７を参照して論じたさまざまなコンポーネントが利用されうる。たとえば、方法６００は、図１〜図５または図７の論理１１５からの指令に基づいてディスプレイ装置１１６上に表示されるべき画像フレームの源〔ソース〕を修正するために使用されうる。
【００２８】
図１〜図６を参照するに、動作６０２において、ディスプレイは、たとえば画像、ビデオなどを表示するために駆動されていてもよい（たとえば、ディスプレイ装置１１６が論理１１５を通じてコントローラ１１４によって駆動されていてもよい）。動作６０４では、ディスプレイのためのコンテンツの源を切り替えるべきかどうかが判定されうる（たとえば、図１〜図５を参照して論じたように、LFB２１２に記憶されているデータ、GFX２０４、分離グラフィック・コントローラ２０６、プロセッサ２０２などからのデータに基づいて）。源が切り替えられる場合、動作６０６は、たとえばコンテキスト・スイッチング・データを記憶することによって、コンテキストを切り替えうる（図３〜図４を参照して論じたように）。源切り替えが実行されない場合は、動作６０８が、ディスプレイ自己リフレッシュ（たとえば、グラフィック・コントローラ、プロセッサなどからのデータではなくLFB２１２に記憶されているデータに基づくディスプレイ装置１１６の駆動）が行われるべきかどうかを判定しうる。本稿で論じるところでは、ディスプレイ自己リフレッシュを引き起こしうるのはさまざまな状況／イベントであり、たとえば選択された時間期間にわたる静的な画像の存在が含まれる。自己リフレッシュが行われない場合、方法６００は動作６０２から再開する。それ以外の場合には、動作６１０において、画像データが（たとえばコントローラ２１０によってLFB２１２中に）記憶されてもよく、ディスプレイはローカルに記憶されたデータに基づいて駆動される（LFB２１２に記憶されているデータに基づいてコントローラ２１０によって駆動される）。ひとたび動作６１２（たとえばコントローラ２１０）が自己リフレッシュが終了されるべきであると判定すると（たとえば、論理（GFX２０４、分離グラフィック２０６、プロセッサ２０２などのような）の指令によるディスプレイ１１６上に表示されるべきデータの変化に基づいて）、動作６１４は新しい源を（たとえば図２を参照して論じたようなマルチプレクサ２１４を介して）選択しうる。それ以外の場合には、動作６１６を通じて自己リフレッシュが維持される。
【００２９】
図７は、本発明のある実施形態に基づくポイント・ツー・ポイント（PtP:  point-to-point）配位に構成されたコンピューティング・システム７００を示している。具体的には、図７は、いくつかのポイント・ツー・ポイント・インターフェースによってプロセッサ、メモリおよび入出力装置が相互接続されているシステムを示す。図１〜図６を参照して論じた動作は、システム７００の一つまたは複数のコンポーネントによって実行されうる。
【００３０】
図７に示されるように、システム７００はいくつかのプロセッサを含む。明確のため、そのうち二つ、プロセッサ７０２および７０４のみが示されている。プロセッサ７０２および７０４は、メモリ７１０および７１２との通信を可能にするために、それぞれローカルなメモリ・コントローラ・ハブ（MCH:  memory  controller  hub）７０６および７０８を含んでいてもよい。ある実施形態では、MCH７０６および／または７０８は図１を参照して論じたようなGMCHであってもよい。メモリ７１０および／または７１２は図１のメモリ１０７を参照して論じたもののようにさまざまなデータを記憶しうる。
【００３１】
ある実施形態では、プロセッサ７０２および７０４は、図１を参照して論じられたプロセッサ１０２の一つであってもよい。プロセッサ７０２および７０４は、それぞれPtPインターフェース回路７１６および７１８を使って、ポイント・ツー・ポイント（PtP）インターフェース７１４を介してデータを交換しうる。また、プロセッサ７０２および７０４はそれぞれ、ポイント・ツー・ポイント・インターフェース回路７２６、７２８、７３０および７３２を使って個々のPtPインターフェース７２２および７２４を介してチップセット７２０とデータを交換しうる。チップセット７２０はさらに、たとえばPtPインターフェース回路７３７を使って、高パフォーマンス・グラフィック・インターフェース７３６を介して高パフォーマンス・グラフィック回路７３４とデータを交換してもよい。ある実施形態では、論理１１５はチップセット７２０内に設けられてもよい。ただし、論理１１５は、プロセッサ７０２および／または７０４内、MCH／GMCH７０６および／または７０８内など、システム７００内の他の場所に設けられてもよい（たとえば図１を参照して論じたように）。また、図１のコア１０５および／またはキャッシュ１０６の一つまたは複数がプロセッサ７０２および７０４内に位置されてもよい。本発明の他の実施形態は、システム７００内の他の回路、論理ユニットまたはデバイス中に存在しうる。さらに、本発明の他の実施形態は、図７に示されているいくつかの回路、論理ユニットまたはデバイスを通じて分散されていてもよい。
【００３２】
チップセット７２０はPtPインターフェース回路７４１を使ってバス７４０と通信してもよい。バス７４０は、それと通信する一つまたは複数の装置を有しうる。バス・ブリッジ７４２およびI/O装置７４３などである。バス７４４を介して、バス・ブリッジ７４３は、キーボード／マウス７４５、通信装置７４６（コンピュータ・ネットワーク１０３と通信しうるモデム、ネットワーク・インターフェース装置または他の通信装置のような）、オーディオI/O装置および／またはデータ記憶装置７４８のような他の装置と通信しうる。データ記憶装置７４８は、プロセッサ７０２および／または７０４によって実行されうるコード７４９を記憶していてもよい。
【００３３】
本発明のさまざまな実施形態において、たとえば図１〜図７を参照して本稿で論じられた動作はハードウェア（たとえば回路）、ソフトウェア、ファームウェア、マイクロコードまたはそれらの組み合わせとして実装されうる。そうした組み合わせは、たとえば本稿で論じたプロセスを実行するようコンピュータをプログラムするために使われる命令（またはソフトウェア手順）が記憶された機械可読またはコンピュータ可読媒体を含むコンピュータ・プログラム・プロダクトとして提供されてもよい。また、用語「論理（logic）」は、例として、ソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組み合わせを含みうる。機械可読媒体は、図１〜図７に関して論じられたもののような記憶装置を含みうる。さらに、そのようなコンピュータ可読媒体はコンピュータ・プログラム・プロダクトとしてダウンロードされうる。ここで、そのプログラムはリモート・コンピュータ（たとえばサーバー）から要求元コンピュータ（たとえばクライアント）に通信リンク（たとえばバス、モデムまたはネットワーク接続）を介して転送されてもよい。
【００３４】
本明細書において、「一つの実施形態」または「ある実施形態」といった言及は、その実施形態との関連で記述された特定の特徴、構造または特性が少なくとも一つの実装に含まれうることを意味する。「ある実施形態では」という句が本明細書の随所に現れることは、すべてが同じ実施形態を指こともありうるし、そうでないこともありうる。
【００３５】
また、上記の記述および請求項において、「結合される」および「接続される」という用語およびその派生形が使われることがありうる。本発明のいくつかの実施形態では、「接続される」が、二つ以上の要素が直接的な物理的または電気的接触を示すのに使われることがありうる。「結合される」は二つ以上の要素が直接的に物理的または電気的に接触していることを意味することがありうるが、「結合される」は二つ以上の要素が直接的には互いに接触していないがそれでも互いと協働または相互作用しうることをも意味しうる。
【００３６】
本発明の実施形態について構造上の特徴および／または方法上の工程に固有の言辞で記述してきたが、特許請求される主題は記載されている個別的な特徴または工程に限定されるものではないことは理解しておくべきである。むしろ、そうした個別的な特徴および工程は、特許請求される主題を実装する例示的な形として開示されているのである。
【符号の説明】
【００３７】
１００  本発明のある実施形態に基づくコンピューティング・システム
１０２  プロセッサ
１０３  ネットワーク
１０５  コア
１０６  キャッシュ
１０７  メモリ
１０８  チップセット
１０９  GMCH（graphics  and  memory  control  hub［グラフィックおよびメモリ制御ハブ］）
１１０  メモリ・コントローラ
１１４  グラフィック・コントローラ
１１５  ディスプレイ・スイッチング論理
１１６  ディスプレイ装置
１１８  ハブ・インターフェース
１２０  ICH（input/output  control  hub［入出力制御ハブ］）
１２２  バス
１２４  周辺ブリッジ（peripheral  bridge）
１２６  オーディオ装置
１２８  ディスク・ドライブ
１３０  ネットワーク・インターフェース装置
２００  本発明のある実施形態に基づくコンピューティング・システム
２０４  GFX（Graphic  Effects［グラフィック効果］）
２０６  分離グラフィック（discrete  graphics）
２０８  PCH（platform  control  hub［プラットフォーム制御ハブ］）
２１０  コントローラ
２１２  LFB（local  frame  buffer［ローカル・フレーム・バッファ］）
２１４  MUX（マルチプレクサ）
２１５  選択信号
２２０  アイドル中、電力管理されるコンポーネント
２２２  クロック・チップ
４０２  ローカルなビデオ・メモリ
６００  本発明のある実施形態に基づく、ハイブリッド・グラフィック・ディスプレイ電力管理を実行するための方法
６０２  ディスプレイを駆動（例：画像、ビデオ等）
６０４  源を切り替え？
６０６  コンテキスト切り替え
６０８  自己リフレッシュ？（例：静的画像のため）
６１０  画像データを記憶し、ローカル・バッファを通じてディスプレイを駆動
６１２  自己リフレッシュ終了？
６１４  新しい源を選択
６１６  ローカル・バッファを通じてディスプレイを駆動
７００  本発明のある実施形態に基づくポイント・ツー・ポイント配位に構成されたコンピューティング・システム
７０２  プロセッサ
７０６  MCH（memory  controller  hub［メモリ・コントローラ・ハブ］）
７０８  MCH
７１０  メモリ
７１２  メモリ
７１４  ポイント・ツー・ポイント・インターフェース
７１６  ポイント・ツー・ポイント・インターフェース回路
７１８  ポイント・ツー・ポイント・インターフェース回路
７２０  チップセット
７２２  ポイント・ツー・ポイント・インターフェース
７２４  ポイント・ツー・ポイント・インターフェース
７２６  ポイント・ツー・ポイント・インターフェース回路
７２８  ポイント・ツー・ポイント・インターフェース回路
７３０  ポイント・ツー・ポイント・インターフェース回路
７３２  ポイント・ツー・ポイント・インターフェース回路
７３４  グラフィック回路
７３７  I/F（インターフェース回路）
７４０  バス
７４１  I/F（インターフェース回路）
７４２  バス・ブリッジ
７４３  I/O（入出力）装置
７４４  バス
７４５  キーボード／マウス
７４６  通信装置
７４７  オーディオ装置
７４８  データ記憶
７４９  コード
【図１】
2010156970.tif 000003
【図２】
2010156970.tif 000004
【図３】
2010156970.tif 000005
【図４】
2010156970.tif 000006
【図５】
2010156970.tif 000007
【図６】
2010156970.tif 000008
【図７】
2010156970.tif 000009