small5的个人空间 https://blog.eetop.cn/nick [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

从前到后,详解DVFS到底是个什么鬼

已有 10989 次阅读| 2016-10-10 21:27 |系统分类:芯片设计

DVFS(Dynamic Voltage and Frequency Scaling)动态电压频率调节本质上是一种低功耗技术,目的是根据的芯片当时的实际功耗需要设定工作电压和时钟频率,这样可以保证提供的功率既满足要求又不会过剩,从而可以降低功耗。


  • 硬件基础

为了实现供电电压可调节,目前的芯片电源模块都可以提供多级输出,本质上是多个不同输出电压的LDO通过选择开关桥接,DVFS控制逻辑输出所需电压的控制向量,电源管理模块会自动完成电压源切换。



时钟频率的控制是目前已经很常见的,芯片内部一般都会集成CGU(Clock Generator Unit)负责时钟源的提供,可以对某个时钟源分频升频,为系统提供特定频率的时钟信号,这里不再赘述。


  • 调节顺序

目前的芯片实现工艺下,更高的频率则需要更高的供电电压。因为更高的频率意味着动态功率的消耗增加,而在芯片整体电容电阻值不变的前提下,更高的供电电压可以提供更高的电源功率。

所以安全的调节机制是:

  • 当需要提升功率时,应先提升供电电压,然后提升时钟频率。

  • 当需要降低功率时,应先降低时钟频率,再降低供电电压。



  • DVFS调节策略

一味的降频降压当然是不能降低功耗的,因为低频下运行可能使系统处理任务的时长增加,从而整体上可能增加了功耗。所以DVFS的核心是动态调整的策略,其目的是根据当时的系统负载实时调整,从而提供满足当时性能要求的最低功率,也就达到了最低功耗。


制定调整策略前,先找出系统中的耗电大户:

  • CPU

  • DSP

  • 硬件算法加速模块(看逻辑规模)


需要统计出这些模块的负载情况,基本的策略当然是工作负载增加则升频升压,工作负载降低则降频降压。


工作负载的粗略模型是在一个时间窗口内,统计模块工作的时间长度,设定不同阈值,高阈值对应高电压高频率,低阈值对应低电压低频率。每次统计值穿过阈值边界,触发DVFS转换。



实际的系统中,每个CPU,DSP也许有自己独立的DVFS调节系统,所以可以根据本模块的特点制定出更精确的负载模型,从而取得更优的功耗表现。


至于调节算法的实现,可以软件也可以硬件,看资源消耗情况和DVFS响应时间要求而定。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 5

    粉丝
  • 0

    好友
  • 7

    获赞
  • 4

    评论
  • 1997

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-12 08:22 , Processed in 0.016782 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部