In simple terms
A friendly intro before the formal notes — no formulas yet.
Beyond the Single Core
Modern computing demands more speed than a single processor core can offer. We achieve this through parallelism, like an assembly line (pipelining) or a team of workers (multi-core), and through virtualization, which creates multiple 'pretend' computers on one physical machine.
Imagine a single chef trying to prepare a three-course meal alone; this is a basic processor. Pipelining is like the chef starting to chop vegetables for the main course while the starter is already in the oven. A multi-core processor is like having multiple chefs in the kitchen, each working on a different dish simultaneously. A virtual machine is like the head chef renting out sections of the kitchen to other 'pop-up' restaurants, each with their own menu and staff, all using the same physical space and equipment but kept separate.
- 1
The Fetch-Decode-Execute cycle is the fundamental operation of a CPU core. Pipelining improves efficiency by overlapping these stages for different instructions, like an assembly line.
- 2
A multi-core processor contains multiple independent CPUs (cores) on one chip. This allows for true parallel processing, where multiple instruction streams (threads) are executed simultaneously.
- 3
A virtual machine (VM) is a software emulation of a computer, running a 'guest' OS. It is managed by a hypervisor, which sits between the VM and the 'host' hardware, allocating and isolating resources.
- 4
Parallel processing architectures are classified by their instruction and data streams. SIMD (Single Instruction, Multiple Data) is used in GPUs for graphics, while MIMD (Multiple Instruction, Multiple Data) is used in multi-core CPUs for general tasks.
Explore the concept
Use the live diagram and synced steps — play it or tap a step card to walk through.
Full topic notes
Formal explanation with the rigour you need for the exam.
Pipelining: The Processor's Assembly Line
Pipelining is a form of instruction-level parallelism. Instead of waiting for one instruction to complete all its stages (Fetch, Decode, Execute, Memory Access, Write Back) before starting the next, pipelining overlaps these stages. While one instruction is being executed, the next one is being decoded, and the one after that is being fetched. This dramatically increases the instruction throughput – the number of instructions completed per unit of time – even though the time to complete a single instruction (latency) might slightly increase due to pipeline management overhead.
Benefit: Increases instruction throughput, leading to faster program execution for most code.
Drawback: Does not decrease the latency of a single instruction.
Challenge: Pipeline 'hazards' (structural, data, control) can disrupt the flow and require the pipeline to stall or be flushed, reducing efficiency.
Multi-Core and Parallel Processing Architectures
While pipelining speeds up a single stream of instructions, a multi-core processor enables true parallel execution of multiple instruction streams (threads). It integrates two or more independent cores onto a single chip. To categorise how these parallel systems work, we use Flynn's Taxonomy, which leads to two key architectures you need to know: SIMD and MIMD.
SIMD (Single Instruction, Multiple Data): This architecture executes a single instruction on multiple different data items simultaneously. It's highly efficient for tasks that are 'data-parallel', such as vector processing or graphics rendering. For example, increasing the brightness of every pixel in an image involves applying the same 'add brightness' instruction to millions of different pixel values. Graphics Processing Units (GPUs) are a classic example of SIMD architecture.
MIMD (Multiple Instruction, Multiple Data): This is a more general and flexible form of parallelism. Each processor or core can execute a different instruction on different data. Modern multi-core CPUs in laptops and servers are MIMD systems. They can run the operating system on one core, a web browser on another, and a game on the remaining cores, all at the same time.
When asked to compare parallel systems, always use the terms SIMD and MIMD. Be ready to give a concrete example for each: SIMD is exemplified by GPUs for graphics, while MIMD is exemplified by multi-core CPUs for general-purpose computing. Remember that SIMD offers massive parallelism for specific tasks, whereas MIMD provides flexibility for diverse tasks.
Virtual Machines: A Computer within a Computer
A Virtual Machine (VM) is a complete, isolated software emulation of a computer system. It runs on a physical 'host' machine but behaves like an independent 'guest' computer with its own operating system (Guest OS) and applications. The magic behind this is the hypervisor, or Virtual Machine Monitor (VMM). The hypervisor is a layer of software that sits between the physical hardware and the VMs, managing the allocation of resources like CPU time, RAM, and storage to each VM, ensuring they remain isolated from one another.
Advantages: Server consolidation (running many servers on one physical box), sandboxing (testing code in a safe, isolated environment), running legacy or different operating systems, and easy migration/backup of entire systems.
Disadvantages: Performance overhead from the hypervisor, potential for resource contention if VMs are over-allocated, and increased complexity in system management.
Worked examples
See the formulas applied — reveal one step at a time, like the exam.
A non-pipelined processor takes 8 ns to execute one instruction. A functionally equivalent 4-stage pipelined processor is designed. Due to latch overhead, the clock cycle time for the pipelined processor is 2.5 ns. Calculate the time saved by using the pipelined processor to execute 200 instructions.
- 1
To solve this, we calculate the total time for each processor and then find the difference.
A cloud server has 128 GB of RAM, 16 CPU cores, and 4 TB of disk space. A client wishes to provision two types of VMs:
- Type A (Web Server): 2 vCPUs, 8 GB RAM, 50 GB disk
- Type B (Database): 4 vCPUs, 32 GB RAM, 200 GB disk
What is the maximum number of Type A VMs that can be run if four Type B VMs are already running? Assume resources cannot be over-provisioned.
- 1
First, calculate the resources consumed by the existing Type B VMs.
How it all connects
The big idea sits in the middle — tap a linked idea to explore the link.
Tap a linked idea to see how it connects back to the main topic — that connection is what examiners reward.
Glossary
Try to recall each definition before you reveal it.
Quick check
Answer in your head first — then tap to check. No pressure.
Revision flashcards
Flip the card. Test yourself before the exam.
What is pipelining?
A technique used in processor design where instruction processing is broken down into stages (e.g., Fetch, Decode, Execute). Multiple instructions can be in different stages of completion simultaneously, increasing instruction throughput.
Key takeaways
Review these before you close the topic — retrieval beats re-reading.
- ✓
Benefit: Increases instruction throughput, leading to faster program execution for most code.
- ✓
Drawback: Does not decrease the latency of a single instruction.
- ✓
Challenge: Pipeline 'hazards' (structural, data, control) can disrupt the flow and require the pipeline to stall or be flushed, reducing efficiency.
Practice — then mark it
The whole point: a real Cambridge question, marked mark-by-mark.
Practice Exam Questions
Practice Exam Questions
Extra simulations & links
PhET, GeoGebra and other curated tools — open in a new tab.
Frequently asked
Checkpoint
One marked question is worth ten re-reads — close the loop before you move on.
Reading it isn’t knowing it — prove it.
Before you move on: do Practice Exam Questions on paper, snap a photo, and get examiner-style feedback on exactly where you win and lose marks.