: 理解了你的意思,还是希望硬件动态做预测,多谢解释。不过主要挑战应该会在这个预测器上,如果基于PC好预测的话,那么大概率这个信息在静态也能得到;
Ling: 正如上面说的到的数据是否在缓存与动态运行的软硬件环境相关,这个与跳转预测(也是基于指令地址)的引入基本一致,大量取决于运行状态,而其主流也是用硬件完成,下面的三篇文章也都是使用硬件预测load-address 以及 cache Hit-Miss。文章《Load value prediction via path-based address prediction: avoiding mispredictions due to conflicting stores》和 《Correlated Load-Address Predictors》中预测load-address的准确率超过99%, 同样《Bloom Filtering Cache Misses for Accurate Data Speculation and Prefetching》使用load-address预测数据是否在缓存的准确率也超高99%,因此我们可以说在本文中的第一阶段预测,也就是通过指令地址预测数据是否在缓存中,理想情况下的准确率能接近达到 98%(0.99 * 0.99), 第二阶段通过地址预测准确率就可以达到99%。
“如果是基于访存地址的bloom filter, 需要设计一种在cache evcition时能从bloom filter中“去掉一个项”这样的操作。”
Ling:《Bloom Filtering Cache Misses for Accurate Data Speculation and Prefetching》相关内容文章中都有提到
当然只有通过真实的仿真才能有可靠的结论,这方面我们需要进行验证。
【 在 winfredsu 的大作中提到: 】
: 理解了你的意思,还是希望硬件动态做预测,多谢解释。不过主要挑战应该会在这个预测器上,如果基于PC好预测的话,那么大概率这个信息在静态也能得到;如果是基于访存地址的bloom filter, 需要设计一种在cache evcition时能从bloom filter中“去掉一个项”这样的操作。
:
--
FROM 47.99.111.*