Comment by mgaunard

9 hours ago

Any modern processor has different execution ports specialized in different things and replicated a different number of times, and all of them can execute instructions in parallel.

It schedules to these transparently for you, that's known as superscalar execution. To maximize occupation, out-of-order execution and simultaneous multithreading are used.

Sure, but this was five (or six?) generations before actual superscalar x86 processors.

  • Three - after 8086 you had 80286, 80386, 80486 and then Pentium (superscalar).

    • 80186 is often forgotten to have existed because it didn't see much success in the market / because IBM skipped it and went with 80286 for the AT, but it did exist.

      2 replies →