CN102213998B - 系统中针对处理器休眠和唤醒事件的硬件自动性能状态转换 - Google Patents

系统中针对处理器休眠和唤醒事件的硬件自动性能状态转换 Download PDF

Info

Publication number
CN102213998B
CN102213998B CN201110124473.9A CN201110124473A CN102213998B CN 102213998 B CN102213998 B CN 102213998B CN 201110124473 A CN201110124473 A CN 201110124473A CN 102213998 B CN102213998 B CN 102213998B
Authority
CN
China
Prior art keywords
performance state
performance
processor
state
power management
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
CN201110124473.9A
Other languages
English (en)
Other versions
CN102213998A (zh
Inventor
J·P·德塞里
政郁曹
高柳俊成
T·J·米利特
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=44072062&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN102213998(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN102213998A publication Critical patent/CN102213998A/zh
Application granted granted Critical
Publication of CN102213998B publication Critical patent/CN102213998B/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
    • 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
    • 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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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
    • 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

Abstract

本发明涉及系统中针对处理器休眠和唤醒事件的硬件自动性能状态转换。在一个实施例中,电源管理单元(PMU)可以自动转换(以硬件的方式)系统中一个或多个性能域的性能状态。性能域要转换到目标性能状态可以通过软件被编程写入PMU,并且软件可以发送信号通知PMU系统中的处理器即将进入休眠状态。PMU可以控制性能域到目标性能状态的转换,并且可以促使处理器进入休眠状态。在一个实施例中,在处理器退出休眠状态时,可以使用性能域要转换到的第二组目标性能状态对PMU进行编程。PMU可以控制性能域到第二目标性能状态的转换并促使处理器退出休眠状态。

Description

系统中针对处理器休眠和唤醒事件的硬件自动性能状态转换
技术领域
本发明涉及包含处理器和外围设备的系统,并且在这些系统中管理功耗的领域。 
背景技术
随着集成电路“芯片”上包含的晶体管数量不断增加,集成电路中的电源管理也越来越重要。对于包含在例如个人数字助理PDA、蜂窝电话、智能电话、笔记本电脑、上网本电脑等的移动设备中的集成电路而言,电源管理可以起到非常关键的作用。这些移动设备通常依赖于电池电源,而减少集成电路中的功耗可以延长电池的寿命。此外,减少功耗可以减少集成电路中产生的热量,而这也可以降低包括集成电路的设备的冷却要求(无论其是否依赖于电池电源)。 
时钟门控(clock gating)经常被用于减少集成电路中的动态功耗,禁用时钟会使电路空闲,并因此阻止空闲电路中的切换。此外,一些集成电路实现了电源门控以减少静态功耗(例如,减少由于漏电流引起的消耗)。利用电源门控,空闲电路的电源到地路径被中断,几乎将漏电流减到零。 
时钟门控和电源门控可以作为有效的省电机制。但是,在一些情况中,这些机制并不像想象中的那么有效。例如,具有处理器的系统可能会为了省电而使处理器进入休眠状态。当处理器处于休眠状态时,系统中的其他组件还是活动的,并且通常以支持活动的处理器的性能水平在运行。当处理器处于休眠状态时,这些其他组件不需要以这样高的性能水平运行。类似地,当处理器被从休眠状态中唤醒时,处理器和其他组件为支持系统执行的活动而需要运行的性能水平可能与处理器进入休眠状态之前的性能水平不同。 
处理器和其他组件的休眠/苏醒转换由软件控制来改变。软件在处理器上执行,并且因此改变处理器和其他组件的性能水平可以影响执行软件所需的时间。这些效应会影响转换的效率,影响节省的电力和应用的性能。另外,软件的执行时间可以影响处 理器被转换到休眠状态的频率,以及系统其余部分可以容忍的性能减少的程度。 
发明内容
在一个实施例中,电源管理单元可以被配置成自动转换(以硬件的形式)系统中一个或多个性能域的性能状态。性能域要转换到的目标性能状态可以利用软件在电源管理电源中编程。此外,软件可以用信号通知电源管理单元系统中的处理器将要进入休眠状态。作为替代的,电源管理单元可以监测处理器以检测处理器正在进入休眠状态或已经进入休眠状态。可以设置电源管理单元用以控制性能域向目标性能状态的转换,并且在某些实施例中还可以使处理器进入休眠状态。在一个实施例中,电源管理单元可以用第二组目标性能状态编程,当处理器退出休眠状态时,性能域要转换到所述第二组目标性能状态。可以设置电源管理单元以控制性能域到第二目标性能状态的转变,并且在某些实施例中也可以使处理器退出休眠状态。 
在一个实施例中,当性能域到不同目标状态的转变是由电源管理单元来控制时,可能比由软件控制更快。因此,电力节省可以比单纯由软件控制实现方案更高效,并且在系统中执行的应用的性能也可以得到积极的影响。另外,性能状态的可配置性可以允许对系统中的性能水平进行更精细的控制并因此可以额外节省电力。在一些情况下,与由软件控制的实现方案可能实现的情形相比,性能状态可以被进一步地降低,因为当系统处于低的性能状态时执行软件所需的时间是一个减少的因素(或者甚至可以被忽略)。 
系统的每一个组件可以被包含在性能域中,并且在不同的实施例中,每个性能域既可以包含至少一个组件也可以包含多个组件。电源管理单元可以利用每个性能域和每个硬件管理的转换(例如,在不同的实施例中,进入休眠状态、离开休眠状态或进入和离开休眠状态)的性能状态识别符进行编程。处理器的休眠状态也可以是一个性能状态,就像在不同的实施例中处理器可以被编程为的可能的其他不同的性能状态一样。 
附图说明
此处简要介绍的附图将在下文中进行详细的描述。 
图1是系统的一个实施例的框图。 
图2是图1所示的性能配置寄存器的一个实施例的框图。 
图3是表示电源管理单元自动改变电源状态的一个实施例的操作的流程图。 
图4是表示驱动组件的一个实施例的框图。 
图5是表示电源管理单元驱动组件的一个实施例的操作的流程图。 
图6是表示系统的另一个实施例的框图。 
图7是计算机可访问的存储介质的一个实施例的框图。 
由于不同的修改和替代形式易对发明造成影响,因此本发明的特殊的实施例以附图中的例子的形式被展示并对其进行详细的介绍。但是,需要理解的是,附图和详细的描述并非要将本发明限制到所公开的特定的形式,而是相反,其意图是覆盖落入由权力要求定义的本发明的精神和范围内的所有的修改,等效和替代形式。这里使用的标题只是用于组织的目的而并非要限制描述的范围。在整个申请中使用的词“可以”,表示许可的意思(即,具有这个能力),而不是强制的意思(即,必须)。类似的,“包含”意为着含有,而非仅限于。 
可以将不同的单元、电路或其他的组件描述为“被配置成”执行任务。在这里,“被配置成”是对结构的宽泛的描述,通常表示具有在运行时执行任务的电路。因此,即使单元/电路/组件眼下没有接通,仍然可以设置单元/电路/组件执行任务。总之,构成对应于“被配置成”的结构的电路可以包含硬件电路。类似的,不同的单元/电路/组件可以被描述为执行任务,出于描述的简便考虑。这种描述应被理解为包含“被配置成”。叙述被设置用于执行一个或多个任务的单元/电路/组件,显然不是要引用35U.S.C.§112,第六段对于单元/电路/组件的理解。 
具体实施方式
参看图1,显示了系统的一个实施例的框图。在图1的实施例中,系统包含形成芯片上系统的集成电路(IC)10,以及电源12。集成电路10包含一组性能域14A-14F。每个性能域14A-14F包含集成电路10的至少一个组件,并且一个给定的性能域可以包含多于一个的组件。例如,图1中性能域14A包含两个组件,处理器16A和另一个组件18;性能域14E可以包含两个或更多的外围设备24。在所示的实施例中,性能域14B包含可选的第二处理器16B;性能域14C包含图形单元20;性能域14D包含音频单元22;性能域14E包含网络连接外围设备和/或其他外围设备和/或外围设备接口单元24;性能单元14F包括存储控制器26。集成电路10还包括电源管理单元(PMU)28(该电源管理单元包括一个或多个性能配置寄存器30)和时钟/电压控制单元32。图1中所示的不同的组件可以任意希望的形式耦合。例如,在组件之间可以设置一条或多条总线或其他的接口。PMU 28和时钟/电压控制单元32除耦合到接口外还可以耦合到不同的组件。例如,时钟/电压控制单元32可以向组件(未在图1中示出)提供时钟信号。时钟/电压控制单元32可以被设置成与电源12通信从而向电源12请求一个或多个电源电压。电源12可以生成所需的电压,也可以为集成电路提供电压。
PMU 28可以被配置成用于控制不同的性能域14A-14F的性能状态之间的转换。尤其地,PMU 28可以被配置成响应于一个或多个处理器16A-16B进入休眠状态(或响应于判断出处理器将进入休眠状态)而自动地转换一个或多个性能域14A-14F。PMU28还可以被配置成响应于处理器退出休眠状态(或响应于判断出处理器将退出休眠状态)而自动地转换一个或多个性能域14A-14F。退出休眠状态也可以指“唤醒”处理器。休眠状态和处理器的其他状态可以是包含处理器的性能域的性能状态。作为替代地,休眠状态和其他处理器状态可以是用于包含处理器的性能域的性能状态中的性能特征。 
性能域可以是一个或多个组件,其可以由PMU 28作为一个单元来控制,以进行性能配置。这就是说,PMU 28可以被配置成用于为每一个性能域建立相应的性能状态,并且可以被设置用于在每一个性能域中控制性能状态之间的转换。形成性能域的组件可以一起从一个性能状态转换到另一个性能状态。另一方面,不同性能域中的组件相互之间可以(至少从硬件的角度看)是独立的,并且可以具有独立确定的性能状态。一些性能域可以在较高的水平(例如以软件方式)逻辑地链接。例如,如果用户正在看包含声音的视频(因此使用用于显示视频图像的图形单元20和用于传送声音的音频单元22),性能域14C-14D可以逻辑地链接。 
性能状态可以包含用于相应性能域中的组件的性能特征的任意的组合。性能特征可以是影响组件性能的用于组件的任何可配置的设定。例如,提供给组件的时钟信号的运行频率可以影响其性能。较低的运行频率可以导致较低的性能。相应的供应电压也可以是性能特征。一些性能特征可以是特定于组件的。例如,不同的缓存中的缓存大小可以是性能特征。接口的数据宽度或其他数据传输率参数可以是性能特征。包括一些可以并行运行的对称单元(例如,处理器中的执行单元,像素管道或者图形单元 中的其他图象处理管道等)的组件在活动的对称单元的数量方面可以是可配置的。单位时间内处理的指令(处理器)、操作(图形或声音)、通信(网络或其他外围设备接口)、或存储请求(存储控制单元)的数量可以是性能特征。图形分辨率或调色板的大小(即每像素的比特)可以是性能特征。音频分辨率和采样率可以是性能特征。存储带宽可以是性能特征。处理器的休眠/唤醒状态可以是性能特征。如果组件或其部分可以被电源门控和/或时钟门控,则电源和/或时钟使能可以是性能特征。在不同的实施例中,任何可以被改变并且可以影响性能的参数可以是性能特征。 
在性能域中改变性能状态可以影响性能域的功耗。降低运行频率和供应电压会直接影响功耗。减少缓存的大小可以降低功耗,因为一部分缓存可以不被访问,并且如果关掉不用的部分甚至可以降低更多功耗。此外,减少的缓存大小可能降低缓存命中率,由此可能增加使用者的存储器等待时间。增加的存储器等待时间可以减少使用者的活动性,降低功耗接口上减少的数据带宽/传输速率可以通过减少交换而降低功耗。此外,降低向使用者提供数据的速率可以降低使用者的活动性,由此可以降低在使用者中的功耗。在对称单元中减少的并行活动可以通过较少的活动而降低功耗,因为可以有较少的指令或其他操作发出率。减少图形/音频分辨率和调色板可以减少每个图像或声音单元传输的数据量。减少的存储器带宽可以降低在单位时间访问存储器方面的功耗,并可以减少使用者的活动。 
在一些实施例中,性能状态可以包括性能特征的多个实例。例如,如果处理器在休眠状态中被断电并且其他组件处于同一性能域中,用于处理器的电压可以独立于其他保持活动的组件的电压而被单独设定。类似地,任何其他适用于一个性能域中的一个以上的组件并且可以针对这些组件而独立地控制的性能特征可以用性能状态中的多个实例来表示。 
在其中处理器和其他组件位于一个处理域中的实施例中,其他组件在处理器处于休眠状态时可以保持活动。例如,在性能域14A中的组件18可以在处理器16A处于休眠状态时保持活动。组件的性能特征可以被改变以反映在处理器处于休眠状态时减少的操作。例如,组件18可以是耦合到处理器16A的二级(L2)缓存。在该实施例中,所述L2缓存可以不被休眠中的处理器16A访问但是可以保持活动以保持缓存一致性(coherence)。在一些实施例中,L2缓存可以较低的时钟频率(和电压)运行,同时仍然提供足够的性能以保证缓存一致性。 
PMU 28可以包括被配置成用于在处理域中产生性能状态的转换的电路。在一个实施例中,PMU 28可以检测处理器16A-16B正在进入/退出休眠状态,并且可以造成性能域中的相应的转换。在其他的实施例中,软件可以明确地将休眠/唤醒时间告知PMU28。在一个实施例中,PMU 28可以通过用于各性能域的性能配置进行编程。例如,当处理器进入休眠状态时要在性能域14A-14F中使用的性能状态可以在性能配置寄存器30中指定。当处理器16A-16B退出休眠状态(唤醒)时要使用的性能状态也可以被指定。当任一事件发生时,PMU 28可以引起所希望的转换。 
在电压和时钟频率变化的情况中,PMU 28可以将新的设定告知时钟/电压控制单元32。时钟/电压控制单元32可以实现新的设定,生成所需频率的时钟信号并向电源12请求所需的供应电压。如果需要,时钟/电压控制单元32可以定制修改,以便安全地完成转换。例如,如果时钟频率和供应电压正在增加,先增加电压而后增加时钟频率可能更安全,因为如果电路在当前(较低)的供应电压下更慢地运行,则增加的时钟频率可以导致不正确的操作。在一些实施例中,在供应电压变化的过程中消耗的时间量可能明显大于改变时钟频率的时间。如果时钟频率和供应电压正在降低,则可以先降低时钟频率(或频率和电压可以被并行降低,因为在这种情况下,较低的时钟频率可以在较低的供应电压之前达到)。 
时钟/电压控制单元32可以包括用于与电源12通信以请求所需的供应电压的电路,并且可以包括时钟生成电路。例如,时钟/电压控制单元32可以包括一个或多个锁相环(PLL)、时钟分频器/乘法器等,用于为组件生成时钟。 
在集成电路10中包括的不同的组件可以实现任何需要的功能。一般而言,组件可以指被定义为在集成电路中执行一组特定的操作的任何电路,并且具有定义的接口用于与集成电路中的其他组件通信。如在图1中所示,示例性的组件可以包括处理器16A-16B、组件18、图形单元20、音频单元22、网络连接外围设备和其他外围设备/外围设备接口24(可以是多个组件)以及存储控制器26。 
处理器16A-16B可以实现任何指令集架构,并可以被配置成执行在该指令集架构中定义的指令。任何微架构(microarchitectural)的实现方案都可以被使用(例如,有序、无序、投机、非投机、标量、超标量、管道、超管道等)。微编码技术可以被用于一些实施例,结合上述任何实施例。 
如上所述,处理器16A-16B的性能状态可以包括休眠状态。在休眠状态中,处理器空闲(不执行指令)。到处理器的时钟可以被停止。在一些实施例中,在休眠状态中也可以将处理器断电。作为替代的,可以有多于一个的休眠状态。这些休眠状态中的一个可以包括将处理器断电,并其他休眠状态可以包括保持处理器的电源。此外,处理器可以包括至少一个“唤醒状态”。可以有多个唤醒状态。例如,可以支持不同的供应电压/操作频率组合,可以支持使能的执行单元的不同组合,可以支持不同的指令发布率等。 
图形单元20可以包括任何在为例如用户观看而在显示设备上显示图像中涉及的电路。图像可以是静态图像,或者可以是视频的一部分。图形单元20可以包括渲染硬件、(显示设备的)刷新硬件、视频编码器和/或解码器、视频压缩和解压单元等。音频单元22可以包括任何在系统中播放或录制声音所涉及的电路。音频单元22可以包括例如音频编码器和/或解码器、数字信号处理器,等等。 
网络连接外围设备和其他外围设备24可以包括多个电路。例如,网络连接外围设备可以包括用于支持的网络的媒体访问控制器(MAC)单元,以及物理层电路。其他外围设备可以包括任何其他所需的外围设备和/或外围设备接口控制器,其被配置成控制片外外围设备接口,例如外围设备组件互连(PCI)、PCI Express(PCIe)、防火墙、通用串行总线(USB)等。 
存储控制器26可以被配置成访问存储设备,例如动态随机存取存储装置(DRAM)、同步DRAM(SDRAM)、双数据速率(DDR、DDR2、DDR3、DDR4等)SDRAM、低功率DDR(LPDDR2等)SDRAM、RAMBUS DRAM(RDRAM)等。在一个实施例中,存储控制器26可以被设置用于连接一个或多个包括一个或多个上述存储器的存储模块(例如,单列直插存储器模块(SIMM)、双线直插存储器模块(DIMM)等)。此外,存储控制器26可以被设置用于在存储器接口上通信,以对来自集成电路10中的其他组件的存储器请求进行排队,并且与其他组件通信以完成存储器操作。 
图1所示的集成电路10的实施例包含多个性能域,也可支持更多或更少的性能域。例如,可以支持单个性能域,或两个性能域(例如,一个域包含处理器16A-16B,另一个域包含其余组件18、20、22、24和26)。一个或多个处理器16A-16B可以被包含在具有组件18、20、22、24和26的任意子集的性能域内。性能域和包含在那些域中的组件的任意组合可以在不同的实施例中实现。 
集成电路10的其他实施例可以包括组件的其他组合,包括具有或不具有所述组件 的所示组件的任意子集、具有其他组件的超集等。此外,虽然所示的实施例将组件16A-16B、18、20、22、24和26都图解说明为被包括在集成电路10中,但是其他的实施例也可以将这些组件实现为两个或多个集成电路。可以应用任何程度的集成的或离散的组件。 
参看图2,示出了性能配置寄存器30的一个实施例的框图。在所示实施例中,寄存器30包括寄存器组30A、寄存器组30B和寄存器组30C。寄存器组30B可以包括用于每个性能域以及休眠状态和唤醒状态的配置。此外,所示的组支持多达“n”个性能域,其中“n”是一个正整数。一个给定的性能域的休眠状态表示域的响应于处理器进入休眠状态的性能状态。给定性能域的唤醒状态表示域的响应于处理器退出休眠状态的性能状态。 
在一些实施例中,寄存器30B可以直接存储定义在相应的性能域中要建立的性能状态的值。在这些情况下,为集成电路10准备处理器16A-16B的休眠状态的软件可以根据系统中的活动为休眠状态和接下来的唤醒状态对每个寄存器30B编程。 
在所示的实施例中,寄存器30B可以存储指向寄存器组30A或30C的指针,其中指针所指向的寄存器组依赖于对应于该寄存器的性能域。在一些实施例中,对于每个性能域,可以有与30A或30C类似的寄存器组。作为替代的,类似的性能域可以共用寄存器组。例如,如果处理器性能域14A和14B在可以被改变的性能特征方面一样,则性能域14A-14B可以共用相同的寄存器组30A或30C。每个寄存器组30A和30B可以存储用于相应性能域的性能状态配置。因此,软件可以在寄存器组30A或30C中对一组性能状态进行编程,并且之后为处理器的休眠转换以及在在将处理器转换到休眠状态之前处理器的唤醒转换选择合适的性能状态。这种选择可以通过在寄存器30B中的对应于性能域的每个寄存器中写指针来完成。因此,性能状态可以在每次休眠状态转换之前根据系统中的活动而被动态地修改。 
为处理器的唤醒状态提供性能状态配置可以允许不同的性能域自动地转换到与在处理器进入休眠状态之前性能域的性能状态不同的性能状态。因此,例如,如果软件可以预测当处理器苏醒后可能执行的操作,那些操作所需的性能状态可以被建立,即使唤醒的性能状态与在处理器转换到休眠状态之前的性能状态不同。 
在一些实施例中,寄存器30B可以包括一个有效比特或其他用于指示在相应的性能域中是否要发生转换的指示。因此,通过清除有效比特,在给定的性能状态下随时 都是最高效的性能域可以不被修改。或者,在性能域转换的过程中,可以防止被禁用的性能域被使能。 
寄存器30B还可以包括可以被软件进行写操作以指示休眠转换将要开始的寄存器。PMU 28可以被设置用于监测针对休眠命令寄存器的更新,并可以被设置用于执行处理器的休眠转换和其他不同的性能域状态转换。作为替代的,软件可以使用处理器指令执行机制来促使处理器进入休眠状态,并且PMU 28可以被设置用于执行其他性能域状态转换。 
PMU 28也可以被设置用于监测将促使处理器苏醒的中断或其他事件,以便执行性能状态转换从而退出该性能状态。在一些实施例中,PMU 28还可以被设置用于监测处理器操作以自动检测处理器进入休眠状态(例如,处理器不向休眠命令寄存器写指令)。 
在一些情况中,在多处理器配置中一个或多个性能域可以更紧密地与特定的处理器链接。在这些情况下,紧密链接的性能域可以响应于相应的处理器进入休眠状态而转换到不同的性能状态,而其他与仍然活动的处理器更紧密链接的性能域可以不转换。性能域是否转换可以由PMU 28来硬件控制,或者利用前述性能配置寄存器中的有效的指示来软件控制。作为替代的,当最后一个处理器进入休眠状态时(此时其他处理器已经处于休眠状态)可以执行转换,并且当最初的处理器退出休眠状态时(即,响应于外部中断),执行退出休眠状态的转换。 
组30A可以存储不同的性能状态配置(多达“m”个配置,这里“m”为正整数)。因此,例如,在组30A中的不同寄存器可以存储电压(V0、V1)、运行频率(F0、F1),和/或性能域0(PD0)的其他性能状态信息。寄存器组30C也可以存储性能域“n”的不同的性能状态配置(多达“p”个配置,这里“p”为正整数)。整数n、m和p不需要相等。 
在一些实施例中,集成电路支持特定的电压、时钟频率对(例如在给定的时钟频率下操作的最小供应电压)。电压和时钟频率配置在寄存器30B和30C中不可以违反最小供应电压,但在一些情况下,可能需要使用不同于最小值的供应电压。例如,如果软件预测到当处理器退出休眠状态时,第一时钟频率是性能域要返回到的正确的频率,但是如果预测错误那么较高的时钟频率可以是正确的设定,在寄存器30B和30C中的相应的电压可以是用于较高频率的电压。以这种方式,如果预测的频率是错误的,供应电压可能已经被设置到所需的大小,减少了当错误预测发生时调整到正确的性能 状态的延时。 
接下来参看图3,显示了当处理器进入或退出休眠状态时,用于在性能域中管理性能状态转换的PMU 28和时钟/电压控制单元32的一个实施例的操作的流程图。虽然为了理解的方便将方框以特定的顺序进行显示,也可以使用其他的顺序。这些方框可以在PMU 28和/或时钟/电压控制单元32中并行地以组合逻辑被执行。方框、方框的组合和/或整个的流程图可以排(pipeline)在多个时钟周期上。尤其地,决定方框40和48可以是独立的并且可以并行地或以其他顺序地被执行。PMU 28和/或时钟/电压控制单元32可以被设置成用于实现图3中所示的操作。 
在一些实施例中,PMU 28可以检测处理器正进入(或即将进入)休眠状态,或者一组处理器中的最后一个处理器要进入休眠状态而其他处理器处于休眠状态(决定方框40,“是”支路)。在不同的实施例中,可以通过监测处理器16A-16B,通过接收休眠命令寄存器中的命令等来进行检测。PMU 28可以从性能配置寄存器30中为每个性能域装载休眠性能状态(方框42)。在一些实施例中,关于性能状态在寄存器30中是否有效的指示可以评判性能状态是否被装载。如果性能状态包括供应电压和/或时钟频率变化,PMU 28可以向时钟/电压控制单元32提供指定电压/频率的值。如果性能状态包括其他变化(例如,缓存大小变化、接口大小变化等),PMU 28可以将这些变化传输到相应的组件。PMU 28和/或时钟/电压控制单元32可以将性能域转换到新的性能状态(方框44)。供应电压的变化可以被传输到电源12,并且可以给出稳定到新的电压的时间。时钟频率的变化可以被通过编程写入时钟/电压控制单元32中的时钟生成电路,并且如果需要可以给出稳定到新的频率的时间(例如,PLL锁到新频率所需的时间)。对于其他的变化,可以通过发送信号通知组件转换到新的状态。如果需要时间去实现变化(例如,清除被禁用的缓存的一部分,重新设定已改变了带宽的接口上的组件等),可以给出这些时间。在一个实施例中,PMU 28可以记录时间戳(例如,记录到用于存储时间戳的性能配置寄存器30中),该时间戳指示性能状态转换完成的时间。例如,软件可以捕获时间戳以供统计分析,以判断系统中实现的能量节约描施的有效性。时间戳可以任意需要的方式被捕获。例如,系统可以包括一个自由运行的计数器,其以规定的间隔增大或减小。系统可以捕获该计数器的值作为时间戳。 
PMU 28可以检测处理器是否正退出休眠状态(或是否将要退出休眠状态)(决定方框48,“是”支路)。在不同的实施例中,检测可以通过监测处理器16A-16B等进行 (即,检测正被传送到其中一个处理器的中断)。PMU 28可以从性能配置寄存器30装载每个性能域的唤醒性能状态(方框50)。和上述关于装载休眠性能状态的讨论类似,可以进行不同的通信来实现新的性能状态配置。PMU 28和/或时钟/电压控制单元32可以将性能域转换到新的性能状态(方框52),并可以在转换完成时记录时间戳(方框54)。由于处理器在两次时间戳捕获之间处于休眠状态,用于唤醒的时间戳可以被记录在与针对休眠而记录的时间戳不同的寄存器中,从而允许软件捕获两个时间戳。 
参看图4,显示了可以实现在系统的一个实施例上的软件结构框图。软件可以包括一个或多个应用程序(Apps)、操作系统(OS)以及其他不同的软件60。当使用系统的组件时,软件60可以与不同的驱动器交互。例如,图形驱动器62可以被用于图形单元20;音频驱动器64可以被用于音频单元22;网络驱动器66可以被用于网络连接外围设备24;其他外围设备驱动器68可以被用于其他外围设备24;并且PMU驱动器70可以被用于PMU 28。因此,如果软件60与图形单元20通信,则软件60调用图形驱动器62等。每一个驱动器可以与相应的组件通信。 
此外,驱动器62、64、66和68中的每一个都可以与PMU驱动器70通信。PMU驱动器70可以在设备活动表72中监测由驱动器62、64、66和68驱动的组件中的活动。被监测的活动可以包括使能和禁用相应的组件。此外,被监测的活动可以包括到单元的其他性能特征的改变。根据正在被监测的活动,PMU驱动器70可以选择要被用于系统配置寄存器30的休眠和唤醒配置的每一个性能域的性能状态。此外,其他信息可以被编码到设备活动表中(例如,当处理器处于休眠状态时不同组件的性能需要),该活动表也可以影响所选择的性能状态。 
软件60也可以直接与PMU驱动器70通信。例如,除了为处理器中休眠和唤醒转换而执行的自动性能状态转换之外,软件60也可以根据作为整体的系统中的活动直接改变性能状态。就是说,即使处理器不是即将进入休眠状态,也可能需要改变一个或多个性能域的性能状态。软件60可以直接请求这些改变。 
参看图5,显示了PMU驱动器70的一个实施例的操作的流程图。PMU驱动器70可以包括指令,所述指令在系统上被执行时,实现流程图中所述的操作。为便于理解起见,图中的方框以特定的顺序排列,然而也可以使用其他的顺序。 
如果组件驱动器62、64、66或68接收了设备使能或禁用请求,驱动器可以将该请求传送到PMU驱动器70。PMU驱动器70可以接收请求并(决定方框80,“是”支 路)在设备活动表72(方框82)中记录使能或禁用事件。在一些实施例中,PMU驱动器70可以执行设备的使能或禁用。在一些实施例中,相应的组件驱动器可以执行使能/禁用并且可以调用PMU驱动器70来记录事件。 
在一些实施例中,PMU驱动器70可以监测在给定组件中的其他事件。组件驱动器也可以将这些时间告知PMU驱动器70。一旦接收到这种事件(决定方框84,“是”分支),PMU驱动器70就可以在设备活动表(方框82)中记录事件。 
PMU驱动器70可以确定记录在设备活动表72中的事件是否表示应该在一个或多个性能域的性能状态中执行改变。此外,软件60可以直接请求在一个或多个性能域中的改变。在任一情况下(决定方框86,“是”支路),PMU驱动器70可以为性能状态的改变而准备相应的硬件组件(例如,告知新的性能特征-方框88),并且可以调用转换(方框90)。方框88和90可以因此代表一个或多个性能域的由软件控制的性能状态转换。 
进一步地,PMU驱动器70可以检测处理器是否正准备进入休眠状态(决定方框92,“是”支路)。PMU驱动器70可以至少根据设备活动表72的一部分为性能域决定所需的休眠和唤醒状态(方框94)。如果需要,PMU驱动器70可以更新性能配置寄存器30以选择性能状态(方框96),并可以将休眠命令发送到PMU 28以促使性能状态转换(例如,对PMU 28中的休眠命令寄存器进行写操作)(方框98)。其他的实施例可以直接检测处理器正进入休眠状态,并可以根据该检测促使性能状态转换。这样的实施例可以省略方框98。 
因此,方框94和96可以代表:针对处理器中的休眠和唤醒状态转换,利用性能域的性能状态对PMU 28进行编程。 
系统和计算机可访问的存储介质
接下来转到图6,显示了系统150的一个实施例的方框图。在所示的实施例中,系统150包括与一个或多个外围设备154和外部存储器158耦合的集成电路10(来自图1)的至少一个实例。还提供电源156,其向集成电路10提供供电电压,并为存储器158和/或外围设备154提供一个或多个供电电压。例如,电源156可以包括图1所示的电源12。在一些实施例中,可以包括集成电路10的多于一个的实例(并且也可以包括多于一个的外部存储器158。) 
根据系统150的类型,外围设备154可以包括任何需要的电路。例如,在一个实施例中,系统150可以是移动设备(例如,PDA、智能电话等),并且外围设备154可以包括用于不同类型的无线通信的设备,例如WiFi、蓝牙、蜂窝、全球定位系统等。外围设备154也可以包括额外的存储装置,包括RAM存储装置、固态存储装置或盘存储装置。外围设备154可以包括用户接口设备例如显示屏,包括触摸显示屏或多触摸显示屏、键盘或其他输入设备、麦克风、扬声器等。在其他实施例中,系统150可以是任何类型的计算系统(例如桌面个人计算机、笔记本、工作站、上网本等)。 
外部存储器158可以包括任何类型的存储器。例如,外部存储器158可以是SRAM、动态RAM(DRAM)例如同步DRAM(SDRAM)、双数据速率(DDR、DDR2、DDR3等)SDRAM、RAMBUS DRAM等。外部存储器158可以包括一个或多个安装有存储器装置的存储器模块-例如单列直插存储器模块(SIMM)、双线直插存储器模块(DIMM)等。 
现在参看图7,显示了计算机可访问的存储介质200的方框图。一般说来,计算机可访问的存储介质可以包括任何在使用时可由计算机访问以向计算机提供指令和/或数据的存储介质。例如,计算机可访问的存储介质可以包括存储介质,例如磁或光介质,即磁盘(固定的或可移除的)、磁带、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R或者蓝光。进一步,存储介质可以包括易失性或非易失性的存储介质,例如RAM(如同步动态RAM(SDRAM)、Rambus DRAM(RDRAM)、静态RAM(SRAM)等)、ROM、闪存、非易失性存储器(如闪存),其可以通过外围设备接口(例如通用串行总线(USB)接口、闪存接口(FMI)、串行外围设备接口(SPI)等)来访问。存储介质可以包括微电子机械系统(MEMS),以及可以通过例如网络和/或无线链接的通信介质来访问的存储介质。图7中的计算机可访问的存储介质200可以存储软件60、图形驱动器62、音频驱动器64、网络驱动器66、其他外围设备驱动器68、PMU驱动器70和/或设备活动表72中的一个或多个。PMU驱动器70可以包括指令,当被执行时,所述指令实现上述涉及图5的操作。通常,计算机可访问的存储介质200可以存储任何指令集,当被执行时,所述指令集实现图5所示操作的部分或全部。承载介质可以包括计算机可访问的存储介质以及传输介质,例如有线或无线的传输。 
如果充分地理解了上述的公开内容,对于业内技术人员而言大量的变体和修改将变的明显。下面的权利要求应当被理解为囊括所有这种变体和修改。 

Claims (15)

1.一种设备,包括:
多个组件,每个组件被包含在多个性能域中的一个性能域中,其中在所述多个组件中包括至少一个处理器;和
电源管理单元,被配置成在所述多个性能域中的每一个中建立性能状态,并且其中所述电源管理单元被配置成响应于所述处理器转换到不同的性能状态而将所述多个性能域中的至少第一性能域转换到被编程在所述电源管理单元中的第一性能状态,其中所述不同的性能状态是低性能状态,并且其中所述电源管理单元被进一步配置成响应于所述处理器退出所述低性能状态而将所述第一性能域转换到被编程在所述电源管理单元中的第二性能状态,以及其中第二性能状态与在处理器转换到低性能状态之前第一性能域运行所处的第三性能状态不同。
2.如权利要求1所述的设备,其中所述低性能状态是休眠状态。
3.如权利要求1所述的设备,其中所述电源管理单元被配置成响应于所述处理器转换到所述不同的性能状态而将每个性能域转换到被编程在所述电源管理单元中的相应电源状态。
4.如权利要求1所述的设备,其中所述不同的性能状态不同于所述处理器在进入低性能状态之前的运行所处的先前性能状态。
5.如权利要求1所述的设备,其中所述电源管理单元被配置成记录第一时间戳,所述第一时间戳指示到所述第一性能状态的改变完成时的时间,并且其中所述电源管理单元被配置成记录第二时间戳,所述第二时间戳指示到所述第二性能状态的改变完成时的时间。
6.一种方法,包括:
处理器进入系统中的低性能状态;
电源管理单元在所述处理器处于所述低性能状态的期间,使得所述系统的性能域转换为在第一性能状态运行,其中,所述第一性能状态在所述电源管理单元中是可编程的;
所述电源管理单元检测到所述处理器正在退出所述低性能状态;并且
所述电源管理单元还在所述处理器退出所述低性能状态之后,使得所述性能域转换到在第二性能状态运行,其中所述第二性能状态被编程在所述电源管理单元中,以及其中所述第二性能状态不同于在所述处理器进入所述低性能状态之前所述性能域的第三性能状态。
7.如权利要求6所述的方法,还包括:
响应于对所述系统的运行的监测,确定所述第一性能状态以编程在所述电源管理单元中。
8.如权利要求7所述的方法,还包括:
继续监测所述系统;并且
响应于继续的监测,利用第二性能状态对所述电源管理单元进行重新编程。
9.如权利要求6所述的方法,还包括:
所述电源管理单元记录第一时间戳,所述第一时间戳指示到所述第一性能状态的改变完成时的时间;并且
所述电源管理单元记录第二时间戳,所述第二时间戳指示到所述第二性能状态的改变完成时的时间。
10.如权利要求6所述的方法,其中所述低性能状态是休眠状态。
11.一种集成电路,包括:
至少一个处理器;
一个或多个寄存器,所述一个或多个寄存器可编程以指示一个或多个性能状态;以及
控制电路,所述控制电路 路与所述一个或多个寄存器和所述处理器耦合,其中,所述控制电路被配置成检测所述处理器是否正在进入低性能状态,并且其中所述控制电路被配置成响应于所述处理器进入所述低性能状态而将所述集成电路中的至少一个性能域的性能状态改变为所述一个或多个性能状态中的第一性能状态,其中所述控制电路被配置成检测所述处理器是否正在退出所述低性能状态,并且其中所述控制电路被配置成响应于所述处理器退出所述低性能状态而将所述集成电路中的至少一个性能域的性能状态改变为所述一个或多个性能状态中的第二性能状态,以及其中所述第二性能状态不同于在所述处理器进入所述低性能状态之前的第三性能状态。
12.如权利要求11所述的集成电路,其中所述低性能状态是休眠状态。
13.如权利要求11所述的集成电路,其中所述至少一个性能域包括所述处理器。
14.如权利要求11所述的集成电路,其中所述控制电路被配置成记录第一时间戳,所述第一时间戳指示到所述第一性能状态的改变完成时的时间,并且其中所述控制电路被配置成记录第二时间戳,所述第二时间戳指示到所述第二性能状态的改变完成时的时间。
15.一种包括如权利要求11-14中的任一项所述的一个或多个集成电路的系统。
CN201110124473.9A 2010-04-07 2011-04-07 系统中针对处理器休眠和唤醒事件的硬件自动性能状态转换 Active CN102213998B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/756,006 US8271812B2 (en) 2010-04-07 2010-04-07 Hardware automatic performance state transitions in system on processor sleep and wake events
US12/756,006 2010-04-07

Publications (2)

Publication Number Publication Date
CN102213998A CN102213998A (zh) 2011-10-12
CN102213998B true CN102213998B (zh) 2014-03-26

Family

ID=44072062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110124473.9A Active CN102213998B (zh) 2010-04-07 2011-04-07 系统中针对处理器休眠和唤醒事件的硬件自动性能状态转换

Country Status (11)

Country Link
US (4) US8271812B2 (zh)
EP (4) EP3872604B1 (zh)
JP (1) JP5697278B2 (zh)
KR (1) KR101242893B1 (zh)
CN (1) CN102213998B (zh)
AU (1) AU2011237758B2 (zh)
BR (1) BR112012025292B1 (zh)
GB (1) GB2479452B (zh)
MX (1) MX2012011619A (zh)
TW (1) TWI533117B (zh)
WO (1) WO2011127128A1 (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271812B2 (en) 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US20120117227A1 (en) * 2010-11-10 2012-05-10 Sony Corporation Method and apparatus for obtaining feedback from a device
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
US8924756B2 (en) 2011-06-27 2014-12-30 Intel Corporation Processor core with higher performance burst operation with lower power dissipation sustained workload mode
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
US9471121B2 (en) * 2011-11-14 2016-10-18 Texas Instruments Incorporated Microprocessor based power management system architecture
US8924758B2 (en) * 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US8995908B2 (en) * 2012-01-25 2015-03-31 Blackberry Limited Mobile communications system providing enhanced out of band (OOB) bluetooth pairing and related methods
KR20130115574A (ko) 2012-04-12 2013-10-22 삼성전자주식회사 단말기에서 태스크 스케줄링을 수행하는 방법 및 장치
US9037840B2 (en) 2012-06-29 2015-05-19 Intel Corporation Mechanism to provide workload and configuration-aware deterministic performance for microprocessors
US9619015B2 (en) * 2012-07-27 2017-04-11 Hewlett-Packard Development Company, L.P. Implementing a power off state in a computing device
US9223381B2 (en) * 2012-08-24 2015-12-29 Samsung Electronics Co., Ltd. Method and apparatus to save power upon resume in multi-core system
US9507406B2 (en) * 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9323312B2 (en) 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
US9645630B2 (en) * 2013-01-18 2017-05-09 Apple Inc. Selectively permitting an apparatus to be awakened depending on a programmable setting
US9494996B2 (en) 2013-03-15 2016-11-15 Intel Corporation Processor having frequency of operation information for guaranteed operation under high temperature events
US9400544B2 (en) * 2013-04-02 2016-07-26 Apple Inc. Advanced fine-grained cache power management
US9396122B2 (en) 2013-04-19 2016-07-19 Apple Inc. Cache allocation scheme optimized for browsing applications
US9395784B2 (en) * 2013-04-25 2016-07-19 Intel Corporation Independently controlling frequency of plurality of power domains in a processor system
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US10146282B2 (en) * 2013-10-31 2018-12-04 Advanced Micro Devices, Inc. System and method for monitoring and controlling a performance state change
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
US9684355B2 (en) 2014-03-12 2017-06-20 Intel Corporation Identifying power state changes
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains
KR102165265B1 (ko) 2014-09-02 2020-10-13 삼성전자 주식회사 하드웨어 전력 관리 유닛을 이용하여 클락 신호를 조절할 수 있는 애플리케이션 프로세서와 이를 포함하는 장치들
US9568971B2 (en) * 2015-02-05 2017-02-14 Apple Inc. Solid state drive with self-refresh power saving mode
US9568982B1 (en) 2015-07-31 2017-02-14 International Business Machines Corporation Management of core power state transition in a microprocessor
US9952651B2 (en) 2015-07-31 2018-04-24 International Business Machines Corporation Deterministic current based frequency optimization of processor chip
US10209734B2 (en) 2016-01-25 2019-02-19 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system, and method of operating the semiconductor device
DE102017110821A1 (de) 2016-01-25 2018-07-26 Samsung Electronics Co., Ltd. Halbleitervorrichtung
US10248155B2 (en) 2016-01-25 2019-04-02 Samsung Electronics Co., Ltd. Semiconductor device including clock generating circuit and channel management circuit
US10296066B2 (en) 2016-01-25 2019-05-21 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system, and method of operating the semiconductor device
KR102467172B1 (ko) 2016-01-25 2022-11-14 삼성전자주식회사 반도체 장치
US10303203B2 (en) 2016-01-25 2019-05-28 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system and method for operating semiconductor device
US10133341B2 (en) * 2016-06-06 2018-11-20 Arm Limited Delegating component power control
CN107610039A (zh) * 2016-07-12 2018-01-19 联发科技股份有限公司 图像处理方法及图像处理装置
WO2018165111A1 (en) 2017-03-06 2018-09-13 Sonics, Inc. An operating point controller for circuit regions in an integrated circuit
US11231769B2 (en) 2017-03-06 2022-01-25 Facebook Technologies, Llc Sequencer-based protocol adapter
US10248558B2 (en) * 2017-08-29 2019-04-02 Qualcomm Incorporated Memory leakage power savings
US10503520B2 (en) 2017-09-26 2019-12-10 Intel Corporation Automatic waking of power domains for graphics configuration requests
US10948957B1 (en) 2019-09-26 2021-03-16 Apple Inc. Adaptive on-chip digital power estimator
CN112947738A (zh) * 2019-12-10 2021-06-11 珠海全志科技股份有限公司 一种智能终端电源系统及智能终端待机、唤醒方法
US11493986B2 (en) * 2019-12-22 2022-11-08 Qualcomm Incorporated Method and system for improving rock bottom sleep current of processor memories
TWI748366B (zh) 2020-03-09 2021-12-01 慧榮科技股份有限公司 電子裝置及相關的控制方法
CN113672075A (zh) * 2021-07-13 2021-11-19 平头哥(上海)半导体技术有限公司 外围管理组件、相关装置和方法
CN117008980A (zh) * 2022-04-29 2023-11-07 华为技术有限公司 系统休眠方法及装置、系统唤醒方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535798B1 (en) * 1998-12-03 2003-03-18 Intel Corporation Thermal management in a system
CN1871869A (zh) * 2003-09-19 2006-11-29 高通股份有限公司 无线终端机的电源骤降
CN101313284A (zh) * 2005-12-22 2008-11-26 英特尔公司 用于提供对处理器状态转换进行检测的方法和装置

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344132A (en) 1979-12-14 1982-08-10 International Business Machines Corporation Serial storage interface apparatus for coupling a serial storage mechanism to a data processor input/output bus
US5596756A (en) * 1994-07-13 1997-01-21 Advanced Micro Devices, Inc. Sub-bus activity detection technique for power management within a computer 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
JP3344851B2 (ja) * 1994-10-31 2002-11-18 株式会社リコー ファクシミリ装置
EP0855718A1 (en) 1997-01-28 1998-07-29 Hewlett-Packard Company Memory low power mode control
US6247082B1 (en) 1998-11-03 2001-06-12 3Com Corporation Method and circuit for providing handshaking to transact information across multiple clock domains
US6510525B1 (en) * 1999-04-26 2003-01-21 Mediaq, Inc. Method and apparatus to power up an integrated device from a low power state
US6823516B1 (en) 1999-08-10 2004-11-23 Intel Corporation System and method for dynamically adjusting to CPU performance changes
US6665802B1 (en) * 2000-02-29 2003-12-16 Infineon Technologies North America Corp. Power management and control for a microcontroller
JP2002305475A (ja) * 2001-04-04 2002-10-18 Kyocera Corp 省電力状態移行方法、及び移動通信機
US20030061383A1 (en) 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
JP4360938B2 (ja) * 2003-03-18 2009-11-11 パナソニック株式会社 プロセッサ及びその駆動方法並びに電子情報処理機器
US7051306B2 (en) * 2003-05-07 2006-05-23 Mosaid Technologies Corporation Managing power on integrated circuits using power islands
US6885227B2 (en) 2003-07-29 2005-04-26 Lattice Semiconductor Corporation Clock generator with skew control
US7475320B2 (en) 2003-08-19 2009-01-06 International Business Machines Corporation Frequency modification techniques that adjust an operating frequency to compensate for aging electronic components
JP2005186770A (ja) * 2003-12-25 2005-07-14 Hcx:Kk 車載装置及びその電源制御方法
US7319345B2 (en) 2004-05-18 2008-01-15 Rambus Inc. Wide-range multi-phase clock generator
JP2006092481A (ja) * 2004-09-27 2006-04-06 Fuji Xerox Co Ltd 情報処理装置
US7529958B2 (en) * 2004-11-15 2009-05-05 Charles Roth Programmable power transition counter
JP2006318380A (ja) * 2005-05-16 2006-11-24 Handotai Rikougaku Kenkyu Center:Kk 回路システム
US7263457B2 (en) 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
US7590473B2 (en) 2006-02-16 2009-09-15 Intel Corporation Thermal management using an on-die thermal sensor
US7624291B2 (en) 2006-03-31 2009-11-24 Intel Corporation Power optimized multi-mode voltage regulator
US7949887B2 (en) 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US7917784B2 (en) 2007-01-07 2011-03-29 Apple Inc. Methods and systems for power management in a data processing system
US8645740B2 (en) 2007-06-08 2014-02-04 Apple Inc. Methods and systems to dynamically manage performance states in a data processing system
US7711864B2 (en) 2007-08-31 2010-05-04 Apple Inc. Methods and systems to dynamically manage performance states in a data processing system
JP4800289B2 (ja) 2007-11-30 2011-10-26 富士通セミコンダクター株式会社 電源制御装置及びその電源制御装置を有するシステムlsi
JP2009151599A (ja) * 2007-12-21 2009-07-09 Kawasaki Microelectronics Inc マルチデバイスシステム
US20090204835A1 (en) * 2008-02-11 2009-08-13 Nvidia Corporation Use methods for power optimization using an integrated circuit having power domains and partitions
US20090204837A1 (en) 2008-02-11 2009-08-13 Udaykumar Raval Power control system and method
US9411390B2 (en) * 2008-02-11 2016-08-09 Nvidia Corporation Integrated circuit device having power domains and partitions based on use case power optimization
US20090287943A1 (en) * 2008-05-15 2009-11-19 International Business Machines Corporation Mapping power domains in a data center
JP2010033255A (ja) 2008-07-28 2010-02-12 Seiko Epson Corp 信号同期化方法及び信号同期化回路
US8020017B2 (en) * 2008-08-15 2011-09-13 Freescale Semiconductor, Inc. Management of power domains in an integrated circuit
JP4693071B2 (ja) * 2008-09-02 2011-06-01 Necアクセステクニカ株式会社 無線通信システム、端末装置、省電力方法、プログラム
US20100138675A1 (en) * 2008-11-30 2010-06-03 Dell Products L.P. Methods and Systems for Managing Power to Multiple Processors
GB2472050B (en) 2009-07-22 2013-06-19 Wolfson Microelectronics Plc Power management apparatus and methods
US8352770B2 (en) * 2009-09-25 2013-01-08 Intel Corporation Method, system and apparatus for low-power storage of processor context information
US8271812B2 (en) 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US20110283286A1 (en) * 2010-05-11 2011-11-17 Dell Products L.P. Methods and systems for dynamically adjusting performance states of a processor
US8468373B2 (en) 2011-01-14 2013-06-18 Apple Inc. Modifying performance parameters in multiple circuits according to a performance state table upon receiving a request to change a performance state
US8943340B2 (en) * 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US9471121B2 (en) * 2011-11-14 2016-10-18 Texas Instruments Incorporated Microprocessor based power management system architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535798B1 (en) * 1998-12-03 2003-03-18 Intel Corporation Thermal management in a system
CN1871869A (zh) * 2003-09-19 2006-11-29 高通股份有限公司 无线终端机的电源骤降
CN101313284A (zh) * 2005-12-22 2008-11-26 英特尔公司 用于提供对处理器状态转换进行检测的方法和装置

Also Published As

Publication number Publication date
US20140122908A1 (en) 2014-05-01
US8271812B2 (en) 2012-09-18
JP5697278B2 (ja) 2015-04-08
BR112012025292A2 (pt) 2017-08-01
US20120317427A1 (en) 2012-12-13
AU2011237758B2 (en) 2013-10-03
EP4273666A3 (en) 2024-01-24
US20110252251A1 (en) 2011-10-13
KR101242893B1 (ko) 2013-03-12
JP2013524367A (ja) 2013-06-17
GB201105852D0 (en) 2011-05-18
WO2011127128A1 (en) 2011-10-13
EP3367212A1 (en) 2018-08-29
AU2011237758A1 (en) 2012-09-20
US8656196B2 (en) 2014-02-18
GB2479452A (en) 2011-10-12
EP4273666A2 (en) 2023-11-08
BR112012025292B1 (pt) 2020-11-03
EP2375305A2 (en) 2011-10-12
EP3872604B1 (en) 2023-08-16
EP2375305A3 (en) 2017-05-03
EP2375305B1 (en) 2018-06-06
EP3872604A1 (en) 2021-09-01
MX2012011619A (es) 2012-11-30
EP3367212B1 (en) 2021-05-26
KR20110112791A (ko) 2011-10-13
CN102213998A (zh) 2011-10-12
TWI533117B (zh) 2016-05-11
US8959369B2 (en) 2015-02-17
US8443216B2 (en) 2013-05-14
GB2479452B (en) 2012-07-18
TW201202915A (en) 2012-01-16
US20130232364A1 (en) 2013-09-05

Similar Documents

Publication Publication Date Title
CN102213998B (zh) 系统中针对处理器休眠和唤醒事件的硬件自动性能状态转换
US8769332B2 (en) Regional clock gating and dithering
EP3190478B1 (en) Method, apparatus and system to transition system power state of a computer platform
US9530461B2 (en) Architectures and techniques for providing low-power storage mechanisms
EP3345070B1 (en) Systems and methods for dynamically adjusting memory state transition timers
KR20150054152A (ko) 대칭형 다중 프로세서를 구비한 시스템 온-칩 및 이를 위한 최대 동작 클럭 주파수 결정 방법
US20180088658A1 (en) Power Control of a Memory Device Through a Sideband Channel of a Memory Bus
JP2009037403A (ja) マルチコアプロセッサにおけるコアメモリの有効活用方法
KR101087429B1 (ko) 전력 관리 방법 및 장치
US20230086149A1 (en) Reducing memory power usage in far memory
KR20160055919A (ko) 컴퓨팅 디바이스들에서의 전력 관리

Legal Events

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