The call _mm_prefetch, as indicated here , preloads the contents from the specified memory location into RAM into the cache line. But is the cache completely under hardware control? Based on which memory (based on spatial / temporal locations) is available for access, the hardware preloaded the contents from memory into the cache. I thought that programmers did not have control over the cache, and this is a completely hardware mechanism.
So, my understanding is wrong, and the cache can really be controlled by us, right?
If it _mm_prefetchcan control what can be cached,
source
share