CN102232205B - 数据处理系统的强制空闲 - Google Patents
数据处理系统的强制空闲 Download PDFInfo
- Publication number
- CN102232205B CN102232205B CN200880124205.3A CN200880124205A CN102232205B CN 102232205 B CN102232205 B CN 102232205B CN 200880124205 A CN200880124205 A CN 200880124205A CN 102232205 B CN102232205 B CN 102232205B
- Authority
- CN
- China
- Prior art keywords
- free time
- time
- data handling
- idle
- power
- 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
Links
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
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
Abstract
用于管理数据处理系统的功率的方法和装置的示例性实施例被描述。系统的一个或多个约束参数被监视。基于一个或多个约束参数,数据处理系统在时间的第一部分中被强制进入空闲状态,而允许系统在时间的第二部分中进行操作,其中响应于目标空闲时间和实际空闲时间的比较而被强制进入空闲状态。在一个实施例中,系统的目标空闲时间是基于一个或多个约束参数来确定的。系统的实际空闲时间可以被监视,以考虑到打断空闲时间的中断,并且空闲时间致使没有软件指令将执行。系统可以被允许基于目标空闲时间和实际空闲时间的比较结果来进行操作。
Description
相关申请
本申请与2008年1月7日递交的Keith Cox、David Conroy和MichaelCulbert的题为“Forced Idle of a Data Processing System”的美国专利申请No.11/970,476相关(律师卷号No.4860P5854)。
技术领域
本发明的至少一些实施例一般地涉及数据处理系统,更具体而言但非排他性地涉及数据处理系统中的功率和/或热特性的管理。
背景技术
传统上,计算机系统被设计成能够连续地运行一最坏情况的功率负载。根据这种连续的最坏情况功率负载的设计还未成为大问题,因为传统上单独的组件具有适度的操作功率并且计算机系统具有大功率预算,从而使得系统能够自然适当地维持负载。
当计算机系统的单独组件的操作功耗缓慢上升时,计算机系统的功率预算变得吃紧。现在,设计一种运行连续的最坏情况负荷量并同时达成其他目标(例如,高计算功率、小型化、安静、更好的电池性能等等)的计算机系统正在成为一种挑战。例如,诸如膝上型计算机之类的便携式计算机系统具有有限的电池输出容量;并因此被设计用于针对给定的电池输出容量处理最坏情况负荷量的系统可能由于最坏情况负荷量极少发生而限制了系统的性能。
因此,管理功率对于实现计算机系统或其他数据处理系统(例如,蜂窝电话)的电池寿命和热设计目标两者是非常重要的。一种例如用于管理重要处理单元(“CPU”)的功率的常见技术是在计算机系统的多个不同状态之间动态地调节CPU内核的操作频率以及供电电压两者。通常,在计算机系统的功率操作点上,可能存在两种功耗分量,例如动态功率和泄漏功率。动态功率代表实际所需的电路操作。其与每秒时钟跳变的次数(频率)以及电压的平方成比例。泄漏功率代表对CPU完全供电的代价开销。其对于给定电压是固定的,并且通常随电压增大呈指数上升。但是,动态调节操作频率只能管理动态功率而对计算机系统的泄漏功率没有效果。
某些现有技术的系统包括周期性地通过将系统时钟设置到零频率而使系统停止执行指令的能力;但是,这些系统重复执行该操作,而对系统中的实际空闲时间没有任何措施。
发明内容
用于管理数据处理系统的功率的方法和装置的示例性实施例已被描述。数据处理系统的一个或多个约束参数可以被监视。基于这一个或多个约束参数,可以强制数据处理系统在时间的第一部分中进入空闲状态,而在时间的第二部分中进行操作,其中,系统是响应于目标空闲时间与实际空闲时间的比较而被强制进入空闲状态的。在一个实施例中,基于一个或多个系统约束参数来确定数据处理系统的目标空闲时间。数据处理系统的实际空闲时间可以被监视。数据处理系统的实际空闲时间可以在一时间量(例如5秒)上被累积,该时间量可以与目标空闲时间所基于的时间量相同。可以允许数据处理系统基于目标空闲时间和实际空闲时间的比较结果来进行操作。在一个实施例中,空闲状态防止系统执行指令。在一个实施例中,系统响应于中断被从空闲状态切换到操作状态。
在一个实施例中,系统在时间上重复确定实际空闲时间并将该实际空闲时间与目标空闲时间相比较,并基于比较来判决是强制还是不强制空闲时间。在该实施例中,如果最近的实际空闲时间大于目标空闲时间,系统则可以判决避免空闲时间。这样,系统可以基于监视到的实际空闲时间来判断是否强制空闲,其中所述监视到的实际空闲时间可以考虑到打断空闲时间(并因此缩短实际空闲时间)的中断并且还可以考虑到系统过去空闲的情况(例如,因为未曾接收过用户输入或其他输入,并且没有软件指令在等待执行)。该实施例允许系统通过检查实际空闲时间来智能地判决是否强制空闲;如果已经存在足够的空闲时间(例如,实际空闲时间超过目标空闲时间),系统则可以避免强制的空闲。
系统可以将这里描述的智能地判决是否强制空闲的实施例与其他用于高效地操作系统的技术一起使用,所述其他技术例如是在2005年8月25日递交的美国申请No.11/212,970和/或在2006年1月5日递交的美国申请No.11/327,685中所描述的技术中的一种或多种,并且这些其他技术的提高系统操作效率(在功率上和/或热特性上)的能力可以通过使用智能判决的强制空闲而得到提高。
至少在某些实施例中,描述了一种数据处理系统,该系统包括处理器、耦合到处理器的存储器、耦合到处理器的用于监视系统的一个或多个约束参数的一个或多个传感器;其中,处理器被配置用于:基于一个或多个约束参数,在允许系统持续操作了时间的第二部分时,强制系统进入空闲状态达时间的第一部分,其中处理器被配置为响应于目标空闲时间与实际空闲时间的比较来强制系统进入空闲状态。在一个实施例中,处理器还被配置为基于一个或多个约束参数确定系统的目标空闲时间,并被配置为监视系统的实际空闲时间,并被配置为基于目标空闲时间和实际空闲时间的比较来允许系统在时间的第二部分中进行操作。在一个实施例中,实际空闲时间可以是表示系统的空闲时间的估计值。在一个实施例中,处理器还被配置为响应于中断从空闲状态切换到全操作状态。在一个实施例中,存储器存储一个或多个查找表,所述查找表包括与一个或多个约束参数相关联的目标空闲时间。
至少在某些实施例中,公开了一种存储可执行程序指令的机器可读存储介质,所述可执行程序指令致使数据处理系统执行如下操作:监视系统的一个或多个约束参数;以及基于一个或多个约束参数,在一时间的第一部分中强制所述系统进入空闲状态,而在所述时间的第二部分中允许所述系统持续操作,其中所述强制是响应于目标空闲时间与实际空闲时间的比较来执行的。
在一个实施例中,机器可读介质还包括致使数据处理系统基于一个或多个系统约束参数来确定系统的目标空闲时间并且监视系统的实际空闲时间的指令。在一个实施例中,机器可读介质还包括致使数据处理系统响应于中断从空闲状态切换到全操作状态的指令。
至少在某些实施例中,描述了一种数据处理系统,包括:用于监视系统的一个或多个约束参数的装置;以及用于基于所述一个或多个约束参数,在一时间的第一部分中强制所述系统进入空闲状态,而在所述时间的第二部分中允许所述系统持续操作的装置,其中所述强制是响应于目标空闲时间与实际空闲时间的比较来执行的。
在一个实施例中,数据处理系统包括用于基于一个或多个系统约束参数来确定系统的目标空闲时间的装置,以及用于监视系统的实际空闲时间的装置。在一个实施例中,数据处理系统还包括用于响应于中断从空闲状态切换到全操作状态的装置。
本发明的其他特征将从附图以及随后的详细描述中变得显而易见。
附图说明
在附图中以示例方式而非限制方式图示出本发明,在附图中,类似标号指示类似元件。
图1A示出可被用于提供强制空闲状态的典型计算机系统的一个示例。
图1B示出提供强制空闲状态的系统的另一实施例。
图2示出提供强制空闲状态的系统的一个实施例。
图3A是示出数据处理系统的功率操作点的一个实施例的示图。
图3B是示出泄漏功率对电源电压的依赖性的示图。
图4是示出根据本发明的一个实施例,在数据处理系统持续操作时强制系统进入空闲状态的示图。
图5A是示出根据本发明的一个实施例,在数据处理系统持续操作时强制系统进入空闲状态的示图。
图5B是示出根据本发明的另一实施例,在数据处理系统持续操作时强制系统进入空闲状态的示图。
图6示出包括关于空闲状态的信息的表的一个实施例。
图7是强制数据处理系统进入空闲状态的方法的一个实施例的流程图。
图8是强制数据处理系统进入空闲状态的方法的一个实施例的流程图。
图9是基于约束参数强制数据处理系统进入空闲状态的方法的一个实施例的流程图。
图10示出用于动态地确定可以在这里描述的某些实施例中使用的功率用量预算的方法。
图11示出可以在这里描述的某些实施例中使用的功率用量情形。
图12是管理数据处理系统的功率到目标功率的方法的一个实施例的流程图。
图13是增大不带强制空闲的操作功率点的方法的一个实施例的流程图。
图14是增大包括强制空闲的操作功率点的方法1400的一个实施例的流程图。
图15是减小不带强制空闲的操作功率点的方法的一个实施例的流程图。
图16是减小包括强制空闲的操作功率点的方法的一个实施例的流程图。
图17是为数据处理系统提供强制空闲状态的方法的一个实施例的流程图。
图18是从强制空闲状态切换的方法的一个实施例的流程图。
图19是提供强制空闲状态的方法的一个实施例的流程图。
具体实施方式
下面将参考下述细节来描述本发明的各个实施例和方面,并且附图将图示出各个实施例。以下描述和附图是对本发明的举例说明,不应被理解为限制本发明。多个具体细节被描述,以用于对本发明的各个实施例的全面理解。但是,本领域技术人员将会意识到,无需这些具体细节也可以实施本发明的实施例。在其他实例中,公知的结构和设备以框图形式而非细节形式示出,以免模糊本发明的实施例。
在说明书中提到“一个实施例”或“实施例”意思是与该实施例相关联地描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在说明书中各个位置出现的短语“在一个实施例中”不一定指代同一实施例。
除非特别说明,否则将意识到,贯穿本说明,利用诸如“处理”或“计算”或“确定”或“显示”等术语所进行的论述指的是数据处理系统或类似电子计算设备的动作和进程,所述数据处理系统操纵计算机系统的寄存器和存储器中的被表示为物理(电子)量的数据并将该数据变换成其他数据,所述其他数据也被类似地表示为计算机系统存储器或寄存器或其他这样的信息存储设备、发送或显示设备中的物理量。
本发明的实施例可以涉及用于执行这里所描述的一种或多种操作的装置。该装置可以针对所需目的特别构造,或者其可以包括由存储在计算机中的计算机程序有选择地激活或重配置的通用计算机。这样的计算机程序可以被存储在机器(例如,计算机)可读存储介质中,所述机器可读存储介质例如是(但不局限于)任意类型的盘(包括软盘、光盘、CD-ROM和磁光盘)、只读存储器(ROM)、随机访问存储器(RAM)、可擦除可编程ROM(EPROM)、电子可擦除可编程ROM(EEPROM)、磁或光卡、或者适合于存储电子指令并各自耦合到总线的任意类型的介质。
机器可读介质包括用于存储或发送具有机器(例如,计算机)可读形式的信息的任意机制。例如,机器可读介质包括:只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或其他形式的介质。
这里呈现的算法和显示没有固有地与任意特定的计算机或其他装置相关。可以使用具有根据这里的教导的程序的各种通用系统,或者可以证明,构造更加专门的装置来执行所需的及其实现的方法操作是很方便的。用于这些系统的各种所需结构将从以下描述中显现。
另外,本发明的实施例没有参考任意特定的编程语言来描述。将会意识到,各种编程语言否可以被用来实现这里所描述的本发明的实施例的教导。
本发明的很多方法可以利用数字处理系统(例如,传统的通用计算机系统)来执行。计算机系统例如可以是由位于加州Cupertino的Apple Inc.所生产的条目级Mac miniTM和用户级iMacTM桌上型模型、工作站级MacProTM塔以及MacBookTM和MacBook ProTM膝上型计算机。小型系统(例如,非常薄的膝上型计算机)可以受益于这里所描述的方法。为执行仅一种功能而设计或编程的专用计算机或者诸如蜂窝电话之类的用户电子设备也可以执行这里所描述的方法。
图1A示出可以用来提供强制空闲状态的典型计算机系统的一个示例。注意,虽然图1A示出计算机系统的各种组件,但是其意图不是要代表任意特定的体系结构,或者如此详细描述的组件互连方式不是与本发明密切相关。还将意识到,具有更少组件或更多组件的网络计算机和其他数据处理系统也可以被用于本发明。图1A的计算机系统例如可以是AppleMacintosh计算机。
如图1A所示,具有数据处理系统形式的计算机系统100包括总线102,该总线102被耦合到微处理器103和ROM 107和易失性RAM 105和非易失性存储器106。如图1A的示例所示,微处理器103被耦合到缓存存储器104,所述微处理器103例如可以是来自Motorola,Inc.或IBM的G3、G4或G5微处理器或者来自Intel的微处理器。总线102将这些各种组件互连在一起并且还将这些组件103、107、105和106互连到显示控制器和显示设备108以及诸如输入/输出(I/O)设备之类的外围设备,所述I/O设备可以是鼠标、键盘、调制解调器、网络接口、打印机、扫描仪、视频相机和本领预公知的其他设备。通常,输入/输出设备110通过输入/输出控制器109被耦合到系统。易失性RAM 105通常被实现为动态RAM(DRAM),其需要连续供电以刷新或维持存储器中的数据。非易失性存储器106通常是磁性硬盘驱动器或磁光驱动器或光学驱动器或DVD RAM或其它类型的存储器系统,其即使在从系统移走供电之后也能够维护数据。通常,非易失性存储器也将是随机访问存储器,但这不是必需的。虽然图1A示出非易失性存储器是直接耦合到数据处理系统的其余组件的本地设备,但是将会意识到,本发明可以利用远离系统的非易失性存储器,例如通过诸如调制解调器或以太网接口之类的网络接口耦合到数据处理系统的网络存储设备。总线102可以包括通过本领域公知的各种桥接器、控制器和/或适配器彼此连接的一个或多个总线。在一个实施例中,I/O控制器109包括用于控制USB(通用串行总线)外设的USB适配器和/或用于控制IEEE-1394外设的IEEE-1394总线适配器。
在本发明的一个实施例中,至少某些组件可以被主动抑制(throttle)以牺牲性能来供给功率用量。例如,微处理器103可以具有不同的内核电压和频率设置。在一个实施例中,系统100包括(一个或多个)被抑制的组件和(一个或多个)未被抑制的组件。被抑制的组件具有不同的抑制设置,在抑制设置上,组件工作但工作在不同的功率/性能级别(操作设置)上。例如,处理器可以被抑制为工作在不同的内核电压和内核频率上;盘驱动器可以被抑制为工作在不同的旋转速率上;总线可以被抑制在不同的频率上,等等。如果一组件没有被抑制来牺牲性能换取功率用量,该组件则被认为是未被抑制的组件。数据处理系统的被抑制的组件和未被抑制的组件在2005年8月25日递交的美国专利申请No.11/212,970中被更详细地描述,该在先申请通过引用被整体上结合于此。
在本发明的一个实施例中,系统100还包括耦合到(一个或多个)I/O控制器109的(一个或多个)功率用量传感器111。(一个或多个)传感器111可以包括一个或多个硬件和/或软件组件。在一个实施例中,传感器使用硬件来实现。可替换地,至少一些传感器可以使用软件来实现。例如,软件模块可被用来确定工作状态和用于从工作状态的预定功耗率计算实际功率用量的相应时间段,如在下述美国专利申请中更详细描述的:2005年8月25日递交的美国专利申请No.11/212,970;2006年1月5日递交的美国专利申请No.11/327,685;2006年1月5日递交的美国专利申请No.11/327,275;以及2006年1月5日递交的美国专利申请No.11/327,238,上述在先申请通过引用被整体上结合于此。
一个或多个传感器可以被用来监视系统100的一个或多个约束参数,如下面将更详细描述的。约束参数例如可以是可被耦合到系统100的电池(未示出)的功率、温度、电流、负载或者它们的任意组合。系统的一个或多个约束参数可以被监视来确定中央处理单元(CPU)(例如,微处理器103)和/或图形处理单元(GPU)(例如,显示控制器108的处理器)的功率用量。此外,一个或多个传感器可以被直接耦合到CPU和/或GPU(未示出)。
在一个实施例中,实际功率用量被(一个或多个)传感器111监视。例如,实际功率用量可以被周期性地测量来确定功率用量的历史。功率用量的历史可以被用来以某种平均方式确定功率用量。在一个实施例中,利用过去的功率用量的知识,系统可以动态地确定下一时间间隔的可允许的功率预算,如在2005年8月25日递交的美国专利申请No.11/212,970中更详细描述的,该在先申请通过引用被整体上结合于此。
在本发明的一个实施例中,微处理器103根据存储在缓存104、ROM107、RAM 105和/或非易失性存储器106中的指令来动态确定功率用量的预算并强制系统100进入空闲状态,如下面将更详细描述的。可替换地,系统100还包括微控制器(未示出),用于基于存储在缓存104、ROM107、RAM 105、非易失性存储器106中的信息或它们的任意组合来动态确定功率用量的预算并确定何时以及如何强制系统进入强制空闲状态,如下面将更详细描述的。在一个实施例中,数据处理系统100可以包括多个中央处理单元(CPU)/微处理器。
从本说明将会发现,本发明的各个方面可以至少部分体现为软件。就是说,这些技术可以在计算机系统或其他数据处理系统中响应于它的处理器(例如微处理器或微控制器)而执行,所述处理器执行包含在存储器中的指令序列,所述存储器例如是ROM 107、易失性RAM 105、非易失性存储器106、缓存104或其他存储设备或远程存储设备。在各个实施例中,可以将硬连线的电路与用于实现本发明的软件指令结合使用。因此,这些技术并不局限于硬件电路和软件的任意特定组合,也不局限于由数据处理系统执行的指令的任意特定源。另外,贯穿本说明,各种功能和操作被描述为由软件代码执行或引起以简化描述。但是,本领域技术人员将意识到,这些表示的意思是各种功能是通过处理器(例如微处理器103或微控制器)执行代码而导致的。
机器可读介质可以被用于存储软件和数据,所述软件和数据在被数据处理系统执行时指示系统执行本发明的各种方法。该可执行软件和数据可以被存储在各种空间中,例如包括如图1A所示的ROM 107、易失性RAM 105、非易失性存储器106和/或缓存104。该软件和/或数据的多部分可以被存储在这些存储设备中的任意一种中。
因此,机器可读介质包括以机器(例如,计算机、网络设备、个人数字助理、制造工具、具有一个或多个处理器的集合的任意设备、等等)可访问的形式提供(即,存储和/或发送)信息的任意机制。例如,机器可读介质包括可记录/不可记录的介质(例如,只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪存设备;等等)。
本发明的方法可以使用专用硬件(例如,使用现场可编程门阵列,或专用集成电路)或在存储在机器可读介质中的程序指令控制下的共享电路(例如,微处理器或微控制器)来实现。本发明的方法还可以被实现为在数据处理系统(例如,图1A的系统100)上执行的计算机指令。
图1B示出用于提供强制空闲状态的系统120的另一实施例。系统120具有多个子系统。在一个实施例中,多个子系统包括处理器,例如CPU、GPU、微控制器等等。如图1B所示,系统120包括:子系统121(例如CPU)子系统122(例如可以与显示设备耦合的GPU);以及一个或多个子系统129(例如,耦合到一个或多个I/O设备的一个或多个I/O控制器);以及耦合到总线126的微控制器127。此外,系统120包括易失性RAM 124、非易失性存储器130(例如硬盘驱动器)、ROM 123以及耦合到子系统121(其耦合到总线126)的缓存存储器125。
由这些子系统中的每一个的至少一个子集所使用的功率受例如微控制器(例如微控制器127)所控制,并且由每个子系统所使用的最大功率通过整个系统在一平均时段期间的动态功率历史所确定,如2005年8月25日递交的美国专利申请No.11/212,970中更详细描述的,该在先申请通过引用被整体上结合于此。这种功率控制至少在某些环境中允许较高性能的操作。即,如果在平均时段期间存在相当低的功率操作,即,空闲时间,则子系统可以在相当高功率的突发中工作,如在2005年8月25日递交的美国专利申请No.11/212,970中更详细描述的,该在先申请通过引用被整体上结合于此。
在一个实施例中,系统的功率基于负载简档(load profile)在子系统之间重新分发,如在下述美国申请中更详细描述的:2006年1月5日递交的美国专利申请No.11/327,685;2006年1月5日递交的美国专利申请No.11/327,275;以及2006年1月5日递交的美国专利申请No.11/327,238,上述在先申请通过引用被整体上结合于此。
一个或多个传感器128被耦合到子系统121、122、129以及微控制器127,如图1B所示。传感器可以被用来监视、测量和/或估计一个或多个约束参数(例如,功率、温度、电流、电池负载或它们的任意组合),以确定工作在一定频率和一定电压上的一个或多个子系统的实际功率用量。传感器128进而可以将所确定功率用量值提供到微控制器127,该微控制器127可以基于一个或多个感测到的参数来强制系统和/或子系统进入空闲状态,如下面将更详细描述的。上面针对图1A更详细地描述了系统120的组件,包括处理器、微控制器、总线、I/O控制器、I/O设备、存储器、传感器。在一个实施例中,一个多个查找表被存储在存储器126、124和125中的任意一个中或者存储在微控制器127中的存储器中,所述查找表包括关于何时以及怎样强制系统和/或子系统进入空闲状态的信息,如下面将更详细描述的。在一个实施例中,微控制器127执行下面参考图4-19所描述的方法。在另一实施例中,子系统121而非微控制器127执行下面参考图4-19所描述的方法。在又一实施例中,子系统121和微控制器127一起执行下面参考图4-19所描述的方法。
图2示出提供强制空闲状态的系统的一个实施例。如图2所示,系统200包括耦合到互连206(例如总线)的子系统A 201(例如CPU)、子系统B 202(例如可以与显示设备耦合的GPU)、子系统C 204(例如存储器)、子系统D 205(例如微处理器)和一个或多个子系统N 203(例如耦合到一个或多个I/O设备的一个或多个I/O控制器)、以及功率管理器208(例如,微控制器)、系统管理控制器(“SMC”)。子系统C204可以是易失性RAM、非易失性存储器(例如硬盘驱动器)和/或ROM。如上参考图1A和1B所描述的一个或多个测量设备207(例如一个或多个传感器)被耦合到子系统201-205,并被耦合到功率管理器208,如图2所示。功率查找表209被耦合到功率管理器208,如图2所示,该功率查找表209可以包括一个或多个查找表,这些查找表包含关于如何以及何时进入强制空闲状态的信息,如下面将参考图4-19所描述的。上面已经参考图1A和1B详细描述了系统200的组件,包括处理器、微控制器、总线、I/O控制器、I/O设备、存储器、传感器。在一个实施例中,与计算机系统的各种性能设置相对应的一个或多个功率查找表可以被子系统201(或由设计和/或制造过程中的测试设备)生成,并被存储在存储器204和/或位于功率管理器208中的存储器中。包括计算机系统的各种性能设置的一个或多个功率查找表可以被使用,如在下述美国申请中更详细描述的:2005年8月25日递交的美国专利申请No.11/212.970;2006年1月5日递交的美国专利申请No.11/327,685;2006年1月5日递交的美国专利申请No.11/327,275;以及2006年1月5日递交的美国专利申请No.11/327,238,上述在先申请通过引用被整体上结合于此。在一个实施例中,功率管理器208执行下面参考图4-19所描述的方法。在另一实施例中,子系统201执行下面参考图4-19所描述的方法。
图3A是示出数据处理系统的功率操作点的一个实施例的示图。例如,该数据处理系统可以是图1A、图1B和图2中所描绘的数据处理系统中的任意一个。如图3A所示,数据处理系统的功率操作点(例如,功率操作点301-304)对应于数据处理系统的一对操作频率和电压。操作频率和电压例如可以是数据处理系统的微处理器的内核电压核频率。如图3A所示,最高功率操作点,例如操作点PH(302)代表数据处理系统所消耗的最高功率。由数据处理系统所消耗的最高功率可以基于一个或多个系统约束参数(例如功率、温度、电流、电池负载等等)来确定。最高功率操作点PH(302)可以对应于一对最高操作频率(fH)和电压(VH)。如图3A所示,中间功率操作点,例如操作点PN(303)代表数据处理系统所消耗的中间功率。中间功率操作点PN(303)对应于一对中间操作频率(fN)和电压(VN)。通常,如果数据处理系统的功率需要减小到低于由最小(最低)工作电压VL所定义的功率状态之下的功率状态,则可以减小数据处理系统的操作频率。数据处理系统的操作频率(fN)可以按比率X减小,其中X小于1。例如,如果电路在最低电压的操作频率(fN)为1GHz,则按X=20%的减小将操作频率改变到800MHz(第一情况)。这具有将动态功率减小20%的净效果,但对于泄漏功率没有效果。
数据处理系统的最小功率有效操作点是由数据处理系统的最低电压以及数据处理系统在工作在最低电压时被设计为持续表现的最高频率来确定的。该最小功率有效操作点通常被称为低频率模式(“LFM”),该最小功率有效操作点例如是对应于最低(最小)操作电压(VL)和相应的最高(最大)操作频率(FL)的操作点PL(301)。通常,最低操作电压VL不会大于数百毫瓦。通常,数据处理系统可以仅将可管理的功率减小到最小功率操作点(例如PL(301)),因为数据处理系统在该点之下不具有实际操作点;由于数据处理系统已经在最小电压上,其唯一替换方式是降低操作频率,该替换方式效率较低并且可能甚至不起作用。
通常,为了在数据处理系统没有任务要执行时节省功率,数据处理系统完全停止时钟(零频率)。这具有将动态功率减小到零的效果。除了停止时钟之外,数据处理系统还可以移动到更低的电压电平。这具有呈指数减小泄漏功率的效果,如图3B所示,图3B示出泄漏功率(Pleak)与电源电压的关系。该操作点通常被称为空闲状态。
至少这里描述的某些实施例通过使用智能决定的强制空闲操作来允许系统工作在最小功率操作点(例如PL301)以下,在至少某些实施例中,该智能决定的强制空闲操作基于实际空闲时间和目标空闲时间之间的比较(如下面将描述的图18和19所示)来强制进入空闲状态(即使有任务要执行,例如有等待被执行的软件指令);这种强制的空闲操作是智能的,因为可能存在比较结果显示空闲状态不应被强制的时间(例如,当已经存在充分的空闲时间时)。
在一个实施例中,通过在最低功率操作点处连续操作数据处理系统,并且通过对于该操作时间(例如,一个时钟周期)的某一百分比(例如,20%)强制该数据处理系统进入空闲状态,创建了低于最小功率操作点的额外操作点。具有20%强制空闲的最小操作点(该时间的20%中系统被强制空闲)的有效功率是最小操作点的功率的0.8倍加上空闲状态的功率的0.2倍。由于空闲状态的功率非常低,该具有智能决定的强制空闲的新操作点代表了功率比最小操作点小的一个点。
在一个实施例中,强制的空闲状态是在数据处理系统的任意功率操作点上提供的。例如,强制的空闲状态可以在功率操作点301、302和303中的任意一个上提供,并且这些强制空闲状态创建了可能在某些实施例中有用的中间点。
在实现强制空闲方案时存在很多重要考虑。某些软件任务(例如,多媒体回放)需要实时响应并且可能不能承受延迟。很多硬件设备需要它们的软件驱动器在固定的等待时间之内对它们作出响应,否则可能导致不正确的操作。某些软件线程(例如实时任务、中断)无法经受强制空闲操作。强制空闲的适当实现方式需要将这些问题纳入考量(但是这不是取决于所实现的系统的需求的要求)。在一个实施例中,操作系统(OS)内核对例如哪些线程可以被保持关断(off)保持跟踪,这要求独立于强制空闲设置的立即操作。该内核负责保证在存在实时线程时维持长时间的平均强制空闲百分比。在一个实施例中,在内核中的调度器对在数据处理系统上运行的所有进程/线程执行强制空闲操作。在一个实施例中,操作系统(“OS”)调度器机制被用于提供强制空闲。
图4是示出根据本发明的一个实施例,在数据处理系统持续操作时强制该系统进入空闲状态的示图。如图4所示,数据处理系统在第一部分(例如,操作时间(例如时间T3(401))的部分T2(403))被强制进入空闲状态S2(406),而在第二部分(例如,操作时间(例如时间T3(401))的部分T1(402)),系统持续工作在全(例如100%)操作状态S1(407)中。在一个实施例中,数据处理系统在任意相应的操作电压所允许的操作频率下持续工作在状态S1(407)中。在一个实施例中,数据处理系统在以最低电压所允许的最大频率持续工作在工作状态S1(407)中时被强制进入空闲状态。如图4所示,数据处理系统在时间t1、t2、t3和t4被强制进入空闲状态。
图5A是示出根据本发明的一个实施例在数据处理系统持续操作时强制该系统进入空闲状态的示图。如图5A所示,当系统以某一操作频率和电压持续工作时间的一部分(例如,时间T1(506)的部分502)时,基于一个或多个约束参数,系统被强制进入空闲状态达时间的另一部分(例如,时间T1的部分504)。在一个实施例中,时间T1是数据处理系统的时钟周期(例如T~1/f)。在一个实施例中,空闲状态防止系统执行指令。在一个实施例中,时钟在系统处于空闲状态时停止(操作频率为零)。如图5A所示,强制系统处于空闲状态的调制比被保持恒定,从而使得系统在空闲状态所花费的时间部分和系统在全操作状态所花费的时间部分保持基本相同。
图5B是示出根据本发明的另一实施例在数据处理系统持续操作时强制该系统进入空闲状态的示图。如图5B所示,当系统处于强制空闲状态时,在时间t1接收到中断1(508)。系统响应于中断1被切换回到工作在以某一频率和电压的全(例如100%)操作状态中,如图5B所示。在一个实施例中,响应于中断从空闲状态到全操作状态的切换是基于实际空闲时间和目标空闲时间来执行的,如下面将更详细描述的。在服务了中断1之后,系统被切换回到强制空闲状态。系统可以保持在强制空闲状态中持续空闲时间512,如图5B所示。在一个实施例中,空闲时间512可以基于系统约束参数并且基于系统为了服务中断1而在全操作状态中花费了多少时间(时间510)来确定。如图5B所示,在系统处于空闲状态时,在时间t2接收到中断2。系统响应于中断2被切换回到工作在全(例如100%)操作状态中。系统可以保持在全操作状态中持续时间518,如图5B所示。在一个实施例中,时间518是基于系统约束参数和所累积的空闲时间量来确定的。在一个实施例中,所累积的空闲时间是在数据处理系统的一个或多个时钟周期上确定的。如图5B所示,在服务了中断之后,系统被强制回到空闲状态达时间520,然后被切换到全操作状态以在时间522期间进行操作,该时间522可以由系统约束参数和所累积的空闲时间来确定,如下所述。就是说,系统被允许在强制空闲状态期间的任何时候基于热/功率约束而对中断进行服务以操作高优先级的任务,所述热/功率约束对系统的响应性是非常重要的。
另一重要考量是强制空闲和数据处理系统在连续的强制空闲状态中可以花费的最大时间的调制比。如果用于使能和禁止指令执行(例如,为了执行计算)的调制比过快,则将花费极大的功率和计算能量来管理强制空闲循环的开销。如果用于使能和禁止指令执行的调制比过慢,则较高的空闲百分比将导致相当长的强制空闲时段。在一个实施例中,提供如下控制:较低百分比的强制空闲时段全部以基本相同的比率运行,如下面将更详细描述的。在一个实施例中,当强制空闲百分比达到空闲时间处于所需的最大值的阈值时,空闲比率开始增大,以使得永远不会超过最大空闲时间,如下面将更详细描述的。
图7是强制数据处理系统进入空闲状态的方法700的一个实施例的流程图。方法开始于操作701,该操作包含监视工作在第一频率和第一电压的数据处理系统的约束参数。该约束参数可以是数据处理系统所消耗的功率、数据处理系统的温度、提供到数据处理系统的电流、被耦合以向数据处理系统供电的电池的负载、等等。约束参数可以使用如上所述的一个或多个传感器来监视和测量。方法700继续到操作702,该操作包含当基于约束参数系统持续工作在第二频率和不同于(低于)第一电压的第二电压时,强制系统进入空闲状态。在一个实施例中,强制数据处理系统进入空闲状态包含防止指令被系统执行。在一个实施例中,当系统处于空闲状态时的时间段是分散的,和/或被当系统工作在较高性能水平时的时间段所交织,从而使得系统所消耗的平均功率不会超过从系统的功率和/或热约束所确定的最大平均功率。就是说,强制空闲状态的占空操作(dutycycling)可以按照如下速率来执行:该速率使得用户不需要知道它们的机器发生了什么,如下面将更详细描述的。在一个实施例中,强制空闲状态的占空操作完全在频域中执行。强制空闲操作机制将数据处理系统的功率管理扩展到超出最小功率操作点,例如图3A所示的PL(301)。
图8是强制数据处理系统进入空闲状态的方法800的一个实施例的流程图。方法开始于操作801,该操作包含监视工作在第一频率和第一电压的数据处理系统的约束参数(例如,实际功率、温度、电流、电池负载等约束参数或它们的任意组合)。方法继续到操作802,该操作包含判断约束参数是否大于第一约束参数阈值。约束参数阈值可以与数据处理系统的规范功率、温度、电池负载、电流相关联。约束参数阈值可以是针对数据处理系统的多个子系统(例如图1B和2所示的子系统)有效的最坏情况值。在一个实施例中,约束参数阈值可以例如是从多个测量样本的统计分布曲线确定的最坏情况功率、温度、电流或电池负载值。在一个实施例中,测量出的约束参数(例如实际测得的功率、温度、电流、电池负载或它们的任意组合)被与约束参数阈值相比较,以判断测量出的约束参数是否大于或等于第一约束参数阈值。如果约束参数不大于或等于第一约束参数阈值,则在操作803判断约束参数是否小于第二约束参数阈值。第二约束参数阈值可以通过从第一约束参数阈值减去一滞后量(hysteresis)来确定。如果约束参数小于第二约束参数阈值,则可以在操作804增大操作点(例如,频率、电压),然后方法800返回到操作801。如果约束参数不小于第二约束参数阈值,方法则返回操作801。如果约束参数大于或等于第一约束参数阈值,则在操作806判断数据处理系统的第一操作电压和/或第一操作频率是否可以被进一步降低。接下来,如果确定可以降低第一操作电压和/或第一操作频率,则在操作805降低操作功率点(例如频率和/或电压),然后方法800返回操作801。例如,如果第一操作电压对应于中间操作电压(例如VN)和/或第一操作频率对应于中间操作频率(例如fN),如图3A所示,则可以通过将电压和/或频率例如降低到最低操作频率fL和/或电压VL来向下移动操作功率点。如果确定第一操作电压和/或第一操作频率无法降低,则在数据处理系统持续操作在第一操作频率和第一操作电压的同时在操作807强制系统进入空闲状态。在一个实施例中,第一操作电压是否是最小操作电压被判断。在一个实施例中,如果第一操作电压是最小操作电压并且监视到的实际约束参数大于约束参数阈值,则强制系统进入空闲状态。在一个实施例中,强制数据处理系统进入空闲状态包含防止指令被数据处理系统所执行。在一个实施例中,如果系统没有工作在最小电压并且监视到的实际约束参数大于约束参数阈值,则降低系统的操作点(例如,频率和/或电压)。
在一个实施例中,工作在第一频率和第一电压下的系统的空闲状态的百分比是基于约束参数来确定的。例如,空闲状态的百分比可以基于约束参数来减小或增大。
图9是基于约束参数强制数据处理系统进入空闲状态的方法900的一个实施例的流程图。方法900开始于操作901,该操作包含监视数据处理系统的约束参数(例如,实际使用的功率、实际温度、电流、电池负载或它们的任意组合),如上所述。在操作902,判断约束参数是否大于或等于约束参数阈值,如上所述。在操作904,如果确定约束参数大于或等于约束参数阈值,则增大强制空闲状态相对于总操作时间的百分比(部分)。如果确定约束参数不大于或等于约束参数阈值,则可以在操作903可选地增大强制空闲状态的百分比。
返回参考图4,基于约束参数,空闲状态部分T2被增大到T2′(405),全操作状态部分T1被减小到T1′(404)。
图6示出包括关于空闲状态的信息的表600的一个实施例。如图6所示,表600包括如下列:空闲比、空闲速率和空闲时间。在一个实施例中,较低百分比(例如,最大30%)的强制空闲周期全部以相同速率运行。当强制空闲百分比达到使得空闲状态所花费的时间(空闲时间)处于所需最大值的阈值时,则空闲速率开始增大,以使得不会超过最大空闲时间。如图6所示,当空闲比小于或等于30时,空闲速率可以维持在恒定值30000微秒,并且空闲时间随空闲比增大而增大。如图6所示,如果空闲比变为大于30,则空闲速率增大,而空闲时间可以保持在10000微秒的恒定值。
图12是用于管理数据处理系统的功率到目标功率的方法1220的一个实施例的流程图。方法1220开始于1200。在1201,执行初始化,其中积分误差(Integral Error)被设置为零(“Integral Error=0”)。在一个实施例中,积分误差被定义为数据处理系统的测得功率和目标功率之差。在操作1202,方法1200等待下一样本间隔以测量数据处理系统的功率。在操作1203,数据处理系统的目标功率和测得功率被接收。在一个实施例中,功率是使用一个或多个传感器(如上所述)在样本时间间隔期间测得的。数据处理系统的目标功率基于一个和多个系统约束参数和数据处理系统的所需性能来确定,如上所述。在操作1204,在样本间隔期间测得的功率与数据处理系统的目标功率之差(“误差”)被确定。在操作1205,确定累积误差(“积分误差”)。在一个实施例中,在多个样本间隔上累积的积分误差被确定。在一个实施例中,在数据处理系统的一个或多个时钟周期上累积的积分误差被确定。在操作1206,确定时间(例如,数据处理系统的一个或多个时钟周期和/或样本间隔)上的积分功率(“PI”)。在一个实施例中,PI是通过使用以下公式将控制系统增益“G-term”应用到误差和积分误差来计算的:
PI=Gp*Error+Gi Integral*Error, (1)
其中,Gp可以与对在样本间隔上确定误差的加权因子相关联,Gi与对积分误差的加权因子相关联。
在操作1207,判断积分功率(“PI”)是否大于上阈值(“+阈值”)。如果PI大于上阈值,则在操作1209减小操作功率点。如果PI不大于上阈值,则在操作1208判断PI是否小于下阈值。如果PI小于下阈值,则在操作1210增大操作功率点。
图15是无需强制空闲而降低操作功率点(1501)的方法1500的一个实施例的流程图。在操作1502,判断频率和/或电压是否在最低(最小)水平。如果频率和/或电压不在最低水平,则在操作1503减小频率和/或电压。如果频率和/或电压在最低水平,方法1500则在1504结束。但是,在很多情况下,该最低水平可能不足够,并且可以使用智能的强制空闲操作来获得在该最低水平上的更好性能。
图16是包括强制空闲的降低操作功率点(1601)的方法1600的一个实施例的流程图。在操作1602,判断频率和/或电压是否在最低水平。如果频率和/或电压不在最低水平,则在操作1603减小频率和/或电压。如果频率和/或电压在最低水平,则在操作1604判断强制空闲百分比是否在最大空闲百分比水平。如果强制空闲百分比不在最大空闲百分比水平,则在操作1605增大强制空闲百分比。方法1600在1606结束。
图13是无需强制空闲而增大操作功率点(1301)的方法1300的一个实施例的流程图。在操作1303,判断频率和/或电压是否在最高(最大)水平。如果数据处理系统频率和/或电压不在最大水平,则方法继续到操作1303,该操作包含增大数据处理系统频率和/或电压。如果频率和/或电压在最高水平,则方法1300结束。
图14是包括强制空闲的增大操作功率点(1401)的方法1400的一个实施例的流程图。在操作1402,判断强制空闲百分比是否为0%。如果强制空闲百分比不是0%,则在操作1403减小强制空闲百分比。如果强制空闲百分比是0%,则在操作1404判断频率和/或电压是否在最高水平。如果频率和/或电压不在最高水平,则在操作1405增大频率和/或电压。方法在1406结束。
图17是为数据处理系统提供强制空闲状态的方法1700的一个实施例的流程图。如图17所示,方法1700开始于操作1701,该操作包括监视数据处理系统的一个或多个约束参数,如上所述。方法继续到操作1702,该操作包含基于这一个或多个约束参数,强制数据处理系统在时间的第一部分中进入空闲状态,而允许系统在时间的第二部分中进行操作。该强制是响应于目标空闲时间和实际空闲时间之间的比较的。
图18是从强制空闲状态进行切换的方法1800的一个实施例的流程图。方法1800开始于操作1801,该操作包含基于数据处理系统的一个或多个约束参数确定目标强制空闲时间。例如,目标强制空闲时间可以通过将操作周期(例如,数据处理系统的时钟周期)乘以空闲比来确定。在一个实施例中,空闲比与空闲时间相对于总操作时间的部分相关联,如上所述。在一个实施例中,空闲比是基于系统功率/热约束和系统性能来确定的。方法继续到操作1802,该操作包含监视数据处理系统已经在空闲状态中花费的实际时间(“实际空闲时间”)。在一个实施例中,实际空闲时间由一个或多个传感器测量并被存储在系统的存储器中,用来提供在系统的一个或多个时钟周期上的累积空闲时间。在一个实施例中,累积空闲时间是在系统的一个或多个时钟周期上确定的。
在操作1803,累计的空闲时间基于实际空闲时间被确定。在操作1804,判断累积的空闲时间是否大于或等于目标空闲时间。如果累积空闲时间大于或等于目标空闲时间,则允许系统基于目标空闲时间和累积空闲时间、在操作1805从空闲状态切换到全操作状态持续该时间的一部分。在一个实施例中,系统被从空闲状态切换以持续操作工作时间的一部分。在一个实施例中,空闲状态防止数据处理系统执行等待被执行的软件指令。在一个实施例中,数据处理系统的存储器存储一个或多个查找表,这些查找表包括与一个或多个约束参数相关联的目标空闲时间。
图19是提供强制空闲状态的方法1900的一个实施例的流程图。方法1900开始于1901,该操作包含开始强制空闲状态。在操作1902,判断数据处理系统被允许运行的时间与强制空闲时间之比(“操作比”)是否小于100。如果操作比小于100,则在操作1903使用以下公式确定空闲百分比(部分):
max_idle=((100-操作比)*Period)/100, (2)
其中,Period代表系统的时钟周期T=1/f,其中f是系统的频率。
接下来,在操作1905判断空闲百分比是否大于最近空闲(“last_idle”)。在一个实施例中,最近空闲是从先前的时间(例如,系统的时钟周期)确定的。如果max_idle大于last_idle,则在操作1907通过根据以下公式考虑到最近空闲来计算累积空闲:
max_idle=max_idle-last_idle, (3)
如果max_idle不大于last_idle,则在操作1906将max_idle设置为0。然后,方法1900继续到操作1908,该操作包含根据以下公式确定允许数据处理系统进行操作的周期的结尾:
period_end=now+Period, (4)
其中,“now”是当前时间,“Period”是时钟周期。
接下来,在操作1909,根据以下公式确定目标空闲时间(“idle_goal”):
idle_goal=accumulated_idle+最大空闲, (5)其中,“accumulated_idle”是从一个或多个先前时间(例如,时钟周期)累积的空闲时间的总量,“最大空闲”是最近的空闲时间。
此外,在操作1910,判断累积空闲是否小于idle_goal。如果累积空闲小于idle_goal,则只允许高优先级线程在操作1914运行。数据处理系统(例如CPU)在操作1915被强制进入空闲状态持续最多max_idle时间。在一个实施例中,中断使系统退出空闲状态。在考虑到中断的情况下,针对数据处理系统在强制空闲状态中所花费的时间量对累积空闲进行更新。然后,方法1900返回操作1910。如果累积空闲不小于idle_goal,则在操作1911将空闲开始时间设置为accumulated_idle。方法1900继续到操作1912,该操作包含允许任何线程运行,直到在操作1908所确定的period_end。在操作1913,根据以下公式确定last_idle:
last_idle=accumulated_idle-idle_start, (6)
然后,方法1900返回操作1902。
如图18和19所示的智能强制空闲操作可以与在如下美国申请中所描述的功率和/或热管理技术中的一种或多种结合执行:2005年8月25日递交的美国申请No.11/212,970和/或2006年1月5日递交的美国申请No.11/327,685。例如,智能强制空闲操作可以通过对功率用量取平均来使用,以允许动态确定针对未来时间间隔的可允许的功率预算;图10和11是来自美国申请No.11/212,970,并且与使用功率用量的平均的实施例相关,并且这些实施例和附图在该申请中有进一步描述。
在前述说明书中,已经参考特定示例性实施例描述了本发明的实施例。将会发现,在不脱离本发明的更广阔精神和范围的情况下可以作出各种修改。因此,认为说明书和附图是示例性而非限制性的。
Claims (13)
1.一种用于数据处理系统的机器实现的方法,包括:
监视系统的一个或多个约束参数;
基于所述一个或多个约束参数,在一时间的第一部分中强制所述系统进入空闲状态,而在所述时间的第二部分中允许所述系统持续操作,其中所述强制是响应于目标空闲时间与实际空闲时间的比较来执行的;
响应于确定一个或多个系统操作参数大于相应的一个或多个预定值来调节所述一个或多个系统操作参数;以及
响应于确定所述系统在所述空闲状态中执行的时间的百分比小于一最大值来调节所述目标空闲时间。
2.如权利要求1所述的机器实现的方法,还包括:
基于一个或多个系统约束参数,确定所述系统的所述目标空闲时间;
监视所述实际空闲时间,并且其中所述实际空闲时间在一时间段上被累积。
3.如权利要求1所述的机器实现的方法,其中所述空闲状态防止所述系统执行指令,并且其中,如果当作决定时所述实际空闲时间大于所述目标空闲时间,则作出避免空闲时间的决定。
4.如权利要求1所述的机器实现的方法,其中所述实际空闲时间和所述目标空闲时间基于一共同的时间段。
5.如权利要求1所述的机器实现的方法,还包括:
接收中断;以及
响应于所述中断从所述空闲状态切换到操作状态。
6.如权利要求5所述的机器实现的方法,其中所述监视在确定所述实际空闲时间时考虑到中断。
7.一种数据处理系统,包括:
用于监视系统的一个或多个约束参数的装置;以及
用于基于所述一个或多个约束参数,在一时间的第一部分中强制所述系统进入空闲状态,而在所述时间的第二部分中允许所述系统持续操作的装置,其中所述强制是响应于目标空闲时间与实际空闲时间的比较来执行的;
用于响应于确定一个或多个系统操作参数大于相应的一个或多个预定值来调节所述一个或多个系统操作参数的装置;以及
用于响应于确定所述系统在所述空闲状态中执行的时间的百分比小于一最大值来调节所述目标空闲时间的装置。
8.如权利要求7所述的数据处理系统,还包括:
用于基于所述一个或多个约束参数,确定所述系统的所述目标空闲时间的装置;
用于监视所述实际空闲时间的装置,并且其中所述实际空闲时间在一时间段上被累积。
9.如权利要求7所述的数据处理系统,其中所述空闲状态防止所述系统执行指令,并且其中,如果当作决定时所述实际空闲时间大于所述目标空闲时间,则作出避免空闲时间的决定。
10.如权利要求7所述的数据处理系统,其中所述实际空闲时间和所述目标空闲时间基于一共同的时间段。
11.如权利要求7所述的数据处理系统,还包括:
用于接收中断的装置;以及
用于响应于所述中断从所述空闲状态切换到操作状态的装置。
12.如权利要求11所述的数据处理系统,其中所述用于监视的装置在确定所述实际空闲时间时考虑到中断。
13.如权利要求8所述的数据处理系统,还包括:
用于存储一个或多个查找表的装置,所述查找表包括与所述一个或多个约束参数相关联的所述目标空闲时间。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/970,483 US7949889B2 (en) | 2008-01-07 | 2008-01-07 | Forced idle of a data processing system |
US11/970,483 | 2008-01-07 | ||
PCT/US2008/014036 WO2009088451A2 (en) | 2008-01-07 | 2008-12-23 | Forced idle of a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102232205A CN102232205A (zh) | 2011-11-02 |
CN102232205B true CN102232205B (zh) | 2015-03-25 |
Family
ID=40845537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880124205.3A Active CN102232205B (zh) | 2008-01-07 | 2008-12-23 | 数据处理系统的强制空闲 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7949889B2 (zh) |
JP (1) | JP5592269B2 (zh) |
KR (1) | KR101148642B1 (zh) |
CN (1) | CN102232205B (zh) |
WO (1) | WO2009088451A2 (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520745B (zh) * | 2008-02-27 | 2012-03-28 | 联想(北京)有限公司 | 数据处理设备及其状态切换方法 |
CN101965547B (zh) * | 2008-03-03 | 2013-08-21 | 惠普开发有限公司 | 基于软件的功率封顶 |
US8315746B2 (en) | 2008-05-30 | 2012-11-20 | Apple Inc. | Thermal management techniques in an electronic device |
US8306772B2 (en) * | 2008-10-13 | 2012-11-06 | Apple Inc. | Method for estimating temperature at a critical point |
US8291421B2 (en) * | 2008-11-19 | 2012-10-16 | Sharp Laboratories Of America, Inc. | Idle task monitor |
CN102395937B (zh) * | 2009-04-17 | 2014-06-11 | 惠普开发有限公司 | 功率封顶系统及方法 |
US8578384B2 (en) * | 2009-10-28 | 2013-11-05 | Freescale Semiconductor, Inc. | Method and apparatus for activating system components |
US8356194B2 (en) * | 2010-01-28 | 2013-01-15 | Cavium, Inc. | Method and apparatus for estimating overshoot power after estimating power of executing events |
US8667308B2 (en) * | 2010-06-18 | 2014-03-04 | Apple Inc. | Dynamic voltage dithering |
US8364999B1 (en) * | 2010-06-23 | 2013-01-29 | Nvdia Corporation | System and method for processor workload metering |
EP2661856A4 (en) * | 2011-01-07 | 2014-07-16 | Nokia Corp | METHOD AND DEVICE FOR STATISTIC HANDLING OF ROLLERS |
US9069555B2 (en) * | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
TWI486763B (zh) * | 2011-07-18 | 2015-06-01 | Wistron Corp | 電腦系統之過熱保護方法及相關裝置 |
US8595525B2 (en) * | 2011-09-22 | 2013-11-26 | Qualcomm Incorporated | On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors |
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 |
WO2013119226A1 (en) * | 2012-02-08 | 2013-08-15 | Intel Corporation | Dynamic cpu gpu load balancing using power |
US8943341B2 (en) | 2012-04-10 | 2015-01-27 | International Business Machines Corporation | Minimizing power consumption for fixed-frequency processing unit operation |
US9201477B2 (en) | 2012-05-29 | 2015-12-01 | Apple Inc. | Power management with thermal credits |
JP6123442B2 (ja) | 2013-04-09 | 2017-05-10 | オムロン株式会社 | センサ装置、計測システム、および計測方法 |
US9395784B2 (en) * | 2013-04-25 | 2016-07-19 | Intel Corporation | Independently controlling frequency of plurality of power domains in a processor system |
JP6162329B2 (ja) * | 2013-06-28 | 2017-07-12 | インテル コーポレイション | マルチコンポーネントプラットフォームにおけるアクティビティ管理のための技術およびシステム |
JP6179276B2 (ja) * | 2013-08-28 | 2017-08-16 | 富士通株式会社 | 情報処理装置及び電源監視回路 |
US9671844B2 (en) | 2013-09-26 | 2017-06-06 | Cavium, Inc. | Method and apparatus for managing global chip power on a multicore system on chip |
KR102164099B1 (ko) * | 2014-03-28 | 2020-10-12 | 삼성전자 주식회사 | 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치 |
US9378536B2 (en) * | 2014-04-30 | 2016-06-28 | Qualcomm Incorporated | CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing |
US10203746B2 (en) | 2014-05-30 | 2019-02-12 | Apple Inc. | Thermal mitigation using selective task modulation |
US10095286B2 (en) | 2014-05-30 | 2018-10-09 | Apple Inc. | Thermally adaptive quality-of-service |
US9760158B2 (en) | 2014-06-06 | 2017-09-12 | Intel Corporation | Forcing a processor into a low power state |
KR102218699B1 (ko) * | 2014-09-15 | 2021-02-22 | 삼성전자주식회사 | 스마트 카드의 동작 방법 및 이를 포함하는 스마트 카드 시스템의 동작 방법 |
US9618998B2 (en) * | 2015-06-10 | 2017-04-11 | International Business Machines Corporation | Identification of idle servers using power consumption |
US10324519B2 (en) * | 2016-06-23 | 2019-06-18 | Intel Corporation | Controlling forced idle state operation in a processor |
US10216256B2 (en) * | 2016-10-03 | 2019-02-26 | Microsoft Technology Licensing, Llc | Power conservation of computing components using forced idle state |
US10712800B2 (en) * | 2018-02-28 | 2020-07-14 | Advanced Micro Devices, Inc. | Aligning active and idle phases in a mixed workload computing platform |
US20210223805A1 (en) * | 2020-12-23 | 2021-07-22 | Intel Corporation | Methods and apparatus to reduce thermal fluctuations in semiconductor processors |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1610872A (zh) * | 2001-09-25 | 2005-04-27 | 英特尔公司 | 提供用户优先级模式的方法和装置 |
US7139920B2 (en) * | 2003-03-13 | 2006-11-21 | Sun Microsystems, Inc. | Method and apparatus for supplying power in electronic equipment |
Family Cites Families (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US711178A (en) * | 1902-08-04 | 1902-10-14 | Kempshall Mfg Co | Playing-ball. |
US5167024A (en) * | 1989-09-08 | 1992-11-24 | Apple Computer, Inc. | Power management for a laptop computer with slow and sleep modes |
US7194646B1 (en) | 1989-10-30 | 2007-03-20 | Texas Instruments Incorporated | Real-time thermal management for computers |
US5396635A (en) * | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
WO1993007557A1 (en) * | 1991-10-02 | 1993-04-15 | Kabushiki Kaisha Toshiba | Electronic appliance automatically controlling electric power consumed by components in response to operation time inputted by user |
US5483656A (en) * | 1993-01-14 | 1996-01-09 | Apple Computer, Inc. | System for managing power consumption of devices coupled to a common bus |
EP0632360A1 (en) | 1993-06-29 | 1995-01-04 | Xerox Corporation | Reducing computer power consumption by dynamic voltage and frequency variation |
US5734585A (en) * | 1994-11-07 | 1998-03-31 | Norand Corporation | Method and apparatus for sequencing power delivery in mixed supply computer systems |
WO1996019764A1 (en) * | 1994-12-22 | 1996-06-27 | Intel Corporation | Power budgeting with device specific characterization of power consumption |
US5833365A (en) * | 1995-03-24 | 1998-11-10 | Interuniversitair Micro-Electronika Centrum Vzw | Method for local temperature sensing for use in performing high resolution in-situ parameter measurements |
US5520153A (en) * | 1995-04-28 | 1996-05-28 | Saturn Corporation | Internal combustion engine control |
US5745375A (en) * | 1995-09-29 | 1998-04-28 | Intel Corporation | Apparatus and method for controlling power usage |
US5963424A (en) * | 1995-11-07 | 1999-10-05 | Sun Microsystems, Inc. | Pulsar desk top system that will produce 500 watts of heat |
US5812860A (en) * | 1996-02-12 | 1998-09-22 | Intel Corporation | Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption |
JPH10268963A (ja) * | 1997-03-28 | 1998-10-09 | Mitsubishi Electric Corp | 情報処理装置 |
JP3637181B2 (ja) * | 1997-05-09 | 2005-04-13 | 株式会社東芝 | コンピュータシステムおよびそのクーリング制御方法 |
US6122758A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for mapping environmental resources to memory for program access |
US6415388B1 (en) * | 1998-10-30 | 2002-07-02 | Intel Corporation | Method and apparatus for power throttling in a microprocessor using a closed loop feedback system |
US6789037B2 (en) * | 1999-03-30 | 2004-09-07 | Intel Corporation | Methods and apparatus for thermal management of an integrated circuit die |
US6270252B1 (en) * | 1999-05-18 | 2001-08-07 | Alaris Medical Systems, Inc. | Predictive temperature measurement system |
US6477156B1 (en) * | 1999-06-29 | 2002-11-05 | Nokia Corporation | Apparatus, and associated method, for selectably operating radio device in alternate operating mode |
US6594771B1 (en) * | 2000-04-13 | 2003-07-15 | Hewlett-Packard Development Company, L.P. | Method and apparatus for managing power in an electronic device |
JP2002006991A (ja) * | 2000-06-16 | 2002-01-11 | Toshiba Corp | コンピュータシステム及び冷却ファンの回転数制御方法 |
DE10141626B4 (de) * | 2000-09-06 | 2007-08-09 | International Business Machines Corp. | Dynamische Angleichung von Leistungsvermögen und Strombedarf |
US6718474B1 (en) * | 2000-09-21 | 2004-04-06 | Stratus Technologies Bermuda Ltd. | Methods and apparatus for clock management based on environmental conditions |
US7174194B2 (en) * | 2000-10-24 | 2007-02-06 | Texas Instruments Incorporated | Temperature field controlled scheduling for processing systems |
JP4566392B2 (ja) * | 2000-11-16 | 2010-10-20 | レノボ シンガポール プライヴェート リミテッド | 温度制御に伴うアクションレベルを決定する電池、電池パック、コンピュータ装置、電気機器、および電池の温度制御方法 |
JP3746952B2 (ja) | 2000-12-07 | 2006-02-22 | Necパーソナルプロダクツ株式会社 | 情報処理装置 |
US7389293B2 (en) * | 2000-12-20 | 2008-06-17 | Oracle International Corporation | Remastering for asymmetric clusters in high-load scenarios |
US7000130B2 (en) * | 2000-12-26 | 2006-02-14 | Intel Corporation | Method and apparatus for thermal throttling of clocks using localized measures of activity |
JP3829916B2 (ja) * | 2000-12-28 | 2006-10-04 | 株式会社デンソー | マイクロコンピュータ |
JP2002222031A (ja) * | 2001-01-25 | 2002-08-09 | Toshiba Corp | 情報処理装置および同装置の消費電力制御方法 |
US6701272B2 (en) * | 2001-03-30 | 2004-03-02 | Intel Corporation | Method and apparatus for optimizing thermal solutions |
US6535382B2 (en) | 2001-04-12 | 2003-03-18 | Johnson Controls Technology Company | Cooling system for electronic equipment cabinets |
US7058824B2 (en) * | 2001-06-15 | 2006-06-06 | Microsoft Corporation | Method and system for using idle threads to adaptively throttle a computer |
US6904968B2 (en) * | 2001-09-14 | 2005-06-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for individually cooling components of electronic systems |
US7111178B2 (en) | 2001-09-28 | 2006-09-19 | Intel Corporation | Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system |
US7171570B2 (en) * | 2001-11-16 | 2007-01-30 | Apple Computer, Inc. | Method and apparatus for selectively increasing the operating speed of an electronic circuit |
US7096145B2 (en) | 2002-01-02 | 2006-08-22 | Intel Corporation | Deterministic power-estimation for thermal control |
US6925573B2 (en) * | 2002-01-02 | 2005-08-02 | Intel Corporation | Method and apparatus to manage use of system power within a given specification |
JP3692089B2 (ja) * | 2002-04-02 | 2005-09-07 | 株式会社東芝 | 消費電力制御方法及び情報処理装置 |
US20040003301A1 (en) * | 2002-06-28 | 2004-01-01 | Nguyen Don J. | Methods and apparatus to control processor performance to regulate heat generation |
US6986069B2 (en) * | 2002-07-01 | 2006-01-10 | Newisys, Inc. | Methods and apparatus for static and dynamic power management of computer systems |
US7243243B2 (en) * | 2002-08-29 | 2007-07-10 | Intel Corporatio | Apparatus and method for measuring and controlling power consumption of a computer system |
US7865744B2 (en) * | 2002-09-04 | 2011-01-04 | Broadcom Corporation | System and method for optimizing power consumption in a mobile environment |
US20040064745A1 (en) * | 2002-09-26 | 2004-04-01 | Sudarshan Kadambi | Method and apparatus for controlling the rate at which instructions are executed by a microprocessor system |
JP4006634B2 (ja) * | 2002-10-10 | 2007-11-14 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US7036027B2 (en) * | 2002-10-21 | 2006-04-25 | Sun Microsystems, Inc. | Computer system layout and cooling configuration |
KR100935574B1 (ko) | 2002-11-04 | 2010-01-07 | 삼성전자주식회사 | Cpu 과열방지시스템 |
DE10256623A1 (de) * | 2002-12-03 | 2004-06-24 | Krohne Meßtechnik GmbH & Co KG | Elektrisches Gerät und Verfahren zum Betreiben eines elektrischen Geräts |
US8086884B2 (en) * | 2002-12-16 | 2011-12-27 | Hewlett-Packard Development Company, L.P. | System and method for implementing an integrated circuit having dynamically variable power limit |
US7085945B2 (en) | 2003-01-24 | 2006-08-01 | Intel Corporation | Using multiple thermal points to enable component level power and thermal management |
US20040148258A1 (en) * | 2003-01-29 | 2004-07-29 | Tillett Wiley S. | Electronic check settlement method |
US7210048B2 (en) * | 2003-02-14 | 2007-04-24 | Intel Corporation | Enterprise power and thermal management |
US20040159240A1 (en) * | 2003-02-14 | 2004-08-19 | Lyall Lucian H. | Beverage brewing apparatus and method |
US7454643B2 (en) * | 2003-04-30 | 2008-11-18 | Marvell World Trade Ltd. | Pre-emptive power supply control system and method |
US6745117B1 (en) * | 2003-05-16 | 2004-06-01 | Deere & Company | Power-limiting control method and system for a work vehicle |
JP2007502477A (ja) * | 2003-05-27 | 2007-02-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 電力消費のモニタおよび制御 |
US20050210304A1 (en) * | 2003-06-26 | 2005-09-22 | Copan Systems | Method and apparatus for power-efficient high-capacity scalable storage system |
US7272732B2 (en) * | 2003-06-30 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Controlling power consumption of at least one computer system |
US7543306B2 (en) * | 2003-07-02 | 2009-06-02 | Intel Corporation | Method, system, and program for handling device interrupts in a multi-processor environment |
US7451332B2 (en) * | 2003-08-15 | 2008-11-11 | Apple Inc. | Methods and apparatuses for controlling the temperature of a data processing system |
US7146519B2 (en) | 2003-08-22 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Bus clock frequency management based on device bandwidth characteristics |
US7127625B2 (en) * | 2003-09-04 | 2006-10-24 | Hewlett-Packard Development Company, L.P. | Application management based on power consumption |
US7134029B2 (en) * | 2003-11-06 | 2006-11-07 | International Business Machines Corporation | Computer-component power-consumption monitoring and control |
US7203849B2 (en) * | 2003-12-12 | 2007-04-10 | Hewlett-Packard Development Company, L.P. | Method and system for distributing power to networked devices |
US7580905B2 (en) * | 2003-12-15 | 2009-08-25 | Intel Corporation | Adaptive configuration of platform |
US20050138440A1 (en) * | 2003-12-18 | 2005-06-23 | Barr Andrew H. | Equipment rack load modulation system and method |
US7177728B2 (en) * | 2003-12-30 | 2007-02-13 | Jay Warren Gardner | System and methods for maintaining power usage within a set allocation |
US7228448B2 (en) * | 2004-02-13 | 2007-06-05 | Microsoft Corporation | Method for making power supplies smaller and more efficient for high-power PCs |
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 |
US20060047983A1 (en) * | 2004-05-19 | 2006-03-02 | Zeev Aleyraz | Multiple source/multiple device connector |
US20050283683A1 (en) | 2004-06-08 | 2005-12-22 | International Business Machines Corporation | System and method for promoting effective operation in user computers |
US7519837B2 (en) * | 2004-06-15 | 2009-04-14 | Hewlett-Packard Development Company, L.P. | Power controller |
US7295949B2 (en) * | 2004-06-28 | 2007-11-13 | Broadcom Corporation | Energy efficient achievement of integrated circuit performance goals |
US7281146B2 (en) * | 2004-06-30 | 2007-10-09 | Intel Corporation | Dynamic power requirement budget manager |
US7966511B2 (en) * | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
US7739527B2 (en) | 2004-08-11 | 2010-06-15 | Intel Corporation | System and method to enable processor management policy in a multi-processor environment |
WO2006028558A1 (en) * | 2004-09-03 | 2006-03-16 | Virgina Tech Intellectual Properties, Inc. | Detecting software attacks by monitoring electric power consumption patterns |
US7239119B2 (en) | 2004-11-05 | 2007-07-03 | Power Integrations, Inc. | Method and apparatus to provide temporary peak power from a switching regulator |
US7343499B2 (en) * | 2005-01-27 | 2008-03-11 | International Business Machines Corporation | Method and apparatus to generate circuit energy models with multiple clock gating inputs |
US7421598B2 (en) * | 2005-02-09 | 2008-09-02 | International Business Machines Corporation | Dynamic power management via DIMM read operation limiter |
US7383451B2 (en) * | 2005-02-18 | 2008-06-03 | Lenovo (Singapore) Pte. Ltd. | Controlling power usage of computing device components in holistic manner |
US7640760B2 (en) | 2005-03-25 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Temperature control using a sensor network |
US7444526B2 (en) * | 2005-06-16 | 2008-10-28 | International Business Machines Corporation | Performance conserving method for reducing power consumption in a server system |
US7484108B2 (en) * | 2005-06-23 | 2009-01-27 | Intel Corporation | Enhancing power delivery with transient running average power limits |
US7386750B2 (en) * | 2005-07-15 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Reduced bus turnaround time in a multiprocessor architecture |
US7461274B2 (en) | 2005-08-23 | 2008-12-02 | International Business Machines Corporation | Method for maximizing server utilization in a resource constrained environment |
US7562234B2 (en) | 2005-08-25 | 2009-07-14 | Apple Inc. | Methods and apparatuses for dynamic power control |
US8374730B2 (en) | 2005-08-25 | 2013-02-12 | Apple Inc. | Methods and apparatuses for dynamic thermal control |
JP4764696B2 (ja) * | 2005-10-07 | 2011-09-07 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
WO2007069486A1 (ja) * | 2005-12-13 | 2007-06-21 | Matsushita Electric Industrial Co., Ltd. | データ処理装置 |
US7616568B2 (en) * | 2006-11-06 | 2009-11-10 | Ixia | Generic packet generation |
-
2008
- 2008-01-07 US US11/970,483 patent/US7949889B2/en active Active
- 2008-12-23 CN CN200880124205.3A patent/CN102232205B/zh active Active
- 2008-12-23 JP JP2010541433A patent/JP5592269B2/ja active Active
- 2008-12-23 WO PCT/US2008/014036 patent/WO2009088451A2/en active Application Filing
- 2008-12-23 KR KR1020107017580A patent/KR101148642B1/ko active IP Right Grant
-
2011
- 2011-05-20 US US13/112,634 patent/US8225121B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1610872A (zh) * | 2001-09-25 | 2005-04-27 | 英特尔公司 | 提供用户优先级模式的方法和装置 |
US7139920B2 (en) * | 2003-03-13 | 2006-11-21 | Sun Microsystems, Inc. | Method and apparatus for supplying power in electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
WO2009088451A2 (en) | 2009-07-16 |
KR20100113110A (ko) | 2010-10-20 |
US7949889B2 (en) | 2011-05-24 |
JP5592269B2 (ja) | 2014-09-17 |
US20110219247A1 (en) | 2011-09-08 |
CN102232205A (zh) | 2011-11-02 |
US20090177907A1 (en) | 2009-07-09 |
WO2009088451A3 (en) | 2010-09-10 |
KR101148642B1 (ko) | 2012-05-21 |
JP2011509461A (ja) | 2011-03-24 |
US8225121B2 (en) | 2012-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102232205B (zh) | 数据处理系统的强制空闲 | |
CN101910975B (zh) | 数据处理系统的强制空闲 | |
US8578189B2 (en) | Methods and apparatuses for dynamic power control | |
US7529948B2 (en) | Methods and apparatuses for dynamic power estimation | |
US7272732B2 (en) | Controlling power consumption of at least one computer system | |
CN1969247B (zh) | 用于控制低功率器件的待机功率的方法和装置 | |
US7689850B2 (en) | System and method for adaptive information handling system power management | |
US20090235097A1 (en) | Data Center Power Management | |
US20080104430A1 (en) | Server configured for managing power and performance | |
WO2008107344A2 (en) | Power management in a power-constrained processing system | |
CN114721488B (zh) | 一种风扇转速控制方法及系统 | |
CN113568805B (zh) | 一种服务器功耗的实时调整方法、装置、电子设备 | |
CN112394803B (zh) | 一种国产服务器功耗实时动态调节方法 | |
JP6469628B2 (ja) | 台数制御装置、台数制御方法、及びプログラム | |
CN118131878A (zh) | 一种电源模块控制方法 | |
CN116247249A (zh) | 燃料电池系统的控制方法、燃料电池系统和存储介质 | |
Soltanloo et al. | Performance-aware power control of server clusters | |
Srihari et al. | OpenVMS Power Management |
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 |