当前 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 未判断) |