The abstract model of the operations a processor can execute, the registers it provides and the binary format of its instructions.
RISC
Reduced‑Instruction‑Set Computer – a design philosophy that uses a small, highly optimised set of simple, fixed‑length instructions.
CISC
Complex‑Instruction‑Set Computer – a design philosophy that provides a large set of complex, often variable‑length instructions, many of which perform multi‑step operations.
Micro‑code
A low‑level ROM‑based sequence that implements a complex CISC instruction as a series of simpler internal operations.
Pipeline
Technique that overlaps the execution of several instructions, each occupying a different stage of the processor.
ILP
Instruction‑Level Parallelism – the ability to execute independent instructions simultaneously.
TL‑P
Thread‑Level Parallelism – parallel execution of separate instruction streams (e.g., on different cores).
VM
Virtual Machine – an abstract execution environment that hides the underlying hardware ISA.
Performance Equation
The fundamental relationship used in the syllabus is:
SUB R4, R1, R5 // uses R1 produced by previous ADD
Without forwarding the SUB would have to wait one cycle. With forwarding the result from the EX stage of ADD is sent directly to the EX stage of SUB, eliminating the stall.
Beyond the Classic Pipeline
Superscalar Execution
One core can issue multiple independent instructions per clock cycle.
Requires several execution units (ALU, FP‑unit, load/store unit) and sophisticated scheduling logic.
Multicore Processors
Two or more independent cores on the same die, each with its own pipeline.
Interpretation – each byte‑code instruction is fetched and executed directly by a software interpreter; simple but slower.
Just‑In‑Time (JIT) compilation – translates hot byte‑code sections into native machine code (RISC or CISC) at runtime, achieving near‑native speeds.
Stack‑based VM – operands are pushed onto an operand stack (e.g., Java Virtual Machine).
Register‑based VM – uses virtual registers to reduce stack overhead (e.g., Dalvik, Lua).
VMs enable platform independence – a crucial point for Paper 4 (programming) where the same source may be run on different architectures.
VM Execution Flow (simplified)
Byte‑code is interpreted or JIT‑compiled into native instructions, which are then executed by the underlying processor.
Assessment‑Focused Activities (AO1‑AO3)
AO1 – Recall
List three differences between RISC and CISC architectures. (1 mark each)
AO2 – Analyse
A program runs 2 × 10⁶ instructions on a 3 GHz processor. The CPI for arithmetic instructions is 1, for loads/stores it is 2, and the program consists of 60 % arithmetic and 40 % loads/stores.
Calculate the total CPU time. (Show all steps – 4 marks)
AO3 – Design / Programming
Write a short pseudo‑assembly fragment (RISC‑style) that demonstrates a data hazard and then resolves it using forwarding. (2 marks for correct hazard, 2 marks for forwarding solution)
1 Information Representation
Binary, octal, hexadecimal, and their conversion methods.
Signed numbers: two’s complement, sign‑magnitude, excess‑k.
Knowledge representation – semantic networks, frames, production rules.
Machine learning basics – supervised vs unsupervised, simple linear regression example.
Ethical considerations – bias, privacy, impact on employment.
Quick Revision Checklist (AO1)
Define ISA, RISC, CISC, micro‑code.
State the performance equation and explain each term.
List the five classic pipeline stages and the three hazard types.
Give two advantages of SIMD over scalar execution.
Describe how a Java VM achieves platform independence.
Recall the four layers of the OSI model.
Write the binary representation of the decimal number 45.
Identify the main difference between TCP and UDP.
Explain what a deadlock is and name one condition that must hold for a deadlock to occur.
State the purpose of a hash function in security.
Further Practice (AO2 & AO3)
Calculate the CPI for a mixed‑instruction program where 50 % are arithmetic (CPI = 1) and 50 % are memory accesses (CPI = 3). The program runs 5 × 10⁵ instructions on a 1.5 GHz CPU. (Show all work.)
Design a simple flowchart for a program that reads a list of numbers, stores them in an array, and then outputs the maximum value. Include decision symbols for end‑of‑input detection.
Write a short Java method that uses a for loop to compute the factorial of an integer n. Then, show how the same algorithm would be expressed in pseudo‑assembly for a RISC processor (use LOAD, MUL, ADD, BRANCH).
Given a 4‑bit Karnaugh map with minterms m(1,3,5,7), minimise the Boolean expression and draw the resulting logic circuit.
Using Amdahl’s Law, determine the maximum theoretical speed‑up if 95 % of a program can be parallelised and an unlimited number of cores are available.
Summary
Understanding the trade‑offs between RISC and CISC, the mechanics of pipelining, and the ways modern CPUs achieve parallelism is central to analysing processor performance (AO2). Virtual machines extend this knowledge by showing how software can be insulated from hardware differences, a key point for programming and software development (AO3). By integrating these concepts with the broader AS and A‑Level topics – data representation, networking, security, databases, algorithms, and AI – students gain a holistic view of computer science as required by the Cambridge International syllabus.
Support e-Consult Kenya
Your generous donation helps us continue providing free Cambridge IGCSE & A-Level resources,
past papers, syllabus notes, revision questions, and high-quality online tutoring to students across Kenya.