动态电压频率调整的系统及方法

文档序号:9910371阅读:321来源:国知局
动态电压频率调整的系统及方法
【技术领域】
[0001]本发明涉及通信领域,并且更具体的,涉及通信领域中动态电压频率调整(Dynamic Voltage Frequency Scaling,DVFS)的系统及方法。
【背景技术】
[0002]DVFS是系统在运行过程中,根据场景和系统负载的大小,在满足系统性能的基础上动态调整中央处理器(Central Processing Unit,CPU)等相关硬件的工作电压和工作频率。DVFS能够节省系统功耗。具体而言,在系统不需要高性能时,降低电压和频率,以降低功耗;在系统需要高性能时,提高电压和频率,以提高性能。
[0003]现有技术中,软件可以根据应用场景及系统的运行情况,判断是否需要对CPU的工作电压和工作频率进行调整。这种情况下,是否需要进行DVFS的依据是CPU的工作负载。针对不同的工作负载,为(PU设置不同的工作电压和工作频率。
[0004]但是,针对CPU的工作负载进行DVFS是一种粗粒度的调整方式,CPU的工作负载情况不能完全反映(PU是否需要调频调压的真正需求。

【发明内容】

[0005]本发明实施例提供了动态电压频率调整DVFS的系统及方法,能够根据CPU的核阻塞(Core Bound,CB)系数对CPU进行DVFS。
[0006]第一方面,本发明实施例提供了一种DVFS的系统,包括:性能监测单元,用于确定中央处理器CPU当前的第一核阻塞CB系数,并根据所述第一 CB系数确定第一变化量,其中,所述第一CB系数表示所述CPU中的算术逻辑单元(Arithmetic Logic Unit,ALU)当前的处理能力的性能瓶颈;策略控制单元,用于根据所述性能监测单元确定的所述第一变化量,调整所述CPU的工作频率和工作电压。
[0007]本发明实施例根据CPU的CB系数的变化量,判断是否需要对CPU进行动态电压频率调整,因而能够更加精细的控制DVFS过程,避免造成的不必要的调整,在保证CPU系统性能的基础上实现对CPU功耗的精细化管理。
[0008]在一种可能的实现方式中,所述根据所述第一CB系数确定第一变化量,包括:根据所述第一CB系数与当前存储的第二CB系数确定所述第一变化量,其中,所述第一变化量为所述第一 CB系数与所述第二 CB系数的差值或比值,所述第二 CB系数为上次DVFS时的CB系数。
[0009]在一种可能的实现方式中,当所述第一变化量为所述第一CB系数与所述第二CB系数的差值时,所述策略控制单元具体用于:当所述第一变化量大于或等于第一阈值时,提高所述CPU的工作电压和工作频率,其中,所述第一阈值为正数;当所述第一变化量小于或等于第二阈值时,降低所述(PU的工作频率和工作电压,其中,所述第二阈值为负数。
[0010]这时,还可以先判断该第一变化量是否大于0,当该第一变化量大于O并且大于第一阈值时,提高所述CPU的工作电压和工作频率。当该第一变化量小于O并且小于第二阈值时,降低所述CPU的工作频率和工作电压。
[0011 ]在一种可能的实现方式中,当所述第一变化量为所述第一CB系数与所述第二CB系数的比值时,所述策略控制单元具体用于:当所述第一变化量大于或等于第三阈值时,提高所述CPU的工作电压和工作频率,其中,所述第三阈值大于I;当所述第一变化量小于或等于第四阈值时,降低所述(PU的工作频率和工作电压,其中,所述第四阈值的取值范围为O至I。
[0012]这时,还可以先判断该第一变化量是否大于I,当该第一变化量大于I并且大于第三阈值时,提高所述CPU的工作电压和工作频率。当该第一变化量小于I并且小于第四阈值时,降低所述CPU的工作频率和工作电压。
[0013]在一种可能的实现方式中,所述CPU包括至少两个ALU单元,所述性能监测单元具体用于:确定所述至少两个ALU单元中的每个ALU单元当前的性能参数;确定所述第一 CB系数,所述第一 CB系数为所述至少两个ALU单元的所述性能参数之和。
[0014]在一种可能的实现方式中,所述性能监测单元确定所述至少两个ALU单元中的每个ALU单元当前的性能参数,包括:确定所述至少两个ALU单元中的每个ALU单元单位时间内被阻塞的指令数;计算所述每个ALU单元的所述指令数与所述每个ALU单元在所述单位时间内执行的所有指令的数量的比值。
[0015]在一种可能的实现方式中,所述性能监测单元确定所述至少两个ALU单元中的每个ALU单元当前的性能参数,包括:确定所述至少两个ALU单元中的每个ALU单元在单位时间内浪费的时钟周期数;计算所述每个ALU单元的所述时钟周期数与所述每个ALU单元在所述单位时间对应的所有时钟周期数的比值。
[0016]在一种可能的实现方式中,其特征在于,所述性能监测单元还用于:将所述第二CB系数替换为所述第一 CB系数。
[0017]这样,在计算CB变化量时,能够实时根据当前的CB系数和上次DVFS时的CB系数,确定CBR或者ACBR。
[0018]在一种可能的实现方式中,所述系统还包括:工作负载监测单元,用于确定所述CPU当前的工作负载相对第二时刻的工作负载的第二变化量;所述性能检测单元用于在所述第二变化量大于第五阈值时确定所述第一变化量。
[0019]第二方面,提供了一种DVFS的方法,包括确定中央处理器CPU当前的第一核阻塞CB系数,其中,所述第一CB系数表示所述CPU中的算术逻辑单元ALU当前的处理能力的性能瓶颈;根据所述第一 CB系数确定第一变化量;其中,根据所述第一变化量,调整所述CPU的工作频率和工作电压。
[0020]第二方面的方法的各个步骤还可以参照第一方面的系统的相应模块的各个操作,在此不再重复。
[0021 ]第三方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的指令。
【附图说明】
[0022]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是现有技术的DVFS系统的示意性架构图。
[0024]图2是现有技术的DVFS的示意性流程图。
[0025]图3是本发明实施例的DVFS系统的示意性架构图。
[0026]图4是本发明实施例的DVFS系统确定核阻塞系数的示意性流程图。
[0027]图5是本发明实施例的DVFS的示意性流程图。
【具体实施方式】
[0028]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]图1是现有技术的DVFS的系统架构图。该系统包括应用2000、DVFS单元3000、电源管理单元4000和CPU 5000四大部分。其中,应用2000和DVFS单元3000为软件部分,电源管理单元4000和CPU 5000为硬件部分。
[0030]这里,应用2000为上层应用软件。DVFS单元3000包括调度管理单元3100、工作负载监测单元(Workload Monitor Unit,WMU)3200、策略控制单元3300和DVFS驱动3400。调度管理单元3100对CPU执行应用2000时的多个进程进行调度和管理。
[0031]WMU 3200用于根据调度管理单元3100实时监测CPU的工作负载(workload,WL)。当CPU的工作负载变化时,WMU将计算出CPU当前的工作负载和上次DVFS时的工作负载的变化m( AffDo
[0032]图1中的DVFS系统是否需要进行DVFS的依据是CPU的工作负载。针对不同的工作负载,为CPU设置不同的工作电压和工作频率。图2示出了图1中的策略控制单元进
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1