当前的单体 cache 数据预取器大致可以分为如下几类:

  1. stride/stream prefetcher
  2. offset/delta prefetcher
  3. spatial prefetcher
  4. temporal prefetcher

但数据预取器处理需要关注自身的预取 accuracy, coverage 等之外,还需要考虑与其他子系统之间交互的影响:

  1. 是否应当进行跨页预取?
    • 跨页预取一般只有在 L1D 中才需要考虑,因为只有 L1D 可以拿到完整的 VA/PA 信息,L2 只能看到 PA 信息
    • 数据的访存规律一般由源程序决定,但源程序的访存规律又是建立在虚拟地址空间之上的,因此从 VA 的视角下往往才能看到真实的数据访存规律
    • L1D 本身会过滤一部分访存信息,因此 L2 本身看到的访存规律信息就是不完整的信息,因此其从 PA 的视角就更难看到真实的访存规律
    • XiangShan Kunminghu L2 预取器使用紧耦合策略给 L2 传递了 VA 信息训练 VBOP 并支持了跨页预取
  2. 不同 cache level 之间的互相影响
    • L2 cache 的 hit rate 提高可能导致 L1D cache hit rate 的提高:
      • L2 cache hit rate 提高之后,L1D cache MSHR 的响应 latency 降低,可能导致 L1D cache hit rate 上升

Paper

Stride / Stream 预取器(经典基础方法)

Title Year From URL
Improving Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers 1990 ISCA https://doi.org/10.1145/325164.325162
An Effective On-Chip Preloading Scheme to Reduce Data Access Penalty 1995 SC https://doi.org/10.1145/224170.224222
Data Cache Prefetching Using a Global History Buffer 2004 HPCA https://doi.org/10.1109/HPCA.2004.10030
Title Filing Date Status Number / URL 主要方向
System, apparatus and method for prefetching physical pages in a processor 2020-12-22 Grant US12019553B2, https://patents.google.com/patent/US12019553B2/en physical-page prefetch / DCU + MLC decoupled prefetch
Data processing apparatus and method for generating prefetches based on a nested prefetch pattern 2021-03-23 Grant US12045618B2, https://patents.google.com/patent/US12045618B2/en nested pattern / 多维 stride
Global stride prefetching apparatus and method for a high-performance processor 1997-02-03 Grant US6055622A, https://patents.google.com/patent/US6055622A/en stride baseline
Stride-based prefetcher circuits for prefetching next stride(s) into cache memory based on identified cache access stride patterns 2022-08-19 Grant US12164429B2, https://patents.google.com/patent/US12164429B2/en stride detection + propagation threshold

Improving Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers (Jouppi, ISCA 1990)

  • 早期处理器 cache miss penalty 日益增长,需要在不增加大量硬件的前提下减少 miss 延迟
  • 核心 insight:利用简单的 stream buffer 在 cache miss 时预取后续连续 cache line,可以有效捕获顺序访问模式
  • 提出 stream buffer(流缓冲区)机制,在检测到 cache miss 后自动预取后续 N 个连续 cache line 到独立的 FIFO buffer 中
  • 这是硬件数据预取领域的奠基性工作之一,stream buffer 的思想被后续几乎所有商用处理器所采纳

An Effective On-Chip Preloading Scheme to Reduce Data Access Penalty (Chen & Baer, SC 1995)

  • 单纯的顺序预取无法捕获非连续的规律性访存模式(如数组以固定步长遍历)
  • 核心 insight:通过 Reference Prediction Table (RPT) 记录每个 load 指令(以 PC 索引)的上次访问地址和计算出的 stride,可以预测下次访问地址
  • 提出 PC-indexed stride prefetcher,为每个 load 指令维护一个 (last_address, stride, state) 表项,当 stride 稳定时发出预取
  • 作为 stride 预取的经典方案,其核心思想被 Intel/AMD/ARM 等主流处理器广泛采用至今(如 Intel 的 IP-based stride prefetcher)

Data Cache Prefetching Using a Global History Buffer (Nesbit & Smith, HPCA 2004)

  • 传统 stride 预取器以 PC 为索引,存储效率受限;不同 PC 可能共享相似的访存模式
  • 核心 insight:将全局 miss 地址历史记录在一个共享的环形缓冲区(GHB)中,通过不同的索引方式(PC-indexed 或 Address-indexed)支持多种预取策略
  • 提出 Global History Buffer(GHB)架构,将 miss 地址流存储在全局 FIFO 中,配合 Index Table 实现 PC/DC(PC-indexed delta correlation)、AC/DC(Address-Correlated delta correlation)等多种预取模式
  • 统一了 stride、delta correlation、Markov 等多种预取方法的存储框架,在 SPEC CPU 2000 上取得显著性能提升

System, apparatus and method for prefetching physical pages in a processor (Intel, US12019553B2, filed 2020-12-22)

  • 背景:page-level stream 场景中,核心内部队列与常规 prefetcher 可能限制可持续带宽。
  • 核心设计:stream prediction circuit 生成 page prefetch hint;prefetcher circuit 与 stream prediction decoupled;DCU 发 hint 到 mid-level cache,MLC/page detector 再用空闲 interconnect slots 发 LLC page prefetch。
  • 关联方向:很贴近 Intel 公开资料里的 DCU/MLC/L2/LLC 协同问题,且包含 stress-level throttler。

Data processing apparatus and method for generating prefetches based on a nested prefetch pattern (Arm, US12045618B2, filed 2021-03-23)

  • 背景:嵌套循环、矩阵/张量遍历会形成多维 stride 或 nested stream。
  • 核心设计:检测 nested prefetch pattern,并基于该 pattern 生成后续 prefetch。
  • 关联方向:对 HPC/ML kernels 的 L2 stream/stride prefetch 增强有直接意义。

Stride-based prefetcher circuits for prefetching next stride(s) (Qualcomm, US12164429B2, filed 2022-08-19)

  • 背景:CPU/GPU cache access stream 中 stride pattern 仍然普遍,但需要控制何时继续传播预取。
  • 核心设计:prefetcher circuit 观察 cache read requests,检测 stride,发起 next-stride prefetch;同时统计 observation interval 内的 prefetch 数量,并用 propagation threshold 控制 enabled/disabled state。
  • 关联方向:是 stream/stride 预取器加轻量节流状态机的工业版本。

Delta / Offset 预取器(基于地址差分的方法)

Title Year From URL
Sandbox Prefetching: Safe Run-Time Evaluation of Aggressive Prefetchers 2014 HPCA https://doi.org/10.1109/HPCA.2014.6835971
Best-Offset Hardware Prefetching 2016 HPCA https://doi.org/10.1109/HPCA.2016.7446087
Efficiently Prefetching Complex Address Patterns (VLDP) 2015 MICRO https://doi.org/10.1145/2830772.2830793
Multi-Lookahead Offset Prefetcher (MLOP) 2019 DPC-3 https://dpc3.compas.cs.stonybrook.edu/pdfs/MLOP.pdf
Signature Path Prefetcher (SPP) 2016 MICRO https://doi.org/10.1109/MICRO.2016.7783743
Perceptron-Based Prefetch Filtering for SPP (SPP+PPF) 2020 ISCA https://doi.org/10.1109/ISCA45697.2020.00024
Berti: An Accurate Local-Delta Data Prefetcher 2022 HPCA https://doi.org/10.1109/HPCA53966.2022.00072
Title Filing Date Status Number / URL 主要方向
Method and apparatus for a page-local delta-based prefetcher 2020-07-13 Grant US11726917B2, https://patents.google.com/patent/US11726917B2/en page-local delta
System for prefetching data into a cache 2024-04-02 Grant US12229052B2, https://patents.google.com/patent/US12229052B2/en delta prefetcher / fetch table + delta table

Sandbox Prefetching (Pugsley et al., HPCA 2014)

  • 背景:aggressive offset prefetcher 可能提高覆盖率,也可能严重浪费带宽和污染 cache。
  • 核心 insight:先在“沙盒”里模拟候选 offset 的命中,不真正发内存请求,只有准确率过阈值才发真实预取。
  • 设计:用 Bloom-filter-like sandbox 记录候选 prefetch address,后续 L2 access 命中则给候选 offset 加分;同时按带宽估计调节 degree。
  • 价值:这是 L2-level “候选预取器在线评估 + 低风险启用”的代表工作。

Best-Offset Hardware Prefetching (BOP) (Michaud, HPCA 2016)

  • 传统 stride 预取器需要较长的训练时间才能锁定 stride,且只能跟踪单一 PC 的 stride
  • 核心 insight:在一个 page 内,通过”回溯验证”(retrospective verification)的方式评估多个候选 offset 的有效性——对于每个 demand access 地址 A,检查 A-offset 是否曾出现在最近的 demand 访问中
  • BOP 维护一个候选 offset 的评分表,周期性地评估每个 offset 的得分(即该 offset 成功预测的次数),选出得分最高的 best offset 作为全局预取 offset
  • 以极低的硬件开销(约 2KB)获得了 DPC-2 竞赛冠军,在 SPEC CPU 2006 上相比无预取 IPC 提升约 10%

Efficiently Prefetching Complex Address Patterns — Variable Length Delta Prefetcher (VLDP) (Shevgoor et al., MICRO 2015)

  • 很多应用的访存模式包含多个交替出现的 delta 值,简单的固定 stride 预取器无法捕获
  • 核心 insight:利用可变长度的 delta 历史序列来预测下一个 delta,类似于文本压缩中的可变长度匹配
  • VLDP 维护多张不同长度的 delta 预测表(1-delta, 2-delta, 3-delta…),通过最长匹配优先的策略选择最佳预测
  • 在复杂的多 delta 模式工作负载上显著优于传统 stride 预取器,在 SPEC CPU 2006 上 IPC 提升约 8%

Multi-Lookahead Offset Prefetcher (MLOP) (Shakerinava & Bakhshalipour, DPC-3 2019)

  • BOP 只选择单一最优 offset,在同时存在多种有效 offset 的场景下预取覆盖率受限
  • 核心 insight:允许多个 offset 同时参与预取,并通过多步前瞻来发出更多预取请求
  • MLOP 维护多个候选 offset 的评分表,根据评分动态选择多个 offset 同时预取,并支持多步 lookahead
  • 在 DPC-3 竞赛中取得优秀成绩,特别是在同时存在多种访存 stride 的工作负载上

Signature Path Prefetcher (SPP) (Kim et al., MICRO 2016)

  • 传统 stride/delta 预取器只关注最近一个或几个 delta,无法利用更长的历史 delta 模式
  • 核心 insight:将连续的 page 内 delta 序列压缩(哈希)为一个固定位宽的 signature,利用 signature 查表预测后续 delta 路径,支持多步递归前瞻
  • SPP 使用 Signature Table (ST) 记录每个 page 的当前 signature,使用 Pattern Table (PT) 存储从每个 signature 出发的候选 delta 及其置信度,支持 lookahead path 的递归预取
  • 在 SPEC CPU 2006 上相比 stride 预取器 IPC 提升约 7%,在复杂非规则 delta 模式上表现尤为突出

Perceptron-Based Prefetch Filtering for SPP (SPP+PPF) (Bhatia et al., ISCA 2020 / DPC-3)

  • SPP 在多步递归前瞻中会产生大量低置信度的预取候选,这些无用预取会污染缓存并浪费带宽
  • 核心 insight:使用 perceptron 模型综合多种特征(PC signature、page address、delta、置信度等)来判断每个候选预取是否值得发出
  • 在 SPP 框架基础上增加了基于感知机的过滤层,训练权重表以在线学习哪些预取特征组合对应有用预取
  • 相比原始 SPP,准确率大幅提升,整体 IPC 显著改善;在 DPC-3 竞赛中取得了顶尖成绩

Berti: An Accurate Local-Delta Data Prefetcher (Navarro-Torres et al., HPCA 2022)

  • 现有 delta 预取器在选择使用哪个 delta 进行预取时缺乏对预取及时性(timeliness)的考量
  • 核心 insight:对于同一个 PC,不同的 delta 对应不同的预取距离(time distance);应选择在预取到达时间与 demand 到达时间匹配最好的 delta
  • Berti 为每个 PC 维护 delta history 和 time stamp history,通过比较 delta 对应的预取延迟与历史延迟来选择最优 delta
  • 以极低的硬件开销取得了 DPC-3 竞赛的顶级覆盖率和准确率,核心创新在于将 timeliness 纳入 delta 选择标准

Method and apparatus for a page-local delta-based prefetcher (AMD, US11726917B2, filed 2020-07-13)

  • 背景:page-local delta 是 L2 预取器常用且硬件成本较低的地址上下文。
  • 核心设计:围绕 page-local delta values 预测后续 cache line,避免完全依赖全局 stream 或单一 stride。
  • 关联方向:与 BOP、SPP、Berti 的 page-local / delta-correlation 路线直接相关。

System for prefetching data into a cache (Qualcomm, US12229052B2, filed 2024-04-02)

  • 背景:constant stride prefetcher 无法覆盖复杂 delta 序列,尤其是 demand stream 和 prefetch stream 不同步时。
  • 核心设计:使用 fetch table 记录 fetched/prefetched deltas,delta table 存储 next delta 和 confidence;用 fetched delta 训练,用 prefetched delta 继续 lookahead。
  • 关联方向:与 VLDP/SPP/Berti 方向相近,体现移动 SoC 厂商对 delta/signature 预取的持续布局。

Spatial 预取器(空间区域预取方法)

Title Year From URL
Spatial Memory Streaming (SMS) 2006 ISCA https://doi.org/10.1109/ISCA.2006.38
(AMPM) Access map pattern matching for data cache prefetch 2011 ICS https://dl.acm.org/doi/epdf/10.1145/1542275.1542349
DSPatch: Dual Spatial Pattern Prefetcher 2019 MICRO https://doi.org/10.1145/3352460.3358325
Bingo: Elastic Data Prefetching for Hardware-Efficient Spatial Data Prefetching 2019 HPCA https://doi.org/10.1109/HPCA.2019.00045
Merging Similar Patterns for Hardware Prefetching (PMP) 2022 MICRO https://dl.acm.org/doi/10.1109/MICRO56248.2022.00071
RICH Prefetcher: Storing Rich Information in Memory to Trade Capacity and Bandwidth for Latency Hiding 2025 MICRO https://dl.acm.org/doi/epdf/10.1145/3725843.3756081
Title Filing Date Status Number / URL 主要方向
Region pattern-matching hardware prefetcher 2022-09-30 Grant US12360907B2, https://patents.google.com/patent/US12360907B2/en region / pattern-matching / LLC 或多级 cache
Data cache region prefetcher 2022-05-24 Grant US12204459B2, https://patents.google.com/patent/US12204459B2/en RIP-tagged region prefetch / stream prefetcher 协同
Apparatuses, methods, and systems for dual spatial pattern prefetcher 2019-12-28 Grant US11874773B2, https://patents.google.com/patent/US11874773B2/en dual spatial pattern / DSPatch-like
Adaptive spatial access prefetcher apparatus and method 2018-06-30 Grant US10713053B2, https://patents.google.com/patent/US10713053B2/en adaptive spatial access

由于 SMS (没有评估面积), DSPatch 需要针对 PC 进行索引,所以都面向 L1;但 Bingo 同样也是类似的索引方式,但却面向 LLC (猜测:面积太大,分给 L1 不现实)
AMPM 原文实验面向 L2

Spatial Memory Streaming (SMS) (Somogyi et al., ISCA 2006)

  • 许多应用对一个 spatial region(如 4KB page 或 2KB region)内的多个 cache line 有不规则但可重复的访问 footprint
  • 核心 insight:记录 PC 触发的 spatial region 的完整访问 footprint(bitmap),当相同 PC 再次触发新 region 时,回放(replay)之前记录的 footprint
  • SMS 使用 Active Generation Table (AGT) 追踪当前活跃 region 的 footprint,Generation Complete 后存入 Pattern History Table (PHT),以 PC+offset 为索引
  • 在 SPEC CPU 2000/2006 上覆盖率极高,尤其对 OLTP、图数据库等空间访问密集型工作负载效果显著;但存储开销较大

Bingo: Elastic Data Prefetching for Hardware-Efficient Spatial Data Prefetching (Bakhshalipour et al., HPCA 2019)

  • SMS 需要大量存储记录每个 spatial region 的 footprint,在硬件上不够实际
  • 核心 insight:相同 PC 触发的不同 region 的访问 footprint 高度相似,可以用 PC + trigger offset 作为索引来大幅压缩 footprint 的存储
  • Bingo 通过 Event Table 和 Footprint Table 的两级结构,在仅约 10KB 的硬件开销下实现接近理想 SMS 的预取覆盖率
  • 以远低于 SMS 的硬件开销取得了与 SMS 相当的性能,是空间预取器设计中硬件效率最高的方案之一

DSPatch: Dual Spatial Pattern Prefetcher (Bera et al., MICRO 2019)

  • 单一的空间 footprint 记录方式在不同程序阶段的 footprint 发生变化时适应性不足
  • 核心 insight:维护两种互补的 spatial pattern 记录方式——基于 PC 和基于 page offset——并动态选择更准确的一种
  • DSPatch 同时维护 PC-based 和 offset-based 两组 spatial pattern,通过 anchor 机制和准确率反馈在两者之间切换
  • 在 SPEC CPU 2017 和 GAP 基准上综合表现优于 SMS 和 BOP,尤其在程序行为动态变化的场景中

Access Map Pattern Matching (AMPM) Prefetch (Ishii et al., ICS 2011)

  • 传统预取器难以同时处理多种混合访存模式(如同一 page 内既有 stride 又有不规则访问)
  • 核心 insight:为每个 memory page 维护一个 access map(位图),记录哪些 cache line 已被访问,然后通过模式匹配在 map 中发现 stride 和复杂模式
  • AMPM 对每个 hot page 维护一个 access/prefetch 状态位图,扫描 map 中的访问模式来生成预取地址
  • 获得了 DPC-1 竞赛冠军;能够同时捕获多种不同 stride 的混合访问模式

Bouquet of Instruction Pointers — IPCP (Pakalapati & Panda, ISCA 2020 / DPC-3)

  • 不同的 load 指令(PC)展现出截然不同的访存模式类型(常量 stride、复杂 stride、全局 stream 等),用单一预取策略无法最优覆盖所有类型
  • 核心 insight:对每个 PC 的历史行为进行分类(constant stride / complex stride / global stream),然后为每个类别分配最合适的预取策略
  • IPCP 使用 IP Table 记录每个 PC 的分类和相关历史信息,constant stride 用 stride 预取,complex stride 用 delta signature 预取,global stream 用 stream 预取
  • 赢得 DPC-3 预取竞赛第一名;在综合得分上超过所有其他参赛方案,证明了 PC 分类方法的有效性

Bingo: Elastic Data Prefetching for Hardware-Efficient Spatial Data Prefetching (Bakhshalipour et al., HPCA 2019)

  • SMS 需要大量存储记录每个 spatial region 的 footprint,在硬件上不够实际
  • 核心 insight:相同 PC 触发的不同 region 的访问 footprint 高度相似,可以用 PC + trigger offset 作为索引来大幅压缩 footprint 的存储
  • Bingo 通过 Event Table 和 Footprint Table 的两级结构,在仅约 10KB 的硬件开销下实现接近理想 SMS 的预取覆盖率
  • 以远低于 SMS 的硬件开销取得了与 SMS 相当的性能,是空间预取器设计中硬件效率最高的方案之一

Access Map Pattern Matching (AMPM) Prefetch (Ishii et al., ICS 2011)

  • 传统预取器难以同时处理多种混合访存模式(如同一 page 内既有 stride 又有不规则访问)
  • 核心 insight:为每个 memory page 维护一个 access map(位图),记录哪些 cache line 已被访问,然后通过模式匹配在 map 中发现 stride 和复杂模式
  • AMPM 对每个 hot page 维护一个 access/prefetch 状态位图,扫描 map 中的访问模式来生成预取地址
  • 获得了 DPC-1 竞赛冠军;能够同时捕获多种不同 stride 的混合访问模式
  • 面向 L2 Cache

RICH (2025 MICRO)

  • 占用面积还是很大,只是把元数据搬到了片外

Region pattern-matching hardware prefetcher (AMD, US12360907B2, filed 2022-09-30)

  • 背景:很多访问模式在 region 内重复,但不同 region 可能共享类似访问 footprint。
  • 核心设计:维护 region type table、recorded pattern table 和 pattern observation table;对 region subdivision/cache line 的访问 pattern 进行记录、分类和 replay。
  • 关联方向:与 SMS/Bingo/DSPatch 一类 spatial-region prefetcher 高度相关,适合 LLC 或多级 cache 里的 region footprint 预取。

Data cache region prefetcher (AMD, US12204459B2, filed 2022-05-24)

  • 背景:stream prefetcher 对非顺序、pseudo-random 但可重复的 region 内访问模式覆盖不足。
  • 核心设计:按 RIP/instruction address 记录 line entry table 与 region history table;line access bits 形成 non-sequential access pattern,后续同 RIP miss 时按 pattern 预取。
  • 关联方向:明确描述 stream prefetcher 与 data cache region prefetcher 可并存,并可用 region prefetcher 反馈来 throttle stream prefetcher。

Apparatuses, methods, and systems for dual spatial pattern prefetcher (Intel, US11874773B2, filed 2019-12-28)

  • 背景:单一 spatial pattern 难以同时满足 coverage 与 accuracy。
  • 核心设计:dual spatial bit-pattern / modulated pattern 机制,根据不同触发和 pattern 生成空间预取。
  • 关联方向:与 DSPatch 论文方向高度一致,说明 dual spatial pattern 已进入工业专利布局。

Adaptive spatial access prefetcher apparatus and method (Intel, US10713053B2, filed 2018-06-30)

  • 背景:spatial footprint 不同 workload/phase 下差异明显。
  • 核心设计:使用 page/access/signature data 生成 adaptive spatial prefetch。
  • 关联方向:与 Bingo、DSPatch、IPCP 等 spatial/page-local 论文方向一致。

Temporal 预取器(时间关联预取方法)

Title Year From URL
Prefetching Using Markov Predictors 1997 ISCA https://doi.org/10.1145/264107.264207
Practical Off-Chip Meta-Data for Temporal Memory Streaming (STeMS) 2009 HPCA https://doi.org/10.1109/HPCA.2009.4798239
Linearizing Irregular Accesses for Temporal Prefetching (ISB) 2013 MICRO https://doi.org/10.1145/2540708.2540730
Domino: Temporal Data Prefetching Using Irregular Patterns of Correlated Misses 2018 MICRO https://doi.org/10.1109/MICRO.2018.00057
Efficient Metadata Management for Irregular Data Prefetching 2019 ISCA https://doi.org/10.1145/3307650.3322225
Temporal Prefetching Without the Off-Chip Metadata 2019 MICRO https://doi.org/10.1145/3352460.3358300
Triangel: A High-Performance, Accurate, Timely On-Chip Temporal Prefetcher 2024 ISCA https://doi.org/10.1109/ISCA59077.2024.00090
Profile-guided temporal prefetching (Prophet) 2025 ISCA https://dl.acm.org/doi/epdf/10.1145/3695053.3731070
Elevating Temporal Prefetching Through Instruction Correlation (Karios) 2025 MICRO https://dl.acm.org/doi/epdf/10.1145/3725843.3756133
Streamlined On-Chip Temporal Prefetching (Streamline) 2026 HPCA
  1. Prefetching Using Markov Predictors (Joseph & Grunwald, ISCA 1997)

    • 规则的 stride/stream 预取器无法处理指针追踪等不规则访存模式
    • 核心 insight:可以将 miss 地址序列建模为 Markov 链——miss 地址 A 之后最可能出现的 miss 地址 B 是可以通过历史统计学习的
    • 提出使用关联表(correlation table)记录 miss 地址之间的转移概率,在当前 miss 发生时查表预取最可能的后续 miss 地址
    • 这是时间关联预取(temporal prefetching)的开创性工作,为后续 GHB、STMS、ISB、Domino 等一系列时间预取器奠定了理论基础
  2. Practical Off-Chip Meta-Data for Temporal Memory Streaming (STeMS) (Wenisch et al., HPCA 2009)

    • 时间预取器需要存储大量的 miss 地址序列历史,片上存储远远不够
    • 核心 insight:将完整的 temporal stream 元数据存储在片外 DRAM 中,通过索引结构只在片上缓存当前活跃的少量 stream
    • STeMS 通过 Sampled Temporal Memory Streaming 方法,在片上只维护少量的 stream 头指针和一小段活跃序列,大部分元数据存储在专用的片外 DRAM 区域
    • 在 OLTP、Web 服务器等 irregular 访存密集型工作负载上取得了显著的 miss 覆盖率
  3. Linearizing Irregular Accesses for Temporal Prefetching — Irregular Stream Buffer (ISB) (Jain & Lin, MICRO 2013)

    • 时间预取器存储完整 miss 地址序列的存储开销过大,且序列重放需要精确匹配
    • 核心 insight:将不规则的 physical address 序列映射到一个线性化的”structural address”空间,使得时间关联的地址在结构空间中变为连续的,从而可以用简单的 stream buffer 进行预取
    • ISB 通过训练单元和预测单元,利用 PC-localized correlation 将 physical address pair 映射为结构地址,之后用常规 stream buffer 机制预取
    • 大幅减少了时间预取的存储开销,在 irregular workload 上性能接近理想的全 miss stream 回放方案
  4. Domino: Temporal Data Prefetching Using Irregular Patterns of Correlated Misses (Bakhshalipour et al., MICRO 2018)

    • 完整时间序列的存储和匹配开销过大(如 STMS),限制了时间预取的可扩展性
    • 核心 insight:将完整的 miss 序列分解为成对(pair-wise)的关联关系,每对只需记录 (trigger, target) 即可
    • Domino 将 miss stream 分解为相邻 miss 对的关联表,通过链式查找进行多步预取
    • 以约 SMS 十分之一的存储开销达到了接近完整 temporal stream 回放的覆盖率
  5. Efficient Metadata Management for Irregular Data Prefetching / MISB (Wu et al., ISCA 2019)

    • 背景:ISB 类 temporal prefetcher 的关键瓶颈是 off-chip metadata traffic。
    • 核心 insight:元数据本身也有 locality,需要专门的 metadata cache/prefetcher 管理。
    • 设计:Managed ISB 用 metadata prefetching 降低 metadata traffic 并提高 IPC。
    • 价值:把“预取元数据的 cache hierarchy 管理”作为一等问题。
  6. Temporal Prefetching Without the Off-Chip Metadata / Triage (Wu et al., MICRO 2019)

    • 背景:off-chip metadata 让 temporal prefetching 复杂且耗带宽。
    • 核心 insight:大部分 temporal prefetch 覆盖来自少量重要元数据,部分 LLC 容量可换取更好的 miss 覆盖。
    • 设计:把重要 temporal metadata 放入 LLC partition,并动态在 data 与 metadata 之间分配 LLC 空间。
    • 价值:推动 temporal prefetcher 从“理论有效”走向 on-chip 可实现。
  7. Triangel (Ainsworth & Mukhanov, ISCA 2024)

    • 背景:Arm CMC 类商业 temporal prefetcher 显示该方向可落地,但 Triage 仍有实现细节和准确性问题。
    • 核心 insight:用 sampling-based methodology 判断哪些 temporal patterns 可被及时、准确地利用。
    • 设计:在 Triage 基础上修正可实现性问题,加入 sampling/filtering/aggression control,并优化 on-chip metadata。
    • 价值:当前最值得关注的 on-chip temporal L2/LLC prefetcher 工作之一。
  8. Elevating Temporal Prefetching Through Instruction Correlation (Karios) (NUDT 国防科大, MICRO 2025)

    • 现有 on-chip temporal prefetcher(STMS, Domino, Triage, Triangel)在片上元数据存储容量受限时,利用率普遍不足 —— 要么无差别缓存导致污染,要么像 Triangel 预采样过程本身损失 prefetch 机会。
    • 核心 Insight:少量指令(top 10 IP)贡献绝大多数 cache miss(>90%),且这些 miss 的地址绝大多数会被重用,因此应以”指令”为粒度筛选 metadata,而不是以”地址序列”为粒度统计重复性。
    • Kairos 三阶段设计:Key IP Detection(miss 贡献 >12.5% 即判为 critical)→ Prefetch Evaluation(用 useful prefetch coverage 把指令分为 positive/negative/neutral 三类以控制 metadata 保留策略)→ Dynamic Partition(PID 控制器动态调整 LLC 中 metadata 区大小)。
    • 相比 Triangel 在 SPEC irregular 上 15.1% 的加速,Kairos 达到 25.2%(即 +10.1%),而且总固定硬件开销仅 251 B,约为 Triangel 17.6 KiB 的 1.4%(两个数量级降低)。
  9. Streamlined On-Chip Temporal Prefetching (Streamline) (UT Austin, HPCA 2026)

    • 当前 SOTA 片上时序预取器 Triangel 采用 pairwise 元数据(一条表项存一对 trigger→target),存在 冗余(每个中间地址作为 target 和 trigger 被存两次)、动态分区代价高(重新分区要搬动最多 1MB 元数据)、替换策略不考虑 prefetch utility 三大问题。
    • Streamline 把元数据改为 stream 形式(一条表项 = 1 个 trigger + 4 个连续 target),一举解决:消除冗余(容量多 33% correlations),消除 misplaced metadata,enable 更利于整体 correlation 命中的替换策略。
    • 围绕 stream 引入的三个新问题(missed trigger、stream misalignment、conflict miss),分别用 stream length=4stream alignment + per-PC metadata buffertagged set-partitioning + filtered indexing 解决。
    • 进一步将 prefetch utility 引入管理:提出 TP-MIN(temporal-prefetching Belady’s MIN,驱逐未来最远被使用的 correlation 而非 trigger),以及 utility-aware dynamic partitioning(基于 prefetch accuracy 打分而非 trigger hit rate)。

Indirect Memory Access Prefetcher / Data-Dependent Memory Prefetcher (IMA/DMP)

IMA 预取一般针对 Pointer-Chasing, Array of Pointers, Linked List 等访存模式进行预取

Title Filing Date Status Number / URL 主要方向
Array of pointers prefetching 2022-03-25 Grant US12050916B2, https://patents.google.com/patent/US12050916B2/en array-of-pointers / producer-consumer / pointer target prefetch
Techniques to perform memory indirection for memory architectures 2017-09-29 Grant US10509728B2, https://patents.google.com/patent/US10509728B2/en memory-side indirection / pointer resolution,偏相邻
Hardware prefetcher for indirect access patterns 2014-12-24 Grant US9582422B2, https://patents.google.com/patent/US9582422B2/en indirect access / pointer-like patterns
Mechanism for prefetching targets of memory de-reference operations in a high-performance processor 1996-12-20 Grant US5822788A, https://patents.google.com/patent/US5822788A/en dereference target prefetch / early pointer target
Techniques for prediction-based indirect data prefetching 2008-02-01 Grant US8209488B2, https://patents.google.com/patent/US8209488B2/en prediction-based indirect data prefetch
Data prefetching using indirect addressing 2008-02-01 Grant US8166277B2, https://patents.google.com/patent/US8166277B2/en indirect addressing prefetch
Techniques for multi-level indirect data prefetching 2008-02-01 Grant US8161265B2, https://patents.google.com/patent/US8161265B2/en multi-level indirection / pointer chain
Techniques for data prefetching using indirect addressing with offset 2008-02-01 Grant US8161264B2, https://patents.google.com/patent/US8161264B2/en indirect addressing with offset
Techniques for indirect data prefetching 2008-02-01 Grant US8161263B2, https://patents.google.com/patent/US8161263B2/en indirect data prefetch base mechanism
Prefetching using offset data to access a pointer within a current data element for use in prefetching a subsequent data element 2018-03-06 Grant US10445241B2, https://patents.google.com/patent/US10445241B2/en offset-to-pointer / linked-list / array-of-pointers
Cache prefetching 2023-06-29 Grant US12292834B2, https://patents.google.com/patent/US12292834B2/en indirect prefetch / hint-based address generation
System and method to prefetch pointer based structures 2019-10-01 Higon Austin R&D Center US20210096861A1, https://patents.google.com/patent/US20210096861A1/en pointer prefetching engine / producer-consumer pair

Array of pointers prefetching (AMD, US12050916B2, filed 2022-03-25)

  • 背景:array of pointers 的 producer load 通常有规则步幅,但 target object 的地址本身不规则。
  • 核心设计:监控 load 指令与后续 address-compute/consumer 指令的 producer-consumer 关系,预测未来 producer load,再注入 address-load / pointer-target-prefetch 类操作。
  • 关联方向:这是 pointer-array 预取专利之一,重点在 decode/LSU 侧插入面向未来 pointer target 的预取操作。

Techniques to perform memory indirection for memory architectures (Intel, US10509728B2, filed 2017-09-29)

  • 背景:disaggregated / fabric-attached memory 中,多级 pointer resolution 会把 request flow 串行化。
  • 核心设计:让 memory resource/interface 执行 one or more indirection iterations,再把最终 memory operation 路由到对应资源。
  • 关联方向:它不是典型 CPU cache prefetcher,但和 IMA/DMP 的共同点是把地址解析从 core 执行路径中移出,用系统/内存侧机制降低 pointer resolution 延迟。

Hardware prefetcher for indirect access patterns (Intel, US9582422B2, filed 2014-12-24)

  • 背景:indirect array / pointer-chasing 访问难以由 stream/stride 捕获。
  • 核心设计:识别间接访问链,基于索引/数组结构提前抓取目标 cacheline。
  • 关联方向:对 graph analytics、database、sparse workload 的 L2/LLC 预取有参考价值。

Mechanism for prefetching targets of memory de-reference operations (Intel, US5822788A, filed 1996-12-20)

  • 背景:dereference operation 的目标地址要等 load 返回后才能知道,传统 stream/stride 很难提前覆盖。
  • 核心设计:围绕 memory dereference 的 target 做提前抓取,是较早把 pointer dereference target 纳入硬件预取讨论的 Intel 专利。
  • 关联方向:比 Apple DMP 早很多,粒度和训练机制不同,但属于 IMA/pointer target prefetch 的早期工业路线。

2008 年 indirect data prefetching 系列 (IBM, US8161263B2 / US8161264B2 / US8161265B2 / US8166277B2 / US8209488B2, filed 2008-02-01)

  • 背景:indirect addressing、offset-based indirect access、multi-level pointer chain 和 prediction-based indirect prefetch 对常规 stream/stride 预取器都不友好。
  • 核心设计:同一 filing date 下形成一组互补专利,分别覆盖基础 indirect data prefetch、带 offset 的间接寻址、多级间接预取、prediction-based 间接预取以及 indirect addressing prefetch。
  • 关联方向:这是 Apple 之外最成体系的 IMA 专利族之一,思路更偏“识别间接寻址关系并对地址链进行预测/提前生成”,而不是 Apple content-directed 直接扫描 cache line 内容。

Prefetching using offset data to access a pointer within a current data element (Arm, US10445241B2, filed 2018-03-06)

  • 背景:linked list、array of pointers、table-like data element 之间的“下一元素地址”常藏在当前元素或相邻 pointer location 中。
  • 核心设计:用 data element structure memory 记录元素间地址关系或 pointer offset,当前元素被访问时根据 offset 找到下一元素地址并发起预取。
  • 关联方向:与 Apple DMP 同属 pointer/content-aware 预取,但 Arm 文本更明确地把 pointer location、element displacement、linked-list offset 建模为可训练的结构关系。

Cache prefetching (Arm, US12292834B2, filed 2023-06-29)

  • 背景:间接访问中,第一次 load 返回的数据本身会参与生成第二次访问地址,普通 stride/stream 预取难以覆盖。
  • 核心设计:processing circuitry 给 first memory access 附带 hint,表示返回数据是 address-indicating data;当数据在 cache 中可用时,address generating circuitry 生成 second address 并发起 prefetch。
  • 关联方向:面向 sparse matrix、gather、pointer chasing 的 indirect prefetch,且说明可把数据预取进 L2 cache。

System and method to prefetch pointer based structures (Higon Austin R&D Center, US20210096861A1, filed 2019-10-01)

  • 背景:pointer array 中 pointer 本身可能有规律,pointer target 却不规律,普通 stride engine 只能抓到 producer 不能抓到 consumer。
  • 核心设计:pointer prefetching engine 由 scheduler、producer-consumer linker、stride engine、prefetch request queuer 组成,先预取 future producer,再把返回值当作 consumer 地址生成标准 prefetch。
  • 关联方向:与 AMD Array of pointers prefetching 和 Intel indirect access patterns 非常接近,是非 Apple IMA/DMP 相关专利中的直接命中项。

基于机器学习的预取方法

Title Year From URL
Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning 2021 MICRO https://doi.org/10.1145/3466752.3480114
Learning Memory Access Patterns 2020 ICML https://proceedings.mlr.press/v80/hashemi18a/hashemi18a.pdf
A Hierarchical Neural Model of Data Prefetching (Voyager) 2021 ASPLOS https://doi.org/10.1145/3445814.3446752
TransFetch: A Transformer-Based Hardware Prefetcher 2022 ICS https://doi.org/10.1145/3524059.3532372
  1. Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning (Bera et al., MICRO 2021)

    • 传统预取器依赖固定的手工规则,难以泛化到多样化的访存行为
    • 核心 insight:将预取决策建模为在线强化学习问题——agent 观察程序上下文状态(PC, delta, page offset 等),选择预取 action(target delta),并根据预取是否被使用获得 reward
    • Pythia 使用在线 RL agent 和基于 CMAC 函数逼近的 Q-learning,动态学习最优预取策略;硬件开销仅约 1% 面积
    • 在 SPEC CPU 和 GAP 基准上相比最佳固定规则预取器 IPC 提升 5-10%,且在不同工作负载间鲁棒性更好
  2. Learning Memory Access Patterns (Hashemi et al., ICML 2020)

    • 复杂应用(如图遍历、指针追踪)的访存模式存在长距离依赖,传统预取器无法捕获
    • 核心 insight:基于 Attention 机制的序列模型能有效捕获 miss 地址序列中的长距离时间依赖关系
    • 使用 Attention-based 神经网络对 miss 地址序列建模,预测下一个 miss 的 page + offset
    • 在指针追踪等复杂不规则模式上大幅优于传统预取器;但推理延迟和模型规模是硬件化的主要挑战
  3. A Hierarchical Neural Model of Data Prefetching (Zeng & Guo, ASPLOS 2021)

    • 访存模式同时包含 page-level 和 offset-level 两个层级的规律,单层模型难以同时建模
    • 核心 insight:使用层级化的神经网络架构,分别建模 page-level 的粗粒度模式和 offset-level 的细粒度模式
    • 提出双层 LSTM/Attention 模型:上层预测目标 page,下层预测目标 offset
    • 在不规则访存场景上覆盖率大幅提升;硬件实现需要定制的神经网络加速单元
  4. TransFetch: A Transformer-Based Hardware Prefetcher (Wu et al., ICS 2022)

    • 基于 LSTM 的预取模型参数量大、推理延迟高,不满足硬件预取的实时性约束
    • 核心 insight:轻量化的 Transformer 编码器可以在保持预测精度的同时降低推理延迟
    • 使用简化的 Transformer encoder 进行访存地址预测,通过模型压缩和量化降低硬件开销
    • 相比 Voyager 推理延迟降低约 3-5 倍,在部分工作负载上精度有提升

预取管理与反馈控制

Title Year From URL
Feedback Directed Prefetching: Improving the Performance and Bandwidth-Efficiency of Hardware Prefetchers 2007 HPCA https://doi.org/10.1109/HPCA.2007.346185
Techniques for Bandwidth-Efficient Prefetching of Linked Data Structures in Hybrid Prefetching Systems 2009 HPCA https://doi.org/10.1109/HPCA.2009.4798229
Triage: Characterizing and Balancing Accuracy and Timeliness of Prefetching 2019 IEEE CAL https://doi.org/10.1109/LCA.2019.2916520
Perceptron-Based Prefetch Filtering 2012 ISCA https://doi.org/10.1109/ISCA.2012.6237009
Near-Side Prefetch Throttling: Adaptive Prefetching for High-Performance Many-Core Processors 2018 PACT https://doi.org/10.1145/3243176.3243181
Bandwidth-Aware Dynamic Prefetch Configuration for IBM POWER8 2020 IEEE TPDS https://doi.org/10.1109/TPDS.2020.2982392
Title Filing Date Status Number / URL 主要方向
Memory request throttling to constrain memory bandwidth utilization 2018-08-28 Application EP3724773A1, https://patents.google.com/patent/EP3724773A1/en bandwidth/latency/accuracy feedback throttling
Prefetch pattern selection 2024-03-19 Grant US12423100B1, https://patents.justia.com/patent/12423100 多 prefetch pattern 训练仲裁与 back-off

Feedback Directed Prefetching (FDP) (Srinath et al., HPCA 2007)

  • 静态配置的预取器激进程度无法适应程序行为的动态变化
  • 核心 insight:通过运行时监测三个关键指标——准确率(accuracy)、延迟性(lateness)和缓存污染(pollution)——动态调节预取行为
  • FDP 实时统计上述三个指标,据此动态调整预取 degree 和 distance,在极端情况下关闭预取
  • 预取管理领域的奠基工作,在 SPEC CPU 上平均性能提升约 30%,被后续几乎所有预取管理工作引用

Triage: Characterizing and Balancing Accuracy and Timeliness of Prefetching (Jimenez, IEEE CAL 2019)

  • 准确率和及时性之间存在根本矛盾——提高 prefetch distance 可以改善及时性但降低准确率
  • 核心 insight:需要同时量化和平衡这两个指标,而非只优化其中一个
  • 提出了同时评价和平衡预取准确率与及时性的方法论和指标
  • 为预取器设计和管理提供了重要的评价框架

Perceptron-Based Prefetch Filtering (Jimenez, ISCA 2012)

  • 预取器发出的大量无用预取浪费带宽并污染缓存
  • 核心 insight:类似分支预测中的 perceptron,使用感知机模型根据多种程序上下文特征对预取请求分类(useful vs useless)
  • 提出 perceptron-based filter,综合 PC、address、delta 等特征在线训练分类器,过滤无用预取
  • 开创了将 ML 技术引入预取过滤的先河,为 SPP+PPF 等后续工作奠定基础

Near-Side Prefetch Throttling (NST) (Heirman et al., PACT 2018)

  • 背景:传统 far-side throttling 需要观察污染、带宽饱和等负面结果,反应慢且状态多。
  • 核心 insight:late prefetch 本身就是 useful prefetch,可通过检测 late prefetch 来调节 distance,尽量在请求发出前控制。
  • 设计:在 near side 根据 late prefetch 和 off-chip bandwidth saturation 调整 prefetch distance,适用于硬件/软件和多个并发 prefetcher。
  • 价值:强调“早过滤、早节流”,对 many-core L2 prefetch traffic 管理很实用。

Bandwidth-Aware Dynamic Prefetch Configuration for IBM POWER8 (BAPC) (Navarro et al., TPDS 2020)

  • 背景:商业 CPU 往往提供多个 prefetch configuration,但最佳配置取决于 co-running workloads 和带宽压力。
  • 核心 insight:不是每个应用都应在所有时候使用最激进配置,bandwidth availability 是关键状态。
  • 设计:在 IBM POWER8 上表征 prefetch setting 与带宽竞争的关系,运行时按带宽压力动态配置。
  • 价值:提供真实商用处理器上的 prefetch throttling/configuration 研究。

Memory request throttling to constrain memory bandwidth utilization (AMD, EP3724773A1, filed 2018-08-28)

  • 背景:共享内存带宽饱和会提高访问延迟,预取器可能放大带宽压力。
  • 核心设计:在 L2 cache 附近布置 throttle controller、latency tracker、prefetch accuracy tracker;按 access latency 和 per-prefetcher accuracy 调节请求速率或 prefetcher aggressiveness。
  • 关联方向:工业实现侧印证了 FDP/NST/BAPC 一类“accuracy + latency/bandwidth feedback”节流思路。

Prefetch pattern selection (Arm, US12423100B1, filed 2024-03-19)

  • 背景:spatial、temporal、indirect 等多个 prefetch pattern 可能竞争有限的 training circuitry,频繁 pattern 容易垄断训练资源。
  • 核心设计:pattern storage 中每个 prefetch pattern 维护 trigger access、pattern information 和 back-off information;训练后更新 back-off period,让高频 pattern 在一段时间内被跳过。
  • 关联方向:这是典型的多 pattern / 多预取器训练仲裁机制,可用于 L2/L3 prefetcher 的训练带宽管理。

多核场景下的数据预取

Title Year From URL
Coordinated Control of Multiple Prefetchers in Multi-Core Systems 2009 MICRO https://doi.org/10.1109/MICRO.2009.12
Prefetch-Aware Shared-Resource Management for Multi-Core Systems 2011 ISCA https://doi.org/10.1145/2000064.2000088
SPAC: A Synergistic Prefetcher Aggressiveness Controller for Multi-Core Systems 2016 IEEE TC https://doi.org/10.1109/TC.2016.2547392
Band-pass Prefetching: An Effective Prefetch Management Mechanism Using Prefetch-Fraction Metric in Multi-Core Systems 2017 ACM TACO https://doi.org/10.1145/3090635
Combining Prefetch Control and Cache Partitioning to Improve Multicore Performance 2019 IPDPS https://doi.org/10.1109/IPDPS.2019.00037
Micro-MAMA: Multi-Agent Reinforcement Learning for Multicore Prefetching 2025 MICRO https://doi.org/10.1145/3725843.3756096

Coordinated Control of Multiple Prefetchers in Multi-Core Systems (MICRO 2009)

  • 背景:多核上每个 core 的 prefetcher 独立工作,会在共享 cache/interconnect/DRAM 处造成互相干扰。
  • 核心 insight:prefetcher-caused interference 需要全局协调,而不是每个 core 局部调节。
  • 设计:Hierarchical Prefetcher Aggressiveness Control (HPAC) 结合 local 与 global feedback,为各 core 选择 aggressiveness level。
  • 价值:多核 prefetcher coordination 的经典工作。

Prefetch-Aware Shared-Resource Management (Ebrahimi et al., ISCA 2011)

  • 背景:shared-resource management 若不区分 demand 与 prefetch,会错误分配 cache/bandwidth。
  • 核心 insight:prefetch request 的价值取决于它是否减少 future demand miss,不能与 demand request 等价处理。
  • 设计:在 memory scheduling、cache partitioning、source throttling 中显式感知 prefetch traffic。
  • 价值:把 prefetcher 作为共享资源管理对象,而不是单独的 cache 附件。

SPAC (Panda, IEEE TC 2016)

  • 背景:HPAC 主要基于各 core 独立 throttling level,未充分考虑不同 core throttling decision 之间的相互作用。
  • 核心 insight:多核系统中应直接用 fair-speedup improvement 来评价协同节流效果。
  • 设计:搜索/选择不同 prefetcher aggressiveness 组合,限制导致公平性和系统性能下降的预取器。
  • 价值:代表“协同 throttling 的目标函数从局部准确率转向系统公平性能”的路线。

Band-pass Prefetching (Sridharan et al., ACM TACO 2017)

  • 背景:单纯以 accuracy 或 bandwidth 做阈值容易误判。
  • 核心 insight:prefetch-fraction 能更直接刻画预取在总内存请求中的占比和干扰潜力。
  • 设计:用 band-pass 策略把预取活动维持在合理区间,避免过弱或过强。
  • 价值:提供了一个低复杂度的 multi-core prefetch management metric。

µMama (MICRO 2025):private L2 上的多核扩展

µMama 的贡献是把 RL 预取控制从单核 Bandit 推到多核场景

预取跨页决策

Title Year From URL
To Cross, or Not to Cross Pages for Prefetching? 2025 HPCA https://ieeexplore.ieee.org/abstract/document/10946723
Title Filing year Inc. Number URL
Prefetching across page boundaries in hierarchically cached processors 2012 Apple US9047198B2 https://patents.google.com/patent/US9047198B2/en

DRIPPER / CROSS-page L1D prefetch 管理(HPCA 2025)

研究的是L1D prefetcher 的 page-cross 管理,原因是 first-level caches 能直接接触虚拟地址与 TLB,而 lower-level caches 通常工作在物理地址空间。它讨论的不是传统意义上的“多 L2 子预取器仲裁”,而是 L1D 预取器在是否允许跨页预取上的动态决策与控制,本质上属于 L1 级预取管理


US9047198B2 - Prefetching across page boundaries in hierarchically cached processors

  • 背景:低层级 prefetch unit 往往在 page boundary 停止,因为缺少下一页 translation。
  • 核心 insight:靠近 core 的上层 prefetch unit 可提前请求下一页 translation,再把 physical page number 传给低层级 prefetch unit。
  • 核心设计:upper-level prefetch unit 预取 page translation,lower-level prefetch units 到边界时使用已传递的 next physical page 继续 prefetch。
  • 相关性:解决多级 prefetcher 在虚拟地址/物理地址边界处的协同问题。

预取跨 Die 决策

Title Filing Date Status Number / URL 主要方向
Cache injection and prefetch mechanisms for improving multi-die processing system performance 2023-12-12 Grant US12436898B2, https://patents.google.com/patent/US12436898B2/en 多 die / 跨 core-complex cache injection 与 prefetch

Cache injection and prefetch mechanisms for improving multi-die processing system performance (AMD, US12436898B2, filed 2023-12-12)

  • 背景:chiplet / multi-die CPU 中,跨 die、跨 NUMA domain 的数据迁移延迟会影响锁、critical section 和共享数据访问。
  • 核心设计:在 source/destination core complex die 之间使用 cache injection logic、history buffer、load-store tracker buffer 与 prefetch engine,把关键 cache line 主动注入目标 cache domain。
  • 关联方向:这不是传统单核 L2 prefetcher,而是面向 chiplet 时代的跨 die 预取/注入机制;对多核共享数据、spinlock 后继访问、NUMA locality 有启发。

L2/LLC 重建 PC 信息预取

Title Year From URL
Kill the Program Counter: Reconstructing Program Behavior in the Processor Cache Hierarchy 2020 ASPLOS https://doi.org/10.1145/3373376.3378456

Kill the Program Counter: Reconstructing Program Behavior in the Processor Cache Hierarchy (Pakalapati & Panda, ASPLOS 2020)

  • 在 L2/LLC 层级中,PC 信息通常不可用(因为 L1 已经过滤),限制了 PC-based 预取策略
  • 核心 insight:可以利用 L2 miss 的地址模式信息来重构等效的 PC 分类信息,无需实际传递 PC 值
  • 提出利用 cache 层级中可获取的地址 pattern 来推断程序行为分类,使 L2/LLC 预取器也能利用 PC-like 信息
  • 使得高层级缓存预取器也能享受类似 L1 级别 PC-based 预取的精确性,是解决 L2 预取器缺少 PC 信息的关键工作

Prefetch 粒度

Title Filing Date Status Number / URL 主要方向
Fine-Grained Memory Aware Cache Prefetch 2024-01-31 Application US20250245160A1, https://patents.google.com/patent/US20250245160A1/en 面向 fine-grained memory 的 sub-cache-line prefetch

Fine-Grained Memory Aware Cache Prefetch (AMD, US20250245160A1, filed 2024-01-31, pending)

  • 背景:stacked DRAM、fine-grained DRAM、FeRAM 等新型内存可支持 4B/8B/16B atom 访问,而传统预取器通常以 64B cache line 为粒度。
  • 核心设计:fine-grained memory aware prefetcher 生成 atom/sub-cache-line prefetch request,将数据放入 side buffer,避免直接改变既有 cache hierarchy。
  • 关联方向:对 graph、pointer array、irregular workload 很重要,说明未来 L2/L3 预取可能从 cache-line 粒度扩展到 sub-line/atom 粒度。