当前 Gem5 版本:v25.1.0.0

fork repo: https://github.com/xixi-shredp/gem5

BPU, BTB

Branch Description
dev-segmented-btb 实现了 intel patents: segmented btb
dev-inf-btb 实现了一个无限容量的全相联 BTB,用于分析 BTB 优化的性能上界
dev-pipeline-bpu 实现了一个更接近真实硬件的多周期分支方向预测器,后级的精确预测器可以纠正前级预测器的预测结果
dev-directed-btb 实现了用 BTB 做粗粒度方向预测(基于 dev-pipeline-bpu 分支)

Cache Prefetcher

Branch Description
dev-pf-bingo 实现了 Bingo 预取器
dev-pf-berti 参考 xs-gem5,实现了 Berti 预取器
dev-pf-kairos 实现了 Karios 预取器
dev-pf-streamline 实现了 Streamline 预取器
dev-pf-amd-rip-region 实现了 AMD RIP-Tagged Region 预取器 (US12204459B2)
dev-pf-amd-region-type 实现了 AMD Region Type 预取器 (US12360907B2)
dev-pf-arm-offset-pointer 实现了 ARM Offset Pointer 预取器 (US10445241B2)
merged-multi-pf 实现了一个简单的多预取器管理策略,将多个子预取器的预取请求中地址相同的请求合并
dev-sandbox 实现了 2014 ISCA Sandbox 的多预取器管理策略
dev-resemble 实现了 2022 SC Resemble 的多预取器管理策略
dev-bandit 实现了 2023 MICRO Micro-Armed Bandit 的多预取器管理策略
dev-ipop 实现了 2026 HPCA I-POP 的多预取器管理策略
prefetcher dev-pf-* 以及 dev-sandbox 等多预取器管理策略分支的 merge
dev-inf-cache 实现了一个无限容量的全相联 Cache,用于分析 Cache 优化的性能上界
dev-ideal-cache 实现了一个永远 hit 的 Cache (直通到 Memory,绕过中间 cache),用于分析 Cache 优化的性能上界

性能分析

Branch Description
dev-ftrace 用于生成 function call/ret trace (google trace event)
top-down 参考 xs-gem5,实现 intel top-down 性能归因

Bug-fix

Branch Description
fix-queued-pf 修复 Queued Prefetcher 的部分 bugs
fix-pf-imp 修复 IndirectMmeory Prefetcher 的部分 bugs (Prefetch Package hasData 未判断)