TW201502763A - 在閒置顯示情況中之記憶體電力節省 - Google Patents

在閒置顯示情況中之記憶體電力節省 Download PDF

Info

Publication number
TW201502763A
TW201502763A TW103114566A TW103114566A TW201502763A TW 201502763 A TW201502763 A TW 201502763A TW 103114566 A TW103114566 A TW 103114566A TW 103114566 A TW103114566 A TW 103114566A TW 201502763 A TW201502763 A TW 201502763A
Authority
TW
Taiwan
Prior art keywords
memory
cache
display
driver
idle
Prior art date
Application number
TW103114566A
Other languages
English (en)
Other versions
TWI528169B (zh
Inventor
Sukalpa Biswas
Shinye Shiu
La Cropte De Chanterac Cyril De
Manu Gulati
Pulkit Desai
rong zhang Hu
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 TW201502763A publication Critical patent/TW201502763A/zh
Application granted granted Critical
Publication of TWI528169B publication Critical patent/TWI528169B/zh

Links

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
    • 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
    • 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/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)

Abstract

在一實施例中,一種系統包括一包括一快取記憶體的記憶體控制器,及經組態以控制一顯示器之一顯示器控制器。該系統可經組態以偵測正在顯示之影像係本質上靜態的,且可經組態以使得該顯示器控制器請求在該快取記憶體中針對源圖框緩衝器資料進行分配。在一些實施例中,該系統亦可更改該快取記憶體中之電源管理組態,以防止該快取記憶體在閒置螢幕情況期間關閉或減小其有效大小,從而可仍然快取該圖框緩衝器資料。在該顯示器動態改變之時間期間,可不在該快取記憶體中快取該圖框緩衝器資料,且電源管理組態可准許關閉該快取記憶體/減小該快取記憶體大小。

Description

在閒置顯示情況中之記憶體電力節省
本發明係關於包括積體電路、顯示裝置及快取之數位系統的領域。
各種類型之數位系統常常包括(或連接至)一顯示器,以供使用者與裝置互動。顯示器可併入至裝置中。併入之顯示器之實例包括各種智慧型手機、平板電腦或其他個人數位助理上的觸控式螢幕。併入之顯示器之另一實例為蓋子中具有螢幕之膝上型電腦。顯示器亦可經由纜線連接至裝置。連接之顯示器之實例包括各種桌上型電腦及具有放在使用者面前之桌子上的單獨顯示器的工作站。一些桌上型電腦亦具有併入之顯示器(例如,來自蘋果公司的各種iMac®電腦)。該顯示器提供一視覺介面,使用者可觀看該視覺介面,以與系統及在該系統上執行之應用程式互動。在一些情況下(例如,觸控式螢幕),顯示器亦提供用以對該系統輸入的使用者介面。亦可包括其他使用者輸入裝置(例如,鍵盤、滑鼠或其他指標裝置等)。
在許多情況下,在一段時間內顯示之影像係基本上靜態的。舉例而言,若使用者正在顯示器上閱讀電子書,則顯示器可靜態地顯示一頁文字,直至使用者讀完該頁。當電影被暫停時,在暫停生效的時間內影像可無改變。當使用者正瀏覽網頁時,使用者可再次全神貫注於內容,且影像可為靜態的。當正在顯示之靜態影像存在極少改變或 無改變時,在螢幕之每一再新循環提取影像所消耗之記憶體頻寬可在頻寬及所消耗之功率兩方面皆為浪費的。
在一實施例中,一種系統包括一包括一快取記憶體的記憶體控制器,及經組態以控制一顯示器之一顯示器控制器。該系統可經組態以偵測正在顯示之影像係本質上靜態的,且可經組態以使得該顯示器控制器請求在該快取記憶體中針對源圖框緩衝器資料進行分配。可藉由在該快取記憶體中快取該圖框緩衝器資料(或該圖框緩衝器資料之至少一部分)而節約原本將在外部記憶體介面上消耗之電力。在一些實施例中,該系統亦可更改該快取記憶體中之電源管理組態,以防止該快取記憶體在閒置螢幕情況期間關閉或減小其有效大小,從而可仍然快取該圖框緩衝器資料。在該等所顯示之影像動態改變之時間期間,可不在該快取記憶體中快取該圖框緩衝器資料,且電源管理組態可准許關閉該快取記憶體/減小該快取記憶體大小。
10‧‧‧系統單晶片(SOC)
12‧‧‧記憶體
14‧‧‧中央處理單元(CPU)複合體
16‧‧‧顯示管道
18A、18B‧‧‧周邊組件
20‧‧‧顯示器
22‧‧‧記憶體控制器
24‧‧‧影像信號處理器(ISP)
26‧‧‧影像感測器
27‧‧‧通信網狀架構
28‧‧‧處理器
30‧‧‧二階(L2)快取
32‧‧‧電源管理器(PMGR)
34‧‧‧圖形處理單元(GPU)
36‧‧‧快取記憶體
38A、38B‧‧‧組態暫存器
40A、40B‧‧‧圖框緩衝器
70‧‧‧顯示器驅動程式
72‧‧‧GPU驅動程式
74‧‧‧ISP驅動程式
76‧‧‧其他媒體驅動程式
78‧‧‧其他周邊驅動程式
80‧‧‧CPU篩選器
82‧‧‧PMGR驅動程式
84‧‧‧記憶體控制器驅動程式
86‧‧‧圖框緩衝器開啟/關閉狀態
87‧‧‧顯示器開啟/關閉狀態
88‧‧‧其他開啟/關閉狀態
120‧‧‧無作用區
122‧‧‧虛線
124‧‧‧虛線
126‧‧‧虛線
128‧‧‧虛線
150‧‧‧系統
154‧‧‧周邊裝置
156‧‧‧電源供應器
200‧‧‧電腦可存取儲存媒體
Pa‧‧‧CPU在作用中之概率
Pi‧‧‧CPU閒置之概率
以下詳細描述參考隨附圖式,現簡要描述該等圖式。
圖1為包括一系統單晶片(SOC)、一記憶體、影像感測器及顯示裝置之一系統之一實施例的方塊圖。
圖2為說明處於動態顯示狀態中之系統之一實施例之操作的流程圖。
圖3為說明處於閒置顯示狀態中之系統之一實施例之操作的流程圖。
圖4為可在系統之一實施例中執行之各種軟體模組的方塊圖。
圖5為說明圖4中所示之PMGR驅動程式之一實施例之操作的流程圖。
圖6為說明CPU篩選器之一實施例的圖。
圖7為說明CPU篩選器之一實施例之操作的流程圖。
圖8為說明回應於CPU篩選器的PMGR驅動程式之一實施例之操作的流程圖。
圖9為電腦可存取儲存媒體之一實施例的方塊圖。
圖10為包括圖1中所示的SOC之一系統之另一實施例的方塊圖。
雖然本發明易受各種修改及替代形式之影響,但在附圖中以舉例方式展示了其特定實施例,且將在本文中對其進行詳細描述。然而應瞭解,該等圖式及對其之詳細描述並非意欲將本發明限於所揭示的特定形式,而正相反,本發明意欲涵蓋屬於附屬申請專利範圍所界定的本發明之精神及範疇內的所有修改、等效物及替代。本文中所使用之標題僅出於組織性目的,且不意欲用以限制該描述之範疇。如本申請案全篇中所使用之詞語「可」係按允許意義(亦即,意謂有可能)而非強制意義(亦即,意謂必須)使用。類似地,詞語「包括」意謂包括但不限於。
可將各種單元、電路或其他組件描述為「經組態以」執行一或多項任務。在此等上下文中,「經組態以」係對結構之廣泛敍述,其大體上意謂「具有在操作期間執行該或該等任務之電路」。因而,甚至在單元/電路/組件當前未接通時,單元/電路/組件仍可經組態以執行任務。一般而言,形成對應於「經組態以」之結構的電路可包括硬體電路及/或儲存可執行以實施操作之程式指令的記憶體。該記憶體可包括揮發性記憶體(諸如,靜態或動態隨機存取記憶體),及/或非揮發性記憶體(諸如,光碟或磁碟儲存器、快閃記憶體、可程式化唯讀記憶體,等等)。類似地,為了描述之便利起見,各種單元/電路/組件可被描述為執行一或多項任務。此等描述應解釋為包括片語「經組態以」。敍述經組態以執行一或多項任務之單元/電路/組件明確地不意欲對於彼單元/電路/組件援引35 U.S.C.§ 112第六段之解釋。
本說明書包括對「一個實施例」或「一實施例」的引用。片語「在一個實施例中」或「在一實施例中」之出現未必指同一實施例,但是一般考量到包括特徵之任何組合的實施例,除非本文中明確否認。可以與本發明一致之任何合適方式來組合特定特徵、結構或特性。
現參看圖1,SOC 10之一實施例的方塊圖被展示為耦接至記憶體12、一或多個影像感測器26及一或多個顯示器20。如由名稱所暗示,SOC 10之組件可整合至單一半導體基板上,作為積體電路「晶片」。在一些實施例中,該等組件可實施於一系統中之兩個或兩個以上離散晶片上。然而,在本文中將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包括一或多個處理器28及一二階(L2)快取30。在所說明之實施例中,記憶體控制器包括快取記憶體36。記憶體控制器22及顯示管道16兩者皆可分別包括組態暫存器38A至38B。其他組件亦可同樣包括組態暫存器,圖1中未示。記憶體12可在使用期間儲存包括圖框緩衝器40A及可選的圖框緩衝器40B的一或多個圖框緩衝器。
顯示管道16可包括用以處理一或多個靜止圖框及/或一或多個視訊序列以供顯示於顯示器20上之硬體。通常,對於每一源靜止圖框或 源視訊序列圖框,顯示管道16可經組態以產生讀取記憶體操作,以經由記憶體控制器22自記憶體12讀取表示圖框之資料。每一圖框可儲存於例如記憶體12中之圖框緩衝器40A至40B中,且顯示管道16可經程式化具有指向記憶體12中之圖框緩衝器40A至40B的指標,以自圖框緩衝器讀取圖框。每一圖框可包括描述待顯示之影像的影像資料,例如,像素、色彩分量、α透明混色(alpha blending)值等等。
顯示管道16可經組態以對影像資料執行任何類型之處理。在一實施例中,顯示管道16可經組態以按比例縮放靜止圖框,且抖動、按比例縮放視訊序列之圖框,及/或對其執行色彩空間轉換。顯示管道16可經組態以對靜止圖框及視訊序列圖框進行透明混色,以產生輸出圖框供顯示。顯示管道16亦可被更普通地稱作顯示控制單元。顯示控制單元(或顯示器控制器)可大體上為經組態以(自一或多個源,諸如靜止圖框及/或視訊序列圖框)準備供顯示之圖框的任何硬體。由顯示管道16執行之各種處理可大體上被稱為合成。合成可包括藉以組合來自各種影像之影像資料以產生輸出影像的任何處理。
記憶體控制器22可大體上包括用於自SOC 10之其他組件接收記憶體操作且用於存取記憶體12以完成該等記憶體操作的電路。記憶體控制器22可經組態以存取任何類型之記憶體12。舉例而言,記憶體12可為靜態隨機存取記憶體(SRAM)、動態RAM(DRAM)(諸如,包括雙倍資料速率(DDR、DDR2、DDR3等)DRAM之同步DRAM(SDRAM))。可支援DDR DRAM之低功率/行動版本(例如,LPDDR、mDDR等等)。
在所說明之實施例中,記憶體控制器22可包括快取記憶體36以儲存最近存取之記憶體資料。在SOC實施中,例如,快取記憶體36可藉由在預期不久後將再次自記憶體12存取資料的情況下避免自記憶體12重新存取資料而減小SOC中之功率消耗。因此,在存取記憶體12之 前,快取記憶體36可由記憶體控制器22存取以偵測記憶體操作之命中/未中。若記憶體操作在快取記憶體36中命中,則可不存取記憶體12。互連網狀架構27可支援與記憶體操作一起傳輸快取提示(cache hint),以識別用於儲存於快取記憶體36中的候選項。快取記憶體36可因此儲存對應於SOC 10中的存取記憶體之任何組件的資料。在一些情況下,該快取記憶體亦可被稱為系統快取,而非僅為某些組件提供服務之諸如L2快取30或處理器28中之快取的私用快取。另外,在一些實施例中,系統快取無需定位於記憶體控制器22內。
在諸如圖框緩衝器40A至40B中之資料之圖框資料的情況下,消費者為顯示管道16。通常,給定圖框緩衝器可由顯示管道16讀取一次,此係因為圖框可通常在顯示管道16起始一新圖框之前變為待顯示之下一影像。舉例而言,頻繁使用每秒30或60圖框之圖框速率。因此,每秒讀取圖框30或60次。其間,圖框資料之源(例如,視訊解碼器、GPU 34等等)可正在產生待顯示之新圖框,且可正在將圖框資料寫入不同記憶體位置中。當下一圖框讀取開始時,可自不同記憶體位置讀取圖框。因此,在正顯示之影像正隨圖框改變的情況下,可在快取記憶體36中停用圖框資料之快取。圖框資料大體上隨時間改變的情況可被稱為動態顯示,或動態顯示狀態。正由顯示器顯示之影像可被稱為動態的。
在另一方面,可存在多個連續圖框具有靜態內容的情況。通常,靜態內容可指不隨圖框改變之內容(例如,在圖框間,每一像素相同),或指改變小於臨限量使得前一圖框非常接近於當前圖框之內容。偵測具有靜態內容之多個連續圖框可識別一閒置顯示狀態或閒置顯示情況(或閒置螢幕開啟情況,此係由於顯示螢幕仍然開啟且顯示靜態影像)。該閒置顯示情況可為所顯示之視覺內容在一段時間內不改變或改變極小而顯示器開啟的情況。使用者可觀看所顯示之資料, 諸如,電子書、網頁或電子郵件。或,使用者可已暫停視訊。圖框資料大體靜態之情況可被稱為閒置顯示或閒置顯示狀態,且正由顯示器顯示之影像可被稱為閒置或靜態的。
在閒置顯示情況中,顯示管道16可仍然為圖框資料之唯一消費者。然而,可多次讀取同一圖框資料。因此,針對閒置顯示情況而啟用快取可為合乎要求的。更確切而言,顯示管道16可為可程式化的(例如,在組態暫存器38B中),以啟用或停用快取記憶體36中的快取。若啟用快取,則顯示管道16可經組態以與指示應將資料分配於快取記憶體36中之一快取提示一起來傳輸用以讀取圖框緩衝器40A至40B之記憶體讀取操作。在一些實施例中,若正在合成一個以上圖框以產生輸出圖框,則可快取含有最多圖框資料之圖框(藉由包括快取分配提示)且可不快取其他圖框。在其他實施例中,多個圖框可裝入快取記憶體36中,且可快取多個圖框。在其他實施例中,僅僅圖框之一部分可裝入快取記憶體36中,且顯示管道16可經組態以提供針對該圖框之部分的快取分配提示。另一方面,若快取被停用,則顯示管道16可提供指示無快取之快取提示。如上文所提及的,可在動態顯示情況中停用快取。在一實施例中,閒置顯示情況亦可包括判定可受益於快取記憶體36中之快取的其他記憶體存取組件係關閉的。舉例而言,處理器28、GPU 34、ISP 24,及其他媒體裝置可受益於快取。可不受益於快取之其他組件無需關閉,例如,諸如I2C(積體電路間(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之一記憶體控制器驅動程式。下文更詳細地論述一實施例之額外細節。軟體可儲存於記憶體12中以供處理器28提取及執行,且可同樣被快取於L2快取30及/或處理器28內之快取中。軟體亦可儲存於系統中的諸如快閃記憶體、固態磁碟儲存器、磁碟或光碟儲存器等之非揮發性記憶體中。
顯示器20可為任何種類之視覺顯示裝置。顯示器可包括(例如)用於諸如智慧型電話、平板電腦等之行動裝置的觸控式螢幕型顯示器。各種顯示器20可包括液晶顯示器(LCD)、發光二極體(LED)、電漿、陰極射線管(CRT)等。顯示器可整合至包括SoC 10之系統中(例如,智 慧型手機或平板電腦),及/或可為一具有不同外殼之裝置,諸如,電腦監視器、電視或其他裝置。
ISP 24可經組態以自影像感測器26接收影像感測器資料,且可經組態以處理該資料以產生影像圖框(其可為適當的)(例如)以供顯示於顯示器20上。影像感測器26可包括攝影機(例如,電荷耦合裝置(CCD)、互補式金屬氧化物半導體(CMOS)感測器等)。
GPU 24可包括一或多個GPU處理器,且可進一步包括用於GPU之本端快取及/或用於介接至SOC 10之其他組件的介面電路(例如,至通信網狀架構27之介面)。通常,GPU處理器可為經最佳化而用於執行圖形管線中之操作以將物件呈現於圖框中的處理器。舉例而言,該等操作可包括變換及照明、三角組合、光柵化、著色、紋理化等。
CPU複合體14可包括充當SOC 10之CPU的一或多個CPU處理器28。系統之CPU包括執行系統(諸如,作業系統)之主要控制軟體的處理器。通常,在使用期間由CPU執行之軟體可控制系統之其他組件,以實現系統之所要的功能性。由處理器28執行之軟體可包括上文提及且下文更詳細描述之各種驅動程式。處理器28亦可執行其他軟體,諸如,應用程式。應用程式可提供使用者功能性,且可依賴於作業系統以進行較低階裝置控制。因此,處理器28亦可被稱作應用程式處理器。CPU複合體14可進一步包括其他硬體,諸如,L2快取30及/或及至系統之其他組件的介面(例如,至通信網狀架構27之介面)。
周邊裝置18A至18B可為包括於SOC 10中之額外硬體功能性的任何集合。舉例而言,周邊裝置18A至18B可包括視訊周邊裝置,諸如視訊編碼器/解碼器、縮放器、旋轉器、混色器等。周邊裝置可包括音訊周邊裝置,諸如,麥克風、揚聲器、至麥克風及揚聲器之介面、音訊處理器、數位信號處理器、混頻器等。周邊裝置可包括用於在SOC 10外部之各種介面的介面控制器(例如,周邊裝置18B),該等各 種介面包括諸如通用串列匯流排(USB)、包括快速PCI(PCIe)之周邊組件互連(PCI)、序列埠與平行埠等的介面。周邊裝置可包括網路連接周邊裝置,諸如,媒體存取控制器(MAC)。可包括任何硬體集合。
通信網狀架構27可為用於在SOC 10之組件之間通信的任何通信互連及協定。通信網狀架構27可為基於匯流排的,包括共用匯流排組態、縱橫制組態及具有橋接器之階層匯流排。通信網狀架構27亦可為基於封包的,且可為具有橋接器的階層式、縱橫制、點對點或其他互連件。
PMGR 32可經組態以控制SOC 10之其他組件的電源開啟及電源關閉。意即,PMGR 32可導致其他組件電源開啟及電源關閉。PMGR 32可處於直接軟體控制下(例如,軟體可直接請求組件之電源開啟及/或電源關閉)及/或可經組態以監視SOC 10且判定何時應將各種組件電源開啟或電源關閉。PMGR 32亦可經組態以使組件在不同功率狀態之間轉變(例如,電壓/頻率組合)。PMGR 32可經進一步組態以向外部電源控制器請求SOC 10中之組件的各種電壓量值。
應注意,SOC 10之組件之數目(及用於圖1中所展示之組件的子組件之數目,諸如,在CPU複合體14內)可隨實施例而變化。每一組件/子組件的數目可比圖1中所展示之數目多或少。
現參看圖2,展示一流程圖,其說明在動態顯示狀態中的圖1中所示之系統之一實施例的用以偵測閒置顯示情況且轉變為閒置顯示狀態的操作。未展示出現在動態顯示狀態中之其他操作。雖然為易於理解以特定次序展示區塊,但可使用其他次序。在一實施例中,圖2之操作可實施於軟體中,且因而該軟體可包括在執行時實施圖2中所示之操作的指令。其他實施例可將圖2中所示之特徵實施於硬體及/或硬體與軟體之一組合中。
在動態顯示狀態中,系統可監視以偵測閒置顯示情況。可以多 種方式偵測閒置顯示:藉由分析連續圖框以發現變化,藉由注意到同一圖框緩衝器被用於連續圖框等。另外,在一些實施例中,諸如CPU複合體14、GPU 34、ISP 24及/或周邊裝置18A至18B之其他組件的彼狀態可影響是否偵測到閒置顯示情況。若偵測到閒置顯示情況(決策區塊50,「是」分支),則系統可程式化顯示管道組態暫存器38B以請求用於圖框緩衝器讀取之快取分配(區塊52)。以另一方式看,可啟用圖框資料之快取。在一實施例中,在通信網狀架構27上傳輸之記憶體操作可包括一快取提示,且顯示管道可在啟用快取的情況下使用指示快取分配的一快取提示。記憶體亦可程式化記憶體控制器組態暫存器38A,以修改快取記憶體36之電源管理控制(區塊54)。確切而言,可停用快取36之電源關閉(確保快取記憶體36在閒置顯示狀態期間保持「喚醒」)。亦可停用快取自動重調大小特徵(其可用以藉由使快取之區段電源關閉來減小快取36之有效大小),以確保快取36在閒置顯示情況中保持為最大大小。系統可轉變為閒置顯示狀態(區塊56)。
圖3為說明在閒置顯示狀態中的圖1中所示之系統之一實施例的用以偵測動態顯示情況且轉變為動態顯示狀態的操作的一流程圖。雖然為易於理解以特定次序展示區塊,但可使用其他次序。未展示可出現在閒置顯示狀態中之其他操作。在一實施例中,圖3之操作可實施於軟體中,且因而該軟體可包括在執行時實施圖3中所示之操作的指令。其他實施例可將圖3中所示之特徵實施於硬體及/或硬體與軟體之一組合中。
在閒置顯示狀態中,系統可監視以偵測動態顯示情況。可以多種方式偵測閒置顯示:藉由分析連續圖框以發現變化,藉由注意到用於連續圖框之圖框緩衝器的變化等。另外,在一些實施例中,諸如CPU複合體14、GPU 34、ISP 24及/或周邊裝置18A至18B之其他組件的彼狀態可影響是否偵測到動態顯示情況。若偵測到動態顯示情況 (決策區塊60,「是」分支),則系統可程式化顯示管道組態暫存器38B,從而不請求用於圖框緩衝器讀取之快取分配(區塊62)。在一實施例中,支援指示無快取之快取提示,且可將該提示用於動態顯示狀態中之圖框緩衝器資料讀取。以另一方式看,可停用圖框資料之快取。系統亦可程式化記憶體控制器組態暫存器38A,以修改快取記憶體36之電源管理控制(區塊64)。確切而言,可啟用快取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亦可經組態以基於硬體監視而自動使組件電源開啟且電源關閉。
因此,如圖4中所說明的,GPU驅動程式72可在存在待執行之GPU工作時請求將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中記錄對應組件之通電/斷電狀態。可針對來自顯示器驅動程式70之顯示器開啟/關閉請求而更新顯示器開啟/關閉狀態87。在一些實施例中,至少關於判定閒置/動態顯示情況,PMGR驅動程式82僅可維持正開啟的所關注之組件的計數。當計數達到0時,影響閒置/動態顯示狀態判定之所有組件可為關閉的。非零計數指示正開啟之此等組件的數目。
在所說明之實施例中,圖框緩衝器亦經虛擬化為一組件,且在開啟/關閉狀態86中被記錄為開啟/關閉的。PMGR驅動程式82可經組態以自顯示器驅動程式70所傳輸之FB開啟/關閉請求記錄圖框緩衝器 之開啟/關閉狀態,該等請求可基於由顯示器驅動程式70進行的對靜態圖框(圖4中的N個靜態圖框71)之偵測而產生。在此實施例中,顯示器驅動程式70可負責監視靜態圖框,且可指示何時已偵測到N個連續靜態圖框,其中N為大於一之整數。在一些實施例中,N可為一可程式化之參數。回應於偵測N個靜態圖框,顯示器驅動程式70可請求使圖框緩衝器斷電(圖4中之FB開啟/關閉請求)。若已偵測到小於N個靜態圖框(包括零個靜態圖框),則顯示器驅動程式70可請求使圖框緩衝器通電。基於圖框緩衝器開啟/關閉請求及SOC 10中之其他組件的開啟/關閉狀態,PMGR驅動程式82可偵測閒置/動態顯示狀態。基於所偵測之閒置/動態顯示狀態,PMGR驅動程式82可啟用/停用圖框緩衝器資料之快取(傳達至顯示器驅動程式70,其可程式化顯示管道16),且可修改快取電源管理控制(傳達至記憶體控制器驅動程式84,其可程式化記憶體控制器22/快取記憶體36)。
更確切而言,一些組件可與顯示器是否為閒置的有關。舉例而言,若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可將對應的作用中/閒置指示提供至PMGR驅動程式82,以判定出於閒置/動態顯示偵測之目的處理器28是否被視為通電。在一實施例中,作用中/閒置指示可係在作用中及閒置之概率。
圖5為說明用於閒置/動態顯示偵測的PMGR驅動程式82之一實施例之操作的流程圖。雖然為易於理解以特定次序展示區塊,但可使用其他次序。在一實施例中,圖5之操作可實施於軟體中,且因而該軟體可包括在執行時實施圖5中所示之操作的指令。其他實施例可將圖5中所示之特徵實施於硬體及/或硬體與軟體之組合中。
若PMGR驅動程式82已自驅動程式接收一通電請求(決策區塊90,「是」分支),則顯示器係開啟的(顯示開啟/關閉狀態87係開啟的)(決策區塊92,「是」分支),且影響閒置/動態顯示狀態判定之一或多個其他資源並非開啟的(決策區塊94,「是」分支),則PMGR驅動程式82可自閒置顯示狀態變為動態顯示狀態,且因此可停用顯示管道16中之快取(藉由將一指示傳輸至顯示器驅動程式70--區塊96),且啟用快取睡眠/自動重調大小(藉由將一指示傳輸至記憶體控制器驅動程式84--區塊98)。如上文提及的,在一些實施例中,可追蹤開啟之其他組件的數目,且因此可藉由判定該數目是否為零而實施決策區塊 94。因此,決策區塊90「是」分支、決策區塊92「是」分支及決策區塊94「是」分支可一起為偵測動態顯示情況之一實施例(圖3中之決策區塊60,「是」分支)。PMGR驅動程式82可同樣完成所請求之組件的開啟處理(區塊100)。完成開啟處理可包括(例如)程式化PMGR 32以使組件通電,及在開啟/關閉狀態88中將狀態記錄為「開啟」,及/或使開啟組件之數目遞增以用於閒置/動態顯示狀態判定。在監視組件之一子集以判定閒置/動態顯示情況之實施例中,決策區塊90可僅針對子集中之組件考慮通電請求。若PMGR驅動程式82已自驅動程式接收一通電請求(決策區塊90,「是」分支),且顯示器當前並非開啟的(決策區塊92,「否」分支)抑或影響閒置/動態顯示狀態判定之其他資源中的至少一者係開啟的(決策區塊94,「否」分支),則PMGR驅動程式82可在無與閒置/動態顯示偵測有關之任何額外工作的情況下完成所請求之組件的開啟處理(區塊100)。
若PMGR驅動程式82已自驅動程式接收一斷電請求(決策區塊102,「是」分支),則顯示器當前處於動態顯示狀態中。PMGR驅動程式82可判定顯示器當前是否開啟(決策區塊106,「是」分支),且若開啟,可判定SOC 10中的需要關閉以轉變為閒置顯示狀態之其他組件是否關閉(決策區塊104)。可(例如)藉由檢查開啟/關閉狀態88或藉由檢查開啟組件之數目的計數,來實施判定該等其他組件係關閉的。若是(決策區塊104,「是」分支),則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作用中時間展示於該曲線圖之垂直軸上。短的作用中/閒置時間被歸入「無作用區(dead zone)」120。無作用區120可被定義為分別由圖6中之虛線122及124說明的小於第一臨限之作用中時間及小於第二臨限之閒置時間。在各種實施例中,第一及第二臨限可為相同時間量,或可為不同的。在各種實施例中,第一及第二臨限可為可程式化參數或固定參數。在無作用區120中,CPU在作用中之概率(Pa)及CPU閒置之概率(Pi)兩者均指派為零。
大於第一臨限且高至第一限額(虛線126)之CPU作用中時間可被線性映射至介於0與1之間之CPU在作用中的概率(Pa)。大於第一限額之CPU作用中時間經指派概率1。類似地,介於第二臨限與第二限額 (虛線128)之間之CPU閒置時間可被線性映射至介於0與1之間之CPU閒置的概率(Pi)。大於第二限額之CPU閒置時間經指派概率1。第一及第二限額可為同一值或不同值,且同樣可為固定的或可程式化的。其他實施例可以其他方式或使用其他函數將作用中/閒置時間映射為概率。
如上文指派之概率為瞬時概率(Pa,Pi)。此等概率可產生於每一CPU閒置事件及CPU喚醒事件處。在一些實施例中,該等概率可用歷史進行篩選(例如,如由最近篩選之概率俘獲的,如圖6中之曲線圖下方的方程中所示的)。因此,可產生經篩選之作用中概率Fa及經篩選之閒置概率Fi。可將經篩選之概率提供至PMGR驅動程式82以判定用於動態/閒置顯示器偵測之CPU開啟/關閉狀態。篩選因數α及β可為可程式化參數,且可基於經篩選之概率預測處理器28之實際開啟/關閉狀態之良好程度而根據經驗選擇該等篩選因數。
圖7為說明CPU篩選器80之一實施例之操作的流程圖。雖然為易於理解以特定次序展示區塊,但可使用其他次序。在一實施例中,圖7之操作可實施於軟體中,且因而該軟體可包括在執行時實施圖7中所示之操作的指令。其他實施例可將圖7中所示之特徵實施於硬體及/或硬體與軟體之組合中。
CPU篩選器80可經組態以在進入及離開閒置狀態時執行。閒置狀態可為處理器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可計算瞬時概率(Pa,Pi)(區塊132)。CPU篩選器80可基於瞬時概率及先前的經篩選之概率而計算當前時間之經篩選之概率(Fa,Fi)(區塊134)。CPU篩選器80可將經篩選之概率傳輸至PMGR驅動程式82,以計算CPU開啟/關閉狀態(區塊136)。代替地,CPU篩選器80可根據該等經篩選之概率計算CPU開啟/關閉狀態,且可將CPU開啟/關閉狀態傳輸至PMGR驅動程式82。
接下來轉至圖8,其為說明PMGR驅動程式82之一實施例之操作的流程圖,該等操作用以回應於來自CPU篩選器80之經篩選概率而判定CPU開啟/關閉狀態。如上文提及的,在其他實施例中,圖8之操作可實施於CPU篩選器80中。雖然為易於理解以特定次序展示區塊,但可使用其他次序。在一實施例中,圖8之操作可實施於軟體中,且因而該軟體可包括在執行時實施圖8中所示之操作的指令。其他實施例可將圖8中所示之特徵實施於硬體及/或硬體與軟體之組合中。
若經篩選之閒置概率(Fi)大於經篩選之作用中概率(Fa)(決策區塊138,「是」分支),則PMGR驅動程式82可判定CPU係關閉的(區塊140)。若瞬時概率(Pa,Pi)因為當前閒置/作用中時間位於無作用區120中而均為零(決策區塊142,「是」分支),則PMGR驅動程式82可保持 先前判定之CPU開啟/關閉狀態(區塊144)。意即,若最近判定之CPU開啟/關閉狀態為關閉,則CPU開啟/關閉狀態保持關閉。類似地,若最近判定之CPU開啟/關閉狀態為開啟,則CPU開啟/關閉狀態保持開啟。最後,若經篩選之閒置概率(Fi)不大於經篩選之作用中概率(Fa)且瞬時概率(Pi,Pa)並非均為零(決策區塊138及142,「否」分支),則PMGR驅動程式82可判定CPU開啟/關閉狀態係開啟的(區塊146)。
圖9為電腦可存取儲存媒體200之一實施例的方塊圖。一般來說,電腦可存取儲存媒體可包括在使用期間可由電腦存取以將指令及/或資料提供至該電腦的任何儲存媒體。舉例而言,電腦可存取儲存媒體可包括諸如磁性媒體或光學媒體之儲存媒體,例如,磁碟(固定式或抽取式)、磁帶、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW或藍光(Blu-Ray)。儲存媒體可進一步包括揮發性或非揮發性記憶體媒體,諸如RAM(例如,同步動態RAM(SDRAM)、Rambus DRAM(RDRAM)、靜態RAM(SRAM)等)、ROM,或快閃記憶體。儲存媒體可實體上包括於電腦內,其中儲存媒體將指令/資料提供至該電腦。替代性地,儲存媒體可連接至電腦。舉例而言,儲存媒體可經由網路或無線鏈路連接至電腦,諸如網路附接儲存器。儲存媒體可經由諸如通用串列匯流排(USB)之周邊介面進行連接。通常,電腦可存取儲存媒體200可以非暫時性方式儲存資料,其中在此上下文中非暫時性可指不在信號上傳輸指令/資料。舉例而言,非暫時性儲存器可為揮發性(且可回應於電源關閉而丟失所儲存之指令/資料)或非揮發性的。更確切而言,在用於諸如蜂巢式電話、平板電腦等之攜帶型裝置中的一實施例中,電腦可存取儲存媒體200可包括記憶體12及/或非揮發性記憶體(諸如包括在裝置中之快閃記憶體)。
圖9中之電腦可存取儲存媒體200可儲存本文中描述之各種軟體。舉例而言,電腦可存取儲存媒體可儲存顯示器驅動程式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包括耦接至一或多個周邊裝置154及外部記憶體12之SOC 10的至少一執行個體。提供電源供應器156,該電源供應器將供應電壓供應至SOC 10,以及將一或多個供應電壓供應至記憶體12及/或周邊裝置154。在一些實施例中,可包括SOC 10之一個以上執行個體(且亦可包括一個以上記憶體12)。
取決於系統150之類型,周邊裝置154可包括任何所要的電路。舉例而言,在一實施例中,系統150可為行動裝置(例如,個人數位助理(PDA)、智慧型手機等),且周邊裝置154可包括用於各種類型之無線通信(諸如,wifi、藍芽、蜂巢式、全球定位系統等)的裝置。周邊裝置154亦可包括額外儲存器,包括RAM儲存器、固態儲存器或磁碟儲存器。周邊裝置154可包括諸如顯示螢幕(包括觸控式顯示螢幕或多點觸控顯示螢幕)、鍵盤或其他輸入裝置、麥克風、揚聲器等之使用者介面裝置。在一些實施例中,顯示器20及/或影像感測器26可為周邊裝置154。在其他實施例中,系統150可為任何類型之計算系統(例如,桌上型個人電腦、膝上型電腦、工作站、迷你桌上型電腦(net top)等)。
外部記憶體12可包括任何類型之記憶體。舉例而言,外部記憶 體12可為SRAM、動態RAM(DRAM)(諸如,同步DRAM(SDRAM)、雙倍資料速率(DDR、DDR2、DDR3等)SDRAM、RAMBUS DRAM等)。外部記憶體12可包括安裝有記憶體裝置之一或多個記憶體模組,諸如,單排直插記憶體模組(SIMM)、雙排直插記憶體模組(DIMM)等。替代地,外部記憶體12可包括按晶片堆疊或封裝堆疊實施而安裝於SOC 10上之一或多個記憶體裝置。
對於熟習此項技術者而言,一旦已完全瞭解以上揭示內容,眾多變化及修改便將變得顯而易見。希望將以下申請專利範圍解釋為涵蓋所有此等變化及修改。

Claims (20)

  1. 一種方法,其包含:偵測一系統中之一顯示裝置之一閒置螢幕;及回應於偵測到該閒置螢幕,啟用在一系統內之一快取記憶體中的圖框資料之快取,其中圖框資料之快取在未偵測到該閒置螢幕之時間期間被停用,其中該快取記憶體耦接至一記憶體系統,且經組態以快取在該記憶體系統中存取之資料,其中回應於一記憶體操作而在存取該記憶體系統之前檢查該快取記憶體以尋找一命中。
  2. 如請求項1之方法,其進一步包含:回應於偵測到該閒置螢幕,修改該快取記憶體中之電源管理組態。
  3. 如請求項2之方法,其中該修改包含:停用該快取記憶體中之快取電源關閉。
  4. 如請求項2之方法,其中該修改包含:停用快取記憶體大小減小。
  5. 如請求項1之方法,其進一步包含:偵測自該閒置螢幕之一離開;及回應於偵測到該離開,停用在該快取記憶體中之該圖框資料之快取。
  6. 如請求項5之方法,其進一步包含回應於偵測到該離開而進行以下動作:啟用該快取記憶體中之快取電源關閉;及啟用快取記憶體大小減小。
  7. 如請求項5之方法,其中偵測到該離開包含:偵測到將對該系統 中之至少一組件通電。
  8. 如請求項5之方法,其中偵測到該離開包含:偵測到一圖形裝置正請求被通電。
  9. 如請求項5之方法,其進一步包含:篩選該系統中之一或多個處理器的喚醒/睡眠事件;及回應於該等經篩選之喚醒/睡眠事件指示該處理器潛在地在作用中,偵測到該離開。
  10. 一種設備,其包含:一記憶體系統;一快取記憶體,其耦接至該記憶體系統且經組態以快取在該記憶體系統中存取之資料,其中回應於一記憶體操作而在存取該記憶體系統之前檢查該快取記憶體以尋找一命中;及一顯示器控制器,其耦接至該快取記憶體及該記憶體系統,其中該顯示器控制器經組態以產生記憶體操作以讀取儲存於該記憶體系統中之至少一圖框緩衝器,以將一影像顯示於一顯示裝置上,且其中該顯示器控制器在使用期間經程式化以回應於該顯示裝置上之該影像係閒置的而請求在該快取記憶體中進行分配。
  11. 如請求項10之設備,其中該顯示器控制器在使用期間經程式化以回應於該顯示裝置上之該影像係動態的而不請求在該快取記憶體中進行分配。
  12. 如請求項11之設備,其進一步包含耦接至該快取記憶體及該記憶體系統之一或多個處理器,其中該一或多個處理器經組態以執行儲存於該記憶體系統中之複數個指令,且其中該複數個指令在被執行時偵測該閒置影像及該動態影像。
  13. 如請求項12之設備,其中該複數個指令包括用於該顯示器控制 器之一顯示器驅動程式,且其中該顯示器驅動程式經組態以程式化該顯示器控制器,以回應於該閒置影像而請求進行快取分配,且回應於該動態影像而不請求進行快取分配。
  14. 如請求項13之設備,其中該顯示器驅動程式經組態以偵測N個連續靜態圖框,其中N為大於1之一整數,且其中除非已偵測到該等N個連續靜態圖框,否則該影像係動態的。
  15. 如請求項14之設備,其進一步包含一電源管理器電路及複數個組件,且其中該複數個指令包括複數個驅動程式,該複數個驅動程式中之每一驅動程式對應於該複數個組件中之一各別者,且其中該複數個指令包括對應於該電源管理器電路之一電源管理器驅動程式,且其中該複數個驅動程式經組態以將針對其各別組件的電源開啟及電源關閉請求傳達至該電源管理器驅動程式,且其中該電源管理器驅動程式經組態以除回應於該等N個連續靜態圖框之外亦回應於該等電源開啟及電源關閉請求而偵測該閒置影像及該動態影像。
  16. 如請求項12之設備,其中該複數個指令包括用於該記憶體系統及該快取記憶體之一記憶體驅動程式,其中該記憶體驅動程式經組態以程式化該快取記憶體,以回應於該靜態影像而停用快取電源關閉。
  17. 如請求項16之設備,其中該記憶體驅動程式經組態以回應於該靜態影像而停用快取自動重調大小。
  18. 一種儲存可由一積體電路中之一或多個處理器執行之複數個指令的電腦可存取儲存媒體,該積體電路亦包括一顯示器控制器、包括一快取記憶體之一記憶體控制器,及一電源管理器電路,該複數個指令包括:對應於該電源管理器電路之一電源管理器驅動程式; 對應於該記憶體控制器之一記憶體驅動程式;及對應於該顯示器控制器之一顯示器驅動程式,其中該顯示器驅動程式偵測到正在顯示之該影像已在N個連續圖框中為靜態的,其中N為大於一之一整數,且其中該電源管理器驅動程式回應於該等N個連續靜態圖框且進一步回應於該電源管理器驅動程式偵測到該積體電路中之複數個組件被電源關閉而偵測到一閒置顯示模式,且其中該顯示器驅動程式程式化該顯示器控制器以回應於該閒置顯示模式而啟用由該顯示器控制器讀取之圖框緩衝器資料的快取,且其中在已偵測到小於N個的連續靜態圖框或該複數個組件中之一或多者被電源開啟的一動態顯示模式中停用該圖框緩衝器資料之快取,且其中該記憶體驅動程式回應於該閒置顯示模式而修改該快取記憶體之一或多個電源管理特徵。
  19. 如請求項18之電腦可存取儲存媒體,其中該記憶體驅動程式回應於該閒置顯示模式而停用快取電源關閉。
  20. 如請求項18之電腦可存取儲存媒體,其中該記憶體驅動程式回應於該閒置顯示模式而停用快取自動重調大小。
TW103114566A 2013-05-09 2014-04-22 在閒置顯示情況中之記憶體電力節省 TWI528169B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/890,306 US9261939B2 (en) 2013-05-09 2013-05-09 Memory power savings in idle display case

Publications (2)

Publication Number Publication Date
TW201502763A true TW201502763A (zh) 2015-01-16
TWI528169B TWI528169B (zh) 2016-04-01

Family

ID=50780859

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103114566A TWI528169B (zh) 2013-05-09 2014-04-22 在閒置顯示情況中之記憶體電力節省

Country Status (7)

Country Link
US (2) US9261939B2 (zh)
EP (2) EP3309674B1 (zh)
JP (1) JP6072358B2 (zh)
KR (2) KR101862275B1 (zh)
CN (2) CN105190531B (zh)
TW (1) TWI528169B (zh)
WO (1) WO2014182393A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI576697B (zh) * 2015-12-30 2017-04-01 冠德國際智慧財產權有限公司 動態隨機存取記憶體發光控制系統

Families Citing this family (20)

* 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 合肥京东方光电科技有限公司 数据线驱动方法及单元、源极驱动器、面板驱动装置和显示装置
WO2017178923A1 (en) * 2016-04-15 2017-10-19 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, electronic component, and electronic device
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
WO2019205172A1 (zh) * 2018-04-28 2019-10-31 华为技术有限公司 一种图像处理器的功率分配的方法、装置及系统
US11243598B2 (en) 2018-06-01 2022-02-08 Apple Inc. Proactive power management of a graphics processor
KR102519570B1 (ko) * 2018-11-12 2023-04-10 삼성디스플레이 주식회사 표시 장치 및 이를 이용한 표시 패널의 구동 방법
CN109272972B (zh) * 2018-11-30 2021-04-09 北京集创北方科技股份有限公司 显示装置及其控制方法
US11507224B2 (en) * 2020-05-28 2022-11-22 Beijing Boe Display Technology Co., Ltd. Touch display device, touch response method and system thereof, and storage medium
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
EP1882219A2 (en) * 2005-05-10 2008-01-30 Nxp B.V. Sleep watchdog circuit for asynchronous digital circuits
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
US9153212B2 (en) 2013-03-26 2015-10-06 Apple Inc. Compressed frame writeback and read for display in idle screen on case
US9058676B2 (en) 2013-03-26 2015-06-16 Apple Inc. Mechanism to detect idle screen on
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI576697B (zh) * 2015-12-30 2017-04-01 冠德國際智慧財產權有限公司 動態隨機存取記憶體發光控制系統

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI528169B (zh) 在閒置顯示情況中之記憶體電力節省
US10339625B2 (en) Command scheduler for a display device
JP4376897B2 (ja) プロセッサ電力状態を考慮するメモリコントローラ
TWI418994B (zh) 整合顯示控制器至低功率處理器中
EP3872604A1 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US8806232B2 (en) Systems and method for hardware dynamic cache power management via bridge and power manager
JP2011118871A (ja) イベント処理のためのターボ性能を向上させる方法および装置
TWI549490B (zh) 用於在閒置螢幕開啟時之顯示之壓縮圖框回寫及讀取
TWI541793B (zh) 偵測閒置螢幕開啟之機構
US9117299B2 (en) Inverse request aggregation
US9196187B2 (en) System and method of reducing power using a display inactive indication
KR20160077151A (ko) 동적 백라이트 제어 기능을 갖는 적응적 부분 스크린 업데이트
JP2011044072A (ja) アイドル状態検出回路、半導体集積回路、信号処理装置、アイドル状態検出方法
US10102131B2 (en) Proactive power management for data storage devices to reduce access latency