JP6072358B2 - アイドル表示ケースにおけるメモリの省電力化 - Google Patents

アイドル表示ケースにおけるメモリの省電力化 Download PDF

Info

Publication number
JP6072358B2
JP6072358B2 JP2016512901A JP2016512901A JP6072358B2 JP 6072358 B2 JP6072358 B2 JP 6072358B2 JP 2016512901 A JP2016512901 A JP 2016512901A JP 2016512901 A JP2016512901 A JP 2016512901A JP 6072358 B2 JP6072358 B2 JP 6072358B2
Authority
JP
Japan
Prior art keywords
memory
cache
display
idle
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016512901A
Other languages
English (en)
Other versions
JP2016524745A (ja
Inventor
スカルパ ビスワス,
スカルパ ビスワス,
シンイエ シウ,
シンイエ シウ,
ラ クロップテ デ シャンテラック, シリル デ
ラ クロップテ デ シャンテラック, シリル デ
マヌ グラッチ,
マヌ グラッチ,
プルキット デサイ,
プルキット デサイ,
ロン チャン フー,
ロン チャン フー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2016524745A publication Critical patent/JP2016524745A/ja
Application granted granted Critical
Publication of JP6072358B2 publication Critical patent/JP6072358B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3218Monitoring of peripheral devices of display devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/455Image or video data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Power Sources (AREA)

Description

本発明は、集積回路、表示装置及びキャッシュを含むデジタルシステムの分野に関する。
さまざまな種類のデジタルシステムは、ユーザが機器と対話するためのディスプレイを含むか、又はディスプレイに接続されることが多い。ディスプレイは機器に組み込まれてもよい。組み込み型ディスプレイの例には、さまざまなスマートフォン、タブレットコンピュータ、又は他の携帯情報端末におけるタッチスクリーンが含まれる。組み込み型ディスプレイの別の例は、蓋に画面を有するラップトップである。ディスプレイはまた、ケーブルによって機器に接続されてもよい。外付けディスプレイの例には、ユーザの前の机の上に存在する独立したディスプレイを有するさまざまなデスクトップコンピュータ及びワークステーションが含まれる。デスクトップコンピュータの中には、組み込み型ディスプレイを有するものもある(例えば、アップル社のさまざまなiMac(登録商標)コンピュータ)。ディスプレイは、システム及びシステム上で稼働しているアプリケーションと対話するために見ることのできる視覚的インタフェースを提供する。ディスプレイが、システムへ入力するためのユーザインタフェースも提供する場合(例えば、タッチスクリーン)もある。他のユーザ入力デバイス(例えばキーボード、マウス又は他のポインティング機器など)がさらに含まれてもよい。
ある期間にわたって表示されている画像は、実質的に静止画像である場合が多い。例えば、ユーザがディスプレイ上の電子ブックを読んでいる場合、ユーザがページを読み終えるまで、ディスプレイは、テキストのそのページを静的に表示しているであろう。動画が一時停止されているとき、一時停止が有効な間は画像は変化しないであろう。ユーザがウェブページを閲覧しているときもまた、ユーザはコンテンツに没頭していて、画像は静止しているかもしれない。表示されている静止画像に、ほとんどあるいはまったく変更がない場合、画面の各リフレッシュサイクルで画像の取り込みに消費されるメモリ帯域幅は、帯域幅と消費電力の双方で無駄となる恐れがある。
一実施形態においてシステムは、メモリキャッシュを含むメモリコントローラと、ディスプレイを制御するように構成されたディスプレイコントローラを有する。システムは、表示中の画像が本質的に静的であることを検出するように構成されてよく、また、ディスプレイコントローラに、メモリキャッシュ内にソースフレームバッファデータ用の割り当てを要求させるように構成されてよい。フレームバッファデータ(又は、フレームバッファデータの少なくとも一部)をメモリキャッシュにキャッシュすることにより、そうしない場合に外部メモリインタフェースに消費されうる電力を節約することができる。いくつかの実施形態では、システムは更に、フレームバッファデータがキャッシュされ続けるように、アイドル画面ケースの間にメモリキャッシュがシャットダウンしたり、その有効サイズを縮小したりしないように、メモリキャッシュ内の電力管理構成を変更してもよい。表示された画像が動的に変化している間、フレームバッファデータはメモリキャッシュにキャッシュされず、電力管理構成は、メモリキャッシュのシャットダウン/サイズ縮小を許してもよい。
以下の詳細な説明は、添付の図面について言及しており、次に、これらの図面について簡単に述べる。
システムオンチップ(SOC)、メモリ、画像センサ及び表示装置を含むシステムの一実施形態のブロック図である。 動的表示状態における本システムの一実施形態の動作を例示するフローチャートである。 アイドル表示状態における本システムの一実施形態の動作を例示するフローチャートである。 システムの一実施形態で実行することができるさまざまなソフトウェアモジュールのブロック図である。 図4に示されるPMGRドライバの一実施形態の動作を例示するフローチャートである。 CPUフィルタの一実施形態を例示する図である。 CPUフィルタの一実施形態の動作を例示するフローチャートである。 CPUフィルタに応答するPMGRドライバの一実施形態の動作を例示するフローチャートである。 コンピュータアクセス可能な記憶媒体の一実施形態のブロック図である。 図1に示されるSOCを含むシステムの別の実施形態のブロック図である。
本発明は種々の変更及び代替的な形態を受け入れる余地があるが、その特定の諸実施形態が図面には例として示されており、本明細書において詳細に説明されることになる。しかし、図面及びそれらに対する詳細な説明は、本発明を、開示されている特定の形態に限定することを意図されているのではなく、逆にその意図は、添付の請求項によって画定されている通りの本発明の趣旨及び範囲内に入る全ての変更、均等物及び代替物を範囲に含むことを理解されたい。本明細書で使用される見出しは、構成目的のみに過ぎず、説明の範囲を制限するために使用されることを意味するものではない。本出願全体を通じて使用されるとき、「〜してもよい(may)」という語は、義務的な意味(すなわち、〜なければならない(must)を意味する)ではなく、許容的な意味で使用される(すなわち、〜する可能性を有していることを意味する)。同様に、「〜を含む(include, includes, including)」という語は、〜を含むことを意味し、〜に限定されない。
種々のユニット、回路、又はその他の構成要素は、タスク又はタスク群を実行する「〜ように構成される(configured to)」と説明される場合がある。このような文脈において、「〜ように構成される」とは、動作時にそのタスク又はタスク群を実行する「回路機構を有する」ことを広く意味する構造の広義の表現である。それゆえ、ユニット/回路/構成要素は、たとえ、そのユニット/回路/構成要素が現在は作動していなくても、タスクを実行するように構成することができる。概して、「〜するように構成される(configured to)」に対応する構造を形成する回路機構は、操作を実施するために実行可能なプログラム命令を記憶するハードウェア回路及び/又はメモリを含んでもよい。メモリは、スタティックランダムアクセスメモリ若しくはダイナミックランダムアクセスメモリ等の揮発性メモリ、及び/又は光ディスク記憶装置若しくは磁気ディスク記憶装置、フラッシュメモリ、プログラム可能読出し専用メモリ等の不揮発性メモリ等を含むことができる。同様に、さまざまなユニット/回路/構成要素は、説明の便宜上、タスク又はタスク群を実行すると記述される場合がある。かかる説明は、「〜ように構成される」という文言を含むと解釈されるべきである。1つ以上のタスクを実行するように構成されるユニット/回路/構成要素と表現することは、そのユニット/回路/構成要素が米国特許法第112条第6段落に基づいて解釈されないようにすることを明示的に意図している。
本明細書は、「一実施形態」又は「ある実施形態」に対する参照を含む。本明細書で明示的に否定しない限り、本発明の特徴の任意の組合せを含む実施形態が全般的に意図されているが、「一実施形態で」又は「ある実施形態で」のフレーズの形態は、同じ実施形態を必ずしも指すのではない。特定の機能、構造又は特性は、本開示に整合する任意の好適な方法で組み合わせ得る。
図1を次に参照すると、SOC 10の一実施形態のブロック図が、メモリ12、1つ以上の画像センサ26及び1つ以上のディスプレイ20に接続された状態で、示されている。名前が暗示するように、SOC 10の構成要素は、集積回路「チップ」として単一の半導体基板上に集約することができる。いくつかの実施形態では、構成要素は、システムの2以上の個別のチップ上に、実装することができる。しかし、本明細書では、SOC 10を例として用いる。例示した実施形態では、SOC 10の構成要素として、以下が挙げられる。中央処理装置(CPU)複合体14、表示パイプ16、周辺構成要素18A〜18B(より簡単には、「周辺装置」)、メモリコントローラ22、画像信号プロセッサ(ISP)24、グラフィック処理ユニット(GPU)34、電力マネージャ(PMGR)32、及び通信ファブリック27である。構成要素14、16、18A〜18B、22、24、32、及び34は、通信ファブリック27に全て接続されてよい。メモリコントローラ22は、使用中、メモリ12に接続されてよい。同様に、ISP 24は、使用中、画像センサ26に接続されてよい。そして、表示パイプ16は、使用中、ディスプレイ20に接続されてよい。。例示した実施形態では、CPU複合体14には、1つ以上のプロセッサ28及びレベル2(L2)キャッシュ30が含まれる。例示した実施形態では、メモリコントローラはメモリキャッシュ36を含む。メモリコントローラ22及び表示パイプ16の双方は、それぞれ、構成レジスタ38A及び38Bを内蔵することができる。他の構成要素もまた、図1に示されていないが、同様に構成レジスタを内蔵することができる。メモリ12は、使用時に、フレームバッファ40A及び必要に応じてフレームバッファ40Bを含む、1つ以上のフレームバッファを記憶することができる。
表示パイプ16は、ディスプレイ20上に表示する1つ以上の静止フレーム、及び/又は、1つ以上のビデオシーケンスを処理するハードウェアを内蔵することができる。通常、原静止フレーム又は原映像シーケンスフレームのそれぞれに関して、表示パイプ16は、読出しメモリ操作(メモリコントローラ22により、メモリ12からフレームを表すデータを読み込む)を生成するように構成することができる。例えば、各フレームは、メモリ12のフレームバッファ40A〜40Bに記憶することができる。そして、表示パイプ16は、メモリ12のフレームバッファ40A〜40Bへのポインタによって、フレームバッファからフレームを読み込むように、プログラムすることができる。各フレームは、表示される画像を記述する画像データ(例えば画素、色成分、アルファブレンディング値その他)を含むことができる。
表示パイプ16は、画像データに対して任意の種類の処理を実行するように構成することができる。一実施形態では、表示パイプ16は、静止フレームをスケーリングし、そして、映像シーケンスのフレームに関して、ディザ処理し、スケーリングし、及び/又は、色空間変換を実行するように構成することができる。表示パイプ16は、静止フレーム及び映像シーケンスフレームを混合して、表示用の出力フレームを生成するように構成することができる。表示パイプ16はまた、より一般的に、表示制御ユニットと呼ぶことができる。表示制御ユニット(又は、ディスプレイコントローラ)は、通常、表示用のフレーム(静止フレーム及び/又は映像シーケンスフレームなどの1つ以上のソースからのフレーム)を準備するように構成された任意のハードウェアとすることができる。表示パイプ16により実行されるさまざまな処理は、一般的に合成(compositing)と呼ぶことができる。合成は、さまざまな画像に由来する画像データを組み合わせて出力画像を生成する任意の処理を含みうる。
メモリコントローラ22は一般的に、SOC 10の他の構成要素からのメモリ操作を受信して、メモリ操作を完了するためにメモリ12にアクセスする回路を含みうる。メモリコントローラ22は、任意の種類のメモリ12にアクセスするように構成することができる。例えば、メモリ12は、スタティックランダムアクセスメモリ(SRAM)、ダブルデータレート(DDR、DDR2、DDR3、その他)DRAMを含むシンクロナスDRAM(SDRAM)などのダイナミックRAM(DRAM)とすることができる。DDR DRAMの低消費電力/モバイルバージョンを、サポートすることができる(例えばLPDDR、mDDR、その他)。
例示された実施形態では、メモリコントローラ22は、最近アクセスされたメモリデータを記憶するメモリキャッシュ36を含むことができる。例えば、SOCの実施において、メモリキャッシュ36は、メモリ12が再びすぐにアクセスされることが予期される場合に、メモリ12に対するデータの再アクセスを回避することによってSOCの電力消費を低減することができる。したがって、メモリ12にアクセスする前に、メモリ操作のヒット/ミスを検出するために、メモリコントローラ22により、メモリキャッシュ36をアクセスすることができる。メモリ操作が、メモリキャッシュ36にヒットする場合には、メモリ12にアクセスしなくてもよい。相互接続ファブリック27は、メモリキャッシュ36に記憶する候補を特定するために、メモリ操作と共にキャッシュヒントの送信をサポートすることができる。したがって、メモリキャッシュ36は、メモリにアクセスするSOC 10の任意の構成要素に対応するデータを記憶することができる。メモリキャッシュ36は、特定の構成要素だけに貢献するL2キャッシュ30又はプロセッサ28内のキャッシュなどのプライベートキャッシュとは対照的に、システムキャッシュと呼ぶことができる場合もある。更に、いくつかの実施形態では、システムキャッシュはメモリコントローラ22の中に配置する必要はない。
フレームバッファ40A〜40Bのデータのようなフレームデータの場合、それを消費するのは表示パイプ16である。フレームは通常、表示パイプ16が新しいフレームを開始する前に、表示される次の画像に変更されうるため、通常、あるフレームバッファは、表示パイプ16により一度読み出されるであろう。例えば、毎秒30又は60フレームのフレームレートが多用される。したがって、フレームは1秒につき30又は60回読み出される。その間に、フレームデータの発生源(例えば、ビデオデコーダ、GPU 34、その他)は、表示される新しいフレームを生成している可能性があり、異なるメモリ場所にフレームデータを書き込んでいる可能性がある。次のフレーム読出しが始まるとき、フレームは異なるメモリ場所から読み出される可能性がある。したがって、表示されている画像がフレームごとに変化している場合、フレームデータのキャッシュ動作は、メモリキャッシュ36で無効にすることができる。フレームデータが概ね時間と共に変化している場合を、動的表示又は動的表示状態と呼ぶことができる。ディスプレイにより表示されている画像は、動的と呼ぶことができる。
一方、複数の連続したフレームが静的なコンテンツを有する場合があり得る。概ね、静的なコンテンツは、フレームごとに変化しないコンテンツ(例えば、各ピクセルがフレームごとに同じもの)のことか、又は閾値より変化量が少ないので、前のフレームが現在のフレームに近いコンテンツのことを言うことができる。静的なコンテンツを有する複数の連続したフレームを検出することにより、アイドル表示状態又はアイドル表示ケース(又は、アイドル画面オンケース(表示画面がまだオンであり、静止画像を表示しているので))を特定することができる。アイドル表示ケースは、表示されるビジュアルコンテンツが一定時間変化しないか、又は、ほとんど変化しないが、画面はオンである場合、としてもよい。ユーザが、電子ブック、ウェブページ又は電子メールなどの表示データを閲覧している可能性がある。又は、ユーザがビデオを中断した可能性がある。フレームデータが概ね静的である場合は、アイドル表示又はアイドル表示状態と呼び、ディスプレイにより表示されている画像は、アイドル又は静的と呼ぶことができる。
アイドル表示ケースでは、表示パイプ16はやはりフレームデータの唯一の需要先である可能性がある。しかし、同じフレームデータは、複数回読み出される可能性がある。したがって、アイドル表示ケースに関してキャッシュを有効にすることは、望ましいであろう。より詳しくは、表示パイプ16は、メモリキャッシュ36のキャッシングを有効又は無効にするようにプログラム可能(例えば、構成レジスタ38Bにおいて)とすることができる。キャッシュが有効にされる場合には、表示パイプ16は、データがメモリキャッシュ36に割り当てられるべきであることを示すキャッシュヒントと共に、フレームバッファ40A〜40Bを読み込むメモリ読出し動作を送信するように構成することができる。いくつかの実施形態では、1つを超えるフレームが出力フレームを生成するために合成されている場合には、最も多くのフレームデータを収容するフレームをキャッシュし(キャッシュ割り当てヒントを含むことにより)、他のフレームはキャッシュしないことができる。他の実施形態では、複数のフレームがメモリキャッシュ36に収まることができ、その複数のフレームをキャッシュすることができる。他の実施形態では、フレームの一部だけが、メモリキャッシュ36に収まることができる。そして、表示パイプ16は、フレームの一部に関するキャッシュ割り当てヒントを提供するように、構成することができる。一方、キャッシングが無効の場合には、表示パイプ16は、キャッシングしないことを示すキャッシュヒントを提供することができる。上述のように、本キャッシングは、動的表示ケースでは、無効にすることができる。一実施形態では、アイドル表示ケースは、メモリキャッシュ36のキャッシングから恩恵をうけることができる他のメモリアクセス構成要素がオフであることを判定することを、更に含んでもよい。例えば、プロセッサ28、GPU 34、ISP 24及び他のメディア装置は、キャッシングから恩恵をうけることができる。キャッシュからの恩恵をうけることができない他の構成要素、例えば、下記のようなインタフェースに対するさまざまなインタフェースコントローラは、オフである必要はない。IC(集積回路間通信(Inter-Integrated Circuit))、汎用非同期送受信回路(UART)、システムパケットインタフェース(SPI)、その他。したがって、アイドル表示ケースには、少なくともメモリキャッシュ36を用いる構成要素のサブセットがオフであること、表示パイプ16/ディスプレイ20がオンであること、及び表示された画像が静的であること、を含むことができる。
いくつかの実施形態では、メモリキャッシュ36はさまざまな電力管理機能をサポートすることができる。電力管理機能は、構成レジスタ38Aをプログラムすることにより、制御することができる。電力管理機能は、動的表示状態からアイドル表示状態への変化を検出することに応答して、変更することができる。例えば、たとえ表示パイプ16が、アイドル画面状態で繰り返しフレームデータを読み出すことができるとしても、その読出しは、メモリキャッシュ36の周波数で、多くのクロックサイクルにより分離される可能性がある。更に、上述のように、SOC 10の多くの他の構成要素は、アイドル表示状態で、アイドルである可能性がある。例えば、実行中のコンテンツ生成がないので、GPU 34、ISP 24、ビデオ符号器/復号器その他などの他のオーディオ/ビデオ機器は、アイドルである可能性がある。したがって、システムは、メモリコントローラ22/メモリキャッシュ36に対して、相対的にアイドルであるように見える可能性があり、これによって、電力管理機能を起動させることができる。本機能は、例えば、キャッシュの一部の電源をおとすこと、キャッシュの電源を切ることによりキャッシュの有効サイズを縮小すること、を含んでもよい。アイドル表示状態の間に、メモリコントローラ22は、これらの電力管理機能を無効にするようにプログラムすることにより、メモリキャッシュ36は、電源が入った状態で、フルサイズのままで、フレームデータを記憶することができる。動的表示状態の間、メモリコントローラ22は電力管理機能を有効にするようにプログラムすることができる。
一実施形態では、プロセッサ28により実行されるソフトウェアは、アイドル表示状態及び動的表示状態を検出して、構成レジスタ38A〜38Bを上述したようにプログラムすることができる。本ソフトウェアは、PMGR 32に対応する電力マネージャドライバ(PMGRドライバ)、表示パイプ16に対応するディスプレイドライバ、及び、メモリコントローラ22/メモリキャッシュ36に対応するメモリコントローラドライバ、を含んでもよい。一実施形態の更なる詳細は、以下により詳細に述べる。本ソフトウェアは、プロセッサ28による取出し及び実行のためにメモリ12に記憶することができ、同様に、L2キャッシュ30及び/又はプロセッサ28内にキャッシュすることができる。本ソフトウェアはまた、フラッシュメモリ、固体ディスク記憶装置、磁気又は光学磁気ディスク装置その他などの、システムの不揮発性メモリにも記憶することができる。
ディスプレイ20は、任意の種類の視覚的表示装置とすることができる。ディスプレイとして、例えば、スマートフォン、タブレットその他などのモバイル機器用のタッチスクリーン式のディスプレイを挙げることができる。さまざまなディスプレイ20として、液晶ディスプレイ(LCD)、発光ダイオード(LED)、プラズマ、ブラウン管(CRT)、その他を挙げることができる。ディスプレイは、SOC 10を含むシステム(例えば、スマートホン又はタブレット)に一体化することができるか、及び/又は、コンピュータモニタ、テレビジョン又は他の機器などの、分離して格納される機器とすることができる。
ISP 24は、画像センサ26からの画像センサデータを受信するように構成することができる。そして、例えば、ディスプレイ20に表示するのに好適でありえる画像フレームを生成するために、データを処理するように構成することができる。画像センサ26として、(例えば電荷結合デバイス(CCD)、相補形MOS(CMOS)センサその他)などのカメラを挙げることができる。
GPU 24は、1つ以上のGPUプロセッサを含むことができる。そして、GPU用のローカルキャッシュ、及び/又はSOC 10の他の構成要素とのインタフェース(例えば通信ファブリック27とのインタフェース)に関するインタフェース回路を更に含むことができる。概ね、GPUプロセッサは、物体をフレームにレンダリングするグラフィックパイプラインの動作を実行するために最適化されたプロセッサとすることができる。例えば、この動作として、変換及び照明、三角形アセンブリ、ラスタ化、陰影付け処理、テクスチャ処理、その他を挙げることができる。
CPU複合体14として、SOC 10のCPUとしての機能を果たす1つ以上のCPUプロセッサ28を挙げることができる。システムのCPUとして、オベレーティングシステムなどのシステムの主制御ソフトウェアを実行するプロセッサ(単数又は複数)が挙げられる。全般的には、使用時にCPUにより実行されるソフトウェアは、システムの他の構成要素を制御して、システムの所望の機能を実現することができる。プロセッサ28により実行されるソフトウェアとして、上述した、及び以下でより詳細に記載する、さまざまなドライバを挙げることができる。プロセッサ28は、アプリケーションプログラムなどの他のソフトウェアも、更に実行することができる。アプリケーションプログラムは、ユーザ機能を提供することができ、より低レベルの機器制御に関して、オベレーティングシステムに依存してもよい。したがって、プロセッサ28はまた、アプリケーションプロセッサと呼ぶことができる。CPU複合体14は、L2キャッシュ30、及び/又はシステムの他の構成要素とのインタフェース(例えば、通信ファブリック27とのインタフェース)などの他のハードウェアを更に含むことができる。
周辺装置18A〜18Bは、SOC 10に含まれる更なるハードウェア機能の任意の集合とすることができる。例えば、周辺装置18A〜18Bとして、ビデオ符号器/復号器、スケーラ、回転子、ブレンダその他などのビデオ周辺装置を挙げることができる。周辺装置として、マイク、スピーカ、マイク及びスピーカとのインタフェース、音声プロセッサ、ディジタル信号処理プロセッサ、ミキサ、その他、などのオーディオ周辺装置を挙げることができる。周辺装置として、SOC 10の外部とのさまざまなインタフェース用のインタフェースコントローラ(例えば、周辺装置18B)を挙げることができる。このさまざまなインタフェースは、ユニバーサルシリアルバス(USB)、PCI Express(PCIe)を含む周辺装置相互接続(PCI)、シリアル及びパラレルポート、その他、などのインタフェースである。周辺装置として、メディアアクセスコントローラ(MAC)などのネットワーク周辺装置を挙げることができる。ハードウェアの任意の集合を挙げることができる。
通信ファブリック27は、SOC 10の構成要素間で通信する、任意の通信相互接続及びプロトコルとすることができる。通信ファブリック27は、共有バス構成、クロスバー構成、及びブリッジを有する階層的なバス、を含むバスベースとすることができる。通信ファブリック27は、パケットベースとすることもでき、ブリッジ、クロスバー、ポイントツーポイント又は他の相互接続による階層構成とすることができる。
PMGR 32は、SOC 10の他の構成要素の電源投入及び電源切断を制御するように構成することができる。即ち、PMGR 32は、他の構成要素に電源を投入及び電源を切断させることができる。PMGR 32は、直接ソフトウェアの制御下とすることができ(例えば、ソフトウェアが構成要素の電源投入や電源切断を直接要求することができる)、及び/又は、PMGR 32は、SOC 10を監視するように構成することができる。そして、さまざまな構成要素が、いつ電源を投入すべきか又はいつ電源を切断すべきかを判定することができる。PMGR 32は、異なる電力状態(例えば、電圧/周波数の組合せ)の間で構成要素を移行させるように構成することができる。PMGR 32は、更に、SOC 10の構成要素のために、外部パワーコントローラにさまざまな電圧振幅を要求するように、構成することができる。
SOC 10の構成要素の数(及び、CPU複合体14の中などの、図1に示されるもののサブ構成要素の数)は、実施形態ごとに異なる可能性があることに留意されたい。各構成要素/サブ構成要素について、図1に示される数よりも多いか、又は、少ない数になる可能性がある。
次に図2を参照すると、動的表示状態における図1に示されるシステムの一実施形態の動作(アイドル表示ケースを検出して、アイドル表示状態に移行する動作)を例示するフローチャートが示されている。動的表示状態に生じる他の動作は示されていない。理解を容易にするため、ブロックは特定の順序で示されているが、他の順序を用いてもよい。一実施形態では、図2の動作は、ソフトウェアに実装してもよい。したがって、このソフトウェアは、実行されると、図2に示される動作を実施する命令を含むことができる。他の実施形態は、ハードウェア、並びに/又は、ハードウェア及びソフトウェアの組合せで、図2に示される機能を実現することができる。
動的表示状態において、システムはアイドル表示ケースを検出することを監視することができる。アイドル表示は、以下のさまざまな方法で検出することができる。連続したフレームの変化に関して分析することによる方法、同じフレームバッファが連続したフレームに関して使用されていることを注意深く観察することによる方法、その他の方法、である。更に、いくつかの実施形態では、他の構成要素(CPU複合体14、GPU 34、ISP 24、及び/又は、周辺装置18A〜18Bなど)のその状態は、アイドル表示ケースが検出されるかどうかにおいて、考慮に入れることができる。アイドル表示ケースが検出される(判定ブロック50の「はい」のレグ)場合には、システムは、フレームバッファ読出しに対するキャッシュの割当を要求するように、表示パイプ構成レジスタ38Bをプログラムする(ブロック52)ことができる。別の見方をすれば、フレームデータのキャッシングを有効にすることができる。一実施形態では、通信ファブリック27上で送信されるメモリ操作は、キャッシュヒントを含むことができる。そして、表示パイプは、キャッシングが有効な場合に、キャッシュ割当を指示するキャッシュヒントを用いることができる。システムは、更に、メモリキャッシュ36の電力管理制御を変更するように、メモリコントローラ構成レジスタ38Aをプログラムする(ブロック54)ことができる。具体的には、キャッシュ36の電源切断を無効にする(メモリキャッシュ36がアイドル表示状態の間に「アウェイク」状態を維持することを確実にする)ことができる。キャッシュサイズ自動変更機能(キャッシュの一部の電源を切断することにより、キャッシュ36の有効サイズを縮小するために用いることができる)もまた、キャッシュ36が、アイドル表示ケースにおいて、最大寸法を維持することを確実にするために、無効にすることができる。システムは、アイドル表示状態に移行する(ブロック56)ことができる。
図3は、アイドル表示状態における図1に示されるシステムの一実施形態の動作(動的表示ケースを検出して、動的表示状態に移行する)を例示するフローチャートである。理解を容易にするため、ブロックは特定の順序で示されているが、他の順序を用いてもよい。アイドル表示状態に生じる可能性がある他の動作は示されていない。一実施形態では、図3の動作は、ソフトウェアに実装してもよい。したがって、このソフトウェアは、実行されると、図3に示される動作を実施する命令を含むことができる。他の実施形態は、ハードウェア、並びに/又は、ハードウェア及びソフトウェアの組合せで、図3に示される機能を実現することができる。
アイドル表示状態において、システムは動的表示ケースを検出することを監視することができる。アイドル表示は、以下のさまざまな方法で検出することができる。連続したフレームの変化に関して分析することによる方法、連続したフレームに関して使用されるフレームバッファに変更が生じることを注意深く観察することによる方法、その他の方法、である。更に、いくつかの実施形態では、他の構成要素(CPU複合体14、GPU 34、ISP 24及び/又は周辺装置18A〜18Bなど)のその状態は、動的表示ケースが検出されるかどうかを考慮に入れることができる。動的表示ケースが検出される(判定ブロック60の「はい」のレグ)場合には、システムは、フレームバッファ読出し(ブロック62)に対するキャッシュの割当を要求しないように、表示パイプ構成レジスタ38Bをプログラムすることができる。一実施形態では、キャッシングを行わないことを指示するキャッシュヒントがサポートされており、動的表示状態において、フレームバッファデータ読出しのために用いることができる。別の見方をすれば、フレームデータのキャッシングを無効にすることができる。システムは、更に、メモリキャッシュ36(ブロック64)の電力管理制御を変更するように、メモリコントローラ構成レジスタ38Aをプログラムすることができる。具体的には、キャッシュ36の電源切断(キャッシュスリープ)を有効にすることができる。そして、キャッシュサイズ自動変更機能(キャッシュの一部の電源を切断することにより、キャッシュ36の有効サイズを縮小するために用いることができる)もまた、キャッシュ利用率が低い場合に有効となって、省電力が可能となる。システムは、動的表示状態(ブロック66)に移行することができる。
図4は、アイドル表示状態/動的表示状態の判定及び管理の一実施形態に関与する可能性がある、さまざまなソフトウェアモジュールを例示するブロック図である。例示した実施形態は、以下のものを含む。ディスプレイドライバ70、GPUドライバ72、ISPドライバ74、他のメディアドライバ76、他の周辺装置ドライバ78、CPUフィルタ80、PMGRドライバ82、及びメモリコントローラドライバ84、である。PMGRドライバ82は、フレームバッファオン/オフ状態86、ディスプレイオン/オフ状態87、及び他のオン/オフ状態88を含んでもよい。ドライバ間の特定の通信は、図4に同様に例示されている。通常、図4に例示されるドライバは、使用時にメモリ12に保存してもよく、使用時にプロセッサ28上で実行してもよい。ドライバはまた、システムの不揮発性記憶媒体(例えば、SOC 10に接続されたフラッシュメモリ又は他の不揮発性メモリ)に記憶してもよい。
PMGRドライバ82は、SOC 10のさまざまな構成要素の電力状態を監視する責任を有することができる。そして、対応するドライバから、構成要素の電源を投入し切断する電源オン及び電源オフの要求を受信することができる。PMGRドライバ82は、構成要素の電源を投入し切断する(それぞれ、電源オン及び電源オフのイベントと呼ぶ)ように、PMGR 32と連携することができる。即ち、電源オンのイベントは、電源がオフである構成要素の電源をオンするイベント(電源が切断されている構成要素の電源を投入することとも呼ばれる)とすることができる。電源オフのイベントは、電源がオンである構成要素の電源をオフするイベント(電源が投入されている構成要素の電源を切断することとも呼ばれる)とすることができる。PMGR 32は、構成要素の電源を投入し切断するSOC 10内のローカルな電源スイッチを制御する回路、並びに電源入力上でSOC 10に供給されるさまざまな電圧レベルを要求する回路を内蔵することができる。いくつかの実施形態では、PMGR 32は、ハードウェアの監視に基づいて、自動的に構成要素の電源を投入し、切断するように構成することもできる。
したがって、実行すべきGPUの業務があるとき、図4に例示するように、GPUドライバ72は、GPU 34の電源をオンするよう要求することができる。GPUドライバ72は、オベレーティングシステム、及び/又はプロセッサ28上でさまざまなレンダリング業務を実行するアプリケーションにより命令されることができる。同様に、GPU 34が重要な業務を完了して、現時点で実行する更なる業務がない場合、GPUドライバ72は、GPU 34の電源をオフするよう要求することができる。
同様に、オベレーティングシステム/アプリケーションがいくつかの画像センサデータをキャプチャする必要があり、ISP 24の電源がオフされている場合には、オベレーティングシステム/アプリケーションは、ISPドライバ74にISP 24の電源をオンするよう命令することができる。そして、ISPドライバ74は、PMGRドライバ82に電源オンを要求することができる。これ以上キャプチャする画像データがないとき、ISPドライバ74は、ISP 24の電源をオフするよう要求することができる。他のメディアドライバ76及び他の周辺装置ドライバ78は、同様に、電源オン/オフ要求をPMGRドライバ82に送信することができる。ディスプレイドライバ70は、ディスプレイが切断中か又は停止中の場合、表示パイプの電源をオン/オフするよう要求する(図4のディスプレイオン/オフ要求)ことができる。
PMGRドライバ82は、さまざまな電源オン/オフ要求に応答して、PMGR 32が、要求された構成要素の電源を投入/切断するように、プログラムすることができ、対応する構成要素の電源オン/オフ状態をオン/オフ状態88に記録することができる。ディスプレイオン/オフ状態87は、ディスプレイドライバ70からのディスプレイオン/オフ要求に対して更新することができる。いくつかの実施形態では、少なくともアイドル/動的ディスプレイケースを判定することに関して、PMGRドライバ82は、オンである対象の構成要素のカウントを維持するだけでよい。カウントが0に達するとき、アイドル/動的表示状態判定に影響を及ぼす全ての構成要素は、オフである可能性がある。ゼロ以外のカウントは、オンであるかかる構成要素の数を示す。
例示した実施形態では、フレームバッファもまた、構成要素として仮想化されており、オン/オフ状態86にオン/オフであるとして記録される。PMGRドライバ82は、ディスプレイドライバ70により送信されるFBオン/オフ要求から、フレームバッファのオン/オフ状態を記録するように構成することができる。このFBオン/オフ要求は、ディスプレイドライバ70による静的なフレームの検出(図4のN静的フレーム71)に基づいて、生成することができる。この実施形態では、ディスプレイドライバ70は、静的なフレームを監視する責任を有することができ、そして、N個(Nは1より大きな整数)の連続した静的フレームを検出すると、通知することができる。Nは、いくつかの実施形態では、プログラム可能なパラメータとすることができる。N個の静的フレームを検出することに応答して、ディスプレイドライバ70は、フレームバッファの電源をオフするよう要求する(図4のFBオン/オフ要求)ことができる。0個を含む、N個より少ない静的フレームが検出された場合には、ディスプレイドライバ70は、フレームバッファの電源を投入することを要求することができる。フレームバッファオン/オフ要求、及びSOC 10の他の構成要素のオン/オフ状態に基づいて、PMGRドライバ82は、アイドル/動的表示状態を検出することができる。検出したアイドル/動的表示状態に基づいて、PMGRドライバ82は、フレームバッファデータのキャッシングを有効/無効にしてもよい。(ここで、キャッシングの有効/無効は、表示パイプ16をプログラムすることができるディスプレイドライバ70に通知される。)そして、PMGRドライバ82は、キャッシュ電力管理制御を変更してもよい(この変更は、メモリコントローラ22/メモリキャッシュ36をプログラムすることができるメモリコントローラドライバ84に通知される)。
より具体的には、いくつかの構成要素は、ディスプレイがアイドルであるかどうかに関係することができる。例えば、GPU 34の電源がオンである場合には、それは、表示用の新しいフレームをレンダリングしている可能性がある。ISP 24の電源がオンである場合には、すぐに表示される可能性がある画像データをキャプチャすることができる。アイドル/動的表示状態に同様に関係し得る他のメディア構成要素又は周辺構成要素の存在する可能性がある。また、CPU複合体14の状態は、アイドル/動的表示状態に関係する可能性がある。CPUの状態は、以下により詳細に説明するように、フィルタ処理することができる。SOC構成要素の任意のサブセットは、アイドル/動的表示状態を判定する際に、考慮してもよい。更に、上述のように、いくつかの構成要素は、メモリキャッシュ36を用いることから恩恵をうけることができる。そして、かかる構成要素がオンの場合には、アイドル表示状態は検出することができないので、フレームバッファデータが他の構成要素からのデータを置き換えることはない。
ディスプレイドライバ70は、さまざまな方法でN個の静的フレームを検出することができる。例えば、表示パイプ16は、静的フレームを検出するハードウェアサポートを含むことができる(例えば、フレームにわたる巡回冗長検査(CRC)計算を比較してもよいし、又は、構成情報にわたるCRC計算を比較してもよい)。別の例として、ディスプレイドライバ70は、表示パイプ16に、フレームバッファの位置をプログラムすることができ、同じフレームバッファがN個の連続したフレームに用いられることを検出することができる。
CPUフィルタ80は、プロセッサ28のスリープ及びウェイクイベント(電源オフ及び電源オンのイベント)を監視することができる。そして、アイドル/動的表示ケースに関係する可能性がない一定のオン/オフイベントをフィルタ処理することができる。例えば、プロセッサ28は、さまざまなシステム管理イベント(例えば、機器割り込み、システムが正しく動作していることを保証する周期的オペレーティングシステムコードの実行、及び、場合によっては、スレッドの実行を予定すること、その他)を処理するためにアウェイクすることができる。これらのイベントは、寿命が短い可能性がある(即ち、アウェイクイベントの後すぐにアイドルイベントが続き、プロセッサはスリープ状態に戻る)。CPUフィルタ80は、CPUアクティブ時間対CPUアイドル時間を監視するために、ウェイク及びアイドルイベントに基づいて実行することができる。閾値量より少ない時間は、フィルタすることができる。CPUフィルタ80は、アイドル/動的表示検出の目的上、プロセッサ28の電源はオンと考えられるか否かを判定するための、対応するアクティブ/アイドルの指標をPMGRドライバ82に提供することができる。一実施形態では、アクティブ/アイドルの指標は、アクティブ及びアイドルである確率とすることができる。
図5は、アイドル/動的表示検出に関する、PMGRドライバ82の一実施形態の動作を例示するフローチャートである。理解を容易にするため、ブロックは特定の順序で示されているが、他の順序を用いてもよい。一実施形態では、図5の動作は、ソフトウェアに実装してもよい。したがって、このソフトウェアは、実行されると、図5に示される動作を実施する命令を含むことができる。他の実施形態は、ハードウェア、並びに/又は、ハードウェア及びソフトウェアの組合せで、図5に示される機能を実現することができる。
PMGRドライバ82がドライバから電源オン要求を受信し(判定ブロック90の「はい」のレグ)、かつ、ディスプレイがオン(ディスプレイオン/オフ状態87がオン)であり(判定ブロック92の「はい」のレグ)、かつ、アイドル/動的表示状態判定に影響を及ぼす他のリソースが全てオフである(判定ブロック94の「はい」のレグ)場合には、PMGRドライバ82は、アイドル表示状態から動的表示状態に変化することができる。したがって、PMGRドライバ82は、表示パイプ16のキャッシングを無効にして(ディスプレイドライバ70に指示を送信することにより−−ブロック96)、キャッシュスリープ/自動サイズ変更を有効にする(メモリコントローラドライバ84に指示を送信することにより−−ブロック98)ことができる。上述のように、いくつかの実施形態では、オンである他の構成要素の数を追跡することができるので、したがって、判定ブロック94は、その数がゼロであるかどうかを判定することにより、実施することができる。したがって、判定ブロック90の「はい」のレグ、判定ブロック92の「はい」のレグ、及び、判定ブロック94の「はい」のレグは、全体として、動的表示ケース判定の実施形態(図3の判定ブロック60の「はい」のレグ)とすることができる。PMGRドライバ82はまた、要求された構成要素のオン処理を完了することができる(ブロック100)。オン処理を完了することは、例えば、その構成要素の電源をオンするようにPMGR 32をプログラムすること、及び、オン/オフ状態88に「オン」と状態を記録すること、及び/又はアイドル/動的表示状態判定に関するオン構成要素の数を増加させること、を含むことができる。構成要素のサブセットがアイドル/動的表示ケースを判定するために監視される実施形態では、判定ブロック90は、そのサブセットの構成要素に関する電源オン要求だけを考慮することができる。PMGRドライバ82がドライバから電源オン要求を受信し(判定ブロック90の「はい」のレグ)、かつ、ディスプレイが現在オンではない(判定ブロック92の「いいえ」のレグ)か、又は、アイドル/動的表示状態判定に影響を及ぼす他のリソースの少なくとも1つがオンである(判定ブロック94の「いいえ」のレグ)場合には、アイドル/動的表示検出に関係する任意の更なる作業なしに、PMGRドライバ82は、要求された構成要素のオン処理を完了することができる(ブロック100)。
PMGRドライバ82がドライバから電源オフ要求を受信した場合(判定ブロック102の「はい」のレグ)には、ディスプレイは、現在動的表示状態にある。PMGRドライバ82は、ディスプレイが現在オンである(判定ブロック106の「はい」のレグ)かどうかを、判定することができる。もし、オンの場合には、オフにしてアイドル表示状態に移行させる必要があるSOC 10の他の構成要素が、オフであるかどうか(判定ブロック104)を判定することができる。他の構成要素がオフであることを判定することは、例えば、オン/オフ状態88をチェックすることによるか、又は、オン構成要素の数のカウントを確認することにより、達成することができる。そうである場合(判定ブロック104の「はい」のレグ)には、PMGRドライバ82は、動的表示状態からアイドル表示状態に変化することができる。したがって、PMGRドライバ82は、表示パイプ16のキャッシングを有効にし(ディスプレイドライバ70に指示を送信することにより−−ブロック110)、かつ、キャッシュスリープ/自動サイズ変更を無効にする(メモリコントローラドライバ84に指示を送信することにより−−ブロック112)。したがって、判定ブロック102の「はい」のレグ、判定ブロック104の「はい」のレグ、及び、判定ブロック106の「はい」のレグは、全体として、アイドル表示判定の実施形態(例えば、図2の判定ブロック50の「はい」のレグ)とすることができる。PMGRドライバ82はまた、要求された構成要素のオフ処理を完了することができる(ブロック114)。オフ処理は、例えば、その構成要素の電源をオンするようにPMGR 32をプログラムすること、及び、オン/オフ状態88における状態をオフに変化させること、及び/又は、アイドル/動的表示状態判定に関するオン構成要素の数を減少させることを含むことができる。PMGRドライバ82がドライバから電源オフ要求を受信し(判定ブロック102の「はい」のレグ)、かつ、アイドル表示状態に移行するために必要な他の構成要素がオフでないか、又は、N個より少ない静的フレームが検出された(それぞれ、判定ブロック104及び106の「いいえ」のレグ)か、のいずれかの場合には、PMGRドライバ82は、任意の更なる作業なしに、要求された構成要素のオフ処理を完了する(ブロック114)ことができる。最後に、受信した要求が、表示状態を変化するために必要である構成要素に関して、電源オン要求でも電源オフ要求のどちらでもない場合(判定ブロック90及び102の「いいえ」のレグ)には、PMGRドライバ82は、要求の処理を完了する(ブロック116)ことができる。この場合には、表示状態を判定するために必要でない構成要素に関する電源オン又は電源オフ要求が含まれ得る。
上述のように、CPUフィルタ80は、表示状態判定の目的上、プロセッサ28がオン又はオフと考慮するべきであるかどうかを判定するために用いることができる。図6は、CPUフィルタ80が使用するモデルの一実施形態を例示するブロック図である。この実施形態では、プロセッサ28がアクティブ又はアイドルである確率は、プロセッサ28の以前のアクティブ/アイドルの時間に基づいて、設定される。CPUアイドル時間は、図6のグラフの横軸の上に示され、CPUアクティブ時間は、このグラフの縦軸の上に示される。短いアクティブ/アイドル時間は、「不感帯」120に帰属する。不感帯120は、第1の閾値より少ないアクティブ時間、及び、第2の閾値より少ないアイドル時間と定義することができ、それぞれ図6の点線122及び124によって例示される。さまざまな実施形態において、第1及び第2閾値は、長さが同じ時間、又は異なる時間とすることができる。さまざまな実施形態において、第1及び第2閾値はプログラム可能なパラメータ、又は、固定とすることができる。CPUがアクティブである確率(P)、及び、CPUがアイドルである確率(P)は、不感帯120において、共にゼロに設定される。
第1閾値より大きく、第1キャップ(点線126)以下であるCPUアクティブ時間は、0と1との間の、CPUがアクティブである確率(P)に線形にマップすることができる。第1キャップより大きいCPUアクティブ時間は、1の確率に設定される。同様に、第2閾値と第2キャップ(点線128)との間のCPUアイドル時間は、0と1との間の、CPUがアイドルである確率(P)に線形にマップすることができる。第2キャップより大きいCPUアイドル時間は、1の確率に設定される。第1及び第2キャップは、同じ値又は異なる値とすることができ、固定された又はプログラム可能とすることもできる。他の実施形態は、他の方法で、又は、他の機能を用いて、アクティブ/アイドル時間を確率にマップすることができる。
上のように設定される確率は、瞬間的な確率(P、P)である。これらの確率は、各CPUアイドルイベント及びCPUウェイクイベントにおいて生成してもよい。いくつかの実施形態では、確率は、過去のイベントによってフィルタ処理される(例えば、図6のグラフの下の方程式に示すように、直近のフィルタ処理された確率によって表現されるように)。このようにして、フィルタ処理されたアクティブの確率F及びフィルタ処理されたアイドルの確率Fを生成することができる。フィルタ処理された確率は、動的/アイドル表示検出に関するCPUオン/オフ状態を判定するために、PMGRドライバ82へ提供することができる。フィルタ係数のα及びβは、プログラム可能なパラメータとすることができる。そして、フィルタ処理された確率がどの程度プロセッサ28の実際のオン/オフ状態をうまく予測するかに基づいて、経験的に選択することができる。
図7は、CPUフィルタ80の一実施形態の動作を例示するフローチャートである。理解を容易にするため、ブロックは特定の順序で示されているが、他の順序を用いてもよい。一実施形態では、図7の動作は、ソフトウェアに実装してもよい。したがって、このソフトウェアは、実行されると、図7に示される動作を実施する命令を含むことができる。他の実施形態は、ハードウェア、並びに/又は、ハードウェア及びソフトウェアの組合せで、図7に示される機能を実現することができる。
CPUフィルタ80は、アイドル状態の開始(entry)及び終了(exit)において実行するように、構成することができる。アイドル状態は、プロセッサ28が、活動的には作業を実行していない状態とすることができる。アイドル状態は、プロセッサ28の電源はオンのままであるが、命令は実行していないスリープ状態、並びにプロセッサ28の電源がオフである電源切断状態を含んでもよい。したがって、CPUフィルタ80は、フィルタ80を実行させるだけのために、プロセッサ28を定期的にウェイクさせる必要はない。その代わりに、プロセッサ28が他の理由でアウェイクされるときに、フィルタ80を実行させてもよい。
CPUフィルタ80は、直近のアイドル/アクティブ時間を計算する(ブロック130)ことができる。例えば、アイドル時間は、CPUアイドル状態の終了で、CPUフィルタ80が実行されるときに、計算することができる。アクティブ時間は、CPUアイドル状態の開始で計算することができる。アクティブ/アイドル時間は、アクティブ/アイドル時間を計算するたびに、CPUフィルタ80がクリアすることができる専用のフリーランニングタイマから計算することができる。さまざまな実施形態において、フリーランニングタイマは、プロセッサクロック、又は、PMGR 32により用いられるSOC 10のクロックに基づいて、増加させることができる。別の実施形態では、SOC 10上でさまざまな目的に使用されるタイマ(例えば、タイムベースレジスタ)を用いることができる。かかる実施形態では、CPUフィルタ80はタイマを読み出して、CPUフィルタ80により、タイマから読み出された現在の値と以前の値との間の差分を計算することができる。
直近のアクティブ及びアイドル時間に基づいて、CPUフィルタ80は、瞬間的な確率(P、P)を計算する(ブロック132)ことができる。CPUフィルタ80は、瞬間的な確率及び以前のフィルタ処理された確率に基づいて、現時点に関するフィルタ処理された確率(F、F)を計算することができる(ブロック134)。CPUフィルタ80は、PMGRドライバ82へ、CPUオン/オフ状態を計算するために、フィルタ処理された確率を送信する(ブロック136)ことができる。あるいは、CPUフィルタ80は、フィルタ処理された確率からCPUオン/オフ状態を計算して、そのCPUオン/オフ状態をPMGRドライバ82へ送信することができる。
次に図8を参照すると、CPUフィルタ80からのフィルタ処理された確率に応答して、CPUオン/オフ状態を判定する、PMGRドライバ82の一実施形態の動作を例示するフローチャートが示されている。他の実施形態では、上述のように、図8の動作は、CPUフィルタ80で実施することができる。理解を容易にするため、ブロックは特定の順序で示されているが、他の順序を用いてもよい。一実施形態では、図8の動作は、ソフトウェアに実装してもよい。したがって、このソフトウェアは、実行されると、図8に示される動作を実施する命令を含むことができる。他の実施形態は、ハードウェア、並びに/又は、ハードウェア及びソフトウェアの組合せで、図8に示される機能を実現することができる。
フィルタ処理されたアイドルである確率(F)が、フィルタ処理されたアクティブである確率(F)より大きい場合(判定ブロック138の「はい」のレグ)には、PMGRドライバ82は、CPUがオフであると判定する(ブロック140)ことができる。現在のアイドル/アクティブ時間が不感帯120にあるので瞬間的な確率(P、P)が共にゼロである場合(判定ブロック142の「はい」のレグ)には、PMGRドライバ82は、以前判定したCPUオン/オフ状態を保持する(ブロック144)ことができる。即ち、直近判定したCPUオン/オフ状態がオフである場合には、CPUオン/オフ状態は、オフのままである。同様に、直近判定したCPUオン/オフ状態がオンである場合には、CPUオン/オフ状態は、オンのままである。最後に、フィルタ処理されたアイドルである確率(F)が、フィルタ処理されたアクティブである確率(F)よりも大きくなくて、瞬間的な確率(P、P)が、共にゼロでない場合(判定ブロック138及び142の「いいえ」のレグ)には、PMGRドライバ82は、CPUオン/オフ状態がオンである(ブロック146)と判定することができる。
図9は、コンピュータアクセス可能な記憶媒体200の一実施形態のブロック図である。一般的に言って、コンピュータアクセス可能な記憶媒体は、使用時にコンピュータによりアクセス可能で、コンピュータに命令及び/又はデータを提供する、任意の記憶媒体を含むことができる。例えば、コンピュータアクセス可能な記憶媒体として、磁気又は光学媒体、例えば、ディスク(固定された又は取り外し可能な)、テープ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RW又はブルーレイ、などの記憶媒体を挙げることができる。記憶媒体は、RAM(例えば、シンクロナスDRAM(SDRAM)、Rambus(登録商標)DRAM(RDRAM)、スタティックRAM(SRAM)その他)、ROM、又はフラッシュメモリ、などの、揮発性又は不揮発性メモリ媒体を更に含むことができる。記憶媒体は、それが命令/データを提供するコンピュータに物理的に内蔵することができる。あるいは、記憶媒体はコンピュータに接続することができる。例えば、記憶媒体は、ネットワーク接続ストレージのように、ネットワーク又は無線リンク上でコンピュータに接続することができる。記憶媒体は、ユニバーサルシリアルバス(USB)などの周辺インタフェースにより、接続することができる。通常、コンピュータアクセス可能な記憶媒体200は、非一時的な方法でデータを記憶することができる。ここで、この文脈上、非一時的とは、命令/データを信号に乗せて送信しないことであると言うことができる。例えば、非一時的な記憶は、揮発性(そして、電源切断に応答して記憶された命令/データを失う可能性がある)、又は、不揮発性とすることができる。より具体的には、携帯電話、タブレットその他などの、ポータブル機器で用いられる一実施形態において、コンピュータアクセス可能な記憶媒体200は、メモリ12及び/又は不揮発性メモリ(機器に内蔵されたフラッシュメモリなど)を含んでもよい。
図9にコンピュータアクセス可能な記憶媒体200は、本明細書に記載されたさまざまなソフトウェアを記憶することができる。例えば、コンピュータアクセス可能な記憶媒体は、以下のものの1つ以上を記憶することができる。ディスプレイドライバ70、GPUドライバ72、他の媒体ドライバ76、CPUフィルタ80、ISPドライバ74、他の周辺装置ドライバ78、PMGRドライバ82及びメモリコントローラドライバ84である。さまざまなドライバ70、72、74、76、78、82、及び84、及びCPUフィルタ80は、命令を含むことができる。この命令は、プロセッサ28によって実行されると、各ドライバに関して上述した動作を実施する。更に、PMGRドライバ82は、実行されると、図2、図3、図5、及び/又は図8に例示される動作を実施する命令を含むことができる。CPUフィルタ80は、実行されると、図7及び/又は図8に示される動作を実施する命令を含むことができる。キャリア媒体は、コンピュータアクセス可能な記憶媒体、並びに、有線又は無線の伝送などの伝送媒体を含むことができる。
次に図10を参照すると、システム150の一実施形態のブロック図が示されている。図示の実施形態では、システム150は、1つ以上の周辺装置154及び外部メモリ12に接続されるSOC 10の少なくとも1つの事例を含む。SOC 10に供給電圧を供給すると共に、メモリ12及び/又は周辺装置154に1つ以上の供給電圧を供給する電源156が提示されている。実施形態によっては、SOC 10の1つを超える事例が含まれてもよい(及び1つを超えるメモリ12も含まれてよい)。
周辺装置154は、システム150の種類に応じて、任意の所望の回路機構を含んでもよい。例えば、一実施形態では、システム150はモバイルデバイス(例えば、無線携帯情報端末(personal digital assistant、PDA)、スマートフォン等)であってもよく、周辺装置154は、WiFi(登録商標)、Bluetooth(登録商標)、セルラ、全地球測位システムなど等の、さまざまな種類の無線通信用のデバイスを含んでもよい。周辺装置154として、RAM記憶装置、固体記憶装置又はディスク記憶装置を含む、更なる記憶装置もまた挙げることができる。周辺装置154は、タッチ表示画面又はマルチタッチ表示画面を含む表示画面、キーボード又はその他の入力デバイス、マイクロフォン、スピーカ等などのユーザインタフェースデバイスを含んでもよい。いくつかの実施形態では、ディスプレイ20及び/又は画像センサ26は、周辺装置154とすることができる。他の実施形態では、システム150は、任意の種類のコンピューティングシステム(例えば、デスクトップパーソナルコンピュータ、ラップトップ、ワークステーション、ネットトップ等)であってもよい。
外部メモリ12として、任意の種類のメモリを挙げることができる。例えば、外部メモリ12は、シンクロナスDRAM(SDRAM)、ダブルデータレート(DDR、DDR2、DDR3、その他)SDRAM、RAMBUS(登録商標)DRAM等などの、SRAM、ダイナミックRAM(DRAM)とすることができる。外部メモリ12は、シングルインラインメモリモジュール(SIMM)、デュアルインラインメモリモジュール(DIMM)、その他、などのメモリデバイスが搭載される、1つ以上のメモリモジュールを含むことができる。あるいは、外部メモリ12は、1つ以上のメモリデバイスを含むことができる。これらのメモリデバイスは、チップオンチップでSOC 10の上に搭載されるか、又は、パッケージオンパッケージで実装される。
上述の開示が完全に理解されれば、当業者には数多くの変形及び変更が明らかになるであろう。以下の請求項は、このような変形及び変更を全て包含するように解釈されることが意図されている。

Claims (16)

  1. 複数の構成要素、メモリキャッシュ、及びメモリシステムを含むシステムの表示装置に関するアイドル画面を検出する工程であって、前記メモリキャッシュは、前記複数の構成要素からのメモリ操作に関するデータをキャッシュするものである工程と、
    前記アイドル画面の検出に応答して、前記メモリキャッシュへのフレームデータのキャッシングを有効にする工程であって、フレームデータのキャッシングは、前記アイドル画面が検出されない間は無効にされ、前記メモリキャッシュは前記メモリシステムに接続されるとともに、前記メモリシステムでアクセスされるデータをキャッシュするように構成され、前記メモリキャッシュはメモリ操作に応答して、前記メモリシステムにアクセスする前に、ヒットがないか前記メモリキャッシュがチェックされる工程と、
    フレームデータの前記キャッシングが有効である時間中に、前記メモリシステムからフレームデータを読み出す読出しメモリ操作に応答して、前記フレームデータの少なくとも一部を前記メモリキャッシュにキャッシュする工程と、
    前記複数の構成要素からの読出し操作に応答して、前記複数の構成要素により読み出されるデータを前記メモリキャッシュにキャッシュする工程と、
    を有することを特徴とする、方法。
  2. 前記アイドル画面の検出に応答して、前記メモリキャッシュの電力管理構成を変更する工程を更に含むことを特徴とする、請求項1に記載の方法。
  3. 前記変更する工程は、前記メモリキャッシュでのキャッシュ電源切断を無効にする工程を含むことを特徴とする、請求項2に記載の方法。
  4. 前記変更する工程は、メモリキャッシュサイズの削減を無効にする工程を含むことを特徴とする、請求項2に記載の方法。
  5. 前記アイドル画面の終了を検出する工程と、
    前記終了を検出する工程に応答して、前記メモリキャッシュへの前記フレームデータのキャッシングを無効にする工程と、
    を更に含むことを特徴とする、請求項1に記載の方法。
  6. 前記終了の検出に応答して、
    前記メモリキャッシュでのキャッシュ電源切断を有効にする工程と、
    メモリキャッシュサイズの削減を有効にする工程と、
    を更に含むことを特徴とする、請求項5に記載の方法。
  7. 前記終了を検出する工程は、前記システムの少なくとも1つの構成要素が、電源オンされようとしていることを検出する工程を含むことを特徴とする、請求項5に記載の方法。
  8. 前記終了を検出する工程は、グラフィクス装置が電源オンを要求していることを検出する工程を含む、ことを特徴とする、請求項5に記載の方法。
  9. 前記システムの1つ以上のプロセッサに関するウェイク/スリープイベントをフィルタ処理する工程と、
    前記フィルタ処理されたウェイク/スリープイベントが、前記プロセッサが潜在的にアクティブであることを示すことに応答して、前記終了を検出する工程と、
    を更に含むことを特徴とする、請求項5に記載の方法。
  10. メモリシステムと、
    複数の構成要素と、
    前記メモリシステムに接続され、前記複数の構成要素によって前記メモリシステムでアクセスされるデータをキャッシュするように構成されたメモリキャッシュであって、メモリ操作に応答して、前記メモリシステムにアクセスする前にヒットがないかチェックされ、前記メモリシステムから前記データを読み出す前記複数の構成要素からの読出しメモリ操作に応答して、前記複数の構成要素によりアクセスされた前記データの少なくとも一部が、前記メモリキャッシュにキャッシュされる、メモリキャッシュと、
    前記メモリキャッシュ及び前記メモリシステムに接続されたディスプレイコントローラであって、表示装置に画像を表示するために、前記メモリシステムに記憶される少なくとも1つのフレームバッファを読み出すためのメモリ操作を生成するように構成され、使用中に前記表示装置の前記画像がアイドルであることに応答して前記メモリキャッシュへの割当を要求するようにプログラムされ、前記メモリキャッシュは、前記ディスプレイコントローラからの前記割当要求に応答して前記フレームバッファの少なくとも一部をキャッシュするように構成される、ディスプレイコントローラと、を有することを特徴とする、装置。
  11. 前記ディスプレイコントローラは、使用中に前記表示装置の前記画像が動的であることに応答して、前記メモリキャッシュへの割当を要求しないようにプログラムされることを特徴とする、請求項10に記載の装置。
  12. 前記表示装置の前記画像は、N個の連続した静的フレームを検出することに応答してアイドルであると検出され、Nは1より大きい整数であり、前記N個の連続した静的フレームが検出されなければ、前記画像は動的であると検出されることを特徴とする、請求項10に記載の装置。
  13. 前記表示装置の前記画像が的もしくは動的であることの出に応答して、前記メモリキャッシュの電力管理構成が変更されることを特徴とする、請求項10に記載の装置。
  14. 前記電力管理構成は、前記表示装置の前記画像が的であることの検出に応答して、キャッシュの電源切断を無効にするように変更されることを特徴とする、請求項13に記載の装置。
  15. 前記電力管理構成は、前記表示装置の前記画像が的であることの検出に応答して、キャッシュの自動サイズ変更を無効にするように変更されることを特徴とする、請求項13に記載の装置。
  16. 1以上のプロセッサで実行された際に、該1以上のプロセッサに請求項1から請求項9のいずれか1項に記載の方法を実行させる命令を有するプログラム。
JP2016512901A 2013-05-09 2014-04-03 アイドル表示ケースにおけるメモリの省電力化 Active JP6072358B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/890,306 2013-05-09
US13/890,306 US9261939B2 (en) 2013-05-09 2013-05-09 Memory power savings in idle display case
PCT/US2014/032811 WO2014182393A1 (en) 2013-05-09 2014-04-03 Memory power savings in idle display case

Publications (2)

Publication Number Publication Date
JP2016524745A JP2016524745A (ja) 2016-08-18
JP6072358B2 true JP6072358B2 (ja) 2017-02-01

Family

ID=50780859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016512901A Active JP6072358B2 (ja) 2013-05-09 2014-04-03 アイドル表示ケースにおけるメモリの省電力化

Country Status (7)

Country Link
US (2) US9261939B2 (ja)
EP (2) EP2994825B1 (ja)
JP (1) JP6072358B2 (ja)
KR (2) KR101773175B1 (ja)
CN (2) CN105190531B (ja)
TW (1) TWI528169B (ja)
WO (1) WO2014182393A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9261939B2 (en) 2013-05-09 2016-02-16 Apple Inc. Memory power savings in idle display case
JP2015011652A (ja) * 2013-07-02 2015-01-19 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US9513693B2 (en) 2014-03-25 2016-12-06 Apple Inc. L2 cache retention mode
TWI653527B (zh) * 2014-12-27 2019-03-11 美商英特爾公司 當計算元件運作時致能系統低電力狀態之技術
CN104934007A (zh) * 2015-07-06 2015-09-23 合肥京东方光电科技有限公司 数据线驱动方法及单元、源极驱动器、面板驱动装置和显示装置
TWI576697B (zh) * 2015-12-30 2017-04-01 冠德國際智慧財產權有限公司 動態隨機存取記憶體發光控制系統
KR102295315B1 (ko) * 2016-04-15 2021-08-30 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치, 전자 부품, 및 전자 기기
CN106028131B (zh) * 2016-06-24 2021-07-16 联想(北京)有限公司 一种控制方法、装置及系统
US10228750B2 (en) * 2016-10-31 2019-03-12 Dell Products, L.P. Reducing the power consumption of an information handling system capable of handling both dynamic and static display applications
US11054887B2 (en) * 2017-12-28 2021-07-06 Advanced Micro Devices, Inc. System-wide low power management
US11314310B2 (en) * 2017-12-29 2022-04-26 Intel Corporation Co-existence of full frame and partial frame idle image updates
CN110069223B (zh) * 2018-01-23 2023-04-18 上海济丽信息技术有限公司 一种基于Android系统的智能大屏幕拼接显示单元
US20190303322A1 (en) * 2018-03-29 2019-10-03 Qualcomm Incorporated Direct interrupt routing for display processing
CN112005218B (zh) * 2018-04-28 2024-01-30 华为技术有限公司 一种图像处理器的功率分配的方法、装置及系统
US11243598B2 (en) 2018-06-01 2022-02-08 Apple Inc. Proactive power management of a graphics processor
KR102559380B1 (ko) * 2018-08-08 2023-07-26 삼성디스플레이 주식회사 검사 시스템, 이의 멀티 타임 프로그래밍 방법 및 표시 장치
KR102519570B1 (ko) * 2018-11-12 2023-04-10 삼성디스플레이 주식회사 표시 장치 및 이를 이용한 표시 패널의 구동 방법
CN109272972B (zh) * 2018-11-30 2021-04-09 北京集创北方科技股份有限公司 显示装置及其控制方法
CN114008570B (zh) * 2020-05-28 2024-01-30 京东方科技集团股份有限公司 触控显示设备及其触控响应方法、系统及存储介质
US12073806B2 (en) * 2020-10-27 2024-08-27 Advanced Micro Devices, Inc. Refreshing displays using on-die cache
TWI806769B (zh) 2022-01-25 2023-06-21 神基科技股份有限公司 受電裝置及供電路徑的控制方法
KR102616344B1 (ko) 2023-04-05 2023-12-20 이은주 영상 변환 장치 및 그 방법
CN117555721B (zh) * 2024-01-12 2024-05-07 深圳疆泰科技有限公司 飞行器fpga的比特翻转的处理方法及装置

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332664A (ja) * 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
US5512921A (en) 1994-06-22 1996-04-30 Microsoft Corporation Visual display system having low energy data storage subsystem with date compression capabilities, and method for operating same
JP3106872B2 (ja) * 1994-09-02 2000-11-06 株式会社日立製作所 画像処理プロセッサ及びそれを用いたデータ処理システム
JPH0898148A (ja) * 1994-09-29 1996-04-12 Toshiba Corp 画像ファイリング装置
US5961617A (en) 1997-08-18 1999-10-05 Vadem System and technique for reducing power consumed by a data transfer operations during periods of update inactivity
US6731290B2 (en) 2001-09-28 2004-05-04 Intel Corporation Window idle frame memory compression
US20030145239A1 (en) * 2002-01-31 2003-07-31 Kever Wayne D. Dynamically adjustable cache size based on application behavior to save power
US7152187B2 (en) 2003-11-26 2006-12-19 Texas Instruments Incorporated Low-power SRAM E-fuse repair methodology
JP2006084758A (ja) * 2004-09-16 2006-03-30 Seiko Epson Corp 電気光学装置用駆動回路及び方法、電気光学装置、並びに電子機器
US7457917B2 (en) 2004-12-29 2008-11-25 Intel Corporation Reducing power consumption in a sequential cache
CN101171563A (zh) * 2005-05-10 2008-04-30 Nxp股份有限公司 用于异步数字电路的睡眠看门狗电路
US7800621B2 (en) * 2005-05-16 2010-09-21 Ati Technologies Inc. Apparatus and methods for control of a memory controller
US20070043965A1 (en) * 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
US7958312B2 (en) 2005-11-15 2011-06-07 Oracle America, Inc. Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state
US20070288776A1 (en) 2006-06-09 2007-12-13 Dement Jonathan James Method and apparatus for power management in a data processing system
US7536511B2 (en) * 2006-07-07 2009-05-19 Advanced Micro Devices, Inc. CPU mode-based cache allocation for image data
TWI323842B (en) 2006-07-17 2010-04-21 Acer Inc Method for power management
JP2008098148A (ja) 2006-09-14 2008-04-24 Canon Inc 有機発光装置
US20080100636A1 (en) 2006-10-31 2008-05-01 Jiin Lai Systems and Methods for Low-Power Computer Operation
US20080143695A1 (en) 2006-12-19 2008-06-19 Dale Juenemann Low power static image display self-refresh
GB2461900B (en) * 2008-07-16 2012-11-07 Advanced Risc Mach Ltd Monitoring graphics processing
US20100117931A1 (en) * 2008-11-10 2010-05-13 Microsoft Corporation Functional image representation
US8689027B2 (en) * 2008-11-13 2014-04-01 International Business Machines Corporation Tiled memory power management
US8274501B2 (en) * 2008-11-18 2012-09-25 Intel Corporation Techniques to control self refresh display functionality
US7853817B2 (en) 2009-02-26 2010-12-14 Apple Inc. Power management independent of CPU hardware support
US8103894B2 (en) 2009-04-24 2012-01-24 International Business Machines Corporation Power conservation in vertically-striped NUCA caches
US8285936B2 (en) 2009-10-20 2012-10-09 The Regents Of The University Of Michigan Cache memory with power saving state
JP2011097197A (ja) * 2009-10-27 2011-05-12 Yamaha Corp メモリアクセス制御装置
KR101661931B1 (ko) 2010-02-12 2016-10-10 삼성전자주식회사 3차원 그래픽스 랜더링 장치 및 그 방법
US8854344B2 (en) 2010-12-13 2014-10-07 Ati Technologies Ulc Self-refresh panel time synchronization
US8872836B2 (en) 2011-01-25 2014-10-28 Qualcomm Incorporated Detecting static images and reducing resource usage on an electronic device
CN102158653B (zh) * 2011-05-03 2013-01-16 东华大学 一种实时高动态范围数字图像获取装置及方法
TWI489466B (zh) 2011-06-15 2015-06-21 Phison Electronics Corp 記憶體抹除方法、記憶體控制器與記憶體儲存裝置
US8847968B2 (en) * 2011-07-12 2014-09-30 Qualcomm Incorporated Displaying static images
US8713256B2 (en) 2011-12-23 2014-04-29 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including dynamic cache sizing and cache operating voltage management for optimal power performance
US9021207B2 (en) * 2012-12-20 2015-04-28 Advanced Micro Devices, Inc. Management of cache size
US9058676B2 (en) 2013-03-26 2015-06-16 Apple Inc. Mechanism to detect idle screen on
US9153212B2 (en) 2013-03-26 2015-10-06 Apple Inc. Compressed frame writeback and read for display in idle screen on case
US9396122B2 (en) 2013-04-19 2016-07-19 Apple Inc. Cache allocation scheme optimized for browsing applications
US9261939B2 (en) 2013-05-09 2016-02-16 Apple Inc. Memory power savings in idle display case
US20150248741A1 (en) * 2014-03-02 2015-09-03 Qualcomm Incorporated System and method for providing power-saving static image display refresh in a dram memory system

Also Published As

Publication number Publication date
US20160116969A1 (en) 2016-04-28
EP3309674A1 (en) 2018-04-18
TW201502763A (zh) 2015-01-16
CN105190531A (zh) 2015-12-23
US10310586B2 (en) 2019-06-04
CN108196809B (zh) 2021-02-12
KR20160006758A (ko) 2016-01-19
CN108196809A (zh) 2018-06-22
TWI528169B (zh) 2016-04-01
US20140337649A1 (en) 2014-11-13
KR101773175B1 (ko) 2017-08-30
EP3309674B1 (en) 2023-01-11
EP2994825B1 (en) 2018-01-17
KR20170101320A (ko) 2017-09-05
EP2994825A1 (en) 2016-03-16
KR101862275B1 (ko) 2018-07-05
US9261939B2 (en) 2016-02-16
WO2014182393A1 (en) 2014-11-13
JP2016524745A (ja) 2016-08-18
CN105190531B (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
JP6072358B2 (ja) アイドル表示ケースにおけるメモリの省電力化
US8112647B2 (en) Protocol for power state determination and demotion
US9690353B2 (en) System and method for initiating a reduced power mode for one or more functional blocks of a processor based on various types of mode request
TWI341969B (en) Method for causing a memory to enter self refresh, memory apparatus that can enter a self refresh, and coumputing system
US8271812B2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US9329658B2 (en) Block-level sleep logic
US10635337B2 (en) Dynamic configuration of compressed virtual memory
JP2006517315A (ja) プロセッサ電力状態を考慮するメモリコントローラ
US7536511B2 (en) CPU mode-based cache allocation for image data
JP2018506111A (ja) 計算要素がアクティブであるときのシステム低電力状態有効化
TWI553549B (zh) 包括多個不同處理器核心之處理器
GB2484204A (en) Power management of processor cache during processor sleep
US9153212B2 (en) Compressed frame writeback and read for display in idle screen on case
KR101945346B1 (ko) 동적 백라이트 제어 기능을 갖는 적응적 부분 스크린 업데이트
US9196187B2 (en) System and method of reducing power using a display inactive indication
JP2011044072A (ja) アイドル状態検出回路、半導体集積回路、信号処理装置、アイドル状態検出方法
US20240168658A1 (en) System and Method to Reduce Power Consumption When Conveying Data to a Device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161227

R150 Certificate of patent or registration of utility model

Ref document number: 6072358

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250