Superscalar
A superscalar architecture is a type of computer processor design that allows multiple instructions to be executed simultaneously. This is achieved by having multiple execution units within the CPU, enabling it to process several instructions in a single clock cycle. This design improves performance by increasing the instruction throughput, making better use of the available resources.
In a superscalar processor, the instruction fetch and decode stages can also handle multiple instructions at once. This means that the CPU can dynamically schedule and dispatch instructions to different execution units, optimizing the use of its capabilities. This approach contrasts with scalar architectures, which can only execute one instruction at a time.