Hardware Cache Prefetcher
cache 硬件预取器简介
Gem5 Prefetcher
Gem5 cache 数据预取器简介(BOP, Berti)
Gem5: Fetch Target Queue(FTQ)
Gem5 FTQ 解读
xs-gem5: Frontend
xs-gem5 前端实现简介
Classification-Based Cache Replacement Policies
基于分类的细粒度 cache 替换策略
Reuse Distance Prediction Replacement Policies
基于 Reuse Distance 预测的细粒度 cache 替换策略
New Idea: DirectedBTB?
问题起源: 性能反常 Intel SegmentedBTB 是一种根据 branch hotness 将 BTB 分为 Hot Cache, Target Cache 两个 Segments 的设计,针对 Hot Cache 按照 BIA 和 BTA 之间的页面关系进行存储空间的优化,使得相同存储预算下, Hot Cache 可以存储更多的 branch targets. InfinitBTB 是一种无限容量的全相联 BTB ,主要用于探索 BTB 优化设计的性能上限。 在研究 Intel SegmentedBTB (有限容量 BTB) 和 InfinitBTB 的性能对比时发现,SegmentedBTB 比 InfinitBTB 在某些 workloads 上的 ipc 更高。 最终分析得到的原因为: 方向预测器并不是理想的: InfinitBTB 对于方向预测器预测错误的 not-taken branch (预测为 taken),依旧会提供 target,导致这些分支直到后端计算完目标地址之后才能 squash,而原本这些 not-taken branch 在 Seg...
Hybrid Policies
混合多种替换策略的粗粒度 cache 替换策略简介
Frequency Based Policies
基于 frequency 的粗粒度 cache 替换策略简介