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

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

【发明内容】

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

【附图说明】
[0016]在附图中以示例方式而非限制方式图示出本发明,在附图中,类似标号指示类似元件。
[0017]图1A示出可被用于提供强制空闲状态的典型计算机系统的一个示例。[0018]图1B示出提供强制空闲状态的系统的另一实施例。
[0019]图2示出提供强制空闲状态的系统的一个实施例。
[0020]图3A是示出数据处理系统的功率操作点的一个实施例的示图。
[0021]图3B是示出泄漏功率对电源电压的依赖性的示图。
[0022]图4是示出根据本发明的一个实施例,在数据处理系统持续操作时强制系统进入空闲状态的不图。
[0023]图5A是示出根据本发明的一个实施例,在数据处理系统持续操作时强制系统进入空闲状态的示图。
[0024]图5B是示出根据本发明的另一实施例,在数据处理系统持续操作时强制系统进入空闲状态的示图。
[0025]图6不出包括关于空闲状态的信息的表的一个实施例。
[0026]图7是强制数据处理系统进入空闲状态的方法的一个实施例的流程图。
[0027]图8是强制数据处理系统进入空闲状态的方法的一个实施例的流程图。
[0028]图9是基于约束参数强制数据处理系统进入空闲状态的方法的一个实施例的流程图。
[0029]图10示出用于动态地确定可以在这里描述的某些实施例中使用的功率用量预算的方法。
[0030]图11示出可以在这里描述的某些实施例中使用的功率用量情形。
[0031]图12是管理数据处理系统的功率到目标功率的方法的一个实施例的流程图。
[0032]图13是增大不带强制空闲的操作功率点的方法的一个实施例的流程图。
[0033]图14是增大包括强制空闲的操作功率点的方法1400的一个实施例的流程图。
[0034]图15是减小不带强制空闲的操作功率点的方法的一个实施例的流程图。
[0035]图16是减小包括强制空闲的操作功率点的方法的一个实施例的流程图。
[0036]图17是为数据处理系统提供强制空闲状态的方法的一个实施例的流程图。
[0037]图18是从强制空闲状态切换的方法的一个实施例的流程图。
[0038]图19是提供强制空闲状态的方法的一个实施例的流程图。
【具体实施方式】
[0039]下面将参考下述细节来描述本发明的各个实施例和方面,并且附图将图示出各个实施例。以下描述和附图是对本发明的举例说明,不应被理解为限制本发明。多个具体细节被描述,以用于对本发明的各个实施例的全面理解。但是,本领域技术人员将会意识到,无需这些具体细节也可以实施本发明的实施例。在其他实例中,公知的结构和设备以框图形式而非细节形式示出,以免模糊本发明的实施例。
[0040]在说明书中提到“一个实施例”或“实施例”意思是与该实施例相关联地描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在说明书中各个位置出现的短语“在一个实施例中”不一定指代同一实施例。
[0041]除非特别说明,否则将意识到,贯穿本说明,利用诸如“处理”或“计算”或“确定”或“显示”等术语所进行的论述指的是数据处理系统或类似电子计算设备的动作和进程,所述数据处理系统操纵计算机系统的寄存器和存储器中的被表示为物理(电子)量的数据并将该数据变换成其他数据,所述其他数据也被类似地表示为计算机系统存储器或寄存器或其他这样的信息存储设备、发送或显示设备中的物理量。
[0042]本发明的实施例可以涉及用于执行这里所描述的一种或多种操作的装置。该装置可以针对所需目的特别构造,或者其可以包括由存储在计算机中的计算机程序有选择地激活或重配置的通用计算机。这样的计算机程序可以被存储在机器(例如,计算机)可读存储介质中,所述机器可读存储介质例如是(但不局限于)任意类型的盘(包括软盘、光盘、CD-ROM和磁光盘)、只读存储器(ROM)、随机访问存储器(RAM)、可擦除可编程ROM (EPR0M)、电子可擦除可编程ROM(EEPROM)、磁或光卡、或者适合于存储电子指令并各自耦合到总线的任意类型的介质。
[0043]机器可读介质包括用于存储或发送具有机器(例如,计算机)可读形式的信息的任意机制。例如,机器可读介质包括:只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或其他形式的介质。
[0044]这里呈现的算法和显示没有固有地与任意特定的计算机或其他装置相关。可以使用具有根据这里的教导的程序的各种通用系统,或者可以证明,构造更加专门的装置来执行所需的及其实现的方法操作是很方便的。用于这些系统的各种所需结构将从以下描述中显现。
[0045]另外,本发明的实施例没有参考任意特定的编程语言来描述。将会意识到,各种编程语言否可以被用来实现这里所描述的本发明的实施例的教导。
[0046]本发明的很多方法可以利用数字处理系统(例如,传统的通用计算机系统)来执行。计算机系统例如可以是由位于加州Cupertino的Apple Inc.所生产的条目级Macmini?和用户级iMac?桌上型模型、工作站级MacPro?塔以及MacBook?和MacBook Pro?膝上型计算机。小型系统(例如,非常薄的膝上型计算机)可以受益于这里所描述的方法。为执行仅一种功能而设计或编程的专用计算机或者诸如蜂窝电话之类的用户电子设备也可以执行这里所描述的方法。
[0047]图1A示出可以用来提供强制空闲状态的典型计算机系统的一个示例。注意,虽然图1A示出计算机系统的各种组件,但是其意图不是要代表任意特定的体系结构,或者如此详细描述的组件互连方式不是与本发明密切相关。还将意识到,具有更少组件或更多组件的网络计算机和其他数据处理系统也可以被用于本发明。图1A的计算机系统例如可以是Apple Macintosh ? 计算机。
[0048]如图1A所示,具有数据处理系统形式的计算机系统100包括总线102,该总线102被耦合到微处理器103和R0M107和易失性RAM105和非易失性存储器106。如图1A的示例所示,微处理器103被耦合到缓存存储器104,所述微处理器103例如可以是来自Motorola, Inc.或IBM的G3、G4或G5微处理器或者来自Intel的微处理器。总线102将这些各种组件互连在一起并且还将这些组件103、107、105和106互连到显示控制器和显示设备108以及诸如输入/输出(1/0)设备之类的外围设备,所述1/0设备可以是鼠标、键盘、调制解调器、网络接口、打印机、扫描仪、视频相机和本领预公知的其他设备。通常,输入/输出设备110通过输入/输出控制器109被耦合到系统。易失性RAM105通常被实现为动态RAM(DRAM),其需要连续供电以刷新或维持存储器中的数据。非易失性存储器106通常是磁性硬盘驱动器或磁光驱动器或光学驱动器或DVD RAM或其它类型的存储器系统,其即使在从系统移走供电之后也能够维护数据。通常,非易失性存储器也将是随机访问存储器,但这不是必需的。虽然图1A示出非易失性存储器是直接耦合到数据处理系统的其余组件的本地设备,但是将会意识到,本发明可以利用远离系统的非易失性存储器,例如通过诸如调制解调器或以太网接口之类的网络接口耦合到数据处理系统的网络存储设备。总线102可以包括通过本领域公知的各种桥接器、控制器和/或适配器彼此连接的一个或多个总线。在一个实施例中,I/O控制器109包括用于控制USB (通用串行总线)外设的USB适配器和/或用于控制IEEE-1394外设的IEEE-1394总线适配器。
[0049]在本发明的一个实施例中,至少某些组件可以被主动抑制(throttle)以牺牲性能来供给功率用量。例如,微处理器103可以具有不同的内核电压和频率设置。在一个实施例中,系统100包括(一个或多个)被抑制的组件和(一个或多个)未被抑制的组件。被抑制的组件具有不同的抑制设置,在抑制设置上,组件工作但工作在不同的功率/性能级别(操作设置)上。例如,处理器可以被抑制为工作在不同的内核电压和内核频率上;盘驱动器可以被抑制为工作在不同的旋转速率上;总线可以被抑制在不同的频率上,等等。如果一组件没有被抑制来牺牲性能换取功率用量,该组件则被认为是未被抑制的组件。数据处理系统的被抑制的组件和未被抑制的组件在2005年8月25日递交的美国专利申请N0.11/212,970中被更详细地描述,该在先申请通过引用被整体上结合于此。
[0050]在本发明的一个实施例中,系统100还包括耦合到(一个或多个)I/O控制器109的(一个或多个)功率用量传感器111。(一个或多个)传感器111可以包括一个或多个硬件和/或软件组件。在一个实施例中,传感器使用硬件来实现。可替换地,至少一些传感器可以使用软件来实现。例如,软件模块可被用来确定工作状态和用于从工作状态的预定功耗率计算实际功率用量的相应时间段,如在下述美国专利申请中更详细描述的:2005年8月25日递交的美国专利申请N0.11/212,970 ;2006年I月5日递交的美国专利申请N0.11/327,685 ;2006年I月5日递交的美国专利申请N0.11/327,275 ;以及2006年I月5日递交的美国专利申请N0.11/327,238,上述在先申请通过引用被整体上结合于此。
[0051]一个或多个传感器可以被用来监视系统100的一个或多个约束参数,如下面将更详细描述的。约束参数例如可以是可被耦合到系统100的电池(未示出)的功率、温度、电流、负载或者它们的任意组合。系统的一个或多个约束参数可以被监视来确定中央处理单元(CPU)(例如,微处理器103)和/或图形处理单元(GPU)(例如,显示控制器108的处理器)的功率用量。此外,一个或多个传感器可以被直接耦合到CPU和/或GPU (未示出)。
[0052]在一个实施例中,实际功率用量被(一个或多个)传感器111监视。例如,实际功率用量可以被周期性地测量来确定功率用量的历史。功率用量的历史可以被用来以某种平均方式确定功率用量。在一个实施例中,利用过去的功率用量的知识,系统可以动态地确定下一时间间隔的可允许的功率预算,如在2005年8月25日递交的美国专利申请N0.11/212,970中更详细描述的,该在先申请通过引用被整体上结合于此。
[0053]在本发明的一个实施例中,微处理器103根据存储在缓存104、R0M107、RAM105和/或非易失性存储器106中的指令来动态确定功率用量的预算并强制系统100进入空闲状态,如下面将更详细描述的。可替换地,系统100还包括微控制器(未示出),用于基于存储在缓存104、R0M107、RAM105、非易失性存储器106中的信息或它们的任意组合来动态确定功率用量的预算并确定何时以及如何强制系统进入强制空闲状态,如下面将更详细描述的。在一个实施例中,数据处理系统100可以包括多个中央处理单元(CPU) /微处理器。
[0054]从本说明将会发现,本发明的各个方面可以至少部分体现为软件。就是说,这些技术可以在计算机系统或其他数据处理系统中响应于它的处理器(例如微处理器或微控制器)而执行,所述处理器执行包含在存储器中的指令序列,所述存储器例如是R0M107、易失性RAM105、非易失性存储器106、缓存104或其他存储设备或远程存储设备。在各个实施例中,可以将硬连线的电路与用于实现本发明的软件指令结合使用。因此,这些技术并不局限于硬件电路和软件的任意特定组合,也不局限于由数据处理系统执行的指令的任意特定源。另外,贯穿本说明,各种功能和操作被描述为由软件代码执行或引起以简化描述。但是,本领域技术人员将意识到,这些表示的意思是各种功能是通过处理器(例如微处理器103或微控制器)执行代码而导致的。
[0055]机器可读介质可以被用于存储软件和数据,所述软件和数据在被数据处理系统执行时指示系统执行本发明的各种方法。该可执行软件和数据可以被存储在各种空间中,例如包括如图1A所示的R0M107、易失性RAM105、非易失性存储器106和/或缓存104。该软件和/或数据的多部分可以被存储在这些存储设备中的任意一种中。
[0056]因此,机器可读介质包括以机器(例如,计算机、网络设备、个人数字助理、制造工具、具有一个或多个处理器的集合的任意设备、等等)可访问的形式提供(即,存储和/或发送)信息的任意机制。例如,机器可读介质包括可记录/不可记录的介质(例如,只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪存设备;等等)。
[0057]本发明的方法可以使用专用硬件(例如,使用现场可编程门阵列,或专用集成电路)或在存储在机器可读介质中的程序指令控制下的共享电路(例如,微处理器或微控制器)来实现。本发明的方法还可以被实现为在数据处理系统(例如,图1A的系统100)上执行的计算机指令。
[0058]图1B示出用于提供强制空闲状态的系统120的另一实施例。系统120具有多个子系统。在一个实施例中,多个子系统包括处理器,例如CPU、GPU、微控制器等等。如图1B所示,系统120包括:子系统121 (例如CPU);子系统122 (例如可以与显示设备耦合的GPU);以及一个或多个子系统129 (例如,耦合到一个或多个I/O设备的一个或多个I/O控制器);以及耦合到总线126的微控制器127。此外,系统120包括易失性RAM124、非易失性存储器130 (例如硬盘驱动器)、R0M123以及耦合到子系统121 (其耦合到总线126)的缓存存储器125。
[0059]由这些子系统中的每一个的至少一个子集所使用的功率受例如微控制器(例如微控制器127)所控制,并且由每个子系统所使用的最大功率通过整个系统在一平均时段期间的动态功率历史所确定,如2005年8月25日递交的美国专利申请N0.11/212,970中更详细描述的,该在先申请通过引用被整体上结合于此。这种功率控制至少在某些环境中允许较高性能的操作。即,如果在平均时段期间存在相当低的功率操作,即,空闲时间,则子系统可以在相当高功率的突发中工作,如在2005年8月25日递交的美国专利申请N0.11/212,970中更详细描述的,该在先申请通过引用被整体上结合于此。
[0060]在一个实施例中,系统的功率基于负载简档(load profile)在子系统之间重新分发,如在下述美国申请中更详细描述的:2006年I月5日递交的美国专利申请N0.11/327,685 ;2006年I月5日递交的美国专利申请N0.11/327,275 ;以及2006年I月5日递交的美国专利申请N0.11/327,238,上述在先申请通过引用被整体上结合于此。
[0061]一个或多个传感器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所描述的方法。
[0062]图2示出提供强制空闲状态的系统的一个实施例。如图2所示,系统200包括耦合到互连206 (例如总线)的子系统A201 (例如CPU)、子系统B202 (例如可以与显示设备耦合的GPU)、子系统C204 (例如存储器)、子系统D205 (例如微处理器)和一个或多个子系统N203 (例如耦合到一个或多个I/O设备的一个或多个I/O控制器)、以及功率管理器208 (例如,微控制器)、系统管理控制器(“SMC”)。子系统C204可以是易失性RAM、非易失性存储器(例如硬盘驱动器)和/或ROM。如上参考图1A和IB所描述的一个或多个测量设备207(例如一个或多个传感器)被耦合到子系统201-205,并被耦合到功率管理器208,如图2所示。功率查找表209被耦合到功率管理器208,如图2所示,该功率查找表209可以包括一个或多个查找表,这些查找表包含关于如何以及何时进入强制空闲状态的信息,如下面将参考图4-19所描述的。上面已经参考图1A和IB详细描述了系统200的组件,包括处理器、微控制器、总线、I/O控制器、I/O设备、存储器、传感器。在一个实施例中,与计算机系统的各种性能设置相对应的一个或多个功率查找表可以被子系统201 (或由设计和/或制造过程中的测试设备)生成,并被存储在存储器204和/或位于功率管理器208中的存储器中。包括计算机系统的各种性能设置的一个或多个功率查找表可以被使用,如在下述美国申请中更详细描述的:2005年8月25日递交的美国专利申请N0.11/212.970 ;2006年I月5日递交的美国专利申请N0.11/327,685 ;2006年I月5日递交的美国专利申请N0.11/327,275 ;以及2006年I月5日递交的美国专利申请N0.11/327,238,上述在先申请通过引用被整体上结合于此。在一个实施例中,功率管理器208执行下面参考图4-19所描述的方法。在另一实施例中,子系统201执行下面参考图4-19所描述的方法。
[0063]图3A是示出数据处理系统的功率操作点的一个实施例的示图。例如,该数据处理系统可以是图1A、图1B和图2中所描绘的数据处理系统中的任意一个。如图3A所示,数据处理系统的功率操作点(例如,功率操作点301-304)对应于数据处理系统的一对操作频率和电压。操作频率和电压例如可以是数据处理系统的微处理器的内核电压核频率。如图3A所示,最高功率操作点,例如操作点Ph (302)代表数据处理系统所消耗的最高功率。由数据处理系统所消耗的最高功率可以基于一个或多个系统约束参数(例如功率、温度、电流、电池负载等等)来确定。最高功率操作点Ph (302)可以对应于一对最高操作频率(fH)和电压(Vh)0如图3A所示,中间功率操作点,例如操作点Pn (303)代表数据处理系统所消耗的中间功率。中间功率操作APn (303)对应于一对中间操作频率(fN)和电压(Vn)。通常,如果数据处理系统的功率需要减小到低于由最小(最低)工作电压 '所定义的功率状态之下的功率状态,则可以减小数据处理系统的操作频率。数据处理系统的操作频率(fN)可以按比率X减小,其中X小于I。例如,如果电路在最低电压的操作频率(fN)为1GHz,则按X=20%的减小将操作频率改变到800MHz (第一情况)。这具有将动态功率减小20%的净效果,但对于泄漏功率没有效果。
[0064]数据处理系统的最小功率有效操作点是由数据处理系统的最低电压以及数据处理系统在工作在最低电压时被设计为持续表现的最高频率来确定的。该最小功率有效操作点通常被称为低频率模式(“LFM”),该最小功率有效操作点例如是对应于最低(最小)操作电压(')和相应的最高(最大)操作频率(FJ的操作点(301)。通常,最低操作电压'不会大于数百毫瓦。通常,数据处理系统可以仅将可管理的功率减小到最小功率操作点(例如Pl (301)),因为数据处理系统在该点之下不具有实际操作点;由于数据处理系统已经在最小电压上,其唯一替换方式是降低操作频率,该替换方式效率较低并且可能甚至不起作用。
[0065]通常,为了在数据处理系统没有任务要执行时节省功率,数据处理系统完全停止时钟(零频率)。这具有将动态功率减小到零的效果。除了停止时钟之外,数据处理系统还可以移动到更低的电压电平。这具有呈指数减小泄漏功率的效果,如图3B所示,图3B示出泄漏功率(Pleak)与电源电压的关系。该操作点通常被称为空闲状态。
[0066]至少这里描述的某些实施例通过使用智能决定的强制空闲操作来允许系统工作在最小功率操作点(例如Pjo I)以下,在至少某些实施例中,该智能决定的强制空闲操作基于实际空闲时间和目标空闲时间之间的比较(如下面将描述的图18和19所示)来强制进入空闲状态(即使有任务要执行,例如有等待被执行的软件指令);这种强制的空闲操作是智能的,因为可能存在比较结果显示空闲状态不应被强制的时间(例如,当已经存在充分的空闲时间时)。
[0067]在一个实施例中,通过在最低功率操作点处连续操作数据处理系统,并且通过对于该操作时间(例如,一个时钟周期)的某一百分比(例如,20%)强制该数据处理系统进入空闲状态,创建了低于最小功率操作点的额外操作点。具有20 %强制空闲的最小操作点(该时间的20%中系统被强制空闲)的有效功率是最小操作点的功率的0.8倍加上空闲状态的功率的0.2倍。由于空闲状态的功率非常低,该具有智能决定的强制空闲的新操作点代表了功率比最小操作点小的一个点。
[0068]在一个实施例中,强制的空闲状态是在数据处理系统的任意功率操作点上提供的。例如,强制的空闲状态可以在功率操作点301、302和303中的任意一个上提供,并且这些强制空闲状态创建了可能在某些实施例中有用的中间点。
[0069]在实现强制空闲方案时存在很多重要考虑。某些软件任务(例如,多媒体回放)需要实时响应并且可能不能承受延迟。很多硬件设备需要它们的软件驱动器在固定的等待时间之内对它们作出响应,否则可能导致不正确的操作。某些软件线程(例如实时任务、中断)无法经受强制空闲操作。强制空闲的适当实现方式需要将这些问题纳入考量(但是这不是取决于所实现的系统的需求的要求)。在一个实施例中,操作系统(OS)内核对例如哪些线程可以被保持关断(Off)保持跟踪,这要求独立于强制空闲设置的立即操作。该内核负责保证在存在实时线程时维持长时间的平均强制空闲百分比。在一个实施例中,在内核中的调度器对在数据处理系统上运行的所有进程/线程执行强制空闲操作。在一个实施例中,操作系统(“OS”)调度器机制被用于提供强制空闲。
[0070]图4是示出根据本发明的一个实施例,在数据处理系统持续操作时强制该系统进入空闲状态的示图。如图4所示,数据处理系统在第一部分(例如,操作时间(例如时间T3(401))的部分T2 (403))被强制进入空闲状态S2 (406),而在第二部分(例如,操作时间(例如时间T3 (401))的部分T1 (402)),系统持续工作在全(例如100%)操作状态SI (407)中。在一个实施例中,数据处理系统在任意相应的操作电压所允许的操作频率下持续工作在状态SI (407)中。在一个实施例中,数据处理系统在以最低电压所允许的最大频率持续工作在工作状态SI (407)中时被强制进入空闲状态。如图4所示,数据处理系统在时间h、t2、t3和14被强制进入空闲状态。
[0071]图5A是示出根据本发明的一个实施例在数据处理系统持续操作时强制该系统进入空闲状态的示图。如图5A所示,当系统以某一操作频率和电压持续工作时间的一部分(例如,时间T1 (506)的部分502)时,基于一个或多个约束参数,系统被强制进入空闲状态达时间的另一部分(例如,时间T1的部分504)。在一个实施例中,时间T1是数据处理系统的时钟周期(例如T?Ι/f)。在一个实施例中,空闲状态防止系统执行指令。在一个实施例中,时钟在系统处于空闲状态时停止(操作频率为零)。如图5A所示,强制系统处于空闲状态的调制比被保持恒定,从而使得系统在空闲状态所花费的时间部分和系统在全操作状态所花费的时间部分保持基本相同。
[0072]图5B是示出根据本发明的另一实施例在数据处理系统持续操作时强制该系统进入空闲状态的示图。如图5B所示,当系统处于强制空闲状态时,在时间h接收到中断I(508)。系统响应于中断I被切换回到工作在以某一频率和电压的全(例如100%)操作状态中,如图5B所示。在一个实施例中,响应于中断从空闲状态到全操作状态的切换是基于实际空闲时间和目标空闲时间来执行的,如下面将更详细描述的。在服务了中断I之后,系统被切换回到强制空闲状态。系统可以保持在强制空闲状态中持续空闲时间512,如图5B所示。在一个实施例中,空闲时间512可以基于系统约束参数并且基于系统为了服务中断I而在全操作状态中花费了多少时间(时间510)来确定。如图5B所示,在系统处于空闲状态时,在时间t2接收到中断2。系统响应于中断2被切换回到工作在全(例如100%)操作状态中。系统可以保持在全操作状态中持续时间518,如图5B所示。在一个实施例中,时间518是基于系统约束参数和所累积的空闲时间量来确定的。在一个实施例中,所累积的空闲时间是在数据处理系统的一个或多个时钟周期上确定的。如图5B所示,在服务了中断之后,系统被强制回到空闲状态达时间520,然后被切换到全操作状态以在时间522期间进行操作,该时间522可以由系统约束参数和所累积的空闲时间来确定,如下所述。就是说,系统被允许在强制空闲状态期间的任何时候基于热/功率约束而对中断进行服务以操作高优先级的任务,所述热/功率约束对系统的响应性是非常重要的。
[0073]另一重要考量是强制空闲和数据处理系统在连续的强制空闲状态中可以花费的最大时间的调制比。如果用于使能和禁止指令执行(例如,为了执行计算)的调制比过快,则将花费极大的功率和计算能量来管理强制空闲循环的开销。如果用于使能和禁止指令执行的调制比过慢,则较高的空闲百分比将导致相当长的强制空闲时段。在一个实施例中,提供如下控制:较低百分比的强制空闲时段全部以基本相同的比率运行,如下面将更详细描述的。在一个实施例中,当强制空闲百分比达到空闲时间处于所需的最大值的阈值时,空闲比率开始增大,以使得永远不会超过最大空闲时间,如下面将更详细描述的。
[0074]图7是强制数据处理系统进入空闲状态的方法700的一个实施例的流程图。方法开始于操作701,该操作包含监视工作在第一频率和第一电压的数据处理系统的约束参数。该约束参数可以是数据处理系统所消耗的功率、数据处理系统的温度、提供到数据处理系统的电流、被耦合以向数据处理系统供电的电池的负载、等等。约束参数可以使用如上所述的一个或多个传感器来监视和测量。方法700继续到操作702,该操作包含当基于约束参数系统持续工作在第二频率和不同于(低于)第一电压的第二电压时,强制系统进入空闲状态。在一个实施例中,强制数据处理系统进入空闲状态包含防止指令被系统执行。在一个实施例中,当系统处于空闲状态时的时间段是分散的,和/或被当系统工作在较高性能水平时的时间段所交织,从而使得系统所消耗的平均功率不会超过从系统的功率和/或热约束所确定的最大平均功率。就是说,强制空闲状态的占空操作(duty cycling)可以按照如下速率来执行:该速率使得用户不需要知道它们的机器发生了什么,如下面将更详细描述的。在一个实施例中,强制空闲状态的占空操作完全在频域中执行。强制空闲操作机制将数据处理系统的功率管理扩展到超出最小功率操作点,例如图3A所示的匕(301)。
[0075]图8是强制数据处理系统进入空闲状态的方法800的一个实施例的流程图。方法开始于操作801,该操作包含监视工作在第一频率和第一电压的数据处理系统的约束参数(例如,实际功率、温度、电流、电池负载等约束参数或它们的任意组合)。方法继续到操作802,该操作包含判断约束参数是否大于第一约束参数阈值。约束参数阈值可以与数据处理系统的规范功率、温度、电池负载、电流相关联。约束参数阈值可以是针对数据处理系统的多个子系统(例如图1B和2所不的子系统)有效的最坏情况值。在一个实施例中,约束参数阈值可以例如是从多个测量样本的统计分布曲线确定的最坏情况功率、温度、电流或电池负载值。在一个实施例中,测量出的约束参数(例如实际测得的功率、温度、电流、电池负载或它们的任意组合)被与约束参数阈值相比较,以判断测量出的约束参数是否大于或等于第一约束参数阈值。如果约束参数不大于或等于第一约束参数阈值,则在操作803判断约束参数是否小于第二约束参数阈值。第二约束参数阈值可以通过从第一约束参数阈值减去一滞后量(hysteresis)来确定。如果约束参数小于第二约束参数阈值,则可以在操作804增大操作点(例如,频率、电压),然后方法800返回到操作801。如果约束参数不小于第二约束参数阈值,方法则返回操作801。如果约束参数大于或等于第一约束参数阈值,则在操作806判断数据处理系统的第一操作电压和/或第一操作频率是否可以被进一步降低。接下来,如果确定可以降低第一操作电压和/或第一操作频率,则在操作805降低操作功率点(例如频率和/或电压),然后方法800返回操作801。例如,如果第一操作电压对应于中间操作电压(例如Vn)和/或第一操作频率对应于中间操作频率(例如fN),如图3A所示,则可以通过将电压和/或频率例如降低到最低操作频率4和/或电压 '来向下移动操作功率点。如果确定第一操作电压和/或第一操作频率无法降低,则在数据处理系统持续操作在第一操作频率和第一操作电压的同时在操作807强制系统进入空闲状态。在一个实施例中,第一操作电压是否是最小操作电压被判断。在一个实施例中,如果第一操作电压是最小操作电压并且监视到的实际约束参数大于约束参数阈值,则强制系统进入空闲状态。在一个实施例中,强制数据处理系统进入空闲状态包含防止指令被数据处理系统所执行。在一个实施例中,如果系统没有工作在最小电压并且监视到的实际约束参数大于约束参数阈值,则降低系统的操作点(例如,频率和/或电压)。
[0076]在一个实施例中,工作在第一频率和第一电压下的系统的空闲状态的百分比是基于约束参数来确定的。例如,空闲状态的百分比可以基于约束参数来减小或增大。
[0077]图9是基于约束参数强制数据处理系统进入空闲状态的方法900的一个实施例的流程图。方法900开始于操作901,该操作包含监视数据处理系统的约束参数(例如,实际使用的功率、实际温度、电流、电池负载或它们的任意组合),如上所述。在操作902,判断约束参数是否大于或等于约束参数阈值,如上所述。在操作904,如果确定约束参数大于或等于约束参数阈值,则增大强制空闲状态相对于总操作时间的百分比(部分)。如果确定约束参数不大于或等于约束参数阈值,则可以在操作903可选地增大强制空闲状态的百分比。
[0078]返回参考图4,基于约束参数,空闲状态部分T2被增大到IV (405),全操作状态部分T1被减小到T1' (404)。
[0079]图6不出包括关于空闲状态的信息的表600的一个实施例。如图6所不,表600包括如下列:空闲比、空闲速率和空闲时间。在一个实施例中,较低百分比(例如,最大30%)的强制空闲周期全部以相同速率运行。当强制空闲百分比达到使得空闲状态所花费的时间(空闲时间)处于所需最大值的阈值时,则空闲速率开始增大,以使得不会超过最大空闲时间。如图6所示,当空闲比小于或等于30时,空闲速率可以维持在恒定值30000微秒,并且空闲时间随空闲比增大而增大。如图 6所示,如果空闲比变为大于30,则空闲速率增大,而空闲时间可以保持在10000微秒的恒定值。
[0080]图12是用于管理数据处理系统的功率到目标功率的方法1220的一个实施例的流程图。方法1220开始于1200。在1201,执行初始化,其中积分误差(Integral Error)被设置为零(“Integral Error=。”)。在一个实施例中,积分误差被定义为数据处理系统的测得功率和目标功率之差。在操作1202,方法1200等待下一样本间隔以测量数据处理系统的功率。在操作1203,数据处理系统的目标功率和测得功率被接收。在一个实施例中,功率是使用一个或多个传感器(如上所述)在样本时间间隔期间测得的。数据处理系统的目标功率基于一个和多个系统约束参数和数据处理系统的所需性能来确定,如上所述。在操作1204,在样本间隔期间测得的功率与数据处理系统的目标功率之差(“误差”)被确定。在操作1205,确定累积误差(“积分误差”)。在一个实施例中,在多个样本间隔上累积的积分误差被确定。在一个实施例中,在数据处理系统的一个或多个时钟周期上累积的积分误差被确定。在操作1206,确定时间(例如,数据处理系统的一个或多个时钟周期和/或样本间隔)上的积分功率(“PI”)。在一个实施例中,PI是通过使用以下公式将控制系统增益“G-term”应用到误差和积分误差来计算的:
[0081]PI=Gp*Error+Gi Integral^Error, (I)
[0082]其中,Gp可以与对在样本间隔上确定误差的加权因子相关联,Gi与对积分误差的加权因子相关联。
[0083]在操作1207,判断积分功率(“PI”)是否大于上阈值(“+阈值”)。如果PI大于上阈值,则在操作1209减小操作功率点。如果PI不大于上阈值,则在操作1208判断PI是否小于下阈值。如果PI小于下阈值,则在操作1210增大操作功率点。[0084]图15是无需强制空闲而降低操作功率点(1501)的方法1500的一个实施例的流程图。在操作1502,判断频率和/或电压是否在最低(最小)水平。如果频率和/或电压不在最低水平,则在操作1503减小频率和/或电压。如果频率和/或电压在最低水平,方法1500则在1504结束。但是,在很多情况下,该最低水平可能不足够,并且可以使用智能的强制空闲操作来获得在该最低水平上的更好性能。
[0085]图16是包括强制空闲的降低操作功率点(1601)的方法1600的一个实施例的流程图。在操作1602,判断频率和/或电压是否在最低水平。如果频率和/或电压不在最低水平,则在操作1603减小频率和/或电压。如果频率和/或电压在最低水平,则在操作1604判断强制空闲百分比是否在最大空闲百分比水平。如果强制空闲百分比不在最大空闲百分比水平,则在操作1605增大强制空闲百分比。方法1600在1606结束。
[0086]图13是无需强制空闲而增大操作功率点(1301)的方法1300的一个实施例的流程图。在操作1303,判断频率和/或电压是否在最高(最大)水平。如果数据处理系统频率和/或电压不在最大水平,则方法继续到操作1303,该操作包含增大数据处理系统频率和/或电压。如果频率和/或电压在最高水平,则方法1300结束。
[0087]图14是包括强制空闲的增大操作功率点(1401)的方法1400的一个实施例的流程图。在操作1402,判断强制空闲百分比是否为0%。如果强制空闲百分比不是0%,则在操作1403减小强制空闲百分比。如果强制空闲百分比是0%,则在操作1404判断频率和/或电压是否在最高水平。如果频率和/或电压不在最高水平,则在操作1405增大频率和/或电压。方法在1406结束。
[0088]图17是为数据处理系统提供强制空闲状态的方法1700的一个实施例的流程图。如图17所示,方法1700开始于操作1701,该操作包括监视数据处理系统的一个或多个约束参数,如上所述。方法继续到操作1702,该操作包含基于这一个或多个约束参数,强制数据处理系统在时间的第一部分中进入空闲状态,而允许系统在时间的第二部分中进行操作。该强制是响应于目标空闲时间和实际空闲时间之间的比较的。
[0089]图18是从强制空闲状态进行切换的方法1800的一个实施例的流程图。方法1800开始于操作1801,该操作包含基于数据处理系统的一个或多个约束参数确定目标强制空闲时间。例如,目标强制空闲时间可以通过将操作周期(例如,数据处理系统的时钟周期)乘以空闲比来确定。在一个实施例中,空闲比与空闲时间相对于总操作时间的部分相关联,如上所述。在一个实施例中,空闲比是基于系统功率/热约束和系统性能来确定的。方法继续到操作1802,该操作包含监视数据处理系统已经在空闲状态中花费的实际时间(“实际空闲时间”)。在一个实施例中,实际空闲时间由一个或多个传感器测量并被存储在系统的存储器中,用来提供在系统的一个或多个时钟周期上的累积空闲时间。在一个实施例中,累积空闲时间是在系统的一个或多个时钟周期上确定的。
[0090]在操作1803,累计的空闲时间基于实际空闲时间被确定。在操作1804,判断累积的空闲时间是否大于或等于目标空闲时间。如果累积空闲时间大于或等于目标空闲时间,则允许系统基于目标空闲时间和累积空闲时间、在操作1805从空闲状态切换到全操作状态持续该时间的一部分。在一个实施例中,系统被从空闲状态切换以持续操作工作时间的一部分。在一个实施例中,空闲状态防止数据处理系统执行等待被执行的软件指令。在一个实施例中,数据处理系统的存储器存储一个或多个查找表,这些查找表包括与一个或多个约束参数相关联的目标空闲时间。
[0091]图19是提供强制空闲状态的方法1900的一个实施例的流程图。方法1900开始于1901,该操作包含开始强制空闲状态。在操作1902,判断数据处理系统被允许运行的时间与强制空闲时间之比(“操作比”)是否小于100。如果操作比小于100,则在操作1903使用以下公式确定空闲百分比(部分):
[0092]max_idle= ((100 -操作比)*Period)/100, (2)
[0093]其中,Period代表系统的时钟周期T=l/f,其中f是系统的频率。
[0094]接下来,在操作1905判断空闲百分比是否大于最近空闲(“last_idle”)。在一个实施例中,最近空闲是从先前的时间(例如,系统的时钟周期)确定的。如果max_idle大于last_idle,则在操作1907通过根据以下公式考虑到最近空闲来计算累积空闲:
[0095]max_idle=max_idle - last_idle, (3)
[0096]如果max_idle不大于last_idle,则在操作1906将max_idle设置为O。然后,方法1900继续到操作1908,该操作包含根据以下公式确定允许数据处理系统进行操作的周期的结尾:
[0097]period_end=now+Period, (4)
[0098]其中,“now”是当前时间,“Period”是时钟周期。
[0099]接下来,在操作1909,根据以下公式确定目标空闲时间(“idle_goal”):
[0100]idle_goal=accumulated_idle+最大空闲, (5)
[0101]其中,“accumulated_idle”是从一个或多个先前时间(例如,时钟周期)累积的空闲时间的总量,“最大空闲”是最近的空闲时间。
[0102]此外,在操作1910,判断累积空闲是否小于idle_goal。如果累积空闲小于idle_goal,则只允许高优先级线程在操作1914运行。数据处理系统(例如CPU)在操作1915被强制进入空闲状态持续最多max_idle时间。在一个实施例中,中断使系统退出空闲状态。在考虑到中断的情况下,针对数据处理系统在强制空闲状态中所花费的时间量对累积空闲进行更新。然后,方法1900返回操作1910。如果累积空闲不小于idle_goal,则在操作1911将空闲开始时间设置为accumulated_idle。方法1900继续到操作1912,该操作包含允许任何线程运行,直到在操作1908所确定的periocLend。在操作1913,根据以下公式确定last—idle:
[0103]last—idle=accumulated—idle -1dle—start, (6)
[0104]然后,方法1900返回操作1902。
[0105]如图18和19所示的智能强制空闲操作可以与在如下美国申请中所描述的功率和/或热管理技术中的一种或多种结合执行:2005年8月25日递交的美国申请N0.11/212,970和/或2006年I月5日递交的美国申请N0.11/327,685。例如,智能强制空闲操作可以通过对功率用量取平均来使用,以允许动态确定针对未来时间间隔的可允许的功率预算;图10和11是来自美国申请N0.11/212,970,并且与使用功率用量的平均的实施例相关,并且这些实施例和附图在该申请中有进一步描述。
[0106]在前述说明书中,已经参考特定示例性实施例描述了本发明的实施例。将会发现,在不脱离本发明的更广阔精神和范围的情况下可以作出各种修改。因此,认为说明书和附图是示例性而非限制性的。[0107]相关申请
[0108]本申请与2008 年 I 月 7 日递交的 Keith Cox、David Conroy、Michael Culbert和 Guy Sptpmayor 的题为“Forced Idle of a Data Processing System”的美国专利申请N0.11/970,483 相关(律师卷号 N0.4860P6078)。
【权利要求】
1.一种机器实现的方法,包括: 监视工作在第一频率和第一电压的系统的约束参数; 基于对所述约束参数的监视强制所述系统进入空闲状态,其中在所述空闲状态中通过至少将所述第一电压降低到第二电压来防止指令被执行,其中,在所述空闲状态中,没有指令被处理器执行,并且同时所述系统操作于第二频率和所述第二电压,所述第二电压低于最小操作电压并且大于零伏特, 其中,强制所述系统进入空闲状态包括在总操作时段的预定部分强制所述系统进入所述空闲状态,并且在所述总操作时段的剩余部分在第一电压和第一频率操作所述系统,从而形成强制的空闲状态与操作状态的轮流占空周期。
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所述的数据处理系统,还包括: 用于基于所述约束参数确定工作在所述第一频率和所述第一电压的所述系统处在所述空闲状态的百分比的装置,并且所述第二频率大于零并小于所述第一频率,并且其中所述第二电压大于零并小于所述第一电压。
【文档编号】G06F1/32GK103593041SQ201310447402
【公开日】2014年2月19日 申请日期:2008年12月22日 优先权日:2008年1月7日
【发明者】基思·考克斯, 大卫·G·康罗伊, 迈克尔·库伯特 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1