1. Flynn’s Classification Of ComputerFlynn’s Classification Of Computer
ArchitecturesArchitectures
In 1966, Michael Flynn proposed a classification for
computer architectures based on the number of
instruction steams and data streams (Flynn’s
Taxonomy).
Flynn uses theFlynn uses the stream conceptstream concept for describing afor describing a
machine's structuremachine's structure
A stream simply means a sequence of items (data orA stream simply means a sequence of items (data or
instructions).instructions).
The classification of computer architectures based onThe classification of computer architectures based on
the number of instruction steams and data streamsthe number of instruction steams and data streams
(Flynn’s Taxonomy).(Flynn’s Taxonomy).
2. Flynn’s Taxonomy
SISD: Single instruction single data
– Classical von Neumann architecture
SIMD: Single instruction multiple data
MISD: Multiple instructions single data
– Non existent, just listed for completeness
MIMD: Multiple instructions multiple data
– Most common and general parallel machine
Flynn Classification OfFlynn Classification Of
Computer architecturesComputer architectures
3. SISDSISD
SISDSISD ((SSinge-inge-IInstruction stream,nstruction stream, SSinge-inge-DDataata
stream)stream)
SISD corresponds to the traditional mono-SISD corresponds to the traditional mono-
processor ( von Neumann computer). A singleprocessor ( von Neumann computer). A single
data stream is being processed by onedata stream is being processed by one
instruction streaminstruction stream OROR
A single-processor computer (uni-processor) inA single-processor computer (uni-processor) in
which a single stream of instructions iswhich a single stream of instructions is
generated from the program.generated from the program.
5. SIMDSIMD
SIMDSIMD ((SSingle-ingle-IInstruction stream,nstruction stream, MMultiple-ultiple-
DData streams)ata streams)
Each instruction is executed on a different setEach instruction is executed on a different set
of data by different processorsof data by different processors i.e multiplemultiple
processing units of the same type process onprocessing units of the same type process on
multiple-data streams.multiple-data streams.
This group is dedicated to array processingThis group is dedicated to array processing
machines.machines.
Sometimes, vector processors can also be seenSometimes, vector processors can also be seen
as a part of this group.as a part of this group.
7. MISDMISD
MISDMISD ((MMultiple-ultiple-IInstruction streams,nstruction streams, SSinge-inge-
DData stream)ata stream)
Each processor executes a different sequenceEach processor executes a different sequence
of instructions.of instructions.
In case of MISD computers, multipleIn case of MISD computers, multiple
processing units operate on one single-dataprocessing units operate on one single-data
stream .stream .
In practice, this kind of organization has neverIn practice, this kind of organization has never
been usedbeen used
9. MIMDMIMD
MIMDMIMD ((MMultiple-ultiple-IInstruction streams,nstruction streams,
MMultiple-ultiple-DData streams)ata streams)
Each processor has a separate program.
An instruction stream is generated from each
program.
Each instruction operates on different data.
This last machine type builds the group for theThis last machine type builds the group for the
traditional multi-processors. Severaltraditional multi-processors. Several
processing units operate on multiple-dataprocessing units operate on multiple-data
streams.streams.