数据处理系统的强制空闲的制作方法

文档序号:6479373阅读:372来源:国知局
专利名称:数据处理系统的强制空闲的制作方法
技术领域
本发明的至少一些实施例一般地涉及数据处理系统,更具体而言但非排他性地涉 及数据处理系统中的功率的管理。
背景技术
传统上,计算机系统被设计成能够连续地运行一最坏情况的功率负载。根据这种 连续的最坏情况功率负载的设计还未成为大问题,因为传统上单独的组件具有适度的操作 功率并且计算机系统具有大功率预算,从而使得系统能够自然适当地维持负载。当计算机系统的单独组件的操作功耗缓慢上升时,计算机系统的功率预算变得吃 紧。现在,设计一种运行连续的最坏情况负荷量并同时达成其他高性能目标(例如,高计算 功率、小型化、安静、更好的电池性能等等)的计算机系统正在成为一种挑战。例如,诸如膝 上型计算机之类的便携式计算机系统具有有限的电池输出容量;并因此针对给定的电池输 出容量的最坏情况工作量可能由于最坏情况工作量极少发生而限制系统的性能。因此,管理功率对于实现计算机系统的电池寿命和热设计目标两者是非常重要 的。一种例如用于管理重要处理单元(“CPU”)的功率的常见技术是在计算机系统的多个 不同状态之间动态地调节CPU内核的操作频率以及供电电压两者。通常,在计算机系统的 功率操作点上,可能存在两种功耗分量,例如动态功率和泄漏功率。动态功率代表实际所需 的电路操作。其可能与每秒时钟跳变的次数(频率)以及电压的平方成比例。泄漏功率代 表对CPU完全供电的代价开销。其对于给定电压是固定的,并且通常随电压增大呈指数上 升。但是,动态调节操作频率只能管理动态功率而对计算机系统的泄漏功率没有效果。

发明内容
用于管理数据处理系统的功率的方法和装置的示例性实施例已被描述。数据处 理系统的一个或多个约束参数可以被监视。在一个或多个约束参数正被监视时,数据处理 系统可以工作在第一频率和第一电压。基于一个或多个约束参数,数据处理系统在工作在 第二频率和第二电压时被强制进入空闲状态。在一个实施例中,空闲状态防止指令被执行, 并且第二频率大于零并小于第一频率,第二电压大于零并小于第一电压。在其他实施例中, 空闲状态防止指令被执行并且第二频率为零,并且第二电压针对系统的至少一些部分也为 零。在一个实施例中,强制系统进入空闲状态的速率是基于约束参数来确定的。约束参数 例如可以是功率、温度、电流、电池负载或它们的任意组合。在一个实施例中,工作在第一电压和第一频率的系统的约束参数被监视。如果第一电压是最小电压并且约束参数大于约束参数阈值,则系统可以被强制进入空闲状态。如 果系统没有工作在最小电压并且约束参数大于约束参数阈值,则可以减小系统的操作点。 系统的操作点可以通过减小系统的操作电压、系统的操作频率或它们的组合来减小。在一 个实施例中,工作在第一频率和第一电压的系统的空闲状态百分比是基于约束参数来确定 的。至少在某些实施例中,一种数据处理系统可以包括处理器;耦合到处理器的存 储器;耦合到处理器的一个或多个传感器,用于监视工作在第一频率和第一电压的系统的 约束参数。所述处理器被配置为在系统工作在第二频率和低于第一电压的第二电压时强制 系统进入空闲状态,其中,所述空闲状态防止指令被执行。存储器可以存储关于何时以及怎 样强制系统进入空闲状态的信息。在一个实施例中,处理器还可以被配置为确定强制系统 进入空闲状态的速率。在一个实施例中,处理器还可以被配置为如果第一电压是最小电压 并且约束参数大于约束参数阈值,则强制系统进入空闲状态。在一个实施例中,所述处理器 还可以被配置为如果系统没有工作在所述最小电压上并且约束参数大于约束参数阈值, 则降低系统的操作点。在一个实施例中,处理器还被配置为基于约束参数确定工作在第一频率和第一 电压的系统处在空闲状态的百分比。至少在某些实施例中,一种包含可执行程序指令的机器可读存储介质被描述,所 述可执行程序指令致使数据处理系统执行如下操作监视工作在第一频率和第一电压的系 统的约束参数;在系统工作在第二频率和低于第一电压的第二电压时,基于对约束参数的 监视,强制系统进入空闲状态。在一个实施例中,机器可读存储介质还包括致使数据处理系统确定强制系统进入 空闲状态的速率的指令。在一个实施例中,机器可读存储介质还包括致使数据处理系统执 行如下操作的指令如果第一电压是最小电压并且约束参数大于约束参数阈值,则强制系 统进入空闲状态。在一个实施例中,机器可读存储介质还包括致使数据处理系统执行如下操作的指 令如果系统没有工作在最小电压并且约束参数大于约束参数阈值,则降低系统的操作点 (例如,电压、频率或它们的任意组合)。在一个实施例中,机器可读存储介质还包括致使数据处理系统执行如下操作的指 令基于约束参数,确定工作在第一频率和第一电压的系统的空闲状态百分比。至少在某些实施例中,一种数据处理系统被描述,其包括用于监视工作在第一频 率和第一电压的系统的约束参数的装置;用于在系统工作在第二频率和低于第一电压的第 二电压时,基于对约束参数的监视,强制系统进入空闲状态的装置。在一个实施例中,数据 处理系统还包括用于如果第一电压是最小电压并且约束参数大于约束参数阈值,则强制 系统进入空闲状态的装置。在一个实施例中,数据处理系统还包括用于基于约束参数确定 工作在第一频率和第一电压的系统的空闲状态百分比的装置。本发明的其他特征将从附图以及随后的详细描述中变得显而易见。


在附图中以示例方式而非限制方式图示出本发明,在附图中,类似标号指示类似元件。图IA示出可被用于提供强制空闲状态的典型计算机系统的一个示例。图IB示出提供强制空闲状态的系统的另一实施例。图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 mini 和用户级iMac 桌上型模型、工作站级MacPro 塔以及MacBook 和MacBook Pro 膝上型计算机。小型系统(例如,非常薄的膝上型计算机)可以受益于这里所描述的方法。 为执行仅一种功能而设计或编程的专用计算机或者诸如蜂窝电话之类的用户电子设备也 可以执行这里所描述的方法。图IA示出可以用来提供强制空闲状态的典型计算机系统的一个示例。注意,虽然 图IA示出计算机系统的各种组件,但是其意图不是要代表任意特定的体系结构,或者如此 详细描述的组件互连方式不是与本发明密切相关。还将意识到,具有更少组件或更多组件 的网络计算机和其他数据处理系统也可以被用于本发明。图IA的计算机系统例如可以是 AppleMacintosh计算机。如图IA所示,具有数据处理系统形式的计算机系统100包括总线102,该总线 102被耦合到微处理器103和ROM 107和易失性RAM 105和非易失性存储器106。如图IA 的示例所示,微处理器103被耦合到缓存存储器104,所述微处理器103例如可以是来自 Motorola, Inc.或IBM的G3、G4或G5微处理器或者来自Intel的微处理器。总线102将这 些各种组件互连在一起并且还将这些组件103、107、105和106互连到显示控制器和显示设 备108以及诸如输入/输出(1/0)设备之类的外围设备,所述1/0设备可以是鼠标、键盘、调 制解调器、网络接口、打印机、扫描仪、视频相机和本领预公知的其他设备。通常,输入/输 出设备110通过输入/输出控制器109被耦合到系统。易失性RAM 105通常被实现为动态RAM(DRAM),其需要连续供电以刷新或维持存储器中的数据。非易失性存储器106通常是磁 性硬盘驱动器或磁光驱动器或光学驱动器或DVD RAM或其它类型的存储器系统,其即使在 从系统移走供电之后也能够维护数据。通常,非易失性存储器也将是随机访问存储器,但这 不是必需的。虽然图IA示出非易失性存储器是直接耦合到数据处理系统的其余组件的本 地设备,但是将会意识到,本发明可以利用远离系统的非易失性存储器,例如通过诸如调制 解调器或以太网接口之类的网络接口耦合到数据处理系统的网络存储设备。总线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、R0M107、RAM 105和 /或非易失性存储器106中的指令来动态确定功率用量的预算并强制系统100进入空闲状 态,如下面将更详细描述的。可替换地,系统100还包括微控制器(未示出),用于基于存储在缓存104、R0M107、RAM 105、非易失性存储器106中的信息或它们的任意组合来动态确 定功率用量的预算并确定何时以及如何强制系统进入强制空闲状态,如下面将更详细描述 的。在一个实施例中,数据处理系统100可以包括多个中央处理单元(CPU)/微处理器。从本说明将会发现,本发明的各个方面可以至少部分体现为软件。就是说,这些技 术可以在计算机系统或其他数据处理系统中响应于它的处理器(例如微处理器或微控制 器)而执行,所述处理器执行包含在存储器中的指令序列,所述存储器例如是ROM 107、易 失性RAM 105、非易失性存储器106、缓存104或其他存储设备或远程存储设备。在各个实 施例中,可以将硬连线的电路与用于实现本发明的软件指令结合使用。因此,这些技术并不 局限于硬件电路和软件的任意特定组合,也不局限于由数据处理系统执行的指令的任意特 定源。另外,贯穿本说明,各种功能和操作被描述为由软件代码执行或引起以简化描述。但 是,本领域技术人员将意识到,这些表示的意思是各种功能是通过处理器(例如微处理器 103或微控制器)执行代码而导致的。机器可读介质可以被用于存储软件和数据,所述软件和数据在被数据处理系统执 行时指示系统执行本发明的各种方法。该可执行软件和数据可以被存储在各种空间中,例 如包括如图IA所示的ROM 107、易失性RAM 105、非易失性存储器106和/或缓存104。该 软件和/或数据的多部分可以被存储在这些存储设备中的任意一种中。因此,机器可读介质包括以机器(例如,计算机、网络设备、个人数字助理、制造工 具、具有一个或多个处理器的集合的任意设备、等等)可访问的形式提供(即,存储和/或 发送)信息的任意机制。例如,机器可读介质包括可记录/不可记录的介质(例如,只读存 储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪存设备;等等)。本发明的方法可以使用专用硬件(例如,使用现场可编程门阵列,或专用集成电 路)或在存储在机器可读介质中的程序指令控制下的共享电路(例如,微处理器或微控制 器)来实现。本发明的方法还可以被实现为在数据处理系统(例如,图IA的系统100)上 执行的计算机指令。图IB示出用于提供强制空闲状态的系统120的另一实施例。系统120具有多个子 系统。在一个实施例中,多个子系统包括处理器,例如CPU、GPU、微控制器等等。如图IB所 示,系统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)在子系统之间
10重新分发,如在下述美国申请中更详细描述的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,如图IB 所示。传感器可以被用来监视、测量和/或估计一个或多个约束参数(例如,功率、温度、电 流、电池负载或它们的任意组合),以确定工作在一定频率和一定电压上的一个或多个子系 统的实际功率用量。传感器128进而可以将所确定功率用量值提供到微控制器127,该微 控制器127可以基于一个或多个感测到的参数来强制系统和/或子系统进入空闲状态,如 下面将更详细描述的。上面针对图IA更详细地描述了系统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。如上参考图IA和IB所描述的一个或多 个测量设备207 (例如一个或多个传感器)被耦合到子系统201-205,并被耦合到功率管理 器208,如图2所示。功率查找表209被耦合到功率管理器208,如图2所示,该功率查找表 209可以包括一个或多个查找表,这些查找表包含关于如何以及何时进入强制空闲状态的 信息,如下面将参考图4-19所描述的。上面已经参考图IA和IB详细描述了系统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、图IB和图2中所描绘的数据处理系统中的任意一个。如图3A所示,数据 处理系统的功率操作点(例如,功率操作点301-304)对应于数据处理系统的一对操作频率 和电压。操作频率和电压例如可以是数据处理系统的微处理器的内核电压核频率。如图3A 所示,最高功率操作点,例如操作点Ph(302)代表数据处理系统所消耗的最高功率。由数据处理系统所消耗的最高功率可以基于一个或多个系统约束参数(例如功率、温度、电流、电 池负载等等)来确定。最高功率操作点Ph(302)可以对应于一对最高操作频率(fH)和电压 (Vh)。如图3A所示,中间功率操作点,例如操作点Pn(303)代表数据处理系统所消耗的中间 功率。中间功率操作APn(303)对应于一对中间操作频率(fN)和电压(Vn)。通常,如果数 据处理系统的功率需要减小到低于由最小(最低)工作电压\所定义的功率状态之下的功 率状态,则可以减小数据处理系统的操作频率。数据处理系统的操作频率(fN)可以按比率 X减小,其中X小于1。例如,如果电路在最低电压的操作频率(fN)为1GHz,则按X = 20% 的减小将操作频率改变到800MHz (第一情况)。这具有将动态功率减小20%的净效果,但 对于泄漏功率没有效果。数据处理系统的最小功率有效操作点是由数据处理系统的最低电压以及数据处 理系统在工作在最低电压时被设计为持续表现的最高频率来确定的。该最小功率有效操作 点通常被称为低频率模式(“LFM”),该最小功率有效操作点例如是对应于最低(最小)操 作电压(\)和相应的最高(最大)操作频率(FJ的操作点(301)。通常,最低操作电压 八不会大于数百毫瓦。通常,数据处理系统可以仅将可管理的功率减小到最小功率操作点 (例如1\(301)),因为数据处理系统在该点之下不具有实际操作点;由于数据处理系统已经 在最小电压上,其唯一替换方式是降低操作频率,该替换方式效率较低并且可能甚至不起 作用。通常,为了在数据处理系统没有任务要执行时节省功率,数据处理系统完全停止 时钟(零频率)。这具有将动态功率减小到零的效果。除了停止时钟之外,数据处理系统还 可以移动到更低的电压电平。这具有呈指数减小泄漏功率的效果,如图3B所示,图3B示出 泄漏功率(Pleak)与电源电压的关系。该操作点通常被称为空闲状态。至少这里描述的某些实施例通过使用智能决定的强制空闲操作来允许系统工作 在最小功率操作点(例如301)以下,在至少某些实施例中,该智能决定的强制空闲操作 基于实际空闲时间和目标空闲时间之间的比较(如下面将描述的图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% )操作状态Sl (407) 中。在一个实施例中,数据处理系统在任意相应的操作电压所允许的操作频率下持续工作 在状态Sl(407)中。在一个实施例中,数据处理系统在以最低电压所允许的最大频率持续 工作在工作状态Sl (407)中时被强制进入空闲状态。如图4所示,数据处理系统在时间、、 t2、t3和t4被强制进入空闲状态。图5A是示出根据本发明的一个实施例在数据处理系统持续操作时强制该系统进 入空闲状态的示图。如图5A所示,当系统以某一操作频率和电压持续工作时间的一部分 (例如,时间T1 (506)的部分502)时,基于一个或多个约束参数,系统被强制进入空闲状态 达时间的另一部分(例如,时间T1的部分504)。在一个实施例中,时间T1是数据处理系统 的时钟周期(例如T Ι/f)。在一个实施例中,空闲状态防止系统执行指令。在一个实施 例中,时钟在系统处于空闲状态时停止(操作频率为零)。如图5A所示,强制系统处于空闲 状态的调制比被保持恒定,从而使得系统在空闲状态所花费的时间部分和系统在全操作状 态所花费的时间部分保持基本相同。图5B是示出根据本发明的另一实施例在数据处理系统持续操作时强制该系统 进入空闲状态的示图。如图5B所示,当系统处于强制空闲状态时,在时间、接收到中断 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所示的PJ301)。图8是强制数据处理系统进入空闲状态的方法800的一个实施例的流程图。方法 开始于操作801,该操作包含监视工作在第一频率和第一电压的数据处理系统的约束参数 (例如,实际功率、温度、电流、电池负载等约束参数或它们的任意组合)。方法继续到操作 802,该操作包含判断约束参数是否大于第一约束参数阈值。约束参数阈值可以与数据处理 系统的规范功率、温度、电池负载、电流相关联。约束参数阈值可以是针对数据处理系统的 多个子系统(例如图IB和2所示的子系统)有效的最坏情况值。在一个实施例中,约束参数 阈值可以例如是从多个测量样本的统计分布曲线确定的最坏情况功率、温度、电流或电池 负载值。在一个实施例中,测量出的约束参数(例如实际测得的功率、温度、电流、电池负载 或它们的任意组合)被与约束参数阈值相比较,以判断测量出的约束参数是否大于或等于 第一约束参数阈值。如果约束参数不大于或等于第一约束参数阈值,则在操作803判断约 束参数是否小于第二约束参数阈值。第二约束参数阈值可以通过从第一约束参数阈值减去 一滞后量(hysteresis)来确定。如果约束参数小于第二约束参数阈值,则可以在操作804 增大操作点(例如,频率、电压),然后方法800返回到操作801。如果约束参数不小于第二 约束参数阈值,方法则返回操作801。如果约束参数大于或等于第一约束参数阈值,则在操 作806判断数据处理系统的第一操作电压和/或第一操作频率是否可以被进一步降低。接 下来,如果确定可以降低第一操作电压和/或第一操作频率,则在操作805降低操作功率点 (例如频率和/或电压),然后方法800返回操作801。例如,如果第一操作电压对应于中 间操作电压(例如Vn)和/或第一操作频率对应于中间操作频率(例如fN),如图3A所示, 则可以通过将电压和/或频率例如降低到最低操作频率&和/或电压\来向下移动操作 功率点。如果确定第一操作电压和/或第一操作频率无法降低,则在数据处理系统持续操作在第一操作频率和第一操作电压的同时在操作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 = Ι/f,其中f是系统的频率。接下来,在操作1905判断空闲百分比是否大于最近空闲(“lastjdle”)。在一 个实施例中,最近空闲是从先前的时间(例如,系统的时钟周期)确定的。如果maX_idle 大于lastjdle,则在操作1907通过根据以下公式考虑到最近空闲来计算累积空闲max_idle = max_idle_last_idle,(3)如果max_idle不大于lastjdle,则在操作1906将maxjdle设置为0。然后,方 法1900继续到操作1908,该操作包含根据以下公式确定允许数据处理系统进行操作的周 期的结尾period_end = now+Period,(4)其中,“now”是当前时间,“Period”是时钟周期。接下来,在操作1909,根据以下公式确定目标空闲时间(“idle_g0al”)idle_g0£il = accumulated—idle+Mic2Sl^I,(5)其中,“accumulatecLidle”是从一个或多个先前时间(例如,时钟周期)累积的 空闲时间的总量,“最大空闲”是最近的空闲时间。此外,在操作1910,判断累积空闲是否小于idle_g0al。如果累积空闲小于idle_ goal,则只允许高优先级线程在操作1914运行。数据处理系统(例如CPU)在操作1915被 强制进入空闲状态持续最多maX_idle时间。在一个实施例中,中断使系统退出空闲状态。 在考虑到中断的情况下,针对数据处理系统在强制空闲状态中所花费的时间量对累积空闲 进行更新。然后,方法1900返回操作1910。如果累积空闲不小于idle_g0al,则在操作1911 将空闲开始时间设置为accumulatecLidle。方法1900继续到操作1912,该操作包含允许 任何线程运行,直到在操作1908所确定的periocLend。在操作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,并且与使用功率用量的平均的实 施例相关,并且这些实施例和附图在该申请中有进一步描述。
17
在前述说明书中,已经参考特定示例性实施例描述了本发明的实施例。将会发现, 在不脱离本发明的更广阔精神和范围的情况下可以作出各种修改。因此,认为说明书和附 图是示例性而非限制性的。
权利要求
一种机器实现的方法,包括监视工作在第一频率和第一电压的系统的约束参数;在所述系统工作在第二频率和低于所述第一电压的第二电压时强制所述系统进入空闲状态,其中,所述空闲状态防止指令被执行,并且其中所述强制基于对所述约束参数的监视。
2.如权利要求1所述的机器实现的方法,其中所述第二频率低于所述第一频率。
3.如权利要求1所述的机器实现的方法,还包括确定强制所述系统进入所述空闲状态的速率。
4.如权利要求1所述的机器实现的方法,还包括判断所述约束参数是否大于约束参数阈值;判断所述第一电压是否是最小电压;以及如果所述第一电压是所述最小电压并且所述约束参数大于所述约束参数阈值,则强制 所述系统进入所述空闲状态。
5.如权利要求4所述的机器实现的方法,还包括如果所述系统没有工作在所述最小电压上并且所述约束参数大于所述约束参数阈值, 则降低所述系统的操作点。
6.如权利要求1所述的机器实现的方法,其中所述约束参数是功率、温度、电流、电池 负载或它们的任意组合,并且所述第二频率大于零并小于所述第一频率,并且其中所述第 二电压大于零并小于所述第一电压。
7.如权利要求1所述的机器实现的方法,还包括基于所述约束参数确定工作在所述第一频率和所述第一电压的所述系统处在所述空 闲状态的百分比,并且其中针对所述系统的至少一部分,所述第二频率为零并且所述第二 电压为零。
8.一种数据处理系统,包括处理器;耦合到所述处理器的存储器;耦合到所述处理器的一个或多个传感器,用于监视工作在第一频率和第一电压的系统 的约束参数,其中所述处理器被配置为在所述系统工作在第二频率和低于所述第一电压的 第二电压时强制所述系统进入空闲状态,其中,所述空闲状态防止指令被执行,并且其中所 述处理器基于对所述约束参数的监视来强制所述系统进入所述空闲状态。
9.如权利要求8所述的数据处理系统,其中所述第二频率低于所述第一频率。
10.如权利要求8所述的数据处理系统,其中所述处理器还被配置为确定强制所述系统进入所述空闲状态的速率。
11.如权利要求8所述的数据处理系统,其中所述处理器还被配置为判断所述约束参数是否大于约束参数阈值,判断所述第一电压是否是最小电压,并且 如果所述第一电压是所述最小电压并且所述约束参数大于所述约束参数阈值,则强制所述 系统进入所述空闲状态。
12.如权利要求11所述的数据处理系统,其中所述处理器还被配置为如果所述系统没有工作在所述最小电压上并且所述约束参数大于所述约束参数阈值,则降低所述系统的操作点。
13.如权利要求8所述的数据处理系统,其中所述处理器还被配置为基于所述约束参数确定工作在所述第一频率和所述第一电压的所述系统处在所述空 闲状态的百分比,并且其中针对所述系统的至少一部分,所述第二频率为零并且所述第二 电压为零。
14.如权利要求8所述的数据处理系统,其中所述存储器存储关于何时和怎样强制所 述系统进入所述空闲状态的信息。
15.如权利要求8所述的数据处理系统,其中所述约束参数是功率、温度、电流、电池负 载或它们的任意组合,并且所述第二频率大于零并小于所述第一频率,并且其中所述第二 电压大于零并小于所述第一电压。
16.一种存储可执行程序指令的机器可读存储介质,所述可执行程序指令致使数据处 理系统执行如下操作监视工作在第一频率和第一电压的系统的约束参数;在所述系统工作在第二频率和低于所述第一电压的第二电压时强制所述系统进入空 闲状态,其中,所述空闲状态防止指令被执行,并且其中所述强制基于对所述约束参数的监 视。
17.如权利要求16所述的机器可读存储介质,其中所述第二频率低于所述第一频率。
18.如权利要求16所述的机器可读存储介质,还包括致使所述数据处理系统执行如下 操作的指令确定强制所述系统进入所述空闲状态的速率。
19.如权利要求16所述的机器可读存储介质,还包括致使所述数据处理系统执行如下 操作的指令判断所述约束参数是否大于约束参数阈值;判断所述第一电压是否是最小电压;并且如果所述第一电压是所述最小电压并且所述约束参数大于所述约束参数阈值,则 强制所述系统进入所述空闲状态。
20.如权利要求19所述的机器可读存储介质,还包括致使所述数据处理系统执行如下 操作的指令如果所述系统没有工作在所述最小电压上并且所述约束参数大于所述约束参数阈值, 则降低所述系统的操作点。
21.如权利要求16所述的机器可读存储介质,还包括致使所述数据处理系统执行如下 操作的指令基于所述约束参数确定工作在所述第一频率和所述第一电压的所述系统处在所述空 闲状态的百分比,并且其中针对所述系统的至少一部分,所述第二频率为零并且所述第二 电压为零。
22.如权利要求16所述的机器可读存储介质,其中所述约束参数是功率、温度、电流、 电池负载或它们的任意组合,并且所述第二频率大于零并小于所述第一频率,并且其中所 述第二电压大于零并小于所述第一电压。
23.一种数据处理系统,包括用于监视工作在第一频率和第一电压的系统的约束参数的装置; 用于在所述系统工作在第二频率和低于所述第一电压的第二电压时强制所述系统进 入空闲状态的装置,其中,所述空闲状态防止指令被执行,并且其中所述强制基于对所述约 束参数的监视。
24.如权利要求23所述的数据处理系统,还包括 用于判断所述约束参数是否大于约束参数阈值的装置; 用于判断所述第一电压是否是最小电压的装置;以及用于如果所述第一电压是所述最小电压并且所述约束参数大于所述约束参数阈值,则 强制所述系统进入所述空闲状态的装置。
25.如权利要求23所述的数据处理系统,还包括用于基于所述约束参数确定工作在所述第一频率和所述第一电压的所述系统处在所 述空闲状态的百分比的装置,并且所述第二频率大于零并小于所述第一频率,并且其中所 述第二电压大于零并小于所述第一电压。
全文摘要
用于管理数据处理系统的功率的方法和装置的示例性实施例被描述。工作在第一频率和第一电压的系统的约束参数被监视。系统在工作在第二频率和第二电压时,基于对约束参数的监视被强制进入空闲状态。空闲状态防止指令被执行。
文档编号G06F1/32GK101910975SQ200880124193
公开日2010年12月8日 申请日期2008年12月22日 优先权日2008年1月7日
发明者基思·考克斯, 大卫·G·康罗伊, 迈克尔·库伯特 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1