Components of the CPU (OCR A Level Computer Science): Revision Note
Exam code: H446
Components of the CPU
What is the CPU?
The CPU is responsible for processing all data within the computer
It is made up of a number of components including:
Arithmetic and Logic Unit (ALU)
Control Unit (CU)
Registers
Registers are temporary storage/memory locations inside the CPU which are used for a single specific purpose
They have a faster access speed than RAM / secondary storage
There are a number of registers in the CPU:
Program Counter (PC)
Accumulator (ACC)
Memory Address Register (MAR)
Memory Data Register (MDR)
Current Instruction Register (CIR)

|
|
|---|---|
Arithmetic and Logic Unit (ALU) | This performs any arithmetic calculations (e.g. adding binary) or any logic comparisons (using AND, OR, NOT) The ALU is made up of several components |
Control Unit | This is where instructions are decoded. The CU also controls the data within the CPU and how it moves around |
Program Counter (PC) | This stores the address in memory of the next instruction to be fetched |
Accumulator (ACC) | This is where values are stored temporarily, either after they’ve been inputted or loaded, or after being calculated in the ALU |
Memory Address Register (MAR) | This is where addresses are stored, either for where data is being sent in memory, or where it is being fetched from |
Memory Data Register (MDR) | This is where data/instructions are stored, either before it sent to memory, or after being fetched |
Current Instruction Register (CIR) | When an instruction has been fetched from memory it is loaded here before being split into opcode and operand. After this, it will be decoded. |
The ALU is made up of several components:
Arithmetic circuit
This carries out any arithmetic (addition, subtraction, multiplication or division)
Logic circuit
This carries out operations like AND, OR, NOT, XOR
Registers
These are additional registers to those mentioned above and can store data
Status flags
This includes overflow flags (if the value is too large for the register) or could include a zero flag (to tell if the answer is 0 easily)
Buses
These are used to transport data around the ALU and to other parts of the CPU
Buses
There are three main buses that connect the CPU, main memory (RAM) and other components:
Data bus
Address bus
Control bus
Bus | Purpose | Direction |
|---|---|---|
Data bus | Transfers data and instructions between the CPU, memory and input/output devices | Read/Write (Bidirectional) |
Address bus | Transfers the memory address of where data or instructions are to be read from or written to | Write only (Unidirectional) CPU → Memory/I/O |
Control bus | Transfers control signals used to manage the operations of the computer system (e.g. memory read, memory write, interrupt requests) | Sends signals (Bidirectional) |
There are also internal buses within the CPU that transfer data between components such as registers, the ALU, and the cache.
Unlock more, it's free!
Did this page help you?