CPU
Everything else in the machine exists to feed this component. The CPU is where a program actually runs, and its internal organisation is the reason one processor outperforms another at the same clock rate. This chapter works from the outside in: what the CPU is required to do, how it is structured into arithmetic unit, controller, registers and the datapath that connects them, how a single instruction travels through that datapath from fetch to write-back, and how the control unit decides, cycle by cycle, which gates open.
Pipelining is treated as the culmination rather than an extra topic. Once the five stages of the instruction cycle are individually clear, it becomes possible to see why overlapping them does not make a processor proportionally faster: the hazards that arise when consecutive instructions need each other’s results, and the forwarding, stalling and branch-prediction machinery that modern designs use to hide them. The goal is not to memorise a diagram of a particular pipeline but to understand why a pipeline that works perfectly on straight-line arithmetic stalls the moment a branch or a cache miss appears.
Readers coming from the data representation and instruction set chapters will find the vocabulary familiar; readers meeting the CPU for the first time should at least know how a binary number is represented and what an operation code is, because the datapath is built entirely out of those two ideas.
