我经常听到Prefetching作为一种提高速度的技术,例如顺序内存访问模式。预取应该在时间上足够提前以减轻内存访问的延迟,例如在线性遍历内存的循环中。
根据Ulrich Drepper着名的“每个程序员都应该了解的内存”一文,它写为:
此预取将删除一些 发生以来访问主内存的成本 异步执行程序
(重点是我的)
我在Google或Wikipedia上找不到证实或证明这一点的参考。有人知道我在哪里可以找到这是真的吗?
我唯一想到的理由是修辞:必须是异步b / c,否则预取对顺序访问没有好处...除非预取高速缓存行的执行时间少于绕过预取并放置相同高速缓存的时间行从RAM直接进入缓存。