Dynamic Memory Dependence Predication
- Conferences: ISCA, 2018
- Authors: Zhaoxiang Jin ; Soner Önder
- Site: https://ieeexplore.ieee.org/document/8416831
- Keywords: Memory Dependence Prediction, Store Queue Free Architecture, Memory Cloaking, Dependence Predication
简介
NoSQ 是 Store-queue-free 架构的一种方案,主要的思想是去除 store queue, 转而使用预测器预测 store-load 的依赖关系并采用 memory forward + re-execution 来实现 store-load 的交互。其平均性能较传统 store queue 架构提升了 2%.
本篇论文提出 DMDP 架构(Dynamic Memory Dependence Predication) 对 NoSQ 架构进行了改进,通过在寄存器重命名阶段中插入指令去改变 load 的行为,减轻了内存依赖关系的错误预测,降低了 re-execution 的次数。实验表明,相比于 NoSQ 架构,DMDP 架构带来了整数 7.17%、浮点 4.48% 的性能提升以及 6.7% 的能耗节省。
DMDP 架构的基本思想是插入一个新的微指令,去比较被预测的load-store依赖对的地址。如果地址一致,则load直接使用store的寄存器;否则,load从cache中读数据。这样,执行的load和提交的store之间的错误依赖就被消除了。消除这种依赖是重要的,因为当考虑内存一致性模型时,store指令commit的延迟会大幅度的增加。
store-queue-free架构消除了store-queue,但store buffer仍然需要保存retired store直到store更新了缓存。这一组件也是合理实现内存一致性模型和处理大量store miss的必要组件。
研究背景
1. 传统 store queue 架构
超标量处理器中,store指令在commit阶段才更新内存子系统。因此,必须要一种机制处理in-flight