Huh no, wide vector units or lots of execution units per core is nothing like wide instruction words? Superscalar out-of-order execution is specifically a way to get instruction level parallelism without the wide instruction words
Sure, but in my mind it feels like the CPU is slurping up individual instructions until it has enough to execute a whole bunch of them at once in one step (which would be equivalent to a big VLIW).
It's not really like that, it's more that it slurps up individual instructions, executes some of them just in the front-end via register renaming and dispatches the rest to available execution units, then retires them as the execution units are done. Sometimes it fuses together a couple of instruction (macro-op fusion) but my understanding is that that's much more limited, like fusing "compare then conditionally branch" sequences into single compare-and-branch μops
hobo123 · · focus · HN ↗
mort96 · · focus · HN ↗
hobo123 · · focus · HN ↗
mort96 · · focus · HN ↗