用于处理器系统中动态电源管理的方法及设备的制作方法

文档序号:6482814阅读:186来源:国知局
专利名称:用于处理器系统中动态电源管理的方法及设备的制作方法
技术领域
一般来说,本发明的领域涉及处理器系统,更具体但不是排他地来说,涉及处理器系统的电源管理。
背景信息在设计例如用于计算平台中的处理器系统时,计算平台(包括处理器)通常设计为提高性能。但是,特别在移动应用中,计算平台还设计成降低功耗。这些设计目标通常有冲突。
对这些目标的一种传统解决方案是提供让用户根据需要在高性能模式与省电模式之间切换计算平台的配置的装置。例如,计算平台可允许用户经由硬件开关或者经由计算平台所显示的菜单和对话框来选择预期模式。这种方式要求用户干预。

发明内容
根据本发明的若干方面,一种系统包括处理器和系统存储器,系统存储器存储使处理器以具有不同性能和/或功率消耗等级的多个运行状态其中之一工作的操作系统。在一个实施例中,操作系统响应由操作系统监测的处理器信息而选择运行状态。例如,处理器信息可以是处理器负荷历史记录。
在本发明的另一个方面,操作系统预测处理器信息的未来状态。在一个实施例中,操作系统根据所监测的处理器负荷历史记录来预测未来的处理器负荷。在这个方面的进一步细化中,操作系统可取预测和实际处理器信息的平均值以用于选择处理器运行状态。
在本发明的又一个方面,在监测处理器信息时,操作系统跟踪在所选样本窗口中出现的连续饱和样本的数量。操作系统根据连续饱和样本的数量进行未来处理器信息样本的预测。在进一步细化中,操作系统可改变窗口大小、用于定义饱和样本的门限、用于运行状态之间转变的门限和/或处理器信息的抽样率。
附图简介参照以下附图描述本发明的非限制且非穷举的实施例,其中,相同的参考标号在各个视图中表示相同部件,除非另有说明。


图1是根据本发明的一个实施例的示范计算机系统的简化框图。
图2是框图,说明根据本发明的一个实施例的动态电源管理系统。
图3是流程图,说明根据本发明的一个实施例、图2的系统的操作流程。
图4是流程图,说明根据本发明的一个实施例、图3所示的操作的操作流程。
图5A-5C是示意图,说明样本历史记录的各种实例的样本预测和平均。
优选实施例的详细说明图1说明具有根据本发明的一个实施例的动态电源管理的示范计算系统100。在这个实施例中,计算机系统100包括中央处理器102和外围设备1041-104x。中央处理器102经由一个或多个总线106连接到外围设备1041-104x。在一些实施例中,中央处理器102可包括外围设备控制器或“南桥”(未示出),用以与外围设备1041-104x通信。
在这个实施例中,中央处理器102包括处理器110和系统存储器112(通常以RAM和ROM实现)。处理器110经由一个或多个总线114连接到系统存储器112。在一些实施例中,存储器控制器(未示出)可用于在处理器110与系统存储器112之间传递信息。在其它实施例中,中央处理器102可包括多个处理器。
系统存储器112通常用来存储基本输入输出系统(BIOS)121、操作系统122、一个或多个应用程序123以及数据123。处理器110可以是任何适当的处理器装置,例如通用微处理器(例如可向若干厂商购买)、微控制器、数字信号处理器等。处理器装置的这个列表是代表性的而不是要穷举。
在这个实施例中,外围设备1041-104x可包括一个或多个监测器、存储驱动器(例如硬盘驱动器、软盘驱动器、CD-ROM驱动器、DVD驱动器、闪速存储器驱动器等)、打印机、扫描仪等。外围设备的这个列表是代表性的而不是要穷举。
根据本发明的实施例,操作系统122配置成通过根据所监测的处理器信息把处理器110配置为以若干运行状态之一工作,提供动态电源管理。下面更详细地描述这个动态电源管理。
图2说明根据本发明的一个实施例、以中央处理器102(图1)实现的动态电源管理系统200。在这个实施例中,动态电源管理系统200包括具有处理器监测器201以及电源/性能状态控制器(在本文中又称作状态控制器)203的操作系统122(图1)。动态电源管理系统200还包括一个或多个软件驱动器205和处理器电源/性能硬件207。在具有多个处理器的其它实施例中,动态电源管理系统200可在单个处理器中“运行”以便采用所有处理器来管理电源/性能。或者,多个处理器可分为若干组,其中各组的一个处理器采用其组中的各处理器来管理电源/性能。
在这个实施例中,处理器监测器201是在处理器110(图1)工作时监测一个或多个所选参数的模块。例如,处理器监测器201可监测处理器的工作负荷。这类监测器已经在大部分市场出售的操作系统中实现。
在这个实施例中,状态控制器203是根据处理器监测器201所监测的信息为处理器110(图1)确定运行状态的模块。在一个实施例中,状态控制器203实现为有限状态机。
驱动器205是向处理器硬件提供控制信号以改变处理器110(图1)的性能和/或功率消耗特性的模块。例如,在一些实施例中,驱动器205用来改变处理器110(图1)的时钟频率或“核心”电压以改变处理器110(图1)的性能/功率消耗特性。在这个实施例中,处理器电源/性能硬件207包括时钟发生器、核心电压调节器或者可改变处理器110(图1)的电源/性能特性的其它电路。
动态电源管理系统200的元件可按照下列方式互连。操作系统122的处理器监测器201经过耦合而与状态控制器203通信。状态控制器203经过耦合而与驱动器205通信,驱动器205又经过耦合而与处理器电源/性能硬件207通信。
另外,在一个实施例中,操作系统122具有允许用户向动态电源管理系统200提供输入的部件,如虚线箭头209所示。例如,操作系统122可使得显示允许用户提供输入的菜单和/或对话框。下面将更详细地描述,动态电源管理系统200的一些实施例具有各种用户可配置的参数(例如门限、历史记录大小等)。
图3说明根据本发明的一个实施例的动态电源管理系统200(图2)的操作流程。参照图2和图3,动态电源管理系统200按照下列方式工作。
在框302,对处理器信息抽样。在这个实施例中,处理器监测器201监测处理器110(图1)的操作的一个或多个参数。在一个具体实施例中,处理器监测器201监测处理器110(图1)的工作负荷,但在其它实施例中可监测不同的参数。例如,可监测调度程序信息(例如可运行线程数)或每个线程的统计数据(例如优先级、实时要求、调度总量的利用百分率)。在进一步细化中,处理器监测器201对处理器信息抽样的速率可以是用户可配置的。在一个实施例中,处理器信息最近的N个样本存储在样本历史记录中。在一些实施例中,N可以是用户可配置的。
在框304,处理器110(图1)的运行状态作为样本历史记录的函数来确定。在一个实施例中,状态控制器203选择处理器110(图1)可在其中工作的两个或两个以上可能的运行状态其中之一。例如,在一个实施例中,多个运行状态具有不同的处理器时钟频率和/或核心电压的组合。因此,可通过改变处理器的运行状态来改变处理器的性能和功率消耗特性。在一个实施例中,状态控制器203预测未来处理器信息样本,然后再取样本历史记录和预测样本的平均值。状态控制器203采用这个平均值来确定要选择什么运行状态。例如,平均值的范围可分为对应特定运行状态的子范围,其中由状态控制器203确定平均值属于哪个子范围。状态控制器203则使处理器110(图1)以对应于那个子范围的运行状态进行工作。下面结合图4更详细地描述框304的一个实施例。
在框306,处理器配置成以框304中所确定的运行状态进行工作。在一个实施例中,状态控制器203使驱动器205中的一个或多个来控制(根据需要)处理器电源/性能硬件207,从而把处理器时钟频率和/或核心电压改变为对应于所确定运行状态的等级。
图4说明根据本发明的一个实施例、框304(图3)的操作流程。参照图2和图4,框304的这个实施例按照下列方式执行。
在框402,处理器信息的样本被插入样本历史记录(未示出)。在一个实施例中,这个样本历史记录是在系统存储器112(图1)中存储的、用于存储N个最近样本的数据结构。在这个实施例中,过程监测器201把最近的样本插入样本历史记录。如果样本历史记录已满,则最早的样本被丢弃,而最近的样本则存储在空闲位置。
在框404中,根据样本历史记录来预测未来样本。在这个实施例中,状态控制器203确定未来样本的预测。在一个实施例中,预测基于连续大于所选门限的最近样本(在本文中又称作“饱和样本”)的数量。在那个实施例中,最近连续饱和样本的数量则与预选因子相乘。这个乘积(例如四舍五入为非负的整数P)用作将来要接收的饱和样本的数量的预测。在其它实施例中,不同的算法可用来预测未来样本(并且不需要是饱和样本)。
在框406,采用样本历史记录以及来自框404的预测样本来确定平均值。在一个实施例中,状态控制器203确定在样本历史记录中存储的、与P个预测饱和样本相加的N个(在样本历史记录未满的情况下可小于N)样本的平均数。在一个实施例中,假定P个饱和样本(若P大于零)具有处理器信息的某个样本可能具有的最大值。例如,如果处理器信息为工作负荷,则在一个实施例中,P个饱和样本均具有100%的值(即处理器以100%容量进行工作)。在其它实施例中,每个饱和样本的值可以是另外某个预选值,以及平均值可通过其它方式来计算。在这个意义上,平均值可以是采用样本历史记录与预测样本所计算的值,它可映射为处理器110(图1)可能的运行状态其中之一。
在框408,运行状态被确定为在框406所确定的平均值的函数。在一个实施例中,状态控制器203从处理器的多个可能的运行状态中选择一个运行状态。例如,平均值的范围可分为不重叠但邻接的子范围,每个子范围对应于可能的运行状态中的唯一的运行状态。在这个实施例中,状态控制器203确定哪个子范围包含实际上确定运行状态的平均值。在其它实施例中,范围可重叠,使得可在运行状态之间的转变中引入滞后。
图5A-5C说明根据本发明的一个实施例、动态电源管理系统200(图2)如何处理不同的样本系列的实例。在这个实施例中,处理器信息是处理器工作负荷,以及样本为工作负荷百分比。
在图5A中,处理器监测器201(图2)把八个最近的样本(即N=8)存储在样本历史记录(未示出)中。在这个实施例中,当最近的样本饱和时,预测饱和样本的数量等于最近累计的饱和样本的数量(即相乘因子为1)。但是,如果最近的样本未饱和,则预测饱和样本的数量等于最近累计的饱和样本的数量的一半。另外,确定样本是否饱和的门限为95%(即超过95%的样本被认为是饱和的)。此外,在这个实施例中,运行状态的数量为两个(一个是高性能状态以及另一个是省电状态)。在这个实施例中,两个状态之间的门限也是95%(即大于95%的平均值对应于高性能状态)。另外,在这个实施例中,每个预测饱和样本的值设置为100%。而且,平均值作为整个样本历史记录与预测样本的平均数来计算。
在这个实例中,最近的样本(即样本Sn)为100%。因此,样本Sn是饱和的。根据这个实施例的预测算法,预测饱和样本的数量与最近连续饱和样本的数量相同。在这种情况下,四个最近样本是饱和的;因此,P等于四。样本历史记录的八个样本(即样本Sn-7、Sn-6、...、Sn)与四个预测饱和样本的平均数为95.6%。因此,动态电源管理系统200(图2)使处理器110(图1)进入高性能运行状态。
在图5B中继续说明这个实例,下一个样本(即样本Sn+1)为80%。这样,样本Sn+1未饱和。因此,预测算法要求预测饱和样本的数量减半。这样,在这个实例中,P减少到二。样本历史记录的八个样本(即样本Sn-6、Sn-5、...、Sn、Sn+1)与两个预测饱和样本的平均数为92.9%。因此,动态电源管理系统200(图2)使处理器110(图1)进入省电运行状态。
这个示范实施例说明动态电源管理系统200(图2)可以如何迅速响应负荷变化。当工作负荷较小时,处理器可在低性能/省电运行状态工作,使得计算平台消耗较少功率而没有使用户感受到较低的处理器性能。这种感觉是可能的,因为对于较低的工作负荷,该工作在较低性能运行状态仍然较迅速地执行。这样,功率消耗被降低,而没有可感觉到地影响用户的体验。在这个实施例中,算法的设计目标是,使处理器用于省电运行状态的时间量为最大,而没有使用户感觉到处理器性能的降低。在其它实施例中,可用来实现不同的电源/性能目标。
图5C说明样本历史记录中存储的另外的八个样本(即样本Sm-7、Sm-6、...、Sm,其中Sm为最近的)的序列。在这个实例中,六个连续饱和样本存储在样本历史记录中,之后跟随未饱和的最近样本(即75%的样本Sm)。因此,在接收到样本Sm之后,在这个实例中,P为三。样本历史记录与三个预测饱和样本的平均值约为95.3%。
在前一个周期中(即当接收样本Sm-1时),P等于六,使样本历史记录与六个预测饱和样本的平均值完全超过高性能运行状态的95%的门限。因此,动态电源管理系统200(图2)使处理器110(图1)保持在高性能运行状态。这个实例说明在接收到若干连续饱和样本之后,单个未饱和样本如何不一定使处理器进入低功率运行状态。
本文描述了动态电源管理的方法及设备的实施例。在以上描述中,提出了大量具体的详细资料,以便提供对本发明的实施例的透彻了解。但是,本领域的技术人员会知道,可在没有这些具体细节的一种或多种的情况下或者采用其它方法、组件、材料等来实施本发明。在其它情况下,没有详细描述和表示众所周知的结构、材料或操作,以免影响对本发明的若干方面的理解。
本说明中提到“一个实施例”或“实施例”表示结合该实施例所述的特定特征、结构或特性包含在本发明的至少一个实施例中。因此,词组“在一个实施例中”或“在实施例中”在本说明的各个位置中的出现不一定都表示同一个实施例。此外,特定特征、结构或特性可通过任何适当方式结合在一个或多个实施例中。
本发明的实施例可用作或者支持在某种形式的处理核心(例如计算机的CPU)上运行的、或者在机器可读介质上或中实现的软件程序。机器可读介质包括用于存储或传送机器(如计算机)可读形式的信息的任何机构。例如,机器可读介质可包括例如只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;以及闪速存储装置等。另外,机器可读介质可包括诸如电、光、声等的传播信号或者其它形式的传播信号(例如载波、红外信号、数字信号等)。
以上对于包括“摘要”中所述内容的本发明的所述实施例的描述并不是要穷举本发明或者将本发明限定于所公开的确切形式。虽然本文为了说明目的而描述了本发明的具体实施例和实例,但相关领域的技术人员会知道,在本发明的范围内,各种等效修改是可行的。
可根据以上详细描述对本发明进行这些修改。以下权利要求中使用的术语不应当理解为将本发明限制到说明及权利要求中所公开的具体实施例。相反,本发明的范围完全由以下权利要求来确定,这些权利要求将根据权利要求解释的已制定原则来解释。
权利要求
1.一种计算系统,包括处理器;以及存储操作系统的系统存储器,所述操作系统使所述处理器以作为包含处理器信息的一个或多个样本的样本历史记录的函数从多个状态中选取的一种状态进行工作,所述多个状态中的每个状态具有不同的性能等级。
2.如权利要求1所述的系统,其特征在于,所述处理器信息包括处理器负荷信息。
3.如权利要求1所述的系统,其特征在于,对处理器信息抽样的速率是可调整的。
4.如权利要求1所述的系统,其特征在于,每个状态具有处理器时钟频率和处理器电压的不同组合。
5.如权利要求1所述的系统,其特征在于,定义状态之间转变的门限值是可调整的。
6.如权利要求1所述的系统,其特征在于,所述操作系统要预测处理器信息的一个或多个未来样本。
7.如权利要求6所述的系统,其特征在于,所述操作系统要确定处理器信息的所存储样本和处理器信息的预测样本的平均值。
8.如权利要求6所述的系统,其特征在于,未来样本作为饱和样本的函数来预测。
9.如权利要求8所述的系统,其特征在于,未来样本作为连续饱和样本的函数来预测。
10.如权利要求8所述的系统,其特征在于,定义饱和样本与未饱和样本之间的转变的样本的门限值是可调整的。
11.如权利要求8所述的系统,其特征在于,未来样本作为未来饱和样本的数量来预测。
12.如权利要求11所述的系统,其特征在于,当最近样本为饱和样本时,未来饱和样本的数量等于连续饱和样本的数量,所述连续样本包括所述最近样本。
13.如权利要求11所述的系统,其特征在于,当最近样本不是饱和样本时,未来饱和样本的数量约为连续饱和样本的数量的一半,所述连续样本在最近样本以前被依次接收。
14.一种由计算平台的操作系统执行的方法,所述方法包括接收与处理器的操作相关的信息的样本;以及使所述操作系统把所述处理器配置成以作为具有所述信息的一个或多个样本的样本历史记录的函数从多个状态中选取的一种状态进行工作,所述多个状态中的每个状态具有不同的性能等级。
15.如权利要求14所述的方法,其特征在于,所述信息包括处理器负荷信息。
16.如权利要求14所述的方法,其特征在于,对处理器信息抽样的速率是可调整的。
17.如权利要求14所述的方法,其特征在于,每个状态具有处理器时钟频率和处理器电压的不同组合。
18.如权利要求14所述的方法,其特征在于,定义状态之间转变的门限值是可调整的。
19.如权利要求14所述的方法,其特征在于,还包括预测处理器信息的一个或多个未来样本。
20.如权利要求19所述的方法,其特征在于,还包括确定处理器信息的所存储样本和处理器信息的预测样本的平均值。
21.如权利要求19所述的方法,其特征在于,未来样本作为饱和样本的函数来预测。
22.如权利要求21所述的方法,其特征在于,定义饱和样本与未饱和样本之间的转变的门限值是可调整的。
23.如权利要求21所述的方法,其特征在于,未来样本作为连续饱和样本的函数来预测。
24.如权利要求21所述的方法,其特征在于,未来样本作为未来饱和样本的数量来预测。
25.如权利要求24所述的方法,其特征在于,当最近样本为饱和样本时,未来饱和样本的数量等于连续饱和样本的数量,所述连续样本包括所述最近样本。
26.如权利要求24所述的方法,其特征在于,当最近样本不是饱和样本时,未来饱和样本的数量约为连续饱和样本的数量的一半,所述连续样本在所述最近样本以前被依次接收。
27.一种供处理器使用的操作系统,包括用于接收与所述处理器的操作相关的信息的样本的部件;以及用于把所述处理器配置成以作为包含所述信息的一个或多个样本的样本历史记录的函数从多个状态中选取的一种状态进行工作的部件,所述多个状态中的每个状态具有不同的性能等级。
28.如权利要求27所述的操作系统,其特征在于,所述信息包括处理器负荷信息。
29.如权利要求27所述的操作系统,其特征在于,对处理器信息抽样的速率是可调整的。
30.如权利要求27所述的操作系统,其特征在于,每个状态具有处理器时钟频率和处理器电压的不同组合。
31.如权利要求27所述的操作系统,其特征在于,定义状态之间转变的门限值是可调整的。
32.如权利要求27所述的操作系统,其特征在于,还包括用于预测处理器信息的一个或多个未来样本的部件。
33.如权利要求32所述的操作系统,其特征在于,还包括用于确定处理器信息的所存储样本和处理器信息的预测样本的平均值的部件。
34.如权利要求32所述的操作系统,其特征在于,未来样本作为饱和样本的函数来预测。
35.如权利要求34所述的操作系统,其特征在于,定义饱和样本与未饱和样本之间的转变的门限值是可调整的。
36.如权利要求34所述的操作系统,其特征在于,未来样本作为连续饱和样本的函数来预测。
37.如权利要求34所述的操作系统,其特征在于,未来样本作为未来饱和样本的数量来预测。
38.如权利要求37所述的操作系统,其特征在于,当最近样本为饱和样本时,未来饱和样本的数量等于连续饱和样本的数量,所述连续样本包括所述最近样本。
39.如权利要求37所述的操作系统,其特征在于,当最近样本不是饱和样本时,未来饱和样本的数量约为连续饱和样本的数量的一半,所述连续样本在所述最近样本以前被依次接收。
40.一种具有指令的机器可读介质,所述指令被执行时,使操作系统执行包括以下各项的操作接收与处理器的操作相关的信息的样本;以及使所述操作系统把所述处理器配置成以作为包含所述信息的一个或多个样本的样本历史记录的函数从多个状态中选取的一种状态进行工作,所述多个状态中的每个状态具有不同的性能等级。
41.如权利要求40所述的机器可读介质,其特征在于,所述信息包括处理器负荷信息。
42.如权利要求40所述的机器可读介质,其特征在于,对处理器信息抽样的速率是可调整的。
43.如权利要求40所述的机器可读介质,其特征在于,每个状态具有处理器时钟频率和处理器电压的不同组合。
44.如权利要求40所述的机器可读介质,其特征在于,定义状态之间转变的门限值是可调整的。
45.如权利要求40所述的机器可读介质,其特征在于,还包括被执行时使所述操作系统执行包括以下各项的操作的指令预测处理器信息的一个或多个未来样本。
46.如权利要求45所述的机器可读介质,其特征在于,还包括被执行时使所述操作系统执行包括以下各项的操作的指令确定处理器信息的所存储样本和处理器信息的预测样本的平均值。
47.如权利要求45所述的机器可读介质,其特征在于,未来样本作为饱和样本的函数来预测。
48.如权利要求47所述的机器可读介质,其特征在于,定义饱和样本与未饱和样本之间的转变的门限值是可调整的。
49.如权利要求47所述的机器可读介质,其特征在于,未来样本作为连续饱和样本的函数来预测。
50.如权利要求47所述的机器可读介质,其特征在于,未来样本作为未来饱和样本的数量来预测。
51.如权利要求50所述的机器可读介质,其特征在于,当最近样本为饱和样本时,未来饱和样本的数量等于连续饱和样本的数量,所述连续样本包括所述最近样本。
52.如权利要求50所述的机器可读介质,其特征在于,当最近样本不是饱和样本时,未来饱和样本的数量约为连续饱和样本的数量的一半,所述连续样本在所述最近样本以前被依次接收。
全文摘要
动态电源管理系统包括操作系统(OS),它使处理器以具有不同性能和/或功率消耗等级的多个运行状态其中之一进行工作。OS响应由OS监测的处理器信息(例如处理器负荷)而选择运行状态。OS可根据抽样的处理器信息来预测处理器信息的未来状态。OS可取预测和实际样本的平均值,用于与门限进行比较以便选择运行状态。OS可跟踪所选样本窗口中出现的连续饱和样本的数量。OS可根据连续饱和样本的数量来预测未来处理器信息样本。
文档编号G06F1/32GK1784646SQ200480011860
公开日2006年6月7日 申请日期2004年4月21日 优先权日2003年5月7日
发明者J·德切萨雷, M·库尔伯特, K·科克斯 申请人:苹果电脑公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1