在C/C++程序中,如何关闭Windows系统中各个内核的预取?
问问题
550 次
2 回答
3
有一个 Windows API 调用 FlushInstructionCache()
也许这就是你需要的?它通常由自我修改代码使用,以确保对 RAM 中代码的更改对处理器可见。
于 2010-03-18T05:32:13.833 回答
0
我在一些代码中看到了这个技巧,虽然我不是 100% 确定这个技巧是否是你正在寻找的,但是,代码是这样的
睡眠(0);
通过使用Sleep(0)
,您正在清除 CPU 指令并导致上下文切换...现在您确实说过“对于每个核心”,我认为您不能明确选择一个核心来执行此操作,因为您如何知道哪个核心正在运行需要关闭缓存预取的代码....
于 2010-03-08T15:53:22.853 回答