CN108196809B - 空闲显示情况下的存储器功率节省 - Google Patents

空闲显示情况下的存储器功率节省 Download PDF

Info

Publication number
CN108196809B
CN108196809B CN201810125195.0A CN201810125195A CN108196809B CN 108196809 B CN108196809 B CN 108196809B CN 201810125195 A CN201810125195 A CN 201810125195A CN 108196809 B CN108196809 B CN 108196809B
Authority
CN
China
Prior art keywords
memory
cache
display
idle
components
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
CN201810125195.0A
Other languages
English (en)
Other versions
CN108196809A (zh
Inventor
S·比斯韦斯
S·希尤
C·德拉克洛普特德昌特拉克
M·古拉蒂
P·德赛
胡荣章
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 CN108196809A publication Critical patent/CN108196809A/zh
Application granted granted Critical
Publication of CN108196809B publication Critical patent/CN108196809B/zh
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)

Abstract

本发明涉及空闲显示情况下的存储器功率节省。在一个实施例中公开了一种系统,该系统包括具有存储器高速缓存的存储器控制器和被配置为控制显示器的显示控制器。该系统可被配置为检测到所显示的图像基本上为静态的,并且可被配置为使得显示控制器请求源帧缓冲数据在存储器高速缓存中进行分配。在一些实施例中,该系统还可改变存储器高速缓存中的电源管理配置以防止存储器高速缓存在空闲屏幕情况期间关闭或使其有效尺寸减小,使得帧缓冲数据可保持高速缓存。在显示器动态变化的时间期间,帧缓冲数据可不高速缓存于存储器高速缓存中,并且电源管理配置可允许存储器高速缓存关闭/使其尺寸减小。

Description

空闲显示情况下的存储器功率节省
本申请是申请日为2014年4月3日申请号为201480025931.5发明名称为“空闲显示情况下的存储器功率节省”的发明专利申请的分案申请。
技术领域
本发明涉及包括集成电路、显示设备和高速缓存的数字系统领域。
背景技术
各种类型的数字系统通常包括或连接至与设备进行交互的用户的显示器。显示器可并入到设备中。所并入的显示器的实例包括各种智能电话、平板电脑或其他个人数字助理上的触摸屏。所结合的显示器的另一个实例为上盖中的具有屏幕的笔记本电脑。显示器还可经由缆线连接至设备。所连接的显示器的实例包括具有位于用户前面的桌子上的独立显示器的各种台式计算机和工作站。一些台式计算机也具有所并入的显示器(例如,购自Apple Inc.的各种
Figure BDA0001573308840000011
计算机)。显示器提供用户可查看以与系统和在系统上执行的应用程序进行交互的可视化界面。在某些情况下(例如,触摸屏),显示器还为用户提供用于输入到系统的界面。还可包括其他用户输入设备(例如,键盘、鼠标或其他指向设备等)。
在许多情况下,在一段时间内显示的图像基本上是静态的。例如,如果用户正在显示器上阅读电子书,则显示器可静态地显示文本的页面直至用户读完该页。当电影暂停时,在暂停起作用的时间内图像中可能不存在变化。在用户正在浏览网页的情况下,用户也可能被内容所吸引,并且图像可能是静态的。当被显示的静态图像中几乎不存在或完全不存在变化时,用于在屏幕的每个刷新周期获得图像所消耗的存储带宽在带宽方面和功率消耗方面可能均造成浪费。
发明内容
在一个实施例中,一种系统包括具有存储器高速缓存的存储器控制器和被配置为控制显示器的显示控制器。该系统可被配置为检测出所显示的图像基本上为静态的,并且可被配置为使得显示控制器请求源帧缓冲数据在存储器高速缓存中进行分配。将消耗于外部存储器接口的电力可通过在存储器高速缓存中对帧缓冲数据(或帧缓冲数据的至少一部分)进行高速缓存而节省。在一些实施例中,该系统还可改变存储器高速缓存中的电源管理配置以防止存储器高速缓存在空闲屏幕情况期间关闭或减小其有效尺寸,使得帧缓冲数据可保持高速缓存。在所显示的图像动态变化的时间期间,帧缓冲数据可不高速缓存于存储器高速缓存中并且电源管理配置可允许存储器高速缓存关闭/尺寸减小。
附图说明
现在对附图进行简要说明,下面的具体说明将参照附图进行描述。
图1为包括片上系统(SOC)、存储器、图像传感器和显示设备的系统的一个实施例的框图。
图2为示出系统在动态显示状态下的一个实施例的操作的流程图。
图3为示出系统在空闲显示状态下的一个实施例的操作的流程图。
图4为可在系统的一个实施例中执行的各种软件模块的框图。
图5为示出图4所示PMGR驱动器的一个实施例的操作的流程图。
图6为示出CPU过滤器的一个实施例的图示。
图7为示出CPU过滤器的一个实施例的操作的流程图。
图8为示出响应于CPU过滤器的PMGR驱动器的一个实施例的操作的流程图。
图9是计算机可访问存储介质的一个实施例的框图。
图10为包括图1所示的SOC的系统的另一实施例的框图。
尽管本发明易受各种修改形式和替代形式的影响,但附图中以举例的方式示出了其具体实施例并将在本文详细描述。然而,应当理解,至其的附图和详细描述并非旨在将本发明限制于所公开的特定形式,而正相反,其目的在于覆盖落在由所附权利要求所限定的本发明的实质和范围内的所有修改形式、等同形式和替代形式。本文所使用的标题仅用于组织的目的,并非意在用于限制说明书的范围。如在整个专利申请中所使用的那样,以允许的意义(即,意味着具有可能性)而不是强制的意义(即,意味着必须)来使用“可以”一词。类似地,词语“包括”(“include”,“including”和“includes”)是指包括但不限于。
各种单元、电路或其他部件可被描述为“被配置为”执行一项或多项任务。在此类上下文中,“被配置为”是对一般意味着“具有”在操作期间执行这一项或多项任务的“电路”的结构的宽泛表述。因此,单元/电路/部件可被配置为即使在单元/电路/部件当前未通电时也执行所述任务。一般来讲,形成与“被配置为”对应的结构的电路可包括硬件电路和/或存储可执行以实现该操作的程序指令的存储器。存储器可包括易失性存储器诸如静态随机存取存储器或动态随机存取存储器和/或非易失性存储器诸如光学存储装置或磁盘存储装置、闪存存储器、可编程只读存储器等。类似地,为了描述中的方便,可将各种单元/电路/部件描述为执行一项或多项任务。此类描述应当被解释成包括短语“被配置为”。表述被配置为执行一项或多项任务的单元/电路/部件意在明确地不援引35U.S.C.§112,第六段对该单元/电路/部件的解释。
本说明书包括对“一个实施例”(“one embodiment”和“an embodiment”)的引用。出现短语“一个实施例”(“one embodiment”和“an embodiment”)不一定是指相同实施例,但通常设想包括任何特征的组合的实施例,除非本文明确否认。特定特征、结构或特性可以符合本公开的任何适当的方式结合。
具体实施方式
现转向图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的指针来编程以从帧缓冲器中读取帧。每个帧可包括描述待被显示的图像的图像数据,例如像素、颜色分量、α混合值等。
显示管16可被配置为对图像数据执行任何类型的处理。在一个实施例中,显示管16可被配置为缩放静止帧以及对视频序列的帧进行抖动、缩放和/或执行色彩空间转换。显示管16可被配置为混合静止帧和视频序列帧以产生用于显示器的输出帧。显示管16也可更普遍地被称为显示控制单元。显示控制单元(或显示控制器)通常可为被配置为准备用于显示器的帧(从一个或多个来源,诸如静止帧和/或视频序列帧)的任何硬件。由显示管16执行的各种处理通常可被称为合成。合成可包括通过其将来自各种图像的图像数据结合以产生输出图像的任何处理。
存储器控制器22通常可包括电路,该电路用于接收来自SOC 10的其他部件的存储器操作并且用于访问存储器12以完成存储器操作。存储器控制器22可被配置为访问任何类型的存储器12。例如,存储器12可以是静态随机存取存储器(SRAM)、动态RAM(DRAM)诸如同步的DRAM(SDRAM),包括双倍数据率(DDR、DDR2、DDR3等)DRAM。可支持低功率/移动型的DDRDRAM(例如,LPDDR、mDDR等)。
在示出的实施例中,存储器控制器22可包括存储器高速缓存36以存储最近访问的存储器数据。在SOC具体实施中,例如存储器高速缓存36可通过避免在预期不久会对来自存储器12中的数据进行再次访问的情况下对其进行重新访问来减少SOC中的功率消耗。因此,存储器高速缓存36可由存储器控制器22来访问以在访问存储器12之前检测存储器操作的命中/错失。如果存储器操作是存储器高速缓存36中的命中,则可不访问存储器12。通信结构27可利用存储器操作来支持传输高速缓存提示以识别用于存储在存储器高速缓存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(内置集成电路)、通用异步收发两用机(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)等。显示器可集成到包括SOC10(例如,智能电话或平板电脑)的系统中和/或可以是独立封装设备诸如计算机监视器、电视机或其他设备。
ISP 24可被配置为接收来自图像传感器26的图像传感器数据,并且可被配置为处理数据以产生可能适合于在显示器20上显示的图像帧。图像传感器26可包括相机(例如,电荷耦合器件(CCD)、互补金属氧化物半导体(CMOS)传感器等)。
GPU 34可包括一个或多个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 Express)(PCIe)在内的外围部件互连件(PCI)、串行端口和并行端口等。外围设备可包括联网外围设备诸如媒体访问控制器(MAC)。可包括任何一组硬件。
通信结构27可以是用于在SOC 10的部件之间进行通信的任何通信互连和协议。通信结构27可为基于总线的,包括共享总线构型、交叉式构型以及具有网桥的分级总线。通信结构27也可为基于数据包的,并且可为具有网桥的分级式、交叉式、点对点或其他互连件。
PMGR 32可被配置为控制SOC 10的其他部件的上电和断电。即,PMGR 32可使得其他部件上电和断电。PMGR 32可在软件直接控制之下(例如,软件可直接请求部件的上电和/或断电)和/或可被配置为监测SOC10并确定何时使各个部件上电或断电。PMGR 32还可被配置为不同电源状态(例如,电压/频率组合)之间的转换部件。PMGR 32可被进一步配置为从外部电源控制器请求SOC 10中的部件的各种电压量值。
需注意,SOC 10的部件的数量(以及图1所示的部件,诸如CPU复合体14内的子部件的数量)可根据不同实施例而不同。可存在比图1所示的数量更多或更少的每个部件/子部件。
现转向图2,其示出流程图,该流程图示出图1所示的系统在动态显示状态下的一个实施例的操作,该操作用于检测空闲显示情况并且转换到空闲显示状态。发生在动态显示状态下的其他操作未被示出。尽管为了便于理解以特定次序示出框,但可使用其他次序。在一个实施例中,图2的操作可在软件中实现,因此软件可包括在被执行时实现图2所示的操作的指令。其他实施例可在硬件和/或硬件和软件的结合中实现图2所示的特征。
在动态显示状态中,系统可监测以检测空闲显示情况。空闲显示可通过各种方式来检测:通过分析变化的连续帧,通过指出相同帧缓冲器用于连续帧等。另外,在一些实施例中,其他部件诸如CPU复合体14、GPU34、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工作的情况下,GPU驱动器72可请求使GPU34上电。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开/关请求来记录帧缓冲器的开/关状态,该请求可基于显示驱动器70对静态帧(图4中的N个静态帧71)的检测来生成。在该实施例中,显示驱动器70可负责监测静态帧,并且可指示何时检测到N个连续静态帧,其中N为大于1的整数。在一些实施例中,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)。关闭处理可包括例如对PMGR32进行编程以使部件通电并且在开/关状态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可被定义为小于第一阈值的活动时间和小于第二阈值的空闲时间,其分别如图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无需使得处理器28周期性地唤醒来仅执行过滤器80。而相反,过滤器80在处理器28由于其他原因唤醒时执行。
CPU过滤器80可计算最近空闲/活动时间(框130)。例如,可在CPU过滤器80从CPU空闲状态离开期间被执行时计算空闲时间。可在进入CPU空闲状态期间计算活动时间。活动/空闲时间可根据专用自由运转计时器来计算,CPU过滤器80可在每次计算活动/空闲时间后对该专用自由运转计时器进行清除。在各种实施例中,自由运转计时器可基于处理器时钟或SOC 10中的由PMGR 32所使用的时钟而递增。在另一个实施例中,可使用针对各种用途在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)。如果由于当前空闲/活动时间处于盲区120中,瞬时概率(Pa,Pi)均为零(判定框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或蓝光。存储介质还可包括易失性或非易失性存储器介质,诸如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可为任何类型的计算系统(例如,台式个人计算机、笔记本电脑、工作站、桌面一体机等)。
外部储存器12可包括任何类型的存储器。例如,外部存储器12可为SRAM、动态RAM(DRAM)诸如同步DRAM(SDRAM)、双倍数据率(DDR、DDR2、DDR3等)SDRAM、RAMBUS DRAM等。该外部存储器12可包括存储器设备安装到的一个或多个存储器模块,诸如单列直插内存模块(SIMM)、双列直插内存模块(DIMM)等。另选地,外部存储器12可包括在芯片叠层或封装叠层具体实施中安装在SOC 10上的一个或多个存储器设备。
一旦充分理解了以上公开,则很多变型和修改对于本领域的技术人员而言将变得显而易见。本发明旨在将以下权利要求书解释为涵盖所有此类变型和修改。

Claims (16)

1.一种方法,包括:
在包括多个部件的系统中,其中所述多个部件耦接至存储器控制器,所述存储器控制器具有能够进入高速缓存断电状态的存储器高速缓存,响应于来自所述多个部件的存储器操作,所述存储器控制器访问存储器;
响应于来自所述多个部件的所述存储器操作,在所述存储器高速缓存中对从所述存储器访问的至少一些存储器数据进行高速缓存,其中所述存储器控制器针对来自所述多个部件的所述存储器操作的命中来检查所述存储器高速缓存,并且其中响应于所述存储器高速缓存中的给定存储器操作的所述命中,所述存储器控制器不访问所述存储器并且访问所述存储器高速缓存以获得数据;
检测系统中的显示设备的空闲屏幕;以及
响应于检测到所述空闲屏幕,禁止所述存储器高速缓存中的所述高速缓存断电状态。
2.根据权利要求1所述的方法,还包括:
响应于检测到所述空闲屏幕,允许将帧数据高速缓存在所述存储器高速缓存中,其中在未检测到所述空闲屏幕的时间期间禁止对帧数据进行高速缓存。
3.根据权利要求1所述的方法,还包括响应于检测到所述空闲屏幕,禁止存储器高速缓存尺寸减小。
4.根据权利要求3所述的方法,还包括:
检测从所述空闲屏幕退出;以及
响应于检测到所述退出,允许存储器高速缓存尺寸减小。
5.根据权利要求4所述的方法,其中检测到所述退出包括检测到所述多个部件中的至少一个部件将通电。
6.根据权利要求1所述的方法,还包括:
检测从所述空闲屏幕退出;以及
响应于检测到所述退出,允许所述存储器高速缓存中的所述高速缓存断电状态。
7.根据权利要求6所述的方法,其中检测到所述退出包括检测到所述多个部件中的至少一个部件将通电。
8.根据权利要求6所述的方法,其中检测到所述退出包括检测到图形设备正在请求通电。
9.根据权利要求6所述的方法,还包括:
过滤所述系统中的针对一个或多个处理器的唤醒/睡眠事件;以及
响应于所过滤的唤醒/睡眠事件来检测从所述空闲屏幕的所述退出,
所过滤的唤醒/睡眠事件指示所述处理器可能是活动的。
10.一种装置,包括:
多个部件;
存储器系统,所述存储器系统耦接至所述多个部件;
存储器高速缓存,所述存储器高速缓存耦接至所述存储器系统并被配置为对通过所述多个部件在所述存储器系统中访问的数据进行高速缓存,其中在响应于存储器操作访问所述存储器系统之前检查所述存储器高速缓存中的命中,并且其中响应于所述存储器高速缓存中的给定存储器操作的所述命中,不访问所述存储器系统并且访问所述存储器高速缓存以获得数据;以及
显示控制器,所述显示控制器耦接至所述存储器高速缓存和所述存储器系统,其中所述显示控制器被配置为生成存储器操作来读取存储在所述存储器系统中的至少一个帧缓冲器以将图像显示在显示设备上,并且其中所述存储器高速缓存在使用期间被编程以响应于所述显示设备上的所述图像是空闲的而禁止所述存储器高速缓存进入断电状态。
11.根据权利要求10所述的装置,其中所述显示控制器是可编程的以当传输所述存储器操作时请求针对帧缓冲数据在所述存储器高速缓存中进行分配,并且其中所述显示控制器在使用期间被编程以响应于所述显示设备上的所述图像是空闲的而请求进行分配,并且其中所述显示控制器在使用期间被编程以响应于所述显示设备上的所述图像是动态的而不请求进行分配。
12.根据权利要求10所述的装置,还包括耦接至所述存储器高速缓存和所述存储器系统的一个或多个处理器,其中所述一个或多个处理器被配置为在使用期间执行存储在所述存储器系统中的多个指令,并且其中所述多个指令当被执行时,检测空闲图像和动态图像。
13.根据权利要求12所述的装置,还包括耦接至所述多个部件和所述显示控制器的电源管理器电路,并且其中所述多个指令包括多个驱动器,所述多个驱动器中的每个驱动器对应于所述多个部件中相应的一个,并且其中所述多个指令包括对应于所述电源管理器电路的电源管理器驱动器,并且其中所述多个驱动器被配置为针对它们相应的部件将上电请求和断电请求传送至所述电源管理器驱动器,并且其中响应于所述上电请求和断电请求,所述电源管理器驱动器被配置为检测所述空闲图像和所述动态图像。
14.根据权利要求10所述的装置,其中所述存储器高速缓存在使用期间被编程以响应于空闲图像而禁止高速缓存自动调整尺寸。
15.根据权利要求14所述的装置,其中所述存储器高速缓存在使用期间被编程以响应于由所述显示控制器显示的所述图像是动态的而允许高速缓存自动调整尺寸。
16.根据权利要求10所述的装置,其中所述存储器高速缓存在使用期间被编程以响应于由所述显示控制器正在显示的所述图像是动态的而允许高速缓存断电。
CN201810125195.0A 2013-05-09 2014-04-03 空闲显示情况下的存储器功率节省 Active CN108196809B (zh)

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
CN201480025931.5A CN105190531B (zh) 2013-05-09 2014-04-03 空闲显示情况下的存储器功率节省

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201480025931.5A Division CN105190531B (zh) 2013-05-09 2014-04-03 空闲显示情况下的存储器功率节省

Publications (2)

Publication Number Publication Date
CN108196809A CN108196809A (zh) 2018-06-22
CN108196809B true CN108196809B (zh) 2021-02-12

Family

ID=50780859

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480025931.5A Active CN105190531B (zh) 2013-05-09 2014-04-03 空闲显示情况下的存储器功率节省
CN201810125195.0A Active CN108196809B (zh) 2013-05-09 2014-04-03 空闲显示情况下的存储器功率节省

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201480025931.5A Active CN105190531B (zh) 2013-05-09 2014-04-03 空闲显示情况下的存储器功率节省

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)

Families Citing this family (21)

* 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
KR102519570B1 (ko) * 2018-11-12 2023-04-10 삼성디스플레이 주식회사 표시 장치 및 이를 이용한 표시 패널의 구동 방법
CN109272972B (zh) * 2018-11-30 2021-04-09 北京集创北方科技股份有限公司 显示装置及其控制方法
CN114008570B (zh) * 2020-05-28 2024-01-30 京东方科技集团股份有限公司 触控显示设备及其触控响应方法、系统及存储介质
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的比特翻转的处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006084758A (ja) * 2004-09-16 2006-03-30 Seiko Epson Corp 電気光学装置用駆動回路及び方法、電気光学装置、並びに電子機器
CN101819510A (zh) * 2008-11-18 2010-09-01 英特尔公司 自刷新显示功能的控制技术
CN102055975A (zh) * 2009-10-27 2011-05-11 雅马哈株式会社 存储器存取控制设备及其方法
CN102158653A (zh) * 2011-05-03 2011-08-17 东华大学 一种实时高动态范围数字图像获取装置及方法

Family Cites Families (37)

* 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
US7457917B2 (en) 2004-12-29 2008-11-25 Intel Corporation Reducing power consumption in a sequential cache
JP2009508362A (ja) * 2005-05-10 2009-02-26 エヌエックスピー ビー ヴィ 非同期デジタル回路用スリープ・ウォッチドッグ回路
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
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
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
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006084758A (ja) * 2004-09-16 2006-03-30 Seiko Epson Corp 電気光学装置用駆動回路及び方法、電気光学装置、並びに電子機器
CN101819510A (zh) * 2008-11-18 2010-09-01 英特尔公司 自刷新显示功能的控制技术
CN102055975A (zh) * 2009-10-27 2011-05-11 雅马哈株式会社 存储器存取控制设备及其方法
CN102158653A (zh) * 2011-05-03 2011-08-17 东华大学 一种实时高动态范围数字图像获取装置及方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN108196809B (zh) 空闲显示情况下的存储器功率节省
JP4376897B2 (ja) プロセッサ電力状態を考慮するメモリコントローラ
US7750912B2 (en) Integrating display controller into low power processor
US10199014B2 (en) Method and apparatus for managing image data for presentation on a display
US8656196B2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US9329658B2 (en) Block-level sleep logic
US10216251B2 (en) Controlling processor performance scaling based on context
US9196187B2 (en) System and method of reducing power using a display inactive indication
US10102131B2 (en) Proactive power management for data storage devices to reduce access latency
US10013046B2 (en) Power management techniques

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant