OCR H446 · A Level Computer Science · ~14 min read
Notes
—
Video
—
Slides
—
Worksheet
—
Quiz
Multicore Processors
A multicore processor integrates two or more independent processing cores onto a single chip. Each core is a fully functional CPU that can independently fetch, decode, and execute instructions.
How multicore improves performance:
True parallelism: multiple cores can execute different instruction streams (threads) simultaneously, each making independent progress.
Shared cache: cores typically share L3 cache, reducing memory latency for inter-core communication.
Higher throughput: overall throughput increases without necessarily increasing clock speed (avoids heat/power issues of higher clock speeds).
Limitations of multicore:
Software must be written to exploit parallelism (multithreading); single-threaded programs do not benefit.
Amdahl’s Law: the speedup achievable through parallelism is limited by the sequential portion of the program. If 20% of a program is sequential, speedup is capped at 5× regardless of how many cores are added.
Synchronisation overhead: threads sharing data must be coordinated, introducing potential bottlenecks and race conditions.
Co-processors and the GPU
A co-processor is a supplementary processor that assists the main CPU by handling specialised tasks, offloading computation to free the CPU for other work.
The Graphics Processing Unit (GPU) is the most important co-processor in modern systems. Originally designed to accelerate 3D graphics rendering, GPUs are now also used for general-purpose computing (GPGPU).
GPU Architecture:
Thousands of small cores: a GPU may contain thousands of simpler processing cores (e.g. NVIDIA RTX 4090 has 16,384 CUDA cores), compared to a CPU’s 8–32 larger cores.
SIMD (Single Instruction, Multiple Data): GPUs execute the same instruction simultaneously on many pieces of data in parallel. This is ideal for operations like applying the same colour transformation to every pixel in an image.
High memory bandwidth: GPUs use specialised GDDR or HBM memory with much higher bandwidth than system RAM, allowing fast access to large datasets.
Latency hiding: GPUs handle thousands of threads; when one thread stalls waiting for memory, other threads continue, hiding memory latency.
CPU vs GPU comparison:
Feature
CPU
GPU
Number of cores
Few (4–64), powerful cores
Thousands of simpler cores
Optimised for
Low-latency, sequential tasks
High-throughput, parallel tasks
Control logic
Complex (branch prediction, OoO)
Simpler per-core
Memory
Large system RAM, multi-level cache
High-bandwidth GDDR/HBM
Best for
Operating systems, databases, general apps
Graphics, AI/ML training, scientific simulation
Programming model
General-purpose
Parallel compute (CUDA, OpenCL)
Types of Parallel Processing
Flynn’s Taxonomy:
Classification
Description
Example
SISD (Single Instruction, Single Data)
One instruction operates on one data item at a time. Traditional Von Neumann CPU.
Basic desktop CPU (single core)
SIMD (Single Instruction, Multiple Data)
One instruction is applied to multiple data elements simultaneously.
GPU, vector/SIMD extensions (Intel AVX, ARM NEON)
MISD (Multiple Instruction, Single Data)
Multiple instructions applied to the same data. Rare in practice.
Fault-tolerant systems (space/safety-critical computing)
MIMD (Multiple Instruction, Multiple Data)
Multiple processors execute different instructions on different data simultaneously.
Multicore CPU, computer clusters
Amdahl’s Law
Amdahl’s Law states that the maximum theoretical speedup of a program using N processors is limited by the fraction of the program that cannot be parallelised:
Speedup = 1 / (S + (1−S)/N)
Where S is the proportion of the program that must run sequentially (0–1), N is the number of processors.
Example: if S = 0.25 (25% sequential) and N = 4 cores: Speedup = 1 / (0.25 + 0.75/4) = 1 / (0.25 + 0.1875) = 1 / 0.4375 ≈ 2.3×
As N → ∞, maximum speedup = 1/S. So if 25% is sequential, maximum speedup is ever 4×, no matter how many cores you add.
Exam tip: Know Flynn’s taxonomy by name and be able to give examples. The GPU = SIMD connection is frequently examined. Amdahl’s Law calculations also appear — practice substituting values into the formula.
Exam tip: When asked about the advantage of a GPU for AI/ML, the key points are: SIMD parallelism (same operation on thousands of data points), high memory bandwidth, and thousands of cores working simultaneously on different training samples.
⚠ Common Mistakes
Confusing SIMD and MIMD — SIMD is ONE instruction on MANY data items (GPU); MIMD is many instructions on many data items (multicore CPU).
Thinking more cores always means proportionally faster — Amdahl’s Law shows that the sequential portion limits gains.
Saying GPUs have “better” cores than CPUs — GPU cores are simpler and slower individually; the advantage is having thousands of them for parallel work.
✓ Notes completed!
▶
Video coming soon
Click to advance · Arrow keys also work
Click slide or press arrow keys to navigate
✍
Worksheet — 1.1.2b GPUs, Multicore and Parallel Processing
8 questions · 20 marks · instantly marked
Q1Define the term 'multicore processor' and explain one advantage of using multicore processors over increasing clock speed to improve performance.[3 marks]
✓ Mark scheme
A multicore processor contains two or more independent processor cores on a single chip, each capable of independently fetching and executing instructions [1]. Advantage: multiple cores can execute different instruction streams simultaneously (true parallelism), enabling higher throughput [1] without increasing clock speed, which would otherwise generate excessive heat and increase power consumption [1].
Q2Explain what is meant by SIMD (Single Instruction, Multiple Data) and give one example of hardware that uses this approach.[3 marks]
✓ Mark scheme
SIMD is a parallel processing approach in which a single instruction is applied to multiple data items simultaneously [1]; for example, the same arithmetic operation is performed on multiple elements of an array at the same time across different execution units [1]; example: GPU or CPU SIMD extensions (Intel AVX / ARM NEON) [1].
Q3Compare the architecture of a CPU and a GPU in terms of the number and complexity of cores, and the types of tasks each is optimised for.[4 marks]
✓ Mark scheme
A CPU has a small number of powerful, complex cores (e.g. 4–64) with advanced features like branch prediction and out-of-order execution [1], optimised for low-latency sequential or lightly threaded workloads (operating systems, databases, general applications) [1]; A GPU has thousands of simpler cores (e.g. thousands of CUDA cores) with simpler control logic per core [1], optimised for high-throughput massively parallel workloads where the same operation is applied to many data items (graphics rendering, AI/ML training, scientific simulation) [1].
Q4State Amdahl's Law and use it to calculate the maximum speedup achievable by a program where 30% of the code is sequential and 8 cores are available. Show your working.[4 marks]
✓ Mark scheme
Amdahl's Law: Speedup = 1 / (S + (1−S)/N), where S is the sequential fraction and N is the number of processors [1]. S = 0.3, N = 8 [1]. Speedup = 1 / (0.3 + 0.7/8) = 1 / (0.3 + 0.0875) = 1 / 0.3875 ≈ 2.58× [1]. Even with unlimited cores, maximum speedup would be 1/0.3 ≈ 3.33× [1].
Q5Explain why GPUs use a 'latency hiding' technique and describe how it works.[3 marks]
✓ Mark scheme
GPUs handle thousands of concurrent threads. When one thread stalls waiting for data from memory (high memory access latency) [1], the GPU immediately switches to executing a different ready thread [1], effectively hiding the memory latency and keeping the execution units busy, maintaining high throughput [1].
Q6Using Flynn's taxonomy, classify each of the following: (a) a standard single-core CPU executing one instruction at a time, (b) a GPU applying a brightness filter to every pixel in an image simultaneously, (c) a supercomputer cluster where each node runs a different program on different data.[3 marks]
✓ Mark scheme
(a) SISD — Single Instruction, Single Data [1]; (b) SIMD — Single Instruction (brightness operation), Multiple Data (each pixel) [1]; (c) MIMD — Multiple Instruction, Multiple Data [1].
Q7Explain why a software developer cannot always achieve a proportional speedup when moving from 1 to 8 cores.[2 marks]
✓ Mark scheme
Every program has a sequential portion that cannot be parallelised [1]; Amdahl's Law shows that this sequential fraction limits the maximum speedup regardless of how many cores are added; additionally, there is synchronisation overhead as threads need to coordinate access to shared data [1].
Q8Explain why GPUs are particularly suited to training artificial neural networks (deep learning).[2 marks]
✓ Mark scheme
Neural network training involves applying the same mathematical operations (matrix multiplications) to thousands or millions of data values simultaneously [1]; GPUs with their thousands of SIMD cores and high memory bandwidth can perform these parallel operations far more efficiently than a CPU, dramatically reducing training time [1].
Topic Quiz
1 of 15
You scored
out of 15
🎯
Mini Test — 1.1.2b GPUs & Parallel Processing
Timed exam conditions.
10 questions · 10 marks · 10 minutes
5 MCQ + 5 short answer
⏱10:00
10 marks
Section A — Multiple Choice
Q1Flynn's taxonomy classification where the same instruction is applied to multiple data items simultaneously is:
Q2Amdahl's Law says: if 50% of a program is sequential and you use 4 cores, the maximum speedup is approximately:
Q3A GPU has thousands of cores. Compared to a CPU, each GPU core is:
Q4A multicore CPU with 4 cores is running a program where only 2 of the 4 cores are ever used. This is most likely because:
Q5Which Flynn category describes a traditional supercomputer cluster where each node runs a different program on different data?
Section B — Short Answer
Q6State what MIMD stands for.
Mark schemeMultiple Instruction, Multiple Data. [1 mark]
Q7State one reason why increasing clock speed is not always the best way to improve processor performance.
Mark schemeHigher clock speeds generate excessive heat / consume more power, making cooling difficult and reducing energy efficiency. [1 mark]
Q8State the term for the technique where a GPU switches to a different thread when one thread is waiting for memory.
Q9State one type of task for which a GPU is more suitable than a CPU.
Mark schemeAny one of: graphics rendering / AI/ML model training / scientific simulation / image processing / video encoding. [1 mark]
Q10Amdahl's Law states that the maximum speedup with N processors is limited by what?
Mark schemeThe sequential (non-parallelisable) portion of the program. If a fraction S of the program must run sequentially, maximum speedup is 1/S regardless of N. [1 mark]