37、不规则代码的价值剖面引导步长预取技术解析

不规则代码的价值剖面引导步长预取技术解析

1. 硬件步长预取与VPGSP概述

硬件步长预取是一种常见的预取机制。当指令地址 I 和数据地址 D1 被插入参考预测表(RPT)时,状态设为 “no prefetch”。后续遇到相同指令地址 I 和新的数据地址 D2 的读缺失时,若对应记录未被替换,RPT 会命中,计算步长 S1 = D2 - D1 并插入 RPT,状态设为 “prefetch”。下次遇到相同指令 I 和地址 D3 时,会预测对 D3 + S1 的引用,同时监控当前步长 S2 = D3 - D2 ,若 S2 S1 不同,状态降级为 “no prefetch”。

不过,硬件步长预取与 VPGSP 相比存在一些局限性:
- 预取距离的随意性 :预取距离是两次缺失时数据地址的差值,可能导致缓存污染(预取过远)或内存流量浪费(预取过短)。
- 硬件表大小限制 :对于有大量缓存缺失负载的程序,硬件表可能溢出,丢弃有用步长,降低预取效果。
- 缓存级别监控局限 :硬件通常监控特定缓存级别(如 L1)的缺失来确定预取步长,而 VPGSP 更灵活,可针对不同缓存级别使用不同预取距离进行预取。

2. 预计算与价值剖析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值