一般来说,通过提供一种用于减小微处理器的功率消耗地方法和装 置满足了这些需要。应当理解,本发明可以用多种方式实施,包括作为 一种方法,一种系统或一种设备。以下描述本发明的若干创造性实施方 案。
在本发明的一个方面,提供了一种基于应用要求适配微处理器功率 消耗的方法。该方法基于当前的处理操作开始确定应用需求。然后,确 定该应用需求相关的时间间隔。然后,确定该应用需求的非必要功率消 耗功能。然后,对于该时间间隔减小非必要功率消耗的时钟频率。在一 个实施方案中,到非必要功率消耗功能的功率被停止。在另一个实施方 案中,对于该时间间隔的至少一部分,调节微处理器的时钟频率。
在本发明的另一个方面,提供用于适配微处理器处理功率的方法。 该方法开始时追踪一时间间隔的负载
水平。然后,监视该时间间隔期间 的空闲时间。然后,确定足以提供用于所述负载水平的功率的微处理器 最大处理功率的百分比。然后,将微处理器的处理功率调节到所确定的 百分比。在一个实施方案中,追踪多个负载水平。在另一个实施方案中, 该多个负载水平被与运动图像专家组(MPEG)标准的
帧(frame)相关联。
在本发明的另一个方面,提供用于适配
计算机系统功率消耗的程序
接口。该程序接口包括调节微处理器时钟频率的接口。该接口能够根据 所确定的处理负载水平调节时钟频率,其中,时钟频率的调节被定义为 随时间而变化的函数。在一个实施方案中,该程序接口包括调节微处理 器
电压的接口。在该实施方案中,该接口能够根据所确定的负载水平调 节电压,其中电压的调节被定义为随时间而变化。
在本发明的仍然另一个方面,提供了用于适配计算机系统功率消耗 的处理器指令。该处理器指令包括计算机代码,该代码配置用于引发微 处理器时钟频率的调节。该计算机代码能够根据所确定的处理负载水平 调节时钟频率,其中时钟频率的调节被定义为随时间而变化。在一个实 施方案中,处理器指令包括计算机代码,该代码配置用于引发微处理器 电压的调节。在该实施方案中,计算机代码能够根据所确定的处理负载 水平调节电压,其中电压的调节被定义为随时间而变化。
在本发明的另一个方面,提供了处理器装置。该处理器装置包括指 令
解码器,其配置用于识别向控制寄存器写值的指令。该控制寄存器影 响用来钟控处理器装置的时钟频率。在一个实施方案中,处理器装置包 括指令解码器,其配置用来识别向控制寄存器写值的指令。在该实施方 案中,控制寄存器影响用来为处理器装置提供功率的电压源。
由利用
实施例来说明本发明原理的以下详细描述,结合
附图,本发 明的其他方面和优点将变得显而易见。
描述了基于应用要求适配微处理器功率消耗的装置和方法的发明。 但是,对于本领域技术人员显而易见的是,可以实施本发明而不需要这 些具体细节的一些或全部。在其它情况下,为了不会不必要地使本发明 不清楚,没有详细描述公知的过程操作。
本发明的实施方案提供一种方法和装置,其通过基于应用需求预测 负载水平来使微处理器的功率消耗最小化。在一个实施方案中,通过应 用水平获取的预测知识,这基于当前执行的过程操作,确定即将到来的 时间周期必需的负载水平,应当理解,该应用使用
修改时钟速度或供给 微处理器的电压所产生的预测知识,而不是基于过去性能的调整。在一 个实施方案中,通过在微处理器与应用水平之间的反馈回路,能够进行 本文所述的前瞻性方法。预测知识可以用来启动所选择的功能或微处理 器内的域(domain),使它们的时钟频率设定为零。另外,基于一时间间 隔上所需的负载,通过设定时钟频率和/或电压,可以调高或调低微处理 器速度。
图1是根据本发明的一个实施方案,基于应用需求具有启动调节功 率消耗的微处理器的系统的高级示意图。装置100包括中央处理器 (CPU)102、
存储器110和图形处理器(GPU)106,其各自与支持
芯片组108 (例如Northbridge和Southbridge芯片)相联系。正如所公知的,芯片 组108控制与存储器110、外设部件互连(PCI)总线、二级缓存、和所有
加速图形端口(AGP)活动的交互。所以,芯片组108通过AGP总线耦合 到图形卡118。在一个实施方案中,Northbridge芯片组108还可以包括 作为集成图形处理器(IGP)的功能。在其他实施方案中,芯片组108可以 并入CPU102和/或GPU106中。CPU102包括控制寄存器114,其响应 控制CPU时钟速度的指令。还包括基本输入/输出系统(BIOS)112。
仍然参见图1,功率调节接口104a和104b分别与CPU102和 GPU106相联系。应当理解,GPU106还包括响应控制GPU的时钟速度 的指令的控制寄存器。在一个实施方案中,功率调节接口104a和104b 是应用程序接口(API)。在另一个实施方案中,功率调节接口104a和104b 是
操作系统(OS)接口。在仍然另一个实施方案中,功率调节接口104a 和104b是新的处理器指令,其配置用来设定处理器的时钟频率。因此, 本发明所述的接口包括针对要执行的应用的异常分支(hook),因为该应 用提供确定CPU性能的未来需求的措施。反过来,对于与预定应用需求 相关的特定时间间隔,可以调整CPU的电压和时钟速度。对本领域技术 人员显而易见的是,尽管这里使用CPU作为例子,但是本文所述的实施 方案适用于任何合适的处理器。
图2是图1的系统的示意图,其提供了根据本发明的一个实施方案 的处理器的功率调节接口的更详细描述。这里,装置100包括与CPU 102、GPU106和存储器110相连的芯片组108。还包括BIOS112。功率 调节接口104a包括互补金属
氧化物
半导体(CMOS)电可擦可编程只读存 储器(EEPROM)116和
软件应用程序接口(API)118。应用程序120与API 118相连,因此未来的应用需求可以连通到API118,其又向EEPROM116 中的软件提供应用需求。因此,通过向控制CPU时钟速度的控制寄存器 114写数据,在EEPEOM116中的软件可以设定CPU102的频率。在一 个实施方案中,功率调节接口104a和104b分别控制供给到CPU102 和GPU106的电压。在另一个实施方案中,功率调节接口104b可以包 括与功率调节接口104a相同的元件。应当理解,如关于图3更详细讨论 的,功率调节接口104a和104b可以不同地配置。
本领域技术人员将会清楚的是,图1和2的设备100可以是具有微 处理器的任何合适的电子设备。例如,设备100可以是便携式设备,如 便携式计算机、蜂窝电话、个人数字助手等。尽管本文所公开的自适应 功率消耗性质延长了便携式电子设备的电池寿命,但是本发明不限于便 携式电子设备。例如,设备100可以与台式计算机相关。尽管电池寿命 对于台式系统不是问题,但是本文所公开的实施方案将会节能。另外, 功率调节接口104可以与任何合适的处理器,包括CPU、GPU、网络处 理器(NPU)、储存处理器(SPU)等相关联。各种处理器描述于2002年5 月13日提交的题为“Method and Apparatus For providing An integrated Network ofprocessors(提供处理器集成网络的方法和装置)”的美国
专利 申请中,系列号为10/144,658,其并入本文作为参考。
图3是根据本发明的一个实施方案,配置用来适配微处理器功率消 耗的接口的示意图。微处理器122包括控制寄存器124,在控制寄存器 中设定时钟频率。接口126与微处理器122相联系。更具体地,配置接 口126向控制寄存器124写入,以适配微处理器122的功率消耗。在接 口126与应用120之间的连接提供将微处理器122适配于负载水平所必 需的反馈。在一个实施方案中,应用120与
驱动器和/或应用程序接口(API) 形式的接口126相联系。在另一个实施方案中,通过包含在微处理器122 内的指令解码器对提供数据到控制寄存器的指令进行解码。配置指令解 码器来识别向控制寄存器124写值的特定指令。本领域技术人员将会理 解,在一个实施方案中,所述指令可以是特权指令。应当理解,对于每 个水平的应用需求,前瞻性应用需求的反馈可以允许该功率即时钟频率 表现为“准时(just in time)”供应功率或时钟频率。
本领域技术人员将会理解,接口126可以是API形式的,如参考图 2所讨论的,或者是操作系统接口。例如,操作系统接口可以在操作系 统(OS)处于空闲模式时将微处理器122置于低功率状态。由接口126提 供的应用特定调节可以将微处理器122置于低功率模式,但是,微处理 器足够快地被使能返回至高功率模式而不会引起任何延迟。也就是说, 对于低功率模式之后的较高功率要求,微处理器醒来,因此不产生延迟。 当接口126是API时,可以通过频率图或表格规定的频率提供一个
指定 的时间周期的时钟速度,即频率。在一个实施方案中,API处于ring3 级,其可以调用ring0驱动。本领域技术人员将会理解,所提供的表或 图形有助于消除由模式切换导致的任何额外开销(overhead)。在一个实施 方案中,接口126是用于适配微处理器122的功率水平或时钟频率的一 组指令。
图4是根据本发明的一个实施方案,显示运动图像专家组(MPEG) 标准的不同帧的表,这里在每个帧之间的时间间隔与微处理器供给的频 率相关。对于在具有该实施方案的便携式计算机上的数字视频盘(DVD) 回放,可以实现明显的节能。如公知的,MPEG压缩技术包括三种类型 的帧,内(I)帧、预测(P)帧和双向(B)帧。这里,可以监视在解码期间的 内帧负载,来适配每帧的功率消耗。用MPEG标准,每帧所要求的处理 功率在三种(I、P和B)帧类型之间急剧变化。也就是说,在使用基于GPU 的MPEG解码加速器时,双向帧的负载明显小于内帧的负载。通常,对 于在CPU上作任何事的情形,该负载是相反的。因此,对于双向帧,微 处理器可以减速,而对于内帧,微处理器可以恢复升高。
在一个实施方案中,图4的表可以通过图2和3的接口提供。行 130包含频率(fI、FP和fB),微处理器在这些频率分别对I、P和B帧运行。 列132表示运行每帧的特定频率的时间周期。例如,时间周期x0至xn 对应于连续的I帧0-n。对于与P帧和B帧相关的时间周期这是成立的。 另外,除了对每个连续的帧具有多个时间周期以外,单一的时间周期可 以应用于每个帧类型。例如,表128由其中一个时间周期与每个帧类型 相关的行134组成。对特定视频接口126可以用来设定表128的值一次, 或者周期性更新所述值。周期性更新表128的值可以引起改变解码时间 周期。例如,通过使用预测
滤波器(即基于过去值产生将来值的估计的滤 波器),可以设定解码时间周期。如数字
信号处理领域中已知的。
仍然参考图4,一旦
视频帧被解码,微处理器可以进入睡眠模式, 此时仅提供足够的功率来保持时间。例如,在使用目前可得到的基于 GPU的MPEG解码加速器时,解码与MPEG标准相关的视频帧的时间 约为3毫秒。典型的显示速度为每秒24帧,转换成显示每帧42毫秒。 所以,如通过接口所指示的,在帧之间,微处理器可以进入睡眠模式39 毫秒。在便携式计算机上看电影期间,节能累加到显著的水平。在一个 实施方案中,微处理器在1毫秒内从睡眠模式转变出来。因此,探试可 以通过该接口提供,以便基于每帧的空闲时间百分比来关小CPU和 GPU。此外,在DVD回放操作过程中,GPU可以关闭不用的
硬件组件。 例如,当便携式计算机以全屏模式操作时,不需要二维或三维图形管线。 因此,可以配置该接口来关闭不需要的硬件组件。应当理解,关于DVD 回放应用的接口实例是用于举例说明目的的,并不意味着是限制性的, 因为所述接口可以配制用于适配任何合适应用的微处理器的功率。
图5是根据本发明的一个实施方案,基于应用要求适配微处理器功 率消耗的方法操作的流程图。该方法开始于确定应用需求的操作140。 这里,应用需求基于当前的处理操作。例如,处理操作可以是影片的DVD 回放、
计算机程序、视频编辑、文字处理等。
该方法然后进行到操作142,在该操作中确定与所述应用需求相关 的时间间隔。该时间间隔是某些应用需求需要的时间周期,例如在影片 的DVD回放的帧之间中的时间周期。该方法然后进行到操作144,这里 确定非必要功率消耗功能。例如,如果计算机仅仅进行不需要任何三维 处理的DVD回放,则可以关闭三维管线。该方法然后进行至对于非必 要功率消耗功能调节微处理器时钟频率的操作146。在另一个实施方案 中,对于所确定的时间间隔的一部分调节微处理器的时钟频率。
图6是根据本发明的一个实施方案对于负载水平调节微处理器功 率的方法操作的流程图。该方法起始于追踪负载水平一时间间隔的操作 150。这里,负载水平与对微处理器的应用需求相关。在一个实施方案中, 可以监测多个负载水平,例如关于图4讨论的MPEG标准的不同帧的负 载水平。该方法然后进行至监视该时间间隔过程中的空闲时间的操作 152。这里,微处理器可以完成一个操作,例如在小于显出一帧所需时间 间隔的某一时间内解码该帧。因此,微处理器对于一段时间将以全功率 处于空闲。该方法然后进行至操作154,这里确定对于该负载水平足够 的微处理器最大处理功率的百分比。例如,微处理器可以处于睡眠模式, 并且在空闲时仅需要提供追踪时间足够的功率。可选择地,微处理器可 能需要小于全功率(100%)的某一百分比的功率。
该方法然后进行至操作156,这里将微处理器的处理功率调节到所 确定的百分比。这里,可以提供一个接口,在该接口处将指令发送到控 制寄存器,以改变微处理器的时钟速度或电压,如参考图1-4所讨论的。 所述接口可以是API或OS接口,微处理器可以是CPU、GPU、NPU或 SPU。在一个实施方案中,关于同步事件,API可以根据时间来改变时 钟频率或电压,例如如上所述的视频帧的解码。
总之,上述实施方案可以根据需要适配微处理器的功率消耗。所述 需要由应用需求决定,而应用需求通过接口与微处理器相联系,该接口 被配置用于写入微处理器的频率控制寄存器。在一个实施方案中,控制 寄存器是某些市售微处理器中包含的浮点控制寄存器。关于DVD回放, 本文所述的实施方案可以在视频帧播放之间使能适配微处理器进入睡眠 模式,明显节能。反过来又延长在两次充电之间的电池寿命。因此,在 便携式计算机上可以容易地实现影片的观看,而无需切换多个
电池组来 完成影片的观看。
了解了上述实施方案,应当理解,本发明采用各种计算机实施的操 作,涉及计算机系统中储存的数据。这些操作包括要求物理量的物理处 理的操作。通常,尽管没有必要,这些量采用能够被储存、传输、组合、 比较、以及处理的电或磁信号形式。此外,所进行的处理常常明确地提 及,例如产生、识别、确定或比较。
形成本发明一部分的本文所述的任何操作是有用的机器操作。本发 明还涉及进行这些操作的设备或装置。所述装置可以为了所要求的目的 特别构造,或者它可以是由计算机中储存的计算机程序选择性激活或配 置的通用计算机。具体地,可以使用具有根据本发明的教导编写的计算 机程序的各种通用机器,或者更方便的是构造更特定的装置来进行所要 求的操作。
本发明还可以在计算机可读介质上以计算机可读代码形式来实施。 计算机可读介质可以是任何数据储存设备,它可以储存然后由计算机系 统读出的数据。计算机可读介质的实例包括
硬盘驱动器、网络附属存储 器(NAS)、
只读存储器、
随机存取存储器、CD-ROM、CD-R、CD-RW、 磁带、和其它光学和非光学数据存储设备。计算机可读介质还可以分布 在网络耦合的计算机系统上,因此计算机可读代码可以以分布形式储存 和执行。
简而言之,本发明公开了根据应用要求适配处理器功率消耗的方 法。该方法起始于根据当前的处理操作确定应用需求,然后,确定与该 应用需求相关的时间间隔。然后,确定该应用需求的非必要功率消耗功 能。然后,对于该时间间隔减小非必要功率消耗功能的时钟频率。在一 个实施方案中,对于非必要功率消耗功能,停止供应功率。在另一个实 施方案中,对于该时间间隔的至少一部分调节处理器的时钟频率。用于 适配计算机系统功率消耗的程序接口、用于适配计算机系统和处理器的 功率消耗的处理器指令被包括在内。
尽管为了清楚理解的目的详细描述了上述发明,但是应当清楚,可 以在所附
权利要求范围内进行各种变化和修改。因此,本发明的实施方 案应当认为是说明性而非限制性的,并且本发明不限于本文中给出的细 节,而是可以在所附权利要求范围和等同物范围内进行修改。在权利要 求中,要素和/或步骤不隐含操作的任何特定顺序,除非在权利要求中明 确表述。