基于双阈值功耗自适应的dvfs调节算法

文档序号:9750355阅读:629来源:国知局
基于双阈值功耗自适应的dvfs调节算法
【技术领域】
[0001 ]本发明属于计算机算法技术领域,尤其是涉及一种基于双阈值功耗自适应的DVFS调节算法。
【背景技术】
[0002]DVFS技术是一种针对处理器功耗优化的技术,其主要是通过调节处理器的频率与电压让处理器在处理不同负载的任务时处于不同的性能水平下。这种技术既需要处理器硬件的支持也需要软件的配合使用。
[0003]在支持DVFS的处理器中,硬件支持的电压调节有两种方式:片外调节与片内调节。采用片外调节器的处理器在调节电压时,需要的稳定时间比较长,一般需要几十微妙到几十毫秒,但是,其优点也比较明显,就是电源转换效率相对比较高,最大可以达到90%。但是,这个相对较高的电源转换效率与负载有很大关系,当输出功率较大时,电源转换效率相对来说比较高。正是因为片外的电压调节方式稳定时间比较长,所以在采用片外调机器的处理器上调节电压时不宜过频。另一种片内调节的方式可以将电压切换的时间缩短到纳秒级,为处理器内较短的电压切换时间对实现快速调节提供了非常有利的条件。虽然片内调节器所需要的切换时间相对于片外调节器来说大大降低了,但是,其电源转换率相对来说要低一些,通常在70%到80%之间。而且,片内调节方式在处理器内部占用的硅片面积开销比较大,约每瓦特2mm2。
[0004]在支持DVFS的处理器中,硬件支持的频率调节有两种方式:分频器调节与锁相环调节。锁相环与分频器调节这两种方式也分别有各自的优缺点。对于锁相环来说,从开始调整到最终稳定下来,需要一个锁定的时间,并且,在这个时间内,时钟信号输出可能会造成执行错误。因此,在采用锁相环调节频率的处理器中,调节频率时会关闭时钟一段时间去等待时钟稳定。而且这个时间一般在几十微秒以上。因此,在采用锁相环调节频率时,不适合频繁调节,这也导致在设计DVFS算法时不适合细粒度调节。相对于锁相环调节频率,以分频器调节的方式则快很多。并且,没有锁定时间,它从接收到信号至产生稳定输出只需要几个时钟周期就可以完成。因此,可以实现比较快速的频率调节,但是,这种调节方式所获取的频率有可能并非50%占空比。
[0005]在处理器有了硬件上支持DVFS技术之后,还需要软件的相关算法配合调节。目前在软件调节上主要是检测到处理器的idle时刻,并在这个时刻降低处理器的频率与电压来降低处理器的功耗,并且不会对性能造成较大损失。在软件调节中DVFS主要分为两大类:一种是闭环的DVFS,另一种是开环的DVFS。在使用开环的DVFS调节时,一般会考虑具体的工作情况。需要事先设定好一些工作的电压和频率的匹配状态集合点。当处理器在运行某些应用程序时,实时采集一些必要的信息,并结合相关的控制调节算法,最后根据算法的结果选取一个预先设定的合适工作状态。然而,在闭环的DVFS调节中,主要是一种自适应电压频率调节,在处理器内部有一个延时采样的性能监控器,这个监控器与供电控制电压模块和处理器频率控制模块形成一个闭环的系统。在运行程序时,性能监控器采集一些必要的信息来综合决定最终的处理器合适的工作电压与频率。处理器中开环与闭环DVFS调节最大的区别在于,有没有预先设定好的电压与频率的值。在开环系统中,会预先设定好一系列的电压频率值,在运行程序时,通过获取的处理器信息,合理的选择预先设定好的频率和电压。然而,闭环系统中,并没有预先设定好的频率与电压值,都是在处理器工作时,通过性能监控器收集信息,来预测和判断目前处理器最合适的运行频率以及工作电压,然后再根据相应的算法进行调节。这是一个软硬件协同设计的过程,而且设计相当复杂。目前并没有一个非常完善的能够通用的采用闭环调节的DVFS方法。所以,大多数DVFS还是以开环为主。

【发明内容】

[0006]本发明的目的是为了克服现有技术不足,提供一种基于双阈值功耗自适应的DVFS调节算法,合理利用处理器性能、降低处理器功耗。
[0007]本发明的技术方案是:一种基于双阈值功耗自适应的DVFS调节算法,包括:
[0008]实时获取处理器的利用率与处理器功耗值;
[0009]判断处理器的利用率是否在第一级阈值之内;
[0010]若是,则维持工作频率不变;以及若否,则执行以下步骤:
[0011]判断处理器的利用率是否超出第二级阈值;
[0012]若否,则采用分频的方式调节频率,以及若是,执行以下步骤:
[0013]判断处理器利用率是否低于第二级阈值的下限或者超出第二级阈值的上限与功耗阈值;
[0014]若否,则采用分频的方式调节频率;若是,则采用锁相环的方式调节频率,同时变更电压值。
[0015]进一步,所述处理器的利用率和工作频率呈正相关。
[0016]进一步,所述第一级阈值、第二级阈值和功耗阈值将所述处理器的调节区间划分为了六个,当处理器的利用率在第一级阈值内时,则维持工作频率不变,如果处理器利用率介于第一级阈值下限与第二级阈值下限之间时,就采用分频的方式迅速降低频率;如果处理器利用率介于第一级阈值上限与第二级阈值上限之间时,就采取分频调节的方式迅速升高频率。
[0017]进一步,当处理器利用率超出第二级阈值的上限但是功耗要低于功耗阈值,采取分频调节频率的方式升高频率,如果此时已经是该电压下的最高频率,那么就继续维持此频率。
[0018]进一步,如果处理器利用率超出第二级阈值,并且此时处理器的功耗超出了功耗阈值,则采取锁相环的方式升高处理器基准频率,并且在调节频率之前需要先升高电压,保证此时的电压能够正常支持所需要的新频率。
[0019]进一步,如果处理器利用率低于第二级阈值的下限时,则采用锁相环的方式降低处理器基准频率,并且在降低频率之后再降低处理器电压。
[0020]进一步,所述第一级阈值包含在所述第二级阈值内,所述功耗阈值大于第二级阈值上限。
[0021]进一步,当所述处理器为多核时,可以将所述处理器划分为多个簇,每个簇中包含单个或者多个核,如果所述处理器的多个核同时需要调频,在多核形成的一个簇中,一旦有一个核的处理器利用率超过第一级阈值、第二级阈值或者功耗阈值的上限值,那么将该核所在的整个簇频率提升到基准频率。
[0022]本发明具有的优点和积极效果是:由于采用上述技术方案,采用处理器利用率的双极阈值控制,能够在双重限制下让处理器性能得到更合理的利用。相对于传统的单阈值算法来说,这种双阈值能够在处理器利用率超过第一级阈值时启动调频机制,可以尽早地把处理器的性能控制在合理的范围。一旦超过第二级阈值时,还可以启动第二套调频方案再次控制处理器性能。因此,这种双阈值的调节方式具有提前控制,后续协调的双重压制的特点,能够达到更好地利用处理器性能的目的。
【附图说明】
[0023]图1是本发明的基于双阈值功耗自适应的DVFS调节算法的流程图;
[0024]图2是本发明的处理器调节区间结构示意图。
【具体实施方式】
[0025]下面结合附图对本发明做详细说明。
[0026]如图1本发明的基于双阈值功耗自适应的DVFS调节算法的流程图所示,本发明提供一种基于双阈值功耗自适应的DVFS调节算法,包括:
[0027]步骤101,实时获取处理器的利用率与处理器功耗值。
[0028]步骤102,判断处理器的利用率是否在第一级阈值之内;若是,则维持工作频率不变;以及若否,则执行以下步骤:
[0029]步骤103,判断处理器的利用率是否超出第二级阈值;若否,则采用分频的方式调节频率,以及若是,执行以下步骤:
[0030]步骤104,判断处理器利用率是否低于第二级阈值的下限或者超出第二级阈值的上限与功耗阈值;若否,则采用分频的方式调节频率。
[0031]步骤105,若是,则采用锁相环的方式调节频率,同时变更电压值。
[0032]所述处理器的利用率和工作频率呈正相关。
[0033]工作频率会随着使用率的升高而升高,以及随着使用率的下降而降低。一般而言,当处理器执行字处理、网络浏览或其它2D绘图等低使用率的应用程序时,只需要以较低的工作频率来运行即能满足使用需求。相反地,当处理器执行3D绘图、视频转码、解压缩或游戏软件等高使用率的应用程序时,则必需大幅提高工作频率才能满足高负载情况下的使用需求。因此,处理器的工作频率和使用率之间具有相对应的关系,也就是说,根据使用率范围的不同,处理器会分别以相应的工作频率来运作,从而在不同的使用率底下提供适当的工作频率,使处理器运行时的整体能耗降低。也就是处理器在不同使用率的使用状态下,可以采用的优选的工作频率,从而在兼具高效能
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1