CN102646446B - 硬件动态高速缓存电源管理 - Google Patents

硬件动态高速缓存电源管理 Download PDF

Info

Publication number
CN102646446B
CN102646446B CN201110459693.7A CN201110459693A CN102646446B CN 102646446 B CN102646446 B CN 102646446B CN 201110459693 A CN201110459693 A CN 201110459693A CN 102646446 B CN102646446 B CN 102646446B
Authority
CN
China
Prior art keywords
power
circuit block
register
processor
control circuit
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
CN201110459693.7A
Other languages
English (en)
Other versions
CN102646446A (zh
Inventor
T·J·米利特
E·P·麦克尼吉
D·鲍尔坎
V·葛普塔
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 Computer 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 Computer Inc filed Critical Apple Computer Inc
Publication of CN102646446A publication Critical patent/CN102646446A/zh
Application granted granted Critical
Publication of CN102646446B publication Critical patent/CN102646446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)

Abstract

硬件动态高速缓存电源管理。在一个实施例中,控制电路被配置为向在被断电后正被上电的电路块传送操作,以重新初始化该电路块用于操作。这些操作可被存储在控制电路耦接到的存储器(例如寄存器集合)中。在一个实施例中,控制电路还可被配置为在电路块断电之前,将来自存储器的其他操作传送到电路块。因此,即使在***中的处理器被断电(并且因此此时软件不可执行)期间,电路块也可被上电或断电,而无需为上电/断电事件唤醒处理器。在一个实施例中,该电路块可以是耦接到一个或多个处理器的高速缓存。

Description

硬件动态高速缓存电源管理
技术领域
本发明涉及数字***领域,尤其涉及数字***中的电源管理。
背景技术
随着集成电路“芯片”中包含的晶体管数量的不断增加,集成电路中的电源管理的重要性也在不断增加。电源管理对于包括在移动设备(诸如个人数字助理(PDA)、蜂窝电话、智能电话、笔记本计算机、上网本计算机等等)中的集成电路来说是至关重要的。这些移动设备一般依靠电池供电,而降低集成电路功耗可以延长电池寿命。此外,减少功耗可以降低集成电路产热,这可以降低对包括集成电路(不管其是否依靠电池供电)的设备的冷却要求。
时钟选通经常被用于降低集成电路中的动态功耗,禁用时钟到空闲电路从而防止空闲电路中的开关。一些集成电路除了时钟选通外还执行电力选通。使用电力选通,空闲电路接地的路径的电力被中断,将漏电流降低至几乎为0。当电力被选通至一个块并在随后被恢复时,该块能够要求重新初始化。该重新初始化由在***中处理器上执行的软件处理。
发明内容
在一个实施例中,控制电路被配置为向一个在被断电后正被上电的电路块传送操作,以重新初始化该电路块用于操作。这些操作可被存储在控制电路耦接的存储器(例如寄存器集)中,并且在包括控制电路和电路块的***中执行的软件可以在电路块断电之前的某一时刻使用这些操作来编程存储器。在一个实施例中,控制电路还可被配置为在电路块正被断电之前将来自存储器的其他操作传送到电路块。因此,即使在***中的处理器断电(并且因此此时软件是不可执行的)期间,电路块仍可被上电或者断电,而无需为上电/断电事件唤醒处理器。
在一个实施例中,电路块可以是耦接到一个或多个处理器的高速缓存,而控制电路可以是将一个或多个外设和/或外设接口控制器耦接到高速缓存的桥接器的一部分。如果处理器被断电并且在一段时间内外设是空闲的(至少在存取存储器方面),则该高速缓存可被断电。高速缓存可以为了外设存储操作而被上电或者用以上电处理器。在一个实施例中,高速缓存控制电路可以被断电,但是高速缓冲存储器可以保持被供电以保留存储在高速缓存中的高速缓存块。
附图说明
下面的详细说明是参考附图进行的,现在对附图进行简要描述。
图1是***的一个实施例的框图。
图2是在更细节的实施例中图1所示***的一部分的框图。
图3是例示一个电源管理器动态断电高速缓存的实施例的操作的流程图。
图4是例示一个核心接口单元动态断电高速缓存的实施例的操作的流程图。
图5是例示一个电源管理器动态上电高速缓存的实施例的操作的流程图。
图6是例示一个核心接口单元动态上电高速缓存的实施例的操作的流程图。
图7是例示高速缓存的动态上电和断电的时序图。
图8是例示一个高速缓存构造代码的实施例操作的流程图。
图9是计算机可存取存储介质的框图。
图10是***的另一个实施例的框图。
虽然本发明容许多种修改和其他形式,但是其具体实施例通过附图的例子示出并且将在这里被详细描述。然而应该理解的是,此处的附图和详细描述并不旨在将本发明限制为公开的特定形式,但是相反的,本发明覆盖落入由所附权利要求限定的本发明的精神及范围的所有修改、等效方案、以及替换方案。此处使用的标题只是出于组织目的而不非旨在限制说明书的范围。在本申请的全文中,词语“可以/可”是用作可选择的意思(即,意为具有潜在的可能性),而不是强制的意思(即,意为必须)。类似地,词语“包括”意为包含,但并不限于此。
各种单元、电路、或其他部件可被描述为“被配置为”执行一个或多个任务。在这种上下文中,“被配置为”是结构的广义叙述,通常意为“具有电路***用以”在操作期间执行一个或多个任务。因此,单元/电路/部件可以被配置为执行任务,即使单元/电路/部件目前并为打开。一般而言,形成对应于“被配置为”的电路可以包括硬件电路和/或存储有可执行以实现操作的程序指令的存储器。存储器可以包括诸如静态或动态随机存取存储器之类的易失性存储器和/或诸如光盘或磁盘存储、闪存、可编程只读存储器等的非易失性存储器。类似地,为了方便描述,各种单元/电路/部件可以被描述为执行一个或多个任务。这种描述应该被解释为包括短语“被配置为”。单元/电路/部件是被配置为执行一个或多个任务的说法是明确地不旨在援引35U.S.C§112第六段中对单元/电路/部件的解释。
具体实施方式
下面描述示例性的***和集成电路,其中2级(L2)高速缓存可以在处理器断电时被上电或者断电,并且桥接器中的控制电路可被配置为执行在上电时初始化高速缓存和/或为高速缓存断电作准备的操作。然而,其他实施例可以在***中的处理器被断电的时间期间内执行类似的机制以上电/断电任何电路块。该操作可以是配置寄存器写操作(如下针对L2高速缓存所讨论的),或者可以是其他类型的操作,诸如寄存器读操作或可被电路块解释的用于将该电路块的状态改变为上电/断电的命令。
一般地,电路块可以包括可执行一个或多个可识别功能的一组相关电路。该相关电路可被称为逻辑电路或逻辑电路***,因为电路可以对输入执行逻辑操作来产生输出。因为给定电路块中的电路是相关的,它们可以作为一个单元而被上电或断电。在集成电路设计中每个电路块一般地可以被看做是一个单元(例如,被物理地放置于集成电路内作为一个单元)。电路块还可以包括存储电路(诸如各种静态随机访问存储器,或SRAM)和作为逻辑电路一部分的其他存储设备。例如,在实现片上***(SOC)的集成电路中,SOC的每一个部件可以是单独的电路块。
综述
现在转到图1,示出了***5的一个实施例的框图。在图1的实施例中,***5包括耦接到外部存储器12A-12B的集成电路(IC)10。在该例示实施例中,集成电路10包括中央处理器(CPU)块14,后者包括一个或多个处理器16和2级(L2)高速缓存18。其他实施例可以不包括L2高速缓存18和/或可以包括额外级别的高速缓存。此外,包括多于2个的处理器16以及仅包括一个处理器16的实施例也是可预期的。集成电路10还包括一组一个或多个非实时(NRT)外设20和一组一个或多个实时(RT)外设22。在该例示实施例中,CPU块14耦接到桥接器/直接存储器存取(DMA)控制器30,后者可以耦接到一个或多个外设32A-32C和/或一个或多个外设接口控制器34。在各实施例中,外设32和外设接口控制器34的数量可以是从0到任何期望数量。图1所示的***5还包括图形单元36,后者包括一个或多个图形控制器,诸如G038A和G138B。在其他实施例中,图形控制器的数量可以逐图形单元地改变并且图形单元的数量也是可以改变的。如图1中所示,***5包括耦接到一个或多个存储器物理接口电路(PHY)42A-42B的存储器控制器40。存储器PHY42A-42B被配置为通过集成电路10的引脚来与存储器12A-12B通信。存储器控制器40还包括一组端口44A-44E。端口44A-44B分别被耦接到图形控制器38A-38B。CPU块14耦接到端口44C。NRT外设20和RT外设22分别耦接到端口44D-44E。在其他实施例中存储器控制器40中所包含的端口的数量是可变的,存储器控制器的数量也是可变的。也就是说,可以存在比图1所示更多或更少的端口。在其他实施例中,与存储器12A-12B相关的存储器PHY42A-42B的数量可以是1个也可以是多于2个。
一般地,端口可以是存储器控制器40上与一个或多个源通信的通信点。在某些情况下,端口可能专用于一个源(例如,端口44A-44B可分别专用于图形控制器38A-38B)。在其他情况下,端口可以被多个源共享(例如,处理器16可以共享CPU端口44C、NRT外设20可以共享NRT端口44D、以及RT外设22可以共享RT端口44E)。每个端口44A-44E被耦接到一个接口来与其各自的代理通信。该接口可以是任何类型的通信介质(例如,总线、点对点互联等等)并且可以实现任何协议。存储器控制器和各个源之间的互联还可以包括任何其他的期望互联,诸如网格、芯片织物上网络、共享总线、点对点互联等等。
处理器16可以实现任何指令集架构,并且可被配置为执行由该指令集架构定义的指令。处理器16可以使用任何微架构,包括标量、超标量、流水线的、超流水线的、无序的、有序的、投机性的、非投机性的等等或其组合。处理器16可以包括电路,并且可任选地可使用微编码技术。该处理器16可以包括一个或多个1级高速缓存,并且因此高速缓存18是L2高速缓存。其他实施例可以在处理器16中包括多级高速缓存,并且高速缓存18可以是层级中的低一级。高速缓存18可以使用任何大小和任何配置(组相联、直接映射等)。
图形控制器38A-38B可以是任意图形处理电路***。一般地,图形控制器38A-38B可被配置为渲染要被显示到帧缓冲器的对象。图形控制器38A-38B可以包括图形处理器,后者可以执行图形软件来实现部分或全部的图形操作和/或特定图形操作的硬件加速。硬件加速和软件实现的量可以逐实施例地改变。
NRT外设20可以包括任何非实时外设,这些外设出于性能和/或带宽的原因而被设置为独立访问存储器12A-12B。也就是说,由NRT外设20进行的访问独立于CPU块14,并且可以与CPU块存储器操作并行进行。其他外设(诸如外设32A-32C和/或与由外设接口控制器34控制的外设接口耦接的外设)也可以是非实时外设,但也可以不要求独立访问存储器。NRT外设20的各个实施例可以包括视频编码器和解码器、标量电路***以及图像压缩和/或解压缩电路等。
RT外设22可以包括对存储器延迟具有实时需求的任何外设。例如,RT外设可以包括图形处理器和一个或多个显示管。显示管可以包括用于取一个或多个帧并且将这些帧混合以创建显示图像的电路***。显示管还可以包括一个或多个视频流水线。显示管的结果可以是在显示屏上显示的像素流。像素值可被传送到显示控制器以在显示屏上显示。图像处理器可以接收相机数据并且将该数据处理为图像从而被存储到存储器中。
桥接器/DMA控制器30可以包括将(一个或多个)外设32和(一个或多个)外设接口控制器34桥接至存储空间的电路。在该例示实施例中,桥接器/DMA控制器30可以通过CPU块14将来自外设/外设接口控制器的存储操作桥接至存储器控制器40。该CPU块14还可以维持桥接的存储器操作和来自处理器16/L2高速缓存18的存储器操作之间的一致性。L2高速缓存18还可以仲裁该桥接的存储器操作与来自处理器16的要在CPU接口上传送到CPU端口44C的存储器操作。该桥接器/DMA控制器30还可以代表外设32和外设接口控制器34提供DMA操作以将数据块传送到存储器和接收来自存储器的数据块。更具体地,DMA控制器可被配置为代表外设32和外设接口控制器34通过存储器控制器40执行对存储器12A-12B的发送和来自其的发送。DMA控制器可以是处理器16可编程的,用以执行DMA操作。例如,DMA控制器可以是经由描述符可编程的。该描述符可以是存储在存储器12A-12B中描述了DMA传送(诸如源地址和目的地地址、大小等)的数据结构。作为替换,DMA控制器可以是经由DMA控制器(末示出)中的寄存器可编程的。
外设32A-32C可以包括任何期望输入/输出设备或者被包括在集成电路10中的其他硬件设备。例如,外设32A-32C可以包括网络外设,诸如一个或多个联网媒体访问控制器(MAC),诸如以太网MAC或无线保真(WiFi)控制器。外设32A-32C内还可以包括含有各种音频处理设备的音频单元。外设32A-32C内还可以包括一个或多个数字信号处理器。外设32A-32C可以包括任何其他期望功能,诸如定时器、片上秘密存储器、加密引擎等,或其任意组合。
外设接口控制器34可以包括用于任何类型外设接口的任何控制器。例如,外设接口控制器可以包括各种接口控制器,诸如通用串行总线(USB)控制器、快速外设部件互连(PCIe)控制器、闪存接口、通用输入/输出(I/O)引脚等等。
存储器12A-12B可以是任何类型的存储器,诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR、DDR2、DDR3等)SDRAM(包括SDRAM的移动版本,如mDDR3等,和/或SDRAM的低功率版本,诸如LPDDR2等)、RAMBUSDRAM(RDRAM)、静态RAM(SRAM)等。一个或多个存储器设备可以耦接到电路板上以形成存储器模块,诸如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)等。作为替换,这些设备可以按片上芯片配置(封装上封装配置、或是多芯片模块配置)与集成电路10一并安装。
存储器PHY42A-42B可以处理到存储器12A-12B的低级物理接口。例如,存储器PHY42A-42B可以负责信号的时序,以适当的时钟同步DRAM存储器等。在一个实施例中,存储器PHY42A-42B可被配置为锁定提供给集成电路10的时钟并且可以被配置为生成由存储器12使用的时钟。
注意到其他实施例可以包括部件的其他组合,包括图1所示部件和/或其他部件的子集或超集。虽然图1示出了给定部件的一个实例,但是其他实施例可以包括给定部件的一个或多个实例。类似地,通过此处的详细描述,可以包括给定部件的一个或多个实例(即便仅示出一个),和/或可以使用仅包括一个实例的实施例(即便示出了多个实例)。
L2高速缓存上电/断电
现在转到图2,更详细地示出了集成电路10的一部分的一个实施例的框图。具体地,CPU块14和桥接器/DMA控制器30连同电源管理器50一起被示出。CPU块14包括处理器16和L2高速缓存18。在图2中的实施例中,L2高速缓存18被示例为L2高速缓存控制18A和L2高速缓冲存储器18B。L2高速缓存控制18A可以包括高速缓存控制电路52和一致性控制电路54。高速缓存控制电路52和一致性控制电路54可以各自包括配置寄存器,诸如配置寄存器56A-56D。处理器16耦接到L2高速缓存18A,并且更具体地是耦接到一致性控制电路54。一致性控制电路54可以耦接到高速缓存控制电路52。L2高速缓存控制18A,并且更具体地是高速缓存控制电路52,可以耦接至L2高速缓冲存储器18B。L2高速缓存控制18A还可以耦接到存储器控制器40(例如,图1中的CPU端口44C)。电源管理器50可以耦接到L2高速缓存控制18A(例如,图2中的L2电源控制信号)和处理器16(例如图2中的处理器电源控制信号)。
桥接器/DMA控制器30可以包括一致性I/O接口单元(CIF)58、上电/断电存储器60、以及DMA控制器62。CIF58耦接到上电/断电存储器60、DMA控制器62、L2高速缓存控制18A(并且更具体地是一致性控制电路54)、电源管理器50(例如,经由图2所示的I/O空闲、PwrUpReq、以及PwrUpAck信号),以及外设32A-32C和/或外设接口控制器34。DMA控制器62还耦接至外设32A-32C和/或外设接口控制器34。在一个实施例中,DMA控制器62和CIF58可以分别耦接至外设32A-32C和/或外设接口控制器34的子集。该子集可以是重叠的(例如,一些外设/外设接口控制器可被配置为通过DMA和通过与CIF58直接通信两者与存储器通信)。其他外设/外设接口控制器可以仅通过DMA或仅通过直接传送到CIF58的操作来与存储器通信。
配置寄存器56A-56D可以由软件编程以控制高速缓存控制电路52和一致性控制电路54的操作的各个方面。一般地,电路块可以实现配置寄存器以允许软件在各种可编程配置之间进行选择。例如,L2高速缓存器18的大小和配置在某个预定义的最大值的范围内是可以选择的。高速缓存的直写/写回操作是可被配置的。一致性模式可以通过配置寄存器56A-56D而被启用和控制。在一些实施例中,只有高速缓存控制电路52包括高速缓存配置寄存器56A-56D或者只有一致性控制电路54包括高速缓存配置寄存器56A-56D。
如果L2高速缓存18断电,存储在配置寄存器56A-56D的至少部分寄存器中的配置数据会丢失。为了在L2高速缓存18的断电和随后的上电之后恢复所述配置,可将配置数据存储在上电/断电存储器60中。例如,当软件使用同样在上电时被恢复的值来编程配置寄存器56A-56D时,软件同样可以将该值写入上电/断电存储器60。类似地,在断电之前可能存在配置寄存器写或者其他寄存器写的执行。例如,在断电之前可将同步命令写入寄存器来同步L2高速缓存18(保证任何重要的存储器操作或其他通信的完成)。
CIF58可被配置为在上电或者断电事件期间读取来自上电/断电存储器60的操作。电源管理器50可被配置为信令上电或者断电事件给CIF58,并且CIF58可被配置为读取存储器60并将相应事件的操作发送给L2高速缓存18。一旦操作完成,CIF58可被配置为将所述完成通信至电源管理器50。作为响应,电源管理器50可以完成上电/断电事件。
电源管理器50和CIF58之间可以实现任何通信。在该例示实施例中,电源管理器50可以使用PwrUpReq信号来信令上电或者断电事件。更具体地,电源管理器50可被配置为断言PwrUpReq信号来指示L2高速缓存18正被上电,并且可被配置为解除对PwrUpReq信号的断言以指示L2高速缓存18正被断电。作为对断言PwrUpReq信号的响应,CIF58可被配置为读取上电/断电存储器60中被指示为上电操作的任何操作,并且可被配置为将该操作通信至L2高速缓存18。CIF58可被配置为确定操作完成(例如接收与每个寄存器写操作相对应的写完成),并且CIF58可被配置为断言PwrUpAck信号来肯定应答该上电事件。电源管理器50可被配置为响应于对PwrUpAck信号的断言,重新使能与L2高速缓存18的通信。
对L2高速缓存18的断电可以包括至少断电高速缓存控制电路52。在一些实施例中,一致性控制电路54也可被断电。在一些实施例中,L2高速缓冲存储器18B可以保持上电,在高速缓存中维持高速缓存状态(例如,来自存储器的各种高速缓存块,高速缓存块的状态,诸如标签、有效性、以及一致性状态等)。作为替换,L2高速缓冲存储器18B还可以作为断电L2高速缓存18的一部分而被断电。作为对上电事件的响应,任何已断电的电路***/存储器可被再次上电。
上电/断电存储器60可以由任何半导体存储来形成。例如,多个寄存器可被设为可由软件读/写。其他实施例可以使用其他形式的存储(例如,随机存取存储器(RAM),诸如静态RAM)。
上电/断电存储器60一般地可以包括多个输入。图2中所示的存储器60具有两个示例性的条目。在图示的实施例中,上电/断电存储器60中的每个条目可以包括地址和数据对,在图2中的条目中被例示为A字段和数据字段。地址可以识别要被写入的配置寄存器,而数据可以是要写入配置寄存器的值。地址可以是相对的(例如,该地址可以是相对于与L2高速缓存控制器18A对应的基地址的偏移值,或者更具体地是相对于与一致性控制电路54和/或高速缓存控制电路52对应的基地址的偏移值)。作为替换,该地址可以是可由处理器16在写操作中传送到相应寄存器56A-56D的完整地址。每个条目还可以包括有效位(V)以指示该条目是否存储有效信息。此外,在该实施例中,每个条目还可以包括指示配置寄存器写是在断电期间还是在上电期间执行的断电字段(D)。D字段中的D位被设置以指示断电寄存器写,而清除则指示上电寄存器写。其他实施例可以使用不同的上电和断电存储器,或者可以按已知的方式划分存储器,并且D字段可以不被包括在每个条目中。
在一个实施例中,软件可被期望用以在上电/断电存储器60的初始条目中写入断电地址/数据对并在随后的条目中写入上电地址/数据对。在这一实施例中,响应于断电事件,CIF58可以进行从初始条目开始直到遇到D位被清除的条目的读取操作。CIF58可以维持对所述条目的指针,并且可以响应于上电事件而开始从所指示的条目读取上电操作(此后该指针可被重置以再次指向初始条目)。
虽然上电/断电存储器60可以存储配置寄存器写,但是其他实施例可以存储任何类型的待执行操作(例如,寄存器写、寄存器读、命令等)。因此,L2高速缓存18上电和断电的灵活机制可被支持。该机制可以支持当处理器16断电时给L2高速缓存18上电或断电(并且不需要唤醒处理器16)。此外,因为操作可在存储器60中被编程,所以待执行的操作可被改变并且这些操作的顺序也可被改变。因此,即便操作本身以硬件操作,机制仍是可经软件改变被修正的(如果操作错误的话)。
高速缓存控制电路52一般地可被配置为管理对L2高速缓冲存储器18B的访问。高速缓存控制电路52可以检测高速缓存存取的命中/未命中,初始化未命中的高速缓存填充,管理L2高速缓存18中的替换策略等。一致性控制电路54可以为处理器16的存储器操作和来自CIF58的存储器操作(例如,来自DMA控制器62的DMA操作和/或直接从外设32A-32C和/或外设接口控制器34接收到的其他存储器操作)控制CPU块14中的高速缓存一致性。一致性控制54可以在处理器16中维持用于高速缓存的监听标签,并且为了高速缓存一致性目的还可被配置为生成对高速缓存控制电路52的高速缓存访问以监听L2高速缓冲存储器18B。
电源管理器50可被配置为监测处理器16和L2高速缓存18,以及集成电路10(图2中末示出)内的其他各种活动。电源管理器50可以控制处理器16的电源状态,包括上电和断电处理器16,经由处理器电源控制信号。在各种实施例中,各处理器16可被独立地或者同步地上电或断电。
如果L2高速缓存是空闲的,电源管理器50还可以被配置为将L2高速缓存18断电。电源管理器50可以用各种方式检测出L2高速缓存18是空闲的。例如,电源管理器50可以意识到处理器16被断电,并且由此可以预期将不会有来自处理器16的存储器操作。此外,电源管理器50可以检测到桥接器/DMA控制器30空闲,至少是在存储器操作方面。在该例示的实施例中,CIF58可以产生I/O空闲信号。CIF58可以断言该I/O空闲信号以指示来自外设32A-32C和/或外设接口控制器34的待决存储器操作,包括没有来自DMA控制器62的存储器操作。在一个实施例中,CIF58可以在向电源管理器50断言I/O空闲信号之前检测到没有连续时钟周期的可编程的数量的存储器操作。在一个实施例中,如果CIF58已断言I/O空闲信号并在随后接收到存储器操作,则CIF58可被配置为解除对I/O空闲信号的断言。然而,CIF58可以等待来自电源管理器50的存储器操作能够被传送的指示。该指示可以避免其中电源管理器50在收到该存储器操作之前已经开始断电事件的竞争状态,并由此可以防止向L2高速缓存18传送有可能会作为断电事件的一部分而被丢失的存储器操作。在一个实施例中,电源管理器50可以提供就绪信号(末示出)来指示在I/O空闲信号断言(和解除断言)后L2高速缓存18已经准备好进行存储器操作。
继续转到图3-6,示出了例示用于L2高速缓存18上电和断电事件的电源管理器50和CIF58的一个实施例的操作的流程图。虽然各个块是按便于理解的特定顺序示出的,但是也可以使用其他顺序。块可以在电源管理器50和/或CIF58中的组合逻辑电路***中并行执行。块、块组合、和/或流程图可以作为整体以流水线经过多个时钟周期。该电源管理器50和/或CIF58可被配置为实现流程图中例示的操作。更具体地,该电源管理器50和/或CIF58可以包括实现例示操作的硬件电路***。
图3是示例电源管理器50用于断电事件的一个实施例的操作的流程图。如果处理器16被断电(判定框70,“是”分支)并且如果CIF58已信令I/O空闲(判定框72,“是”分支),则电源管理器50可以确定将发生断电事件。如果如此,该电源管理器50可以解除到CIF58的PwrUpReq信号断言(框74),以启始断电事件。电源管理器50可以等待来自CIF58的肯定应答(判定框76),并且响应于对PwrUpAck的解除断言(判定框76,”是”分支),电源管理块50可以断电L2高速缓存(框78)。
图4示例了CIF58用于断电事件的一个实施例的操作的流程图。CIF58对断电事件的处理可以始于对来自电源管理器50的解除断言PwrUpReq的响应(判定框80,”是”分支)。CIF58可以从上电/断电存储器60读取初始条目(框82),并确定是否该条目是有效的并且用于断电事件(V和D设置,判定框84)。如果是(判定框84,”是”分支),CIF58可发送地址/数据对到L2控制18A来更新被标识的配置寄存器56A-56D(框86)并可以读取存储器60中的下一条目(框82)。如果否(判定框84,”否”分支),CIF58可确定所有配置寄存器写的写响应是否都已从L2控制器18A接收到(判定框88)。如果这些响应已被接收(判定框88,”是”分支),L2控制18A可被准备用于断电而CIF58则解除断言PwrUpAck信号以肯定应答断电请求(框90)。
图5示例了电源管理器50用于上电事件的一个实施例的操作的流程图。如果处理器16要被上电,或者如果在CIF58接收到存储器操作(引起I/O空闲解除断言),该电源管理器50可以确定断电事件将要发生。电源管理器50可以上电L2高速缓存控制(框100)并可以等待电源稳定。电源管理器50可以断言PwrUpReq信号(框102),并可以等待PwrUpAck信号被断言(判定框104)以确定L2高速缓存18被初始化并准备好再次通信。
图6示例了CIF58用于上电事件的一个实施例的操作的流程图。CIF58对上电事件的处理可以开始于对PwrUpReq信号断言的响应(判定框110,”是”分支)。CIF58可以读取上电/断电存储器60中的下一条目(框112)。如果该条目是有效的并且是上电事件操作(V设置和D清除,判定框114,”是”分支),CIF58可以将配置寄存器写传送到L2高速缓存控制18A(框116)并读取存储器60中的下一条目(框112)。如果该输入是无效的或者是断电事件操作(判定框114,”否”分支),CIF58可以确定是否已经接收到寄存器写的响应(判定框118)。如果是(判定框118,”是”分支),CIF58则可断言PwrUpAck信号(框120)。
在某些实施例中,电源管理器50可以确定在上电事件处理期间L2高速缓存18要被断电,或者可以确定在断电事件处理期间L2高速缓存18要被上电。在某些实现中,电源管理器50可以被配置为在初新的转变之前允许进行中的转变完成。在其他实现中,电源管理器50可以被配置为一旦确定则信令新的转变(例如通过改变PwrUpReq信号的状态)。CIF58可被配置为监视PwrUpReq信号来检测状态的改变,并且可以终止对进行中的事件的处理。CIF58可被配置为不需要进一步的处理就能肯定应答该改变的状态,或者可以处理新的事件(为新的事件执行寄存器写)。
图7是针对一个实施例示例了L2高速缓存18上电和断电序列的时序图。图7中的时间以任意的单位从左到右增长,。L2高速缓存18可以被上电并在时序图的开始处操作(框130),并且PwrUpReq和PwrUpAck信号都被断言。电源管理器50可以确定L2高速缓存要被断电,并可以解除断言PwrUPReq信号(虚线132)。CIF58可以开始传送寄存器写并收集响应(框134)。一旦写完成并且响应被接收到,CIF58可解除断言PwrUpAck(虚线136)而L2高速缓存18可被断电(框138)。在下一点,电源管理器50可以确定L2高速缓存18要被上电,并可以在为L2高速缓存18接通电源后断言PwrUpReq信号(虚线140)。CIF58可以传送寄存器写来初始化配置寄存器(框142),并可作为完成写和接收到响应的响应而断言PwrUpAck信号(虚线144)。在这一点,L2高速缓存18可以被上电并重新操作(框146)。
现在转到图8,示例了更新L2高速缓存配置的软件的一个实施例的流程图。例如,该软件可以包括可在***5引导期间执行和/或在L2高速缓存配置改变的***操作期间的其他时刻执行的L2配置代码。L2配置代码可在处理器16中的一个处理器上执行以实现图8中所示的操作。也就是说,L2配置代码可以包括指令,所述指令在被处理器16中的一个处理器执行时实现图8所示的操作。虽然为了便于理解而以特定顺序示出了这些块,但是也可以使用其他顺序。
L2配置代码可以写入L2高速缓存18的一个或多个配置寄存器(框150)。如果一个或多个配置寄存器需要在L2高速缓存18断电期间被写入(判定框152,”是”分支),该代码可以将配置寄存器的地址和相应的数据写入到上电/断电存储器60中(框154)。例如,可以包括引起L2高速缓存18同步的寄存器写。该代码可以在用断电写来写入的每个条目中设置V和D位。如果一个或多个配置寄存器要在L2高速缓存18(判定框156,”是”分支)的上电期间被恢复,该代码可以将配置寄存器的地址和相应的数据写入上电/断电存储器60并在每个条目中设置V位并清除D位(框158)。注意到在某些实施例中,相同的配置寄存器可被包括在断电写和上电写两者中。
在其他实施例中,CIF58可被配置为检测配置寄存器56A-56D(或在上电事件中要被存储和/或在断电事件中已写入的配置寄存器的子集)的写入。CIF58可以自动捕捉写入上电/断电存储器60中的各寄存器的值,并且因此L2配置代码不需要明确地执行对存储器60的写入。在一些此类实施例中,除了上述的自动捕捉外,L2配置代码还能够更新存储器60。例如,L2配置代码可以***同步命令用于断点事件。
接下来转到图9,示出了计算机可访问存储介质200的框图。一般来说,计算机可访问存储介质包括在用于向计算机提供指令和/或数据期间可被计算机访问的任何存储介质。例如,计算机可访问存储介质包括的存储介质可以是诸如磁性或光介质,例如,盘(固定的或者可移除的)、磁带、CD-ROM、或DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW、或蓝光。存储介质还可以包括易失性或者非易失性存储介质,诸如RAM(例如同步动态RAM(SDRAM)、双倍数据速率(DDR、DDR2、DDR3等)SDRAM、低功率DDR(LPDDR2等)SDRAM、RambusDRAM(RDRAM)、静态RAM(SRAM)等)、ROM、闪存、可经由外设接口诸如通用串行(USB)接口等存取的非易失性存储器(例如闪存)。存储介质可以包括微机电***(MEMS),存储介质也可以经由通信介质诸如网络和/或无线连接访问。图9中的计算机可访问存储介质200可以存储L2配置代码202,后者可用于实现图8中的流程图。一般地,计算机可访问存取介质200可以存储任何指令集,指令集在被执行时实现图8中的流程图的一部分或者全部。载体介质可以包括计算机可访问存储介质以及传输介质,诸如有线或者无线传输。
现在转到图10,示出了***350的一个实施例的框图。在该例示的实施例中,***350包括耦接至外部存储器352的集成电路10的至少一个实例。外部存储器352可以组成上文参考图1所述的主存储器子***(例如外部存储器352可以包括存储器12A-2B)。集成电路10耦接到一个或多个外设354和外部存储器352。还设有电源356以便为集成电路358供应电压并为存储器352和/或外设354供应一个或多个电压。在一些实施例中,可以包括集成电路10的多于一个的实例(并且同样可以包括多于一个的外部存储器352)。
存储器352可以是任何类型的存储器,诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR、DDR2、DDR3等)SDRAM(包括SDRAM的移动版本诸如MDDR3等,和/或SDRAM的低功率版本,诸如LPDDR2等)、RAMBUSDRAM(RDRAM)、静态RAM(SRAM)等。一个或多个存储器设备可以耦接到电路板上以形成存储器模块,诸如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)等。作为替换,这些设备可以片上芯片配置、封装上封装配置、或是多芯片模块配置与集成电路10一并安装。
取决于***350,外设354可以包括任何期望的电路***。例如,在一个实施例中,***350可以是一个移动设备(例如个人数字助理(PDA)、智能电话等)而外设354可以包括各种类型的无线通信设备,诸如WiFi、蓝牙、蜂窝、全球定位***等。外设354还可以包括附加的存储,包括RAM存储、固态存储、或者盘存储。外设354可以包括用户接口设备,诸如显示屏、包括触摸显示屏或者多点触摸显示屏、键盘或其他输入设备、麦克风、扬声器等。在其他实施例中,***350可以是任何类型的计算机***(例如桌上型个人计算机、笔记本、工作站、上网本等等)。
各种变化和修改对于完全理解了上述公开的本领域技术人员而言是显而易见的。所附权利要求旨在被解释为涵盖所有这些的变化和修改。

Claims (15)

1.一种用于电源管理的设备,包括:
存储器,被配置为存储识别用于在断电电路块之前执行的第一操作集合以及用于在上电电路块之后执行的第二操作集合的数据,其中在断电电路块之前执行的第一操作集合包括:到所述电路块内的寄存器的至少一个写操作;
控制电路,被耦接以在***内的处理器断电期间接收对断电所述电路块的请求,所述***包括存储器和控制电路,其中该控制电路被配置为响应于所述请求执行在存储器中识别的相应的第一操作集合,所述第一操作集合包括到所述寄存器的所述至少一个写操作,其中所述至少一个写操作引起所述电路块的同步操作以保证来自所述电路块的重要的通信的完成,并且其中,所述控制电路被配置为在不唤醒所述处理器去执行所述断电的情况下执行第一集合的写操作,从而在所述处理器保持断电的同时所述电路块的所述断电被执行。
2.根据权利要求1所述的设备,其中第一操作集合包括用于电路块中的第一多个寄存器的第一多个寄存器写操作,其中所述第一多个寄存器写操作包括所述至少一个写操作,并且其中存储器中的数据包括用于识别所述第一多个寄存器的第一多个地址以及要被写入所述第一多个寄存器的第一多个数据值,并且其中第二操作集合包括用于电路块中的第二多个寄存器的第二多个寄存器写操作,并且其中存储器中的数据包括用于识别第二多个寄存器的第二多个地址以及要被写入所述第二多个寄存器的第二多个数据值。
3.根据权利要求2所述的设备,其中第一寄存器被包括在第一多个寄存器和第二多个寄存器两者内。
4.根据权利要求1所述的设备,其中存储器包括软件使用第一操作集合和第二操作集合可编程的一个或多个寄存器。
5.根据权利要求1所述的设备,其中控制电路还被配置为在***中的处理器被断电期间接收电路块上电请求,并且其中控制电路被配置为响应于电路块上电请求执行在存储器中识别的相应的第二操作集合。
6.一种用于电源管理的***,包括:
一个或多个处理器;
耦接到所述一个或多个处理器的电路块;以及
耦接到所述电路块并被配置为耦接到一个或多个外设的桥接器,其中该桥接器包括可使用表示在电路块断电之前执行的第一多个操作和在电路块上电期间执行的第二多个操作的数据来编程的多个寄存器,其中在断电电路块之前执行的第一多个操作包括:到所述电路块内的寄存器的至少一个写操作,其中所述至少一个写操作引起所述电路块内的同步操作,并且其中所述桥接器被配置为响应于电路块的断电事件执行第一多个操作以及响应于电路块的上电事件执行第二多个操作,其中,所述同步操作保证来自所述电路块的重要的通信的完成,并且其中,所述桥接器被配置为在不唤醒所述处理器去执行所述断电的情况下执行第一集合的写操作,从而在所述处理器保持断电的同时所述电路块的所述断电被执行。
7.根据权利要求6所述的***,其中所述电路块是高速缓存。
8.根据权利要求7所述的***,其中该高速缓存包括多个配置寄存器,并且第二多个操作中的至少一些操作是对所述多个配置寄存器中的一个或多个进行写入,并且所述多个寄存器可使用所述多个配置寄存器中的所述一个或多个的地址以及要被写入所述多个配置寄存器中的所述一个或多个的值而被编程。
9.根据权利要求7所述的***,还包括被配置为响应于检测到一个或多个处理器被断电并且进一步响应于检测到没有来自一个或多个外设的待决操作而生成断电事件的电源管理器。
10.根据权利要求9所述的***,其中桥接器被配置为响应于第一多个操作的完成肯定应答所述断电事件。
11.根据权利要求10所述的***,其中电源管理器被配置为生成上电事件,并且桥接器被配置为响应于第二多个操作的完成肯定应答所述上电事件。
12.根据权利要求7所述的***,其中所述多个寄存器包括用于在所述多个寄存器中表现的每个操作的指示,该指示用于指示所述操作是第一多个操作中的一个操作还是第二多个操作中的一个操作。
13.一种用于电源管理的方法,包括:
在包括耦接到电路块的一个或多个处理器的***中检测电路块要被上电,其中所述一个或多个处理器在检测时是断电的;
向耦接到所述电路块的控制电路发出请求;以及
控制电路通过执行存储在该控制电路中的多个操作以初始化电路块来响应所述请求;
在所述***中的所述一个或多个处理器被断电的时间期间检测到电路块要被断电;
响应于检测到电路块要被断电,向控制电路发出第二请求;以及
响应所述第二请求,控制电路执行存储在该控制电路中的一个或多个第二操作,其中所述一个或多个第二操作包括:到所述电路块的第一配置寄存器的第一写操作,其中所述第一写操作引起所述电路块的同步操作以保证来自所述电路块的重要的通信的完成,并且其中,所述控制电路被配置为在不唤醒所述处理器去执行所述断电的情况下执行第一集合的写操作,从而在所述处理器保持断电的同时所述电路块的所述断电被执行。
14.根据权利要求13所述的方法,其中每个操作用电路块中配置寄存器的地址以及要被写入配置寄存器中的值来表示。
15.根据权利要求13所述的方法,还包括:
控制电路确定所述一个或多个第二操作完成;
响应于上述确定,控制电路肯定应答所述第二请求;以及
响应于控制电路的肯定应答,断电电路块。
CN201110459693.7A 2010-09-30 2011-09-30 硬件动态高速缓存电源管理 Active CN102646446B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/894,516 2010-09-30
US12/894,516 US8806232B2 (en) 2010-09-30 2010-09-30 Systems and method for hardware dynamic cache power management via bridge and power manager

Publications (2)

Publication Number Publication Date
CN102646446A CN102646446A (zh) 2012-08-22
CN102646446B true CN102646446B (zh) 2016-01-06

Family

ID=44785486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110459693.7A Active CN102646446B (zh) 2010-09-30 2011-09-30 硬件动态高速缓存电源管理

Country Status (9)

Country Link
US (1) US8806232B2 (zh)
EP (1) EP2437138A3 (zh)
JP (1) JP5537533B2 (zh)
KR (1) KR101317526B1 (zh)
CN (1) CN102646446B (zh)
GB (1) GB2484204B (zh)
NL (1) NL2007481C2 (zh)
TW (1) TWI483265B (zh)
WO (1) WO2012050773A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104499B2 (en) 2010-12-21 2015-08-11 Qualcomm Incorporated System for minimizing resource latency between processor application states in a portable computing device by scheduling resource state set transitions
US9285856B2 (en) * 2010-12-21 2016-03-15 Qualcomm Incorporated Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device
US8954980B2 (en) 2011-11-11 2015-02-10 Qualcomm Incorporated Conserving power through work load estimation for a portable computing device using scheduled resource set transitions
US9513693B2 (en) 2014-03-25 2016-12-06 Apple Inc. L2 cache retention mode
JP6695320B2 (ja) * 2014-07-30 2020-05-20 リニア アルジェブラ テクノロジーズ リミテッド 低電力コンピュータイメージング
GB2539459A (en) * 2015-06-16 2016-12-21 Nordic Semiconductor Asa Waveform generation
US10156887B2 (en) * 2016-09-29 2018-12-18 Qualcomm Incorporated Cache memory clock generation circuits for reducing power consumption and read errors in cache memory
US10921874B2 (en) * 2017-03-06 2021-02-16 Facebook Technologies, Llc Hardware-based operating point controller for circuit regions in an integrated circuit
US20200264788A1 (en) * 2019-02-15 2020-08-20 Qualcomm Incorporated Optimal cache retention mechanism
US11409560B2 (en) * 2019-03-28 2022-08-09 Intel Corporation System, apparatus and method for power license control of a processor
US11507174B2 (en) * 2020-02-25 2022-11-22 Qualcomm Incorporated System physical address size aware cache memory
CN112131175B (zh) * 2020-08-28 2022-06-17 山东云海国创云计算装备产业创新中心有限公司 一种SoC芯片、功耗控制方法及可读存储介质
CN112199244B (zh) * 2020-10-16 2022-08-02 苏州浪潮智能科技有限公司 一种服务器掉电检测的方法、***、设备及介质
US20230275597A1 (en) * 2021-11-08 2023-08-31 Ambiq Micro, Inc. Low power and wide dynamic range analog-to-digital converter

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689714A (en) * 1995-08-28 1997-11-18 Motorola, Inc. Method and apparatus for providing low power control of peripheral devices using the register file of a microprocessor
US8028185B2 (en) * 2008-03-11 2011-09-27 Globalfoundries Inc. Protocol for transitioning in and out of zero-power state

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632038A (en) 1994-02-22 1997-05-20 Dell Usa, L.P. Secondary cache system for portable computer
US6052789A (en) 1994-03-02 2000-04-18 Packard Bell Nec, Inc. Power management architecture for a reconfigurable write-back cache
US5923829A (en) * 1994-08-25 1999-07-13 Ricoh Company, Ltd. Memory system, memory control system and image processing system
AU3313795A (en) 1994-10-14 1996-04-26 Compaq Computer Corporation Circuit for placing a cache memory into low power mode in response to special bus cycles
US5642489A (en) 1994-12-19 1997-06-24 International Business Machines Corporation Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management
US5530932A (en) 1994-12-23 1996-06-25 Intel Corporation Cache coherent multiprocessing computer system with reduced power operating features
US6510525B1 (en) 1999-04-26 2003-01-21 Mediaq, Inc. Method and apparatus to power up an integrated device from a low power state
US6571333B1 (en) 1999-11-05 2003-05-27 Intel Corporation Initializing a memory controller by executing software in second memory to wakeup a system
JP2002196846A (ja) 2000-12-26 2002-07-12 Mitsubishi Electric Corp Lsiのリーク電流低減方法
US6826704B1 (en) 2001-03-08 2004-11-30 Advanced Micro Devices, Inc. Microprocessor employing a performance throttling mechanism for power management
JP2002305475A (ja) 2001-04-04 2002-10-18 Kyocera Corp 省電力状態移行方法、及び移動通信機
US7848718B2 (en) 2004-05-05 2010-12-07 St-Ericsson Sa Method apparatus comprising integrated circuit and method of powering down such circuit
DE102004032237A1 (de) * 2004-07-02 2006-01-26 Infineon Technologies Ag Konfiguration von Bauelementen bei einem Übergang von einem Niedrigleistungs-Betriebsmodus in einen Normalleistungs-Betriebsmodus
EP1653331B8 (en) 2004-10-29 2012-03-14 ST-Ericsson SA An apparatus and method for entering and exiting low power mode
US7610497B2 (en) * 2005-02-01 2009-10-27 Via Technologies, Inc. Power management system with a bridge logic having analyzers for monitoring data quantity to modify operating clock and voltage of the processor and main memory
US7869835B1 (en) 2005-03-02 2011-01-11 Nvidia Corporation Method and system for pre-loading and executing computer instructions within the cache memory
US7873820B2 (en) 2005-11-15 2011-01-18 Mips Technologies, Inc. Processor utilizing a loop buffer to reduce power consumption
US7725750B2 (en) * 2006-05-01 2010-05-25 Freescale Semiconductor, Inc. Method of transitioning between active mode and power-down mode in processor based system
US20070288776A1 (en) * 2006-06-09 2007-12-13 Dement Jonathan James Method and apparatus for power management in a data processing system
US8117475B2 (en) * 2006-12-15 2012-02-14 Microchip Technology Incorporated Direct memory access controller
US9052892B2 (en) 2007-06-04 2015-06-09 Ericsson Modems, SA Power supply management integrated circuit
US8527709B2 (en) 2007-07-20 2013-09-03 Intel Corporation Technique for preserving cached information during a low power mode
US7779191B2 (en) 2008-07-29 2010-08-17 Nvidia Corporation Platform-based idle-time processing
US7895466B2 (en) * 2008-09-02 2011-02-22 Telefonaktiebolaget L M Ericsson (Publ) DMA assisted data backup and restore

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689714A (en) * 1995-08-28 1997-11-18 Motorola, Inc. Method and apparatus for providing low power control of peripheral devices using the register file of a microprocessor
US8028185B2 (en) * 2008-03-11 2011-09-27 Globalfoundries Inc. Protocol for transitioning in and out of zero-power state

Also Published As

Publication number Publication date
CN102646446A (zh) 2012-08-22
JP2012079320A (ja) 2012-04-19
NL2007481A (en) 2012-04-02
US8806232B2 (en) 2014-08-12
TW201225102A (en) 2012-06-16
EP2437138A2 (en) 2012-04-04
KR101317526B1 (ko) 2013-10-15
GB2484204A (en) 2012-04-04
GB2484204B (en) 2013-02-13
EP2437138A3 (en) 2012-10-03
TWI483265B (zh) 2015-05-01
WO2012050773A1 (en) 2012-04-19
US20120084589A1 (en) 2012-04-05
GB201116886D0 (en) 2011-11-16
JP5537533B2 (ja) 2014-07-02
KR20120034041A (ko) 2012-04-09
NL2007481C2 (en) 2012-11-13

Similar Documents

Publication Publication Date Title
CN102646446B (zh) 硬件动态高速缓存电源管理
US11200176B2 (en) Dynamic partial power down of memory-side cache in a 2-level memory hierarchy
TWI518686B (zh) 基於追蹤使用統計之產生遠記憶體存取信號的技術
CN107608910B (zh) 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
TWI341969B (en) Method for causing a memory to enter self refresh, memory apparatus that can enter a self refresh, and coumputing system
CN104106057B (zh) 用非易失性随机存取存储器提供对休眠状态转变的即时响应的方法和***
EP2901293B1 (en) Intelligent far memory bandwidth scaling
TWI596474B (zh) 用於系統存取非依電性半導體儲存體作為隨機存取記憶體之方法及半導體晶片
US9916104B2 (en) Techniques for entry to a lower power state for a memory device
US11036412B2 (en) Dynamically changing between latency-focused read operation and bandwidth-focused read operation
US11500797B2 (en) Computer memory expansion device and method of operation
EP4002132A1 (en) Adaptive device behavior based on available energy
TW200910100A (en) Cache memory having configurable associativity
TWI670602B (zh) 電子器件及省電快取記憶體使用之方法
WO2013095530A1 (en) Efficient pcms refresh mechanism background
US20180101323A1 (en) Power management and monitoring for storage devices
US10152410B2 (en) Magnetoresistive random-access memory cache write management
US20170153994A1 (en) Mass storage region with ram-disk access and dma access
US11966339B1 (en) Selecting between basic and global persistent flush modes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant