CN102695999A - 用于动态功率管理的域特定语言、编译程序和jit - Google Patents
用于动态功率管理的域特定语言、编译程序和jit Download PDFInfo
- Publication number
- CN102695999A CN102695999A CN2011800056425A CN201180005642A CN102695999A CN 102695999 A CN102695999 A CN 102695999A CN 2011800056425 A CN2011800056425 A CN 2011800056425A CN 201180005642 A CN201180005642 A CN 201180005642A CN 102695999 A CN102695999 A CN 102695999A
- Authority
- CN
- China
- Prior art keywords
- low
- power
- power resources
- mode
- resource
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4432—Reducing the energy consumption
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Power Sources (AREA)
Abstract
本发明的方面使计算装置或微处理器能够确定低功率模式,其通过将选定资源置于低功率模式并同时继续可靠地起作用而提供最多的系统功率节省,这是依据不在使用中的资源、可接受的系统滞后时间、动态操作条件(例如,温度)、预期闲置时间以及特定装置的独特电特性而进行。本发明的方面提供用于编译多个低功率资源模式以产生一个或一个以上合成低功率资源的机制和方法,可从所述一个或一个以上合成低功率资源中选择由一组选定合成低功率资源组成的最佳低功率模式配置。
Description
相关申请案
本发明主张2010年1月11日申请的标题为“用于计算装置的动态低功率模式实施方案(Dynamic Low Power Mode Implementation For Computing Devices)”的第61/294,055号美国临时专利申请案以及2010年11月23日申请的标题为“用于动态功率管理的域特定语言、编译程序和JIT(Domain Specific Language,Compiler and JIT for DynamicPower Management)”的第61/416,469号美国临时专利申请案的优先权权益,所述两个临时专利申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及用于管理计算装置中的功率的方法,且更特定来说涉及用于有效地确定供移动装置处理器实施的适宜低功率模式的方法。
背景技术
无线通信技术在过去的几年里已经得到爆发性增长。此增长已受到向移动公众提供移动自由且切断与硬连线通信系统的联系的无线服务的刺激。由于需要服务增强,故期望无线服务的普及继续快速增长。电池寿命是移动电子装置的关键驱动因素,因此,实现电池功率节约的方法和装置是电子装置技术中的重要考虑因素。
发明内容
各个方面提供用于移动计算装置的动态功率管理的域特定语言、编译程序和即时(JIT)编译程序。各个方面提供由计算装置内的处理器使用以选择计算装置所使用的资源的最佳或接近最佳低功率操作模式的数据和方法。所述方法包含使用编译程序来编译以可编译语言编写的资源描述以产生若干真实或虚拟低功率模式。各个方面允许组件界定一个或一个以上低功率模式(其可包含虚拟低功率模式),且允许处理器从不同资源选择一个或一个以上最佳低功率模式。各个方面可使用域特定编译程序来检测一组组件低功率模式内的支配关系,且将个别低功率资源组合为单一新的合成低功率资源。各个方面提供一编译程序,其在注册时间将若干资源组合为单一合成资源,借此减少提取不同资源的最佳低功率模式所需的函数调用和操纵的量。各个方面提供用于减少必须进行比较以确定最佳低功率状态的低功率模式的数目的方法、系统和装置。各个方面可实施于多种系统中且针对众多功率节省应用,包含不实施休眠模式的系统和应用,而实施。
各个方面包含用于节省具有多个资源和至少一个处理器的计算装置中的功率的方法,所述方法包含:在可编译表达式中界定多个低功率资源模式,所述低功率资源模式识别与资源相关联的一组资源相依性、功率节省和滞后时间特性,以及当不在使用中时所述多个资源中的每一者可被置于的低功率状态;编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源,每一合成低功率资源具有表示低功率资源模式中的一者或一者以上的功能性、功率节省、滞后时间和资源相依性特性的一个或一个以上合成低功率资源模式;基于模式的功率节省、滞后时间和相依性要求选择用于每一合成低功率资源的至多一个合成低功率资源模式;以及当系统变得闲置以及结束闲置时以适当次序进入和退出选定的合成低功率资源模式。在方面方法中,合成低功率资源模式中的每一者可具有进入功能和退出功能,所述进入功能可与两个或两个以上低功率资源模式的进入功能具有相同的功能性,且所述退出功能可与两个或两个以上低功率资源模式的退出功能具有相同的功能性。在方面方法中,可使用即时编译技术来动态地重写与两个或两个以上低功率资源模式的功能相关联的代码以产生与所述两个或两个以上低功率资源模式的功能具有相同功能性的单一合成功能。所述方面方法可进一步包含基于处理器和客户端识别的滞后时间要求来确定滞后时间预算,且可基于所述低功率资源模式具有小于滞后时间预算的滞后时间要求而选择所述低功率资源模式。在方面方法中,可考虑操作温度来选择低功率资源模式。在方面方法中,合成低功率资源内的所有合成低功率资源模式可产生为相互排斥的。在方面方法中,每一合成低功率资源模式可界定识别处理器选择、进入和退出合成低功率资源模式所必须遵从的操作次序的排序机制。在方面方法中,可由遵守低功率资源模式之间的相依性关系的域特定编译程序产生合成低功率资源。一些方面方法可进一步包含评估每一资源的低功率资源模式以基于资源相依性、功率节省、预期闲置时间和滞后时间特性而选择可置于低功率状态的每一资源的一个低功率资源模式。在方面方法中,编译经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源的操作可包含针对每一个或一个以上合成低功率资源模式界定相关联的退避时间(backoff time),所述退避时间指示允许合成低功率资源模式在下一经调度唤醒事件发生之前退出的时间量。
各个方面包含一种具有多个资源和至少一个处理器的计算装置,所述至少一个处理器包含用于实施前一段落中描述的方面方法的功能的装置。
各个方面包含一种用于节省具有多个资源的计算装置中的功率的设备,其中所述设备包含存储器缓冲器和耦合到所述存储器缓冲器的处理器,其中所述处理器配置有用以执行上文描述的方面方法的操作的软件指令。
各个方面包含一种上面存储有处理器可执行指令的非暂时性存储媒体,所述处理器可执行指令经配置以使处理器执行上文描述的方面方法的操作。
附图说明
并入本文且构成本说明书的部分的附图说明本发明的示范性实施例,且连同上文给出的一般描述和下文给出的详细描述一起用以阐释本发明的特征。
图1是由编程节点控制以进入两个低功率模式中的一者的资源的图。
图2是根据一方面的共享资源借以启用进入低功率模式的能力的方法的过程流程图。
图3是根据一方面的共享资源借以停用进入低功率模式的能力的方法的过程流程图。
图4是根据一方面的用于选择并进入低功率模式的方法的过程流程图。
图5是说明用于选择并进入低功率模式的方面方法的编程节点和资源图。
图6是展示相依性和功能的两个低功率资源模式的说明。
图7是根据一方面的由于编译图6中说明的两个低功率资源模式而产生的虚拟低功率资源模式的说明。
图8是根据一方面的用于选择并进入低功率模式的方法的过程流程图。
图9是适于与各个方面一起使用的移动计算装置的剖视透视图。
具体实施方式
将参看附图详细描述各种实施例。只要可能,将贯穿各图式中使用相同参考标号来指代相同或相似部分。对特定实例和实施方案做出的参考是出于说明性目的,且不希望限制本发明或权利要求书的范围。
词语“示范性的”在本文中用以意谓“充当实例、个例或说明”。不必将本文中描述为“示范性”的任何实施方案解释为与其它实施方案相比为优选或有利的。
术语“电子装置”、“移动装置”和“计算装置”在本文中可互换使用以指代任何一个或所有蜂窝式电话、个人数据助理(PDA)、掌上型计算机、无线电子邮件接收器(例如,和装置)、具有多媒体因特网功能的蜂窝式电话(例如,Blackberry)、全球定位系统(GPS)接收器、无线游戏控制器,以及包含可编程处理器且在电池电力下操作而使得功率节省方法为有益的类似个人电子装置。
本文使用术语“资源”来指代用于支持在计算装置上运行的处理器、组件和客户端的多种电路(例如,端口、时钟、总线、振荡器等)、组件(例如,存储器)、任务(由处理器执行的软件进程)、信号(例如,时钟信号)和电压(例如,电压轨)中的任一者。
使无线装置的电池寿命最大化是极其重要的设计准则。改进的电池寿命通过允许用户在无线装置内进行更多操作持续更长时间段而使用户体验最大化。然而,为了确实使用户体验最大化,必须实施功率节省策略以便其不会更改装置的功能性或可靠性。由此,设计不会更改功能性的有效且高效的功率节省方案是移动和无线装置提供者的重要目标。
为了使电池寿命最大化,大多数移动广播接收器经配置以每当可能时(例如,当处理器处于闲置状态时)就将一个或一个以上处理器和装置资源置于低功率状态。将装置资源置于低功率状态通常包括每当处理器不在有效处理任务和/或处于闲置状态时关断各种装置资源。当处理器不在处理任务和/或处于闲置状态时能够接通和关断或置于闲置状态的资源在本文中称为低功率资源或LPR。在例如智能电话等可具有无线调制解调器处理器和应用程序处理器的多处理器装置中,实施低功率模式的操作可由每一处理器独立地或以协调方式实施。
移动计算装置通常包含装置处理器使用的若干资源,例如晶体振荡器、电压轨、一个或一个以上存储器单元、通信总线等。随着计算装置变得越来越复杂,装置处理器使用或管理的资源的数目逐年增加。举例来说,许多移动计算装置现包含多个晶体振荡器、多个电压轨和多个存储器,其每一者可独立地控制。因此,存在计算装置处理器可关断或置于低功率模式以便节省功率的许多不同资源。并且,计算装置可具有使用各种装置资源且执行不同任务(且因此不能同时闲置)的多个处理器。出于这些原因,必须在选择待置于低功率模式的资源时实行某一程度的执行控制。选择待置于低功率模式的资源称为“休眠问题”。
通常,当处理器不再需要资源时,例如当处理器进入稳定的闲置状态时,处理器可关断或停用低功率资源。当处理器“醒来”(例如,离开闲置状态以执行另一进程)时,可接着接通和/或再启用停用的资源。每一低功率资源可具有不同功率消耗水平和滞后时间特性(即,使资源返回到全功率模式所需的时间)。即,每一资源可在其高功率模式中消耗不同功率量,可需要不同时间量来进入和离开功率关闭和/或闲置状态,且可当进入与离开此类状态时消耗不同功率量。如果接通和关断资源所需的功率大于通过使资源处于低功率模式持续闲置状态的所估计持续时间而节省的功率,那么不能通过每当处理器为闲置且处于良好界定的状态时简单地关断资源和/或将其置于闲置状态而使无线装置的电池寿命最大化。并且,资源可具有一个以上低功率模式,其在本文中称为低功率资源模式(LPRM)。因此,确定哪些低功率资源应被关断和/或置于低功率模式以及资源应被置于的特定低功率模式的休眠问题通常需要分析处理器状态以及其它装置处理器的状态,连同每一资源的低功率模式特性,例如滞后时间、功率节省可能性、功率消耗和相依性。
每一资源的每一低功率资源模式可依据其滞后时间、功率节省可能性、过渡功率消耗、低功率模式进入准则、模式退出准则和资源相依性来表征。特定资源的每一低功率资源模式可具有不同功率节省特性和滞后时间。举例来说,资源的一个低功率模式可完全停用所述资源(例如,切断电力),而第二低功率模式可涉及资源的减小的功能性或周期性操作。每一低功率资源模式可具有不同操作特性,例如每单位时间提供不同功率节省且需要不同时间量来进入和离开所述模式(即,不同滞后时间要求)。举例来说,易失性存储器芯片可具有两个低功率模式:消耗最少量功率但需要较长时间(即,较长滞后时间)来返回到操作状态的深度断电模式,以及继续消耗一些电池电力但具有较低滞后时间(即,其可非常快速地返回到完全作用状态)的自刷新模式。此外,每一低功率资源模式所提供的功率节省可取决于操作条件,例如温度和预期闲置时间。因此,在一些方面中,低功率模式可将预期功率节省计算为当前温度下每单位时间的潜在功率节省乘以所确定的预期闲置时间的乘积。在其它方面中,预期功率节省可确定为温度、预期闲置时间和其它变量的另一函数。
如上文提及,将资源置于低功率模式且在处理器醒来后即刻使其恢复到正常模式常常需要一些工作,其实现起来既花费功率又花费时间(即,滞后时间)。如果系统保持处于闲置状态的时间量太短,那么进入低功率模式所必需的额外功率和时间不能产生实际功率节省。换句话说,将资源置于低功率模式且使其返回到完全操作的过程中消耗的功率可能会大于其处于低功率模式的较短时间期间所节省的功率。因此,进入特定低功率模式的益处将取决于处理器可保持闲置的预期时间。此时间在本文中称为“预期闲置时间”。
通过将资源置于低功率模式可节省的功率量将基于操作模式和任何所需资源的特性以及资源将保持处于低功率模式的时间量而变化。举例来说,将存储器芯片置于自刷新低功率模式可消耗与自刷新进程相关联的功率,且需要功率对于芯片的可用性。因此,特定低功率模式中可用的功率节省是在多个低功率资源模式中进行选择时要考虑的重要特性。
如上文提及,通过将资源置于特定低功率模式可节省的功率量将取决于环境和操作因素(例如,温度)。温度影响例如装置内的电流泄漏、电阻和功率消耗等电特性。因此,室温下与不同低功率资源模式相关联的功率节省(如当事先开发出低功率模式配置时所必须假定的)可能在装置冷得多(例如,在阿拉斯加州的冬季期间)或暖得多(例如,在德克萨斯州的夏季期间)时在实地相当不同。因此,现实生活条件下不同低功率模式配置(即,选定的低功率资源模式)的功率节省可意味着,真正的最佳低功率模式不同于事先所能预期的低功率模式。由于不能事先知道装置的温度,所以此重要特性不能用于使用用于组织和选择低功率模式的常规方法来选择低功率模式配置。
虽然节省功率是配置电子装置的低功率模式过程中的重要目标,但还必须考虑确保装置在进入低功率模式之后继续适当操作。因此,考虑与每一低功率资源模式相关联的滞后时间也很重要。如上文提及,需要一定量的时间来进入和退出低功率资源模式以及使资源返回到正常操作模式。此滞后时间应小于预期闲置时间,否则低功率模式将具有极少益处。更重要的是,与进入和退出低功率资源模式相关联的滞后时间必须小于可在资源处于低功率模式时需要所述资源的任何客户端或处理器的最大可允许系统滞后时间。如果特定低功率资源模式可致使超过系统的可接受滞后时间,那么所述特定低功率模式不可接受,因为其可能导致功能错误或致使某一非相关技术不正确地起作用。此情形的一实例是当将通用串行总线(USB)连接器插入到移动装置中时。USB协议通常具有极短滞后时间要求,且如果主机未在所述滞后时间内接收到对资源请求的响应,那么主机可认为装置出故障。因此,具有大于USB滞后时间要求的滞后时间的任何低功率资源模式或低功率模式的组合不应在当前操作配置包含到USB装置的连接时进入低功率模式。
除了滞后时间和操作条件外,资源的低功率模式还可取决于其它资源和/或条件。此类资源相依性考虑在本文中一般称为“相依性”。这些相依性可为相依的(即,所述模式仅可在另一资源保持可用的条件下启用)、排斥的(即,在特定其它资源处于低功率模式或不处于高功率模式的条件下,不可进入所述模式)或正交的(即,所述模式彼此没有关系且可独立地启用)。低功率模式相依性还可分类为“静态”或“动态”的。静态相依性(也称为启用的相依性)是界定在资源甚至可考虑执行特定低功率模式操作之前必须满足的条件的相依性。另一方面,动态相依性(也称为进入的相依性)在一个模式仅可结合系统中的另一模式(其通常仅可在运行时确定)执行时出现。
为了说明静态和动态相依性,考虑电压调节器资源将功率提供到时钟驱动器资源和某一其它杂类硬件资源的实例。电压调节器可具有两个操作模式:正常操作模式和低功率操作模式(即,其低功率资源模式)。将电压调节器置于其低功率模式可减少电压调节器消耗的能量开销的量,从而产生总体较低的系统功率需求。然而,如果从电压调节器汲取比在其低功率模式中所允许功率多的功率,那么电压调节器可能出故障且可能破坏装置硬件。举例来说,时钟驱动器可能会消耗比电压调节器可在其低功率模式中所提供的功率多的功率。在此情况下,电压调节器可具有相对于时钟驱动器的一个静态相依性(即,时钟必须能够被关断)以及相对于其它杂类硬件的另一静态相依性(即,所述杂类硬件必须被关断)。另外,电压调节器可具有动态相依性:只要时钟驱动器保持开启,就将存在从电压调节器汲取的过多功率以供其进入其低功率模式。一旦时钟驱动器关断,电压调节器上就将不存在负载或其将能够进入其低功率模式。因此,时钟驱动器的断电模式是电压调节器的低功率模式的动态相依性。
虽然可以一定程度的确定性来预期静态相依性,但动态相依性难以提前确定。此外,随着组件和/或资源的数目增加,动态相依性的复杂性成指数级增加。随着现代无线装置的复杂性持续增长且包含更多组件,有效管理低功率模式的动态相依性将变得越来越重要。
因此,配置装置以通过闲置和/或停用资源而节省电池寿命涉及从不同低功率资源模式中进行选择以便平衡各种资源的功率节省、滞后时间和相依性的各种低功率模式特性以及客户端、处理器和可能正并发运行的应用程序的要求。此选择过程归因于可考虑的变量和排列的数目(尤其随着计算装置的复杂性增加)而为计算上困难的任务(类似于经典的“背包(knapsack)”问题)。
当前,开发者基于一组静态优先权而事先配置处理器和电子装置的低功率模式。可在开发期间将一组或几组低功率模式硬编码到处理器或系统中。从一组低功率模式中选择一个低功率模式配置当前通过硬编码假设/否则(ifthen/else)决策树编程来控制。当提供多个低功率模式时,处理器可通过允许操作客户端指示其各种资源要求或操作条件(通过“表决”)而在各种模式中进行选择。客户端表决的结果可能是明确地停用一个或一个以上低功率模式。
如今用于开发和实施计算装置中的低功率模式的方法不能考虑到装置的当前操作条件(例如,温度)、滞后时间要求或相依性。此外,低功率模式的当前实施方案未针对特定装置配置而调谐,且不能明确地解决特定客户端的滞后时间要求,因为组件的操作状态不能事先预测。由此,当前开发和实施低功率模式的方法通常需要事先配置低功率模式。
在先前数代装置中,事先配置低功率模式是合理的,因为可与处理器互动的不同资源和客户端的数目有限,使得可预期较小数目的不同操作状态。然而,现代电子装置正变得更加精细,包括多个处理器、众多资源和并发客户端,使得可能不再有可能界定可硬编码到系统中的最佳低功率模式。此外,使用假设/否则决策树编程选择先前界定的低功率模式大致根据2n而缩放,其中“n”是确定过程中涉及的资源的数目。因此,开发者必须勉强接受可事先硬编码的低功率模式配置的子集,其在一些(如果并非全部)操作状态中可能是次佳的。要求开发者采用次佳低功率模式配置导致电子装置实现的功率节省比在可针对特定操作条件界定和实施最佳低功率模式的情况下原本将可实现的功率节省少。
除了低功率模式的当前编程的操作限制外,事先界定一组低功率模式且将所述模式硬编码到处理器中的努力涉及显著的开发者努力。由于低功率模式的界定是代码驱动而非数据驱动的,所以对装置配置作出的较小改变和对所述组资源低功率模式作出的较小改变要求广泛的再测试以确认代码改变不会引起装置错误。因此,当前用于实施低功率模式的方法不能跟上产品的生产运行期间可发生的装置配置(例如,组件、软件等)中的改变。
为解决这些问题,各个方面提供使得能够简化装置处理器的休眠问题以使得处理器可实时作出更多最佳低功率模式选择的方法,在所述方面中,使用可编译域特定语言(例如,低功率模式域特定语言或称LPMDSL)来界定资源及其低功率资源模式(其使所述资源与其低功率资源模式相关联),以及滞后时间、功率节省、相依性、进入和退出要求和每一模式的其它特性。可接着以考虑关于处理器状态、操作特性、滞后时间、总体功率节省以及低功率模式和装置的静态和动态相依性的各种选择和操作因素的方式来编译使用此域特定语言的低功率资源模式界定。此编译的结果可为产生较小组的虚拟低功率资源模式和模式选择准则,处理器可使用所述模式选择准则来实时或接近实时地选择最佳或接近最佳的低功率模式配置。
各个方面使组件开发者能够界定考虑各种因素的其组件中的每一者的各种低功率模式,所述各种因素例如在使用中的资源的类型、可容忍的最差情况滞后时间、动态操作条件(例如,温度)、预期闲置时间和组件滞后时间。针对每一资源界定的低功率资源模式还可界定静态和动态相依性。装置处理器可接着在运行时动态地选择各种低功率资源模式。在一方面中,装置可计算并选择使功率节省和/或操作速度最大化的低功率模式的组合。在一方面中,编译程序可将多个资源的低功率模式组合以产生可由系统较有效使用以确定最佳功率节省的较小组的合成低功率资源模式。这些合成低功率资源模式可通过减少处理器必须管理的独立项目的数目来减小需要在闲置时间作出的休眠问题决策的复杂性。
通过产生合成低功率资源,各个方面通过组合各种资源的滞后时间要求和相依性从而减小运行时任务的复杂性而进一步改进系统性能。合成低功率资源还减小与识别和处理低功率资源模式的动态相依性相关联的复杂性,从而改进总体效率。
各个方面使用域特定语言来较有效地解决“背包”问题,所述“背包”问题是计算中众所周知的优化问题。在各个方面中,可使用编译程序和域特定语言来实施对背包问题的多种已知算术或启发式解决方案。在一方面中,编译程序可使用假设/否则逻辑树算法、表查找算法和/或比较方法来系统性地进行各种低功率模式的替代排列和组合以选择一组最佳低功率模式。在一方面中,编译程序可使用一组最佳低功率模式来产生较小组的合成低功率资源,所述较小组的合成低功率资源各自界定比原始低功率模式更好且更有效地表征系统可用的功率节省的一个或一个以上合成低功率资源模式。这些合成低功率资源模式还可更有效地表达资源相依性。在一方面中,可将确定哪些资源可关闭或可不关闭的过程移出休眠路径,且移动到编译程序路径或资源使用路径上。
在各个方面中,用于实施域特定语言(例如,LPMDSL)的语法可包含遵守C语法规则的符记和运算子。此语法可用于描述静态和动态相依性两者。即,两类相依性可用同一语法描述,因为相依性含有相同逻辑内容。在各个方面中,符记的含义可在静态和动态相依性之间变化。在各个方面中,可针对每一类相依性提供字符串。在各个方面中,可使用遵守C语法规则的运算子(例如,用于将陈述分组的括号、用于AND的&&、用于OR的||、用于not的!等)。
在各个方面中,遵守C语法规则的运算子(例如,&&、||、!)可与名称符记结合使用以表示相依性和/或相依资源。在各个方面中,名称符记可遵循URL路径控制隐喻(例如,lpr://a/1)或点常规隐喻(例如,a.1)。在一方面中,任何多义性可解释为表示“...中的至少一者”,而“*”符号可视为表示“全部”的特殊符号。在各个方面中,“lpr://”可表示静态相依性。
举例来说,在一方面中,各种静态相依性可由前缀为“+”的模式或资源的名称表示,如在“+a”、“+b.1”或“+c.1&&+c.2”中。禁止进入低功率资源模式的静态排除项或条件可类似地表示,只是利用“-”号前缀,如在“-a”、“-b.1”或“-c1||-c2”中。在各个方面中,每个模式可具有对于其自身的隐含界定的静态相依性。在各个方面中,低功率资源可界定同一字符串中的动态相依性。在各个方面中,动态进入的相依性可由不具有前缀的模式或资源的名称表示,如在“a”、“b.1”或“c.1及c.2”中。可用“!”前缀表示动态排除项(或“非进入”相依性),如在“!a”、“!b.1”或“!c.1及!c.2”中。举例来说,第一低功率资源(LPR-A)可具有拥有由“+b.”界定的静态相依性的低功率模式(LPM-关闭)。另一低功率资源(LPR-B)可具有两个低功率模式(LPM-1b和LPM-2b),其每一者可界定其自身的静态相依性。举例来说,LPM-1b可保持其相依性作为空字符串,从而仅依赖于隐含静态自相依性,而LPM-2b可将其静态相依性界定为+b.1。在一方面中,低功率资源可具有界定动态和静态相依性两者的多个低功率模式。举例来说,第三低功率资源(LPR-C)可具有两个低功率模式(LPM-1c和LPM-2c),其中具有界定为“(+a||+b)”的静态相依性,且LPM-2c具有表示为“+a&&b.2”的动态相依性。
如上文论述,在各个方面中,运算子可遵守C语法规则。因此,将此应用于上文的实例,每当启用LPR b的模式中的一者(b.1或b.2)时,将允许进入LPM-关闭。同样,每当启用LPM-1b时,将能够进入LPM-1b,因为其仅具有隐含的自相依性;当启用LPM-2b和b.1两者时,将能够进入LPM-2b;且每当启用a.off、b.1或b.2的模式中的一者时,将能够进入LPM-1c。由于LPM-2c具有静态和动态相依性两者,所以仅在LPM-2c被启用,a.off被启用且LPR-B的LPM-2b已被进入时才可进入LPM-2c。下文更详细论述低功率模式的静态和动态相依性。
在各个方面中,域特定语言可通过允许界定多个命名的“滞后时间组件”而将多个组件的滞后时间要求计入考量,所述“滞后时间组件”中的每一者可与具有相同名称的其它滞后时间组件互动。在各个方面中,此互动可依据运算和值来描述。所述运算可为加法(例如,针对所述组件设定新的最小滞后时间)或乘法(例如,现有滞后时间的扩展和/或收缩)。使多个命名的滞后时间组件能够彼此互动允许对动态相依性的较有效处置。在其中多个低功率模式重叠的实施方案中,以此方式界定和管理滞后时间提供用于指定滞后时间的灵活机制,而不必通过对多个相依组件的滞后时间进行“双计数”而耗尽滞后时间预算。这在产生涵盖多个资源的低功率模式的合成低功率资源模式时尤其有用。
在各个方面中,当处理器能够进入闲置状态时,低功率任务可运行“求解器”进程以确定应进入各种资源的哪些低功率模式。此情况的一实例在图1中说明,图1说明节点功率体系结构(NPA)2内的进程(即,节点)如何为资源(例如,晶体振荡器4)确定可进入两个可用低功率模式6、8中的哪一者。在图1中说明的实例中,晶体振荡器资源4具有两个替代低功率模式,即门控操作状态6和完全关闭8。
针对符合置于低功率模式条件的各种资源中的每一者选择一组最佳低功率模式涉及针对能够置于低功率模式的每一资源选择可用模式中的一者。可通过调用低功率模式的“进入”功能而进入选定的低功率模式中的一者。一旦调用低功率模式的进入功能,所述资源就可置于由其选定的低功率资源模式界定的功率节省状态。当处理器闲置时,处理器可执行等待中断(WFI)进程和/或闲置进程。处理器和选定的资源可保持处于此状态直到发生唤醒事件为止。当发生唤醒事件时,针对每一选定的资源,可调用相关联的“退出”功能以使资源返回到所要操作状态(例如,正常状态或全功率状态)。
图2到图4中说明用于实施各个方面的过程。参看图2,在方面方法10中,当因为客户端已在框12处释放资源而使得所述资源不再使用时,可在框14处例如通过实施如上文列举的实例中说明的操作而启用资源低功率模式旗标。此时,资源已指示其可用于置于低功率模式。然而,资源可用于置于低功率模式(例如,其当前不在使用中)的事实并不意味着其应该这样,因为如上文论述,所述决策将取决于资源的低功率模式退出滞后时间和功率节省以及资源相依性。
图3中说明的方法16可在发生唤醒事件且客户端请求接入当时处于低功率模式的资源时实施。在一方面中,当客户端在框18处请求资源时,可在框20处停用所述资源的低功率模式旗标。在框22处,可接着通过实施如上文提及的相关联“退出”功能而重新激活资源。
图4说明处理器可借以识别一组最佳低功率模式以在特定闲置状态中实施的方面方法24。当在框26处起始闲置和/或休眠任务以将处理器置于低功率状态时,处理器可通过检查低功率资源以获得资源低功率模式旗标或经由上文描述的语法和运算而识别可置于低功率模式的那些资源。在框28处,处理器可例如通过接入针对客户端界定的数据结构来检查有效客户端的滞后时间要求,且使用所述信息来确定滞后时间预算。滞后时间预算界定系统可在闲置循环期间适应的总体滞后时间。在一方面中,滞后时间预算可界定为所有并发处理器和客户端可接受的所有滞后时间中的最小者。
返回图4,在框30处,处理器可确定预期闲置时间(例如,在给定当前条件的情况下,处理器预期在唤醒事件之前保持处于闲置状态的持续时间)。在一方面中,当计时器事件事先被闲置任务知晓时,闲置任务可调度唤醒处理在计时器事件之前发生,使得其不会向唤醒进程(例如,硬唤醒或经调度唤醒)添加滞后时间。在另一方面中,当一事件预期发生但并不精确地知道何时或是否其将确实发生时(即,当唤醒处理不能事先确定性地完成时),可使用唤醒时间来拒绝原本可能进入的模式(例如,归因于下一经调度唤醒之前的较长时间)。以上文描述的方式使用预期唤醒时间在本文中称为软唤醒或暗示的唤醒。
返回图4,在框32处,处理器可例如通过接入存储当前温度和其它感测器值的数据寄存器而确定当前状态条件。使用当前状态和框28到32处搜集的资源低功率模式数据,处理器可在框34处执行“求解器”函数以识别最佳低功率模式配置。作为框28到32中的一者或一者以上的一部分,处理器可例如通过计算当前温度(和其它操作条件)下每单位时间的潜在功率节省乘以预期闲置时间来计算可针对每一低功率模式预期的潜在功率节省,且使用此值作为框34中的求解器进程的一部分。在各个方面中,代替于上文描述的线性功率节省计算,处理器可在任意模型上或使用另一非线性功率计算模型计算潜在功率节省,且使用此值作为框34中的求解器进程的一部分。框34中的此求解器运算可包含评估通过编译如上文论述的资源定义而产生的合成低功率资源模式。在一方面中,求解器的解可在闲置时间或临近闲置时间时高速缓存以产生与装置的当前操作状态(例如,温度、有效服务等)一致的解。在框34中执行求解函数可在框36中识别最佳低功率模式配置。
一旦识别出最佳低功率模式配置,处理器就可在框38中例如通过使每一选定资源低功率模式执行相关联进入功能而进入所述模式。系统将保持处于此闲置状态和低功率模式直到例如计时器中断等唤醒事件为止。当唤醒事件或中断发生时,处理器和相关联资源将例如通过在低功率模式中针对资源中的每一者执行一系列退出功能而退出闲置状态,这使那些资源返回到其正常操作状态。
图5图解说明界定一个或一个以上低功率模式的低功率资源。特定来说,图3说明三个资源(LPR-A、LPR-B、LPR-C),每一者具有一个或一个以上低功率模式(LPM)。在此说明中,静态相依性由“lpr://a”、“lpr://b/1”、“lpr://b/2”、“lpr://c/1”和“lpr://c/2”表示。如上文论述,每一低功率资源可通过使用运算子的组合而界定其自身的静态相依性。举例来说,图5展示低功率资源LPR-A具有将其静态相依性界定为“lpr://a&&lpr://b”的低功率模式“LPM-关闭”。
图5还说明低功率资源可具有一个以上低功率模式,且每一低功率模式可独立于所述资源内的其它模式而界定其自身的相依性。举例来说,低功率资源LPR-B具有独立地将其自身的静态相依性界定为空值的两个低功率模式LPM-1、LPM-2。图5进一步说明低功率模式可界定静态和动态相依性的任何组合。举例来说,第三低功率资源LPR-C具有两个低功率模式LPM-1、LPM-2。LPR-C的LPM-1仅具有界定为“(lpr://a||lpr://b)”的静态相依性,而LPR-C的LPM-2具有静态和动态相依性两者,所述静态相依性界定为“lpr://c”,且所述动态相依性界定为“lpr://b/2”。
如上文论述,在图5中说明的配置中,LPM-关闭具有静态相依性“lpr://a&&lpr://b”。因此,仅当设定旗标lpr://a以及lpr://b/1或lpr://b/2中的一者时才可进入低功率模式LPM-关闭。同样,由于LPR-B的LPM-1将lpr://b/1界定为其静态相依性,所以其仅当设定lpr://b/1旗标时才可进入。LPR-B的LPM-2将lpr://b/*界定为静态相依性,且因此仅当设定旗标lpr://b/1和lpr://b/2两者时才可进入。LPR-C的LPM-1将其静态相依性界定为lpr://c/1&&(lpr://a||lpr://b),且可每当设定旗标lpr://c/1以及lpr://a、lpr://b/1或lpr://b/2中的一者时进入。LPR-C的LPM-2具有静态和动态相依性两者。因此,仅当已进入LPR-B的LPM-2且已设定lpr://c/1或lpr://c/2旗标中的一者时才可进入LPR-C的LPM-2。虽然图5说明低功率模式的特定情况及其相依性,但其中使用的值和结构仅仅是出于说明性目的。除非权利要求书明确叙述,否则本申请案中任何内容均不应视为会将本发明限于特定所说明的值和结构。
图6说明除了相依性外还具有其它功能的低功率模式。特定来说,图4说明两个低功率资源LPR-A和LPR-B,每一者具有进入功能(a1_enter,b1_enter)和退出功能(a1_exit,b1_exit)。另外,图4说明LPR-A具有静态相依性“lpr://a”,其意味着仅当在对应低功率资源模式的逻辑树中设定lpr://a时才可进入LPR-A。LPR-B具有静态和动态相依性两者,所述静态相依性为“lpr://b”,且所述动态相依性为“lpr://a/1”。归因于这些相依性,仅当设定旗标lpr://a且先前已进入LPR-A的LPM-1时才可进入LPR-B。因此,在图4说明的系统中,仅存在3个可能状态:不执行任何模式;执行LPR-A的LPM-1;或执行LPR-A的LPM-1以及LPR-B的LPM-1。虽然仅存在三个可能模式,但描述两个不同(且独立的)低功率资源上的可能模式的子集。可通过将两个独立的低功率资源组合为可准确反映可能模式的子集的单一合成低功率资源模式来改进效率和性能两者。
图7说明基于图6中说明的LPR-A和LPR-B的组合的合成低功率资源模式。特定来说,图7说明在各个方面中有可能使用域特定编译程序来检测一组所注册模式内的支配关系,且将个别低功率资源与相关模式组合成具有低功率资源模式的组合列表的单一新的合成低功率资源。在各个方面中,此通过域特定编译程序在注册时间将各个LPR组合为单一合成低功率资源而实现。如可从图7所见,组合的合成低功率资源可具有较少或较简单的动态相依性,且因此,休眠问题的复杂性显著减小。
合成低功率资源还可通过减少求解器进程需要操作的独立项目的数目而减小在闲置时间需要作出的决策的复杂性。并且,当这些组合操作由编译程序重复执行持续与可进行新的组合一样长的时间时,有可能将动态相依资源的大树分解为表示可进入的所有独立状态的合成资源的小得多的子集。由于求解器需要解决的一般化问题是背包问题(计算科学中已知的NP完成问题),所以“n”的大小的减小显著减少求解器的运行时间。
图7还说明合成LPR-AB具有含有进入和退出功能的列表而不是单一进入/退出功能对的一个或一个以上模式。当资源分解为其组合形式时,其所描述的模式(其最初独立实施)现一起实施。然而,每一进入功能和退出功能的实施可保持处于其原始独立形式。这使得能够稍后随着界定更多模式和创建新的合成模式而重新组合所述模式,以及减少模式之间的直接耦合。
图8说明用于产生求解器可用于识别最佳低功率模式配置的合成低功率资源模式的方面方法800。在框802处,组件或装置开发者可识别在处理器不在有效处理时能够停用和/或置于闲置模式的资源。在框804处,组件或装置开发者可在域特定语言和/或可编译表达式中界定经识别低功率资源的低功率资源模式。低功率资源模式可各自识别与资源相关联的一组资源相依性、功率节省和滞后时间,以及当资源不再被利用时其可被置于的低功率状态。在框806处,编译程序可编译低功率资源模式以产生具有一个或一个以上合成低功率资源模式的一个或一个以上合成低功率资源。低功率资源模式可表示低功率资源模式中的一者或一者以上的功能性、功率节省、滞后时间和资源相依性。在框808处,处理器可通过识别对于所产生的合成低功率资源中的一者可进入的至多一个合成低功率资源模式而选择一组最佳合成低功率资源模式。在一方面中,可基于处理器的功率节省、滞后时间和相依性要求而选择合成低功率资源模式。在框810处,处理器可通过调用经识别的合成低功率资源模式的进入功能而将资源置于低功率模式。在框812处,处理器可通过调用经识别的合成低功率资源模式的退出功能而退出低功率模式。
当将较大且复杂的树分成确实独立的合成资源的小得多的子集时,进入和退出功能的列表可变得过长。因此,在各个方面中,有可能将即时编译技术应用于功能列表以动态地将实施组合低功率模式的代码重写为单一函数。此有效地优化组合低功率模式、消除开销且有助于减小与进入和退出休眠状态相关联的滞后时间。举例来说,在一方面中,两个或两个以上资源的滞后时间和功率功能可由域特定编译程序组合以创建准确反映每一资源的滞后时间和功率要求的单一合成低功率模式。这些合成的滞后时间和功率要求允许减少当处理器进入闲置状态时所需的功能调用和数据操纵的量。这些合成功能还允许使确定阶段脱离休眠时间进程且进入编译程序或即时编译程序。另外,以允许功率和滞后时间功能在不需要完全JIT能力的情况下用算术方法组合的方式界定所述功率和滞后时间功能。因此,许多处理可从运行路径移除且移动到界定时空中。
如上文论述,合成功能还显著缩减必须检查的离散项的序。由此,在对NP-硬(例如,背包)问题求解的过程中,需要小得多的序的N,且在更加互相排斥的集合上。因此,不仅N变小而且其变得经较好调节。这使得有可能找到最佳或接近最佳的解、缩短处理时间且减少优化所必需的计算。
在各个方面中,低功率资源内的所有合成低功率资源模式可能相互排斥。在各个方面中,如果低功率资源内的所有合成低功率资源模式相互排斥,那么一旦系统确定一个低功率资源模式与要求匹配,处理器就可停止评估所有其它低功率资源模式,借此改进效率。具有相互排斥的虚拟低功率资源模式还使低功率资源模式的选择成为较简单的问题,因为系统可简单地选取节省最多功率或具有系统所需的其它特性的单一低功率资源模式。在这些方面中,不仅N变小,而且N依据待求解的问题而变得表现较好。即,组合这些功能会增加系统需要考虑的相互排斥的类别的量,借此减小复杂性。在各个其它方面中,即使在系统确定低功率资源模式与要求匹配(尽管确定低功率资源内的所有合成低功率资源模式相互排斥)时,处理器也可继续评估其它低功率资源。在这些方面中,系统可确定在满足约束的第一低功率资源模式处停止将不是最佳的。系统可基于额外约束的存在与否而作出此确定。
在各个方面中,编译程序可为便携式的,以便可在多个处理器体系结构上再使用。JIT编译程序的一些方面必须是处理器特定的,但存在可用于减小必需的处理器特定代码的程度的机制。举例来说,可将功率和滞后时间功能界定为数学表达式,且通过将数学表达式相加在一起而进行JIT运算,使得不存在对于JIT编译程序的此特定操作为必需的处理器特定代码。
在各个方面中,除了功能和相依性外,合成低功率模式还可界定识别操作次序的排序机制。此对于合成具有必须以特定次序满足的功能相依性的模式可能是关键的。另外,即使当存在需要特定排序的功能要求时,也有可能一些排序在功率和/或性能上比其它排序更有效。通过允许LPRM经由LPMDSL指定其必须领先或继后于哪些其它LPRM,LPRM可确保适当的功能或操作排序。接着将以此次序执行合成LPRM。
在各个方面中,除了界定功率节省和滞后时间信息外,低功率模式还可界定相关联的退避时间。所述退避时间指示必须允许低功率模式在下一经调度唤醒事件发生之前退出的时间量。退避时间可从经调度截止时间减去,以便计算允许系统在截止时间期满之前退出低功率模式的唤醒点。这对于满足系统中的功能截止时间可能是关键的。退避时间小于或等于退出滞后时间。在退出滞后时间可表示来自多个处理器的用于退出低功率模式的开销的情况下,退避时间仅表示来自本地处理器的用于退出所述模式的开销。
在各个方面中,可在软件建置过程期间脱离目标而执行界定功率节省、滞后时间信息和相关联退避时间的过程。在各个方面中,这为系统提供上文描述的大多数相同益处,但具有较低存储器消耗。
用于与各个实施例一起使用的典型移动装置900将共同具有图9中说明的组件。举例来说,示范性移动接收器装置900可包含耦合到内部存储器902、显示器903且耦合到扬声器909的处理器901。另外,移动装置900可具有天线904,天线904用于发送和接收电磁辐射,且连接到耦合到处理器901的移动多媒体接收器906。在一些实施例中,移动多媒体接收器906可包含内部处理器908,例如数字信号处理器(DSP),用于控制接收器906的操作且与装置处理器901通信。移动装置通常还包含小键盘906或微型键盘和菜单选择按钮或摇臂开关907以用于接收用户输入。
处理器901可为可由软件指令(应用程序)配置以执行多种功能(包含本文描述的各个实施例的功能)的任何可编程微处理器、微计算机或多处理器芯片。并且,各个实施例的功能可在配置有DSP可执行指令的接收器906内的DSP处理器908中实施。通常,软件应用程序和处理器可执行指令可在其被存取和加载到处理器901中之前存储在内部存储器902中。在一些移动装置中,处理器901可包含足以存储应用程序软件指令的内部存储器。在一些移动装置中,安全存储器可在耦合到处理器901的单独存储器芯片中。在许多移动装置900中,内部存储器902可为易失性或非易失性存储器(例如,快闪存储器),或两者的混合物。出于此描述的目的,对存储器的一般参考指代处理器901可存取的所有存储器,包含内部存储器902、插入到移动装置中的可移除式存储器,以及处理器901本身内的存储器。
前述方法描述和过程流程图仅作为说明性实例而提供,且不表示需要或暗示必须以所呈现的次序执行各种实施例的步骤。如所属领域的技术人员将了解,前述实施例中的步骤次序可以任何次序执行。例如“随后”、“接着”、“接下来”等词语不希望限制步骤的次序;这些词语仅用于引导读者通读方法的描述。此外,例如使用词“一”或“所述”以单数形式对权利要求元件的任何参考不应解释为将元件限于单数形式。
结合本文中所揭示的配置而描述的各种说明性逻辑块、模块、电路和算法步骤可被实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此可互换性,上文已大致关于其功能性而描述了各种说明性组件、块、模块、电路及步骤。所述功能性是实施为硬件还是软件取决于特定应用及施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但所述实施方案决定不应被解释为会导致脱离本发明的范围。
用于实施结合本文所揭示的实施例而描述的各种说明性逻辑、逻辑块、模块和电路的硬件可用通用处理器、数字信号处理器(DSP)、多媒体广播接收器芯片内的DSP、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经设计以执行本文所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任何其它此配置。或者,一些步骤或方法可由特定用于给定功能的电路执行。
在一个或一个以上示范性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实施。如果实施于软件中,则可将功能作为计算机可读媒体上的一个或一个以上指令或代码而加以存储或传输。本文揭示的方法或算法的步骤可体现于可驻留在计算机可读媒体上的所执行的处理器可执行软件模块中。计算机可读媒体包括计算机存储媒体与包括促进计算机程序从一处传递到另一处的任何媒体的通信媒体两者。存储媒体可为可由计算机存取的任何可用媒体。作为实例而非限制,此计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以运载或存储呈指令或数据结构形式的所要程序代码且可通过计算机存取的任何其它媒体。同样,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包括于媒体的定义中。如本文中所使用,磁盘及光盘包括紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上文的组合也应包括在计算机可读媒体的范围内。另外,方法或算法的操作可作为代码和/或指令的一者或任何组合或集合而驻留在可并入到计算机程序产品中的机器可读媒体和/或计算机可读媒体上。
提供所揭示实施例的先前描述是为了使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易明白对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下,本文所界定的一般原理可应用于其它实施例。因此,不希望本发明限于本文展示的实施例,而是本发明应被赋予与所附权利要求书以及本文揭示的原理和新颖特征一致的最广范围。
Claims (52)
1.一种用于节省具有多个资源和至少一个处理器的计算装置中的功率的方法,其包括:
在可编译表达式中界定多个低功率资源模式,所述低功率资源模式识别与资源相关联的一组资源相依性、功率节省和滞后时间特性,以及当不在使用中时所述多个资源中的每一者可被置于的低功率状态;
编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源,每一合成低功率资源具有表示所述低功率资源模式中的一者或一者以上的功能性、功率节省、滞后时间和资源相依性特性的一个或一个以上合成低功率资源模式;基于所述模式的功率节省、滞后时间和相依性要求为每一合成低功率资源选择至多一个合成低功率资源模式;以及
当系统变得闲置以及脱离闲置时以适当次序进入和退出所述选定的合成低功率资源模式。
2.根据权利要求1所述的方法,其中考虑到操作温度来选择所述低功率资源模式。
3.根据权利要求1所述的方法,其中将合成低功率资源内的所有所述合成低功率资源模式产生为相互排斥的。
4.根据权利要求1所述的方法,其中每一合成低功率资源模式界定识别其中所述处理器必须选择、进入和退出所述合成低功率资源模式的操作的次序的排序机制。
5.根据权利要求1所述的方法,其中由遵守所述低功率资源模式之间的相依性关系的域特定编译程序产生所述合成低功率资源。
6.根据权利要求1所述的方法,其进一步包括评估每一资源的所述低功率资源模式以基于所述资源相依性、功率节省、预期闲置时间和滞后时间特性为可置于低功率状态的每一资源选择一个低功率资源模式。
7.根据权利要求1所述的方法,其中编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源包括针对每一个或一个以上合成低功率资源模式界定相关联的退避时间,所述退避时间指示允许所述合成低功率资源模式在下一经调度唤醒事件发生之前退出的时间量。
8.根据权利要求1所述的方法,其中所述低功率资源模式中的每一者具有进入功能和退出功能。
9.根据权利要求8所述的方法,其中每一合成低功率资源模式具有与两个或两个以上低功率资源模式的所述进入功能具有相同功能性的进入功能。
10.根据权利要求8所述的方法,其中每一合成低功率资源模式具有与两个或两个以上低功率资源模式的所述退出功能具有相同功能性的退出功能。
11.根据权利要求8所述的方法,其中使用即时编译技术来动态地重写与两个或两个以上低功率资源模式的功能相关联的代码,以产生与所述两个或两个以上低功率资源模式的所述功能具有相同功能性的单一合成功能。
12.根据权利要求1所述的方法,其进一步包括基于处理器和客户端所识别的滞后时间要求来确定滞后时间预算。
13.根据权利要求12所述的方法,其中基于所述低功率资源模式具有小于所述滞后时间预算的滞后时间要求而选择所述低功率资源模式。
14.一种具有多个资源和至少一个处理器的计算装置,其包括:
用于在可编译表达式中界定多个低功率资源模式的装置,所述低功率资源模式识别与资源相关联的一组资源相依性、功率节省和滞后时间特性,以及当不在使用中时所述多个资源中的每一者可被置于的低功率状态;
用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源的装置,每一合成低功率资源具有表示所述低功率资源模式中的一者或一者以上的功能性、功率节省、滞后时间和资源相依性特性的一个或一个以上合成低功率资源模式;
用于基于所述模式的功率节省、滞后时间和相依性要求为每一合成低功率资源选择至多一个合成低功率资源模式的装置;以及
用于当系统变得闲置以及脱离闲置时以适当次序进入和退出所述选定的合成低功率资源模式的装置。
15.根据权利要求14所述的计算装置,其中用于为每一合成低功率资源选择至多一个合成低功率资源模式的装置包括用于考虑到操作温度来为每一合成低功率资源选择至多一个合成低功率资源模式的装置。
16.根据权利要求14所述的计算装置,其中用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源的装置包括用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源,使得合成低功率资源内的所有所述合成低功率资源模式为相互排斥的装置。
17.根据权利要求14所述的计算装置,其中用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源的装置包括用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源使得每一合成低功率资源模式界定识别其中所述处理器必须选择、进入和退出所述合成低功率资源模式的操作的次序的排序机制的装置。
18.根据权利要求14所述的计算装置,其中用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源的装置包括用于使用遵守所述低功率资源模式之间的相依性关系的域特定编译程序来编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源的装置。
19.根据权利要求14所述的计算装置,其进一步包括:
用于评估每一资源的所述低功率资源模式以基于所述资源相依性、功率节省、预期闲置时间和滞后时间特性为可置于低功率状态的每一资源选择一个低功率资源模式的装置。
20.根据权利要求14所述的计算装置,其中用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源的装置包括用于针对每一个或一个以上合成低功率资源模式界定相关联的退避时间的装置,所述退避时间指示允许所述合成低功率资源模式在下一经调度唤醒事件发生之前退出的时间量。
21.根据权利要求14所述的计算装置,其中所述低功率资源模式中的每一者具有进入功能和退出功能。
22.根据权利要求21所述的计算装置,其中用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源的装置包括用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源使得每一合成低功率资源模式具有与两个或两个以上低功率资源模式的所述进入功能具有相同功能性的进入功能的装置。
23.根据权利要求21所述的计算装置,其中用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源的装置包括用于编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源使得每一合成低功率资源模式具有与两个或两个以上低功率资源模式的所述退出功能具有相同功能性的退出功能的装置。
24.根据权利要求21所述的计算装置,其中使用即时编译技术来动态地重写与两个或两个以上低功率资源模式的功能相关联的代码,以产生与所述两个或两个以上低功率资源模式的所述功能具有相同功能性的单一合成功能。
25.根据权利要求14所述的计算装置,其进一步包括:
用于基于处理器和客户端识别的滞后时间要求来确定滞后时间预算的装置。
26.根据权利要求25所述的计算装置,其中用于为每一合成低功率资源选择至多一个合成低功率资源模式的装置包括用于通过基于所述低功率资源模式具有小于所述滞后时间预算的滞后时间要求而选择所述低功率资源模式来为每一合成低功率资源选择至多一个合成低功率资源模式的装置。
27.一种用于节省具有多个资源的计算装置中的功率的设备,所述设备包括:
存储器缓冲器;以及
耦合到所述存储器缓冲器的处理器,其中所述处理器配置有用以执行包括以下各项的操作的软件指令:
在可编译表达式中界定多个低功率资源模式,所述低功率资源模式识别与资源相关联的一组资源相依性、功率节省和滞后时间特性,以及当不在使用中时所述多个资源中的每一者可被置于的低功率状态;
编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源,每一合成低功率资源具有表示所述低功率资源模式中的一者或一者以上的功能性、功率节省、滞后时间和资源相依性特性的一个或一个以上合成低功率资源模式;
基于所述模式的功率节省、滞后时间和相依性要求为每一合成低功率资源选择至多一个合成低功率资源模式;以及
当系统变得闲置以及脱离闲置时以适当次序进入和退出所述选定的合成低功率资源模式。
28.根据权利要求27所述的设备,其中所述处理器进一步配置有软件指令,使得考虑到操作温度来选择所述低功率资源模式。
29.根据权利要求27所述的设备,其中所述处理器进一步配置有软件指令,使得将合成低功率资源内的所有所述合成低功率资源模式产生为相互排斥的。
30.根据权利要求27所述的设备,其中所述处理器进一步配置有软件指令,使得每一合成低功率资源模式界定识别其中所述处理器必须选择、进入和退出所述合成低功率资源模式的操作的次序的排序机制。
31.根据权利要求27所述的设备,其中所述处理器进一步配置有软件指令,使得由遵守所述低功率资源模式之间的相依性关系的域特定编译程序产生所述合成低功率资源。
32.根据权利要求27所述的设备,其中所述处理器配置有软件指令以执行进一步包括以下各项的操作:
评估每一资源的所述低功率资源模式以基于所述资源相依性、功率节省、预期闲置时间和滞后时间特性为可置于低功率状态的每一资源选择一个低功率资源模式。
33.根据权利要求27所述的设备,其中所述处理器进一步配置有软件指令,使得编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源包括针对每一个或一个以上合成低功率资源模式界定相关联的退避时间,所述退避时间指示允许所述合成低功率资源模式在下一经调度唤醒事件发生之前退出的时间量。
34.根据权利要求27所述的设备,其中所述处理器进一步配置有软件指令,使得所述低功率资源模式中的每一者具有进入功能和退出功能。
35.根据权利要求34所述的设备,其中所述处理器进一步配置有软件指令,使得每一合成低功率资源模式具有与两个或两个以上低功率资源模式的所述进入功能具有相同功能性的进入功能。
36.根据权利要求34所述的设备,其中所述处理器进一步配置有软件指令,使得每一合成低功率资源模式具有与两个或两个以上低功率资源模式的所述退出功能具有相同功能性的退出功能。
37.根据权利要求34所述的设备,其中所述处理器进一步配置有软件指令,使得使用即时编译技术来动态地重写与两个或两个以上低功率资源模式的功能相关联的代码,以产生与所述两个或两个以上低功率资源模式的所述功能具有相同功能性的单一合成功能。
38.根据权利要求27所述的设备,其中所述处理器配置有软件指令以执行进一步包括以下各项的操作:
基于处理器和客户端识别的滞后时间要求来确定滞后时间预算。
39.根据权利要求38所述的设备,其中所述处理器进一步配置有软件指令,使得基于所述低功率资源模式具有小于所述滞后时间预算的滞后时间要求而选择所述低功率资源模式。
40.一种非暂时性存储媒体,其上存储有处理器可执行软件指令,所述指令经配置以使处理器执行用于节省具有多个资源的计算装置中的功率的操作,所述操作包括:
在可编译表达式中界定多个低功率资源模式,所述低功率资源模式识别与资源相关联的一组资源相依性、功率节省和滞后时间特性,以及当不在使用中时所述多个资源中的每一者可被置于的低功率状态;
编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源,每一合成低功率资源具有表示所述低功率资源模式中的一者或一者以上的功能性、功率节省、滞后时间和资源相依性特性的一个或一个以上合成低功率资源模式;
基于所述模式的功率节省、滞后时间和相依性要求为每一合成低功率资源选择至多一个合成低功率资源模式;以及
当系统变得闲置以及脱离闲置时以适当次序进入和退出所述选定的合成低功率资源模式。
41.根据权利要求40所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得考虑到操作温度来选择所述低功率资源模式。
42.根据权利要求40所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得将合成低功率资源内的所有所述合成低功率资源模式产生为相互排斥的。
43.根据权利要求40所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得每一合成低功率资源模式界定识别其中所述处理器必须选择、进入和退出所述合成低功率资源模式的操作的次序的排序机制。
44.根据权利要求40所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得由遵守所述低功率资源模式之间的相依性关系的域特定编译程序产生所述合成低功率资源。
45.根据权利要求40所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行进一步包括以下各项的操作:
评估每一资源的所述低功率资源模式以基于所述资源相依性、功率节省、预期闲置时间和滞后时间特性为可置于低功率状态的每一资源选择一个低功率资源模式。
46.根据权利要求40所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得编译所述经界定的多个低功率资源模式以产生一个或一个以上合成低功率资源包括针对每一个或一个以上合成低功率资源模式界定相关联的退避时间,所述退避时间指示允许所述合成低功率资源模式在下一经调度唤醒事件发生之前退出的时间量。
47.根据权利要求40所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得所述低功率资源模式中的每一者具有进入功能和退出功能。
48.根据权利要求47所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得每一合成低功率资源模式具有与两个或两个以上低功率资源模式的所述进入功能具有相同功能性的进入功能。
49.根据权利要求47所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得每一合成低功率资源模式具有与两个或两个以上低功率资源模式的所述退出功能具有相同功能性的退出功能。
50.根据权利要求47所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得使用即时编译技术来动态地重写与两个或两个以上低功率资源模式的功能相关联的代码,以产生与所述两个或两个以上低功率资源模式的所述功能具有相同功能性的单一合成功能。
51.根据权利要求40所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行进一步包括以下各项的操作:
基于处理器和客户端识别的滞后时间要求来确定滞后时间预算。
52.根据权利要求51所述的非暂时性存储媒体,其中所述所存储的处理器可执行软件指令经配置以使处理器执行操作,使得基于所述低功率资源模式具有小于所述滞后时间预算的滞后时间要求而选择所述低功率资源模式。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29405510P | 2010-01-11 | 2010-01-11 | |
US61/294,055 | 2010-01-11 | ||
US41646910P | 2010-11-23 | 2010-11-23 | |
US61/416,469 | 2010-11-23 | ||
US12/965,028 | 2010-12-10 | ||
US12/965,028 US8504855B2 (en) | 2010-01-11 | 2010-12-10 | Domain specific language, compiler and JIT for dynamic power management |
PCT/US2011/020714 WO2011085333A1 (en) | 2010-01-11 | 2011-01-10 | Domain specific language, compiler and jit for dynamic power management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102695999A true CN102695999A (zh) | 2012-09-26 |
CN102695999B CN102695999B (zh) | 2015-02-18 |
Family
ID=44259449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180005642.5A Expired - Fee Related CN102695999B (zh) | 2010-01-11 | 2011-01-10 | 用于动态功率管理的域特定语言、编译程序和jit |
Country Status (6)
Country | Link |
---|---|
US (2) | US8504855B2 (zh) |
EP (1) | EP2524276A1 (zh) |
JP (1) | JP5383928B2 (zh) |
KR (1) | KR101411756B1 (zh) |
CN (1) | CN102695999B (zh) |
WO (1) | WO2011085333A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504855B2 (en) | 2010-01-11 | 2013-08-06 | Qualcomm Incorporated | Domain specific language, compiler and JIT for dynamic power management |
US9235251B2 (en) * | 2010-01-11 | 2016-01-12 | Qualcomm Incorporated | Dynamic low power mode implementation for computing devices |
JP5251969B2 (ja) * | 2010-12-20 | 2013-07-31 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置 |
MY174440A (en) * | 2011-10-03 | 2020-04-18 | Intel Corp | System and method for performance optimization in usb operations |
US8775838B2 (en) * | 2012-02-01 | 2014-07-08 | Texas Instruments Incorporated | Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data |
US20130275791A1 (en) * | 2012-04-12 | 2013-10-17 | Qualcomm Incorporated | Method and System for Tracking and Selecting Optimal Power Conserving Modes of a PCD |
US9696782B2 (en) | 2015-02-09 | 2017-07-04 | Microsoft Technology Licensing, Llc | Battery parameter-based power management for suppressing power spikes |
US10158148B2 (en) | 2015-02-18 | 2018-12-18 | Microsoft Technology Licensing, Llc | Dynamically changing internal state of a battery |
US9748765B2 (en) | 2015-02-26 | 2017-08-29 | Microsoft Technology Licensing, Llc | Load allocation for multi-battery devices |
JP6276212B2 (ja) | 2015-03-25 | 2018-02-07 | 株式会社東芝 | 半導体装置、電力制御方法及びプログラム |
US10168762B2 (en) * | 2015-09-17 | 2019-01-01 | Advanced Micro Devices, Inc. | Power management for heterogeneous computing systems |
US9939862B2 (en) | 2015-11-13 | 2018-04-10 | Microsoft Technology Licensing, Llc | Latency-based energy storage device selection |
US10061366B2 (en) | 2015-11-17 | 2018-08-28 | Microsoft Technology Licensing, Llc | Schedule-based energy storage device selection |
US9793570B2 (en) | 2015-12-04 | 2017-10-17 | Microsoft Technology Licensing, Llc | Shared electrode battery |
CN111240459B (zh) * | 2020-01-08 | 2021-05-28 | 珠海全志科技股份有限公司 | 片上系统功耗管理方法、计算机装置及计算机可读存储介质 |
CN114679766B (zh) * | 2020-12-24 | 2023-11-03 | 中国移动通信集团终端有限公司 | 降低终端功耗的方法、装置、设备及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040002823A1 (en) * | 2002-06-27 | 2004-01-01 | Tomm Aldridge | Method and apparatus for compiler assisted power management |
US20040123172A1 (en) * | 2002-12-19 | 2004-06-24 | Sheller Nathan J. | Methods and apparatus to control power state transitions |
CN101120298A (zh) * | 2005-02-16 | 2008-02-06 | 松下电器产业株式会社 | 电源控制电路和电子电路 |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0834106B1 (en) * | 1995-06-07 | 2000-02-23 | Seiko Epson Corporation | Computer system with video display controller having power saving modes |
JPH10268987A (ja) * | 1997-03-25 | 1998-10-09 | Ricoh Co Ltd | バッテリ駆動式電子機器 |
US6457135B1 (en) * | 1999-08-10 | 2002-09-24 | Intel Corporation | System and method for managing a plurality of processor performance states |
US7539885B2 (en) * | 2000-01-13 | 2009-05-26 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
JP2002244761A (ja) * | 2001-02-14 | 2002-08-30 | Mitsubishi Electric Corp | 半導体集積回路 |
JP2002258997A (ja) | 2001-02-28 | 2002-09-13 | Sharp Corp | 手書き入力機能付き装置 |
US20030028711A1 (en) * | 2001-07-30 | 2003-02-06 | Woo Steven C. | Monitoring in-use memory areas for power conservation |
JP2004192256A (ja) * | 2002-12-10 | 2004-07-08 | Seiko Epson Corp | ネットワークコントローラ |
US7953990B2 (en) | 2002-12-31 | 2011-05-31 | Stewart Thomas E | Adaptive power control based on post package characterization of integrated circuits |
US7117380B2 (en) | 2003-09-30 | 2006-10-03 | International Business Machines Corporation | Apparatus, system, and method for autonomic power adjustment in an electronic device |
US7281144B2 (en) * | 2004-02-17 | 2007-10-09 | Intel Corporation | Power management in communication devices |
JP4316399B2 (ja) * | 2004-02-18 | 2009-08-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム、記録媒体、制御方法、及び情報処理装置 |
US7366921B2 (en) * | 2004-04-23 | 2008-04-29 | Hewlett-Packard Development Company, L.P. | Selecting input/output devices to control power consumption of a computer system |
US7343502B2 (en) * | 2004-07-26 | 2008-03-11 | Intel Corporation | Method and apparatus for dynamic DLL powerdown and memory self-refresh |
US7360106B2 (en) * | 2004-08-05 | 2008-04-15 | Matsushita Electric Industrial Co., Ltd. | Power-saving processing unit, power-saving processing method and program record medium |
US7246181B2 (en) * | 2004-09-14 | 2007-07-17 | Hewlett-Packard Development Company, L.P. | Device and method for identifying a communication interface that performs an operating parameter closer to a desired performance level than another communication interface performs the operating parameter |
JP2006163643A (ja) * | 2004-12-03 | 2006-06-22 | Sony Computer Entertainment Inc | 電源制御装置、データ読出装置および電源制御方法 |
US20060136919A1 (en) | 2004-12-17 | 2006-06-22 | Sun Microsystems, Inc. | System and method for controlling thread suspension in a multithreaded processor |
US7454631B1 (en) * | 2005-03-11 | 2008-11-18 | Sun Microsystems, Inc. | Method and apparatus for controlling power consumption in multiprocessor chip |
JP2006254185A (ja) * | 2005-03-11 | 2006-09-21 | Orion Denki Kk | 節電機能を有する電子機器 |
US7386747B2 (en) * | 2005-05-10 | 2008-06-10 | Qualcomm Incorporated | Method and system for reducing power consumption of a programmable processor |
US7836284B2 (en) * | 2005-06-09 | 2010-11-16 | Qualcomm Incorporated | Microprocessor with automatic selection of processing parallelism mode based on width data of instructions |
US7454632B2 (en) | 2005-06-16 | 2008-11-18 | Intel Corporation | Reducing computing system power through idle synchronization |
US7536573B2 (en) * | 2005-07-29 | 2009-05-19 | Hewlett-Packard Development Company, L.P. | Power budgeting for computers |
US7647078B2 (en) * | 2006-03-07 | 2010-01-12 | Samsung Electronics Co., Ltd. | Power-saving method for wireless sensor network |
US7752468B2 (en) * | 2006-06-06 | 2010-07-06 | Intel Corporation | Predict computing platform memory power utilization |
US7783905B2 (en) * | 2006-06-13 | 2010-08-24 | Via Technologies Inc. | Method for reducing power consumption of a computer system in the working state |
US7529956B2 (en) * | 2006-07-17 | 2009-05-05 | Microsoft Corporation | Granular reduction in power consumption |
US7930564B2 (en) * | 2006-07-31 | 2011-04-19 | Intel Corporation | System and method for controlling processor low power states |
JP4275168B2 (ja) * | 2006-11-30 | 2009-06-10 | シャープ株式会社 | Nicを備えるシステム機器および同システム機器の省電力制御方法 |
US7716506B1 (en) * | 2006-12-14 | 2010-05-11 | Nvidia Corporation | Apparatus, method, and system for dynamically selecting power down level |
US20090172434A1 (en) * | 2007-12-31 | 2009-07-02 | Kwa Seh W | Latency based platform coordination |
US8176341B2 (en) * | 2008-03-31 | 2012-05-08 | Intel Corporation | Platform power management based on latency guidance |
US8315746B2 (en) * | 2008-05-30 | 2012-11-20 | Apple Inc. | Thermal management techniques in an electronic device |
US8255713B2 (en) | 2008-06-26 | 2012-08-28 | Intel Corporation | Management of link states using plateform and device latencies |
US8086882B2 (en) * | 2008-06-29 | 2011-12-27 | Microsoft Corporation | Energy measurement techniques for computing systems |
US8112645B2 (en) * | 2008-07-25 | 2012-02-07 | Freescale Semiconductor, Inc. | System and method for power management |
US20100162256A1 (en) * | 2008-12-18 | 2010-06-24 | Alexander Branover | Optimization of application power consumption and performance in an integrated system on a chip |
US8601296B2 (en) * | 2008-12-31 | 2013-12-03 | Intel Corporation | Downstream device service latency reporting for power management |
US8065542B2 (en) | 2008-12-31 | 2011-11-22 | Synopsys, Inc. | Distributed table-driven power mode computation for controlling optimal clock and voltage switching |
US8607075B2 (en) * | 2008-12-31 | 2013-12-10 | Intel Corporation | Idle duration reporting for power management |
US8566628B2 (en) | 2009-05-06 | 2013-10-22 | Advanced Micro Devices, Inc. | North-bridge to south-bridge protocol for placing processor in low power state |
US8341628B2 (en) | 2009-12-23 | 2012-12-25 | International Business Machines Corporation | Controlling depth and latency of exit of a virtual processor's idle state in a power management environment |
US20130290758A1 (en) | 2010-01-11 | 2013-10-31 | Qualcomm Incorporated | Sleep mode latency scaling and dynamic run time adjustment |
US8504855B2 (en) | 2010-01-11 | 2013-08-06 | Qualcomm Incorporated | Domain specific language, compiler and JIT for dynamic power management |
US9235251B2 (en) * | 2010-01-11 | 2016-01-12 | Qualcomm Incorporated | Dynamic low power mode implementation for computing devices |
US20130007492A1 (en) | 2011-06-30 | 2013-01-03 | Sokol Jr Joseph | Timer interrupt latency |
US8862917B2 (en) | 2011-09-19 | 2014-10-14 | Qualcomm Incorporated | Dynamic sleep for multicore computing devices |
US8782454B2 (en) | 2011-10-28 | 2014-07-15 | Apple Inc. | System and method for managing clock speed based on task urgency |
-
2010
- 2010-12-10 US US12/965,028 patent/US8504855B2/en active Active
-
2011
- 2011-01-10 CN CN201180005642.5A patent/CN102695999B/zh not_active Expired - Fee Related
- 2011-01-10 EP EP11700772A patent/EP2524276A1/en not_active Withdrawn
- 2011-01-10 JP JP2012546265A patent/JP5383928B2/ja active Active
- 2011-01-10 WO PCT/US2011/020714 patent/WO2011085333A1/en active Application Filing
- 2011-01-10 KR KR1020127020978A patent/KR101411756B1/ko active IP Right Grant
-
2013
- 2013-05-15 US US13/894,914 patent/US9182810B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040002823A1 (en) * | 2002-06-27 | 2004-01-01 | Tomm Aldridge | Method and apparatus for compiler assisted power management |
US20040123172A1 (en) * | 2002-12-19 | 2004-06-24 | Sheller Nathan J. | Methods and apparatus to control power state transitions |
CN101120298A (zh) * | 2005-02-16 | 2008-02-06 | 松下电器产业株式会社 | 电源控制电路和电子电路 |
Also Published As
Publication number | Publication date |
---|---|
US9182810B2 (en) | 2015-11-10 |
KR20120117020A (ko) | 2012-10-23 |
CN102695999B (zh) | 2015-02-18 |
EP2524276A1 (en) | 2012-11-21 |
JP5383928B2 (ja) | 2014-01-08 |
WO2011085333A1 (en) | 2011-07-14 |
KR101411756B1 (ko) | 2014-06-25 |
JP2013516009A (ja) | 2013-05-09 |
US8504855B2 (en) | 2013-08-06 |
US20110173475A1 (en) | 2011-07-14 |
US20130262899A1 (en) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102695999B (zh) | 用于动态功率管理的域特定语言、编译程序和jit | |
CN102667668A (zh) | 用于计算装置的动态低功率模式实施方案 | |
CN103797436B (zh) | 用于计算装置的动态电力优化 | |
CN104115094B (zh) | 包括代码再循环技术的用于能效和节能的方法、装置和系统 | |
CN103814342B (zh) | 多核心计算装置的动态睡眠 | |
JP5175215B2 (ja) | 単一の可搬性電子デバイス内で複数rfidタグをエミュレートするための方法とデバイス | |
US20130290758A1 (en) | Sleep mode latency scaling and dynamic run time adjustment | |
CN101313284A (zh) | 用于提供对处理器状态转换进行检测的方法和装置 | |
US8954775B2 (en) | Power gating functional units of a processor | |
CN101657783B (zh) | 利用低功率模式控制核工作循环的方法 | |
Sliper et al. | Energy-driven computing | |
AbouGhazaleh et al. | Energy management for real-time embedded applications with compiler support | |
CN111813515A (zh) | 基于多进程的任务调度方法、装置、计算机设备及介质 | |
CN108139929A (zh) | 用于调度多个任务的任务调度程序和方法 | |
CN101866212A (zh) | 一种多模式电源管理装置及管理方法 | |
CN103544003A (zh) | 基于数据管理功率的设备和方法 | |
Fröhlich | A comprehensive approach to power management in embedded systems | |
US8108013B2 (en) | Systems and methods for managing power consumption in a flow-based user experience | |
Tomusk et al. | Selecting heterogeneous cores for diversity | |
KR100932065B1 (ko) | 수동형을 지원하는 rfid 센서 태그 및 그 동작 방법 | |
Huang | Coordinating Software and Hardware for Performance Under Power Constraints | |
Micheal et al. | Survey of Hard Real Time Task Scheduling Algorithm on Multicore Processor | |
Pyne et al. | Branch Target Buffer Energy Reduction Through Efficient Multiway Branch Translation Techniques | |
Swaminathan | Dynamic power management in hard real-time systems |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150218 Termination date: 20220110 |
|
CF01 | Termination of patent right due to non-payment of annual fee |