- 软件
- 硬件(定时器或系统级电源管理控制器)
- 可能节省的漏电功耗
- 切换模式时发生的时序penalties
- 进出低漏电模式消耗的能量
- 活动配置文件activity profile (睡眠或活动的比例和频率)
SLEEP events initiate entry to the low power mode
WAKE events initiate return to active mode
WAKE和时钟运行之间的响应时间很重要,不能忽略;
泄漏功耗相比没用PG减小了;
完全的泄漏能量节省需要一些时间来达到目标水平;
但也有一些权衡是必须考虑的:
- PG使整个CPU泄漏功耗显著减少。
- 但是对中断的唤醒时间响应具有显著的系统级设计含义(甚至可能需要更深的FIFO或计划的时间槽)。
- 如果缓存内容断电丢失,那么可能会花费大量的时间和能量来重新填充缓存。
- 净能量saving取决于SLEEP/WAKE activity profile,即PG时节省的能量与Reload时消耗的能量。
权衡:
- 设备驱动程序需要load/restore关键状态或初始化hardware sequence控制作为SLEEP/WAKE sequence的一部分,但这给软件带来了很大负担。
- 更好的方法可能是在睡眠模式下让外围设备内部存储关键状态,但这需要特殊的电路和额外的控制。
- 单个cpu的PG能很好减少泄漏功耗。
- 因为CPU已经完成了它的任务,因此缓存掉电丢失不是问题。
- 优化的energy saving可能需要自适应掉电算法(改变不同的工作负载下PG和活动时核的数量)
Fine Grain | 开关被放在每个标准单元内部; 尺寸足够大(wc. Current & 性能); | ![]() | 开关上的IR drop和clamp对时序的影响很容易被表征(因为开关inside cell); | 面积开销大; |
Coarse Grain | 一整个模块的门控通过一组开关控制; | ![]() | 面积开销小得多; | 很难得到确切的开关逻辑活动,只能估算; |
- 首选coarse;
- PG设计时需要管理 in-rush current(电源重连时出现),避免电源网络上过大的IR drop;
更多回帖