⚙️ A Level · Chapter 15

Hardware & Virtual Machines

RISC/CISC · Parallel Architectures · Boolean Algebra · Karnaugh Maps


🧠 15.1 Processors, Parallel Processing & Virtual Machines
RISC vs CISC
FeatureRISC (Reduced Instruction Set)CISC (Complex Instruction Set)
InstructionsSmall, simple set (~100)Large, complex set (hundreds)
Clock cycles per instr.Usually 1Multiple (1–20+)
RegistersMany general-purpose registersFewer registers
Memory accessLoad/Store only (register-based ops)Instructions can access memory directly
Pipelining✅ Highly efficient⚠️ Harder due to variable instruction length
Compiler complexityHigher — more instructions neededLower — single instruction does more
ExamplesARM (mobile chips), MIPSIntel x86, AMD
Pipelining in RISC

RISC processors achieve speed through pipelining — while one instruction is being executed, the next is being decoded, and the one after that is being fetched. Multiple instructions in flight simultaneously.

FETCH
Instr 1
DECODE
Instr 1
EXECUTE
Instr 1
WRITE
Instr 1
FETCH
Instr 2
DECODE
Instr 2
EXECUTE
Instr 2
WRITE
Instr 2
Pipeline hazard
If an instruction depends on the result of the previous one, pipelining stalls — this is a data hazard. RISC processors use extra registers and compiler optimisation to minimise this.
Four Parallel Architectures (Flynn’s Taxonomy)

SISD — Single Instruction, Single Data

Classic sequential processor. One instruction at a time on one data stream. Traditional Von Neumann architecture.

SIMD — Single Instruction, Multiple Data

Same operation applied to multiple data items simultaneously. Great for graphics, audio processing, AI matrix operations.

MISD — Multiple Instruction, Single Data

Multiple processors each run different instructions on the same data stream. Rare — used in fault-tolerant systems (e.g. flight control computers running redundant checks).

MIMD — Multiple Instruction, Multiple Data

Multiple processors, each with their own instructions and data. Most modern multi-core CPUs. Most flexible parallel architecture.

Virtual Machines
🖥️ Applications / Guest OS
💻 Virtual Machine (emulated hardware)
🔧 Hypervisor (VMM)
⚙️ Physical Hardware
What is a VM?
A virtual machine is software that emulates a complete computer system. It runs on a hypervisor which manages access to the real hardware. The guest OS believes it is running on real hardware.

✅ Benefits of VMs

  • Run multiple OS on one machine
  • Isolation — crash in VM doesn’t affect host
  • Testing software safely
  • Cloud computing infrastructure
  • Easy backup (snapshot the VM)

❌ Limitations of VMs

  • Performance overhead vs bare metal
  • Requires significant RAM/storage
  • Hardware access may be limited or emulated

🔣 15.2 Boolean Algebra & Logic Circuits
Adder Circuits

Adds two bits A and B. Outputs: Sum and Carry.

Sum = A XOR B Carry = A AND B
ABSumCarry
0000
0110
1010
1101

A full adder adds bits A, B, and a Carry-In (Cin) from the previous stage. Used to build multi-bit adders.

Sum = A XOR B XOR Cin Cout = (A AND B) OR (Cin AND (A XOR B))
Built from two half adders
Full Adder = Half Adder(A,B) → Sum₁, C₁
then Half Adder(Sum₁, Cin) → Sum, C₂
Final Carry = C₁ OR C₂
Flip-Flops (Data Storage Elements)

Flip-flops are circuits that store a single bit. They are the building blocks of registers and RAM.

Two inputs: S (Set) and R (Reset). Output: Q (and Q̄).

SRQ (next)State
00Q (unchanged)Hold
101Set
010Reset
11INVALID⚠️ Forbidden
Why S=1, R=1 is forbidden
Both outputs would be forced to the same value, violating Q̄ = NOT Q. The circuit enters an unpredictable state.
JKQ (next)State
00Q (unchanged)Hold
101Set
010Reset
11NOT Q✅ Toggle!

J=1, K=1 now means toggle — output flips. This eliminates the forbidden state and makes the JK flip-flop the most commonly used type.

De Morgan’s Laws

De Morgan’s laws let you simplify or transform Boolean expressions by swapping AND/OR and inverting:

Law 1

NOT(A AND B) = NOT A OR NOT B ¬(A · B) = ¬A + ¬B NAND gate = NOT(A AND B)

Law 2

NOT(A OR B) = NOT A AND NOT B ¬(A + B) = ¬A · ¬B NOR gate = NOT(A OR B)
Memory trick
“Break the bar, change the operator.” When you split a negation bar over two variables, flip AND ↔ OR between them.
Karnaugh Maps (K-Maps)

A K-map is a visual tool for simplifying Boolean expressions. You group 1s in powers of 2 to eliminate variables.

Given: F(A,B,C) = Σm(1,3,5,7) — minterms where F=1

BC AB 00 01 11 10 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | Groups: Column 01 (BC=01): A=0,B=0 and A=1,B=0 → eliminates A Column 11 (BC=11): same → eliminates A Both columns: B=0,C=1 in all 4 cells → simplified term = C Simplified: F = C
K-map rules
  • Groups must be 1, 2, 4, or 8 cells (powers of 2)
  • Groups must be rectangular (can wrap around edges)
  • Use the largest possible groups
  • Each 1 must be in at least one group
  • Each variable that changes within a group is eliminated
⚡ Exam Essentials
  • Know RISC vs CISC differences — especially pipelining advantage
  • Name and describe all 4 Flynn architectures with examples
  • Draw truth tables for half adder and full adder
  • SR vs JK flip-flop — know the forbidden state fix
  • Apply De Morgan’s laws to simplify expressions
  • Solve 2-variable and 3-variable K-maps
  • State benefits AND limitations of virtual machines

📓 Other Notes:

Chapter 13: Data Representation Chapter 14: Communication & Internet Chapter 16: System Software Chapter 17: Security Chapter 18: Artificial Intelligence

📋 9618/4 Detailed Exam Guide →

Stop wrestling with confusion.

Join thousands of students mastering Computer Science without the academic jargon.

From syntax to systems. We break down the hardest ideas in computer science so you can actually build things.

© 2026 Painless Programming. Built for students.
Scroll to Top