All subjects · Computer Science · WCP01 Principles of Computer Science
Inside the CPU: control unit, ALU, registers and clock
Edexcel IAL Computer Science · WCP01 Principles of Computer Science
The CPU is made of a control unit, an arithmetic logic unit, registers and a clock. Each special-purpose register has one job in the fetch-decode-execute cycle (spec point 1.1.4).
Control unit, ALU and clock
- Control unit (CU): decodes instructions and sends control signals to coordinate the other components (for example memory read/write signals, and telling the ALU which operation to do).
- Arithmetic logic unit (ALU): carries out arithmetic (add, subtract, shifts) and logic operations (AND, OR, NOT, XOR, comparisons).
- Clock: generates regular electrical pulses that keep components in step. Clock speed is measured in hertz; a 3.5 GHz clock gives 3.5 x 109 pulses per second. A faster clock means more instructions per second, but more heat.
Registers
Registers are tiny, extremely fast storage locations inside the CPU.
- General-purpose registers hold data being worked on, so it does not need to go back to memory between operations.
- Special-purpose registers each have one job:
| Register | Holds |
|---|---|
| PC (program counter) | The address of the next instruction to fetch |
| MAR (memory address register) | The address of the location to read from or write to |
| MBR (memory buffer register) | The data or instruction just read from memory, or about to be written |
| CIR (current instruction register) | The instruction currently being decoded and executed |
| ACC (accumulator) | Results of calculations done by the ALU |
| SP (stack pointer) | The address of the top of the stack in memory |
| SR (status register) | Flags about the last result and the CPU state, such as carry, zero, negative, overflow and interrupt flags |
Links to the buses
- The MAR is connected to the address bus.
- The MBR is connected to the data bus.
- The CU sends and receives signals on the control bus.
The MBR is called the memory data register (MDR) in some books. In diagrams, data flows from PC to MAR, from memory to MBR, and from MBR to CIR.
Worked example
A program adds two numbers and the result is too big for the register. Which register records this, and how?
- The ALU performs the addition and the result goes to the accumulator.
- The carry or overflow out of the register cannot be stored there.
- The status register sets its carry (or overflow) flag so later instructions can test it.
Answer: The status register (SR) sets a flag (carry or overflow).
Check yourself
- Which register holds the address of the next instruction to be fetched?
- MAR
- CIR
- ACC
- PC
Show answer
PC. The program counter points to the next instruction.
- Which register is connected to the data bus and temporarily holds data read from memory?
- MAR
- MBR
- PC
- SP
Show answer
MBR. The memory buffer register buffers data in and out of memory.
- What is the role of the control unit?
- To carry out arithmetic and logic operations
- To store the results of calculations
- To hold the address of the top of the stack
- To decode instructions and send signals that coordinate the other components
Show answer
To decode instructions and send signals that coordinate the other components. The CU decodes and coordinates; the ALU does the calculating.
- Which register contains flags such as carry, zero and overflow?
- Status register
- Current instruction register
- Memory buffer register
- Program counter
Show answer
Status register. The status register records the state of the last ALU result.
- A CPU clock runs at 2.5 GHz. How many clock pulses happen in one second?
Show answer
2500000000. 2.5 GHz = 2.5 x 109 Hz (decimal prefix: giga = 109).
- How long is one clock cycle of a 4 GHz clock, in nanoseconds?
Show answer
0.25 ns. Time = 1 / f = 1 / (4 x 109) s = 0.25 x 10-9 s = 0.25 ns.
- Explain why a CPU has general-purpose registers.
Show answer
They hold data being processed inside the CPU, which is much faster to access than main memory, so fewer memory transfers are needed.. Registers are the fastest storage; keeping values there avoids slow trips to memory.
- Which operation is carried out by the ALU?
- Decoding an instruction
- Sending a memory write signal
- Storing the next instruction address
- Comparing two values to see if they are equal
Show answer
Comparing two values to see if they are equal. Comparisons are logic operations done in the ALU.
Sources
- Pearson Edexcel International Advanced Subsidiary/Advanced Level in Computer Science specification (2026)
- Pearson Edexcel IAL Computer Science IAS sample assessment materials (Unit 1, WCP01)
Last updated 8 November 2026. Spotted a mistake? Tell us.