I开发者_运维百科n a C/C++ program, how to close the prefetch of each core in the Windows system?
There is a Windows API call FlushInstructionCache()
Perhaps this is what you need? It is typically used by self modifying code to make sure changes to code in the RAM are visible to the processor.
I have seen this trick mentioned in some code, although I am not 100% sure if this trick is what you're looking for, however, the code was this
Sleep(0);
By using Sleep(0)
, you are clearing the CPU instructions and cause a context switch... Now you did say 'for each core', I do not think you can explicitly select a core to do that as how do you know which core is running the code that is need of a closing the pre-fetching of the cache....
精彩评论