Comment by IshKebab
7 months ago
I don't think we had out of order designs with speculative execution 40 years ago? That seems like a pretty huge change.
7 months ago
I don't think we had out of order designs with speculative execution 40 years ago? That seems like a pretty huge change.
Hey, author here. Tomasulo's algorithm is a means of out or order execution, and that was invented and implemented by IBM in the 1960s. It was designed for their floating point operations, specifically. I don't remember if they also implemented speculative execution.
These are mostly internal implementation details, instructions still appear to resolve in order from the outside (with some subtle exceptions for memory read/writes depending on the CPU architecture). It may become important to know such details for performance profiling though.
What has drastically changed is that you cannot do trivial 'cycle counting' anymore.
Not to step on your toes, but it shall be said that instructions in a CPU "retire" in order.
They don't even always do that anymore.
1 reply →