Hacker News new | ask | show | jobs
by theyregreat 3171 days ago
Superscalar is an idealized notion of concurrent instructions per clock, almost MISD. Even the Pentium doesn’t really work like that, where one pipe isn’t fully capable, but it still has OOE, so it’s nothing like the Computer Architecture books with nice two or more concurrent instructions per cycle. In the real-world with OOE, reservation stations, register renaming, retiring and related technologies, it’s hard to say what runs when, but that the scheduler tries to keep execution units as busy as possible given the window of incoming instructions and their branches. There are broadly: 0) single-pipeline, sequential processors and 1) OOE ones with any number of execution units.

Also related: hyperthreading takes idle excution units of a core and makes two virtual processor threads out of them that compete for execution unit scheduling. Slightly faster multiprocessing performance with possibly slightly slower single thread performance.