What Is a Sub-System?
Think about your body for a second. You don't work as one single blob — you have a
digestive system, a circulatory system, a nervous system, and so on. Each system has
its own job, but none of them are useful alone. Your circulatory system pumping
blood is pointless if your digestive system isn't giving that blood any nutrients to carry.
They only work because they work together.
A sub-system is exactly this idea applied to computers (or any complex
system): it's a smaller, self-contained part of a bigger system that has to cooperate with
the other parts to make the whole thing function.
Analogy — The Car
A car doesn't work because of one giant "car part." It works because separate sub-systems
all do their own job and hand off to each other:
Engine → creates power | Brakes → stops the car | Wheels → move the car
And you can zoom in even further — the Engine itself is made of smaller
sub-systems: spark plugs, sensors, pistons. This is important: sub-systems aren't a
"one level only" idea. You can keep breaking things down into smaller and smaller pieces
until each piece is simple enough to fully understand and build.
The Five Main Computer Sub-Systems
Every computer — whether it's a phone, a laptop, or a supercomputer — is built from the same five core sub-systems:
| Sub-System |
Job |
Real Examples |
| Central Processing Unit (CPU) |
Executes instructions — this is the "brain" that actually does the thinking/calculating |
Intel Core i7, Apple M-series chip |
| Memory |
Stores data and instructions temporarily, only while the CPU needs them right now |
RAM |
| Storage |
Stores data and software permanently, even when the power is off |
HDD, SSD |
| Input devices |
Let a user put information into the computer |
Keyboard, mouse |
| Output devices |
Show information out of the computer, or create a physical result |
Monitor, printer |
The trap students fall into
Memory (RAM) and Storage (HDD/SSD) get mixed up constantly. The one thing that separates
them: Memory is temporary (wiped when you turn the computer off), Storage is
permanent (stays there even with no power). If a question asks "where is your
document kept while you're actively typing in it" → that's RAM. "Where is it kept after you hit
Save and shut your laptop" → that's the SSD/HDD.
Sub-Systems Inside Sub-Systems
Just like the car engine broke down into spark plugs and pistons, computer sub-systems keep
breaking down further. The CPU — one of the five main sub-systems — is itself made of smaller
sub-systems:
CPU
├── Control Unit (directs and coordinates everything inside the CPU)
├── Registers (tiny, super-fast storage locations inside the CPU)
└── ALU (Arithmetic Logic Unit — does maths & comparisons)
Why Bother Splitting Things Into Sub-Systems? (Advantages)
- Easier troubleshooting — if a computer isn't working, you can test the CPU, then Memory, then Storage separately, rather than staring helplessly at "the whole computer."
- Isolation — because each sub-system can be examined on its own, it's much faster to identify exactly where a fault is and fix just that part.
- Efficient software development — software is built to work with these separate sub-systems (e.g. software that reads from Storage, processes with the CPU, and shows results on Output devices) so each piece can be developed properly.
- A clear mental picture — designers and developers can see how all the pieces of a complex system fit together, instead of being overwhelmed by one giant tangle.
Practice Question 1
A student says: "RAM and a hard drive basically do the same job, so they're not really separate sub-systems." Explain why this statement is incorrect.
Practice Question 2
Name the five main sub-systems of a computer, and give one advantage of designing computers this way.
Problem Decomposition
Now let's zoom out from "hardware sub-systems" to a bigger idea that applies to
any complex problem, especially in programming: decomposition.
Definition
Decomposition = breaking down a large problem into a set of smaller problems.
It's the same principle as sub-systems, just applied to a problem instead of a
machine. Imagine someone asked you to "build a modern video game" with zero
further instructions. That's terrifying — where do you even start? But if you decompose
it into smaller chunks, suddenly it's manageable.
Worked Example — Building a Video Game
Trying to build an entire game in one go is challenging and inefficient —
no single person or team can hold the whole thing in their head at once. So instead, it gets
decomposed into separate problems that can be worked on independently:
Levels — each level can be designed, created, and tested independently of the others.
Characters — a separate team designs and builds the mechanics of how characters move, fight, or interact.
Landscape — the art team builds the visual world without needing to understand how any of the game's code actually works.
Once every smaller piece is finished, they're all joined back together — and a fully complex game exists, built from parts nobody was overwhelmed making.
Why Decomposition Actually Helps
- Smaller problems are easier to solve — your brain can hold a small problem entirely in mind, unlike a giant one.
- Independence — each smaller problem can be solved without needing every other part to be finished first.
- Independent testing — you can test the "Levels" code without needing the "Characters" code to be complete yet, which catches bugs earlier and more precisely.
- Combinable — once each smaller piece works correctly on its own, they get combined to produce the solution to the full, original problem.
Common misconception
Students sometimes think decomposition just means "making a list of steps" (like an
algorithm). It's not quite the same thing. Decomposition happens before you write
any steps — it's about splitting the overall problem into separate,
independent sub-problems. Writing the step-by-step instructions to solve each of those
sub-problems comes afterward.
The Four Building Blocks: Inputs, Processes, Outputs, Storage (IPOS)
Once you've decomposed a problem, CIE wants you to be able to describe each piece using
four standard components. This is often called the IPOS model, and it's one
of the most exam-relevant tools in this entire chapter.
1Inputs
2Processes
3Outputs
4Storage
| Component | What It Means |
| Inputs | The data entered into the system by a user or another source. |
| Processes | The subroutines and algorithms that turn inputs (and any stored data) into outputs — this is the "work" being done. |
| Outputs | The data produced by the system, e.g. information shown on screen, or something printed. |
| Storage | Data kept on a physical device (permanently) or in memory (temporarily, while the program runs). |
Worked Example — Area of a Rectangle Program
This is the exact example CIE loves to use, so know it cold:
| Inputs | Width of the rectangle Height of the rectangle |
| Processes | Width × Height |
| Outputs | Calculated area of the rectangle |
| Storage | Memory: width, height, and area stored temporarily (while the program is running) |
Practice Question 3
A programmer is building a program that asks the user for their test score out of 100, then works out and displays their grade (A, B, C, etc.). Describe the Inputs, Processes, Outputs, and Storage for this program.
Practice Question 4
Explain, using an example, why decomposing a large programming project (such as a video game) into smaller problems is beneficial to a development team.
What to Memorise
Sub-system
A smaller part of a computer system that works with other sub-systems to form a fully functional whole.
CPU
Executes instructions. Contains Control Unit, Registers, and the ALU.
Memory (RAM)
Stores data & instructions temporarily for the CPU.
Storage (HDD/SSD)
Stores data and software permanently.
Input devices
Allow a user to enter information, e.g. keyboard, mouse.
Output devices
Display information or create a physical output, e.g. monitor, printer.
Decomposition
Breaking down a large problem into a set of smaller problems.
IPOS
Inputs, Processes, Outputs, Storage — the four components used to describe a decomposed problem.
Exam Tips
Don't confuse Memory and Storage in your answer.
This is the #1 mark loss in this topic. Always anchor your answer to the words "temporary" (Memory/RAM) vs "permanent" (Storage/HDD/SSD).
"Describe" and "Explain" questions want reasoning, not just a list.
If asked to explain an advantage of sub-systems or decomposition, don't just say "it's easier" — say why it's easier (e.g. "...because each part can be tested independently, so faults are isolated instead of being hidden inside one huge system").
Know the IPOS model well enough to apply it to a brand-new scenario.
Examiners love giving a new mini-program (a calculator, a login system, a quiz) and asking you to identify its Inputs, Processes, Outputs, and Storage. Practise doing this for problems you invent yourself.
"Processes" means the calculation/algorithm, not the outcome.
In the rectangle example, "Width × Height" is the process. "Calculated area" is the output. Students often mix these two up and lose easy marks.
Remember sub-systems nest inside each other.
If a question asks about the CPU specifically, you may need to go a level deeper: Control Unit, Registers, ALU — not just repeat "CPU, Memory, Storage..." again.