提问人:MainID 提问时间:3/8/2010 更新时间:3/18/2010 访问量:684
如何关闭Windows中缓存的预取?
How to close the prefetch of cache in windows?
答:
0赞
t0mm13b
3/8/2010
#1
我已经在一些代码中看到过这个技巧,虽然我不能 100% 确定这个技巧是否是你要找的,但是,代码是这样的
Sleep(0);
通过使用 ,您将清除 CPU 指令并导致上下文切换...现在你确实说了“对于每个内核”,我认为你不能明确地选择一个内核来做到这一点,因为你怎么知道哪个内核正在运行需要关闭缓存预取的代码......Sleep(0)
评论
0赞
Nikolai Fetissov
3/9/2010
Sleep()
不保证上下文切换。此外,上下文切换是一种停止预取的残酷方法。
0赞
t0mm13b
3/9/2010
@Nikolai: 啊...k....没有问题,所以......我不太确定......感谢您的输入!:)
3赞
rep_movsd
3/18/2010
#2
有一个 Windows API 调用 FlushInstructionCache()
也许这就是你需要的?它通常由自我修改代码使用,以确保对 RAM 中代码的更改对处理器可见。
评论