Identify the main CPU units and registers
Match the ALU, control unit and five named registers to the information each handles.
Section 3 · Hardware
This sequence follows Cambridge IGCSE Computer Science 0478, 2026–2028 syllabus Version 6. It covers subject content sections 3.1–3.3 only. The separately published 2029–2031 syllabus is not mapped here. Practice is original, self-checked and does not award an official Cambridge grade. Full timed papers and human subject-teacher review remain outstanding.
Before you begin
- No programming language is required. Be comfortable with place value and multiplication; each lesson introduces the computer-science notation it uses.
Work on paper. Try each question before revealing help, and explain why your method works.
Quick readiness check
What does a memory address identify?
What you will learn
- State the functions of the ALU and control unit
- Distinguish PC, MAR, MDR, CIR and accumulator
- Explain why registers hold different information
Units perform different work
The arithmetic logic unit (ALU) carries out arithmetic and logical operations. The control unit (CU) decodes instructions and coordinates signals that control the fetch–decode–execute process.
Apply and check the rule
The program counter (PC) stores the address of the next instruction. The memory address register (MAR) stores the address being accessed; the memory data register (MDR) holds data moving to or from memory; the current instruction register (CIR) holds the current instruction; the accumulator (ACC) holds intermediate arithmetic or logic results.
Pause and explain
Which pair is matched correctly?
Worked example
During a memory read, address 240 is needed and the instruction stored there is returned. Which registers are involved?
Show the worked solution
- The MAR holds address 240.
- The MDR receives the contents from that address.
- If those contents are the instruction being executed, they can be placed in the CIR.
Answer MAR holds 240; MDR carries the returned instruction, which is then held in the CIR.
Try a topic test
Choose Easy, Normal or Difficult. Save your answers and open worked review after finishing.
Test this topic →From guided practice to a new situation
Write your answer and reasoning first. Use a hint only if you are stuck. The model solution is for self-checking; your written work is not automatically marked.
Match each item to its register: next instruction address; address being read; data returned from memory.
Give me a hint
Separate next address, access address and transferred contents.
Compare my reasoning
- Next instruction address → PC.
- Address being read → MAR.
- Data returned → MDR.
PC; MAR; MDR
Look for these in your work
- PC assigned correctly
- MAR assigned correctly
- MDR assigned correctly
An instruction is decoded and an addition result is waiting for later use. Which registers hold the instruction and result?
Give me a hint
Distinguish the current instruction from an intermediate result.
Compare my reasoning
- CIR holds the current instruction.
- ACC holds the intermediate arithmetic result.
CIR; ACC
Look for these in your work
- CIR role
- ACC role
A trace says: the PC contains 320, the MAR contains 320, the MDR contains 320, and the CIR contains 320. Explain why identical contents are possible briefly but the register roles must not be confused.
Give me a hint
A value can move through registers while each register keeps a distinct purpose.
Compare my reasoning
- The PC can identify instruction address 320.
- That address can be copied into the MAR; the MDR may later contain the data stored at that location, and CIR may contain an instruction bit pattern.
- The same numeric value at one moment does not make the registers interchangeable; their functions refer to different information.
Registers can temporarily contain the same pattern during transfer, but PC/MAR hold addresses, MDR carries transferred data, and CIR holds the current instruction. Roles are defined by use, not just the current bits.
Look for these in your work
- PC/MAR address roles
- MDR/CIR content roles
- Function distinguished from value
Common mistakes
- Swapping the MAR and MDR
- Saying the PC stores the instruction rather than its address
What can you explain now?
Which register holds the address of the next instruction?
Compare with the explanation
PC
The program counter identifies where the next instruction is stored.
After trying it yourself, choose your next review. This is your self-assessment.
Your review choice appears on Today. Sign in to sync it across devices.
Make it stick
Which register holds an address, and which holds the contents returned from that address?
If you needed the solution, close it and solve the problem again from a blank page. A correct answer is stronger when you can explain the reason for each step.