What are the main parts of a CPU, and how do the control unit, ALU and registers work together?
Describe the components of the CPU - control unit, ALU, registers - and the buses connecting it to memory in the von Neumann architecture
A focused answer to the H2 Computing outcome on CPU components. The control unit, arithmetic logic unit and registers, the address, data and control buses, and the stored-program von Neumann architecture.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this dot point is asking
SEAB wants you to describe the CPU's components - the control unit, the arithmetic logic unit and registers - and the buses connecting the CPU to memory in the von Neumann architecture. The central idea is that a processor is a small set of cooperating parts wired to memory by buses, and that storing programs as data in the same memory is what makes a computer general-purpose.
The answer
The components of the CPU
A CPU has three kinds of internal component:
- Control unit (CU) - the coordinator. It fetches and decodes instructions and issues the control signals that tell every other part what to do and when. It directs the fetch-decode-execute cycle.
- Arithmetic logic unit (ALU) - the calculator. It performs arithmetic (add, subtract) and logic (AND, OR, NOT, comparisons) on data.
- Registers - tiny, very fast storage inside the CPU holding data and addresses currently in use (the PC, MAR, MDR, IR, accumulator, and general-purpose registers). They are faster than main memory.
The buses
The CPU communicates with main memory and devices over three buses (sets of parallel wires):
- Address bus - carries addresses from the CPU to memory, selecting a location. One direction. Its width sets how much memory can be addressed.
- Data bus - carries data and instructions between CPU and memory, in both directions. Its width (the word size) affects how much moves per transfer.
- Control bus - carries control and timing signals (read, write, clock) coordinating the system.
CPU <== data bus ==> Memory
== address bus =>
<= control bus =>
The von Neumann architecture
In the von Neumann (stored-program) architecture, both instructions and data are held in the same main memory, fetched over the same bus. Because a program is just data in memory, it can be loaded, changed and replaced without rewiring the machine - this is what makes computers general-purpose.
The von Neumann bottleneck
Sharing one memory and one data bus for both instructions and data has a cost: the CPU cannot fetch an instruction and a data item simultaneously - they compete for the single bus. The processor may stall waiting for memory, limiting throughput. Caches and wider or additional buses help relieve this von Neumann bottleneck.
Performance factors
How fast a CPU executes depends on the clock speed (cycles per second), the number of cores (parallel execution units), the word size / data bus width, and the cache size.
Examples in context
Example 1. Why more memory needs a wider address bus. A 32-bit address bus can select locations (about 4 GB); addressing more memory requires more address lines (a wider bus), which is one reason 64-bit systems became necessary. The bus width directly limits the addressable memory.
Example 2. Multi-core processors. A modern CPU packs several cores, each with its own control unit, ALU and registers, so they execute instructions in parallel. This sidesteps some of the single-core von Neumann bottleneck by doing genuinely independent work at once, which is why core count is a key performance figure alongside clock speed.
Try this
Q1. State the function of the control unit. [1 mark]
- Cue. It directs the processor - fetching and decoding instructions and issuing the control signals that coordinate the other components.
Q2. Which bus is bidirectional, and what does it carry? [2 marks]
- Cue. The data bus is bidirectional; it carries data and instructions between the CPU and memory in both directions.
Q3. What is meant by the von Neumann stored-program architecture? [2 marks]
- Cue. Instructions and data are held in the same main memory and fetched over the same bus, so programs are loadable as data, making the machine general-purpose.
Exam-style practice questions
Practice questions written in the style of SEAB exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
Original6 marks(a) State the function of the control unit and the arithmetic logic unit (ALU) in a CPU. (b) Name the three buses that connect the CPU to main memory and state what each carries. (c) State one factor that affects how fast a CPU executes instructions.Show worked answer →
(a) The control unit (CU) directs the operation of the processor: it fetches and decodes instructions and generates the control signals that coordinate the other components. The arithmetic logic unit (ALU) performs arithmetic operations (add, subtract) and logical operations (AND, OR, comparisons) on data.
(b) The three buses:
- Address bus - carries memory addresses from the CPU to memory (one direction).
- Data bus - carries data and instructions between the CPU and memory (both directions).
- Control bus - carries control and timing signals (such as read/write) between the CPU and the rest of the system.
(c) Any one: clock speed (cycles per second), the number of cores, the word size / data bus width, or the size of the cache.
Markers reward the CU directing/decoding and the ALU doing arithmetic and logic, the three buses with what each carries (address one-way, data two-way, control signals), and a valid performance factor.
Original5 marks(a) Explain what is meant by the von Neumann (stored-program) architecture. (b) State one consequence of instructions and data sharing the same memory and bus (the von Neumann bottleneck).Show worked answer →
(a) The von Neumann architecture is a stored-program design in which both program instructions and data are held in the same main memory, and the CPU fetches them over the same bus. Instructions are fetched and executed sequentially by the fetch-decode-execute cycle, and because programs are just data in memory, they can be loaded and changed without rewiring the machine.
(b) The von Neumann bottleneck: because instructions and data share one memory and one bus, the CPU cannot fetch an instruction and a data item at the same time - they compete for the single bus. This limits throughput, as the processor may wait (stall) for memory access, which is one reason caches and wider/multiple buses are used to relieve the bottleneck.
Markers reward the stored-program idea (instructions and data in the same memory, programs loadable as data), and the bottleneck consequence that sharing one bus serialises instruction and data access, causing stalls.
Related dot points
- Describe the fetch-decode-execute cycle, the registers involved, and how the program counter sequences instructions
A focused answer to the H2 Computing outcome on the fetch-execute cycle. The fetch, decode and execute stages, the program counter, memory address and data registers, the instruction register, and how branching changes the flow.
- Describe the memory hierarchy from registers to secondary storage, and explain how caching exploits locality of reference
A focused answer to the H2 Computing outcome on the memory hierarchy. Registers, cache, main memory (RAM) and secondary storage, the trade-off between speed, cost and capacity, and how caching uses locality of reference.
- Construct and interpret logic gates and truth tables, write Boolean expressions, and simplify them using Boolean algebra laws
A focused answer to the H2 Computing outcome on digital logic. The AND, OR, NOT, NAND, NOR and XOR gates, building and reading truth tables, writing Boolean expressions, and simplifying them with Boolean algebra laws and De Morgan.
- Explain interrupts and interrupt handling, contrast them with polling, and describe how the CPU services and resumes after an interrupt
A focused answer to the H2 Computing outcome on interrupts. What an interrupt is, the interrupt service routine, saving and restoring state, interrupt priorities, and the contrast with polling for input and output.
- Represent signed integers using two's complement, convert to and from denary, and perform subtraction by addition, explaining range and overflow
A focused answer to the H2 Computing outcome on signed integers. Two's complement encoding, converting to and from denary, subtraction as addition, the representable range, and detecting signed overflow.