低功耗设计:(3)架构级优化

news/2025/2/24 15:53:11

在上一期文章中,介绍了系统级低功耗设计的方法,如软硬件协同设计、功耗管理机制等。

本期将深入探讨架构低功耗设计的核心技术,包括多电压设计(Multi-VDD)、动态电压频率调节(DVFS)、系统时钟优化、异步设计以及算法优化等。

通过合理划分供电区域、动态调整电压频率、优化时钟架构等方式,可以大幅降低功耗,同时保证系统性能。

1. 多电压设计(Multi-VDD)

电压对功耗的影响极大,因此,多电压设计(Multi-VDD)是架构级低功耗优化的重要手段。其基本思想是根据不同模块的性能需求,使用不同的供电电压,以在保证时序的情况下降低功耗。

1.1 多电压技术

根据电压管理方式的不同,Multi-VDD 主要有以下三种实现方式:

(a) 固定电压划分(下图1.1(a)所示):

  • 不同模块被划分到固定的供电电压域,不同电压域的电压值是恒定的;

  • 适用于对功耗和性能要求明确的芯片设计,如高性能 CPU 和低功耗 DSP 采用不同电压域。

(b) 预定义多电压模式(下图1.1(b)所示):

  • 每个电压域可在多个固定电压之间切换,由软件控制选择合适的电压模式;

  • 适用于需要根据负载动态调整功耗的系统,如移动设备的 CPU 负载调节。

(c) 自适应电压调整(下图1.1(c)所示):

  • 电压域的供电电压是可变的,可根据工作状态动态调整,实现更精细的功耗优化;

  • 适用于高端智能设备和数据中心服务器,可通过智能功耗管理算法动态调整电压。

 

图1.1 Multi_VDD的三种方式

应用案例:在移动 SoC 设计中,CPU 可能会采用不同电压,如高性能模式(1.2V)、标准模式(1.0V)和低功耗模式(0.8V),从而在保证性能的同时降低功耗。

1.2 关闭电源(Power Gating)

当某个功能模块在一段时间内不需要工作时,可以彻底关闭该模块的电源,以减少动态功耗。这一技术被称为 Power Gating。一个带Power Gating的结构示意图:

 

Power Gating 关键点:(1)彻底关闭电源,可以完全消除动态功耗;(2)可能产生泄漏功耗,因为 Power Gating 需要加入 Isolate Cell 和 Retention Cell,这些单元本身会产生少量泄漏功耗;(3)关断/恢复时有功耗开销,涉及电源充电/放电过程,需要精细管理。

由于电容的存在,电源关闭后,电压会缓慢下降,导致闩锁电流(Crowbar Current)问题。因此,需要加入 Isolate Cell 进行保护(详见1.3)。

1.3 多电压控制单元

为了确保不同电压域之间的稳定工作,需要加入以下关键单元:

(1) 隔离单元(Isolation Cell)

  • 当一个电压域关闭时,防止X态传播到其他电压域。

  • 主要通过将关断域的输出信号钳位到高或低电平来避免干扰。

 

(2) 电平转换器(Level Shifter)

  • 跨电压域信号转换,确保不同电压域之间的数据传输可靠;

  • 适用于数据、时钟、扫描链等信号跨电压域传输场景。

 

(3) 保持寄存器(Retention Register)

  • 掉电时保留关键信息,以便恢复时能够快速恢复状态;

  • 采用 高 Vt 单元 以减少泄漏功耗,但可能会影响时序。

 

1.4 电压分配

在多电压设计中,如何合理划分供电区域至关重要。

在划分供电区域时,要尽量与设计的层次结构一致,并且要考虑到设计复杂性。产生多个电压区域,把供电不同的模块,分配到不同的电压区域。

一般而言,单元的延迟与供电电压成相反关系,即供电电压越高,单元的延迟越小。

(1)高性能模块(如 CPU、DSP)采用高电压,以降低延迟并满足高频率运行需求;

(2)低速外设(如 GPIO、UART)采用低电压,以降低功耗;

(3)存储器模块采用适中的电压,以兼顾性能和功耗。

通过对不同的模块设置不同的供电电压,可以使整个设计既满足时序的要求,又降低其功耗。

2. 动态电压频率调节(DVFS)

DVFS(Dynamic Voltage and Frequency Scaling)是一种根据负载动态调整电压和频率的技术,可以显著降低系统功耗。

(1)低负载时降低电压和频率,减少功耗;

(2)高负载时提高电压和频率,保证性能;

(3)软硬件协同管理,实时调整时钟和供电策略。

应用案例:智能手机中的 CPU 采用 DVFS 机制,在待机时降低主频,在运行大型应用时提升主频,以优化功耗和性能。

3. 系统时钟优化

系统时钟是功耗的主要来源之一,合理的时钟管理可以显著降低功耗。

(1)时钟门控(Clock Gating),关闭不必要的时钟,减少翻转功耗;

(2)工作模式管理,如 Normal、Slow、Idle、Sleep 四种模式,动态调整时钟频率;

Normal模式:系统工作在全速状态,核心电路(Core)和外围电路都使用高频时钟(如 PLL 提供的时钟)。

Slow模式:系统以低速模式运行,使用较低频率的外部时钟(如晶振提供的低频时钟)。

Idle模式:系统处于部分休眠状态,关闭 Core 的时钟,但仍向外围电路提供时钟。

Sleep模式:关闭大部分时钟,系统进入深度休眠状态,仅为少数关键电路(如唤醒电路)提供时钟信号。

(3)局部时钟优化,通过划分时钟域,避免不必要的全局时钟切换。

模式

说明

Normal

用PLL的时钟,送到core及外围电路

Slow

使用外部时钟

Idle

只将时钟送到外围电路,关掉core的时钟

Sleep

只给时钟唤醒电路等提供时钟

4. 异步设计

在某些情况下,异步设计比同步设计更节能。例如,在一个多模块系统中,各个子系统可以使用独立的时钟,而不是统一的全局时钟,从而减少全局同步带来的功耗开销。

 

图4.1 同步设计

 

图4.2 异步设计

5. 算法优化

在硬件架构优化之外,算法优化也是降低功耗的重要手段。例如:

(1)减少乘法运算,使用加法替代,降低计算功耗;

(2)减少除法运算,使用移位运算,提高能效。

例如,在NPU中,使用定点运算替代浮点运算,大幅降低功耗。

6.总结

(1)多电压设计(Multi-VDD) —— 精细划分供电域,降低整体功耗;

(2)动态电压频率调节(DVFS) —— 软硬件协同,实时调整功耗;

(3)时钟优化 —— 关闭不必要的时钟,减少动态功耗;

(4)异步设计 —— 避免全局时钟同步,减少功耗浪费;

(5)算法优化 —— 选择更高效的计算方法,减少计算功耗。

 


http://www.niftyadmin.cn/n/5864554.html

相关文章

通过C语言实现“数据结构”课程中的链表,数据,数,图

链表 链表是一种线性数据结构,其中元素不是存储在连续的内存位置,而是通过指针链接在一起。每个元素称为一个节点,包含数据部分和指向下一个节点的指针。 单向链表示例: 假设有一个链表包含三个节点:1 -> 2 ->…

maven模块化管理

将一个大项目拆分成若干个子模块,方便项目管理维护、扩展,也方便模块间的相互引用,资源共享 具体步骤 先创建一个空项目(父项目)即下图的sky-take-out,然后打开项目结构的模块,选中父模块,再点…

支持向量机(SVM)在 NLP 中的使用场景

支持向量机(Support Vector Machine, SVM)是一种强大的监督学习算法,广泛应用于分类任务中。由于其出色的分类性能和高效的计算特点,SVM 已经成为自然语言处理(NLP)领域中的一种经典模型。SVM 在 NLP 中的应用非常广泛,尤其在文本分类任务中,表现出色。 本文将探讨 SV…

深度解析:大模型在多显卡服务器下的通信机制与分布式训练——以DeepSeek、Ollama和vLLM为例

一、引言:大模型与多显卡的必然结合 随着大模型参数规模突破千亿级(如GPT-4、DeepSeek),单显卡的显存容量与算力已无法满足需求。多显卡并行计算成为训练与推理的核心技术,其核心挑战在于高效通信与负载均衡。本文以国…

《论多源数据集成及应用》审题技巧 - 系统架构设计师

论多源数据集成及应用写作框架 一、考点概述 本论题“论多源数据集成及应用”主要考察的是计算机软件测试工程师在数据管理和集成方面的专业知识与实践能力。论题聚焦于信息爆炸时代企业、组织和个人所面临的数据挑战,特别是如何有效地收集、整理和清洗来自不同渠…

Spring Security+JWT+Redis实现项目级前后端分离认证授权

1. 整体概述 权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制到资源,用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。 1.1 认证概述 认证是确认用户身份的过程,确保用户是谁。 1.1.1 …

【STM32 基于PID的闭环电机控制系统】

STM32 基于PID的闭环电机控制系统 目录 STM32 基于PID的闭环电机控制系统一、PID算法在STM32F103C8T6中的实现思路二、代码实现与解释三、PID算法的调试与优化四、总结 一、PID算法在STM32F103C8T6中的实现思路 基本概念 • 目标 :通过PID算法调节电机的转速&#…

`sh` 与 `bash` 的区别详解

sh 与 bash 的区别详解 1. 历史背景 sh (Bourne Shell): 由 Stephen Bourne 在 1977 年开发,是 Unix 系统的默认 Shell。语法简洁,但功能有限。 bash (Bourne Again Shell): 由 Brian Fox 在 1989 年开发,是 sh 的扩…