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.

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.