4 电源门控
随着先进工艺的进步,CMOS泄漏功耗与日俱增。(沟长变短了,栅极对晶体管的控制能力减弱)
电源门控可以降低泄漏功耗;
4.1动态功率分布图和泄漏功率分布图
PG的基本策略:提供两种功率模式——低功耗模式和活动模式。
设计目标:在适当的时间以适当的方式在模式间切换,最大程度节省能量的同时最小化对性能的影响。
区别:第2章中的几种标准低功耗方法(时钟门控、门级功率优化、多电压、多阈值)不会影响功能,也不需要更改RTL;但是PG对设计的影响较大,会影响模块之间的接口通信,并显著增加了安全进出PG模式的延迟。
控制PG模式切换的方法:
- 软件
- 硬件(定时器或系统级电源管理控制器)
PG中需要考虑的tradeoff:
- 可能节省的漏电功耗
- 切换模式时发生的时序penalties
- 进出低漏电模式消耗的能量
- 活动配置文件activity profile (睡眠或活动的比例和频率)
PG术语:
SLEEP events initiate entry to the low power mode
WAKE events initiate return to active mode
PG activity profile 举例:
- 不使用PG
- 使用PG(理想情况)
WAKE和时钟运行之间的响应时间很重要,不能忽略;
泄漏功耗相比没用PG减小了;
- 使用PG(非理想情况)
完全的泄漏能量节省需要一些时间来达到目标水平;
4.2 PG对几类子系统的影响
以下几种情况采用PG能显著减小泄漏功耗;
通常长时间处于睡眠状态,因此PG很有吸引力。
但也有一些权衡是必须考虑的:
- PG使整个CPU泄漏功耗显著减少。
- 但是对中断的唤醒时间响应具有显著的系统级设计含义(甚至可能需要更深的FIFO或计划的时间槽)。
- 如果缓存内容断电丢失,那么可能会花费大量的时间和能量来重新填充缓存。
- 净能量saving取决于SLEEP/WAKE activity profile,即PG时节省的能量与Reload时消耗的能量。
profile比CPU更好定义,外围子系统由可配置的设备驱动程序和可优化的电源管理方案控制;
注意,它有必要在wake up时迅速恢复状态,最大程度energy saving;
权衡:
- 设备驱动程序需要load/restore关键状态或初始化hardware sequence控制作为SLEEP/WAKE sequence的一部分,但这给软件带来了很大负担。
- 更好的方法可能是在睡眠模式下让外围设备内部存储关键状态,但这需要特殊的电路和额外的控制。
假设处理器只有在完成了一个任务并处于空闲状态,等待分配另一个任务时才关闭供电;
- 单个cpu的PG能很好减少泄漏功耗。
- 因为CPU已经完成了它的任务,因此缓存掉电丢失不是问题。
- 优化的energy saving可能需要自适应掉电算法(改变不同的工作负载下PG和活动时核的数量)
4.3 PG设计原则
—》PG控制基本形式:
-
外部开关电源(externally switched power supply)
长期leakage power低,但是需要长时间、大量能量restore 门控模块的power; -
内部开关电源(Internal power gating)
适用于电源关断时间较短的模块;
举个例子:
图中VDD被switched,VSS直接供给chip;
-
Power Switching Fabric:
由分布在PG block周围/内部的大量CMOS开关组成; -
ISO:
隔离单元,加在PG block的输出和AON block的输入之间;
由于PG block的输出斜坡信号爬升很慢,可能导致较大的短路电流(crowbar currents) -
PG Controller:
控制CMOS开关的通断;提供ISO控制信号;控制保持寄存器(retention register)何时store/restore main register的状态值; -
Retention strategy:
掉电时store模块内部state,上电后restore;节省上电时的time&power;
一般用保持寄存器代替普通触发器,保持寄存器通常有auxiliary/shadow register,速度慢but泄漏小;
寄存器常开,通过PG Controller控制寄存器when to store/restore;
—》电源开关——Fine Grain vs. Coarse Grain
PG切换方式 | 描述 | 图示 | 优点 | 缺点 |
---|---|---|---|---|
Fine Grain | 开关被放在每个标准单元内部; 尺寸足够大(wc. Current & 性能); | 开关上的IR drop和clamp对时序的影响很容易被表征(因为开关inside cell); | 面积开销大; | |
Coarse Grain | 一整个模块的门控通过一组开关控制; | 面积开销小得多; | 很难得到确切的开关逻辑活动,只能估算; |
tips:
- 首选coarse;
- PG设计时需要管理 in-rush current(电源重连时出现),避免电源网络上过大的IR drop;
—》PG的挑战
- 电源开关(Power Switching Fabric)设计
- 电源门控控制器(PG Controller)设计
- 保留寄存器和隔离单元的选择和使用
- 最大限度减少PG对时间和面积的影响。
- clocks和reset的功能控制
- 接口隔离
- 为implement和analys制定合适的约束
- 采用功耗状态过渡的验证来确保所有合理的状态进出arcs可被仿真和验证;
- 为生产和产品测试制定策略