電力管理および/またはセキュリティを促進するためのグラフィック・ソース間の切り替え
本発明の1つの実施形態は、ディスプレイをリフレッシュするために使用される、フレーム・バッファ間で切り替えを行うシステムを提供する。オペレーションの間、このシステムは、第1メモリに配置された第1フレーム・バッファからディスプレイをリフレッシュする。ディスプレイのためのフレーム・バッファの切り替えを求める要求を受け取ると、このシステムは、ディスプレイが第2メモリに配置された第2フレーム・バッファからリフレッシュされるように、ディスプレイへのデータ転送を再構成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ・システムにおいてグラフィック・ソース間で切り替え(スイッチング)を行うための技法に関する。より詳細には、本発明は、コンピュータ・システムにおいてグラフィック・ソース間で切り替えを行うことによって、電力を削減するため、および/またはセキュリティを改善するための方法および装置に関する。
【背景技術】
【0002】
コンピューティング技術の急速な進歩は、時に1兆バイトに等しい大きさのデータ・セットで、秒当たり何兆バイトものコンピュータ・オペレーションを実行することを可能にした。これらの進歩は、集積中断のサイズおよび複雑性における指数的増加の大きな原因になっていると考えられる。残念なことに、集積中断のサイズおよび複雑性における増加には、電力消費における同様の増加が伴ってきた。
【0003】
並行した発展の中で、ブロードバンド・ワイヤレス・ネットワークの急速な拡大は、携帯型コンピュータ・システムの数の劇的な増加を引き起こした。残念なことに、携帯型コンピュータ・システムは通常、それらが利用可能な限られたバッテリ電力のために厳しい電力制約を有する。これらの発展は、電力削減技法に対する大きな要求を作り出した。
【0004】
3Dグラフィック技術の進歩によって、モデム・コンピュータ・システムの大部分は、グラフィック・ディスプレイ・デバイスを駆動するために専用のグラフィック・プロセッサ(しばしばグラフィック処理装置(GPU)と呼ばれる)を使用するようになった。残念なことに、今日のGPUは大量の電力を消費し、それが携帯型コンピュータ・システムのバッテリ寿命をひどく短くしており、そのうえ熱放散問題を生じさせる。
【0005】
グラフィック・ディスプレイが動作している間、例えばユーザがディスプレイ上の文書を読んでいる場合など、ごく僅かなグラフィック処理しか必要とされない場合がしばしばある。残念なことに、既存のグラフィック・プロセッサは、これらの「低活動」期間に電力を節約するために低電力モードに簡単に切り替わることができない。
【0006】
このような「低活動」期間に電力を節約するための1つの技法は、高電力のグラフィック・ソース(例えば高性能GPU)から低電力のグラフィック・ソース(例えば低性能GPU)へディスプレイを切り替えることである。理想的には、この切り替えオペレーションはユーザに見えなくなければならず、そのためシステムはグラフィック処理の要求が変わるときに、またはシステムの電力消費を制限する必要性が変わるときに、異なるグラフィック・ソース間で前後にシームレスに切り替わることができる。
【0007】
1つの既存の技法は、ユーザが低性能のグラフィック・ソースと高性能のグラフィック・ソースとの間で切り替えを行うことができる機械的スイッチを提供する。しかしながら、この力任せの技法は、ユーザが1つのグラフィック・ソースから別のものへ切り替える度にコンピュータ・システムを完全に再初期化することを必要とする。1つのグラフィック・ソースから別のものへ切り替えるためにコンピュータ・システムを再初期化することをユーザに求めることは、単に多くの状況で許容不可能である。初期化過程は、コンピュータ上で行われる可能性のある最も破壊的なオペレーションのうちの1つである。典型的に、ユーザはコンピュータを再初期化する前にすべての自分の仕事を保存しなければならず、このことには多くの時間がかかる可能性がある。さらにまた、ユーザは最初に自分のグラフィック処理の要件が近い将来に高くなるのか、低くなるのかを判定しなければならず、その後システムが再初期化するのを待たなければならず、要件が変わる場合には、その後別の再初期化を待つことになる。
【0008】
もう1つの問題は、一部のグラフィック・プロセッサが安全ではないメイン・メモリの中に配置されたフレーム・バッファの中に画像をレンダリングするということである。このことは、そのようなグラフィック画像が安全に保存されることを義務付けるデジタル著作権管理(DRM)規格に伴う問題を生じさせる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0009】
したがって、電力を削減するため、および/またはセキュリティを提供するために、異なるグラフィック・ソース間で迅速および/またはシームレスな切り替えを促進する方法および装置が必要とされる。
【課題を解決するための手段】
【0010】
本発明の1つの実施形態は、ディスプレイをリフレッシュするために使用されるフレーム・バッファ間で切り替えを行うシステムを提供する。オペレーションの間、このシステムは第1メモリに配置された第1フレーム・バッファからディスプレイをリフレッシュする。ディスプレイのためのフレーム・バッファの切り替えを求める要求を受け取ると、ディスプレイが第2メモリに配置された第2フレーム・バッファからリフレッシュされるように、システムはディスプレイへのデータ転送を再構成する。
【0011】
一部の実施形態では、第1メモリは、多数のアプリケーションによってアクセス可能であり、したがって安全ではないメイン・メモリであり、第2メモリは、メイン・メモリの外部に配置された安全なフレーム・バッファである。
【0012】
一部の実施形態では、ディスプレイを切り替えることは、ディスプレイをリフレッシュするために使用されるデータを、そのデータが安全ではないメイン・メモリを完全に回避するように転送することをさらに伴う。この変形形態では、システムは、データが第2フレーム・バッファに記憶される間、ならびにデータが第2フレーム・バッファへ移行する間およびデータが第2フレーム・バッファから移行する間、データを暗号化する。
【0013】
一部の実施形態では、フレーム・バッファの切り替えを求める要求を受け取る前に、このシステムはディスプレイに関連したデータのためのセキュリティ要件を判定し、判定されたセキュリティ要件に基づいてフレーム・バッファの切り替えを求める要求を生成する。
【0014】
一部の実施形態では、フレーム・バッファの切り替えを求める要求を受け取る前に、このシステムはディスプレイのためのグラフィック処理負荷のレベルを監視し、グラフィック処理負荷のレベルに基づいて切り替えを求める要求を生成する。
【0015】
一部の実施形態では、このシステムはディスプレイを含むコンピュータ・システム内の温度を測定し、測定された温度に基づいて切り替えを求める要求を生成する。
【0016】
一部の実施形態では、ディスプレイが第2フレーム・バッファからリフレッシュされるようにディスプレイを切り替えることは、ディスプレイのためのレンダリング・オペレーションを実行するグラフィック処理装置(GPU)を切り替えることをさらに伴う。一部の実施形態では、このGPUは第1フレーム・バッファにレンダリングする低電力GPUと第2フレーム・バッファにレンダリングする高電力GPUとの間で切り替えられる。
【0017】
一部の実施形態では、低電力GPUから高電力GPUに切り替える前に、このシステムは低電力GPUの出力ディスプレイ信号と高電力GPUの出力ディスプレイ信号とを実質的に同期させ、それによってディスプレイのグラフィック出力を中断させることのないシームレスな移行を促進する。
【0018】
一部の実施形態では、出力ディスプレイ信号を実質的に同期させることは、1つまたは複数のフェーズ・ロック・ループ(PLL)を使用することを必要とする。
【0019】
一部の実施形態では、切り替えは、ディスプレイのための垂直帰線消去信号に関連した垂直帰線消去期間の間に起こる。
【0020】
本発明の別の実施形態は、第1ディスプレイおよび/または第2ディスプレイを駆動するために第1グラフィック・プロセッサと第2グラフィック・プロセッサとの間で切り替えを行うコンピュータ・システムを提供する。このコンピュータ・システムはプロセッサ、メモリ、第1グラフィック・プロセッサ、第2グラフィック・プロセッサ、第1ディスプレイおよび第2ディスプレイを含む。このコンピュータ・システムはまた、第1グラフィック・プロセッサまたは第2グラフィック・プロセッサを選択的に第1ディスプレイに結合する第1スイッチも含む。このコンピュータ・システムはまた、第1グラフィック・プロセッサまたは第2グラフィック・プロセッサを選択的に第2ディスプレイに結合する第2スイッチも含む。
【0021】
一部の実施形態では、第1ディスプレイはコンピュータ・システムに内蔵された内部ディスプレイであり、第2ディスプレイはコンピュータ・システムに結合された外部ディスプレイである。
【0022】
一部の実施形態では、第1スイッチと第2スイッチとは、第1グラフィック・プロセッサを第1ディスプレイおよび第2ディスプレイの両方に結合するように、または第2グラフィック・プロセッサを第1ディスプレイおよび第2ディスプレイの両方に結合するように構成される。
【0023】
一部の実施形態では、第1グラフィック・プロセッサは高電力グラフィック処理装置(GPU)であり、第2グラフィック・プロセッサは低電力GPUである。
【0024】
一部の実施形態では、このシステムは、第1グラフィック・プロセッサの出力ディスプレイ信号と第2グラフィック・プロセッサの出力ディスプレイ信号とを実質的に同期させ、それによってグラフィック出力を中断させることのない、シームレスな切り替え過程を促進するように構成された同期メカニズムを含む。
【0025】
一部の実施形態では、この同期メカニズムは、出力ディスプレイ信号を実質的に同期させるために1つまたは複数のフェーズ・ロック・ループ(PLL)を使用するように構成される。
【0026】
一部の実施形態では、第1スイッチと第2スイッチとはマルチプレクサまたはワイヤードOR論理中断を含むことができる。
【図面の簡単な説明】
【0027】
【図1】本発明の実施形態によるコンピュータ・システムを示す図である。
【0028】
【図2】本発明の実施形態による同一のディスプレイを駆動するために異なるグラフィック・ソース間で切り替えを行うことができるコンピュータ・システムを示す図である。
【0029】
【図3】本発明の実施形態によるディスプレイを駆動するために第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図である。
【0030】
【図4】本発明の実施形態による出力ディスプレイ信号を同期させることを伴わずに第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図である。
【0031】
【図5A】本発明の実施形態によるグラフィック・ソースによって生成された単一の垂直帰線消去期間(VBI)および対応する垂直同期(V−sync)パルスを示す図である。
【0032】
【図5B】本発明の実施形態による2つのグラフィック・ソースによって生成された2つの重複するVBIを示す図である。
【0033】
【図6A】本発明の実施形態による2つのグラフィック・ソースの間でタイミング信号を同期させるための技法を示す概略図である。
【0034】
【図6B】本発明の実施形態による2つのグラフィック・ソースの間でタイミング信号を同期させるための別の技法を示す概略図である。
【0035】
【図7】本発明の実施形態による2つのグラフィック・ソースを含むコンピュータ・システムを示す図である。
【0036】
【図8】本発明の実施形態による第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図である。
【0037】
【図9】本発明の実施形態による第2グラフィック・ソースから第1グラフィック・ソースへ切り替える過程を示す流れ図である。
【0038】
【図10】本発明の実施形態による内部ディスプレイおよび外部ディスプレイを駆動するために異なるグラフィック・ソース間で切り替えを行うことができるコンピュータ・システムを示す図である。
【発明を実施するための形態】
【0039】
以下の説明は、任意の当業者が本発明を製作し、使用することができるように示されており、特定の応用例およびその必要条件を背景として示されている。開示される実施形態に対する様々な変更形態は、当業者には容易に明らかとなり、本明細書で定義される一般原則は、本発明の精神および範囲から逸脱することなく、その他の実施形態および応用例に適用されることが可能である。したがって、本発明は、示される実施形態に限定されることはなく、特許請求の範囲に一致する最も広範な範囲を与えられるべきである。
【0040】
この詳細な説明の中で述べられるデータ構造およびコードは、典型的に、コンピュータ・システムによる使用のためにコードおよび/またはデータを記憶することができる任意のデバイスまたは媒体であってよいコンピュータ可読記憶媒体に記憶される。これは限定されないが、揮発性メモリ、不揮発性メモリ、ディスク・ドライブ、磁気テープ、CD(コンパクト・ディスク)、DVD(デジタル多用途ディスクまたはデジタル・ビデオ・ディスク)などの磁気および光記憶デバイス、または現在知られているか、もしくは最近開発されたコンピュータ可読媒体を記憶することができるその他の媒体を含む。
【0041】
コンピュータ・システム
図1は、本発明の実施形態によるコンピュータ・システム100を示す。図1に示されているように、コンピュータ・システム100はプロセッサ102を含み、これはブリッジ104を通じてメモリ・サブシステム106、周辺バス108およびグラフィック・プロセッサ110に結合されている。ブリッジ104は、一般的にコンピューティング・システム100内の構成要素をまとめて結合するために使用される任意の種類のコア論理装置、ブリッジ・チップ、またはチップセットを含むことができる。本発明の1つの実施形態では、ブリッジ104はノースブリッジ・チップである。プロセッサ102は、限定されないが、マイクロ・プロセッサ、デジタル信号プロセッサ、デバイス・コントローラまたは機器内のコンピュータ・エンジンを含む任意の種類のプロセッサを含むことができる。
【0042】
コンピュータ・システム100のうちの1つまたは複数の構成要素は、離れて配置され、ネットワークを介してアクセスされてもよいということを認識されたい。
【0043】
プロセッサ102は、ブリッジ104を通じてメモリ・サブシステム106と通信する。メモリ・サブシステム106は、高速でプロセッサ102によってアクセスされることが可能な1つまたは複数のメモリ・チップを含めて、複数の構成要素を含むことができる。
【0044】
プロセッサ102はまた、ブリッジ104および周辺バス108を通じて記憶デバイス112とも通信する。記憶デバイス112は、コンピュータ・システムに結合されることが可能な任意の種類の不揮発性記憶デバイスを含むことができる。記憶デバイス112は、限定されないが磁気、光および光磁気記憶デバイスの他に、フラッシュ・メモリおよび/またはバッテリバックアップ・メモリに基づく記憶デバイスを含む。
【0045】
プロセッサ102はさらに、ブリッジ104を通じてグラフィック・プロセッサ110と通信する。グラフィック・プロセッサ110は、信号ソースをディスプレイ114に与え、ディスプレイ114を駆動する特殊化されたグラフィック・レンダリング・デバイスである。ディスプレイ114は、(画像およびテキストを含む)ビジュアル形式で情報をユーザに示すことができる任意の種類のディスプレイ・デバイスを含むことができる。ディスプレイ114は、限定されないが、陰極線管(CRT)ディスプレイ、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、有機LED(OLED)ディスプレイ、表面電界ディスプレイ(SED)または電子ペーパーを含む。
【0046】
グラフィック・プロセッサ110は、高い性能でライティング、シェーディングおよび変形などの2Dと3Dの両方のグラフィック・レンダリング・オペレーションを実行する。高い性能を達成するために、グラフィック・プロセッサ110は、フレーム・バッファ、テクスチャ、頂点配列および/またはディスプレイ・リストを記憶するために専用のビデオ・メモリ116を利用してもよい。
【0047】
ブリッジ104はまた、組み込みグラフィック・プロセッサ118も含む。組み込みグラフィック・プロセッサ118は典型的に、ほどほどの性能のグラフィック処理を目的として造られており、したがってグラフィック・プロセッサ110よりも消費する電力はずっと少ない。図1の中で、組み込みグラフィック・プロセッサ118は直接ディスプレイ114に結合されておらず、ディスプレイ114を駆動することはないことに留意されたい。
【0048】
本発明は図1に示されたコンピュータ・システム100を背景として説明されているが、複数のグラフィック・プロセッサをサポートする任意の種類のコンピューティング・デバイス上で一般に動作可能であることに留意されたい。したがって、本発明は図1に示されたコンピュータ・システム100に限定されるわけではない。
【0049】
グラフィック・ソース間での選択的切り替え
図2は本発明の実施形態による、同一のディスプレイを駆動するために異なるグラフィック・ソース間で切り替えを行うことができるコンピュータ・システム200を示す。図2の中では、2つのグラフィック・ソース(グラフィック・プロセッサ210および組み込みグラフィック・プロセッサ218)が各々独立してディスプレイ214を駆動することができるということに留意されたい。しかしながら、所与の時間にディスプレイ214をアクティブに駆動するグラフィック・ソースは、2つのグラフィック・ソース間で選択を行うことができる選択デバイス220によって判定される。具体的には、コンピュータ・システム200は、その現在のオペレーション状態に基づいてグラフィック・ソースを選択するために選択デバイス220を使用することができる。
【0050】
より具体的には、グラフィック・プロセッサ210からの出力ディスプレイ信号222と組み込みグラフィック・プロセッサ218からの出力ディスプレイ信号224とは、両方とも2対1マルチプレクサ(MUX)220の入力に結合される。MUX220の出力はソース選択226によって制御され、ソース選択226は2つのグラフィック・ソースのうちのどちらがディスプレイ214を駆動するのかを判定する。この実施形態では、ソース選択226はブリッジ・チップ204の出力であり、これはソース選択226を生成するための特定の論理を含む。ソース選択226はブリッジ204以外の論理ブロックによっても作り出されることが可能なことに留意されたい。
【0051】
選択されたグラフィック・ソースからの出力ディスプレイ信号はその後、ディスプレイ214をアクティブに駆動するためにディスプレイ214の入力に結合される。選択デバイスはマルチプレクサとして示されているが、単純なワイヤードOR論理中断などの任意のその他の種類の選択デバイスも含むことができる。
【0052】
本発明の1つの実施形態では、グラフィック・プロセッサ210と組み込みグラフィック・プロセッサ218とは、それらの出力ディスプレイ信号を同期させることができるように、パス228を通じて協調することができる。出力ディスプレイ信号はタイミング信号とデータ信号との両方を含むことができるため、出力ディスプレイ信号を同期させることは、各々のタイミング信号と各々のデータ信号との両方を同期させることを伴ってもよい。パス228は、2つのグラフィック・ソースの同期を促進するために、ハードウェアおよび/またはソフトウェアを使用して認識されてもよいことに留意されたい。
【0053】
本発明の1つの実施形態では、グラフィック・プロセッサ210は大量の電力を消費する高性能グラフィック・プロセッサ装置(GPU)であり、一方組み込みグラフィック・プロセッサ218はより少ない量の電力を消費する低性能GPUである。この実施形態では、グラフィック処理負荷が軽い場合、システムはディスプレイ214を駆動するためにグラフィック・ソースをグラフィック・プロセッサ210から組み込みグラフィック・プロセッサ218に切り替え、続いてグラフィック・プロセッサ210の電力を完全に落とし、それによって電力を節約する。一方、グラフィック処理負荷が再び重くなる場合、システムはグラフィック・ソースを組み込みグラフィック・プロセッサ218からグラフィック・プロセッサ210に切り替える。
【0054】
本明細書では、図2に示された独立型グラフィック・プロセッサおよび一体型グラフィック・プロセッサを背景としてグラフィック・プロセッサ間の切り替えを説明してきたが、本発明は適切に構成された場合に各々が独立してディスプレイを駆動することができる2つ以上のグラフィックグラフィック・プロセッサを含むコンピュータ・システムのために一般に機能することが可能であることに留意されたい。さらに、これらの複数のグラフィック・プロセッサは異なる電力消費レベルを含めて、異なるオペレーティング特性を有することが可能である。さらに、複数のグラフィック・プロセッサの各々は独立型グラフィック・プロセッサか、またはチップ内の一体型グラフィック・プロセッサのいずれであることも可能である。したがって、本発明は図2に示されたコンピュータ・システム200に限定されるわけではない。
【0055】
上述の異なるグラフィック・ソース間で切り替えを行うための技法は、コンピュータ・システムをシャットダウンすること、またはコンピュータ・システムを再初期化することを必要としない。その結果、この切り替え過程は再初期化が必要とされていた場合にかかる時間よりも、実質的により少ない時間で済む。したがって、本発明は迅速かつ頻繁なグラフィック・プロセッサ間の切り替えを可能にする。
【0056】
図3は本発明の実施形態による、ディスプレイを駆動するために第1グラフィック・ソースから第2グラフィック・ソースへ切り替えを行う過程を示す流れ図を表す。
【0057】
オペレーションの間、このシステムは最初に、ディスプレイをアクティブに駆動している第1グラフィック・プロセッサから非アクティブ状態の第2グラフィック・プロセッサへディスプレイのための信号ソースを切り替える要求を受け取る(ステップ302)。
【0058】
この切り替え要求は、グラフィック処理負荷のレベルを認識しているユーザによって生成されることが可能である。代替として、この切り替え要求は、システムによって内部で生成されることが可能である。
【0059】
本発明の1つの実施形態では、システム・ソフトウェアはグラフィック処理負荷のレベルを継続的に監視する。より具体的には、このシステムは、グラフィック・プロセッサに関連したグラフィック・コマンド・キューの状態に基づいて、グラフィック処理負荷のレベルを判定することができる。例えば、コマンド・キューが大部分空である場合、システムはグラフィック処理負荷が低いとアサートする。一方、コマンド・キューが大部分いっぱいである場合、システムはグラフィック処理負荷が高いとアサートする。
【0060】
次に、システム・ソフトウェアはグラフィック処理負荷のレベルに基づいて2つのグラフィック・プロセッサのうちの1つを選択し、続いて非アクティブのグラフィック・プロセッサが選択される場合、切り替えを求める要求を生成する。
【0061】
例えば、第1グラフィック・プロセッサが高い電力を消費する高性能GPUである場合、システム・ソフトウェアはグラフィック処理負荷レベルの大幅な減少を検出するときに、性能はより低いが、消費する電力もより低い第2グラフィック・プロセッサへの切り替えを求める要求を発行することができる。一方、第1グラフィック・プロセッサがより低い性能で低電力のGPUであれば、システムはシステム・ソフトウェアがグラフィック処理負荷レベルの大幅な減少を検出した場合、高性能で高電力のGPUへの切り替えを求める要求を発行することができる。
【0062】
グラフィック処理負荷を監視するため、および切り替え要求を自動的に発行するためにシステム・ソフトウェアを使用することは、人間によって開始される要求よりも著しく速く、おそらくはよりエネルギー効率がよいということに留意されたい。さらに、システム・ソフトウェアを使用することは仕事を監視することからユーザを解放する。
【0063】
次に、切り替え要求に応答して、システムは第2グラフィック・プロセッサをディスプレイの駆動に備えて構成する(ステップ304)。本発明の1つの実施形態では、第2グラフィック・プロセッサの構成には以下の(1)現在電力が落とされている場合、プロセッサの電力を上げるステップ、(2)グラフィック・プロセッサを初期化するステップ、および(3)ディスプレイの電力を上げることに備えて出力信号を生成するステップのうちの1つまたは複数が伴ってもよい。
【0064】
次いでシステムは、ディスプレイを駆動する信号ソースを第1グラフィック・プロセッサから第2グラフィック・プロセッサへ切り替え、これによって第2グラフィック・プロセッサがディスプレイを駆動するようになる(ステップ306)。本発明の1つの実施形態では、切り替えには図2のMUX220などの選択デバイスを使用することが伴い、選択デバイスは第1グラフィック・プロセッサをディスプレイから切り離し、第2グラフィック・プロセッサをディスプレイへ結合する。切り替えオペレーションの間、以下でより詳細に説明される異なるタイミング制御が使用されてもよい。一般に、よりスムーズな切り替えの移行を達成することは、より正確なタイミング制御を必要とし、したがって典型的により複雑な切り替え制御メカニズムを必要とする。
【0065】
第1グラフィック・プロセッサから第2グラフィック・プロセッサに代わると、システムは電力を節約するために第1グラフィック・プロセッサの電力を落としてもよい。上述の切り替え課程は、実施のためにシステム全体を再初期化することを必要としないことに留意されたい。
【0066】
本明細書ではグラフィック処理負荷に基づいた切り替えを説明してきたが、この切り替え要求は電力状態(例えば、システムはバッテリで動いているのか、または外部の電源で動いているのかどうか、もしくはバッテリが低いのかどうかなど)に基づいて、システムの熱放散を減らす必要性に基づいて、ユーザの嗜好に基づいて、または2つのグラフィック・プロセッサ間で異なる任意の機能または能力に基づいても生成されることが可能なことに留意されたい。
【0067】
切り替えの間のタイミング
同一のディスプレイ・デバイスを駆動するために異なるグラフィック・プロセッサ間で切り替えを行うことは、実質的にシームレスな移行を確実にするためのグラフィック・プロセッサ間での一定レベルの協調を必要とする。以下で、同期が出力ディスプレイ信号に関与しているかどうかに基づいて、それらを識別することによって、切り替えの間の異なるタイミング技法について論じる。
【0068】
同期を伴わない切り替え
図4は、本発明の実施形態による、出力ディスプレイ信号を同期させることなく第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図を表す。
【0069】
オペレーションの間、第1グラフィック・プロセッサはディスプレイをフェードアウトさせる(ステップ402)。このことは、限定されないが、黒または他の色をスクリーン上に表示すること、バックライトを切ること、またはディスプレイ全体の電力を落とすことを含めて複数の方法で行われることが可能なことに留意されたい。
【0070】
次に、システムはディスプレイを駆動する信号ソースを第1グラフィック・プロセッサから第2グラフィック・プロセッサに切り替え、第2グラフィック・プロセッサはディスプレイを駆動するように構成されている(ステップ404)。より具体的には、この切り替えは、第1グラフィック・プロセッサの出力信号をディスプレイの入力から切り離し、第2グラフィック・プロセッサの出力信号をディスプレイの入力に結合することを伴う。
【0071】
切り替えを完了すると、第2グラフィック・プロセッサは次いで、必要に応じてディスプレイを初期化する(ステップ406)。次に、第2グラフィック・プロセッサはディスプレイ・スクリーンを再描画し、続いてディスプレイ・スクリーンをフェードインさせる(ステップ408)。
【0072】
この実施形態では、2つのグラフィック・ソースは互いに同期することを必要としない。したがって、第2信号ソースは切り替えが起こる前にディスプレイを再描画するように構成されることを必要としない。さらに、第1信号ソースは切り替えを実行する前に、(例えばオペレーションをフェードアウトさせることを通じて)オフにされることが可能である。
【0073】
同期を伴わない切り替えは単純であるが、ユーザに切り替えに気づかせることがありうる。しかしながら、切り替えが僅かな時間で完了されることができれば、ユーザは切り替えに気づくことさえないということが可能である。代替として、切り替えがよりゆっくりと行われるのであれば、ディスプレイの解像度が変更される場合に例えばフェードアウト/フェードイン効果などの適切な視覚効果を使用することによって、視覚上の中断は減らされることが可能である。一般に、ディスプレイをディスプレイ信号の1つのセットから異なるものへ切り替えることのいかなる望ましくない視覚効果でも、移行の間にディスプレイをフェードアウトさせることによって、同期されないディスプレイ信号のセットは隠されることが可能である。
【0074】
同期を伴う切り替え
切り替えの前に出力信号を同期させることは、よりスムーズで目立たない、またはディスプレイ上のグラフィック出力を中断させることのないシームレスな切り替え過程でさえも促進する。しかしながら同期は、両方のグラフィック・ソースからの出力ディスプレイ信号が同期されることが可能なように、第2グラフィック・ソースが切り替えの前にディスプレイを駆動することに備えて出力信号の生成を開始することを必要とする。
【0075】
本発明の1つの実施形態では、2つのグラフィック・ソースからの出力信号を同期させることは、出力信号に埋め込まれたタイミング情報をマッチさせることによって達成されることが可能である。そのようなタイミング情報は、限定されないが、水平同期(H−sync)パルス、垂直同期(V−sync)パルス、水平帰線消去信号および垂直帰線消去信号を含むことができる。特にV−syncパルスは、データの新たなフレームをいつスキャンし始めるべきかを示すことによって、ディスプレイ上の画像リフレッシュを制御する。典型的に、V−syncパルスは垂直帰線消去期間(VBI)と呼ばれる2つの連続する画像フレームの間の短い時間間隔内に生じ、この間スクリーン上のディスプレイは様々な管理上の目的で一定の状態に保たれる。図5Aは、本発明の実施形態による、グラフィック・ソースによって作り出される単一のVBI502および対応するV−syncパルス504を示す。V−syncパルス504はVBI502内に入ることに留意されたい。
【0076】
この実施形態では、コンピュータ・システムは第1グラフィック・ソースの中でいつV−syncパルスが生じるのかについて経過を追い、そのV−syncパルスが第1グラフィック・ソースのものと一列に並ぶまで第2グラフィック・ソースのタイミング・シーケンスを調整する。1つの実施形態では、2つのグラフィック・ソースからのV−syncパルスを整列させることは、第2グラフィック・ソースのタイミング・シーケンスを第1グラフィック・ソースのタイミング・シーケンスと一致させるためにソフトウェアまたはハードウェアのいずれかを使用することを伴う。この整列期間の間、第1グラフィック・ソースはディスプレイを駆動し続ける。V−syncパルスが2つのソース間で十分に整列される場合、その後切り替えは次のVBIの間に実行されることが可能である。
【0077】
図5Bは本発明の実施形態による、2つのグラフィック・ソースによって生成されるVBI506およびVBI508の2つの重複するVBIを示す。切り替えは2つのVBIの重複期間510内に生じるということに留意されたい。また、切り替え過程は重複期間510内で完了されることが可能な場合、ユーザには見えないようになることが可能なことにも留意されたい。さらに、2つのグラフィック・ソース間の実質的な同期は、第2グラフィック・ソースが、ユーザにはディスプレイが変化していないように見えるようにディスプレイを直ちに駆動することを促進する。
【0078】
しかしながら切り替え過程は、完了するために単一のVBIよりも長い時間がかかるか、または分解するために数フレーム時間をとる可能性がある。この場合、システムは画面を完全に空白にするか、またはフェードアウトさせることによって切り替え効果を隠すことができる。
【0079】
本発明の別の実施形態では、第2グラフィック・ソースが第1グラフィック・ソースと一列に並ぶようにする代わりに、このシステムは、第2グラフィック・ソースのV−sync信号を第1グラフィック・ソースのものに対してドリフトさせることができる。タイミング信号におけるそのようなドリフトは、1つまたは複数のタイミング差の結果として生じる可能性がある。例えば、このドリフトは、2つのグラフィック・プロセッサのクロック周波数における僅かな差によって生じる可能性がある。代替として、このドリフトは、2つのグラフィック・プロセッサを僅かに異なるディスプレイ・フレーム速度で動作するようにプログラムすることによって生じる可能性がある。
【0080】
同期のこの実施形態では、このシステムは2つのソースからの2つのV−sync信号を監視して、それらがいつ互いに重複するのかを検出することができ、ここでこの監視は、ソフトウェアまたはハードウェアのいずれかによって実行されることが可能である。このことが生じるとき、このシステムは2つの信号が互いにドリフトして離れる前に、1つのグラフィック・ソースから別のものへ切り替えることができる。
【0081】
ハードウェア・ベースの同期を伴う切り替え
本発明の1つの実施形態では、2つのグラフィック・ソースのディスプレイ出力タイミングが正確に一致することが可能であるように、グラフィック・ソースのうちの1つはさらなるハードウェアを使用して、もう一方のグラフィック・ソースと同期されることが可能である。次いで、次のVBIの間に、ユーザによって気づかれないように切り替えが行われることが可能である。この実施形態では、スムーズな切り替えは、第2グラフィック・ソースのディスプレイ・タイミング・ジェネレータの位相および周波数を調整してディスプレイ出力タイミングを第1グラフィック・ソースのものと一致させるために、さらなるハードウェアを組み込むことによって可能となる。
【0082】
図6Aは本発明の実施形態による、2つのグラフィック・ソース間でタイミング信号を同期させるための技法の概略図を表す。図6Aに示されているように、2つのグラフィック・ソースAおよびBは、それぞれタイミング・ジェネレータ602およびタイミング・ジェネレータ604を備える。タイミング・ジェネレータ602は、グラフィック・ソースAのために出力V−SYNC606の中のV−syncパルスおよび出力VBI608の中の垂直帰線消去期間を作り出し、一方でタイミング・ジェネレータ604は、グラフィック・ソースBのために出力V−SYNC610の中のV−syncパルスおよび出力VBI612の中の垂直帰線消去期間を作り出す。
【0083】
グラフィック・ソースAおよびBはまた、それぞれタイミング・ジェネレータ602および604に周波数基準を与えるために、フェーズ・ロック・ループ(PLL)614およびPLL616を使用する。より具体的には、PLL614およびPLL616は左から基準周波数入力fAREF618およびfBREF620を受け取り、タイミング・ジェネレータ602および604への入力として基準周波数出力fAOUT622およびfBOUT624を生成する。PLLおよび関連した構成要素の機能の詳細な説明は、PLLについて述べる複数の参考文献の中で見つけることができる(Floyd.M.Gardner、「Charge-Pump Phase-Lock Loops」、IEEE Transactions on Communications、第28巻11号、1980年11月を参照されたい)。
【0084】
周波数合成を目的として、PLL614はデバイダMA626およびデバイダNA628を備える。同様に、PLL616はデバイダMB630およびデバイダNB632を備える。PLL614およびPLL616の出力は、位相が同期される場合に、それぞれ出力周波数fAOUT=fAREF×(MA/NA)およびfBOUT=fBREF×(MB/NB)を作り出す。
【0085】
本発明の1つの実施形態では、周波数スカラー値MA、MB、NA、NBはプログラム可能であり、プログラム可能レジスタの中に記憶される。具体的には、スカラーMA、MB、NA、NBは、マイクロコントローラまたは定形のステートマシンとして、ソフトウェアまたはハードウェアのいずれかに実装されることが可能なコントローラ634に結合され、これを通じてプログラム可能である。コントローラ634は入力REQSW636の切り替えを求める要求を受け取り、さらにグラフィック・ソースAからクロック信号V−SYCNA606およびVBIA608を、またグラフィック・ソースBからV−SYNCB610およびVBIB612を受け取る。次いでコントローラ634は、2つのグラフィック・ソースのV−sync信号またはVBI信号のいずれかの間の位相差を測定する。次いでコントローラ634は、測定された位相差をフィードバック信号として使用して、関連したPLLのMおよびN値を同時に変更することによって、1つのグラフィック・ソースからのV−syncおよびVBIの位相を、もう一方のグラフィック・ソースに対して調整することができる。
【0086】
フィードバック・ループを使用して、コントローラ634は位相差の測定および調整を継続する。コントローラ634は位相差が所定の範囲内にあると判定すると、その後切り替えイネーブルOK2SWITCH638を生成する。本発明の1つの実施形態では、OK2SWITCH638は図2のソース選択226に結合され、それによってMUX220はソースを操作することができる。
【0087】
上記の説明は、アクティブのグラフィック・ソースと非アクティブのグラフィック・ソースの両方のクロックを変えることができるということに留意されたい。特に、変更されたPLLスカラー値がアクティブにディスプレイを駆動しているソースに関連している場合、関連した周波数をゆっくりとスムーズに調整するのが望ましい場合がある。また、切り替えを可能にするために完璧なクロック配列を得ることを求めなくてもよいということにも留意されたい。1つの実施形態では、コントローラ634は、切り替えオペレーションが目に見える人為結果を引き起こさないように十分な重複が得られるように、VBIを配列するように構成されることが可能である。コントローラは十分な重複が存在することを検出した場合、同期を完了するためにOK2SWITCH信号をアサートする。
【0088】
図6Bは本発明の実施形態による、2つのグラフィック・ソース間でタイミング信号を同期させるための別の技法の概略図を表す。
【0089】
この実施形態では、単一のPLL640はグラフィック・ソースAおよびB間でタイミング信号を同期させるために使用される。図6AのようなコントローラによるPLLの直接制御は存在しないということに留意されたい。代わりに、PLL640はタイミング・ジェネレータのうちの1つとともに閉ループを形成する。
【0090】
図6Bに示されているように、タイミング・ジェネレータ602および604は、それぞれ基準周波数入力fREF_A642およびfREF_B644を受ける。タイミング・ジェネレータ602および604からの4つの出力V−SYNCA606、VBIA608、V−SYNCB610およびVBIB612は、その出力にV−SYNCA606およびV−SYNCB610か、またはVBIA608およびVBIB612のいずれかを選択することができる4対2マルチプレクサMUX646に結合される。その後MUX646の出力はPLL640の位相ディテクタの入力に結合される。この実施形態では、V−sync信号またはVBI信号のいずれかが配列のために使用されることが可能であることに留意されたい。
【0091】
次いで、PLL640からのVCO出力は、タイミング・ジェネレータのうちの1つに結合され、そのための入力基準周波数の役割を果たし、それによってそのタイミング・ジェネレータを用いた閉ループを完結する。より具体的には、最初にPLL640からの出力は2つのマルチプレクサMUX648およびMUX650の入力に結合され、MUX648およびMUX650はそれぞれ、入力として外部クロック信号EXTCLK_A652およびEXTCLK_B654も受け取る。MUX648およびMUX650の出力はコントローラ656によって制御され、コントローラ656は、それぞれのタイミング・ジェネレータのための基準周波数入力として、外部クロック・ソースまたはPLL出力のいずれかを選択する。コントローラ656はPLL640の位相ディテクタから入力を受け取り、その入力に基づいてPLL640がロックされているかどうかを検出するということに留意されたい。
【0092】
オペレーションの間、グラフィック・ソースAがアクティブにディスプレイを駆動していると仮定する。一方PLL640のVCO出力は、グラフィック・ソースBのタイミング・ジェネレータ604のための基準周波数fREF_B644として選択される。したがって、PLL640およびタイミング・ジェネレータ604は閉ループを形成し、これが2つのタイミング・ジェネレータからの(V−syncまたはVBIのいずれかの)選択されたタイミング信号が同期することを促進する。コントローラ656はPLL640が位相同期されたことを検出すると、次いで次の帰線消去期間の間にディスプレイを駆動するグラフィック・ソースをグラフィック・ソースAからグラフィック・ソースBに切り替える。より具体的には、後に続く帰線消去期間に、コントローラ656はfREF_B入力をPLL640から外部クロック・ソースEXTCLK_B654に切り替える。切り替えの後、PLL640は次いで、グラフィック・ソースAを現在アクティブにディスプレイを駆動しているグラフィック・ソースBにロックするために使用されることが可能である。
【0093】
切り替えを伴わないグラフィック・プロセッサの選択
本発明の1つの実施形態では、同一のディスプレイ・デバイスを駆動するために2つのグラフィック・プロセッサ間で切り替えを行う代わりに、より低い性能のより低い電力のグラフィック・プロセッサが常にディスプレイを駆動する。この実施形態では、さらなるグラフィック性能が必要とされる場合、より高い性能のプロセッサがグラフィック処理負荷を引き継ぎ、より低い性能のプロセッサによって使用される同一のフレーム・バッファにそのディスプレイ画像をレンダリングする。システムがこのような方法で動作している場合、より性能の低いプロセッサは、純粋にディスプレイ出力デバイスとして機能し、すなわち画像データをフレーム・バッファからディスプレイに転送し、一方でより性能の高いデバイスは、すべてのグラフィック処理を実行する。あまり高い性能が必要とされない場合、より性能の低いデバイスが再びグラフィック処理作業を引き継ぎ、より性能の高いデバイスはそれに応じて電力を落とされることが可能である。
【0094】
コンピュータ・システム
図7は本発明の実施形態による、2つのグラフィック・プロセッサを含むコンピュータ・システム700を示す。より具体的には、コンピュータ・システム700はブリッジ・チップ704に結合されたプロセッサ702を含む。ブリッジ・チップ704はそれ自体でメイン・メモリ706、ディスプレイ714および周辺バス708に結合される。周辺バス708は、記憶デバイス710にアクセスするために使用されることが可能である。
【0095】
より性能の低い、低電力のグラフィック・プロセッサ712は直接ディスプレイ714に結合され、常にそれを駆動することに留意されたい。一方、高性能で高電力のグラフィック・プロセッサ716はグラフィック・プロセッサ712に結合され、典型的には使用中ではない場合に電力を落とされる。
【0096】
本発明の1つの実施形態では、グラフィックをそれ自体のフレーム・バッファにレンダリングする代わりに、グラフィック・プロセッサ716はグラフィック・プロセッサ712のためのフレーム・バッファ707に画像を直接レンダリングし、この場合フレーム・バッファ707はメイン・メモリ706に配置される。この実施形態では、グラフィック・プロセッサ712は、継続的にディスプレイ714をリフレッシュすることによって、ディスプレイ714にグラフィックを表示する役割を果たす。この実施形態では、ディスプレイは同一のグラフィック・プロセッサによって常に駆動され、同一のフレーム・バッファからリフレッシュしているので、切り替えを行うハードウェアが必要とされることはなく、またユーザから隠すためにハードウェアの切り替えを移行することはないことに留意されたい。
【0097】
代替実施形態では、さらなるグラフィック処理能力またはさらなるセキュリティが必要とされる場合、このシステムはさらなるグラフィック・レンダリング能力を与えるためにグラフィック・プロセッサ716の電力を上げる。グラフィック・プロセッサ716は、グラフィック・プロセッサ716に結合された(または組み込まれた)特殊目的グラフィック・メモリ720の中に存在するそのローカル・フレーム・バッファ722に画像をレンダリングする。メイン・メモリ706は典型的に多くの異なる過程およびアプリケーションの間で共有されることから、特殊目的グラフィック・メモリ720はメイン・メモリ706よりも安全であることに留意されたい。この実施形態では、グラフィック・プロセッサ712は、(そこからディスプレイ714をリフレッシュしている)フレーム・バッファを、それ自体のフレーム・バッファ707からグラフィック・プロセッサ716のフレーム・バッファ722に変更しなければならない。ディスプレイ714は常に同一のグラフィック・プロセッサによって駆動されるので、切り替えハードウェアが必要とされることはない。しかしながらグラフィック・プロセッサ712は、ユーザの目に見える移行を回避するために、適切な時間(例えば垂直帰線消去期間の間など)にフレーム・バッファ間の切り替えを行うようにプログラムされなければならない。
【0098】
グラフィック・ソース間のスムーズな切り替え
図8は、本発明の実施形態による、第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図を表す。この過程の開始時に、(「GPU」とも呼ばれる)より低電力の内部グラフィック・プロセッサ712はメイン・メモリ706の中のフレーム・バッファ707にレンダリングを行っており、ディスプレイ714はフレーム・バッファ707からリフレッシュされている(ステップ802)。
【0099】
次に、このシステムは、より高い性能および/またはより高いセキュリティが必要とされるかどうかを判定する(ステップ804)。必要とされない場合、システムはステップ802へ戻る。
【0100】
一方システムが、より高い性能および/またはより高いセキュリティが必要とされると判定した場合、システムは外部の高電力グラフィック・プロセッサ716の電力を上げる(ステップ806)。次いで、外部高電力グラフィック・プロセッサ716は、グラフィック・メモリ720の中のフレーム・バッファ722に同じ画像をレンダリングする(ステップ808)。
【0101】
次に、このシステムは垂直帰線消去期間(VBI)を待つ(ステップ810)。この垂直帰線消去期間の間、内部低電力グラフィック・プロセッサ712はそのリフレッシュ・ポインタを、メイン・メモリ706の中のフレーム・バッファ707からグラフィック・メモリ720の中のフレーム・バッファ722に切り替える(ステップ812)。次に、内部低電力グラフィック・プロセッサ712は、そのリフレッシュ回路を除いて電力を落とす(ステップ814)。この時点で、切り替え過程は完了する。
【0102】
この切り替えはまた、別の方向で起こることも可能である。より具体的には、図9は本発明の実施形態による、第2グラフィック・ソースから第1グラフィック・ソースへ切り替える過程を示す流れ図を表す。この過程の開始時に、高電力内部グラフィック・プロセッサ716はグラフィック・メモリ720の中のフレーム・バッファ722にレンダリングを行っており、ディスプレイ714はフレーム・バッファ722からリフレッシュされている(ステップ902)。
【0103】
次に、このシステムは、より低い性能および/またはより低いセキュリティが必要とされるかどうかを判定する(ステップ904)。必要とされない場合、システムはステップ902へ戻る。
【0104】
一方システムが、より低い性能および/またはより低いセキュリティが必要とされると判定した場合、システムは内部低電力グラフィック・プロセッサ712の電力を上げる(ステップ906)。次いで、低電力グラフィック・プロセッサ712は、メイン・メモリ706の中のフレーム・バッファ707に同じ画像をレンダリングする(ステップ908)。次に、このシステムは垂直帰線消去期間を待つ(ステップ910)。この垂直帰線消去期間の間、内部低電力グラフィック・プロセッサ712はそのリフレッシュ・ポインタを、グラフィック・メモリ720の中のフレーム・バッファ722からメイン・メモリ706の中のフレーム・バッファ707に切り替える(ステップ912)。次に、高電力グラフィック・プロセッサ716は電力を落とす(ステップ914)。この時点で、切り替え過程は完了する。
【0105】
ソフトウェアが単にディスプレイをフェードアウトさせ、次いでフレーム・バッファの切り替えを行い、その後ディスプレイを再びフェードインすることもまた可能である(かつ、おそらくはずっと簡単である)ということに留意されたい。このことは、ソフトウェアが2つのグラフィック・ソースに、移行の間に同時に同じデータを2つのフレーム・バッファの中に書き込ませなくてもよいので、より簡単である。代わりに、このシステムは1つのソースをシャットダウンし、次いで別のソースを開始して、その後フレーム・バッファを切り替えることができる。
【0106】
別の実施形態
図10は本発明の実施形態による、内部ディスプレイおよび外部ディスプレイの両方を駆動するために異なるグラフィック・ソース間で切り替えを行うことができるコンピュータ・システム1000を示す。図10で、2つのグラフィック・プロセッサ(グラフィック・プロセッサ1010および組み込みグラフィック・プロセッサ1018)は、それぞれ独立して内部ディスプレイ1014および外部ディスプレイ1015を駆動することができるということに留意されたい。ディスプレイ1014をアクティブに駆動するグラフィック・ソースはマルチプレクサ1020によって判定され、ディスプレイ1015を駆動するグラフィック・ソースはマルチプレクサ1021によって判定される。マルチプレクサ1020および1021は、グラフィック・プロセッサ1010と組み込みグラフィック・プロセッサ1018との間で選択を行うことができる。
【0107】
グラフィック・プロセッサ1010からの出力ディスプレイ信号1022および組み込みグラフィック・プロセッサ1018からの出力ディスプレイ信号1024は、マルチプレクサ(MUX)1020の入力に結合されることに留意されたい。同様に、グラフィック・プロセッサ1010からの出力ディスプレイ信号1023および組み込みグラフィック・プロセッサ1018からの出力ディスプレイ信号1025は、MUX1021の入力に結合される。各グラフィック・プロセッサは、2つのディスプレイを駆動するために別々の出力ディスプレイ信号を有することに留意されたい(これは、2つのディスプレイが異なるディスプレイ信号プロトコルを使用することが可能であり、ピクセル解像度、色深度、色バランス等において一般に異なるためである)。
【0108】
MUX1020の出力はソース選択1026によって制御され、ソース選択1026は2つのグラフィック・ソースのうちのどちらが内部ディスプレイ1014を駆動するべきかを判定する。同様に、MUX1021の出力はソース選択1027よって制御され、ソース選択1027は2つのグラフィック・ソースのうちのどちらが外部ディスプレイ1015を駆動するのかを判定する。この実施形態では、ソース選択1026および1027はブリッジ・チップ1004の出力であり、ブリッジ・チップ1004は、ソース選択1026および1027を生成するための回路を含む。ソース選択1026および1027はまた、ブリッジ1004の外部に配置された論理ブロックによって作られることも可能であることに留意されたい。
【0109】
選択されたグラフィック・ソースからの出力ディスプレイ信号は、ディスプレイ1014およびディスプレイ1015の入力に結合される。選択デバイスはマルチプレクサとして示されているが、例えば単純なワイヤードOR論理回路など、任意のその他の種類の選択デバイスを含むこともできる。
【0110】
本発明の1つの実施形態では、グラフィック・プロセッサ1010は大量の電力を消費する高性能グラフィック処理装置(GPU)であり、一方組み込みグラフィック・プロセッサ1018はより少ない電力を消費する、より低性能のGPUである。この実施形態では、グラフィック処理負荷が軽い場合、システムはディスプレイ1014および1015を駆動するために、グラフィック・ソースをグラフィック・プロセッサ1010から組み込みグラフィック・プロセッサ1018に切り替え、続いてグラフィック・プロセッサ1010の電力を完全に落とし、それによって電力を節約する。一方、グラフィック処理負荷が再び高くなる場合、システムはグラフィック・ソースを組み込みグラフィック・プロセッサ1018からグラフィック・プロセッサ1010へ再び切り替える。
【0111】
以上の本発明の実施形態の説明は、単に例示および説明を目的として示されてきた。これらは網羅的であること、または本発明を開示された形式に限定することを目的としない。したがって、当業者には多くの修正形態および変形形態が容易に明らかとなろう。さらに、上の開示は本発明を限定することを目的としない。本発明の範囲は、添付の特許請求の範囲によって定義される。
【符号の説明】
【0112】
200 コンピュータ・システム;
210 グラフィック・プロセッサ; 219 組み込みグラフィック・プロセッサ;
214 ディスプレイ; 220 選択デバイス;
222、224 出力ディスプレイ信号。
【技術分野】
【0001】
本発明は、コンピュータ・システムにおいてグラフィック・ソース間で切り替え(スイッチング)を行うための技法に関する。より詳細には、本発明は、コンピュータ・システムにおいてグラフィック・ソース間で切り替えを行うことによって、電力を削減するため、および/またはセキュリティを改善するための方法および装置に関する。
【背景技術】
【0002】
コンピューティング技術の急速な進歩は、時に1兆バイトに等しい大きさのデータ・セットで、秒当たり何兆バイトものコンピュータ・オペレーションを実行することを可能にした。これらの進歩は、集積中断のサイズおよび複雑性における指数的増加の大きな原因になっていると考えられる。残念なことに、集積中断のサイズおよび複雑性における増加には、電力消費における同様の増加が伴ってきた。
【0003】
並行した発展の中で、ブロードバンド・ワイヤレス・ネットワークの急速な拡大は、携帯型コンピュータ・システムの数の劇的な増加を引き起こした。残念なことに、携帯型コンピュータ・システムは通常、それらが利用可能な限られたバッテリ電力のために厳しい電力制約を有する。これらの発展は、電力削減技法に対する大きな要求を作り出した。
【0004】
3Dグラフィック技術の進歩によって、モデム・コンピュータ・システムの大部分は、グラフィック・ディスプレイ・デバイスを駆動するために専用のグラフィック・プロセッサ(しばしばグラフィック処理装置(GPU)と呼ばれる)を使用するようになった。残念なことに、今日のGPUは大量の電力を消費し、それが携帯型コンピュータ・システムのバッテリ寿命をひどく短くしており、そのうえ熱放散問題を生じさせる。
【0005】
グラフィック・ディスプレイが動作している間、例えばユーザがディスプレイ上の文書を読んでいる場合など、ごく僅かなグラフィック処理しか必要とされない場合がしばしばある。残念なことに、既存のグラフィック・プロセッサは、これらの「低活動」期間に電力を節約するために低電力モードに簡単に切り替わることができない。
【0006】
このような「低活動」期間に電力を節約するための1つの技法は、高電力のグラフィック・ソース(例えば高性能GPU)から低電力のグラフィック・ソース(例えば低性能GPU)へディスプレイを切り替えることである。理想的には、この切り替えオペレーションはユーザに見えなくなければならず、そのためシステムはグラフィック処理の要求が変わるときに、またはシステムの電力消費を制限する必要性が変わるときに、異なるグラフィック・ソース間で前後にシームレスに切り替わることができる。
【0007】
1つの既存の技法は、ユーザが低性能のグラフィック・ソースと高性能のグラフィック・ソースとの間で切り替えを行うことができる機械的スイッチを提供する。しかしながら、この力任せの技法は、ユーザが1つのグラフィック・ソースから別のものへ切り替える度にコンピュータ・システムを完全に再初期化することを必要とする。1つのグラフィック・ソースから別のものへ切り替えるためにコンピュータ・システムを再初期化することをユーザに求めることは、単に多くの状況で許容不可能である。初期化過程は、コンピュータ上で行われる可能性のある最も破壊的なオペレーションのうちの1つである。典型的に、ユーザはコンピュータを再初期化する前にすべての自分の仕事を保存しなければならず、このことには多くの時間がかかる可能性がある。さらにまた、ユーザは最初に自分のグラフィック処理の要件が近い将来に高くなるのか、低くなるのかを判定しなければならず、その後システムが再初期化するのを待たなければならず、要件が変わる場合には、その後別の再初期化を待つことになる。
【0008】
もう1つの問題は、一部のグラフィック・プロセッサが安全ではないメイン・メモリの中に配置されたフレーム・バッファの中に画像をレンダリングするということである。このことは、そのようなグラフィック画像が安全に保存されることを義務付けるデジタル著作権管理(DRM)規格に伴う問題を生じさせる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0009】
したがって、電力を削減するため、および/またはセキュリティを提供するために、異なるグラフィック・ソース間で迅速および/またはシームレスな切り替えを促進する方法および装置が必要とされる。
【課題を解決するための手段】
【0010】
本発明の1つの実施形態は、ディスプレイをリフレッシュするために使用されるフレーム・バッファ間で切り替えを行うシステムを提供する。オペレーションの間、このシステムは第1メモリに配置された第1フレーム・バッファからディスプレイをリフレッシュする。ディスプレイのためのフレーム・バッファの切り替えを求める要求を受け取ると、ディスプレイが第2メモリに配置された第2フレーム・バッファからリフレッシュされるように、システムはディスプレイへのデータ転送を再構成する。
【0011】
一部の実施形態では、第1メモリは、多数のアプリケーションによってアクセス可能であり、したがって安全ではないメイン・メモリであり、第2メモリは、メイン・メモリの外部に配置された安全なフレーム・バッファである。
【0012】
一部の実施形態では、ディスプレイを切り替えることは、ディスプレイをリフレッシュするために使用されるデータを、そのデータが安全ではないメイン・メモリを完全に回避するように転送することをさらに伴う。この変形形態では、システムは、データが第2フレーム・バッファに記憶される間、ならびにデータが第2フレーム・バッファへ移行する間およびデータが第2フレーム・バッファから移行する間、データを暗号化する。
【0013】
一部の実施形態では、フレーム・バッファの切り替えを求める要求を受け取る前に、このシステムはディスプレイに関連したデータのためのセキュリティ要件を判定し、判定されたセキュリティ要件に基づいてフレーム・バッファの切り替えを求める要求を生成する。
【0014】
一部の実施形態では、フレーム・バッファの切り替えを求める要求を受け取る前に、このシステムはディスプレイのためのグラフィック処理負荷のレベルを監視し、グラフィック処理負荷のレベルに基づいて切り替えを求める要求を生成する。
【0015】
一部の実施形態では、このシステムはディスプレイを含むコンピュータ・システム内の温度を測定し、測定された温度に基づいて切り替えを求める要求を生成する。
【0016】
一部の実施形態では、ディスプレイが第2フレーム・バッファからリフレッシュされるようにディスプレイを切り替えることは、ディスプレイのためのレンダリング・オペレーションを実行するグラフィック処理装置(GPU)を切り替えることをさらに伴う。一部の実施形態では、このGPUは第1フレーム・バッファにレンダリングする低電力GPUと第2フレーム・バッファにレンダリングする高電力GPUとの間で切り替えられる。
【0017】
一部の実施形態では、低電力GPUから高電力GPUに切り替える前に、このシステムは低電力GPUの出力ディスプレイ信号と高電力GPUの出力ディスプレイ信号とを実質的に同期させ、それによってディスプレイのグラフィック出力を中断させることのないシームレスな移行を促進する。
【0018】
一部の実施形態では、出力ディスプレイ信号を実質的に同期させることは、1つまたは複数のフェーズ・ロック・ループ(PLL)を使用することを必要とする。
【0019】
一部の実施形態では、切り替えは、ディスプレイのための垂直帰線消去信号に関連した垂直帰線消去期間の間に起こる。
【0020】
本発明の別の実施形態は、第1ディスプレイおよび/または第2ディスプレイを駆動するために第1グラフィック・プロセッサと第2グラフィック・プロセッサとの間で切り替えを行うコンピュータ・システムを提供する。このコンピュータ・システムはプロセッサ、メモリ、第1グラフィック・プロセッサ、第2グラフィック・プロセッサ、第1ディスプレイおよび第2ディスプレイを含む。このコンピュータ・システムはまた、第1グラフィック・プロセッサまたは第2グラフィック・プロセッサを選択的に第1ディスプレイに結合する第1スイッチも含む。このコンピュータ・システムはまた、第1グラフィック・プロセッサまたは第2グラフィック・プロセッサを選択的に第2ディスプレイに結合する第2スイッチも含む。
【0021】
一部の実施形態では、第1ディスプレイはコンピュータ・システムに内蔵された内部ディスプレイであり、第2ディスプレイはコンピュータ・システムに結合された外部ディスプレイである。
【0022】
一部の実施形態では、第1スイッチと第2スイッチとは、第1グラフィック・プロセッサを第1ディスプレイおよび第2ディスプレイの両方に結合するように、または第2グラフィック・プロセッサを第1ディスプレイおよび第2ディスプレイの両方に結合するように構成される。
【0023】
一部の実施形態では、第1グラフィック・プロセッサは高電力グラフィック処理装置(GPU)であり、第2グラフィック・プロセッサは低電力GPUである。
【0024】
一部の実施形態では、このシステムは、第1グラフィック・プロセッサの出力ディスプレイ信号と第2グラフィック・プロセッサの出力ディスプレイ信号とを実質的に同期させ、それによってグラフィック出力を中断させることのない、シームレスな切り替え過程を促進するように構成された同期メカニズムを含む。
【0025】
一部の実施形態では、この同期メカニズムは、出力ディスプレイ信号を実質的に同期させるために1つまたは複数のフェーズ・ロック・ループ(PLL)を使用するように構成される。
【0026】
一部の実施形態では、第1スイッチと第2スイッチとはマルチプレクサまたはワイヤードOR論理中断を含むことができる。
【図面の簡単な説明】
【0027】
【図1】本発明の実施形態によるコンピュータ・システムを示す図である。
【0028】
【図2】本発明の実施形態による同一のディスプレイを駆動するために異なるグラフィック・ソース間で切り替えを行うことができるコンピュータ・システムを示す図である。
【0029】
【図3】本発明の実施形態によるディスプレイを駆動するために第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図である。
【0030】
【図4】本発明の実施形態による出力ディスプレイ信号を同期させることを伴わずに第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図である。
【0031】
【図5A】本発明の実施形態によるグラフィック・ソースによって生成された単一の垂直帰線消去期間(VBI)および対応する垂直同期(V−sync)パルスを示す図である。
【0032】
【図5B】本発明の実施形態による2つのグラフィック・ソースによって生成された2つの重複するVBIを示す図である。
【0033】
【図6A】本発明の実施形態による2つのグラフィック・ソースの間でタイミング信号を同期させるための技法を示す概略図である。
【0034】
【図6B】本発明の実施形態による2つのグラフィック・ソースの間でタイミング信号を同期させるための別の技法を示す概略図である。
【0035】
【図7】本発明の実施形態による2つのグラフィック・ソースを含むコンピュータ・システムを示す図である。
【0036】
【図8】本発明の実施形態による第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図である。
【0037】
【図9】本発明の実施形態による第2グラフィック・ソースから第1グラフィック・ソースへ切り替える過程を示す流れ図である。
【0038】
【図10】本発明の実施形態による内部ディスプレイおよび外部ディスプレイを駆動するために異なるグラフィック・ソース間で切り替えを行うことができるコンピュータ・システムを示す図である。
【発明を実施するための形態】
【0039】
以下の説明は、任意の当業者が本発明を製作し、使用することができるように示されており、特定の応用例およびその必要条件を背景として示されている。開示される実施形態に対する様々な変更形態は、当業者には容易に明らかとなり、本明細書で定義される一般原則は、本発明の精神および範囲から逸脱することなく、その他の実施形態および応用例に適用されることが可能である。したがって、本発明は、示される実施形態に限定されることはなく、特許請求の範囲に一致する最も広範な範囲を与えられるべきである。
【0040】
この詳細な説明の中で述べられるデータ構造およびコードは、典型的に、コンピュータ・システムによる使用のためにコードおよび/またはデータを記憶することができる任意のデバイスまたは媒体であってよいコンピュータ可読記憶媒体に記憶される。これは限定されないが、揮発性メモリ、不揮発性メモリ、ディスク・ドライブ、磁気テープ、CD(コンパクト・ディスク)、DVD(デジタル多用途ディスクまたはデジタル・ビデオ・ディスク)などの磁気および光記憶デバイス、または現在知られているか、もしくは最近開発されたコンピュータ可読媒体を記憶することができるその他の媒体を含む。
【0041】
コンピュータ・システム
図1は、本発明の実施形態によるコンピュータ・システム100を示す。図1に示されているように、コンピュータ・システム100はプロセッサ102を含み、これはブリッジ104を通じてメモリ・サブシステム106、周辺バス108およびグラフィック・プロセッサ110に結合されている。ブリッジ104は、一般的にコンピューティング・システム100内の構成要素をまとめて結合するために使用される任意の種類のコア論理装置、ブリッジ・チップ、またはチップセットを含むことができる。本発明の1つの実施形態では、ブリッジ104はノースブリッジ・チップである。プロセッサ102は、限定されないが、マイクロ・プロセッサ、デジタル信号プロセッサ、デバイス・コントローラまたは機器内のコンピュータ・エンジンを含む任意の種類のプロセッサを含むことができる。
【0042】
コンピュータ・システム100のうちの1つまたは複数の構成要素は、離れて配置され、ネットワークを介してアクセスされてもよいということを認識されたい。
【0043】
プロセッサ102は、ブリッジ104を通じてメモリ・サブシステム106と通信する。メモリ・サブシステム106は、高速でプロセッサ102によってアクセスされることが可能な1つまたは複数のメモリ・チップを含めて、複数の構成要素を含むことができる。
【0044】
プロセッサ102はまた、ブリッジ104および周辺バス108を通じて記憶デバイス112とも通信する。記憶デバイス112は、コンピュータ・システムに結合されることが可能な任意の種類の不揮発性記憶デバイスを含むことができる。記憶デバイス112は、限定されないが磁気、光および光磁気記憶デバイスの他に、フラッシュ・メモリおよび/またはバッテリバックアップ・メモリに基づく記憶デバイスを含む。
【0045】
プロセッサ102はさらに、ブリッジ104を通じてグラフィック・プロセッサ110と通信する。グラフィック・プロセッサ110は、信号ソースをディスプレイ114に与え、ディスプレイ114を駆動する特殊化されたグラフィック・レンダリング・デバイスである。ディスプレイ114は、(画像およびテキストを含む)ビジュアル形式で情報をユーザに示すことができる任意の種類のディスプレイ・デバイスを含むことができる。ディスプレイ114は、限定されないが、陰極線管(CRT)ディスプレイ、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、有機LED(OLED)ディスプレイ、表面電界ディスプレイ(SED)または電子ペーパーを含む。
【0046】
グラフィック・プロセッサ110は、高い性能でライティング、シェーディングおよび変形などの2Dと3Dの両方のグラフィック・レンダリング・オペレーションを実行する。高い性能を達成するために、グラフィック・プロセッサ110は、フレーム・バッファ、テクスチャ、頂点配列および/またはディスプレイ・リストを記憶するために専用のビデオ・メモリ116を利用してもよい。
【0047】
ブリッジ104はまた、組み込みグラフィック・プロセッサ118も含む。組み込みグラフィック・プロセッサ118は典型的に、ほどほどの性能のグラフィック処理を目的として造られており、したがってグラフィック・プロセッサ110よりも消費する電力はずっと少ない。図1の中で、組み込みグラフィック・プロセッサ118は直接ディスプレイ114に結合されておらず、ディスプレイ114を駆動することはないことに留意されたい。
【0048】
本発明は図1に示されたコンピュータ・システム100を背景として説明されているが、複数のグラフィック・プロセッサをサポートする任意の種類のコンピューティング・デバイス上で一般に動作可能であることに留意されたい。したがって、本発明は図1に示されたコンピュータ・システム100に限定されるわけではない。
【0049】
グラフィック・ソース間での選択的切り替え
図2は本発明の実施形態による、同一のディスプレイを駆動するために異なるグラフィック・ソース間で切り替えを行うことができるコンピュータ・システム200を示す。図2の中では、2つのグラフィック・ソース(グラフィック・プロセッサ210および組み込みグラフィック・プロセッサ218)が各々独立してディスプレイ214を駆動することができるということに留意されたい。しかしながら、所与の時間にディスプレイ214をアクティブに駆動するグラフィック・ソースは、2つのグラフィック・ソース間で選択を行うことができる選択デバイス220によって判定される。具体的には、コンピュータ・システム200は、その現在のオペレーション状態に基づいてグラフィック・ソースを選択するために選択デバイス220を使用することができる。
【0050】
より具体的には、グラフィック・プロセッサ210からの出力ディスプレイ信号222と組み込みグラフィック・プロセッサ218からの出力ディスプレイ信号224とは、両方とも2対1マルチプレクサ(MUX)220の入力に結合される。MUX220の出力はソース選択226によって制御され、ソース選択226は2つのグラフィック・ソースのうちのどちらがディスプレイ214を駆動するのかを判定する。この実施形態では、ソース選択226はブリッジ・チップ204の出力であり、これはソース選択226を生成するための特定の論理を含む。ソース選択226はブリッジ204以外の論理ブロックによっても作り出されることが可能なことに留意されたい。
【0051】
選択されたグラフィック・ソースからの出力ディスプレイ信号はその後、ディスプレイ214をアクティブに駆動するためにディスプレイ214の入力に結合される。選択デバイスはマルチプレクサとして示されているが、単純なワイヤードOR論理中断などの任意のその他の種類の選択デバイスも含むことができる。
【0052】
本発明の1つの実施形態では、グラフィック・プロセッサ210と組み込みグラフィック・プロセッサ218とは、それらの出力ディスプレイ信号を同期させることができるように、パス228を通じて協調することができる。出力ディスプレイ信号はタイミング信号とデータ信号との両方を含むことができるため、出力ディスプレイ信号を同期させることは、各々のタイミング信号と各々のデータ信号との両方を同期させることを伴ってもよい。パス228は、2つのグラフィック・ソースの同期を促進するために、ハードウェアおよび/またはソフトウェアを使用して認識されてもよいことに留意されたい。
【0053】
本発明の1つの実施形態では、グラフィック・プロセッサ210は大量の電力を消費する高性能グラフィック・プロセッサ装置(GPU)であり、一方組み込みグラフィック・プロセッサ218はより少ない量の電力を消費する低性能GPUである。この実施形態では、グラフィック処理負荷が軽い場合、システムはディスプレイ214を駆動するためにグラフィック・ソースをグラフィック・プロセッサ210から組み込みグラフィック・プロセッサ218に切り替え、続いてグラフィック・プロセッサ210の電力を完全に落とし、それによって電力を節約する。一方、グラフィック処理負荷が再び重くなる場合、システムはグラフィック・ソースを組み込みグラフィック・プロセッサ218からグラフィック・プロセッサ210に切り替える。
【0054】
本明細書では、図2に示された独立型グラフィック・プロセッサおよび一体型グラフィック・プロセッサを背景としてグラフィック・プロセッサ間の切り替えを説明してきたが、本発明は適切に構成された場合に各々が独立してディスプレイを駆動することができる2つ以上のグラフィックグラフィック・プロセッサを含むコンピュータ・システムのために一般に機能することが可能であることに留意されたい。さらに、これらの複数のグラフィック・プロセッサは異なる電力消費レベルを含めて、異なるオペレーティング特性を有することが可能である。さらに、複数のグラフィック・プロセッサの各々は独立型グラフィック・プロセッサか、またはチップ内の一体型グラフィック・プロセッサのいずれであることも可能である。したがって、本発明は図2に示されたコンピュータ・システム200に限定されるわけではない。
【0055】
上述の異なるグラフィック・ソース間で切り替えを行うための技法は、コンピュータ・システムをシャットダウンすること、またはコンピュータ・システムを再初期化することを必要としない。その結果、この切り替え過程は再初期化が必要とされていた場合にかかる時間よりも、実質的により少ない時間で済む。したがって、本発明は迅速かつ頻繁なグラフィック・プロセッサ間の切り替えを可能にする。
【0056】
図3は本発明の実施形態による、ディスプレイを駆動するために第1グラフィック・ソースから第2グラフィック・ソースへ切り替えを行う過程を示す流れ図を表す。
【0057】
オペレーションの間、このシステムは最初に、ディスプレイをアクティブに駆動している第1グラフィック・プロセッサから非アクティブ状態の第2グラフィック・プロセッサへディスプレイのための信号ソースを切り替える要求を受け取る(ステップ302)。
【0058】
この切り替え要求は、グラフィック処理負荷のレベルを認識しているユーザによって生成されることが可能である。代替として、この切り替え要求は、システムによって内部で生成されることが可能である。
【0059】
本発明の1つの実施形態では、システム・ソフトウェアはグラフィック処理負荷のレベルを継続的に監視する。より具体的には、このシステムは、グラフィック・プロセッサに関連したグラフィック・コマンド・キューの状態に基づいて、グラフィック処理負荷のレベルを判定することができる。例えば、コマンド・キューが大部分空である場合、システムはグラフィック処理負荷が低いとアサートする。一方、コマンド・キューが大部分いっぱいである場合、システムはグラフィック処理負荷が高いとアサートする。
【0060】
次に、システム・ソフトウェアはグラフィック処理負荷のレベルに基づいて2つのグラフィック・プロセッサのうちの1つを選択し、続いて非アクティブのグラフィック・プロセッサが選択される場合、切り替えを求める要求を生成する。
【0061】
例えば、第1グラフィック・プロセッサが高い電力を消費する高性能GPUである場合、システム・ソフトウェアはグラフィック処理負荷レベルの大幅な減少を検出するときに、性能はより低いが、消費する電力もより低い第2グラフィック・プロセッサへの切り替えを求める要求を発行することができる。一方、第1グラフィック・プロセッサがより低い性能で低電力のGPUであれば、システムはシステム・ソフトウェアがグラフィック処理負荷レベルの大幅な減少を検出した場合、高性能で高電力のGPUへの切り替えを求める要求を発行することができる。
【0062】
グラフィック処理負荷を監視するため、および切り替え要求を自動的に発行するためにシステム・ソフトウェアを使用することは、人間によって開始される要求よりも著しく速く、おそらくはよりエネルギー効率がよいということに留意されたい。さらに、システム・ソフトウェアを使用することは仕事を監視することからユーザを解放する。
【0063】
次に、切り替え要求に応答して、システムは第2グラフィック・プロセッサをディスプレイの駆動に備えて構成する(ステップ304)。本発明の1つの実施形態では、第2グラフィック・プロセッサの構成には以下の(1)現在電力が落とされている場合、プロセッサの電力を上げるステップ、(2)グラフィック・プロセッサを初期化するステップ、および(3)ディスプレイの電力を上げることに備えて出力信号を生成するステップのうちの1つまたは複数が伴ってもよい。
【0064】
次いでシステムは、ディスプレイを駆動する信号ソースを第1グラフィック・プロセッサから第2グラフィック・プロセッサへ切り替え、これによって第2グラフィック・プロセッサがディスプレイを駆動するようになる(ステップ306)。本発明の1つの実施形態では、切り替えには図2のMUX220などの選択デバイスを使用することが伴い、選択デバイスは第1グラフィック・プロセッサをディスプレイから切り離し、第2グラフィック・プロセッサをディスプレイへ結合する。切り替えオペレーションの間、以下でより詳細に説明される異なるタイミング制御が使用されてもよい。一般に、よりスムーズな切り替えの移行を達成することは、より正確なタイミング制御を必要とし、したがって典型的により複雑な切り替え制御メカニズムを必要とする。
【0065】
第1グラフィック・プロセッサから第2グラフィック・プロセッサに代わると、システムは電力を節約するために第1グラフィック・プロセッサの電力を落としてもよい。上述の切り替え課程は、実施のためにシステム全体を再初期化することを必要としないことに留意されたい。
【0066】
本明細書ではグラフィック処理負荷に基づいた切り替えを説明してきたが、この切り替え要求は電力状態(例えば、システムはバッテリで動いているのか、または外部の電源で動いているのかどうか、もしくはバッテリが低いのかどうかなど)に基づいて、システムの熱放散を減らす必要性に基づいて、ユーザの嗜好に基づいて、または2つのグラフィック・プロセッサ間で異なる任意の機能または能力に基づいても生成されることが可能なことに留意されたい。
【0067】
切り替えの間のタイミング
同一のディスプレイ・デバイスを駆動するために異なるグラフィック・プロセッサ間で切り替えを行うことは、実質的にシームレスな移行を確実にするためのグラフィック・プロセッサ間での一定レベルの協調を必要とする。以下で、同期が出力ディスプレイ信号に関与しているかどうかに基づいて、それらを識別することによって、切り替えの間の異なるタイミング技法について論じる。
【0068】
同期を伴わない切り替え
図4は、本発明の実施形態による、出力ディスプレイ信号を同期させることなく第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図を表す。
【0069】
オペレーションの間、第1グラフィック・プロセッサはディスプレイをフェードアウトさせる(ステップ402)。このことは、限定されないが、黒または他の色をスクリーン上に表示すること、バックライトを切ること、またはディスプレイ全体の電力を落とすことを含めて複数の方法で行われることが可能なことに留意されたい。
【0070】
次に、システムはディスプレイを駆動する信号ソースを第1グラフィック・プロセッサから第2グラフィック・プロセッサに切り替え、第2グラフィック・プロセッサはディスプレイを駆動するように構成されている(ステップ404)。より具体的には、この切り替えは、第1グラフィック・プロセッサの出力信号をディスプレイの入力から切り離し、第2グラフィック・プロセッサの出力信号をディスプレイの入力に結合することを伴う。
【0071】
切り替えを完了すると、第2グラフィック・プロセッサは次いで、必要に応じてディスプレイを初期化する(ステップ406)。次に、第2グラフィック・プロセッサはディスプレイ・スクリーンを再描画し、続いてディスプレイ・スクリーンをフェードインさせる(ステップ408)。
【0072】
この実施形態では、2つのグラフィック・ソースは互いに同期することを必要としない。したがって、第2信号ソースは切り替えが起こる前にディスプレイを再描画するように構成されることを必要としない。さらに、第1信号ソースは切り替えを実行する前に、(例えばオペレーションをフェードアウトさせることを通じて)オフにされることが可能である。
【0073】
同期を伴わない切り替えは単純であるが、ユーザに切り替えに気づかせることがありうる。しかしながら、切り替えが僅かな時間で完了されることができれば、ユーザは切り替えに気づくことさえないということが可能である。代替として、切り替えがよりゆっくりと行われるのであれば、ディスプレイの解像度が変更される場合に例えばフェードアウト/フェードイン効果などの適切な視覚効果を使用することによって、視覚上の中断は減らされることが可能である。一般に、ディスプレイをディスプレイ信号の1つのセットから異なるものへ切り替えることのいかなる望ましくない視覚効果でも、移行の間にディスプレイをフェードアウトさせることによって、同期されないディスプレイ信号のセットは隠されることが可能である。
【0074】
同期を伴う切り替え
切り替えの前に出力信号を同期させることは、よりスムーズで目立たない、またはディスプレイ上のグラフィック出力を中断させることのないシームレスな切り替え過程でさえも促進する。しかしながら同期は、両方のグラフィック・ソースからの出力ディスプレイ信号が同期されることが可能なように、第2グラフィック・ソースが切り替えの前にディスプレイを駆動することに備えて出力信号の生成を開始することを必要とする。
【0075】
本発明の1つの実施形態では、2つのグラフィック・ソースからの出力信号を同期させることは、出力信号に埋め込まれたタイミング情報をマッチさせることによって達成されることが可能である。そのようなタイミング情報は、限定されないが、水平同期(H−sync)パルス、垂直同期(V−sync)パルス、水平帰線消去信号および垂直帰線消去信号を含むことができる。特にV−syncパルスは、データの新たなフレームをいつスキャンし始めるべきかを示すことによって、ディスプレイ上の画像リフレッシュを制御する。典型的に、V−syncパルスは垂直帰線消去期間(VBI)と呼ばれる2つの連続する画像フレームの間の短い時間間隔内に生じ、この間スクリーン上のディスプレイは様々な管理上の目的で一定の状態に保たれる。図5Aは、本発明の実施形態による、グラフィック・ソースによって作り出される単一のVBI502および対応するV−syncパルス504を示す。V−syncパルス504はVBI502内に入ることに留意されたい。
【0076】
この実施形態では、コンピュータ・システムは第1グラフィック・ソースの中でいつV−syncパルスが生じるのかについて経過を追い、そのV−syncパルスが第1グラフィック・ソースのものと一列に並ぶまで第2グラフィック・ソースのタイミング・シーケンスを調整する。1つの実施形態では、2つのグラフィック・ソースからのV−syncパルスを整列させることは、第2グラフィック・ソースのタイミング・シーケンスを第1グラフィック・ソースのタイミング・シーケンスと一致させるためにソフトウェアまたはハードウェアのいずれかを使用することを伴う。この整列期間の間、第1グラフィック・ソースはディスプレイを駆動し続ける。V−syncパルスが2つのソース間で十分に整列される場合、その後切り替えは次のVBIの間に実行されることが可能である。
【0077】
図5Bは本発明の実施形態による、2つのグラフィック・ソースによって生成されるVBI506およびVBI508の2つの重複するVBIを示す。切り替えは2つのVBIの重複期間510内に生じるということに留意されたい。また、切り替え過程は重複期間510内で完了されることが可能な場合、ユーザには見えないようになることが可能なことにも留意されたい。さらに、2つのグラフィック・ソース間の実質的な同期は、第2グラフィック・ソースが、ユーザにはディスプレイが変化していないように見えるようにディスプレイを直ちに駆動することを促進する。
【0078】
しかしながら切り替え過程は、完了するために単一のVBIよりも長い時間がかかるか、または分解するために数フレーム時間をとる可能性がある。この場合、システムは画面を完全に空白にするか、またはフェードアウトさせることによって切り替え効果を隠すことができる。
【0079】
本発明の別の実施形態では、第2グラフィック・ソースが第1グラフィック・ソースと一列に並ぶようにする代わりに、このシステムは、第2グラフィック・ソースのV−sync信号を第1グラフィック・ソースのものに対してドリフトさせることができる。タイミング信号におけるそのようなドリフトは、1つまたは複数のタイミング差の結果として生じる可能性がある。例えば、このドリフトは、2つのグラフィック・プロセッサのクロック周波数における僅かな差によって生じる可能性がある。代替として、このドリフトは、2つのグラフィック・プロセッサを僅かに異なるディスプレイ・フレーム速度で動作するようにプログラムすることによって生じる可能性がある。
【0080】
同期のこの実施形態では、このシステムは2つのソースからの2つのV−sync信号を監視して、それらがいつ互いに重複するのかを検出することができ、ここでこの監視は、ソフトウェアまたはハードウェアのいずれかによって実行されることが可能である。このことが生じるとき、このシステムは2つの信号が互いにドリフトして離れる前に、1つのグラフィック・ソースから別のものへ切り替えることができる。
【0081】
ハードウェア・ベースの同期を伴う切り替え
本発明の1つの実施形態では、2つのグラフィック・ソースのディスプレイ出力タイミングが正確に一致することが可能であるように、グラフィック・ソースのうちの1つはさらなるハードウェアを使用して、もう一方のグラフィック・ソースと同期されることが可能である。次いで、次のVBIの間に、ユーザによって気づかれないように切り替えが行われることが可能である。この実施形態では、スムーズな切り替えは、第2グラフィック・ソースのディスプレイ・タイミング・ジェネレータの位相および周波数を調整してディスプレイ出力タイミングを第1グラフィック・ソースのものと一致させるために、さらなるハードウェアを組み込むことによって可能となる。
【0082】
図6Aは本発明の実施形態による、2つのグラフィック・ソース間でタイミング信号を同期させるための技法の概略図を表す。図6Aに示されているように、2つのグラフィック・ソースAおよびBは、それぞれタイミング・ジェネレータ602およびタイミング・ジェネレータ604を備える。タイミング・ジェネレータ602は、グラフィック・ソースAのために出力V−SYNC606の中のV−syncパルスおよび出力VBI608の中の垂直帰線消去期間を作り出し、一方でタイミング・ジェネレータ604は、グラフィック・ソースBのために出力V−SYNC610の中のV−syncパルスおよび出力VBI612の中の垂直帰線消去期間を作り出す。
【0083】
グラフィック・ソースAおよびBはまた、それぞれタイミング・ジェネレータ602および604に周波数基準を与えるために、フェーズ・ロック・ループ(PLL)614およびPLL616を使用する。より具体的には、PLL614およびPLL616は左から基準周波数入力fAREF618およびfBREF620を受け取り、タイミング・ジェネレータ602および604への入力として基準周波数出力fAOUT622およびfBOUT624を生成する。PLLおよび関連した構成要素の機能の詳細な説明は、PLLについて述べる複数の参考文献の中で見つけることができる(Floyd.M.Gardner、「Charge-Pump Phase-Lock Loops」、IEEE Transactions on Communications、第28巻11号、1980年11月を参照されたい)。
【0084】
周波数合成を目的として、PLL614はデバイダMA626およびデバイダNA628を備える。同様に、PLL616はデバイダMB630およびデバイダNB632を備える。PLL614およびPLL616の出力は、位相が同期される場合に、それぞれ出力周波数fAOUT=fAREF×(MA/NA)およびfBOUT=fBREF×(MB/NB)を作り出す。
【0085】
本発明の1つの実施形態では、周波数スカラー値MA、MB、NA、NBはプログラム可能であり、プログラム可能レジスタの中に記憶される。具体的には、スカラーMA、MB、NA、NBは、マイクロコントローラまたは定形のステートマシンとして、ソフトウェアまたはハードウェアのいずれかに実装されることが可能なコントローラ634に結合され、これを通じてプログラム可能である。コントローラ634は入力REQSW636の切り替えを求める要求を受け取り、さらにグラフィック・ソースAからクロック信号V−SYCNA606およびVBIA608を、またグラフィック・ソースBからV−SYNCB610およびVBIB612を受け取る。次いでコントローラ634は、2つのグラフィック・ソースのV−sync信号またはVBI信号のいずれかの間の位相差を測定する。次いでコントローラ634は、測定された位相差をフィードバック信号として使用して、関連したPLLのMおよびN値を同時に変更することによって、1つのグラフィック・ソースからのV−syncおよびVBIの位相を、もう一方のグラフィック・ソースに対して調整することができる。
【0086】
フィードバック・ループを使用して、コントローラ634は位相差の測定および調整を継続する。コントローラ634は位相差が所定の範囲内にあると判定すると、その後切り替えイネーブルOK2SWITCH638を生成する。本発明の1つの実施形態では、OK2SWITCH638は図2のソース選択226に結合され、それによってMUX220はソースを操作することができる。
【0087】
上記の説明は、アクティブのグラフィック・ソースと非アクティブのグラフィック・ソースの両方のクロックを変えることができるということに留意されたい。特に、変更されたPLLスカラー値がアクティブにディスプレイを駆動しているソースに関連している場合、関連した周波数をゆっくりとスムーズに調整するのが望ましい場合がある。また、切り替えを可能にするために完璧なクロック配列を得ることを求めなくてもよいということにも留意されたい。1つの実施形態では、コントローラ634は、切り替えオペレーションが目に見える人為結果を引き起こさないように十分な重複が得られるように、VBIを配列するように構成されることが可能である。コントローラは十分な重複が存在することを検出した場合、同期を完了するためにOK2SWITCH信号をアサートする。
【0088】
図6Bは本発明の実施形態による、2つのグラフィック・ソース間でタイミング信号を同期させるための別の技法の概略図を表す。
【0089】
この実施形態では、単一のPLL640はグラフィック・ソースAおよびB間でタイミング信号を同期させるために使用される。図6AのようなコントローラによるPLLの直接制御は存在しないということに留意されたい。代わりに、PLL640はタイミング・ジェネレータのうちの1つとともに閉ループを形成する。
【0090】
図6Bに示されているように、タイミング・ジェネレータ602および604は、それぞれ基準周波数入力fREF_A642およびfREF_B644を受ける。タイミング・ジェネレータ602および604からの4つの出力V−SYNCA606、VBIA608、V−SYNCB610およびVBIB612は、その出力にV−SYNCA606およびV−SYNCB610か、またはVBIA608およびVBIB612のいずれかを選択することができる4対2マルチプレクサMUX646に結合される。その後MUX646の出力はPLL640の位相ディテクタの入力に結合される。この実施形態では、V−sync信号またはVBI信号のいずれかが配列のために使用されることが可能であることに留意されたい。
【0091】
次いで、PLL640からのVCO出力は、タイミング・ジェネレータのうちの1つに結合され、そのための入力基準周波数の役割を果たし、それによってそのタイミング・ジェネレータを用いた閉ループを完結する。より具体的には、最初にPLL640からの出力は2つのマルチプレクサMUX648およびMUX650の入力に結合され、MUX648およびMUX650はそれぞれ、入力として外部クロック信号EXTCLK_A652およびEXTCLK_B654も受け取る。MUX648およびMUX650の出力はコントローラ656によって制御され、コントローラ656は、それぞれのタイミング・ジェネレータのための基準周波数入力として、外部クロック・ソースまたはPLL出力のいずれかを選択する。コントローラ656はPLL640の位相ディテクタから入力を受け取り、その入力に基づいてPLL640がロックされているかどうかを検出するということに留意されたい。
【0092】
オペレーションの間、グラフィック・ソースAがアクティブにディスプレイを駆動していると仮定する。一方PLL640のVCO出力は、グラフィック・ソースBのタイミング・ジェネレータ604のための基準周波数fREF_B644として選択される。したがって、PLL640およびタイミング・ジェネレータ604は閉ループを形成し、これが2つのタイミング・ジェネレータからの(V−syncまたはVBIのいずれかの)選択されたタイミング信号が同期することを促進する。コントローラ656はPLL640が位相同期されたことを検出すると、次いで次の帰線消去期間の間にディスプレイを駆動するグラフィック・ソースをグラフィック・ソースAからグラフィック・ソースBに切り替える。より具体的には、後に続く帰線消去期間に、コントローラ656はfREF_B入力をPLL640から外部クロック・ソースEXTCLK_B654に切り替える。切り替えの後、PLL640は次いで、グラフィック・ソースAを現在アクティブにディスプレイを駆動しているグラフィック・ソースBにロックするために使用されることが可能である。
【0093】
切り替えを伴わないグラフィック・プロセッサの選択
本発明の1つの実施形態では、同一のディスプレイ・デバイスを駆動するために2つのグラフィック・プロセッサ間で切り替えを行う代わりに、より低い性能のより低い電力のグラフィック・プロセッサが常にディスプレイを駆動する。この実施形態では、さらなるグラフィック性能が必要とされる場合、より高い性能のプロセッサがグラフィック処理負荷を引き継ぎ、より低い性能のプロセッサによって使用される同一のフレーム・バッファにそのディスプレイ画像をレンダリングする。システムがこのような方法で動作している場合、より性能の低いプロセッサは、純粋にディスプレイ出力デバイスとして機能し、すなわち画像データをフレーム・バッファからディスプレイに転送し、一方でより性能の高いデバイスは、すべてのグラフィック処理を実行する。あまり高い性能が必要とされない場合、より性能の低いデバイスが再びグラフィック処理作業を引き継ぎ、より性能の高いデバイスはそれに応じて電力を落とされることが可能である。
【0094】
コンピュータ・システム
図7は本発明の実施形態による、2つのグラフィック・プロセッサを含むコンピュータ・システム700を示す。より具体的には、コンピュータ・システム700はブリッジ・チップ704に結合されたプロセッサ702を含む。ブリッジ・チップ704はそれ自体でメイン・メモリ706、ディスプレイ714および周辺バス708に結合される。周辺バス708は、記憶デバイス710にアクセスするために使用されることが可能である。
【0095】
より性能の低い、低電力のグラフィック・プロセッサ712は直接ディスプレイ714に結合され、常にそれを駆動することに留意されたい。一方、高性能で高電力のグラフィック・プロセッサ716はグラフィック・プロセッサ712に結合され、典型的には使用中ではない場合に電力を落とされる。
【0096】
本発明の1つの実施形態では、グラフィックをそれ自体のフレーム・バッファにレンダリングする代わりに、グラフィック・プロセッサ716はグラフィック・プロセッサ712のためのフレーム・バッファ707に画像を直接レンダリングし、この場合フレーム・バッファ707はメイン・メモリ706に配置される。この実施形態では、グラフィック・プロセッサ712は、継続的にディスプレイ714をリフレッシュすることによって、ディスプレイ714にグラフィックを表示する役割を果たす。この実施形態では、ディスプレイは同一のグラフィック・プロセッサによって常に駆動され、同一のフレーム・バッファからリフレッシュしているので、切り替えを行うハードウェアが必要とされることはなく、またユーザから隠すためにハードウェアの切り替えを移行することはないことに留意されたい。
【0097】
代替実施形態では、さらなるグラフィック処理能力またはさらなるセキュリティが必要とされる場合、このシステムはさらなるグラフィック・レンダリング能力を与えるためにグラフィック・プロセッサ716の電力を上げる。グラフィック・プロセッサ716は、グラフィック・プロセッサ716に結合された(または組み込まれた)特殊目的グラフィック・メモリ720の中に存在するそのローカル・フレーム・バッファ722に画像をレンダリングする。メイン・メモリ706は典型的に多くの異なる過程およびアプリケーションの間で共有されることから、特殊目的グラフィック・メモリ720はメイン・メモリ706よりも安全であることに留意されたい。この実施形態では、グラフィック・プロセッサ712は、(そこからディスプレイ714をリフレッシュしている)フレーム・バッファを、それ自体のフレーム・バッファ707からグラフィック・プロセッサ716のフレーム・バッファ722に変更しなければならない。ディスプレイ714は常に同一のグラフィック・プロセッサによって駆動されるので、切り替えハードウェアが必要とされることはない。しかしながらグラフィック・プロセッサ712は、ユーザの目に見える移行を回避するために、適切な時間(例えば垂直帰線消去期間の間など)にフレーム・バッファ間の切り替えを行うようにプログラムされなければならない。
【0098】
グラフィック・ソース間のスムーズな切り替え
図8は、本発明の実施形態による、第1グラフィック・ソースから第2グラフィック・ソースへ切り替える過程を示す流れ図を表す。この過程の開始時に、(「GPU」とも呼ばれる)より低電力の内部グラフィック・プロセッサ712はメイン・メモリ706の中のフレーム・バッファ707にレンダリングを行っており、ディスプレイ714はフレーム・バッファ707からリフレッシュされている(ステップ802)。
【0099】
次に、このシステムは、より高い性能および/またはより高いセキュリティが必要とされるかどうかを判定する(ステップ804)。必要とされない場合、システムはステップ802へ戻る。
【0100】
一方システムが、より高い性能および/またはより高いセキュリティが必要とされると判定した場合、システムは外部の高電力グラフィック・プロセッサ716の電力を上げる(ステップ806)。次いで、外部高電力グラフィック・プロセッサ716は、グラフィック・メモリ720の中のフレーム・バッファ722に同じ画像をレンダリングする(ステップ808)。
【0101】
次に、このシステムは垂直帰線消去期間(VBI)を待つ(ステップ810)。この垂直帰線消去期間の間、内部低電力グラフィック・プロセッサ712はそのリフレッシュ・ポインタを、メイン・メモリ706の中のフレーム・バッファ707からグラフィック・メモリ720の中のフレーム・バッファ722に切り替える(ステップ812)。次に、内部低電力グラフィック・プロセッサ712は、そのリフレッシュ回路を除いて電力を落とす(ステップ814)。この時点で、切り替え過程は完了する。
【0102】
この切り替えはまた、別の方向で起こることも可能である。より具体的には、図9は本発明の実施形態による、第2グラフィック・ソースから第1グラフィック・ソースへ切り替える過程を示す流れ図を表す。この過程の開始時に、高電力内部グラフィック・プロセッサ716はグラフィック・メモリ720の中のフレーム・バッファ722にレンダリングを行っており、ディスプレイ714はフレーム・バッファ722からリフレッシュされている(ステップ902)。
【0103】
次に、このシステムは、より低い性能および/またはより低いセキュリティが必要とされるかどうかを判定する(ステップ904)。必要とされない場合、システムはステップ902へ戻る。
【0104】
一方システムが、より低い性能および/またはより低いセキュリティが必要とされると判定した場合、システムは内部低電力グラフィック・プロセッサ712の電力を上げる(ステップ906)。次いで、低電力グラフィック・プロセッサ712は、メイン・メモリ706の中のフレーム・バッファ707に同じ画像をレンダリングする(ステップ908)。次に、このシステムは垂直帰線消去期間を待つ(ステップ910)。この垂直帰線消去期間の間、内部低電力グラフィック・プロセッサ712はそのリフレッシュ・ポインタを、グラフィック・メモリ720の中のフレーム・バッファ722からメイン・メモリ706の中のフレーム・バッファ707に切り替える(ステップ912)。次に、高電力グラフィック・プロセッサ716は電力を落とす(ステップ914)。この時点で、切り替え過程は完了する。
【0105】
ソフトウェアが単にディスプレイをフェードアウトさせ、次いでフレーム・バッファの切り替えを行い、その後ディスプレイを再びフェードインすることもまた可能である(かつ、おそらくはずっと簡単である)ということに留意されたい。このことは、ソフトウェアが2つのグラフィック・ソースに、移行の間に同時に同じデータを2つのフレーム・バッファの中に書き込ませなくてもよいので、より簡単である。代わりに、このシステムは1つのソースをシャットダウンし、次いで別のソースを開始して、その後フレーム・バッファを切り替えることができる。
【0106】
別の実施形態
図10は本発明の実施形態による、内部ディスプレイおよび外部ディスプレイの両方を駆動するために異なるグラフィック・ソース間で切り替えを行うことができるコンピュータ・システム1000を示す。図10で、2つのグラフィック・プロセッサ(グラフィック・プロセッサ1010および組み込みグラフィック・プロセッサ1018)は、それぞれ独立して内部ディスプレイ1014および外部ディスプレイ1015を駆動することができるということに留意されたい。ディスプレイ1014をアクティブに駆動するグラフィック・ソースはマルチプレクサ1020によって判定され、ディスプレイ1015を駆動するグラフィック・ソースはマルチプレクサ1021によって判定される。マルチプレクサ1020および1021は、グラフィック・プロセッサ1010と組み込みグラフィック・プロセッサ1018との間で選択を行うことができる。
【0107】
グラフィック・プロセッサ1010からの出力ディスプレイ信号1022および組み込みグラフィック・プロセッサ1018からの出力ディスプレイ信号1024は、マルチプレクサ(MUX)1020の入力に結合されることに留意されたい。同様に、グラフィック・プロセッサ1010からの出力ディスプレイ信号1023および組み込みグラフィック・プロセッサ1018からの出力ディスプレイ信号1025は、MUX1021の入力に結合される。各グラフィック・プロセッサは、2つのディスプレイを駆動するために別々の出力ディスプレイ信号を有することに留意されたい(これは、2つのディスプレイが異なるディスプレイ信号プロトコルを使用することが可能であり、ピクセル解像度、色深度、色バランス等において一般に異なるためである)。
【0108】
MUX1020の出力はソース選択1026によって制御され、ソース選択1026は2つのグラフィック・ソースのうちのどちらが内部ディスプレイ1014を駆動するべきかを判定する。同様に、MUX1021の出力はソース選択1027よって制御され、ソース選択1027は2つのグラフィック・ソースのうちのどちらが外部ディスプレイ1015を駆動するのかを判定する。この実施形態では、ソース選択1026および1027はブリッジ・チップ1004の出力であり、ブリッジ・チップ1004は、ソース選択1026および1027を生成するための回路を含む。ソース選択1026および1027はまた、ブリッジ1004の外部に配置された論理ブロックによって作られることも可能であることに留意されたい。
【0109】
選択されたグラフィック・ソースからの出力ディスプレイ信号は、ディスプレイ1014およびディスプレイ1015の入力に結合される。選択デバイスはマルチプレクサとして示されているが、例えば単純なワイヤードOR論理回路など、任意のその他の種類の選択デバイスを含むこともできる。
【0110】
本発明の1つの実施形態では、グラフィック・プロセッサ1010は大量の電力を消費する高性能グラフィック処理装置(GPU)であり、一方組み込みグラフィック・プロセッサ1018はより少ない電力を消費する、より低性能のGPUである。この実施形態では、グラフィック処理負荷が軽い場合、システムはディスプレイ1014および1015を駆動するために、グラフィック・ソースをグラフィック・プロセッサ1010から組み込みグラフィック・プロセッサ1018に切り替え、続いてグラフィック・プロセッサ1010の電力を完全に落とし、それによって電力を節約する。一方、グラフィック処理負荷が再び高くなる場合、システムはグラフィック・ソースを組み込みグラフィック・プロセッサ1018からグラフィック・プロセッサ1010へ再び切り替える。
【0111】
以上の本発明の実施形態の説明は、単に例示および説明を目的として示されてきた。これらは網羅的であること、または本発明を開示された形式に限定することを目的としない。したがって、当業者には多くの修正形態および変形形態が容易に明らかとなろう。さらに、上の開示は本発明を限定することを目的としない。本発明の範囲は、添付の特許請求の範囲によって定義される。
【符号の説明】
【0112】
200 コンピュータ・システム;
210 グラフィック・プロセッサ; 219 組み込みグラフィック・プロセッサ;
214 ディスプレイ; 220 選択デバイス;
222、224 出力ディスプレイ信号。
【特許請求の範囲】
【請求項1】
ディスプレイをリフレッシュするために使用されるフレーム・バッファ間で切り替えを行うための方法であって、
第1メモリに配置された第1フレーム・バッファから前記ディスプレイをリフレッシュするステップと、
前記ディスプレイのためのフレーム・バッファの切り替えを求める要求を受け取るステップと、
前記要求に応答して、前記ディスプレイが第2メモリに配置された第2フレーム・バッファからリフレッシュされるように、前記ディスプレイへのデータ転送を再構成するステップと
を備える方法。
【請求項2】
前記第1メモリは、多数のアプリケーションによってアクセス可能であり、したがって安全ではないメイン・メモリであり、
前記第2メモリはメイン・メモリの外部に配置された安全なフレーム・バッファである請求項1に記載の方法。
【請求項3】
前記ディスプレイが前記第2フレーム・バッファからリフレッシュされるように前記ディスプレイを切り替えるステップは、
前記ディスプレイをリフレッシュするために使用されるデータを、前記データが前記安全ではないメイン・メモリを完全に回避するように転送するステップと、
前記データが前記第2フレーム・バッファに記憶される間、ならびに前記データが前記第2フレーム・バッファへ移行する間および前記データが前記第2フレーム・バッファから移行する間、前記データを暗号化するステップとをさらに伴う請求項2に記載の方法。
【請求項4】
前記フレーム・バッファの切り替えを求める要求を受け取るステップの前に、
前記ディスプレイに関連したデータのためのセキュリティ要件を判定するステップと、
前記判定されたセキュリティ要件に基づいて、前記フレーム・バッファの切り替えを求める要求を生成するステップとをさらに備える請求項1に記載の方法。
【請求項5】
前記フレーム・バッファの切り替えを求める要求を受け取るステップの前に、
前記ディスプレイのためのグラフィック処理負荷のレベルを監視するステップと、
前記グラフィック処理負荷のレベルに基づいて、前記切り替えを求める要求を生成するステップとをさらに備える請求項1に記載の方法。
【請求項6】
前記フレーム・バッファの切り替えを求める要求を受け取るステップの前に、
前記ディスプレイを含むコンピュータ・システム内の温度を測定するステップと、
前記測定された温度に基づいて、前記切り替えを求める要求を生成するステップとをさらに備える請求項1に記載の方法。
【請求項7】
前記ディスプレイが前記第2フレーム・バッファからリフレッシュされるように前記ディスプレイを切り替えるステップは、前記ディスプレイのためのレンダリング・オペレーションを実行するグラフィック処理装置(GPU)を切り替えるステップをさらに伴い、
前記GPUは、前記第1フレーム・バッファにレンダリングする低電力GPUと、前記第2フレーム・バッファにレンダリングする高電力GPUとの間で切り替えられる請求項1に記載の方法。
【請求項8】
前記低電力GPUから前記高電力GPUへ切り替える前に、前記低電力GPUの出力ディスプレイ信号と前記高電力GPUの出力ディスプレイ信号とを実質的に同期させ、それによって前記ディスプレイ上でグラフィック出力を中断させることのないシームレスな移行を促進するステップをさらに備える請求項7に記載の方法。
【請求項9】
前記出力ディスプレイ信号を実質的に同期させるステップは、1つまたは複数のフェーズ・ロック・ループ(PLL)を使用するステップを伴う請求項8に記載の方法。
【請求項10】
前記切り替えるステップは、前記ディスプレイのための帰線消去信号に関連した帰線消去期間の間に起こる請求項1に記載の方法。
【請求項11】
ディスプレイをリフレッシュするために使用されるフレーム・バッファ間で選択的に切り替えを行う装置であって、
第1メモリに配置された第1フレーム・バッファと、
第2メモリに配置された第2フレーム・バッファと、
前記第1フレーム・バッファまたは前記第2フレーム・バッファのいずれかから選択的に前記ディスプレイをリフレッシュするように構成された1つまたは複数のリフレッシュ回路と、
切り替えを求める要求を受け取ると、前記第1フレーム・バッファと前記第2フレーム・バッファとの間で前記ディスプレイのリフレッシュを切り替えるように構成された切り替えメカニズムと
を備える装置。
【請求項12】
前記第1メモリは、多数のアプリケーションによってアクセス可能であり、したがって安全ではないメイン・メモリであり、
前記第2メモリはメイン・メモリの外部に配置された安全なフレーム・バッファである請求項11に記載の装置。
【請求項13】
前記切り替え回路は、前記安全ではないメイン・メモリを完全に回避するように、前記ディスプレイをリフレッシュするために使用されるデータを導くように構成され、
前記装置は、前記データが前記第2フレーム・バッファに記憶される間、ならびに前記データが前記第2フレーム・バッファから移行する間および前記データが前記第2フレーム・バッファへ移行する間、前記データを暗号化するように構成された暗号化回路をさらに備える請求項12に記載の装置。
【請求項14】
前記切り替えメカニズムは、前記ディスプレイに関連したデータのためのセキュリティ要件を判定し、前記判定されたセキュリティ要件に基づいて、フレーム・バッファの切り替えを求める要求を生成するように構成された請求項11に記載の装置。
【請求項15】
前記切り替えメカニズムは、前記ディスプレイのためのグラフィック処理負荷のレベルを監視し、前記グラフィック処理負荷のレベルに基づいて、前記切り替えを求める要求を生成するように構成された請求項11に記載の装置。
【請求項16】
前記切り替えメカニズムは、前記ディスプレイを含むコンピュータ・システム内の温度を測定し、前記測定された温度に基づいて前記切り替えを求める要求を生成するように構成された請求項11に記載の装置。
【請求項17】
前記第1フレーム・バッファと前記第2フレーム・バッファとの間で切り替えを行う間、前記装置は前記ディスプレイのためのレンダリング・オペレーションを実行するグラフィック処理装置(GPU)を切り替えるよう構成され、
前記GPUは、前記第1フレーム・バッファにレンダリングする低電力GPUから前記第2フレーム・バッファにレンダリングする高電力GPUへ切り替えられる請求項11に記載の装置。
【請求項18】
前記低電力GPUから前記高電力GPUへ切り替える前に、前記切り替えメカニズムは、前記低電力GPUの出力ディスプレイ信号と前記高電力GPUの出力ディスプレイ信号とを実質的に同期させるように構成され、それによってグラフィック出力を中断させることのないシームレスな移行を促進する請求項17に記載の装置。
【請求項19】
前記出力ディスプレイ信号を実質的に同期させるステップは、1つまたは複数のフェーズ・ロック・ループ(PLL)を使用するステップを伴う請求項18に記載の装置。
【請求項20】
前記切り替えるステップは、前記ディスプレイのための帰線消去信号に関連した帰線消去期間の間に起こる請求項11に記載の装置。
【請求項21】
ディスプレイをリフレッシュするために使用されるフレーム・バッファ間で選択的に切り替えを行うコンピュータ・システムであって、
プロセッサと、
前記プロセッサに結合されたメイン・メモリと、
前記メイン・メモリに配置された第1フレーム・バッファと
第2メモリに配置された第2フレーム・バッファと、
前記第1フレーム・バッファまたは前記第2フレーム・バッファのいずれかから選択的に前記ディスプレイをリフレッシュするように構成された1つまたは複数のリフレッシュ回路と、
切り替えを求める要求を受け取ると、前記第1フレーム・バッファと前記第2フレーム・バッファとの間で前記ディスプレイのリフレッシュを切り替えるように構成された切り替えメカニズムとを備えるコンピュータ・システム。
【請求項22】
第1ディスプレイおよび/または第2ディスプレイを駆動するために、第1グラフィック・プロセッサと第2グラフィック・プロセッサとの間で切り替えを行うコンピュータ・システムであって、
プロセッサと、
メモリと、
前記第1グラフィック・プロセッサと、
前記第2グラフィック・プロセッサと、
前記第1ディスプレイと、
前記第2ディスプレイと、
前記第1グラフィック・プロセッサまたは前記第2グラフィック・プロセッサのいずれかを選択的に前記第1ディスプレイに結合する第1スイッチと、
前記第1グラフィック・プロセッサまたは前記第2グラフィック・プロセッサのいずれかを選択的に前記第2ディスプレイに結合する第2スイッチとを備えるコンピュータ・システム。
【請求項23】
前記第1グラフィック・プロセッサの出力ディスプレイ信号と前記第2グラフィック・プロセッサの出力ディスプレイ信号とを実質的に同期させるように構成された同期メカニズムをさらに備え、それによってグラフィック出力を中断させることのないシームレスな切り替え過程を促進する請求項22に記載のコンピュータ・システム。
【請求項24】
前記第1グラフィック・プロセッサは高電力グラフィック処理装置(GPU)であり、
前記第2グラフィック・プロセッサは低電力GPUである請求項22に記載のコンピュータ・システム。
【請求項25】
前記第1ディスプレイは前記コンピュータ・システムに組み込まれた内部ディスプレイであり、
前記第2ディスプレイは前記コンピュータ・システムに結合された外部ディスプレイである請求項22に記載のコンピュータ・システム。
【請求項1】
ディスプレイをリフレッシュするために使用されるフレーム・バッファ間で切り替えを行うための方法であって、
第1メモリに配置された第1フレーム・バッファから前記ディスプレイをリフレッシュするステップと、
前記ディスプレイのためのフレーム・バッファの切り替えを求める要求を受け取るステップと、
前記要求に応答して、前記ディスプレイが第2メモリに配置された第2フレーム・バッファからリフレッシュされるように、前記ディスプレイへのデータ転送を再構成するステップと
を備える方法。
【請求項2】
前記第1メモリは、多数のアプリケーションによってアクセス可能であり、したがって安全ではないメイン・メモリであり、
前記第2メモリはメイン・メモリの外部に配置された安全なフレーム・バッファである請求項1に記載の方法。
【請求項3】
前記ディスプレイが前記第2フレーム・バッファからリフレッシュされるように前記ディスプレイを切り替えるステップは、
前記ディスプレイをリフレッシュするために使用されるデータを、前記データが前記安全ではないメイン・メモリを完全に回避するように転送するステップと、
前記データが前記第2フレーム・バッファに記憶される間、ならびに前記データが前記第2フレーム・バッファへ移行する間および前記データが前記第2フレーム・バッファから移行する間、前記データを暗号化するステップとをさらに伴う請求項2に記載の方法。
【請求項4】
前記フレーム・バッファの切り替えを求める要求を受け取るステップの前に、
前記ディスプレイに関連したデータのためのセキュリティ要件を判定するステップと、
前記判定されたセキュリティ要件に基づいて、前記フレーム・バッファの切り替えを求める要求を生成するステップとをさらに備える請求項1に記載の方法。
【請求項5】
前記フレーム・バッファの切り替えを求める要求を受け取るステップの前に、
前記ディスプレイのためのグラフィック処理負荷のレベルを監視するステップと、
前記グラフィック処理負荷のレベルに基づいて、前記切り替えを求める要求を生成するステップとをさらに備える請求項1に記載の方法。
【請求項6】
前記フレーム・バッファの切り替えを求める要求を受け取るステップの前に、
前記ディスプレイを含むコンピュータ・システム内の温度を測定するステップと、
前記測定された温度に基づいて、前記切り替えを求める要求を生成するステップとをさらに備える請求項1に記載の方法。
【請求項7】
前記ディスプレイが前記第2フレーム・バッファからリフレッシュされるように前記ディスプレイを切り替えるステップは、前記ディスプレイのためのレンダリング・オペレーションを実行するグラフィック処理装置(GPU)を切り替えるステップをさらに伴い、
前記GPUは、前記第1フレーム・バッファにレンダリングする低電力GPUと、前記第2フレーム・バッファにレンダリングする高電力GPUとの間で切り替えられる請求項1に記載の方法。
【請求項8】
前記低電力GPUから前記高電力GPUへ切り替える前に、前記低電力GPUの出力ディスプレイ信号と前記高電力GPUの出力ディスプレイ信号とを実質的に同期させ、それによって前記ディスプレイ上でグラフィック出力を中断させることのないシームレスな移行を促進するステップをさらに備える請求項7に記載の方法。
【請求項9】
前記出力ディスプレイ信号を実質的に同期させるステップは、1つまたは複数のフェーズ・ロック・ループ(PLL)を使用するステップを伴う請求項8に記載の方法。
【請求項10】
前記切り替えるステップは、前記ディスプレイのための帰線消去信号に関連した帰線消去期間の間に起こる請求項1に記載の方法。
【請求項11】
ディスプレイをリフレッシュするために使用されるフレーム・バッファ間で選択的に切り替えを行う装置であって、
第1メモリに配置された第1フレーム・バッファと、
第2メモリに配置された第2フレーム・バッファと、
前記第1フレーム・バッファまたは前記第2フレーム・バッファのいずれかから選択的に前記ディスプレイをリフレッシュするように構成された1つまたは複数のリフレッシュ回路と、
切り替えを求める要求を受け取ると、前記第1フレーム・バッファと前記第2フレーム・バッファとの間で前記ディスプレイのリフレッシュを切り替えるように構成された切り替えメカニズムと
を備える装置。
【請求項12】
前記第1メモリは、多数のアプリケーションによってアクセス可能であり、したがって安全ではないメイン・メモリであり、
前記第2メモリはメイン・メモリの外部に配置された安全なフレーム・バッファである請求項11に記載の装置。
【請求項13】
前記切り替え回路は、前記安全ではないメイン・メモリを完全に回避するように、前記ディスプレイをリフレッシュするために使用されるデータを導くように構成され、
前記装置は、前記データが前記第2フレーム・バッファに記憶される間、ならびに前記データが前記第2フレーム・バッファから移行する間および前記データが前記第2フレーム・バッファへ移行する間、前記データを暗号化するように構成された暗号化回路をさらに備える請求項12に記載の装置。
【請求項14】
前記切り替えメカニズムは、前記ディスプレイに関連したデータのためのセキュリティ要件を判定し、前記判定されたセキュリティ要件に基づいて、フレーム・バッファの切り替えを求める要求を生成するように構成された請求項11に記載の装置。
【請求項15】
前記切り替えメカニズムは、前記ディスプレイのためのグラフィック処理負荷のレベルを監視し、前記グラフィック処理負荷のレベルに基づいて、前記切り替えを求める要求を生成するように構成された請求項11に記載の装置。
【請求項16】
前記切り替えメカニズムは、前記ディスプレイを含むコンピュータ・システム内の温度を測定し、前記測定された温度に基づいて前記切り替えを求める要求を生成するように構成された請求項11に記載の装置。
【請求項17】
前記第1フレーム・バッファと前記第2フレーム・バッファとの間で切り替えを行う間、前記装置は前記ディスプレイのためのレンダリング・オペレーションを実行するグラフィック処理装置(GPU)を切り替えるよう構成され、
前記GPUは、前記第1フレーム・バッファにレンダリングする低電力GPUから前記第2フレーム・バッファにレンダリングする高電力GPUへ切り替えられる請求項11に記載の装置。
【請求項18】
前記低電力GPUから前記高電力GPUへ切り替える前に、前記切り替えメカニズムは、前記低電力GPUの出力ディスプレイ信号と前記高電力GPUの出力ディスプレイ信号とを実質的に同期させるように構成され、それによってグラフィック出力を中断させることのないシームレスな移行を促進する請求項17に記載の装置。
【請求項19】
前記出力ディスプレイ信号を実質的に同期させるステップは、1つまたは複数のフェーズ・ロック・ループ(PLL)を使用するステップを伴う請求項18に記載の装置。
【請求項20】
前記切り替えるステップは、前記ディスプレイのための帰線消去信号に関連した帰線消去期間の間に起こる請求項11に記載の装置。
【請求項21】
ディスプレイをリフレッシュするために使用されるフレーム・バッファ間で選択的に切り替えを行うコンピュータ・システムであって、
プロセッサと、
前記プロセッサに結合されたメイン・メモリと、
前記メイン・メモリに配置された第1フレーム・バッファと
第2メモリに配置された第2フレーム・バッファと、
前記第1フレーム・バッファまたは前記第2フレーム・バッファのいずれかから選択的に前記ディスプレイをリフレッシュするように構成された1つまたは複数のリフレッシュ回路と、
切り替えを求める要求を受け取ると、前記第1フレーム・バッファと前記第2フレーム・バッファとの間で前記ディスプレイのリフレッシュを切り替えるように構成された切り替えメカニズムとを備えるコンピュータ・システム。
【請求項22】
第1ディスプレイおよび/または第2ディスプレイを駆動するために、第1グラフィック・プロセッサと第2グラフィック・プロセッサとの間で切り替えを行うコンピュータ・システムであって、
プロセッサと、
メモリと、
前記第1グラフィック・プロセッサと、
前記第2グラフィック・プロセッサと、
前記第1ディスプレイと、
前記第2ディスプレイと、
前記第1グラフィック・プロセッサまたは前記第2グラフィック・プロセッサのいずれかを選択的に前記第1ディスプレイに結合する第1スイッチと、
前記第1グラフィック・プロセッサまたは前記第2グラフィック・プロセッサのいずれかを選択的に前記第2ディスプレイに結合する第2スイッチとを備えるコンピュータ・システム。
【請求項23】
前記第1グラフィック・プロセッサの出力ディスプレイ信号と前記第2グラフィック・プロセッサの出力ディスプレイ信号とを実質的に同期させるように構成された同期メカニズムをさらに備え、それによってグラフィック出力を中断させることのないシームレスな切り替え過程を促進する請求項22に記載のコンピュータ・システム。
【請求項24】
前記第1グラフィック・プロセッサは高電力グラフィック処理装置(GPU)であり、
前記第2グラフィック・プロセッサは低電力GPUである請求項22に記載のコンピュータ・システム。
【請求項25】
前記第1ディスプレイは前記コンピュータ・システムに組み込まれた内部ディスプレイであり、
前記第2ディスプレイは前記コンピュータ・システムに結合された外部ディスプレイである請求項22に記載のコンピュータ・システム。
【図1】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6A】
【図6B】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6A】
【図6B】
【図7】
【図8】
【図9】
【図10】
【公表番号】特表2010−540988(P2010−540988A)
【公表日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願番号】特願2010−525865(P2010−525865)
【出願日】平成20年8月12日(2008.8.12)
【国際出願番号】PCT/US2008/072911
【国際公開番号】WO2009/038902
【国際公開日】平成21年3月26日(2009.3.26)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
【公表日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願日】平成20年8月12日(2008.8.12)
【国際出願番号】PCT/US2008/072911
【国際公開番号】WO2009/038902
【国際公開日】平成21年3月26日(2009.3.26)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
[ Back to top ]