Overview
Modern x86 CPUs are 'CISC on the outside, RISC on the inside.' They take complex x86 instructions and break them down into one or more simple micro-ops (uOps) that the execution units can handle easily.
Why use uOps?
- Simplicity: Execution units can be optimized for a small set of simple operations.
- Parallelism: Multiple uOps from different instructions can be executed simultaneously (Superscalar).
- Flexibility: Allows the hardware to reorder and optimize the execution flow (Out-of-Order).
Micro-op Fusion
A technique where two related uOps are combined into one to save power and increase throughput within the pipeline.