37.3. Out-of-order execution
gem5’s model is gem5 DerivO3CPU
.
Allows working around data dependencies: you can execute the second next instruction forward if the first next depends on the current one.
Likely used on basically all (?) 2020 non-power-constrained CPUs.
As mentioned at: https://stackoverflow.com/questions/10074831/what-is-general-difference-between-superscalar-and-ooo-execution it is in theory possible for an out-of-order CPU to not a Superscalar processor, but the combination is so natural (since you can look ahead, you might as well run it!) that it is not super common.