Open In App

Flynn's Taxonomy

Last Updated : 26 Sep, 2025
Comments
Improve
Suggest changes
93 Likes
Like
Report

Flynn's Taxonomy classifies computer architectures according to how many instruction streams (processes) and data streams they can process simultaneously, dividing them into four categories: SISD, SIMD, MISD, and MIMD.

flynn_s_classification_of_computers
Classification of Flynn's Taxonomy

Single-Instruction, Single-Data (SISD) Systems

An SISD computing system is a uniprocessor machine which is capable of executing a single instruction, operating on a single data stream. In SISD, machine instructions are processed in a sequential manner, and computers adopting this model are popularly called sequential computers. Most conventional computers have SISD architecture. All the instructions and data to be processed have to be stored in primary memory.

sisd

The speed of the processing element in the SISD model is limited(dependent) by the rate at which the computer can transfer information internally. Dominant representative SISD systems are IBM PC, workstations.

Single-Instruction, Multiple-Data (SIMD) Systems

An SIMD system is a multiprocessor machine capable of executing the same instruction on all the CPUs but operating on different data streams. Machines based on an SIMD model are well suited to scientific computing since they involve lots of vector and matrix operations.

simd

So that the information can be passed to all the processing elements (PEs) organized data elements of vectors can be divided into multiple sets(N-sets for N PE systems) and each PE can process one data set. Dominant representative SIMD systems is Cray’s vector processing machine.

Multiple-Instruction, Single-Data (MISD) systems

An MISD computing system is a multiprocessor machine capable of executing different instructions on different PEs but all of them operating on the same dataset.

misd

Example Z = sin(x)+cos(x)+tan(x) The system performs different operations on the same data set. Machines built using the MISD model are not useful in most of the application, a few machines are built, but none of them are available commercially.

Multiple-Instruction, Multiple-Data (MIMD) Systems

An MIMD system is a multiprocessor machine which is capable of executing multiple instructions on multiple data sets. Each PE in the MIMD model has separate instruction and data streams; therefore machines built using this model are capable to any kind of application. Unlike SIMD and MISD machines, PEs in MIMD machines work asynchronously.

mimd

MIMD machines are classified into shared-memory and distributed-memory models depending on how processors connect to memory. In a shared-memory MIMD system (tightly coupled), all processors use the same global memory, and communication happens through it. Any change made by one processor is visible to all others. Examples include Silicon Graphics and Sun/IBM’s SMP systems.

In a distributed-memory MIMD system (loosely coupled), each processor has its own local memory, and they communicate through an interconnection network (like tree or mesh).

Shared-memory systems are easier to program but harder to scale and more vulnerable to failures, since a fault can affect the whole system. In contrast, distributed-memory systems are more scalable and fault-tolerant, since each processor is independent. For real-world use, distributed-memory MIMD is generally considered superi

Must Read


Explore