Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Hardware Architectures: Flynn's Taxonomy

Lesson 20 of 30 in the free Cloud Computing notes on Siksha Sarovar, written by Rohit Jangra.

Hardware Architectures: Flynn's Taxonomy

In 1966, Michael Flynn proposed a classification of computer architectures based on two dimensions: the number of instruction streams and the number of data streams being processed simultaneously. This taxonomy remains the standard framework for discussing parallel hardware.

The Four Categories

Comparison Table

CategoryInstruction StreamsData StreamsExampleParallelism Level
SISD11Classic uniprocessor (Intel 8086)None
SIMD1ManyGPU (NVIDIA A100), vector processors, CPU SSE/AVXData parallelism
MISDMany1Fault-tolerant pipelines, systolic arrays (rare)Instruction-level
MIMDManyManyMulticore CPUs, compute clusters, cloud VMsFull parallelism

SISD — Single Instruction, Single Data

The classic von Neumann architecture. One CPU fetches one instruction and operates on one data element at a time. Modern uniprocessors execute instructions out-of-order and use pipelining, but conceptually remain SISD. Example: A single-threaded Python script.

SIMD — Single Instruction, Multiple Data

One instruction is broadcast to many processing elements, each operating on its own data. This is data parallelism at the hardware level.

  • Vector processors: Apply the same operation to entire arrays in one instruction (e.g., CPU AVX-512 adds 16 floats simultaneously)
  • GPUs: NVIDIA A100 has 6,912 CUDA cores all executing the same shader instruction on different pixels/data points. This is why GPUs excel at deep learning — matrix multiplications are inherently SIMD.

MISD — Multiple Instruction, Single Data

Rarely used in practice. Multiple processors apply different instructions to the same data stream. Used in fault-tolerant systems where redundant processors cross-check each other (e.g., flight control computers) and in systolic arrays for signal processing.

MIMD — Multiple Instruction, Multiple Data

The most general and widely used category. Each processor fetches its own instructions and operates on its own data independently.

  • Multicore CPUs: Intel Core i9 with 24 cores — each core runs a different thread on different data.
  • Compute clusters: Thousands of nodes in an AWS HPC cluster, each running independent MPI ranks.
  • Cloud VMs: Each virtual machine on a hypervisor is an independent MIMD unit.

Practical Hardware Organizations

Beyond Flynn's taxonomy, real systems are organized as:

OrganizationDescriptionExample
SMP (Symmetric Multiprocessing)Multiple CPUs share one main memory via a busDual-socket server
NUMA (Non-Uniform Memory Access)Multiple CPUs, each with local memory; remote access is slowerModern AMD EPYC
MPP (Massively Parallel Processing)Hundreds/thousands of nodes with private memory, fast interconnectCray supercomputer
ClusterCommodity nodes connected by standard networkHadoop/Spark cluster on AWS

Cloud Relevance

AWS P4d instances pack 8 NVIDIA A100 GPUs (SIMD/MIMD hybrid) per host, connected by NVLink. The instance itself is MIMD (8 independent GPUs), while each GPU executes SIMD across its CUDA cores. Understanding this lets you choose the right instance type for your workload.