6.1.1 · D1Parallelism & Multicore

Foundations — Flynn's taxonomy (SISD - SIMD - MIMD)

1,789 words8 min readBack to topic

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.

Figure — Flynn's taxonomy (SISD - SIMD - MIMD)

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.

Figure — Flynn's taxonomy (SISD - SIMD - MIMD)

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.

Figure — Flynn's taxonomy (SISD - SIMD - MIMD)

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.

Figure — Flynn's taxonomy (SISD - SIMD - MIMD)

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

Instruction: one command

Instruction stream

Data: one number

Data stream

Single S or Multiple M

Four boxes SISD SIMD MISD MIMD

CU PU ALU Memory

Broadcast and lockstep

SIMD

Independent data

Clock cycle time T

Speedup N

Parallel fraction P

Amdahl Law

MIMD


Equipment checklist

Test yourself — cover the right side and answer before revealing.

What is an instruction in one sentence?
One tiny command the machine can perform, like ADD or LOAD.
What is a stream?
An ordered sequence of things (instructions or data) flowing one after another over time.
What do the letters S and M stand for?
S = Single (exactly one stream), M = Multiple (more than one stream at once).
Which two letters of a Flynn name are the instruction axis?
The first two (e.g. the "SI" in SISD / SIMD).
What does the Control Unit (CU) do versus the Processing Unit (PU)?
CU issues instructions (the boss); PU actually does the operation on data (the hands).
What does "broadcast in lockstep" mean?
One CU sends the same instruction to many PUs, and they all execute it in the same clock cycle.
When can two operations run at the same time?
When they are independent — neither needs the other's result.
What does represent?
The time taken by one operation (one clock's worth of work).
What is speedup, as a formula?
Speedup = (serial time) / (parallel time) = how many times faster.
What does mean in Amdahl's Law, and what is ?
= fraction of the program that can be parallelised; = the serial fraction stuck on one core.
As , what does Amdahl's Law approach?
— a hard ceiling set by the serial fraction.