在当代微处理器设计中,片上缓存系统占据了总功耗的相当大比例。随着半导体工艺尺寸不断缩小至纳米级别,静态泄漏功耗已经成为不可忽视的设计挑战。传统CMOS技术中,晶体管在非切换状态下功耗可以忽略不计的时代已经过去。在高速、高密度芯片中,泄漏功耗目前约占总功耗的15%-20%,而在0.1微米以下工艺节点,这一比例将呈指数级增长。
动态电压调节(Dynamic Voltage Scaling, DVS)技术为解决这一难题提供了创新方案。该技术的核心思想是通过动态调整缓存线路的供电电压,在保持数据完整性的同时显著降低静态功耗。与完全关闭缓存线路的传统方法不同,DVS将不活跃的缓存线路置于" drowsy"(低功耗)模式,此时供电电压降至约0.3V(约为正常电压的30%),但仍能维持存储单元的状态。当需要访问这些线路时,可以在1-2个时钟周期内快速恢复到全电压工作状态。
这种技术特别适合缓存系统,因为实际应用中,任意时间段内只有一小部分缓存线路处于活跃状态。统计数据显示,80%-90%的缓存线路可以维持在drowsy模式,而对整体性能的影响不超过1%。在0.07微米CMOS工艺下,这种技术可以实现50%-75%的总能耗节省(包括静态和动态功耗)。
实现drowsy缓存的核心电路修改相对简单,主要包括三个关键组件:
具体实现时,每个缓存线路仅需增加两个晶体管。电压控制器根据drowsy位的状态,将存储单元阵列的供电电压切换为高(活动)或低(drowsy)电平。当访问一个处于drowsy模式的缓存线路时,控制器会清除drowsy位,并将供电电压切换到高VDD。
重要提示:字线门控电路是必不可少的保护机制,因为drowsy模式下存储单元的供电电压低于位线预充电电压,直接访问可能导致数据损坏。
图6展示了典型的drowsy存储单元电路原理图。关键设计考虑包括:
采用高阈值电压(Vt)器件作为传输晶体管(N1和N2),连接存储单元内部反相器与读写线路。这是必要的,因为读写线路保持在高功率模式,而通过传输晶体管的泄漏电流需要被严格控制。
两个PMOS传输门开关分别提供正常供电电压和低供电电压。每个传输门都使用高Vt器件,防止通过两个PMOS管的泄漏电流。
每个缓存线路需要独立的电压控制器,以实现细粒度的功耗管理。
传输晶体管阈值电压的选择需要在泄漏功耗降低和性能影响之间取得平衡。通过HSPICE模拟可以观察到:
性能方面,从字线断言到互补位线间产生50mV电压差(感应放大器激活阈值)的延迟会随着Vt增加而增加。但这一延迟仅占内存系统总访问时间的约22%。综合考虑后,0.3V的高Vt值提供了合理的折衷点,可实现91.98%的泄漏降低,同时仅带来6.05%的性能损失。
drowsy缓存支持两种基本工作状态:
状态转换由缓存控制器管理,关键操作包括:
访问drowsy缓存的时序特性取决于标签(Tag)的设计:
情况一:标签保持活动状态
情况二:标签也可进入drowsy状态
在直接映射缓存中,保持标签活动并无性能优势,因为每个索引只对应一个可能的线路,如果该线路处于drowsy状态,必须立即唤醒。
drowsy缓存的有效性高度依赖于管理策略。两种基本策略被广泛研究:
简单策略(Simple Policy):周期性将所有缓存线路置为drowsy模式
无访问策略(Noaccess Policy):仅将特定窗口内未被访问的线路置为drowsy
窗口大小(决策周期)是影响策略效果的关键参数:
实验数据显示,对于乱序执行核心(OO4),2000周期左右的窗口大小能在能量延迟积(EDP)上达到最佳平衡。而对于顺序执行核心(IO2),由于每周期指令数较少,最佳窗口大小移至4000-8000周期范围。
对比简单策略和无访问策略:
综合考虑实现复杂度和效果,采用4000周期窗口的简单策略是最佳折衷方案。该配置下:
DVS技术通过两种机制降低功耗:
在0.07微米工艺下,这种组合效应可实现50%-75%的总能耗节省。虽然drowsy模式下的每比特节能效果不如完全关闭线路的技术,但由于以下原因,整体效果接近理论极限:
传统低功耗缓存技术主要有两种:
门控VDD(Gated-VDD):
自适应体偏置多阈值CMOS(ABB-MTCMOS):
相比之下,DVS技术的优势在于:
低电压工作模式可能带来稳定性挑战,需要特别考虑:
交叉干扰:相邻单元写入操作可能通过位线耦合影响drowsy单元
工艺变化:阈值电压波动可能影响可靠性
单粒子翻转(SEU):低电压下对α粒子等更敏感
基于TSMC 0.18um工艺的实测数据:
对于32KB 4路组相联缓存,这种开销通常是可以接受的,特别是考虑到显著的功耗节省。
动态电压调节技术特别适合以下应用场景:
未来发展方向可能包括:
在实际应用中,建议从L2缓存开始采用drowsy技术,因为L2访问延迟较长,额外的唤醒周期对整体性能影响更小。对于L1缓存,需要更谨慎的策略选择和参数调优。