根据cpu的利用率调节cpu频率的方法

文档序号:6330799阅读:738来源:国知局
专利名称:根据cpu的利用率调节cpu频率的方法
技术领域
本发明涉及一种CPU频率的控制方法,尤其是一种依据CPU的当前利用率,调整CPU频率,以期达到节能、降低发热量,保障CPU安全,延长CPU使用寿命目的的方法。
随着当前微电子技术的飞速发展,PC机的行能越来越高,尤其是作为计算机“心脏”或者“大脑”的CPU,其速度大幅度提升,用户因此得到了极佳的性能。但是由于CPU的主频不断地提升,CPU的功耗也大幅度地增加。当CPU主频达到1GHz以上时CPU的散热问题就十分的严重了。CPU长时间的运行,其CPU的基本元素——硅半导体本身会产生大量的热量,导致CPU温度较高,有时由于CPU温度过高而将CPU烧毁,CPU的烧毁导致计算机的整体瘫痪,带来的损失往往十分惨重。CPU的发热又是系统发热量管理重点目标。因此CPU的降温一致是业界努力探索的课题。有时为保证降温,不得不给CPU设置较大的散热装置,以至配置复杂的冷却系统。同时,计算机的功耗、节能也是非常重要的问题。例如使用笔记本电脑时,常常会因为电池的能量有限而无法较长时间的使用,因此节能的意义在此十分重要。同时当CPU高速运转时,其风扇等也满载运转,所以噪音较大。
在实际的使用中,对于不同的应用程序做需要的CPU运行速度不同。例如,一般的文档编辑程序CPU速度较低即可满足;但是当使用计算机进行图象数据处理,或进行网络浏览等大数据量交换传递时,CPU必须运行在较高的速度,才能满足程序性能。CPU在不同运行速度下,其功耗、发热以及配件的噪音区别较大。所以应该能够根据实际的应用需求,调节CPU的运行频率,以便优化CPU的工作状态。
本发明的目的在于针对现有技术之不足而提供一种根据CPU的利用率调节CPU频率的方法,它在CPU正常工作时,通过检测CPU的利用率,在不影响应用程序性能的前提下,通过降低CPU频率,实现最低功耗和最低噪音本发明的目的是这样实现的一种根据CPU的利用率调节CPU频率的方法,其特征在于它包括如下步骤1、设定CPU利用率比较域值;2、不断地检测CPU利用率,得到CPU利用率实际的测量值;3、比较测量值和设定的域值;4、根据比较结果,调节CPU频率。
所述的域值包括设定当前测量值和平均计算值;相应的CPU利用率测量值包括当前测量值和平均计算值;比较测量值和设定的域值步骤包括比较测量值和平均计算值。
所述的平均计算值是一段时间内CPU利用率的滑动平均值;所述的比较测量值和设定的域值步骤前,应进行CPU利用率的滑动平均值计算。
所述的平均计算值所对应的计算时间分为一段以上不同时间段,对应不同的时间段设定不同平均计算值的域值。
所述的不同时间段可为较短时间和较长时间。
所述的较短时间可为1秒;较长时间可为1分钟。
所述的平均计算值的域值中不同时间段的滑动平均值设有上限和下限。
所述的较短时间段的滑动平均值的上限可进一步分为第一上限和第二上限。
所述的域值设定步骤满足如下条件Tml<Tsl<Tmh<Tsh1<Tsh2<Tch;才开始检测并计算CPU利用率;其中Tsl为1秒内的滑动平均值的下限;
Tsh1,Tsh2,分别为1秒内的滑动平均值不同的上限;Tml,Tmh为1分钟内的滑动平均值的下限和上限;Tch,分别为当前测定值的上限。
所述的CPU利用率的滑动平均值计算应对应各个不同时间段以及上下域值中设定滑动平均值进行。
所述的CPU当前利用率的检测为每0.1秒检测一次。
所述的CPU频率调节可分级。
所述的CPU频率调节可依据所分的等级逐级调节。
所述的调节CPU频率步骤为如果Us<Tsl并且V>50% CPU频率向下调;如果Us>Tsh1并且Um>TmhCPU频率向上调;其中Us为CPU 1秒钟的滑动平均值;Um为CPU 1分钟的滑动平均值;V为CPU频率最大值,也就是CPU频率的设定值。
所述的调节CPU频率步骤还包括如果Us<Tsl并且Um<Tml并且V<=50%CPU频率向下调。
所述的调节CPU频率步骤还包括如果Us>Tsh2并且Uc>TchCPU频率直接调节为100%;其中Uc为CPU当前利用率。
所述的CPU频率具体调节步骤为1、调整CPU有效工作时间Tw,设定调整脉冲周期T;2、将调整脉冲周期T与CPU固定的基准时钟叠合;3、均匀调节调整脉冲中的Tw和T;4、得到CPU平均运行速度,也就是CPU频率调节值。
所述的方法可编制在操作系统下的常驻内存的后台程序中,来对其进行控制,以便每次开机CPU可恢复为正常值。
按照本发明的方法,在不同的实际工作频率下,CPU能够稳定地运行,因此会极大地降低CPU的发热量,大大节省了CPU所需功耗,降低CPU风扇的噪音。
对于通常的应用环境,如文档编辑或网络浏览,CPU的频率会忽高忽低。但是平均值在300MHz就足够了。而CPU的总体散热依然较佳,因此短暂的高频不会对其造成很大的影响。所以使用了本发明的方法,再采用CPU风扇调节,其散热效果更为明显。
下面结合附图和具体实施方案对本发明做进一步的详细说明。


图1为本发明的CPU频率调节流程图;图2为一条CPU利用率曲线图;图3为本发明的CPU频率调节波形示意图。
本发明的主导思想是在不影响应用程序性能的前提下,通过降低CPU的频率,实现最低的功耗和最低的噪音。基本机理是设定基础标准域值,每0.1秒读取一次CPU利用率,计算CPU利用率的1秒滑动平均值和1分钟滑动平均值。然后以这三个值为标准,按照一定的控制方案来调节CPU的实际频率。
本发明为一种根据CPU的利用率调节CPU频率的方法,其核心步骤是1、设定CPU利用率比较域值;2、不断地检测CPU利用率,得到CPU利用率实际的测量值;3、比较测量值和设定的域值;4、根据比较结果,调节CPU频率。
具体步骤结合图1,为1、定义比较域值标准,命名为Tsl,Tml,Tch,Tsh1,Tsh2,Tch,它们满足如下条件Tml<Tsl<Tmh<Tsh1<Tsh2<Tch。
2、设定初始CPU利用率Buffer。
3、每0.1秒检测当前CPU利用率,命名为Uc。
4、计算CPU利用率的1秒滑动平均值和1分钟滑动平均值,分别定义为Us和Um。
5、命名CPU频率设定值/CPU频率最大值为CPU的设定率,定义为V。
6、按照以下方案进行控制如果Us<Tsl并且V>50%CPU频率下调一级。
如果Us<Tsl并且Um<Tmland V<=50%CPU频率下调一级。
如果Us>Tsh1并且Um>TmhCPU频率上调一级。
如果Us>Tsh2并且and Uc>TchCPU频率设定为100%。
其中Tsl为1秒内的滑动平均值的下限;Tsh1,Tsh2,分别为1秒内的滑动平均值不同的上限;Tml,Tmh为1分钟内的滑动平均值的下限和上限;Tch,分别为当前测定值的上限。
如果CPU频率设定变化,则重新设定初始CPU利用率缓冲(Buffer),以周来计算CPU利用率的1秒滑动平均值和1分钟滑动平均值。其具体设定值随控制方案而不同。
可以这样分析上面的控制方案首先定义,CPU利用率的1秒滑动平均值的最佳值是在Tsl到Tsh1之间,1分钟滑动平均值最佳值是在Tml到Tmh之间。也就是说CPU的利用率处于不高不低状态,即半饱状态,此时为CPU的最有效状态。这种状态可以非常好地运行当前系统的所有应用程序,且不影响性能。而且,次种状态又有一定的裕量,一旦系统的负荷发生突发的增加,CPU又有一定的能力来承担这些任务。如果CPU利用率过高,则可以认为CPU的负荷太重,不利于应付突发事件。当CPU利用率过低时,可以认为大部分CPU在空闲,大量浪费能量,且并不增加任何应用程序的性能。
从如图2所示的CPU利用率曲线中,可以看到CPU的利用率为跳动的,不是一条比较稳定的曲线,又存在着短时突发性、长期稳定性的特点。故不好用某一时刻的CPU利用率来调节CPU的频率设定值,所以这里采用了三个数据作为参考当前的CPU利用率Uc,CPU利用率的1秒滑动平均值Us和1分钟滑动平均值Um。其中Uc为0.1秒的时刻的测量值,Us为最近10次的Uc的平均值,Um为最近60次的Us的平均值。通过计算Us和Um,可以大致得到比较稳定的CPU的利用率情况。也就得到了调节CPU频率的依据。
由于CPU利用率的突发性因素,故用Us来作为主要评价参数是合理的。又由于当CPU频率设定率很低时,对突发性的响应会不够,故用Um来评价频率设定率小于等于50%时是否继续降低CPU的频率设定率。当Um<Tml时,可以认为系统在一段时间内稳定地运行较低负载的程序。此时,从节能角度考虑,可以将CPU的频率再下调一级。
为了在降低CPU的频率值以后,能够不影响用户的突发性工作,如突然启动一个新的程序,故在CPU上调时加入了Uc的参考。如果Uc>Tch且Us>Tsh2,满足这两个条件说明这不是瞬间的峰值,而是确有突发的负载增加,故立刻将CPU的频率设定为100%,以满足突发的对CPU的要求而不会影响应用程序的性能。当Us>Tsh1且Um>Tm时,说明CPU利用率此时平均偏高,故将频率设定值上调一级,以缓解CPU的压力。
上面述说的这种CPU频率的控制方案能够较好地完成对CPU能量的合理控制,从实现方法上来说,实际上是编制一个在Windows下的常驻内存的后台程序来对其进行控制,这样,任何时候重新起动计算机后,CPU频率将回复为原始状态,不会有任何遗留状态。
参见图3,CPU频率具体调节步骤为1、调整CPU有效工作时间Tw,设定调整脉冲周期T;2、将调整脉冲周期T与CPU固定的基准时钟叠合;3、均匀调节调整脉冲中的Tw和T;4、得到CPU平均运行速度,也就是CPU频率调节值。
通过一定的实验,得出如下结果实验条件PIII 1000,运行Media player重复播放一段WAV文件。各应用程序为调节CPU频率软件throttle.exe测试CPU速度软件mybench.exeCPU利用率监测系统监视器
以上可以看出,随着CPU频率的降低,在运行同样应用程序时,CPU利用率逐步增加,到80%以上时,应用程序的效果将降低,也就是说,CPU的速度太低以至于不能满足应用程序的要求了,此时需要将CPU的频率向上调节。设置一组较为合理的阈值,可是CPU的运行状态得到较理想的优化。
通过一定的测试,证明按照这种控制策略编制的程序能够稳定运行且不会死机,并且不会影响用户的使用性能,又可以大幅度节能,极大地降低CPU的发热量。对于通常的应用环境,如文档编辑,CPU的频率会忽高忽低,但平均值也就在300MHz就足够了。而CPU散热是总体效果,短暂的高主频不会对其造成多大的影响。故在这样的应用环境中,使用了CPU频率控制后,再采用CPU风扇转速的温度控制效果会非常显著,能够达到极低的噪音。这也正是本发明的最大优势。
权利要求
1.一种根据CPU的利用率调节CPU频率的方法,其特征在于它包括如下步骤a、设定CPU利用率比较域值;b、不断地检测CPU利用率,得到CPU利用率实际的测量值;c、比较测量值和设定的域值;d、根据比较结果,调节CPU频率。
2.如权利要求1所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的域值包括设定当前测量值和平均计算值;相应的CPU利用率测量值包括当前测量值和平均计算值;比较测量值和设定的域值步骤包括比较测量值和平均计算值。
3.如权利要求2所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的平均计算值是一段时间内CPU利用率的滑动平均值;所述的比较测量值和设定的域值步骤前,应进行CPU利用率的滑动平均值计算。
4.如权利要求3所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的平均计算值所对应的计算时间分为一段以上不同时间段,对应不同的时间段设定不同平均计算值的域值。
5.如权利要求4所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的不同时间段可为较短时间和较长时间。
6.如权利要求5所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的较短时间可为1秒;较长时间可为1分钟。
7.如权利要求4所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的平均计算值的域值中不同时间段的滑动平均值设有上限和下限。
8.如权利要求7所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的较短时间段的滑动平均值的上限可进一步分为第一上限和第二上限。
9.如权利要求1或2或3或4或5或6或7或8所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的域值设定步骤满足如下条件Tml<Tsl<Tmh<Tsh1<Tsh2<Tch;才开始检测并计算CPU利用率;其中Tsl为1秒内的滑动平均值的下限;Tsh1,Tsh2,分别为1秒内的滑动平均值不同的上限;Tml,Tmh为1分钟内的滑动平均值的下限和上限;Tch,分别为当前测定值的上限。
10.如权利要求4所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的CPU利用率的滑动平均值计算应对应各个不同时间段以及上下域值中设定滑动平均值进行。
11.如权利要求1所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的CPU当前利用率的检测为每0.1秒检测一次。
12.如权利要求1所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的CPU频率调节可分级。
13.如权利要求12所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的CPU频率调节可依据所分的等级逐级调节。
14.如权利要求1或10或12所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的调节CPU频率步骤为如果Us<Tsl并且V>50% CPU频率向下调;如果Us>Tsh1并且Um>TmhCPU频率向上调;其中Us为CPU 1秒钟的滑动平均值;Um为CPU 1分钟的滑动平均值;V为CPU频率最大值,也就是CPU频率的设定值。
15.如权利要求1或10或12所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的调节CPU频率步骤还包括如果Us<Tsl并且Um<Tml并且V<=50% CPU频率向下调。
16.如权利要求1或10或12所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的调节CPU频率步骤还包括如果Us>Tsh2并且Uc>TchCPU频率直接调节为100%;其中Uc为CPU当前利用率。
17.如权利要求1所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的CPU频率具体调节步骤为a、调整CPU有效工作时间Tw,设定调整脉冲周期T;b、将调整脉冲周期T与CPU固定的基准时钟叠合;c、均匀调节调整脉冲中的Tw和T;d、得到CPU平均运行速度,也就是CPU频率调节值。
18.如权利要求1所述的根据CPU的利用率调节CPU频率的方法,其特征在于所述的方法可编制在操作系统下的常驻内存的后台程序中,来对其进行控制,以便每次开机CPU可恢复为正常值。
全文摘要
一种根据CPU的利用率调节CPU频率的方法,设定CPU利用率比较域值;不断地检测CPU利用率,得到CPU利用率实际的测量值;比较测量值和设定的域值;根据比较结果,调节CPU频率。CPU频率具体调节步骤为:调整CPU有效工作时间Tw,设定调整脉冲周期T;将调整脉冲周期T与CPU固定的基准时钟叠合;均匀调节调整脉冲中的Tw和T;得到CPU平均运行速度。本发明依据CPU的当前利用率,调整CPU频率,以期达到节能、降低发热量,保障CPU安全,延长CPU使用寿命目的方法。
文档编号G06F1/08GK1359041SQ0012824
公开日2002年7月17日 申请日期2000年12月18日 优先权日2000年12月18日
发明者祝永进 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1