Remix.run Logo
magicalhippo 3 days ago

> what if it blocks on a 'normal' memory access?

If the CPU gotta wait for memory it's gotta wait, and so it just won't make progress. Though we typically say that the CPU has stalled.

How long depends on if it's found in one of the caches, they're progressively slower, or main memory.

All the fancy techniques like out of order execution, speculative execution and hyperthreads are mainly there to trigger memory reads as soon as possible to reduce how long it is stalled.

Some nice detailed SE answer here[1] with some details.

[1]: https://electronics.stackexchange.com/a/622912