ventana-US12253951B1: Microprocessor with branch target buffer whose entries include fetch block hotness counters used for selective filtering of macro-op cache allocations
| 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)
专利的核心机制是:
- PRU 预测程序接下来会出现哪些 fetch block
- BTB 不只存目标地址/终止类型,还给每个 FB 关联一个 热度计数器 FBHC
- BTB entry 里增加了 FBHC,也就是这个 fetch block 的“热度历史”
- 每次某个 BTB 项再次命中、说明该 FB 又出现在指令流里时,FBHC 递增
- 只有当 FBHC 超过阈值 FBHT 时,这个 FB 才被视为“值得”写入 MOC
- 因此,MOC 的分配不再是“解码了就写”,而是变成“这个 fetch block 够热才写
传统做法往往默认“新解码出的 micro-ops / MOPs 都尝试分配进 micro-op cache” (关注点主要是 replacement),
而该专利改成按 fetch block 的历史出现频率 来过滤分配
这样做的目的是: 避免让“只出现一次或很少出现”的块去替换掉已经证明有用的块
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.