根据CPU的利用率调节CPU频率的方法技术

技术编号:2881386 阅读:396 留言:0更新日期:2012-04-11 18:40
一种根据CPU的利用率调节CPU频率的方法,设定CPU利用率比较域值;不断地检测CPU利用率,得到CPU利用率实际的测量值;比较测量值和设定的域值;根据比较结果,调节CPU频率。CPU频率具体调节步骤为:调整CPU有效工作时间Tw,设定调整脉冲周期T;将调整脉冲周期T与CPU固定的基准时钟叠合;均匀调节调整脉冲中的Tw和T;得到CPU平均运行速度。本发明专利技术依据CPU的当前利用率,调整CPU频率,以期达到节能、降低发热量,保障CPU安全,延长CPU使用寿命目的方法。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种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频率的方法,其特征在于:它包括如下步骤: a、设定CPU利用率比较域值; b、不断地检测CPU利用率,得到CPU利用率实际的测量值; c、比较测量值和设定的域值; d、根据比较结果,调节CPU频率。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:祝永进
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1