4 ms·
And the prefetcher cannot fetch across page boundaries since that might fault.
by MichaelGG 12y ago
And the prefetcher cannot fetch across page boundaries since that might fault.
- TheLoneWolfling 12y agoThis seems like a hardware flaw to me. We can do OoO execution, why can't we do OoO prefetching w.r.t. page faults? (I.e. try to fetch into a cache, if there would be a page fault don't. If there's something that would cause that fetch to page fault between it being prefetched and it logically being fetched, invalidate the cace.)
- thesz 12y agoThis was actually done in some early DEC Alphas, I believe. OoO engine were able to issue address calculation from loads (if address register is ready) ahead and thusly when real load instruction execute the data is already in cache or closer to cache. It is really easy to do, actually. It can even simplify page fault handling in CPU.