Library Computer Science 0478 Computer Sub-Systems
O Level · Computer Science 0478

Computer Sub-Systems

Revise Computer Sub-Systems for Computer Science 0478 (O Level) — revision notes and instant AI marking. Free to start.

📖 Revision notes · preview
Cambridge (CIE) IGCSE · Computer Science

Computer Sub-Systems &
Problem Decomposition

Big idea: Big, complicated computer problems become manageable when you break them into smaller working parts — a computer is just several sub-systems working together, and every good programmer solves problems by splitting them up the same way.

Summary — Everything In This Chapter

  • A sub-system is a smaller part of a bigger system that works together with other parts to make the whole thing function.
  • A computer has five main sub-systems: CPU, Memory, Storage, Input devices, Output devices.
  • Sub-systems can be broken down further — e.g. the CPU itself contains the Control Unit, Registers, and the ALU.
  • Using sub-systems makes it easier to troubleshoot, isolate, and fix problems, and helps designers see the "big picture."
  • Decomposition is the process of breaking a large problem into a set of smaller, easier-to-manage problems.
  • Decomposed problems are easier to solve, can be worked on and tested independently, and are combined at the end into the full solution.
  • Every decomposed problem can be described using four building blocks: Inputs, Processes, Outputs, Storage (IPOS).

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
ComponentWhat It Means
InputsThe data entered into the system by a user or another source.
ProcessesThe subroutines and algorithms that turn inputs (and any stored data) into outputs — this is the "work" being done.
OutputsThe data produced by the system, e.g. information shown on screen, or something printed.
StorageData 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:

InputsWidth of the rectangle
Height of the rectangle
ProcessesWidth × Height
OutputsCalculated area of the rectangle
StorageMemory: 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.

Concepts Checklist

Tick off each idea only once you could explain it out loud, without notes, to a friend.

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.
Revision Guide · Cambridge (CIE) IGCSE Computer Science — Computer Sub-Systems & Problem Decomposition
Works fully offline. Click "Show Answer" to reveal solutions, tick the checklist as you master each idea.
🔓 Read the full Computer Sub-Systems note — free You're seeing the preview · free account, no card needed
What's inside
📖 Revision notes 🎯 Learn mode ✦ AI flashcards ✓ Instant AI marking 🧊 3D explorers 🧪 Experiments & simulations 📈 Progress tracking
📄 Practise Computer Sub-Systems with Computer Science 0478 past papers Every paper with its mark scheme — answer online, marked instantly. Open →

Read the full Computer Sub-Systems notes free

That's the preview — create a free account to read the rest, plus flashcards and practice questions with instant AI marking. No credit card.

Unlock the full notes free →

More Computer Science topics