Skip to main content

Flynn's classification of parallel computers

Short answer

Flynn's classification has four classes: SISD (one instruction stream, one data stream), SIMD (one instruction, many data streams; array processors, GPUs), MISD (many instructions, one data stream; fault-tolerant systems), and MIMD (many instructions, many data streams; multicore, clusters).

Discuss Flynn's classification.

Flynn's classification (1966) groups computers by the number of instruction streams and data streams that they process at the same time. There are four classes.

1. SISD (Single Instruction, Single Data)

One control unit executes one instruction at a time on one data item. It is the conventional serial computer (older single-core uniprocessors such as the 8085/8086).

 IS          IS        DS
 CU -------> PU <----> MM

2. SIMD (Single Instruction, Multiple Data)

One control unit sends the same instruction to many processing elements, and each works on its own data at the same time. Used for vector/array processing, graphics, image processing. Examples: array processors, GPUs, MMX/SSE extensions.

        +--> PU1 <--> MM1
 CU ----+--> PU2 <--> MM2
        +--> PUn <--> MMn

3. MISD (Multiple Instruction, Single Data)

Several processing units run different instructions on the same data stream. It is rare and mostly theoretical; examples are fault-tolerant systems that compare results (such as flight control computers) and some systolic arrays.

4. MIMD (Multiple Instruction, Multiple Data)

Several processors, each with its own control unit, run different instructions on different data at the same time. Used in multiprocessors and multicore PCs, clusters and distributed systems. Types: shared-memory (tightly coupled) and distributed-memory (loosely coupled).

ClassInstruction streamsData streamsExample
SISD11Single-core CPU
SIMD1ManyVector processor, GPU
MISDMany1Fault-tolerant systems
MIMDManyManyMulticore, cluster

✓ Answer checked by Claude Opus 5.5 (high effort)

All Microprocessor chapter 6 questions →