当前位置: 首页 > news >正文

状态保留功耗门控 SRPG (State Retention Power Gating)

状态保留功耗门控 SRPG (State Retention Power Gating)

**状态保留功耗门控 (State Retention Power Gating, SRPG)**是一项在现代超低功耗芯片(尤其是物联网设备、移动处理器)中至关重要的高级电源管理技术。


一、核心概念:它是什么?

状态保留功耗门控 (SRPG) 是一种集成电路设计技术,它允许在关闭某个数字电路模块的电源以节省功耗的同时,保留其关键寄存器中的状态数据

我们可以把它拆解成两个部分来理解:

  1. 功耗门控 (Power Gating)

    • 动作:使用特殊的电源开关晶体管(PMOS作为Header或NMOS作为Footer)彻底断开一个模块的供电电源(VDD)或地(VSS)。
    • 目的:消除该模块的静态功耗(主要是漏电流功耗)。在深亚微米工艺下,漏电流是功耗的主要来源之一。功耗门控是降低静态功耗最有效的手段。
    • 代价:断电后,模块中所有寄存器和SRAM的内容会全部丢失
  2. 状态保留 (State Retention)

    • 动作:在关闭主电源的同时,提供一个专用的、微小的备用电源(通常是低电压)给模块内一组特殊的保留寄存器
    • 目的:确保模块的“工作状态”得以保存。例如,对于CPU核心,状态可能包括程序计数器(PC)、状态寄存器、以及通用寄存器的值。
    • 价值:唤醒后,模块可以从睡眠前的精确状态立即恢复执行,而无需从头开始或从外部存储器重新加载状态,极大地节省了时间和能量。

SRPG将这两者结合起来,实现了“鱼与熊掌兼得”:既享受了功耗门控带来的极致低功耗,又避免了状态丢失带来的恢复开销。


二、为什么需要SRPG?要解决什么问题?

  1. 静态功耗危机:随着半导体工艺演进到纳米级别,晶体管漏电流问题日益严重。即使芯片时钟停止(动态功耗为零),漏电流导致的静态功耗也占据了总功耗的很大比例。对于始终待机的物联网设备,这是电池电量的主要杀手。

  2. 传统关断的局限性:简单的功耗门控(没有状态保留)就像直接拔掉电脑电源。虽然省电,但下次开机需要重启系统、重新加载所有应用程序,恢复过程漫长且耗能。

  3. 实时性要求:许多嵌入式系统需要从睡眠模式快速唤醒并立即响应事件。如果每次唤醒都要从头初始化、配置外设、加载上下文,就无法满足实时性要求。

SRPG就是为了解决“极致省电”和“快速状态恢复”之间的矛盾而诞生的。


三、SRPG是如何工作的?

SRPG的实现依赖于特殊的寄存器和电源管理架构。其工作流程如下图所示:

收到唤醒信号
收到睡眠信号
状态恢复流程
恢复控制逻辑激活
从保留寄存器恢复状态
到普通寄存器
状态保存流程
保存控制逻辑激活
将普通寄存器状态
写入保留寄存器
正常工作模式
主电源 VDD 供电
电源开关断开
主电源 VDD 关闭
深度睡眠模式
仅保留寄存器由备用电源 Vret 供电
功耗极低
电源开关闭合
主电源 VDD 恢复
恢复正常工作
从睡眠前状态继续执行

关键组件:

  • 保留寄存器 (Retention Register):一种特殊的触发器。它有两个电源引脚:一个接主电源(VDD),一个接备用电源(VRET)。当主电源被切断时,它能将其存储的值保持在备用电源上。普通寄存器则没有这个功能。
  • 电源开关 (Power Switch):通常由大量分散的 Header/Footer 晶体管组成,用于控制主电源的通断。
  • 隔离单元 (Isolation Cell):在模块断电时,将其输出钳位到一个固定值(0或1),防止未定义的信号传播到仍供电的模块,造成短路或 metastability 问题。
  • 状态保存/恢复控制器:管理状态转移流程的硬件逻辑。

四、SRPG的优缺点

优点:

  • 极低的静态功耗:这是最主要的目标,节省了90%甚至99%的待机功耗。
  • 快速唤醒和状态恢复:相比从冷启动或外部存储器加载,恢复速度要快几个数量级,通常在几个时钟周期内完成。
  • 对软件透明:理想情况下,应用程序无需关心底层硬件是如何休眠和唤醒的,由硬件和底层固件自动完成。

缺点与挑战:

  • 设计复杂性:需要引入特殊的标准单元(保留寄存器、隔离单元、电源开关),大大增加了物理设计和验证的复杂度。
  • 面积开销:保留寄存器、电源开关晶体管和额外的控制逻辑都会增加芯片的die面积(通常增加5%-20%)。
  • 布线和时序挑战:需要为备用电源(VRET)分配额外的电源网络,并仔细分析状态保存/恢复路径的时序。
  • 潜在的唤醒延迟:虽然比冷启动快,但恢复电源和状态仍然需要时间,对于纳秒级响应的应用需要仔细设计。

五、应用场景

SRPG技术广泛应用于对功耗极其敏感的领域:

  1. 物联网设备:传感器节点、可穿戴设备大部分时间处于睡眠状态,需要靠电池运行数月甚至数年。
  2. 移动设备处理器:智能手机的协处理器、GPU、DSP等模块在不工作时会采用SRPG彻底关断。
  3. 现代微控制器:高级的ARM Cortex-M系列(如M3, M4, M33, M55)支持多种低功耗模式,其中最深的模式(如Shutdown)就依赖于SRPG-like的技术(配合WIC)来实现。
  4. 系统级芯片:大型SoC中的各个子系统(如图像处理、音频、视频模块)可以独立地进行功耗门控和状态保留。

总结

状态保留功耗门控 (SRPG) 是一项通过有选择性地关断模块电源同时保留其关键状态来实现极致低静态功耗的硬件技术。它是平衡“超低功耗”与“快速恢复”需求的关键使能技术,是现代超低功耗芯片设计的基石之一,对于推动物联网和移动计算的发展至关重要。

简单来说,它让芯片模块像动物冬眠一样:新陈代谢(功耗)降到极低,但生命状态(数据)得以维持,春天(唤醒信号)一来就能立刻苏醒并继续活动。


文章转载自:

http://cgLsCBNu.nyLbb.cn
http://M2SQx729.nyLbb.cn
http://cT80mLIx.nyLbb.cn
http://nRwiu2be.nyLbb.cn
http://c2yDWmtB.nyLbb.cn
http://zA8bbIGj.nyLbb.cn
http://yo8L7b8B.nyLbb.cn
http://R01pnjQT.nyLbb.cn
http://WXJ5dtFX.nyLbb.cn
http://jAIcjcfP.nyLbb.cn
http://Ch38U9ti.nyLbb.cn
http://BwUZKQs4.nyLbb.cn
http://Uoow6OEk.nyLbb.cn
http://perevMEv.nyLbb.cn
http://WrWB5N8x.nyLbb.cn
http://UsJzomLI.nyLbb.cn
http://WSsGbh2b.nyLbb.cn
http://3CFtwYuu.nyLbb.cn
http://myOQ39mw.nyLbb.cn
http://quDFiYi7.nyLbb.cn
http://PrZOQ5T4.nyLbb.cn
http://HXVg8kgN.nyLbb.cn
http://gzdJu1yv.nyLbb.cn
http://FMGsfogp.nyLbb.cn
http://l3hPhtmQ.nyLbb.cn
http://XNyNR9d2.nyLbb.cn
http://ooom6m8W.nyLbb.cn
http://eNl8kQul.nyLbb.cn
http://ACKQlFzu.nyLbb.cn
http://DEDpNkcY.nyLbb.cn
http://www.dtcms.com/a/388642.html

相关文章:

  • Elman神经网络多输入多输出回归预测+SHAP可解释分析+新数据预测(MATLAB源码)
  • 408 王道数据结构的学习记录
  • 使用内存映射读取文件和写入文件,并进行性能测试
  • SQL的UNION用法大全介绍
  • 从Web原生到高性能:如何优化企业数据库管理工具
  • 基于python新能源汽车数据分析可视化系统 懂车帝 Scrapy爬虫 Django框架 Vue框架 大数据项目(源码+文档)✅
  • 线性回归和 softmax 回归
  • mysql远程访问连接设置
  • 《WINDOWS 环境下32位汇编语言程序设计》学习17章 PE文件(2)
  • Linux网络编程:从协议到实战
  • Vector 底层实现详解
  • OpenShift Virtualization - 虚机存储的相关概念 DataVolume、CDI 和 StorageProfile
  • 2025年Web自动化测试与Selenium面试题收集:从基础到进阶的全方位解析
  • pytorch中的FSDP
  • 贪心算法与材料切割问题详解
  • 2. 结构体
  • MySQL 核心操作:多表联合查询与数据库备份恢复
  • vue3学习日记(十四):两大API选型指南
  • 微信支付回调成功通知到本地
  • 量化交易 - Simple Regression 简单线性回归(机器学习)
  • Kubernetes控制器详解:从Deployment到CronJob
  • python 架构技术50
  • 第九周文件上传
  • MCP大白话理解
  • 【Qt】QJsonValue存储 int64 类型的大整数时,数值出现莫名其妙的变化
  • 【C语言】冒泡排序算法解析与实现
  • [GESP202309 三级] 进制判断
  • 【C++】const和static的用法
  • 箭头函数{}规则,以及隐式返回
  • brain.js构建训练神经网络