← IGCSE Computer Science Paper 2

Sub-systems made of further sub-systems

Each sub-system can be split into smaller sub-systems, level by level, until every part does one simple job. A sub-system at one level is a system at the next.

Understanding Sub-systems made of further sub-systems in IGCSE Computer Science Paper 2

What it does: The CPU is a sub-system of the computer and then becomes the system that is split again. The ALU does one simple job, so there is no need to split it any further. The whole system is at the top. Each level down is a smaller part of the level above, so the ALU is inside the CPU, which is inside the computer. There is no fixed number of levels. We stop when each part is simple enough to do just one job. The ALU (arithmetic logic unit) does the calculations and comparisons. Registers hold data temporarily, and the control unit directs the work.

Common mistakes: A sub-system is run from its parent with the CALL keyword. The line should be CALL CPU(). Cambridge pseudocode uses CALL to use a sub-system, not RUN. The CPU splits into the ALU, control unit and registers, so the line should be CALL ALU().

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 94–106) and word search (Modules 94–118).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
A CPU is a sub-system of a computer system. Can the CPU itself be split into smaller sub-systems?
No, a sub-system can never be split againYes, e.g. into the ALU, control unit and registers
Matches
Computer system → ALU → CPU
↓
The levels are in the wrong order: the ALU is part of the CPU, so the CPU must be above the ALU in the tree.
Applying
Meanings
Term
hierarchy of sub-systems
Meaning
Each sub-system can be split into smaller sub-systems, level by level, until every part does one simple job. A sub-system at one level is a system at the next.
Practice
PROCEDURE ComputerSystem()
Testing
Gaps
Computer()
Check Answer
Spots
1PROCEDURE ComputerSystem()
2 CPU()

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Arctic Fox' badge — Tundra Tracker, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. A CPU is a sub-system of a computer system. Can the CPU itself be split into smaller sub-systems?
A. No, a sub-system can never be split again
B. Yes, e.g. into the ALU, control unit and registers ✓
Every sub-system can be split further. The CPU is a sub-system of the computer, but it contains the ALU, control unit and registers.
2. Which choice shows the levels in the correct order, from top to bottom?
A. Computer system, CPU, ALU ✓
B. ALU, CPU, computer system
The whole system is at the top. Each level down is a smaller part of the level above, so the ALU is inside the CPU, which is inside the computer.
3. The CPU is a sub-system of the computer. When we split the CPU into parts, how do we treat the CPU?
A. As a system in its own right at the next level ✓
B. As a single part that cannot be looked at again
A sub-system at one level becomes a system at the next level. The CPU is a sub-system of the computer but a system for the ALU, control unit and registers.
4. When should we stop splitting sub-systems into smaller ones?
A. When each part does one simple job ✓
B. When we have drawn exactly three levels
There is no fixed number of levels. We stop when each part is simple enough to do just one job.
5. Which part of the CPU carries out calculations and logic decisions?
A. The registers
B. The ALU ✓
The ALU (arithmetic logic unit) does the calculations and comparisons. Registers hold data temporarily, and the control unit directs the work.

Match the Pairs

Computer system → CPU → ALU → A system split level by level: the CPU is a sub-system of the computer, and the ALU is a sub-system of the CPU
CPU → ALU, control unit, registers → The CPU is one system at this level, and it splits into three smaller sub-systems at the next level
A sub-system at one level is a system at the next level down → Computer system → CPU, then CPU → ALU, control unit, registers
Keep splitting until each part does one simple job, then stop → ALU: carries out arithmetic and logic (no further split)
Computer system → ALU → CPU → The levels are in the wrong order: the ALU is part of the CPU, so the CPU must be above the ALU in the tree.
CPU → ALU, control unit, registers, monitor → The monitor is not part of the CPU. It is an output device, so it does not belong to this branch of the tree.

Key Term

hierarchy of sub-systems
Each sub-system can be split into smaller sub-systems, level by level, until every part does one simple job. A sub-system at one level is a system at the next.

Fill in the Blanks

1. PROCEDURE Computer() CALL CPU() ENDPROCEDURE
Hint: Type the keyword that starts a named block for one sub-system.
2. PROCEDURE Computer() CALL CPU() ENDPROCEDURE
Hint: Type the keyword that runs a lower-level sub-system from inside its parent.
3. PROCEDURE CPU() CALL ALU() ENDPROCEDURE
Hint: Type the keyword that closes the block for this sub-system.
4. CALL ControlUnit() CALL Registers() CALL ALU()
Hint: Type the name of the CPU sub-system that stores data temporarily.
5. Computer -> CPU -> ALU
Hint: Type the sub-system of the CPU that does the arithmetic and logic.

Spot the Error

Question 1
A PROCEDURE ComputerSystem()
B CPU()
C CALL Memory()
D ENDPROCEDURE
Line B — A sub-system is run from its parent with the CALL keyword. The line should be CALL CPU().
Question 2
A PROCEDURE CPU()
B RUN ALU()
C CALL ControlUnit()
D CALL Registers()
E ENDPROCEDURE
Line B — Cambridge pseudocode uses CALL to use a sub-system, not RUN. The CPU splits into the ALU, control unit and registers, so the line should be CALL ALU().
Question 3
A PROCEDURE ALU()
B CALL Add()
C CALL Compare()
D ENDFUNCTION
Line D — A PROCEDURE must finish with ENDPROCEDURE. ENDFUNCTION closes a FUNCTION, so the last line should be ENDPROCEDURE.
Question 4
A FUNCTION ControlUnit()
B CALL Fetch()
C CALL Decode()
D ENDPROCEDURE
Line A — The control unit is written as a PROCEDURE, which is closed by ENDPROCEDURE and uses CALL. FUNCTION does not match. The first line should be PROCEDURE ControlUnit().
Question 5
A WHILE IsSimple(part) DO
B CALL Split(part)
C part ← NextPart()
D ENDWHILE
Line A — We keep splitting while the part is NOT yet simple. The loop should stop once each part does one simple job, so the line should be WHILE NOT IsSimple(part) DO.

Student with a class code? Join your class →