Overview
Execution units are the 'muscles' of the CPU. A modern processor has many different types of EUs, allowing it to perform different types of tasks in parallel.
Common Types
- ALU (Arithmetic Logic Unit): For integer math and logic.
- FPU (Floating Point Unit): For complex decimal math.
- AGU (Address Generation Unit): For calculating memory addresses.
- Branch Unit: For handling jump and branch instructions.
- SIMD/Vector Units: For performing the same operation on multiple data points.
Superscalar Design
A superscalar CPU has multiple copies of these units, allowing it to execute multiple instructions (e.g., two additions and one multiplication) in a single clock cycle.