← IGCSE Computer Science Paper 1

Arithmetic logic unit (ALU)

Arithmetic logic unit: the part of the CPU that does calculations (add, subtract) and logic decisions (AND, OR, NOT, comparisons). Results are held in the accumulator.

Understanding Arithmetic logic unit (ALU) in IGCSE Computer Science Paper 1

What it does: Subtraction is an arithmetic operation, so the ALU carries it out. AND and comparison operators are logical operations, so the ALU evaluates them and gives TRUE or FALSE. The ALU (arithmetic logic unit) does the maths and the logic decisions. Storage is done by memory, not the ALU. The accumulator holds the results of calculations from the ALU. The PC holds the address of the next instruction. AND, OR and NOT are logic operations in the ALU. Fetch is a stage of the fetch-decode-execute cycle, not an ALU operation. Comparisons such as greater than, less than or equal to are logic decisions made by the ALU.

Common mistakes: The ALU should ADD 8 and 3 to give 11. Subtracting would give 5. Line 3 should be ACC ← ACC + B. The ALU must subtract 4 from 10 to get 6. Adding gives 14. It should be ACC ← ACC - 4.

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 204–217) and word search (Modules 189–217).

Take this worksheet further — free with Cloodit

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

Learning
Duo
What does the ALU do in the CPU?
Carries out arithmetic calculations and logical comparisonsStores the whole program permanently
Matches
The control unit (CU) adds the numbers 4 + 3 and does the comparisons.
↓
The CU does not do calculations or comparisons. The ALU does arithmetic and logic. The CU only controls and coordinates.
Applying
Meanings
Term
ALU
Meaning
Arithmetic logic unit: the part of the CPU that does calculations (add, subtract) and logic decisions (AND, OR, NOT, comparisons). Results are held in the accumulator.
Practice
ACC ← 7
Testing
Gaps
ACC ← ACC 5
Check Answer
Spots
2B ← 3
3ACC ← ACC - B

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

The 'Galaxy Phoenix' badge — Orbit Champion, 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. What does the ALU do in the CPU?
A. Stores the whole program permanently
B. Carries out arithmetic calculations and logical comparisons ✓
The ALU (arithmetic logic unit) does the maths and the logic decisions. Storage is done by memory, not the ALU.
2. Which task is carried out by the ALU?
A. Adding two numbers together ✓
B. Sending the address to the address bus
Addition and subtraction are arithmetic operations done in the ALU. Sending signals and addresses is handled by the control unit and buses.
3. Where is the result of an ALU calculation usually held?
A. In the program counter (PC)
B. In the accumulator (ACC) ✓
The accumulator holds the results of calculations from the ALU. The PC holds the address of the next instruction.
4. Which of these is a logical operation the ALU can perform?
A. AND ✓
B. Fetch
AND, OR and NOT are logic operations in the ALU. Fetch is a stage of the fetch-decode-execute cycle, not an ALU operation.
5. The ALU compares 7 and 5 to decide if 7 > 5. What type of operation is this?
A. A logical comparison ✓
B. A memory read
Comparisons such as greater than, less than or equal to are logic decisions made by the ALU.

Match the Pairs

ALU → The part of the CPU that carries out arithmetic calculations and logical comparisons
ACC <- ACC + 5 → The ALU adds 5 to the value held in the accumulator and stores the result back in the accumulator
The ALU performs arithmetic, such as subtracting one number from another → result = 20 - 8
The ALU performs logical decisions, such as comparing two values with AND → (age >= 16) AND (hasTicket == TRUE)
The control unit (CU) adds the numbers 4 + 3 and does the comparisons. → The CU does not do calculations or comparisons. The ALU does arithmetic and logic. The CU only controls and coordinates.
The ALU can only add numbers. It cannot do logic such as AND, OR, NOT. → The ALU does arithmetic (add, subtract) and also logical operations (AND, OR, NOT, comparisons).

Key Term

ALU
Arithmetic logic unit: the part of the CPU that does calculations (add, subtract) and logic decisions (AND, OR, NOT, comparisons). Results are held in the accumulator.

Fill in the Blanks

1. ACC ← 10 ACC ← ACC + 5
Hint: Type the arithmetic operator the ALU uses to add two values.
2. ACC ← 20 ACC ← ACC - 8
Hint: Type the arithmetic operator the ALU uses for subtraction.
3. IF age >= 16 AND mark > 50 THEN
Hint: Type the logic operator that is only true when both comparisons are true.
4. IF a = 1 OR b = 1 THEN
Hint: Type the logic operator that is true when at least one comparison is true.
5. ACC ← ACC + 5
Hint: Type the name of the register that holds the ALU's result.

Spot the Error

Question 1
A ACC ← 8
B B ← 3
C ACC ← ACC - B
D OUTPUT ACC // 11
Line C — The ALU should ADD 8 and 3 to give 11. Subtracting would give 5. Line 3 should be ACC ← ACC + B.
Question 2
A ACC ← 10
B ACC ← ACC + 4
C OUTPUT ACC // 6
Line B — The ALU must subtract 4 from 10 to get 6. Adding gives 14. It should be ACC ← ACC - 4.
Question 3
A A ← 7
B R ← A > 5 AND A > 10
C OUTPUT R // TRUE
Line B — 7 is not greater than 10, so the AND comparison would be FALSE. The ALU should test A < 10 so the result is TRUE.
Question 4
A LOCKED ← TRUE
B // ALU applies NOT
C OPEN ← LOCKED
D OUTPUT OPEN // FALSE
Line C — The comment says the ALU applies NOT, which reverses TRUE to FALSE. Without NOT, OPEN would be TRUE. It should be OPEN ← NOT LOCKED.
Question 5
A ACC ← 65
B PASS ← 50
C R ← ACC <= PASS
D OUTPUT R // TRUE
Line C — 65 is greater than or equal to 50, so the comparison gives TRUE. Using <= would give FALSE. It should be R ← ACC >= PASS.

Student with a class code? Join your class →