Flynn's Classification of Computer Architecture

In 1966, Michael J Flynn proposed a classification for computer architectures based on the number of Instruction streams and Data streams (Flynn's taxonomy). Flynn uses the stream concept for describing a machine's structure. A stream is simply means a sequence of items (Data or Instructions). The Instruction Stream is sequence of instructions as executed by the machine, and Data stream is a sequence of data including input, or partial or temporary result, called by the Instruction Stream. The four classifications defined by Flynn are based upon the number of concurrent instruction (or control) and data streams available in the architecture:

  • SISD (Single Instruction Stream, Single Data Streams)
  • SIMD (Single instruction Stream, Multiple Data Streams)
  • MISD (Multiple Instruction Streams, Single Data Stream)
  • MIMD (Multiple instruction Streams, Multiple Data Streams)


SISD (Single Instruction Single Data) :

SISD corresponds to the traditional mono-processor ( von Neumann computer). A single data stream is being processed by one instruction stream. A single-processor or uni-processor computer in which a single stream of instructions is generated from the program. Single control unit fetches single instruction stream from memory. The Control Unit then generates appropriate control signals to direct single processing element to operate on single data stream i.e., one operation at a time. The Examples of SISD architecture are the traditional uniprocessor machines like older personal computers and mainframe computers.


Figure : SSID


SIMD (Single Instruction Multiple Data) :

In SIMD each instruction is executed on a different set of data by different processors i.e multiple processing units of the same type process on multiple-data streams. This group is dedicated to array processing machines and sometimes, vector processors can also be seen as a part of this group. The SIMD machines are the most cost effective platforms for applications with lots of data parallelism. In these machines, a single control unit broadcasts instructions to many processing elements in parallel.


Figure : SIMD


MISD (Multiple Instruction Single Data) :

In MISD each processor executes a different sequence of instructions. In case of MISD computers, multiple instructions operate on one data stream. This is an uncommon architecture which is generally used for fault tolerance. Heterogeneous systems operate on the same data stream and must agree on the result. Examples include the Space Shuttle flight control computer.


Figure : MISD



MIMD (Multiple Instruction Multiple Data) :

In case of MIMD each processor has a separate program, an instruction stream is generated from each program and each instruction operates on different data. The MIMD machine type builds the group for the traditional multi-processors. Several processing units operate on multiple-data streams. MIMD architectures include multi-core super-scalar processors, and distributed systems, using either one shared memory space or a distributed memory space. Most multiprocessors today on the market are (shared memory) MIMD machines.


Figure : MIMD





Next Topic :

No comments:

Post a Comment