Skip to content

1.4 Classifying Parallel Architectures: Flynn's Taxonomy

Flynn’s Taxonomy is a classification system for computer architectures proposed by Michael J. Flynn in 1966 1. This taxonomy categorizes architectures based on two properties: the number of concurrent instruction streams and the number of concurrent data streams 2. An instruction stream is the sequence of instructions executed by the machine; a data stream is the sequence of data being processed. This classification produces four categories 2.

Flynn's Taxonomy diagram showing the four categories (SISD, SIMD, MISD, MIMD) organized by single/multiple instruction streams and single/multiple data streams.

Flynn’s Taxonomy classification matrix showing the four categories based on instruction and data stream multiplicity. Image Credit: ResearchGate

A uniprocessor sequential computer with a single control unit that fetches and executes one instruction stream operating on one data stream 2. This represents the von Neumann architecture. Only one instruction is processed at a time 2.

Examples: Early personal computers (Intel 386, 486 processors), older mainframe computers, simple embedded microcontrollers like Arduino Uno 1.

2. SIMD (Single Instruction, Multiple Data)

Section titled “2. SIMD (Single Instruction, Multiple Data)”

A single control unit dispatches one instruction to multiple processing elements. Each processing element executes the same instruction on its own data 2. This architecture supports data-level parallelism, where the same operation is performed on arrays or vectors of data 2.

Examples: Graphics Processing Units (GPUs) use this architecture, executing shader programs on thousands of pixels or vertices simultaneously 1. Other examples include vector supercomputers (Cray-1) and CPU instruction set extensions like Intel’s SSE and AVX, and ARM’s NEON, which allow a CPU core to perform operations on vectors of data elements 1.

3. MISD (Multiple Instruction, Single Data)

Section titled “3. MISD (Multiple Instruction, Single Data)”

Multiple instruction streams operate concurrently on a single data stream 3. This is the rarest category in practice. It is used in fault-tolerant systems where multiple processing units perform different calculations on the same input data, and their results are cross-checked to detect and correct errors 2.

Example: The Space Shuttle’s flight control computer system used multiple redundant computers that processed the same sensor data stream. Their outputs were compared to ensure correctness and guard against hardware failures or radiation-induced errors 4.

4. MIMD (Multiple Instruction, Multiple Data)

Section titled “4. MIMD (Multiple Instruction, Multiple Data)”

Multiple autonomous processors each fetch and execute their own instruction stream on their own data stream 2. This supports both task parallelism (different processors performing different tasks) and data parallelism. MIMD systems are subdivided into shared-memory and distributed-memory variants 2.

Examples: Most modern parallel systems use this architecture, including multi-core processors (Intel Core i7, AMD Ryzen), symmetric multiprocessing servers, supercomputer clusters, and distributed computing platforms (Amazon EC2, Google Cloud, SETI@home) 1.

ArchitectureDescriptionInstruction StreamData StreamKey CharacteristicsReal-World Examples
SISDSingle Instruction, Single DataSingleSingleSequential execution; uniprocessor.Early PCs (Intel 386), simple microcontrollers.
SIMDSingle Instruction, Multiple DataSingleMultipleData-level parallelism; used for vector/matrix operations.GPUs (NVIDIA, AMD), CPU extensions (AVX, NEON).
MISDMultiple Instruction, Single DataMultipleSingleRare; used for fault tolerance via redundancy.Space Shuttle flight control computers.
MIMDMultiple Instruction, Multiple DataMultipleMultipleSupports task and data parallelism.Multi-core CPUs, supercomputer clusters, cloud infrastructure.

Modern high-performance systems typically combine multiple architecture types rather than implementing a single pure category. These heterogeneous computing systems incorporate multiple parallel models 1.

A modern supercomputer illustrates this hierarchy: at the top level, it is a MIMD system with thousands of interconnected nodes. Each node is also a MIMD system with a multi-core CPU where each core executes an independent thread. Within each CPU core are SIMD units (AVX vector engines) that perform data-parallel operations. Many nodes include GPU accelerators, which are SIMD engines.

Thus, a system can use MIMD parallelism at the cluster and multi-core level for task coordination and control flow, while using SIMD parallelism at the core and GPU level for data-parallel computations. Flynn’s Taxonomy applies not only to classifying entire machines but also to understanding the different parallel execution models that coexist within a single system 1.

  1. Flynn’s Taxonomy and Classification of Parallel Systems | Parallel and Distributed Computing Class Notes | Fiveable, accessed September 30, 2025, https://fiveable.me/parallel-and-distributed-computing/unit-2/flynns-taxonomy-classification-parallel-systems/study-guide/Ohzf44x4HCtFZRjK 2 3 4 5 6 7

  2. Flynn’s Taxonomy - GeeksforGeeks, accessed September 30, 2025, https://www.geeksforgeeks.org/computer-organization-architecture/computer-architecture-flynns-taxonomy/ 2 3 4 5 6 7 8 9

  3. Flynn’s Taxonomy - SLING user documentation, accessed September 30, 2025, https://doc.sling.si/en/hpc-guide/02-computer-architecture/01-flynns-taxonomy/01-flynns-taxonomy/

  4. unit 2 classification of parallel computers - | HPC @ LLNL, accessed September 30, 2025, https://hpc.llnl.gov/sites/default/files/parallelClassifications_0.pdf