(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-01
(54)【発明の名称】電力消費を改善するためのディスプレイのための拡張されたアイドル持続時間のための技術
(51)【国際特許分類】
G06F 1/3287 20190101AFI20240725BHJP
G06F 1/3218 20190101ALI20240725BHJP
G06F 12/00 20060101ALI20240725BHJP
G06F 9/50 20060101ALI20240725BHJP
【FI】
G06F1/3287
G06F1/3218
G06F12/00 560B
G06F12/00 550E
G06F9/50 120Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024503366
(86)(22)【出願日】2022-07-13
(85)【翻訳文提出日】2024-02-20
(86)【国際出願番号】 US2022037027
(87)【国際公開番号】W WO2023009320
(87)【国際公開日】2023-02-02
(32)【優先日】2021-07-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(71)【出願人】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】アレクサンダー ジェイ. ブラノーバー
(72)【発明者】
【氏名】クリストファー ティー. ウィーバー
(72)【発明者】
【氏名】ベンジャミン チェン
(72)【発明者】
【氏名】インドラニ ポール
(72)【発明者】
【氏名】シャイルシュバイ ミヒル ドクター
(72)【発明者】
【氏名】トーマス ジェイ. ギブニー
(72)【発明者】
【氏名】ジョン ピー. ペトリー
(72)【発明者】
【氏名】デニス オウ
(72)【発明者】
【氏名】オズウィン ホール
【テーマコード(参考)】
5B011
5B160
【Fターム(参考)】
5B011DA06
5B011EA02
5B011EB01
5B011EB07
5B011EB09
5B011LL11
5B160CB01
(57)【要約】
開示される技術は、第1のディスプレイパイプに関連付けられた第1のバッファ内のデータを、第1のディスプレイパイプに関連付けられた第1のディスプレイに送信することと、第2のディスプレイパイプに関連付けられた第2のバッファ内のデータを、第1のディスプレイに送信することと、メモリのウェイクアップを要求することと、第1のバッファ及び第2のバッファのうち一方又は両方をメモリから再充填することと、を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
第1のディスプレイパイプに関連付けられた第1のバッファ内のデータを、前記第1のディスプレイパイプに関連付けられた第1のディスプレイに送信することと、
第2のディスプレイパイプに関連付けられた第2のバッファ内のデータを、前記第1のディスプレイに送信することと、
メモリのウェイクアップを要求することと、
前記第1のバッファ及び前記第2のバッファのうち一方又は両方を前記メモリから再充填することと、を含む、
方法。
【請求項2】
前記第1のバッファ及び前記第2のバッファのうち一方又は両方を再充填した後に、前記メモリの電源が切断されるのを要求することを含む、
請求項1の方法。
【請求項3】
前記メモリのウェイクアップを要求することに加えて、データファブリックをウェイクアップさせることを含む、
請求項1の方法。
【請求項4】
前記第1のバッファ及び前記第2のバッファのうち一方又は両方を再充填した後に、前記データファブリックの電源が切断されるのを要求することを含む、
請求項3の方法。
【請求項5】
前記メモリのウェイクアップを要求することは、前記第1のバッファ又は前記第2のバッファのうち一方又は両方における画素データの量が閾値未満であることに応じて行われる、
請求項1の方法。
【請求項6】
動作をデュアルパイプ動作モードに切り替えることを含み、
前記デュアルパイプ動作モードは、
前記第1のディスプレイパイプを介して、前記第1のバッファから前記第1のディスプレイにデータを送信することと、
前記第2のディスプレイパイプを介して、前記第2のバッファから第2のディスプレイにデータを送信することと、を含む、
請求項1の方法。
【請求項7】
前記デュアルパイプ動作モードにおいて、各ディスプレイパイプが、それぞれのバッファから関連付けられたディスプレイにデータを送信するモードで動作することを含む、
請求項6の方法。
【請求項8】
前記第2のディスプレイの接続又は有効化を検出したことに応じて、前記デュアルパイプ動作モードに移行することを含む、
請求項6の方法。
【請求項9】
前記第1のディスプレイパイプが前記第1のバッファ及び前記第2のバッファから前記第1のディスプレイにデータを送信する単一ディスプレイモードに移行することを含む、
請求項8の方法。
【請求項10】
ディスプレイシステムであって、
ディスプレイコントローラと、
前記ディスプレイコントローラの第1のディスプレイパイプであって、第1のバッファを含む第1のディスプレイパイプと、
前記ディスプレイコントローラの第2のディスプレイパイプであって、第2のバッファを含む第2のディスプレイパイプと、を備え、
前記ディスプレイコントローラは、
前記第1のバッファ内のデータを、前記第1のディスプレイパイプに関連付けられた第1のディスプレイに送信することと、
前記第2のバッファ内のデータを、前記第1のディスプレイに送信することと、
メモリのウェイクアップを要求することと、
前記第1のバッファ及び前記第2のバッファのうち一方又は両方を前記メモリから再充填することと、
を行うように構成されている、
ディスプレイシステム。
【請求項11】
前記ディスプレイコントローラは、
前記第1のバッファ及び前記第2のバッファのうち一方又は両方を再充填した後に、前記メモリの電源が切断されるのを要求するように構成されている、
請求項10のディスプレイシステム。
【請求項12】
前記ディスプレイコントローラは、
前記メモリのウェイクアップを要求することに加えて、データファブリックをウェイクアップさせるように構成されている、
請求項10のディスプレイシステム。
【請求項13】
前記ディスプレイコントローラは、
前記第1のバッファ及び前記第2のバッファのうち一方又は両方を再充填した後に、前記データファブリックの電源が切断されるのを要求するように構成されている、
請求項12のディスプレイシステム。
【請求項14】
前記メモリのウェイクアップを要求することは、前記第1のバッファ又は前記第2のバッファのうち一方又は両方における画素データの量が閾値未満であることに応じて行われる、
請求項10のディスプレイシステム。
【請求項15】
前記ディスプレイコントローラは、
動作をデュアルパイプ動作モードに切り替えるように構成されており、
前記デュアルパイプ動作モードは、
前記第1のディスプレイパイプを介して、前記第1のバッファから前記第1のディスプレイにデータを送信することと、
前記第2のディスプレイパイプを介して、前記第2のバッファから第2のディスプレイにデータを送信することと、を含む、
請求項10のディスプレイシステム。
【請求項16】
前記ディスプレイコントローラは、
前記デュアルパイプ動作モードにおいて、各ディスプレイパイプが、それぞれのバッファから関連付けられたディスプレイにデータを送信するモードで動作するように構成されている、
請求項15のディスプレイシステム。
【請求項17】
前記ディスプレイコントローラは、
前記第2のディスプレイの接続又は有効化を検出したことに応じて、前記デュアルパイプ動作モードに移行するように構成されている、
請求項15のディスプレイシステム。
【請求項18】
前記ディスプレイコントローラは、
前記第1のディスプレイパイプが前記第1のバッファ及び前記第2のバッファから前記第1のディスプレイにデータを送信する単一ディスプレイモードに移行するように構成されている、
請求項17のディスプレイシステム。
【請求項19】
ディスプレイシステムであって、
第1のディスプレイと、
ディスプレイコントローラと、
前記ディスプレイコントローラの第1のディスプレイパイプであって、第1のバッファを含む第1のディスプレイパイプと、
前記ディスプレイコントローラの第2のディスプレイパイプであって、第2のバッファを含む第2のディスプレイパイプと、を備え、
前記ディスプレイコントローラは、
前記第1のバッファ内のデータを、前記第1のディスプレイパイプに関連付けられた前記第1のディスプレイに送信することと、
前記第2のバッファ内のデータを、前記第1のディスプレイに送信することと、
メモリのウェイクアップを要求することと、
前記第1のバッファ及び前記第2のバッファのうち一方又は両方を前記メモリから再充填することと、
を行うように構成されている、
ディスプレイシステム。
【請求項20】
前記ディスプレイコントローラは、
前記第1のバッファ及び前記第2のバッファのうち一方又は両方を再充填した後に、前記メモリの電源が切断されるのを要求するように構成されている、
請求項19のディスプレイシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2021年7月30日に出願された米国特許出願第17/390,479号の利益を主張するものであり、その内容は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
コンピューティングハードウェアは、大量の電力を消費する。この電力を供給するためのバッテリに依存するモバイルデバイスは、動作持続時間の増加に関して電力低減から利益を得る。したがって、電力消費の問題は、コンピューティングハードウェアの改善のための永続的な領域である。
【0003】
添付の図面と共に例として与えられる以下の説明から、より詳細な理解を得ることができる。
【図面の簡単な説明】
【0004】
【
図1】本開示の1つ以上の特徴を実装することができる例示的なデバイスのブロック図である。
【
図2】
図1のデバイスの例示的な実施形態であるデバイスを示す図である。
【
図3】追加の詳細を例示するディスプレイコントローラのブロック図である。
【
図4】一例による、拡張バッファモードで動作するディスプレイコントローラ206を示するブロック図である。
【
図5】一例による、ディスプレイコントローラを動作させるための方法のフロー図である。
【発明を実施するための形態】
【0005】
開示される技術は、第1のディスプレイパイプ(display pipe)に関連付けられた第1のバッファ内のデータを、第1のディスプレイパイプに関連付けられた第1のディスプレイに送信することと、第2のディスプレイパイプに関連付けられた第2のバッファ内のデータを第1のディスプレイに送信することと、第1のディスプレイパイプ及び第2のディスプレイパイプの外部にある外部メモリのウェイクアップを要求することと、外部メモリから第1のバッファ及び第2のバッファの一方又は両方を再充填(refilling)することと、を含む。
【0006】
図1は、本開示の1つ以上の特徴を実装することができる例示的なデバイス100のブロック図である。デバイス100は、例えば、コンピュータ、ゲームデバイス、ハンドヘルドデバイス、セットトップボックス、テレビ、携帯電話、サーバ、タブレットコンピュータ、又は、他のタイプのコンピューティングデバイスを含み得る。デバイス100は、プロセッサ102、メモリ104、記憶装置106、1つ以上の入力デバイス108、及び、1つ以上の出力デバイス110を含む。また、デバイス100は、オプションで、入力ドライバ112及び出力ドライバ114を含み得る。デバイス100は、
図1に示されていない追加の構成要素を含み得ることを理解されたい。
【0007】
様々な代替例では、プロセッサ102は、中央処理ユニット(central processing unit、CPU)、グラフィックス処理ユニット(graphics processing unit、GPU)、同じダイ上に位置するCPU及びGPU、又は、1つ以上のプロセッサコアを含み、各プロセッサコアは、CPU又はGPUであってもよい。様々な代替例では、メモリ104は、プロセッサ102と同じダイ上に位置するか、又は、プロセッサ102とは別に位置する。メモリ104は、揮発性又は不揮発性メモリ(例えば、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックRAM、キャッシュ)を含む。
【0008】
記憶装置106は、固定又はリムーバブル記憶装置(例えば、ハードディスクドライブ、ソリッドステートドライブ、光ディスク、フラッシュドライブ)を含む。入力デバイス108は、キーボード、キーパッド、タッチスクリーン、タッチパッド、検出器、マイクロフォン、加速度計、ジャイロスコープ、生体認証スキャナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。出力デバイス110は、ディスプレイ、スピーカ、プリンタ、触覚フィードバックデバイス、1つ以上の光、アンテナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/又は受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。
【0009】
入力ドライバ112は、プロセッサ102及び入力デバイス108と通信し、プロセッサ102が入力デバイス108から入力を受信することを許可する。出力ドライバ114は、プロセッサ102及び出力デバイス110と通信し、プロセッサ102が出力デバイス110に出力を送信することを許可する。入力ドライバ112及び出力ドライバ114は、オプションの構成要素であること、並びに、デバイス100は、入力ドライバ112及び出力ドライバ114が存在しない場合に、同じ方式で動作することに留意されたい。
【0010】
図2は、
図1のデバイス100の例示的な実施形態であるデバイス200を示している。デバイス200は、メモリ202(いくつかの実施形態では、
図1のメモリ104である)と、データファブリック204と、ディスプレイコントローラ206と、電力状態コントローラ208と、を含む。また、デバイス200は、1つ以上の実行パイプライン、キャッシュメモリ、入力/出力システム又は他の構成要素等の追加ロジック212を含む。
【0011】
メモリ202は、メインメモリ(例えば、メモリ104)又は他のメモリ等の1つ以上のメモリデバイスを含む。データファブリック204は、メモリ202とディスプレイコントローラ206との間等のように、デバイス200の様々な要素間でデータを転送する回路のセットである。ディスプレイコントローラ206は、画素色値等の表示データをフェッチし、そのデータをディスプレイ210に提供する。ディスプレイ210は、ディスプレイコントローラ206によって提供された画素色値を表示し、その色値に従って指定された色を放出するようにディスプレイ回路を制御する。画像を表示するために、ディスプレイ210は、一連のフレームを表示する。ディスプレイコントローラ206は、個々のフレームが表示されるのに十分な画素データを提供する。いくつかの動作モードでは、ディスプレイコントローラ206は、各フレームの全ての画素に関する画素情報をディスプレイ210に提供し、ディスプレイ210は、対応する画素を表示する。他の動作モードでは、ディスプレイ210は、ディスプレイ210がフレームの内容を1回以上繰り返し、ディスプレイコントローラ206からディスプレイ210へのデータ転送の必要性を低減するセルフリフレッシュ機能を実行することが可能である。
【0012】
電力状態コントローラ208は、デバイス200の1つ以上の部分の電力状態を制御することが可能である。デバイス200の異なる部分は、個別に異なる電力状態に設定されることが可能である。電力状態は、デバイス200の一部分が電源オン又は電源オフされる程度の定義を含む。いくつかの例では、デバイス200の一部分は、デバイス200が何れの電力状態にあるかに応じて異なる能力を有する。一例では、ディスプレイコントローラ206は、ディスプレイコントローラ206が、画素データをディスプレイ210に送信することが可能な第1の電力状態にすることが可能であり、ディスプレイコントローラ206は、ディスプレイコントローラ206が、画素データをディスプレイ210に送信することが不可能な第2の電力状態にすることができる。異なる電力状態における異なる能力は、電力消費に対する能力をトレードする。具体的には、デバイス200の一部分の1つ以上の構成要素をオフに切り替えることによって、その構成要素に関連付けられた能力が無効化されるが、その構成要素によって通常使用される電力が消費されない。
【0013】
また、データファブリック204及びメモリ202は、電源投入状態又は電源切断状態に電力供給されることが可能である。電源投入状態では、メモリ202は、読み取り又は書込み動作に応答すること、読み取り要求に応じてその中に記憶されたデータを要求元に送信すること、及び/又は、書込み要求に応じてデータをメモリに記憶すること、が可能である。電源切断状態では、メモリ202は、そのような要求に応答することが不可能である。電源投入状態では、データファブリック204は、データファブリック204のエンドポイント(メモリ202及びディスプレイコントローラ206等)間でデータを送信することが可能である。電源切断状態では、データファブリック204は、そのようなデータを送信することが不可能である。デバイス200の異なる部分が異なる電力状態に独立して切り替え可能であることは、任意のそのような部分が、特定の電力状態(例えば、電源投入)にあることが可能である一方で、別のそのような部分は、異なる電力状態(例えば、電源切断)にあることが可能であることを意味する。したがって、例えば、データファブリック204及び/又はメモリ202が電源切断されている間に、電力状態コントローラ208が電源投入されることが可能である。データファブリック204及び/又はメモリ202が電源投入されるか電源切断されるかに関係なく、ディスプレイコントローラ206が、電源投入又は電源切断されることも可能である。
【0014】
電力状態コントローラは、デバイス200の異なる部分の電力状態を制御する。概して、電力状態コントローラ208は、デバイス200内のハードウェアユニット又はオペレーティングシステム若しくはドライバ等のプロセッサ上で実行されるソフトウェアモジュール等の様々な場所からの入力に従って、これらの電力状態を制御する。いくつかの例では、デバイス200が十分にアイドル状態である(例えば、ユーザ入力が最近受信されておらず、中央処理装置が電源切断されている)場合、電力状態コントローラ208は、デバイス200を、本明細書で「ディスプレイスタッタ(display stutter)」電力モードと称する電力モードにする。ディスプレイスタッタ電力モードでは、ディスプレイコントローラ206、メモリ202及びデータファブリック204は、低電力状態になる。追加ロジック212の1つ以上の部分も、オプションで低電力状態になる。電力状態コントローラ208は、本明細書で更に詳細に説明されるように、ディスプレイコントローラ206、メモリ202及びデータファブリック204を、それらの構成要素が必要とされる状況において電源投入する。
【0015】
ここで、ディスプレイスタッタ電力モードのための例示的な動作シーケンスについて説明する。シーケンスは、ディスプレイコントローラ206が電源投入され、データファブリック204及びメモリ202が電源切断された状態で開始する。ディスプレイコントローラ206は、ディスプレイ210に送信するための画素データを記憶するバッファ214を含む。ディスプレイコントローラ206は、バッファ214内のデータの量が閾値未満になるまで、このデータをディスプレイ210に送信し続ける。いくつかの例では、閾値は、バッファ214を再充填するためにメモリ202及びデータファブリック204を電源投入する際の待ち時間を考慮するデータの量である。バッファ214内のデータ量が閾値を下回ると、ディスプレイコントローラ206は、(例えば、電力状態コントローラ208を介して)データファブリック204及びメモリ202に電源投入することを要求する。これに応じて、データファブリック204及びメモリ202が電源投入される。ディスプレイコントローラ206は、メモリ202から画素データをフェッチし、その画素データをバッファ214に入れる。バッファ214内の画素データの量が閾値を上回った後(例えば、バッファ214が満杯であるか又は何らかの他の高い値にある場合)、ディスプレイコントローラ206は、メモリ202及びデータファブリック204が、もはや電源投入される必要がないことを電力状態コントローラ208に通知し、電力状態コントローラ208は、それに応じてそれらの要素を電源切断する。ディスプレイコントローラ206は、ディスプレイ210がフレームを表示し続けることができるように、画素データをディスプレイ210に送信し続ける。要するに、スタッタモードは、ディスプレイコントローラ206がディスプレイ210に表示データを送信し、データファブリック204及びメモリ202の電源を必要な場合にオンにし、必要でない場合にオフにするモードである。
【0016】
いくつかの例では、「スタッタ周波数」(データファブリック204及びメモリ202が電源投入及び電源切断されるレート)は、ディスプレイリフレッシュレート(フレームがディスプレイ210上に表示される周波数)に対して速い。一例では、バッファ214は、少数の表示ラインを記憶することが可能であり、したがって、フレーム毎に数回再充填されなければならない。
【0017】
図3は、追加の詳細を示すディスプレイコントローラ206のブロック図である。ディスプレイコントローラ206は、複数のディスプレイパイプ302を含む。各ディスプレイパイプ302は、画面データ転送ロジック304及びバッファ306を含むが、これらに限定されない。画面データ転送ロジック304は、バッファ306から関連付けられたディスプレイ210にデータを転送する。バッファ306は、画面データ転送ロジック304がディスプレイ210に送信するための画素データを記憶する。いくつかの例では、各ディスプレイパイプ302は、本明細書の他の場所で説明されるような「スタッタモード」で動作することが可能であり、デバイス200の大部分が電源切断され、ディスプレイパイプ302は、バッファ306を補充するために必要に応じてデータファブリック204及びメモリ202をウェイクさせる。
【0018】
各ディスプレイパイプ302は、異なるディスプレイ210がデバイス200に接続されると、そのようなディスプレイ210に画素データを送信するように構成されている。一例では、オペレーティングシステムは、4つのディスプレイ210にわたってデスクトップを広げるようにセットアップされる。各ディスプレイパイプ302は、そのディスプレイ210に適したデスクトップの部分の画素データを提供する。この動作モードでは、ディスプレイパイプ302が同時に動作し、各々が適切な表示期間中に関連付けられたディスプレイ210にデータを送信する。
【0019】
図4は、一例による、拡張バッファモードで動作するディスプレイコントローラ206を示すブロック図である。拡張バッファモードでは、1つ以上のディスプレイパイプ302は、画素データをディスプレイ210に提供していない。様々な例では、そのようなディスプレイパイプ302のためのディスプレイ210が存在しないか、又は、ディスプレイ210が存在するが、ソフトウェア又はハードウェアの何れかによって無効化されている。
【0020】
1つ以上のディスプレイパイプ302がアクティブではないので、それらのディスプレイパイプ302に関連付けられた画面データ転送ロジック304は、それらのディスプレイパイプ302に関連付けられたディスプレイ210への送信のための画素データを送信していない。したがって、それらのディスプレイパイプ302のバッファ306は、データをディスプレイ210にアクティブに送信しているディスプレイパイプ302による使用のために利用可能である。このため、1つ以上のディスプレイパイプ302が非アクティブである動作モードでは、アクティブであるディスプレイパイプ302は、2つ以上のディスプレイパイプ302からのバッファ306を使用してディスプレイ210のために働く。
【0021】
より具体的には、この動作モードでは、アクティブなディスプレイパイプは、メモリ202からデータファブリック204を介して、そのディスプレイパイプ302に関連付けられたバッファ306に、また、非アクティブである(その異なるディスプレイパイプ302に関連付けられたディスプレイ210に画素データを送信していない)異なるディスプレイパイプ302に関連付けられる少なくとも1つのバッファ306に、データをフェッチする。アクティブなディスプレイパイプ302は、そのディスプレイパイプ302に関連付けられたバッファ306及び非アクティブなディスプレイパイプ302に関連付けられたバッファの両方からのデータをディスプレイ210に送信する。バッファ306内のデータ量が閾値未満であることに応じて、アクティブなディスプレイパイプ302は、メモリ202及びデータファブリック204から追加の画素データをフェッチし、その画素データをバッファ306内に記憶する。
【0022】
デバイス200の大部分が電源切断され、且つ、1つ以上のディスプレイパイプ302が非アクティブである場合等のいくつかの状況では、スタッタ技術は、1つのディスプレイパイプ302が複数のバッファ306を使用する技術と共に使用される。このようなシナリオでは、アクティブなディスプレイパイプ302は、以下のように動作する。メモリ202及びデータファブリック204が電源切断されている期間中、ディスプレイパイプ302は、そのディスプレイパイプ302に関連付けられたバッファ306及び非アクティブなディスプレイパイプ302に関連付けられたバッファ306の両方からディスプレイ210にデータを送信する。これらのバッファ306内のデータ量が閾値未満であることをアクティブなディスプレイパイプ302が検出したことに応じて、アクティブなディスプレイパイプ302は、メモリ202から追加のデータをフェッチするための一連の動作を開始する。
【0023】
いくつかの例では、これらのバッファ306内のデータの量が閾値未満であることを検出することは、バッファ306のうち少なくとも1つ内のデータの量が閾値未満であると決定することを含む。言い換えれば、いくつかの例では、閾値は、バッファ毎の閾値である。他の例では、これらのバッファ306内のデータの量が閾値未満であることを検出することは、アクティブなディスプレイパイプ302が画素データをディスプレイ210に送信するために使用している全てのバッファ306内のデータの総量が閾値未満であると決定することを含む。言い換えれば、いくつかの例では、閾値は、バッファ毎の閾値ではなく、総閾値である。
【0024】
メモリ202から追加のデータをフェッチするための動作のシーケンスは、メモリ202及びデータファブリック204がウェイクアップすることを要求するアクティブなディスプレイパイプ302を含む。いくつかの例では、アクティブなディスプレイパイプ302は、メモリ202及びデータファブリック204を電源投入することを電力状態コントローラ208に要求する。これらの要求に応じて、メモリ202及びデータファブリック204が電源投入され、メモリ202及びデータファブリック204がアクティブなディスプレイパイプ302からの読み取り要求のために働くことができない低電力状態から、メモリ202及びデータファブリック204がアクティブなディスプレイパイプ302からの読み取り要求のために働くことができる高電力状態に変化する。
【0025】
メモリ202及びデータファブリック204がウェイクアップされると、アクティブなディスプレイパイプ302は、メモリ202から追加のデータを読み取り、必要に応じて、その追加のデータを1つ以上のバッファ306に入れる。1つ以上のバッファ306が十分に満杯であると考えられる場合、アクティブなディスプレイパイプ302は、アクティブなディスプレイパイプ302の目的のためにメモリ202及びデータファブリック204がもはや電源オンされる必要がないことを電力状態コントローラ208に通知する。これに応じて、電力状態コントローラ208は、メモリ202及びデータファブリック204を、これらの要素が、他の目的のために電源投入される必要がない場合に電源切断する。メモリ202及びデータファブリック204が、アクティブなディスプレイパイプ302以外の目的のために必要とされる場合、電力状態コントローラ208は、それらの要素を電源切断しない。アクティブなディスプレイパイプ302は、上記のアクティビティ中、1つ以上のバッファ306から画素データを読み取り続け、そのデータをディスプレイ210に送信し続ける。
【0026】
いくつかの例では、デバイス200は、1つ以上のディスプレイ210にデータを送信する際に、ディスプレイパイプ302が1つのバッファ306(すなわち、そのディスプレイパイプ302に関連付けられたバッファ306)のみにアクセスするモードと、ディスプレイパイプ302が複数のバッファ306にアクセスするモードと、の間で切り替わる。いくつかのそのような例では、デバイス200は、各ディスプレイパイプ302が異なるディスプレイ210に結合され、且つ、結合されたディスプレイに画素データをアクティブに送信しているモードで動作している。その後、1つ以上のディスプレイ210は、例えば、切断又は電源切断されることに起因して、ディスプレイパイプ302からのデータを必要とすることを停止する。1つ以上のディスプレイ210がもはやデータを必要としないことに応じて、画素データを依然として必要とするディスプレイ210に結合された何れかのディスプレイパイプ302は、関連付けられたディスプレイ210にデータを送信するために少なくとも1つの追加バッファ306を利用し始める。例えば、第1のディスプレイパイプ302に結合された第1のディスプレイ210が電源切断されるか又はデバイス200から切断されることに応じて、その第1のディスプレイ210に画素データを提供する第1のディスプレイパイプ302は、その第1のディスプレイ210に画素データを提供することを停止する。第2のディスプレイ210に依然として結合され、且つ、画素データを第2のディスプレイ210に提供する第2のディスプレイパイプ302は、第2のディスプレイパイプ302のバッファ306に加えて、第1のディスプレイパイプ302のバッファ306を利用して、画素データを第2のディスプレイ210に提供する。いくつかの例では、第1のディスプレイパイプ302が再び画素データを第1のディスプレイ210に提供し始めた後、第2のディスプレイパイプ302は、データを第2のディスプレイ210に提供するために第2のディスプレイパイプ302のバッファ306をもはや使用しない。
【0027】
いくつかの動作モードでは、デバイス200は、2つ以上のディスプレイ210を動作させていない。そのような状況では、デバイスは、バッファ306があるディスプレイパイプ302によって使用されるモードと、バッファ306が異なるディスプレイパイプ302によって使用されるモードと、の間で交替しない。しかしながら、そのような状況では、ディスプレイコントローラ206は、複数のディスプレイパイプ302のためのバッファ214を含む。そのような各ディスプレイパイプ302は、個々のディスプレイ210にデータを送信することが可能であるが、そのようなディスプレイパイプ302のうち何れかのみがアクティブである。そのような状況では、そのディスプレイパイプ302は、画素データをディスプレイ210に送信するために、ディスプレイパイプの各々のバッファ214を使用する。いくつかの動作モードでは、複数のディスプレイ210がデバイス200に結合され、アクティブであり、したがって、いくつかのディスプレイパイプ302は、それらのディスプレイ210にデータをアクティブに提供している。しかしながら、アクティブでありデバイス200に結合されたディスプレイ210の数が、デバイス200によってサポートされるディスプレイ210の数よりも少ないので、全てのディスプレイパイプ302がアクティブであるわけではない。そのような状況では、アクティブなディスプレイパイプ302のうち少なくとも1つは、非アクティブなディスプレイパイプ302のバッファ306のうち少なくとも1つを使用する。
【0028】
デバイス200は、本明細書の他の場所で説明される動作モードの何れかの間で切り替わることが可能である。例えば、デバイス200は、単一のディスプレイ210がデバイス200に結合され、且つ、1つのディスプレイパイプ302が、全てのバッファ214を使用してデータを単一のディスプレイ210に送信している動作モードと、複数のディスプレイ210がデバイス200に結合され、且つ、全てのディスプレイパイプ302が、それらのバッファ214のみを使用して他のバッファ214を使用せずに画素データを結合されたディスプレイ210に送信する動作モードと、の間で切り替わることが可能である。加えて、デバイス200は、異なる数のディスプレイ210が結合され、且つ、関連付けられたディスプレイパイプ302がそれらのディスプレイ210にアクティブに伝送している、様々なモード間で切り替わることが可能である。ディスプレイホットプラグイベントは、バッファ306の割り当ての変更をトリガすることができる。
【0029】
ディスプレイパイプ302が他のディスプレイパイプ302のバッファ306を使用することを可能にする1つの利点は、ディスプレイパイプ302が、より少ないバッファ306が使用される場合のように頻繁にメモリ及びデータファブリック204をウェイクアップする必要がないことである。これらの要素が電源投入される時間量を削減し、また、これらの要素が電源投入されることと電源切断されることとの間で切り替えられる回数を低減することによって、全体的な電力低減が達成される。
図4では、ディスプレイパイプ302(2)、ディスプレイパイプ302(3)及びディスプレイパイプ302(4)は、何れのディスプレイ210にもデータを提供していない。したがって、ディスプレイパイプ302(1)は、ディスプレイパイプ302のバッファ306の全てを使用して、データをディスプレイ210に送信することができる。本明細書に開示される技術が画素圧縮技術と組み合わされる場合、ディスプレイパイプ302に利用可能なデータの量が更に増加され、したがって、メモリ及びデータファブリック204がウェイクアップされる時間量を更に低減する。
【0030】
図5は、一例による、ディスプレイコントローラを動作させるための方法500のフロー図である。
図1~
図4のシステムに関して説明されているが、当業者は、任意の技術的に実現可能な順序で方法500のステップを実施するように構成された任意のシステムが本開示の範囲に含まれることを理解するであろう。方法500は、少なくとも2つのディスプレイを含むシステムのコンテキストで説明される。
【0031】
方法500は、ステップ502で始まり、ディスプレイコントローラ206は、第1のバッファ内のデータを、ディスプレイコントローラ206に結合された第1のディスプレイに送信する。第1のバッファは、ディスプレイコントローラ206の一部分である第1のディスプレイパイプ302に関連付けられるバッファ306である。第1のディスプレイパイプ302は、そのようなディスプレイが存在し且つアクティブである場合に、第1のディスプレイパイプ302に結合された出力を通してディスプレイにデータを送信するディスプレイパイプである。この「出力」は、ディスプレイに結合することができるディスプレイパイプ302に結合されたポートである。各ディスプレイパイプ302は、それぞれのディスプレイ210への接続のためのそのような出力を有する。バッファ306と第1のディスプレイパイプ302との間の「関連付け」とは、ディスプレイコントローラ206が、ディスプレイコントローラ206によってドライブ(駆動)することができる最大数のディスプレイ210をドライブしている動作モード(最大表示モード)において、第1のバッファが、第1のディスプレイパイプ302に関連付けられたディスプレイにデータが送信されるバッファであることを意味する。
図4のディスプレイパイプ302内のバッファ306は、それらのディスプレイパイプ302に関連付けられたバッファ306である。
【0032】
ステップ504において、ディスプレイコントローラ206は、第2のディスプレイパイプ302に関連付けられる第2のバッファ306から第1のディスプレイ210に画素データを送信する。第2のバッファ306及び第2のディスプレイパイプ302は、ディスプレイパイプ302に結合されたディスプレイが存在し有効化されているが、ステップ504において、そのようなディスプレイが存在しないか有効化されていない場合に、そのようなディスプレイにデータを送信するために使用される。したがって、第1のディスプレイパイプ302は、第2のバッファ306を使用して、データを第1のディスプレイ210に送信することができる。
【0033】
ステップ506において、ディスプレイコントローラ206は、外部メモリのウェイクアップを要求する。いくつかの例では、外部メモリは、デバイス200の汎用なメモリ202である。いくつかの例では、ディスプレイコントローラ206は、メモリ202をディスプレイコントローラ206に通信可能に結合するデータファブリック204のウェイクアップも要求する。いくつかの例では、ディスプレイコントローラ206の代わりに、電力状態コントローラ208又は異なる要素等の異なる要素が、メモリ202のウェイクアップを開始する。
【0034】
ステップ508において、ディスプレイコントローラ206は、メモリ202からデータをフェッチし、第1のバッファ306及び第2のバッファ306の一方又は両方を再充填する。これらのバッファを再充填するために使用されるデータは、現在のフレーム又は後続のフレームのための追加の画素等のように、ディスプレイ210に送信するための追加のデータである。いくつかの状況では、この再充填の後、ディスプレイコントローラ206又は他の要素は、メモリ202及び/又はデータファブリック204が電源切断状態に戻されることを要求する。いくつかの例では、電力状態コントローラ208は、これらの要素がデバイス200の異なる要素に必要とされない場合に、これらの要素を電源切断状態に戻す。
【0035】
本明細書の開示に基づいて、多くの変形が可能であることを理解されたい。特徴及び要素が特定の組み合わせで上述されているが、各特徴又は要素は、他の特徴及び要素を用いずに単独で、又は、他の特徴及び要素を用いて若しくは用いずに様々な組み合わせで使用することができる。一例では、ディスプレイパイプ302が同様の構成要素とともに示されているが、1つ以上のディスプレイパイプ302は、他のディスプレイパイプ302に含まれない構成要素を含むことが可能である。一例では、1つ以上のディスプレイパイプは、それ自体のバッファ306及び1つ以上の他のディスプレイパイプ302のバッファ306をメモリから充填することができる構成要素を含む。別の例では、1つ以上のディスプレイパイプ302は、1つ以上のバッファ306を再充填するために外部メモリのウェイクアップを要求することが可能な構成要素を含む。別の例では、全てのディスプレイパイプのためのバッファ306は、ディスプレイパイプ302間で分割される単一のバッファである。そのような例では、バッファは、アクティブなディスプレイパイプ302間で比例的に分割される(ここで、アクティブなディスプレイパイプは、画素データをディスプレイに提供しているディスプレイパイプ302である)。
【0036】
図に例示され及び/又は本明細書に記載された様々な機能ユニット(プロセッサ102、入力ドライバ112、入力デバイス108、出力ドライバ114、出力デバイス110データファブリック204、ディスプレイコントローラ206、電力状態コントローラ208、追加ロジック212、ディスプレイパイプ302、及び、画面データ転送ロジック304を含むが、これらに限定されない)は、汎用コンピュータ、プロセッサ若しくはプロセッサコアとして、又は、汎用コンピュータ、プロセッサ若しくはプロセッサコアによって実行可能な非一時的なコンピュータ可読記憶媒体若しくは別の記憶媒体に記憶されているプログラム、ソフトウェア若しくはファームウェアとして実装され得る。提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアにおいて実施することができる。好適なプロセッサとしては、例として、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、及び/又は、状態マシンが挙げられる。そのようなプロセッサは、処理されたハードウェア記述言語(hardware description language、HDL)命令及びネットリストを含む他の中間データ(コンピュータ可読媒体に記憶させることが可能な命令)の結果を使用して製造プロセスを構成することによって製造することができる。そのような処理の結果はマスクワークとすることができ、このマスクワークを、その後、本開示の特徴を実装するプロセッサを製造するための半導体製造プロセスにおいて使用する。
【0037】
本明細書に提供される方法又はフローチャートは、汎用コンピュータ又はプロセッサによる実行のために非一時的なコンピュータ可読記憶媒体に組み込まれるコンピュータプログラム、ソフトウェア又はファームウェアにおいて実施することができる。非一時的なコンピュータ可読記憶媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)等の光学媒体が挙げられる。
【国際調査報告】