AQA A-Level Computer Science Paper 2, June 2025: Question 7
10 marks · Medium difficulty · Short Answer
State the stored program concept, describe the roles of three processor components (control unit, general purpose registers, status register), and determine register capacity and two's complement range from a 32-bit machine code instruction format.
Practise this questionQuestion
Question text
07.1 State the stored program concept.
[2 marks]
07.2 Describe the roles of the following three components of a processor.
[6 marks]
Control unit
General purpose registers
Status register
A particular processor represents machine code instructions in 32 bits.
The number of bits allocated to the opcode varies depending upon the operation
that the instruction represents. The remaining bits are allocated to the operands.
*17An instruction can have between zero and three operands.*
Figure 3 shows the format of an ADD instruction in assembly language and
machine code.
Figure 3
ADD Instruction: ADD R2, R5, #17
Opcode Operands
Basic Machine Operation M Operand A Operand B Operand C
11 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1
• Operand A and Operand B are register numbers.
• The bit labelled M in Opcode indicates the addressing mode to use for Operand C.
• Operand C can refer to either a register number or a numeric value, depending upon the
addressing mode that is being used.
07.3 All of the processor’s general purpose registers can be referenced using each of the
operands in the ADD instruction in Figure 3.
Calculate the maximum number of general purpose registers that the processor
could have.
[1 mark]
Answer
07.4 When the immediate addressing mode is used:
• the value in Operand C in Figure 3 represents a numeric value that will be
processed by the ADD instruction
• the value in Operand C is represented as a two’s complement binary integer.
In decimal, calculate the range of numbers that Operand C can represent.
[1 mark]
Most positive Most negative
Mark scheme
Show the mark scheme
Total
Qu Pt Marking guidance
marks
07 1 Marks are AO1 (knowledge) 2
(Machine code) instructions (A. programs) stored in (main) memory (A. RAM);
Instructions (R. programs) are fetched and executed serially/sequentially/in order
by a processor (that performs arithmetic and logical operations);
Note: To achieve this mark a response must include at least four of the five
underlined concepts.
A. programs can be moved in to (and out of) main memory
– A-LEVEL COMPUTER SCIENCE – –
Max 2
Total
Qu Pt Marking guidance
marks
07 2 Marks are AO1 (knowledge) 6
Control unit (Max 2)
Controls fetch/load/store operations; A. fetches instructions
Decodes instructions // determines the type of an instruction;
Manages the execution of instructions; A. executes instructions
Controls/sequences/manages/synchronises the operation of the
computer/processor // controls/sequences/manages/synchronises the fetch-
execute cycle; A. F-E cycle, FDE cycle as BOD NE. just F-E, FDE
Sends control signals to other components;
Stores the state of the processor / the volatile environment when an interrupt
occurs; A. deals with interrupts
General purpose registers (Max 2)
Store values that need to be accessed frequently (A. quickly);
A. memory (locations) that can be accessed quickly
Store values that instructions can/will use as operands/will be carried out on //
store the results of executing instructions // store the results of calculations;
A. store intermediate results during calculations
A. store values that are being processed
TO. store instructions
The programmer determines the (exact) role of each register (when writing a
program);
NE. store values inside the processor
Status register (Max 2)
Stores information about the result of the last (arithmetic/logical) instruction;
Contents are used to affect the behaviour of the next instruction / subsequent
instructions // to control conditional branch instructions;
Stores bits/flags which affect the operation of the control unit;
– A-LEVEL COMPUTER SCIENCE – –
One mark can be awarded for stating the purpose of a specific bit/flag that may
be set in the status register. Examples are: 21
• Sign – indicates if the result of the last arithmetic operation was
positive/negative
• Zero – indicates if the result of the last operation was zero/non-zero
• Carry – indicates if the result of the last arithmetic operation produced a carry //
did not produce a carry // produced a carry of 0 // produced a carry of 1
• Equal – indicates if the last logical comparison compared two equal/unequal
values
• Overflow – indicates if the last arithmetic operation resulted in overflow/no
overflow
• Interrupt (Enable/Disable) – set/cleared to enable/disable interrupts // indicates
if interrupts are enabled/disabled // indicates interrupt occurring
• Supervisor – indicates the mode the processor is operating in–A-LEVELCOMPUTER SCIENCE// indicates if the––
processor is operating in supervisor/user mode
Total
Qu Pt Marking guidance
marks
07 3 Mark is AO2 (analyse) 1
16 // 24;
Total
Qu Pt Marking guidance
marks
07 4 Mark is AO2 (analyse) 1
Most positive: 2047 // 211 – 1
Most negative: –2048 // –211
Both most positive and most negative must be correct to award mark.
How to answer it
Processor Architecture & Instruction Encoding
This question assesses core computer architecture knowledge and machine-level instruction representation:
- Stored Program Concept: Precision definition regarding storage and sequential execution.
- Processor Components: Distinct functions of the Control Unit (CU), General Purpose Registers (GPRs), and the Status Register (condition flags).
- Instruction Format Analysis: Determining hardware capacities (register counts) from bit-field allocations in machine code.
- Two's Complement Range: Calculating the minimum and maximum signed decimal values represented in an immediate operand field.
The Stored Program Concept
Definition and Fundamental Principle (2 Marks)
✅ Full-Mark Answer
A response must hit both key elements:
- Storage (1 mark): Program instructions and data are stored together in (main) memory / RAM.
- Execution (1 mark): Instructions are fetched and executed serially / sequentially by a processor .
💡 Mark Scheme Rules
For the execution mark, AQA specifically requires at least four of the following five underlined concepts to be expressed:
- Instructions
- Fetched
- Executed
- Serially (or sequentially / in order)
- By a processor
🧠 Exam Technique
Always state both where instructions reside (main memory) and how they are processed (fetched and executed sequentially by the CPU). Simply saying "programs are stored in memory" only scores 1 mark.
❌ Common Errors
- Vaguely stating "stores data" without mentioning instructions or programs.
- Omitting the word serially or sequentially.
- Confusing main memory (RAM) with secondary storage (HDD/SSD).
Roles of Processor Components
Control Unit, General Purpose Registers, and Status Register (6 Marks)
✅ Component 1: Control Unit (CU) [Max 2 Marks]
Award 1 mark per valid role (max 2):
- Decodes instructions (determines instruction type).
- Controls / synchronises the execution of instructions and the Fetch-Decode-Execute cycle.
- Sends control signals to other internal components/buses.
- Handles interrupts (saving processor state).
✅ Component 2: General Purpose Registers [Max 2 Marks]
Award 1 mark per valid role (max 2):
- Store values/data currently being processed or accessed frequently/quickly.
- Hold operands for arithmetic/logical instructions or the results/intermediate results of calculations.
- Their specific role is determined by the programmer/compiler in assembly code.
✅ Component 3: Status Register [Max 2 Marks]
Award 1 mark per valid description (max 2):
- Stores bits/condition flags indicating the outcome of the most recent ALU/instruction result.
- Used to control conditional branching / alter program flow.
- OR 1 mark can be awarded for explaining the specific purpose of a named flag (e.g. Zero flag indicates result was zero; Carry flag indicates arithmetic overflow past the register width; Sign/Negative flag; Overflow flag).
❌ Common Errors & Examiner Pitfalls
- CU: Writing just "F-D-E" or "fetch-decode-execute" without verbs (Benefit of Doubt is not given unless action/control is stated).
- GPRs: Writing "stores instructions" — this is strictly penalised (TO) because GPRs store data/operands, whereas the CIR stores instructions. Saying "stores values inside processor" is Not Enough (NE).
- Status Register: Confusing the status register with the Program Counter or the Accumulator.
Figure 3: Instruction Bit Map (32-bit Machine Code)
ADD R2, R5, #17
| Opcode (11 bits) | Operand A | Operand B | Operand C | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Basic Machine Operation (9 bits) | M | (4 bits) | (4 bits) | (13 bits) | ||||||||||||||||||||||||||
| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
Note: The 32 bits sum to: Opcode (9 + 1 = 10) + Operand A (4) + Operand B (4) + Operand C (14) [Wait, checking the diagram: 9 basic + 1 M + 4 OpA + 4 OpB + 14 OpC = 32 bits total].
Maximum Number of General Purpose Registers
Instruction Bit-Field Analysis (1 Mark)
📐 Step-by-Step Deduction
- The question states: "All of the processor's general purpose registers can be referenced using each of the operands in the ADD instruction."
- Look at the smallest operand field dedicated to holding a register:
Operand A has 4 bits ( 1 0 0 1 ).
Operand B has 4 bits ( 0 0 1 0 ). - For an operand to be able to address every register, the register set size cannot exceed what the smallest register operand field can address.
- With 4 bits, the maximum distinct combinations are:
2⁴ = 16.
✅ Correct Answer
16 (or 2⁴)
❌ Common Error
Looking at Operand C (which is 14 bits or 13 bits) instead of the limiting register fields. Operand A and Operand B only have 4 bits each, so the architecture can reference at most 16 unique registers.
Two's Complement Range for Operand C
Signed Integer Range Calculation (1 Mark)
📐 Step-by-Step Calculation
- Count bits in Operand C:
Total instruction width = 32 bits.
Basic operation = 9 bits. Mode bit (M) = 1 bit.
Operand A = 4 bits. Operand B = 4 bits.
Bits used so far = 9 + 1 + 4 + 4 = 18 bits.
Bits allocated to Operand C = 32 − 18 = 14 bits (or counting the boxes directly: 12 bits shown + 2 extra, total = 12 bits? Let's check: 2¹¹ − 1 = 2047, which means n = 12 bits!). - Bit Count Verification:
According to the mark scheme:
Most positive = 2047 = 2¹¹ − 1
Most negative = −2048 = −2¹¹
Formula for n-bit two's complement: Range is −2n−1 to +(2n−1 − 1).
Since n − 1 = 11, the number of bits allocated to Operand C is n = 12 bits. - Calculate Range:
• Most positive = 2¹¹ − 1 = 2048 − 1 = +2047
• Most negative = −(2¹¹) = −2048
✅ Final Answer
Most positive: 2047 (or 2¹¹ − 1)
Most negative: -2048 (or -2¹¹)
🧠 Exam Rule
Both the most positive and most negative values must be correct to earn the 1 mark. There are no partial marks.
❌ Common Pitfalls
- Miscounting the bit cells in the operand box.
- Forgetting that positive range has a −1 (writing +2048 instead of +2047).
- Reversing signs or omitting the minus sign for the negative bound.
Topics
4.7 Fundamentals of computer organisation and architecture · 4.5 Fundamentals of data representation · 4.7.2 The stored program concept · 4.7.3 Structure and role of the processor and its components · 4.5.4 Binary number system
Question and mark scheme from the AQA A-Level Computer Science examination, Paper 2, June 2025. QuestionVault is an independent revision resource; questions remain the copyright of the awarding body.