1. Modern CPUs have a larger internal register file and dynamically remap the logical registers referenced by machine instructions into physical instructions.
2. Modern CPUs have a very complicated instruction reordering mechanism and data dependency analysis mechanism that allows CPUs to execute multiple instructions in parallel, when it's possible.
3. A lot of transistors are used for caches (instruction and data caches, and other kinds of buffers like the one used for branch prediction etc).
4. Even a single core has multiple copies of the execution units which allow to execute some instructions in parallel (see above).
2. Modern CPUs have a very complicated instruction reordering mechanism and data dependency analysis mechanism that allows CPUs to execute multiple instructions in parallel, when it's possible.
3. A lot of transistors are used for caches (instruction and data caches, and other kinds of buffers like the one used for branch prediction etc).
4. Even a single core has multiple copies of the execution units which allow to execute some instructions in parallel (see above).