Flynn’s Classification
Prepared by
Dr.S.Raja Ratna
1
2
• Michael J Flynn classified computers on the basis of multiplicity of
instruction stream and data streams in a computer system.
• Flynn's Classification refers to a classification of parallel
computer architectures.
• Parallel computers can be classified by the concurrency in
processing sequences (streams), data, or instructions from the
perspective of an assembly language programmer.
• Flynn uses the stream concept for describing a machine's
structure A stream simply means a sequence of items (data or
instructions).
• It gives how sequence of instructions or data will be executed
upon a single processor.
• Instruction stream: is the sequence of instructions as executed
by the machine.
• Data Stream: is a sequence of data including input, or partial or
temporary result, called by the instruction Stream.
3
• The four classifications defined by Flynn are based upon the
number of concurrent instruction and data streams available in the
architecture.
Flynn’s Classification
• Instructions are decoded by the control unit and then ctrl unit send
the instructions to the processing units for execution.
• Data Stream flows between the processors and memory
bidirectional.
Single
Instruction
Multiple
Instruction
Single Data SISD MISD
Multiple data SIMD MIMD
4
Flynn Classification of Computer architectures
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
5
6
SISD (Singe-Instruction stream, Singe-Data stream)
• SISD corresponds to the traditional mono-processor (von
Neumann computer).
• A single data stream is being processed by one instruction
stream
• It represents the organization of a single computer containing a
control unit, a processor unit, and a memory unit.
• Instructions are executed sequentially, and the system may or
may not have internal parallel processing capabilities.
SISD (Singe-Instruction stream, Singe-Data stream)
where, CU = Control Unit, PE = Processing Element, M = Memory
7
SIMD (Single-Instruction stream, Multiple-Data streams)
• 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.
• All processors receive the same instruction from the control unit but
operate on different items of data.
• The shared memory unit must contain multiple modules so that it can
communicate with all the processors simultaneously.
8
SIMD (Single-Instruction stream, Multiple-Data streams)
SIMD is mainly dedicated to array processing machines. However, vector
processors can also be seen as a part of this group
9
10
MIMD (Multiple Instruction and Multiple Data Stream)
• In MIMD, all processors in a parallel computer can execute different
instructions and operate on various data at the same time.
• In MIMD, each processor has a separate program and an
instruction stream is generated from each program.
• Each processor has a separate program. An instruction stream is
generated from each program.
• Each instruction operates on different data.
• Several processing units operate on multiple - data streams.
• Programmers normally write a single program that runs on all
processors of MIMD computer.
MIMD (Multiple Instruction and Multiple Data Stream)
11
MISD (Multiple Instruction and Single Data stream)
• MISD structure is only of theoretical interest since no practical
system has been constructed using this organization.
• In MISD, multiple processing units operate on one single-data
stream.
• Each processing unit operates on the data independently via
separate instruction stream.
• Systolic array is one example of an MISD architecture.
• Systolic array is a homogeneous network of tightly coupled data
processing units (DPUs) called cells or nodes.
• Each processor executes a different sequence of instructions. 12
where, M = Memory Modules, CU = Control Unit, P = Processor Units.
• In case of MISD computers, multiple processing units operate on
one single-data stream
• In practice, this kind of organization has never been used.
MISD (Multiple Instruction and Single Data stream)
13

Flynn's classification.pdf

  • 1.
  • 2.
    2 • Michael JFlynn classified computers on the basis of multiplicity of instruction stream and data streams in a computer system. • Flynn's Classification refers to a classification of parallel computer architectures. • Parallel computers can be classified by the concurrency in processing sequences (streams), data, or instructions from the perspective of an assembly language programmer.
  • 3.
    • Flynn usesthe stream concept for describing a machine's structure A stream simply means a sequence of items (data or instructions). • It gives how sequence of instructions or data will be executed upon a single processor. • Instruction stream: is the sequence of instructions as executed by the machine. • Data Stream: is a sequence of data including input, or partial or temporary result, called by the instruction Stream. 3
  • 4.
    • The fourclassifications defined by Flynn are based upon the number of concurrent instruction and data streams available in the architecture. Flynn’s Classification • Instructions are decoded by the control unit and then ctrl unit send the instructions to the processing units for execution. • Data Stream flows between the processors and memory bidirectional. Single Instruction Multiple Instruction Single Data SISD MISD Multiple data SIMD MIMD 4
  • 5.
    Flynn Classification ofComputer architectures 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 5
  • 6.
    6 SISD (Singe-Instruction stream,Singe-Data stream) • SISD corresponds to the traditional mono-processor (von Neumann computer). • A single data stream is being processed by one instruction stream • It represents the organization of a single computer containing a control unit, a processor unit, and a memory unit. • Instructions are executed sequentially, and the system may or may not have internal parallel processing capabilities.
  • 7.
    SISD (Singe-Instruction stream,Singe-Data stream) where, CU = Control Unit, PE = Processing Element, M = Memory 7
  • 8.
    SIMD (Single-Instruction stream,Multiple-Data streams) • 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. • All processors receive the same instruction from the control unit but operate on different items of data. • The shared memory unit must contain multiple modules so that it can communicate with all the processors simultaneously. 8
  • 9.
    SIMD (Single-Instruction stream,Multiple-Data streams) SIMD is mainly dedicated to array processing machines. However, vector processors can also be seen as a part of this group 9
  • 10.
    10 MIMD (Multiple Instructionand Multiple Data Stream) • In MIMD, all processors in a parallel computer can execute different instructions and operate on various data at the same time. • In MIMD, each processor has a separate program and an instruction stream is generated from each program. • Each processor has a separate program. An instruction stream is generated from each program. • Each instruction operates on different data.
  • 11.
    • Several processingunits operate on multiple - data streams. • Programmers normally write a single program that runs on all processors of MIMD computer. MIMD (Multiple Instruction and Multiple Data Stream) 11
  • 12.
    MISD (Multiple Instructionand Single Data stream) • MISD structure is only of theoretical interest since no practical system has been constructed using this organization. • In MISD, multiple processing units operate on one single-data stream. • Each processing unit operates on the data independently via separate instruction stream. • Systolic array is one example of an MISD architecture. • Systolic array is a homogeneous network of tightly coupled data processing units (DPUs) called cells or nodes. • Each processor executes a different sequence of instructions. 12
  • 13.
    where, M =Memory Modules, CU = Control Unit, P = Processor Units. • In case of MISD computers, multiple processing units operate on one single-data stream • In practice, this kind of organization has never been used. MISD (Multiple Instruction and Single Data stream) 13