IP-CaT(2026 ISCA): Enhancing Instruction Prefetching via Cache and TLB Management
2026 ISCA IP-CaT 论文解读:用面向 L1I prefetch 的 TLB translation buffer 与 L2C replacement policy 协同放大 instruction prefetching 收益
ICP(2026 ISCA): Exploiting Instruction Correlation for Prefetching Irregular Memory Accesses
2026 ISCA ICP 论文解读:用 instruction-level correlation 替代 address-level recurrence 来预取不规则访存。
XiangShan 数据预取器架构代码解读
XiangShan Prefetcher RTL 实现核心设计思想是: 上层预取器可以跨层级”指示”下层预取(L1 可以让 L2 预取,L1 可以让 L3 预取),但这种跨层指示走的是 专用旁路通道(sideband,BundleBridge),而不是 TileLink 缓存一致性总线上的 Hint 报文; 每个预取请求都携带”来源标识”(pfSource / MemReqSource),使得请求在跨层传递、在下层流水线处理、以及在性能统计时都能追溯到是哪一级、哪一个预取器发起的; 预取深度按层级递增:越靠近核心的层级(L1)预取得越”近”(lookahead 小),越远的层级(L2/L3)预取得越”远”(lookahead 大),以匹配各级 miss 延迟差异 各层级使用的预取器: 层级 算法 说明 L1 D-Cache Stride、Stream、SMS(Spatial Memory Streaming) Stride/Stream 由 L1Prefetcher 统一管理;SMS 是独立模块 L2(coupledL2) BOP...
XiangShan 跨 Cache Hierarchy 预取 (pf-ahead)
XiangShan pf-ahead 代码解读
(SiFive WO2023287512A1)[2023] Prefetcher with multi-cache level prefetches and feedback architecture
SiFive 专利(WO2023287512A1) [2023] 解读:用多级 MSHR feedback 决定同一 trained entry 应向 L1/L2/L3 发送多少预取
Data Prefetcher: Cross Cache Hierarchy
Cache 数据预取: 跨 Cache 层级的处理
Pointer Array Prefetcher(AMD US12050916B2)[2024]: Array of pointers prefetching
AMD 专利(US12050916B2) [2024] 解读:Pointer Array Prefetcher 通过 stride 训练、decode 依赖识别和两级指令注入来预取 pointer-array/IMA 的未来目标数据
Offset Based Pointer Prefetcher(Arm US10445241B2)[2019]: Prefetching using offset data to access a pointer within a current data element for use in prefetching a subsequent data element
Arm 专利(US10445241B2) [2019] 解读:用 offset data 学习数据元素之间的地址关系,并对链表、指针数组等间接访问执行下一元素预取
Apple Data Prefetcher Overview
Apple 数据预取器简介(专利)
Pointer Chasing Prediction(Apple US9116817B2)[2015]: Pointer chasing prediction
Apple 专利(US9116817B2) [2015] 解读:Pointer Chasing Prediction 通过识别 load-to-load 指针追踪依赖,并预测生产 load 的结果可从 L1 D-cache/LSU 内部转发,使消费 load 在源操作数写回调度器/寄存器文件前提前发射。