Patents Inc. Title
US12253951B1 ventana Microprocessor with branch target buffer whose entries include fetch block hotness counters used for selective filtering of macro-op cache allocations

这篇 Ventana 专利发明了一种“用 BTB 里记录的 fetch block 热度信息,来决定哪些 fetch block 值得进入 uop cache / macro-op cache”的联合前端策略


这篇专利里的关键对象有四个:

  • BTB
  • MOC(macro-op cache)
  • FB(fetch block)
  • FBHC(fetch block hotness counter)

专利的核心机制是:

  1. PRU 预测程序接下来会出现哪些 fetch block
  2. BTB 不只存目标地址/终止类型,还给每个 FB 关联一个 热度计数器 FBHC
    • BTB entry 里增加了 FBHC,也就是这个 fetch block 的“热度历史”
  3. 每次某个 BTB 项再次命中、说明该 FB 又出现在指令流里时,FBHC 递增
  4. 只有当 FBHC 超过阈值 FBHT 时,这个 FB 才被视为“值得”写入 MOC
  5. 因此,MOC 的分配不再是“解码了就写”,而是变成“这个 fetch block 够热才写

传统做法往往默认“新解码出的 micro-ops / MOPs 都尝试分配进 micro-op cache” (关注点主要是 replacement),
而该专利改成按 fetch block 的历史出现频率 来过滤分配

这样做的目的是: 避免让“只出现一次或很少出现”的块去替换掉已经证明有用的块