晟辉智能制造

如何实现低能量-功耗设计技术?

我们需要明确几个核心概念,因为“功耗”和“能量”在日常使用中常被混用,但在技术领域有明确的区别:

如何实现低能量-功耗设计技术?-图1
(图片来源网络,侵删)
  • 功耗: 指的是单位时间内消耗的能量,单位是瓦特,它衡量的是设备的“电费账单”或对电源的即时压力。功耗 = 电压 × 电流
  • 能量: 指的是完成某项任务所消耗的总电量,单位是焦耳,它衡量的是完成特定工作(如计算一次、发送一次数据)所消耗的资源总和。能量 = 功耗 × 时间

理解这两者的区别至关重要:

  • 一个低功耗的设备如果长时间运行,其总能量消耗可能很高。
  • 一个高功耗的设备如果只在极短时间内完成任务,其总能量消耗可能很低。

低能量-功耗设计的核心目标不仅仅是降低“瓦特数”,更是优化完成特定任务的“焦耳数”。


低功耗设计的基本原理

所有低功耗技术都围绕着以下三个基本物理公式展开:

  1. 动态功耗: $P_{dynamic} = C \times V^2 \times f$

    如何实现低能量-功耗设计技术?-图2
    (图片来源网络,侵删)
    • C: 负载电容
    • V: 电源电压
    • f: 工作频率
    • 这是CMOS电路最主要的功耗来源,主要由电路状态翻转(充放电)引起。
  2. 静态功耗: $P{static} = V \times I{leakage}$

    • V: 电源电压
    • I_{leakage}: 漏电流,即使在晶体管关闭时也存在。
    • 随着工艺尺寸缩小,漏电流问题越来越严重。
  3. 短路功耗: $P{short-circuit} = V \times I{short-circuit}$

    在信号翻转瞬间,电源和地之间会存在一个短暂的直接通路,产生电流,在现代设计中,这部分功耗通常被包含在动态功耗中估算。

从公式可以看出,降低电压是降低功耗最有效的方法(二次方关系),但降低电压会降低电路速度,因此需要与频率等其他因素进行权衡。

如何实现低能量-功耗设计技术?-图3
(图片来源网络,侵删)

低功耗设计技术的层次化方法

低功耗设计技术贯穿于整个电子系统设计流程,从系统级到电路级,层层递进,通常分为两大类:动态功耗管理面向低功耗的设计

(一) 动态功耗管理

这类技术通过动态地调整工作电压和频率,来匹配当前的计算负载,从而在空闲或低负载时节省能量。

  1. 动态电压与频率调节

    • 原理: 根据当前的计算任务需求,动态调整处理器的核心电压和工作频率,当处理简单任务或空闲时,降低电压和频率;当处理高负载任务时,提高电压和频率。
    • 实现: 需要硬件支持(如可调压的电源管理单元、支持DVFS的CPU)和软件配合(如操作系统内核的 governors,如 ondemand, conservative)。
    • 优点: 能在性能和功耗之间取得极佳的平衡,对用户体验影响小。
    • 应用: 几乎所有现代移动处理器、服务器CPU。
  2. 电源门控

    • 原理: 在芯片内部或模块级别,通过一个“开关”(通常是MOS管)来切断整个功能模块或部分电路的电源,当模块不工作时,将其完全断电,使其功耗降至接近零。
    • 实现: 需要专门的“电源门控单元”和复杂的时序控制逻辑来确保唤醒时的正确性。
    • 优点: 能消除模块的静态漏电流,节能效果显著。
    • 应用: 关闭不使用的CPU核心、GPU、缓存模块、外设接口等。
  3. 时钟门控

    • 原理: 与电源门控类似,但它控制的是时钟信号,通过“与门”等逻辑,在模块不工作时停止向其提供时钟脉冲,由于没有翻转,动态功耗被消除,但静态漏电依然存在。
    • 实现: 相对电源门控更简单,通常由综合工具自动插入。
    • 优点: 实现简单,能显著减少不必要的动态功耗。
    • 应用: RTL设计阶段的标准实践,用于关闭暂时不工作的寄存器和时序逻辑。
  4. 自适应电压调节

    • 原理: 这是DVFS的进一步发展,由于芯片内部不同位置、不同工艺角下的电压需求存在微小差异,AVR可以为每个核心或模块提供其刚好够用的最小电压,而不是用一个统一的电压。
    • 优点: 进一步降低了电压裕度带来的能量浪费。
    • 应用: 先进的片上系统。

(二) 面向低功耗的设计

这类技术是在设计之初就通过架构、逻辑和电路的优化来从源头上降低功耗。

  1. 系统级/架构级

    • 异构计算: 将不同类型的处理器核心集成在一个芯片上,如“big.LITTLE”架构(ARM big.LITTLE),将高性能的“大核”用于计算密集型任务,将高能效的“小核”用于日常任务,这样可以根据任务类型选择最合适的核心,而不是一直用高性能核心。
    • 专用加速器: 针对特定算法(如AI推理、视频编解码)设计专用的硬件电路,专用硬件通常比通用CPU能效比高出几个数量级。
    • 近似计算: 在某些应用中(如机器学习、多媒体处理),不需要100%精确的计算结果,通过故意降低计算精度(例如用8位浮点数代替32位浮点数),可以显著减少数据位宽、计算复杂度和数据移动量,从而大幅降低功耗和面积。
    • 存储器优化: 存储器访问是主要的能耗来源之一,技术包括:使用多级缓存、采用低功耗的SRAM/DRAM技术、数据压缩以减少访问量、智能预取等。
  2. 逻辑/RTL级

    • 门控时钟: 如前所述,这是RTL设计中的基本手段。
    • 逻辑优化: 使用逻辑综合工具进行优化,减少不必要的逻辑门翻转,使用“多路选择器”代替“与或非”门在某些场景下更节能。
    • 异步设计: 不使用全局时钟,而是通过数据流本身来驱动电路,这从根本上消除了时钟树功耗和时钟偏移问题,能效非常高,但设计极其复杂,尚未成为主流。
    • 总线编码: 在数据总线上传输数据前进行编码,减少总线上的翻转位数,使用“总线反转”技术,当连续传输的数据有多个位变化时,可以翻转整个总线的极性,从而减少翻转次数。
  3. 物理/电路级

    • 电源/地网络优化: 设计低电阻、低电感的电源和地网络,确保电压稳定,减少IR Drop和EMI,从而降低动态功耗。
    • 晶体管尺寸优化: 对关键路径上的晶体管进行 upsizing 以提高速度(从而可以降低频率),对非关键路径的晶体管进行 downsizing 以减小电容(从而降低动态功耗)。
    • 多阈值电压 工艺: 在芯片制造时,为不同晶体管提供不同的阈值电压,高阈值电压晶体管漏电小但速度慢,用于非关键路径;低阈值电压晶体管速度快但漏电大,用于关键路径,这是一种面积、功耗和速度之间的权衡。
    • 近阈值/亚阈值计算: 让晶体管工作在接近或低于其阈值电压的区域,虽然速度极慢,但漏电流和动态功耗都极低,对于超低功耗的物联网设备非常有效。

设计流程中的低功耗策略

现代芯片设计遵循一套标准化的低功耗流程,由 UPF (Unified Power Format) 标准定义。

  1. 功耗分析与建模: 在设计早期,使用工具对功耗进行快速估算,为架构决策提供依据。
  2. 低功耗架构定义: 使用UPF文件定义电源域、电源开关、隔离单元、电平转换器等低功耗组件。
  3. 低功耗综合: 综合工具根据UPF约束,自动插入时钟门控和电源门控逻辑。
  4. 物理实现: 在布局布线阶段,确保电源网络和时钟网络的完整性,并处理由电源开关引入的时序问题。
  5. 功耗验证: 在最终流片前,使用功耗仿真工具(如UPF-aware仿真)验证低功耗功能是否正确,确保唤醒/休眠流程无误。
  6. 后功耗分析: 在设计完成后,进行精确的功耗分析,包括动态功耗、静态功耗和IR Drop分析,确保功耗满足设计目标。

低能量-功耗设计是一个系统性工程,没有单一的“银弹”,它需要设计师在不同层次上做出权衡和优化:

层次 核心思想 关键技术 目标
系统/架构 按需分配,避免过度设计 异构计算、专用加速器、近似计算 在性能和功耗间找到最佳平衡点
逻辑/RTL 减少不必要的活动 门控时钟、逻辑优化、异步设计 从源头上降低翻转次数和开关活动
物理/电路 优化底层器件和连接 多阈值电压、电源/地网络优化、近阈值计算 在工艺和物理层面实现极致能效
运行时管理 动态适应负载变化 DVFS、电源门控、时钟门控 在软件和硬件协同下,按需调整工作状态

未来的趋势是系统级和AI驱动的功耗管理,即利用机器学习来预测工作负载,并做出更智能、更前瞻性的电压和频率调整,从而将能量效率推向新的高度。

分享:
扫描分享到社交APP
上一篇
下一篇