缓存的功耗与能耗
更新时间:2026-10-01。缓存常占芯片相当比例的面积和能耗,性能优化不能忽视能量代价。
本文要回答的问题
- 一次缓存访问的能量花在哪?
- 更大/更高相联缓存的能耗代价是什么?
一、动态与静态能量
每次访问要读 tag 阵列并通常并行读多路 data,路数越多并行读得越多、动态能耗越高;大容量 SRAM 在先进工艺下漏电(静态)也显著。一次 miss 还要加上对下层高能量的访问。
二、节能技术
- way prediction/按需读路:先读预测路,减少并行读取。
- drowsy/电源门控:降低不活跃部分的漏电。
- 减小不必要的容量/相联度,本身就同时省能。
三、常见坑
- 只追命中率,忽视高相联并行读路的能耗。
- 容量过大,漏电与面积不划算。
- 把缓存能耗当成零成本。
小结
缓存能量来自多路并行读取与大容量漏电,缺失再加下层能量;路预测和门控可缓解,容量/相联要按性能-能量联合取舍。下一篇 缓存与实时 WCET。
总结
缓存是芯片上的能耗大户:每次访问都要读 tag 阵列并通常并行读多路 data,相联度越高动态能耗越高,大容量 SRAM 在先进工艺下漏电也随面积上涨,一次 miss 还要叠加更昂贵的下层访问能量;way prediction、按需读路和 drowsy/电源门控能省一部分,但根本取舍是容量与相联度要按"性能—每访问能量"联合定。命中率不是免费的——每一次命中背后都有真实充放电的焦耳数。