多核系统中自旋电子缓存提升能源效率与性能
立即解锁
发布时间: 2025-10-21 00:26:56 阅读量: 21 订阅数: 55 AIGC 

面向未来的并行计算研究
### 多核系统中自旋电子缓存提升能源效率与性能
#### 1. 引言
随着CMOS技术面临严重的扩展和功耗问题,当前的SRAM设计已难以满足多核芯片对大容量、高速且低功耗片上缓存的需求。近年来,自旋转移矩磁性随机存取存储器(STT - MRAM)作为一种新型非易失性存储器技术,受到了广泛关注。
STT - MRAM具有诸多优势:
- 相比传统SRAM缓存,它的密度更高。
- 非易失性特性使其具备低漏电功耗的优点。
- 其读取延迟与当前SRAM技术相近。
然而,STT - MRAM也存在一些不足,由于写入电流大且写入延迟长,导致动态能耗较高。在CMOS缓存层次结构中,末级大缓存的漏电功耗是主要的能耗来源。本文以STT - MRAM末级缓存和CMOS一级缓存为基准配置,深入研究将一级缓存也转换为STT - MRAM的影响,并详细分析不同写入延迟对性能和能耗的影响。
STT - MRAM的写入延迟会降低缓存的可用带宽,因为这种延迟无法通过流水线或其他技术来隐藏。为解决这一问题,在主L1缓存前添加了一个小型全关联的L0缓存。这个小型缓存虽小,但好处颇多,它能作为回写缓存,以全带宽吸收处理器写入,并将其聚合为缓存行大小的写入,以回写形式写入STT L1缓存,从而提高L1缓存的带宽。若能吸收大部分处理器写入,还可节省能源。模拟结果表明,因高写入延迟导致的性能损失可得到恢复,且在13个基准测试中,有12个的缓存总能耗降低了30% - 50%。
本文的主要贡献包括:
1. 详细对比CMOS和STT - MRAM一级缓存的性能和能耗。
2. 分析小型全关联L0缓存克服STT - MRAM长写入延迟导致性能下降的效果。
3. 比较有无L0缓存时缓存动态能耗的差异。
#### 2. 实验方法
采用gem5模拟器运行Parsec基准测试套件进行架构模拟。为减少模拟时间并保证准确性,使用了类似SMARTS中描述的采样技术。所有数据均取自并行感兴趣区域(ROI),使用由特定方法编译到源代码中的检查点。模拟了一个四处理器系统,采用四发射乱序执行模型,运行频率为2GHz。一级缓存为每个CPU私有,末级缓存为共享。使用包含性的MESI协议来保证缓存一致性。通过对选定配置的基准测试进行完整模拟,验证了采样模拟数据的准确性。
以下是模拟的系统参数:
| 参数 | 值 |
| ---- | ---- |
| L1 DCache大小 | 64K CMOS,128K & 256K STT |
| STT L1写入延迟 | 3ns,5ns,8ns |
| 缓存读取延迟 | L0 1周期,L1 3周期,L2 7周期(顺序访问) |
| L0 DCache排列 | 基线无;512B,1K,4K全关联,私有 |
| L1 DCache排列 | 2路组关联,每个CPU私有 |
| L2缓存排列 | 4MB STT,6ns写入,8路组关联,共享 |
| 一致性协议 | 包含性的MESI协议 |
为进一步提高模拟吞吐量,在程序的非重叠区域并行运行多个模拟。使用简单原子CPU模型,从ROI开始,每隔5000万周期为每个基准测试创建多个检查点。从每个检查点并行运行模拟,使用GNU Parallel在较短时间内运行数千个小模拟。为每个模拟配置从每个检查点收集25个样本。修改模拟器,允许在不同间隔切换简单定时模型CPU和详细乱序CPU模型。简单定时CPU用于在详细模拟周期之间将模拟推进900K周期,保持缓存和其他动态结构活跃。然后切换到详细乱序模型运行500K周期,每次切换时重置模拟统计信息。通过比较不同缓存大小和写入延迟配置下基准测试的每周期指令数(IPC)来衡量性能影响。同时,使用相关技术计算95%置信区间,多数情况下置信区间很小,不影响数据解读。
从模拟统计信息中收集与缓存动态能耗相关的性能数据和事件计数。修改Cacti以模拟STT - MRAM设备的更高密度,以及不同访问时间所需的不同漏电功耗和访问晶体管尺寸。对于STT - MRAM阵列,在Cacti访问能耗中为写入操作添加每比特300 fJ的能量。以下是用于从模拟活动计算能耗的功率和能量参数:
| 结构 | 大小 | 读取(nJ) | 行写入(nJ) | 字写入(nJ) | 漏电(mW) |
| ---- | ---- | ---- | ---- | ---- | ---- |
| CMOS L1 | 64kB | 0.032 | 0.055 | 0.055 | 25 |
| STT L1 | 128kB | 0.033 | 0.220 | 0.
0
0
复制全文


