🔒 Pro · Component 1 · 1.1 Contemporary Processors
1.1.2b GPUs, Multicore and Parallel Processing
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:

FeatureCPUGPU
Number of coresFew (4–64), powerful coresThousands of simpler cores
Optimised forLow-latency, sequential tasksHigh-throughput, parallel tasks
Control logicComplex (branch prediction, OoO)Simpler per-core
MemoryLarge system RAM, multi-level cacheHigh-bandwidth GDDR/HBM
Best forOperating systems, databases, general appsGraphics, AI/ML training, scientific simulation
Programming modelGeneral-purposeParallel compute (CUDA, OpenCL)

Types of Parallel Processing

Flynn’s Taxonomy:

ClassificationDescriptionExample
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
Card 1 of 15
Click to reveal
🎉
Complete!
TermDefinition
← 1.1.2a CISC and RISC 1.1.2 Types of Processor Next: 1.1.3a Input and Output Devices →
🔒
Pro Content
Subscribe to access all 69 OCR H446 A Level lessons.
£7.99/month
or £59/year
Subscribe now →