Foundations — Flynn's taxonomy (SISD - SIMD - MIMD)
Before you can use the parent note, you need to earn every word inside it. This page builds each symbol and each concept from absolute zero — plain words first, then a picture, then why the topic needs it. Read top to bottom; each block leans on the one above it.
Parent topic: Flynn's taxonomy.
1. What is an "instruction"?
The picture. Think of a cooking recipe. Each line — "crack the egg", "stir", "pour" — is one instruction. The recipe is the program.

Why the topic needs it. Flynn's first axis counts instruction streams. You cannot count something you cannot name. Look at the red line in the figure — that single command "ADD" is exactly what one instruction means.
2. What is a "stream"?
The picture. Imagine a conveyor belt. Items ride past a worker one at a time — that ordered flow is the stream. The worker is the processor; the belt of commands is the instruction stream; a second belt of numbers is the data stream.
Why the topic needs it. The entire taxonomy is built on the two words "instruction stream" and "data stream". Everything Flynn says is: how many of each belt do you have?
3. Single (S) vs Multiple (M)
The picture. One conveyor belt versus several belts side by side, all moving together.
Why the topic needs it. Two axes, each either S or M, gives boxes. That is the whole taxonomy. The figure below shows the grid.

4. The three machine parts: CU, PU, ALU, Memory
The picture. A CU is a foreman with a clipboard; a PU is a worker; memory is the warehouse shelf. The foreman shouts one command; the worker grabs a number off the shelf and processes it.
Why the topic needs it. The parent note draws every architecture as boxes: "CU → PU → Memory". Counting how many CUs tells you the instruction axis; counting how many PUs fed different data tells you the data axis. SIMD = one CU, many PUs. MIMD = many CUs, many PUs.
5. "Broadcast" and "lockstep"
The picture. One foreman yells "ADD!" into a megaphone; four workers all add at the same instant.

Why the topic needs it. This is the exact mechanism of SIMD: one instruction, broadcast, executed in lockstep on multiple data. Without these words, "SIMD" is a mystery.
6. "Independent" data and dependencies
The picture. Independent: two people each washing their own dish — order doesn't matter. Dependent: you must crack the egg before you can stir it.
Why the topic needs it. SIMD only speeds things up when the data elements are independent. The parent's mistake callout ("SIMD isn't always N× faster") is entirely about hidden dependencies. This is the concept that makes speedup possible or impossible.
7. Clock cycle and the symbol
The picture. A stopwatch that ticks; each tick, one small piece of work gets done.
Why the topic needs it. is the unit every speedup formula is measured in. You cannot read "" until you know means "one operation's time".
8. The letter and "speedup"
The picture. If a job took 100 seconds alone and 25 seconds with helpers, speedup : it is 4× faster.
Why the topic needs it. The parent's SIMD formula and Amdahl's Law both output a speedup number. Now every letter in them is defined.
9. The fraction (parallelizable portion)
The picture. Cut a bar of length 1 into two pieces: the red piece of length can be shared out; the black piece of length cannot.

Every case matters.
- If (nothing parallel): — no speedup ever.
- If (fully parallel): — perfect, matches SIMD.
- As : — a hard ceiling set by the serial part. Even with infinite cores you cannot beat it.
Why the topic needs it. This is the honest reality-check on MIMD. Without , you'd wrongly believe "more cores = proportionally faster" forever.
Prerequisite map
Equipment checklist
Test yourself — cover the right side and answer before revealing.