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 question

Question

Question 07 consists of four parts. Part 07.1 asks to state the stored program concept for 2 marks. Part 07.2 asks to describe the roles of three processor components: Control unit, General purpose registers, and Status register, for 6 marks. Below is text stating a processor represents machine code in 32 bits, with Figure 3 showing the assembly instruction 'ADD R2, R5, #17' mapped to bit fields: Opcode (Basic Machine Operation of 12 bits, addressing mode bit M of 1 bit) and Operands (Operand A of 4 bits, Operand B of 4 bits, Operand C of 11 bits). Part 07.3 asks to calculate the maximum number of general purpose registers given Operand A and B are 4-bit register numbers (1 mark). Part 07.4 asks for the range of numbers in decimal that Operand C can represent as a two's complement integer when immediate addressing is used (1 mark).
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 Mark scheme for Question 07: 07.1 awards up to 2 marks for stating instructions stored in main memory and fetched and executed serially by a processor. 07.2 awards up to 2 marks each for the control unit (e.g. controls fetch-execute cycle, decodes instructions), general purpose registers (stores frequently accessed data/intermediate results), and status register (stores flags about result of last instruction). 07.3 awards 1 mark for 16 or 2^4. 07.4 awards 1 mark for Most positive: 2047 (or 2^11 - 1) and Most negative: -2048 (or -2^11).

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

📋 What this question tests

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.
Question 07.1

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:

  1. Instructions
  2. Fetched
  3. Executed
  4. Serially (or sequentially / in order)
  5. 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).
Mark allocation: Max 2 marks (AO1 - Knowledge). 1 mark for stored in main memory; 1 mark for fetched and executed serially by a processor.
Question 07.2

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.
Mark allocation: Max 6 marks total (AO1 - Knowledge) — Exactly 2 marks allocated per component.

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)
111000010 0 1001 0010 1000000010001

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].

Question 07.3

Maximum Number of General Purpose Registers

Instruction Bit-Field Analysis (1 Mark)

📐 Step-by-Step Deduction

  1. The question states: "All of the processor's general purpose registers can be referenced using each of the operands in the ADD instruction."
  2. 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 ).
  3. For an operand to be able to address every register, the register set size cannot exceed what the smallest register operand field can address.
  4. 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.

Mark allocation: 1 mark (AO2 - Analyse). Requires exactly 16 or 2⁴.
Question 07.4

Two's Complement Range for Operand C

Signed Integer Range Calculation (1 Mark)

📐 Step-by-Step Calculation

  1. 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!).
  2. 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.
  3. 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.
Mark allocation: 1 mark (AO2 - Analyse). Both values required.

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.